diff --git includes/ajax.inc includes/ajax.inc index 9e365f2..3774796 100644 --- includes/ajax.inc +++ includes/ajax.inc @@ -211,7 +211,7 @@ function ajax_form_callback() { // Get the callback function from the clicked button. $ajax = $form_state['clicked_button']['#ajax']; $callback = $ajax['callback']; - if (drupal_function_exists($callback)) { + if (function_exists($callback)) { $html = $callback($form, $form_state); // If the returned value is a string, assume it is HTML and create diff --git includes/bootstrap.inc includes/bootstrap.inc index 46600c0..1993e1b 100644 --- includes/bootstrap.inc +++ includes/bootstrap.inc @@ -654,7 +654,7 @@ function drupal_get_filename($type, $name, $filename = NULL) { $mask = "/$name\.$type$/"; } - if (drupal_function_exists('drupal_system_listing')) { + if (function_exists('drupal_system_listing')) { $matches = drupal_system_listing($mask, $dir, 'name', 0); if (!empty($matches[$name]->uri)) { $files[$type][$name] = $matches[$name]->uri; @@ -1745,7 +1745,7 @@ function drupal_get_schema($table = NULL, $rebuild = FALSE) { // Load the .install files to get hook_schema. // On some databases this function may be called before bootstrap has // been completed, so we force the functions we need to load just in case. - if (drupal_function_exists('module_load_all_includes')) { + if (function_exists('module_load_all_includes')) { // There is currently a bug in module_list() where it caches what it // was last called with, which is not always what you want. @@ -1763,17 +1763,11 @@ function drupal_get_schema($table = NULL, $rebuild = FALSE) { // Invoke hook_schema for all modules. foreach (module_implements('schema') as $module) { $current = module_invoke($module, 'schema'); - if (drupal_function_exists('_drupal_schema_initialize')) { - _drupal_schema_initialize($module, $current); - } - + _drupal_schema_initialize($module, $current); $schema = array_merge($schema, $current); } - if (drupal_function_exists('drupal_alter')) { - drupal_alter('schema', $schema); - } - + drupal_alter('schema', $schema); // If the schema is empty, avoid saving it: some database engines require // the schema to perform queries, and this could lead to infinite loops. if (!empty($schema) && (drupal_get_bootstrap_phase() == DRUPAL_BOOTSTRAP_FULL)) { @@ -1804,49 +1798,9 @@ function drupal_get_schema($table = NULL, $rebuild = FALSE) { */ /** - * Confirm that a function is available. - * - * If the function is already available, this function does nothing. - * If the function is not available, it tries to load the file where the - * function lives. If the file is not available, it returns false, so that it - * can be used as a drop-in replacement for function_exists(). - * - * @param $function - * The name of the function to check or load. - * @return - * TRUE if the function is now available, FALSE otherwise. - */ -function drupal_function_exists($function) { - static $checked = array(); - static $maintenance; - - if (!isset($maintenance)) { - $maintenance = defined('MAINTENANCE_MODE'); - } - - if ($maintenance) { - return function_exists($function); - } - - if (isset($checked[$function])) { - return $checked[$function]; - } - $checked[$function] = FALSE; - - if (function_exists($function)) { - $checked[$function] = TRUE; - return TRUE; - } - - $checked[$function] = _registry_check_code('function', $function); - - return $checked[$function]; -} - -/** * Confirm that an interface is available. * - * This function parallels drupal_function_exists(), but is rarely + * This function is rarely * called directly. Instead, it is registered as an spl_autoload() * handler, and PHP calls it for us when necessary. * @@ -1862,7 +1816,7 @@ function drupal_autoload_interface($interface) { /** * Confirm that a class is available. * - * This function parallels drupal_function_exists(), but is rarely + * This function is rarely * called directly. Instead, it is registered as an spl_autoload() * handler, and PHP calls it for us when necessary. * diff --git includes/common.inc includes/common.inc index ef8a93a..2124bd4 100644 --- includes/common.inc +++ includes/common.inc @@ -1193,7 +1193,7 @@ function t($string, array $args = array(), array $options = array()) { $string = $custom_strings[$options['langcode']][$options['context']][$string]; } // Translate with locale module if enabled. - // We don't use drupal_function_exists() here, because it breaks the testing + // We don't use function_exists() here, because it breaks the testing // framework if the locale module is enabled in the parent site (we cannot // unload functions in PHP). elseif (function_exists('locale') && $options['langcode'] != 'en') { @@ -3756,7 +3756,7 @@ function drupal_system_listing($mask, $directory, $key = 'name', $min_depth = 1) $searchdir[] = "$config/$directory"; } - // If the database is not available, we can't use drupal_function_exists(), so + // If the database is not available, we can't use function_exists(), so // we load the file_scan_directory function definition manually. if (!function_exists('file_scan_directory')) { require_once DRUPAL_ROOT . '/includes/file.inc'; @@ -3946,7 +3946,7 @@ function drupal_render(&$elements) { // element is rendered into the final text. if (isset($elements['#pre_render'])) { foreach ($elements['#pre_render'] as $function) { - if (drupal_function_exists($function)) { + if (function_exists($function)) { $elements = $function($elements); } } @@ -3980,7 +3980,7 @@ function drupal_render(&$elements) { // which allows the output'ed text to be filtered. if (isset($elements['#post_render'])) { foreach ($elements['#post_render'] as $function) { - if (drupal_function_exists($function)) { + if (function_exists($function)) { $elements['#children'] = $function($elements['#children'], $elements); } } diff --git includes/file.inc includes/file.inc index b935748..59a2d72 100644 --- includes/file.inc +++ includes/file.inc @@ -1250,7 +1250,7 @@ function file_validate(&$file, $validators = array()) { // Call the validation functions specified by this function's caller. $errors = array(); foreach ($validators as $function => $args) { - if (drupal_function_exists($function)) { + if (function_exists($function)) { array_unshift($args, $file); $errors = array_merge($errors, call_user_func_array($function, $args)); } diff --git includes/form.inc includes/form.inc index 4897cb7..7ef3d3d 100644 --- includes/form.inc +++ includes/form.inc @@ -418,7 +418,7 @@ function drupal_retrieve_form($form_id, &$form_state) { // We first check to see if there's a function named after the $form_id. // If there is, we simply pass the arguments on to it to get the form. - if (!drupal_function_exists($form_id)) { + if (!function_exists($form_id)) { // In cases where many form_ids need to share a central constructor function, // such as the node editing form, modules can implement hook_forms(). It // maps one or more form_ids to the correct constructor functions. @@ -439,7 +439,7 @@ function drupal_retrieve_form($form_id, &$form_state) { } if (isset($form_definition['callback'])) { $callback = $form_definition['callback']; - drupal_function_exists($callback); + function_exists($callback); } } @@ -613,13 +613,13 @@ function drupal_prepare_form($form_id, &$form, &$form_state) { $form += array('#tree' => FALSE, '#parents' => array()); if (!isset($form['#validate'])) { - if (drupal_function_exists($form_id . '_validate')) { + if (function_exists($form_id . '_validate')) { $form['#validate'] = array($form_id . '_validate'); } } if (!isset($form['#submit'])) { - if (drupal_function_exists($form_id . '_submit')) { + if (function_exists($form_id . '_submit')) { // We set submit here so that it can be altered. $form['#submit'] = array($form_id . '_submit'); } @@ -794,7 +794,7 @@ function _form_validate($elements, &$form_state, $form_id = NULL) { // #value data. elseif (isset($elements['#element_validate'])) { foreach ($elements['#element_validate'] as $function) { - if (drupal_function_exists($function)) { + if (function_exists($function)) { $function($elements, $form_state, $form_state['complete form']); } } @@ -831,7 +831,7 @@ function form_execute_handlers($type, &$form, &$form_state) { } foreach ($handlers as $function) { - if (drupal_function_exists($function)) { + if (function_exists($function)) { // Check to see if a previous _submit handler has set a batch, but // make sure we do not react to a batch that is already being processed // (for instance if a batch operation performs a drupal_form_submit()). @@ -970,7 +970,7 @@ function form_builder($form_id, $element, &$form_state) { // checkboxes and files. if (isset($element['#process']) && !$element['#processed']) { foreach ($element['#process'] as $process) { - if (drupal_function_exists($process)) { + if (function_exists($process)) { $element = $process($element, $form_state, $form_state['complete form']); } } @@ -1097,7 +1097,7 @@ function _form_builder_handle_input_element($form_id, &$element, &$form_state) { // If we have input for the current element, assign it to the #value property. if (!$form_state['programmed'] || isset($input)) { // Call #type_value to set the form value; - if (drupal_function_exists($value_callback)) { + if (function_exists($value_callback)) { $element['#value'] = $value_callback($element, $input, $form_state); } if (!isset($element['#value']) && isset($input)) { @@ -1112,7 +1112,7 @@ function _form_builder_handle_input_element($form_id, &$element, &$form_state) { // Load defaults. if (!isset($element['#value'])) { // Call #type_value without a second argument to request default_value handling. - if (drupal_function_exists($value_callback)) { + if (function_exists($value_callback)) { $element['#value'] = $value_callback($element, FALSE, $form_state); } // Final catch. If we haven't set a value yet, use the explicit default value. diff --git includes/image.inc includes/image.inc index 6573738..db88c58 100644 --- includes/image.inc +++ includes/image.inc @@ -65,7 +65,7 @@ function image_get_toolkit() { if (!isset($toolkit)) { $toolkits = image_get_available_toolkits(); $toolkit = variable_get('image_toolkit', 'gd'); - if (!isset($toolkits[$toolkit]) || !drupal_function_exists('image_' . $toolkit . '_load')) { + if (!isset($toolkits[$toolkit]) || !function_exists('image_' . $toolkit . '_load')) { // The selected toolkit isn't available so return the first one found. If // none are available this will return FALSE. reset($toolkits); @@ -90,7 +90,7 @@ function image_get_toolkit() { */ function image_toolkit_invoke($method, stdClass $image, array $params = array()) { $function = 'image_' . $image->toolkit . '_' . $method; - if (drupal_function_exists($function)) { + if (function_exists($function)) { array_unshift($params, $image); return call_user_func_array($function, $params); } diff --git includes/mail.inc includes/mail.inc index 33e8436..0f4dc75 100644 --- includes/mail.inc +++ includes/mail.inc @@ -115,7 +115,7 @@ function drupal_mail($module, $key, $to, $language, $params = array(), $from = N // Build the e-mail (get subject and body, allow additional headers) by // invoking hook_mail() on this module. We cannot use module_invoke() as // we need to have $message by reference in hook_mail(). - if (drupal_function_exists($function = $module . '_mail')) { + if (function_exists($function = $module . '_mail')) { $function($key, $message, $params); } diff --git includes/menu.inc includes/menu.inc index 66fa6ed..06b71c2 100644 --- includes/menu.inc +++ includes/menu.inc @@ -398,9 +398,10 @@ function menu_execute_active_handler($path = NULL) { } if ($router_item = menu_get_item($path)) { if ($router_item['access']) { - if (drupal_function_exists($router_item['page_callback'])) { - return call_user_func_array($router_item['page_callback'], $router_item['page_arguments']); + if ($router_item['file']) { + require_once($router_item['file']); } + return call_user_func_array($router_item['page_callback'], $router_item['page_arguments']); } else { return MENU_ACCESS_DENIED; @@ -503,7 +504,7 @@ function _menu_check_access(&$item, $map) { if ($callback == 'user_access') { $item['access'] = (count($arguments) == 1) ? user_access($arguments[0]) : user_access($arguments[0], $arguments[1]); } - elseif (drupal_function_exists($callback)) { + elseif (function_exists($callback)) { $item['access'] = call_user_func_array($callback, $arguments); } } @@ -554,7 +555,7 @@ function _menu_item_localize(&$item, $map, $link_translate = FALSE) { $item['title'] = t($item['title'], menu_unserialize($item['title_arguments'], $map)); } } - elseif ($callback && drupal_function_exists($callback)) { + elseif ($callback && function_exists($callback)) { if (empty($item['title_arguments'])) { $item['title'] = $callback($item['title']); } @@ -2544,12 +2545,12 @@ function _menu_router_build($callbacks) { $load_functions[$k] = NULL; } else { - if (drupal_function_exists($matches[1] . '_to_arg')) { + if (function_exists($matches[1] . '_to_arg')) { $to_arg_functions[$k] = $matches[1] . '_to_arg'; $load_functions[$k] = NULL; $match = TRUE; } - if (drupal_function_exists($matches[1] . '_load')) { + if (function_exists($matches[1] . '_load')) { $function = $matches[1] . '_load'; // Create an array of arguments that will be passed to the _load // function when this menu path is checked, if 'load arguments' @@ -2635,6 +2636,12 @@ function _menu_router_build($callbacks) { if (!isset($item['page arguments']) && isset($parent['page arguments'])) { $item['page arguments'] = $parent['page arguments']; } + if (!isset($item['file']) && isset($parent['file'])) { + $item['file'] = $parent['file']; + } + if (!isset($item['file path']) && isset($parent['file path'])) { + $item['file path'] = $parent['file path']; + } } } } @@ -2662,7 +2669,17 @@ function _menu_router_build($callbacks) { 'tab_parent' => '', 'tab_root' => $path, 'path' => $path, + 'file' => '', + 'file path' => '', + 'include file' => '', + 'module' => '', ); + + // Calculate out the file to be included for each callback, if any. + if ($item['file']) { + $file_path = $item['file path'] ? $item['file path'] : drupal_get_path('module', $item['module']); + $item['include file'] = $file_path . '/' . $item['file']; + } } // Sort the masks so they are in order of descending fit. @@ -2701,6 +2718,7 @@ function _menu_router_save($menu, $masks) { 'description', 'position', 'weight', + 'file', )); foreach ($menu as $path => $item) { @@ -2725,6 +2743,7 @@ function _menu_router_save($menu, $masks) { 'description' => $item['description'], 'position' => $item['position'], 'weight' => $item['weight'], + 'file' => $item['include file'], )); } // Execute insert object. diff --git includes/module.inc includes/module.inc index a4be65f..0cb8a2c 100644 --- includes/module.inc +++ includes/module.inc @@ -164,7 +164,7 @@ function module_load_include($type, $module, $name = NULL) { $name = $module; } - if (drupal_function_exists('drupal_get_path')) { + if (function_exists('drupal_get_path')) { $file = DRUPAL_ROOT . '/' . drupal_get_path('module', $module) . "/$name.$type"; if (is_file($file)) { require_once $file; @@ -235,7 +235,7 @@ function module_enable($module_list, $disable_modules_installed_hook = FALSE) { // We check for the existence of node_access_needs_rebuild() since // at install time, module_enable() could be called while node.module // is not enabled yet. - if (drupal_function_exists('node_access_needs_rebuild') && !node_access_needs_rebuild() && module_hook($module, 'node_grants')) { + if (function_exists('node_access_needs_rebuild') && !node_access_needs_rebuild() && module_hook($module, 'node_grants')) { node_access_needs_rebuild(TRUE); } } @@ -325,118 +325,49 @@ function module_disable($module_list) { */ function module_hook($module, $hook) { $function = $module . '_' . $hook; - return function_exists($function) || drupal_function_exists($function); + return function_exists($function) || function_exists($function); } /** * Determine which modules are implementing a hook. * * @param $hook - * The name of the hook (e.g. "help" or "menu"). Special cases: - * MODULE_IMPLEMENTS_CLEAR_CACHE: Force the stored list of hook - * implementations to be regenerated (such as after enabling a new module, - * before processing hook_enable). - * MODULE_IMPLEMENTS_WRITE_CACHE: Write the stored list of hook - * implementations into the cache_registry table. + * The name of the hook (e.g. "help" or "menu"). * @param $sort - * By default, modules are ordered by weight and module name. By setting this - * option to TRUE, modules will be ordered by module name. + * By default, modules are ordered by weight and filename, settings this option + * to TRUE, module list will be ordered by module name. + * @param $refresh + * For internal use only: Whether to force the stored list of hook + * implementations to be regenerated (such as after enabling a new module, + * before processing hook_enable). * @return * An array with the names of the modules which are implementing this hook. - * All enabled modules are taken into consideration and the files containing - * the implementations are loaded as necessary. */ -function module_implements($hook, $sort = FALSE) { - static $implementations = array(), $sorted_implementations = array(), $loaded = array(), $cached_hooks = 0, $maintenance; - - // Use a static variable for maintenance mode to avoid the overhead of - // calling defined() each time the function is called. - if (!isset($maintenance)) { - $maintenance = defined('MAINTENANCE_MODE'); - } +function module_implements($hook, $sort = FALSE, $refresh = FALSE) { + static $implementations; - if ($maintenance) { - return _module_implements_maintenance($hook, $sort); - } - if ($hook === MODULE_IMPLEMENTS_CLEAR_CACHE) { + if ($refresh) { $implementations = array(); - $sorted_implementations = array(); - $loaded = array(); - $cached_hooks = 0; - cache_clear_all('hooks', 'cache_registry'); - return; - } - if ($hook === MODULE_IMPLEMENTS_WRITE_CACHE) { - // Only write this to cache if we loaded new implementations. - if (count($implementations) > $cached_hooks) { - cache_set('hooks', $implementations, 'cache_registry'); - } return; } - if (!isset($loaded[$hook])) { - if (empty($implementations) && ($cache = cache_get('hooks', 'cache_registry'))) { - $implementations = $cache->data; - $cached_hooks = count($implementations); - } - if (!isset($implementations[$hook])) { - // The module name (rather than the filename) is used as the fallback - // weighting in order to guarantee consistent behavior across different - // Drupal installations, which might have modules installed in different - // locations in the file system. The ordering here must also be - // consistent with the one used in module_list(). - $implementations[$hook] = db_query("SELECT module FROM {registry} WHERE type = 'function' AND suffix = :hook ORDER BY weight, module", array(':hook' => $hook))->fetchCol(); - } - foreach ($implementations[$hook] as $module) { - $function = $module . '_' . $hook; - if (!function_exists($function)) { - drupal_function_exists($function); + if (!isset($implementations[$hook])) { + $implementations[$hook] = array(); + $list = module_list(FALSE, $sort); + foreach ($list as $module) { + if (module_hook($module, $hook)) { + $implementations[$hook][] = $module; } } - $loaded[$hook] = TRUE; } - if ($sort) { - if (!isset($sorted_implementations[$hook])) { - $sorted_implementations[$hook] = $implementations[$hook]; - sort($sorted_implementations[$hook]); - } - return $sorted_implementations[$hook]; - } - else { - return $implementations[$hook]; - } -} - -/** - * This is the maintenance version of module_implements for internal use only. - * - * This function is called whenever MAINTENANCE_MODE is defined and is a - * safe code path for Drupal installation or upgrade because it does not use - * the database, instead it uses module_list. @see module_list $fixed_list on - * how to make module_list also DB independent. - * - * @param $hook - * The name of the hook (e.g. "help" or "menu"). - * @param $sort - * By default, modules are ordered by weight and filename, settings this - * option to TRUE, module list will be ordered by module name. - * @return - * An array with the names of the modules which are implementing this hook. - * Only enabled and already loaded modules are taken into consideration. - */ -function _module_implements_maintenance($hook, $sort = FALSE) { - $implementations = array(); - foreach (module_list() as $module) { - $function = $module . '_' . $hook; - if (function_exists($function)) { - $implementations[] = $module; - } - if ($sort) { - sort($implementations); - } - } - return $implementations; + // The explicit cast forces a copy to be made. This is needed because + // $implementations[$hook] is only a reference to an element of + // $implementations and if there are nested foreaches (due to nested node + // API calls, for example), they would both manipulate the same array's + // references, which causes some modules' hooks not to be called. + // See also http://www.zend.com/zend/art/ref-count.php. + return (array)$implementations[$hook]; } /** @@ -478,7 +409,7 @@ function module_invoke_all() { $return = array(); foreach (module_implements($hook) as $module) { $function = $module . '_' . $hook; - if (drupal_function_exists($function)) { + if (function_exists($function)) { $result = call_user_func_array($function, $args); if (isset($result) && is_array($result)) { $return = array_merge_recursive($return, $result); diff --git includes/registry.inc includes/registry.inc index c65ace9..9e44e33 100644 --- includes/registry.inc +++ includes/registry.inc @@ -163,7 +163,7 @@ function _registry_parse_files($files) { * (optional) Weight of the module. */ function _registry_parse_file($filename, $contents, $module = '', $weight = 0) { - $map = &drupal_static(__FUNCTION__, array(T_FUNCTION => 'function', T_CLASS => 'class', T_INTERFACE => 'interface')); + static $map = array(T_CLASS => 'class', T_INTERFACE => 'interface'); // Delete registry entries for this file, so we can insert the new resources. db_delete('registry') ->condition('filename', $filename) @@ -174,19 +174,9 @@ function _registry_parse_file($filename, $contents, $module = '', $weight = 0) { if (is_array($token) && isset($map[$token[0]])) { $type = $map[$token[0]]; if ($resource_name = _registry_get_resource_name($tokens, $type)) { - $suffix = ''; - // Collect the part of the function name after the module name, - // so that we can query the registry for possible hook implementations. - if ($type == 'function' && !empty($module)) { - $n = strlen($module); - if (substr($resource_name, 0, $n) == $module) { - $suffix = substr($resource_name, $n + 1); - } - } $fields = array( 'filename' => $filename, 'module' => $module, - 'suffix' => $suffix, 'weight' => $weight, ); // Because some systems, such as cache, currently use duplicate function diff --git includes/stream_wrappers.inc includes/stream_wrappers.inc index 34ebcf0..156cb60 100644 --- includes/stream_wrappers.inc +++ includes/stream_wrappers.inc @@ -194,7 +194,7 @@ abstract class DrupalLocalStreamWrapper implements DrupalStreamWrapperInterface static function getMimeType($uri, $mapping = NULL) { if (!isset($mapping)) { $mapping = variable_get('mime_extension_mapping', NULL); - if (!isset($mapping) && drupal_function_exists('file_default_mimetype_mapping')) { + if (!isset($mapping) && function_exists('file_default_mimetype_mapping')) { // The default file map, defined in file.mimetypes.inc is quite big. // We only load it when necessary. $mapping = file_default_mimetype_mapping(); diff --git includes/theme.inc includes/theme.inc index 4e5b883..2a67cf7 100644 --- includes/theme.inc +++ includes/theme.inc @@ -189,7 +189,7 @@ function _drupal_theme_initialize($theme, $base_theme = array(), $registry_callb } } - if (drupal_function_exists($registry_callback)) { + if (function_exists($registry_callback)) { $registry_callback($theme, $base_theme, $theme_engine); } } @@ -804,7 +804,7 @@ function theme() { foreach (array('preprocess functions', 'process functions') as $phase) { if (!empty($info[$phase])) { foreach ($info[$phase] as $processor_function) { - if (drupal_function_exists($processor_function)) { + if (function_exists($processor_function)) { $processor_function($variables, $hook_clone); } } @@ -830,7 +830,7 @@ function theme() { $suggestions[] = $variables['theme_function']; } foreach (array_reverse($suggestions) as $suggestion) { - if (drupal_function_exists($suggestion)) { + if (function_exists($suggestion)) { $info['function'] = $suggestion; break; } @@ -842,7 +842,7 @@ function theme() { } // Call the function. - if (drupal_function_exists($info['function'])) { + if (function_exists($info['function'])) { $output = call_user_func_array($info['function'], $args); } } @@ -885,7 +885,7 @@ function theme() { foreach (array('preprocess functions', 'process functions') as $phase) { if (!empty($info[$phase])) { foreach ($info[$phase] as $processor_function) { - if (drupal_function_exists($processor_function)) { + if (function_exists($processor_function)) { call_user_func_array($processor_function, $args); } } diff --git includes/token.inc includes/token.inc index c37ca34..e06d199 100644 --- includes/token.inc +++ includes/token.inc @@ -81,7 +81,7 @@ function token_replace($text, array $data = array(), array $options = array()) { } // Optionally alter the list of replacement values. - if (!empty($options['callback']) && drupal_function_exists($options['callback'])) { + if (!empty($options['callback']) && function_exists($options['callback'])) { $function = $options['callback']; $function($replacements, $data, $options); } @@ -156,7 +156,7 @@ function token_generate($type, array $tokens, array $data = array(), array $opti foreach (module_implements('tokens') as $module) { $function = $module . '_tokens'; - if (drupal_function_exists($function)) { + if (function_exists($function)) { $result = $function($type, $tokens, $data, $options); foreach ($result as $original => $replacement) { $results[$original] = $replacement; diff --git includes/xmlrpcs.inc includes/xmlrpcs.inc index d586943..f0fbf84 100644 --- includes/xmlrpcs.inc +++ includes/xmlrpcs.inc @@ -200,7 +200,7 @@ function xmlrpc_server_call($xmlrpc_server, $methodname, $args) { } } - if (!drupal_function_exists($method)) { + if (!function_exists($method)) { return xmlrpc_error(-32601, t('Server error. Requested function @method does not exist.', array("@method" => $method))); } // Call the mapped function diff --git modules/aggregator/aggregator.module modules/aggregator/aggregator.module index 7247ffd..d9cee71 100644 --- modules/aggregator/aggregator.module +++ modules/aggregator/aggregator.module @@ -91,6 +91,7 @@ function aggregator_menu() { 'description' => "Configure which content your site aggregates from other sites, how often it polls them, and how they're categorized.", 'page callback' => 'aggregator_admin_overview', 'access arguments' => array('administer news feeds'), + 'file' => 'aggregator.admin.inc', ); $items['admin/settings/aggregator/add/feed'] = array( 'title' => 'Add feed', @@ -99,6 +100,7 @@ function aggregator_menu() { 'access arguments' => array('administer news feeds'), 'type' => MENU_LOCAL_TASK, 'parent' => 'admin/settings/aggregator', + 'file' => 'aggregator.admin.inc', ); $items['admin/settings/aggregator/add/category'] = array( 'title' => 'Add category', @@ -107,6 +109,7 @@ function aggregator_menu() { 'access arguments' => array('administer news feeds'), 'type' => MENU_LOCAL_TASK, 'parent' => 'admin/settings/aggregator', + 'file' => 'aggregator.admin.inc', ); $items['admin/settings/aggregator/add/opml'] = array( 'title' => 'Import OPML', @@ -115,6 +118,7 @@ function aggregator_menu() { 'access arguments' => array('administer news feeds'), 'type' => MENU_LOCAL_TASK, 'parent' => 'admin/settings/aggregator', + 'file' => 'aggregator.admin.inc', ); $items['admin/settings/aggregator/remove/%aggregator_feed'] = array( 'title' => 'Remove items', @@ -122,6 +126,7 @@ function aggregator_menu() { 'page arguments' => array('aggregator_admin_remove_feed', 4), 'access arguments' => array('administer news feeds'), 'type' => MENU_CALLBACK, + 'file' => 'aggregator.admin.inc', ); $items['admin/settings/aggregator/update/%aggregator_feed'] = array( 'title' => 'Update items', @@ -129,6 +134,7 @@ function aggregator_menu() { 'page arguments' => array(4), 'access arguments' => array('administer news feeds'), 'type' => MENU_CALLBACK, + 'file' => 'aggregator.admin.inc', ); $items['admin/settings/aggregator/list'] = array( 'title' => 'List', @@ -141,34 +147,40 @@ function aggregator_menu() { 'page callback' => 'drupal_get_form', 'page arguments' => array('aggregator_admin_form'), 'access arguments' => array('administer news feeds'), + 'file' => 'aggregator.admin.inc', ); $items['aggregator'] = array( 'title' => 'Feed aggregator', 'page callback' => 'aggregator_page_last', 'access arguments' => array('access news feeds'), 'weight' => 5, + 'file' => 'aggregator.pages.inc', ); $items['aggregator/sources'] = array( 'title' => 'Sources', 'page callback' => 'aggregator_page_sources', 'access arguments' => array('access news feeds'), + 'file' => 'aggregator.pages.inc', ); $items['aggregator/categories'] = array( 'title' => 'Categories', 'page callback' => 'aggregator_page_categories', 'access callback' => '_aggregator_has_categories', + 'file' => 'aggregator.pages.inc', ); $items['aggregator/rss'] = array( 'title' => 'RSS feed', 'page callback' => 'aggregator_page_rss', 'access arguments' => array('access news feeds'), 'type' => MENU_CALLBACK, + 'file' => 'aggregator.pages.inc', ); $items['aggregator/opml'] = array( 'title' => 'OPML feed', 'page callback' => 'aggregator_page_opml', 'access arguments' => array('access news feeds'), 'type' => MENU_CALLBACK, + 'file' => 'aggregator.pages.inc', ); $items['aggregator/categories/%aggregator_category'] = array( 'title callback' => '_aggregator_category_title', @@ -177,6 +189,7 @@ function aggregator_menu() { 'page arguments' => array(2), 'access callback' => 'user_access', 'access arguments' => array('access news feeds'), + 'file' => 'aggregator.pages.inc', ); $items['aggregator/categories/%aggregator_category/view'] = array( 'title' => 'View', @@ -189,6 +202,7 @@ function aggregator_menu() { 'page arguments' => array('aggregator_page_category', 2), 'access arguments' => array('administer news feeds'), 'type' => MENU_LOCAL_TASK, + 'file' => 'aggregator.pages.inc', ); $items['aggregator/categories/%aggregator_category/configure'] = array( 'title' => 'Configure', @@ -197,12 +211,14 @@ function aggregator_menu() { 'access arguments' => array('administer news feeds'), 'type' => MENU_LOCAL_TASK, 'weight' => 1, + 'file' => 'aggregator.admin.inc', ); $items['aggregator/sources/%aggregator_feed'] = array( 'page callback' => 'aggregator_page_source', 'page arguments' => array(2), 'access arguments' => array('access news feeds'), 'type' => MENU_CALLBACK, + 'file' => 'aggregator.pages.inc', ); $items['aggregator/sources/%aggregator_feed/view'] = array( 'title' => 'View', @@ -215,6 +231,7 @@ function aggregator_menu() { 'page arguments' => array('aggregator_page_source', 2), 'access arguments' => array('administer news feeds'), 'type' => MENU_LOCAL_TASK, + 'file' => 'aggregator.pages.inc', ); $items['aggregator/sources/%aggregator_feed/configure'] = array( 'title' => 'Configure', @@ -223,6 +240,7 @@ function aggregator_menu() { 'access arguments' => array('administer news feeds'), 'type' => MENU_LOCAL_TASK, 'weight' => 1, + 'file' => 'aggregator.admin.inc', ); $items['admin/settings/aggregator/edit/feed/%aggregator_feed'] = array( 'title' => 'Edit feed', @@ -230,6 +248,7 @@ function aggregator_menu() { 'page arguments' => array('aggregator_form_feed', 5), 'access arguments' => array('administer news feeds'), 'type' => MENU_CALLBACK, + 'file' => 'aggregator.admin.inc', ); $items['admin/settings/aggregator/edit/category/%aggregator_category'] = array( 'title' => 'Edit category', @@ -237,6 +256,7 @@ function aggregator_menu() { 'page arguments' => array('aggregator_form_category', 5), 'access arguments' => array('administer news feeds'), 'type' => MENU_CALLBACK, + 'file' => 'aggregator.admin.inc', ); return $items; @@ -555,7 +575,7 @@ function aggregator_refresh($feed) { } } // Expire old feed items. - if (drupal_function_exists('aggregator_expire')) { + if (function_exists('aggregator_expire')) { aggregator_expire($feed); } } diff --git modules/block/block.module modules/block/block.module index aa0b3fb..97a61fc 100644 --- modules/block/block.module +++ modules/block/block.module @@ -125,6 +125,7 @@ function block_menu() { 'description' => 'Configure what block content appears in your site\'s sidebars and other regions.', 'page callback' => 'block_admin_display', 'access arguments' => array('administer blocks'), + 'file' => 'block.admin.inc', ); $items['admin/structure/block/list'] = array( 'title' => 'List', @@ -136,6 +137,7 @@ function block_menu() { 'page callback' => 'block_admin_display_js', 'access arguments' => array('administer blocks'), 'type' => MENU_CALLBACK, + 'file' => 'block.admin.inc', ); $items['admin/structure/block/configure'] = array( 'title' => 'Configure block', @@ -143,6 +145,7 @@ function block_menu() { 'page arguments' => array('block_admin_configure'), 'access arguments' => array('administer blocks'), 'type' => MENU_CALLBACK, + 'file' => 'block.admin.inc', ); $items['admin/structure/block/delete'] = array( 'title' => 'Delete block', @@ -150,6 +153,7 @@ function block_menu() { 'page arguments' => array('block_box_delete'), 'access arguments' => array('administer blocks'), 'type' => MENU_CALLBACK, + 'file' => 'block.admin.inc', ); $items['admin/structure/block/add'] = array( 'title' => 'Add block', @@ -157,6 +161,7 @@ function block_menu() { 'page arguments' => array('block_add_block_form'), 'access arguments' => array('administer blocks'), 'type' => MENU_LOCAL_TASK, + 'file' => 'block.admin.inc', ); $default = variable_get('theme_default', 'garland'); foreach (list_themes() as $key => $theme) { diff --git modules/blog/blog.module modules/blog/blog.module index 1c7f893..737d53e 100644 --- modules/blog/blog.module +++ modules/blog/blog.module @@ -94,6 +94,7 @@ function blog_menu() { 'page callback' => 'blog_page_last', 'access arguments' => array('access content'), 'type' => MENU_SUGGESTED_ITEM, + 'file' => 'blog.pages.inc', ); $items['blog/%user_uid_optional'] = array( 'title' => 'My blog', @@ -101,6 +102,7 @@ function blog_menu() { 'page arguments' => array(1), 'access callback' => 'blog_page_user_access', 'access arguments' => array(1), + 'file' => 'blog.pages.inc', ); $items['blog/%user/feed'] = array( 'title' => 'Blogs', @@ -109,12 +111,14 @@ function blog_menu() { 'access callback' => 'blog_page_user_access', 'access arguments' => array(1), 'type' => MENU_CALLBACK, + 'file' => 'blog.pages.inc', ); $items['blog/feed'] = array( 'title' => 'Blogs', 'page callback' => 'blog_feed_last', 'access arguments' => array('access content'), 'type' => MENU_CALLBACK, + 'file' => 'blog.pages.inc', ); return $items; diff --git modules/blogapi/blogapi.test modules/blogapi/blogapi.test index be28851..604a742 100644 --- modules/blogapi/blogapi.test +++ modules/blogapi/blogapi.test @@ -14,7 +14,7 @@ class BlogAPITestCase extends DrupalWebTestCase { parent::setUp('blog', 'blogapi', 'taxonomy'); // Force loading the xmlrpc.inc to have the xmlrpc() function. - drupal_function_exists('xmlrpc'); + function_exists('xmlrpc'); } /** diff --git modules/book/book.module modules/book/book.module index bbd900c..624ac3a 100644 --- modules/book/book.module +++ modules/book/book.module @@ -105,6 +105,7 @@ function book_menu() { 'page callback' => 'book_admin_overview', 'access arguments' => array('administer book outlines'), 'type' => MENU_LOCAL_TASK, + 'file' => 'book.admin.inc', ); $items['admin/content/book/list'] = array( 'title' => 'List', @@ -117,6 +118,7 @@ function book_menu() { 'access arguments' => array('administer site configuration'), 'type' => MENU_LOCAL_TASK, 'weight' => 8, + 'file' => 'book.admin.inc', ); $items['admin/content/book/%node'] = array( 'title' => 'Re-order book pages and change titles', @@ -125,18 +127,21 @@ function book_menu() { 'access callback' => '_book_outline_access', 'access arguments' => array(3), 'type' => MENU_CALLBACK, + 'file' => 'book.admin.inc', ); $items['book'] = array( 'title' => 'Books', 'page callback' => 'book_render', 'access arguments' => array('access content'), 'type' => MENU_SUGGESTED_ITEM, + 'file' => 'book.pages.inc', ); $items['book/export/%/%'] = array( 'page callback' => 'book_export', 'page arguments' => array(2, 3), 'access arguments' => array('access printer-friendly version'), 'type' => MENU_CALLBACK, + 'file' => 'book.pages.inc', ); $items['node/%node/outline'] = array( 'title' => 'Outline', @@ -146,6 +151,7 @@ function book_menu() { 'access arguments' => array(1), 'type' => MENU_LOCAL_TASK, 'weight' => 2, + 'file' => 'book.pages.inc', ); $items['node/%node/outline/remove'] = array( 'title' => 'Remove from outline', @@ -154,11 +160,13 @@ function book_menu() { 'access callback' => '_book_outline_remove_access', 'access arguments' => array(1), 'type' => MENU_CALLBACK, + 'file' => 'book.pages.inc', ); $items['book/js/form'] = array( 'page callback' => 'book_form_update', 'access arguments' => array('access content'), 'type' => MENU_CALLBACK, + 'file' => 'book.pages.inc', ); return $items; diff --git modules/comment/comment.module modules/comment/comment.module index 8c3a1c2..be52411 100644 --- modules/comment/comment.module +++ modules/comment/comment.module @@ -133,6 +133,7 @@ function comment_menu() { 'page callback' => 'comment_admin', 'access arguments' => array('administer comments'), 'type' => MENU_LOCAL_TASK, + 'file' => 'comment.admin.inc', ); // Tabs begin here. $items['admin/content/comment/new'] = array( @@ -151,6 +152,7 @@ function comment_menu() { 'page callback' => 'comment_delete_page', 'access arguments' => array('administer comments'), 'type' => MENU_CALLBACK, + 'file' => 'comment.admin.inc', ); $items['comment/edit/%comment'] = array( 'title' => 'Edit comment', @@ -167,6 +169,7 @@ function comment_menu() { 'access callback' => 'node_access', 'access arguments' => array('view', 2), 'type' => MENU_CALLBACK, + 'file' => 'comment.pages.inc', ); $items['comment/approve'] = array( 'title' => 'Approve a comment', @@ -174,6 +177,7 @@ function comment_menu() { 'page arguments' => array(2), 'access arguments' => array('administer comments'), 'type' => MENU_CALLBACK, + 'file' => 'comment.pages.inc', ); $items['comment/%comment'] = array( 'title' => 'Comment permalink', diff --git modules/contact/contact.module modules/contact/contact.module index 060f919..7e0e693 100644 --- modules/contact/contact.module +++ modules/contact/contact.module @@ -57,11 +57,13 @@ function contact_menu() { 'description' => 'Create a system contact form and set up categories for the form to use.', 'page callback' => 'contact_admin_categories', 'access arguments' => array('administer site-wide contact form'), + 'file' => 'contact.admin.inc', ); $items['admin/structure/contact/list'] = array( 'title' => 'List', 'page callback' => 'contact_admin_categories', 'type' => MENU_DEFAULT_LOCAL_TASK, + 'file' => 'contact.admin.inc', ); $items['admin/structure/contact/add'] = array( 'title' => 'Add category', @@ -70,6 +72,7 @@ function contact_menu() { 'access arguments' => array('administer site-wide contact form'), 'type' => MENU_LOCAL_TASK, 'weight' => 1, + 'file' => 'contact.admin.inc', ); $items['admin/structure/contact/edit/%contact'] = array( 'title' => 'Edit contact category', @@ -77,6 +80,7 @@ function contact_menu() { 'page arguments' => array('contact_admin_edit', 3, 4), 'access arguments' => array('administer site-wide contact form'), 'type' => MENU_CALLBACK, + 'file' => 'contact.admin.inc', ); $items['admin/structure/contact/delete/%contact'] = array( 'title' => 'Delete contact', @@ -84,6 +88,7 @@ function contact_menu() { 'page arguments' => array('contact_admin_delete', 4), 'access arguments' => array('administer site-wide contact form'), 'type' => MENU_CALLBACK, + 'file' => 'contact.admin.inc', ); $items['admin/settings/contact'] = array( 'title' => 'Contact form', @@ -91,12 +96,14 @@ function contact_menu() { 'page callback' => 'drupal_get_form', 'page arguments' => array('contact_admin_settings'), 'access arguments' => array('administer site-wide contact form'), + 'file' => 'contact.admin.inc', ); $items['contact'] = array( 'title' => 'Contact', 'page callback' => 'contact_site_page', 'access arguments' => array('access site-wide contact form'), 'type' => MENU_SUGGESTED_ITEM, + 'file' => 'contact.pages.inc', ); $items['user/%user/contact'] = array( 'title' => 'Contact', @@ -106,6 +113,7 @@ function contact_menu() { 'access callback' => '_contact_personal_tab_access', 'access arguments' => array(1), 'weight' => 2, + 'file' => 'contact.pages.inc', ); return $items; } diff --git modules/dblog/dblog.module modules/dblog/dblog.module index c2a15d9..885e535 100644 --- modules/dblog/dblog.module +++ modules/dblog/dblog.module @@ -48,6 +48,7 @@ function dblog_menu() { 'page callback' => 'dblog_overview', 'access arguments' => array('access site reports'), 'weight' => -1, + 'file' => 'dblog.admin.inc', ); $items['admin/reports/page-not-found'] = array( 'title' => "Top 'page not found' errors", @@ -55,6 +56,7 @@ function dblog_menu() { 'page callback' => 'dblog_top', 'page arguments' => array('page not found'), 'access arguments' => array('access site reports'), + 'file' => 'dblog.admin.inc', ); $items['admin/reports/access-denied'] = array( 'title' => "Top 'access denied' errors", @@ -62,6 +64,7 @@ function dblog_menu() { 'page callback' => 'dblog_top', 'page arguments' => array('access denied'), 'access arguments' => array('access site reports'), + 'file' => 'dblog.admin.inc', ); $items['admin/reports/event/%'] = array( 'title' => 'Details', @@ -69,6 +72,7 @@ function dblog_menu() { 'page arguments' => array(3), 'access arguments' => array('access site reports'), 'type' => MENU_CALLBACK, + 'file' => 'dblog.admin.inc', ); return $items; } diff --git modules/field/field.attach.inc modules/field/field.attach.inc index e18c126..ab9c7cc 100644 --- modules/field/field.attach.inc +++ modules/field/field.attach.inc @@ -203,7 +203,7 @@ function _field_invoke($op, $obj_type, $object, &$a = NULL, &$b = NULL, $options // Invoke the field hook and collect results. $function = $options['default'] ? 'field_default_' . $op : $field['module'] . '_field_' . $op; - if (drupal_function_exists($function)) { + if (function_exists($function)) { $result = $function($obj_type, $object, $field, $instance, $items, $a, $b); if (isset($result)) { // For hooks with array results, we merge results together. @@ -325,7 +325,7 @@ function _field_invoke_multiple($op, $obj_type, $objects, &$a = NULL, &$b = NULL foreach ($fields as $field_id => $field) { $field_name = $field['field_name']; $function = $options['default'] ? 'field_default_' . $op : $field['module'] . '_field_' . $op; - if (drupal_function_exists($function)) { + if (function_exists($function)) { $results = $function($obj_type, $grouped_objects[$field_id], $field, $grouped_instances[$field_id], $grouped_items[$field_id], $options, $a, $b); if (isset($results)) { // Collect results by object. diff --git modules/field/field.form.inc modules/field/field.form.inc index 26b32fd..ae27bf7 100644 --- modules/field/field.form.inc +++ modules/field/field.form.inc @@ -56,7 +56,7 @@ function field_default_form($obj_type, $object, $field, $instance, $items, &$for else { $delta = isset($get_delta) ? $get_delta : 0; $function = $instance['widget']['module'] . '_field_widget'; - if (drupal_function_exists($function)) { + if (function_exists($function)) { if ($element = $function($form, $form_state, $field, $instance, $items, $delta)) { $defaults = array( '#required' => $get_delta > 0 ? FALSE : $instance['required'], @@ -142,7 +142,7 @@ function field_multiple_value_form($field, $instance, $items, &$form, &$form_sta ); $function = $instance['widget']['module'] . '_field_widget'; - if (drupal_function_exists($function)) { + if (function_exists($function)) { for ($delta = 0; $delta <= $max; $delta++) { if ($element = $function($form, $form_state, $field, $instance, $items, $delta)) { $multiple = $field['cardinality'] > 1 || $field['cardinality'] == FIELD_CARDINALITY_UNLIMITED; @@ -280,7 +280,7 @@ function field_default_form_errors($obj_type, $object, $field, $instance, $items $field_name = $field['field_name']; if (!empty($errors[$field_name])) { $function = $instance['widget']['module'] . '_field_widget_error'; - $function_exists = drupal_function_exists($function); + $function_exists = function_exists($function); // Walk the form down to where the widget lives. $form_path = $form['#fields'][$field_name]['form_path']; @@ -315,7 +315,7 @@ function field_default_form_errors($obj_type, $object, $field, $instance, $items */ function field_add_more_submit($form, &$form_state) { // Set the form to rebuild and run submit handlers. - if (isset($form['#builder_function']) && drupal_function_exists($form['#builder_function'])) { + if (isset($form['#builder_function']) && function_exists($form['#builder_function'])) { $entity = $form['#builder_function']($form, $form_state); // Make the changes we want to the form state. diff --git modules/field/field.module modules/field/field.module index 81cca3f..3cb2f1e 100644 --- modules/field/field.module +++ modules/field/field.module @@ -13,6 +13,7 @@ require(DRUPAL_ROOT . '/modules/field/field.crud.inc'); require(DRUPAL_ROOT . '/modules/field/field.info.inc'); require(DRUPAL_ROOT . '/modules/field/field.attach.inc'); +require(DRUPAL_ROOT . '/modules/field/field.form.inc'); /** * @defgroup field Field API @@ -156,6 +157,7 @@ function field_menu() { 'page callback' => 'field_add_more_js', 'access arguments' => array('access content'), 'type' => MENU_CALLBACK, + 'file' => 'field.form.inc', ); return $items; @@ -279,7 +281,7 @@ function field_get_default_value($obj_type, $object, $field, $instance) { $items = array(); if (!empty($instance['default_value_function'])) { $function = $instance['default_value_function']; - if (drupal_function_exists($function)) { + if (function_exists($function)) { $items = $function($obj_type, $object, $field, $instance); } } @@ -305,7 +307,7 @@ function field_get_default_value($obj_type, $object, $field, $instance) { function field_set_empty($field, $items) { $function = $field['module'] . '_field_is_empty'; // We ensure the function is loaded, but explicitly break if it is missing. - drupal_function_exists($function); + function_exists($function); foreach ((array) $items as $delta => $item) { if ($function($item, $field)) { unset($items[$delta]); @@ -591,7 +593,7 @@ function field_view_field($obj_type, $object, $field, $instance, $build_mode = ' // One-field equivalent to _field_invoke('sanitize'). $function = $field['module'] . '_field_sanitize'; - if (drupal_function_exists($function)) { + if (function_exists($function)) { $function($obj_type, $object, $field, $instance, $items); $object->$field['field_name'] = $items; } @@ -711,4 +713,4 @@ function template_preprocess_field(&$variables) { /** * @} End of "defgroup field" - */ \ No newline at end of file + */ diff --git modules/field/modules/list/list.module modules/field/modules/list/list.module index d6f1c76..c578c77 100644 --- modules/field/modules/list/list.module +++ modules/field/modules/list/list.module @@ -151,7 +151,7 @@ function list_allowed_values($field) { $allowed_values[$field['field_name']] = array(); $function = $field['settings']['allowed_values_function']; - if (!empty($function) && drupal_function_exists($function)) { + if (!empty($function) && function_exists($function)) { $allowed_values[$field['field_name']] = $function($field); } elseif (!empty($field['settings']['allowed_values'])) { diff --git modules/field_ui/field_ui.admin.inc modules/field_ui/field_ui.admin.inc index b97d220..cda0e56 100644 --- modules/field_ui/field_ui.admin.inc +++ modules/field_ui/field_ui.admin.inc @@ -1211,7 +1211,7 @@ function field_ui_default_value_widget($field, $instance, &$form, &$form_state) 'instance' => $instance, ), ); - drupal_function_exists('field_default_form'); + function_exists('field_default_form'); // @todo Allow multiple values (requires more work on 'add more' JS handler). $widget_form = field_default_form(NULL, NULL, $field, $instance, $items, $form, $form_state, 0); $form['instance']['default_value_widget'] += $widget_form; @@ -1263,7 +1263,7 @@ function field_ui_field_edit_form_validate($form, &$form_state) { // Widget now does its own validation, should be no need to add anything // for widget validation here. - if (drupal_function_exists($field_function)) { + if (function_exists($field_function)) { $field_function('validate', $node, $field, $default_value, $form, NULL); } // The field validation routine won't set an error on the right field, so diff --git modules/filter/filter.admin.inc modules/filter/filter.admin.inc index 263e3fd..0d513a7 100644 --- modules/filter/filter.admin.inc +++ modules/filter/filter.admin.inc @@ -352,7 +352,7 @@ function filter_admin_configure(&$form_state, $format) { $form = array(); foreach ($list as $filter) { $filter_info = module_invoke($filter->module, 'filter_info'); - if (isset($filter_info[$filter->delta]['settings callback']) && drupal_function_exists($filter_info[$filter->delta]['settings callback'])) { + if (isset($filter_info[$filter->delta]['settings callback']) && function_exists($filter_info[$filter->delta]['settings callback'])) { $form_module = call_user_func($filter_info[$filter->delta]['settings callback'], $format->format); } if (isset($form_module) && is_array($form_module)) { diff --git modules/filter/filter.module modules/filter/filter.module index 6108703..26e65a4 100644 --- modules/filter/filter.module +++ modules/filter/filter.module @@ -76,6 +76,7 @@ function filter_menu() { 'page callback' => 'drupal_get_form', 'page arguments' => array('filter_admin_overview'), 'access arguments' => array('administer filters'), + 'file' => 'filter.admin.inc', ); $items['admin/settings/formats/list'] = array( 'title' => 'List', @@ -87,6 +88,7 @@ function filter_menu() { 'access arguments' => array('administer filters'), 'type' => MENU_LOCAL_TASK, 'weight' => 1, + 'file' => 'filter.admin.inc', ); $items['admin/settings/formats/delete'] = array( 'title' => 'Delete text format', @@ -94,12 +96,14 @@ function filter_menu() { 'page arguments' => array('filter_admin_delete'), 'access arguments' => array('administer filters'), 'type' => MENU_CALLBACK, + 'file' => 'filter.admin.inc', ); $items['filter/tips'] = array( 'title' => 'Compose tips', 'page callback' => 'filter_tips_long', 'access callback' => TRUE, 'type' => MENU_SUGGESTED_ITEM, + 'file' => 'filter.pages.inc', ); $items['admin/settings/formats/%filter_format'] = array( 'type' => MENU_CALLBACK, @@ -108,6 +112,7 @@ function filter_menu() { 'page callback' => 'filter_admin_format_page', 'page arguments' => array(3), 'access arguments' => array('administer filters'), + 'file' => 'filter.admin.inc', ); $items['admin/settings/formats/%filter_format/edit'] = array( 'title' => 'Edit', @@ -121,6 +126,7 @@ function filter_menu() { 'access arguments' => array('administer filters'), 'type' => MENU_LOCAL_TASK, 'weight' => 1, + 'file' => 'filter.admin.inc', ); $items['admin/settings/formats/%filter_format/order'] = array( 'title' => 'Rearrange', @@ -129,6 +135,7 @@ function filter_menu() { 'access arguments' => array('administer filters'), 'type' => MENU_LOCAL_TASK, 'weight' => 2, + 'file' => 'filter.admin.inc', ); return $items; } @@ -446,7 +453,7 @@ function check_markup($text, $format = FILTER_FORMAT_DEFAULT, $langcode = '', $c // Give filters the chance to escape HTML-like data such as code or formulas. foreach ($filters as $filter) { $filter_info = module_invoke($filter->module, 'filter_info'); - if (isset($filter_info[$filter->delta]['prepare callback']) && drupal_function_exists($filter_info[$filter->delta]['prepare callback'])) { + if (isset($filter_info[$filter->delta]['prepare callback']) && function_exists($filter_info[$filter->delta]['prepare callback'])) { $text = call_user_func($filter_info[$filter->delta]['prepare callback'], $text, $format, $langcode, $cache_id); } } @@ -454,7 +461,7 @@ function check_markup($text, $format = FILTER_FORMAT_DEFAULT, $langcode = '', $c // Perform filtering. foreach ($filters as $filter) { $filter_info = module_invoke($filter->module, 'filter_info'); - if (isset($filter_info[$filter->delta]['process callback']) && drupal_function_exists($filter_info[$filter->delta]['process callback'])) { + if (isset($filter_info[$filter->delta]['process callback']) && function_exists($filter_info[$filter->delta]['process callback'])) { $text = call_user_func($filter_info[$filter->delta]['process callback'], $text, $format, $langcode, $cache_id); } } @@ -566,7 +573,7 @@ function _filter_tips($format, $long = FALSE) { $tips[$format->name] = array(); foreach ($filters as $id => $filter) { $filter_info = module_invoke($filter->module, 'filter_info'); - if (isset($filter_info[$filter->delta]['tips callback']) && drupal_function_exists($filter_info[$filter->delta]['tips callback'])) { + if (isset($filter_info[$filter->delta]['tips callback']) && function_exists($filter_info[$filter->delta]['tips callback'])) { $tip = call_user_func($filter_info[$filter->delta]['tips callback'],$format->format, $long); $tips[$format->name][] = array('tip' => $tip, 'id' => $id); } diff --git modules/forum/forum.module modules/forum/forum.module index 840b8e9..ab0ab08 100644 --- modules/forum/forum.module +++ modules/forum/forum.module @@ -91,6 +91,7 @@ function forum_menu() { 'title' => 'Forums', 'page callback' => 'forum_page', 'access arguments' => array('access content'), + 'file' => 'forum.pages.inc', ); $items['admin/structure/forum'] = array( 'title' => 'Forums', @@ -98,6 +99,7 @@ function forum_menu() { 'page callback' => 'drupal_get_form', 'page arguments' => array('forum_overview'), 'access arguments' => array('administer forums'), + 'file' => 'forum.admin.inc', ); $items['admin/structure/forum/list'] = array( 'title' => 'List', @@ -111,6 +113,7 @@ function forum_menu() { 'access arguments' => array('administer forums'), 'type' => MENU_LOCAL_TASK, 'parent' => 'admin/structure/forum', + 'file' => 'forum.admin.inc', ); $items['admin/structure/forum/add/forum'] = array( 'title' => 'Add forum', @@ -119,6 +122,7 @@ function forum_menu() { 'access arguments' => array('administer forums'), 'type' => MENU_LOCAL_TASK, 'parent' => 'admin/structure/forum', + 'file' => 'forum.admin.inc', ); $items['admin/structure/forum/settings'] = array( 'title' => 'Settings', @@ -128,11 +132,13 @@ function forum_menu() { 'weight' => 5, 'type' => MENU_LOCAL_TASK, 'parent' => 'admin/structure/forum', + 'file' => 'forum.admin.inc', ); $items['admin/structure/forum/edit/%forum_term'] = array( 'page callback' => 'forum_form_main', 'access arguments' => array('administer forums'), 'type' => MENU_CALLBACK, + 'file' => 'forum.admin.inc', ); $items['admin/structure/forum/edit/container/%forum_term'] = array( 'title' => 'Edit container', @@ -140,6 +146,7 @@ function forum_menu() { 'page arguments' => array('container', 5), 'access arguments' => array('administer forums'), 'type' => MENU_CALLBACK, + 'file' => 'forum.admin.inc', ); $items['admin/structure/forum/edit/forum/%forum_term'] = array( 'title' => 'Edit forum', @@ -147,6 +154,7 @@ function forum_menu() { 'page arguments' => array('forum', 5), 'access arguments' => array('administer forums'), 'type' => MENU_CALLBACK, + 'file' => 'forum.admin.inc', ); return $items; } diff --git modules/help/help.module modules/help/help.module index 32d14e1..00f51d2 100644 --- modules/help/help.module +++ modules/help/help.module @@ -15,6 +15,7 @@ function help_menu() { 'page callback' => 'help_main', 'access arguments' => array('access administration pages'), 'weight' => 9, + 'file' => 'help.admin.inc', ); foreach (module_implements('help', TRUE) as $module) { @@ -24,6 +25,7 @@ function help_menu() { 'page arguments' => array(2), 'access arguments' => array('access administration pages'), 'type' => MENU_CALLBACK, + 'file' => 'help.admin.inc', ); } diff --git modules/help/help.test modules/help/help.test index 2f27efd..763b709 100644 --- modules/help/help.test +++ modules/help/help.test @@ -81,7 +81,7 @@ class HelpTestCase extends DrupalWebTestCase { $this->modules = array(); $result = db_query("SELECT name, filename, info FROM {system} WHERE type = 'module' AND status = 1 ORDER BY weight ASC, filename ASC"); foreach ($result as $module) { - if (file_exists($module->filename) && drupal_function_exists($module->name . '_help')) { + if (file_exists($module->filename) && function_exists($module->name . '_help')) { $fullname = unserialize($module->info); $this->modules[$module->name] = $fullname['name']; } diff --git modules/image/image.admin.inc modules/image/image.admin.inc index a44dde3..e52ffe9 100644 --- modules/image/image.admin.inc +++ modules/image/image.admin.inc @@ -321,7 +321,7 @@ function image_effect_form(&$form_state, $style, $effect) { '#tree' => TRUE, '#attached_css' => array(drupal_get_path('module', 'image') . '/image.admin.css' => array('preprocess' => FALSE)), ); - if (drupal_function_exists($effect['form callback'])) { + if (function_exists($effect['form callback'])) { $form['data'] = call_user_func($effect['form callback'], $effect['data']); } diff --git modules/image/image.module modules/image/image.module index a6c3411..947c2c3 100644 --- modules/image/image.module +++ modules/image/image.module @@ -51,6 +51,7 @@ function image_menu() { 'description' => 'Configure styles that can be used for resizing or adjusting images on display.', 'page callback' => 'image_style_list', 'access arguments' => array('administer image styles'), + 'file' => 'image.admin.inc', ); $items['admin/config/media/image-styles/list'] = array( 'title' => 'List', @@ -59,6 +60,7 @@ function image_menu() { 'access arguments' => array('administer image styles'), 'type' => MENU_DEFAULT_LOCAL_TASK, 'weight' => 1, + 'file' => 'image.admin.inc', ); $items['admin/config/media/image-styles/add'] = array( 'title' => 'Add style', @@ -68,6 +70,7 @@ function image_menu() { 'access arguments' => array('administer image styles'), 'type' => MENU_LOCAL_TASK, 'weight' => 2, + 'file' => 'image.admin.inc', ); $items['admin/config/media/image-styles/edit/%image_style'] = array( 'title' => 'Edit style', @@ -78,6 +81,7 @@ function image_menu() { 'page arguments' => array('image_style_form', 5), 'access arguments' => array('administer image styles'), 'type' => MENU_CALLBACK, + 'file' => 'image.admin.inc', ); $items['admin/config/media/image-styles/delete/%image_style'] = array( 'title' => 'Delete style', @@ -88,6 +92,7 @@ function image_menu() { 'page arguments' => array('image_style_delete_form', 5, TRUE), 'access arguments' => array('administer image styles'), 'type' => MENU_CALLBACK, + 'file' => 'image.admin.inc', ); $items['admin/config/media/image-styles/edit/%image_style/effects/%image_effect'] = array( 'title' => 'Edit image effect', @@ -98,6 +103,7 @@ function image_menu() { 'page arguments' => array('image_effect_form', 5, 7), 'access arguments' => array('administer image styles'), 'type' => MENU_CALLBACK, + 'file' => 'image.admin.inc', ); $items['admin/config/media/image-styles/edit/%image_style/effects/%image_effect/delete'] = array( 'title' => 'Delete image effect', @@ -108,6 +114,7 @@ function image_menu() { 'page arguments' => array('image_effect_delete_form', 5, 7), 'access arguments' => array('administer image styles'), 'type' => MENU_CALLBACK, + 'file' => 'image.admin.inc', ); $items['admin/config/media/image-styles/edit/%image_style/add/%image_effect_definition'] = array( 'title' => 'Add image effect', @@ -118,6 +125,7 @@ function image_menu() { 'page arguments' => array('image_effect_form', 5, 7), 'access arguments' => array('administer image styles'), 'type' => MENU_CALLBACK, + 'file' => 'image.admin.inc', ); return $items; @@ -766,7 +774,7 @@ function image_effect_delete($effect) { * TRUE on success. FALSE if unable to perform the image effect on the image. */ function image_effect_apply($image, $effect) { - if (drupal_function_exists($effect['effect callback'])) { + if (function_exists($effect['effect callback'])) { return call_user_func($effect['effect callback'], $image, $effect['data']); } return FALSE; diff --git modules/locale/locale.module modules/locale/locale.module index 54b5128..5498c03 100644 --- modules/locale/locale.module +++ modules/locale/locale.module @@ -78,12 +78,14 @@ function locale_menu() { 'page callback' => 'system_admin_menu_block_page', 'access callback' => 'system_admin_menu_block_access', 'access arguments' => array('admin/config/international', 'access administration pages'), + 'file' => 'system.admin.inc', + 'file path' => 'modules/system', ); $items['admin/config/international/language'] = array( 'title' => 'Languages', 'description' => 'Configure languages for content and the user interface.', - 'page callback' => 'drupal_get_form', - 'page arguments' => array('locale_languages_overview_form'), + 'page callback' => 'locale_inc_callback', + 'page arguments' => array('drupal_get_form', 'locale_languages_overview_form'), 'access arguments' => array('administer languages'), ); $items['admin/config/international/language/overview'] = array( @@ -93,30 +95,31 @@ function locale_menu() { ); $items['admin/config/international/language/add'] = array( 'title' => 'Add language', - 'page callback' => 'locale_languages_add_screen', // two forms concatenated + 'page callback' => 'locale_inc_callback', + 'page arguments' => array('locale_languages_add_screen'), // two forms concatenated 'access arguments' => array('administer languages'), 'weight' => 5, 'type' => MENU_LOCAL_TASK, ); $items['admin/config/international/language/configure'] = array( 'title' => 'Configure', - 'page callback' => 'drupal_get_form', - 'page arguments' => array('locale_languages_configure_form'), + 'page callback' => 'locale_inc_callback', + 'page arguments' => array('drupal_get_form', 'locale_languages_configure_form'), 'access arguments' => array('administer languages'), 'weight' => 10, 'type' => MENU_LOCAL_TASK, ); $items['admin/config/international/language/edit/%'] = array( 'title' => 'Edit language', - 'page callback' => 'drupal_get_form', - 'page arguments' => array('locale_languages_edit_form', 5), + 'page callback' => 'locale_inc_callback', + 'page arguments' => array('drupal_get_form', 'locale_languages_edit_form', 5), 'access arguments' => array('administer languages'), 'type' => MENU_CALLBACK, ); $items['admin/config/international/language/delete/%'] = array( 'title' => 'Confirm', - 'page callback' => 'drupal_get_form', - 'page arguments' => array('locale_languages_delete_form', 5), + 'page callback' => 'locale_inc_callback', + 'page arguments' => array('drupal_get_form', 'locale_languages_delete_form', 5), 'access arguments' => array('administer languages'), 'type' => MENU_CALLBACK, ); @@ -125,7 +128,8 @@ function locale_menu() { $items['admin/config/international/translate'] = array( 'title' => 'Translate interface', 'description' => 'Translate the built in interface and optionally other text.', - 'page callback' => 'locale_translate_overview_screen', // not a form, just a table + 'page callback' => 'locale_inc_callback', + 'page arguments' => array('locale_translate_overview_screen'), // not a form, just a table 'access arguments' => array('translate interface'), ); $items['admin/config/international/translate/overview'] = array( @@ -137,35 +141,37 @@ function locale_menu() { 'title' => 'Translate', 'weight' => 10, 'type' => MENU_LOCAL_TASK, - 'page callback' => 'locale_translate_seek_screen', // search results and form concatenated + 'page callback' => 'locale_inc_callback', + 'page arguments' => array('locale_translate_seek_screen'), // search results and form concatenated 'access arguments' => array('translate interface'), ); $items['admin/config/international/translate/import'] = array( 'title' => 'Import', - 'page callback' => 'drupal_get_form', - 'page arguments' => array('locale_translate_import_form'), + 'page callback' => 'locale_inc_callback', + 'page arguments' => array('drupal_get_form', 'locale_translate_import_form'), 'access arguments' => array('translate interface'), 'weight' => 20, 'type' => MENU_LOCAL_TASK, ); $items['admin/config/international/translate/export'] = array( 'title' => 'Export', - 'page callback' => 'locale_translate_export_screen', // possibly multiple forms concatenated + 'page callback' => 'locale_inc_callback', + 'page arguments' => array('locale_translate_export_screen'), // possibly multiple forms concatenated 'access arguments' => array('translate interface'), 'weight' => 30, 'type' => MENU_LOCAL_TASK, ); $items['admin/config/international/translate/edit/%'] = array( 'title' => 'Edit string', - 'page callback' => 'drupal_get_form', - 'page arguments' => array('locale_translate_edit_form', 5), + 'page callback' => 'locale_inc_callback', + 'page arguments' => array('drupal_get_form', 'locale_translate_edit_form', 5), 'access arguments' => array('translate interface'), 'type' => MENU_CALLBACK, ); $items['admin/config/international/translate/delete/%'] = array( 'title' => 'Delete string', - 'page callback' => 'locale_translate_delete_page', - 'page arguments' => array(5), + 'page callback' => 'locale_inc_callback', + 'page arguments' => array('locale_translate_delete_page', 5), 'access arguments' => array('translate interface'), 'type' => MENU_CALLBACK, ); diff --git modules/menu/menu.module modules/menu/menu.module index f6daaac..dade38b 100644 --- modules/menu/menu.module +++ modules/menu/menu.module @@ -54,6 +54,7 @@ function menu_menu() { 'page callback' => 'menu_overview_page', 'access callback' => 'user_access', 'access arguments' => array('administer menu'), + 'file' => 'menu.admin.inc', ); $items['admin/structure/menu/list'] = array( 'title' => 'List menus', @@ -66,6 +67,7 @@ function menu_menu() { 'page arguments' => array('menu_edit_menu', 'add'), 'access arguments' => array('administer menu'), 'type' => MENU_LOCAL_TASK, + 'file' => 'menu.admin.inc', ); $items['admin/structure/menu/settings'] = array( 'title' => 'Settings', @@ -74,6 +76,7 @@ function menu_menu() { 'access arguments' => array('administer menu'), 'type' => MENU_LOCAL_TASK, 'weight' => 5, + 'file' => 'menu.admin.inc', ); $items['admin/structure/menu-customize/%menu'] = array( 'title' => 'Customize menu', @@ -83,6 +86,7 @@ function menu_menu() { 'title arguments' => array(3), 'access arguments' => array('administer menu'), 'type' => MENU_CALLBACK, + 'file' => 'menu.admin.inc', ); $items['admin/structure/menu-customize/%menu/list'] = array( 'title' => 'List links', @@ -95,6 +99,7 @@ function menu_menu() { 'page arguments' => array('menu_edit_item', 'add', NULL, 3), 'access arguments' => array('administer menu'), 'type' => MENU_LOCAL_TASK, + 'file' => 'menu.admin.inc', ); $items['admin/structure/menu-customize/%menu/edit'] = array( 'title' => 'Edit menu', @@ -102,6 +107,7 @@ function menu_menu() { 'page arguments' => array('menu_edit_menu', 'edit', 3), 'access arguments' => array('administer menu'), 'type' => MENU_LOCAL_TASK, + 'file' => 'menu.admin.inc', ); $items['admin/structure/menu-customize/%menu/delete'] = array( 'title' => 'Delete menu', @@ -109,6 +115,7 @@ function menu_menu() { 'page arguments' => array(3), 'access arguments' => array('administer menu'), 'type' => MENU_CALLBACK, + 'file' => 'menu.admin.inc', ); $items['admin/structure/menu/item/%menu_link/edit'] = array( 'title' => 'Edit menu link', @@ -116,6 +123,7 @@ function menu_menu() { 'page arguments' => array('menu_edit_item', 'edit', 4, NULL), 'access arguments' => array('administer menu'), 'type' => MENU_CALLBACK, + 'file' => 'menu.admin.inc', ); $items['admin/structure/menu/item/%menu_link/reset'] = array( 'title' => 'Reset menu link', @@ -123,6 +131,7 @@ function menu_menu() { 'page arguments' => array('menu_reset_item_confirm', 4), 'access arguments' => array('administer menu'), 'type' => MENU_CALLBACK, + 'file' => 'menu.admin.inc', ); $items['admin/structure/menu/item/%menu_link/delete'] = array( 'title' => 'Delete menu link', @@ -130,6 +139,7 @@ function menu_menu() { 'page arguments' => array(4), 'access arguments' => array('administer menu'), 'type' => MENU_CALLBACK, + 'file' => 'menu.admin.inc', ); return $items; } diff --git modules/node/node.module modules/node/node.module index c141ba9..28aed50 100644 --- modules/node/node.module +++ modules/node/node.module @@ -1695,6 +1695,7 @@ function node_menu() { 'page arguments' => array('node_admin_content'), 'access arguments' => array('administer nodes'), 'weight' => -10, + 'file' => 'node.admin.inc', ); $items['admin/content/node'] = array( 'title' => 'Content', @@ -1710,6 +1711,7 @@ function node_menu() { // has to be allowed access to the 'node access rebuild' confirm form. 'access arguments' => array('access administration pages'), 'type' => MENU_CALLBACK, + 'file' => 'node.admin.inc', ); $items['admin/structure/types'] = array( @@ -1717,6 +1719,7 @@ function node_menu() { 'description' => 'Manage posts by content type, including default status, front page promotion, comment settings, etc.', 'page callback' => 'node_overview_types', 'access arguments' => array('administer content types'), + 'file' => 'content_types.inc', ); $items['admin/structure/types/list'] = array( 'title' => 'List', @@ -1729,12 +1732,14 @@ function node_menu() { 'page arguments' => array('node_type_form'), 'access arguments' => array('administer content types'), 'type' => MENU_LOCAL_TASK, + 'file' => 'content_types.inc', ); $items['node'] = array( 'title' => 'Content', 'page callback' => 'node_page_default', 'access arguments' => array('access content'), 'type' => MENU_CALLBACK, + 'file' => 'node.pages.inc', ); $items['node/add'] = array( 'title' => 'Add new content', @@ -1742,6 +1747,7 @@ function node_menu() { 'access callback' => '_node_add_access', 'weight' => 1, 'menu_name' => 'management', + 'file' => 'node.pages.inc', ); $items['rss.xml'] = array( 'title' => 'RSS feed', @@ -1761,6 +1767,7 @@ function node_menu() { 'access callback' => 'node_access', 'access arguments' => array('create', $type->type), 'description' => $type->description, + 'file' => 'node.pages.inc', ); $items['admin/structure/node-type/' . $type_url_str] = array( 'title' => $type->name, @@ -1768,6 +1775,7 @@ function node_menu() { 'page arguments' => array('node_type_form', $type), 'access arguments' => array('administer content types'), 'type' => MENU_CALLBACK, + 'file' => 'content_types.inc', ); $items['admin/structure/node-type/' . $type_url_str . '/edit'] = array( 'title' => 'Edit', @@ -1778,6 +1786,7 @@ function node_menu() { 'page arguments' => array('node_type_delete_confirm', $type), 'access arguments' => array('administer content types'), 'type' => MENU_CALLBACK, + 'file' => 'content_types.inc', ); } $items['node/%node'] = array( @@ -1800,6 +1809,7 @@ function node_menu() { 'access arguments' => array('update', 1), 'weight' => 1, 'type' => MENU_LOCAL_TASK, + 'file' => 'node.pages.inc', ); $items['node/%node/delete'] = array( 'title' => 'Delete', @@ -1808,7 +1818,9 @@ function node_menu() { 'access callback' => 'node_access', 'access arguments' => array('delete', 1), 'weight' => 1, - 'type' => MENU_CALLBACK); + 'type' => MENU_CALLBACK, + 'file' => 'node.pages.inc', + ); $items['node/%node/revisions'] = array( 'title' => 'Revisions', 'page callback' => 'node_revision_overview', @@ -1817,6 +1829,7 @@ function node_menu() { 'access arguments' => array(1), 'weight' => 2, 'type' => MENU_LOCAL_TASK, + 'file' => 'node.pages.inc', ); $items['node/%node/revisions/%/view'] = array( 'title' => 'Revisions', @@ -1835,6 +1848,7 @@ function node_menu() { 'access callback' => '_node_revision_access', 'access arguments' => array(1, 'update'), 'type' => MENU_CALLBACK, + 'file' => 'node.pages.inc', ); $items['node/%node/revisions/%/delete'] = array( 'title' => 'Delete earlier revision', @@ -1844,6 +1858,7 @@ function node_menu() { 'access callback' => '_node_revision_access', 'access arguments' => array(1, 'delete'), 'type' => MENU_CALLBACK, + 'file' => 'node.pages.inc', ); return $items; } diff --git modules/openid/openid.module modules/openid/openid.module index 7f10612..b702c29 100644 --- modules/openid/openid.module +++ modules/openid/openid.module @@ -15,6 +15,7 @@ function openid_menu() { 'page callback' => 'openid_authentication_page', 'access callback' => 'user_is_anonymous', 'type' => MENU_CALLBACK, + 'file' => 'openid.pages.inc', ); $items['user/%user/openid'] = array( 'title' => 'OpenID identities', @@ -23,6 +24,7 @@ function openid_menu() { 'access callback' => 'user_edit_access', 'access arguments' => array(1), 'type' => MENU_LOCAL_TASK, + 'file' => 'openid.pages.inc', ); $items['user/%user/openid/delete'] = array( 'title' => 'Delete OpenID', @@ -31,6 +33,7 @@ function openid_menu() { 'access callback' => 'user_edit_access', 'access arguments' => array(1), 'type' => MENU_CALLBACK, + 'file' => 'openid.pages.inc', ); return $items; } diff --git modules/path/path.module modules/path/path.module index bc02901..ebfb6a0 100644 --- modules/path/path.module +++ modules/path/path.module @@ -38,12 +38,14 @@ function path_menu() { 'description' => "Change your site's URL paths by aliasing them.", 'page callback' => 'path_admin_overview', 'access arguments' => array('administer url aliases'), + 'file' => 'path.admin.inc', ); $items['admin/settings/path/edit'] = array( 'title' => 'Edit alias', 'page callback' => 'path_admin_edit', 'access arguments' => array('administer url aliases'), 'type' => MENU_CALLBACK, + 'file' => 'path.admin.inc', ); $items['admin/settings/path/delete'] = array( 'title' => 'Delete alias', @@ -51,6 +53,7 @@ function path_menu() { 'page arguments' => array('path_admin_delete_confirm'), 'access arguments' => array('administer url aliases'), 'type' => MENU_CALLBACK, + 'file' => 'path.admin.inc', ); $items['admin/settings/path/list'] = array( 'title' => 'List', @@ -62,6 +65,7 @@ function path_menu() { 'page callback' => 'path_admin_edit', 'access arguments' => array('administer url aliases'), 'type' => MENU_LOCAL_TASK, + 'file' => 'path.admin.inc', ); return $items; diff --git modules/poll/poll.module modules/poll/poll.module index b3d7da2..a37160b 100644 --- modules/poll/poll.module +++ modules/poll/poll.module @@ -81,6 +81,7 @@ function poll_menu() { 'page callback' => 'poll_page', 'access arguments' => array('access content'), 'type' => MENU_SUGGESTED_ITEM, + 'file' => 'poll.pages.inc', ); $items['node/%node/votes'] = array( @@ -91,6 +92,7 @@ function poll_menu() { 'access arguments' => array(1, 'inspect all votes', FALSE), 'weight' => 3, 'type' => MENU_LOCAL_TASK, + 'file' => 'poll.pages.inc', ); $items['node/%node/results'] = array( @@ -101,6 +103,7 @@ function poll_menu() { 'access arguments' => array(1, 'access content', TRUE), 'weight' => 3, 'type' => MENU_LOCAL_TASK, + 'file' => 'poll.pages.inc', ); return $items; diff --git modules/profile/profile.module modules/profile/profile.module index 37511ca..6a14524 100644 --- modules/profile/profile.module +++ modules/profile/profile.module @@ -81,6 +81,7 @@ function profile_menu() { 'page callback' => 'profile_browse', 'access arguments' => array('access user profiles'), 'type' => MENU_SUGGESTED_ITEM, + 'file' => 'profile.pages.inc', ); $items['admin/settings/profile'] = array( 'title' => 'Profiles', @@ -88,6 +89,7 @@ function profile_menu() { 'page callback' => 'drupal_get_form', 'page arguments' => array('profile_admin_overview'), 'access arguments' => array('administer users'), + 'file' => 'profile.pages.inc', ); $items['admin/settings/profile/add'] = array( 'title' => 'Add field', @@ -95,12 +97,14 @@ function profile_menu() { 'page arguments' => array('profile_field_form'), 'access arguments' => array('administer users'), 'type' => MENU_CALLBACK, + 'file' => 'profile.pages.inc', ); $items['admin/settings/profile/autocomplete'] = array( 'title' => 'Profile category autocomplete', 'page callback' => 'profile_admin_settings_autocomplete', 'access arguments' => array('administer users'), 'type' => MENU_CALLBACK, + 'file' => 'profile.pages.inc', ); $items['admin/settings/profile/edit'] = array( 'title' => 'Edit field', @@ -108,6 +112,7 @@ function profile_menu() { 'page arguments' => array('profile_field_form'), 'access arguments' => array('administer users'), 'type' => MENU_CALLBACK, + 'file' => 'profile.pages.inc', ); $items['admin/settings/profile/delete'] = array( 'title' => 'Delete field', @@ -115,12 +120,14 @@ function profile_menu() { 'page arguments' => array('profile_field_delete'), 'access arguments' => array('administer users'), 'type' => MENU_CALLBACK, + 'file' => 'profile.pages.inc', ); $items['profile/autocomplete'] = array( 'title' => 'Profile autocomplete', 'page callback' => 'profile_autocomplete', 'access arguments' => array('access user profiles'), 'type' => MENU_CALLBACK, + 'file' => 'profile.pages.inc', ); return $items; } diff --git modules/search/search.module modules/search/search.module index 2c9348e..ce4ca11 100644 --- modules/search/search.module +++ modules/search/search.module @@ -190,6 +190,7 @@ function search_menu() { 'page callback' => 'search_view', 'access arguments' => array('search content'), 'type' => MENU_SUGGESTED_ITEM, + 'file' => 'search.pages.inc', ); $items['admin/settings/search'] = array( 'title' => 'Search settings', @@ -198,6 +199,7 @@ function search_menu() { 'page arguments' => array('search_admin_settings'), 'access arguments' => array('administer search'), 'type' => MENU_NORMAL_ITEM, + 'file' => 'search.admin.inc', ); $items['admin/settings/search/reindex'] = array( 'title' => 'Clear index', @@ -205,6 +207,7 @@ function search_menu() { 'page arguments' => array('search_reindex_confirm'), 'access arguments' => array('administer search'), 'type' => MENU_CALLBACK, + 'file' => 'search.admin.inc', ); $items['admin/reports/search'] = array( 'title' => 'Top search phrases', @@ -213,6 +216,7 @@ function search_menu() { 'page arguments' => array('search'), 'access arguments' => array('access site reports'), 'file path' => drupal_get_path('module', 'dblog'), + 'file' => 'dblog.admin.inc', ); foreach (module_implements('search') as $module) { @@ -225,6 +229,7 @@ function search_menu() { 'access arguments' => array($module), 'type' => MENU_LOCAL_TASK, 'parent' => 'search', + 'file' => 'search.pages.inc', ); } return $items; diff --git modules/simpletest/drupal_web_test_case.php modules/simpletest/drupal_web_test_case.php index 3202492..793ba55 100644 --- modules/simpletest/drupal_web_test_case.php +++ modules/simpletest/drupal_web_test_case.php @@ -519,7 +519,7 @@ abstract class DrupalTestCase { * * These tests can not access the database nor files. Calling any Drupal * function that needs the database will throw exceptions. These include - * watchdog(), drupal_function_exists(), module_implements(), + * watchdog(), function_exists(), module_implements(), * module_invoke_all() etc. */ class DrupalUnitTestCase extends DrupalTestCase { diff --git modules/simpletest/simpletest.module modules/simpletest/simpletest.module index fb34262..bca9d91 100644 --- modules/simpletest/simpletest.module +++ modules/simpletest/simpletest.module @@ -31,6 +31,7 @@ function simpletest_menu() { 'page arguments' => array('simpletest_test_form'), 'description' => 'Run tests against Drupal core and your active modules. These tests help assure that your site code is working as designed.', 'access arguments' => array('administer unit tests'), + 'file' => 'simpletest.pages.inc', ); $items['admin/config/development/testing/list'] = array( 'title' => 'List', @@ -42,6 +43,7 @@ function simpletest_menu() { 'page arguments' => array('simpletest_settings_form'), 'access arguments' => array('administer unit tests'), 'type' => MENU_LOCAL_TASK, + 'file' => 'simpletest.pages.inc', ); $items['admin/config/development/testing/results/%'] = array( 'title' => 'Test result', @@ -50,6 +52,7 @@ function simpletest_menu() { 'description' => 'View result of tests.', 'access arguments' => array('administer unit tests'), 'type' => MENU_CALLBACK, + 'file' => 'simpletest.pages.inc', ); return $items; } diff --git modules/simpletest/tests/batch.test modules/simpletest/tests/batch.test index 928bbb6..e6d4aa5 100644 --- modules/simpletest/tests/batch.test +++ modules/simpletest/tests/batch.test @@ -70,7 +70,7 @@ class BatchAPIPercentagesTestCase extends DrupalWebTestCase { */ function testBatchAPIPercentages() { // Include batch.inc if it's not already included. - drupal_function_exists('_batch_api_percentage'); + function_exists('_batch_api_percentage'); foreach ($this->testCases as $expected_result => $arguments) { // PHP sometimes casts numeric strings that are array keys to integers, // cast them back here. @@ -86,4 +86,4 @@ class BatchAPIPercentagesTestCase extends DrupalWebTestCase { } } } -} \ No newline at end of file +} diff --git modules/simpletest/tests/image.test modules/simpletest/tests/image.test index 895b0dd..196f547 100644 --- modules/simpletest/tests/image.test +++ modules/simpletest/tests/image.test @@ -255,7 +255,7 @@ class ImageToolkitGdTestCase extends DrupalWebTestCase { */ function testManipulations() { // If GD isn't available don't bother testing this. - if (!drupal_function_exists('image_gd_check_settings') || !image_gd_check_settings()) { + if (!function_exists('image_gd_check_settings') || !image_gd_check_settings()) { $this->pass(t('Image manipulations for the GD toolkit were skipped because the GD toolkit is not available.')); return; } @@ -325,7 +325,7 @@ class ImageToolkitGdTestCase extends DrupalWebTestCase { ); // Systems using non-bundled GD2 don't have imagerotate. Test if available. - if (drupal_function_exists('imagerotate')) { + if (function_exists('imagerotate')) { $operations += array( 'rotate_5' => array( 'function' => 'rotate', @@ -359,7 +359,7 @@ class ImageToolkitGdTestCase extends DrupalWebTestCase { } // Systems using non-bundled GD2 don't have imagefilter. Test if available. - if (drupal_function_exists('imagefilter')) { + if (function_exists('imagefilter')) { $operations += array( 'desaturate' => array( 'function' => 'desaturate', diff --git modules/simpletest/tests/xmlrpc.test modules/simpletest/tests/xmlrpc.test index 82910c8..3530719 100644 --- modules/simpletest/tests/xmlrpc.test +++ modules/simpletest/tests/xmlrpc.test @@ -14,7 +14,7 @@ class XMLRPCValidator1IncTestCase extends DrupalWebTestCase { parent::setUp('xmlrpc_test'); // Force loading the xmlrpc.inc to have the xmlrpc() function. - drupal_function_exists('xmlrpc'); + function_exists('xmlrpc'); } /** @@ -137,7 +137,7 @@ class XMLRPCMessagesTestCase extends DrupalWebTestCase { parent::setUp('xmlrpc_test'); // Force loading the xmlrpc.inc to have the xmlrpc() function. - drupal_function_exists('xmlrpc'); + function_exists('xmlrpc'); } /** diff --git modules/statistics/statistics.module modules/statistics/statistics.module index 7f9fea7..15c112d 100644 --- modules/statistics/statistics.module +++ modules/statistics/statistics.module @@ -130,6 +130,7 @@ function statistics_menu() { 'description' => 'View pages that have recently been visited.', 'page callback' => 'statistics_recent_hits', 'access arguments' => array('access statistics'), + 'file' => 'statistics.admin.inc', ); $items['admin/reports/pages'] = array( 'title' => 'Top pages', @@ -137,6 +138,7 @@ function statistics_menu() { 'page callback' => 'statistics_top_pages', 'access arguments' => array('access statistics'), 'weight' => 1, + 'file' => 'statistics.admin.inc', ); $items['admin/reports/visitors'] = array( 'title' => 'Top visitors', @@ -144,12 +146,14 @@ function statistics_menu() { 'page callback' => 'statistics_top_visitors', 'access arguments' => array('access statistics'), 'weight' => 2, + 'file' => 'statistics.admin.inc', ); $items['admin/reports/referrers'] = array( 'title' => 'Top referrers', 'description' => 'View top referrers.', 'page callback' => 'statistics_top_referrers', 'access arguments' => array('access statistics'), + 'file' => 'statistics.admin.inc', ); $items['admin/reports/access/%'] = array( 'title' => 'Details', @@ -158,6 +162,7 @@ function statistics_menu() { 'page arguments' => array(3), 'access arguments' => array('access statistics'), 'type' => MENU_CALLBACK, + 'file' => 'statistics.admin.inc', ); $items['admin/settings/statistics'] = array( 'title' => 'Statistics', @@ -165,6 +170,7 @@ function statistics_menu() { 'page callback' => 'drupal_get_form', 'page arguments' => array('statistics_settings_form'), 'access arguments' => array('administer statistics'), + 'file' => 'statistics.admin.inc', ); $items['user/%user/track/navigation'] = array( 'title' => 'Track page visits', @@ -173,6 +179,7 @@ function statistics_menu() { 'access arguments' => array('access statistics'), 'type' => MENU_LOCAL_TASK, 'weight' => 2, + 'file' => 'statistics.pages.inc', ); $items['node/%node/track'] = array( 'title' => 'Track', @@ -181,6 +188,7 @@ function statistics_menu() { 'access arguments' => array('access statistics'), 'type' => MENU_LOCAL_TASK, 'weight' => 2, + 'file' => 'statistics.pages.inc', ); return $items; diff --git modules/system/image.gd.inc modules/system/image.gd.inc index 556737d..481a588 100644 --- modules/system/image.gd.inc +++ modules/system/image.gd.inc @@ -118,7 +118,7 @@ function image_gd_resize(stdClass $image, $width, $height) { */ function image_gd_rotate(stdClass $image, $degrees, $background = NULL) { // PHP installations using non-bundled GD do not have imagerotate. - if (!drupal_function_exists('imagerotate')) { + if (!function_exists('imagerotate')) { watchdog('image', 'The image %file could not be rotated because the imagerotate() function is not available in this PHP installation.', array('%file' => $image->source)); return FALSE; } @@ -215,7 +215,7 @@ function image_gd_crop(stdClass $image, $x, $y, $width, $height) { */ function image_gd_desaturate(stdClass $image) { // PHP installations using non-bundled GD do not have imagefilter. - if (!drupal_function_exists('imagefilter')) { + if (!function_exists('imagefilter')) { watchdog('image', 'The image %file could not be desaturated because the imagefilter() function is not available in this PHP installation.', array('%file' => $image->source)); return FALSE; } diff --git modules/system/system.admin.inc modules/system/system.admin.inc index 3db3e66..c3ed3d9 100644 --- modules/system/system.admin.inc +++ modules/system/system.admin.inc @@ -1517,7 +1517,7 @@ function system_image_toolkit_settings() { // Get the toolkit's settings form. $function = 'image_' . $current_toolkit . '_settings'; - if (drupal_function_exists($function)) { + if (function_exists($function)) { $form['image_toolkit_settings'] = $function(); } diff --git modules/system/system.install modules/system/system.install index 016a6e1..9901d02 100644 --- modules/system/system.install +++ modules/system/system.install @@ -936,6 +936,11 @@ function system_schema() { 'not null' => TRUE, 'default' => 0, ), + 'file' => array( + 'description' => 'The file to include for this element, usually the page callback function lives in this file.', + 'type' => 'text', + 'size' => 'medium' + ), ), 'indexes' => array( 'fit' => array('fit'), @@ -1220,13 +1225,6 @@ function system_schema() { 'not null' => TRUE, 'default' => '' ), - 'suffix' => array( - 'description' => "The part of the function name after the module, which is the hook this function implements, if any.", - 'type' => 'varchar', - 'length' => 68, - 'not null' => TRUE, - 'default' => '' - ), 'weight' => array( 'description' => "The order in which this module's hooks should be invoked relative to other modules. Equal-weighted modules are ordered by name.", 'type' => 'int', @@ -1236,7 +1234,7 @@ function system_schema() { ), 'primary key' => array('name', 'type'), 'indexes' => array( - 'hook' => array('type', 'suffix', 'weight', 'module'), + 'hook' => array('type', 'weight', 'module'), ), ); @@ -1694,19 +1692,17 @@ function system_update_7005() { */ function system_update_7006() { $ret = array(); - db_drop_field($ret, 'menu_router', 'file'); $schema['registry'] = array( 'fields' => array( 'name' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''), 'type' => array('type' => 'varchar', 'length' => 9, 'not null' => TRUE, 'default' => ''), 'filename' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''), 'module' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''), - 'suffix' => array('type' => 'varchar', 'length' => 68, 'not null' => TRUE, 'default' => ''), 'weight' => array('type' => 'int', 'not null' => TRUE, 'default' => 0), ), 'primary key' => array('name', 'type'), 'indexes' => array( - 'hook' => array('type', 'suffix', 'weight', 'module'), + 'hook' => array('type', 'weight', 'module'), ), ); $schema['registry_file'] = array( diff --git modules/system/system.module modules/system/system.module index 4ed15c7..6547c59 100644 --- modules/system/system.module +++ modules/system/system.module @@ -483,12 +483,16 @@ function system_menu() { 'page arguments' => array('temporary'), 'access callback' => TRUE, 'type' => MENU_CALLBACK, + 'file path' => 'includes', + 'file' => 'file.inc', ); $items['system/ajax'] = array( 'title' => 'AHAH callback', 'page callback' => 'ajax_form_callback', 'access callback' => TRUE, 'type' => MENU_CALLBACK, + 'file path' => 'includes', + 'file' => 'form.inc', ); $items['system/timezone'] = array( 'title' => 'Time zone', @@ -502,6 +506,7 @@ function system_menu() { 'page callback' => 'system_main_admin_page', 'weight' => 9, 'menu_name' => 'management', + 'file' => 'system.admin.inc', ); $items['admin/compact'] = array( 'title' => 'Compact mode', @@ -514,6 +519,7 @@ function system_menu() { 'page callback' => 'system_main_admin_page', 'access arguments' => array('access administration pages'), 'type' => MENU_DEFAULT_LOCAL_TASK, + 'file' => 'system.admin.inc', ); $items['admin/by-module'] = array( 'title' => 'By module', @@ -521,6 +527,7 @@ function system_menu() { 'access arguments' => array('access administration pages'), 'type' => MENU_LOCAL_TASK, 'weight' => 2, + 'file' => 'system.admin.inc', ); // Menu items that are basically just menu blocks. @@ -532,6 +539,7 @@ function system_menu() { 'page callback' => 'system_settings_overview', 'access callback' => 'system_admin_menu_block_access', 'access arguments' => array('admin/settings', 'access administration pages'), + 'file' => 'system.admin.inc', ); $items['admin/structure'] = array( 'title' => 'Structure', @@ -541,6 +549,7 @@ function system_menu() { 'page callback' => 'system_admin_menu_block_page', 'access callback' => 'system_admin_menu_block_access', 'access arguments' => array('admin/structure', 'access administration pages'), + 'file' => 'system.admin.inc', ); // Appearance. $items['admin/appearance'] = array( @@ -549,6 +558,7 @@ function system_menu() { 'page arguments' => array('system_themes_form'), 'access arguments' => array('administer site configuration'), 'weight' => -6, + 'file' => 'system.admin.inc', ); $items['admin/appearance/select'] = array( 'title' => 'List', @@ -561,6 +571,7 @@ function system_menu() { 'page arguments' => array('system_theme_settings'), 'access arguments' => array('administer site configuration'), 'type' => MENU_LOCAL_TASK, + 'file' => 'system.admin.inc', ); // Theme configuration subtabs. $items['admin/appearance/settings/global'] = array( @@ -576,6 +587,7 @@ function system_menu() { 'type' => MENU_LOCAL_TASK, 'access callback' => '_system_themes_access', 'access arguments' => array($theme), + 'file' => 'system.admin.inc', ); } @@ -584,6 +596,7 @@ function system_menu() { 'title' => 'Configuration and modules', 'page callback' => 'system_admin_config_page', 'access arguments' => array('access administration pages'), + 'file' => 'system.admin.inc', ); $items['admin/config/config'] = array( 'title' => 'Configuration', @@ -597,6 +610,7 @@ function system_menu() { 'page callback' => 'drupal_get_form', 'page arguments' => array('system_modules'), 'access arguments' => array('administer site configuration'), + 'file' => 'system.admin.inc', 'type' => MENU_LOCAL_TASK, 'weight' => 10, ); @@ -614,6 +628,7 @@ function system_menu() { 'page arguments' => array('system_modules_uninstall'), 'access arguments' => array('administer site configuration'), 'type' => MENU_LOCAL_TASK, + 'file' => 'system.admin.inc', ); $items['admin/config/modules/uninstall/confirm'] = array( 'title' => 'Uninstall', @@ -621,6 +636,18 @@ function system_menu() { 'type' => MENU_CALLBACK, ); + // Development menu category. + $items['admin/development'] = array( + 'title' => 'Development', + 'description' => 'Development tools.', + 'position' => 'right', + 'weight' => -7, + 'page callback' => 'system_admin_menu_block_page', + 'access callback' => 'system_admin_menu_block_access', + 'access arguments' => array('admin/development', 'access administration pages'), + 'file' => 'system.admin.inc', + ); + // Actions. $items['admin/settings/actions'] = array( 'title' => 'Actions', @@ -663,6 +690,7 @@ function system_menu() { 'description' => 'Manage blocked IP addresses.', 'page callback' => 'system_ip_blocking', 'access arguments' => array('block IP addresses'), + 'file' => 'system.admin.inc', ); $items['admin/settings/ip-blocking/%'] = array( 'title' => 'IP address blocking', @@ -670,6 +698,7 @@ function system_menu() { 'page callback' => 'system_ip_blocking', 'access arguments' => array('block IP addresses'), 'type' => MENU_CALLBACK, + 'file' => 'system.admin.inc', ); $items['admin/settings/ip-blocking/delete/%blocked_ip'] = array( 'title' => 'Delete IP address', @@ -677,17 +706,19 @@ function system_menu() { 'page arguments' => array('system_ip_blocking_delete', 4), 'access arguments' => array('block IP addresses'), 'type' => MENU_CALLBACK, + 'file' => 'system.admin.inc', ); // Configuration. $items['admin/config/development'] = array( - 'title' => 'Development', - 'description' => 'Development tools.', - 'position' => 'left', - 'weight' => 10, - 'page callback' => 'system_admin_menu_block_page', - 'access callback' => 'system_admin_menu_block_access', - 'access arguments' => array('admin/config/development', 'access administration pages'), + 'title' => 'Development', + 'description' => 'Development tools.', + 'position' => 'left', + 'weight' => 10, + 'page callback' => 'system_admin_menu_block_page', + 'access callback' => 'system_admin_menu_block_access', + 'access arguments' => array('admin/config/development', 'access administration pages'), + 'file' => 'system.admin.inc', ); $items['admin/config/development/maintenance'] = array( 'title' => 'Maintenance mode', @@ -695,6 +726,7 @@ function system_menu() { 'page callback' => 'drupal_get_form', 'page arguments' => array('system_site_maintenance_mode'), 'access arguments' => array('administer site configuration'), + 'file' => 'system.admin.inc', ); $items['admin/config/development/performance'] = array( 'title' => 'Performance', @@ -718,6 +750,7 @@ function system_menu() { 'page callback' => 'drupal_get_form', 'page arguments' => array('system_performance_settings'), 'access arguments' => array('administer site configuration'), + 'file' => 'system.admin.inc', ); $items['admin/config/media/image-toolkit'] = array( 'title' => 'Image toolkit', @@ -725,6 +758,15 @@ function system_menu() { 'page callback' => 'drupal_get_form', 'page arguments' => array('system_image_toolkit_settings'), 'access arguments' => array('administer site configuration'), + 'file' => 'system.admin.inc', + ); + $items['admin/settings/performance'] = array( + 'title' => 'Performance', + 'description' => 'Enable or disable page caching for anonymous users and set CSS and JS bandwidth optimization options.', + 'page callback' => 'drupal_get_form', + 'page arguments' => array('system_performance_settings'), + 'access arguments' => array('administer site configuration'), + 'file' => 'system.admin.inc', ); $items['admin/config/development/logging'] = array( 'title' => 'Logging and errors', @@ -732,6 +774,7 @@ function system_menu() { 'page callback' => 'drupal_get_form', 'page arguments' => array('system_logging_settings'), 'access arguments' => array('administer site configuration'), + 'file' => 'system.admin.inc', ); // Settings. @@ -741,6 +784,7 @@ function system_menu() { 'page callback' => 'drupal_get_form', 'page arguments' => array('system_site_information_settings'), 'access arguments' => array('administer site configuration'), + 'file' => 'system.admin.inc', ); $items['admin/settings/rss-publishing'] = array( 'title' => 'RSS publishing', @@ -748,6 +792,7 @@ function system_menu() { 'page callback' => 'drupal_get_form', 'page arguments' => array('system_rss_feeds_settings'), 'access arguments' => array('administer site configuration'), + 'file' => 'system.admin.inc', ); $items['admin/settings/regional-settings'] = array( 'title' => 'Regional settings', @@ -761,6 +806,7 @@ function system_menu() { 'type' => MENU_CALLBACK, 'page callback' => 'system_date_time_lookup', 'access arguments' => array('administer site configuration'), + 'file' => 'system.admin.inc', ); $items['admin/settings/clean-urls'] = array( 'title' => 'Clean URLs', @@ -768,6 +814,7 @@ function system_menu() { 'page callback' => 'drupal_get_form', 'page arguments' => array('system_clean_url_settings'), 'access arguments' => array('administer site configuration'), + 'file' => 'system.admin.inc', ); $items['admin/settings/clean-urls/check'] = array( 'title' => 'Clean URL check', @@ -775,6 +822,7 @@ function system_menu() { 'page arguments' => array(array('status' => TRUE)), 'access callback' => TRUE, 'type' => MENU_CALLBACK, + 'file' => 'system.admin.inc', ); // Reports. @@ -786,6 +834,7 @@ function system_menu() { 'access arguments' => array('admin/reports', 'access site reports'), 'weight' => 5, 'position' => 'left', + 'file' => 'system.admin.inc', ); $items['admin/reports/status'] = array( 'title' => 'Status report', @@ -793,24 +842,28 @@ function system_menu() { 'page callback' => 'system_status', 'weight' => 10, 'access arguments' => array('administer site configuration'), + 'file' => 'system.admin.inc', ); $items['admin/reports/status/run-cron'] = array( 'title' => 'Run cron', 'page callback' => 'system_run_cron', 'access arguments' => array('administer site configuration'), 'type' => MENU_CALLBACK, + 'file' => 'system.admin.inc', ); $items['admin/reports/status/php'] = array( 'title' => 'PHP', 'page callback' => 'system_php', 'access arguments' => array('administer site configuration'), 'type' => MENU_CALLBACK, + 'file' => 'system.admin.inc', ); // Default page for batch operations. $items['batch'] = array( 'page callback' => 'system_batch_page', 'access callback' => TRUE, 'type' => MENU_CALLBACK, + 'file' => 'system.admin.inc', ); return $items; } @@ -2546,7 +2599,7 @@ function system_actions_configure($form_state, $action = NULL) { function system_actions_configure_validate($form, $form_state) { $function = actions_function_lookup($form_state['values']['actions_action']) . '_validate'; // Hand off validation to the action. - if (drupal_function_exists($function)) { + if (function_exists($function)) { $function($form, $form_state); } } @@ -2902,7 +2955,7 @@ function system_image_toolkits() { return array( 'gd' => array( 'title' => t('GD2 image manipulation toolkit'), - 'available' => drupal_function_exists('image_gd_check_settings') && image_gd_check_settings(), + 'available' => function_exists('image_gd_check_settings') && image_gd_check_settings(), ), ); } diff --git modules/taxonomy/taxonomy.module modules/taxonomy/taxonomy.module index 760ce0b..2beee37 100644 --- modules/taxonomy/taxonomy.module +++ modules/taxonomy/taxonomy.module @@ -196,6 +196,7 @@ function taxonomy_menu() { 'page callback' => 'drupal_get_form', 'page arguments' => array('taxonomy_overview_vocabularies'), 'access arguments' => array('administer taxonomy'), + 'file' => 'taxonomy.admin.inc', ); $items['admin/structure/taxonomy/list'] = array( @@ -210,6 +211,7 @@ function taxonomy_menu() { 'page arguments' => array('taxonomy_form_vocabulary'), 'access arguments' => array('administer taxonomy'), 'type' => MENU_LOCAL_TASK, + 'file' => 'taxonomy.admin.inc', ); $items['taxonomy/term/%taxonomy_term'] = array( @@ -220,6 +222,7 @@ function taxonomy_menu() { 'page arguments' => array(2), 'access arguments' => array('access content'), 'type' => MENU_CALLBACK, + 'file' => 'taxonomy.pages.inc', ); $items['taxonomy/term/%taxonomy_term/view'] = array( @@ -234,6 +237,7 @@ function taxonomy_menu() { 'access arguments' => array('administer taxonomy'), 'type' => MENU_LOCAL_TASK, 'weight' => 10, + 'file' => 'taxonomy.pages.inc', ); $items['taxonomy/term/%taxonomy_term/feed'] = array( 'title' => 'Taxonomy term', @@ -243,12 +247,14 @@ function taxonomy_menu() { 'page arguments' => array(2), 'access arguments' => array('access content'), 'type' => MENU_CALLBACK, + 'file' => 'taxonomy.feeds.inc', ); $items['taxonomy/autocomplete'] = array( 'title' => 'Autocomplete taxonomy', 'page callback' => 'taxonomy_autocomplete', 'access arguments' => array('access content'), 'type' => MENU_CALLBACK, + 'file' => 'taxonomy.pages.inc', ); // TODO: remove with taxonomy_term_node_* $items['taxonomy/autocomplete/legacy'] = array( @@ -266,6 +272,7 @@ function taxonomy_menu() { 'title arguments' => array(3), 'access arguments' => array('administer taxonomy'), 'type' => MENU_CALLBACK, + 'file' => 'taxonomy.admin.inc', ); $items['admin/structure/taxonomy/%taxonomy_vocabulary/edit'] = array( @@ -281,6 +288,7 @@ function taxonomy_menu() { 'access arguments' => array('administer taxonomy'), 'type' => MENU_LOCAL_TASK, 'weight' => -10, + 'file' => 'taxonomy.admin.inc', ); $items['admin/structure/taxonomy/%taxonomy_vocabulary/add'] = array( @@ -289,6 +297,7 @@ function taxonomy_menu() { 'page arguments' => array('taxonomy_form_term', 3), 'access arguments' => array('administer taxonomy'), 'type' => MENU_LOCAL_TASK, + 'file' => 'taxonomy.admin.inc', ); return $items; diff --git modules/tracker/tracker.module modules/tracker/tracker.module index 071476c..4f0a44d 100644 --- modules/tracker/tracker.module +++ modules/tracker/tracker.module @@ -28,6 +28,7 @@ function tracker_menu() { 'page callback' => 'tracker_page', 'access arguments' => array('access content'), 'weight' => 1, + 'file' => 'tracker.pages.inc', ); $items['tracker/all'] = array( 'title' => 'All recent posts', @@ -48,6 +49,7 @@ function tracker_menu() { 'access callback' => '_tracker_user_access', 'access arguments' => array(1), 'type' => MENU_LOCAL_TASK, + 'file' => 'tracker.pages.inc', ); $items['user/%user/track/posts'] = array( 'title' => 'Track posts', diff --git modules/translation/translation.module modules/translation/translation.module index 2596b88..3a4bc0a 100644 --- modules/translation/translation.module +++ modules/translation/translation.module @@ -63,6 +63,7 @@ function translation_menu() { 'access arguments' => array(1), 'type' => MENU_LOCAL_TASK, 'weight' => 2, + 'file' => 'translation.pages.inc', ); return $items; } diff --git modules/trigger/trigger.module modules/trigger/trigger.module index 0b3820c..eb0750d 100644 --- modules/trigger/trigger.module +++ modules/trigger/trigger.module @@ -41,6 +41,7 @@ function trigger_menu() { 'page callback' => 'trigger_assign', 'access callback' => 'trigger_access_check', 'access arguments' => array('node'), + 'file' => 'trigger.admin.inc', ); // We don't use a menu wildcard here because these are tabs, // not invisible items. @@ -51,6 +52,7 @@ function trigger_menu() { 'access callback' => 'trigger_access_check', 'access arguments' => array('node'), 'type' => MENU_LOCAL_TASK, + 'file' => 'trigger.admin.inc', ); $items['admin/structure/trigger/user'] = array( 'title' => 'Users', @@ -59,6 +61,7 @@ function trigger_menu() { 'access callback' => 'trigger_access_check', 'access arguments' => array('user'), 'type' => MENU_LOCAL_TASK, + 'file' => 'trigger.admin.inc', ); $items['admin/structure/trigger/comment'] = array( 'title' => 'Comments', @@ -67,6 +70,7 @@ function trigger_menu() { 'access callback' => 'trigger_access_check', 'access arguments' => array('comment'), 'type' => MENU_LOCAL_TASK, + 'file' => 'trigger.admin.inc', ); $items['admin/structure/trigger/taxonomy'] = array( 'title' => 'Taxonomy', @@ -75,6 +79,7 @@ function trigger_menu() { 'access callback' => 'trigger_access_check', 'access arguments' => array('taxonomy'), 'type' => MENU_LOCAL_TASK, + 'file' => 'trigger.admin.inc', ); $items['admin/structure/trigger/cron'] = array( 'title' => 'Cron', @@ -82,6 +87,7 @@ function trigger_menu() { 'page arguments' => array('cron'), 'access arguments' => array('administer actions'), 'type' => MENU_LOCAL_TASK, + 'file' => 'trigger.admin.inc', ); // We want contributed modules to be able to describe @@ -104,6 +110,7 @@ function trigger_menu() { 'page arguments' => array($module), 'access arguments' => array($module), 'type' => MENU_LOCAL_TASK, + 'file' => 'trigger.admin.inc', ); } $items['admin/structure/trigger/unassign'] = array( @@ -113,6 +120,7 @@ function trigger_menu() { 'page arguments' => array('trigger_unassign'), 'access arguments' => array('administer actions'), 'type' => MENU_CALLBACK, + 'file' => 'trigger.admin.inc', ); return $items; diff --git modules/update/update.module modules/update/update.module index dc3b1da..5db6dbd 100644 --- modules/update/update.module +++ modules/update/update.module @@ -132,6 +132,7 @@ function update_menu() { 'page callback' => 'update_status', 'access arguments' => array('administer site configuration'), 'weight' => 10, + 'file' => 'update.report.inc', ); $items['admin/settings/updates'] = array( 'title' => 'Updates', @@ -139,12 +140,14 @@ function update_menu() { 'page callback' => 'drupal_get_form', 'page arguments' => array('update_settings'), 'access arguments' => array('administer site configuration'), + 'file' => 'update.settings.inc', ); $items['admin/reports/updates/check'] = array( 'title' => 'Manual update check', 'page callback' => 'update_manual_status', 'access arguments' => array('administer site configuration'), 'type' => MENU_CALLBACK, + 'file' => 'update.fetch.inc', ); return $items; diff --git modules/upload/upload.module modules/upload/upload.module index ac018ee..8fc269c 100644 --- modules/upload/upload.module +++ modules/upload/upload.module @@ -99,6 +99,7 @@ function upload_menu() { 'page arguments' => array('upload_admin_settings'), 'access arguments' => array('administer site configuration'), 'type' => MENU_NORMAL_ITEM, + 'file' => 'upload.admin.inc', ); return $items; } diff --git modules/user/user.admin.inc modules/user/user.admin.inc index edd54bf..9aa7510 100644 --- modules/user/user.admin.inc +++ modules/user/user.admin.inc @@ -966,7 +966,7 @@ function user_modules_installed($modules) { function user_modules_uninstalled($modules) { $permissions = array(); foreach ($modules as $module) { - if (drupal_function_exists($module . '_permission')) { + if (function_exists($module . '_permission')) { $permissions = array_merge($permissions, array_keys(module_invoke($module, 'permission'))); } } diff --git modules/user/user.module modules/user/user.module index 20b66bc..d012cac 100644 --- modules/user/user.module +++ modules/user/user.module @@ -1298,6 +1298,7 @@ function user_menu() { 'access callback' => 'user_access', 'access arguments' => array('access user profiles'), 'type' => MENU_CALLBACK, + 'file' => 'user.pages.inc', ); // Registration and login pages. @@ -1306,6 +1307,7 @@ function user_menu() { 'page callback' => 'user_page', 'access callback' => TRUE, 'type' => MENU_CALLBACK, + 'file' => 'user.pages.inc', ); $items['user/login'] = array( @@ -1328,6 +1330,7 @@ function user_menu() { 'page arguments' => array('user_pass'), 'access callback' => 'user_is_anonymous', 'type' => MENU_LOCAL_TASK, + 'file' => 'user.pages.inc', ); $items['user/reset/%/%/%'] = array( 'title' => 'Reset password', @@ -1335,6 +1338,7 @@ function user_menu() { 'page arguments' => array('user_pass_reset', 2, 3, 4), 'access callback' => TRUE, 'type' => MENU_CALLBACK, + 'file' => 'user.pages.inc', ); $items['user/logout'] = array( @@ -1343,6 +1347,7 @@ function user_menu() { 'page callback' => 'user_logout', 'weight' => 10, 'menu_name' => 'user-menu', + 'file' => 'user.pages.inc', ); // User administration pages. @@ -1352,6 +1357,7 @@ function user_menu() { 'page arguments' => array('list'), 'access arguments' => array('administer users'), 'weight' => -4, + 'file' => 'user.admin.inc', ); $items['admin/people/list'] = array( 'title' => 'List', @@ -1370,6 +1376,7 @@ function user_menu() { 'page callback' => 'drupal_get_form', 'page arguments' => array('user_admin_settings'), 'access arguments' => array('administer users'), + 'file' => 'user.admin.inc', ); $items['admin/settings/user/settings'] = array( 'title' => 'Settings', @@ -1384,6 +1391,7 @@ function user_menu() { 'page callback' => 'drupal_get_form', 'page arguments' => array('user_admin_permissions'), 'access arguments' => array('administer permissions'), + 'file' => 'user.admin.inc', ); $items['admin/settings/roles'] = array( 'title' => 'Roles', @@ -1391,12 +1399,14 @@ function user_menu() { 'page callback' => 'drupal_get_form', 'page arguments' => array('user_admin_new_role'), 'access arguments' => array('administer permissions'), + 'file' => 'user.admin.inc', ); $items['admin/settings/roles/edit'] = array( 'title' => 'Edit role', 'page arguments' => array('user_admin_role'), 'access arguments' => array('administer permissions'), 'type' => MENU_CALLBACK, + 'file' => 'user.pages.inc', ); $items['user/%user_uid_optional'] = array( @@ -1409,6 +1419,7 @@ function user_menu() { 'access arguments' => array(1), 'weight' => -10, 'menu_name' => 'user-menu', + 'file' => 'user.pages.inc', ); $items['user/%user/view'] = array( @@ -1424,6 +1435,7 @@ function user_menu() { 'access callback' => 'user_cancel_access', 'access arguments' => array(1), 'type' => MENU_CALLBACK, + 'file' => 'user.pages.inc', ); $items['user/%user/cancel/confirm/%/%'] = array( @@ -1433,6 +1445,7 @@ function user_menu() { 'access callback' => 'user_cancel_access', 'access arguments' => array(1), 'type' => MENU_CALLBACK, + 'file' => 'user.pages.inc', ); $items['user/%user/edit'] = array( @@ -1442,6 +1455,7 @@ function user_menu() { 'access callback' => 'user_edit_access', 'access arguments' => array(1), 'type' => MENU_LOCAL_TASK, + 'file' => 'user.pages.inc', ); $items['user/%user_category/edit/account'] = array( @@ -1465,6 +1479,7 @@ function user_menu() { 'weight' => $category['weight'], 'load arguments' => array('%map', '%index'), 'tab_parent' => 'user/%/edit', + 'file' => 'user.pages.inc', ); } }