Since: 1.4
Author: Rachman Chavik (rchavik@xintesa.com)
Inheritance: extends Object
Exemplo n.º 1
0
 /**
  * testAdminMenus
  */
 public function testAdminMenus()
 {
     CakeSession::write('Auth.User', array('id' => 1, 'role_id' => 1));
     CroogoNav::add('contents', array('title' => 'Contents', 'url' => '#'));
     $items = CroogoNav::items();
     $expected = '<ul class="nav nav-stacked"><li><a href="#" class="menu-contents sidebar-item"><i class="icon-white icon-large"></i> <span>Contents</span></a></li></ul>';
     $result = $this->Croogo->adminMenus(CroogoNav::items());
     $this->assertEquals($expected, $result);
 }
Exemplo n.º 2
0
 /**
  * Inject admin menu items
  */
 protected function _adminMenu()
 {
     if (empty($this->_View->viewVars['menus_for_admin_layout'])) {
         return;
     }
     $menus = $this->_View->viewVars['menus_for_admin_layout'];
     foreach ($menus as $m) {
         $weight = 9999 + $m['Menu']['weight'];
         CroogoNav::add('menus.children.' . $m['Menu']['alias'], array('title' => $m['Menu']['title'], 'url' => array('plugin' => 'menus', 'admin' => true, 'controller' => 'links', 'action' => 'index', '?' => array('menu_id' => $m['Menu']['id'])), 'weight' => $weight));
     }
 }
Exemplo n.º 3
0
 public function testNavOverwrite()
 {
     $defaults = CroogoNav::getDefaults();
     $items = CroogoNav::items();
     $expected = Hash::merge($defaults, array('title' => 'Permissions', 'url' => array('admin' => true, 'plugin' => 'acl', 'controller' => 'acl_permissions', 'action' => 'index'), 'weight' => 30));
     $this->assertEquals($expected, $items['users']['children']['permissions']);
     $item = array('title' => 'Permissions', 'url' => array('admin' => true, 'plugin' => 'acl_extras', 'controller' => 'acl_extras_permissions', 'action' => 'index'), 'weight' => 30);
     CroogoNav::add('users.children.permissions', $item);
     $items = CroogoNav::items();
     $expected = Hash::merge($defaults, array('title' => 'Permissions', 'url' => array('admin' => true, 'plugin' => 'acl_extras', 'controller' => 'acl_extras_permissions', 'action' => 'index'), 'weight' => 30));
     $this->assertEquals($expected, $items['users']['children']['permissions']);
 }
Exemplo n.º 4
0
 /**
  * Inject admin menu items
  */
 protected function _adminMenu()
 {
     if (empty($this->_View->viewVars['menus_for_admin_layout'])) {
         return;
     }
     $menus = $this->_View->viewVars['menus_for_admin_layout'];
     foreach ($menus as $m) {
         $weight = 9999 + $m['Menu']['weight'];
         $htmlAttributes = $this->__isCurrentMenu($m['Menu']['id']) ? array('class' => 'current') : array();
         CroogoNav::add('sidebar', 'menus.children.' . $m['Menu']['alias'], array('title' => $m['Menu']['title'], 'url' => array('plugin' => 'menus', 'admin' => true, 'controller' => 'links', 'action' => 'index', '?' => array('menu_id' => $m['Menu']['id'])), 'weight' => $weight, 'htmlAttributes' => $htmlAttributes));
     }
 }
Exemplo n.º 5
0
 /**
  * Setup admin data
  */
 public function onSetupAdminData($event)
 {
     $View = $event->subject;
     if (empty($View->viewVars['vocabularies_for_admin_layout'])) {
         $vocabularies = array();
     } else {
         $vocabularies = $View->viewVars['vocabularies_for_admin_layout'];
     }
     foreach ($vocabularies as $v) {
         $weight = 9999 + $v['Vocabulary']['weight'];
         CroogoNav::add('sidebar', 'content.children.taxonomy.children.' . $v['Vocabulary']['alias'], array('title' => $v['Vocabulary']['title'], 'url' => array('plugin' => 'taxonomy', 'admin' => true, 'controller' => 'terms', 'action' => 'index', $v['Vocabulary']['id']), 'weight' => $weight));
     }
 }
