function auteur() { // Definition des variables globales : global $prefixe; global $langue; global $utilisateur_connecte; // Definition de(s) table(s) : $this->table = $prefixe . "_auteur"; $table_utilisateur = $prefixe . "_utilisateur"; $table_theme = $prefixe . "_theme"; // Initialisation de(s) argument(s) : $arguments = func_get_args(); $numargs = func_num_args(); if ($numargs > 0) { $idauteur = $arguments[0]; } if ($numargs > 1) { $this->tableau_arguments = $arguments[1]; } // Heritage : parent::objet(); // Initialisation : // Champs obligatoires : $this->champs_obligatoires = array("idutilisateur_rel", "idtheme_rel"); // Champs du formulaire de creation : $this->champs_formulaire = array("idutilisateur_rel", "idtheme_rel"); // Champs caches du formulaire: $this->champs_caches = array(); // Recherche de la question si l'on donne son identifiant : if (isset($idauteur)) { $auteur_choisi = requete_sql("select * FROM {$this->table} WHERE idauteur={$idauteur}"); $auteur_choisi = tableau_sql($auteur_choisi); $this->idauteur = $idauteur; $this->identifiant = $idauteur; $this->visible = $auteur_choisi["visible"]; $this->idutilisateur_rel = $auteur_choisi["idutilisateur_rel"]; $this->idtheme_rel = $auteur_choisi["idtheme_rel"]; $this->datecreation = $auteur_choisi["datecreation"]; $this->validation = $auteur_choisi["validation"]; $this->idutilisateur_validateur_rel = $auteur_choisi["idutilisateur_validateur_rel"]; $this->datevalidation = $auteur_choisi["datevalidation"]; $this->correcteur = $auteur_choisi["correcteur"]; $this->dateaccordcorrecteur = $auteur_choisi["dateaccordcorrecteur"]; } else { if (!isset($this->datecreation) || $this->datecreation == "") { $this->datecreation = time(); } if (!isset($this->idutilisateur_auteur_rel) || $this->idutilisateur_auteur_rel == "" || !is_numeric($this->idutilisateur_auteur_rel) || intval($this->idutilisateur_auteur_rel) != $this->idutilisateur_auteur_rel) { $this->idutilisateur_auteur_rel = $utilisateur_connecte->identifiant; } if (!isset($this->validation) || $this->validation == "" || !is_numeric($this->validation) || intval($this->validation) != $this->validation) { $this->validation = 0; } } }
/** * Get column of table select for SQL * * @access private */ function GetColumnSelect() { $query = 'PRAGMA table_info(' . brackets($GLOBALS['table']) . ');'; $tableInfoTable = array(); $out = ''; if ($this->connId->getResId($query)) { $tableInfoTable = $this->connId->getArray(); } if (!empty($tableInfoTable)) { $optionList = array(); foreach ($tableInfoTable as $columnInfo) { $optionList[] = '<option value="' . brackets($GLOBALS['table']) . '.' . brackets($columnInfo['name']) . '">' . brackets($GLOBALS['table']) . '.' . brackets($columnInfo['name']) . '</option>'; } $out = '<div><select name="columnTable" size="' . TEXAREA_NB_ROWS . '" multiple="multiple">' . "\n" . implode("\n", $optionList) . '</select></div>' . "\n"; $out .= '<div><input name="insertButton" class="button" type="button" value="' . $GLOBALS['traduct']->get(75) . '" onClick="insertColumn();"></div>'; } return $out; }
function choix() { // Definition des variables globales : global $prefixe; global $page_question; // Definition de(s) table(s) : $this->table = $prefixe . "_choix"; // Initialisation de(s) argument(s) : $arguments = func_get_args(); $numargs = func_num_args(); if ($numargs > 0) { $idchoix_selectionne = $arguments[0]; } if ($numargs > 1) { $this->tableau_arguments = $arguments[1]; } // Heritage : parent::objet(); // Initialisation : // Champs obligatoires : $this->champs_obligatoires = array("idquestion_rel"); // Champs du formulaire de creation : $this->champs_formulaire = array("titre", "intitule", "vraifaux", "valeur"); // Champs caches du formulaire: $this->champs_caches = array("idquestion_rel"); // Recherche du choix si l'on donne son identifiant : if (isset($idchoix_selectionne)) { $reponse_choisie = requete_sql("select * FROM {$this->table} WHERE idchoix={$idchoix_selectionne}"); $reponse_choisie = tableau_sql($reponse_choisie); $this->idchoix = $idchoix_selectionne; $this->identifiant = $idchoix_selectionne; $this->visible = $reponse_choisie["visible"]; $this->idquestion_rel = $reponse_choisie["idquestion_rel"]; $this->titre = $reponse_choisie["titre"]; $this->intitule = $reponse_choisie["intitule"]; $this->vraifaux = $reponse_choisie["vraifaux"]; $this->valeur = $reponse_choisie["valeur"]; } // Initialisation du choix si l'on ne donne pas d'indentifiant : // l'heritage suffit }
function regle() { // Definition des variables globales : global $prefixe; // Definition de(s) table(s) : $this->table = $prefixe . "_z_regle"; // Initialisation de(s) argument(s) : $arguments = func_get_args(); $numargs = func_num_args(); if ($numargs > 0) { $idregle = $arguments[0]; } if ($numargs > 1) { $nomregle = $arguments[1]; } // Heritage : parent::objet(); // Initialisation : // Champs obligatoires : $this->champs_obligatoires = array("titre", "idutilisateurauteur_rel"); // Recherche de la regle en fonction de son identifiant : if (isset($idregle) && $idregle != 0) { $regle_choisie = requete_sql("select * FROM {$this->table} WHERE {$this->champ_identifiant}='{$idregle}'"); $regle_choisie = tableau_sql($regle_choisie); $this->idregle = $regle_choisie["idregle"]; $this->identifiant = $regle_choisie["idregle"]; $this->nom = $regle_choisie["nom"]; $this->description = $regle_choisie["description"]; $this->valeur = $regle_choisie["valeur"]; $this->listechoix = $regle_choisie["listechoix"]; } elseif (isset($nomregle)) { $regle_choisie = requete_sql("select * FROM {$this->table} WHERE nom='{$nomregle}'"); $regle_choisie = tableau_sql($regle_choisie); $this->idregle = $regle_choisie["idregle"]; $this->nom = $regle_choisie["nom"]; $this->description = $regle_choisie["description"]; $this->valeur = $regle_choisie["valeur"]; $this->listechoix = $regle_choisie["listechoix"]; } }
function reponse($num_choix = 0, $mot = "", $texte = "", $num_question = 0) { // Definition des variables globales : global $prefixe; global $idutilisateur; // Definition de(s) table(s) : $this->table = $prefixe . "_reponse"; // Heritage : parent::objet(); // Initialisation : // Champs obligatoires : $this->champs_obligatoires = array("datereponse", "idutilisateur_rel"); $this->visible = 1; if (is_numeric($idutilisateur) && intval($idutilisateur) == $idutilisateur) { $this->idutilisateur_rel = $idutilisateur; } else { $this->idutilisateur_rel = "0"; } $this->idchoix_rel = $num_choix; $this->datereponse = time(); $this->mot = $mot; $this->texte = $texte; $this->idquestion_rel = $num_question; }
/** * Clear cache for Smarty * * @param objet $smarty */ public static function clearCache($smarty) { if (!Configuration::get('PS_FORCE_SMARTY_2')) { $smarty->clearAllCache(); } else { $smarty->clear_all_cache(); } }
function question() { // Definition des variables globales : global $prefixe; global $langue; global $utilisateur_connecte; global $page_questionnaire; global $page_choix; // Definition de(s) table(s) : $this->table = $prefixe . "_question"; $table_choix = $prefixe . "_choix"; // Initialisation de(s) argument(s) : $arguments = func_get_args(); $numargs = func_num_args(); if ($numargs > 0) { $idquestion = $arguments[0]; } if ($numargs > 1) { $this->tableau_arguments = $arguments[1]; } // Heritage : parent::objet(); // Initialisation : // Champs obligatoires : $this->champs_obligatoires = array("titre", "idutilisateur_auteur_rel"); // Champs du formulaire de creation : $this->champs_formulaire = array("titre", "intitule", "type", "ordre", "solution"); // Champs caches du formulaire: $this->champs_caches = array("idquestionnaire_rel"); // Recherche de la question si l'on donne son identifiant : if (isset($idquestion)) { $question_choisie = requete_sql("select * FROM {$this->table} WHERE idquestion={$idquestion}"); $question_choisie = tableau_sql($question_choisie); $this->idquestion = $idquestion; $this->identifiant = $idquestion; $this->visible = $question_choisie["visible"]; $this->idquestionnaire_rel = $question_choisie["idquestionnaire_rel"]; $this->ordre = $question_choisie["ordre"]; $this->titre = $question_choisie["titre"]; $this->intitule = $question_choisie["intitule"]; $this->solution = $question_choisie["solution"]; $this->type = $question_choisie["type"]; $this->niveau = $question_choisie["niveau"]; $this->idutilisateur_auteur_rel = $question_choisie["idutilisateur_auteur_rel"]; $this->validation = $question_choisie["validation"]; $this->idutilisateur_validateur_rel = $question_choisie["idutilisateur_validateur_rel"]; $this->datecreation = $question_choisie["datecreation"]; $this->datevalidation = $question_choisie["datevalidation"]; $this->textevalidation = $question_choisie["textevalidation"]; $type_avec_choix = array("choix_unique", "choix_unique_liste", "choix_multiple", "choix_multiple_liste"); if (in_array($this->type, $type_avec_choix)) { $liste_choix_sql = requete_sql("select * FROM {$table_choix} WHERE idquestion_rel='{$idquestion}' AND visible='1'"); while ($choix = tableau_sql($liste_choix_sql)) { array_push($this->liste_choix, $choix); } } } else { if (!isset($this->datecreation) || $this->datecreation == "") { $this->datecreation = time(); } if (!isset($this->idutilisateur_auteur_rel) || $this->idutilisateur_auteur_rel == "" || !is_numeric($this->idutilisateur_auteur_rel) || intval($this->idutilisateur_auteur_rel) != $this->idutilisateur_auteur_rel) { $this->idutilisateur_auteur_rel = $utilisateur_connecte->identifiant; } if (!isset($this->validation) || $this->validation == "" || !is_numeric($this->validation) || intval($this->validation) != $this->validation) { $this->validation = 0; } } }
/** * Récupère les données d'un élève à afficher * @param objet $eleve Un élève issu de getEleves() * @param date $date_debut * @param date $date_fin * @param objet $justifie_col Collection Propel avec les justifications * @param bool $donneeBrut * @return array Une ligne du tableau à afficher * @see getEleves() */ function traiteEleve($eleve,$date_debut, $date_fin, $justifie_col, $donneeBrut, $erreur=FALSE) { $eleve_id = $eleve->getId(); $donnees= array(); $donnees[$eleve_id] = array(); $propel_eleve = EleveQuery::create()->filterById($eleve_id)->findOne(); $eleveNbAbs['demi_journees'] = $propel_eleve->getDemiJourneesAbsence($date_debut, $date_fin)->count(); $eleveNbAbs['retards'] = $propel_eleve->getRetards($date_debut, $date_fin)->count(); if ($eleveNbAbs['demi_journees'] > 0 || $eleveNbAbs['retards'] > 0 ) { $eleveNbAbs['non_justifiees'] = $propel_eleve->getDemiJourneesNonJustifieesAbsence($date_debut, $date_fin)->count(); $eleveNbAbs['justifiees'] = $eleveNbAbs['demi_journees'] - $eleveNbAbs['non_justifiees']; $donnees[$eleve_id]['nom'] = $eleve->getNom(); $donnees[$eleve_id]['prenom'] = $eleve->getPrenom(); $donnees[$eleve_id]['classe'] = $eleve->getClasse(); $donnees[$eleve_id]['classe'] = $eleve->getClasseNom(); $donnees[$eleve_id]['nbre_lignes_total'] = 0; $donnees[$eleve_id]['demi_journees'] = $eleveNbAbs['demi_journees']; $donnees[$eleve_id]['justifiees'] = $eleveNbAbs['justifiees']; $donnees[$eleve_id]['non_justifiees'] = $eleveNbAbs['non_justifiees']; $donnees[$eleve_id]['retards'] = $eleveNbAbs['retards']; //Récupérer le décompte des traitements pour chaque élève $totalDemi=0; foreach ($justifie_col as $justifie) { // Décompte en données brutes if ($donneeBrut == TRUE) { $propel_traitEleve = AbsenceEleveTraitementQuery::create()->filterByAJustificationId($justifie->getid()) ->useJTraitementSaisieEleveQuery() ->useAbsenceEleveSaisieQuery() ->filterByEleveId($eleve_id) ->filterByPlageTemps($date_debut,$date_fin ) ->endUse() ->endUse() ; $traiteEleve_col = $propel_traitEleve; $donnees[$eleve_id]['traitement'][] = $traiteEleve_col->distinct()->count(); } else { // Décompte en 1/2 journées $abs_saisie_col_filtrees = $eleve->getAbsenceEleveSaisiesDecompteDemiJournees($date_debut, $date_fin); $justif_collection = new PropelCollection(); foreach ($abs_saisie_col_filtrees as $saisie) { foreach ($saisie->getAbsenceEleveTraitements() as $traitement) { if ($traitement->getAJustificationId() == $justifie->getid()) { $justif_collection->add($saisie); } } } require_once(dirname(__FILE__)."/../orm//helpers/AbsencesEleveSaisieHelper.php"); $dm = AbsencesEleveSaisieHelper::compte_demi_journee($justif_collection, $date_debut, $date_fin); $donnees[$eleve_id]['traitement'][] = $dm->count(); $totalDemi += $dm->count(); } } $donnees[$eleve_id]['totalDemi']=$totalDemi; } unset ($eleveNbAbs, $traiteEleve_col, $propel_eleve, $propel_traitEleveDemi, $traiteEleveDemi, $traiteEleveDemi_col, $propel_traitEleve); if ($erreur && isset ($donnees[$eleve_id]['justifiees']) && ($donnees[$eleve_id]['justifiees']==$donnees[$eleve_id]['totalDemi'])) { $donnees[$eleve_id] = array(); } return $donnees; }
function supprimer() { // Heritage: parent::supprimer(); // Calcule de la requete : $sql_requete_suppression = "UPDATE {$this->table_question} SET visible='0' WHERE idquestionnaire_rel='" . $this->identifiant . "';"; // Lancement de la mise a jour de l objet correspondant : $sql_resultat = requete_sql($sql_requete_suppression); }
function enregistrer() { //Declaration des variables : global $adresserepertoiresite; global $adressehttpsite; //chargement des regles pour la creation de compte : require_once $adresserepertoiresite . '/scripts/php/class.regle.php'; $activation_par_mail = new regle(0, "Activation_par_mail"); $testcreation = false; if (!isset($this->identifiant)) { $testcreation = true; } $id = objet::enregistrer(); if ($this->message == "" && $testcreation) { $this->message = _LA_CREATION_DU_COMPTE_C_EST_BIEN_DEROULEE; if ($activation_par_mail->valeur == 1) { $destinataire = $this->email; $sujet = _SUJET_MAIL_CREATION_COMPTE; $from = "From: QCM@{$SERVER_NAME}\n"; $from .= "X-Mailer: PHP/" . phpversion(); $from .= "MIME-version: 1.0\n"; $from .= "Content-type: text/html; charset= utf-8\n"; $message = _MESSAGE_MAIL_CREATION_COMPTE; $message .= " <a href=\"" . $adressehttpsite . "compte.php?I=" . $id . "&act=" . MD5($this->datecreation) . "\">" . _LIEN_ACTIVATION_COMPTE_UTILISATEUR . "</a>"; mail($destinataire, $sujet, $message, $from); $this->message .= _UN_MAIL_DE_CONFIRMATION_VOUS_A_ETE_ENVOYE; $this->message .= _L_ACTIVATION_S_EFFECTUE_GRACE_AU_MAIL_DE_CONFIRMATION; } else { $sql_activation = "UPDATE {$this->table} SET activation='1', datederniereconnection='" . time() . "' WHERE " . $this->champ_identifiant . "='" . $id . "';"; $sql_resultat = requete_sql($sql_activation); } } if ($this->message == "" && !$testcreation) { $this->message = _LA_MODIFICATION_DU_COMPTE_C_EST_BIEN_DEROULEE; } }
/** * Email the webmaster if there is an error deleting a registrant * * @param objet $event event entity * @param array $registrant_data * @return void */ function send_slot_deletion_error_message($event, $registrant_data) { $to = WEBMASTER_EMAIL_ADDRESS; $subject = 'Slot registration deletion error'; $body = "There was an error deleting a registrant for ".$event->get_value('name').'.'."\n\n"; $body .= "The following person was not successfully deleted\n\n"; $body .= $registrant_data . "\n"; mail($to,$subject,$body,'From: '.WEBMASTER_EMAIL_ADDRESS); }
function champ($nom_champ, $classe, $valeur_champ) { // Definition des variables globales : global $prefixe; global $utilisateur_connecte; global $langue; global $trad_SQL; global $adresserepertoiresite; global $adressehttpsite; // Definition de(s) table(s) : $this->table = $prefixe . "_" . $classe; // Heritage : parent::objet(); // Initialisation : $this->nom_champ = $nom_champ; // Verification de l'existance de la table : $test_table = true; $liste_des_tables = array(); $table_sql = requete_sql("SHOW tables;"); while ($table_temp = tableau_sql($table_sql)) { array_push($liste_des_tables, $table_temp[0]); } if (!in_array($this->table, $liste_des_tables)) { $test_table = false; } $valeur_champ = stripslashes($valeur_champ); //Recherche des champ : if ($test_table) { $requete = requete_sql("SHOW COLUMNS FROM {$this->table} LIKE '{$this->nom_champ}'"); while ($temp = tableau_sql($requete)) { $this->type = $temp["Type"]; if ($temp["Key"] == "MUL") { $this->est_relation = "1"; $chaine = explode("_", $this->nom_champ); $chaine = substr($chaine[0], 2); $this->table_relation = $prefixe . "_" . $chaine; require_once $adresserepertoiresite . '/scripts/php/class.regle.php'; $champ_liste_choix = new regle("0", "liste_" . substr($this->table_relation, 4)); $this->relation_champ = explode("|", $champ_liste_choix->valeur); } else { $this->est_relation = "0"; $this->table_relation = ""; $this->relation_champ = ""; } $this->valeur_par_defaut = $temp["Default"]; $this->extra = $temp["Extra"]; $this->est_nul = "0"; if ($temp["Null"] != "") { $this->est_nul = "1"; } } if (!in_array($this->table_relation, $liste_des_tables)) { $this->table_relation = ""; } //Calcul du champ de saisie : $type = explode("(", $this->type); //liste de choix du language if ($nom_champ == "langue") { $this->champ_saisie = "<select name=\"{$this->nom_champ}\">"; $langues_dispo = langue_possible(); foreach ($langues_dispo as $valeur) { $this->champ_saisie .= "<option value=" . $valeur; if (isset($valeur_champ) && $valeur_champ == $valeur) { $this->champ_saisie .= " selected=\"selected\""; } $this->champ_saisie .= ">" . $valeur . "</option>\n"; } $this->champ_saisie .= "\n</select>"; } elseif ($type[0] == "varchar") { $this->champ_saisie = "<input type=\"text\" name=\"{$this->nom_champ}\" maxlength=\"" . substr($type[1], 0, -1) . "\" value=\"" . $valeur_champ . "\" />"; } elseif ($type[0] == "char") { $this->champ_saisie = "<input type=\"text\" name=\"{$this->nom_champ}\" size=\"" . substr($type[1], 0, -1) . "\" maxlength=\"" . substr($type[1], 0, -1) . "\" value=\"" . $valeur_champ . "\" />"; } elseif ($type[0] == "tinyint") { require_once $adresserepertoiresite . '/scripts/php/class.regle.php'; $valeur_max_tinyint = new regle("0", "Note_max"); $this->champ_saisie = "<select name=\"{$this->nom_champ}\">"; for ($compteur = -$valeur_max_tinyint->valeur; $compteur <= $valeur_max_tinyint->valeur; $compteur++) { $this->champ_saisie .= "\n<option "; if (isset($valeur_champ) && $valeur_champ == $compteur) { $this->champ_saisie .= "selected=\"selected\" "; } $this->champ_saisie .= "value=\"" . $compteur . "\">" . $compteur . " "; $this->champ_saisie .= "</option>"; } $this->champ_saisie .= "\n</select>"; } elseif ($type[0] == "int" || $type[0] == "smallint" || $type[0] == "mediumint" || $type[0] == "bigint") { $this->champ_saisie = "<input type=\"text\" name=\"{$this->nom_champ}\" size=\"6\" value=\"" . $valeur_champ . "\" />"; } elseif ($type[0] == "text" || $type[0] == "tinytext" || $type[0] == "mediumtext" || $type[0] == "longtext") { $this->champ_saisie = "" . "\n<textarea rows =\"5\" cols=\"100\" id=\"" . $this->nom_champ . "_texte\" name=\"" . $this->nom_champ . "\">" . $valeur_champ . "</textarea>"; } elseif ($type[0] == "enum" && count(explode("','", substr($type[1], 0, -1))) > 3) { $i = 0; $temp = explode("','", substr($type[1], 0, -1)); $this->champ_saisie = "<select name=\"{$this->nom_champ}\">"; foreach ($temp as $valeur) { //Calcul du champ de saisie $i++; $this->champ_saisie .= "\n<option "; if (!isset($valeur_champ) && $i == 1 || isset($valeur_champ) && $valeur_champ == str_replace("'", "", $valeur)) { $this->champ_saisie .= "selected=\"selected\" "; } if (array_key_exists(str_replace("'", "", $valeur), $trad_SQL)) { $valeur_label = $trad_SQL[str_replace("'", "", $valeur)]; } else { $valeur_label = str_replace("'", "", $valeur); } $this->champ_saisie .= "value=\"" . str_replace("'", "", $valeur) . "\">" . $valeur_label . " "; $this->champ_saisie .= "</option>"; } $this->champ_saisie .= "\n</select>"; } elseif ($type[0] == "enum") { $i = 0; $temp = explode("','", substr($type[1], 0, -1)); $this->champ_saisie .= "<ul>"; foreach ($temp as $valeur) { //Calcul du champ de saisie $i++; $this->champ_saisie .= "\n<li><input type=\"radio\" name=\"{$this->nom_champ}\" value=\"" . str_replace("'", "", $valeur) . "\" id=\"" . $this->nom_champ . $i . "\" "; if (!isset($valeur_champ) && $i == 1 || isset($valeur_champ) && $valeur_champ == str_replace("'", "", $valeur)) { $this->champ_saisie .= "checked=\"checked\""; } if (array_key_exists(str_replace("'", "", $valeur), $trad_SQL)) { $valeur_label = $trad_SQL[str_replace("'", "", $valeur)]; } else { $valeur_label = str_replace("'", "", $valeur); } $this->champ_saisie .= " /> <label for=\"" . $this->nom_champ . $i . "\">" . $valeur_label . "</label></li>"; } $this->champ_saisie .= "</ul>"; } //Si le champ est une relation : if ($this->table_relation != "") { //Calcul du champ identifiant dans la table en relation : $id_champ = "id" . substr($this->table_relation, 4); //Debut du champ de saisie : $this->champ_saisie = "<select name=\"{$this->nom_champ}\">"; //Calcul de la requete a effectuer sur la table en relation : $requete = "select * FROM {$this->table_relation} WHERE visible='1'"; //Gestion des droits pour certains champs connus : require_once $adresserepertoiresite . '/scripts/php/class.regle.php'; $ordre_tri = new regle("0", "tri_theme"); $caractere_separateur = new regle("0", "premier_caractere_arbo_theme"); $caractere_indentation = new regle("0", "indentation_arbo_theme"); if ($this->table_relation == $prefixe . "_theme" && $utilisateur_connecte->admin != 1) { $requete = "select idtheme, CONCAT('{$caractere_separateur->valeur}', REPEAT('{$caractere_indentation->valeur}', niveau-1), titre) AS titre_arbo, CONCAT(LEFT('{$caractere_separateur->valeur}',niveau-1), REPEAT('{$caractere_indentation->valeur}', niveau-1), intitule) AS intitule_arbo, titre, intitule FROM qcm_theme WHERE visible='1' AND langue='{$langue}'"; $requete .= " AND "; $requete .= $id_champ . " IN ("; foreach ($utilisateur_connecte->idtheme_auteur as $vtheme) { $requete .= "'" . $vtheme . "',"; } $requete = substr($requete, 0, -1) . ") ORDER BY bornegauche ASC"; } elseif ($this->table_relation == $prefixe . "_questionnaire" && $utilisateur_connecte->admin != 1) { $requete .= " AND "; $requete .= $id_champ . " IN ('0',"; foreach ($utilisateur_connecte->idquestionnaire_auteur as $vquestionnaire) { $requete .= "'" . $vquestionnaire . "',"; } $requete = substr($requete, 0, -1) . ")"; } else { if ($this->table_relation == $prefixe . "_theme") { $requete = "select idtheme, CONCAT(LEFT('{$caractere_separateur->valeur}',niveau-1), REPEAT('{$caractere_indentation->valeur}', niveau-1), titre) AS titre_arbo, CONCAT(LEFT('{$caractere_separateur->valeur}',niveau-1), REPEAT('{$caractere_indentation->valeur}', niveau-1), intitule) AS intitule_arbo, titre, intitule FROM qcm_theme WHERE visible='1' AND langue='{$langue}'"; // Ordre de la liste : $requete .= " ORDER BY bornegauche ASC, {$ordre_tri->valeur} ASC;"; } else { // Ordre de la liste $requete .= " ORDER BY "; foreach ($this->relation_champ as $liste) { $requete .= $liste . " ASC, "; } $requete = substr($requete, 0, -2); } } $liste_sql = requete_sql($requete); //Complement du champ de saisie : $this->champ_saisie .= "\n<option value=\"0\">" . _NO_RELATION . "</option>"; while ($valeur = tableau_sql($liste_sql)) { $this->champ_saisie .= "\n<option "; if (isset($valeur_champ) && $valeur_champ == $valeur[$id_champ]) { $this->champ_saisie .= "selected=\"selected\" "; } $this->champ_saisie .= "value=\"" . $valeur[$id_champ] . "\" >"; foreach ($this->relation_champ as $liste) { $this->champ_saisie .= $valeur[$liste] . " "; } $this->champ_saisie .= "</option>"; } $this->champ_saisie .= "\n</select>"; } //Mise a vide des proprietes inappropriees : $this->champs = array(); $this->champ_identifiant = ""; } }
function supprimer($verbeux = true) { // Heritage: parent::supprimer($verbeux); //Supression en cascade des descendants: foreach ($this->liste_fils as $vfils) { $vtemp = new theme($vfils['idtheme']); $vtemp->supprimer(false); } }
/** * Clear cache for Smarty * * @param objet $smarty */ public static function clearCache($smarty) { if (!_PS_FORCE_SMARTY_2_) { $smarty->clearAllCache(); } else { $smarty->clear_all_cache(); } }