Public Member Functions | |
| getIndents ($params) | |
| getMenuData ($params, $maxindent) | |
Static Public Member Functions | |
| static | getInstance () |
Private Member Functions | |
| __construct () | |
| __clone () | |
| makeMenuLink ($mitem, $params, $maxindent) | |
Private Attributes | |
| $config = null | |
| $handler = null | |
| $currlink = '' | |
Static Private Attributes | |
| static | $instance = __CLASS__ |
Definition at line 46 of file aliroMenuCreator.php.
| aliroMenuCreator::__construct | ( | ) | [private] |
Definition at line 52 of file aliroMenuCreator.php.
References aliroRequest::getInstance(), aliroMenuHandler::getInstance(), and aliroCore::getInstance().
00052 { 00053 $this->config = aliroCore::getInstance(); 00054 $this->handler = aliroMenuHandler::getInstance(); 00055 $itemid = aliroRequest::getInstance()->getItemid(); 00056 if ($itemid) { 00057 $currmenu = $this->handler->getMenuByID($itemid); 00058 if ($currmenu) $this->currlink = $currmenu->link; 00059 } 00060 }
| aliroMenuCreator::__clone | ( | ) | [private] |
| static aliroMenuCreator::getInstance | ( | ) | [static] |
Definition at line 66 of file aliroMenuCreator.php.
00066 { 00067 return is_object(self::$instance) ? self::$instance : (self::$instance = new self::$instance()); 00068 }
| aliroMenuCreator::makeMenuLink | ( | $ | mitem, | |
| $ | params, | |||
| $ | maxindent | |||
| ) | [private] |
Definition at line 70 of file aliroMenuCreator.php.
References aliroCore::get(), and aliroSEF::getInstance().
Referenced by getMenuData().
00070 { 00071 $newlink = new aliroMenuLink (); 00072 $newlink->name = $mitem->name; 00073 $newlink->level = min($mitem->level,$maxindent); 00074 $newlink->link = aliroSEF::getInstance()->sefRelToAbs($mitem->link); 00075 // Active Menu highlighting 00076 $newlink->active = ($this->currlink == $mitem->link); 00077 // Set menu link class 00078 $newlink->opener = $mitem->browserNav; 00079 if ( $params->get('menu_images', 0)) { 00080 $menu_params = new aliroParameters($mitem->params); 00081 $menu_image = $menu_params->def( 'menu_image', -1 ); 00082 if ($menu_image AND $menu_image <> '-1') { 00083 $newlink->image = aliroCore::get('mosConfig_live_site').'/images/stories/'.$menu_image; 00084 $newlink->image_last = $params->get('menu_images_align', 0); 00085 } 00086 } 00087 return $newlink; 00088 }
| aliroMenuCreator::getIndents | ( | $ | params | ) |
Get images for menu indentation
Definition at line 93 of file aliroMenuCreator.php.
References aliroRequest::getInstance(), aliroCore::getInstance(), and NULL.
00093 { 00094 $base = aliroCore::getInstance()->getCfg('live_site'); 00095 $imgpath = $base.'/templates/'. aliroRequest::getInstance()->getTemplate() .'/images'; 00096 00097 for ( $i = 1; $i < 7; $i++ ) { 00098 switch ($params->get( 'indent_image', 0 )) { 00099 00100 case '1': 00101 // Default images 00102 $img[$i] = array("$base/images/M_images/indent$i.png", "Indent $i"); 00103 break; 00104 00105 case '2': 00106 // Use Params 00107 $img[$i] = ('-1' == $params->get('indent_image'.$i, 0)) ? array (NULL, NULL) : array("$base/images/M_images/$parm", "Indent $i"); 00108 break; 00109 00110 case '3': 00111 // None 00112 $img[$i] = array(NULL,NULL); 00113 break; 00114 00115 default: 00116 // Template 00117 $img[$i] = array("$imgpath/indent$i.png", "Indent $i"); 00118 break; 00119 } 00120 } 00121 return $img; 00122 }
| aliroMenuCreator::getMenuData | ( | $ | params, | |
| $ | maxindent | |||
| ) |
Construct a menu
Definition at line 127 of file aliroMenuCreator.php.
References makeMenuLink().
00127 { 00128 $menutype = $params->get('menutype', 'mainmenu'); 00129 $rows = $this->handler->getByParentOrder($menutype, true); 00130 $entries = array(); 00131 $show = array(0); 00132 foreach ($rows as $row) { 00133 if (!in_array($row->parent, $show)) array_unshift($show, $row->parent); 00134 elseif (!$row->parent == $show[0]) array_shift($show); 00135 if ($this->currlink == $row->link) { 00136 array_push($show, $row->id); 00137 break; 00138 } 00139 } 00140 foreach ($rows as $row) if (in_array($row->parent, $show)) { 00141 $entries[] = $this->makeMenuLink($row, $params, $maxindent); 00142 } 00143 return $entries; 00144 }
aliroMenuCreator::$instance = __CLASS__ [static, private] |
Definition at line 47 of file aliroMenuCreator.php.
aliroMenuCreator::$config = null [private] |
Definition at line 48 of file aliroMenuCreator.php.
aliroMenuCreator::$handler = null [private] |
Definition at line 49 of file aliroMenuCreator.php.
aliroMenuCreator::$currlink = '' [private] |
Definition at line 50 of file aliroMenuCreator.php.
1.5.5