%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/alliance/domains/sedl.alnetis.fr/public_html/inc/classes/
Upload File :
Create Path :
Current File : /home/alliance/domains/sedl.alnetis.fr/public_html/inc/classes/Page.php

<?php

class Page extends Load {

	var $bd;
	var $language;
	var $sect;
	var $nom_table="page";


	function __construct($connection) {
		parent::__construct();
		$this->clef_primaire='id_'.$this->nom_table;
		$this->bd = new BaseOps($connection);
		$this->language = new Lang($connection);
		$this->sect = new Section($connection);
	}
	
	
	
	// lien vers une page
	function page_link($id) {
		$page = $this->infos_page($id);
		if($page != null)
		{
			$section = $this->sect->aff_section($page['section']);
			return $section['id']."-".$section['permalien']."/".$page['id']."-".$page['permalien'].".html";
		}
		else {
			return null;
		}
	}
	
	function aff_actu($id_page,$id_lang){
		$id_lang=$this->valideLang($id_page,$id_lang);
		$query="SELECT * FROM `page` p LEFT JOIN `page_lang` pl ON p.id_page=pl.id_page WHERE pl.id_lang=".$id_lang." AND p.id_page=".$id_page;
		$actu=$this->bd->select_array($query);
		// on choppe le premier texte
		// type 1 2 ou 3
		$query="SELECT * FROM `bloc` b LEFT JOIN `bloc_lang` bl ON b.id_bloc=bl.id_bloc WHERE bl.id_lang=".$id_lang." AND (b.type=1 OR b.type=2 OR b.type=3) AND b.id_page=".$id_page." ORDER BY ordre";
		$texte=$this->bd->select_array($query);
		$actu['texte']=htmldecode($texte['texte']);
		// on choppe la première image 
		// type 2 3 4 9 ou 10
		$query="SELECT * FROM `bloc` b LEFT JOIN `bloc_lang` bl ON b.id_bloc=bl.id_bloc WHERE bl.id_lang=".$id_lang." AND (b.type=2 OR b.type=3 OR b.type=4 OR b.type=9 OR b.type=10) AND b.id_page=".$id_page." ORDER BY ordre";
		$image=$this->bd->select_array($query);
		$actu['photo']=$image['photo'];
		$actu['copyright']=$image['copyright'];
		
		return $actu;
		
	}
	
	// retourne la langue demandée si la page existe dans la langue sinon retourne anglais
	function valideLang($id_page,$id_lang){
		// si anglais on laisse tomber la verif
		if($id_lang==2){
			return $id_lang;
		}
		$query="SELECT * FROM `page_lang` WHERE id_page=".$id_page." AND id_lang=".$id_lang;
		$page_lang=$this->bd->select_array($query);
		if($page_lang==null || $page_lang['titre']==""){
			return 2;
		}
		$query="SELECT * FROM `bloc` WHERE id_page='".$id_page."' ";
		$tab_blocs=$this->bd->select_arrays($query);
		foreach($tab_blocs as $unbloc){
			$query="SELECT valide FROM `bloc_lang` WHERE id_bloc=".$unbloc['id_bloc']." AND id_lang=".$id_lang;
			$bloc_lang=$this->bd->select_array($query);
			if((!isset($bloc_lang['valide']) || !$bloc_lang['valide']) && !$unbloc['semivalid']){
				return 2;
			}
		}
		return $id_lang;
	}
	
	// lien vers une page
	function page_link2($id) {
		$page = $this->infos_page2($id);
		if($page != null)
		{
			$section = $this->sect->aff_section($page['section']);
			return $section['id']."-".$section['permalien']."/2-".$page['id']."-".$page['permalien'].".html";
		}
		else {
			return null;
		}
	}
	
	function infos_page($id,$lang) {
		$query = "SELECT * FROM `page` WHERE id = ".$id;
		if($this->bd->isres($query))
		{
			$data = $this->bd->select_array($query);
			$query = "SELECT * FROM `page_lang` WHERE page = ".$data['id']." AND lang = ".$lang;
			$datalang = $this->bd->select_array($query);
			$res = array (
				'id' =>  $data['id'],
				'section' =>  $data['section'],
				'ordre' =>  $data['ordre'],
				'titre' => $datalang['titre'],
				'lieu' => $datalang['lieu'],
				'public' => $datalang['public'],
				'date_debut' => $data['date_debut'],
				'date_fin' => $data['date_fin'],
				'trad_valide' => $datalang['trad_valide'],
				'permalien' => $datalang['permalien']
				);
			return $res;
		}
		else {
			return null;
		}
	}
	