Exemplo n.º 6
0
 /**
  * Setup admin data
  */
 public function onSetupAdminData($event)
 {
     $View = $event->subject;
     if (empty($View->viewVars['types_for_admin_layout'])) {
         $types = array();
     } else {
         $types = $View->viewVars['types_for_admin_layout'];
     }
     foreach ($types as $t) {
         if (!empty($t['Type']['plugin'])) {
             continue;
         }
         CroogoNav::add('sidebar', 'content.children.create.children.' . $t['Type']['alias'], array('title' => $t['Type']['title'], 'url' => array('plugin' => 'nodes', 'admin' => true, 'controller' => 'nodes', 'action' => 'add', $t['Type']['alias'])));
     }
 }
Exemplo n.º 7
0
 /**
  * Inject admin menu items
  */
 protected function _adminMenu()
 {
     if (empty($this->_View->viewVars['types_for_admin_layout'])) {
         $types = array();
     } else {
         $types = $this->_View->viewVars['types_for_admin_layout'];
     }
     foreach ($types as $t) {
         CroogoNav::add('content.children.create.children.' . $t['Type']['alias'], array('title' => $t['Type']['title'], 'url' => array('plugin' => 'nodes', 'admin' => true, 'controller' => 'nodes', 'action' => 'add', $t['Type']['alias'])));
     }
     if (empty($this->_View->viewVars['vocabularies_for_admin_layout'])) {
         $vocabularies = array();
     } else {
         $vocabularies = $this->_View->viewVars['vocabularies_for_admin_layout'];
     }
     foreach ($vocabularies as $v) {
         $weight = 9999 + $v['Vocabulary']['weight'];
         CroogoNav::add('content.children.taxonomy.children.' . $v['Vocabulary']['alias'], array('title' => $v['Vocabulary']['title'], 'url' => array('plugin' => 'taxonomy', 'admin' => true, 'controller' => 'terms', 'action' => 'index', $v['Vocabulary']['id']), 'weight' => $weight));
     }
 }
Exemplo n.º 8
0
 /**
  * Setup admin data
  */
 public function onSetupAdminData($event)
 {
     CroogoNav::add('media.children.attachments', array('title' => __d('croogo', 'Attachments'), 'url' => array('admin' => true, 'plugin' => 'assets', 'controller' => 'assets_attachments', 'action' => 'index')));
 }
<?php

CroogoNav::add('sidebar', 'webshop.children.invoices', array('title' => __d('webshop_invoices', 'Invoices'), 'url' => array('admin' => true, 'plugin' => 'webshop_invoices', 'controller' => 'invoices', 'action' => 'index')));
CroogoNav::add('webshop-customer-dashboard', 'invoices', array('title' => __d('webshop_invoices', 'Invoices'), 'url' => array('prefix' => 'panel', 'plugin' => 'webshop_invoices', 'controller' => 'invoices', 'action' => 'index')));
Croogo::hookBehavior('Order', 'WebshopInvoices.InvoiceTemplate');
Croogo::hookHelper('*', 'WebshopInvoices.Invoices');
<?php

CroogoNav::add('sidebar', 'webshop.children.configuration.children.payment_providers', array('title' => __d('webshop', 'Payment providers'), 'url' => array('plugin' => 'webshop_payments', 'controller' => 'payment_providers', 'action' => 'index')));
CroogoNav::add('sidebar', 'webshop.children.configuration.children.payment_methods', array('title' => __d('webshop', 'Payment methods'), 'url' => array('plugin' => 'webshop_payments', 'controller' => 'payment_methods', 'action' => 'index')));
Croogo::hookHelper('*', 'WebshopPayments.Payment');
App::build(array('PaymentProvider' => array('%s' . 'PaymentProvider' . DS)), App::REGISTER);
Exemplo n.º 11
0
<?php

CroogoCache::config('switcher_default', array_merge(Configure::read('Cache.defaultConfig'), array('duration' => '+10 minutes')));
Croogo::hookBehavior('Node', 'Switcher.Switcher');
Croogo::hookComponent('*', 'Switcher.Switcher');
Croogo::hookHelper('*', 'Switcher.Switcher');
Croogo::hookAdminTab('Nodes/admin_edit', 'Switcher', 'switcher.admin_tab_node');
Croogo::hookAdminTab('Nodes/admin_add', 'Switcher', 'switcher.admin_tab_node');
CroogoNav::add('extensions.children.switcher', array('title' => 'Switcher', 'url' => '#', 'children' => array('paths' => array('title' => 'Paths', 'url' => array('admin' => true, 'plugin' => 'switcher', 'controller' => 'switcher_paths', 'action' => 'index'), 'weight' => 10), 'nodes' => array('title' => 'Nodes', 'url' => array('admin' => true, 'plugin' => 'nodes', 'controller' => 'nodes', 'action' => 'index'), 'weight' => 20))));
Exemplo n.º 12
0
<?php

