summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2009-11-17 21:24:19 +0000
committerDries Buytaert <dries@buytaert.net>2009-11-17 21:24:19 +0000
commita239296cbcbf068010d5a193c591f6a28ee62d8a (patch)
tree5d9a93c6f82c8042153292414a8879126ffff961 /modules
parenta6cca24d2ae17de1eb1829a8eefa249f756f8975 (diff)
downloadbrdo-a239296cbcbf068010d5a193c591f6a28ee62d8a.tar.gz
brdo-a239296cbcbf068010d5a193c591f6a28ee62d8a.tar.bz2
- Patch #598758 by stBorchert, sun, pwolanin, eigentor, TheRec, seutje: add link to the permissions and configuration page of each module from the module configuration page. Great team work!
Diffstat (limited to 'modules')
-rw-r--r--modules/aggregator/aggregator.info1
-rw-r--r--modules/block/block.info2
-rw-r--r--modules/book/book.info2
-rw-r--r--modules/comment/comment.info2
-rw-r--r--modules/contact/contact.info1
-rw-r--r--modules/dashboard/dashboard.info1
-rw-r--r--modules/filter/filter.info3
-rw-r--r--modules/forum/forum.info1
-rw-r--r--modules/image/image.info1
-rw-r--r--modules/locale/locale.info1
-rw-r--r--modules/menu/menu.info1
-rw-r--r--modules/node/node.info1
-rw-r--r--modules/path/path.info1
-rw-r--r--modules/profile/profile.info1
-rw-r--r--modules/search/search.info1
-rw-r--r--modules/shortcut/shortcut.info1
-rw-r--r--modules/simpletest/simpletest.info1
-rw-r--r--modules/statistics/statistics.info1
-rw-r--r--modules/system/system.admin.inc55
-rw-r--r--modules/system/system.css14
-rw-r--r--modules/system/system.info1
-rw-r--r--modules/taxonomy/taxonomy.info1
-rw-r--r--modules/trigger/trigger.info1
-rw-r--r--modules/update/update.info1
-rw-r--r--modules/upload/upload.info1
-rw-r--r--modules/user/user.info1
26 files changed, 78 insertions, 20 deletions
diff --git a/modules/aggregator/aggregator.info b/modules/aggregator/aggregator.info
index 2b75e247a..d94344022 100644
--- a/modules/aggregator/aggregator.info
+++ b/modules/aggregator/aggregator.info
@@ -12,3 +12,4 @@ files[] = aggregator.parser.inc
files[] = aggregator.processor.inc
files[] = aggregator.install
files[] = aggregator.test
+configure = admin/config/services/aggregator/settings
diff --git a/modules/block/block.info b/modules/block/block.info
index f2db61717..c3716075c 100644
--- a/modules/block/block.info
+++ b/modules/block/block.info
@@ -1,5 +1,4 @@
; $Id$
-
name = Block
description = Controls the visual building blocks a page is constructed with. Blocks are boxes of content rendered into an area, or region, of a web page.
package = Core
@@ -9,3 +8,4 @@ files[] = block.module
files[] = block.admin.inc
files[] = block.install
files[] = block.test
+configure = admin/structure/block
diff --git a/modules/book/book.info b/modules/book/book.info
index b30b4a59e..8f74f59bc 100644
--- a/modules/book/book.info
+++ b/modules/book/book.info
@@ -1,5 +1,4 @@
; $Id$
-
name = Book
description = Allows users to create and organize related content in an outline.
package = Core
@@ -10,3 +9,4 @@ files[] = book.admin.inc
files[] = book.pages.inc
files[] = book.install
files[] = book.test
+configure = admin/content/book/settings
diff --git a/modules/comment/comment.info b/modules/comment/comment.info
index 5b6a48acf..a2ad01385 100644
--- a/modules/comment/comment.info
+++ b/modules/comment/comment.info
@@ -1,5 +1,4 @@
; $Id$
-
name = Comment
description = Allows users to comment on and discuss published content.
package = Core
@@ -11,3 +10,4 @@ files[] = comment.pages.inc
files[] = comment.install
files[] = comment.test
files[] = comment.tokens.inc
+configure = admin/content/comment
diff --git a/modules/contact/contact.info b/modules/contact/contact.info
index fda41ae0f..a2f7f4c52 100644
--- a/modules/contact/contact.info
+++ b/modules/contact/contact.info
@@ -9,3 +9,4 @@ files[] = contact.admin.inc
files[] = contact.pages.inc
files[] = contact.install
files[] = contact.test
+configure = admin/structure/contact
diff --git a/modules/dashboard/dashboard.info b/modules/dashboard/dashboard.info
index c49d445f6..876b8a9ea 100644
--- a/modules/dashboard/dashboard.info
+++ b/modules/dashboard/dashboard.info
@@ -6,3 +6,4 @@ package = Core
version = VERSION
files[] = dashboard.module
dependencies[] = block
+configure = admin/dashboard/customize
diff --git a/modules/filter/filter.info b/modules/filter/filter.info
index ecd3de188..0135de71a 100644
--- a/modules/filter/filter.info
+++ b/modules/filter/filter.info
@@ -1,4 +1,4 @@
-;h $Id$
+; $Id$
name = Filter
description = Filters content in preparation for display.
package = Core
@@ -10,3 +10,4 @@ files[] = filter.pages.inc
files[] = filter.install
files[] = filter.test
required = TRUE
+configure = admin/config/content/formats
diff --git a/modules/forum/forum.info b/modules/forum/forum.info
index ff4621a5f..a6fec2ccb 100644
--- a/modules/forum/forum.info
+++ b/modules/forum/forum.info
@@ -11,3 +11,4 @@ files[] = forum.admin.inc
files[] = forum.pages.inc
files[] = forum.install
files[] = forum.test
+configure = admin/structure/forum
diff --git a/modules/image/image.info b/modules/image/image.info
index 320cd3ccb..137acc248 100644
--- a/modules/image/image.info
+++ b/modules/image/image.info
@@ -11,3 +11,4 @@ files[] = image.effects.inc
files[] = image.field.inc
files[] = image.install
files[] = image.test
+configure = admin/config/media/image-styles
diff --git a/modules/locale/locale.info b/modules/locale/locale.info
index 642b69330..3cae81c78 100644
--- a/modules/locale/locale.info
+++ b/modules/locale/locale.info
@@ -8,3 +8,4 @@ files[] = locale.module
files[] = locale.install
files[] = locale.field.inc
files[] = locale.test
+configure = admin/config/regional/language
diff --git a/modules/menu/menu.info b/modules/menu/menu.info
index f3db2a75b..285429598 100644
--- a/modules/menu/menu.info
+++ b/modules/menu/menu.info
@@ -8,3 +8,4 @@ files[] = menu.module
files[] = menu.admin.inc
files[] = menu.install
files[] = menu.test
+configure = admin/structure/menu
diff --git a/modules/node/node.info b/modules/node/node.info
index 300213411..51130138d 100644
--- a/modules/node/node.info
+++ b/modules/node/node.info
@@ -12,3 +12,4 @@ files[] = node.install
files[] = node.test
files[] = node.tokens.inc
required = TRUE
+configure = admin/structure/types
diff --git a/modules/path/path.info b/modules/path/path.info
index ee05f40f0..f49c87726 100644
--- a/modules/path/path.info
+++ b/modules/path/path.info
@@ -7,3 +7,4 @@ core = 7.x
files[] = path.module
files[] = path.admin.inc
files[] = path.test
+configure = admin/config/search/path
diff --git a/modules/profile/profile.info b/modules/profile/profile.info
index 7e6e511ec..cc27ac146 100644
--- a/modules/profile/profile.info
+++ b/modules/profile/profile.info
@@ -9,3 +9,4 @@ files[] = profile.admin.inc
files[] = profile.pages.inc
files[] = profile.install
files[] = profile.test
+configure = admin/config/people/profile
diff --git a/modules/search/search.info b/modules/search/search.info
index 504aef485..eb749d281 100644
--- a/modules/search/search.info
+++ b/modules/search/search.info
@@ -10,3 +10,4 @@ files[] = search.pages.inc
files[] = search.install
files[] = search.test
files[] = search.extender.inc
+configure = admin/config/search/settings
diff --git a/modules/shortcut/shortcut.info b/modules/shortcut/shortcut.info
index 65f37c037..e7d4a3bbe 100644
--- a/modules/shortcut/shortcut.info
+++ b/modules/shortcut/shortcut.info
@@ -7,3 +7,4 @@ core = 7.x
files[] = shortcut.module
files[] = shortcut.admin.inc
files[] = shortcut.install
+configure = admin/config/system/shortcut
diff --git a/modules/simpletest/simpletest.info b/modules/simpletest/simpletest.info
index dff06909c..08ba39b7b 100644
--- a/modules/simpletest/simpletest.info
+++ b/modules/simpletest/simpletest.info
@@ -9,6 +9,7 @@ files[] = simpletest.pages.inc
files[] = simpletest.install
files[] = simpletest.test
files[] = drupal_web_test_case.php
+configure = admin/config/development/testing/settings
; Tests in tests directory.
files[] = tests/actions.test
diff --git a/modules/statistics/statistics.info b/modules/statistics/statistics.info
index 83b4351c3..de07d15ae 100644
--- a/modules/statistics/statistics.info
+++ b/modules/statistics/statistics.info
@@ -10,3 +10,4 @@ files[] = statistics.pages.inc
files[] = statistics.install
files[] = statistics.test
files[] = statistics.tokens.inc
+configure = admin/config/system/statistics
diff --git a/modules/system/system.admin.inc b/modules/system/system.admin.inc
index 7da92a165..8201d0c9c 100644
--- a/modules/system/system.admin.inc
+++ b/modules/system/system.admin.inc
@@ -720,10 +720,37 @@ function system_modules($form, $form_state = array()) {
// Generate link for module's help page, if there is one.
if ($help_arg && $module->status && in_array($filename, module_implements('help'))) {
if (module_invoke($filename, 'help', "admin/help#$filename", $help_arg)) {
- // Module has a help page.
- $extra['help'] = theme('more_help_link', array('url' => url("admin/help/$filename")));
+ $extra['links']['help'] = array(
+ '#type' => 'link',
+ '#title' => t('Help'),
+ '#href' => "admin/help/$filename",
+ '#options' => array('attributes' => array('class' => array('module-link', 'module-link-help'), 'title' => t('Help'))),
+ );
}
}
+ // Generate link for module's permission, if the user has access to it.
+ if ($module->status && user_access('administer permissions') && in_array($filename, module_implements('permission'))) {
+ $extra['links']['permissions'] = array(
+ '#type' => 'link',
+ '#title' => t('Permissions'),
+ '#href' => 'admin/config/people/permissions',
+ '#options' => array('fragment' => 'module-' . $filename, 'attributes' => array('class' => array('module-link', 'module-link-permissions'), 'title' => t('Configure permissions'))),
+ );
+ }
+ // Generate link for module's configuration page, if the module provides
+ // one.
+ if ($module->status && isset($module->info['configure'])) {
+ $configure_link = menu_get_item($module->info['configure']);
+ if ($configure_link['access']) {
+ $extra['links']['configure'] = array(
+ '#type' => 'link',
+ '#title' => t('Configure'),
+ '#href' => $configure_link['href'],
+ '#options' => array('attributes' => array('class' => array('module-link', 'module-link-configure'), 'title' => $configure_link['description'])),
+ );
+ }
+ }
+
// Mark dependents disabled so the user cannot remove required modules.
$dependents = array();
// If this module is required by other modules, list those, and then make it
@@ -754,6 +781,7 @@ function system_modules($form, $form_state = array()) {
t('Name'),
t('Version'),
t('Description'),
+ array('data' => t('Operations'), 'colspan' => 3),
),
);
}
@@ -784,7 +812,7 @@ function _system_modules_build_row($info, $extra) {
'required_by' => array(),
'disabled' => FALSE,
'enabled' => FALSE,
- 'help' => '',
+ 'links' => array(),
);
$form = array(
'#tree' => TRUE,
@@ -843,12 +871,11 @@ function _system_modules_build_row($info, $extra) {
$form['description']['#markup'] .= theme('system_modules_incompatible', array('message' => $status_long));
}
- // Show a "more help" link for modules that have them.
- if ($extra['help']) {
- $form['help'] = array(
- '#markup' => $extra['help'],
- );
+ // Build operation links.
+ foreach (array('help', 'permissions', 'configure') as $key) {
+ $form['links'][$key] = (isset($extra['links'][$key]) ? $extra['links'][$key] : array());
}
+
return $form;
}
@@ -2307,14 +2334,8 @@ function theme_system_modules_fieldset($variables) {
}
$row[] = $label . '><strong>' . drupal_render($module['name']) . '</strong></label>';
$row[] = drupal_render($module['version']);
- $description = '';
- // If we have help, it becomes the first part
- // of the description - with CSS, it is float: right'd.
- if (isset($module['help'])) {
- $description = '<div class="module-help">' . drupal_render($module['help']) . '</div>';
- }
// Add the description, along with any modules it requires.
- $description .= drupal_render($module['description']);
+ $description = drupal_render($module['description']);
if ($module['#requires']) {
$description .= '<div class="admin-requirements">' . t('Requires: !module-list', array('!module-list' => implode(', ', $module['#requires']))) . '</div>';
}
@@ -2322,6 +2343,10 @@ function theme_system_modules_fieldset($variables) {
$description .= '<div class="admin-requirements">' . t('Required by: !module-list', array('!module-list' => implode(', ', $module['#required_by']))) . '</div>';
}
$row[] = array('data' => $description, 'class' => array('description'));
+ // Display links (such as help or permissions) in their own columns.
+ foreach (array('help', 'permissions', 'configure') as $key) {
+ $row[] = array('data' => drupal_render($module['links'][$key]), 'class' => array($key));
+ }
$rows[] = $row;
}
diff --git a/modules/system/system.css b/modules/system/system.css
index 02a6b2657..c1336bc51 100644
--- a/modules/system/system.css
+++ b/modules/system/system.css
@@ -159,10 +159,22 @@ tr.merge-up, tr.merge-up td, tr.merge-up th {
.more-help-link {
text-align: right; /* LTR */
}
-.more-help-link a {
+.more-help-link a, a.module-link {
padding: 1px 0 1px 20px; /* LTR */
+}
+a.module-link {
+ display: block;
+ white-space: nowrap;
+}
+.more-help-link a, a.module-link-help {
background: url(../../misc/help.png) 0 50% no-repeat; /* LTR */
}
+a.module-link-permissions {
+ background: url(../../misc/permissions.png) 0 50% no-repeat; /* LTR */
+}
+a.module-link-configure {
+ background: url(../../misc/configure.png) 0 50% no-repeat; /* LTR */
+}
.more-link {
text-align: right; /* LTR */
}
diff --git a/modules/system/system.info b/modules/system/system.info
index edf187683..bb7d88f49 100644
--- a/modules/system/system.info
+++ b/modules/system/system.info
@@ -16,3 +16,4 @@ files[] = system.tokens.inc
files[] = system.updater.inc
files[] = mail.sending.inc
required = TRUE
+configure = admin/config/system
diff --git a/modules/taxonomy/taxonomy.info b/modules/taxonomy/taxonomy.info
index 0bec863d2..de9288c3f 100644
--- a/modules/taxonomy/taxonomy.info
+++ b/modules/taxonomy/taxonomy.info
@@ -10,3 +10,4 @@ files[] = taxonomy.pages.inc
files[] = taxonomy.install
files[] = taxonomy.test
files[] = taxonomy.tokens.inc
+configure = admin/structure/taxonomy
diff --git a/modules/trigger/trigger.info b/modules/trigger/trigger.info
index e097d59de..df5354dd2 100644
--- a/modules/trigger/trigger.info
+++ b/modules/trigger/trigger.info
@@ -8,3 +8,4 @@ files[] = trigger.module
files[] = trigger.admin.inc
files[] = trigger.install
files[] = trigger.test
+configure = admin/structure/trigger
diff --git a/modules/update/update.info b/modules/update/update.info
index ae133cfbe..447d4864c 100644
--- a/modules/update/update.info
+++ b/modules/update/update.info
@@ -13,3 +13,4 @@ files[] = update.manager.inc
files[] = update.report.inc
files[] = update.settings.inc
files[] = update.test
+configure = admin/reports/updates/settings
diff --git a/modules/upload/upload.info b/modules/upload/upload.info
index a3253433c..5111bde9e 100644
--- a/modules/upload/upload.info
+++ b/modules/upload/upload.info
@@ -9,3 +9,4 @@ files[] = upload.admin.inc
files[] = upload.install
files[] = upload.test
files[] = upload.tokens.inc
+configure = admin/config/media/uploads
diff --git a/modules/user/user.info b/modules/user/user.info
index cd916a873..338d89e78 100644
--- a/modules/user/user.info
+++ b/modules/user/user.info
@@ -11,3 +11,4 @@ files[] = user.install
files[] = user.test
files[] = user.tokens.inc
required = TRUE
+configure = admin/config/people