szTitreCadre = $titre; $this->szTabTexte = $texte; $this->szDateTexte = $date; $this->szBgColor = "#eeea9c"; } // ======================================== function setTitre($titre) { $this->szTitreCadre =$titre; } // ======================================== function setDate($date) { $this->szDateTexte = $date; } function SetBgColor($color) { $this->szBgColor=$color; } // ============================================================= // Fonction permettant d'afficher le cadre function Affiche($fin=0) { // On affiche le bandeau du haut avec le titre et la date $this->affiche_CadreHaut(true); // Puis on affiche le texte du cadre //echo "
\n"; $tablo = explode( "\n", $this->szTabTexte ); foreach ( $tablo as $elem ) { if ( $this->ChercheChapitre( $elem, false) == false ) echo "$elem\n"; } // Puis on fini par afficher le bandeau du bas du cadre if ( $fin == 0) $this->affiche_CadreBas(true); } function ChercheChapitre($szChaine,$admin) { // On creer un tablo qui contiendra la chaine coupée $tablo = array(); $tablo = explode("=", $szChaine ); // puis on enleve les espaces inutile $PartieGauche = trim ($tablo[0]); // Puis on regarde si la partie gauche correspond au mot titre if (strcmp("CHAPITRE",$PartieGauche) == 0) { // On a trouvé un titre ! on rajoute donc les embelissement //$this->szTabTexte[$compteur] = $this->CreerChapitre($tablo[1] ); if ( $admin ) $this->szTabTexte .= $this->CreerChapitre($tablo[1] ); else { $chapitre = $this->CreerChapitre($tablo[1] ); echo "$chapitre\n"; } return true; }// fin if else return false; } // fin fonction ChercheChapitre function CreerChapitre($szTitreChapitre) { return "
$szTitreChapitre

"; } // ============================================================= // Cette fonction affiche les balises du haut pour afficher le cadre function affiche_CadreHaut($bAffiche) { $szTexte = "
  $this->szTitreCadre      [ $this->szDateTexte ] 


"; if ( $bAffiche) echo $szTexte; else return $szTexte; } // fin de la fonction affiche_CadreHaut() // ============================================================= // Cette fonction affiche le cadre du bas ( en dessous du texte du cadre function affiche_CadreBas($bAffiche) { $szTexte = "

