Subversion Repositories Applications.framework

Compare Revisions

No changes between revisions

Ignore whitespace Rev 77 → Rev 78

/trunk/verif_code.txt
File deleted
\ No newline at end of file
/trunk/file.php
File deleted
/trunk/configuration/config.inc.php
File deleted
\ No newline at end of file
/trunk/configuration/config_chemin.inc.php
File deleted
\ No newline at end of file
/trunk/modeles/ListeAdmin.php
File deleted
\ No newline at end of file
/trunk/admin_administrateur.php
File deleted
\ No newline at end of file
/trunk/index.php
File deleted
/trunk/squelettes/modif_admin.tpl.html
File deleted
\ No newline at end of file
/trunk/squelettes/liste_admin.tpl.html
File deleted
\ No newline at end of file
/trunk/squelettes/ajout_admin.tpl.html
File deleted
\ No newline at end of file
/trunk/squelettes/ident_admin.tpl.html
File deleted
\ No newline at end of file
/trunk/controleurs/AdminAdministrateur.php
File deleted
/trunk/exemple/index.php
New file
0,0 → 1,9
<?php
/**
* Created on 19 mars 2009
*
* To change the template for this generated file go to
* Window - Preferences - PHPeclipse - PHP - Code Templates
**/
header('Location: admin_administrateur.php');
?>
/trunk/exemple/squelettes/modif_admin.tpl.html
New file
0,0 → 1,29
<h2>Modification d'un administrateur</h2>
<form id="modif_admin" action="<?=$base_url.'?m=modif_admin_va&id_admin='.$admin['ga_id_administrateur']
?>" method="post">
<fieldset><label for="admin_nom">Nom : </label> <input
type="text" id="admin_nom" name="admin_nom" maxlength="80" tabindex="1"
value="<?=$admin['ga_nom'] ?>" /> <label for="admin_prenom">Prénom
: </label> <input type="text" id="admin_prenom" name="admin_prenom"
maxlength="80" tabindex="2" value="<?=$admin['ga_prenom'] ?>"
/> <label for="admin_mail">Mail : </label> <input type="text"
id="admin_mail" name="admin_mail" maxlength="120" tabindex="3" value="<?=$admin['ga_mail']
?>" /> <?php if (isset($erreurs['mail'])): ?> <span
class="symbole_obligatoire"> <?=$erreurs['mail'] ?> </span> <?php endif; ?>
<label for="admin_lang">Langue : </label> <select id="admin_lang"
name="admin_lang" tabindex="4">
<option<?=($admin['ga_ce_i18n'] == "fr-FR") ?
'selected="selected"' : '';?> value="fr-FR"> Français</option>
<option<?=($admin['ga_ce_i18n'] == "en-EN") ?
'selected="selected"' : '';?> value="en-EN"> Anglais</option>
</select> <label for="password">Mot de passe : </label> <input type="password"
id="admin_pass" name="admin_pass" maxlength="80" tabindex="5" value="<?=''
?>" /> <label for="password_confirm">Confirmez le mot de passe :
</label> <input type="password" id="admin_pass_confirm"
name="admin_pass_confirm" maxlength="80" tabindex="6" value="<?=''
?>" /> <?php if (isset($erreurs['pass'])): ?> <span
class="symbole_obligatoire"> <?=$erreurs['pass'] ?> </span> <?php endif; ?>
</fieldset>
<input type="submit" id="valider_modif_admin" name="valider_modif_admin"
tabindex="7" value="Modifier" /> <a href="<?=$base_url.'?m=liste_admin'
?>"> annuler </a></form>
Property changes:
Added: svn:keywords
+Id Author Date Revision HeadURL
\ No newline at end of property
/trunk/exemple/squelettes/liste_admin.tpl.html
New file
0,0 → 1,26
<h2>Liste des administrateurs</h2>
<table class="liste_admin">
<th>Identifiant d'admin</th>
<th>Nom</th>
<th>Prénom</th>
<th>Langue</th>
<th></th>
<th></th>
<?php foreach ($admin as $element) : ?>
<tr>
<td><?=$element['ga_id_administrateur'] ?></td>
<td><?=$element['ga_nom'] ?></td>
<td><?=$element['ga_prenom'] ?></td>
<td><?=$element['ga_ce_i18n'] ?></td>
<td><a href=<?=$base_url.'?m=modif_admin&id_admin='.$element['ga_id_administrateur']
?>>Modifier</a></td>
<td><a href=<?=$base_url.'?m=suppr_admin&id_admin='.$element['ga_id_administrateur']
?>>Supprimer</a></td>
</tr>
<?php endforeach; ?>
</table>
<?php if (isset($erreurs['supp'])): ?>
<span class="symbole_obligatoire"> <?=$erreurs['supp'] ?> </span>
<?php endif; ?>
<p><a href="<?=$base_url.'?&m=ajout_admin' ?>"> Ajouter un
administrateur </a></p>
Property changes:
Added: svn:keywords
+Id Author Date Revision HeadURL
\ No newline at end of property
/trunk/exemple/squelettes/ajout_admin.tpl.html
New file
0,0 → 1,30
<h2>Ajout d'un administrateur</h2>
<form id="modif_admin" action="<?=$base_url.'?&m=ajout_admin_va'?>"
method="post">
<fieldset><?php if (isset($erreurs['champs'])): ?> <span
class="symbole_obligatoire"> <?=$erreurs['champs'] ?> </span> <?php endif; ?>
<label for="admin_nom">Nom : </label> <input type="text" id="admin_nom"
name="admin_nom" maxlength="80" tabindex="1" value="<?=$admin['ga_nom']
?>" /> <label for="admin_prenom">Prénom : </label> <input type="text"
id="admin_prenom" name="admin_prenom" maxlength="80" tabindex="2"
value="<?=$admin['ga_prenom'] ?>" /> <label for="admin_mail">Mail
: </label> <input type="text" id="admin_mail" name="admin_mail" maxlength="120"
tabindex="3" value="<?=$admin['ga_mail'] ?>" /> <?php if (isset($erreurs['mail'])): ?>
<span class="symbole_obligatoire"> <?=$erreurs['mail'] ?> </span> <?php endif; ?>
<label for="admin_lang">Langue : </label> <select id="admin_lang"
name="admin_lang" tabindex="4">
<option<?=($admin['ga_ce_i18n'] == "fr-FR") ?
'selected="selected"' : '';?> value="fr-FR"> Français</option>
<option<?=($admin['ga_ce_i18n'] == "en-EN") ?
'selected="selected"' : '';?> value="en-EN"> Anglais</option>
</select> <label for="password">Mot de passe : </label> <input type="password"
id="admin_pass" name="admin_pass" maxlength="80" tabindex="5" value="<?=''
?>" /> <label for="password_confirm">Confirmez le mot de passe :
</label> <input type="password" id="admin_pass_confirm"
name="admin_pass_confirm" maxlength="80" tabindex="6" value="<?=''
?>" /> <?php if (isset($erreurs['pass'])): ?> <span
class="symbole_obligatoire"> <?=$erreurs['pass'] ?> </span> <?php endif; ?>
</fieldset>
<input type="submit" id="valider_ajout_admin" name="valider_ajout_admin"
tabindex="7" value="Ajouter" /> <a href="<?=
$base_url.'?m=liste_admin' ?>"> annuler </a></form>
Property changes:
Added: svn:keywords
+Id Author Date Revision HeadURL
\ No newline at end of property
/trunk/exemple/squelettes/ident_admin.tpl.html
New file
0,0 → 1,13
 
