"._("generateur")." -> "._("generation complete")
);
//
$title = _("base de donnees")." ".OM_DB_PHPTYPE." '";
$title .= (OM_DB_SCHEMA == "" ?"":OM_DB_SCHEMA.".").OM_DB_DATABASE."'";
$f->layout->display_page_title_subtext($title);
//
if (OM_DB_PHPTYPE != "pgsql") {
//
$message = _(
"Le generateur ne prend pas en charge le type de base de donnees
utilise."
);
$f->displayMessage("error", $message);
//
die();
}
//
require_once PATH_OPENMAIRIE."gen.class.php";
/**
* Page - Start
*/
// Ouverture du container de la page
echo "\n
\n";
/**
* Récupération de la liste des tables à générer
*/
//
$sql = "select tablename from pg_tables where schemaname='".OM_DB_SCHEMA."' ORDER BY tablename";
$res = $f->db->query($sql);
$f->addToLog("scr/genfull.php: db->query(\"".$sql."\");", VERBOSE_MODE);
$f->isDatabaseError($res);
// Récupération d'un paramètre si le fichier de paramétrage existe
// Permet de ne pas générer des tables non souhaitées
$tables_to_avoid = array();
if (file_exists("../gen/dyn/gen.inc.php")) {
include "../gen/dyn/gen.inc.php";
}
//
while ($row =& $res->fetchRow()) {
//
$table = $row[0];
// Si la table n'est pas souhaitée on passe à la suivante
if (in_array($table, $tables_to_avoid)) {
continue;
}
//
$title = "-> "._("table")." '".$table."'";
$f->displaySubTitle($title);
// Classe gen
$g = new gen(
$table,
$f->db,
OM_DB_DATABASE,
OM_DB_PHPTYPE,
null,
OM_DB_SCHEMA
);
//
$params = $g->get_gen_parameters();
//
if ($g->is_generable() == true) {
// On intialise le marqueur d'erreur à false avant de lancer la
// boucle de génération
$rightError = false;
// On boucle sur chaque fichier à générer
foreach ($params as $key => $param) {
// Si le fichier doit être généré (checked = true)
// ou seulement si il n'existe pas (notexist)
if ($param["checked_generate"] === true
or ($param["checked_generate"] === "not_exists"
and !file_exists($param["path"]))
) {
// On écrit le fichier sur le disque
if (!isset($param["method_param"])) {
$result = $g->ecrirefichier(
$param["path"],
$g->{$param["method"]}()
);
} else {
//
$result = $g->ecrirefichier(
$param["path"],
$g->{$param["method"]}($param["method_param"])
);
}
// Si une erreur s'est produite pendant l'écriture du
// fichier sur le disque alors on positionne le marqueur
// d'erreur à true
if (!$result) {
$rightError = true;
}
}
}
// Affichage du message des erreurs de droits d'ecriture
if ($rightError) {
$f->displayMessage(
"error",
_("Erreur de droits d'ecriture lors de la generation des fichiers")
);
}
// Affichage du message de fin de traitement
$f->displayMessage("valid", $g->msg);
}
}
/**
* Page - End
*/
// Lien retour
$f->layout->display_lien_retour(array(
"href" => "../scr/gen.php",
));
// Fermeture du container de la page
echo "
\n";
?>