. */ Class module_menu extends abstract_module{ public function __construct(){ plugin_i18n::start(); } public function _index(){ $tLink=array( tr('menuTop_createProject') => 'builder::new', tr('menuTop_editProjects') => 'builder::list', tr('menuTop_marketBuilder') => 'builder::marketBuilder', ); $oTpl=new _tpl('menu::index'); $oTpl->tLink=$tLink; return $oTpl; } public function _export(){ $oTpl=new _tpl('menu::export'); return $oTpl; } public function _projetEmbedded(){ /* if(_root::getParam('action')=='model'){ $tLink=array( //'Créer la couche modèle' => 'model', ); }else{//if(_root::getParam('action')=='module'){ $tLink=array( 'Modules' => 'title', 'Créer un module' => 'module', 'Créer un module CRUD' => 'crud', 'Créer un module Lecture seule' => 'crudreadonly', 'Créer un module d\'authentification' => 'authmodule', 'Créer un module d\'authentification avec inscription' => 'authwithinscriptionmodule', 'Modules intégrable' => 'title', 'Créer un module menu ' => 'addmodulemenu', 'Créer un module intégrable' => 'moduleembedded', 'Créer un module CRUD intégrable' => 'crudembedded', 'Créer un module Lecture seule intégrable' => 'crudembeddedreadonly', ); }*/ $bBootstrap=0; if(file_exists('data/genere/'._root::getParam('id').'/layout/bootstrap.php')){ $bBootstrap=1; } if($bBootstrap){ $tType=array('all','bootstrap'); }else{ $tType=array('all','normal'); } $sLang=_root::getConfigVar('language.default'); $tLinkModule=array(); foreach($tType as $sType){ $sPathModule=_root::getConfigVar('path.module').'/mods/'.$sType; $tModulesAll=scandir($sPathModule); foreach($tModulesAll as $sModule){ if(file_exists($sPathModule.'/'.$sModule.'/info.ini')){ $tIni=parse_ini_file($sPathModule.'/'.$sModule.'/info.ini'); $priority=999; if(isset($tIni['priority'])){ $priority=$tIni['priority']; } $sPriority=sprintf('%03d',$priority); $tLinkModule[ $tIni['category'] ][ $tIni['title.'.$sLang].' version '.$tIni['version'].'' ]=$sPriority.'mods_'.$sType.'_'.$sModule.'::index'; } } } //$tModules=scandir(_root::getConfigVar('path.module')).'/mods/normal'; $tTitle=array( //'coucheModel', 'modules', 'modulesEmbedded', 'views', //'databasesEmbedded', //'unitTest', ); $tLink=array(); foreach($tTitle as $sTitle){ if(isset($tLinkModule[$sTitle])){ $tLinkModuleCat=$tLinkModule[$sTitle]; asort($tLinkModuleCat); $tLink[ tr('menu_'.$sTitle) ]='title'; foreach($tLinkModuleCat as $sLabel => $sLink){ $tLink[ $sLabel ]=substr($sLink,3); } } } $oTpl=new _tpl('menu::projetEmbedded'); $oTpl->tLink=$tLink; return $oTpl; } private function getListDir($oRootDir){ $toDir=$oRootDir->getListDir(); $tDir=array(); foreach($toDir as $oDir){ $tDir[$oDir->getName()]['dir']=$this->getListDir($oDir); $tDir[$oDir->getName()]['file']=$this->getListFile($oDir); } ksort($tDir); return $tDir; } private function getListFile($oRootDir){ $toFile=$oRootDir->getListFile(); $tFile=array(); foreach($toFile as $oFile){ $tFile[$oFile->getName()]=$oFile->getAdresse(); } asort($tFile); return $tFile; } public function codeArbo($sProject){ $oDir=new _dir('data/genere/'.$sProject); $tDir=$oDir->getListDir(); $tFileAndDir=array(); foreach($tDir as $oDir){ $tFileDir[$oDir->getName()]['dir']=$this->getListDir($oDir); $tFileDir[$oDir->getName()]['file']=$this->getListFile($oDir); } ksort($tFileDir); $oView=new _view('menu::codearbo'); $oView->tDir=$tDir; $oView->tFileDir=$tFileDir; return $oView; } } ?>