<p class="zone_alert">Identifiez-vous</p>
<form id="form_connexion" style="clear: both;"
class="form_identification" action="<?=$base_url ?>"
method="post">
<fieldset><legend>Identifiez vous</legend> <label
for="username">Courriel : </label> <input type="text" id="username"
name="username" maxlength="80" tabindex="1" value="courriel" /> <label
for="password">Mot de passe : </label> <input type="password"
id="password" name="password" maxlength="80" tabindex="2"
value="mot de passe" /> <input type="submit" id="connexion"
name="connexion" tabindex="3" value="ok" /></fieldset>
</form>
Property changes:
Added: svn:keywords
+Id Author Date Revision HeadURL
\ No newline at end of property
/trunk/exemple/controleurs/AdminAdministrateur.php
New file
0,0 → 1,196
<?php
 
/**
* Classe controleur pour l'application administration des administrateurs
*/
class AdminAdministrateur extends Controleur {
/**
* Fonction d'affichage par défaut, elle appelle la liste des administrateurs
*/
function index() {
$this->charger_admin();
}
/**
* Charge la liste des administrateurs et l'envoie à la vue
* @param array un tableau contenant les erreurs à afficher s'il y en a
* @return string la vue correspondante
*/
function chargerAdmin($erreurs = array()) {
 
$this->chargerModele('ListeAdmin');
$data['erreurs'] = $erreurs;
$data['admin'] = $this->ListeAdmin->chargerAdmin();
$this->chargerVue('liste_admin',$data);
 
return $this->liste_admin;
}
/**
* Charge les détails d'un administrateur demandé et l'envoi à la
* vue qui permet de les modifier
* @id string l'id de l'administrateur à modifier
* @return string la vue correspondante
*/
function modifAdmin($id) {
$this->chargerModele('ListeAdmin');
$data['admin'] = $this->ListeAdmin->loadDetailsAdmin($id);
$this->chargerVue('modif_admin',$data);
return $this->modif_admin;
}
/**
* Fonction appelée lors de la validation du formulaire de modification
* des détails d'un administrateurs. Elle modifie les détails dans la base
* de données. S'il y a une erreur et rappelle la formulaire et notifie l'erreur,
* sinon elle charge la liste des administrateurs
* @param string l'identifiant de l'administrateur*
* @param string le nom
* @param string le prénom
* @param string le mail
* @param string le mot de passe
* @param string la confirmation du mot de passe
* @return string la vue correspondante
*/
function modifAdminVa($id,$nom,$prenom,$mail,$lang,$pass,$pass_conf) {
$this->chargerModele('ListeAdmin') ;
$res = $this->ListeAdmin->modifDetailsAdmin($id,$nom,$prenom,$mail,$lang,$pass,$pass_conf) ;
if (count($res) == 0) {
return $this->chargerAdmin() ;
} else {
 
$admin['ga_id_administrateur'] = $id;
$admin['ga_nom'] = $nom;
$admin['ga_prenom'] = $prenom;
$admin['ga_mail'] = $mail;
$admin['ga_ce_i18n'] = $lang;
$data['admin'] = $admin;
$data['erreurs'] = $res;
$this->chargerVue('modif_admin',$data);
return $this->modif_admin;
}
}
/**
* Supprime un administrateur dans la base de données,
* renvoie la liste des administrateurs, en affichant des erreurs
* s'il y en a.
* @return string la vue contenant la liste des administrateurs
*
*/
function supprAdmin($id) {
$this->chargerModele('ListeAdmin');
$res = $this->ListeAdmin->suppAdmin($id);
if ($res == '') {
return $this->chargerAdmin();
} else {
$erreurs['supp'] = $res;
return $this->chargerAdmin($erreurs);
}
}
/**
* Appelle la vue contenant le formulaire d'ajout d'un administrateur
* @return string la vue contenant le formulaire d'ajout
*/
function ajoutAdmin() {
$admin['ga_id_administrateur'] = '';
$admin['ga_nom'] = '';
$admin['ga_prenom'] = '';
$admin['ga_mail'] = '';
$admin['ga_ce_i18n'] = '';
$data['admin'] = $admin;
$this->chargerVue('ajout_admin',$data);
return $this->ajout_admin;
}
/**
* Fonction appelée lors de la validation du formulaire d'ajout d'un administrateur.
* Elle ajoute celui-ci les dans la base de données
* S'il y a une erreur et rappelle la formulaire et notifie l'erreur,
* sinon elle charge la liste des administrateurs
* @param string le nom
* @param string le prénom
* @param string le mail
* @param string le mot de passe
* @param string la confirmation du mot de passe
* @return string la vue correspondante
*/
function ajoutAdminVa($nom,$prenom,$mail,$lang,$pass,$pass_conf) {
if (empty($nom) || empty($prenom) || empty($mail) || empty($pass) || empty($pass_conf)) {
$res = array('champs' => 'Tous les champs sont obligatoires') ;
$data['erreurs'] = $res;
$admin['ga_nom'] = $nom;
$admin['ga_prenom'] = $prenom;
$admin['ga_mail'] = $mail;
$admin['ga_ce_i18n'] = $lang;
$data['admin'] = $admin;
$this->chargerVue('ajout_admin',$data);
return $this->ajout_admin;
}
$this->chargerModele('ListeAdmin');
$res = $this->ListeAdmin->ajoutAdmin($nom,$prenom,$mail,$lang,$pass,$pass_conf);
if (count($res) == 0) {
return $this->chargerAdmin();
} else {
$admin['ga_nom'] = $nom;
$admin['ga_prenom'] = $prenom;
$admin['ga_mail'] = $mail;
$admin['ga_ce_i18n'] = $lang;
$data['admin'] = $admin;
$data['erreurs'] = $res;
$this->chargerVue('ajout_admin',$data);
return $this->ajout_admin;
}
}
/** Apelle le formulaire d'identification (dans le cas où l'utilisateur n'est pas identifié)
* @return string la vue permettant de s'identifier
*/
function demanderIdent() {
$this->chargerVue('ident_admin',null);
return $this->ident_admin;
}
/**
* Renvoie la tête de page de l'application
* @return string la tete de page de l'application
*/
function adminTete() {
$tete = '<h1>Gestion des administrateurs de Papyrus</h1>';
return $tete;
}
/**
* Renvoie le pied de page de l'application
* @return string le pied de page de l'application
*/
function adminPied() {
 
$pied = '';
return $pied;
}
}
 
