%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/alliance/domains/congress-eldw.eu/public_html/inc/classes/
Upload File :
Create Path :
Current File : /home/alliance/domains/congress-eldw.eu/public_html/inc/classes/Section.php

<?php

class Section extends Load {

	var $bd;
	var $language;
	var $lang;
	var $nom_table='section';
	var $clef_primaire='id_section';
	var $table=array('ordre','couleur','photo','taillephoto'); 
	var $table_lang=array('titre','permalien','texte','texte2'); 
	

	function Section() {
		//constructor
		parent::Load();
		$this->bd = new BaseOps;
		$this->language = new Lang;
		$this->lang = new Lang;
	}
	
	// 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.id_section = a.id_section 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 id_section = ".$data['id_section']." AND id_lang = ".$this->language->getlangid();
				$datalang = $this->bd->select_array($query);
				$res[$nb] = array (
					'id_section' =>  $data['id_section'],
					'categorie' =>  $data['categorie'],
					'type' => $data['type'],
					'ordre' =>  $data['ordre'],
					'site' => $data['site'],
					'email' => $data['email'],
					'titre' => $datalang['titre'],
					'couleur' => $data['couleur'],
					'permalien' => $datalang['permalien'] );
				$nb++;
			}
			return $res;
		}
		else return null;
	}
	
	// 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 tab_liste($lang) {
		$query = "SELECT * FROM `section` s LEFT JOIN `section_lang` l ON l.`id_section` = s.`id_section` WHERE `id_lang`=".$lang;
		$data = $this->bd->select_arrays($query);
		
		return $data;
	}
	
	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 = ".$section;
			if($this->bd->isres($query))
			{
				$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 = ".$section;
		if( $this->bd->isres($query) )
		{
			$data = $this->bd->select_array($query);
			$query = "SELECT * FROM `section_lang` WHERE id_section = ".$data['id_section']." AND id_lang = ".$this->language->getlangid();
			$datalang = $this->bd->select_array($query);
			$res = array (
				'id' =>  $data['id_section'],
				'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 id_section = ".$section." AND id_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 = ".$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 get_liste_sections($id_lang){
		$query="SELECT * FROM section ORDER BY ordre";
		$sections=$this->bd->select_arrays($query);
		
		$return=array();
		foreach($sections as $section){
			$return[]=$this->getSection($section['id_section'],$id_lang);
		}
		
		return $return;
	}
	function getSection($id_section,$id_lang=null){
		$query = "SELECT * FROM `section` WHERE id_section =".$id_section;
		$return=$this->bd->select_array($query);
		if($id_lang!=null){
			$query = "SELECT * FROM `section_lang` WHERE `id_section`=".$id_section." AND id_lang=".$id_lang;
			$lang_traductions=$this->bd->select_array($query);
			if(($lang_traductions==null || $lang_traductions['titre']=="") && $id_lang!=2){
				$query = "SELECT * FROM `section_lang` WHERE `id_section`=".$id_section." AND id_lang=2";
				$lang_traductions=$this->bd->select_array($query);
			}
			
			$return=array_merge ($return,$lang_traductions);
		}
		else{
			$query = "SELECT * FROM `section_lang` WHERE `id_section`=".$id_section;
			$lang_traductions=$this->bd->select_arrays($query);
			
			foreach($lang_traductions as $lang_traduction){
				foreach($this->table_lang as $unchamp){ 
					$return[$unchamp.'_'.$lang_traduction['id_lang']]=$lang_traduction[$unchamp];
				}
			}
		}
		return $return;
	}
	
}

?>

Zerion Mini Shell 1.0