CroogoNav::add('sidebar', 'cforms', array('icon' => 'envelope', 'title' => __d('cforms', 'Forms'), 'url' => '#', 'access' => array('admin'), 'weight' => 55, 'children' => array('cforms1' => array('title' => __d('cforms', 'List Forms'), 'url' => array('controller' => 'cforms', 'action' => 'index', 'plugin' => 'cforms', 'admin' => true), 'access' => array('admin')), 'cforms2' => array('title' => __d('cforms', 'Create Form'), 'url' => array('controller' => 'cforms', 'action' => 'add', 'plugin' => 'cforms', 'admin' => true), 'access' => array('admin')), 'cforms3' => array('title' => __d('cforms', 'Validation Rules'), 'url' => array('controller' => 'validation_rules', 'action' => 'index', 'plugin' => 'cforms', 'admin' => true), 'access' => array('admin')))));
Exemplo n.º 13
0
 /**
  * Clear all menus
  *
  * @return void
  */
 public static function clear($menu = 'sidebar')
 {
     if ($menu) {
         if (array_key_exists($menu, self::$_items)) {
             self::$_items[$menu] = array();
         } else {
             throw new UnexpectedValueException('Invalid menu: ' . $menu);
         }
     } else {
         self::$_items = array();
     }
 }
Exemplo n.º 14
0
<?php

CroogoCache::config('croogo_comments', array_merge(Configure::read('Cache.defaultConfig'), array('groups' => array('comments'))));
Croogo::hookHelper('*', 'Comments.Comments');
CroogoNav::add('content.children.comments', array('title' => __d('croogo', 'Comments'), 'url' => array('admin' => true, 'plugin' => 'comments', 'controller' => 'comments', 'action' => 'index'), 'children' => array('published' => array('title' => __d('croogo', 'Published'), 'url' => array('admin' => true, 'plugin' => 'comments', 'controller' => 'comments', 'action' => 'index', '?' => array('status' => '1'))), 'approval' => array('title' => __d('croogo', 'Approval'), 'url' => array('admin' => true, 'plugin' => 'comments', 'controller' => 'comments', 'action' => 'index', '?' => array('status' => '0'))))));
Exemplo n.º 15
0
 /**
  * Sets or returns menu data in array
  *
  * @param $items array if empty, the current menu is returned.
  * @return array
  */
 public static function items($items = null)
 {
     if (!empty($items)) {
         self::$_items = $items;
     }
     return self::$_items;
 }
Exemplo n.º 16
0
<?php

CroogoNav::add('sidebar', 'blocks', array('icon' => 'columns', 'title' => __d('croogo', 'Blocks'), 'url' => array('admin' => true, 'plugin' => 'blocks', 'controller' => 'blocks', 'action' => 'index'), 'weight' => 30, 'children' => array('blocks' => array('title' => __d('croogo', 'Blocks'), 'url' => array('admin' => true, 'plugin' => 'blocks', 'controller' => 'blocks', 'action' => 'index')), 'regions' => array('title' => __d('croogo', 'Regions'), 'url' => array('admin' => true, 'plugin' => 'blocks', 'controller' => 'regions', 'action' => 'index')))));
Exemplo n.º 17
0
<?php

/**
 * ClearSessionFile
 * Copyright (c) Lukas Marks (http://lumax-web.de/)
 *
 * Licensed under The MIT License
 * For full copyright and license information, please see the LICENSE.txt
 * Redistributions of files must retain the above copyright notice.
 *
 * @copyright     Copyright (c) Lukas Marks (http://lumax-web.de/)
 * @since         0.1
 * @license       http://www.opensource.org/licenses/mit-license.php MIT License
 */
/**
 * Admin menu (navigation)
 */
CroogoNav::add('settings.children.clear_session_file', array('icon' => 'trash', 'title' => __d('clear_session_file', 'Clear Session'), 'url' => array('admin' => true, 'plugin' => 'clear_session_file', 'controller' => 'clear_session_files', 'action' => 'clear'), 'weight' => 300, 'children' => array()));
Exemplo n.º 18
0
/**
 * Component
 *
 * This plugin's Example component will be loaded in ALL controllers.
 */