?>
Property changes:
Added: svn:keywords
+Id Author Date Revision HeadURL
\ No newline at end of property
/trunk/exemple/config.inc.php
New file
0,0 → 1,6
<?php
/** Constante URL de base de l'application, si elle est laissée vide, l'application fonctionnera en Stand-alone */
define('URL_BASE', '');
/** Variable à tester pour l'identification, mettre à true si l'application ne nécessite pas de s'identifier **/
define('VAR_IDENT', true);
?>
/trunk/exemple/modeles/ListeAdmin.php
New file
0,0 → 1,250
<?php
 
/**
* Modèle d'accès à la base de données des administrateurs
* de papyrus
*/
class listeAdmin extends Modele {
var $config = array() ;
/**
* Charge la liste complète des administrateurs
* return array un tableau contenant des objets d'informations sur les administrateurs
* @return array un tableau d'objets contenant la liste des administrateurs
*/
function chargerAdmin() {
$query = 'SELECT * FROM gen_annuaire ORDER BY ga_id_administrateur' ;
$res = $this->requete($query) ;
$admin = array() ;
foreach ($res->fetchAll() as $ligne)
{
if($ligne['ga_id_administrateur'] != 0) {
$admin[] = $ligne ;
}
}
return $admin ;
}
/**
* Charge les informations liées à un administrateur
* grâce à son id
* @param int l'identifiant de l'administrateur.
* @return object un object contenant les informations de l'administrateur demandé
*/
function loadDetailsAdmin($id) {
$query = 'SELECT * FROM gen_annuaire where ga_id_administrateur="'.$id.'"' ;
$res = $this->requete($query) ;
$admin = array() ;
foreach ($res->fetchAll() as $ligne) {
$admin = $ligne ;
}
return $admin ;
}
/**
* Modifie les informations liées à un administrateur dans la base de données
* Si le mot de passe n'est pas renseigné, il n'est pas changé
* @param int identifiant de l'admiistrateur
* @param string nom
* @param string prenom
* @param string le mail
* @param string le code de langue
* @param string le mot de passe (optionnel)
* @param string la confirmation du mot de passe (optionnel)
* @return array un tableau contenant les erreurs s'il y en a, vide sinon
*/
function modifDetailsAdmin($id,$nom,$prenom,$mail,$lang,$pass='',$pass_conf='') {
$res = array() ;
$nb_admin = 0 ;
if(!$this->validerMail($mail)) {
$res['mail'] = 'Adresse mail invalide' ;
}
$query_verif_mail = 'SELECT COUNT(*) AS nb_admin FROM gen_annuaire WHERE ga_mail = '.$this->proteger($mail).' AND ga_id_administrateur !='.$id ;
if($res_nb = $this->requete($query_verif_mail)) {
$ligne = $res_nb->fetch();
$nb_admin = $ligne['nb_admin'] ;
} else {
$res['bdd'] = 'Erreur dans la base de données' ;
return $res ;
}
if($nb_admin != 0) {
$res['mail'] = 'Cet email est déjà utilisé par un autre utilisateur' ;
}
$query = 'UPDATE gen_annuaire SET ga_ce_i18n='.$this->proteger($lang).', ga_nom='.$this->proteger($nom).',ga_prenom='.
$this->proteger($prenom).',ga_mail='.$this->proteger($mail) ;
// si on a entré quelque chose dans les deux champs de mot de passe
if($pass != '' || $pass_conf != '') {
// on vérifie si les deux concordent
if($pass == $pass_conf) {
// si oui, on les modifie
$query .= ',ga_mot_de_passe='.$this->proteger(md5($pass)) ;
} else {
// si non, on notifiera l'utilisateur
$res['pass'] = 'mot de passe invalide' ;
}
}
 
$query .= ' WHERE ga_id_administrateur='.$id ;
if(count($res) != 0) {
return $res ;
}
if($req_maj = $this->requete($query)) {
} else {
$res['bdd'] = 'Erreur de la requête dans la base de données' ;
}
return $res ;
}
/**
* Supprime un administrateur ayant un id donnée
* @param int l'identifiant de l'administrateur
* @return array un tableau contenant les erreurs s'il y en a, vide sinon
*/
function suppAdmin($id) {
$nb_admin = 0 ;
$res = '' ;
$query_verif = 'SELECT COUNT(*) AS nb_admin FROM gen_annuaire' ;
if($res_nb = $this->requete($query_verif)) {
$ligne = $res_nb->fetch();
$nb_admin = $ligne['nb_admin'] ;
} else {
$res = 'Erreur dans la base de données' ;
return $res ;
}
if($nb_admin == 2) {
$res = 'Impossible de supprimer le dernier administrateur' ;
return $res ;
}
$query = 'DELETE FROM gen_annuaire WHERE ga_id_administrateur='.$id ;
if($res_supp = $this->requete($query)) {
return $res ;
} else {
$res = 'Erreur dans la base de données' ;
return $res ;
}
}
/**
* Ajoute un administrateur dans la base de données
* @param string nom
* @param string prenom
* @param string le mail
* @param string le code de langue
* @param string le mot de passe
* @param string la confirmation du mot de passe
* @return array un tableau contenant les erreurs s'il y en a, vide sinon
*/
function ajoutAdmin($nom,$prenom,$mail,$lang,$pass,$pass_conf) {
$nouvel_id = 0 ;
$nb_admin = 0 ;
$res = array() ;
if(!$this->validerMail($mail)) {
$res['mail'] = 'adresse mail invalide' ;
}
$query_verif_mail = 'SELECT COUNT(*) AS nb_admin FROM gen_annuaire WHERE ga_mail = '.$this->proteger($mail) ;
if($res_nb = $this->requete($query_verif_mail)) {
$ligne = $res_nb->fetch() ;
$nb_admin = $ligne['nb_admin'] ;
} else {
$res['bdd'] = 'Erreur dans la base de données' ;
return $res ;
}
if($nb_admin != 0) {
$res['mail'] = 'Cet email est déjà utilisé par un autre utilisateur' ;
}
if($pass != '' || $pass_conf != '') {
// on vérifie si les deux concordent
if($pass == $pass_conf) {
} else {
// si non, on notifiera l'utilisateur
$res['pass'] = 'mot de passe invalide' ;
}
}
$query = 'SELECT MAX(ga_id_administrateur) as nouvel_id FROM gen_annuaire' ;
if($res_requete_id = $this->requete($query)) {
$ligne = $res_requete_id->fetch() ;
$nouvel_id = $ligne['nouvel_id'] + 1 ;
} else {
return $res ;
}
$query = 'INSERT INTO gen_annuaire VALUES ('.$nouvel_id.','.$this->proteger($lang).','.
$this->proteger($nom).','.$this->proteger($prenom).','.$this->proteger(md5($pass)).','.
$this->proteger($mail).')' ;
if(count($res) != 0) {
return $res ;
}
if($res_ajout = $this->requete($query)) {
} else {
$res['bdd'] = 'Erreur de la requête dans la base de données' ;
}
return $res ;
}
/**
* Fonction qui prend une chaine en paramètre et renvoie vrai
* si elle constitue un email syntaxiquement valide, faux sinon.
* @param string le mail à valider
* @return bool true si le mail est valide, false sinon
*/
function validerMail($mail) {
$atom = '[-a-z0-9!#$%&\'*+\\/=?^_`{|}~]'; // caractères autorisés avant l'arobase
$domain = '([a-z0-9]([-a-z0-9]*[a-z0-9]+)?)'; // caractères autorisés après l'arobase (nom de domaine)
$regex = '/^' . $atom . '+' . // Une ou plusieurs fois les caractères autorisés avant l'arobase
'(\.' . $atom . '+)*' . // Suivis par zéro point ou plus
// séparés par des caractères autorisés avant l'arobase
'@' . // Suivis d'un arobase
'(' . $domain . '{1,63}\.)+' . // Suivis par 1 à 63 caractères autorisés pour le nom de domaine
// séparés par des points
$domain . '{2,63}$/i'; // Suivi de 2 à 63 caractères autorisés pour le nom de domaine
// test de l'adresse e-mail
if (preg_match($regex, $mail)) {
return true ;
} else {
return false ;
}
}
 
}
?>
Property changes:
Added: svn:keywords
+Id Author Date Revision HeadURL
\ No newline at end of property
/trunk/exemple/admin_administrateur.php
New file
0,0 → 1,106
<?php
/**
* @category PHP
* @package Framework
* @author aurelien <aurelien@tela-botanica.org>
* @copyright Tela-Botanica 2009
* @link /doc/framework/
* Ceci est un exemple d'application qui permet d'illustrer
* le fonctionnement du framework, il montre comment une application
* peut être dans papyrus, ou bien utilisée en stand alone
*/
// la fonction autolad doit être appelée avant
//tout autre chose dans l'application sinon, rien ne sera chargé
require_once '../autoload.inc.php';
 
