<?php 
/*
 * ProjetManager.php
 * 
 * Copyright 2014 Unknown <marlene@freenx>
 * 
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 * MA 02110-1301, USA.
 * 
 * 
 */
ini_set('display_errors', '0');
error_reporting(E_ALL ^ E_DEPRECATED);
setlocale(LC_CTYPE, 'fr_FR');
/**
 * Cette classe gère les projets du site web de la HHH.
 * 
 * Elle contient également des fonctions permettant de
 * lister les projets en cours et ceux terminés en plus
 * de celles d'ajout, suppression et modification.
                         ___     ___
                ___   __|   |   |   |__   ___
               /  /  / /|   |   |   |\ \  \  \
              /  /  / / |   |___|   | \ \  \  \
             /  /__/ /  |           |  \ \__\  \
            /  __   /   |    ___    |   \   __  \
           /  / /  /    |   |   |   |    \  \ \  \
 _________/__/ /__/_____|___|   |___|_____\__\ \__\__________
|############################################################|
|       HARDCORE           HENTAI           HEADQUARTER      |
|############################################################|
|###########_____SITE V3 - POLE DEVELOPPEMENT_____###########|

 * @author Yumemi <yumemi.kamachi@gmail.com>
 * @version 1.0
 * 
 * @var	PDO	$connect	contient la connexion à la bdd
 * */
 require 'toolz.php';
class ProjetManager
{
	protected $connect;
	
