Class for linked select custom field.
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(\kyCustomFieldGroupBase $custom_field_group, array $data)
Inherited
| inherited_from |
\kyCustomField::__construct() |
| inherited_from |
\kyCustomFieldSelect::__construct() |
Parameters
$data
arrayObject 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
stringAPI 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
stringAPI field name.
$value
mixedAPI 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 |
\kyCustomField::__toString() |
| inherited_from |
\kyCustomFieldSelect::__toString() |
Returns
string
Should build the array of object data for creating or updating the object.
buildData(bool $create) : array
Values must be set in format accepted by REST API.
Parameters
$create
boolIndicates 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() |
| inherited_from |
\kyCustomField::checkRequiredAPIFields() |
| inherited_from |
\kyCustomFieldSelect::checkRequiredAPIFields() |
Parameters
$create
boolTrue when object will be created. False when object will be updated.
$throw_exception
boolTrue 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[]boolList of missing API fields or true when there are none.
Creates an object on the server and refreshes its local data.
create() : \kyObjectBase
Inherited
| inherited_from |
\kyCustomField::create() |
| inherited_from |
\kyCustomFieldSelect::create() |
Exceptions
Returns
Creates proper class based on type of custom field.
createByType(\kyCustomFieldGroupBase $custom_field_group, array $data) : \kyCustomField
Inherited
| inherited_from |
\kyCustomField::createByType() |
| inherited_from |
\kyCustomFieldSelect::createByType() |
Parameters
$data
arrayObject data from XML response.
Exceptions
Returns
Creates new object.
createNew()
Inherited
Compatible with method chaining.
| inherited_from |
\kyObjectBase::createNew() |
| inherited_from |
\kyCustomField::createNew() |
| inherited_from |
\kyCustomFieldSelect::createNew() |
Deletes the object on the server.
delete()
Inherited
| inherited_from |
\kyCustomField::delete() |
| inherited_from |
\kyCustomFieldSelect::delete() |
Fetches the object from server.
get(int | array $id) : \kyObjectBase
Inherited
| inherited_from |
\kyCustomField::get() |
| inherited_from |
\kyCustomFieldSelect::get() |
Parameters
$id
intarrayObject 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() |
| inherited_from |
\kyCustomField::getAPIFields() |
| inherited_from |
\kyCustomFieldSelect::getAPIFields() |
Returns
string[]
Fetches objects from server.
getAll(array $search_parameters) : \kyResultSet
Inherited
| inherited_from |
\kyCustomField::getAll() |
| inherited_from |
\kyCustomFieldSelect::getAll() |
Parameters
$search_parameters
arrayOptional. 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() |
| inherited_from |
\kyCustomField::getAvailableFilterMethods() |
| inherited_from |
\kyCustomFieldSelect::getAvailableFilterMethods() |
Parameters
$filter_names_only
boolTrue (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() |
| inherited_from |
\kyCustomField::getAvailableOrderMethods() |
| inherited_from |
\kyCustomFieldSelect::getAvailableOrderMethods() |
Parameters
$order_names_only
boolTrue (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() |
| inherited_from |
\kyCustomField::getController() |
| inherited_from |
\kyCustomFieldSelect::getController() |
Returns
string
Returns field definition.
getDefinition(bool $reload) : \kyCustomFieldDefinition
Inherited
| inherited_from |
\kyCustomField::getDefinition() |
| inherited_from |
\kyCustomFieldSelect::getDefinition() |
Parameters
$reload
boolTrue to reload data from server. False to use the cached value (if present).
Returns
Should return object identifier or complete list of identifiers as needed by API to identify the object (ex.
getId(bool $complete) : int | array
Inherited
ticket identifier and ticket post identifier in case of TicketPost).
| inherited_from |
\kyCustomField::getId() |
| inherited_from |
\kyCustomFieldSelect::getId() |
Parameters
$complete
boolTrue to return complete list of identifiers as needed by API to identify the object.
Returns
intarray
Returns name of this custom field.
getName() : string
Inherited
| filterBy |
|
| orderBy |
|
| inherited_from |
\kyCustomField::getName() |
| inherited_from |
\kyCustomFieldSelect::getName() |
Returns
string
Returns field option with provided identifier or value.
getOption(mixed $value) : \kyCustomFieldOption
Inherited
Returns null if option was not found.
| inherited_from |
\kyCustomField::getOption() |
| inherited_from |
\kyCustomFieldSelect::getOption() |
Parameters
$value
mixedIdentifier of option OR value of option OR option.
Returns
Returns raw text value of this custom field.
getRawValue() : string
Inherited
| filterBy |
|
| orderBy |
|
| inherited_from |
\kyCustomField::getRawValue() |
| inherited_from |
\kyCustomFieldSelect::getRawValue() |
Returns
string
Returns list of required API fields for objects of this class.
getRequiredAPIFields(bool $create) : string[]
Inherited
| inherited_from |
\kyObjectBase::getRequiredAPIFields() |
| inherited_from |
\kyCustomField::getRequiredAPIFields() |
| inherited_from |
\kyCustomFieldSelect::getRequiredAPIFields() |
Parameters
$create
boolTrue when object will be created. False when object will be updated.
Returns
string[]
Returns selected option for this field.
getSelectedOption() : \kyCustomFieldOption
Inherited
| inherited_from |
\kyCustomFieldSelect::getSelectedOption() |
Returns
Returns title of this custom field.
getTitle() : string
Inherited
| filterBy |
|
| orderBy |
|
| inherited_from |
\kyCustomField::getTitle() |
| inherited_from |
\kyCustomFieldSelect::getTitle() |
Returns
string
Returns type of this custom field - one of kyCustomFieldBase::TYPE_ constants.
getType() : int
Inherited
| filterBy |
|
| orderBy |
|
| inherited_from |
\kyCustomField::getType() |
| inherited_from |
\kyCustomFieldSelect::getType() |
Returns
int
Returns selected field option.
getValue() : \kyCustomFieldOption
Inherited
Method is overloaded in descendant classes and return value interpretation depends on field type.
| see |
\global\kyCustomField::getValue() |
| see |
\global\kyCustomFieldSelect::getSelectedOption() |
| inherited_from |
\kyCustomFieldSelect::getValue() |
Returns
Returns whether the object is new and not yet saved on the server.
isNew() : bool
Inherited
| inherited_from |
\kyObjectBase::isNew() |
| inherited_from |
\kyCustomField::isNew() |
| inherited_from |
\kyCustomFieldSelect::isNew() |
Returns
bool
Returns whether this object is read only.
isReadOnly() : bool
Inherited
| inherited_from |
\kyObjectBase::isReadOnly() |
| inherited_from |
\kyCustomField::isReadOnly() |
| inherited_from |
\kyCustomFieldSelect::isReadOnly() |
Returns
bool
Refreshes the object data from server.
refresh() : \kyObjectBase
Inherited
| inherited_from |
\kyCustomField::refresh() |
| inherited_from |
\kyCustomFieldSelect::refresh() |
Exceptions
Returns
Saves (creates or updates) the object to the server.
save() : \kyObjectBase
Inherited
| inherited_from |
\kyObjectBase::save() |
| inherited_from |
\kyCustomField::save() |
| inherited_from |
\kyCustomFieldSelect::save() |
Returns
Sets whether this object is read only.
setReadOnly(bool $read_only) : bool
Inherited
| inherited_from |
\kyObjectBase::setReadOnly() |
| inherited_from |
\kyCustomField::setReadOnly() |
| inherited_from |
\kyCustomFieldSelect::setReadOnly() |
Parameters
$read_only
boolRead only flag.
Returns
bool
Sets the option for this field.
setValue(mixed $value) : \kyCustomFieldSelect
Inherited
Method is overloaded in descendant classes and value interpretation depends on field type.
| see |
\global\kyCustomField::setValue() |
| see |
\global\kyCustomField::setSelectedOption() |
| inherited_from |
\kyCustomFieldSelect::setValue() |
Parameters
$value
mixedIdentifier of field option OR value of field option OR an option.
Returns
Should return short (one line) description of the object (it's title, name, etc.).
toString() : string
Inherited
| inherited_from |
\kyCustomField::toString() |
| inherited_from |
\kyCustomFieldSelect::toString() |
Returns
string
Updates the object on the server and refreshes its local data.
update() : \kyObjectBase
Inherited
| inherited_from |
\kyCustomField::update() |
| inherited_from |
\kyCustomFieldSelect::update() |
Exceptions
Returns
Adds boolean field to object data array only if its value is non-empty.
buildDataBool(array $data, string $field_name, mixed $field_value)
Inherited
| inherited_from |
\kyObjectBase::buildDataBool() |
| inherited_from |
\kyCustomField::buildDataBool() |
| inherited_from |
\kyCustomFieldSelect::buildDataBool() |
Parameters
$data
arrayData used to create or update the object.
$field_name
stringField name.
$field_value
mixedField value.
Adds array field to object data array only if its value is proper array and is non-empty.
buildDataList(array $data, string $field_name, mixed $field_value)
Inherited
| inherited_from |
\kyObjectBase::buildDataList() |
| inherited_from |
\kyCustomField::buildDataList() |
| inherited_from |
\kyCustomFieldSelect::buildDataList() |
Parameters
$data
arrayData used to create or update the object.
$field_name
stringField name.
$field_value
mixedField value.
Adds numeric field to object data array only if its value is proper number.
buildDataNumeric(array $data, string $field_name, mixed $field_value)
Inherited
| inherited_from |
\kyObjectBase::buildDataNumeric() |
| inherited_from |
\kyCustomField::buildDataNumeric() |
| inherited_from |
\kyCustomFieldSelect::buildDataNumeric() |
Parameters
$data
arrayData used to create or update the object.
$field_name
stringField name.
$field_value
mixedField value.
Adds string field to object data array only if its value is non-empty.
buildDataString(array $data, string $field_name, mixed $field_value)
Inherited
| inherited_from |
\kyObjectBase::buildDataString() |
| inherited_from |
\kyCustomField::buildDataString() |
| inherited_from |
\kyCustomFieldSelect::buildDataString() |
Parameters
$data
arrayData used to create or update the object.
$field_name
stringField name.
$field_value
mixedField value.
Returns REST client.
getRESTClient() : \kyRESTClientInterface
Inherited
| inherited_from |
\kyObjectBase::getRESTClient() |
| inherited_from |
\kyCustomField::getRESTClient() |
| inherited_from |
\kyCustomFieldSelect::getRESTClient() |
Returns
Should use passed data to fill object properties.
parseData(array $data)
Parameters
$data
arrayObject data from XML response.
Builds API fields list.
initAPIFieldsAccessors()
Inherited
Scans protected and private properties of called class, searches for
| apiField |
[name=field name]{0,1} [alias=field name alias]* [accessor=setter/getter name]{0,1} [getter=getter name]{0,1} [setter=setter name]{0,1} [required_create=true if field if required when creating object]{0,1} [required_update=true if field if required when udpating object]{0,1} [required=true if field if required when creating or updating object]{0,1}
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() |
| inherited_from |
\kyCustomField::initAPIFieldsAccessors() |
| inherited_from |
\kyCustomFieldSelect::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 |
| inherited_from |
\kyCustomField::$$_filter_methods |
| inherited_from |
\kyCustomFieldSelect::$$_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 |
| inherited_from |
\kyCustomField::$$_order_methods |
| inherited_from |
\kyCustomFieldSelect::$$_order_methods |
Default Kayako controller used to operate on this objects.
$controller : string
Inherited
Override in descending classes.
| inherited_from |
\kyObjectBase::$$controller |
| inherited_from |
\kyCustomField::$$controller |
| inherited_from |
\kyCustomFieldSelect::$$controller |
Custom field group this field belongs to.
$custom_field_group : \kyCustomFieldGroupBase
Inherited
| inherited_from |
\kyCustomField::$$custom_field_group |
| inherited_from |
\kyCustomFieldSelect::$$custom_field_group |
Cache for field definition.
$definition : \kyCustomFieldDefinition
Inherited
| inherited_from |
\kyCustomField::$$definition |
| inherited_from |
\kyCustomFieldSelect::$$definition |
Field identifier.
$id : int
Inherited
| apiField |
|
| inherited_from |
\kyCustomField::$$id |
| inherited_from |
\kyCustomFieldSelect::$$id |
Field name.
$name : string
Inherited
| apiField |
|
| inherited_from |
\kyCustomField::$$name |
| inherited_from |
\kyCustomFieldSelect::$$name |
Indicates the name of object element in XML response.
$object_xml_name : string
Inherited
Override in descending classes.
| inherited_from |
\kyObjectBase::$$object_xml_name |
| inherited_from |
\kyCustomField::$$object_xml_name |
| inherited_from |
\kyCustomFieldSelect::$$object_xml_name |
Selected option.
$option : \kyCustomFieldOption
Inherited
| inherited_from |
\kyCustomFieldSelect::$$option |
Field value.
$raw_value : string
Inherited
| apiField |
name=value getter=getRawValue setter=setValue |
| inherited_from |
\kyCustomField::$$raw_value |
| inherited_from |
\kyCustomFieldSelect::$$raw_value |
Controls if the object can be created/updated/deleted.
$read_only : bool
Inherited
Override in descending classes.
| inherited_from |
\kyObjectBase::$$read_only |
| inherited_from |
\kyCustomField::$$read_only |
| inherited_from |
\kyCustomFieldSelect::$$read_only |
Field title.
$title : string
Inherited
| apiField |
|
| inherited_from |
\kyCustomField::$$title |
| inherited_from |
\kyCustomFieldSelect::$$title |
Field type.
$type : int
Inherited
| apiField |
|
| inherited_from |
\kyCustomField::$$type |
| inherited_from |
\kyCustomFieldSelect::$$type |
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 |
| inherited_from |
\kyCustomField::$$_api_fields |
| inherited_from |
\kyCustomFieldSelect::$$_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 |
| inherited_from |
\kyCustomField::FILES_DATA_NAME |
| inherited_from |
\kyCustomFieldSelect::FILES_DATA_NAME |
Separator of main and linked select values.
PARENT_CHILD_SEPARATOR : string