/**
* Fonction d'affichage de Papyrus, pour le corps de page
*/
function afficherContenuCorps() {
// si l'utilisateur est authentifié
if (VAR_IDENT) {
// on renvoie la vue principale de l'application
$methode = '' ;
if (isset($_GET['m'])) {
$methode = $_GET['m'] ;
}
$controlleur = new AdminAdministrateur();
switch($methode) {
case 'ajout_admin':
return $controlleur->ajoutAdmin();
break;
case 'ajout_admin_va':
$nom = $_POST['admin_nom'] ;
$prenom = $_POST['admin_prenom'] ;
$mail = $_POST['admin_mail'] ;
$lang = $_POST['admin_lang'] ;
$pass = $_POST['admin_pass'] ;
$pass_conf = $_POST['admin_pass_confirm'] ;
return $controlleur->ajoutAdminVa($nom,$prenom,$mail,$lang,$pass,$pass_conf);
break;
case 'modif_admin':
$id = $_GET['id_admin'];
return $controlleur->modifAdmin($id);
break;
case 'modif_admin_va':
$id = $_GET['id_admin'];
$nom = $_POST['admin_nom'];
$prenom = $_POST['admin_prenom'];
$mail = $_POST['admin_mail'];
$lang = $_POST['admin_lang'];
$pass = $_POST['admin_pass'];
$pass_conf = $_POST['admin_pass_confirm'];
return $controlleur->modifAdminVa($id,$nom,$prenom,$mail,$lang,$pass,$pass_conf);
break;
case 'suppr_admin':
$id = $_GET['id_admin'];
return $controlleur->supprAdmin($id);
break;
default:
return $controlleur->chargerAdmin();
break;
}
} else {
// sinon on lui demande de s'identifier
$controlleur = new AdminAdministrateur() ;
return $controlleur->demanderIdent() ;
}
}
 
