class crumbs_EntityPlugin_Callback in Crumbs, the Breadcrumbs suite 7.2
Hierarchy
- class \crumbs_EntityPlugin_Callback implements crumbs_EntityPlugin
Expanded class hierarchy of crumbs_EntityPlugin_Callback
File
- lib/
EntityPlugin/ Callback.php, line 3
View source
class crumbs_EntityPlugin_Callback implements crumbs_EntityPlugin {
/**
* @var callable
*/
protected $callback;
/**
* @var string
*/
protected $module;
/**
* @var string
*/
protected $key;
/**
* @var string
* Either 'entityParent' or 'entityTitle'.
*/
protected $callbackType;
/**
* @param callable $callback
* @param string $module
* @param string $key
* @param string $callback_type
* Either 'entityParent' or 'entityTitle'.
*/
function __construct($callback, $module, $key, $callback_type) {
$this->callback = $callback;
$this->module = $module;
$this->key = $key;
$this->callbackType = $callback_type;
}
/**
* @return array
*/
function __sleep() {
// Do not serialize the callback.
return array(
'module',
'key',
'callbackType',
);
}
/**
* @inheritdoc
*/
function describe($api, $entity_type, $keys) {
foreach ($keys as $key => $title) {
$api
->addRule($key, $title);
}
}
/**
* @inheritdoc
*/
function entityFindCandidate($entity, $entity_type, $distinction_key) {
if (!isset($this->callback)) {
// Restore the callback after serialization.
$this->callback = crumbs()->callbackRestoration
->restoreCallback($this->module, $this->key, $this->callbackType);
}
if (!empty($this->callback)) {
return call_user_func($this->callback, $entity, $entity_type, $distinction_key);
}
return NULL;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
crumbs_EntityPlugin_Callback:: |
protected | property | ||
crumbs_EntityPlugin_Callback:: |
protected | property | Either 'entityParent' or 'entityTitle'. | |
crumbs_EntityPlugin_Callback:: |
protected | property | ||
crumbs_EntityPlugin_Callback:: |
protected | property | ||
crumbs_EntityPlugin_Callback:: |
function |
@inheritdoc Overrides crumbs_EntityPlugin:: |
||
crumbs_EntityPlugin_Callback:: |
function |
@inheritdoc Overrides crumbs_EntityPlugin:: |
||
crumbs_EntityPlugin_Callback:: |
function | |||
crumbs_EntityPlugin_Callback:: |
function |