Croogo::hookComponent('*', 'Example.Example');
/**
 * Helper
 *
 * This plugin's Example helper will be loaded via NodesController.
 */
Croogo::hookHelper('Nodes', 'Example.Example');
/**
 * Admin menu (navigation)
 */
CroogoNav::add('extensions.children.example', array('title' => __('Example'), 'url' => '#', 'children' => array('example1' => array('title' => __('Example 1'), 'url' => '#'), 'example2' => array('title' => __('Example 2 with a title that won\'t fit in the sidebar'), 'url' => '#', 'children' => array('example-2-1' => array('title' => 'Example 2-1', 'url' => '#', 'children' => array('example-2-1-1' => array('title' => 'Example 2-1-1', 'url' => '#', 'children' => array('example-2-1-1-1' => array('title' => 'Example 2-1-1-1'))))))))));
/**
 * Admin row action
 *
 * When browsing the content list in admin panel (Content > List),
 * an extra link called 'Example' will be placed under 'Actions' column.
 */
Croogo::hookAdminRowAction('Nodes/admin_index', 'Example', 'plugin:example/controller:example/action:index/:id');
/**
 * Admin tab
 *
 * When adding/editing Content (Nodes),
 * an extra tab with title 'Example' will be shown with markup generated from the plugin's admin_tab_node element.
 *
 * Useful for adding form extra form fields if necessary.
 */
Exemplo n.º 19
0
<?php

CroogoNav::add('sidebar', 'webshop.children.orders', array('title' => __d('webshop_orders', 'Orders'), 'url' => array('admin' => true, 'plugin' => 'webshop_orders', 'controller' => 'orders', 'action' => 'index')));
CroogoNav::add('webshop-customer-dashboard', 'orders', array('title' => __d('webshop_orders', 'Orders'), 'url' => array('prefix' => 'panel', 'plugin' => 'webshop_orders', 'controller' => 'orders', 'action' => 'index')));
CroogoNav::add('webshop-dashboard-order-actions', 'view', array('title' => __d('webshop_orders', 'View'), 'url' => array('controller' => 'orders', 'action' => 'view', '_id'), 'htmlAttributes' => array('class' => 'btn-primary')));
CroogoNav::add('webshop-dashboard-order-actions', 'pay', array('title' => __d('webshop_orders', 'Pay'), 'url' => array('controller' => 'orders', 'action' => 'pay', '_id'), 'htmlAttributes' => array('class' => 'btn-success')));
Croogo::hookHelper('*', 'WebshopOrders.Order');
Croogo::hookAdminTab('Customers/admin_view', __d('webshop_orders', 'Orders'), 'WebshopOrders.admin/tab/orders');
Exemplo n.º 20
0
<?php

CroogoCache::config('croogo_menus', array_merge(Configure::read('Cache.defaultConfig'), array('groups' => array('menus'))));
Croogo::hookComponent('*', 'Menus.Menus');
Croogo::hookHelper('*', 'Menus.Menus');
CroogoNav::add('menus', array('icon' => array('sitemap', 'large'), 'title' => __d('croogo', 'Menus'), 'url' => array('plugin' => 'menus', 'admin' => true, 'controller' => 'menus', 'action' => 'index'), 'weight' => 20, 'children' => array('menus' => array('title' => __d('croogo', 'Menus'), 'url' => array('plugin' => 'menus', 'admin' => true, 'controller' => 'menus', 'action' => 'index'), 'weight' => 10), 'add_new' => array('title' => __d('croogo', 'Add new'), 'url' => array('plugin' => 'menus', 'admin' => true, 'controller' => 'menus', 'action' => 'add'), 'weight' => 20, 'htmlAttributes' => array('class' => 'separator')))));
Exemplo n.º 21
0
<?php

Croogo::hookRoutes('ImportCrm');
CroogoNav::add('importcrm', array('icon' => 'th', 'title' => 'Import CRM', 'url' => array('admin' => true, 'plugin' => 'import_crm', 'controller' => 'Importcrms', 'action' => 'index'), 'weight' => 20));
Exemplo n.º 22
0
<?php