function afficherContenuTete() {
$controlleur = new AdminAdministrateur();
return $controlleur->adminTete();
}
 
function afficherContenuPied() {
$controlleur = new AdminAdministrateur();
return $controlleur->adminPied();
}
 
// commentaire
if(!defined('PAP_VERSION')) {
echo afficherContenuTete();
echo afficherContenuCorps();
echo afficherContenuPied();
}
/*
* afficherContenuTete()
* afficherContenuNavigation()
* afficherContenuMenu()
* afficherContenuPied()
*
*/
 
?>
/trunk/tests/verif_code.txt
New file
0,0 → 1,2
Commande pour lancer la vérification
/opt/lampp/bin/php phpcs --standard=PEAR -v -n /home/aurelien/web/framework/file.php
Property changes:
Added: svn:eol-style
+native
\ No newline at end of property
Added: svn:keywords
+Id Author Date Revision HeadURL
\ No newline at end of property
/trunk/tests/file.php
New file
0,0 → 1,13
<?php
/**
* PHP Version 5
*
* @category PHP
* @package Framework
* @author aurelien <aurelien@tela-botanica.org>
* @copyright 2009 Tela-Botanica
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
* @version SVN: <svn_id>
* @link /doc/framework/
*/
?>
Property changes:
Added: svn:keywords
+Id Author Date Revision HeadURL
\ No newline at end of property
/trunk/config.inc.php
New file
0,0 → 1,54
<?php
 
