%PDF- %PDF-
Direktori : /home/alliance/domains/sedl.alnetis.fr/public_html/inc/classes/ |
Current File : /home/alliance/domains/sedl.alnetis.fr/public_html/inc/classes/Edition.php |
<?php class Edition extends Load { var $bd; var $language; var $clef_primaire; var $nom_table="edition"; function __construct($connection) { parent::__construct(); $this->clef_primaire='id_'.$this->nom_table; $this->bd = new BaseOps($connection); $this->language = new Lang($connection); $this->profil = new Profil($connection); $this->admtext = new Admtext($connection); } function getEdition($id_edition){ $query = 'SELECT e.*,el.titre FROM `edition` e LEFT JOIN `edition_lang` el ON el.edition=e.id WHERE lang='.$this->language->getlangid().' AND e.id = '.$id_edition; $result = $this->bd->select_array($query); return $result; } function getQuestion($id_question){ $query = 'SELECT q.*,ql.libelle FROM `question` q LEFT JOIN `question_lang` ql ON ql.question=q.id WHERE lang='.$this->language->getlangid().' AND q.id = '.$id_question; $result = $this->bd->select_array($query); return $result; } function getCurrentEdition($aff="front",$lang=1,$use_session=true){ if($aff=="ins"){ if($use_session==true && isset($_SESSION['edition_admin'])){ $query="SELECT e.*,el.titre,el.texte FROM `edition` e LEFT JOIN `edition_lang` el ON e.`id`=el.`edition` WHERE el.lang=".$lang." AND e.id=".$_SESSION['edition_admin']; $actual_edition = $this->bd->select_array($query); } else{ $query="SELECT e.*,el.titre,el.texte FROM `edition` e LEFT JOIN `edition_lang` el ON e.`id`=el.`edition` WHERE el.lang=".$lang." AND e.`date_ins`<='".date('Y-m-d')."' ORDER BY `date_ins` DESC LIMIT 1"; $actual_edition = $this->bd->select_array($query); } } // la vrai edition en cours pour l'inscription if($aff=="ins_front"){ $query="SELECT e.*,el.titre,el.texte FROM `edition` e LEFT JOIN `edition_lang` el ON e.`id`=el.`edition` WHERE el.lang=".$lang." AND e.`date_ins`<='".date('Y-m-d')."' ORDER BY `date_ins` DESC LIMIT 1"; $actual_edition = $this->bd->select_array($query); } if($aff=="front"){ if($use_session==true && isset($_SESSION['edition_front'])){ $query="SELECT e.*,el.titre,el.texte FROM `edition` e LEFT JOIN `edition_lang` el ON e.`id`=el.`edition` WHERE el.lang=".$lang." AND e.id=".$_SESSION['edition_front']; $actual_edition = $this->bd->select_array($query); } else{ $query="SELECT e.*,el.titre,el.texte FROM `edition` e LEFT JOIN `edition_lang` el ON e.`id`=el.`edition` WHERE el.lang=".$lang." AND e.`date_pub`<='".date('Y-m-d')."' ORDER BY `date_pub` DESC LIMIT 1"; $actual_edition = $this->bd->select_array($query); } } // la vrai edition en cours pour le front if($aff=="realfront"){ $query="SELECT e.*,el.titre,el.texte FROM `edition` e LEFT JOIN `edition_lang` el ON e.`id`=el.`edition` WHERE el.lang=".$lang." AND e.`date_pub`<='".date('Y-m-d')."' ORDER BY `date_pub` DESC LIMIT 1"; $actual_edition = $this->bd->select_array($query); } return $actual_edition; } function getTitreEdition($edition,$lang=1){ $query="SELECT e.*,el.titre,el.texte FROM `edition` e LEFT JOIN `edition_lang` el ON e.`id`=el.`edition` WHERE el.lang=".$lang." AND e.id=".$edition." ORDER BY `date_ins` DESC LIMIT 1"; $actual_edition = $this->bd->select_array($query); return $actual_edition['titre']; } // Liste des catégories function liste_categories($amicale = false) { if($amicale) $query = "SELECT * FROM `categorie` ORDER BY ordre"; else $query = "SELECT * FROM `categorie` WHERE id != 11 ORDER BY ordre"; $result = $this->bd->q($query); $nb = 0; while( $data = mysql_fetch_assoc($result)) { $query = "SELECT * FROM `categorie_lang` WHERE categorie = ".$data['id']." AND lang = ".$this->language->getlangid(); $datalang = $this->bd->select_array($query); $res[$nb] = array ( 'id' => $data['id'], 'ordre' => $data['ordre'], 'type' => $data['type'], 'couleur' => $data['couleur'], 'titre' => $datalang['titre'], 'ptititre' => $datalang['ptititre'], 'permalien' => $datalang['permalien'] ); $nb++; } return $res; } // Liste des catégories non uniques function liste_categories_norm() { $query = "SELECT * FROM `categorie` WHERE type = 1 ORDER BY ordre"; $result = $this->bd->q($query); $nb = 0; while( $data = mysql_fetch_assoc($result)) { $query = "SELECT * FROM `categorie_lang` WHERE categorie = ".$data['id']." AND lang = ".$this->language->getlangid(); $datalang = $this->bd->select_array($query); $res[$nb] = array ( 'id' => $data['id'], 'ordre' => $data['ordre'], 'type' => $data['type'], 'couleur' => $data['couleur'], 'titre' => $datalang['titre'], 'ptititre' => $datalang['ptititre'], 'permalien' => $datalang['permalien'] ); $nb++; } return $res; } // Liste des sections d'une catégorie function liste_sections_cat($categorie) { $query = "SELECT * FROM `section` WHERE categorie = ".$categorie." ORDER BY ordre"; if( $this->bd->isres($query) ) { $result = $this->bd->q($query); $nb = 0; while( $data = mysql_fetch_assoc($result)) { $query = "SELECT * FROM `section_lang` WHERE section = ".$data['id']." AND lang = ".$this->language->getlangid(); $datalang = $this->bd->select_array($query); $res[$nb] = array ( 'id' => $data['id'], 'categorie' => $data['categorie'], 'type' => $data['type'], 'ordre' => $data['ordre'], 'site' => $data['site'], 'email' => $data['email'], 'titre' => $datalang['titre'], 'permalien' => $datalang['permalien'] ); $nb++; } return $res; } else return null; } // La section d'une catégorie seule function section_cat_seule($categorie) { $query = "SELECT * FROM `section` WHERE categorie = ".$categorie; if( $this->bd->isres($query) ) { $data = $this->bd->select_array($query); $query = "SELECT * FROM `section_lang` WHERE section = ".$data['id']." AND lang = ".$this->language->getlangid(); $datalang = $this->bd->select_array($query); $res = array ( 'id' => $data['id'], 'categorie' => $data['categorie'], 'type' => $data['type'], 'ordre' => $data['ordre'], 'site' => $data['site'], 'email' => $data['email'], 'titre' => $datalang['titre'], 'permalien' => $datalang['permalien'] ); return $res; } else return null; } function liste_sections_all() { $query = "SELECT DISTINCT a.* FROM `section` a, `section_lang` b WHERE b.section = a.id ORDER BY b.titre"; if( $this->bd->isres($query) ) { $result = $this->bd->q($query); $nb = 0; while( $data = mysql_fetch_assoc($result)) { $query = "SELECT * FROM `section_lang` WHERE section = ".$data['id']." AND lang = ".$this->language->getlangid(); $datalang = $this->bd->select_array($query); $res[$nb] = array ( 'id' => $data['id'], 'categorie' => $data['categorie'], 'type' => $data['type'], 'ordre' => $data['ordre'], 'site' => $data['site'], 'email' => $data['email'], 'titre' => $datalang['titre'], 'permalien' => $datalang['permalien'] ); $nb++; } return $res; } else return null; } function liste_edition($template=false) { $html=""; if(!$template) { $template = "edition"; } $result = $this->liste_editions(); foreach($result as $edition) { $datesplit = explode('-', $edition['date_debut']); $annee = $datesplit['0']; $html.='<li> <div style="background: #94cdff;"> '.$annee.' <strong>'.$edition['titre'].'</strong> <a href="admin/modifier_ed.php?id='.$edition['id'].'">Modifier l\'édition</a> <a href="admin/gerer_question.php?id='.$edition['id'].'">Gérer les questions</a> <a href="admin/gerer_condition.php?id='.$edition['id'].'">Gérer les engagements</a> <a href="admin/gerer_tag.php?id='.$edition['id'].'">Gérer les Tags</a> <a href="admin/adm_text.php?edition='.$edition['id'].'&page=formins">Textes à l\'inscription</a> </div> </li>'; } echo $html; } // Liste des éditions function liste_editions() { $query = "SELECT e.*,el.titre,el.texte FROM `edition` e LEFT JOIN `edition_lang` el ON el.edition=e.id WHERE el.lang=".$this->language->getlangid()." ORDER BY `date_debut` DESC"; $result = $this->bd->q($query); $nb = 0; $res=array(); while( $data = mysqli_fetch_assoc($result)) { $res[$nb] = $data; $nb++; } return $res; } // Liste des questions function liste_activites() { $html=""; $query = "SELECT a.*,al.libelle FROM `type_activite` a LEFT JOIN `type_activite_lang` al ON a.id=al.activite WHERE al.lang=".$this->language->getlangid()." ORDER BY `profil` ASC,`ordre` ASC"; $result = $this->bd->select_arrays($query); foreach($result as $activite) { $couleur=$this->profil->getCouleur($activite['profil']); $html.='<li> <div style="background: #'.$couleur.';"> <strong>'.$activite['libelle'].'</strong> '; if($activite['ordre'] != 1) { $html.='<a href="admin/monter.php?table=type_activite&id='.$activite['id'].'&avant='.$avant.'">Monter</a>'; } $html.=' <a href="admin/modifier_type_activite.php?id='.$activite['id'].'">Modifier l\'activité</a> <a href="admin/suppr_type_activite.php?id='.$activite['id'].'" class="confirm">Supprimer l\'activité</a> </div> </li>'; $avant=$activite['id']; } return $html; } // Liste des questions function liste_question($edition) { $html=""; $query = "SELECT q.*,ql.libelle FROM `question` q LEFT JOIN `question_lang` ql ON q.id=ql.question WHERE q.edition=".$edition." AND ql.lang=".$this->language->getlangid()." ORDER BY `profil` ASC,`ordre` ASC"; $result = $this->bd->select_arrays($query); foreach($result as $question) { $couleur=$this->profil->getCouleur($question['profil']); $html.='<li> <div style="background: #'.$couleur.';"> <strong>'.$question['libelle'].'</strong> '; if($question['ordre'] != 1) { $html.='<a href="admin/monter.php?table=question&id='.$question['id'].'&avant='.$avant.'&id_edition='.$edition.'">Monter</a>'; } $html.=' <a href="admin/editer_question.php?id='.$question['id'].'">Modifier la question</a> <a href="admin/suppr_question.php?id='.$question['id'].'&id_edition='.$edition.'" class="confirm">Supprimer la question</a> </div> </li>'; $avant=$question['id']; } return $html; } // Liste des réponses function liste_reponse($question) { $html=""; $query = "SELECT r.*,rl.libelle FROM `response` r LEFT JOIN `response_lang` rl ON r.id=rl.response WHERE r.question=".$question." AND rl.lang=".$this->language->getlangid()." ORDER BY `ordre` ASC"; $result = $this->bd->select_arrays($query); foreach($result as $reponse) { $html.='<li> <div> <strong>'.$reponse['libelle'].'</strong> '; if($reponse['ordre'] != 1) { $html.='<a href="admin/monter.php?table=response&id='.$reponse['id'].'&avant='.$avant.'&id_question='.$question.'">Monter</a>'; } $html.=' <a href="admin/modifier_reponse.php?id_response='.$reponse['id'].'&id='.$question.'">Modifier la réponse</a> <a href="admin/suppr_reponse.php?id_response='.$reponse['id'].'&id='.$question.'">Supprimer la réponse</a> </div> </li>'; $avant=$reponse['id']; } return $html; } // Liste des questions function liste_condition($edition) { $html=""; $query = "SELECT c.*,cl.libelle FROM `condition` c LEFT JOIN `condition_lang` cl ON c.id=cl.condition WHERE c.edition=".$edition." AND cl.lang=".$this->language->getlangid()." ORDER BY `profil` ASC,`ordre` ASC"; $result = $this->bd->select_arrays($query); foreach($result as $condition) { $couleur=$this->profil->getCouleur($condition['profil']); $html.='<li> <div style="background: #'.$couleur.';"> <strong>'.$condition['libelle'].'</strong> '; if($condition['ordre'] != 1) { $html.='<a href="admin/monter.php?table=condition&id='.$condition['id'].'&avant='.$avant.'&id_edition='.$edition.'">Monter</a>'; } $html.=' <a href="admin/modifier_condition.php?id='.$condition['id'].'&id_edition='.$edition.'">Modifier l\'engagement</a> <a href="admin/suppr_condition.php?id='.$condition['id'].'&id_edition='.$edition.'">Supprimer l\'engagement</a> </div> </li>'; $avant=$condition['id']; } return $html; } // Liste des questions function liste_tag($edition) { $html=""; $query = "SELECT c.*,cl.libelle FROM `tag` c LEFT JOIN `tag_lang` cl ON c.id_tag=cl.id_tag WHERE c.id_edition=".$edition." AND cl.lang=".$this->language->getlangid()." ORDER BY `ordre` ASC"; $result = $this->bd->select_arrays($query); foreach($result as $tag) { $html.='<li> <div style="background: #94CDFF"> <strong>'.$tag['libelle'].'</strong> '; if($tag['ordre'] != 1 && isset($avant)) { $html.='<a href="admin/monter.php?table=tag&id='.$tag['id_tag'].'&avant='.$avant.'&id_edition='.$edition.'">Monter</a>'; } $html.=' <a href="admin/modifier_tag.php?id='.$tag['id_tag'].'&id_edition='.$edition.'">Modifier le tag</a> <a href="admin/suppr_tag.php?id='.$tag['id_tag'].'&id_edition='.$edition.'">Supprimer le tag</a> </div> </li>'; $avant=$tag['id_tag']; } return $html; } function getCritere($edition,$type,$lang,$template){ if($template=="admin"){ $html="<ul>"; $query ="SELECT c.*,clfr.libelle as titre_fr,clen.libelle as titre_en FROM `edition_condition` c LEFT JOIN `edition_condition_lang` clfr ON c.id=clfr.condition LEFT JOIN `edition_condition_lang` clen ON c.id=clen.condition WHERE clfr.lang=1 AND clen.lang=2 AND c.edition=".$edition." AND c.type=".$type; $result = $this->bd->q($query); while( $data = mysql_fetch_assoc($result)) { $html.='<li>'.$data['titre_fr'].' - '.$data['titre_en'].' <a class="confirm" href="admin/suppr_condition.php?id='.$data['id'].'&ret='.$edition.'">Supprimer</a></li>'; } return $html."</ul>"; } else{ $query ="SELECT c.*,cl.libelle FROM `edition_condition` c LEFT JOIN `edition_condition_lang` cl ON c.id=cl.condition WHERE cl.lang=".$lang." AND c.edition=".$edition." AND c.type=".$type; $html=""; $result = $this->bd->q($query); while( $data = mysql_fetch_assoc($result)) { $html.='<input type="checkbox" name="condition_'.$type.'" value="'.$data['id'].'" /> '.$data['libelle'].'<br />'; } return $html; } } // Liste des sections menu function liste_sections($template=false) { $query = "SELECT * FROM `categorie`"; if(!$template) { $template = "section"; } if($this->bd->isres($query)) { $result = $this->liste_categories(); foreach($result as $categorie) { // Toutes les categories if($this->section_seule($categorie['id'])) { $section = $this->section_cat_seule($categorie['id']); //Affichage de la catégorie avec un lien vers la section $idsec = $section['id']; $site = $section['site']; $id = $categorie['id']; $permalien = $categorie['permalien']; $titre = $categorie['titre']; $ptititre = $categorie['ptititre']; $lang = $this->language->getlang(); $couleur = $categorie['couleur']; $ordre = $categorie['ordre']; $type = 1; include('templates/'.$template.'/categorie.php'); $catavant = $categorie['id']; } else { //Affichage de la catégorie $id = $categorie['id']; $titre = $categorie['titre']; $ptititre = $categorie['ptititre']; $lang = $this->language->getlang(); $couleur = $categorie['couleur']; $ordre = $categorie['ordre']; $type = 2; include('templates/'.$template.'/categorie.php'); $catavant = $categorie['id']; $result2 = $this->liste_sections_cat($categorie['id']); if($result2 != null) { echo "<ul id=\"section".$categorie['id']."\" class=\"soussec\" style=\"background: #".$categorie['couleur'].";\">\n"; foreach($result2 as $section) { // Toutes les categories $id = $section['id']; $permalien = $section['permalien']; $seccat = $section['categorie']; $titre = $section['titre']; $ordre = $section['ordre']; $lang = $this->language->getlang(); include('templates/'.$template.'/liste.php'); $secavant = $section['id']; } echo "</ul>\n"; } } } } else { echo "<p>".$this->language->lg("noresults")."</p>"; } } function section_seule($categorie) { $query = "SELECT type FROM `categorie` WHERE id = ".$categorie; $data = $this->bd->select_array($query); return $data['type'] == 0; } function couleur_section($section) { if($section == 0) return "f4f4f4"; else { $query = "SELECT * FROM `section` WHERE id = ".$section; if($this->bd->isres($query)) { $data = $this->bd->select_array($query); $categorie = $data['categorie']; $query = "SELECT * FROM `categorie` WHERE id = ".$categorie; $data = $this->bd->select_array($query); return $data['couleur']; } else { return "fff"; } } } // Afficher une section function aff_section($section) { $query = "SELECT * FROM `section` WHERE id = ".$section; if( $this->bd->isres($query) ) { $data = $this->bd->select_array($query); $query = "SELECT * FROM `section_lang` WHERE section = ".$data['id']." AND lang = ".$this->language->getlangid(); $datalang = $this->bd->select_array($query); $res = array ( 'id' => $data['id'], 'categorie' => $data['categorie'], 'type' => $data['type'], 'ordre' => $data['ordre'], 'site' => $data['site'], 'email' => $data['email'], 'titre' => $datalang['titre'], 'permalien' => $datalang['permalien'] ); return $res; } else return null; } // Afficher une categorie function aff_categorie($categorie) { $query = "SELECT * FROM `categorie` WHERE id = ".$categorie; if( $this->bd->isres($query) ) { $data = $this->bd->select_array($query); $query = "SELECT * FROM `categorie_lang` WHERE categorie = ".$data['id']." AND lang = ".$this->language->getlangid(); $datalang = $this->bd->select_array($query); $res = array ( 'id' => $data['id'], 'type' => $data['type'], 'ordre' => $data['ordre'], 'couleur' => $data['couleur'], 'titre' => $datalang['titre'], 'ptititre' => $datalang['ptititre'], 'permalien' => $datalang['permalien'] ); return $res; } else return null; } function couleur_categorie($categorie) { $query = "SELECT * FROM `categorie` WHERE id = ".$categorie; $data = $this->bd->select_array($query); return $data['couleur']; } function titre_section($section) { $query = "SELECT `titre` FROM `section_lang` WHERE section = ".$section." AND lang = ".$this->language->getlangid(); $data = $this->bd->select_array($query); return $data['titre']; } function actu_sec($actu) { $query = "SELECT * FROM `actu` WHERE id = ".$actu; $data = $this->bd->select_array($query); return $data['section']; } function page_sec($page) { $query = "SELECT * FROM `page` WHERE id = ".$page; $data = $this->bd->select_array($query); return $data['section']; } function bloc_sec($bloc) { $query = "SELECT * FROM `bloc` WHERE id = ".$bloc; $data = $this->bd->select_array($query); return $this->page_sec($data['page']); } function sec_user($user) { $query = "SELECT * FROM `user` WHERE id = ".$user; $data = $this->bd->select_array($query); return $data['section']; } function url_section($section) { $query = "SELECT `permalien` FROM `section_lang` WHERE section = ".$section." AND lang = ".$this->language->getlangid(); $data = $this->bd->select_array($query); return $section."-".$data['permalien']; } function getQuestions($edition,$profil,$lang){ $html=""; $query = "SELECT q.*,ql.libelle FROM `question` q LEFT JOIN `question_lang` ql ON q.id=ql.question WHERE q.edition = ".$edition." AND q.profil=".$profil." AND ql.lang = ".$lang." ORDER BY ordre ASC"; $questions = $this->bd->select_arrays($query); foreach($questions as $question){ $html.="<div class='ligne'><div class='label_full'>".$question['libelle']."</div></div>"; $query = "SELECT r.*,rl.libelle FROM `response` r LEFT JOIN `response_lang` rl ON r.id=rl.response WHERE r.question = ".$question['id']." AND rl.lang = ".$lang." ORDER BY ordre ASC"; $responses = $this->bd->select_arrays($query); foreach($responses as $response){ if($question['type']=="radio"){ if($response['libre']){ $html.='<div class="ligne"><div class="check_full"><input type="radio" name="question_'.$question['id'].'" value="'.$response['id'].'" /> '.$response['libelle'].' <input type="text" class="questionlibre" name="response_'.$response['id'].'" /></div></div>'; } else{ $html.='<div class="ligne"><div class="check_full"><input type="radio" name="question_'.$question['id'].'" value="'.$response['id'].'" /> '.$response['libelle'].'</div></div>'; } } else{ if($response['libre']){ $html.='<div class="ligne"><div class="check_full"><input type="checkbox" name="question_'.$question['id'].'[]" value="'.$response['id'].'" /> '.$response['libelle'].' <input type="text" class="questionlibre" name="response_'.$response['id'].'" /></div></div>'; } else{ $html.='<div class="ligne"><div class="check_full"><input type="checkbox" name="question_'.$question['id'].'[]" value="'.$response['id'].'" /> '.$response['libelle'].'</div></div>'; } } } } return $html; } function verifCondition($edition,$profil,$conditions_selected,$lang){ $query = "SELECT c.* FROM `condition` c WHERE c.edition = ".$edition." AND c.profil=".$profil; $conditions = $this->bd->select_arrays($query); $return="ok"; foreach ($conditions as $condition){ if(array_search ( $condition['id'] , $conditions_selected )===false){ $return=$this->admtext->getText("error_condition",$lang); } } return $return; } function getConditions($edition,$profil,$lang){ $html=""; $query = "SELECT c.*,cl.libelle FROM `condition` c LEFT JOIN `condition_lang` cl ON c.id=cl.`condition` WHERE c.edition = ".$edition." AND c.profil=".$profil." AND cl.lang = ".$lang." ORDER BY ordre ASC"; $conditions = $this->bd->select_arrays($query); $nbcond=$this->bd->count($query); if($nbcond>0){ foreach($conditions as $condition){ $html.='<div class="ligne"><div class="check_full"><input type="checkbox" class="condition_'.$profil.'" name="condition_'.$profil.'[]" value="'.$condition['id'].'" /> '.$condition['libelle'].'</div></div>'; } /*$html.='<script type="text/javascript"> function verifCondition'.$profil.'(){ if($(".condition_'.$profil.':checked").length!=$(".condition_'.$profil.'").length){ return false; } else{ return true; } } </script>';*/ } return $html; } } ?>