CroogoNav::add('sidebar', 'settings', array('icon' => 'cog', 'title' => __d('croogo', 'Settings'), 'url' => array('admin' => true, 'plugin' => 'settings', 'controller' => 'settings', 'action' => 'prefix', 'Site'), 'weight' => 60, 'children' => array('site' => array('title' => __d('croogo', 'Site'), 'url' => array('admin' => true, 'plugin' => 'settings', 'controller' => 'settings', 'action' => 'prefix', 'Site'), 'weight' => 10), 'meta' => array('title' => __d('croogo', 'Meta'), 'url' => array('admin' => true, 'plugin' => 'settings', 'controller' => 'settings', 'action' => 'prefix', 'Meta'), 'weight' => 20), 'reading' => array('title' => __d('croogo', 'Reading'), 'url' => array('admin' => true, 'plugin' => 'settings', 'controller' => 'settings', 'action' => 'prefix', 'Reading'), 'weight' => 30), 'writing' => array('title' => __d('croogo', 'Writing'), 'url' => array('admin' => true, 'plugin' => 'settings', 'controller' => 'settings', 'action' => 'prefix', 'Writing'), 'weight' => 40), 'comment' => array('title' => __d('croogo', 'Comment'), 'url' => array('admin' => true, 'plugin' => 'settings', 'controller' => 'settings', 'action' => 'prefix', 'Comment'), 'weight' => 50), 'service' => array('title' => __d('croogo', 'Service'), 'url' => array('admin' => true, 'plugin' => 'settings', 'controller' => 'settings', 'action' => 'prefix', 'Service'), 'weight' => 60), 'languages' => array('title' => __d('croogo', 'Languages'), 'url' => array('admin' => true, 'plugin' => 'settings', 'controller' => 'languages', 'action' => 'index'), 'weight' => 70))));
Exemplo n.º 23
0
<?php

CroogoNav::add('sidebar', 'media', array('icon' => 'picture', 'title' => __d('croogo', 'Media'), 'url' => array('admin' => true, 'plugin' => 'file_manager', 'controller' => 'attachments', 'action' => 'index'), 'weight' => 40, 'children' => array('attachments' => array('title' => __d('croogo', 'Attachments'), 'url' => array('admin' => true, 'plugin' => 'file_manager', 'controller' => 'attachments', 'action' => 'index')), 'file_manager' => array('title' => __d('croogo', 'File Manager'), 'url' => array('admin' => true, 'plugin' => 'file_manager', 'controller' => 'file_manager', 'action' => 'browse')))));
Exemplo n.º 24
0
<?php

Croogo::hookRoutes('Emarketing');
// Croogo::hookHelper('Attachments', 'Tinymce.Tinymce');
/**
 * Admin menu (navigation)
 */
CroogoNav::add('emarketing', array('title' => __('Emarketing'), 'icon' => 'envelope large', 'url' => array('admin' => true, 'plugin' => 'emarketing', 'controller' => 'mailings', 'action' => 'index'), 'weight' => 30));
Croogo::mergeConfig('Wysiwyg.actions', array('Mailings/admin_add' => array(array('elements' => 'MailingBody', 'preset' => 'standard')), 'Mailings/admin_edit' => array(array('elements' => 'MailingBody', 'preset' => 'standard'))));
Exemplo n.º 25
0
<?php

CroogoNav::add('sidebar', 'dashboard', array('icon' => 'home', 'title' => __d('croogo', 'Dashboard'), 'url' => '/admin', 'weight' => 0));
CroogoNav::add('sidebar', 'settings.children.dashboard', array('title' => __d('croogo', 'Dashboard'), 'url' => array('plugin' => 'dashboards', 'controller' => 'dashboards_dashboards', 'action' => 'index')));
Exemplo n.º 26
0
<?php

CroogoNav::add('sidebar', 'pltfrm', array('title' => __d('pltfrm', 'Pltfrm'), 'url' => '#', 'weight' => 40, 'children' => array('hosts' => array('title' => __d('pltfrm', 'Hosts'), 'url' => array('plugin' => 'pltfrm', 'controller' => 'webhosting_hosts', 'action' => 'index'), 'weight' => 40))));
Croogo::hookHelper('Nodes', 'Pltfrm.WebhostingProducts');
Croogo::hookBehavior('Node', 'Pltfrm.WebhostingProduct');
Croogo::hookBehavior('Product', 'Pltfrm.WebhostingProduct');
App::build(array('WebhostingProvider' => array('%s' . 'WebhostingProvider' . DS)), App::REGISTER);
Exemplo n.º 27
0
<?php

