%PDF- %PDF-
Direktori : /home/devcapijob/public_html/modules/menu/ |
Current File : /home/devcapijob/public_html/modules/menu/index.php |
<?php /** * @version 1 * @package yassir * @copyright Copyright (C) 2011 Open Source Matters. All rights reserved. * @license sharware * * * @MENU MODULE */ class menuModule extends Module{ var $data=array(); function display(){ $this->js=''; $this->css=''; $cachefile = $_SERVER['DOCUMENT_ROOT'].'/caching-master/cache/menu.html'; $cachetime = 6000; if (file_exists($cachefile) && filesize($cachefile)>0) { ////*****************************//// // Executing From Cache ////*****************************//// return file_get_contents($cachefile); }else { $this->data=$this->get_mainmenu($this->param,0); $content = $this->html(); $fp = fopen($cachefile, 'w'); //https://www.php.net/manual/en/function.flock.php if(flock($fp,LOCK_EX)) //LOCK_EX to acquire an exclusive lock (writer) { fwrite($fp,$content); flock($fp,LOCK_UN);//LOCK_UN to release a lock (shared or exclusive). fclose($fp); } return $content; } } function get_mainmenu($type,$parent=NULL,$parent_alias=null){ $list=$this->liste_menu(NULL,NULL,$type,$parent); //var_dump($list); $tmp=array(); foreach($list as $menu){ extract($menu); $li['id_menu']=$id_menu; if($composantid==1){ $a=$this->getAccueil(); $li['link']=Link::gen_url('menu',$a[1]); } elseif($composantid==6){ $a=$this->liste_pages(null,$itemid); $li['link']=Link::gen_url('page',$a[0]['alias']); $id_page=$a[0]['id_page']; } elseif($composantid==13){ $li['link']=Link::gen_url('regions',$alias,null,0,$parent_alias); } elseif($composantid==0){ $li['link']=$alias; } else{ $li['link']=Link::gen_url('menu',$alias); } $li['titre']=$menu_titre; $li['children']=$this->get_mainmenu($this->param,$id_menu,$alias); $li['current']=(Request::get('id_item')==$id_menu or ($id_page==Request::get('id') and $composantid==6) or(Request::type()=='accueil' and $composantid==1))? 'active' : ''; array_push($tmp,$li); } return ($tmp) ; } function html(){ $n=1; $li_holder=''; // var_dump($this->data); foreach($this->data as $menu){ if($menu['link']!=''){ $li_holder .= '<li class="'.$menu['current'].'" id="item_'.$menu['id_menu'].'"><a target="_blank" title="'.ucfirst(stripslashes($menu['titre'])).'" href="'.$menu['link'].'" ><span>'; $li_holder .= ucfirst(stripslashes($menu['titre'])); $li_holder .= '</span></a>'; $li_holder2=''; if(!empty($menu['children'])){ //----------------------------- foreach($menu['children'] as $menu2){ $li_holder2 .= '<li class="'.$menu2['current'].'" id="item_'.$menu2['id_menu'].'"><a target="_blank" title="'.ucfirst(stripslashes($menu2['titre'])).'" href="'.$menu2['link'].'" ><span>'; $li_holder2 .= ucfirst(stripslashes(utf8_decode($menu2['titre']))); $li_holder2 .= '</span></a>'; $li_holder2 .= '</li>'; } $li_holder .= '<ul class="sub_menu">'.$li_holder2.'</ul>'; //----------------------------- } $li_holder .= '</li>'; $n+=1; } } $li_holder = '<ul id="menu">'.$li_holder.'</ul>'; return $li_holder; } } ?>