Zikula_System_Modules
[ class tree: Zikula_System_Modules ] [ index: Zikula_System_Modules ] [ all elements ]

Source for file adminnav.php

Documentation is available at adminnav.php

  1. <?php
  2. /**
  3.  * Zikula Application Framework
  4.  *
  5.  * @copyright (c) 2002, Zikula Development Team
  6.  * @link http://www.zikula.org
  7.  * @version $Id: adminnav.php 24342 2008-06-06 12:03:14Z markwest $
  8.  * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html
  9.  * @author       Mark West
  10.  * @package      Zikula_System_Modules
  11.  * @subpackage   Admin
  12.  */
  13.  
  14. /**
  15.  * initialise block
  16.  */
  17. {
  18.     // Security
  19.     pnSecAddSchema('Admin:adminnavblock:''Block title::');
  20. }
  21.  
  22. /**
  23.  * get information on block
  24.  */
  25. {
  26.     // Values
  27.     return array('text_type'      => 'Admin',
  28.                  'module'         => 'Admin',
  29.                  'text_type_long' => 'Show admin categories and modules',
  30.                  'allow_multiple' => false,
  31.                  'form_content'   => false,
  32.                  'form_refresh'   => false,
  33.                  'show_preview'   => true);
  34. }
  35.  
  36. /**
  37.  * display block
  38.  */
  39. function Admin_adminnavblock_display($blockinfo)
  40. {
  41.     // Security check
  42.     if (!SecurityUtil::checkPermission('Admin:adminnavblock',
  43.                          "$blockinfo[title]::",
  44.                          ACCESS_ADMIN)) {
  45.         return;
  46.     }
  47.  
  48.     // Get variables from content block
  49.     $vars pnBlockVarsFromContent($blockinfo['content']);
  50.  
  51.     // Call the modules API to get the items
  52.     if (pnModAvailable('Admin')) {
  53.         $items pnModAPIFunc('Admin''admin''getall');
  54.     else {
  55.         return;
  56.     }
  57.  
  58.     // Check for no items returned
  59.     if (empty($items)) {
  60.         return;
  61.     }
  62.  
  63.     // Create output object
  64.     $pnRender pnRender::getInstance('Admin');
  65.  
  66.     // get admin capable modules
  67.     $adminmodules pnModGetAdminMods();
  68.     $adminmodulescount count($adminmodules);
  69.  
  70.     // Display each item, permissions permitting
  71.     $admincategories array();
  72.     foreach ($items as $item{
  73.         if (SecurityUtil::checkPermission('Admin::'"$item[catname]::$item[cid]"ACCESS_READ)) {
  74.             $adminlinks array();
  75.             foreach ($adminmodules as $adminmodule{
  76.                 // Get all modules in the category
  77.                 $catid pnModAPIFunc('Admin',
  78.                                       'admin',
  79.                                       'getmodcategory',
  80.                                       array('mid' => pnModGetIDFromName($adminmodule['name'])));
  81.  
  82.                 if (($catid == $item['cid']|| (($catid == false&& ($item['cid'== pnModGetVar('Admin''defaultcategory')))) {
  83.                     $modinfo pnModGetInfo(pnModGetIDFromName($adminmodule['name']));
  84.                     if ($modinfo['type'!= 1{
  85.                         $menutexturl pnModURL($modinfo['name']'admin');
  86.                         $menutexttitle $modinfo['displayname'];
  87.                     else {
  88.                         $menutexturl 'admin.php?module=' DataUtil::formatForDisplay($modinfo['name']);
  89.                         $menutexttitle =  $modinfo['displayname'];
  90.                     }
  91.                     $adminlinks[array('menutexturl' => $menutexturl,
  92.                                           'menutexttitle' => $menutexttitle);
  93.                 }
  94.             }
  95.             $admincategories[array('url' => pnModURL('Admin''admin''adminpanel'array('cid' => $item['cid'])),
  96.                                        'title' => DataUtil::formatForDisplay($item['catname']),
  97.                                        'modules' => $adminlinks);
  98.         }
  99.     }
  100.  
  101.     $pnRender->assign('admincategories'$admincategories);
  102.  
  103.     // Populate block info and pass to theme
  104.     $blockinfo['content'$pnRender->fetch('admin_block_adminnav.htm');
  105.  
  106.     return pnBlockThemeBlock($blockinfo);
  107. }

Documentation generated on Fri, 18 Jul 2008 21:38:49 +0200 by phpDocumentor 1.4.1