// +------------------------------------------------------------------------------------------------------+
// URL
/** Constante URL de base de l'application, si elle est laissée vide, l'application fonctionnera en Stand-alone */
if(!defined('URL_BASE')) {
define('URL_BASE', '');
}
 
// +------------------------------------------------------------------------------------------------------+
// Définition des chemins de fichiers.
// Définition du chemin de base du framework
if (!defined('CHEMIN_FW')) {
define('CHEMIN_FW', dirname(__FILE__).DS);
}
// Définition du chemin de base de l'appli utilisant le framework si pas défini dans l'appli
if (!defined('CHEMIN_APPLI')) {
define('CHEMIN_APPLI', dirname($_SERVER['SCRIPT_FILENAME']).DS);
}
 
/** Constante stockant le chemin vers le dossier bibliothèque, contenant les classes systèmes **/
define('DOSSIER_BIBLIO',CHEMIN_FW.'bibliotheque'.DS);
/** Constante stockant le chemin vers le dossier controleurs de l'appli.*/
define('DOSSIER_CONTROLEURS', CHEMIN_APPLI.'controleurs'.DS);
/** Constante stockant le chemin vers le dossier modèles de l'appli.*/
define('DOSSIER_MODELES', CHEMIN_APPLI.'modeles'.DS);
/** Constante stockant le chemin vers le dossier squelettes de l'appli.*/
define('DOSSIER_SQUELETTES', CHEMIN_APPLI.'squelettes'.DS);
 
