Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
CRAP | |
0.00% |
0 / 25 |
AdminController | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
30 | |
0.00% |
0 / 25 |
index | |
0.00% |
0 / 1 |
30 | |
0.00% |
0 / 25 |
<?php | |
/** | |
* @file | |
* Contains \Drupal\system\Controller\AdminController. | |
*/ | |
namespace Drupal\system\Controller; | |
use Drupal\Core\Controller\ControllerBase; | |
/** | |
* Controller for admin section. | |
*/ | |
class AdminController extends ControllerBase { | |
/** | |
* Prints a listing of admin tasks, organized by module. | |
* | |
* @return array | |
* A render array containing the listing. | |
*/ | |
public function index() { | |
$module_info = system_get_info('module'); | |
foreach ($module_info as $module => $info) { | |
$module_info[$module] = new \stdClass(); | |
$module_info[$module]->info = $info; | |
} | |
uasort($module_info, 'system_sort_modules_by_info_name'); | |
$menu_items = array(); | |
foreach ($module_info as $module => $info) { | |
// Only display a section if there are any available tasks. | |
if ($admin_tasks = system_get_module_admin_tasks($module, $info->info)) { | |
// Sort links by title. | |
uasort($admin_tasks, array('\Drupal\Component\Utility\SortArray', 'sortByTitleElement')); | |
// Move 'Configure permissions' links to the bottom of each section. | |
$permission_key = "user.admin_permissions.$module"; | |
if (isset($admin_tasks[$permission_key])) { | |
$permission_task = $admin_tasks[$permission_key]; | |
unset($admin_tasks[$permission_key]); | |
$admin_tasks[$permission_key] = $permission_task; | |
} | |
$menu_items[$info->info['name']] = array($info->info['description'], $admin_tasks); | |
} | |
} | |
$output = array( | |
'#theme' => 'system_admin_index', | |
'#menu_items' => $menu_items, | |
); | |
return $output; | |
} | |
} |