\n"; if ( $bAffiche) echo $szTexte; else return $szTexte; } // fin de la fonction affiche_CadreBas() } // fin de la classe cadre // ============================================================= // Cette cadre permet d'afficher les textes présents dans une base // de données. class CadreBD extends Cadre { // ===================================================== // Les Variables var $szTable; // table dont sont tirés les différents paramètres var $numPage; // numero de la page que l'on veut accéder // ============================================================= // Constructeur de la classe function CadreBD($tab,$numP="1") { $this->szTable = $tab; $this->numPage = $numP; $this->szBgColor = "#eeea9c"; // Puis on se connecte pour récupérer tous les champs qui nous interresse if ( $tab != "news") $this->ConnectDB(); } // ============================================================= // ============================================================= // Cette méthode permet de se connecter sur la base de donnée // et de recuperer les donnees qui nous interresse function ConnectDB() { global $sql_bdd; // On se connecte a la base de donnée du site $connect_db = jb_sql_connect(true); if ($connect_db != "") { // On recupere les différents champs qui nous interresse // Sur la table passé en paramètre du constructeur $resultat = mysql_db_query($sql_bdd,"select * from $this->szTable where id=$this->numPage",$connect_db); // On stock le résultat dans les variables de la classe $this->szTitreCadre = mysql_result($resultat,0,"titre"); $this->szTabTexte = mysql_result($resultat,0,"texte"); $this->szDateTexte = mysql_result($resultat,0,"date"); $result = mysql_close($connect_db); } // Fin if return $connect_db; } // ============================================================= // Cette méthode permet de retourner un tableau contenant tous les // function GetDataDB() { // Les variables locales global $sql_serveur; global $sql_bdd; global $sql_user; global $sql_passwd; // Fin des variables locales // On se connecte sur la base du livre d'Or $connect_db = jb_sql_connect(false); $resultat = mysql_db_query($sql_bdd,"select * from news",$connect_db); return $resultat; } } // Fin de la classe Cadre BD // ============================================================= // Cette classe permet d'afficher un article dans un cadre class CadrePresse extends Cadre { // ============================================================= // Constructeur de la classe function CadrePresse($NomDossier,$titre, $date) { // on enregistre les paramètres $this->szFichier = "./presse/$NomDossier/index.html"; $this->szTitreCadre = $titre; $this->szDateTexte = $date; $this->szBgColor = "#eeea9c"; } // fin du constructeur // ============================================================= // Fonction permettant d'afficher le cadre function Affiche() { // On affiche le bandeau du haut avec le titre et la date $this->affiche_CadreHaut(true); // Puis on affiche le texte du cadre require ($this->szFichier ); // Puis on fini par afficher le bandeau du bas du cadre $this->affiche_CadreBas(true); } // fin de la fonction Affiche() } // fin de la classe CadreFichierPresse // ============================================================= // Cette classe permet d'afficher les textes présents dans un fichier // Présent sur le serveur class CadreFichier extends Cadre { // ===================================================== // Les Variables var $szNomDossier; // contient le chemin ou est stocké le fichier // ============================================================= // Constructeur de la classe function CadreFichier($szNomFichier,$def=1) { $this->szBgColor = "#eeea9c"; // On initialise le nom du dossier ou sont sauvé les testes if ( $def >= 1 ) $this->szNomDossier = "./Textes/"; else $this->szNomDossier = "./"; //$this->szTabTexte = array(); // On ouvre dans un premier temps le fichier et on extrait les données $bResultat= $this->OuvreFichier($szNomFichier, $def); } // Fin du constructeur // ============================================================= // Cette fonction ouvre le fichier passé en paramètre // Retourne 1 s'il c'est bien ouvert // faut sinon function OuvreFichier($szNomFichier, $action) { $bTrouveTitre=0; $i=0; // On creer le chemin complet du fichier $szChemin = "$this->szNomDossier$szNomFichier"; // On récupere la date de dernière modification du fichier $this->szDateTexte = date( "d/m/Y H:h:i", filemtime( $szChemin) ); // Puis on ouvre $pFichier = fopen($szChemin,"r"); if ($pFichier == false) { echo "le fichier n'existe pas et voila"; return 1; } while ( feof($pFichier) != 1 ) { $szLigne = fgets($pFichier,120); if ($action == 1) { if ( $bTrouveTitre == 0 ) { $bresul = $this->ChercheTitre($szLigne); if ($bresul == 1) $bTrouveTitre = 1; } // fin if else { if ( $this->ChercheChapitre($szLigne, true) == false ) $this->szTabTexte.= $szLigne; //$this->szTabTexte[$i] = $szLigne; $i++; } // fin else } else $this->szTabTexte.= $szLigne; } // fin while $this->nLongTexte = $i; // Puis on ferme le fichier fclose ($pFichier); return 1; } // fin de la fonction OuvreFichier($szNomFichier) // ============================================================= // Cette fonction recherche le titre du document. Si elle le trouve // elle le sauvegarde dans sa variable et retourn 1 . 0 sinon function ChercheTitre($szChaine ) { // On creer un tablo qui contiendra la chaine coupée $tablo = array(); $tablo = explode("=", $szChaine ); // puis on enleve les espaces inutile $PartieGauche = trim ($tablo[0]); // Puis on regarde si la partie gauche correspond au mot titre if (strcmp("TITRE",$PartieGauche) == 0) { // Si on a trouvé le titre a lors on le sauvegarde $this->szTitreCadre = $tablo[1]; // puis on retourne 1 return true; } // fin if else // sinon on retourne 0 return false; } } ?>