diff --git a/delegator/delegator.admin.inc b/delegator/delegator.admin.inc index 05ae6da968ad20bbd8901d335376953a7d1185a3..4e0b4e4d24c197a226059c2e5dc193cb700d0330 100644 --- a/delegator/delegator.admin.inc +++ b/delegator/delegator.admin.inc @@ -910,6 +910,7 @@ function delegator_admin_list_form_action_clone($form, &$form_state, $id, $actio } $handler->name = $name; + unset($handler->did); // Store the new handler. if (!$form_state['cache']->locked) { diff --git a/delegator/delegator.module b/delegator/delegator.module index 5afd49c4d79ec61514767d9a2249b0207f043795..c98d5b9a9d3db02735df049b4d8ee07e7c5c5bea 100644 --- a/delegator/delegator.module +++ b/delegator/delegator.module @@ -165,6 +165,7 @@ function delegator_menu_task_items(&$items, $task_id, $task, $handlers, $subtask 'description' => isset($task['admin description']) ? $task['admin description'] : '', 'page callback' => 'delegator_administer_task', 'page arguments' => array($task_name), + 'type' => MENU_CALLBACK, ) + $base; } @@ -260,7 +261,7 @@ function delegator_load_task_handler($task, $subtask_id, $name) { /** * Load all task handlers for a given task/subtask. */ -function delegator_load_task_handlers($task, $subtask_id = NULL) { +function delegator_load_task_handlers($task, $subtask_id = NULL, $default_handlers = NULL) { ctools_include('export'); $conditions = array( 'task' => $task['name'], @@ -271,7 +272,7 @@ function delegator_load_task_handlers($task, $subtask_id = NULL) { } $handlers = ctools_export_load_object('delegator_handlers', 'conditions', $conditions); - $defaults = delegator_get_default_task_handlers($task, $subtask_id); + $defaults = isset($default_handlers) ? $default_handlers : delegator_get_default_task_handlers($task, $subtask_id); foreach ($defaults as $name => $default) { $result = delegator_compare_task_handlers($handlers, $defaults, $name); if ($result) { diff --git a/delegator/plugins/tasks/page.admin.inc b/delegator/plugins/tasks/page.admin.inc index 8ce19c92a5c8ab60cf6c0cbcb2c8173829e3ccb2..9c4d6f4683665b32e5acf0978bc8c03ea30b609a 100644 --- a/delegator/plugins/tasks/page.admin.inc +++ b/delegator/plugins/tasks/page.admin.inc @@ -190,7 +190,7 @@ function delegator_page_menu_item($menu, $access_arguments, $page_arguments, $lo 'page callback' => 'delegator_page_execute', 'page arguments' => $page_arguments, 'load arguments' => $load_arguments, - 'file' => 'plugins/tasks/page.admin.inc', + 'file' => 'plugins/tasks/page.inc', ); if (isset($menu['title'])) { @@ -585,6 +585,8 @@ function delegator_page_form_menu(&$form, &$form_state) { '#dependency' => array('radio:menu[type]' => array('normal', 'tab', 'default tab')), ); + list($major, $minor) = explode('.', VERSION, 2); + $form['menu']['name-warning'] = array( '#type' => 'markup', '#prefix' => '<div class="warning">', @@ -592,7 +594,7 @@ function delegator_page_form_menu(&$form, &$form_state) { '#suffix' => '</div>', '#process' => array('ctools_dependent_process'), '#dependency' => array('radio:menu[type]' => array('normal')), - '#access' => (VERSION < 6.5), + '#access' => ($minor < 5), ); // Only display the menu selector if menu module is enabled. diff --git a/delegator/plugins/tasks/page.inc b/delegator/plugins/tasks/page.inc index 5691f0074f600439567ec75be2cbe120b192cba7..b14b90ab7e518a6e459f32e8a403b886bbb94567 100644 --- a/delegator/plugins/tasks/page.inc +++ b/delegator/plugins/tasks/page.inc @@ -107,7 +107,8 @@ function delegator_page_build_subtask($task, $page) { ); } else { - $task_handlers = delegator_load_task_handlers($task, $page->name); + $default_handlers = isset($page->default_handlers) ? $page->default_handlers : array(); + $task_handlers = delegator_load_task_handlers($task, $page->name, $default_handlers); if ($task_handlers) { $handler = array_shift($task_handlers); $plugin = delegator_get_task_handler($handler->handler); @@ -396,7 +397,7 @@ function delegator_page_save(&$subtask) { // If this was a default page we may need to write default task // handlers that we provided as well. - if (!$update || isset($subtask->default_handlers)) { + if (!$update && isset($subtask->default_handlers)) { $handlers = delegator_load_task_handlers(delegator_get_task('page'), $subtask->name); foreach ($subtask->default_handlers as $name => $handler) { if (!isset($handlers[$name]) || !($handlers[$name]->export_type & EXPORT_IN_DATABASE)) { diff --git a/plugins/access/node_language.inc b/plugins/access/node_language.inc index b787db07f2da4cb9147656d0397840bfbb17a592..7363538d3649f7b0709a591e7a1288d9dd71cce3 100644 --- a/plugins/access/node_language.inc +++ b/plugins/access/node_language.inc @@ -11,7 +11,7 @@ */ function ctools_node_language_ctools_access() { if (module_exists('locale')) { - $args['node_language'] = array( + $items['node_language'] = array( 'title' => t("Node access by language"), 'description' => t('Control access by node language.'), 'callback' => 'ctools_node_language_ctools_access_check', @@ -21,9 +21,8 @@ function ctools_node_language_ctools_access() { 'summary' => 'ctools_node_language_ctools_acesss_summary', 'required context' => new ctools_context_required(t('Node'), 'node'), ); + return $items; } - - return $args; } /** diff --git a/plugins/access/site_language.inc b/plugins/access/site_language.inc index 5f0b0d2d6fedeadb399347179298d01b18ac2fed..662f9d6479a59d6a76da03ec9c264b120624e72c 100644 --- a/plugins/access/site_language.inc +++ b/plugins/access/site_language.inc @@ -11,7 +11,7 @@ */ function ctools_site_language_ctools_access() { if (module_exists('locale')) { - $args['site_language'] = array( + $items['site_language'] = array( 'title' => t("Access by site language"), 'description' => t('Control access by the language the site currently uses.'), 'callback' => 'ctools_site_language_ctools_access_check', @@ -19,11 +19,9 @@ function ctools_site_language_ctools_access() { 'settings form' => 'ctools_site_language_ctools_access_settings', 'settings form submit' => 'ctools_site_language_ctools_access_settings_submit', 'summary' => 'ctools_site_language_ctools_acesss_summary', -// 'required context' => new ctools_context_required(t('Node'), 'node'), ); + return $items; } - - return $args; } /**