/branches/v0.2-buhl/doc/PhpDoc/files/GestionnaireException.php.html |
---|
113,12 → 113,12 |
<ul class="dropdown-menu"> |
<li> |
<a href="../reports/errors.html"> |
<i class="icon-list-alt"></i> Errors <span class="label label-info pull-right">54</span> |
<i class="icon-list-alt"></i> Errors <span class="label label-info pull-right">70</span> |
</a> |
</li> |
<li> |
<a href="../reports/markers.html"> |
<i class="icon-list-alt"></i> Markers <span class="label label-info pull-right">0</span> |
<i class="icon-list-alt"></i> Markers <span class="label label-info pull-right">0</span> |
</a> |
</li> |
</ul> |
138,10 → 138,10 |
<div class="accordion" style="margin-bottom: 0"> |
<div class="accordion-group"> |
<div class="accordion-heading"> |
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1175767752"></a> |
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-137626116"></a> |
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a> |
</div> |
<div id="namespace-1175767752" class="accordion-body collapse in"> |
<div id="namespace-137626116" class="accordion-body collapse in"> |
<div class="accordion-inner"> |
154,6 → 154,7 |
<li class="class"><a href="../classes/GestionnaireException.html">GestionnaireException</a></li> |
<li class="class"><a href="../classes/Modele.html">Modele</a></li> |
<li class="class"><a href="../classes/Registre.html">Registre</a></li> |
<li class="class"><a href="../classes/I18n.html">I18n</a></li> |
<li class="class"><a href="../classes/Config.html">Config</a></li> |
<li class="class"><a href="../classes/Application.html">Application</a></li> |
<li class="class"><a href="../classes/Log.html">Log</a></li> |
252,7 → 253,7 |
<section class="span10 offset1"> |
<hr /> |
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored |
on March 12th, 2014 at 16:55. |
on March 18th, 2014 at 19:19. |
</section> |
</section> |
</section> |
/branches/v0.2-buhl/doc/PhpDoc/files/Controleur.php.txt |
---|
5,21 → 5,18 |
* qui devrait être appelée de l'extérieur. |
* Elle est abstraite donc doit obligatoirement être étendue. |
* |
* @category php5 |
* @category PHP 5.2 |
* @package Framework |
* @author Aurélien PERONNET <aurelien@tela-botanica.org> |
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
* @copyright 2009 Tela-Botanica |
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL |
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL |
* @version SVN: $Id: Controleur.php 191 2010-04-29 15:34:49Z jpm $ |
* @link /doc/framework/ |
* |
* @copyright Copyright (c) 2009, Tela Botanica (accueil@tela-botanica.org) |
* @license GNU-GPL-v3 <http://www.gnu.org/licenses/gpl.html> |
* @license CECILL-v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt> |
*/ |
abstract class Controleur { |
/** Variable statique indiquant que les tableaux _GET et _POST ont déjà été encodé au format de l'appli. */ |
private static $encodage = false; |
/** Registre global, normalement accessible partout */ |
private $registre; |
113,9 → 110,35 |
$_GET = $this->encoderTableau($_GET, Config::get('appli_encodage'), Config::get('sortie_encodage')); |
self::$encodage = true; |
} |
// traitement des magic quotes |
$this->verifierEtTraiterSlashTableauRequete(); |
} |
/** |
* Procédure vérifiant l'activation des magic quotes et remplace les slash dans les tableaux de requete |
*/ |
private function verifierEtTraiterSlashTableauRequete() { |
if ( get_magic_quotes_gpc() ) { |
if (!function_exists('stripslashes_deep')) { |
function stripslashes_deep( $value ) { |
return ( is_array($value) ) |
? array_map('stripslashes_deep', $value) |
: stripslashes($value); |
} // end of 'stripslashes_deep()' |
$_GET = array_map('stripslashes_deep', $_GET); |
$_POST = array_map('stripslashes_deep', $_POST); |
$_COOKIE = array_map('stripslashes_deep', $_COOKIE); |
} |
} |
} |
/** |
* Fonction récursive transcodant toutes les valeurs d'un tableau de leur encodage d'entrée vers un encodage de sortie donné |
* @param $tableau Array Un tableau de données à encoder |
* @param $encodage_sortie String l'encodage vers lequel on doit transcoder |
/branches/v0.2-buhl/doc/PhpDoc/files/Url.php.txt |
---|
1,23 → 1,18 |
<?php |
// declare(encoding='UTF-8'); |
/** |
* classe Url, gérant le découpage des paramètres, leurs modification etc... |
* Traduction et conversion d'une classe (NET_Url2) issue de Pear |
* |
* @category Php5 |
* @package Framework |
// Auteur principal |
* @author Christian Schmidt <schmidt@php.net> |
// Autre auteurs |
* @author Aurélien PERONNET <aurelien@tela-botanica.org> |
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
* @copyright 2009 Tela-Botanica |
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL |
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL |
* @version SVN: $Id: Url.php 171 2010-03-23 11:23:38Z jpm $ |
* @link /doc/framework/ |
* |
*/ |
* classe Url, gérant le découpage des paramètres, leurs modification etc... |
* Traduction et conversion d'une classe (NET_Url2) issue de Pear |
* |
* @category PHP 5.2 |
* @package Framework |
* @author Christian SCHMIDT<schmidt@php.net> |
* @author Aurélien PERONNET <aurelien@tela-botanica.org> |
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
* @copyright Copyright (c) 2009, Tela Botanica (accueil@tela-botanica.org) |
* @license GNU-GPL-v3 <http://www.gnu.org/licenses/gpl.html> |
* @license CECILL-v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt> |
*/ |
class Url |
{ |
/** |
453,7 → 448,7 |
unset($tableau[$nom]); |
$this->setVariablesRequete($tableau); |
} |
/** |
* @param array $noms tableau des noms de variable à supprimer de l'url. |
* |
/branches/v0.2-buhl/doc/PhpDoc/files/Application.php.txt |
---|
3,17 → 3,12 |
/** |
* Classe fournissant des informations au Framework sur l'application. |
* |
* PHP version 5 |
* |
* @category Debogage |
* @package Framework |
// Auteur principal : |
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
// Autres auteurs : |
* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt> |
* @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt> |
* @version $Id: Application.php 456 2014-02-06 11:07:43Z jpm $ |
* @copyright 1999-2009 Tela Botanica (accueil@tela-botanica.org) |
* @category PHP 5.2 |
* @package Framework |
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
* @copyright Copyright (c) 2009, Tela Botanica (accueil@tela-botanica.org) |
* @license GNU-GPL-v3 <http://www.gnu.org/licenses/gpl.html> |
* @license CECILL-v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt> |
*/ |
class Application { |
/branches/v0.2-buhl/doc/PhpDoc/files/I18n.php.html |
---|
New file |
0,0 → 1,264 |
<!DOCTYPE html> |
<html lang="en"> |
<head> |
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"/> |
<meta charset="utf-8"/> |
<title>TBFramework - v0.2</title> |
<meta name="author" content=""/> |
<meta name="description" content=""/> |
<link href="https://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.no-icons.min.css" rel="stylesheet"> |
<link href="https://netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.min.css" rel="stylesheet"> |
<link href="../css/prism.css" rel="stylesheet" media="all"/> |
<link href="../css/template.css" rel="stylesheet" media="all"/> |
<!--[if lt IE 9]> |
<script src="https://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script> |
<![endif]--> |
<script src="https://code.jquery.com/jquery-1.10.2.min.js" type="text/javascript"></script> |
<script src="https://code.jquery.com/ui/1.10.3/jquery-ui.min.js" type="text/javascript"></script> |
<script src="https://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script> |
<script src="../js/jquery.smooth-scroll.js"></script> |
<script src="../js/prism.min.js"></script> |
<!-- TODO: Add http://jscrollpane.kelvinluck.com/ to style the scrollbars for browsers not using webkit--> |
<script type="text/javascript"> |
function loadExternalCodeSnippets() { |
Array.prototype.slice.call(document.querySelectorAll('pre[data-src]')).forEach(function (pre) { |
var src = pre.getAttribute('data-src'); |
var extension = (src.match(/\.(\w+)$/) || [, ''])[1]; |
var language = 'php'; |
var code = document.createElement('code'); |
code.className = 'language-' + language; |
pre.textContent = ''; |
code.textContent = 'Loading…'; |
pre.appendChild(code); |
var xhr = new XMLHttpRequest(); |
xhr.open('GET', src, true); |
xhr.onreadystatechange = function () { |
if (xhr.readyState == 4) { |
if (xhr.status < 400 && xhr.responseText) { |
code.textContent = xhr.responseText; |
Prism.highlightElement(code); |
} |
else if (xhr.status >= 400) { |
code.textContent = '✖ Error ' + xhr.status + ' while fetching file: ' + xhr.statusText; |
} |
else { |
code.textContent = '✖ Error: File does not exist or is empty'; |
} |
} |
}; |
xhr.send(null); |
}); |
} |
$(document).ready(function(){ |
loadExternalCodeSnippets(); |
}); |
$('#source-view').on('shown', function () { |
loadExternalCodeSnippets(); |
}) |
</script> |
<link rel="shortcut icon" href="../images/favicon.ico"/> |
<link rel="apple-touch-icon" href="../images/apple-touch-icon.png"/> |
<link rel="apple-touch-icon" sizes="72x72" href="../images/apple-touch-icon-72x72.png"/> |
<link rel="apple-touch-icon" sizes="114x114" href="../images/apple-touch-icon-114x114.png"/> |
</head> |
<body> |
<div class="navbar navbar-fixed-top"> |
<div class="navbar-inner"> |
<div class="container"> |
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"> |
<i class="icon-ellipsis-vertical"></i> |
</a> |
<a class="brand" href="../index.html">TBFramework - v0.2</a> |
<div class="nav-collapse"> |
<ul class="nav pull-right"> |
<li class="dropdown"> |
<a href="../index.html" class="dropdown-toggle" data-toggle="dropdown"> |
API Documentation <b class="caret"></b> |
</a> |
<ul class="dropdown-menu"> |
</ul> |
</li> |
<li class="dropdown" id="charts-menu"> |
<a href="#" class="dropdown-toggle" data-toggle="dropdown"> |
Charts <b class="caret"></b> |
</a> |
<ul class="dropdown-menu"> |
<li> |
<a href="../graphs/class.html"> |
<i class="icon-list-alt"></i> Class hierarchy diagram |
</a> |
</li> |
</ul> |
</li> |
<li class="dropdown" id="reports-menu"> |
<a href="#" class="dropdown-toggle" data-toggle="dropdown"> |
Reports <b class="caret"></b> |
</a> |
<ul class="dropdown-menu"> |
<li> |
<a href="../reports/errors.html"> |
<i class="icon-list-alt"></i> Errors <span class="label label-info pull-right">70</span> |
</a> |
</li> |
<li> |
<a href="../reports/markers.html"> |
<i class="icon-list-alt"></i> Markers <span class="label label-info pull-right">0</span> |
</a> |
</li> |
</ul> |
</li> |
</ul> |
</div> |
</div> |
</div> |
<!--<div class="go_to_top">--> |
<!--<a href="#___" style="color: inherit">Back to top  <i class="icon-upload icon-white"></i></a>--> |
<!--</div>--> |
</div> |
<div id="___" class="container-fluid"> |
<section class="row-fluid"> |
<div class="span2 sidebar"> |
<div class="accordion" style="margin-bottom: 0"> |
<div class="accordion-group"> |
<div class="accordion-heading"> |
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-591793363"></a> |
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a> |
</div> |
<div id="namespace-591793363" class="accordion-body collapse in"> |
<div class="accordion-inner"> |
<ul> |
<li class="class"><a href="../classes/Url.html">Url</a></li> |
<li class="class"><a href="../classes/Debug.html">Debug</a></li> |
<li class="class"><a href="../classes/Chronometre.html">Chronometre</a></li> |
<li class="class"><a href="../classes/SquelettePhp.html">SquelettePhp</a></li> |
<li class="class"><a href="../classes/Controleur.html">Controleur</a></li> |
<li class="class"><a href="../classes/GestionnaireException.html">GestionnaireException</a></li> |
<li class="class"><a href="../classes/Modele.html">Modele</a></li> |
<li class="class"><a href="../classes/Registre.html">Registre</a></li> |
<li class="class"><a href="../classes/I18n.html">I18n</a></li> |
<li class="class"><a href="../classes/Config.html">Config</a></li> |
<li class="class"><a href="../classes/Application.html">Application</a></li> |
<li class="class"><a href="../classes/Log.html">Log</a></li> |
</ul> |
</div> |
</div> |
</div> |
</div> |
</div> |
</section> |
<section class="row-fluid"> |
<div class="span10 offset2"> |
<div class="row-fluid"> |
<div class="span8 content file"> |
<nav> |
</nav> |
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal"><i class="icon-code"></i></a> |
<h1><small></small>I18n.php</h1> |
<p><em></em></p> |
<h2>Classes</h2> |
<table class="table table-hover"> |
<tr> |
<td><a href="../classes/I18n.html">I18n</a></td> |
<td><em>I18n permet de traduire une application à partir de données stockées dans des fichiers ini.</em></td> |
</tr> |
</table> |
</div> |
<aside class="span4 detailsbar"> |
<dl> |
</dl> |
<h2>Tags</h2> |
<table class="table table-condensed"> |
<tr><td colspan="2"><em>None found</em></td></tr> |
</table> |
</aside> |
</div> |
</div> |
</section> |
<div id="source-view" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="source-view-label" aria-hidden="true"> |
<div class="modal-header"> |
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> |
<h3 id="source-view-label"></h3> |
</div> |
<div class="modal-body"> |
<pre data-src="../files/I18n.php.txt" class="language-php line-numbers"></pre> |
</div> |
</div> |
<footer class="row-fluid"> |
<section class="span10 offset2"> |
<section class="row-fluid"> |
<section class="span10 offset1"> |
<section class="row-fluid footer-sections"> |
<section class="span4"> |
<h1><i class="icon-code"></i></h1> |
<div> |
<ul> |
</ul> |
</div> |
</section> |
<section class="span4"> |
<h1><i class="icon-bar-chart"></i></h1> |
<div> |
<ul> |
<li><a href="../graphs/class.html">Class Hierarchy Diagram</a></li> |
</ul> |
</div> |
</section> |
<section class="span4"> |
<h1><i class="icon-pushpin"></i></h1> |
<div> |
<ul> |
<li><a href="../reports/errors.html">Errors</a></li> |
<li><a href="../reports/markers.html">Markers</a></li> |
</ul> |
</div> |
</section> |
</section> |
</section> |
</section> |
<section class="row-fluid"> |
<section class="span10 offset1"> |
<hr /> |
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored |
on March 18th, 2014 at 19:19. |
</section> |
</section> |
</section> |
</footer> |
</div> |
</body> |
</html> |
/branches/v0.2-buhl/doc/PhpDoc/files/autoload.inc.php.html |
---|
113,12 → 113,12 |
<ul class="dropdown-menu"> |
<li> |
<a href="../reports/errors.html"> |
<i class="icon-list-alt"></i> Errors <span class="label label-info pull-right">54</span> |
<i class="icon-list-alt"></i> Errors <span class="label label-info pull-right">70</span> |
</a> |
</li> |
<li> |
<a href="../reports/markers.html"> |
<i class="icon-list-alt"></i> Markers <span class="label label-info pull-right">0</span> |
<i class="icon-list-alt"></i> Markers <span class="label label-info pull-right">0</span> |
</a> |
</li> |
</ul> |
138,10 → 138,10 |
<div class="accordion" style="margin-bottom: 0"> |
<div class="accordion-group"> |
<div class="accordion-heading"> |
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-700663673"></a> |
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1979790633"></a> |
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a> |
</div> |
<div id="namespace-700663673" class="accordion-body collapse in"> |
<div id="namespace-1979790633" class="accordion-body collapse in"> |
<div class="accordion-inner"> |
154,6 → 154,7 |
<li class="class"><a href="../classes/GestionnaireException.html">GestionnaireException</a></li> |
<li class="class"><a href="../classes/Modele.html">Modele</a></li> |
<li class="class"><a href="../classes/Registre.html">Registre</a></li> |
<li class="class"><a href="../classes/I18n.html">I18n</a></li> |
<li class="class"><a href="../classes/Config.html">Config</a></li> |
<li class="class"><a href="../classes/Application.html">Application</a></li> |
<li class="class"><a href="../classes/Log.html">Log</a></li> |
176,7 → 177,7 |
<h1><small></small>autoload.inc.php</h1> |
<p><em>Fichier contenant la fonction de chargement automatique de classes, il doit toujours rester à la racine |
du framework car il initialise le chemin de l'application en se basant sur son propre emplacement.</em></p> |
<p>PHP Version 5.1.2</p> |
194,7 → 195,7 |
category |
</th> |
<td> |
<p>Fichier_De_Fonctions</p> |
<p>PHP 5.2</p> |
</td> |
</tr> |
<tr> |
202,36 → 203,27 |
author |
</th> |
<td> |
<p>Aurelien PERONNET <a href="mailto:aurelien@tela-botanica.org">aurelien@tela-botanica.org</a> |
// Autres auteurs :</p> |
<p>Aurelien PERONNET <a href="mailto:aurelien@tela-botanica.org">aurelien@tela-botanica.org</a></p> |
<p>Jean-Pascal MILCENT <a href="mailto:jpm@tela-botanica.org">jpm@tela-botanica.org</a></p> |
</td> |
</tr> |
<tr> |
<th> |
license |
copyright |
</th> |
<td> |
<p>GPL v3 <a href="http://www.gnu.org/licenses/gpl.txt">http://www.gnu.org/licenses/gpl.txt</a></p> |
<p>CECILL v2 <a href="http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt">http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt</a></p> |
<p>Copyright (c) 2009, Tela Botanica (accueil@tela-botanica.org)</p> |
</td> |
</tr> |
<tr> |
<th> |
version |
license |
</th> |
<td> |
<p>$$Id: autoload.inc.php 188 2010-04-29 12:09:17Z jpm $$</p> |
<p>GPL v3 <a href="http://www.gnu.org/licenses/gpl.txt">http://www.gnu.org/licenses/gpl.txt</a></p> |
<p>CECILL v2 <a href="http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt">http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt</a></p> |
</td> |
</tr> |
<tr> |
<th> |
copyright |
</th> |
<td> |
<p>1999-2009 Tela Botanica (accueil@tela-botanica.org)</p> |
</td> |
</tr> |
</table> |
</aside> |
442,7 → 434,7 |
<section class="span10 offset1"> |
<hr /> |
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored |
on March 12th, 2014 at 16:55. |
on March 18th, 2014 at 19:19. |
</section> |
</section> |
</section> |
/branches/v0.2-buhl/doc/PhpDoc/files/Modele.php.txt |
---|
1,23 → 1,18 |
<?php |
// declare(encoding='UTF-8'); |
/** |
* Classe modèle, donc d'accés au données, elle ne devrait pas être appelée de l'extérieur. |
* Elle fait office d'abstraction légère de base de données en utilisant diveres possibilités |
* d'abstraction de base de données (PDO, mysql, mysqli, sqlite) |
* Elle est abstraite donc doit obligatoirement être étendue. |
* |
* PHP Version 5 |
* |
* @category Class |
* @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 |
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL |
* @version SVN: $$Id: Modele.php 426 2013-04-30 16:58:14Z jpm $$ |
* @link /doc/framework/ |
* |
*/ |
* Classe modèle, donc d'accés au données, elle ne devrait pas être appelée de l'extérieur. |
* Elle fait office d'abstraction légère de base de données en utilisant diveres possibilités |
* d'abstraction de base de données (PDO, mysql, mysqli, sqlite) |
* Elle est abstraite donc doit obligatoirement être étendue. |
* |
* @category PHP 5.2 |
* @package Framework |
* @author Aurélien PERONNET <aurelien@tela-botanica.org> |
* @copyright Copyright (c) 2009, Tela Botanica (accueil@tela-botanica.org) |
* @license GNU-GPL-v3 <http://www.gnu.org/licenses/gpl.html> |
* @license CECILL-v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt> |
*/ |
abstract class Modele { |
/** |
/branches/v0.2-buhl/doc/PhpDoc/files/Config.php.txt |
---|
5,15 → 5,12 |
* Elle offre l'accès en lecture seule aux paramètres de config. |
* C'est une Singleton. |
* |
* PHP Version 5 |
* |
* @category PHP |
* @package Framework |
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
* @copyright 2009 Tela-Botanica |
* @license GPL-v3 et CECILL-v2 |
* @version SVN: <svn_id> |
* @link /doc/framework/ |
* @category PHP 5.2 |
* @package Framework |
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
* @copyright Copyright (c) 2009, Tela Botanica (accueil@tela-botanica.org) |
* @license GNU-GPL-v3 <http://www.gnu.org/licenses/gpl.html> |
* @license CECILL-v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt> |
*/ |
class Config { |
93,7 → 90,7 |
* @param string $fichier_ini nom du fichier ini à parser |
* @return array tableau contenant les paramètres du fichier ini |
*/ |
private static function parserFichierIni($fichier_ini) { |
public static function parserFichierIni($fichier_ini) { |
$retour = false; |
if (file_exists($fichier_ini)) { |
$ini = parse_ini_file($fichier_ini, true); |
/branches/v0.2-buhl/doc/PhpDoc/files/GestionnaireException.php.txt |
---|
5,20 → 5,17 |
* C'est un Singleton. |
* |
* @category PHP 5.2 |
* @package Framework |
* @package Framework |
* @author Aurélien PERONNET <aurelien@tela-botanica.org> |
* @author Jean-Pascal MILCENT <jmp@tela-botanica.org> |
* @copyright Copyright (c) 2009, Tela Botanica (accueil@tela-botanica.org) |
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL |
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL |
* @version $Id: GestionnaireException.php 342 2011-06-06 13:58:53Z jpm $$ |
* @link /doc/framework/ |
* |
* @license GNU-GPL-v3 <http://www.gnu.org/licenses/gpl.html> |
* @license CECILL-v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt> |
*/ |
class GestionnaireException { |
const MODE_CLI = 'cli'; |
/** Liste des exceptions enregistrées */ |
private static $exceptions = array(); |
40,12 → 37,12 |
// Désactivation des balises HTML dans les messages d'erreur de PHP en mode ligne de commande |
if (self::$mode == self::MODE_CLI) { |
ini_set('html_errors', 0); |
} |
} |
set_exception_handler(array(get_class(),'gererException')); |
set_error_handler(array(get_class(),'gererErreur')); |
} |
/** Configure le Gestionnaire d'exceptions et d'erreur à partir des paramêtres de config. */ |
public static function configurer() { |
self::$contexte = Config::get('fw_debogage_contexte'); |
52,21 → 49,8 |
self::$logger = Config::get('fw_log_debogage'); |
self::$afficher = Config::get('fw_debogage'); |
} |
/** |
* Renvoie le nombre d'exceptions et d'erreurs levées. |
* @see getExceptions() pour obtenir les exceptions formatées. |
* @since 0.3 |
* @return int le nombre d'exception actuellement levées |
*/ |
public static function getExceptionsNbre() { |
return count(self::$exceptions); |
} |
/** |
* Renvoie le booleen définissant si l'on affiche le contexte ou non |
* @return bool true si on affiche le contexte sinon false. |
*/ |
/** Renvoie le booleen définissant si l'on affiche le contexte ou non */ |
public static function getContexte() { |
return self::$contexte; |
} |
80,16 → 64,14 |
} |
/** |
* Fonction de gestion des exceptions, remplace le handler par défaut. |
* Si une boucle génère de multiple exception (ou erreur) identique une seule sera stockée. |
* Fonction de gestion des exceptions, remplace le handler par défaut |
* @param Exception $e l'exception à traiter |
*/ |
public static function gererException(Exception $e) { |
$cle = hash('md5', $e->getMessage().'-'.$e->getFile().'-'.$e->getLine()); |
if (!isset(self::$exceptions[$cle])) { |
self::$exceptions[$cle] = $e; |
self::loggerException($e); |
} |
// pour le moment on se contente de l'ajouter au tableau et de les afficher |
self::$exceptions[] = $e; |
// Log si nécéssaire |
self::loggerException($e); |
} |
/** |
104,123 → 86,70 |
// Si un rapport d'erreur existe, création d'une exception |
if (error_reporting() != 0) { |
$e = new ErrorException($message, 0, $niveau, $fichier, $ligne); |
self::gererException($e); |
// que l'on donne au tableau d'exceptions |
self::$exceptions[] = $e; |
// Log si nécéssaire |
self::loggerException($e); |
} |
return null; |
} |
/** |
* Renvoie les exceptions au format (X)HTML ou bien au format texte suivant le mode d'utilisation de PHP. |
* @since 0.3 |
* @deprecated |
* @see getExceptionsFormatees() |
* @return string les exceptions formatées en texte ou (X)HTML. |
* Renvoie les exceptions au format (X)HTML |
* ou bien au format texte suivant le mode d'utilisation de PHP |
*/ |
public static function getExceptions() { |
return self::getExceptionsFormatees(); |
} |
/** |
* Renvoie les exceptions au format (X)HTML ou bien au format texte suivant le mode d'utilisation de PHP. |
* @since 0.3 |
* @return string les exceptions formatées en texte ou (X)HTML. |
*/ |
public static function getExceptionsFormatees() { |
$retour = ''; |
if (self::getExceptionsNbre() > 0) { |
foreach (self::$exceptions as $cle => $e) { |
switch (self::$mode) { |
case self::MODE_CLI : |
$retour .= self::formaterExceptionTxt($e); |
break; |
default: |
$retour .= self::formaterExceptionXhtml($e); |
} |
// Nous vidons le tableau des exceptions au fur et à mesure pour éviter le réaffichage avec le destructeur. |
unset(self::$exceptions[$cle]); |
foreach (self::$exceptions as $cle => $e) { |
switch (self::$mode) { |
case self::MODE_CLI : |
$retour .= $e->getMessage()."\n"; |
$retour .= 'Fichier : '.$e->getFile()."\n"; |
$retour .= 'Ligne : '.$e->getLine()."\n"; |
if (self::getContexte()) { |
$retour .= 'Contexte : '."\n".print_r($e->getTraceAsString(), true)."\n"; |
} |
break; |
default: |
$retour .= '<div class="debogage">'."\n"; |
$retour .= $e->getMessage()."\n"; |
$retour .= '<span class="debogage_fichier">'.'Fichier : '.$e->getFile().'</span>'."\n"; |
$retour .= '<span class="debogage_ligne">'.'Ligne : '.$e->getLine().'</span>'."\n"; |
if (self::getContexte()) { |
$retour .= '<pre>'."\n"; |
$retour .= '<strong>Contexte : </strong>'."\n".print_r($e->getTraceAsString(), true)."\n"; |
$retour .= '</pre>'."\n"; |
} |
$retour .= '</div>'."\n"; |
} |
// Nous vidons le tableau des exceptions au fur et à mesure |
unset(self::$exceptions[$cle]); |
} |
return $retour; |
} |
/** |
* Renvoie le tableau d'objets Exception générées par le script PHP triées du niveau de sévérité le plus élevé au moins élevé. |
* Format du tableau : |
* array{sévérité_1 = array{Exception1, Exception2, Exception3,...}, sévérité_1 = array{Exception1, Exception2, ...}, ...}; |
* ATTENTION : si vous utilisez cette méthode, c'est à vous de gérer l'affichage des Exceptions. Le gestionnaire d'exception |
* n'enverra plus rien au navigateur ou à la console. |
* @since 0.3 |
* @return array le tableau trié d'objet Exception. |
*/ |
public static function getExceptionsTriees() { |
$retour = array(); |
if (self::getExceptionsNbre() > 0) { |
foreach (self::$exceptions as $cle => $e) { |
$retour[$e->getSeverity()][] = $e; |
// Nous vidons le tableau des exceptions au fur et à mesure pour éviter le réaffichage avec le destructeur. |
unset(self::$exceptions[$cle]); |
} |
ksort($retour); |
} |
return $retour; |
} |
/** |
* Logue une exception donnée sous une forme lisible si self::logger vaut true. |
* @param Exception $e l'exception à logger |
*/ |
private static function loggerException(Exception $e) { |
private static function loggerException($e) { |
if (self::$logger) { |
$message = self::formaterExceptionTxt($e); |
Log::ajouterEntree('erreurs', $message); |
$erreur = ''; |
$erreur .= $e->getMessage()."\n"; |
$erreur .= 'Fichier : '.$e->getFile()."\n"; |
$erreur .= 'Ligne : '.$e->getLine()."\n"; |
if (self::getContexte()) { |
$erreur .= 'Contexte : '."\n".print_r($e->getTraceAsString(), true)."\n"; |
} |
$erreur .= "\n"; |
Log::ajouterEntree('erreurs', $erreur); |
} |
} |
/** |
* Formate en texte une exception passée en paramètre. |
* @since 0.3 |
* @param Exception l'exception à formater. |
*/ |
public static function formaterExceptionTxt(Exception $e) { |
$message = ''; |
$message .= $e->getMessage()."\n"; |
$message .= 'Fichier : '.$e->getFile()."\n"; |
$message .= 'Ligne : '.$e->getLine()."\n"; |
if (self::getContexte()) { |
$message .= 'Contexte : '."\n".print_r($e->getTraceAsString(), true)."\n"; |
} |
$message .= "\n"; |
return $message; |
} |
/** |
* Formate en (X)HTML une exception passée en paramètre. |
* @since 0.3 |
* @param Exception l'exception à formater. |
*/ |
public static function formaterExceptionXhtml(Exception $e) { |
$message = ''; |
$message .= '<div class="debogage">'."\n"; |
$message .= $e->getMessage()."\n"; |
$message .= '<span class="debogage_fichier">'.'Fichier : '.$e->getFile().'</span>'."\n"; |
$message .= '<span class="debogage_ligne">'.'Ligne : '.$e->getLine().'</span>'."\n"; |
if (self::getContexte()) { |
$message .= '<pre>'."\n"; |
$message .= '<strong>Contexte : </strong>'."\n".print_r($e->getTraceAsString(), true)."\n"; |
$message .= '</pre>'."\n"; |
} |
$message .= '</div>'."\n"; |
return $message; |
} |
/** |
* Lors de la destruction de la classe si des exceptions n'ont pas été affichées, et si le débogage est à true, elles sont |
* affichées. |
*/ |
public function __destruct() { |
// Si des erreurs n'ont pas été affichée nous forçons leur affichage |
if (self::$afficher && self::getExceptionsNbre() > 0) { |
echo self::getExceptionsFormatees(); |
if (self::$afficher && count(self::$exceptions) > 0) { |
echo self::getExceptions(); |
} |
} |
/branches/v0.2-buhl/doc/PhpDoc/files/Log.php.html |
---|
113,12 → 113,12 |
<ul class="dropdown-menu"> |
<li> |
<a href="../reports/errors.html"> |
<i class="icon-list-alt"></i> Errors <span class="label label-info pull-right">54</span> |
<i class="icon-list-alt"></i> Errors <span class="label label-info pull-right">70</span> |
</a> |
</li> |
<li> |
<a href="../reports/markers.html"> |
<i class="icon-list-alt"></i> Markers <span class="label label-info pull-right">0</span> |
<i class="icon-list-alt"></i> Markers <span class="label label-info pull-right">0</span> |
</a> |
</li> |
</ul> |
138,10 → 138,10 |
<div class="accordion" style="margin-bottom: 0"> |
<div class="accordion-group"> |
<div class="accordion-heading"> |
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1245416206"></a> |
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-2101350971"></a> |
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a> |
</div> |
<div id="namespace-1245416206" class="accordion-body collapse in"> |
<div id="namespace-2101350971" class="accordion-body collapse in"> |
<div class="accordion-inner"> |
154,6 → 154,7 |
<li class="class"><a href="../classes/GestionnaireException.html">GestionnaireException</a></li> |
<li class="class"><a href="../classes/Modele.html">Modele</a></li> |
<li class="class"><a href="../classes/Registre.html">Registre</a></li> |
<li class="class"><a href="../classes/I18n.html">I18n</a></li> |
<li class="class"><a href="../classes/Config.html">Config</a></li> |
<li class="class"><a href="../classes/Application.html">Application</a></li> |
<li class="class"><a href="../classes/Log.html">Log</a></li> |
252,7 → 253,7 |
<section class="span10 offset1"> |
<hr /> |
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored |
on March 12th, 2014 at 16:55. |
on March 18th, 2014 at 19:19. |
</section> |
</section> |
</section> |
/branches/v0.2-buhl/doc/PhpDoc/files/SquelettePhp.php.html |
---|
113,12 → 113,12 |
<ul class="dropdown-menu"> |
<li> |
<a href="../reports/errors.html"> |
<i class="icon-list-alt"></i> Errors <span class="label label-info pull-right">54</span> |
<i class="icon-list-alt"></i> Errors <span class="label label-info pull-right">70</span> |
</a> |
</li> |
<li> |
<a href="../reports/markers.html"> |
<i class="icon-list-alt"></i> Markers <span class="label label-info pull-right">0</span> |
<i class="icon-list-alt"></i> Markers <span class="label label-info pull-right">0</span> |
</a> |
</li> |
</ul> |
138,10 → 138,10 |
<div class="accordion" style="margin-bottom: 0"> |
<div class="accordion-group"> |
<div class="accordion-heading"> |
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-353027973"></a> |
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-245145037"></a> |
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a> |
</div> |
<div id="namespace-353027973" class="accordion-body collapse in"> |
<div id="namespace-245145037" class="accordion-body collapse in"> |
<div class="accordion-inner"> |
154,6 → 154,7 |
<li class="class"><a href="../classes/GestionnaireException.html">GestionnaireException</a></li> |
<li class="class"><a href="../classes/Modele.html">Modele</a></li> |
<li class="class"><a href="../classes/Registre.html">Registre</a></li> |
<li class="class"><a href="../classes/I18n.html">I18n</a></li> |
<li class="class"><a href="../classes/Config.html">Config</a></li> |
<li class="class"><a href="../classes/Application.html">Application</a></li> |
<li class="class"><a href="../classes/Log.html">Log</a></li> |
252,7 → 253,7 |
<section class="span10 offset1"> |
<hr /> |
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored |
on March 12th, 2014 at 16:55. |
on March 18th, 2014 at 19:19. |
</section> |
</section> |
</section> |
/branches/v0.2-buhl/doc/PhpDoc/files/Registre.php.html |
---|
113,12 → 113,12 |
<ul class="dropdown-menu"> |
<li> |
<a href="../reports/errors.html"> |
<i class="icon-list-alt"></i> Errors <span class="label label-info pull-right">54</span> |
<i class="icon-list-alt"></i> Errors <span class="label label-info pull-right">70</span> |
</a> |
</li> |
<li> |
<a href="../reports/markers.html"> |
<i class="icon-list-alt"></i> Markers <span class="label label-info pull-right">0</span> |
<i class="icon-list-alt"></i> Markers <span class="label label-info pull-right">0</span> |
</a> |
</li> |
</ul> |
138,10 → 138,10 |
<div class="accordion" style="margin-bottom: 0"> |
<div class="accordion-group"> |
<div class="accordion-heading"> |
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1548000857"></a> |
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1451477007"></a> |
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a> |
</div> |
<div id="namespace-1548000857" class="accordion-body collapse in"> |
<div id="namespace-1451477007" class="accordion-body collapse in"> |
<div class="accordion-inner"> |
154,6 → 154,7 |
<li class="class"><a href="../classes/GestionnaireException.html">GestionnaireException</a></li> |
<li class="class"><a href="../classes/Modele.html">Modele</a></li> |
<li class="class"><a href="../classes/Registre.html">Registre</a></li> |
<li class="class"><a href="../classes/I18n.html">I18n</a></li> |
<li class="class"><a href="../classes/Config.html">Config</a></li> |
<li class="class"><a href="../classes/Application.html">Application</a></li> |
<li class="class"><a href="../classes/Log.html">Log</a></li> |
252,7 → 253,7 |
<section class="span10 offset1"> |
<hr /> |
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored |
on March 12th, 2014 at 16:55. |
on March 18th, 2014 at 19:19. |
</section> |
</section> |
</section> |
/branches/v0.2-buhl/doc/PhpDoc/files/Chronometre.php.html |
---|
113,12 → 113,12 |
<ul class="dropdown-menu"> |
<li> |
<a href="../reports/errors.html"> |
<i class="icon-list-alt"></i> Errors <span class="label label-info pull-right">54</span> |
<i class="icon-list-alt"></i> Errors <span class="label label-info pull-right">70</span> |
</a> |
</li> |
<li> |
<a href="../reports/markers.html"> |
<i class="icon-list-alt"></i> Markers <span class="label label-info pull-right">0</span> |
<i class="icon-list-alt"></i> Markers <span class="label label-info pull-right">0</span> |
</a> |
</li> |
</ul> |
138,10 → 138,10 |
<div class="accordion" style="margin-bottom: 0"> |
<div class="accordion-group"> |
<div class="accordion-heading"> |
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-64918610"></a> |
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-972677940"></a> |
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a> |
</div> |
<div id="namespace-64918610" class="accordion-body collapse in"> |
<div id="namespace-972677940" class="accordion-body collapse in"> |
<div class="accordion-inner"> |
154,6 → 154,7 |
<li class="class"><a href="../classes/GestionnaireException.html">GestionnaireException</a></li> |
<li class="class"><a href="../classes/Modele.html">Modele</a></li> |
<li class="class"><a href="../classes/Registre.html">Registre</a></li> |
<li class="class"><a href="../classes/I18n.html">I18n</a></li> |
<li class="class"><a href="../classes/Config.html">Config</a></li> |
<li class="class"><a href="../classes/Application.html">Application</a></li> |
<li class="class"><a href="../classes/Log.html">Log</a></li> |
183,8 → 184,7 |
<table class="table table-hover"> |
<tr> |
<td><a href="../classes/Chronometre.html">Chronometre</a></td> |
<td><em>Classe Chronometre() - Permet de stocker et d'afficher |
les temps d'éxécution de script.</em></td> |
<td><em>Classe Chronometre() - Permet de stocker et d'afficher les temps d'éxécution de script.</em></td> |
</tr> |
</table> |
</div> |
253,7 → 253,7 |
<section class="span10 offset1"> |
<hr /> |
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored |
on March 12th, 2014 at 16:55. |
on March 18th, 2014 at 19:19. |
</section> |
</section> |
</section> |
/branches/v0.2-buhl/doc/PhpDoc/files/Debug.php.html |
---|
113,12 → 113,12 |
<ul class="dropdown-menu"> |
<li> |
<a href="../reports/errors.html"> |
<i class="icon-list-alt"></i> Errors <span class="label label-info pull-right">54</span> |
<i class="icon-list-alt"></i> Errors <span class="label label-info pull-right">70</span> |
</a> |
</li> |
<li> |
<a href="../reports/markers.html"> |
<i class="icon-list-alt"></i> Markers <span class="label label-info pull-right">0</span> |
<i class="icon-list-alt"></i> Markers <span class="label label-info pull-right">0</span> |
</a> |
</li> |
</ul> |
138,10 → 138,10 |
<div class="accordion" style="margin-bottom: 0"> |
<div class="accordion-group"> |
<div class="accordion-heading"> |
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1736475191"></a> |
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1664890481"></a> |
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a> |
</div> |
<div id="namespace-1736475191" class="accordion-body collapse in"> |
<div id="namespace-1664890481" class="accordion-body collapse in"> |
<div class="accordion-inner"> |
154,6 → 154,7 |
<li class="class"><a href="../classes/GestionnaireException.html">GestionnaireException</a></li> |
<li class="class"><a href="../classes/Modele.html">Modele</a></li> |
<li class="class"><a href="../classes/Registre.html">Registre</a></li> |
<li class="class"><a href="../classes/I18n.html">I18n</a></li> |
<li class="class"><a href="../classes/Config.html">Config</a></li> |
<li class="class"><a href="../classes/Application.html">Application</a></li> |
<li class="class"><a href="../classes/Log.html">Log</a></li> |
252,7 → 253,7 |
<section class="span10 offset1"> |
<hr /> |
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored |
on March 12th, 2014 at 16:55. |
on March 18th, 2014 at 19:19. |
</section> |
</section> |
</section> |
/branches/v0.2-buhl/doc/PhpDoc/files/I18n.php.txt |
---|
New file |
0,0 → 1,248 |
<?php |
// declare(encoding='UTF-8'); |
/** |
* I18n permet de traduire une application à partir de données stockées dans des fichiers ini. |
* Si vous souhaitez utiliser le fonctionnement par défaut vous devrez : |
* - déposer les fichiers ini dans le dossier définit par la variable de config "chemin_i18n". |
* - nommer les fichiers selon la forme "locale.ini" (Ex.: fr.ini ou fr_CH.ini ). |
* |
* Elle offre l'accès en lecture seule aux paramètres de des fichiers ini. |
* C'est une Singleton. Une seule classe de traduction peut être instanciée par Application. |
* |
* @category PHP 5.2 |
* @package Framework |
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
* @copyright Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org) |
* @license GNU-GPL-v3 <http://www.gnu.org/licenses/gpl.html> |
* @license CECILL-v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt> |
*/ |
class I18n { |
/** Format de traduction utilisant les fichier .ini */ |
const FORMAT_INI = '.ini'; |
/** Instance de la classe pointant sur elle même (pour le pattern singleton) */ |
private static $instance = null; |
/** Fichiers de traduction disponibles. */ |
private static $traductions = array(); |
/** Langue courrante utilisée par l'application. */ |
private static $langue = null; |
private function __construct() { |
self::verifierParametresConfig(); |
self::trouverLangue(); |
} |
/** |
* Accesseur pour la valeur d'une traduction |
* @param string $param le nom du paramètre |
* @return string la valeur du paramètre |
*/ |
public static function get($identifiant, $langue = null) { |
self::verifierCreationInstance(); |
$texte = ''; |
// Récupération de la langue actuellement demandée |
$langue_a_charger = self::$langue; |
if (!is_null($langue)) { |
$langue_a_charger = $langue; |
} |
if (!isset(self::$traductions[$langue_a_charger])) { |
// Tentative de chargement du fichier de traduction |
$chargement = self::charger($langue_a_charger); |
if ($chargement === false) { |
$m = "Le fichier d'i18n pour la langue '$langue_a_charger' demandée n'a pas été trouvé."; |
self::ajouterErreur($m); |
} |
} |
// Recherche de la langue dans le tableau des traductions |
if (isset(self::$traductions[$langue_a_charger]) && self::$traductions[$langue_a_charger] !== false) { |
// Recherche de la traduction demandée |
$valeur = self::getValeur($identifiant, self::$traductions[$langue_a_charger]); |
if ($valeur !== false) { |
$texte = $valeur; |
} else { |
$m = "Le traduction n'existe pas pour l'identifiant '$identifiant' demandé."; |
self::ajouterErreur($m); |
} |
} |
return $texte; |
} |
/** |
* Charge un fichier ini dans le tableau des paramètres de l'appli |
* @param string $fichier_ini le nom du fichier à charger |
* @return boolean true, si le fichier a été trouvé et correctement chargé, sinon false. |
*/ |
public static function charger($langue, $fichier = null, $format = self::FORMAT_INI) { |
self::verifierCreationInstance(); |
$ok = false; |
// Création du chemin vers le fichier de traduction par défaut |
if (is_null($fichier)) { |
$fichier = Config::get('chemin_i18n').$langue.$format; |
} |
// Chargement |
if ($format == self::FORMAT_INI) { |
$ok = self::chargerFichierIni($fichier, $langue); |
} else { |
$m = "Le format '$format' de fichier de traduction n'est pas pris en compte par le Framework."; |
self::ajouterErreur($m); |
} |
return $ok; |
} |
/** |
* Définit la langue utiliser pour rechercher une traduction. |
* @param string $fichier_ini le nom du fichier à charger |
* @return array le fichier ini parsé |
*/ |
public static function setLangue($langue) { |
self::verifierCreationInstance(); |
self::$langue = $langue; |
} |
/** |
* Renvoie la valeur demandé grâce une chaine de paramètres |
* @param string $param la chaine identifiante |
* @param array $i18n le tableau de traductions |
* @return mixed la valeur correspondante à la chaine identifiante si elle est trouvée, sinon false. |
*/ |
private static function getValeur($param, $i18n) { |
if ($param === null) { |
return false; |
} else { |
if (isset($i18n[$param])) { |
return $i18n[$param]; |
} else if (strpos($param, '.') !== false) { |
$pieces = explode('.', $param, 2); |
if (strlen($pieces[0]) && strlen($pieces[1])) { |
if (isset($i18n[$pieces[0]])) { |
if (is_array($i18n[$pieces[0]])) { |
return self::getValeur($pieces[1], $i18n[$pieces[0]]); |
} |
} |
} |
} else { |
return false; |
} |
} |
} |
/** |
* Parse le fichier ini donné en paramètre |
* @param string $fichier_ini nom du fichier ini à parser |
* @param string $langue la langue correspondant au fichier |
* @return boolean true si le chargement c'est bien passé, sinon false. |
*/ |
private static function chargerFichierIni($fichier_ini, $langue) { |
self::$traductions[$langue] = false; |
if (file_exists($fichier_ini)) { |
$ini = parse_ini_file($fichier_ini, true); |
Debug::printr($ini, 'Avant :'); |
$ini = self::analyserTableauIni($ini); |
Debug::printr($ini, 'Aprés :'); |
self::$traductions[$langue] = $ini; |
} |
return (self::$traductions[$langue] === false) ? false : true; |
} |
/** |
* Analyse un tableau de traductions pour évaluer les clés. |
* @param array $i18n le tableau de traductions |
* @return array le tableau analysé et modifié si nécessaire. |
*/ |
private static function analyserTableauIni($i18n = array()) { |
//ATTENTION : il est important de passer la valeur par référence car nous la modifions dynamiquement dans la boucle |
foreach ($i18n as $cle => &$valeur) { |
if (is_array($valeur)) { |
$i18n[$cle] = self::analyserTableauIni($valeur); |
} else { |
$i18n = self::evaluerCle($i18n, $cle, $valeur); |
} |
} |
return $i18n; |
} |
/** |
* Dans le cas des chaines de traduction à sous clé (ex.: cle.souscle), cette méthode |
* évalue les valeurs correspondantes et créée les sous tableaux associés. |
* @param array $i18n tableau de traductions (par référence) |
* @param string $cle la cle dans le tableau |
* @param string $valeur la valeur à affecter |
*/ |
private static function evaluerCle($i18n, $cle, $valeur) { |
if (strpos($cle, '.') !== false) { |
unset($i18n[$cle]); |
$pieces = explode('.', $cle, 2); |
if (strlen($pieces[0]) && strlen($pieces[1])) { |
if (isset($i18n[$pieces[0]]) && !is_array($i18n[$pieces[0]])) { |
$m = "Ne peut pas créer de sous-clé pour '{$pieces[0]}' car la clé existe déjà"; |
trigger_error($m, E_USER_WARNING); |
} else { |
$i18n[$pieces[0]][$pieces[1]] = $valeur; |
$i18n[$pieces[0]] = self::evaluerCle($i18n[$pieces[0]], $pieces[1], $valeur); |
} |
} else { |
$m = "Clé invalide '$cle'"; |
trigger_error($m, E_USER_WARNING); |
} |
} else { |
$i18n[$cle] = $valeur; |
} |
return $i18n; |
} |
/** |
* Cherche l'information sur la langue demandée par l'application |
*/ |
private static function trouverLangue() { |
if (isset($_GET[Config::get('i18n_url_parametre')])) { |
self::$langue = $_GET[Config::get('i18n_url_parametre')]; |
} else { |
self::$langue = Config::get('i18n_langue_defaut'); |
} |
} |
/** |
* Vérifie si l'instance de classe à été crée, si non la crée |
*/ |
private static function verifierCreationInstance() { |
if (empty(self::$instance)) { |
self::$instance = new I18n(); |
} |
} |
/** |
* Vérifie que tous les paramêtres de config nécessaires au fonctionnement de cette classe existe dans les fichiers |
* de configurations. |
*/ |
private static function verifierParametresConfig() { |
$ok = true; |
$parametres = array('chemin_i18n', 'i18n_url_parametre', 'i18n_langue_defaut'); |
foreach ($parametres as $param) { |
if (is_null(Config::get($param))) { |
$m = "L'utilisation de la classe I18n nécessite de définir '$param' dans un fichier de configuration."; |
self::ajouterErreur($m); |
$ok = false; |
} |
} |
return $ok; |
} |
/** |
* Ajouter une message d'erreur |
*/ |
private static function ajouterErreur($m, $e = E_USER_WARNING) { |
if (Config::get('fw_debogage') === true) { |
trigger_error($m, $e); |
} |
} |
} |
Property changes: |
Added: svn:eol-style |
+native |
\ No newline at end of property |
/branches/v0.2-buhl/doc/PhpDoc/files/autoload.inc.php.txt |
---|
4,18 → 4,13 |
* Fichier contenant la fonction de chargement automatique de classes, il doit toujours rester à la racine |
* du framework car il initialise le chemin de l'application en se basant sur son propre emplacement. |
* |
* PHP Version 5.1.2 |
* |
* @category Fichier_De_Fonctions |
* @package Framework |
// Auteur principal : |
* @category PHP 5.2 |
* @package Framework |
* @author Aurelien PERONNET <aurelien@tela-botanica.org> |
// Autres auteurs : |
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
* @copyright Copyright (c) 2009, Tela Botanica (accueil@tela-botanica.org) |
* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt> |
* @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt> |
* @version $$Id: autoload.inc.php 188 2010-04-29 12:09:17Z jpm $$ |
* @copyright 1999-2009 Tela Botanica (accueil@tela-botanica.org) |
*/ |
// Redéfinition de la constante DIRECTORY_SEPARATOR |
/branches/v0.2-buhl/doc/PhpDoc/files/Log.php.txt |
---|
5,11 → 5,10 |
* |
* @category PHP 5.2 |
* @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: $Id: Log.php 255 2010-12-23 10:37:30Z jpm $ |
* @link /doc/framework/ |
* @author Aurélien PERONNET <aurelien@tela-botanica.org> |
* @copyright Copyright (c) 2009, Tela Botanica (accueil@tela-botanica.org) |
* @license GNU-GPL-v3 <http://www.gnu.org/licenses/gpl.html> |
* @license CECILL-v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt> |
*/ |
class Log { |
67,7 → 66,7 |
self::desactiverEcriture(); |
} |
} |
/** |
* Configure le Log à partir des paramêtres de config. |
*/ |
111,7 → 110,7 |
/** |
* Vérifie la présence d'un fichier dans le tableau, ses droits d'écriture, l'ouvre si nécessaire. |
* |
* |
* @param string $nomFichier le nom du fichier dont on doit vérifier la présence |
* @return boolean true si le fichier est ouvert ou maintenant accessible, false sinon |
*/ |
/branches/v0.2-buhl/doc/PhpDoc/files/Controleur.php.html |
---|
113,12 → 113,12 |
<ul class="dropdown-menu"> |
<li> |
<a href="../reports/errors.html"> |
<i class="icon-list-alt"></i> Errors <span class="label label-info pull-right">54</span> |
<i class="icon-list-alt"></i> Errors <span class="label label-info pull-right">70</span> |
</a> |
</li> |
<li> |
<a href="../reports/markers.html"> |
<i class="icon-list-alt"></i> Markers <span class="label label-info pull-right">0</span> |
<i class="icon-list-alt"></i> Markers <span class="label label-info pull-right">0</span> |
</a> |
</li> |
</ul> |
138,10 → 138,10 |
<div class="accordion" style="margin-bottom: 0"> |
<div class="accordion-group"> |
<div class="accordion-heading"> |
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-86748986"></a> |
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-451161788"></a> |
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a> |
</div> |
<div id="namespace-86748986" class="accordion-body collapse in"> |
<div id="namespace-451161788" class="accordion-body collapse in"> |
<div class="accordion-inner"> |
154,6 → 154,7 |
<li class="class"><a href="../classes/GestionnaireException.html">GestionnaireException</a></li> |
<li class="class"><a href="../classes/Modele.html">Modele</a></li> |
<li class="class"><a href="../classes/Registre.html">Registre</a></li> |
<li class="class"><a href="../classes/I18n.html">I18n</a></li> |
<li class="class"><a href="../classes/Config.html">Config</a></li> |
<li class="class"><a href="../classes/Application.html">Application</a></li> |
<li class="class"><a href="../classes/Log.html">Log</a></li> |
203,8 → 204,56 |
</div> |
<div class="row-fluid"> |
<section class="span8 content file"> |
<h2>Functions</h2> |
</section> |
<aside class="span4 detailsbar"></aside> |
</div> |
<div class="row-fluid"> |
<div class="span8 content class"> |
<a id="method_stripslashes_deep" name="method_stripslashes_deep" class="anchor"></a> |
<article class="method"> |
<h3 class=" ">stripslashes_deep()</h3> |
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal" style="font-size: 1.1em; padding: 9px 14px"><i class="icon-code"></i></a> |
<pre class="signature" style="margin-right: 54px;">stripslashes_deep( <span class="argument">$value</span>)</pre> |
<p><em></em></p> |
<h4>Parameters</h4> |
<table class="table table-condensed table-hover"> |
<tr> |
<td></td> |
<td>$value</td> |
<td></td> |
</tr> |
</table> |
</article> |
</div> |
<aside class="span4 detailsbar"> |
<h1><i class="icon-arrow-down"></i></h1> |
<dl> |
<dt>File</dt> |
<dd><a href=""><div class="path-wrapper">Controleur.php</div></a></dd> |
</dl> |
<h2>Tags</h2> |
<table class="table table-condensed"> |
<tr> |
<th> |
todo |
</th> |
<td> |
</td> |
</tr> |
</table> |
</aside> |
</div> |
</div> |
</section> |
<div id="source-view" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="source-view-label" aria-hidden="true"> |
253,7 → 302,7 |
<section class="span10 offset1"> |
<hr /> |
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored |
on March 12th, 2014 at 16:55. |
on March 18th, 2014 at 19:19. |
</section> |
</section> |
</section> |
/branches/v0.2-buhl/doc/PhpDoc/files/SquelettePhp.php.txt |
---|
4,17 → 4,15 |
* Classe SquelettePhp, traitant les squelette Php utilisant la syntaxe courte php ou pas. |
* Ces méthodes sont statiques. |
* |
* @category php5 |
* @category PHP 5.2 |
* @package Framework |
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
* @copyright 2010 Tela-Botanica |
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL |
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL |
* @version SVN: $$Id: SquelettePhp.php 153 2010-03-04 10:48:32Z jpm $$ |
* @link /doc/framework/ |
* @copyright Copyright (c) 2009, Tela Botanica (accueil@tela-botanica.org) |
* @license GNU-GPL-v3 <http://www.gnu.org/licenses/gpl.html> |
* @license CECILL-v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt> |
*/ |
class SquelettePhp { |
/** |
* Fonction prenant en paramètre un chemin de fichier squelette et un tableau associatif de données, |
* en extrait les variables, charge le squelette et retourne le résultat des deux combinés. |
54,7 → 52,7 |
// Retourne le contenu |
return $sortie; |
} |
/** |
* Fonction chargeant le contenu du squelette et remplaçant les tags court php (<?= ...) par un tag long avec echo. |
* |
/branches/v0.2-buhl/doc/PhpDoc/files/Registre.php.txt |
---|
4,17 → 4,12 |
* Classe registre, qui permet un accès à différentes variables à travers les autres classes. |
* C'est un singleton |
* |
* PHP Version 5 |
* |
* @category Class |
* @package Framework |
* @author Jean-Pascal Milcent <jmp@tela-botanica.org> |
* @copyright 2009 Tela-Botanica |
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL |
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL |
* @version SVN: $$Id: Registre.php 120 2009-09-01 12:21:14Z aurelien $$ |
* @link /doc/framework/ |
* |
* @category PHP 5.2 |
* @package Framework |
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
* @copyright Copyright (c) 2009, Tela Botanica (accueil@tela-botanica.org) |
* @license GNU-GPL-v3 <http://www.gnu.org/licenses/gpl.html> |
* @license CECILL-v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt> |
*/ |
class Registre { |
/branches/v0.2-buhl/doc/PhpDoc/files/Chronometre.php.txt |
---|
1,32 → 1,25 |
<?php |
// declare(encoding='UTF-8'); |
/** Classe Chronometre() - Permet de stocker et d'afficher |
* les temps d'éxécution de script. |
/** Classe Chronometre() - Permet de stocker et d'afficher les temps d'éxécution de script. |
* |
* Cette classe permet de réaliser un ensemble |
* de mesure de temps prises à |
* différents endroits d'un script. |
* Ces mesures peuvent ensuite être affichées au |
* sein d'un tableau XHTML. |
* Cette classe permet de réaliser un ensemble de mesure de temps prises à différents endroits d'un script. |
* Ces mesures peuvent ensuite être affichées au sein d'un tableau XHTML. |
* |
* |
* PHP Version 5 |
* |
* @category PHP |
* @package Framework |
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
* @copyright 2009 Tela-Botanica |
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL |
* @version Release: <package_version> |
* @link /doc/framework/ |
* @category PHP 5.2 |
* @package Framework |
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
* @copyright Copyright (c) 2009, Tela Botanica (accueil@tela-botanica.org) |
* @license GNU-GPL-v3 <http://www.gnu.org/licenses/gpl.html> |
* @license CECILL-v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt> |
*/ |
class Chronometre { |
/*** Attributs : ***/ |
private $_temps = array(); |
private static $instance = null; |
private static $temps = array(); |
/** Constructeur : **/ |
public function __construct() { |
$this->setTemps(array('depart' => microtime())); |
private function __construct() { |
self::setTemps('depart', microtime()); |
} |
/** Accesseurs : |
35,12 → 28,12 |
* |
* @return int le temps écoulé |
*/ |
public function getTemps($cle = null) { |
private static function getTemps($cle = null) { |
$temps = ''; |
if (!is_null($cle)) { |
$temps = $this->_temps[$cle]; |
$temps = self::$temps[$cle]; |
} else { |
$temps = $this->_temps; |
$temps = self::$temps; |
} |
return $temps; |
} |
51,39 → 44,46 |
* |
* @return null |
*/ |
public function setTemps($moment = array ()) { |
array_push($this->_temps, $moment); |
private static function setTemps($cle, $moment) { |
array_push(self::$temps, array($cle => $moment)); |
} |
/*** Méthodes : ***/ |
/** Méthode afficherChrono() - |
/** |
* Effectue un chronometrage. |
* |
* @param string le nom du point de chronométrage |
* @return null |
*/ |
public static function chrono($cle) { |
$moment = microtime(); |
self::verifierCreationInstance(); |
self::setTemps($cle, $moment); |
} |
/** |
* Permet d'afficher les temps d'éxécution de différentes parties d'un script. |
* |
* Cette fonction permet d'afficher un ensemble de |
* mesure de temps prises à différents endroits d'un script. |
* Ces mesures sont affichées au sein d'un tableau XHTML |
* dont on peut controler l'indentation des balises. |
* Pour un site en production, il suffit d'ajouter un style |
* #chrono {display:none;} dans la css. De cette façon, |
* le tableau ne s'affichera pas. Le webmaster lui pourra |
* rajouter sa propre feuille de style affichant le tableau. |
* Cette fonction permet d'afficher un ensemble de mesure de temps prises à différents endroits d'un script. |
* Ces mesures sont affichées au sein d'un tableau XHTML dont on peut controler l'indentation des balises. |
* Pour un site en production, il suffit d'ajouter un style #chrono {display:none;} dans la css. |
* De cette façon, le tableau ne s'affichera pas. Le webmaster lui pourra rajouter sa propre feuille de style |
* affichant le tableau. |
* Le développeur initial de cette fonction est Loic d'Anterroches. |
* Elle a été modifiée par Jean-Pascal Milcent. |
* Elle utilise une variable gobale : $_CHRONO_ |
* |
* @author Loic d'Anterroches |
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
* |
* @param int $indentation_origine l'indentation de base. |
* @param int $indentation le pas d'indentation. |
* @return string la chaine XHTML de mesure des temps. |
*/ |
public function afficherChrono($indentation_origine = 8, $indentation = 4) { |
public static function afficherChrono($indentation_origine = 8, $indentation = 4) { |
self::verifierCreationInstance(); |
// Création du chrono de fin |
$GLOBALS['_SCRIPT_']['chrono']->setTemps(array ( |
'fin' => microtime() |
)); |
self::setTemps('fin', microtime()); |
// Début création de l'affichage |
$sortie = str_repeat(' ', $indentation_origine) . |
105,13 → 105,13 |
$total_tps_ecoule = 0; |
// Récupération de la premiére mesure |
$tab_depart = & $this->getTemps(0); |
$tab_depart = self::getTemps(0); |
list ($usec, $sec) = explode(' ', $tab_depart['depart']); |
// Ce temps correspond à tps_fin |
$tps_debut = ((float) $usec + (float) $sec); |
foreach ($this->getTemps() as $tab_temps) { |
foreach (self::getTemps() as $tab_temps) { |
foreach ($tab_temps as $cle => $valeur) { |
list ($usec, $sec) = explode(' ', $valeur); |
$tps_fin = ((float) $usec + (float) $sec); |
148,5 → 148,14 |
return $sortie; |
} |
/** |
* Vérifie si l'instance de classe à été crée, si non la crée |
*/ |
private static function verifierCreationInstance() { |
if (empty(self::$instance)) { |
self::$instance = new Chronometre(); |
} |
} |
} |
?> |
/branches/v0.2-buhl/doc/PhpDoc/files/Debug.php.txt |
---|
5,20 → 5,18 |
* L'affichage et l'utilisation de ces fonctions sont améliorés via cette classe. |
* Cette classe est inspirée de la classe Zend_Debug. |
* |
* PHP version 5 |
* |
* @category Debogage |
* @package Framework |
// Auteur principal : |
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
// Autres auteurs : |
* @license GPL v3 <http://www.gnu.org/licenses/gpl.txt> |
* @license CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt> |
* @version $$Id: Debug.php 167 2010-03-19 17:12:08Z jpm $$ |
* @copyright 1999-2009 Tela Botanica (accueil@tela-botanica.org) |
* @category PHP 5.2 |
* @package Framework |
* @author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
* @copyright Copyright (c) 2009, Tela Botanica (accueil@tela-botanica.org) |
* @license GNU-GPL-v3 <http://www.gnu.org/licenses/gpl.html> |
* @license CECILL-v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt> |
*/ |
class Debug { |
const MODE_ECHO = 'echo'; |
const MODE_NOTICE = 'e_user_notice'; |
/** |
* mode de php (cli ou sapi) |
*/ |
42,7 → 40,7 |
* @param boolean $echo si true on affiche le résultat, si false on ne renvoie que la chaine sans l'afficher |
* @return string la chaine à afficher representant le dump ou null si echo |
*/ |
public static function dump($variable, $mot_cle = null, $echo = true) { |
public static function dump($variable, $mot_cle = null, $echo = false) { |
// var_dump de la variable dans un buffer et récupération de la sortie |
ob_start(); |
var_dump($variable); |
56,13 → 54,13 |
} |
/** |
* Equivalent de print_r |
* Equivalent de print_r. |
* @param mixed $variable la variable à afficher |
* @param string $mot_cle le mot cle à associer |
* @param boolean $echo faire un echo ou non |
* @return string la chaine contenant la variable printée ou null si echo |
*/ |
public static function printr($variable, $mot_cle = null, $echo = true) { |
public static function printr($variable, $mot_cle = null, $echo = false) { |
// Récupération de la sortie |
$sortie = print_r($variable, true); |
85,10 → 83,14 |
$sortie = self::traiterSortieSuivantMode($mot_cle, $sortie); |
// Affichage et/ou retour |
self::verifierParametresConfig(); |
if (Config::get('fw_debogage') == true) { |
if ($echo) { |
if ($echo === true || Config::get('fw_debogage_mode') == self::MODE_ECHO) { |
echo $sortie; |
return null; |
} else if (Config::get('fw_debogage_mode') == self::MODE_NOTICE) { |
trigger_error($sortie, E_USER_NOTICE); |
return null; |
} else { |
return $sortie; |
} |
119,5 → 121,23 |
} |
return $sortie; |
} |
/** |
* Vérifie que tous les paramêtres de config nécessaires au fonctionnement de cette classe existe dans les fichiers |
* de configurations. |
*/ |
private static function verifierParametresConfig() { |
$ok = true; |
$parametres = array('fw_debogage', 'fw_debogage_mode'); |
foreach ($parametres as $param) { |
if (is_null(Config::get($param))) { |
$classe = get_class(); |
$m = "L'utilisation de la classe $classe nécessite de définir '$param' dans un fichier de configuration."; |
trigger_error($m, E_USER_WARNING); |
$ok = false; |
} |
} |
return $ok; |
} |
} |
?> |
/branches/v0.2-buhl/doc/PhpDoc/files/Url.php.html |
---|
113,12 → 113,12 |
<ul class="dropdown-menu"> |
<li> |
<a href="../reports/errors.html"> |
<i class="icon-list-alt"></i> Errors <span class="label label-info pull-right">54</span> |
<i class="icon-list-alt"></i> Errors <span class="label label-info pull-right">70</span> |
</a> |
</li> |
<li> |
<a href="../reports/markers.html"> |
<i class="icon-list-alt"></i> Markers <span class="label label-info pull-right">0</span> |
<i class="icon-list-alt"></i> Markers <span class="label label-info pull-right">0</span> |
</a> |
</li> |
</ul> |
138,10 → 138,10 |
<div class="accordion" style="margin-bottom: 0"> |
<div class="accordion-group"> |
<div class="accordion-heading"> |
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1374440870"></a> |
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-2010076840"></a> |
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a> |
</div> |
<div id="namespace-1374440870" class="accordion-body collapse in"> |
<div id="namespace-2010076840" class="accordion-body collapse in"> |
<div class="accordion-inner"> |
154,6 → 154,7 |
<li class="class"><a href="../classes/GestionnaireException.html">GestionnaireException</a></li> |
<li class="class"><a href="../classes/Modele.html">Modele</a></li> |
<li class="class"><a href="../classes/Registre.html">Registre</a></li> |
<li class="class"><a href="../classes/I18n.html">I18n</a></li> |
<li class="class"><a href="../classes/Config.html">Config</a></li> |
<li class="class"><a href="../classes/Application.html">Application</a></li> |
<li class="class"><a href="../classes/Log.html">Log</a></li> |
252,7 → 253,7 |
<section class="span10 offset1"> |
<hr /> |
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored |
on March 12th, 2014 at 16:55. |
on March 18th, 2014 at 19:19. |
</section> |
</section> |
</section> |
/branches/v0.2-buhl/doc/PhpDoc/files/Application.php.html |
---|
113,12 → 113,12 |
<ul class="dropdown-menu"> |
<li> |
<a href="../reports/errors.html"> |
<i class="icon-list-alt"></i> Errors <span class="label label-info pull-right">54</span> |
<i class="icon-list-alt"></i> Errors <span class="label label-info pull-right">70</span> |
</a> |
</li> |
<li> |
<a href="../reports/markers.html"> |
<i class="icon-list-alt"></i> Markers <span class="label label-info pull-right">0</span> |
<i class="icon-list-alt"></i> Markers <span class="label label-info pull-right">0</span> |
</a> |
</li> |
</ul> |
138,10 → 138,10 |
<div class="accordion" style="margin-bottom: 0"> |
<div class="accordion-group"> |
<div class="accordion-heading"> |
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-282241088"></a> |
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-1889817542"></a> |
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a> |
</div> |
<div id="namespace-282241088" class="accordion-body collapse in"> |
<div id="namespace-1889817542" class="accordion-body collapse in"> |
<div class="accordion-inner"> |
154,6 → 154,7 |
<li class="class"><a href="../classes/GestionnaireException.html">GestionnaireException</a></li> |
<li class="class"><a href="../classes/Modele.html">Modele</a></li> |
<li class="class"><a href="../classes/Registre.html">Registre</a></li> |
<li class="class"><a href="../classes/I18n.html">I18n</a></li> |
<li class="class"><a href="../classes/Config.html">Config</a></li> |
<li class="class"><a href="../classes/Application.html">Application</a></li> |
<li class="class"><a href="../classes/Log.html">Log</a></li> |
252,7 → 253,7 |
<section class="span10 offset1"> |
<hr /> |
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored |
on March 12th, 2014 at 16:55. |
on March 18th, 2014 at 19:19. |
</section> |
</section> |
</section> |
/branches/v0.2-buhl/doc/PhpDoc/files/Modele.php.html |
---|
113,12 → 113,12 |
<ul class="dropdown-menu"> |
<li> |
<a href="../reports/errors.html"> |
<i class="icon-list-alt"></i> Errors <span class="label label-info pull-right">54</span> |
<i class="icon-list-alt"></i> Errors <span class="label label-info pull-right">70</span> |
</a> |
</li> |
<li> |
<a href="../reports/markers.html"> |
<i class="icon-list-alt"></i> Markers <span class="label label-info pull-right">0</span> |
<i class="icon-list-alt"></i> Markers <span class="label label-info pull-right">0</span> |
</a> |
</li> |
</ul> |
138,10 → 138,10 |
<div class="accordion" style="margin-bottom: 0"> |
<div class="accordion-group"> |
<div class="accordion-heading"> |
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-44830500"></a> |
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-364808530"></a> |
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a> |
</div> |
<div id="namespace-44830500" class="accordion-body collapse in"> |
<div id="namespace-364808530" class="accordion-body collapse in"> |
<div class="accordion-inner"> |
154,6 → 154,7 |
<li class="class"><a href="../classes/GestionnaireException.html">GestionnaireException</a></li> |
<li class="class"><a href="../classes/Modele.html">Modele</a></li> |
<li class="class"><a href="../classes/Registre.html">Registre</a></li> |
<li class="class"><a href="../classes/I18n.html">I18n</a></li> |
<li class="class"><a href="../classes/Config.html">Config</a></li> |
<li class="class"><a href="../classes/Application.html">Application</a></li> |
<li class="class"><a href="../classes/Log.html">Log</a></li> |
252,7 → 253,7 |
<section class="span10 offset1"> |
<hr /> |
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored |
on March 12th, 2014 at 16:55. |
on March 18th, 2014 at 19:19. |
</section> |
</section> |
</section> |
/branches/v0.2-buhl/doc/PhpDoc/files/Config.php.html |
---|
113,12 → 113,12 |
<ul class="dropdown-menu"> |
<li> |
<a href="../reports/errors.html"> |
<i class="icon-list-alt"></i> Errors <span class="label label-info pull-right">54</span> |
<i class="icon-list-alt"></i> Errors <span class="label label-info pull-right">70</span> |
</a> |
</li> |
<li> |
<a href="../reports/markers.html"> |
<i class="icon-list-alt"></i> Markers <span class="label label-info pull-right">0</span> |
<i class="icon-list-alt"></i> Markers <span class="label label-info pull-right">0</span> |
</a> |
</li> |
</ul> |
138,10 → 138,10 |
<div class="accordion" style="margin-bottom: 0"> |
<div class="accordion-group"> |
<div class="accordion-heading"> |
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-136517501"></a> |
<a class="accordion-toggle " data-toggle="collapse" data-target="#namespace-597024655"></a> |
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a> |
</div> |
<div id="namespace-136517501" class="accordion-body collapse in"> |
<div id="namespace-597024655" class="accordion-body collapse in"> |
<div class="accordion-inner"> |
154,6 → 154,7 |
<li class="class"><a href="../classes/GestionnaireException.html">GestionnaireException</a></li> |
<li class="class"><a href="../classes/Modele.html">Modele</a></li> |
<li class="class"><a href="../classes/Registre.html">Registre</a></li> |
<li class="class"><a href="../classes/I18n.html">I18n</a></li> |
<li class="class"><a href="../classes/Config.html">Config</a></li> |
<li class="class"><a href="../classes/Application.html">Application</a></li> |
<li class="class"><a href="../classes/Log.html">Log</a></li> |
252,7 → 253,7 |
<section class="span10 offset1"> |
<hr /> |
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor </a> and authored |
on March 12th, 2014 at 16:55. |
on March 18th, 2014 at 19:19. |
</section> |
</section> |
</section> |