/**
 * Admin menu (navigation)
 */
CroogoNav::add('Tags', array('icon' => array('tag', 'large'), 'title' => __d('tags', 'Tags'), 'url' => '#', 'weight' => '0', 'children' => array('tags' => array('title' => __d('tags', 'List'), 'url' => array('admin' => true, 'plugin' => 'tags', 'controller' => 'tags', 'action' => 'index')), 'add' => array('title' => __d('tags', 'Add'), 'url' => array('admin' => true, 'plugin' => 'tags', 'controller' => 'tags', 'action' => 'add')))));
Exemplo n.º 28
0
/**
 * Component
 *
 * This plugin's Example component will be loaded in ALL controllers.
 */
Croogo::hookComponent('*', 'Example.Example');
/**
 * Helper
 *
 * This plugin's Example helper will be loaded via NodesController.
 */
Croogo::hookHelper('Nodes', 'Example.Example');
/**
 * Admin menu (navigation)
 */
CroogoNav::add('extensions.children.example', array('title' => __('Example'), 'url' => '#', 'children' => array('example1' => array('title' => __('Example 1'), 'url' => '#'), 'example2' => array('title' => __('Example 2'), 'url' => '#'))));
/**
 * Admin row action
 *
 * When browsing the content list in admin panel (Content > List),
 * an extra link called 'Example' will be placed under 'Actions' column.
 */
Croogo::hookAdminRowAction('Nodes/admin_index', 'Example', 'plugin:example/controller:example/action:index/:id');
/**
 * Admin tab
 *
 * When adding/editing Content (Nodes),
 * an extra tab with title 'Example' will be shown with markup generated from the plugin's admin_tab_node element.
 *
 * Useful for adding form extra form fields if necessary.
 */
Exemplo n.º 29
0
<?php

CroogoNav::add('extensions', array('icon' => array('magic', 'large'), 'title' => __d('croogo', 'Extensions'), 'url' => array('plugin' => 'extensions', 'controller' => 'extensions_plugins', 'action' => 'index'), 'weight' => 35, 'children' => array('themes' => array('title' => __d('croogo', 'Themes'), 'url' => array('plugin' => 'extensions', 'controller' => 'extensions_themes', 'action' => 'index'), 'weight' => 10), 'locales' => array('title' => __d('croogo', 'Locales'), 'url' => array('plugin' => 'extensions', 'controller' => 'extensions_locales', 'action' => 'index'), 'weight' => 20), 'plugins' => array('title' => __d('croogo', 'Plugins'), 'url' => array('plugin' => 'extensions', 'controller' => 'extensions_plugins', 'action' => 'index'), 'htmlAttributes' => array('class' => 'separator'), 'weight' => 30))));
if (!CakePlugin::loaded('Migrations')) {
    CakePlugin::load('Migrations');
}
if (!CakePlugin::loaded('Settings')) {
    CakePlugin::load('Settings');
}
if (!CakePlugin::loaded('Search')) {
    CakePlugin::load('Search');
}
Exemplo n.º 30
0
<?php

/**
 * Failed login attempts
 *
 * Default is 5 failed login attempts in every 5 minutes
 */
$cacheConfig = array_merge(Configure::read('Cache.defaultConfig'), array('groups' => array('users')));
$failedLoginDuration = 300;
Configure::write('User.failed_login_limit', 5);
Configure::write('User.failed_login_duration', $failedLoginDuration);
CroogoCache::config('users_login', array_merge($cacheConfig, array('duration' => '+' . $failedLoginDuration . ' seconds', 'groups' => array('users'))));
CroogoNav::add('users', array('icon' => array('user', 'large'), 'title' => __d('croogo', 'Users'), 'url' => array('admin' => true, 'plugin' => 'users', 'controller' => 'users', 'action' => 'index'), 'weight' => 50, 'children' => array('users' => array('title' => __d('croogo', 'Users'), 'url' => array('admin' => true, 'plugin' => 'users', 'controller' => 'users', 'action' => 'index'), 'weight' => 10), 'roles' => array('title' => __d('croogo', 'Roles'), 'url' => array('admin' => true, 'plugin' => 'users', 'controller' => 'roles', 'action' => 'index'), 'weight' => 20))));