// +------------------------------------------------------------------------------------------------------+
// Débogage
/** Constante stockant si oui ou non on veut afficher le débogage.*/
define('SC_DEBOGAGE', true);
/** Constante stockant si oui ou non on veut afficher le contexte de débogage.*/
define('SC_DEBOGAGE_CONTEXTE', false);
/** Constante stockant une valeur correspondant au niveau d'erreur à employer pour le code PHP.*/
define('SC_DEBOGAGE_NIVEAU', 2048);// Voir le manuel de PHP pour les différents niveaux disponibles.
/** Constante stockant si oui ou nom on veut afficher le tableau de chronométrage de l'application.*/
define('SC_DEBOGAGE_CHRONO', true);
ini_set('html_errors', true);
 
// +------------------------------------------------------------------------------------------------------+
// Paramétrage de la base de données.
/** Constante stockant le protocole de la base de données.*/
define('BDD_PROTOCOLE', 'mysql');
/** Constante stockant le nom du serveur de bases de données.*/
define('BDD_SERVEUR', 'localhost');
/** Constante stockant le nom de l'utilisateur de la base de données.*/
define('BDD_UTILISATEUR', 'root');
/** Constante stockant le mot de passse de l'utilisateur de la base de données.*/
define('BDD_MOT_DE_PASSE', '');
/** Constante stockant le nom de la base de données principale.*/
define('BDD_NOM_PRINCIPALE', 'papyrus');
?>
Property changes:
Added: svn:keywords
+Id Author Date Revision HeadURL
\ No newline at end of property
/trunk/autoload.inc.php
18,15 → 18,16
* @link /doc/framework/
*/
 
