1.20.x layout.module | layout_get_handler_name($plugin_type, $plugin_name) |
Helper function to get a handler class name based on the plugin name.
File
- modules/
layout/ layout.module, line 1682 - The Layout module creates pages and wraps existing pages in layouts.
Code
function layout_get_handler_name($plugin_type, $plugin_name) {
// Block "plugins" for Layouts are wrappers around the generic block system.
$broken_class = NULL;
if ($plugin_type === 'block') {
list($module, $delta) = explode(':', $plugin_name);
$info = layout_get_block_info($module, $delta);
if ($info) {
if (isset($info['class'])) {
$class_name = $info['class'];
}
else {
$class_name = 'BlockLegacy';
}
}
else {
$class_name = 'BlockBroken';
}
}
else {
$info = _layout_get_all_info($plugin_type);
switch ($plugin_type) {
case 'layout_access':
$broken_class = 'LayoutAccessBroken';
break;
case 'layout_context':
$broken_class = 'LayoutContextBroken';
break;
case 'layout_relationship':
$broken_class = 'LayoutRelationshipBroken';
break;
case 'layout_style':
$broken_class = 'LayoutStyle';
break;
}
if (isset($info[$plugin_name]['class']) && class_exists($info[$plugin_name]['class'])) {
$class_name = $info[$plugin_name]['class'];
}
else {
$class_name = $broken_class;
}
}
return $class_name;
}