sauv_table_id = $sauv_table_id;
$this -> sauv_table_nom = $sauv_table_nom;
$this -> sauv_table_tables = $sauv_table_tables;
$this -> act = $act;
}
public function verifTables() {
global $msg;
if (!is_array($this->sauv_table_tables)) {
echo "";
exit();
}
}
public function verifName() {
global $msg;
//Erreur, si nom de groupe de tables vide
if ($this->sauv_table_nom == "") {
echo "";
exit();
}
$requete="select sauv_table_id from sauv_tables where ( sauv_table_nom='".$this->sauv_table_nom."' and sauv_table_id !='".$this -> sauv_table_id."')";
$resultat=pmb_mysql_query($requete) or die(pmb_mysql_error());
if (pmb_mysql_num_rows($resultat)!=0) {
echo "";
exit();
}
}
//Traitement de l'action reçue du formulaire (à appeller juste après l'instanciation de la classe)
//Renvoie le formulaire à afficher
public function proceed() {
global $first;
switch ($this -> act) {
//Enregistrer
case "update" :
//Si sauv_lieu_id vide alors création
if ($this -> sauv_table_id == "") {
$this->verifName();
$requete = "insert into sauv_tables (sauv_table_nom) values('')";
pmb_mysql_query($requete) or die(pmb_mysql_error());
$this -> sauv_table_id = pmb_mysql_insert_id();
$first="";
}
//Update avec les données reçues
$this->verifTables();
$this->verifName();
$requete = "update sauv_tables set sauv_table_nom='".$this -> sauv_table_nom."', sauv_table_tables='".implode(",", $this -> sauv_table_tables)."' where sauv_table_id=".$this -> sauv_table_id;
pmb_mysql_query($requete) or die(pmb_mysql_error());
$first="";
break;
//Supprimer
case "delete" :
$requete = "delete from sauv_tables where sauv_table_id=".$this -> sauv_table_id;
pmb_mysql_query($requete) or die(pmb_mysql_error());
$this -> sauv_table_id = "";
$first = 0;
break;
//Annuler
case "cancel" :
echo "";
exit();
break;
case "update_unsaved" :
$this->updateUnsaved();
break;
//Visualiser
default :
//Ne rien faire, le numéro de la fiche est déjà dans $this->sauv_lieu_id
}
return $this -> showForm();
}
//Préaparation du formulaire pour affichage
public function showForm() {
global $form;
global $first;
global $msg;
//Si première connexion
if (!$first) {
$form = "
".$msg["sauv_tables_sel_or_add"]."
";
} else {
if ($this -> act != "show_unsaved") {
//Formulaire normal
//Si identifiant non vide
if ($this -> sauv_table_id) {
//Récupération des données de la fiche
$requete = "select sauv_table_nom,sauv_table_tables from sauv_tables where sauv_table_id=".$this -> sauv_table_id;
$resultat = pmb_mysql_query($requete);
if (pmb_mysql_num_rows($resultat) != 0)
list ($this -> sauv_table_nom, $this -> sauv_table_tables) = pmb_mysql_fetch_row($resultat);
//$form = "".$this -> sauv_table_nom."".$form;
$form = str_replace("!!quel_table!!", $this -> sauv_table_nom, $form);
$form = str_replace("!!delete!!", "", $form);
} else {
//Sinon : Nouvelle fiche
//$form = "".$msg["sauv_tables_new"]."".$form;
$form = str_replace("!!quel_table!!", $msg["sauv_tables_new"], $form);
$form = str_replace("!!delete!!", "", $form);
$tTablesSelected = array();
}
$form = str_replace("!!sauv_table_id!!", $this -> sauv_table_id, $form);
$form = str_replace("!!sauv_table_nom!!", $this -> sauv_table_nom, $form);
//Liste des tables
$tTablesSelected = explode(",", $this -> sauv_table_tables);
$requete = "show tables";
$resultat = pmb_mysql_query($requete) or die(pmb_mysql_error());
$tTables_tab = array();
while (list ($table) = pmb_mysql_fetch_row($resultat)) {
$tTables_tab[] = $table;
}
$tables_list = "
\n";
$form = str_replace("!!tables_list!!", $tables_list, $form);
} else {
//Tables non sauvegardées
//$form = "".$msg["sauv_tables_unsaved_tables"]."\n";
$form = "";
$form.="";
}
}
return $form;
}
//Tratitement du retour du formulaire des tables non intégrées dans les groupes
public function updateUnsaved()
{
global $first;
//Récupération de la liste
$requete = "select sauv_table_id, sauv_table_nom, sauv_table_tables from sauv_tables ";
$resultat = pmb_mysql_query($requete) or die(pmb_mysql_error());
$tTables = "";
while ($res = pmb_mysql_fetch_object($resultat)) {
$tTables.= ",".$res -> sauv_table_tables;
}
//Recherche des tables non intégrées dans les groupes
$tTablesSelected = explode(",", $tTables);
$requete = "show tables";
$resultat = pmb_mysql_query($requete) or die(pmb_mysql_error());
$unsavedTables = array();
while (list ($table) = pmb_mysql_fetch_row($resultat)) {
$as=array_search($table, $tTablesSelected);
if (( $as!== false)&&($as!==null)) {
//Do nothing
} else {
$unsavedTables[] = $table;
}
}
$n=count($unsavedTables);
for ($i=0; $i
";
$tree = "";
//Récupération de la liste
$requete = "select sauv_table_id, sauv_table_nom, sauv_table_tables from sauv_tables order by sauv_table_nom";
$resultat = pmb_mysql_query($requete, $dbh) or die(pmb_mysql_error());
$tTables = "";
while ($res = pmb_mysql_fetch_object($resultat)) {
$tTables.= ",".$res -> sauv_table_tables;
$tree.= "