function mdle_need_desc($table) { global $_mdle_cache, $root; if (isset($_mdle_cache[$table])) { return $_mdle_cache[$table]; } $file = $root . 'modeles' . DS . $table . '.yml'; if (is_file($file)) { $data = spyc_load_file($file); $data['file'] = $table . '.yml'; if (isset($data['name']) && $data['name'] == $table) { //$_mdle_cache[$data['name']] = $data; return $data; } } #Recherche modules foreach (Extend::getInstalledMods() as $mod) { $tables = $mod->getModels(); if (isset($tables[$table])) { return $tables[$table]; } } dbg_warning(__FILE__, "Il n'y a pas de fichier portant le nom d'un modèle demandé : {$table}", 1); // Peut-être qu'en chargeant tous les fichiers on va trouver le bon... mdle_get_tables(); if (!isset($_mdle_cache[$table])) { dbg_error(__FILE__, "Le modèle demandé ({$table}) n'existe pas", 1); } return $_mdle_cache[$table]; }
/** * Construit un menu * * @global array $menu menus par défault * @global type $tmpdir dossier tmp * @param type $type type de menu * @return str HTML */ function mkmenu($type = 'DEFAULT') { global $menu, $tmpdir; $html = ""; $cachefile = $tmpdir . '/menu_' . $type . '.php'; $xmenu = array(); if (!file_exists($cachefile)) { $xmenu = $menu[$type]; foreach (Extend::getInstalledMods() as $mod) { $xmenu = array_merge_recursive($xmenu, $mod->getMenu($type)); } file_put_contents($cachefile, "<?php\n\$xmenu = " . var_export($xmenu, true) . ";\n"); } else { include $cachefile; } foreach ($xmenu as $item) { $html .= mkmenuItem($item); } return $html; }