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

Source for file function.moduleadminlinks.php

Documentation is available at function.moduleadminlinks.php

  1. <?php
  2. /**
  3.  * Zikula Application Framework
  4.  *
  5.  * @copyright (c) 2004, Zikula Development Team
  6.  * @link http://www.zikula.org
  7.  * @version $Id: function.moduleadminlinks.php 24342 2008-06-06 12:03:14Z markwest $
  8.  * @license GNU/GPL - http://www.gnu.org/copyleft/gpl.html
  9.  * @package Zikula_Template_Plugins
  10.  * @subpackage Functions
  11.  */
  12.  
  13. /**
  14.  * Smarty function to display admin links for a module
  15.  *
  16.  * Example
  17.  * <!--[moduleadminlinks modname=Example start="[" end="]" seperator="|" class="pn-menuitem-title"]-->
  18.  *
  19.  * @author       Mark West
  20.  * @since        15/02/06
  21.  * @param        array       $params      All attributes passed to this function from the template
  22.  * @param        object      &$smarty     Reference to the Smarty object
  23.  * @param        string      $modname     module name to display links for
  24.  * @param        string      $start       start string (optional)
  25.  * @param        string      $end         end string (optional)
  26.  * @param        string      $seperator   link seperator (optional)
  27.  * @param        string      $class       CSS class (optional)
  28.  * @return       string      a formatted string containing navigation for the module admin panel
  29.  */
  30. function smarty_function_moduleadminlinks($params&$smarty)
  31. {
  32.     extract($params);
  33.     unset($params['modname']);
  34.  
  35.     // set some defaults
  36.     if (!isset($start)) {
  37.         $start '[';
  38.     }
  39.     if (!isset($end)) {
  40.         $end ']';
  41.     }
  42.     if (!isset($seperator)) {
  43.         $seperator '|';
  44.     }
  45.     if (!isset($class)) {
  46.         $class 'pn-menuitem-title';
  47.     }
  48.  
  49.     // check our module name
  50.     if (!pnModAvailable($modname)) {
  51.         $smarty->trigger_error("moduleadminlinks: module {$modname} not installed");
  52.         return false;
  53.     }
  54.     if (!isset($modname|| !pnModAvailable($modname)) {
  55.         $modname pnModGetName();
  56.     }
  57.  
  58.     // get the links from the module API
  59.     $links pnModAPIFunc($modname'admin''getlinks'$params);
  60.  
  61.     // establish some useful count vars
  62.     $linkcount count($links);
  63.  
  64.     $adminlinks "<span class=\"$class\">$start ";
  65.     foreach ($links as $key => $link{
  66.         $id '';
  67.         if (isset($link['id'])) {
  68.             $id 'id="' $link['id''"';
  69.         }
  70.         if (!isset($link['title'])) {
  71.             $link['title'$link['text'];
  72.         }
  73.         if (isset($link['disabled']&& $link['disabled'== true{
  74.             $adminlinks .= "<span $id>'<a class="pn-disabledadminlink" title="' DataUtil::formatForDisplay($link['title']'">' DataUtil::formatForDisplay($link['text']'</a> ';
  75.         else {
  76.             $adminlinks .= "<span $id><a href=\"DataUtil::formatForDisplay($link['url']'" title="' DataUtil::formatForDisplay($link['title']'">' DataUtil::formatForDisplay($link['text']'</a> ';
  77.         }
  78.         if ($key == $linkcount-1{
  79.             $adminlinks .= '</span>';
  80.             continue;
  81.         }
  82.         // linebreak
  83.         if (isset($link['linebreak']&& $link['linebreak'== true{
  84.             $adminlinks .= "</span>\n ";
  85.             $adminlinks .= "$end</span><br /><span class=\"$class\">$start ";
  86.         else {
  87.             $adminlinks .= "$seperator</span>\n ";
  88.         }
  89.     }
  90.     $adminlinks .= "$end</span>\n";
  91.  
  92.     return $adminlinks;
  93. }

Documentation generated on Fri, 18 Jul 2008 21:45:30 +0200 by phpDocumentor 1.4.1