// on définit le chemin de base de l'application
if (!defined('CHEMIN_APPLI')) {
define('CHEMIN_APPLI', dirname(__FILE__).DIRECTORY_SEPARATOR);
// Redéfinition de la constante DIRECTORY_SEPARATOR
if (!defined('DS')) {
define('DS', DIRECTORY_SEPARATOR);
}
 
// Appel du fichier de configuration du framework
require_once dirname(__FILE__).DS.'config.inc.php';
 
// appel des deux fichiers de configuration
require_once 'configuration/config.inc.php';
require_once 'configuration/config_chemin.inc.php';
// Chargement automatique du fichier de configuration de l'application
require_once CHEMIN_APPLI.'config.inc.php';
 
/**
* La fonction __autoload() charge dynamiquement les
33,31 → 34,28
* classes trouvées dans le code.
*
* Cette fonction est appelée par php5 quand il trouve
* une instanciation de classe dans le code.
* une instanciation de classe dans le code.
*
*@param string $classe nom de la classe appelée.
*
*@return null le fichier contenant la classe .
*
*@return null le fichier contenant la classe.
*/
function __autoload($classe)
{
/* les dossiers dans lequels on cherche sont ceux
*initialisés dans les fichiers de configuration
*TODO: faire un tableau qui soit contenu dans le
*fichier de configuration pour que les utilisateurs
* puissent rajouter les leur et agrandir les possibilités.
*/
$dossiers_classes = array(CHEMIN_BIBLIO.DIRECTORY_SEPARATOR,
DOSSIER_CONTROLEURS.DIRECTORY_SEPARATOR,
DOSSIER_MODELES.DIRECTORY_SEPARATOR);
foreach ($dossiers_classes as $chemin) {
if (file_exists($fichier_a_tester = $chemin.$classe.'.php')) {
include_once $fichier_a_tester;
return null;
}
}
function __autoload($classe) {
/* les dossiers dans lequels on cherche sont ceux
*initialisés dans les fichiers de configuration
*TODO: faire un tableau qui soit contenu dans le
*fichier de configuration pour que les utilisateurs
* puissent rajouter les leur et agrandir les possibilités.
*/
$dossiers_classes = array( DOSSIER_BIBLIO,
DOSSIER_CONTROLEURS,
DOSSIER_MODELES);
foreach ($dossiers_classes as $chemin) {
if (file_exists($fichier_a_tester = $chemin.$classe.'.php')) {
include_once $fichier_a_tester;
return null;
}
}
}
?>