Subversion Repositories Applications.framework

Compare Revisions

Ignore whitespace Rev 232 → Rev 233

/trunk/exemple/services/modules/0.1/MonService.php
1,11 → 1,7
<?php
class MonService {
class MonService extends Service {
public function __construct($config) {
}
public function getElement() {
public function consulter($ressources, $parametres) {
echo "ok";
}
}
/trunk/exemple/services/index.php
1,4 → 1,5
<?php
$temps_debut = microtime(true);
// Encodage : UTF-8
// +-------------------------------------------------------------------------------------------------------------------+
/**
24,13 → 25,14
} else {
// Inclusion du Framework
require_once $framework;
 
// Ajout d'information concernant cette application
Framework::setCheminAppli(__FILE__);// Obligatoire
Framework::setInfoAppli(Config::get('info'));
 
// Initialisation et lancement du serveur
$Serveur = new Serveur();
$Serveur->executer();
$temps_fin = microtime(true);
echo 'Temps d\'execution : '.round($temps_fin - $temps_debut, 4);
}
?>
/trunk/exemple/modeles/ListeAdmin.php
29,11 → 29,13
$requete = 'SELECT * '.
'FROM gen_annuaire '.
'ORDER BY ga_id_administrateur';
$resultat = $this->requete($requete);
$resultat = $this->requeteTous($requete);
$admin = array();
foreach ($resultat->fetchAll() as $ligne) {
if ($ligne['ga_id_administrateur'] != 0) {
$admin[] = $ligne;
if ($resultat !== false) {
foreach ($resultat as $ligne) {
if ($ligne['ga_id_administrateur'] != 0) {
$admin[] = $ligne;
}
}
}
return $admin;
169,43 → 171,40
* @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) {
 
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';
Debug::printr('pppppppppp');
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)) {
$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';
$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 ($nb_admin != 0) {
$res['mail'] = 'Cet email est déjà utilisé par un autre utilisateur.';
}
 
if($pass != '' || $pass_conf != '') {
if ($pass != '' || $pass_conf != '') {
// on vérifie si les deux concordent
if($pass == $pass_conf) {
 
} else {
if ($pass != $pass_conf) {
// 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)) {
 
$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 {
212,17 → 211,16
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) {
$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 {
if (!$res_ajout = $this->requete($query)) {
$res['bdd'] = 'Erreur de la requête dans la base de données';
}
 
/trunk/exemple/admin_administrateur.php
16,83 → 16,100
* @link /doc/framework/
*/
 
// La fonction autolad doit être appelée avant tout autre chose dans l'application.
// Le fichier Framework.php du Framework de Tela Botanica doit être appelé avant tout autre chose dans l'application.
// Sinon, rien ne sera chargé.
require_once dirname(__FILE__).'/../framework/autoload.inc.php';
Application::setChemin(__FILE__);
Application::setInfo(Config::get('info'));
/**
* Fonction d'affichage de Papyrus, pour le corps de page
*/
function afficherContenuCorps() {
// Si l'utilisateur est authentifié
if (Config::get('identification')) {
// on renvoie la vue principale de l'application
$methode = '';
 
if (isset($_GET['m'])) {
$methode = $_GET['m'];
// L'emplacement du Framework peut varier en fonction de l'environnement (test, prod...). Afin de faciliter la configuration
// de l'emplacement du Framework, un fichier framework.defaut.php doit être renommé et configuré pour chaque installation de
// l'application.
// Chemin du fichier chargeant le framework requis
$framework = dirname(__FILE__).'/framework.php';
if (!file_exists($framework)) {
$e = "Veuillez paramêtrer l'emplacement et la version du Framework dans le fichier $framework";
trigger_error($e, E_USER_ERROR);
} else {
// Inclusion du Framework
require_once $framework;
// Ajout d'information concernant cette application
Framework::setCheminAppli(__FILE__);// Obligatoire
Framework::setInfoAppli(Config::get('info'));// Optionnel
// Lancement du débogage si nécessaire
if (Config::get('chronometrage')) {
Chronometre::chrono(basename(__FILE__).' - début');
}
/**
* Fonction d'affichage de Papyrus, pour le corps de page
*/
function afficherContenuCorps() {
// Si l'utilisateur est authentifié
if (Config::get('identification')) {
// on renvoie la vue principale de l'application
$methode = '';
if (isset($_GET['m'])) {
$methode = $_GET['m'];
Debug::printr($methode);
}
$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'];
Debug::printr($_POST);
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();
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:
$retour = $controlleur->chargerAdmin();
return $retour;
break;
}
} else {
// sinon on lui demande de s'identifier
return $controlleur->adminTete();
}
function afficherContenuPied() {
$controlleur = new AdminAdministrateur();
return $controlleur->demanderIdent();
return $controlleur->adminPied();
}
function afficherContenuNavigation() {
return '';
}
function afficherContenuMenu() {
return '';
}
}
 
function afficherContenuTete() {
$controlleur = new AdminAdministrateur();
return $controlleur->adminTete();
}
 
function afficherContenuPied() {
$controlleur = new AdminAdministrateur();
return $controlleur->adminPied();
}
 
function afficherContenuNavigation() {
return '';
}
 
function afficherContenuMenu() {
return '';
}
 
?>
/trunk/exemple/framework.defaut.php
New file
0,0 → 1,6
<?php
// Inclusion du Framework
// Renomer ce fichier en "framework.php"
// Indiquyer ci-dessous le chemin absolu vers le fichier Framework.php de la version souhaitée du Framework
require_once dirname(__FILE__).DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'framework'.DIRECTORY_SEPARATOR.'Framework.php';
?>
/trunk/exemple/index.php
63,7 → 63,7
font-size:10px;
color:#A9A9A9;}
</style>
<link rel="shortcut icon" type="image/x-icon" href="http://www.tela-botanica.org/favicon.ico" />
<link rel="shortcut icon" type="image/x-icon" href="http://www.tela-botanica.org/sites/commun/generique/images/favicones/favicon.ico" />
<link rel="icon" type="image/png" href="http://www.tela-botanica.org/sites/commun/generique/images/favicones/tela_botanica.png" />
</head>
<body xml:lang="fr" lang="fr">
70,7 → 70,7
<div id="reducteur">
<div id="logo_tela">
<a href="/" title="Retour à l'accueil du site">
<img src="http://www.tela-botanica.org/sites/reseau/generique/images/graphisme/logo_jaune.gif" alt="le logo de Tela Botanica"/>
<img src="http://www.tela-botanica.org/sites/accueil/generique/images/graphisme/logo_tela_fond_blanc.png" alt="le logo de Tela Botanica"/>
</a>
</div>
 
/trunk/exemple/squelettes/ajout_admin.tpl.html
1,11 → 1,12
<h2>Ajout d'un administrateur</h2>
<form id="modif_admin" method="post" action="<? $url_form = clone($base_url);
$url_form->setVariableRequete('m','ajout_admin');
echo $url_form; ?>">
<form id="modif_admin" method="post" action="<? $url->setVariableRequete('m','ajout_admin_va');
echo $url; ?>">
<?php if (isset($erreurs)): ?>
<?php foreach ($erreurs as $cle => $erreur): ?>
<p class="symbole_obligatoire"> <?=$cle ?> : <?=$erreur ?> </p>
<?php endforeach; ?>
<?php endif; ?>
<fieldset>
<?php if (isset($erreurs['champs'])): ?>
<p class="symbole_obligatoire"> <?=$erreurs['champs'] ?> </p>
<?php endif; ?>
<ul>
<li>
<label for="admin_nom">Nom :</label>
42,6 → 43,8
</li>
</ul>
</fieldset>
<input type="submit" id="valider_ajout_admin" name="valider_ajout_admin" tabindex="7" value="Ajouter" />
<a href="<? $url_annul = clone($base_url); $url_annul->setVariableRequete('m','liste_admin'); echo $url_annul; ?>">Annuler</a>
<p>
<input type="submit" id="valider_ajout_admin" name="valider_ajout_admin" tabindex="7" value="Ajouter" />
<a href="<? $url->setVariableRequete('m','liste_admin'); echo $url; ?>">Annuler</a>
</p>
</form>
/trunk/exemple/squelettes/liste_admin.tpl.html
1,29 → 1,33
<h2>Liste des administrateurs</h2>
<?php if (isset($admin)) : ?>
<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="<?php $url_mod = clone($base_url);
$url_mod->setVariablesRequete(array('m' => 'modif_admin', 'id_admin' => $element['ga_id_administrateur']));
echo $url_mod;
?>">Modifier</a></td>
<td><a href="<?php
$url_mod->setVariableRequete('m','supp_admin');
echo $url_mod;
?>">Supprimer</a></td>
</tr>
<?php endforeach; ?>
<thead>
<tr>
<th>Identifiant d'admin</th>
<th>Nom</th>
<th>Prénom</th>
<th>Langue</th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<?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="<?php $url->setVariablesRequete(array('m' => 'modif_admin', 'id_admin' => $element['ga_id_administrateur']));
echo $url; ?>">Modifier</a></td>
<td><a href="<?php $url->setVariableRequete('m','supp_admin');
echo $url; ?>">Supprimer</a></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<?php if (isset($erreurs['supp'])): ?>
<span class="symbole_obligatoire"> <?=$erreurs['supp'];?> </span>
<p><span class="symbole_obligatoire"> <?=$erreurs['supp'];?> </span></p>
<?php endif; ?>
<p><a href="<?php $base_url->setVariableRequete('m','ajout_admin') ; echo $base_url ;?>"> Ajouter un administrateur </a></p>
<?php endif; ?>
<p><a href="<?php $url->setVariableRequete('m','ajout_admin') ; echo $url ;?>"> Ajouter un administrateur </a></p>
/trunk/exemple/controleurs/AdminAdministrateur.php
31,11 → 31,12
*/
public function chargerAdmin($erreurs = array()) {
$this->chargerModele('ListeAdmin');
$data['url'] = new Url(Config::get('url_base'));
$data['erreurs'] = $erreurs;
$data['admin'] = $this->ListeAdmin->chargerAdmin();
$this->chargerVue('liste_admin', $data);
$html = $this->getVue('liste_admin', $data);
 
return $this->liste_admin;
return $html;
}
 
/**
47,9 → 48,9
public function modifAdmin($id) {
$this->chargerModele('ListeAdmin');
$data['admin'] = $this->ListeAdmin->loadDetailsAdmin($id);
$this->chargerVue('modif_admin',$data);
$html = $this->getVue('modif_admin',$data);
 
return $this->modif_admin;
return $html;
}
 
/**
65,9 → 66,9
* @param string la confirmation du mot de passe
* @return string la vue correspondante
*/
public function modifAdminVa($id,$nom,$prenom,$mail,$lang,$pass,$pass_conf) {
public 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);
$res = $this->ListeAdmin->modifDetailsAdmin($id, $nom, $prenom, $mail, $lang, $pass, $pass_conf);
 
if (count($res) == 0) {
return $this->chargerAdmin();
79,9 → 80,8
$admin['ga_ce_i18n'] = $lang;
$data['admin'] = $admin;
$data['erreurs'] = $res;
$this->chargerVue('modif_admin',$data);
 
return $this->modif_admin;
$html = $this->getVue('modif_admin', $data);
return $html;
}
}
 
114,9 → 114,10
$admin['ga_mail'] = '';
$admin['ga_ce_i18n'] = '';
$data['admin'] = $admin;
$this->chargerVue('ajout_admin',$data);
$data['url'] = new Url(Config::get('url_base'));
$html = $this->getVue('ajout_admin', $data);
 
return $this->ajout_admin;
return $html;
}
 
/**
131,34 → 132,35
* @param string la confirmation du mot de passe
* @return string la vue correspondante
*/
public function ajoutAdminVa($nom,$prenom,$mail,$lang,$pass,$pass_conf) {
public 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;
$data['url'] = new Url(Config::get('url_base'));
$data['erreurs'] = array('champs' => 'Tous les champs sont obligatoires');
$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);
$html = $this->getVue('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();
return $html;
} 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;
$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['url'] = new Url(Config::get('url_base'));
$data['admin'] = $admin;
$data['erreurs'] = $res;
$html = $this->getVue('ajout_admin', $data);
return $html;
}
}
}
 
166,8 → 168,8
* @return string la vue permettant de s'identifier
*/
public function demanderIdent() {
$this->chargerVue('ident_admin', null);
return $this->ident_admin;
$html = $this->getVue('ident_admin', null);
return $html;
}
 
/**