- Patch #221964 by chx, dopry, webernet, moshe, webchick, justinrandall, flobruit
et al. Can you say 'registry'? Drupal now maintains an internal registry of all functions or classes in the system, allowing it to lazy-load code files as needed (reducing the amount of code that must be parsed on each request). The list of included files is cached per menu callback for subsequent loading by the menu router. This way, a given page request will have all the code it needs but little else, minimizing time spent parsing unneeded code.merge-requests/26/head
parent
c100468cf2
commit
2e18cb8924
|
@ -949,6 +949,9 @@ function _drupal_bootstrap($phase) {
|
|||
// Initialize the default database.
|
||||
require_once './includes/database.inc';
|
||||
db_set_active();
|
||||
// Register autoload functions so that we can access classes and interfaces.
|
||||
spl_autoload_register('drupal_autoload_class');
|
||||
spl_autoload_register('drupal_autoload_interface');
|
||||
break;
|
||||
|
||||
case DRUPAL_BOOTSTRAP_ACCESS:
|
||||
|
@ -1134,3 +1137,182 @@ function ip_address() {
|
|||
|
||||
return $ip_address;
|
||||
}
|
||||
|
||||
/**
|
||||
* @ingroup registry
|
||||
* @{
|
||||
*/
|
||||
|
||||
/**
|
||||
* 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();
|
||||
|
||||
if (defined('MAINTENANCE_MODE')) {
|
||||
return function_exists($function);
|
||||
}
|
||||
|
||||
if (isset($checked[$function])) {
|
||||
return $checked[$function];
|
||||
}
|
||||
$checked[$function] = FALSE;
|
||||
|
||||
if (function_exists($function)) {
|
||||
registry_mark_code('function', $function);
|
||||
$checked[$function] = TRUE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
$file = db_result(db_query("SELECT filename FROM {registry} WHERE name = '%s' AND type = '%s'", $function, 'function'));
|
||||
if ($file) {
|
||||
require_once($file);
|
||||
$checked[$function] = function_exists($function);
|
||||
if ($checked[$function]) {
|
||||
registry_mark_code('function', $function);
|
||||
}
|
||||
}
|
||||
|
||||
return $checked[$function];
|
||||
}
|
||||
|
||||
/**
|
||||
* Confirm that an interface is available.
|
||||
*
|
||||
* This function parallels drupal_function_exists(), but is rarely
|
||||
* called directly. Instead, it is registered as an spl_autoload()
|
||||
* handler, and PHP calls it for us when necessary.
|
||||
*
|
||||
* @param $interface
|
||||
* The name of the interface to check or load.
|
||||
* @return
|
||||
* TRUE if the interface is currently available, FALSE otherwise.
|
||||
*/
|
||||
function drupal_autoload_interface($interface) {
|
||||
return _registry_check_code('interface', $interface);
|
||||
}
|
||||
|
||||
/**
|
||||
* Confirm that a class is available.
|
||||
*
|
||||
* This function parallels drupal_function_exists(), but is rarely
|
||||
* called directly. Instead, it is registered as an spl_autoload()
|
||||
* handler, and PHP calls it for us when necessary.
|
||||
*
|
||||
* @param $class
|
||||
* The name of the class to check or load.
|
||||
* @return
|
||||
* TRUE if the class is currently available, FALSE otherwise.
|
||||
*/
|
||||
function drupal_autoload_class($class) {
|
||||
return _registry_check_code('class', $class);
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper for registry_check_{interface, class}.
|
||||
*/
|
||||
function _registry_check_code($type, $name) {
|
||||
$file = db_result(db_query("SELECT filename FROM {registry} WHERE name = '%s' AND type = '%s'", $name, $type));
|
||||
if ($file) {
|
||||
require_once($file);
|
||||
registry_mark_code($type, $name);
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Collect the resources used for this request.
|
||||
*
|
||||
* @param $type
|
||||
* The type of resource.
|
||||
* @param $name
|
||||
* The name of the resource.
|
||||
* @param $return
|
||||
* Boolean flag to indicate whether to return the resources.
|
||||
*/
|
||||
function registry_mark_code($type, $name, $return = FALSE) {
|
||||
static $resources = array();
|
||||
|
||||
if ($type && $name) {
|
||||
if (!isset($resources[$type])) {
|
||||
$resources[$type] = array();
|
||||
}
|
||||
if (!in_array($name, $resources[$type])) {
|
||||
$resources[$type][] = $name;
|
||||
}
|
||||
}
|
||||
|
||||
if ($return) {
|
||||
return $resources;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Rescan all enabled modules and rebuild the registry.
|
||||
*
|
||||
* Rescans all code in modules or includes directory, storing a mapping of
|
||||
* each function, file, and hook implementation in the database.
|
||||
*/
|
||||
function drupal_rebuild_code_registry() {
|
||||
require_once './includes/registry.inc';
|
||||
_drupal_rebuild_code_registry();
|
||||
}
|
||||
|
||||
/**
|
||||
* Save hook implementations cache.
|
||||
*
|
||||
* @param $hook
|
||||
* Array with the hook name and list of modules that implement it.
|
||||
* @param $write_to_persistent_cache
|
||||
* Whether to write to the persistent cache.
|
||||
*/
|
||||
function registry_cache_hook_implementations($hook, $write_to_persistent_cache = FALSE) {
|
||||
static $implementations;
|
||||
|
||||
if ($hook) {
|
||||
// Newer is always better, so overwrite anything that's come before.
|
||||
$implementations[$hook['hook']] = $hook['modules'];
|
||||
}
|
||||
|
||||
if ($write_to_persistent_cache === TRUE) {
|
||||
cache_set('hooks', $implementations, 'cache_registry');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Save the files required by the registry for this path.
|
||||
*/
|
||||
function registry_cache_path_files() {
|
||||
if ($used_code = registry_mark_code(NULL, NULL, TRUE)) {
|
||||
$files = array();
|
||||
$type_sql = array();
|
||||
$params = array();
|
||||
foreach ($used_code as $type => $names) {
|
||||
$type_sql[] = "(name IN (" . db_placeholders($names, 'varchar') . ") AND type = '%s')";
|
||||
$params = array_merge($params, $names);
|
||||
$params[] = $type;
|
||||
}
|
||||
$res = db_query("SELECT DISTINCT filename FROM {registry} WHERE " . implode(' OR ', $type_sql), $params);
|
||||
while ($row = db_fetch_object($res)) {
|
||||
$files[] = $row->filename;
|
||||
}
|
||||
if ($files) {
|
||||
$menu = menu_get_item();
|
||||
cache_set('registry:' . $menu['path'], implode(';', $files), 'cache_registry');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @} End of "ingroup registry".
|
||||
*/
|
||||
|
|
|
@ -1460,11 +1460,15 @@ function l($text, $path, $options = array()) {
|
|||
* react to the closing of the page by calling hook_exit().
|
||||
*/
|
||||
function drupal_page_footer() {
|
||||
|
||||
if (variable_get('cache', CACHE_DISABLED) != CACHE_DISABLED) {
|
||||
page_set_cache();
|
||||
}
|
||||
|
||||
module_invoke_all('exit');
|
||||
|
||||
registry_cache_hook_implementations(FALSE, TRUE);
|
||||
registry_cache_path_files();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -2700,7 +2704,7 @@ function drupal_render(&$elements) {
|
|||
// element is rendered into the final text.
|
||||
if (isset($elements['#pre_render'])) {
|
||||
foreach ($elements['#pre_render'] as $function) {
|
||||
if (function_exists($function)) {
|
||||
if (drupal_function_exists($function)) {
|
||||
$elements = $function($elements);
|
||||
}
|
||||
}
|
||||
|
@ -2762,7 +2766,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 (function_exists($function)) {
|
||||
if (drupal_function_exists($function)) {
|
||||
$content = $function($content, $elements);
|
||||
}
|
||||
}
|
||||
|
@ -3142,7 +3146,7 @@ function drupal_uninstall_schema($module) {
|
|||
*/
|
||||
function drupal_get_schema_unprocessed($module, $table = NULL) {
|
||||
// Load the .install file to get hook_schema.
|
||||
module_load_include('install', $module);
|
||||
module_load_install($module);
|
||||
$schema = module_invoke($module, 'schema');
|
||||
|
||||
if (!is_null($table) && isset($schema[$table])) {
|
||||
|
@ -3528,6 +3532,7 @@ function drupal_flush_all_caches() {
|
|||
// Change query-strings on css/js files to enforce reload for all users.
|
||||
_drupal_flush_css_js();
|
||||
|
||||
drupal_rebuild_code_registry();
|
||||
drupal_clear_css_cache();
|
||||
drupal_clear_js_cache();
|
||||
system_theme_data();
|
||||
|
@ -3536,7 +3541,7 @@ function drupal_flush_all_caches() {
|
|||
node_types_rebuild();
|
||||
// Don't clear cache_form - in-progress form submissions may break.
|
||||
// Ordered so clearing the page cache will always be the last action.
|
||||
$core = array('cache', 'cache_block', 'cache_filter', 'cache_page');
|
||||
$core = array('cache', 'cache_block', 'cache_filter', 'cache_registry', 'cache_page');
|
||||
$cache_tables = array_merge(module_invoke_all('flush_caches'), $core);
|
||||
foreach ($cache_tables as $table) {
|
||||
cache_clear_all('*', $table, TRUE);
|
||||
|
|
|
@ -327,7 +327,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 (!function_exists($form_id)) {
|
||||
if (!drupal_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.
|
||||
|
@ -348,6 +348,7 @@ function drupal_retrieve_form($form_id, &$form_state) {
|
|||
}
|
||||
if (isset($form_definition['callback'])) {
|
||||
$callback = $form_definition['callback'];
|
||||
drupal_function_exists($callback);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -504,13 +505,13 @@ function drupal_prepare_form($form_id, &$form, &$form_state) {
|
|||
$form += _element_info('form');
|
||||
|
||||
if (!isset($form['#validate'])) {
|
||||
if (function_exists($form_id . '_validate')) {
|
||||
if (drupal_function_exists($form_id . '_validate')) {
|
||||
$form['#validate'] = array($form_id . '_validate');
|
||||
}
|
||||
}
|
||||
|
||||
if (!isset($form['#submit'])) {
|
||||
if (function_exists($form_id . '_submit')) {
|
||||
if (drupal_function_exists($form_id . '_submit')) {
|
||||
// We set submit here so that it can be altered.
|
||||
$form['#submit'] = array($form_id . '_submit');
|
||||
}
|
||||
|
@ -712,7 +713,7 @@ function _form_validate($elements, &$form_state, $form_id = NULL) {
|
|||
// #value data.
|
||||
elseif (isset($elements['#element_validate'])) {
|
||||
foreach ($elements['#element_validate'] as $function) {
|
||||
if (function_exists($function)) {
|
||||
if (drupal_function_exists($function)) {
|
||||
$function($elements, $form_state, $complete_form);
|
||||
}
|
||||
}
|
||||
|
@ -749,7 +750,7 @@ function form_execute_handlers($type, &$form, &$form_state) {
|
|||
}
|
||||
|
||||
foreach ($handlers as $function) {
|
||||
if (function_exists($function)) {
|
||||
if (drupal_function_exists($function)) {
|
||||
if ($type == 'submit' && ($batch =& batch_get())) {
|
||||
// Some previous _submit handler has set a batch. We store the call
|
||||
// in a special 'control' batch set, for execution at the correct
|
||||
|
@ -1032,7 +1033,7 @@ function _form_builder_handle_input_element($form_id, &$form, &$form_state, $com
|
|||
// checkboxes and files.
|
||||
if (isset($form['#process']) && !$form['#processed']) {
|
||||
foreach ($form['#process'] as $process) {
|
||||
if (function_exists($process)) {
|
||||
if (drupal_function_exists($process)) {
|
||||
$form = $process($form, isset($edit) ? $edit : NULL, $form_state, $complete_form);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -687,8 +687,9 @@ function drupal_check_profile($profile) {
|
|||
$requirements = array();
|
||||
foreach ($installs as $install) {
|
||||
require_once $install->filename;
|
||||
if (module_hook($install->name, 'requirements')) {
|
||||
$requirements = array_merge($requirements, module_invoke($install->name, 'requirements', 'install'));
|
||||
$function = $install->name. '_requirements';
|
||||
if (function_exists($function)) {
|
||||
$requirements = array_merge($requirements, $function('install'));
|
||||
}
|
||||
}
|
||||
return $requirements;
|
||||
|
|
|
@ -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 (function_exists($function = $module . '_mail')) {
|
||||
if (drupal_function_exists($function = $module . '_mail')) {
|
||||
$function($key, $message, $params);
|
||||
}
|
||||
|
||||
|
|
|
@ -339,11 +339,16 @@ function menu_execute_active_handler($path = NULL) {
|
|||
menu_rebuild();
|
||||
}
|
||||
if ($router_item = menu_get_item($path)) {
|
||||
if ($router_item['access']) {
|
||||
if ($router_item['file']) {
|
||||
require_once($router_item['file']);
|
||||
$cache = cache_get('registry:' . $router_item['path'], 'cache_registry');
|
||||
if (!empty($cache->data)) {
|
||||
foreach(explode(';', $cache->data) as $file) {
|
||||
require_once($file);
|
||||
}
|
||||
}
|
||||
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']);
|
||||
}
|
||||
return call_user_func_array($router_item['page_callback'], $router_item['page_arguments']);
|
||||
}
|
||||
else {
|
||||
return MENU_ACCESS_DENIED;
|
||||
|
@ -1665,7 +1670,7 @@ function menu_router_build($reset = FALSE) {
|
|||
// We need to manually call each module so that we can know which module
|
||||
// a given item came from.
|
||||
$callbacks = array();
|
||||
foreach (module_implements('menu') as $module) {
|
||||
foreach (module_implements('menu', NULL, TRUE) as $module) {
|
||||
$router_items = call_user_func($module . '_menu');
|
||||
if (isset($router_items) && is_array($router_items)) {
|
||||
foreach (array_keys($router_items) as $path) {
|
||||
|
@ -2201,12 +2206,12 @@ function _menu_router_build($callbacks) {
|
|||
$load_functions[$k] = NULL;
|
||||
}
|
||||
else {
|
||||
if (function_exists($matches[1] . '_to_arg')) {
|
||||
if (drupal_function_exists($matches[1] . '_to_arg')) {
|
||||
$to_arg_functions[$k] = $matches[1] . '_to_arg';
|
||||
$load_functions[$k] = NULL;
|
||||
$match = TRUE;
|
||||
}
|
||||
if (function_exists($matches[1] . '_load')) {
|
||||
if (drupal_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'
|
||||
|
@ -2293,12 +2298,6 @@ 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'];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2326,34 +2325,25 @@ function _menu_router_build($callbacks) {
|
|||
'tab_parent' => '',
|
||||
'tab_root' => $path,
|
||||
'path' => $path,
|
||||
'file' => '',
|
||||
'file path' => '',
|
||||
'include file' => '',
|
||||
);
|
||||
|
||||
// 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'];
|
||||
}
|
||||
|
||||
$title_arguments = $item['title arguments'] ? serialize($item['title arguments']) : '';
|
||||
db_query("INSERT INTO {menu_router}
|
||||
(path, load_functions, to_arg_functions, access_callback,
|
||||
access_arguments, page_callback, page_arguments, fit,
|
||||
number_parts, tab_parent, tab_root,
|
||||
title, title_callback, title_arguments,
|
||||
type, block_callback, description, position, weight, file)
|
||||
type, block_callback, description, position, weight)
|
||||
VALUES ('%s', '%s', '%s', '%s',
|
||||
'%s', '%s', '%s', %d,
|
||||
%d, '%s', '%s',
|
||||
'%s', '%s', '%s',
|
||||
%d, '%s', '%s', '%s', %d, '%s')",
|
||||
%d, '%s', '%s', '%s', %d)",
|
||||
$path, $item['load_functions'], $item['to_arg_functions'], $item['access callback'],
|
||||
serialize($item['access arguments']), $item['page callback'], serialize($item['page arguments']), $item['_fit'],
|
||||
$item['_number_parts'], $item['tab_parent'], $item['tab_root'],
|
||||
$item['title'], $item['title callback'], $title_arguments,
|
||||
$item['type'], $item['block callback'], $item['description'], $item['position'], $item['weight'], $item['include file']);
|
||||
$item['type'], $item['block callback'], $item['description'], $item['position'], $item['weight']);
|
||||
}
|
||||
// Sort the masks so they are in order of descending fit, and store them.
|
||||
$masks = array_keys($masks);
|
||||
|
|
|
@ -221,7 +221,7 @@ function _module_build_dependencies($files) {
|
|||
*/
|
||||
function module_exists($module) {
|
||||
$list = module_list();
|
||||
return array_key_exists($module, $list);
|
||||
return isset($list[$module]);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -231,7 +231,14 @@ function module_load_install($module) {
|
|||
// Make sure the installation API is available
|
||||
include_once './includes/install.inc';
|
||||
|
||||
module_load_include('install', $module);
|
||||
$file = module_load_include('install', $module);
|
||||
// Ensure that you can module_invoke something inside the newly-loaded
|
||||
// file during install.
|
||||
$module_list = module_list();
|
||||
if (!isset($module_list[$module])) {
|
||||
$module_list[$module]['filename'] = $file;
|
||||
module_list(TRUE, FALSE, FALSE, $module_list);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -253,6 +260,7 @@ function module_load_include($type, $module, $name = NULL) {
|
|||
|
||||
if (is_file($file)) {
|
||||
require_once $file;
|
||||
return $file;
|
||||
}
|
||||
else {
|
||||
return FALSE;
|
||||
|
@ -292,7 +300,7 @@ function module_enable($module_list) {
|
|||
// Refresh the module list to include the new enabled module.
|
||||
module_list(TRUE, FALSE);
|
||||
// Force to regenerate the stored list of hook implementations.
|
||||
module_implements('', FALSE, TRUE);
|
||||
drupal_rebuild_code_registry();
|
||||
}
|
||||
|
||||
foreach ($invoke_modules as $module) {
|
||||
|
@ -301,7 +309,7 @@ function module_enable($module_list) {
|
|||
// 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 (function_exists('node_access_needs_rebuild') && !node_access_needs_rebuild() && module_hook($module, 'node_grants')) {
|
||||
if (drupal_function_exists('node_access_needs_rebuild') && !node_access_needs_rebuild() && module_hook($module, 'node_grants')) {
|
||||
node_access_needs_rebuild(TRUE);
|
||||
}
|
||||
}
|
||||
|
@ -333,7 +341,7 @@ function module_disable($module_list) {
|
|||
// Refresh the module list to exclude the disabled modules.
|
||||
module_list(TRUE, FALSE);
|
||||
// Force to regenerate the stored list of hook implementations.
|
||||
module_implements('', FALSE, TRUE);
|
||||
drupal_rebuild_code_registry();
|
||||
}
|
||||
|
||||
// If there remains no more node_access module, rebuilding will be
|
||||
|
@ -376,7 +384,13 @@ function module_disable($module_list) {
|
|||
* implemented in that module.
|
||||
*/
|
||||
function module_hook($module, $hook) {
|
||||
return function_exists($module . '_' . $hook);
|
||||
$function = $module . '_' . $hook;
|
||||
if (defined('MAINTENANCE_MODE')) {
|
||||
return function_exists($function);
|
||||
}
|
||||
else {
|
||||
return drupal_function_exists($function);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -395,22 +409,26 @@ function module_hook($module, $hook) {
|
|||
* An array with the names of the modules which are implementing this hook.
|
||||
*/
|
||||
function module_implements($hook, $sort = FALSE, $refresh = FALSE) {
|
||||
static $implementations;
|
||||
static $implementations = array();
|
||||
|
||||
if ($refresh) {
|
||||
$implementations = array();
|
||||
return;
|
||||
}
|
||||
else if (!defined('MAINTENANCE_MODE') && empty($implementations)) {
|
||||
if ($cache = cache_get('hooks', 'cache_registry')) {
|
||||
$implementations = $cache->data;
|
||||
}
|
||||
}
|
||||
|
||||
if (!isset($implementations[$hook])) {
|
||||
$implementations[$hook] = array();
|
||||
$list = module_list(FALSE, TRUE, $sort);
|
||||
foreach ($list as $module) {
|
||||
foreach (module_list() as $module) {
|
||||
if (module_hook($module, $hook)) {
|
||||
$implementations[$hook][] = $module;
|
||||
}
|
||||
}
|
||||
}
|
||||
registry_cache_hook_implementations(array('hook' => $hook, 'modules' => $implementations[$hook]));
|
||||
|
||||
// The explicit cast forces a copy to be made. This is needed because
|
||||
// $implementations[$hook] is only a reference to an element of
|
||||
|
@ -438,9 +456,8 @@ function module_invoke() {
|
|||
$module = $args[0];
|
||||
$hook = $args[1];
|
||||
unset($args[0], $args[1]);
|
||||
$function = $module . '_' . $hook;
|
||||
if (module_hook($module, $hook)) {
|
||||
return call_user_func_array($function, $args);
|
||||
return call_user_func_array($module . '_' . $hook, $args);
|
||||
}
|
||||
}
|
||||
/**
|
||||
|
@ -461,12 +478,14 @@ function module_invoke_all() {
|
|||
$return = array();
|
||||
foreach (module_implements($hook) as $module) {
|
||||
$function = $module . '_' . $hook;
|
||||
$result = call_user_func_array($function, $args);
|
||||
if (isset($result) && is_array($result)) {
|
||||
$return = array_merge_recursive($return, $result);
|
||||
}
|
||||
else if (isset($result)) {
|
||||
$return[] = $result;
|
||||
if (drupal_function_exists($function)) {
|
||||
$result = call_user_func_array($function, $args);
|
||||
if (isset($result) && is_array($result)) {
|
||||
$return = array_merge_recursive($return, $result);
|
||||
}
|
||||
else if (isset($result)) {
|
||||
$return[] = $result;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -177,7 +177,9 @@ function _init_theme($theme, $base_theme = array(), $registry_callback = '_theme
|
|||
}
|
||||
}
|
||||
|
||||
$registry_callback($theme, $base_theme, $theme_engine);
|
||||
if (drupal_function_exists($registry_callback)) {
|
||||
$registry_callback($theme, $base_theme, $theme_engine);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -628,7 +630,7 @@ function theme() {
|
|||
// call_user_func_array.
|
||||
$args = array(&$variables, $hook);
|
||||
foreach ($info['preprocess functions'] as $preprocess_function) {
|
||||
if (function_exists($preprocess_function)) {
|
||||
if (drupal_function_exists($preprocess_function)) {
|
||||
call_user_func_array($preprocess_function, $args);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -202,7 +202,7 @@ function xmlrpc_server_call($xmlrpc_server, $methodname, $args) {
|
|||
}
|
||||
}
|
||||
|
||||
if (!function_exists($method)) {
|
||||
if (!drupal_function_exists($method)) {
|
||||
return xmlrpc_error(-32601, t('Server error. Requested function @method does not exist.', array("@method" => $method)));
|
||||
}
|
||||
// Call the mapped function
|
||||
|
|
|
@ -785,8 +785,8 @@ if (Drupal.jsEnabled) {
|
|||
|
||||
// The end of the install process. Remember profile used.
|
||||
if ($task == 'done') {
|
||||
// Rebuild menu to get content type links registered by the profile,
|
||||
// and possibly any other menu items created through the tasks.
|
||||
// Rebuild menu and registry to get content type links registered by the
|
||||
// profile, and possibly any other menu items created through the tasks.
|
||||
menu_rebuild();
|
||||
|
||||
// Register actions declared by any modules.
|
||||
|
|
|
@ -4,3 +4,6 @@ description = "Aggregates syndicated content (RSS, RDF, and Atom feeds)."
|
|||
package = Core - optional
|
||||
version = VERSION
|
||||
core = 7.x
|
||||
files[] = aggregator.module
|
||||
files[] = aggregator.admin.inc
|
||||
files[] = aggregator.pages.inc
|
||||
|
|
|
@ -84,7 +84,6 @@ 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/content/aggregator/add/feed'] = array(
|
||||
'title' => 'Add feed',
|
||||
|
@ -93,7 +92,6 @@ function aggregator_menu() {
|
|||
'access arguments' => array('administer news feeds'),
|
||||
'type' => MENU_LOCAL_TASK,
|
||||
'parent' => 'admin/content/aggregator',
|
||||
'file' => 'aggregator.admin.inc',
|
||||
);
|
||||
$items['admin/content/aggregator/add/category'] = array(
|
||||
'title' => 'Add category',
|
||||
|
@ -102,7 +100,6 @@ function aggregator_menu() {
|
|||
'access arguments' => array('administer news feeds'),
|
||||
'type' => MENU_LOCAL_TASK,
|
||||
'parent' => 'admin/content/aggregator',
|
||||
'file' => 'aggregator.admin.inc',
|
||||
);
|
||||
$items['admin/content/aggregator/remove/%aggregator_feed'] = array(
|
||||
'title' => 'Remove items',
|
||||
|
@ -110,7 +107,6 @@ 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/content/aggregator/update/%aggregator_feed'] = array(
|
||||
'title' => 'Update items',
|
||||
|
@ -118,7 +114,6 @@ function aggregator_menu() {
|
|||
'page arguments' => array(4),
|
||||
'access arguments' => array('administer news feeds'),
|
||||
'type' => MENU_CALLBACK,
|
||||
'file' => 'aggregator.admin.inc',
|
||||
);
|
||||
$items['admin/content/aggregator/list'] = array(
|
||||
'title' => 'List',
|
||||
|
@ -132,40 +127,34 @@ function aggregator_menu() {
|
|||
'type' => MENU_LOCAL_TASK,
|
||||
'weight' => 10,
|
||||
'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',
|
||||
|
@ -174,7 +163,6 @@ 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',
|
||||
|
@ -187,7 +175,6 @@ 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',
|
||||
|
@ -196,14 +183,12 @@ 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',
|
||||
|
@ -216,7 +201,6 @@ 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',
|
||||
|
@ -225,7 +209,6 @@ function aggregator_menu() {
|
|||
'access arguments' => array('administer news feeds'),
|
||||
'type' => MENU_LOCAL_TASK,
|
||||
'weight' => 1,
|
||||
'file' => 'aggregator.admin.inc',
|
||||
);
|
||||
$items['admin/content/aggregator/edit/feed/%aggregator_feed'] = array(
|
||||
'title' => 'Edit feed',
|
||||
|
@ -233,7 +216,6 @@ 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/content/aggregator/edit/category/%aggregator_category'] = array(
|
||||
'title' => 'Edit category',
|
||||
|
@ -241,7 +223,6 @@ 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;
|
||||
|
|
|
@ -4,3 +4,5 @@ description = Controls the boxes that are displayed around the main content.
|
|||
package = Core - required
|
||||
version = VERSION
|
||||
core = 7.x
|
||||
files[] = block.module
|
||||
files[] = block.admin.inc
|
||||
|
|
|
@ -120,7 +120,6 @@ 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/build/block/list'] = array(
|
||||
'title' => 'List',
|
||||
|
@ -132,7 +131,6 @@ function block_menu() {
|
|||
'page callback' => 'block_admin_display_js',
|
||||
'access arguments' => array('administer blocks'),
|
||||
'type' => MENU_CALLBACK,
|
||||
'file' => 'block.admin.inc',
|
||||
);
|
||||
$items['admin/build/block/configure'] = array(
|
||||
'title' => 'Configure block',
|
||||
|
@ -140,7 +138,6 @@ function block_menu() {
|
|||
'page arguments' => array('block_admin_configure'),
|
||||
'access arguments' => array('administer blocks'),
|
||||
'type' => MENU_CALLBACK,
|
||||
'file' => 'block.admin.inc',
|
||||
);
|
||||
$items['admin/build/block/delete'] = array(
|
||||
'title' => 'Delete block',
|
||||
|
@ -148,7 +145,6 @@ function block_menu() {
|
|||
'page arguments' => array('block_box_delete'),
|
||||
'access arguments' => array('administer blocks'),
|
||||
'type' => MENU_CALLBACK,
|
||||
'file' => 'block.admin.inc',
|
||||
);
|
||||
$items['admin/build/block/add'] = array(
|
||||
'title' => 'Add block',
|
||||
|
@ -156,7 +152,6 @@ 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) {
|
||||
|
@ -165,7 +160,6 @@ function block_menu() {
|
|||
'page arguments' => array($key),
|
||||
'type' => $key == $default ? MENU_DEFAULT_LOCAL_TASK : MENU_LOCAL_TASK,
|
||||
'weight' => $key == $default ? -10 : 0,
|
||||
'file' => 'block.admin.inc',
|
||||
'access callback' => '_block_themes_access',
|
||||
'access arguments' => array($theme),
|
||||
);
|
||||
|
|
|
@ -4,3 +4,5 @@ description = Enables keeping easily and regularly updated user web pages or blo
|
|||
package = Core - optional
|
||||
version = VERSION
|
||||
core = 7.x
|
||||
files[] = blog.module
|
||||
files[] = blog.pages.inc
|
||||
|
|
|
@ -138,7 +138,6 @@ 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',
|
||||
|
@ -146,7 +145,6 @@ 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',
|
||||
|
@ -155,14 +153,12 @@ 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;
|
||||
|
|
|
@ -4,3 +4,4 @@ description = Allows users to post content using applications that support XML-R
|
|||
package = Core - optional
|
||||
version = VERSION
|
||||
core = 7.x
|
||||
files[] = blogapi.module
|
||||
|
|
|
@ -4,3 +4,6 @@ description = Allows users to structure site pages in a hierarchy or outline.
|
|||
package = Core - optional
|
||||
version = VERSION
|
||||
core = 7.x
|
||||
files[] = book.module
|
||||
files[] = book.admin.inc
|
||||
files[] = book.pages.inc
|
||||
|
|
|
@ -85,7 +85,6 @@ function book_menu() {
|
|||
'description' => "Manage your site's book outlines.",
|
||||
'page callback' => 'book_admin_overview',
|
||||
'access arguments' => array('administer book outlines'),
|
||||
'file' => 'book.admin.inc',
|
||||
);
|
||||
$items['admin/content/book/list'] = array(
|
||||
'title' => 'List',
|
||||
|
@ -98,7 +97,6 @@ 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',
|
||||
|
@ -107,21 +105,18 @@ 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',
|
||||
|
@ -131,7 +126,6 @@ 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',
|
||||
|
@ -140,13 +134,11 @@ 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;
|
||||
}
|
||||
|
|
|
@ -4,3 +4,4 @@ description = Allows administrators to change the color scheme of compatible the
|
|||
package = Core - optional
|
||||
version = VERSION
|
||||
core = 7.x
|
||||
files[] = color.module
|
||||
|
|
|
@ -4,3 +4,6 @@ description = Allows users to comment on and discuss published content.
|
|||
package = Core - optional
|
||||
version = VERSION
|
||||
core = 7.x
|
||||
files[] = comment.module
|
||||
files[] = comment.admin.inc
|
||||
files[] = comment.pages.inc
|
||||
|
|
|
@ -176,7 +176,6 @@ function comment_menu() {
|
|||
'description' => 'List and edit site comments and the comment moderation queue.',
|
||||
'page callback' => 'comment_admin',
|
||||
'access arguments' => array('administer comments'),
|
||||
'file' => 'comment.admin.inc',
|
||||
);
|
||||
|
||||
// Tabs:
|
||||
|
@ -190,7 +189,6 @@ function comment_menu() {
|
|||
'page arguments' => array('approval'),
|
||||
'access arguments' => array('administer comments'),
|
||||
'type' => MENU_LOCAL_TASK,
|
||||
'file' => 'comment.admin.inc',
|
||||
);
|
||||
|
||||
$items['comment/delete'] = array(
|
||||
|
@ -198,7 +196,6 @@ function comment_menu() {
|
|||
'page callback' => 'comment_delete',
|
||||
'access arguments' => array('administer comments'),
|
||||
'type' => MENU_CALLBACK,
|
||||
'file' => 'comment.admin.inc',
|
||||
);
|
||||
|
||||
$items['comment/edit'] = array(
|
||||
|
@ -206,7 +203,6 @@ function comment_menu() {
|
|||
'page callback' => 'comment_edit',
|
||||
'access arguments' => array('post comments'),
|
||||
'type' => MENU_CALLBACK,
|
||||
'file' => 'comment.pages.inc',
|
||||
);
|
||||
$items['comment/reply/%node'] = array(
|
||||
'title' => 'Reply to comment',
|
||||
|
@ -215,7 +211,6 @@ function comment_menu() {
|
|||
'access callback' => 'node_access',
|
||||
'access arguments' => array('view', 2),
|
||||
'type' => MENU_CALLBACK,
|
||||
'file' => 'comment.pages.inc',
|
||||
);
|
||||
|
||||
return $items;
|
||||
|
|
|
@ -4,3 +4,6 @@ description = Enables the use of both personal and site-wide contact forms.
|
|||
package = Core - optional
|
||||
version = VERSION
|
||||
core = 7.x
|
||||
files[] = contact.module
|
||||
files[] = contact.admin.inc
|
||||
files[] = contact.pages.inc
|
||||
|
|
|
@ -51,13 +51,11 @@ 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/build/contact/list'] = array(
|
||||
'title' => 'List',
|
||||
'page callback' => 'contact_admin_categories',
|
||||
'type' => MENU_DEFAULT_LOCAL_TASK,
|
||||
'file' => 'contact.admin.inc',
|
||||
);
|
||||
$items['admin/build/contact/add'] = array(
|
||||
'title' => 'Add category',
|
||||
|
@ -66,7 +64,6 @@ function contact_menu() {
|
|||
'access arguments' => array('administer site-wide contact form'),
|
||||
'type' => MENU_LOCAL_TASK,
|
||||
'weight' => 1,
|
||||
'file' => 'contact.admin.inc',
|
||||
);
|
||||
$items['admin/build/contact/edit/%contact'] = array(
|
||||
'title' => 'Edit contact category',
|
||||
|
@ -74,7 +71,6 @@ 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/build/contact/delete/%contact'] = array(
|
||||
'title' => 'Delete contact',
|
||||
|
@ -82,7 +78,6 @@ 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/build/contact/settings'] = array(
|
||||
'title' => 'Settings',
|
||||
|
@ -91,14 +86,12 @@ function contact_menu() {
|
|||
'access arguments' => array('administer site-wide contact form'),
|
||||
'type' => MENU_LOCAL_TASK,
|
||||
'weight' => 2,
|
||||
'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',
|
||||
|
@ -108,7 +101,6 @@ function contact_menu() {
|
|||
'access callback' => '_contact_user_tab_access',
|
||||
'access arguments' => array(1),
|
||||
'weight' => 2,
|
||||
'file' => 'contact.pages.inc',
|
||||
);
|
||||
return $items;
|
||||
}
|
||||
|
|
|
@ -4,3 +4,5 @@ description = Logs and records system events to the database.
|
|||
package = Core - optional
|
||||
version = VERSION
|
||||
core = 7.x
|
||||
files[] = dblog.module
|
||||
files[] = dblog.admin.inc
|
||||
|
|
|
@ -48,16 +48,13 @@ function dblog_menu() {
|
|||
'page callback' => 'drupal_get_form',
|
||||
'page arguments' => array('dblog_admin_settings'),
|
||||
'access arguments' => array('administer site configuration'),
|
||||
'file' => 'dblog.admin.inc',
|
||||
);
|
||||
|
||||
$items['admin/reports/dblog'] = array(
|
||||
'title' => 'Recent log entries',
|
||||
'description' => 'View events that have recently been logged.',
|
||||
'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",
|
||||
|
@ -65,7 +62,6 @@ 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",
|
||||
|
@ -73,7 +69,6 @@ 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',
|
||||
|
@ -81,7 +76,6 @@ function dblog_menu() {
|
|||
'page arguments' => array(3),
|
||||
'access arguments' => array('access site reports'),
|
||||
'type' => MENU_CALLBACK,
|
||||
'file' => 'dblog.admin.inc',
|
||||
);
|
||||
return $items;
|
||||
}
|
||||
|
|
|
@ -4,3 +4,6 @@ description = Handles the filtering of content in preparation for display.
|
|||
package = Core - required
|
||||
version = VERSION
|
||||
core = 7.x
|
||||
files[] = filter.module
|
||||
files[] = filter.admin.inc
|
||||
files[] = filter.pages.inc
|
||||
|
|
|
@ -73,7 +73,6 @@ 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/filters/list'] = array(
|
||||
'title' => 'List',
|
||||
|
@ -85,7 +84,6 @@ function filter_menu() {
|
|||
'access arguments' => array('administer filters'),
|
||||
'type' => MENU_LOCAL_TASK,
|
||||
'weight' => 1,
|
||||
'file' => 'filter.admin.inc',
|
||||
);
|
||||
$items['admin/settings/filters/delete'] = array(
|
||||
'title' => 'Delete input format',
|
||||
|
@ -93,14 +91,12 @@ 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/filters/%filter_format'] = array(
|
||||
'type' => MENU_CALLBACK,
|
||||
|
@ -109,14 +105,11 @@ 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/filters/%filter_format/edit'] = array(
|
||||
'title' => 'Edit',
|
||||
'type' => MENU_DEFAULT_LOCAL_TASK,
|
||||
'weight' => 0,
|
||||
'file' => 'filter.admin.inc',
|
||||
);
|
||||
$items['admin/settings/filters/%filter_format/configure'] = array(
|
||||
'title' => 'Configure',
|
||||
|
@ -125,7 +118,6 @@ function filter_menu() {
|
|||
'access arguments' => array('administer filters'),
|
||||
'type' => MENU_LOCAL_TASK,
|
||||
'weight' => 1,
|
||||
'file' => 'filter.admin.inc',
|
||||
);
|
||||
$items['admin/settings/filters/%filter_format/order'] = array(
|
||||
'title' => 'Rearrange',
|
||||
|
@ -134,7 +126,6 @@ function filter_menu() {
|
|||
'access arguments' => array('administer filters'),
|
||||
'type' => MENU_LOCAL_TASK,
|
||||
'weight' => 2,
|
||||
'file' => 'filter.admin.inc',
|
||||
);
|
||||
return $items;
|
||||
}
|
||||
|
|
|
@ -6,3 +6,6 @@ dependencies[] = comment
|
|||
package = Core - optional
|
||||
version = VERSION
|
||||
core = 7.x
|
||||
files[] = forum.module
|
||||
files[] = forum.admin.inc
|
||||
files[] = forum.pages.inc
|
||||
|
|
|
@ -87,7 +87,6 @@ function forum_menu() {
|
|||
'page callback' => 'forum_page',
|
||||
'access arguments' => array('access content'),
|
||||
'type' => MENU_SUGGESTED_ITEM,
|
||||
'file' => 'forum.pages.inc',
|
||||
);
|
||||
$items['admin/content/forum'] = array(
|
||||
'title' => 'Forums',
|
||||
|
@ -95,7 +94,6 @@ function forum_menu() {
|
|||
'page callback' => 'drupal_get_form',
|
||||
'page arguments' => array('forum_overview'),
|
||||
'access arguments' => array('administer forums'),
|
||||
'file' => 'forum.admin.inc',
|
||||
);
|
||||
$items['admin/content/forum/list'] = array(
|
||||
'title' => 'List',
|
||||
|
@ -109,7 +107,6 @@ function forum_menu() {
|
|||
'access arguments' => array('administer forums'),
|
||||
'type' => MENU_LOCAL_TASK,
|
||||
'parent' => 'admin/content/forum',
|
||||
'file' => 'forum.admin.inc',
|
||||
);
|
||||
$items['admin/content/forum/add/forum'] = array(
|
||||
'title' => 'Add forum',
|
||||
|
@ -118,7 +115,6 @@ function forum_menu() {
|
|||
'access arguments' => array('administer forums'),
|
||||
'type' => MENU_LOCAL_TASK,
|
||||
'parent' => 'admin/content/forum',
|
||||
'file' => 'forum.admin.inc',
|
||||
);
|
||||
$items['admin/content/forum/settings'] = array(
|
||||
'title' => 'Settings',
|
||||
|
@ -128,13 +124,11 @@ function forum_menu() {
|
|||
'weight' => 5,
|
||||
'type' => MENU_LOCAL_TASK,
|
||||
'parent' => 'admin/content/forum',
|
||||
'file' => 'forum.admin.inc',
|
||||
);
|
||||
$items['admin/content/forum/edit/%forum_term'] = array(
|
||||
'page callback' => 'forum_form_main',
|
||||
'access arguments' => array('administer forums'),
|
||||
'type' => MENU_CALLBACK,
|
||||
'file' => 'forum.admin.inc',
|
||||
);
|
||||
$items['admin/content/forum/edit/container/%forum_term'] = array(
|
||||
'title' => 'Edit container',
|
||||
|
@ -142,7 +136,6 @@ function forum_menu() {
|
|||
'page arguments' => array('container', 5),
|
||||
'access arguments' => array('administer forums'),
|
||||
'type' => MENU_CALLBACK,
|
||||
'file' => 'forum.admin.inc',
|
||||
);
|
||||
$items['admin/content/forum/edit/forum/%forum_term'] = array(
|
||||
'title' => 'Edit forum',
|
||||
|
@ -150,7 +143,6 @@ function forum_menu() {
|
|||
'page arguments' => array('forum', 5),
|
||||
'access arguments' => array('administer forums'),
|
||||
'type' => MENU_CALLBACK,
|
||||
'file' => 'forum.admin.inc',
|
||||
);
|
||||
return $items;
|
||||
}
|
||||
|
|
|
@ -4,3 +4,5 @@ description = Manages the display of online help.
|
|||
package = Core - optional
|
||||
version = VERSION
|
||||
core = 7.x
|
||||
files[] = help.module
|
||||
files[] = help.admin.inc
|
||||
|
|
|
@ -15,7 +15,6 @@ 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) {
|
||||
|
@ -25,7 +24,6 @@ function help_menu() {
|
|||
'page arguments' => array(2),
|
||||
'access arguments' => array('access administration pages'),
|
||||
'type' => MENU_CALLBACK,
|
||||
'file' => 'help.admin.inc',
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
@ -4,3 +4,4 @@ description = Adds language handling functionality and enables the translation o
|
|||
package = Core - optional
|
||||
version = VERSION
|
||||
core = 7.x
|
||||
files[] = locale.module
|
||||
|
|
|
@ -4,3 +4,5 @@ description = Allows administrators to customize the site navigation menu.
|
|||
package = Core - optional
|
||||
version = VERSION
|
||||
core = 7.x
|
||||
files[] = menu.module
|
||||
files[] = menu.admin.inc
|
||||
|
|
|
@ -52,14 +52,11 @@ function menu_menu() {
|
|||
'page callback' => 'menu_overview_page',
|
||||
'access callback' => 'user_access',
|
||||
'access arguments' => array('administer menu'),
|
||||
'file' => 'menu.admin.inc',
|
||||
);
|
||||
|
||||
$items['admin/build/menu/list'] = array(
|
||||
'title' => 'List menus',
|
||||
'type' => MENU_DEFAULT_LOCAL_TASK,
|
||||
'weight' => -10,
|
||||
'file' => 'menu.admin.inc',
|
||||
);
|
||||
$items['admin/build/menu/add'] = array(
|
||||
'title' => 'Add menu',
|
||||
|
@ -67,7 +64,6 @@ 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/build/menu/settings'] = array(
|
||||
'title' => 'Settings',
|
||||
|
@ -76,7 +72,6 @@ function menu_menu() {
|
|||
'access arguments' => array('administer menu'),
|
||||
'type' => MENU_LOCAL_TASK,
|
||||
'weight' => 5,
|
||||
'file' => 'menu.admin.inc',
|
||||
);
|
||||
$items['admin/build/menu-customize/%menu'] = array(
|
||||
'title' => 'Customize menu',
|
||||
|
@ -86,13 +81,11 @@ function menu_menu() {
|
|||
'title arguments' => array(3),
|
||||
'access arguments' => array('administer menu'),
|
||||
'type' => MENU_CALLBACK,
|
||||
'file' => 'menu.admin.inc',
|
||||
);
|
||||
$items['admin/build/menu-customize/%menu/list'] = array(
|
||||
'title' => 'List items',
|
||||
'weight' => -10,
|
||||
'type' => MENU_DEFAULT_LOCAL_TASK,
|
||||
'file' => 'menu.admin.inc',
|
||||
);
|
||||
$items['admin/build/menu-customize/%menu/add'] = array(
|
||||
'title' => 'Add item',
|
||||
|
@ -100,7 +93,6 @@ 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/build/menu-customize/%menu/edit'] = array(
|
||||
'title' => 'Edit menu',
|
||||
|
@ -108,7 +100,6 @@ 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/build/menu-customize/%menu/delete'] = array(
|
||||
'title' => 'Delete menu',
|
||||
|
@ -116,7 +107,6 @@ function menu_menu() {
|
|||
'page arguments' => array(3),
|
||||
'access arguments' => array('administer menu'),
|
||||
'type' => MENU_CALLBACK,
|
||||
'file' => 'menu.admin.inc',
|
||||
);
|
||||
$items['admin/build/menu/item/%menu_link/edit'] = array(
|
||||
'title' => 'Edit menu item',
|
||||
|
@ -124,7 +114,6 @@ 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/build/menu/item/%menu_link/reset'] = array(
|
||||
'title' => 'Reset menu item',
|
||||
|
@ -132,7 +121,6 @@ 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/build/menu/item/%menu_link/delete'] = array(
|
||||
'title' => 'Delete menu item',
|
||||
|
@ -140,9 +128,7 @@ function menu_menu() {
|
|||
'page arguments' => array(4),
|
||||
'access arguments' => array('administer menu'),
|
||||
'type' => MENU_CALLBACK,
|
||||
'file' => 'menu.admin.inc',
|
||||
);
|
||||
|
||||
return $items;
|
||||
}
|
||||
|
||||
|
|
|
@ -4,3 +4,7 @@ description = Allows content to be submitted to the site and displayed on pages.
|
|||
package = Core - required
|
||||
version = VERSION
|
||||
core = 7.x
|
||||
files[] = node.module
|
||||
files[] = content_types.inc
|
||||
files[] = node.admin.inc
|
||||
files[] = node.pages.inc
|
||||
|
|
|
@ -626,7 +626,8 @@ function _node_type_set_defaults($info) {
|
|||
function node_hook(&$node, $hook) {
|
||||
$module = node_get_types('module', $node);
|
||||
if ($module == 'node') {
|
||||
$module = 'node_content'; // Avoid function name collisions.
|
||||
// Avoid function name collisions.
|
||||
$module = 'node_content';
|
||||
}
|
||||
return module_hook($module, $hook);
|
||||
}
|
||||
|
@ -926,7 +927,9 @@ function node_save(&$node) {
|
|||
db_query('UPDATE {node} SET vid = %d WHERE nid = %d', $node->vid, $node->nid);
|
||||
}
|
||||
|
||||
// Call the node specific callback (if any).
|
||||
// Call the node specific callback (if any). This can be
|
||||
// node_invoke($node, 'insert') or
|
||||
// node_invoke($node, 'update').
|
||||
node_invoke($node, $op);
|
||||
node_invoke_nodeapi($node, $op);
|
||||
|
||||
|
@ -1416,7 +1419,6 @@ function node_menu() {
|
|||
'page callback' => 'drupal_get_form',
|
||||
'page arguments' => array('node_admin_content'),
|
||||
'access arguments' => array('administer nodes'),
|
||||
'file' => 'node.admin.inc',
|
||||
);
|
||||
|
||||
$items['admin/content/node/overview'] = array(
|
||||
|
@ -1431,12 +1433,10 @@ function node_menu() {
|
|||
'page callback' => 'drupal_get_form',
|
||||
'page arguments' => array('node_configure'),
|
||||
'access arguments' => array('administer nodes'),
|
||||
'file' => 'node.admin.inc',
|
||||
);
|
||||
$items['admin/content/node-settings/rebuild'] = array(
|
||||
'title' => 'Rebuild permissions',
|
||||
'page arguments' => array('node_configure_rebuild_confirm'),
|
||||
'file' => 'node.admin.inc',
|
||||
// Any user than can potentially trigger a node_acess_needs_rebuild(TRUE)
|
||||
// has to be allowed access to the 'node access rebuild' confirm form.
|
||||
'access arguments' => array('access administration pages'),
|
||||
|
@ -1448,7 +1448,6 @@ function node_menu() {
|
|||
'description' => 'Manage posts by content type, including default status, front page promotion, etc.',
|
||||
'page callback' => 'node_overview_types',
|
||||
'access arguments' => array('administer content types'),
|
||||
'file' => 'content_types.inc',
|
||||
);
|
||||
$items['admin/build/types/list'] = array(
|
||||
'title' => 'List',
|
||||
|
@ -1460,7 +1459,6 @@ function node_menu() {
|
|||
'page callback' => 'drupal_get_form',
|
||||
'page arguments' => array('node_type_form'),
|
||||
'access arguments' => array('administer content types'),
|
||||
'file' => 'content_types.inc',
|
||||
'type' => MENU_LOCAL_TASK,
|
||||
);
|
||||
$items['node'] = array(
|
||||
|
@ -1474,7 +1472,6 @@ function node_menu() {
|
|||
'page callback' => 'node_add_page',
|
||||
'access callback' => '_node_add_access',
|
||||
'weight' => 1,
|
||||
'file' => 'node.pages.inc',
|
||||
);
|
||||
$items['rss.xml'] = array(
|
||||
'title' => 'RSS feed',
|
||||
|
@ -1492,14 +1489,12 @@ function node_menu() {
|
|||
'access callback' => 'node_access',
|
||||
'access arguments' => array('create', $type->type),
|
||||
'description' => $type->description,
|
||||
'file' => 'node.pages.inc',
|
||||
);
|
||||
$items['admin/content/node-type/' . $type_url_str] = array(
|
||||
'title' => $type->name,
|
||||
'page callback' => 'drupal_get_form',
|
||||
'page arguments' => array('node_type_form', $type),
|
||||
'access arguments' => array('administer content types'),
|
||||
'file' => 'content_types.inc',
|
||||
'type' => MENU_CALLBACK,
|
||||
);
|
||||
$items['admin/content/node-type/' . $type_url_str . '/edit'] = array(
|
||||
|
@ -1510,7 +1505,6 @@ function node_menu() {
|
|||
'title' => 'Delete',
|
||||
'page arguments' => array('node_type_delete_confirm', $type),
|
||||
'access arguments' => array('administer content types'),
|
||||
'file' => 'content_types.inc',
|
||||
'type' => MENU_CALLBACK,
|
||||
);
|
||||
}
|
||||
|
@ -1533,7 +1527,6 @@ function node_menu() {
|
|||
'access callback' => 'node_access',
|
||||
'access arguments' => array('update', 1),
|
||||
'weight' => 1,
|
||||
'file' => 'node.pages.inc',
|
||||
'type' => MENU_LOCAL_TASK,
|
||||
);
|
||||
$items['node/%node/delete'] = array(
|
||||
|
@ -1542,7 +1535,6 @@ function node_menu() {
|
|||
'page arguments' => array('node_delete_confirm', 1),
|
||||
'access callback' => 'node_access',
|
||||
'access arguments' => array('delete', 1),
|
||||
'file' => 'node.pages.inc',
|
||||
'weight' => 1,
|
||||
'type' => MENU_CALLBACK);
|
||||
$items['node/%node/revisions'] = array(
|
||||
|
@ -1552,7 +1544,6 @@ function node_menu() {
|
|||
'access callback' => '_node_revision_access',
|
||||
'access arguments' => array(1),
|
||||
'weight' => 2,
|
||||
'file' => 'node.pages.inc',
|
||||
'type' => MENU_LOCAL_TASK,
|
||||
);
|
||||
$items['node/%node/revisions/%/view'] = array(
|
||||
|
@ -1571,7 +1562,6 @@ function node_menu() {
|
|||
'page arguments' => array('node_revision_revert_confirm', 1),
|
||||
'access callback' => '_node_revision_access',
|
||||
'access arguments' => array(1, 'update'),
|
||||
'file' => 'node.pages.inc',
|
||||
'type' => MENU_CALLBACK,
|
||||
);
|
||||
$items['node/%node/revisions/%/delete'] = array(
|
||||
|
@ -1581,7 +1571,6 @@ function node_menu() {
|
|||
'page arguments' => array('node_revision_delete_confirm', 1),
|
||||
'access callback' => '_node_revision_access',
|
||||
'access arguments' => array(1, 'delete'),
|
||||
'file' => 'node.pages.inc',
|
||||
'type' => MENU_CALLBACK,
|
||||
);
|
||||
return $items;
|
||||
|
@ -2025,8 +2014,8 @@ function node_access($op, $node, $account = NULL) {
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
// Can't use node_invoke(), because the access hook takes the $op parameter
|
||||
// before the $node parameter.
|
||||
// Can't use node_invoke('access', $node), because the access hook takes the
|
||||
// $op parameter before the $node parameter.
|
||||
$module = node_get_types('module', $node);
|
||||
if ($module == 'node') {
|
||||
$module = 'node_content'; // Avoid function name collisions.
|
||||
|
|
|
@ -4,3 +4,7 @@ description = "Allows users to log into your site using OpenID."
|
|||
version = VERSION
|
||||
package = Core - optional
|
||||
core = 7.x
|
||||
files[] = openid.module
|
||||
files[] = openid.inc
|
||||
files[] = openid.pages.inc
|
||||
files[] = xrds.inc
|
||||
|
|
|
@ -15,7 +15,6 @@ 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',
|
||||
|
@ -24,7 +23,6 @@ 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',
|
||||
|
@ -33,7 +31,6 @@ function openid_menu() {
|
|||
'access callback' => 'user_edit_access',
|
||||
'access arguments' => array(1),
|
||||
'type' => MENU_CALLBACK,
|
||||
'file' => 'openid.pages.inc',
|
||||
);
|
||||
return $items;
|
||||
}
|
||||
|
|
|
@ -4,3 +4,5 @@ description = Allows users to rename URLs.
|
|||
package = Core - optional
|
||||
version = VERSION
|
||||
core = 7.x
|
||||
files[] = path.module
|
||||
files[] = path.admin.inc
|
||||
|
|
|
@ -38,14 +38,12 @@ 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/build/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/build/path/delete'] = array(
|
||||
'title' => 'Delete alias',
|
||||
|
@ -53,7 +51,6 @@ 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/build/path/list'] = array(
|
||||
'title' => 'List',
|
||||
|
@ -65,7 +62,6 @@ function path_menu() {
|
|||
'page callback' => 'path_admin_edit',
|
||||
'access arguments' => array('administer url aliases'),
|
||||
'type' => MENU_LOCAL_TASK,
|
||||
'file' => 'path.admin.inc',
|
||||
);
|
||||
|
||||
return $items;
|
||||
|
|
|
@ -4,3 +4,4 @@ description = Allows embedded PHP code/snippets to be evaluated.
|
|||
package = Core - optional
|
||||
version = VERSION
|
||||
core = 7.x
|
||||
files[] = php.module
|
||||
|
|
|
@ -4,3 +4,5 @@ description = Allows your site to capture votes on different topics in the form
|
|||
package = Core - optional
|
||||
version = VERSION
|
||||
core = 7.x
|
||||
files[] = poll.module
|
||||
files[] = poll.pages.inc
|
||||
|
|
|
@ -87,7 +87,6 @@ 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(
|
||||
|
@ -98,7 +97,6 @@ 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(
|
||||
|
@ -109,7 +107,6 @@ function poll_menu() {
|
|||
'access arguments' => array(1, 'access content', TRUE),
|
||||
'weight' => 3,
|
||||
'type' => MENU_LOCAL_TASK,
|
||||
'file' => 'poll.pages.inc',
|
||||
);
|
||||
|
||||
$items['poll/js'] = array(
|
||||
|
|
|
@ -4,3 +4,6 @@ description = Supports configurable user profiles.
|
|||
package = Core - optional
|
||||
version = VERSION
|
||||
core = 7.x
|
||||
files[] = profile.module
|
||||
files[] = profile.admin.inc
|
||||
files[] = profile.pages.inc
|
||||
|
|
|
@ -81,7 +81,6 @@ function profile_menu() {
|
|||
'page callback' => 'profile_browse',
|
||||
'access arguments' => array('access user profiles'),
|
||||
'type' => MENU_SUGGESTED_ITEM,
|
||||
'file' => 'profile.pages.inc',
|
||||
);
|
||||
$items['admin/user/profile'] = array(
|
||||
'title' => 'Profiles',
|
||||
|
@ -89,7 +88,6 @@ function profile_menu() {
|
|||
'page callback' => 'drupal_get_form',
|
||||
'page arguments' => array('profile_admin_overview'),
|
||||
'access arguments' => array('administer users'),
|
||||
'file' => 'profile.admin.inc',
|
||||
);
|
||||
$items['admin/user/profile/add'] = array(
|
||||
'title' => 'Add field',
|
||||
|
@ -97,14 +95,12 @@ function profile_menu() {
|
|||
'page arguments' => array('profile_field_form'),
|
||||
'access arguments' => array('administer users'),
|
||||
'type' => MENU_CALLBACK,
|
||||
'file' => 'profile.admin.inc',
|
||||
);
|
||||
$items['admin/user/profile/autocomplete'] = array(
|
||||
'title' => 'Profile category autocomplete',
|
||||
'page callback' => 'profile_admin_settings_autocomplete',
|
||||
'access arguments' => array('administer users'),
|
||||
'type' => MENU_CALLBACK,
|
||||
'file' => 'profile.admin.inc',
|
||||
);
|
||||
$items['admin/user/profile/edit'] = array(
|
||||
'title' => 'Edit field',
|
||||
|
@ -112,7 +108,6 @@ function profile_menu() {
|
|||
'page arguments' => array('profile_field_form'),
|
||||
'access arguments' => array('administer users'),
|
||||
'type' => MENU_CALLBACK,
|
||||
'file' => 'profile.admin.inc',
|
||||
);
|
||||
$items['admin/user/profile/delete'] = array(
|
||||
'title' => 'Delete field',
|
||||
|
@ -120,14 +115,12 @@ function profile_menu() {
|
|||
'page arguments' => array('profile_field_delete'),
|
||||
'access arguments' => array('administer users'),
|
||||
'type' => MENU_CALLBACK,
|
||||
'file' => 'profile.admin.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;
|
||||
}
|
||||
|
|
|
@ -4,3 +4,6 @@ description = Enables site-wide keyword searching.
|
|||
package = Core - optional
|
||||
version = VERSION
|
||||
core = 7.x
|
||||
files[] = search.module
|
||||
files[] = search.admin.inc
|
||||
files[] = search.pages.inc
|
||||
|
|
|
@ -174,7 +174,6 @@ 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',
|
||||
|
@ -183,7 +182,6 @@ 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/wipe'] = array(
|
||||
'title' => 'Clear index',
|
||||
|
@ -191,7 +189,6 @@ function search_menu() {
|
|||
'page arguments' => array('search_wipe_confirm'),
|
||||
'access arguments' => array('administer search'),
|
||||
'type' => MENU_CALLBACK,
|
||||
'file' => 'search.admin.inc',
|
||||
);
|
||||
$items['admin/reports/search'] = array(
|
||||
'title' => 'Top search phrases',
|
||||
|
@ -199,7 +196,6 @@ function search_menu() {
|
|||
'page callback' => 'dblog_top',
|
||||
'page arguments' => array('search'),
|
||||
'access arguments' => array('access site reports'),
|
||||
'file' => 'dblog.admin.inc',
|
||||
'file path' => drupal_get_path('module', 'dblog'),
|
||||
);
|
||||
|
||||
|
@ -213,7 +209,6 @@ function search_menu() {
|
|||
'access arguments' => array($name),
|
||||
'type' => MENU_LOCAL_TASK,
|
||||
'parent' => 'search',
|
||||
'file' => 'search.pages.inc',
|
||||
);
|
||||
}
|
||||
return $items;
|
||||
|
|
|
@ -4,3 +4,4 @@ description = "Provides a framework for unit and functional testing."
|
|||
package = Core - optional
|
||||
version = VERSION
|
||||
core = 7.x
|
||||
files[] = simpletest.module
|
||||
|
|
|
@ -4,3 +4,6 @@ description = Logs access statistics for your site.
|
|||
package = Core - optional
|
||||
version = VERSION
|
||||
core = 7.x
|
||||
files[] = statistics.module
|
||||
files[] = statistics.admin.inc
|
||||
files[] = statistics.pages.inc
|
||||
|
|
|
@ -101,7 +101,6 @@ 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',
|
||||
|
@ -109,7 +108,6 @@ 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',
|
||||
|
@ -117,14 +115,12 @@ 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',
|
||||
|
@ -133,7 +129,6 @@ function statistics_menu() {
|
|||
'page arguments' => array(3),
|
||||
'access arguments' => array('access statistics'),
|
||||
'type' => MENU_CALLBACK,
|
||||
'file' => 'statistics.admin.inc',
|
||||
);
|
||||
$items['admin/reports/settings'] = array(
|
||||
'title' => 'Access log settings',
|
||||
|
@ -143,7 +138,6 @@ function statistics_menu() {
|
|||
'access arguments' => array('administer site configuration'),
|
||||
'type' => MENU_NORMAL_ITEM,
|
||||
'weight' => 3,
|
||||
'file' => 'statistics.admin.inc',
|
||||
);
|
||||
$items['user/%user/track/navigation'] = array(
|
||||
'title' => 'Track page visits',
|
||||
|
@ -152,7 +146,6 @@ 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',
|
||||
|
@ -161,7 +154,6 @@ function statistics_menu() {
|
|||
'access arguments' => array('access statistics'),
|
||||
'type' => MENU_LOCAL_TASK,
|
||||
'weight' => 2,
|
||||
'file' => 'statistics.pages.inc',
|
||||
);
|
||||
|
||||
return $items;
|
||||
|
|
|
@ -4,3 +4,4 @@ description = Logs and records system events to syslog.
|
|||
package = Core - optional
|
||||
version = VERSION
|
||||
core = 7.x
|
||||
files[] = syslog.module
|
||||
|
|
|
@ -4,3 +4,5 @@ description = Handles general site configuration for administrators.
|
|||
package = Core - required
|
||||
version = VERSION
|
||||
core = 7.x
|
||||
files[] = system.module
|
||||
files[] = system.admin.inc
|
||||
|
|
|
@ -603,6 +603,8 @@ function system_schema() {
|
|||
$schema['cache_page']['description'] = t('Cache table used to store compressed pages for anonymous users, if page caching is enabled.');
|
||||
$schema['cache_menu'] = $schema['cache'];
|
||||
$schema['cache_menu']['description'] = t('Cache table for the menu system to store router information as well as generated link trees for various menu/page/user combinations.');
|
||||
$schema['cache_registry'] = $schema['cache'];
|
||||
$schema['cache_registry']['description'] = t('Cache table for the code registry system to remember what code files need to be loaded on any given page.');
|
||||
|
||||
$schema['files'] = array(
|
||||
'description' => t('Stores information for uploaded files.'),
|
||||
|
@ -859,11 +861,6 @@ function system_schema() {
|
|||
'not null' => TRUE,
|
||||
'default' => 0,
|
||||
),
|
||||
'file' => array(
|
||||
'description' => t('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'),
|
||||
|
@ -1056,6 +1053,52 @@ function system_schema() {
|
|||
'primary key' => array('mlid'),
|
||||
);
|
||||
|
||||
$schema['registry'] = array(
|
||||
'description' => t("Each record is a function, class, or interface name and the file it is in."),
|
||||
'fields' => array(
|
||||
'name' => array(
|
||||
'description' => t('The name of the function, class, or interface.'),
|
||||
'type' => 'varchar',
|
||||
'length' => 255,
|
||||
'not null' => TRUE,
|
||||
'default' => '',
|
||||
),
|
||||
'type' => array(
|
||||
'description' => t('Either function or class or interface.'),
|
||||
'type' => 'varchar',
|
||||
'length' => 9,
|
||||
'not null' => TRUE,
|
||||
'default' => '',
|
||||
),
|
||||
'filename' => array(
|
||||
'description' => t('Name of the file.'),
|
||||
'type' => 'varchar',
|
||||
'length' => 255,
|
||||
'not null' => TRUE,
|
||||
),
|
||||
),
|
||||
'primary key' => array('name', 'type'),
|
||||
);
|
||||
|
||||
$schema['registry_file'] = array(
|
||||
'description' => t("Files parsed to build the registry."),
|
||||
'fields' => array(
|
||||
'filename' => array(
|
||||
'description' => t('Path to the file.'),
|
||||
'type' => 'varchar',
|
||||
'length' => 255,
|
||||
'not null' => TRUE,
|
||||
),
|
||||
'md5' => array(
|
||||
'description' => t("Md5 hash of the file's contents when last parsed."),
|
||||
'type' => 'varchar',
|
||||
'length' => 32,
|
||||
'not null' => TRUE,
|
||||
),
|
||||
),
|
||||
'primary key' => array('filename'),
|
||||
);
|
||||
|
||||
$schema['sessions'] = array(
|
||||
'description' => t("Drupal's session handlers read and write into the sessions table. Each record represents a user session, either anonymous or authenticated."),
|
||||
'fields' => array(
|
||||
|
@ -2682,7 +2725,7 @@ function system_update_7000() {
|
|||
}
|
||||
|
||||
/**
|
||||
* Generate a cron key and save it in the variables table
|
||||
* Generate a cron key and save it in the variables table.
|
||||
*/
|
||||
function system_update_7001() {
|
||||
$ret = array();
|
||||
|
@ -2860,9 +2903,49 @@ function system_update_7005() {
|
|||
return $ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* Registry tables and drop the file key of the menu router, since it is no
|
||||
* longer needed.
|
||||
*/
|
||||
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' => ''),
|
||||
),
|
||||
'primary key' => array('name', 'type'),
|
||||
);
|
||||
$schema['registry_file'] = array(
|
||||
'fields' => array(
|
||||
'filename' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
|
||||
'md5' => array('type' => 'varchar', 'length' => 32, 'not null' => TRUE, 'default' => ''),
|
||||
),
|
||||
'primary key' => array('filename'),
|
||||
);
|
||||
$schema['cache_registry'] = array(
|
||||
'fields' => array(
|
||||
'cid' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
|
||||
'data' => array('type' => 'blob', 'not null' => FALSE, 'size' => 'big'),
|
||||
'expire' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
|
||||
'created' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
|
||||
'headers' => array('type' => 'text', 'not null' => FALSE),
|
||||
'serialized' => array('type' => 'int', 'size' => 'small', 'not null' => TRUE, 'default' => 0)
|
||||
),
|
||||
'indexes' => array('expire' => array('expire')),
|
||||
'primary key' => array('cid'),
|
||||
);
|
||||
db_create_table($ret, 'cache_registry', $schema['cache_registry']);
|
||||
db_create_table($ret, 'registry', $schema['registry']);
|
||||
db_create_table($ret, 'registry_file', $schema['registry_file']);
|
||||
drupal_rebuild_code_registry();
|
||||
return $ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* @} End of "defgroup updates-6.x-to-7.x"
|
||||
* The next series of updates should start at 8000.
|
||||
*/
|
||||
|
||||
|
||||
|
|
|
@ -331,27 +331,23 @@ function system_menu() {
|
|||
'access arguments' => array('access administration pages'),
|
||||
'page callback' => 'system_main_admin_page',
|
||||
'weight' => 9,
|
||||
'file' => 'system.admin.inc',
|
||||
);
|
||||
$items['admin/compact'] = array(
|
||||
'title' => 'Compact mode',
|
||||
'page callback' => 'system_admin_compact_page',
|
||||
'access arguments' => array('access administration pages'),
|
||||
'type' => MENU_CALLBACK,
|
||||
'file' => 'system.admin.inc',
|
||||
);
|
||||
$items['admin/by-task'] = array(
|
||||
'title' => 'By task',
|
||||
'page callback' => 'system_main_admin_page',
|
||||
'access arguments' => array('access administration pages'),
|
||||
'file' => 'system.admin.inc',
|
||||
'type' => MENU_DEFAULT_LOCAL_TASK,
|
||||
);
|
||||
$items['admin/by-module'] = array(
|
||||
'title' => 'By module',
|
||||
'page callback' => 'system_admin_by_module',
|
||||
'access arguments' => array('access administration pages'),
|
||||
'file' => 'system.admin.inc',
|
||||
'type' => MENU_LOCAL_TASK,
|
||||
'weight' => 2,
|
||||
);
|
||||
|
@ -362,7 +358,6 @@ function system_menu() {
|
|||
'weight' => -10,
|
||||
'page callback' => 'system_admin_menu_block_page',
|
||||
'access arguments' => array('access administration pages'),
|
||||
'file' => 'system.admin.inc',
|
||||
);
|
||||
|
||||
// menu items that are basically just menu blocks
|
||||
|
@ -373,7 +368,6 @@ function system_menu() {
|
|||
'weight' => -5,
|
||||
'page callback' => 'system_settings_overview',
|
||||
'access arguments' => array('access administration pages'),
|
||||
'file' => 'system.admin.inc',
|
||||
);
|
||||
$items['admin/build'] = array(
|
||||
'title' => 'Site building',
|
||||
|
@ -382,7 +376,6 @@ function system_menu() {
|
|||
'weight' => -10,
|
||||
'page callback' => 'system_admin_menu_block_page',
|
||||
'access arguments' => array('access administration pages'),
|
||||
'file' => 'system.admin.inc',
|
||||
);
|
||||
$items['admin/settings/admin'] = array(
|
||||
'title' => 'Administration theme',
|
||||
|
@ -392,7 +385,6 @@ function system_menu() {
|
|||
'page arguments' => array('system_admin_theme_settings'),
|
||||
'access arguments' => array('administer site configuration'),
|
||||
'block callback' => 'system_admin_theme_settings',
|
||||
'file' => 'system.admin.inc',
|
||||
);
|
||||
// Themes:
|
||||
$items['admin/build/themes'] = array(
|
||||
|
@ -401,7 +393,6 @@ function system_menu() {
|
|||
'page callback' => 'drupal_get_form',
|
||||
'page arguments' => array('system_themes_form', NULL),
|
||||
'access arguments' => array('administer site configuration'),
|
||||
'file' => 'system.admin.inc',
|
||||
);
|
||||
$items['admin/build/themes/select'] = array(
|
||||
'title' => 'List',
|
||||
|
@ -439,7 +430,6 @@ function system_menu() {
|
|||
'page callback' => 'drupal_get_form',
|
||||
'page arguments' => array('system_modules'),
|
||||
'access arguments' => array('administer site configuration'),
|
||||
'file' => 'system.admin.inc',
|
||||
);
|
||||
$items['admin/build/modules/list'] = array(
|
||||
'title' => 'List',
|
||||
|
@ -504,7 +494,6 @@ 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/delete/%blocked_ip'] = array(
|
||||
'title' => 'Delete IP address',
|
||||
|
@ -512,7 +501,6 @@ function system_menu() {
|
|||
'page arguments' => array('system_ip_blocking_delete', 4),
|
||||
'access arguments' => array('block IP addresses'),
|
||||
'type' => MENU_CALLBACK,
|
||||
'file' => 'system.admin.inc',
|
||||
);
|
||||
|
||||
// Settings:
|
||||
|
@ -522,7 +510,6 @@ 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/error-reporting'] = array(
|
||||
'title' => 'Error reporting',
|
||||
|
@ -530,14 +517,12 @@ function system_menu() {
|
|||
'page callback' => 'drupal_get_form',
|
||||
'page arguments' => array('system_error_reporting_settings'),
|
||||
'access arguments' => array('administer site configuration'),
|
||||
'file' => 'system.admin.inc',
|
||||
);
|
||||
$items['admin/settings/logging'] = array(
|
||||
'title' => 'Logging and alerts',
|
||||
'description' => "Settings for logging and alerts modules. Various modules can route Drupal's system events to different destination, such as syslog, database, email, ...etc.",
|
||||
'page callback' => 'system_logging_overview',
|
||||
'access arguments' => array('administer site configuration'),
|
||||
'file' => 'system.admin.inc',
|
||||
);
|
||||
$items['admin/settings/performance'] = array(
|
||||
'title' => 'Performance',
|
||||
|
@ -545,7 +530,6 @@ 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/settings/file-system'] = array(
|
||||
'title' => 'File system',
|
||||
|
@ -553,7 +537,6 @@ function system_menu() {
|
|||
'page callback' => 'drupal_get_form',
|
||||
'page arguments' => array('system_file_system_settings'),
|
||||
'access arguments' => array('administer site configuration'),
|
||||
'file' => 'system.admin.inc',
|
||||
);
|
||||
$items['admin/settings/image-toolkit'] = array(
|
||||
'title' => 'Image toolkit',
|
||||
|
@ -561,7 +544,6 @@ 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/content/rss-publishing'] = array(
|
||||
'title' => 'RSS publishing',
|
||||
|
@ -569,7 +551,6 @@ 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/date-time'] = array(
|
||||
'title' => 'Date and time',
|
||||
|
@ -577,14 +558,12 @@ function system_menu() {
|
|||
'page callback' => 'drupal_get_form',
|
||||
'page arguments' => array('system_date_time_settings'),
|
||||
'access arguments' => array('administer site configuration'),
|
||||
'file' => 'system.admin.inc',
|
||||
);
|
||||
$items['admin/settings/date-time/lookup'] = array(
|
||||
'title' => 'Date and time lookup',
|
||||
'type' => MENU_CALLBACK,
|
||||
'page callback' => 'system_date_time_lookup',
|
||||
'access arguments' => array('administer site configuration'),
|
||||
'file' => 'system.admin.inc',
|
||||
);
|
||||
$items['admin/settings/site-maintenance'] = array(
|
||||
'title' => 'Site maintenance',
|
||||
|
@ -592,7 +571,6 @@ function system_menu() {
|
|||
'page callback' => 'drupal_get_form',
|
||||
'page arguments' => array('system_site_maintenance_settings'),
|
||||
'access arguments' => array('administer site configuration'),
|
||||
'file' => 'system.admin.inc',
|
||||
);
|
||||
$items['admin/settings/clean-urls'] = array(
|
||||
'title' => 'Clean URLs',
|
||||
|
@ -600,7 +578,6 @@ 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',
|
||||
|
@ -627,7 +604,6 @@ function system_menu() {
|
|||
'access arguments' => array('access site reports'),
|
||||
'weight' => 5,
|
||||
'position' => 'left',
|
||||
'file' => 'system.admin.inc',
|
||||
);
|
||||
$items['admin/reports/status'] = array(
|
||||
'title' => 'Status report',
|
||||
|
@ -635,35 +611,30 @@ 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',
|
||||
);
|
||||
$items['admin/reports/status/sql'] = array(
|
||||
'title' => 'SQL',
|
||||
'page callback' => 'system_sql',
|
||||
'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;
|
||||
}
|
||||
|
|
|
@ -4,3 +4,6 @@ description = Enables the categorization of content.
|
|||
package = Core - optional
|
||||
version = VERSION
|
||||
core = 7.x
|
||||
files[] = taxonomy.module
|
||||
files[] = taxonomy.admin.inc
|
||||
files[] = taxonomy.pages.inc
|
||||
|
|
|
@ -117,7 +117,6 @@ 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/content/taxonomy/list'] = array(
|
||||
|
@ -133,7 +132,6 @@ function taxonomy_menu() {
|
|||
'access arguments' => array('administer taxonomy'),
|
||||
'type' => MENU_LOCAL_TASK,
|
||||
'parent' => 'admin/content/taxonomy',
|
||||
'file' => 'taxonomy.admin.inc',
|
||||
);
|
||||
|
||||
$items['admin/content/taxonomy/edit/vocabulary/%taxonomy_vocabulary'] = array(
|
||||
|
@ -142,7 +140,6 @@ function taxonomy_menu() {
|
|||
'page arguments' => array(5),
|
||||
'access arguments' => array('administer taxonomy'),
|
||||
'type' => MENU_CALLBACK,
|
||||
'file' => 'taxonomy.admin.inc',
|
||||
);
|
||||
|
||||
$items['admin/content/taxonomy/edit/term'] = array(
|
||||
|
@ -150,7 +147,6 @@ function taxonomy_menu() {
|
|||
'page callback' => 'taxonomy_admin_term_edit',
|
||||
'access arguments' => array('administer taxonomy'),
|
||||
'type' => MENU_CALLBACK,
|
||||
'file' => 'taxonomy.admin.inc',
|
||||
);
|
||||
|
||||
$items['taxonomy/term/%'] = array(
|
||||
|
@ -159,7 +155,6 @@ function taxonomy_menu() {
|
|||
'page arguments' => array(2),
|
||||
'access arguments' => array('access content'),
|
||||
'type' => MENU_CALLBACK,
|
||||
'file' => 'taxonomy.pages.inc',
|
||||
);
|
||||
|
||||
$items['taxonomy/autocomplete'] = array(
|
||||
|
@ -167,7 +162,6 @@ function taxonomy_menu() {
|
|||
'page callback' => 'taxonomy_autocomplete',
|
||||
'access arguments' => array('access content'),
|
||||
'type' => MENU_CALLBACK,
|
||||
'file' => 'taxonomy.pages.inc',
|
||||
);
|
||||
$items['admin/content/taxonomy/%taxonomy_vocabulary'] = array(
|
||||
'title' => 'List terms',
|
||||
|
@ -175,7 +169,6 @@ function taxonomy_menu() {
|
|||
'page arguments' => array('taxonomy_overview_terms', 3),
|
||||
'access arguments' => array('administer taxonomy'),
|
||||
'type' => MENU_CALLBACK,
|
||||
'file' => 'taxonomy.admin.inc',
|
||||
);
|
||||
|
||||
$items['admin/content/taxonomy/%taxonomy_vocabulary/list'] = array(
|
||||
|
@ -191,7 +184,6 @@ function taxonomy_menu() {
|
|||
'access arguments' => array('administer taxonomy'),
|
||||
'type' => MENU_LOCAL_TASK,
|
||||
'parent' => 'admin/content/taxonomy/%taxonomy_vocabulary',
|
||||
'file' => 'taxonomy.admin.inc',
|
||||
);
|
||||
|
||||
return $items;
|
||||
|
|
|
@ -5,3 +5,5 @@ dependencies[] = comment
|
|||
package = Core - optional
|
||||
version = VERSION
|
||||
core = 7.x
|
||||
files[] = tracker.module
|
||||
files[] = tracker.pages.inc
|
||||
|
|
|
@ -28,7 +28,6 @@ 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',
|
||||
|
@ -49,7 +48,6 @@ 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',
|
||||
|
|
|
@ -5,3 +5,5 @@ dependencies[] = locale
|
|||
package = Core - optional
|
||||
version = VERSION
|
||||
core = 7.x
|
||||
files[] = translation.module
|
||||
files[] = translation.pages.inc
|
||||
|
|
|
@ -63,7 +63,6 @@ function translation_menu() {
|
|||
'access arguments' => array(1),
|
||||
'type' => MENU_LOCAL_TASK,
|
||||
'weight' => 2,
|
||||
'file' => 'translation.pages.inc',
|
||||
);
|
||||
return $items;
|
||||
}
|
||||
|
|
|
@ -4,3 +4,5 @@ description = Enables actions to be fired on certain system events, such as when
|
|||
package = Core - optional
|
||||
version = VERSION
|
||||
core = 7.x
|
||||
files[] = trigger.module
|
||||
files[] = trigger.admin.inc
|
||||
|
|
|
@ -41,7 +41,6 @@ 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.
|
||||
|
@ -52,7 +51,6 @@ function trigger_menu() {
|
|||
'access callback' => 'trigger_access_check',
|
||||
'access arguments' => array('node'),
|
||||
'type' => MENU_LOCAL_TASK,
|
||||
'file' => 'trigger.admin.inc',
|
||||
);
|
||||
$items['admin/build/trigger/user'] = array(
|
||||
'title' => 'Users',
|
||||
|
@ -61,7 +59,6 @@ function trigger_menu() {
|
|||
'access callback' => 'trigger_access_check',
|
||||
'access arguments' => array('user'),
|
||||
'type' => MENU_LOCAL_TASK,
|
||||
'file' => 'trigger.admin.inc',
|
||||
);
|
||||
$items['admin/build/trigger/comment'] = array(
|
||||
'title' => 'Comments',
|
||||
|
@ -70,7 +67,6 @@ function trigger_menu() {
|
|||
'access callback' => 'trigger_access_check',
|
||||
'access arguments' => array('comment'),
|
||||
'type' => MENU_LOCAL_TASK,
|
||||
'file' => 'trigger.admin.inc',
|
||||
);
|
||||
$items['admin/build/trigger/taxonomy'] = array(
|
||||
'title' => 'Taxonomy',
|
||||
|
@ -79,7 +75,6 @@ function trigger_menu() {
|
|||
'access callback' => 'trigger_access_check',
|
||||
'access arguments' => array('taxonomy'),
|
||||
'type' => MENU_LOCAL_TASK,
|
||||
'file' => 'trigger.admin.inc',
|
||||
);
|
||||
$items['admin/build/trigger/cron'] = array(
|
||||
'title' => 'Cron',
|
||||
|
@ -87,7 +82,6 @@ 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
|
||||
|
@ -107,7 +101,6 @@ function trigger_menu() {
|
|||
'page arguments' => array($module),
|
||||
'access arguments' => array($module),
|
||||
'type' => MENU_LOCAL_TASK,
|
||||
'file' => 'trigger.admin.inc',
|
||||
);
|
||||
}
|
||||
$items['admin/build/trigger/unassign'] = array(
|
||||
|
@ -117,7 +110,6 @@ function trigger_menu() {
|
|||
'page arguments' => array('trigger_unassign'),
|
||||
'access arguments' => array('administer actions'),
|
||||
'type' => MENU_CALLBACK,
|
||||
'file' => 'trigger.admin.inc',
|
||||
);
|
||||
|
||||
return $items;
|
||||
|
|
|
@ -4,3 +4,8 @@ description = Checks the status of available updates for Drupal and your install
|
|||
version = VERSION
|
||||
package = Core - optional
|
||||
core = 7.x
|
||||
files[] = update.module
|
||||
files[] = update.compare.inc
|
||||
files[] = update.fetch.inc
|
||||
files[] = update.report.inc
|
||||
files[] = update.settings.inc
|
||||
|
|
|
@ -121,14 +121,12 @@ function update_menu() {
|
|||
'description' => 'Get a status report about available updates for your installed modules and themes.',
|
||||
'page callback' => 'update_status',
|
||||
'access arguments' => array('administer site configuration'),
|
||||
'file' => 'update.report.inc',
|
||||
'weight' => 10,
|
||||
);
|
||||
$items['admin/reports/updates/list'] = array(
|
||||
'title' => 'List',
|
||||
'page callback' => 'update_status',
|
||||
'access arguments' => array('administer site configuration'),
|
||||
'file' => 'update.report.inc',
|
||||
'type' => MENU_DEFAULT_LOCAL_TASK,
|
||||
);
|
||||
$items['admin/reports/updates/settings'] = array(
|
||||
|
@ -136,14 +134,12 @@ function update_menu() {
|
|||
'page callback' => 'drupal_get_form',
|
||||
'page arguments' => array('update_settings'),
|
||||
'access arguments' => array('administer site configuration'),
|
||||
'file' => 'update.settings.inc',
|
||||
'type' => MENU_LOCAL_TASK,
|
||||
);
|
||||
$items['admin/reports/updates/check'] = array(
|
||||
'title' => 'Manual update check',
|
||||
'page callback' => 'update_manual_status',
|
||||
'access arguments' => array('administer site configuration'),
|
||||
'file' => 'update.fetch.inc',
|
||||
'type' => MENU_CALLBACK,
|
||||
);
|
||||
|
||||
|
|
|
@ -4,3 +4,5 @@ description = Allows users to upload and attach files to content.
|
|||
package = Core - optional
|
||||
version = VERSION
|
||||
core = 7.x
|
||||
files[] = upload.module
|
||||
files[] = upload.admin.inc
|
||||
|
|
|
@ -92,7 +92,6 @@ 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;
|
||||
}
|
||||
|
|
|
@ -4,3 +4,6 @@ description = Manages the user registration and login system.
|
|||
package = Core - required
|
||||
version = VERSION
|
||||
core = 7.x
|
||||
files[] = user.module
|
||||
files[] = user.admin.inc
|
||||
files[] = user.pages.inc
|
||||
|
|
|
@ -852,7 +852,6 @@ function user_menu() {
|
|||
'access callback' => 'user_access',
|
||||
'access arguments' => array('access user profiles'),
|
||||
'type' => MENU_CALLBACK,
|
||||
'file' => 'user.pages.inc',
|
||||
);
|
||||
|
||||
// Registration and login pages.
|
||||
|
@ -861,7 +860,6 @@ function user_menu() {
|
|||
'page callback' => 'user_page',
|
||||
'access callback' => TRUE,
|
||||
'type' => MENU_CALLBACK,
|
||||
'file' => 'user.pages.inc',
|
||||
);
|
||||
|
||||
$items['user/login'] = array(
|
||||
|
@ -876,7 +874,6 @@ function user_menu() {
|
|||
'page arguments' => array('user_register'),
|
||||
'access callback' => 'user_register_access',
|
||||
'type' => MENU_LOCAL_TASK,
|
||||
'file' => 'user.pages.inc',
|
||||
);
|
||||
|
||||
$items['user/password'] = array(
|
||||
|
@ -885,7 +882,6 @@ 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',
|
||||
|
@ -893,7 +889,6 @@ function user_menu() {
|
|||
'page arguments' => array('user_pass_reset', 2, 3, 4),
|
||||
'access callback' => TRUE,
|
||||
'type' => MENU_CALLBACK,
|
||||
'file' => 'user.pages.inc',
|
||||
);
|
||||
|
||||
// User administration pages.
|
||||
|
@ -903,8 +898,6 @@ function user_menu() {
|
|||
'position' => 'left',
|
||||
'page callback' => 'system_admin_menu_block_page',
|
||||
'access arguments' => array('access administration pages'),
|
||||
'file' => 'system.admin.inc',
|
||||
'file path' => drupal_get_path('module', 'system'),
|
||||
);
|
||||
$items['admin/user/user'] = array(
|
||||
'title' => 'Users',
|
||||
|
@ -912,7 +905,6 @@ function user_menu() {
|
|||
'page callback' => 'user_admin',
|
||||
'page arguments' => array('list'),
|
||||
'access arguments' => array('administer users'),
|
||||
'file' => 'user.admin.inc',
|
||||
);
|
||||
$items['admin/user/user/list'] = array(
|
||||
'title' => 'List',
|
||||
|
@ -924,7 +916,6 @@ function user_menu() {
|
|||
'page arguments' => array('create'),
|
||||
'access arguments' => array('administer users'),
|
||||
'type' => MENU_LOCAL_TASK,
|
||||
'file' => 'user.admin.inc',
|
||||
);
|
||||
$items['admin/user/settings'] = array(
|
||||
'title' => 'User settings',
|
||||
|
@ -932,7 +923,6 @@ function user_menu() {
|
|||
'page callback' => 'drupal_get_form',
|
||||
'page arguments' => array('user_admin_settings'),
|
||||
'access arguments' => array('administer users'),
|
||||
'file' => 'user.admin.inc',
|
||||
);
|
||||
|
||||
// Permission administration pages.
|
||||
|
@ -942,7 +932,6 @@ function user_menu() {
|
|||
'page callback' => 'drupal_get_form',
|
||||
'page arguments' => array('user_admin_perm'),
|
||||
'access arguments' => array('administer permissions'),
|
||||
'file' => 'user.admin.inc',
|
||||
);
|
||||
$items['admin/user/roles'] = array(
|
||||
'title' => 'Roles',
|
||||
|
@ -950,14 +939,12 @@ 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/user/roles/edit'] = array(
|
||||
'title' => 'Edit role',
|
||||
'page arguments' => array('user_admin_role'),
|
||||
'access arguments' => array('administer permissions'),
|
||||
'type' => MENU_CALLBACK,
|
||||
'file' => 'user.admin.inc',
|
||||
);
|
||||
|
||||
$items['logout'] = array(
|
||||
|
@ -965,7 +952,6 @@ function user_menu() {
|
|||
'access callback' => 'user_is_logged_in',
|
||||
'page callback' => 'user_logout',
|
||||
'weight' => 10,
|
||||
'file' => 'user.pages.inc',
|
||||
);
|
||||
|
||||
$items['user/%user_uid_optional'] = array(
|
||||
|
@ -977,7 +963,6 @@ function user_menu() {
|
|||
'access callback' => 'user_view_access',
|
||||
'access arguments' => array(1),
|
||||
'parent' => '',
|
||||
'file' => 'user.pages.inc',
|
||||
);
|
||||
|
||||
$items['user/%user/view'] = array(
|
||||
|
@ -993,7 +978,6 @@ function user_menu() {
|
|||
'access callback' => 'user_access',
|
||||
'access arguments' => array('administer users'),
|
||||
'type' => MENU_CALLBACK,
|
||||
'file' => 'user.pages.inc',
|
||||
);
|
||||
|
||||
$items['user/%user_category/edit'] = array(
|
||||
|
@ -1004,7 +988,6 @@ function user_menu() {
|
|||
'access arguments' => array(1),
|
||||
'type' => MENU_LOCAL_TASK,
|
||||
'load arguments' => array('%map', '%index'),
|
||||
'file' => 'user.pages.inc',
|
||||
);
|
||||
|
||||
$items['user/%user_category/edit/account'] = array(
|
||||
|
@ -1029,7 +1012,6 @@ function user_menu() {
|
|||
'weight' => $category['weight'],
|
||||
'load arguments' => array('%map', '%index'),
|
||||
'tab_parent' => 'user/%/edit',
|
||||
'file' => 'user.pages.inc',
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue