From 9db1fddb906738e6c8873cbab4f2db2cf622c5ed Mon Sep 17 00:00:00 2001
From: catch <catch@35733.no-reply.drupal.org>
Date: Thu, 22 Dec 2011 20:45:21 +0900
Subject: [PATCH] Issue #1368872 by agentrickard: Clean up API docs for syslog.

---
 core/includes/common.inc                      |  6 ++-
 core/includes/module.inc                      | 11 -----
 core/includes/path.inc                        |  6 +--
 core/modules/book/book.info                   |  1 +
 core/modules/comment/comment.info             |  1 +
 core/modules/forum/forum.info                 |  1 +
 core/modules/help/help.module                 |  5 ++-
 core/modules/node/node.info                   |  1 -
 core/modules/node/node.module                 | 22 ++++++++++
 core/modules/overlay/overlay.module           |  2 +-
 core/modules/poll/poll.info                   |  1 +
 core/modules/rdf/tests/rdf_test.info          |  1 +
 core/modules/shortcut/shortcut.install        | 13 +++---
 .../simpletest/tests/database_test.test       | 41 ++++++-------------
 core/modules/simpletest/tests/theme.test      |  3 +-
 .../simpletest/tests/theme_test.module        |  4 +-
 core/modules/syslog/syslog.module             |  9 ++++
 core/modules/system/system.admin.inc          | 10 ++---
 profiles/minimal/minimal.info                 |  1 +
 profiles/minimal/minimal.install              |  3 ++
 profiles/standard/standard.info               |  1 +
 profiles/standard/standard.install            |  3 ++
 profiles/testing/testing.install              |  4 --
 23 files changed, 85 insertions(+), 65 deletions(-)