	function infos_page2($id,$lang) {
		$query = "SELECT * FROM `page2` WHERE id = ".$id;
		if($this->bd->isres($query))
		{
			$data = $this->bd->select_array($query);
			$query = "SELECT * FROM `page2_lang` WHERE page2 = ".$data['id']." AND lang = ".$lang;
			$datalang = $this->bd->select_array($query);
			$res = array (
				'id' =>  $data['id'],
				'section' =>  $data['section'],
				'ordre' =>  $data['ordre'],
				'titre' => $datalang['titre'],
				'description' => $datalang['description'],
				'bilan' => $datalang['bilan'],
				'lieu' => $datalang['lieu'],
				'date_debut' => $data['date_debut'],
				'date_fin' => $data['date_fin'],
				'trad_valide' => $datalang['trad_valide'],
				'permalien' => $datalang['permalien'],
				'photo1' => $data['photo1'],
				'photo2' => $data['photo2'],
				'photo3' => $data['photo3'],
				'photo4' => $data['photo4']
			);
			return $res;
		}
		else {
			return null;
		}
	}

	// Liste des blocs
	function liste_blocs($page,$lang=0)
	{
		if($lang==0){
			$lang=$this->language->getlangid();
		}
		$query = "SELECT * FROM `bloc` WHERE page = ".$page." ORDER BY ordre";
		if($this->bd->isres($query))
		{
			$result = $this->bd->q($query);
			$nb = 0;
			while( $data = mysql_fetch_assoc($result)) {
				$query = "SELECT * FROM `bloc_lang` WHERE bloc = ".$data['id']." AND lang = ".$lang;
				$datalang = $this->bd->select_array($query);
				$res[$nb] = array (
					'id' =>  $data['id'],
					'page' =>  $data['page'],
					'ordre' =>  $data['ordre'],
					'type' =>  $data['type'],
					'photo' =>  $data['photo'],
					'taillephoto' =>  $data['taillephoto'],
					'texte' => htmldecode($datalang['texte']),
					'soustitre' => $datalang['soustitre'],
					'boutontext' => $datalang['bouton'],
					'valide' => $data['valide'],
					'bouton' => $data['bouton'] );
				$nb++;
			}
			return $res;
		}
		else {
			return null;
		}
	}
	
	// Afficher un array de bloc selon le template
	function afficher_bloc($bloc, $template = false,$language=null) {
		if(!$template) $template = "page";
		include("templates/".$template."/bloc".$bloc['type'].".php");
	}
	
	// Liste des pages
	function liste_pages($section=false, $limit=false, $debut=false)
	{
		$query = "SELECT * FROM `page`";
		if($section)
		{
			$query .= " WHERE section = ".$section;
		}
		if(!$debut) $debut = 0;
		$query .= " ORDER BY ordre";
		if($limit)
		{
			$query .= " LIMIT ".$debut.",".$limit;
		}
		if($this->bd->isres($query))
		{
			$result = $this->bd->q($query);
			$nb = 0;
			while( $data = mysql_fetch_assoc($result)) {
				$query = "SELECT * FROM `page_lang` WHERE page = ".$data['id']." AND lang = ".$this->language->getlangid();
				$datalang = $this->bd->select_array($query);
				$res[$nb] = array (
					'id' =>  $data['id'],
					'section' =>  $data['section'],
					'ordre' =>  $data['ordre'],
					'titre' => $datalang['titre'],
					'soustitre' => $datalang['soustitre'],
					'permalien' => $datalang['permalien'],
					'couleur' => $this->sect->couleur_section($data['section']) );
				$nb++;
			}
			return $res;
		}
		else {
			return null;
		}
	}
	
	function bloc_page($bloc)
	{
		$query = "SELECT * FROM `bloc` WHERE id = ".$bloc;
		$data = $this->bd->select_array($query);
		return $data['page'];
	}
	
	function suppr_photo($bloc) {
		$query = "SELECT * FROM `bloc` WHERE id =".$bloc;
		$data = $this->bd->select_array($query);
		if($data['photo'] != null && file_exists("uploads/".$data['photo']))
		{
			unlink("uploads/".$data['photo']);
		}
	}
	
	function verif_blocs($page) {
		$blocs = $this->liste_blocs($page);
		$valide = false;
		if($blocs != null)
		{
			$valide = true;
			foreach($blocs as $bloc)
			{
				if($bloc['valide'] == 0)
				{
					$valide = false;
				}
			}
		}
		else {
			$valide = true;
		}
		return $valide;
	}

}

?>

Zerion Mini Shell 1.0