Ejemplo n.º 1
0
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];
}
Ejemplo n.º 2
0
/**
 * 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;
}