Beispiel #1
0
 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;
         }
     }
 }
Beispiel #2
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;
 }
Beispiel #3
0
 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
 }
Beispiel #4
0
 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"];
     }
 }
Beispiel #5
0
 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;
 }
Beispiel #6
0
 /**
  * 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();
     }
 }
Beispiel #7
0
 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;
         }
     }
 }
Beispiel #8
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);
 }
Beispiel #10
0
 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;
     }
 }
Beispiel #11
0
	/**
	 * 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);
	}
Beispiel #12
0
 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 . "&nbsp;";
                 $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 . "&nbsp;";
                 $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] . "&nbsp;";
                 }
                 $this->champ_saisie .= "</option>";
             }
             $this->champ_saisie .= "\n</select>";
         }
         //Mise a vide des proprietes inappropriees :
         $this->champs = array();
         $this->champ_identifiant = "";
     }
 }
Beispiel #13
0
 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);
     }
 }
Beispiel #14
0
 /**
  * Clear cache for Smarty
  *
  * @param objet $smarty
  */
 public static function clearCache($smarty)
 {
     if (!_PS_FORCE_SMARTY_2_) {
         $smarty->clearAllCache();
     } else {
         $smarty->clear_all_cache();
     }
 }