diff --git a/core/includes/common.inc b/core/includes/common.inc
index 9da67ac90312..b4012d8287c9 100644
--- a/core/includes/common.inc
+++ b/core/includes/common.inc
@@ -7367,7 +7367,11 @@ function drupal_flush_all_caches() {
   system_rebuild_theme_data();
   drupal_theme_rebuild();
 
-  node_types_rebuild();
+  // @todo D8: Split cache flushing from rebuilding.
+  // @see http://drupal.org/node/996236
+  if (module_exists('node')) {
+    node_types_rebuild();
+  }
   // node_menu() defines menu items based on node types so it needs to come
   // after node types are rebuilt.
   menu_rebuild();
diff --git a/core/includes/module.inc b/core/includes/module.inc
index 221ad605a4ea..748e792749b2 100644
--- a/core/includes/module.inc
+++ b/core/includes/module.inc
@@ -520,11 +520,6 @@ function module_disable($module_list, $disable_dependents = TRUE) {
 
   foreach ($module_list as $module) {
     if (module_exists($module)) {
-      // Check if node_access table needs rebuilding.
-      if (!node_access_needs_rebuild() && module_hook($module, 'node_grants')) {
-        node_access_needs_rebuild(TRUE);
-      }
-
       module_load_install($module);
       module_invoke($module, 'disable');
       db_update('system')
@@ -549,12 +544,6 @@ function module_disable($module_list, $disable_dependents = TRUE) {
     registry_update();
     _system_update_bootstrap_status();
   }
-
-  // If there remains no more node_access module, rebuilding will be
-  // straightforward, we can do it right now.
-  if (node_access_needs_rebuild() && count(module_implements('node_grants')) == 0) {
-    node_access_rebuild();
-  }
 }
 
 /**
diff --git a/core/includes/path.inc b/core/includes/path.inc
index 1fac2352140c..9ae187548279 100644
--- a/core/includes/path.inc
+++ b/core/includes/path.inc
@@ -16,7 +16,7 @@ function drupal_path_initialize() {
   // Ensure $_GET['q'] is set before calling drupal_normal_path(), to support
   // path caching with hook_url_inbound_alter().
   if (empty($_GET['q'])) {
-    $_GET['q'] = variable_get('site_frontpage', 'node');
+    $_GET['q'] = variable_get('site_frontpage', 'user');
   }
   $_GET['q'] = drupal_get_normal_path($_GET['q']);
 }
@@ -292,7 +292,7 @@ function drupal_is_front_page() {
   if (!isset($is_front_page)) {
     // As drupal_path_initialize updates $_GET['q'] with the 'site_frontpage' path,
     // we can check it against the 'site_frontpage' variable.
-    $is_front_page = ($_GET['q'] == variable_get('site_frontpage', 'node'));
+    $is_front_page = ($_GET['q'] == variable_get('site_frontpage', 'user'));
   }
 
   return $is_front_page;
@@ -323,7 +323,7 @@ function drupal_match_path($path, $patterns) {
     $replacements = array(
       '|',
       '.*',
-      '\1' . preg_quote(variable_get('site_frontpage', 'node'), '/') . '\2'
+      '\1' . preg_quote(variable_get('site_frontpage', 'user'), '/') . '\2'
     );
     $patterns_quoted = preg_quote($patterns, '/');
     $regexps[$patterns] = '/^(' . preg_replace($to_replace, $replacements, $patterns_quoted) . ')$/';
diff --git a/core/modules/book/book.info b/core/modules/book/book.info
index 15984ad1476f..f370800e8318 100644
--- a/core/modules/book/book.info
+++ b/core/modules/book/book.info
@@ -3,6 +3,7 @@ description = Allows users to create and organize related content in an outline.
 package = Core
 version = VERSION
 core = 8.x
+dependencies[] = node
 files[] = book.test
 configure = admin/content/book/settings
 stylesheets[all][] = book.theme.css
diff --git a/core/modules/comment/comment.info b/core/modules/comment/comment.info
index 606f46d5c89a..db6dc2c0d9a9 100644
--- a/core/modules/comment/comment.info
+++ b/core/modules/comment/comment.info
@@ -3,6 +3,7 @@ description = Allows users to comment on and discuss published content.
 package = Core
 version = VERSION
 core = 8.x
+dependencies[] = node
 dependencies[] = text
 dependencies[] = entity
 files[] = comment.entity.inc
diff --git a/core/modules/forum/forum.info b/core/modules/forum/forum.info
index cb6e3e76e19c..f202f9e0d57d 100644
--- a/core/modules/forum/forum.info
+++ b/core/modules/forum/forum.info
@@ -1,5 +1,6 @@
 name = Forum
 description = Provides discussion forums.
+dependencies[] = node
 dependencies[] = taxonomy
 dependencies[] = comment
 package = Core
diff --git a/core/modules/help/help.module b/core/modules/help/help.module
index 773a52df98fe..6f7322e6538f 100644
--- a/core/modules/help/help.module
+++ b/core/modules/help/help.module
@@ -43,7 +43,10 @@ function help_help($path, $arg) {
       $output .= '<li>' . t('<strong>Configure your website</strong> Once logged in, visit the <a href="@admin">administration section</a>, where you can <a href="@config">customize and configure</a> all aspects of your website.', array('@admin' => url('admin'), '@config' => url('admin/config'))) . '</li>';
       $output .= '<li>' . t('<strong>Enable additional functionality</strong> Next, visit the <a href="@modules">module list</a> and enable features which suit your specific needs. You can find additional modules in the <a href="@download_modules">Drupal modules download section</a>.', array('@modules' => url('admin/modules'), '@download_modules' => 'http://drupal.org/project/modules')) . '</li>';
       $output .= '<li>' . t('<strong>Customize your website design</strong> To change the "look and feel" of your website, visit the <a href="@themes">themes section</a>. You may choose from one of the included themes or download additional themes from the <a href="@download_themes">Drupal themes download section</a>.', array('@themes' => url('admin/appearance'), '@download_themes' => 'http://drupal.org/project/themes')) . '</li>';
-      $output .= '<li>' . t('<strong>Start posting content</strong> Finally, you can <a href="@content">add new content</a> for your website.', array('@content' => url('node/add'))) . '</li>';
+      // Display a link to the create content page if Node module is enabled.
+      if (module_exists('node')) {
+        $output .= '<li>' . t('<strong>Start posting content</strong> Finally, you can <a href="@content">add new content</a> for your website.', array('@content' => url('node/add'))) . '</li>';
+      }
       $output .= '</ol>';
       $output .= '<p>' . t('For more information, refer to the specific topics listed in the next section or to the <a href="@handbook">online Drupal handbooks</a>. You may also post at the <a href="@forum">Drupal forum</a> or view the wide range of <a href="@support">other support options</a> available.', array('@help' => url('admin/help'), '@handbook' => 'http://drupal.org/handbooks', '@forum' => 'http://drupal.org/forum', '@support' => 'http://drupal.org/support')) . '</p>';
       return $output;
diff --git a/core/modules/node/node.info b/core/modules/node/node.info
index 2e410ed7a4b7..33b5dd2457b1 100644
--- a/core/modules/node/node.info
+++ b/core/modules/node/node.info
@@ -5,7 +5,6 @@ version = VERSION
 core = 8.x
 files[] = node.module
 files[] = node.test
-required = TRUE
 dependencies[] = entity
 configure = admin/structure/types
 stylesheets[all][] = node.css
diff --git a/core/modules/node/node.module b/core/modules/node/node.module
index 57607cd82703..a182e90b2091 100644
--- a/core/modules/node/node.module
+++ b/core/modules/node/node.module
@@ -4079,6 +4079,28 @@ function node_modules_enabled($modules) {
   }
 }
 
+/**
+ * Implements hook_modules_disabled().
+ */
+function node_modules_disabled($modules) {
+  // Check whether any of the disabled modules implemented hook_node_grants(),
+  // in which case the node access table needs to be rebuilt.
+  foreach ($modules as $module) {
+    // At this point, the module is already disabled, but its code is still
+    // loaded in memory. Module functions must no longer be called. We only
+    // check whether a hook implementation function exists and do not invoke it.
+    if (!node_access_needs_rebuild() && module_hook($module, 'node_grants')) {
+      node_access_needs_rebuild(TRUE);
+    }
+  }
+
+  // If there remains no more node_access module, rebuilding will be
+  // straightforward, we can do it right now.
+  if (node_access_needs_rebuild() && count(module_implements('node_grants')) == 0) {
+    node_access_rebuild();
+  }
+}
+
 /**
  * Controller class for nodes.
  *
diff --git a/core/modules/overlay/overlay.module b/core/modules/overlay/overlay.module
index 5433d3e5042e..8f62c017a73f 100644
--- a/core/modules/overlay/overlay.module
+++ b/core/modules/overlay/overlay.module
@@ -635,7 +635,7 @@ function overlay_overlay_parent_initialize() {
   // Let the client side know which paths are administrative.
   $paths = path_get_admin_paths();
   foreach ($paths as &$type) {
-    $type = str_replace('<front>', variable_get('site_frontpage', 'node'), $type);
+    $type = str_replace('<front>', variable_get('site_frontpage', 'user'), $type);
   }
   drupal_add_js(array('overlay' => array('paths' => $paths)), 'setting');
   // Pass along the Ajax callback for rerendering sections of the parent window.
diff --git a/core/modules/poll/poll.info b/core/modules/poll/poll.info
index de6ac250cee6..dbdd6213b03d 100644
--- a/core/modules/poll/poll.info
+++ b/core/modules/poll/poll.info
@@ -3,5 +3,6 @@ description = Allows your site to capture votes on different topics in the form
 package = Core
 version = VERSION
 core = 8.x
+dependencies[] = node
 files[] = poll.test
 stylesheets[all][] = poll.css
diff --git a/core/modules/rdf/tests/rdf_test.info b/core/modules/rdf/tests/rdf_test.info
index b168815f8f56..87a6dac5ff0a 100644
--- a/core/modules/rdf/tests/rdf_test.info
+++ b/core/modules/rdf/tests/rdf_test.info
@@ -4,3 +4,4 @@ package = Testing
 version = VERSION
 core = 8.x
 hidden = TRUE
+dependencies[] = rdf
diff --git a/core/modules/shortcut/shortcut.install b/core/modules/shortcut/shortcut.install
index 60ee6be8ddf0..7aee9c9ca068 100644
--- a/core/modules/shortcut/shortcut.install
+++ b/core/modules/shortcut/shortcut.install
@@ -13,18 +13,19 @@ function shortcut_install() {
   // Create an initial default shortcut set.
   $shortcut_set = new stdClass();
   $shortcut_set->title = $t('Default');
-  $shortcut_set->links = array(
-    array(
+  $shortcut_set->links = array();
+  if (module_exists('node')) {
+    $shortcut_set->links[] = array(
       'link_path' => 'node/add',
       'link_title' => $t('Add content'),
       'weight' => -20,
-    ),
-    array(
+    );
+    $shortcut_set->links[] = array(
       'link_path' => 'admin/content',
       'link_title' => $t('Find content'),
       'weight' => -19,
-    ),
-  );
+    );
+  }
   // If Drupal is being installed, rebuild the menu before saving the shortcut
   // set, to make sure the links defined above can be correctly saved. (During
   // installation, the menu might not have been built at all yet, or it might
diff --git a/core/modules/simpletest/tests/database_test.test b/core/modules/simpletest/tests/database_test.test
index 6e55fbdf0f8a..934847f13bdb 100644
--- a/core/modules/simpletest/tests/database_test.test
+++ b/core/modules/simpletest/tests/database_test.test
@@ -19,7 +19,12 @@ class DatabaseTestCase extends DrupalWebTestCase {
   protected $profile = 'testing';
 
   function setUp() {
-    parent::setUp('database_test');
+    $modules = func_get_args();
+    if (isset($modules[0]) && is_array($modules[0])) {
+      $modules = $modules[0];
+    }
+    $modules[] = 'database_test';
+    parent::setUp($modules);
 
     $schema['test'] = drupal_get_schema('test');
     $schema['test_people'] = drupal_get_schema('test_people');
@@ -377,10 +382,6 @@ class DatabaseFetch2TestCase extends DatabaseTestCase {
     );
   }
 
-  function setUp() {
-    parent::setUp();
-  }
-
   // Confirm that we can fetch a record into an indexed array explicitly.
   function testQueryFetchNum() {
     $records = array();
@@ -2218,24 +2219,14 @@ class DatabaseSelectComplexTestCase2 extends DatabaseTestCase {
   }
 
   function setUp() {
-    DrupalWebTestCase::setUp('database_test', 'node_access_test');
-
-    $schema['test'] = drupal_get_schema('test');
-    $schema['test_people'] = drupal_get_schema('test_people');
-    $schema['test_one_blob'] = drupal_get_schema('test_one_blob');
-    $schema['test_two_blobs'] = drupal_get_schema('test_two_blobs');
-    $schema['test_task'] = drupal_get_schema('test_task');
-
-    $this->installTables($schema);
-
-    $this->addSampleData();
+    parent::setUp(array('node_access_test'));
   }
 
   /**
    * Test that we can join on a query.
    */
   function testJoinSubquery() {
-    $acct = $this->drupalCreateUser(array('access content'));
+    $acct = $this->drupalCreateUser();
     $this->drupalLogin($acct);
 
     $query = db_select('test_task', 'tt', array('target' => 'slave'));
@@ -2754,6 +2745,10 @@ class DatabaseRegressionTestCase extends DatabaseTestCase {
     );
   }
 
+  function setUp() {
+    parent::setUp(array('node'));
+  }
+
   /**
    * Regression test for #310447.
    *
@@ -3045,10 +3040,6 @@ class DatabaseBasicSyntaxTestCase extends DatabaseTestCase {
     );
   }
 
-  function setUp() {
-    parent::setUp('database_test');
-  }
-
   /**
    * Test for string concatenation.
    */
@@ -3146,10 +3137,6 @@ class DatabaseInvalidDataTestCase extends DatabaseTestCase {
     );
   }
 
-  function setUp() {
-    parent::setUp('database_test');
-  }
-
   /**
    * Traditional SQL database systems abort inserts when invalid data is encountered.
    */
@@ -3219,10 +3206,6 @@ class DatabaseQueryTestCase extends DatabaseTestCase {
     );
   }
 
-  function setUp() {
-    parent::setUp('database_test');
-  }
-
   /**
    * Test that we can specify an array of values in the query by simply passing in an array.
    */
diff --git a/core/modules/simpletest/tests/theme.test b/core/modules/simpletest/tests/theme.test
index b47e37978212..0482482a199a 100644
--- a/core/modules/simpletest/tests/theme.test
+++ b/core/modules/simpletest/tests/theme.test
@@ -66,7 +66,8 @@ class ThemeUnitTest extends DrupalWebTestCase {
     $q = $_GET['q'];
     // Set $_GET['q'] to node because theme_get_suggestions() will query it to
     // see if we are on the front page.
-    $_GET['q'] = variable_get('site_frontpage', 'node');
+    variable_set('site_frontpage', 'node');
+    $_GET['q'] = 'node';
     $suggestions = theme_get_suggestions(explode('/', $_GET['q']), 'page');
     // Set it back to not annoy the batch runner.
     $_GET['q'] = $q;
diff --git a/core/modules/simpletest/tests/theme_test.module b/core/modules/simpletest/tests/theme_test.module
index 400902d3ac7b..2a2552aede40 100644
--- a/core/modules/simpletest/tests/theme_test.module
+++ b/core/modules/simpletest/tests/theme_test.module
@@ -26,14 +26,14 @@ function theme_test_menu() {
   $items['theme-test/suggestion'] = array(
     'title' => 'Suggestion',
     'page callback' => '_theme_test_suggestion',
-    'access arguments' => array('access content'),
+    'access callback' => TRUE,
     'theme callback' => '_theme_custom_theme',
     'type' => MENU_CALLBACK,
   );
   $items['theme-test/alter'] = array(
     'title' => 'Suggestion',
     'page callback' => '_theme_test_alter',
-    'access arguments' => array('access content'),
+    'access callback' => TRUE,
     'theme callback' => '_theme_custom_theme',
     'type' => MENU_CALLBACK,
   );
diff --git a/core/modules/syslog/syslog.module b/core/modules/syslog/syslog.module
index c4ee38252889..7c7bf40b74b7 100644
--- a/core/modules/syslog/syslog.module
+++ b/core/modules/syslog/syslog.module
@@ -6,6 +6,15 @@
  */
 
 if (defined('LOG_LOCAL0')) {
+  /**
+   * Sets the proper logging facility.
+   *
+   * Note that LOG_LOCAL0 through LOG_LOCAL7 are not available on Windows, so we
+   * check for availability. If LOG_LOCAL0 is defined by the PHP environment, we
+   * set that as the default; if not, we use LOG_USER.
+   *
+   * @see http://php.net/manual/function.syslog.php
+   */
   define('DEFAULT_SYSLOG_FACILITY', LOG_LOCAL0);
 }
 else {
diff --git a/core/modules/system/system.admin.inc b/core/modules/system/system.admin.inc
index 6dca80b88b72..6c1a9ab5597f 100644
--- a/core/modules/system/system.admin.inc
+++ b/core/modules/system/system.admin.inc
@@ -1487,7 +1487,7 @@ function system_site_information_settings() {
   $form['front_page']['site_frontpage'] = array(
     '#type' => 'textfield',
     '#title' => t('Default front page'),
-    '#default_value' => (variable_get('site_frontpage')!='node'?drupal_get_path_alias(variable_get('site_frontpage', 'node')):''),
+    '#default_value' => (variable_get('site_frontpage') != 'user' ? drupal_get_path_alias(variable_get('site_frontpage', 'user')) : ''),
     '#size' => 40,
     '#description' => t('Optionally, specify a relative URL to display as the front page.  Leave blank to display the default content feed.'),
     '#field_prefix' => url(NULL, array('absolute' => TRUE)) . (variable_get('clean_url', 0) ? '' : '?q='),
@@ -1497,8 +1497,8 @@ function system_site_information_settings() {
     '#default_value' => variable_get('default_nodes_main', 10),
     '#options' => drupal_map_assoc(array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30)),
     '#description' => t('The maximum number of posts displayed on overview pages such as the front page.'),
-    '#access' => (variable_get('site_frontpage')=='node'),
-  );  
+    '#access' => (variable_get('site_frontpage') == 'node'),
+  );
   $form['error_page'] = array(
     '#type' => 'fieldset',
     '#title' => t('Error pages'),
@@ -1535,8 +1535,8 @@ function system_site_information_settings_validate($form, &$form_state) {
   }
   // Check for empty front page path.
   if (empty($form_state['values']['site_frontpage'])) {
-    // Set to default "node".
-    form_set_value($form['front_page']['site_frontpage'], 'node', $form_state);
+    // Set to default "user".
+    form_set_value($form['front_page']['site_frontpage'], 'user', $form_state);
   }
   else {
     // Get the normal path of the front page.
diff --git a/profiles/minimal/minimal.info b/profiles/minimal/minimal.info
index c384680a3d9e..f2219481d289 100644
--- a/profiles/minimal/minimal.info
+++ b/profiles/minimal/minimal.info
@@ -2,6 +2,7 @@ name = Minimal
 description = Start with only a few modules enabled.
 version = VERSION
 core = 8.x
+dependencies[] = node
 dependencies[] = block
 dependencies[] = dblog
 files[] = minimal.profile
diff --git a/profiles/minimal/minimal.install b/profiles/minimal/minimal.install
index 6c56aecd2e85..d5b85c5f23dd 100644
--- a/profiles/minimal/minimal.install
+++ b/profiles/minimal/minimal.install
@@ -72,6 +72,9 @@ function minimal_install() {
   }
   $query->execute();
 
+  // Set front page to "node".
+  variable_set('site_frontpage', 'node');
+
   // Allow visitor account creation, but with administrative approval.
   variable_set('user_register', USER_REGISTER_VISITORS_ADMINISTRATIVE_APPROVAL);
 
diff --git a/profiles/standard/standard.info b/profiles/standard/standard.info
index 56e43086a839..e21c18c89e2b 100644
--- a/profiles/standard/standard.info
+++ b/profiles/standard/standard.info
@@ -2,6 +2,7 @@ name = Standard
 description = Install with commonly used features pre-configured.
 version = VERSION
 core = 8.x
+dependencies[] = node
 dependencies[] = block
 dependencies[] = color
 dependencies[] = comment
diff --git a/profiles/standard/standard.install b/profiles/standard/standard.install
index 9195ad949e1d..f8a73ce66da8 100644
--- a/profiles/standard/standard.install
+++ b/profiles/standard/standard.install
@@ -199,6 +199,9 @@ function standard_install() {
   }
   $query->execute();
 
+  // Set front page to "node".
+  variable_set('site_frontpage', 'node');
+
   // Insert default pre-defined node types into the database. For a complete
   // list of available node type attributes, refer to the node type API
   // documentation at: http://api.drupal.org/api/HEAD/function/hook_node_info.
diff --git a/profiles/testing/testing.install b/profiles/testing/testing.install
index 192704d75191..19092d424020 100644
--- a/profiles/testing/testing.install
+++ b/profiles/testing/testing.install
@@ -8,8 +8,4 @@
 function testing_install() {
   // Allow visitor account creation, but with administrative approval.
   variable_set('user_register', USER_REGISTER_VISITORS_ADMINISTRATIVE_APPROVAL);
-
-  // Enable default permissions for system roles.
-  user_role_grant_permissions(DRUPAL_ANONYMOUS_RID, array('access content'));
-  user_role_grant_permissions(DRUPAL_AUTHENTICATED_RID, array('access content'));
 }
-- 
GitLab