diff options
author | Dries Buytaert <dries@buytaert.net> | 2009-11-17 21:24:19 +0000 |
---|---|---|
committer | Dries Buytaert <dries@buytaert.net> | 2009-11-17 21:24:19 +0000 |
commit | a239296cbcbf068010d5a193c591f6a28ee62d8a (patch) | |
tree | 5d9a93c6f82c8042153292414a8879126ffff961 /modules | |
parent | a6cca24d2ae17de1eb1829a8eefa249f756f8975 (diff) | |
download | brdo-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')
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 |