	/**
	 * Constructeur de la classe
	* */
	public function __construct()
	{
		$this->setConnexion();
	}
	public function ProjetManager()
	{
		self::__construct();
	}
	/**
    * Initialise la connexion à la bdd
    **/
	public function setConnexion()
	{
		include dirname(__FILE__).'/../include/connexionBdd.php';
		$this->connect = $bdd;
	}
	/**
	 * Renvoie la note du projet demandé
	 * 
	 * @param	int	$idn	id du projet
	 **/
	public function afficherNote($idn)
	{
		$aff = $this->connect->prepare('SELECT * FROM notation WHERE id_projet = :idn');
		$aff->bindValue(':idn', $idn, PDO::PARAM_INT);
		$aff->execute();
		
		$arraynote= array();
		$note = 0;
		while($liste = $aff->fetch(PDO::FETCH_ASSOC))
		{
			$note = $liste['vote'];
			$nbnote = $liste['nombre_vote'];
			
			array_push($arraynote, $note);
			array_push($arraynote, $nbnote);
		}
		
		$aff->closeCursor();
		
		return $arraynote;	
	}
	/**
	 * Met à jour la note d'un projet
	 * 
	 * @param	int	$idp	id du projet
	 * @param	int	$vote	nombre de point à rajouter au projet
	 **/
	public function noterProjet($idp, $vote)
	{
		$idproj = intval($idp);
		$note = $this->afficherNote($idproj);
		$note = intval($note[0]) + intval($vote);
		
		//On cherche le nombre de vote dans la bdd
		$nombre = $this->connect->prepare('SELECT nombre_vote FROM notation WHERE id_projet = :id');
		$nombre->bindValue(':id', $idproj, PDO::PARAM_INT);
		$nombre->execute();
		
		while($plusun = $nombre->fetch(PDO::FETCH_ASSOC))
		{
			//On ajoute un vote
			$nbVo = intval($plusun['nombre_vote']) + 1;
		
			$aff = $this->connect->prepare('UPDATE notation SET vote = :note, nombre_vote = :nbVote WHERE id_projet = :idp');
			$aff->bindValue(':idp', $idproj, PDO::PARAM_INT);
			$aff->bindValue(':note', $note, PDO::PARAM_INT);
			$aff->bindValue(':nbVote', $nbVo, PDO::PARAM_INT);
			$aff->execute();
		
			$aff->closeCursor();
		}
		$nombre->closeCursor();
	}
	/**
	 * Permet de créer un nouveau projet.
	 * 
	 * @param	string	$cat		statut du projet (en cours, complet,...)
	 * @param	string	$titre		titre du projet
	 * @param	string	$titrej		titre japonais
	 * @param	string	$titrer		titre japonais en romanji
	 * @param	string	$couv		lien vers la couverture du projet
	 * @param	string	$ext		lien vers l'extrait
	 * @param	string	$aut		auteur
	 * @param	string	$vol		nombre de volume
	 * @param	string	$gen1		genre 1
	 * @param	string	$gen2		genre 2
	 * @param	string	$gen3		genre 3
	 * @param	string	$edj		éditeur japonais
	 * @param	string	$tradus		traducteur us
	 * @param	string	$nbchap		nombre de chapitre
	 * @param	string	$res		résumé du projet
	 * @param	string	$stat		indique si le projet est licencié en France (oui, non)
	 * */
	public function addProjet($cat, $titre, $titrej, $titrer, $couv, $ext, $aut, $vol, $gen1, $gen2, $gen3, $edj, $tradus, $nbchap, $res, $stat)
	{//vérifier si on enlève les paramètres annee et licence
		$newproj = $this->connect->prepare('INSERT INTO projets SET
		licencie = :licencie,
		titre = :titre,
		titre_jap = :titrej,
		titre_romanji = :titrer,
		couverture = :couv,
		extrait = :extrait,
		auteur = :auteur,
		volume = :volume,
		genre1 = :gen1,
		genre2 = :gen2,
		genre3 = :gen3,
		editeur_jap = :edjap,
		traduction_us = :tradus,
		nombre_chapitre = :nbchap,
		resume = :resume,
		statut = :statut');
		
		$newproj->bindValue(':licencie', $stat);
		$newproj->bindValue(':titre', $titre);
		$newproj->bindValue(':titrej', $titrej);
		$newproj->bindValue(':titrer', $titrer);
		$newproj->bindValue(':couv', $couv);
		$newproj->bindValue(':extrait', $ext);
		$newproj->bindValue(':auteur', $aut);
		$newproj->bindValue(':volume', $vol);
		//$newproj->bindValue(':annee', $ann);
		$newproj->bindValue(':gen1', $gen1);
		$newproj->bindValue(':gen2', $gen2);
		$newproj->bindValue(':gen3', $gen3);
		$newproj->bindValue(':edjap', $edj);
		$newproj->bindValue(':tradus', $tradus);
		//$newproj->bindValue(':tradfr', $tradfr);
		$newproj->bindValue(':nbchap', $nbchap);
		$newproj->bindValue(':resume', $res);
		$newproj->bindValue(':statut', $cat);
		//$newproj->bindValue(':licence', $lic);
		
		$newproj->execute();
		
		$newproj->closeCursor();
		
		//On ajoute une ligne dans la table notation pour que les utilisateurs puissent voter pour le projet
		$proj = $this->connect->query('SELECT * FROM projets ORDER BY id DESC LIMIT 0, 1');
		
		$infoPro = $proj->fetch();
		// on vote pour 1 afin d'éviter la division par zéro des stats
		$newNote = $this->connect->prepare('INSERT INTO notation SET id_projet = :idPro, vote = 1, nombre_vote = 1');
		$newNote->bindValue(':idPro', $infoPro['id'], PDO::PARAM_INT);
		$newNote->execute();
		
		$newNote->closeCursor();
		
		$proj->closeCursor();
	}
	/**
	 * Supprime un projet.
	 * */
	public function delProjet($idSuppr)
	{
		$del = $this->_db->connect('DELETE FROM projets WHERE id = '. $idSuppr);
	  
		$del->closeCursor();
	}
	/**
	 * Modifie un projet. Par exemple pour lui rajouter un chapitre.
	 * 
	 * @param	string	$cat		statut du projet (en cours, complet,...)
	 * @param	string	$titre		titre du projet
	 * @param	string	$titrej		titre japonais
	 * @param	string	$titrer		titre japonais en romanji
	 * @param	string	$couv		lien vers la couverture du projet
	 * @param	string	$ext		lien vers l'extrait
	 * @param	string	$aut		auteur
	 * @param	string	$vol		nombre de volume
	 * @param	string	$gen1		genre 1
	 * @param	string	$gen2		genre 2
	 * @param	string	$gen3		genre 3
	 * @param	string	$edj		éditeur japonais
	 * @param	string	$tradus		traducteur us
	 * @param	string	$nbchap		nombre de chapitre
	 * @param	string	$res		résumé du projet
	 * @param	string	$stat		indique si le projet est licencié en France (oui, non)
	 * @param	string	$idPro		identifiant du projet dans la bdd
	 **/
	public function modProjet($cat, $titre, $titrej, $titrer, $couv, $ext, $aut, $vol, $gen1, $gen2, $gen3, $edj, $tradus, $nbchap, $res, $stat, $idPro)
	{
		$idPro = intval($idPro);
		
		$modproj = $this->connect->prepare('UPDATE projets SET
		licencie = :licencie,
		titre = :titre,
		titre_jap = :titrej,
		titre_romanji = :titrer,
		couverture = :couv,
		extrait = :extrait,
		auteur = :auteur,
		volume = :volume,
		genre1 = :gen1,
		genre2 = :gen2,
		genre3 = :gen3,
		editeur_jap = :edjap,
		traduction_us = :tradus,
		nombre_chapitre = :nbchap,
		resume = :resume,
		statut = :statut
		WHERE id= :idPro');
		
		$modproj->bindValue(':licencie', $stat);
		$modproj->bindValue(':titre', $titre);
		$modproj->bindValue(':titrej', $titrej);
		$modproj->bindValue(':titrer', $titrer);
		$modproj->bindValue(':couv', $couv);
		$modproj->bindValue(':extrait', $ext);
		$modproj->bindValue(':auteur', $aut);
		$modproj->bindValue(':volume', $vol);
		//$modproj->bindValue(':annee', $ann);
		$modproj->bindValue(':gen1', $gen1);
		$modproj->bindValue(':gen2', $gen2);
		$modproj->bindValue(':gen3', $gen3);
		$modproj->bindValue(':edjap', $edj);
		$modproj->bindValue(':tradus', $tradus);
		//$modproj->bindValue(':tradfr', $tradfr);
		$modproj->bindValue(':nbchap', $nbchap);
		$modproj->bindValue(':resume', $res);
		$modproj->bindValue(':statut', $cat);
		$modproj->bindValue(':idPro', $idPro, PDO::PARAM_INT);
		//$modproj->bindValue(':licence', $lic);
		
		$modproj->execute();
		
		$modproj->closeCursor();
	}
	/**
	 * Ajoute un download
	 * 
	 * @param	string	$titre		titre du projet auquel est relié le download
	 * @param	string	$num		numéro du chapitre
	 * @param	string	$lien		nom du fichier composant le download (type : [HHH]titre.rar)
	 * @param	string	$trad		traducteur du chapitre
	 * @param	string	$check		checkeur du chapitre
	 * @param	string	$edit		éditeur du chapitre
	 * @param	string	$qcheck		qcheckeur du chapitre
	 */
	 public function addDownload($titre, $num, $lien, $trad, $check, $edit, $qcheck)
	 {
		 //Si c'est une intégrale on met le numéro de release sur N/A
		 if(strcmp($num, 'integrale') == 0)
		 {
			 /*
			 $newdow = $this->connect->prepare('INSERT INTO download2 SET 
				titre = :titre,
				numero_chapitre = :num, 
				dl = :lien,
				traducteur = :trad,
				check = :check,
				$editeur = :edit,
				qcheck = :qcheck,
				timestamp = :time,
				numero = :inte');
			*/
			$newdow = $this->connect->prepare('INSERT INTO download2 VALUES("", :titre, "", :trad, :check, :edit, :qcheck, :num, :lien, "", "", :time, :inte)');
				
			$newdow->bindValue(':titre', $titre);
			
			$newdow->bindValue(':trad', $trad);
			$newdow->bindValue(':check', $check);
			$newdow->bindValue(':edit', $edit);
			$newdow->bindValue(':qcheck', $qcheck);
			$newdow->bindValue(':num', $num);
			$newdow->bindValue(':lien', $lien);
			$newdow->bindValue(':time', time());
			$newdow->bindValue(':inte', 'N/A', PDO::PARAM_STR);
			
			$newdow->execute();
			$newdow->closeCursor();
		 }
		 else //Sinon on prend le dernier numéro de release et on ajoute 1
		 {
			 //on récupère le dernier numéro de release
			 //$real = $this->connect->prepare('SELECT * FROM download2 WHERE timestamp = MAX(timestamp) AND numero != :inte');
			 try
			 {
				 //On ajoute une ligne dans la table notation pour que les utilisateurs puissent voter pour le projet
				$real = $this->connect->prepare('SELECT * FROM download2 WHERE numero_chapitre != :inte ORDER BY id DESC LIMIT 0, 1');
					 
			 //$real = $this->connect->prepare('SELECT * FROM download2 WHERE id = (SELECT MAX(id) FROM download2) AND numero_chapitre != :inte');
			 $real->bindValue(':inte', 'integrale', PDO::PARAM_STR);
			 $real->execute();
			 }
			catch(Exception $e)
			 {
				exit('Erreur : ' . $e->getMessage());
			 }
			 $dateinsert = time();
			 $numreal = 0;
			 while( $affiche = $real->fetch(PDO::FETCH_ASSOC))
			 {
				 $numreal = intval($affiche['numero']) + 1;
			 }
			 $real->closeCursor();
			 /*
			 $newdow = $this->connect->prepare('INSERT INTO download2 SET 
					titre = :titre,
					numero_chapitre = :num, 
					dl = :lien,
					traducteur = :trad,
					check = :check,
					editeur = :edit,
					qcheck = :qcheck,
					numero = :real,
					timestamp = :time'
					);
			*/
			//$newdow = $this->connect->prepare('INSERT INTO download2 (titre, traducteur, check, editeur, qcheck, numero_chapitre, dl, timestamp, numero) VALUES (:titre, :trad, :check, :edit, :qcheck, :num, :lien, :time, :real)');
			$newdow = $this->connect->prepare('INSERT INTO download2 VALUES("", :titre, "", :trad, :check, :edit, :qcheck, :num, :lien, "", "", :time, :real)');
					
			$newdow->bindParam(':titre', $titre);
			
			$newdow->bindParam(':trad', $trad);
			$newdow->bindParam(':check', $check);
			$newdow->bindParam(':edit', $edit);
			$newdow->bindParam(':qcheck', $qcheck);
			$newdow->bindParam(':num', $num);
			$newdow->bindParam(':lien', $lien);
			
			$newdow->bindParam(':time', $dateinsert, PDO::PARAM_INT);
			$newdow->bindParam(':real', $numreal);
			
			//print_r($newdow->execute());
			$newdow->execute();
			$newdow->closeCursor();
		}
	 }
	 /**
	 * Modifie un download
	 * 
	 * @param	int		$id			id de la release
	 * @param	string	$titre		titre du projet auquel est relié le download
	 * @param	string	$num		numéro du chapitre
	 * @param	string	$lien		nom du fichier composant le download (type : [HHH]titre.rar)
	 * @param	string	$trad		traducteur du chapitre
	 * @param	string	$check		checkeur du chapitre
	 * @param	string	$edit		éditeur du chapitre
	 * @param	string	$qcheck		qcheckeur du chapitre
	 */
	 public function modDownload($id, $titre, $num, $lien, $trad, $check, $edit, $qcheck)
	 {
		 $idInt = intval($id);
		 
		 //*
			 //$newdow = $this->connect->prepare("UPDATE 'download2' SET 'titre'=:titre, 'traducteur'=:trad, 'checkeur'=:checkeur, 'editeur'=:edit, 'qcheck'=:qcheck, 'numero_chapitre'=:num, 'dl'=:lien WHERE 'id'=:id");
			
			$newdow = $this->connect->prepare('UPDATE download2 SET titre=:titre, traducteur=:trad, checkeur=:checkeur, editeur=:edit, qcheck=:qcheck, numero_chapitre=:num, dl=:lien WHERE id=:id');
			
			//$newdow = $this->connect->prepare('UPDATE download2 SET VALUES(:titre, "", :trad, :check, :edit, :qcheck, :num, :lien) WHERE id = :id');
			
			$newdow->bindValue(':id', $idInt, PDO::PARAM_INT);	
			$newdow->bindValue(':titre', $titre);
			$newdow->bindValue(':trad', $trad);
			$newdow->bindValue(':checkeur', $check);
			$newdow->bindValue(':edit', $edit);
			$newdow->bindValue(':qcheck', $qcheck);
			$newdow->bindValue(':num', $num);
			$newdow->bindValue(':lien', $lien);
			
			
			$newdow->execute();
			$newdow->closeCursor();
			//*/
			//$newdow = $this->connect->exec('UPDATE download2 SET titre='.$this->connect->quote($titre).', traducteur='.$this->connect->quote($trad).', check='.$this->connect->quote($check).', editeur='.$this->connect->quote($edit).', qcheck='.$this->connect->quote($qcheck).', numero_chapitre='.$this->connect->quote($num).', dl ='.$this->connect->quote($lien).' WHERE id='.$idInt);
	 }
	/**
	 *Liste tous les dowload
	 * 
	 *@return	array	$tabDown	tableau contenant la liste des download 
	 */
	 public function listDownload()
	 {
		 //*
		 $down = $this->connect->query('SELECT * FROM download2 ORDER BY timestamp DESC, numero DESC');
		 
		 $tabDown = array();
		 
		 while($liste = $down->fetch(PDO::FETCH_ASSOC))
		 {
			 $tabl['id'] = $liste['id'];
			 $tabl['numero'] = $liste['numero'];
			 $tabl['titre'] = $liste['titre'];
			 $tabl['numero_chapitre'] = $liste['numero_chapitre'];
			 $tabl['traducteur'] = $liste['traducteur'];
			 $tabl['checkeur'] = $liste['checkeur'];
			 $tabl['editeur'] = $liste['editeur'];
			 $tabl['qcheck'] = $liste['qcheck'];
			 $tabl['numero_chapitre'] = $liste['numero_chapitre'];
			 $tabl['dl'] = $liste['dl'];
			 $tabl['timestamp'] = $liste['timestamp'];
			 $tabl['pop'] = $liste['pop'];
			 
			 array_push($tabDown, $tabl);
		 }
		 $down->closeCursor();
		 
		 return $tabDown;
		 //*/
		 
	 }
	/**
	 * Liste tous les projets.
	 * 
	 * @return	array	$tabProjets		tableau contenant la liste des projets
	 * */
	public function listProjet()
	{
		$onGoing = $this->connect->query('SELECT * FROM projets ORDER BY titre ASC');
		
		$tabProj = array();
		
		while($enCours = $onGoing->fetch(PDO::FETCH_ASSOC))
		{
			//*
			$projets['id']= $enCours['id'];
			$projets['categorie']= $enCours['categorie'];
			$projets['titre'] = $enCours['titre'];
			$projets['titre_jap'] = $enCours['titre_jap'];
			$projets['titre_romanji'] = $enCours['titre_romanji'];
			$projets['couverture'] = $enCours['couverture'];
			$projets['extrait'] = $enCours['extrait'];
			$projets['auteur'] = $enCours['auteur'];
			$projets['volume'] = $enCours['volume'];
			$projets['annee'] = $enCours['annee'];
			$projets['genre1'] = $enCours['genre1'];
			$projets['genre2'] = $enCours['genre2'];
			$projets['genre3'] = $enCours['genre3'];
			$projets['editeur_jap']= $enCours['editeur_jap'];
			$projets['trad_us'] = $enCours['traduction_us'];
			$projets['trad_fr'] = $enCours['traduction_fr'];
			//$projets['check'] = $enCours['check'];
			$projets['edition'] = $enCours['edition'];
			//$projets['qcheck'] = $enCours['qcheck'];
			$projets['nbChap'] = $enCours['nombre_chapitre'];
			$projets['resume'] = $enCours['resume'];
			$projets['release'] = $enCours['release'];
			$projets['statut'] = $enCours['statut'];
			$projets['licencie'] = $enCours['licencie'];
			//*/
			
			array_push($tabProj, $projets);
		}
		
		$onGoing->closeCursor();
		
		return $tabProj;
	}
	/**
	 * Donne la liste de toutes les releases pour la partie publique du site
	 * 
	 * @return	array	$tabliste	tableau contenant la liste des releases
	 **/
	public function listDownPublic()
	{
		//On récupère d'abord la liste des downloads
		$telechar = $this->listDownload();
		
		$tabliste = array();
		foreach($telechar as $ele)
		{
			//Avec le titre du download on récupère les infos dont on a besoin dans la table projets
			$info = $this->connect->prepare('SELECT * FROM projets WHERE titre = :titre');
			$info->bindValue(':titre', $ele['titre']);
			$info->execute();
			
			while( $listed = $info->fetch(PDO::FETCH_ASSOC))
			{
				$data['id'] = $listed['id'];
				$data['titre'] = $ele['titre'];
				$data['numero_chapitre'] = $ele['numero_chapitre'];
				$data['genre1'] = $listed['genre1'];
				$data['genre2'] = $listed['genre2'];
				$data['genre3'] = $listed['genre3'];
				$data['categorie'] = $listed['categorie'];
				$data['auteur'] = $listed['auteur'];
				$data['genre1'] = $listed['genre1'];
				$data['timestamp'] = $ele['timestamp'];
				$data['pop'] = $ele['pop'];
				$data['dl'] = $ele['dl'];
				$data['numero'] = $ele['numero'];
				
				array_push($tabliste, $data);
			}
			
			$info->closeCursor();
		}
		
		return $tabliste; 
	}
	/**
	 * Liste les projets en cours.
	 * 
	 * @return	array	$tabProjets		tableau contenant la liste des projets en cours
	 * */
	public function goingProjet()
	{
		$onGoing = $this->connect->query('SELECT * FROM projets WHERE statut="en cours" ORDER BY titre ASC');
		
		$tabProj = array();
		
		while($enCours = $onGoing->fetch(PDO::FETCH_ASSOC))
		{
			//*
			$projets['id']= $enCours['id'];
			$projets['categorie']= $enCours['categorie'];
			$projets['titre'] = $enCours['titre'];
			$projets['titre_jap'] = $enCours['titre_jap'];
			$projets['titre_romanji'] = $enCours['titre_romanji'];
			$projets['couverture'] = $enCours['couverture'];
			$projets['extrait'] = $enCours['extrait'];
			$projets['auteur'] = $enCours['auteur'];
			$projets['volume'] = $enCours['volume'];
			$projets['annee'] = $enCours['annee'];
			$projets['genre1'] = $enCours['genre1'];
			$projets['genre2'] = $enCours['genre2'];
			$projets['genre3'] = $enCours['genre3'];
			$projets['editeur_jap']= $enCours['editeur_jap'];
			$projets['trad_us'] = $enCours['traduction_us'];
			$projets['trad_fr'] = $enCours['traduction_fr'];
			//$projets['check'] = $enCours['check'];
			$projets['edition'] = $enCours['edition'];
			//$projets['qcheck'] = $enCours['qcheck'];
			$projets['nbChap'] = $enCours['nombre_chapitre'];
			$projets['resume'] = $enCours['resume'];
			$projets['release'] = $enCours['release'];
			$projets['statut'] = $enCours['statut'];
			$projets['licencie'] = $enCours['licencie'];
			//*/
			
			array_push($tabProj, $projets);
		}
		
		$onGoing->closeCursor();
		
		return $tabProj;
	}
	/**
	 * Liste les projets terminés.
	 * 
	 * @return	array	$complete		tableau contenant la liste des projets terminés
	 * */
	public function completeProjet()
	{
		$termine = $this->connect->query('SELECT * FROM projets WHERE statut="complet" ORDER BY titre ASC');
		
		$tabComplet = array();
		
		while($fini = $termine->fetch(PDO::FETCH_ASSOC))
		{
			$complete['id'] = $fini['id'];
			$complete['categorie']= $fini['categorie'];
			$complete['titre'] = $fini['titre'];
			$complete['titre_jap'] = $fini['titre_jap'];
			$complete['titre_romanji'] = $fini['titre_romanji'];
			$complete['couverture'] = $fini['couverture'];
			$complete['extrait'] = $fini['extrait'];
			$complete['auteur'] = $fini['auteur'];
			$complete['volume'] = $fini['volume'];
			$complete['annee'] = $fini['annee'];
			$complete['genre1'] = $fini['genre1'];
			$complete['editeur_jap']= $fini['editeur_jap'];
			$complete['trad_us'] = $fini['traduction_us'];
			$complete['trad_fr'] = $fini['traduction_fr'];
			//$complete['check'] = $fini['check'];
			$complete['edition'] = $fini['edition'];
			//$complete['qcheck'] = $fini['qcheck'];
			$complete['nbChap'] = $fini['nombre_chapitre'];
			$complete['resume'] = $fini['resume'];
			$complete['release'] = $fini['release'];
			
			array_push($tabComplet, $complete);
		}
		
		$termine->closeCursor();
		
		return $tabComplet;
	}
	/**
	 * Liste les projets hors série.
	 * 
	 * @return	array	$tabHs		tableau contenant la liste des projets terminés
	 **/
	public function hsProjet()
	{
		$termine = $this->connect->query('SELECT * FROM projets WHERE statut="horsserie" ORDER BY titre ASC');
		
		$tabHs = array();
		
		while($fini = $termine->fetch(PDO::FETCH_ASSOC))
		{
			$complete['id'] = $fini['id'];
			$complete['categorie']= $fini['categorie'];
			$complete['titre'] = $fini['titre'];
			$complete['titre_jap'] = $fini['titre_jap'];
			$complete['titre_romanji'] = $fini['titre_romanji'];
			$complete['couverture'] = $fini['couverture'];
			$complete['extrait'] = $fini['extrait'];
			$complete['auteur'] = $fini['auteur'];
			$complete['volume'] = $fini['volume'];
			$complete['annee'] = $fini['annee'];
			$complete['genre1'] = $fini['genre1'];
			$complete['editeur_jap']= $fini['editeur_jap'];
			$complete['trad_us'] = $fini['traduction_us'];
			$complete['trad_fr'] = $fini['traduction_fr'];
			$complete['edition'] = $fini['edition'];
			$complete['nbChap'] = $fini['nombre_chapitre'];
			$complete['resume'] = $fini['resume'];
			$complete['release'] = $fini['release'];
			
			array_push($tabHs, $complete);
		}
		
		$termine->closeCursor();
		
		return $tabHs;
	}
	/**
	 * Liste les projets anime.
	 * 
	 * @return	array	$tabAn		tableau contenant la liste des projets anime
	 **/
	public function animeProjet()
	{
		$termine = $this->connect->query('SELECT * FROM projets WHERE statut="anime" ORDER BY titre ASC');
		
		$tabAn = array();
		
		while($fini = $termine->fetch(PDO::FETCH_ASSOC))
		{
			$complete['id'] = $fini['id'];
			$complete['categorie']= $fini['categorie'];
			$complete['titre'] = $fini['titre'];
			$complete['titre_jap'] = $fini['titre_jap'];
			$complete['titre_romanji'] = $fini['titre_romanji'];
			$complete['couverture'] = $fini['couverture'];
			$complete['extrait'] = $fini['extrait'];
			$complete['auteur'] = $fini['auteur'];
			$complete['volume'] = $fini['volume'];
			$complete['annee'] = $fini['annee'];
			$complete['genre1'] = $fini['genre1'];
			$complete['editeur_jap']= $fini['editeur_jap'];
			$complete['trad_us'] = $fini['traduction_us'];
			$complete['trad_fr'] = $fini['traduction_fr'];
			$complete['edition'] = $fini['edition'];
			$complete['nbChap'] = $fini['nombre_chapitre'];
			$complete['resume'] = $fini['resume'];
			$complete['release'] = $fini['release'];
			
			array_push($tabAn, $complete);
		}
		
		$termine->closeCursor();
		
		return $tabAn;
	}
	/**
	 * Affiche la fiche du projet demandé
	 * 
	 **/
	public function ficheProjet($idPr)
	{
		$fiche = $this->connect->prepare('SELECT * FROM projets WHERE id = :idProjet');
		$fiche->bindParam('idProjet', $idPr, PDO::PARAM_INT);
		$fiche->execute();
		
		echo '<section>
					<div id="wrapper">';
		
		while($infos = $fiche->fetch(PDO::FETCH_ASSOC))
		{
			//echo 'Passage dans le while de la requete d\'affcihage.<br/>';
			//On récupère les informations dont on a besoin pour le téléchargement dans la table dowload
			//$dowload = $this->connect->prepare('SELECT * FROM download2 WHERE titre = :titreProj ORDER BY numero_chapitre ASC');
			//Après que la colonne licencie de la table projets a été remplie, enlever la ligne du dessus et activer celle de dessous
			//*
			$dowload = $this->connect->prepare('SELECT * FROM download2, projets 
												WHERE download2.titre = projets.titre 
												AND projets.licencie = "non"
												AND download2.titre = :titreProj 
												ORDER BY timestamp ASC');
												//*/
			$dowload->bindParam(':titreProj', $infos['titre']);
			$dowload->execute();
			
			 //On récupère le nombre total de commentaire pour cette news
			 try
			 {
				 $ask = $this->connect->prepare('SELECT COUNT(*) as nbCom FROM commentaire_projets WHERE id_projet= :idp');
				 $ask->bindParam(':idp', $infos['id'], PDO::PARAM_INT);
				 $ask->execute();
			 }
			catch(Exception $e)
			{
				exit('Erreur : ' . $e->getMessage());
			}
			$comm = $ask->fetch();
			// moulinette du systeme de notation
			$note=$this->afficherNote($infos['id']);
			$lanote=intval($note[0]);
			$nbdenote=intval($note[1]);
			$moynote=round($lanote / $nbdenote,2);
			?>
			<div id="asideprojet">
				<div class="imgcontrol">
					<img src="<?php echo 'images/manga/couvertures/'.stripslashes($infos['couverture']); ?>" alt="<?php echo $infos['titre']; ?>">
				</div>
				<a class="projbutton" href="<?php echo 'https://lel.anesis.tk/?r='.$infos['titre']; ?>" title="Lire le volume en ligne" target="_blank">Lire en ligne</a>
				<div id="projetextrait" class="projbutton"><a href="<?php echo 'images/manga/extraits/'.$infos['extrait']; ?>" title="voir un extrait du volume" >Voir un extrait</a></div>
				<div id="projetcommentaire" class="projbutton" data-idprojet="<?php echo $infos['id']; ?>">Commentaires (<?php echo $comm['nbCom'];?>)</div>
							
					<div id="projetdl">
						<div>Téléchargements</div>
						<?php
						$i = 1;
						while($dow = $dowload->fetch(PDO::FETCH_ASSOC))
						{
							if(strcmp('integrale', $dow['numero_chapitre']) == 0)
							{
								echo '<a href="download.php?release='.$dow['dl'].'">Intégrale</a><span class="dlnb">['. $dow['pop'] .']</span><br/>';
							}
							else
							{
								echo '<a href="download.php?release='.$dow['dl'].'">Chapitre '.$i.'</a><span class="dlnb"> ['. $dow['pop'] .']</span><br/>';
								$i++;
							}
						}
						?>
						</div>
							
						<div id="noteprojet">
							<div class="big">Note :</div>
							<div id="note"><?php  echo $lanote; ?></div>
							<div class="mini"><span class="fakelink"><?php  echo $nbdenote ?></span> notes <br/> <span class="fakelink"><?php echo $moynote ?></span> points par noteurs</div>
							<div id="givenote" class="projbutton">Notez le projet</div>
						</div>
						
						</div>
						
						<div id="ficheprojet">
							<div class="projetitem"><span>Titre original : </span><?php echo $infos['titre_jap']; ?></div>
							<div class="projetitem"><span>Titre romanji : </span><?php echo $infos['titre_romanji']; ?></div>
							<div class="projetitem"><span>Auteur : </span><?php echo $infos['auteur']; ?></div>
							<div class="projetitem"><span>Éditeur : </span><?php echo $infos['editeur_jap']; ?></div>
							<div class="projetitem"><span>Genre : </span>
																	<?php 
																		echo $infos['genre1'];
																		
																		if(strcmp('-', $infos['genre2']) != 0)
																		{
																			echo ', '. $infos['genre2'];
																		}
																		if(strcmp('-', $infos['genre3']) != 0)
																		{
																			echo ', '. $infos['genre3'];
																		}  
																	?>
								</div>
							<div class="projetitem"><span>Nombre de volume : </span><?php echo $infos['volume']; ?></div>
							<div class="projetitem"><span>Nombre de chapitres : </span><?php echo $infos['nombre_chapitre']; ?></div>
							<div class="projetitem"><span>Traduction US : </span><?php echo $infos['traduction_us']; ?></div>
							<div class="projetitem"><span>Traduction : </span><?php echo $infos['traduction_fr']; ?></div>
							<div class="projetitem"><span>Check : </span><?php //echo $infos['check']; ?></div>
							<div class="projetitem"><span>Édition : </span><?php echo $infos['edition']; ?></div>
							<div class="projetitem"><span>Qcheck : </span><?php //echo $infos['qcheck']; ?></div>
							<div class="projetitem"><span>Résumé : </span>
								<p>
									<?php echo stripslashes(nl2br($infos['resume'])); ?>
								</p>
							<br/>
							
							</div>
						</div>
			<?php
			$dowload->closeCursor();
			$ask->closeCursor();
		}
		echo '</div>
			</section>';
			
		$fiche->closeCursor();
	}
	/**
	 * Créer ou met à jour le cache pour la page des projets hors série
	 * 
	 * @return	string	$content	contenu de la page au format html
	 **/ 
	public function cacheHs()
	{
		//On indique dans quel fichier on va stocker le cache
		$cacheHs = 'cache/hors-serie.html';
		
		//DEBUT DE LA MISE EN CACHE
		//Ouverture du tampon
		ob_start();
		
		$tableau = $this->hsProjet();
		
		//On affiche les projets par catégorie
		echo '<section>
					<div id="wrapper">';
		
		foreach($tableau as $elem)
		{
			$paramTitre = str_replace(' ', '-', $elem['titre']);
			$paramTitre = rewriteURL($paramTitre);
		?>
			<div class="projetwrap">
					<div class="projetprez">
						<a href="" title="<?php echo $elem['titre']; ?>">
							<div class="imgcontrol">
								
								<img src="<?php echo 'images/manga/couvertures/'.stripslashes($elem['couverture']); ?>" alt="<?php echo $elem['titre']; ?>">
								
							</div>
							<h3>
								<?php echo $elem['titre']; ?>
							</h3>
						</a>
					</div>
					<div class="projetextend">
						
						<div class="dlink"><a href="ficheprojet.php?idProjet=<?php echo $elem['id']; ?>&amp;titre=<?php echo $paramTitre; ?>" title="Voir le projet" data-link="projet">Voir le projet</a></div>
						
						<div class="dlink" data-link="extrait"><a href="<?php echo 'images/manga/extraits/'.$elem['extrait']; ?>" title="voir un extrait du volume" >Voir un extrait</a></div>
						<div class="dlink">Fermer</div>
						<div class="genre">Genre : <span><?php echo $elem['genre1']; ?></span></div>
							<p>
					
								<?php echo nl2br($elem['resume']); ?>
							</p>
					</div>
			</div>
		<?php
		}
		echo '</div>
				</section>';
		
		
		//on récupère le contenu du tampon dans la variable $contents
		$content = ob_get_contents();
		//Fermeture du tampon
		ob_end_clean();
		
		//on écrit le contenu de notre page au format html dans un fichier
		//file_put_contents($cacheHs, $content);
		//FIN DE LA MISE EN CACHE
		
		return $content;
	}
	/**
	 * Créer ou met à jour le cache pour la page des projets anime
	 * 
	 * @return	string	$content	contenu de la page au format html
	 **/ 
	public function cacheAnime()
	{
		//On indique dans quel fichier on va stocker le cache
		$cacheAn = 'cache/animes.html';
		
		//DEBUT DE LA MISE EN CACHE
		//Ouverture du tampon
		ob_start();
		
		$tableau = $this->animeProjet();
		
		//On affiche les projets par catégorie
		echo '<section>
					<div id="wrapper">';
		
		foreach($tableau as $elem)
		{
			$paramTitre = str_replace(' ', '-', $elem['titre']);
			$paramTitre = rewriteURL($paramTitre);
		?>
			<div class="projetwrap">
					<div class="projetprez">
						<a href="" title="<?php echo $elem['titre']; ?>">
							<div class="imgcontrol">
								
								<img src="<?php echo 'images/manga/couvertures/'.stripslashes($elem['couverture']); ?>" alt="<?php echo $elem['titre']; ?>">
								
							</div>
							<h3>
								<?php echo $elem['titre']; ?>
							</h3>
						</a>
					</div>
					<div class="projetextend">
						
						<div class="dlink"><a href="ficheprojet.php?idProjet=<?php echo $elem['id']; ?>&amp;titre=<?php echo $paramTitre; ?>" title="Voir le projet" data-link="projet">Voir le projet</a></div>
						
						<div class="dlink" data-link="extrait"><a href="<?php echo 'images/manga/extraits/'.$elem['extrait']; ?>" title="voir un extrait du volume" >Voir un extrait</a></div>
						<div class="dlink">Fermer</div>
						<div class="genre">Genre : <span><?php echo $elem['genre1']; ?></span></div>
							<p>
					
								<?php echo nl2br($elem['resume']); ?>
							</p>
					</div>
			</div>
		<?php
		}
		echo '</div>
				</section>';
		
		
		//on récupère le contenu du tampon dans la variable $contents
		$content = ob_get_contents();
		//Fermeture du tampon
		ob_end_clean();
		
		//on écrit le contenu de notre page au format html dans un fichier
		//file_put_contents($cacheAn, $content);
		//FIN DE LA MISE EN CACHE
		
		return $content;
	}
	/**
	 * Créer ou met à jour le cache pour la page des projets en cours.
	 * 
	 * @return	string	$content	contenu de la page au format html
	 **/
	 public function cacheProjetGo()
	 {
		//On indique dans quel fichier on va stocker le cache
		$cachePec = 'cache/projets-en-cours.html';
		
		//DEBUT DE LA MISE EN CACHE
		//Ouverture du tampon
		ob_start();
		
		$tableau = $this->goingProjet();
		
		//On affiche les projets par catégorie
		echo '<section>
					<div id="wrapper">';
		
		foreach($tableau as $elem)
		{
			$paramTitre = str_replace(' ', '-', $elem['titre']);
			$paramTitre = rewriteURL($paramTitre);
		?>
			<div class="projetwrap">
					<div class="projetprez">
						<a href="" title="<?php echo $elem['titre']; ?>">
							<div class="imgcontrol">
								
								<img src="<?php echo 'images/manga/couvertures/'.stripslashes($elem['couverture']); ?>" alt="<?php echo $elem['titre']; ?>">
								
								<?php //echo stripslashes($elem['couverture']); ?>
							</div>
							<h3>
								<?php echo $elem['titre']; ?>
							</h3>
						</a>
					</div>
					<div class="projetextend">
						
						<div class="dlink"><a href="ficheprojet.php?idProjet=<?php echo $elem['id']; ?>&amp;titre=<?php echo $paramTitre; ?>" title="<?php echo $paramTitre; ?>" data-link="projet">Voir le projet</a></div>
						
						<!--
						<div class="dlink"><a href="ficheprojet.php?request=ajax&idProjet=<?php echo $elem['id']; ?>" title="Voir le projet" data-link="projet">Voir le projet</a></div>-->
						<div class="dlink" data-link="extrait"><a href="<?php echo 'images/manga/extraits/'.$elem['extrait']; ?>" title="voir un extrait du volume" >Voir un extrait</a></div>
						<div class="dlink">Fermer</div>
						<div class="genre">Genre : <span><?php echo $elem['genre1']; ?></span></div>
							<p>
					
								<?php echo nl2br($elem['resume']); ?>
							</p>
					</div>
			</div>
		<?php
		}
		echo '</div>
				</section>';
		
		
		//on récupère le contenu du tampon dans la variable $contents
		$content = ob_get_contents();
		//Fermeture du tampon
		ob_end_clean();
		
		//on écrit le contenu de notre page au format html dans un fichier
		//file_put_contents($cachePec, $content);
		//FIN DE LA MISE EN CACHE
		
		return $content;
	 }
	 /**
	 * Créer ou met à jour le cache pour la page des projets en finis.
	 * 
	 * @return	string	$content	contenu de la page au format html
	 **/
	 public function cacheProjetFini()
	 {
		 //On indique dans quel fichier on va stocker le cache
		$cachePf = 'cache/projets_termines.html';
		
		//DEBUT DE LA MISE EN CACHE
		//Ouverture du tampon
		ob_start();
		
		$tableau = $this->completeProjet();
			
		//On affiche les projets par catégorie
		echo '<section>
					<div id="wrapper">';
		
		foreach($tableau as $elem)
		{
			$paramTitre = str_replace(' ', '-', $elem['titre']);
			$paramTitre = rewriteURL($paramTitre);
		?>
			<div class="projetwrap">
					<div class="projetprez">
						<a href="" title="<?php echo $elem['titre']; ?>">
							<div class="imgcontrol">
								<img src="<?php echo 'images/manga/couvertures/'.stripslashes($elem['couverture']); ?>" alt="<?php echo $elem['titre']; ?>">
								
							</div>
							<h3>
								<?php echo $elem['titre']; ?>
							</h3>
						</a>
					</div>
					<div class="projetextend">
						
						<div class="dlink"><a href="ficheprojet.php?idProjet=<?php echo $elem['id']; ?>&amp;titre=<?php echo $paramTitre; ?>" title="<?php echo $paramTitre; ?>" data-link="projet">Voir le projet</a></div>
						<div class="dlink" data-link="extrait"><a href="<?php echo 'images/manga/extraits/'.$elem['extrait']; ?>" title="voir un extrait du volume" >Voir un extrait</a></div>
						<div class="dlink">Fermer</div>
						<div class="genre">Genre : <span><?php echo $elem['genre1']; ?></span></div>
							<p>
					
								<?php echo nl2br($elem['resume']); ?>
							</p>
					</div>
			</div>
		<?php
		}
		echo '</div>
				</section>';
		
		//on récupère le contenu du tampon dans la variable $contents
		$content = ob_get_contents();
		//Fermeture du tampon
		ob_end_clean();
		
		//on écrit le contenu de notre page au format html dans un fichier
		//file_put_contents($cachePf, $content);
		//FIN DE LA MISE EN CACHE
		
		return $content;
	 }
	 	 /**
	 * Liste les projets Jeux.
	 * 
	 * @return	array	$tabAn		tableau contenant la liste des projets anime
	 **/
	public function jeuxProjet()
	{
		$jeux = $this->connect->query('SELECT * FROM projets WHERE statut="jeux" ORDER BY titre ASC');
		
		$tabJe = array();
		
		while($game = $jeux->fetch(PDO::FETCH_ASSOC))
		{
			$joujou['id'] = $game['id'];
			$joujou['categorie']= $game['categorie'];
			$joujou['titre'] = $game['titre'];
			$joujou['titre_jap'] = $game['titre_jap'];
			$joujou['titre_romanji'] = $game['titre_romanji'];
			$joujou['couverture'] = $game['couverture'];
			$joujou['extrait'] = $game['extrait'];
			$joujou['auteur'] = $game['auteur'];
			$joujou['volume'] = $game['volume'];
			$joujou['annee'] = $game['annee'];
			$joujou['genre1'] = $game['genre1'];
			$joujou['editeur_jap']= $game['editeur_jap'];
			$joujou['trad_us'] = $game['traduction_us'];
			$joujou['trad_fr'] = $game['traduction_fr'];
			$joujou['edition'] = $game['edition'];
			$joujou['nbChap'] = $game['nombre_chapitre'];
			$joujou['resume'] = $game['resume'];
			$joujou['release'] = $game['release'];
			
			array_push($tabJe, $joujou);
		}
		
		$jeux->closeCursor();
		
		return $tabJe;
	}
	 /**
	 * Créer ou met à jour le cache pour la page des jeux.
	 * 
	 * @return	string	$content	contenu de la page au format html
	 **/
	 public function cacheJeux()
	 {
		 //On indique dans quel fichier on va stocker le cache
		$cachePf = 'cache/projets_jeux.html';
		
		//DEBUT DE LA MISE EN CACHE
		//Ouverture du tampon
		ob_start();
		
		$tableau = $this->jeuxProjet();
			
		//On affiche les projets par catégorie
		echo '<section>
					<div id="wrapper">';
		
		foreach($tableau as $elem)
		{
			$paramTitre = str_replace(' ', '-', $elem['titre']);
			$paramTitre = rewriteURL($paramTitre);
		?>
			<div class="projetwrap">
					<div class="projetprez">
						<a href="" title="<?php echo $elem['titre']; ?>">
							<div class="imgcontrol">
								<img src="<?php echo 'images/manga/couvertures/'.stripslashes($elem['couverture']); ?>" alt="<?php echo $elem['titre']; ?>">
								
							</div>
							<h3>
								<?php echo $elem['titre']; ?>
							</h3>
						</a>
					</div>
					<div class="projetextend">
						
						<div class="dlink"><a href="ficheprojet.php?idProjet=<?php echo $elem['id']; ?>&amp;titre=<?php echo $paramTitre; ?>" title="Voir le projet" data-link="projet">Voir le projet</a></div>
						<div class="dlink" data-link="extrait"><a href="<?php echo 'images/manga/extraits/'.$elem['extrait']; ?>" title="voir un extrait du volume" >Voir un extrait</a></div>
						<div class="dlink">Fermer</div>
						<div class="genre">Genre : <span><?php echo $elem['genre1']; ?></span></div>
							<p>
					
								<?php echo nl2br($elem['resume']); ?>
							</p>
					</div>
			</div>
		<?php
		}
		echo '</div>
				</section>';
		
		//on récupère le contenu du tampon dans la variable $contents
		$content = ob_get_contents();
		//Fermeture du tampon
		ob_end_clean();
		
		//on écrit le contenu de notre page au format html dans un fichier
		//file_put_contents($cachePf, $content);
		//FIN DE LA MISE EN CACHE
		
		return $content;
	 }
}
?>
