Class for custom field definition (properties).
All objects interacting with Kayako REST API should extend this class and
define:
* Kayako controller
* XML element name holding object's data in REST response
Methods
Default constructor.
__construct(array $data)
Inherited
inherited_from |
\kyObjectBase::__construct() |
Parameters
$data
array
Object data from XML response converted into array.
Returns API field value.
__get(string $api_field_name) : mixed
Inherited
Returns API field value based on API field name used by Kayako.
Parameters
$api_field_name
string
API field name.
Returns
mixed
Sets API field value.
__set(string $api_field_name, mixed $value) : mixed
Inherited
Sets API field value based on API field name used by Kayako.
Parameters
$api_field_name
string
API field name.
$value
mixed
API field value.
Returns
mixed
Returns object description with it's type and identifier.
__toString() : string
Inherited
Calls toString() method to get the object description.
inherited_from |
\kyObjectBase::__toString() |
Returns
string
Should build the array of object data for creating or updating the object.
buildData(bool $create) : array
Inherited
Values must be set in format accepted by REST API.
inherited_from |
\kyObjectBase::buildData() |
Parameters
$create
bool
Indicates if the result will be used to create (true) or update (false) an object.
Returns
array
Checks wheter this object has all required fields set.
checkRequiredAPIFields(bool $create, bool $throw_exception) : string[] | bool
Inherited
inherited_from |
\kyObjectBase::checkRequiredAPIFields() |
Parameters
$create
bool
True when object will be created. False when object will be updated.
$throw_exception
bool
True to throw an exception on missing fields. False to return list of missing fields or true when there are none.
Exceptions
\kyException |
When there are missing field values and $throw_exception is true. |
Returns
string[]
bool
List of missing API fields or true when there are none.
Clears custom field definitions cache.
clearCache()
Creates an object on the server and refreshes its local data.
create() : \kyObjectBase
Inherited
inherited_from |
\kyObjectBase::create() |
Exceptions
Returns
Creates new object.
createNew()
Inherited
Compatible with method chaining.
inherited_from |
\kyObjectBase::createNew() |
Deletes the object on the server.
delete()
Inherited
inherited_from |
\kyObjectBase::delete() |
Fetches the object from server.
get(int | array $id) : \kyObjectBase
Parameters
$id
int
array
Object identifier or list of identifiers (ex. ticket identifier and ticket post identifier when fetching TicketPost).
Returns
Returns array of API fields.
getAPIFields() : string[]
Inherited
Format of returned array:
array(
'' => Field description. (getter: , setter: ),
...repeat...
)
inherited_from |
\kyObjectBase::getAPIFields() |
Returns
string[]
Fetches field definitions from server.
getAll(array $search_parameters) : \kyResultSet
Caches the result - call kyCustomFieldDefinition::clearCache() to clear the cache.
Parameters
$search_parameters
array
Optional. Additional search parameters.
Returns
Returns list of available filter methods for use in result sets with objects of this type.
getAvailableFilterMethods(bool $filter_names_only) : array
Inherited
Optionaly you can return get method names used to filter objects.
inherited_from |
\kyObjectBase::getAvailableFilterMethods() |
Parameters
$filter_names_only
bool
True (default) to return array('filterByXXX', 'filterByYYY', ...). False to return array('filterByXXX' => 'getXXX', 'filterByYYY' => 'YYY', ...).
Returns
array
Returns list of available order methods for use in result sets with objects of this type.
getAvailableOrderMethods(bool $order_names_only) : array
Inherited
Optionaly you can return get method names used to order objects.
inherited_from |
\kyObjectBase::getAvailableOrderMethods() |
Parameters
$order_names_only
bool
True (default) to return array('orderByXXX', 'orderByYYY', ...). False to return array('orderByXXX' => 'getXXX', 'orderByYYY' => 'YYY', ...).
Returns
array
Returns object controller.
getController() : string
Inherited
inherited_from |
\kyObjectBase::getController() |
Returns
string
Returns options selected by default.
getDefaultOptions() : \kyResultSet
Returns field default value.
getDefaultValue() : string
Returns field description.
getDescription() : int
Returns field display order.
getDisplayOrder() : int
Returns identifier of custom field group that current field belongs to.
getGroupId() : int
Should return object identifier or complete list of identifiers as needed by API to identify the object (ex.
getId(bool $complete) : int | array
ticket identifier and ticket post identifier in case of TicketPost).
Parameters
$complete
bool
True to return complete list of identifiers as needed by API to identify the object.
Returns
int
array
Returns whether field is encrypted in database.
getIsEncrypted() : int
Returns whether field is required.
getIsRequired() : bool
Returns whether field is staff editable.
getIsStaffEditable() : bool
Returns whether field is user editable.
getIsUserEditable() : bool
Returns field name.
getName() : string
Returns field options which has the provided identifier.
getOptionById(int $id) : \kyCustomFieldOption
Parameters
$id
int
Identifier to search for.
Returns
Returns field options which has the provided value.
getOptionByValue(string $value) : \kyCustomFieldOption
Parameters
$value
string
Value to search for.
Returns
Returns field's possible options or empty list.
getOptions(bool $reload) : \kyResultSet
Parameters
$reload
bool
True to reload data from server. False to use the cached value (if present).
Returns
Returns regexp to validate field value.
getRegexpValidate() : string
Returns list of required API fields for objects of this class.
getRequiredAPIFields(bool $create) : string[]
Inherited
inherited_from |
\kyObjectBase::getRequiredAPIFields() |
Parameters
$create
bool
True when object will be created. False when object will be updated.
Returns
string[]
Returns title of this custom fields group.
getTitle() : string
Returns field type (one of self::TYPE_ constants).
getType() : int
Returns whether the object is new and not yet saved on the server.
isNew() : bool
Inherited
inherited_from |
\kyObjectBase::isNew() |
Returns
bool
Returns whether this object is read only.
isReadOnly() : bool
Inherited
inherited_from |
\kyObjectBase::isReadOnly() |
Returns
bool
Saves (creates or updates) the object to the server.
save() : \kyObjectBase
Inherited
inherited_from |
\kyObjectBase::save() |
Returns
Sets whether this object is read only.
setReadOnly(bool $read_only) : bool
Inherited
inherited_from |
\kyObjectBase::setReadOnly() |
Parameters
$read_only
bool
Read only flag.
Returns
bool
Should return short (one line) description of the object (it's title, name, etc.).
toString() : string
Updates the object on the server and refreshes its local data.
update() : \kyObjectBase
Inherited
inherited_from |
\kyObjectBase::update() |
Exceptions
Returns
Returns REST client.
getRESTClient() : \kyRESTClientInterface
Inherited
inherited_from |
\kyObjectBase::getRESTClient() |
Returns
Should use passed data to fill object properties.
parseData(array $data)
Parameters
$data
array
Object data from XML response.
Builds API fields list.
initAPIFieldsAccessors()
Inherited
Scans protected and private properties of called class, searches for
apiField |
[name=field name] [accessor=setter/getter name] [getter=getter name] [setter=setter name] [required_create=true if field if required when creating object] [required_update=true if field if required when udpating object] [required=true if field if required when creating or updating object]
and builds API field list with property name, description, setter and getter method names, and required flags. |
see |
\global\kyObjectBase::$_api_fields |
inherited_from |
\kyObjectBase::initAPIFieldsAccessors() |
Properties
Cache for available filter methods.
$_filter_methods : string[]
Inherited
Format:
array(
'' => array(
'' => '',
...repeat for every filtering enabled method...
),
...repeat for every object class...
)
inherited_from |
\kyObjectBase::$$_filter_methods |
Cache for available order methods.
$_order_methods : string[]
Inherited
Format:
array(
'' => array(
'' => '',
...repeat for every ordering enabled method...
),
...repeat for every object class...
)
inherited_from |
\kyObjectBase::$$_order_methods |
Default Kayako controller used to operate on this objects.
$controller : string
Override in descending classes.
Field default value.
$default_value : string
Field description.
$description : string
Field display order.
$display_order : int
Field group identifier.
$group_id : int
apiField |
name=customfieldgroupid |
Field identifier.
$id : int
apiField |
name=customfieldid |
Field encryption flag.
$is_encrypted : bool
apiField |
name=encryptindb |
Field required flag.
$is_required : bool
Field staff editable flag.
$is_staff_editable : bool
apiField |
name=staffeditable |
Field user editable flag.
$is_user_editable : bool
apiField |
name=usereditable |
Field name.
$name : string
Indicates the name of object element in XML response.
$object_xml_name : string
Override in descending classes.
Controls if the object can be created/updated/deleted.
$read_only : bool
Override in descending classes.
Field PERL regexp for value validation.
$regexp_validate : string
Field title.
$title : string
Cache for API fields.
$_api_fields : array
Inherited
Format:
array(
'' => array(
'' => array(
'property' => '',
'description' => '',
'getter' => '',
'setter' => '',
'required_create' => ,
'required_update' =>
),
...repeat for every class api field...
),
...repeat for every object class...
)
inherited_from |
\kyObjectBase::$$_api_fields |
Constants
Data key for storing files to send as multipart/form-data.
FILES_DATA_NAME : string
Inherited
inherited_from |
\kyObjectBase::FILES_DATA_NAME |
TYPE_CHECKBOX
TYPE_CHECKBOX
TYPE_LINKED_SELECT
TYPE_LINKED_SELECT
TYPE_MULTI_SELECT
TYPE_MULTI_SELECT
TYPE_PASSWORD
TYPE_PASSWORD
TYPE_TEXTAREA
TYPE_TEXTAREA