/** * Fichier pour l'administration des instances des modèles * @package frametool */ function admin_modeles_index() { global $tpl, $pdo; $tables = mdle_get_tables(); foreach ($tables as $t) { $sql = $pdo->query("SELECT COUNT(*) FROM " . $t['name']); $t['nbr'] = $sql->fetch(); $t['nbr'] = $t['nbr'][0]; $tpl->append('tables', $t); } $tpl->display('adminmodeles.tpl'); quit(); }
} catch (PDOException $e) { // Erreur de connexion } } // installation BDD if (isset($_GET['etape']) && $_GET['etape'] == 'dbsync') { extract($_SESSION); $root = $srcdir . DS; require_once $root . 'libs' . DS . 'spyc.php'; require_once $root . 'libs' . DS . 'common.php'; require_once $root . 'libs' . DS . 'models.php'; require_once $root . 'libs' . DS . 'extend.php'; $pdo = new PDO($dsn, $db_user, $db_pass); $need_tables = array(); $define_tables = mdle_get_tables(); foreach (mdle_get_tables() as $t) { $need_tables[] = $t['name']; } $installed_tables = array(); $sql = $pdo->query('SHOW TABLES'); while ($t = $sql->fetch()) { $installed_tables[] = $t[0]; } $delete_tables = array_diff($installed_tables, $need_tables); $install_tables = array_diff($need_tables, $installed_tables); $verify_tables = array_intersect($need_tables, $installed_tables); $modify_tables = array(); foreach ($verify_tables as $table) { $sql = $pdo->query("SHOW COLUMNS FROM {$table}"); $fields = array(); $modify_fields = array();
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]; }