function farm_asset_farm_asset_view_menu_alter in farmOS 7
Callback defined by farm_asset_farm_asset_view_farm_asset_tasks().
Alter the farm_asset view input so that farm_asset view comes to us rather than the normal farm_asset view process.
Parameters
array $items: Array of menu items.
array $task: The task array.
1 string reference to 'farm_asset_farm_asset_view_menu_alter'
- farm_asset_farm_asset_view_page_manager_tasks in modules/
farm/ farm_asset/ includes/ ctools/ farm_asset_view.inc - Specialized implementation of hook_farm_asset_task_tasks().
File
- modules/
farm/ farm_asset/ includes/ ctools/ farm_asset_view.inc, line 57 - Handle the 'farm_asset view' override task.
Code
function farm_asset_farm_asset_view_menu_alter(array &$items, array $task) {
if (variable_get('farm_asset_farm_asset_view_disabled', TRUE)) {
return;
}
// Override the farm_asset view handler for our purpose.
$callback = $items['farm/asset/%farm_asset']['page callback'];
if ($callback == 'farm_asset_view' || variable_get('farm_asset_override_anyway', FALSE)) {
$items['farm/asset/%farm_asset']['page callback'] = 'farm_asset_farm_asset_view_page';
$items['farm/asset/%farm_asset']['file path'] = $task['path'];
$items['farm/asset/%farm_asset']['file'] = $task['file'];
}
else {
// Automatically disable this task if it cannot be enabled.
variable_set('farm_asset_farm_asset_view_disabled', TRUE);
if (!empty($GLOBALS['farm_asset_enabling_farm_asset_view'])) {
drupal_set_message(t('Page manager module is unable to enable farm/asset/%farm_asset because some other module already has overridden with %callback.', array(
'%callback' => $callback,
)), 'error');
}
}
// @todo override farm_asset revision handler as well?
}