Subversion Repositories Applications.framework

Compare Revisions

No changes between revisions

Ignore whitespace Rev 466 → Rev 467

/branches/v0.2-buhl/doc/genererDoc.sh
File deleted
\ No newline at end of file
/branches/v0.2-buhl/doc/PhpDoc/phpdoc-cache-0d/phpdoc-cache-file_f90d35be0c8f3486d33aac180b8d39a1.dat
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v0.2-buhl/doc/PhpDoc/phpdoc-cache-0d/phpdoc-cache-file_f90d35be0c8f3486d33aac180b8d39a1.dat
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v0.2-buhl/doc/PhpDoc/namespaces/default.html
New file
0,0 → 1,396
<!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-->
<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>&#160;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>&#160;Errors <span class="label label-info pull-right">54</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;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&#160;&#160;<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-1589958502"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-1589958502" 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/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 namespace">
<nav>
</nav>
<h1><small></small>\</h1>
 
<h2>Classes</h2>
<table class="table table-hover">
<tr>
<td><a href="../classes/Url.html">Url</a></td>
<td><em>classe Url, gérant le découpage des paramètres, leurs modification etc.</em></td>
</tr>
<tr>
<td><a href="../classes/Debug.html">Debug</a></td>
<td><em>Classe fournissant des fonctions de débogage équivalante à var_dump et print_r.</em></td>
</tr>
<tr>
<td><a href="../classes/Chronometre.html">Chronometre</a></td>
<td><em>Classe Chronometre() - Permet de stocker et d&#039;afficher
les temps d&#039;éxécution de script.</em></td>
</tr>
<tr>
<td><a href="../classes/SquelettePhp.html">SquelettePhp</a></td>
<td><em>Classe SquelettePhp, traitant les squelette Php utilisant la syntaxe courte php ou pas.</em></td>
</tr>
<tr>
<td><a href="../classes/Controleur.html">Controleur</a></td>
<td><em>Classe Controleur, coeur d&#039;une application, c&#039;est normalement la seule classe d&#039;une application
qui devrait être appelée de l&#039;extérieur.</em></td>
</tr>
<tr>
<td><a href="../classes/GestionnaireException.html">GestionnaireException</a></td>
<td><em>Classe de gestion des exceptions.</em></td>
</tr>
<tr>
<td><a href="../classes/Modele.html">Modele</a></td>
<td><em>Classe modèle, donc d&#039;accés au données, elle ne devrait pas être appelée de l&#039;extérieur.</em></td>
</tr>
<tr>
<td><a href="../classes/Registre.html">Registre</a></td>
<td><em>Classe registre, qui permet un accès à différentes variables à travers les autres classes.</em></td>
</tr>
<tr>
<td><a href="../classes/Config.html">Config</a></td>
<td><em>Config permet de charger automatiquement les fichiers ini du Framework et de l&#039;application.</em></td>
</tr>
<tr>
<td><a href="../classes/Application.html">Application</a></td>
<td><em>Classe fournissant des informations au Framework sur l&#039;application.</em></td>
</tr>
<tr>
<td><a href="../classes/Log.html">Log</a></td>
<td><em>Classe permettant de logger des messages dans les fichier situés dans le dossier de log.</em></td>
</tr>
</table>
</div>
 
<aside class="span4 detailsbar">
<dl>
<dt>Namespace hierarchy</dt>
<dd class="hierarchy">
<div class="namespace-wrapper">\</div>
</dd>
</dl>
</aside>
</div>
 
<div class="row-fluid">
<section class="span8 content namespace">
<h2>Constants</h2>
</section>
<aside class="span4 detailsbar"></aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="constant_DS" name="constant_DS" class="anchor"></a>
<article id="constant_DS" class="constant">
<h3 class="">DS</h3>
<pre class="signature">DS</pre>
<p><em></em></p>
</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"></div></a></dd>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="constant_PS" name="constant_PS" class="anchor"></a>
<article id="constant_PS" class="constant">
<h3 class="">PS</h3>
<pre class="signature">PS</pre>
<p><em></em></p>
</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"></div></a></dd>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<section class="span8 content namespace">
<h2>Functions</h2>
</section>
<aside class="span4 detailsbar"></aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_autoloadFw" name="method_autoloadFw" class="anchor"></a>
<article class="method">
<h3 class=" ">autoloadFw()</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;">autoloadFw( <span class="argument">$nom_classe_fw</span>)</pre>
<p><em></em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td></td>
<td>$nom_classe_fw</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"></div></a></dd>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_autoloadAppliDefaut" name="method_autoloadAppliDefaut" class="anchor"></a>
<article class="method">
<h3 class=" ">autoloadAppliDefaut()</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;">autoloadAppliDefaut( <span class="argument">$nom_classe</span>)</pre>
<p><em></em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td></td>
<td>$nom_classe</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"></div></a></dd>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
</div>
</section>
 
<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 12th, 2014 at 16:55.
</section>
</section>
</section>
</footer>
</div>
 
</body>
</html>
/branches/v0.2-buhl/doc/PhpDoc/phpdoc-cache-c2/phpdoc-cache-file_9579b859d697ad3a2454bcf79031c3b8.dat
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v0.2-buhl/doc/PhpDoc/phpdoc-cache-c2/phpdoc-cache-file_9579b859d697ad3a2454bcf79031c3b8.dat
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v0.2-buhl/doc/PhpDoc/phpdoc-cache-f0/phpdoc-cache-file_19fba3fd5f6df8a705d3aef2a9c12310.dat
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v0.2-buhl/doc/PhpDoc/phpdoc-cache-f0/phpdoc-cache-file_19fba3fd5f6df8a705d3aef2a9c12310.dat
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v0.2-buhl/doc/PhpDoc/phpdoc-cache-1f/phpdoc-cache-file_9f2bd6a7e9dcd3958d86cf14c94230b3.dat
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v0.2-buhl/doc/PhpDoc/phpdoc-cache-1f/phpdoc-cache-file_9f2bd6a7e9dcd3958d86cf14c94230b3.dat
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v0.2-buhl/doc/PhpDoc/phpdoc-cache-2e/phpdoc-cache-settings.dat
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v0.2-buhl/doc/PhpDoc/phpdoc-cache-2e/phpdoc-cache-settings.dat
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v0.2-buhl/doc/PhpDoc/graphs/class.html
New file
0,0 → 1,165
<!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"/>
<link href="../css/jquery.iviewer.css" rel="stylesheet" media="all"/>
<style>
#viewer {
position: relative;
width: 100%;
}
.wrapper {
overflow: hidden;
}
</style>
 
<!--[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 src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
<script src="../js/jquery.iviewer.js" type="text/javascript"></script>
<script type="text/javascript">
$(window).resize(function(){
$("#viewer").height($(window).height() - 100);
});
 
$(document).ready(function() {
$("#viewer").iviewer({src: '../graphs/classes.svg', zoom_animation: false});
$('#viewer img').bind('dragstart', function(event){
event.preventDefault();
});
$(window).resize();
});
</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>&#160;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>&#160;Errors <span class="label label-info pull-right">54</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;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&#160;&#160;<i class="icon-upload icon-white"></i></a>-->
<!--</div>-->
</div>
 
<div id="___" class="container-fluid">
<div class="row-fluid">
<div class="span12">
<div class="wrapper">
<div id="viewer" class="viewer"></div>
</div>
</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 12th, 2014 at 16:55.
</section>
</section>
</section>
</footer>
</div>
 
</body>
</html>
/branches/v0.2-buhl/doc/PhpDoc/phpdoc-cache-4e/phpdoc-cache-file_81b2d36b4ec79f521cf2d553522e2a5f.dat
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v0.2-buhl/doc/PhpDoc/phpdoc-cache-4e/phpdoc-cache-file_81b2d36b4ec79f521cf2d553522e2a5f.dat
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v0.2-buhl/doc/PhpDoc/phpdoc-cache-9a/phpdoc-cache-file_93fb3191e18da5e5dd0648f61d92959e.dat
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v0.2-buhl/doc/PhpDoc/phpdoc-cache-9a/phpdoc-cache-file_93fb3191e18da5e5dd0648f61d92959e.dat
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v0.2-buhl/doc/PhpDoc/phpdoc-cache-f5/phpdoc-cache-file_f503dc934ce8ca1b9cd46ef44f1dd267.dat
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v0.2-buhl/doc/PhpDoc/phpdoc-cache-f5/phpdoc-cache-file_f503dc934ce8ca1b9cd46ef44f1dd267.dat
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v0.2-buhl/doc/PhpDoc/css/jquery.iviewer.css
New file
0,0 → 1,65
.viewer {
-ms-touch-action: none;
}
 
.iviewer_common {
position:absolute;
bottom:10px;
border: 1px solid #000;
height: 28px;
z-index: 5000;
}
 
.iviewer_cursor {
cursor: url(../images/iviewer/hand.cur) 6 8, pointer;
}
 
.iviewer_drag_cursor {
cursor: url(../images/iviewer/grab.cur) 6 8, pointer;
}
 
.iviewer_button {
width: 28px;
cursor: pointer;
background-position: center center;
background-repeat: no-repeat;
}
 
.iviewer_zoom_in {
left: 20px;
background: url(../images/iviewer/iviewer.zoom_in.png);
}
 
.iviewer_zoom_out {
left: 55px;
background: url(../images/iviewer/iviewer.zoom_out.png);
}
 
.iviewer_zoom_zero {
left: 90px;
background: url(../images/iviewer/iviewer.zoom_zero.png);
}
 
.iviewer_zoom_fit {
left: 125px;
background: url(../images/iviewer/iviewer.zoom_fit.png);
}
 
.iviewer_zoom_status {
left: 160px;
font: 1em/28px Sans;
color: #000;
background-color: #fff;
text-align: center;
width: 60px;
}
 
.iviewer_rotate_left {
left: 227px;
background: #fff url(../images/iviewer/iviewer.rotate_left.png) center center no-repeat;
}
 
.iviewer_rotate_right {
left: 262px;
background: #fff url(../images/iviewer/iviewer.rotate_right.png) center center no-repeat;
}
/branches/v0.2-buhl/doc/PhpDoc/css/phpdocumentor-clean-icons/fonts/phpdocumentor-clean-icons.dev.svg
New file
0,0 → 1,17
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
<metadata>
This is a custom SVG font generated by IcoMoon.
<iconset id="phpdocumentor-clean-icons" name="phpdocumentor-clean-icons" href="http://www.phpdoc.org" grid="16"></iconset><author name="Mike van Riel" href="http://www.mikevanriel.com"></author><license name="SIL"></license>
</metadata>
<defs>
<font id="phpdocumentor-clean-icons" horiz-adv-x="512" >
<font-face units-per-em="512" ascent="480" descent="-32" />
<missing-glyph horiz-adv-x="512" />
<glyph class="hidden" unicode="&#xf000;" d="M0,480L 512 -32L0 -32 z" horiz-adv-x="0" />
<glyph unicode="&#xe000;" d="M 139.636,456.727 C 75.171,456.727 23.273,404.829 23.273,340.364 l 0-232.727 c 0-64.465 51.898-116.364 116.364-116.364 l 232.727,0 c 64.465,0 116.364,51.898 116.364,116.364 L 488.727,340.364 C 488.727,404.829 436.829,456.727 372.364,456.727 L 139.636,456.727 z m 20.727-41.381 191.274,0 c 53.001,0 95.709-42.708 95.709-95.709 l 0-191.274 c 0-53.001 -42.708-95.709 -95.709-95.709 l -191.274,0 c -53.001,0 -95.709,42.708 -95.709,95.709 l 0,191.274 c 0,53.001 42.708,95.709 95.709,95.709 zM 359.963,366.827 m0,0,0-43.124 -84.271,0 0-231.052 -50.246,0 0,231.052 -84.271,0 0,43.124 218.787,0" data-tags="trait" />
<glyph unicode="&#xe001;" d="M 139.636,456.727 C 75.171,456.727 23.273,404.829 23.273,340.364 l 0-232.727 c 0-64.465 51.898-116.364 116.364-116.364 l 232.727,0 c 64.465,0 116.364,51.898 116.364,116.364 L 488.727,340.364 C 488.727,404.829 436.829,456.727 372.364,456.727 L 139.636,456.727 z m 20.727-41.381 191.274,0 c 53.001,0 95.709-42.708 95.709-95.709 l 0-191.274 c 0-53.001 -42.708-95.709 -95.709-95.709 l -191.274,0 c -53.001,0 -95.709,42.708 -95.709,95.709 l 0,191.274 c 0,53.001 42.708,95.709 95.709,95.709 zM 231.075,366.827 m0,0, 49.85,0 0-274.176 -49.85,0 0,274.176" data-tags="interface" />
<glyph unicode="&#xe002;" d="M 139.636,456.727 C 75.171,456.727 23.273,404.829 23.273,340.364 l 0-232.727 c 0-64.465 51.898-116.364 116.364-116.364 l 232.727,0 c 64.465,0 116.364,51.898 116.364,116.364 L 488.727,340.364 C 488.727,404.829 436.829,456.727 372.364,456.727 L 139.636,456.727 z m 20.727-41.381 191.274,0 c 53.001,0 95.709-42.708 95.709-95.709 l 0-191.274 c 0-53.001 -42.708-95.709 -95.709-95.709 l -191.274,0 c -53.001,0 -95.709,42.708 -95.709,95.709 l 0,191.274 c 0,53.001 42.708,95.709 95.709,95.709 zM 278.749,86.717 m0,0,c -20.573,0 -39.036,3.165 -55.389,9.495 -16.353,6.33 -30.2,15.562 -41.542,27.695 -11.342,12.397 -20.046,27.431 -26.112,45.103 -6.066,17.672 -9.1,37.981 -9.1,60.928 0,22.947 3.429,43.256 10.287,60.928 7.121,17.672 16.749,32.574 28.881,44.707 12.133,12.396 26.376,21.76 42.729,28.090 16.353,6.33 33.893,9.495 52.62,9.495 11.341,0 21.628-0.923 30.86-2.769 9.231-1.583 17.276-3.429 24.134-5.539 6.857-2.11 12.528-4.352 17.012-6.726 4.484-2.374 7.649-4.089 9.495-5.143 l -14.639-40.751 c -6.33,3.956 -15.43,7.649 -27.299,11.078 -11.606,3.692 -24.266,5.539 -37.981,5.539 -11.869,0 -22.947-2.11 -33.233-6.33 -10.287-3.957 -19.254-10.023 -26.903-18.199 -7.385-8.177 -13.188-18.463 -17.408-30.86 -4.22-12.397 -6.33-26.772 -6.33-43.124 0-14.507 1.582-27.827 4.748-39.959 3.429-12.133 8.572-22.683 15.43-31.651 6.858-8.704 15.562-15.562 26.112-20.573 10.55-4.748 23.211-7.122 37.981-7.121 17.672,0 32.046,1.714 43.124,5.143 11.078,3.693 19.65,7.121 25.716,10.287 l 13.452-40.751 c -3.165-2.11 -7.517-4.22 -13.056-6.33 -5.275-2.11 -11.606-4.22 -18.991-6.33 -7.385-1.846 -15.694-3.297 -24.925-4.352 -9.232-1.319 -19.123-1.978 -29.673-1.978" data-tags="class" />
<glyph unicode="&#x20;" horiz-adv-x="256" />
</font></defs></svg>
/branches/v0.2-buhl/doc/PhpDoc/css/phpdocumentor-clean-icons/fonts/phpdocumentor-clean-icons.ttf
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v0.2-buhl/doc/PhpDoc/css/phpdocumentor-clean-icons/fonts/phpdocumentor-clean-icons.ttf
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v0.2-buhl/doc/PhpDoc/css/phpdocumentor-clean-icons/fonts/phpdocumentor-clean-icons.svg
New file
0,0 → 1,17
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
<metadata>
This is a custom SVG font generated by IcoMoon.
<iconset id="phpdocumentor-clean-icons" name="phpdocumentor-clean-icons" href="http://www.phpdoc.org" grid="16"></iconset><author name="Mike van Riel" href="http://www.mikevanriel.com"></author><license name="SIL"></license>
</metadata>
<defs>
<font id="phpdocumentor-clean-icons" horiz-adv-x="512" >
<font-face units-per-em="512" ascent="480" descent="-32" />
<missing-glyph horiz-adv-x="512" />
<glyph class="hidden" unicode="&#xf000;" d="M0,480L 512 -32L0 -32 z" horiz-adv-x="0" />
<glyph unicode="&#xe000;" d="M 139.636,456.727 C 75.171,456.727 23.273,404.829 23.273,340.364 l 0-232.727 c 0-64.465 51.898-116.364 116.364-116.364 l 232.727,0 c 64.465,0 116.364,51.898 116.364,116.364 L 488.727,340.364 C 488.727,404.829 436.829,456.727 372.364,456.727 L 139.636,456.727 z m 20.727-41.381 191.274,0 c 53.001,0 95.709-42.708 95.709-95.709 l 0-191.274 c 0-53.001 -42.708-95.709 -95.709-95.709 l -191.274,0 c -53.001,0 -95.709,42.708 -95.709,95.709 l 0,191.274 c 0,53.001 42.708,95.709 95.709,95.709 zM 359.963,366.827 m0,0,0-43.124 -84.271,0 0-231.052 -50.246,0 0,231.052 -84.271,0 0,43.124 218.787,0" />
<glyph unicode="&#xe001;" d="M 139.636,456.727 C 75.171,456.727 23.273,404.829 23.273,340.364 l 0-232.727 c 0-64.465 51.898-116.364 116.364-116.364 l 232.727,0 c 64.465,0 116.364,51.898 116.364,116.364 L 488.727,340.364 C 488.727,404.829 436.829,456.727 372.364,456.727 L 139.636,456.727 z m 20.727-41.381 191.274,0 c 53.001,0 95.709-42.708 95.709-95.709 l 0-191.274 c 0-53.001 -42.708-95.709 -95.709-95.709 l -191.274,0 c -53.001,0 -95.709,42.708 -95.709,95.709 l 0,191.274 c 0,53.001 42.708,95.709 95.709,95.709 zM 231.075,366.827 m0,0, 49.85,0 0-274.176 -49.85,0 0,274.176" />
<glyph unicode="&#xe002;" d="M 139.636,456.727 C 75.171,456.727 23.273,404.829 23.273,340.364 l 0-232.727 c 0-64.465 51.898-116.364 116.364-116.364 l 232.727,0 c 64.465,0 116.364,51.898 116.364,116.364 L 488.727,340.364 C 488.727,404.829 436.829,456.727 372.364,456.727 L 139.636,456.727 z m 20.727-41.381 191.274,0 c 53.001,0 95.709-42.708 95.709-95.709 l 0-191.274 c 0-53.001 -42.708-95.709 -95.709-95.709 l -191.274,0 c -53.001,0 -95.709,42.708 -95.709,95.709 l 0,191.274 c 0,53.001 42.708,95.709 95.709,95.709 zM 278.749,86.717 m0,0,c -20.573,0 -39.036,3.165 -55.389,9.495 -16.353,6.33 -30.2,15.562 -41.542,27.695 -11.342,12.397 -20.046,27.431 -26.112,45.103 -6.066,17.672 -9.1,37.981 -9.1,60.928 0,22.947 3.429,43.256 10.287,60.928 7.121,17.672 16.749,32.574 28.881,44.707 12.133,12.396 26.376,21.76 42.729,28.090 16.353,6.33 33.893,9.495 52.62,9.495 11.341,0 21.628-0.923 30.86-2.769 9.231-1.583 17.276-3.429 24.134-5.539 6.857-2.11 12.528-4.352 17.012-6.726 4.484-2.374 7.649-4.089 9.495-5.143 l -14.639-40.751 c -6.33,3.956 -15.43,7.649 -27.299,11.078 -11.606,3.692 -24.266,5.539 -37.981,5.539 -11.869,0 -22.947-2.11 -33.233-6.33 -10.287-3.957 -19.254-10.023 -26.903-18.199 -7.385-8.177 -13.188-18.463 -17.408-30.86 -4.22-12.397 -6.33-26.772 -6.33-43.124 0-14.507 1.582-27.827 4.748-39.959 3.429-12.133 8.572-22.683 15.43-31.651 6.858-8.704 15.562-15.562 26.112-20.573 10.55-4.748 23.211-7.122 37.981-7.121 17.672,0 32.046,1.714 43.124,5.143 11.078,3.693 19.65,7.121 25.716,10.287 l 13.452-40.751 c -3.165-2.11 -7.517-4.22 -13.056-6.33 -5.275-2.11 -11.606-4.22 -18.991-6.33 -7.385-1.846 -15.694-3.297 -24.925-4.352 -9.232-1.319 -19.123-1.978 -29.673-1.978" />
<glyph unicode="&#x20;" horiz-adv-x="256" />
</font></defs></svg>
/branches/v0.2-buhl/doc/PhpDoc/css/phpdocumentor-clean-icons/fonts/phpdocumentor-clean-icons.woff
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v0.2-buhl/doc/PhpDoc/css/phpdocumentor-clean-icons/fonts/phpdocumentor-clean-icons.woff
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v0.2-buhl/doc/PhpDoc/css/phpdocumentor-clean-icons/fonts/phpdocumentor-clean-icons.eot
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v0.2-buhl/doc/PhpDoc/css/phpdocumentor-clean-icons/fonts/phpdocumentor-clean-icons.eot
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v0.2-buhl/doc/PhpDoc/css/phpdocumentor-clean-icons/Read Me.txt
New file
0,0 → 1,3
To modify your generated font, use the *dev.svg* file, located in the *fonts* folder in this package. You can import this dev.svg file to the IcoMoon app. All the tags (class names) and the Unicode points of your glyphs are saved in this file.
 
See the documentation for more info on how to use this package: http://icomoon.io/#docs/font-face
Property changes:
Added: svn:eol-style
+native
\ No newline at end of property
/branches/v0.2-buhl/doc/PhpDoc/css/phpdocumentor-clean-icons/lte-ie7.js
New file
0,0 → 1,30
/* Load this script using conditional IE comments if you need to support IE 7 and IE 6. */
 
window.onload = function() {
function addIcon(el, entity) {
var html = el.innerHTML;
el.innerHTML = '<span style="font-family: \'phpdocumentor-clean-icons\'">' + entity + '</span>' + html;
}
var icons = {
'icon-trait' : '&#xe000;',
'icon-interface' : '&#xe001;',
'icon-class' : '&#xe002;'
},
els = document.getElementsByTagName('*'),
i, attr, html, c, el;
for (i = 0; ; i += 1) {
el = els[i];
if(!el) {
break;
}
attr = el.getAttribute('data-icon');
if (attr) {
addIcon(el, attr);
}
c = el.className;
c = c.match(/icon-[^\s'"]+/);
if (c && icons[c[0]]) {
addIcon(el, icons[c[0]]);
}
}
};
/branches/v0.2-buhl/doc/PhpDoc/css/phpdocumentor-clean-icons/style.css
New file
0,0 → 1,48
@font-face {
font-family: 'phpdocumentor-clean-icons';
src:url('fonts/phpdocumentor-clean-icons.eot');
src:url('fonts/phpdocumentor-clean-icons.eot?#iefix') format('embedded-opentype'),
url('fonts/phpdocumentor-clean-icons.woff') format('woff'),
url('fonts/phpdocumentor-clean-icons.ttf') format('truetype'),
url('fonts/phpdocumentor-clean-icons.svg#phpdocumentor-clean-icons') format('svg');
font-weight: normal;
font-style: normal;
}
 
/* Use the following CSS code if you want to use data attributes for inserting your icons */
[data-icon]:before {
font-family: 'phpdocumentor-clean-icons';
content: attr(data-icon);
speak: none;
font-weight: normal;
font-variant: normal;
text-transform: none;
line-height: 1;
-webkit-font-smoothing: antialiased;
}
 
/* Use the following CSS code if you want to have a class per icon */
/*
Instead of a list of all class selectors,
you can use the generic selector below, but it's slower:
[class*="icon-"] {
*/
.icon-trait, .icon-interface, .icon-class {
font-family: 'phpdocumentor-clean-icons';
speak: none;
font-style: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
line-height: 1;
-webkit-font-smoothing: antialiased;
}
.icon-trait:before {
content: "\e000";
}
.icon-interface:before {
content: "\e001";
}
.icon-class:before {
content: "\e002";
}
/branches/v0.2-buhl/doc/PhpDoc/css/prism.css
New file
0,0 → 1,204
/**
* prism.js default theme for JavaScript, CSS and HTML
* Based on dabblet (http://dabblet.com)
* @author Lea Verou
*/
 
code[class*="language-"],
pre[class*="language-"] {
color: black;
text-shadow: 0 1px white;
font-family: Consolas, Monaco, 'Andale Mono', monospace;
direction: ltr;
text-align: left;
white-space: pre;
word-spacing: normal;
 
-moz-tab-size: 4;
-o-tab-size: 4;
tab-size: 4;
 
-webkit-hyphens: none;
-moz-hyphens: none;
-ms-hyphens: none;
hyphens: none;
}
 
::-moz-selection {
text-shadow: none;
background: #b3d4fc;
}
 
::selection {
text-shadow: none;
background: #b3d4fc;
}
 
@media print {
code[class*="language-"],
pre[class*="language-"] {
text-shadow: none;
}
}
 
/* Code blocks */
pre[class*="language-"] {
padding: 1em;
margin: .5em 0;
overflow: auto;
}
 
:not(pre) > code[class*="language-"],
pre[class*="language-"] {
background: #f5f2f0;
}
 
/* Inline code */
:not(pre) > code[class*="language-"] {
padding: .1em;
border-radius: .3em;
}
 
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
color: slategray;
}
 
.token.punctuation {
color: #999;
}
 
.namespace {
opacity: .7;
}
 
.token.property,
.token.tag,
.token.boolean,
.token.number {
color: #905;
}
 
.token.selector,
.token.attr-name,
.token.string {
color: #690;
}
 
.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string {
color: #a67f59;
background: hsla(0,0%,100%,.5);
}
 
.token.atrule,
.token.attr-value,
.token.keyword {
color: #07a;
}
 
 
.token.regex,
.token.important {
color: #e90;
}
 
.token.important {
font-weight: bold;
}
 
.token.entity {
cursor: help;
}
pre[data-line] {
position: relative;
padding: 1em 0 1em 3em;
}
 
.line-highlight {
position: absolute;
left: 0;
right: 0;
padding: inherit 0;
margin-top: 1em; /* Same as .prism’s padding-top */
 
background: hsla(24, 20%, 50%,.08);
background: -moz-linear-gradient(left, hsla(24, 20%, 50%,.1) 70%, hsla(24, 20%, 50%,0));
background: -webkit-linear-gradient(left, hsla(24, 20%, 50%,.1) 70%, hsla(24, 20%, 50%,0));
background: -o-linear-gradient(left, hsla(24, 20%, 50%,.1) 70%, hsla(24, 20%, 50%,0));
background: linear-gradient(left, hsla(24, 20%, 50%,.1) 70%, hsla(24, 20%, 50%,0));
pointer-events: none;
line-height: inherit;
white-space: pre;
}
 
.line-highlight:before,
.line-highlight[data-end]:after {
content: attr(data-start);
position: absolute;
top: .4em;
left: .6em;
min-width: 1em;
padding: 0 .5em;
background-color: hsla(24, 20%, 50%,.4);
color: hsl(24, 20%, 95%);
font: bold 65%/1.5 sans-serif;
text-align: center;
vertical-align: .3em;
border-radius: 999px;
text-shadow: none;
box-shadow: 0 1px white;
}
.line-highlight[data-end]:after {
content: attr(data-end);
top: auto;
bottom: .4em;
}
pre.line-numbers {
position: relative;
padding-left: 3.8em;
counter-reset: linenumber;
}
 
pre.line-numbers > code {
position: relative;
}
 
.line-numbers .line-numbers-rows {
position: absolute;
pointer-events: none;
top: 0;
font-size: 100%;
left: -3.8em;
width: 3em; /* works for line-numbers below 1000 lines */
letter-spacing: -1px;
border-right: 1px solid #999;
 
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
 
}
 
.line-numbers-rows > span {
pointer-events: none;
display: block;
counter-increment: linenumber;
}
 
.line-numbers-rows > span:before {
content: counter(linenumber);
color: #999;
display: block;
padding-right: 0.8em;
text-align: right;
}
/branches/v0.2-buhl/doc/PhpDoc/css/template.css
New file
0,0 → 1,418
@import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro);
@import url('phpdocumentor-clean-icons/style.css');
 
body {
padding-top: 40px;
background-color: #333333;
}
 
a {
color: #6495ed;
}
a.anchor {
height: 40px;
margin-top: -40px;
display: block;
}
 
h1, h2, h3, h4, h5, h6, .brand {
font-family: 'Source Sans Pro', sans-serif;
font-weight: normal;
letter-spacing: 0.05em;
}
 
h2, h3, .detailsbar h1 {
overflow: hidden;
white-space: nowrap;
margin: 30px 0 20px 0;
}
 
h2:after, h3:after, .detailsbar h1:after {
content: '';
display: inline-block;
vertical-align: middle;
width: 100%;
height: 2px;
margin-left: 1em;
background: silver;
}
 
h3 {
margin: 10px 0 20px 0;
}
 
h4 {
margin: 20px 0 10px 0;
color: gray;
font-size: 18.5px;
}
 
h3.public, h3.protected, h3.private {
padding-left: 10px;
text-overflow: ellipsis;
}
 
.table tr:first-of-type th, .table tr:first-of-type td {
border-top: none;
}
.detailsbar {
color: #eeeeee;
background-color: #333333;
font-size: 0.9em;
overflow: hidden;
border-left: 2px solid gray;
}
 
.detailsbar h1 {
font-size: 1.5em;
margin-bottom: 20px;
margin-top: 0;
}
 
.detailsbar h2 {
font-size: 1.2em;
margin: 0;
padding: 0;
}
 
.detailsbar h1:after {
background: gray;
}
.detailsbar h2:after, .detailsbar h3:after {
background: transparent;
}
 
.detailsbar dt {
font-variant: small-caps;
text-transform: lowercase;
font-size: 1.1em;
letter-spacing: 0.1em;
color: silver;
}
 
.hierarchy div:nth-of-type(2) { margin-left: 11px; }
.hierarchy div:nth-of-type(3) { margin-left: 22px; }
.hierarchy div:nth-of-type(4) { margin-left: 33px; }
.hierarchy div:nth-of-type(5) { margin-left: 44px; }
.hierarchy div:nth-of-type(6) { margin-left: 55px; }
.hierarchy div:nth-of-type(7) { margin-left: 66px; }
.hierarchy div:nth-of-type(8) { margin-left: 77px; }
.hierarchy div:nth-of-type(9) { margin-left: 88px; }
.hierarchy div:before {
content: "\f0da";
font-family: FontAwesome;
margin-right: 5px;
}
 
.row-fluid {
background-color: white;
overflow: hidden;
}
 
footer.row-fluid, footer.row-fluid * {
background-color: #333333;
color: white;
}
 
footer.row-fluid {
border-top: 2px dashed #555;
margin-top: 2px;
}
 
.footer-sections .span4 {
border: 2px solid #555;
text-align: center;
border-radius: 10px;
margin-top: 70px;
margin-bottom: 20px;
background: #373737;
}
 
.footer-sections .span4 h1 {
background: transparent;
margin-top: -30px;
margin-bottom: 20px;
font-size: 5em;
}
 
.footer-sections .span4 h1 * {
background: transparent;
}
 
.footer-sections .span4 div {
border-bottom-right-radius: 6px;
border-bottom-left-radius: 6px;
padding: 10px;
min-height: 40px;
}
.footer-sections .span4 div, .footer-sections .span4 div * {
background-color: #555;
}
.footer-sections .span4 ul {
text-align: left;
list-style: none;
margin: 0;
padding: 0;
}
 
.content {
background-color: white;
padding-right: 20px;
}
 
.content nav {
text-align: center;
border-bottom: 1px solid silver;
margin: 5px 0 20px 0;
padding-bottom: 5px;
}
 
.content > h1 {
padding-bottom: 15px;
}
 
.content > h1 small {
display: block;
padding-bottom: 8px;
font-size: 0.6em;
}
 
.deprecated {
text-decoration: line-through;
}
 
.method {
margin-bottom: 20px;
}
 
.method .signature .argument {
color: maroon;
font-weight: bold;
}
 
.class #summary section.row-fluid {
overflow: hidden
}
 
.class #summary .heading {
font-weight: bold;
text-align: center;
}
 
.class #summary section .span4 {
padding: 3px;
overflow: hidden;
margin-bottom: -9999px;
padding-bottom: 9999px;
white-space: nowrap;
text-overflow: ellipsis;
border-left: 5px solid transparent;
}
 
.class #summary section.public .span4:first-of-type:before,
.class #summary section.public .span6:first-of-type:before,
h3.public:before {
font-family: FontAwesome;
content: "\f046";
color: green;
display: inline-block;
width: 1.2em;
}
 
.class #summary section .span4:first-of-type,
.class #summary section .span6:first-of-type {
padding-left: 21px;
}
.class #summary section .span4:first-of-type:before,
.class #summary section .span6:first-of-type:before {
margin-left: -21px;
}
.class #summary section.protected .span4:first-of-type:before,
.class #summary section.protected .span6:first-of-type:before,
h3.protected:before {
font-family: FontAwesome;
content: "\f132";
color: orange;
display: inline-block;
width: 1.2em;
}
 
.class #summary section.private .span4:first-of-type:before,
.class #summary section.private .span6:first-of-type:before,
h3.private:before {
font-family: FontAwesome;
content: "\f023";
color: red;
display: inline-block;
width: 1.2em;
}
 
.class #summary section em {
font-size: 0.9em;
color: silver;
}
.class #summary .inherited {
color: gray;
font-style: italic;
}
 
.accordion-group {
border: none;
}
 
.accordion {
margin-bottom: 0;
}
 
.accordion a:hover {
text-decoration: none;
background: #333333;
color: #eeeeee;
}
 
.accordion-heading .accordion-toggle:before {
content: "\f078";
font-family: FontAwesome;
margin-right: 5px;
}
 
.accordion-heading .accordion-toggle.collapsed:before {
content: "\f054";
}
.accordion-heading .accordion-toggle {
float: left;
width: 16px;
height: 16px;
padding: 4px 2px 4px 12px;
}
.accordion-heading a {
display: block;
padding: 4px 12px;
}
 
.accordion-inner a {
display: block;
padding: 4px 12px;
}
 
.accordion-inner > ul a:before {
font-family: 'phpdocumentor-clean-icons';
content: "\e001";
margin-right: 5px;
}
 
.accordion-inner li.class a:before {
content: "\e002";
}
 
.accordion-inner li.interface a:before {
content: "\e001";
}
 
.accordion-inner li.trait a:before {
content: "\e000";
}
 
.accordion-inner {
padding: 4px 0 4px 12px;
}
.accordion-inner ul {
list-style: none;
padding: 0;
margin: 0;
}
 
.row-fluid .span2 {
width: 16.5%;
}
 
body .modal {
width: 90%; /* desired relative width */
left: 5%; /* (100%-width)/2 */
/* place center */
margin-left:auto;
margin-right:auto;
}
 
@media (min-width: 767px) {
.sidebar {
position: fixed;
top: 40px;
bottom: 0;
background-color: #f3f3f3;
left: 0;
border-right: 1px solid #e9e9e9;
overflow-y: scroll;
overflow-x: hidden;
padding-top: 10px;
}
 
.sidebar::-webkit-scrollbar {
width: 10px;
}
 
.sidebar::-webkit-scrollbar-thumb {
background: #cccccc;
background-clip: padding-box;
border: 3px solid #f3f3f3;
border-radius: 5px;
}
 
.sidebar::-webkit-scrollbar-button {
display: none;
}
 
.sidebar::-webkit-scrollbar-track {
background: #f3f3f3;
}
}
 
@media (max-width: 979px) {
body {
padding-top: 0;
}
}
 
@media (max-width: 767px) {
.class #summary .heading {
display: none;
}
 
.detailsbar h1 {
display: none;
}
 
body {
background-color: white;
}
 
footer.row-fluid, footer.row-fluid * {
background-color: white;
}
 
.footer-sections h1 {
color: #ccccd9;
}
 
.detailsbar {
background-color: white;
color: #333;
border: none;
}
}
 
@media (min-width: 767px) {
.detailsbar {
min-height: 100%;
margin-bottom: -99999px;
padding-bottom: 99999px;
padding-left: 20px;
padding-top: 10px;
}
}
 
@media (min-width: 1200px) {
.row-fluid .span2 {
width: 16.5%;
}
}
/branches/v0.2-buhl/doc/PhpDoc/phpdoc-cache-10/phpdoc-cache-file_c0a000a74ba9d6fbb1338a30824c0cfe.dat
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v0.2-buhl/doc/PhpDoc/phpdoc-cache-10/phpdoc-cache-file_c0a000a74ba9d6fbb1338a30824c0cfe.dat
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v0.2-buhl/doc/PhpDoc/classes/Url.html
New file
0,0 → 1,2157
<!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>&#160;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>&#160;Errors <span class="label label-info pull-right">54</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;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&#160;&#160;<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-231227172"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-231227172" 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/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 class">
<nav>
<a href="../namespaces/default.html">\</a> <i class="icon-level-up"></i>
</nav>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal"><i class="icon-code"></i></a>
 
<h1><small>\</small>Url</h1>
<p><em>classe Url, gérant le découpage des paramètres, leurs modification etc.</em></p>
<p>..
Traduction et conversion d'une classe (NET_Url2) issue de Pear</p>
 
<section id="summary">
<h2>Summary</h2>
<section class="row-fluid heading">
<section class="span4">
<a href="#methods">Methods</a>
</section>
<section class="span4">
<a href="#properties">Properties</a>
</section>
<section class="span4">
<a href="#constants">Constants</a>
</section>
</section>
<section class="row-fluid public">
<section class="span4">
<a href="../classes/Url.html#method___construct" class="">__construct()</a><br />
<a href="../classes/Url.html#method_getSchema" class="">getSchema()</a><br />
<a href="../classes/Url.html#method_setSchema" class="">setSchema()</a><br />
<a href="../classes/Url.html#method_getUtilisateur" class="">getUtilisateur()</a><br />
<a href="../classes/Url.html#method_getMotDePasse" class="">getMotDePasse()</a><br />
<a href="../classes/Url.html#method_getInfoUtilisateur" class="">getInfoUtilisateur()</a><br />
<a href="../classes/Url.html#method_setInfoUtilisateur" class="">setInfoUtilisateur()</a><br />
<a href="../classes/Url.html#method_getHote" class="">getHote()</a><br />
<a href="../classes/Url.html#method_setHote" class="">setHote()</a><br />
<a href="../classes/Url.html#method_getPort" class="">getPort()</a><br />
<a href="../classes/Url.html#method_setPort" class="">setPort()</a><br />
<a href="../classes/Url.html#method_getAutorite" class="">getAutorite()</a><br />
<a href="../classes/Url.html#method_setAutorite" class="">setAutorite()</a><br />
<a href="../classes/Url.html#method_getChemin" class="">getChemin()</a><br />
<a href="../classes/Url.html#method_setChemin" class="">setChemin()</a><br />
<a href="../classes/Url.html#method_getRequete" class="">getRequete()</a><br />
<a href="../classes/Url.html#method_setRequete" class="">setRequete()</a><br />
<a href="../classes/Url.html#method_getFragment" class="">getFragment()</a><br />
<a href="../classes/Url.html#method_setFragment" class="">setFragment()</a><br />
<a href="../classes/Url.html#method_getVariablesRequete" class="">getVariablesRequete()</a><br />
<a href="../classes/Url.html#method_setVariablesRequete" class="">setVariablesRequete()</a><br />
<a href="../classes/Url.html#method_setVariableRequete" class="">setVariableRequete()</a><br />
<a href="../classes/Url.html#method_unsetVariableRequete" class="">unsetVariableRequete()</a><br />
<a href="../classes/Url.html#method_unsetVariablesRequete" class="">unsetVariablesRequete()</a><br />
<a href="../classes/Url.html#method_getURL" class="">getURL()</a><br />
<a href="../classes/Url.html#method_getURLNormalisee" class="">getURLNormalisee()</a><br />
<a href="../classes/Url.html#method_normaliser" class="">normaliser()</a><br />
<a href="../classes/Url.html#method_etreAbsolue" class="">etreAbsolue()</a><br />
<a href="../classes/Url.html#method_resoudre" class="">resoudre()</a><br />
<a href="../classes/Url.html#method_getCanonique" class="">getCanonique()</a><br />
<a href="../classes/Url.html#method_getURLDemande" class="">getURLDemande()</a><br />
<a href="../classes/Url.html#method_getDemande" class="">getDemande()</a><br />
<a href="../classes/Url.html#method_setOption" class="">setOption()</a><br />
<a href="../classes/Url.html#method_getOption" class="">getOption()</a><br />
<a href="../classes/Url.html#method___toString" class="">__toString()</a><br />
</section>
<section class="span4">
<em>No public properties found</em>
</section>
<section class="span4">
<a href="../classes/Url.html#constant_OPTION_STRICTE" class="">OPTION_STRICTE</a><br />
<a href="../classes/Url.html#constant_OPTION_UTILISER_CROCHETS" class="">OPTION_UTILISER_CROCHETS</a><br />
<a href="../classes/Url.html#constant_OPTION_ENCODER_CLES" class="">OPTION_ENCODER_CLES</a><br />
<a href="../classes/Url.html#constant_OPTION_SEPARATEUR_ENTREE" class="">OPTION_SEPARATEUR_ENTREE</a><br />
<a href="../classes/Url.html#constant_OPTION_SEPARATEUR_SORTIE" class="">OPTION_SEPARATEUR_SORTIE</a><br />
</section>
</section>
<section class="row-fluid protected">
<section class="span4">
<em>No protected methods found</em>
</section>
<section class="span4">
<em>No protected properties found</em>
</section>
<section class="span4">
<em>N/A</em>
</section>
</section>
<section class="row-fluid private">
<section class="span4">
<a href="../classes/Url.html#method_supprimerSegmentsAPoints" class="">supprimerSegmentsAPoints()</a><br />
</section>
<section class="span4">
<a href="../classes/Url.html#property_options" class="">$options</a><br />
<a href="../classes/Url.html#property_schema" class="">$schema</a><br />
<a href="../classes/Url.html#property_infoUtilisateur" class="">$infoUtilisateur</a><br />
<a href="../classes/Url.html#property_hote" class="">$hote</a><br />
<a href="../classes/Url.html#property_port" class="">$port</a><br />
<a href="../classes/Url.html#property_chemin" class="">$chemin</a><br />
<a href="../classes/Url.html#property_requete" class="">$requete</a><br />
<a href="../classes/Url.html#property_fragment" class="">$fragment</a><br />
</section>
<section class="span4">
<em>N/A</em>
</section>
</section>
</section>
</div>
<aside class="span4 detailsbar">
<dl>
<dt>File</dt>
<dd><a href="../files/Url.php.html"><div class="path-wrapper">Url.php</div></a></dd>
<dt>Package</dt>
<dd><div class="namespace-wrapper">\Framework
// Auteur principal</div></dd>
<dt>Class hierarchy</dt>
<dd class="hierarchy">
<div class="namespace-wrapper">\Url</div>
</dd>
 
<dt>See also</dt>
<dd><a href="/doc/framework/"><div class="namespace-wrapper">/doc/framework/</div></a></dd>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
category
</th>
<td>
<p>Php5</p>
</td>
</tr>
<tr>
<th>
author
</th>
<td>
<p>Christian Schmidt <a href="mailto:schmidt@php.net">schmidt@php.net</a>
// Autre auteurs</p>
<p>Aurélien 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>
copyright
</th>
<td>
<p>2009 Tela-Botanica</p>
</td>
</tr>
<tr>
<th>
license
</th>
<td>
<p><a href="http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt">http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt</a> Licence CECILL</p>
<p><a href="http://www.gnu.org/licenses/gpl.html">http://www.gnu.org/licenses/gpl.html</a> Licence GNU-GPL</p>
</td>
</tr>
<tr>
<th>
version
</th>
<td>
</td>
</tr>
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<a id="constants" name="constants"></a>
<div class="row-fluid">
<div class="span8 content class">
<h2>Constants</h2>
</div>
<aside class="span4 detailsbar"></aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="constant_OPTION_STRICTE" name="constant_OPTION_STRICTE" class="anchor"></a>
<article id="constant_OPTION_STRICTE" class="constant">
<h3 class="">OPTION_STRICTE</h3>
<pre class="signature">OPTION_STRICTE</pre>
<p><em>Parsing strict dans resoudre() (voir RFC 3986, section 5.2.2). Par défaut
à true.</em></p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="constant_OPTION_UTILISER_CROCHETS" name="constant_OPTION_UTILISER_CROCHETS" class="anchor"></a>
<article id="constant_OPTION_UTILISER_CROCHETS" class="constant">
<h3 class="">OPTION_UTILISER_CROCHETS</h3>
<pre class="signature">OPTION_UTILISER_CROCHETS</pre>
<p><em>Répresenter les tableaux dans les requêtes en utilisant la notation php []. Par défaut à true.</em></p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="constant_OPTION_ENCODER_CLES" name="constant_OPTION_ENCODER_CLES" class="anchor"></a>
<article id="constant_OPTION_ENCODER_CLES" class="constant">
<h3 class="">OPTION_ENCODER_CLES</h3>
<pre class="signature">OPTION_ENCODER_CLES</pre>
<p><em>URL-encoder les clés des variables dans les requêtes. Par défaut à true.</em></p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="constant_OPTION_SEPARATEUR_ENTREE" name="constant_OPTION_SEPARATEUR_ENTREE" class="anchor"></a>
<article id="constant_OPTION_SEPARATEUR_ENTREE" class="constant">
<h3 class="">OPTION_SEPARATEUR_ENTREE</h3>
<pre class="signature">OPTION_SEPARATEUR_ENTREE</pre>
<p><em>Séparateurs de variables lors du parsing de la requête. Chaque caractère
est considéré comme un séparateur. Par défaut, spécifié par le paramêtre
arg_separator.input dans php.ini (par défaut &quot;&amp;&quot;).</em></p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="constant_OPTION_SEPARATEUR_SORTIE" name="constant_OPTION_SEPARATEUR_SORTIE" class="anchor"></a>
<article id="constant_OPTION_SEPARATEUR_SORTIE" class="constant">
<h3 class="">OPTION_SEPARATEUR_SORTIE</h3>
<pre class="signature">OPTION_SEPARATEUR_SORTIE</pre>
<p><em>Séparateur de variables lors de la génération de la requête. Par défaut, spécifié
par le paramètre arg_separator.output dans php.ini (par défaut &quot;&amp;&quot;).</em></p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<a id="properties" name="properties"></a>
<div class="row-fluid">
<div class="span8 content class">
<h2>Properties</h2>
</div>
<aside class="span4 detailsbar"></aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="property_options" name="property_options" class="anchor"></a>
<article class="property">
<h3 class="private ">$options</h3>
<pre class="signature">$options</pre>
<p><em>Options par défaut correspondant au comportement de php
vis à vis de $_GET</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="property_schema" name="property_schema" class="anchor"></a>
<article class="property">
<h3 class="private ">$schema</h3>
<pre class="signature">$schema : string|bool</pre>
<p><em></em></p>
 
<h4>Type</h4>
string|bool
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="property_infoUtilisateur" name="property_infoUtilisateur" class="anchor"></a>
<article class="property">
<h3 class="private ">$infoUtilisateur</h3>
<pre class="signature">$infoUtilisateur : string|bool</pre>
<p><em></em></p>
 
<h4>Type</h4>
string|bool
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="property_hote" name="property_hote" class="anchor"></a>
<article class="property">
<h3 class="private ">$hote</h3>
<pre class="signature">$hote : string|bool</pre>
<p><em></em></p>
 
<h4>Type</h4>
string|bool
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="property_port" name="property_port" class="anchor"></a>
<article class="property">
<h3 class="private ">$port</h3>
<pre class="signature">$port : int|bool</pre>
<p><em></em></p>
 
<h4>Type</h4>
int|bool
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="property_chemin" name="property_chemin" class="anchor"></a>
<article class="property">
<h3 class="private ">$chemin</h3>
<pre class="signature">$chemin : string</pre>
<p><em></em></p>
 
<h4>Type</h4>
string
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="property_requete" name="property_requete" class="anchor"></a>
<article class="property">
<h3 class="private ">$requete</h3>
<pre class="signature">$requete : string|bool</pre>
<p><em></em></p>
 
<h4>Type</h4>
string|bool
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="property_fragment" name="property_fragment" class="anchor"></a>
<article class="property">
<h3 class="private ">$fragment</h3>
<pre class="signature">$fragment : string|bool</pre>
<p><em></em></p>
 
<h4>Type</h4>
string|bool
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<a id="methods" name="methods"></a>
<div class="row-fluid">
<div class="span8 content class"><h2>Methods</h2></div>
<aside class="span4 detailsbar"></aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method___construct" name="method___construct" class="anchor"></a>
<article class="method">
<h3 class="public ">__construct()</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;">__construct(string <span class="argument">$url</span>, array <span class="argument">$options</span>)</pre>
<p><em></em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$url</td>
<td><p>une URL relative ou absolue</p></td>
</tr>
<tr>
<td>array</td>
<td>$options</td>
<td></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_getSchema" name="method_getSchema" class="anchor"></a>
<article class="method">
<h3 class="public ">getSchema()</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;">getSchema() : string|bool</pre>
<p><em>Retourne le schéma, c.a.d. &quot;http&quot; ou &quot;urn&quot;, ou false si aucun schéma n&#039;est
spécifié, i.e. l&#039;url est une url relative</em></p>
 
<h4>Returns</h4>
string|bool
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_setSchema" name="method_setSchema" class="anchor"></a>
<article class="method">
<h3 class="public ">setSchema()</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;">setSchema(string|bool <span class="argument">$schema</span>) : void</pre>
<p><em></em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string|bool</td>
<td>$schema</td>
<td></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
<dt>See also</dt>
<dd><a href=""><span class="namespace-wrapper"></span></a></dd>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_getUtilisateur" name="method_getUtilisateur" class="anchor"></a>
<article class="method">
<h3 class="public ">getUtilisateur()</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;">getUtilisateur() : string|bool</pre>
<p><em>renvoie la partie user de la partie infoUtilisateur (partie précédant le premier
&quot;:&quot;), ou false si aucune partie infoUtilisateur n&#039;est définie.</em></p>
 
<h4>Returns</h4>
string|bool
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_getMotDePasse" name="method_getMotDePasse" class="anchor"></a>
<article class="method">
<h3 class="public ">getMotDePasse()</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;">getMotDePasse() : string|bool</pre>
<p><em>renvoie la partie mot de passe de la partie infoUtilisateur (partie après le premier
&quot;:&quot;), , ou false si aucune partie infoUtilisateur n&#039;est définie (i.e. l&#039;URL ne contient
pas de &quot;@&quot; en face du nom d&#039;hôte) ou si la partie infoUtilisateur ne contient pas de &quot;:&quot;.</em></p>
 
<h4>Returns</h4>
string|bool
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_getInfoUtilisateur" name="method_getInfoUtilisateur" class="anchor"></a>
<article class="method">
<h3 class="public ">getInfoUtilisateur()</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;">getInfoUtilisateur() : string|bool</pre>
<p><em>Renvoie la partie userinfio, ou false si celle-ci n&#039;existe pas, i.e. si la partie
autorité ne contient pas de &quot;@&quot;</em></p>
 
<h4>Returns</h4>
string|bool
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_setInfoUtilisateur" name="method_setInfoUtilisateur" class="anchor"></a>
<article class="method">
<h3 class="public ">setInfoUtilisateur()</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;">setInfoUtilisateur(string|bool <span class="argument">$infoUtilisateur</span>, string|bool <span class="argument">$motDePasse</span>) : void</pre>
<p><em>Setteur pour la partie infoUtilisateur. Si deux argument sont passé, ils sont combinés
dans la partie infoUtilisateur de cette manière username &quot;:&quot; password.</em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string|bool</td>
<td>$infoUtilisateur</td>
<td><p>infoUtilisateur ou username</p></td>
</tr>
<tr>
<td>string|bool</td>
<td>$motDePasse</td>
<td></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_getHote" name="method_getHote" class="anchor"></a>
<article class="method">
<h3 class="public ">getHote()</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;">getHote() : string|bool</pre>
<p><em>Renvoie la partie hôte, ou false s&#039;il n&#039;y a pas de partie autorité, c.a.d.</em></p>
<p>l'URL est relative.</p>
 
<h4>Returns</h4>
string|bool
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_setHote" name="method_setHote" class="anchor"></a>
<article class="method">
<h3 class="public ">setHote()</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;">setHote(string|bool <span class="argument">$hote</span>) : void</pre>
<p><em></em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string|bool</td>
<td>$hote</td>
<td></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_getPort" name="method_getPort" class="anchor"></a>
<article class="method">
<h3 class="public ">getPort()</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;">getPort() : int|bool</pre>
<p><em>Renvoie le numéro de port, ou false si aucun numéro de port n&#039;est spécifié,
i.e. le port par défaut doit utilisé.</em></p>
 
<h4>Returns</h4>
int|bool
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_setPort" name="method_setPort" class="anchor"></a>
<article class="method">
<h3 class="public ">setPort()</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;">setPort(int|bool <span class="argument">$port</span>) : void</pre>
<p><em></em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>int|bool</td>
<td>$port</td>
<td></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_getAutorite" name="method_getAutorite" class="anchor"></a>
<article class="method">
<h3 class="public ">getAutorite()</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;">getAutorite() : string|bool</pre>
<p><em>Renvoie la partie autorité, i.e. [ infoUtilisateur &quot;@&quot; ] hote [ &quot;:&quot; port ], ou
false si celle-ci est absente.</em></p>
 
<h4>Returns</h4>
string|bool
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_setAutorite" name="method_setAutorite" class="anchor"></a>
<article class="method">
<h3 class="public ">setAutorite()</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;">setAutorite(string|false <span class="argument">$autorite</span>) : void</pre>
<p><em></em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string|false</td>
<td>$autorite</td>
<td></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_getChemin" name="method_getChemin" class="anchor"></a>
<article class="method">
<h3 class="public ">getChemin()</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;">getChemin() : string</pre>
<p><em>Renvoie la partie chemin (chemin) (éventuellement vide).</em></p>
 
<h4>Returns</h4>
string
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_setChemin" name="method_setChemin" class="anchor"></a>
<article class="method">
<h3 class="public ">setChemin()</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;">setChemin(string <span class="argument">$chemin</span>) : void</pre>
<p><em></em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$chemin</td>
<td></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_getRequete" name="method_getRequete" class="anchor"></a>
<article class="method">
<h3 class="public ">getRequete()</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;">getRequete() : string|bool</pre>
<p><em>renvoie la chaine de requête (requete string) (sans le premier &quot;?&quot;), ou false si &quot;?&quot;
n&#039;est pas présent dans l&#039;url.</em></p>
 
<h4>Returns</h4>
string|bool
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
<dt>See also</dt>
<dd><a href=""><span class="namespace-wrapper"></span></a></dd>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_setRequete" name="method_setRequete" class="anchor"></a>
<article class="method">
<h3 class="public ">setRequete()</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;">setRequete(string|bool <span class="argument">$requete</span>) : void</pre>
<p><em></em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string|bool</td>
<td>$requete</td>
<td></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
<dt>See also</dt>
<dd><a href=""><span class="namespace-wrapper"></span></a></dd>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_getFragment" name="method_getFragment" class="anchor"></a>
<article class="method">
<h3 class="public ">getFragment()</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;">getFragment() : string|bool</pre>
<p><em>Renvoie le nom du fragment, ou false si &quot;#&quot; n&#039;est pas present dans l&#039;URL.</em></p>
 
<h4>Returns</h4>
string|bool
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_setFragment" name="method_setFragment" class="anchor"></a>
<article class="method">
<h3 class="public ">setFragment()</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;">setFragment(string|bool <span class="argument">$fragment</span>) : void</pre>
<p><em></em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string|bool</td>
<td>$fragment</td>
<td></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_getVariablesRequete" name="method_getVariablesRequete" class="anchor"></a>
<article class="method">
<h3 class="public ">getVariablesRequete()</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;">getVariablesRequete() : array</pre>
<p><em>Renvoie la requete string sous forme d&#039;un tableau de variables telles qu&#039;elles apparaitraient
dans le $_GET d&#039;un script PHP</em></p>
 
<h4>Returns</h4>
array
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_setVariablesRequete" name="method_setVariablesRequete" class="anchor"></a>
<article class="method">
<h3 class="public ">setVariablesRequete()</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;">setVariablesRequete(array <span class="argument">$tableau</span>) : void</pre>
<p><em></em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>array</td>
<td>$tableau</td>
<td><p>(nom => valeur) tableau</p></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_setVariableRequete" name="method_setVariableRequete" class="anchor"></a>
<article class="method">
<h3 class="public ">setVariableRequete()</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;">setVariableRequete(string <span class="argument">$nom</span>, mixed <span class="argument">$valeur</span>) : array</pre>
<p><em></em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$nom</td>
<td></td>
</tr>
<tr>
<td>mixed</td>
<td>$valeur</td>
<td></td>
</tr>
</table>
<h4>Returns</h4>
array
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_unsetVariableRequete" name="method_unsetVariableRequete" class="anchor"></a>
<article class="method">
<h3 class="public ">unsetVariableRequete()</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;">unsetVariableRequete(string <span class="argument">$nom</span>) : void</pre>
<p><em></em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$nom</td>
<td></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_unsetVariablesRequete" name="method_unsetVariablesRequete" class="anchor"></a>
<article class="method">
<h3 class="public ">unsetVariablesRequete()</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;">unsetVariablesRequete(array <span class="argument">$noms</span>) : void</pre>
<p><em></em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>array</td>
<td>$noms</td>
<td><p>tableau des noms de variable à supprimer de l'url.</p></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_getURL" name="method_getURL" class="anchor"></a>
<article class="method">
<h3 class="public ">getURL()</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;">getURL() : string</pre>
<p><em>Renvoie un représentation sous forme de chaine de l&#039;URL</em></p>
 
<h4>Returns</h4>
string
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_getURLNormalisee" name="method_getURLNormalisee" class="anchor"></a>
<article class="method">
<h3 class="public ">getURLNormalisee()</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;">getURLNormalisee() : string</pre>
<p><em>Renvoie une représentation de cette URL sous forme de chaine normalisée. Utile pour la
comparaison d&#039;URLs</em></p>
 
<h4>Returns</h4>
string
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_normaliser" name="method_normaliser" class="anchor"></a>
<article class="method">
<h3 class="public ">normaliser()</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;">normaliser() : \Url</pre>
<p><em>Renvoie une instance normalisée de Url</em></p>
 
<h4>Returns</h4>
<a href="../classes/Url.html">\Url</a>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_etreAbsolue" name="method_etreAbsolue" class="anchor"></a>
<article class="method">
<h3 class="public ">etreAbsolue()</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;">etreAbsolue() : bool</pre>
<p><em>Renvoie vrai ou faux suivant que l&#039;instance en cours représente une URL relative ou absolue.</em></p>
 
<h4>Returns</h4>
bool
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_resoudre" name="method_resoudre" class="anchor"></a>
<article class="method">
<h3 class="public ">resoudre()</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;">resoudre(\Url|string <span class="argument">$reference</span>) : \Url</pre>
<p><em>Renvoie une instance de Url représentant une URL absolue relative à
cette URL.</em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td><a href="../classes/Url.html">\Url</a>|string</td>
<td>$reference</td>
<td><p>URL relative</p></td>
</tr>
</table>
<h4>Returns</h4>
<a href="../classes/Url.html">\Url</a>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_getCanonique" name="method_getCanonique" class="anchor"></a>
<article class="method">
<h3 class="public ">getCanonique()</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;">getCanonique() : string</pre>
<p><em>Renvoie une instance de Url representant l&#039;URL canonique du script PHP
en cours d&#039;éxécution</em></p>
 
<h4>Returns</h4>
string
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_getURLDemande" name="method_getURLDemande" class="anchor"></a>
<article class="method">
<h3 class="public ">getURLDemande()</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;">getURLDemande() : string</pre>
<p><em>Renvoie l&#039;URL utilisée pour récupérer la requête en cours</em></p>
 
<h4>Returns</h4>
string
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_getDemande" name="method_getDemande" class="anchor"></a>
<article class="method">
<h3 class="public ">getDemande()</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;">getDemande() : \Url</pre>
<p><em>Renvoie une instance de Url representant l&#039;URL utilisée pour
récupérer la requête en cours</em></p>
 
<h4>Returns</h4>
<a href="../classes/Url.html">\Url</a>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_setOption" name="method_setOption" class="anchor"></a>
<article class="method">
<h3 class="public ">setOption()</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;">setOption(string <span class="argument">$nomOption</span>, mixed <span class="argument">$valeur</span>) : void</pre>
<p><em>Met à jour la valeur de l&#039;option spécifiée.</em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$nomOption</td>
<td><p>une des constantes commençant par self::OPTION_</p></td>
</tr>
<tr>
<td>mixed</td>
<td>$valeur</td>
<td><p>valeur de l'option</p></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
<dt>See also</dt>
<dd><a href=""><span class="namespace-wrapper"></span></a></dd>
<dd><a href=""><span class="namespace-wrapper"></span></a></dd>
<dd><a href=""><span class="namespace-wrapper"></span></a></dd>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_getOption" name="method_getOption" class="anchor"></a>
<article class="method">
<h3 class="public ">getOption()</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;">getOption(string <span class="argument">$nomOption</span>) : mixed</pre>
<p><em>Renvoie la valeur de l&#039;option specifiée.</em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$nomOption</td>
<td><p>Nom de l'option demandée</p></td>
</tr>
</table>
<h4>Returns</h4>
mixed
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method___toString" name="method___toString" class="anchor"></a>
<article class="method">
<h3 class="public ">__toString()</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;">__toString()</pre>
<p><em></em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_supprimerSegmentsAPoints" name="method_supprimerSegmentsAPoints" class="anchor"></a>
<article class="method">
<h3 class="private ">supprimerSegmentsAPoints()</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;">supprimerSegmentsAPoints(string <span class="argument">$chemin</span>) : string</pre>
<p><em>La suppression des segments à points est décrite dans la RFC 3986, section 5.2.4, e.g.</em></p>
<p>"/foo/../bar/baz" => "/bar/baz"</p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$chemin</td>
<td><p>un chemin</p></td>
</tr>
</table>
<h4>Returns</h4>
string
&mdash; <p>un chemin</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</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">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="source-view-label">Url.php</h3>
</div>
<div class="modal-body">
<pre data-src="../files/Url.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 12th, 2014 at 16:55.
</section>
</section>
</section>
</footer>
</div>
 
</body>
</html>
/branches/v0.2-buhl/doc/PhpDoc/classes/Application.html
New file
0,0 → 1,627
<!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>&#160;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>&#160;Errors <span class="label label-info pull-right">54</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;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&#160;&#160;<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-1550595792"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-1550595792" 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/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 class">
<nav>
<a href="../namespaces/default.html">\</a> <i class="icon-level-up"></i>
</nav>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal"><i class="icon-code"></i></a>
 
<h1><small>\</small>Application</h1>
<p><em>Classe fournissant des informations au Framework sur l&#039;application.</em></p>
<p>PHP version 5</p>
 
<section id="summary">
<h2>Summary</h2>
<section class="row-fluid heading">
<section class="span4">
<a href="#methods">Methods</a>
</section>
<section class="span4">
<a href="#properties">Properties</a>
</section>
<section class="span4">
<a href="#constants">Constants</a>
</section>
</section>
<section class="row-fluid public">
<section class="span4">
<a href="../classes/Application.html#method_setChemin" class="">setChemin()</a><br />
<a href="../classes/Application.html#method_getChemin" class="">getChemin()</a><br />
<a href="../classes/Application.html#method_setInfo" class="">setInfo()</a><br />
<a href="../classes/Application.html#method_getInfo" class="">getInfo()</a><br />
</section>
<section class="span4">
<em>No public properties found</em>
</section>
<section class="span4">
<em>No constants found</em>
</section>
</section>
<section class="row-fluid protected">
<section class="span4">
<em>No protected methods found</em>
</section>
<section class="span4">
<em>No protected properties found</em>
</section>
<section class="span4">
<em>N/A</em>
</section>
</section>
<section class="row-fluid private">
<section class="span4">
<a href="../classes/Application.html#method_initialiser" class="">initialiser()</a><br />
</section>
<section class="span4">
<a href="../classes/Application.html#property_info" class="">$info</a><br />
<a href="../classes/Application.html#property_chemin" class="">$chemin</a><br />
</section>
<section class="span4">
<em>N/A</em>
</section>
</section>
</section>
</div>
<aside class="span4 detailsbar">
<dl>
<dt>File</dt>
<dd><a href="../files/Application.php.html"><div class="path-wrapper">Application.php</div></a></dd>
<dt>Package</dt>
<dd><div class="namespace-wrapper">\Framework
// Auteur principal :</div></dd>
<dt>Class hierarchy</dt>
<dd class="hierarchy">
<div class="namespace-wrapper">\Application</div>
</dd>
 
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
category
</th>
<td>
<p>Debogage</p>
</td>
</tr>
<tr>
<th>
author
</th>
<td>
<p>Jean-Pascal MILCENT <a href="mailto:jpm@tela-botanica.org">jpm@tela-botanica.org</a>
// Autres auteurs :</p>
</td>
</tr>
<tr>
<th>
license
</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>
</td>
</tr>
<tr>
<th>
version
</th>
<td>
<p>$Id: Application.php 456 2014-02-06 11:07:43Z jpm $</p>
</td>
</tr>
<tr>
<th>
copyright
</th>
<td>
<p>1999-2009 Tela Botanica (accueil@tela-botanica.org)</p>
</td>
</tr>
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<a id="properties" name="properties"></a>
<div class="row-fluid">
<div class="span8 content class">
<h2>Properties</h2>
</div>
<aside class="span4 detailsbar"></aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="property_info" name="property_info" class="anchor"></a>
<article class="property">
<h3 class="private ">$info</h3>
<pre class="signature">$info</pre>
<p><em>Tableau d&#039;informations sur l&#039;application</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="property_chemin" name="property_chemin" class="anchor"></a>
<article class="property">
<h3 class="private ">$chemin</h3>
<pre class="signature">$chemin</pre>
<p><em>Chemin de base de l&#039;application</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<a id="methods" name="methods"></a>
<div class="row-fluid">
<div class="span8 content class"><h2>Methods</h2></div>
<aside class="span4 detailsbar"></aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_setChemin" name="method_setChemin" class="anchor"></a>
<article class="method">
<h3 class="public ">setChemin()</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;">setChemin(string <span class="argument">$chemin_fichier_principal</span>)</pre>
<p><em>Permet d&#039;indiquer le chemin de base de l&#039;Application.</em></p>
<p>Cette méthode doit obligatoirement être utilisée par l'application pour que le Framework fonctionne correctement.</p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$chemin_fichier_principal</td>
<td><p>chemin de base</p></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_getChemin" name="method_getChemin" class="anchor"></a>
<article class="method">
<h3 class="public ">getChemin()</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;">getChemin() : string</pre>
<p><em>accesseur pour le chemin</em></p>
 
<h4>Returns</h4>
string
&mdash; <p>le chemin</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_setInfo" name="method_setInfo" class="anchor"></a>
<article class="method">
<h3 class="public ">setInfo()</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;">setInfo(array <span class="argument">$info</span>) : void</pre>
<p><em>Le tableau des informations sur l&#039;application possède les clés suivantes :
- nom : nom de l&#039;application
- abr : abréviation de l&#039;application
- encodage : encodage de l&#039;application (ISO-8859-15, UTF-8.</em></p>
<p>..)</p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>array</td>
<td>$info</td>
<td><p>tableau fournissant des informations sur l'application</p></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_getInfo" name="method_getInfo" class="anchor"></a>
<article class="method">
<h3 class="public ">getInfo()</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;">getInfo(string <span class="argument">$cle</span>)</pre>
<p><em>accesseur pour le tableau d&#039;infos</em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$cle</td>
<td><p>la clé à laquelle on veut accéder</p></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_initialiser" name="method_initialiser" class="anchor"></a>
<article class="method">
<h3 class="private ">initialiser()</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;">initialiser()</pre>
<p><em>Initialise différentes classes du Framework nécessaires pour le fonctionnement de l&#039;application.</em></p>
<p>Ces classes sont ensuites controlées via les fichiers de config.ini.
Elle est appelée automatiquement suite à la définition du chemin de l'application via Application::setChemin().</p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</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">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="source-view-label">Application.php</h3>
</div>
<div class="modal-body">
<pre data-src="../files/Application.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 12th, 2014 at 16:55.
</section>
</section>
</section>
</footer>
</div>
 
</body>
</html>
/branches/v0.2-buhl/doc/PhpDoc/classes/SquelettePhp.html
New file
0,0 → 1,460
<!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>&#160;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>&#160;Errors <span class="label label-info pull-right">54</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;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&#160;&#160;<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-1089514397"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-1089514397" 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/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 class">
<nav>
<a href="../namespaces/default.html">\</a> <i class="icon-level-up"></i>
</nav>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal"><i class="icon-code"></i></a>
 
<h1><small>\</small>SquelettePhp</h1>
<p><em>Classe SquelettePhp, traitant les squelette Php utilisant la syntaxe courte php ou pas.</em></p>
<p>Ces méthodes sont statiques.</p>
 
<section id="summary">
<h2>Summary</h2>
<section class="row-fluid heading">
<section class="span4">
<a href="#methods">Methods</a>
</section>
<section class="span4">
<a href="#properties">Properties</a>
</section>
<section class="span4">
<a href="#constants">Constants</a>
</section>
</section>
<section class="row-fluid public">
<section class="span4">
<a href="../classes/SquelettePhp.html#method_analyser" class="">analyser()</a><br />
</section>
<section class="span4">
<em>No public properties found</em>
</section>
<section class="span4">
<em>No constants found</em>
</section>
</section>
<section class="row-fluid protected">
<section class="span4">
<em>No protected methods found</em>
</section>
<section class="span4">
<em>No protected properties found</em>
</section>
<section class="span4">
<em>N/A</em>
</section>
</section>
<section class="row-fluid private">
<section class="span4">
<a href="../classes/SquelettePhp.html#method_traiterTagsCourts" class="">traiterTagsCourts()</a><br />
</section>
<section class="span4">
<em>No private properties found</em>
</section>
<section class="span4">
<em>N/A</em>
</section>
</section>
</section>
</div>
<aside class="span4 detailsbar">
<dl>
<dt>File</dt>
<dd><a href="../files/SquelettePhp.php.html"><div class="path-wrapper">SquelettePhp.php</div></a></dd>
<dt>Package</dt>
<dd><div class="namespace-wrapper">\Framework</div></dd>
<dt>Class hierarchy</dt>
<dd class="hierarchy">
<div class="namespace-wrapper">\SquelettePhp</div>
</dd>
 
<dt>See also</dt>
<dd><a href="/doc/framework/"><div class="namespace-wrapper">/doc/framework/</div></a></dd>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
category
</th>
<td>
<p>php5</p>
</td>
</tr>
<tr>
<th>
author
</th>
<td>
<p>Jean-Pascal MILCENT <a href="mailto:jpm@tela-botanica.org">jpm@tela-botanica.org</a></p>
</td>
</tr>
<tr>
<th>
copyright
</th>
<td>
<p>2010 Tela-Botanica</p>
</td>
</tr>
<tr>
<th>
license
</th>
<td>
<p><a href="http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt">http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt</a> Licence CECILL</p>
<p><a href="http://www.gnu.org/licenses/gpl.html">http://www.gnu.org/licenses/gpl.html</a> Licence GNU-GPL</p>
</td>
</tr>
<tr>
<th>
version
</th>
<td>
<p>SVN: $$Id: SquelettePhp.php 153 2010-03-04 10:48:32Z jpm $$</p>
</td>
</tr>
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<a id="methods" name="methods"></a>
<div class="row-fluid">
<div class="span8 content class"><h2>Methods</h2></div>
<aside class="span4 detailsbar"></aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_analyser" name="method_analyser" class="anchor"></a>
<article class="method">
<h3 class="public ">analyser()</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;">analyser(String <span class="argument">$fichier</span>, Array <span class="argument">$donnees</span>) : boolean</pre>
<p><em>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.</em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>String</td>
<td>$fichier</td>
<td><p>le chemin du fichier du squelette</p></td>
</tr>
<tr>
<td>Array</td>
<td>$donnees</td>
<td><p>un tableau associatif contenant les variables a injecter dans le squelette.</p></td>
</tr>
</table>
<h4>Returns</h4>
boolean
&mdash; <p>false si la vue n'existe pas, sinon la chaine résultat.</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_traiterTagsCourts" name="method_traiterTagsCourts" class="anchor"></a>
<article class="method">
<h3 class="private ">traiterTagsCourts()</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;">traiterTagsCourts(String <span class="argument">$chemin_squelette</span>) : string</pre>
<p><em>Fonction chargeant le contenu du squelette et remplaçant les tags court php (&lt;?= .</em></p>
<p>..) par un tag long avec echo.</p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>String</td>
<td>$chemin_squelette</td>
<td><p>le chemin du fichier du squelette</p></td>
</tr>
</table>
<h4>Returns</h4>
string
&mdash; <p>le contenu du fichier du squelette php avec les tags courts remplacés.</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</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">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="source-view-label">SquelettePhp.php</h3>
</div>
<div class="modal-body">
<pre data-src="../files/SquelettePhp.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 12th, 2014 at 16:55.
</section>
</section>
</section>
</footer>
</div>
 
</body>
</html>
/branches/v0.2-buhl/doc/PhpDoc/classes/Registre.html
New file
0,0 → 1,669
<!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>&#160;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>&#160;Errors <span class="label label-info pull-right">54</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;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&#160;&#160;<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-152390243"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-152390243" 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/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 class">
<nav>
<a href="../namespaces/default.html">\</a> <i class="icon-level-up"></i>
</nav>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal"><i class="icon-code"></i></a>
 
<h1><small>\</small>Registre</h1>
<p><em>Classe registre, qui permet un accès à différentes variables à travers les autres classes.</em></p>
<p>C'est un singleton</p>
<p>PHP Version 5</p>
 
<section id="summary">
<h2>Summary</h2>
<section class="row-fluid heading">
<section class="span4">
<a href="#methods">Methods</a>
</section>
<section class="span4">
<a href="#properties">Properties</a>
</section>
<section class="span4">
<a href="#constants">Constants</a>
</section>
</section>
<section class="row-fluid public">
<section class="span4">
<a href="../classes/Registre.html#method_getInstance" class="">getInstance()</a><br />
<a href="../classes/Registre.html#method_set" class="">set()</a><br />
<a href="../classes/Registre.html#method_get" class="">get()</a><br />
<a href="../classes/Registre.html#method_detruire" class="">detruire()</a><br />
<a href="../classes/Registre.html#method_existe" class="">existe()</a><br />
</section>
<section class="span4">
<em>No public properties found</em>
</section>
<section class="span4">
<em>No constants found</em>
</section>
</section>
<section class="row-fluid protected">
<section class="span4">
<em>No protected methods found</em>
</section>
<section class="span4">
<em>No protected properties found</em>
</section>
<section class="span4">
<em>N/A</em>
</section>
</section>
<section class="row-fluid private">
<section class="span4">
<a href="../classes/Registre.html#method___construct" class="">__construct()</a><br />
</section>
<section class="span4">
<a href="../classes/Registre.html#property_stockage" class="">$stockage</a><br />
<a href="../classes/Registre.html#property_registre" class="">$registre</a><br />
</section>
<section class="span4">
<em>N/A</em>
</section>
</section>
</section>
</div>
<aside class="span4 detailsbar">
<dl>
<dt>File</dt>
<dd><a href="../files/Registre.php.html"><div class="path-wrapper">Registre.php</div></a></dd>
<dt>Package</dt>
<dd><div class="namespace-wrapper">\Framework</div></dd>
<dt>Class hierarchy</dt>
<dd class="hierarchy">
<div class="namespace-wrapper">\Registre</div>
</dd>
 
<dt>See also</dt>
<dd><a href="/doc/framework/"><div class="namespace-wrapper">/doc/framework/</div></a></dd>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
category
</th>
<td>
<p>Class</p>
</td>
</tr>
<tr>
<th>
author
</th>
<td>
<p>Jean-Pascal Milcent <a href="mailto:jmp@tela-botanica.org">jmp@tela-botanica.org</a></p>
</td>
</tr>
<tr>
<th>
copyright
</th>
<td>
<p>2009 Tela-Botanica</p>
</td>
</tr>
<tr>
<th>
license
</th>
<td>
<p><a href="http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt">http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt</a> Licence CECILL</p>
<p><a href="http://www.gnu.org/licenses/gpl.html">http://www.gnu.org/licenses/gpl.html</a> Licence GNU-GPL</p>
</td>
</tr>
<tr>
<th>
version
</th>
<td>
<p>SVN: $$Id: Registre.php 120 2009-09-01 12:21:14Z aurelien $$</p>
</td>
</tr>
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<a id="properties" name="properties"></a>
<div class="row-fluid">
<div class="span8 content class">
<h2>Properties</h2>
</div>
<aside class="span4 detailsbar"></aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="property_stockage" name="property_stockage" class="anchor"></a>
<article class="property">
<h3 class="private ">$stockage</h3>
<pre class="signature">$stockage</pre>
<p><em>Tableau associatif stockant les variables</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="property_registre" name="property_registre" class="anchor"></a>
<article class="property">
<h3 class="private ">$registre</h3>
<pre class="signature">$registre</pre>
<p><em>La classe registre se contient elle-même, (pour le pattern singleton)</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<a id="methods" name="methods"></a>
<div class="row-fluid">
<div class="span8 content class"><h2>Methods</h2></div>
<aside class="span4 detailsbar"></aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_getInstance" name="method_getInstance" class="anchor"></a>
<article class="method">
<h3 class="public ">getInstance()</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;">getInstance()</pre>
<p><em>Fonction qui renvoie l&#039;instance de classe en assurant son unicité, c&#039;est l&#039;unique méthode qui doit être
utilisée pour récupérer l&#039;objet Registre</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_set" name="method_set" class="anchor"></a>
<article class="method">
<h3 class="public ">set()</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;">set( <span class="argument">$intitule</span>, <span class="argument">$objet</span>)</pre>
<p><em>Ajoute un objet au tableau selon un intitulé donné</em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td></td>
<td>$intitule</td>
<td></td>
</tr>
<tr>
<td></td>
<td>$objet</td>
<td></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_get" name="method_get" class="anchor"></a>
<article class="method">
<h3 class="public ">get()</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;">get( <span class="argument">$intitule</span>) : mixed</pre>
<p><em>Renvoie l&#039;objet associé à l&#039;intitulé donné en paramètre</em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td></td>
<td>$intitule</td>
<td></td>
</tr>
</table>
<h4>Returns</h4>
mixed
&mdash; <p>l'objet associé à l'intitulé ou null s'il n'est pas présent</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_detruire" name="method_detruire" class="anchor"></a>
<article class="method">
<h3 class="public ">detruire()</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;">detruire( <span class="argument">$intitule</span>)</pre>
<p><em>Détruit l&#039;objet associé à l&#039;intitulé, n&#039;a pas d&#039;effet si il n&#039;y a pas d&#039;objet associé</em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td></td>
<td>$intitule</td>
<td></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_existe" name="method_existe" class="anchor"></a>
<article class="method">
<h3 class="public ">existe()</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;">existe( <span class="argument">$intitule</span>) : boolean</pre>
<p><em>Teste si un objet est présent sous un intitulé donné</em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td></td>
<td>$intitule</td>
<td></td>
</tr>
</table>
<h4>Returns</h4>
boolean
&mdash; <p>true si un objet associé à cet intitulé est présent, false sinon</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method___construct" name="method___construct" class="anchor"></a>
<article class="method">
<h3 class="private ">__construct()</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;">__construct()</pre>
<p><em>Constructeur par défaut, privé, car on accède à la classe par le getInstance</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</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">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="source-view-label">Registre.php</h3>
</div>
<div class="modal-body">
<pre data-src="../files/Registre.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 12th, 2014 at 16:55.
</section>
</section>
</section>
</footer>
</div>
 
</body>
</html>
/branches/v0.2-buhl/doc/PhpDoc/classes/Chronometre.html
New file
0,0 → 1,593
<!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>&#160;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>&#160;Errors <span class="label label-info pull-right">54</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;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&#160;&#160;<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-461841465"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-461841465" 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/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 class">
<nav>
<a href="../namespaces/default.html">\</a> <i class="icon-level-up"></i>
</nav>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal"><i class="icon-code"></i></a>
 
<h1><small>\</small>Chronometre</h1>
<p><em>Classe Chronometre() - Permet de stocker et d&#039;afficher
les temps d&#039;éxécution de script.</em></p>
<p>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.</p>
<p>PHP Version 5</p>
 
<section id="summary">
<h2>Summary</h2>
<section class="row-fluid heading">
<section class="span4">
<a href="#methods">Methods</a>
</section>
<section class="span4">
<a href="#properties">Properties</a>
</section>
<section class="span4">
<a href="#constants">Constants</a>
</section>
</section>
<section class="row-fluid public">
<section class="span4">
<a href="../classes/Chronometre.html#method___construct" class="">__construct()</a><br />
<a href="../classes/Chronometre.html#method_getTemps" class="">getTemps()</a><br />
<a href="../classes/Chronometre.html#method_setTemps" class="">setTemps()</a><br />
<a href="../classes/Chronometre.html#method_afficherChrono" class="">afficherChrono()</a><br />
</section>
<section class="span4">
<em>No public properties found</em>
</section>
<section class="span4">
<em>No constants found</em>
</section>
</section>
<section class="row-fluid protected">
<section class="span4">
<em>No protected methods found</em>
</section>
<section class="span4">
<em>No protected properties found</em>
</section>
<section class="span4">
<em>N/A</em>
</section>
</section>
<section class="row-fluid private">
<section class="span4">
<em>No private methods found</em>
</section>
<section class="span4">
<a href="../classes/Chronometre.html#property__temps" class="">$_temps</a><br />
</section>
<section class="span4">
<em>N/A</em>
</section>
</section>
</section>
</div>
<aside class="span4 detailsbar">
<dl>
<dt>File</dt>
<dd><a href="../files/Chronometre.php.html"><div class="path-wrapper">Chronometre.php</div></a></dd>
<dt>Package</dt>
<dd><div class="namespace-wrapper">\Framework</div></dd>
<dt>Class hierarchy</dt>
<dd class="hierarchy">
<div class="namespace-wrapper">\Chronometre</div>
</dd>
 
<dt>See also</dt>
<dd><a href="/doc/framework/"><div class="namespace-wrapper">/doc/framework/</div></a></dd>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
category
</th>
<td>
<p>PHP</p>
</td>
</tr>
<tr>
<th>
author
</th>
<td>
<p>Jean-Pascal MILCENT <a href="mailto:jpm@tela-botanica.org">jpm@tela-botanica.org</a></p>
</td>
</tr>
<tr>
<th>
copyright
</th>
<td>
<p>2009 Tela-Botanica</p>
</td>
</tr>
<tr>
<th>
license
</th>
<td>
<p><a href="http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt">http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt</a> Licence CECILL</p>
</td>
</tr>
<tr>
<th>
version
</th>
<td>
<p>Release: <package_version></p>
</td>
</tr>
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<a id="properties" name="properties"></a>
<div class="row-fluid">
<div class="span8 content class">
<h2>Properties</h2>
</div>
<aside class="span4 detailsbar"></aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="property__temps" name="property__temps" class="anchor"></a>
<article class="property">
<h3 class="private ">$_temps</h3>
<pre class="signature">$_temps</pre>
<p><em></em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<a id="methods" name="methods"></a>
<div class="row-fluid">
<div class="span8 content class"><h2>Methods</h2></div>
<aside class="span4 detailsbar"></aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method___construct" name="method___construct" class="anchor"></a>
<article class="method">
<h3 class="public ">__construct()</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;">__construct()</pre>
<p><em>Constructeur : *</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_getTemps" name="method_getTemps" class="anchor"></a>
<article class="method">
<h3 class="public ">getTemps()</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;">getTemps(string <span class="argument">$cle</span>) : int</pre>
<p><em>Accesseurs :</em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$cle</td>
<td><p>la cle associée à un chronomètre particulier</p></td>
</tr>
</table>
<h4>Returns</h4>
int
&mdash; <p>le temps écoulé</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_setTemps" name="method_setTemps" class="anchor"></a>
<article class="method">
<h3 class="public ">setTemps()</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;">setTemps(\array() <span class="argument">$moment</span>) : null</pre>
<p><em>Setteur pour la variable temps</em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>\array()</td>
<td>$moment</td>
<td><p>ajoute des points de chronométrage au tableau _temps</p></td>
</tr>
</table>
<h4>Returns</h4>
null
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_afficherChrono" name="method_afficherChrono" class="anchor"></a>
<article class="method">
<h3 class="public ">afficherChrono()</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;">afficherChrono(int <span class="argument">$indentation_origine</span>, int <span class="argument">$indentation</span>) : string</pre>
<p><em>Méthode afficherChrono() -
Permet d&#039;afficher les temps d&#039;éxécution de différentes parties d&#039;un script.</em></p>
<p>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</p>
<h1>chrono {display:none;} dans la css. De cette façon,</h1>
<p>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 : $<em>CHRONO</em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>int</td>
<td>$indentation_origine</td>
<td><p>l'indentation de base.</p></td>
</tr>
<tr>
<td>int</td>
<td>$indentation</td>
<td><p>le pas d'indentation.</p></td>
</tr>
</table>
<h4>Returns</h4>
string
&mdash; <p>la chaine XHTML de mesure des temps.</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
author
</th>
<td>
<p>Loic d'Anterroches</p>
<p>Jean-Pascal MILCENT <a href="mailto:jpm@tela-botanica.org">jpm@tela-botanica.org</a></p>
</td>
</tr>
<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">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="source-view-label">Chronometre.php</h3>
</div>
<div class="modal-body">
<pre data-src="../files/Chronometre.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 12th, 2014 at 16:55.
</section>
</section>
</section>
</footer>
</div>
 
</body>
</html>
/branches/v0.2-buhl/doc/PhpDoc/classes/Config.html
New file
0,0 → 1,1038
<!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>&#160;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>&#160;Errors <span class="label label-info pull-right">54</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;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&#160;&#160;<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-1806433338"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-1806433338" 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/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 class">
<nav>
<a href="../namespaces/default.html">\</a> <i class="icon-level-up"></i>
</nav>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal"><i class="icon-code"></i></a>
 
<h1><small>\</small>Config</h1>
<p><em>Config permet de charger automatiquement les fichiers ini du Framework et de l&#039;application.</em></p>
<p>Elle offre l'accès en lecture seule aux paramètres de config.
C'est une Singleton.</p>
<p>PHP Version 5</p>
 
<section id="summary">
<h2>Summary</h2>
<section class="row-fluid heading">
<section class="span4">
<a href="#methods">Methods</a>
</section>
<section class="span4">
<a href="#properties">Properties</a>
</section>
<section class="span4">
<a href="#constants">Constants</a>
</section>
</section>
<section class="row-fluid public">
<section class="span4">
<a href="../classes/Config.html#method_charger" class="">charger()</a><br />
<a href="../classes/Config.html#method_get" class="">get()</a><br />
<a href="../classes/Config.html#method_existe" class="">existe()</a><br />
</section>
<section class="span4">
<em>No public properties found</em>
</section>
<section class="span4">
<em>No constants found</em>
</section>
</section>
<section class="row-fluid protected">
<section class="span4">
<em>No protected methods found</em>
</section>
<section class="span4">
<em>No protected properties found</em>
</section>
<section class="span4">
<em>N/A</em>
</section>
</section>
<section class="row-fluid private">
<section class="span4">
<a href="../classes/Config.html#method___construct" class="">__construct()</a><br />
<a href="../classes/Config.html#method_chargerFichierContexte" class="">chargerFichierContexte()</a><br />
<a href="../classes/Config.html#method_parserFichierIni" class="">parserFichierIni()</a><br />
<a href="../classes/Config.html#method_fusionner" class="">fusionner()</a><br />
<a href="../classes/Config.html#method_getValeur" class="">getValeur()</a><br />
<a href="../classes/Config.html#method_existeValeur" class="">existeValeur()</a><br />
<a href="../classes/Config.html#method_verifierCreationInstance" class="">verifierCreationInstance()</a><br />
<a href="../classes/Config.html#method_analyserTableauIni" class="">analyserTableauIni()</a><br />
<a href="../classes/Config.html#method_evaluerCle" class="">evaluerCle()</a><br />
<a href="../classes/Config.html#method_evaluerReferences" class="">evaluerReferences()</a><br />
<a href="../classes/Config.html#method_evaluerPhp" class="">evaluerPhp()</a><br />
</section>
<section class="span4">
<a href="../classes/Config.html#property_instance" class="">$instance</a><br />
<a href="../classes/Config.html#property_parametres" class="">$parametres</a><br />
</section>
<section class="span4">
<em>N/A</em>
</section>
</section>
</section>
</div>
<aside class="span4 detailsbar">
<dl>
<dt>File</dt>
<dd><a href="../files/Config.php.html"><div class="path-wrapper">Config.php</div></a></dd>
<dt>Package</dt>
<dd><div class="namespace-wrapper">\Framework</div></dd>
<dt>Class hierarchy</dt>
<dd class="hierarchy">
<div class="namespace-wrapper">\Config</div>
</dd>
 
<dt>See also</dt>
<dd><a href="/doc/framework/"><div class="namespace-wrapper">/doc/framework/</div></a></dd>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
category
</th>
<td>
<p>PHP</p>
</td>
</tr>
<tr>
<th>
author
</th>
<td>
<p>Jean-Pascal MILCENT <a href="mailto:jpm@tela-botanica.org">jpm@tela-botanica.org</a></p>
</td>
</tr>
<tr>
<th>
copyright
</th>
<td>
<p>2009 Tela-Botanica</p>
</td>
</tr>
<tr>
<th>
license
</th>
<td>
<p>GPL-v3 et CECILL-v2</p>
</td>
</tr>
<tr>
<th>
version
</th>
<td>
<p>SVN: <svn_id></p>
</td>
</tr>
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<a id="properties" name="properties"></a>
<div class="row-fluid">
<div class="span8 content class">
<h2>Properties</h2>
</div>
<aside class="span4 detailsbar"></aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="property_instance" name="property_instance" class="anchor"></a>
<article class="property">
<h3 class="private ">$instance</h3>
<pre class="signature">$instance</pre>
<p><em>instance de la classe pointant sur elle même (pour le pattern singleton)</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="property_parametres" name="property_parametres" class="anchor"></a>
<article class="property">
<h3 class="private ">$parametres</h3>
<pre class="signature">$parametres</pre>
<p><em>paramètres de configuration</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<a id="methods" name="methods"></a>
<div class="row-fluid">
<div class="span8 content class"><h2>Methods</h2></div>
<aside class="span4 detailsbar"></aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_charger" name="method_charger" class="anchor"></a>
<article class="method">
<h3 class="public ">charger()</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;">charger(string <span class="argument">$fichier_ini</span>) : array</pre>
<p><em>Charge un fichier ini dans le tableau des paramètres de l&#039;appli</em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$fichier_ini</td>
<td><p>le nom du fichier à charger</p></td>
</tr>
</table>
<h4>Returns</h4>
array
&mdash; <p>le fichier ini parsé</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_get" name="method_get" class="anchor"></a>
<article class="method">
<h3 class="public ">get()</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;">get(string <span class="argument">$param</span>) : string</pre>
<p><em>Acesseur pour la valeur d&#039;un paramètre</em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$param</td>
<td><p>le nom du paramètre</p></td>
</tr>
</table>
<h4>Returns</h4>
string
&mdash; <p>la valeur du paramètre</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_existe" name="method_existe" class="anchor"></a>
<article class="method">
<h3 class="public ">existe()</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;">existe(string <span class="argument">$param</span>) : boolean</pre>
<p><em>Vérifie si la valeur d&#039;un paramètre existe</em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$param</td>
<td><p>le nom du paramètre</p></td>
</tr>
</table>
<h4>Returns</h4>
boolean
&mdash; <p>vrai si le paramètre existe, false sinon</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method___construct" name="method___construct" class="anchor"></a>
<article class="method">
<h3 class="private ">__construct()</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;">__construct()</pre>
<p><em>Constructeur vide</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_chargerFichierContexte" name="method_chargerFichierContexte" class="anchor"></a>
<article class="method">
<h3 class="private ">chargerFichierContexte()</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;">chargerFichierContexte(string <span class="argument">$contexte</span>)</pre>
<p><em>Charge le fichier de config correspondant au contexte</em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$contexte</td>
<td><p>le contexte</p></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_parserFichierIni" name="method_parserFichierIni" class="anchor"></a>
<article class="method">
<h3 class="private ">parserFichierIni()</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;">parserFichierIni(string <span class="argument">$fichier_ini</span>) : array</pre>
<p><em>Parse le fichier ini donné en paramètre</em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$fichier_ini</td>
<td><p>nom du fichier ini à parser</p></td>
</tr>
</table>
<h4>Returns</h4>
array
&mdash; <p>tableau contenant les paramètres du fichier ini</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_fusionner" name="method_fusionner" class="anchor"></a>
<article class="method">
<h3 class="private ">fusionner()</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;">fusionner(array <span class="argument">$ini</span>)</pre>
<p><em>fusionne un tableau de paramètres avec le tableau de paramètres global</em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>array</td>
<td>$ini</td>
<td><p>le tableau à fusionner</p></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_getValeur" name="method_getValeur" class="anchor"></a>
<article class="method">
<h3 class="private ">getValeur()</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;">getValeur(string <span class="argument">$param</span>, array <span class="argument">$config</span>) : string</pre>
<p><em>renvoie la valeur demandé grâce une chaine de paramètres</em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$param</td>
<td><p>la chaine de paramètres</p></td>
</tr>
<tr>
<td>array</td>
<td>$config</td>
<td><p>le tableau de paramètre</p></td>
</tr>
</table>
<h4>Returns</h4>
string
&mdash; <p>la valeur de la chaine demandée</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_existeValeur" name="method_existeValeur" class="anchor"></a>
<article class="method">
<h3 class="private ">existeValeur()</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;">existeValeur(string <span class="argument">$param</span>, <span class="argument">$config</span>)</pre>
<p><em>Teste si param existe dans le tableau config</em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$param</td>
<td><p>nom du paramètre</p></td>
</tr>
<tr>
<td></td>
<td>$config</td>
<td></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_verifierCreationInstance" name="method_verifierCreationInstance" class="anchor"></a>
<article class="method">
<h3 class="private ">verifierCreationInstance()</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;">verifierCreationInstance()</pre>
<p><em>Vérifie si l&#039;instance de classe à été crée, si non la crée</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_analyserTableauIni" name="method_analyserTableauIni" class="anchor"></a>
<article class="method">
<h3 class="private ">analyserTableauIni()</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;">analyserTableauIni(array <span class="argument">$config</span>) : array</pre>
<p><em>analyse un tableau de paramètres</em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>array</td>
<td>$config</td>
<td><p>le tableau de paramètres</p></td>
</tr>
</table>
<h4>Returns</h4>
array
&mdash; <p>le tableau analysé</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_evaluerCle" name="method_evaluerCle" class="anchor"></a>
<article class="method">
<h3 class="private ">evaluerCle()</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;">evaluerCle(array <span class="argument">$config</span>, string <span class="argument">$cle</span>, string <span class="argument">$valeur</span>)</pre>
<p><em>dans le cas des chaine de configuration à sous clé (ex.: cle.souscle)
evalue les valeurs correspondantes et crée les sous tableaux associés</em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>array</td>
<td>$config</td>
<td><p>tableau de configuration (par référence)</p></td>
</tr>
<tr>
<td>string</td>
<td>$cle</td>
<td><p>la cle dans le tableau</p></td>
</tr>
<tr>
<td>string</td>
<td>$valeur</td>
<td><p>la valeur à affecter</p></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_evaluerReferences" name="method_evaluerReferences" class="anchor"></a>
<article class="method">
<h3 class="private ">evaluerReferences()</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;">evaluerReferences(array <span class="argument">$config</span>, string <span class="argument">$cle</span>)</pre>
<p><em>Evalue les valeurs de références à une clé dans le tableau config (cas du ref:cle)</em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>array</td>
<td>$config</td>
<td><p>tableau de configuration</p></td>
</tr>
<tr>
<td>string</td>
<td>$cle</td>
<td><p>la clé dont il faut évaluer les références</p></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_evaluerPhp" name="method_evaluerPhp" class="anchor"></a>
<article class="method">
<h3 class="private ">evaluerPhp()</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;">evaluerPhp(array <span class="argument">$config</span>, string <span class="argument">$cle</span>)</pre>
<p><em>Evalue le code php contenu dans un clé tu tableau config</em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>array</td>
<td>$config</td>
<td><p>tableau de configuration (par référence)</p></td>
</tr>
<tr>
<td>string</td>
<td>$cle</td>
<td><p>le clé du tableau dont il faut évaluer la valeur</p></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</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">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="source-view-label">Config.php</h3>
</div>
<div class="modal-body">
<pre data-src="../files/Config.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 12th, 2014 at 16:55.
</section>
</section>
</section>
</footer>
</div>
 
</body>
</html>
/branches/v0.2-buhl/doc/PhpDoc/classes/Modele.html
New file
0,0 → 1,1044
<!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>&#160;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>&#160;Errors <span class="label label-info pull-right">54</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;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&#160;&#160;<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-1082738804"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-1082738804" 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/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 class">
<nav>
<a href="../namespaces/default.html">\</a> <i class="icon-level-up"></i>
</nav>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal"><i class="icon-code"></i></a>
 
<h1><small>\</small>Modele</h1>
<p><em>Classe modèle, donc d&#039;accés au données, elle ne devrait pas être appelée de l&#039;extérieur.</em></p>
<p>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.</p>
<p>PHP Version 5</p>
 
<section id="summary">
<h2>Summary</h2>
<section class="row-fluid heading">
<section class="span4">
<a href="#methods">Methods</a>
</section>
<section class="span4">
<a href="#properties">Properties</a>
</section>
<section class="span4">
<a href="#constants">Constants</a>
</section>
</section>
<section class="row-fluid public">
<section class="span4">
<a href="../classes/Modele.html#method___construct" class="">__construct()</a><br />
<a href="../classes/Modele.html#method_initialiserProtocole" class="">initialiserProtocole()</a><br />
<a href="../classes/Modele.html#method___destruct" class="">__destruct()</a><br />
</section>
<section class="span4">
<em>No public properties found</em>
</section>
<section class="span4">
<em>No constants found</em>
</section>
</section>
<section class="row-fluid protected">
<section class="span4">
<a href="../classes/Modele.html#method_requete" class="">requete()</a><br />
<a href="../classes/Modele.html#method_requeteUn" class="">requeteUn()</a><br />
<a href="../classes/Modele.html#method_requeteTous" class="">requeteTous()</a><br />
<a href="../classes/Modele.html#method_proteger" class="">proteger()</a><br />
</section>
<section class="span4">
<em>No protected properties found</em>
</section>
<section class="span4">
<em>N/A</em>
</section>
</section>
<section class="row-fluid private">
<section class="span4">
<a href="../classes/Modele.html#method_connecter" class="">connecter()</a><br />
</section>
<section class="span4">
<a href="../classes/Modele.html#property_ASSOC" class="">$ASSOC</a><br />
<a href="../classes/Modele.html#property_OBJECT" class="">$OBJECT</a><br />
<a href="../classes/Modele.html#property_abstraction" class="">$abstraction</a><br />
<a href="../classes/Modele.html#property_registre" class="">$registre</a><br />
<a href="../classes/Modele.html#property_dsn" class="">$dsn</a><br />
<a href="../classes/Modele.html#property_type" class="">$type</a><br />
<a href="../classes/Modele.html#property_hote" class="">$hote</a><br />
<a href="../classes/Modele.html#property_bdd_nom" class="">$bdd_nom</a><br />
<a href="../classes/Modele.html#property_utilisateur" class="">$utilisateur</a><br />
<a href="../classes/Modele.html#property_pass" class="">$pass</a><br />
<a href="../classes/Modele.html#property_encodage" class="">$encodage</a><br />
<a href="../classes/Modele.html#property_connexion" class="">$connexion</a><br />
</section>
<section class="span4">
<em>N/A</em>
</section>
</section>
</section>
</div>
<aside class="span4 detailsbar">
<span class="label label-info">abstract</span>
<dl>
<dt>File</dt>
<dd><a href="../files/Modele.php.html"><div class="path-wrapper">Modele.php</div></a></dd>
<dt>Package</dt>
<dd><div class="namespace-wrapper">\Framework</div></dd>
<dt>Class hierarchy</dt>
<dd class="hierarchy">
<div class="namespace-wrapper">\Modele</div>
</dd>
 
<dt>See also</dt>
<dd><a href="/doc/framework/"><div class="namespace-wrapper">/doc/framework/</div></a></dd>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
category
</th>
<td>
<p>Class</p>
</td>
</tr>
<tr>
<th>
author
</th>
<td>
<p>aurelien <a href="mailto:aurelien@tela-botanica.org">aurelien@tela-botanica.org</a></p>
</td>
</tr>
<tr>
<th>
copyright
</th>
<td>
<p>2009 Tela-Botanica</p>
</td>
</tr>
<tr>
<th>
license
</th>
<td>
<p><a href="http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt">http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt</a> Licence CECILL</p>
<p><a href="http://www.gnu.org/licenses/gpl.html">http://www.gnu.org/licenses/gpl.html</a> Licence GNU-GPL</p>
</td>
</tr>
<tr>
<th>
version
</th>
<td>
<p>SVN: $$Id: Modele.php 426 2013-04-30 16:58:14Z jpm $$</p>
</td>
</tr>
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<a id="properties" name="properties"></a>
<div class="row-fluid">
<div class="span8 content class">
<h2>Properties</h2>
</div>
<aside class="span4 detailsbar"></aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="property_ASSOC" name="property_ASSOC" class="anchor"></a>
<article class="property">
<h3 class="private ">$ASSOC</h3>
<pre class="signature">$ASSOC</pre>
<p><em>Mode de fetch associatif</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="property_OBJECT" name="property_OBJECT" class="anchor"></a>
<article class="property">
<h3 class="private ">$OBJECT</h3>
<pre class="signature">$OBJECT</pre>
<p><em>Mode de fetch objet</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="property_abstraction" name="property_abstraction" class="anchor"></a>
<article class="property">
<h3 class="private ">$abstraction</h3>
<pre class="signature">$abstraction</pre>
<p><em>abstraction de base de données utilisée</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="property_registre" name="property_registre" class="anchor"></a>
<article class="property">
<h3 class="private ">$registre</h3>
<pre class="signature">$registre</pre>
<p><em>registre global</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="property_dsn" name="property_dsn" class="anchor"></a>
<article class="property">
<h3 class="private ">$dsn</h3>
<pre class="signature">$dsn</pre>
<p><em>DSN pour accéder à la base de données</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="property_type" name="property_type" class="anchor"></a>
<article class="property">
<h3 class="private ">$type</h3>
<pre class="signature">$type</pre>
<p><em>Type de base de données (mysql, mysqli, etc .</em></p>
<p>..)</p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="property_hote" name="property_hote" class="anchor"></a>
<article class="property">
<h3 class="private ">$hote</h3>
<pre class="signature">$hote</pre>
<p><em>Hote herbergeant la base de données</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="property_bdd_nom" name="property_bdd_nom" class="anchor"></a>
<article class="property">
<h3 class="private ">$bdd_nom</h3>
<pre class="signature">$bdd_nom</pre>
<p><em>Nom de la base de données à laquelle le modèle doit se connecter</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="property_utilisateur" name="property_utilisateur" class="anchor"></a>
<article class="property">
<h3 class="private ">$utilisateur</h3>
<pre class="signature">$utilisateur</pre>
<p><em>Nom d&#039;utilisateur</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="property_pass" name="property_pass" class="anchor"></a>
<article class="property">
<h3 class="private ">$pass</h3>
<pre class="signature">$pass</pre>
<p><em>Mot de passe</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="property_encodage" name="property_encodage" class="anchor"></a>
<article class="property">
<h3 class="private ">$encodage</h3>
<pre class="signature">$encodage</pre>
<p><em>Encodage de la base de données</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="property_connexion" name="property_connexion" class="anchor"></a>
<article class="property">
<h3 class="private ">$connexion</h3>
<pre class="signature">$connexion</pre>
<p><em>Connexion à la base de données</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<a id="methods" name="methods"></a>
<div class="row-fluid">
<div class="span8 content class"><h2>Methods</h2></div>
<aside class="span4 detailsbar"></aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method___construct" name="method___construct" class="anchor"></a>
<article class="method">
<h3 class="public ">__construct()</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;">__construct()</pre>
<p><em>Constructeur par défaut, appelé à l&#039;initialisation.</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_initialiserProtocole" name="method_initialiserProtocole" class="anchor"></a>
<article class="method">
<h3 class="public ">initialiserProtocole()</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;">initialiserProtocole()</pre>
<p><em>initialise les constantes de classe à leur bonne valeur
et lance une exception si le protocole n&#039;est pas bien défini</em></p>
 
<h4>Throws</h4>
<dl>
<dt>\Exception</dt>
<dd></dd>
</dl>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">final</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method___destruct" name="method___destruct" class="anchor"></a>
<article class="method">
<h3 class="public ">__destruct()</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;">__destruct()</pre>
<p><em>Destructeur de classe, se contente de fermer explicitement la connexion</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">final</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_requete" name="method_requete" class="anchor"></a>
<article class="method">
<h3 class="protected ">requete()</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;">requete( <span class="argument">$requete</span>) : \PDOStatement</pre>
<p><em>Fonction qui appelle la bonne fonction pour executer une requête suivant le type de bdd.</em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td></td>
<td>$requete</td>
<td></td>
</tr>
</table>
<h4>Returns</h4>
\PDOStatement
&mdash; <p>un objet contenant le résultat de la requête</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">final</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_requeteUn" name="method_requeteUn" class="anchor"></a>
<article class="method">
<h3 class="protected ">requeteUn()</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;">requeteUn( <span class="argument">$requete</span>, <span class="argument">$mode</span>)</pre>
<p><em></em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td></td>
<td>$requete</td>
<td></td>
</tr>
<tr>
<td></td>
<td>$mode</td>
<td></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">final</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_requeteTous" name="method_requeteTous" class="anchor"></a>
<article class="method">
<h3 class="protected ">requeteTous()</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;">requeteTous( <span class="argument">$requete</span>, <span class="argument">$mode</span>)</pre>
<p><em></em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td></td>
<td>$requete</td>
<td></td>
</tr>
<tr>
<td></td>
<td>$mode</td>
<td></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">final</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_proteger" name="method_proteger" class="anchor"></a>
<article class="method">
<h3 class="protected ">proteger()</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;">proteger( <span class="argument">$chaine</span>)</pre>
<p><em>protège une chaine de caractères avant l&#039;insertion dans la base de données</em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td></td>
<td>$chaine</td>
<td></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">final</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_connecter" name="method_connecter" class="anchor"></a>
<article class="method">
<h3 class="private ">connecter()</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;">connecter()</pre>
<p><em>Connection à la base de données en utilisant les informations fournies par
le fichier de configuration.</em></p>
<p>private et final car n'a pas vocation a être appelée par l'utilisateur.</p>
 
<h4>Throws</h4>
<dl>
<dt>\Exception</dt>
<dd><p>une exception dans le cas ou là connexion échoue</p></dd>
</dl>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">final</span>
<dl>
</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">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="source-view-label">Modele.php</h3>
</div>
<div class="modal-body">
<pre data-src="../files/Modele.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 12th, 2014 at 16:55.
</section>
</section>
</section>
</footer>
</div>
 
</body>
</html>
/branches/v0.2-buhl/doc/PhpDoc/classes/Debug.html
New file
0,0 → 1,695
<!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>&#160;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>&#160;Errors <span class="label label-info pull-right">54</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;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&#160;&#160;<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-1887367903"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-1887367903" 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/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 class">
<nav>
<a href="../namespaces/default.html">\</a> <i class="icon-level-up"></i>
</nav>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal"><i class="icon-code"></i></a>
 
<h1><small>\</small>Debug</h1>
<p><em>Classe fournissant des fonctions de débogage équivalante à var_dump et print_r.</em></p>
<p>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.</p>
<p>PHP version 5</p>
 
<section id="summary">
<h2>Summary</h2>
<section class="row-fluid heading">
<section class="span4">
<a href="#methods">Methods</a>
</section>
<section class="span4">
<a href="#properties">Properties</a>
</section>
<section class="span4">
<a href="#constants">Constants</a>
</section>
</section>
<section class="row-fluid public">
<section class="span4">
<a href="../classes/Debug.html#method_getMode" class="">getMode()</a><br />
<a href="../classes/Debug.html#method_dump" class="">dump()</a><br />
<a href="../classes/Debug.html#method_printr" class="">printr()</a><br />
</section>
<section class="span4">
<em>No public properties found</em>
</section>
<section class="span4">
<em>No constants found</em>
</section>
</section>
<section class="row-fluid protected">
<section class="span4">
<em>No protected methods found</em>
</section>
<section class="span4">
<a href="../classes/Debug.html#property_mode" class="">$mode</a><br />
</section>
<section class="span4">
<em>N/A</em>
</section>
</section>
<section class="row-fluid private">
<section class="span4">
<a href="../classes/Debug.html#method_traiterDebogage" class="">traiterDebogage()</a><br />
<a href="../classes/Debug.html#method_formaterMotCle" class="">formaterMotCle()</a><br />
<a href="../classes/Debug.html#method_traiterSortieSuivantMode" class="">traiterSortieSuivantMode()</a><br />
</section>
<section class="span4">
<em>No private properties found</em>
</section>
<section class="span4">
<em>N/A</em>
</section>
</section>
</section>
</div>
<aside class="span4 detailsbar">
<dl>
<dt>File</dt>
<dd><a href="../files/Debug.php.html"><div class="path-wrapper">Debug.php</div></a></dd>
<dt>Package</dt>
<dd><div class="namespace-wrapper">\Framework
// Auteur principal :</div></dd>
<dt>Class hierarchy</dt>
<dd class="hierarchy">
<div class="namespace-wrapper">\Debug</div>
</dd>
 
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
category
</th>
<td>
<p>Debogage</p>
</td>
</tr>
<tr>
<th>
author
</th>
<td>
<p>Jean-Pascal MILCENT <a href="mailto:jpm@tela-botanica.org">jpm@tela-botanica.org</a>
// Autres auteurs :</p>
</td>
</tr>
<tr>
<th>
license
</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>
</td>
</tr>
<tr>
<th>
version
</th>
<td>
<p>$$Id: Debug.php 167 2010-03-19 17:12:08Z jpm $$</p>
</td>
</tr>
<tr>
<th>
copyright
</th>
<td>
<p>1999-2009 Tela Botanica (accueil@tela-botanica.org)</p>
</td>
</tr>
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<a id="properties" name="properties"></a>
<div class="row-fluid">
<div class="span8 content class">
<h2>Properties</h2>
</div>
<aside class="span4 detailsbar"></aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="property_mode" name="property_mode" class="anchor"></a>
<article class="property">
<h3 class="protected ">$mode</h3>
<pre class="signature">$mode</pre>
<p><em>mode de php (cli ou sapi)</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<a id="methods" name="methods"></a>
<div class="row-fluid">
<div class="span8 content class"><h2>Methods</h2></div>
<aside class="span4 detailsbar"></aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_getMode" name="method_getMode" class="anchor"></a>
<article class="method">
<h3 class="public ">getMode()</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;">getMode() : string</pre>
<p><em>Accesseur pour le mode</em></p>
 
<h4>Returns</h4>
string
&mdash; <p>le mode de php</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_dump" name="method_dump" class="anchor"></a>
<article class="method">
<h3 class="public ">dump()</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;">dump(mixed <span class="argument">$variable</span>, string <span class="argument">$mot_cle</span>, boolean <span class="argument">$echo</span>) : string</pre>
<p><em>Equivalent de var_dump</em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>mixed</td>
<td>$variable</td>
<td><p>la variable à dumper</p></td>
</tr>
<tr>
<td>string</td>
<td>$mot_cle</td>
<td><p>le mot cle à associer à la variable</p></td>
</tr>
<tr>
<td>boolean</td>
<td>$echo</td>
<td><p>si true on affiche le résultat, si false on ne renvoie que la chaine sans l'afficher</p></td>
</tr>
</table>
<h4>Returns</h4>
string
&mdash; <p>la chaine à afficher representant le dump ou null si echo</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_printr" name="method_printr" class="anchor"></a>
<article class="method">
<h3 class="public ">printr()</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;">printr(mixed <span class="argument">$variable</span>, string <span class="argument">$mot_cle</span>, boolean <span class="argument">$echo</span>) : string</pre>
<p><em>Equivalent de print_r</em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>mixed</td>
<td>$variable</td>
<td><p>la variable à afficher</p></td>
</tr>
<tr>
<td>string</td>
<td>$mot_cle</td>
<td><p>le mot cle à associer</p></td>
</tr>
<tr>
<td>boolean</td>
<td>$echo</td>
<td><p>faire un echo ou non</p></td>
</tr>
</table>
<h4>Returns</h4>
string
&mdash; <p>la chaine contenant la variable printée ou null si echo</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_traiterDebogage" name="method_traiterDebogage" class="anchor"></a>
<article class="method">
<h3 class="private ">traiterDebogage()</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;">traiterDebogage(string <span class="argument">$mot_cle</span>, string <span class="argument">$sortie</span>, boolean <span class="argument">$echo</span>) : string</pre>
<p><em>Traite une chaine de débogage et les mots clés associés</em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$mot_cle</td>
<td><p>le mot à associer à la chaine</p></td>
</tr>
<tr>
<td>string</td>
<td>$sortie</td>
<td><p>le chaine de debogage</p></td>
</tr>
<tr>
<td>boolean</td>
<td>$echo</td>
<td><p>faire un echo du resultat ou non</p></td>
</tr>
</table>
<h4>Returns</h4>
string
&mdash; <p>la chaine de debogage formatée ou bien null si echo</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_formaterMotCle" name="method_formaterMotCle" class="anchor"></a>
<article class="method">
<h3 class="private ">formaterMotCle()</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;">formaterMotCle(string <span class="argument">$mot_cle</span>) : string</pre>
<p><em>formate un mot clé donné</em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$mot_cle</td>
<td><p>le mot clé à formaté</p></td>
</tr>
</table>
<h4>Returns</h4>
string
&mdash; <p>le mot clé formaté ou bien un chaine vide le mot clé est null ou vide</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_traiterSortieSuivantMode" name="method_traiterSortieSuivantMode" class="anchor"></a>
<article class="method">
<h3 class="private ">traiterSortieSuivantMode()</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;">traiterSortieSuivantMode(string <span class="argument">$mot_cle</span>, string <span class="argument">$sortie</span>) : string</pre>
<p><em>traite la sortie de la chaine de débogage suivant le mode de php</em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$mot_cle</td>
<td><p>le mot clé associé à la chaine</p></td>
</tr>
<tr>
<td>string</td>
<td>$sortie</td>
<td><p>la chaine de débogage</p></td>
</tr>
</table>
<h4>Returns</h4>
string
&mdash; <p>la sortie formatée pour le mode en cours</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</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">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="source-view-label">Debug.php</h3>
</div>
<div class="modal-body">
<pre data-src="../files/Debug.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 12th, 2014 at 16:55.
</section>
</section>
</section>
</footer>
</div>
 
</body>
</html>
/branches/v0.2-buhl/doc/PhpDoc/classes/GestionnaireException.html
New file
0,0 → 1,1158
<!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>&#160;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>&#160;Errors <span class="label label-info pull-right">54</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;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&#160;&#160;<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-921820162"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-921820162" 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/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 class">
<nav>
<a href="../namespaces/default.html">\</a> <i class="icon-level-up"></i>
</nav>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal"><i class="icon-code"></i></a>
 
<h1><small>\</small>GestionnaireException</h1>
<p><em>Classe de gestion des exceptions.</em></p>
<p>C'est un Singleton.</p>
 
<section id="summary">
<h2>Summary</h2>
<section class="row-fluid heading">
<section class="span4">
<a href="#methods">Methods</a>
</section>
<section class="span4">
<a href="#properties">Properties</a>
</section>
<section class="span4">
<a href="#constants">Constants</a>
</section>
</section>
<section class="row-fluid public">
<section class="span4">
<a href="../classes/GestionnaireException.html#method_initialiser" class="">initialiser()</a><br />
<a href="../classes/GestionnaireException.html#method_configurer" class="">configurer()</a><br />
<a href="../classes/GestionnaireException.html#method_getExceptionsNbre" class="">getExceptionsNbre()</a><br />
<a href="../classes/GestionnaireException.html#method_getContexte" class="">getContexte()</a><br />
<a href="../classes/GestionnaireException.html#method_setContexte" class="">setContexte()</a><br />
<a href="../classes/GestionnaireException.html#method_gererException" class="">gererException()</a><br />
<a href="../classes/GestionnaireException.html#method_gererErreur" class="">gererErreur()</a><br />
<a href="../classes/GestionnaireException.html#method_getExceptions" class="deprecated">getExceptions()</a><br />
<a href="../classes/GestionnaireException.html#method_getExceptionsFormatees" class="">getExceptionsFormatees()</a><br />
<a href="../classes/GestionnaireException.html#method_getExceptionsTriees" class="">getExceptionsTriees()</a><br />
<a href="../classes/GestionnaireException.html#method_formaterExceptionTxt" class="">formaterExceptionTxt()</a><br />
<a href="../classes/GestionnaireException.html#method_formaterExceptionXhtml" class="">formaterExceptionXhtml()</a><br />
<a href="../classes/GestionnaireException.html#method___destruct" class="">__destruct()</a><br />
</section>
<section class="span4">
<em>No public properties found</em>
</section>
<section class="span4">
<a href="../classes/GestionnaireException.html#constant_MODE_CLI" class="">MODE_CLI</a><br />
</section>
</section>
<section class="row-fluid protected">
<section class="span4">
<em>No protected methods found</em>
</section>
<section class="span4">
<em>No protected properties found</em>
</section>
<section class="span4">
<em>N/A</em>
</section>
</section>
<section class="row-fluid private">
<section class="span4">
<a href="../classes/GestionnaireException.html#method_loggerException" class="">loggerException()</a><br />
</section>
<section class="span4">
<a href="../classes/GestionnaireException.html#property_exceptions" class="">$exceptions</a><br />
<a href="../classes/GestionnaireException.html#property_contexte" class="">$contexte</a><br />
<a href="../classes/GestionnaireException.html#property_logger" class="">$logger</a><br />
<a href="../classes/GestionnaireException.html#property_afficher" class="">$afficher</a><br />
<a href="../classes/GestionnaireException.html#property_mode" class="">$mode</a><br />
</section>
<section class="span4">
<em>N/A</em>
</section>
</section>
</section>
</div>
<aside class="span4 detailsbar">
<dl>
<dt>File</dt>
<dd><a href="../files/GestionnaireException.php.html"><div class="path-wrapper">GestionnaireException.php</div></a></dd>
<dt>Package</dt>
<dd><div class="namespace-wrapper">\Framework</div></dd>
<dt>Class hierarchy</dt>
<dd class="hierarchy">
<div class="namespace-wrapper">\GestionnaireException</div>
</dd>
 
<dt>See also</dt>
<dd><a href="/doc/framework/"><div class="namespace-wrapper">/doc/framework/</div></a></dd>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
category
</th>
<td>
<p>PHP 5.2</p>
</td>
</tr>
<tr>
<th>
author
</th>
<td>
<p>Aurélien PERONNET <a href="mailto:aurelien@tela-botanica.org">aurelien@tela-botanica.org</a></p>
<p>Jean-Pascal MILCENT <a href="mailto:jmp@tela-botanica.org">jmp@tela-botanica.org</a></p>
</td>
</tr>
<tr>
<th>
copyright
</th>
<td>
<p>Copyright (c) 2009, Tela Botanica (accueil@tela-botanica.org)</p>
</td>
</tr>
<tr>
<th>
license
</th>
<td>
<p><a href="http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt">http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt</a> Licence CECILL</p>
<p><a href="http://www.gnu.org/licenses/gpl.html">http://www.gnu.org/licenses/gpl.html</a> Licence GNU-GPL</p>
</td>
</tr>
<tr>
<th>
version
</th>
<td>
<p>$Id: GestionnaireException.php 342 2011-06-06 13:58:53Z jpm $$</p>
</td>
</tr>
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<a id="constants" name="constants"></a>
<div class="row-fluid">
<div class="span8 content class">
<h2>Constants</h2>
</div>
<aside class="span4 detailsbar"></aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="constant_MODE_CLI" name="constant_MODE_CLI" class="anchor"></a>
<article id="constant_MODE_CLI" class="constant">
<h3 class="">MODE_CLI</h3>
<pre class="signature">MODE_CLI</pre>
<p><em></em></p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<a id="properties" name="properties"></a>
<div class="row-fluid">
<div class="span8 content class">
<h2>Properties</h2>
</div>
<aside class="span4 detailsbar"></aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="property_exceptions" name="property_exceptions" class="anchor"></a>
<article class="property">
<h3 class="private ">$exceptions</h3>
<pre class="signature">$exceptions</pre>
<p><em>Liste des exceptions enregistrées</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="property_contexte" name="property_contexte" class="anchor"></a>
<article class="property">
<h3 class="private ">$contexte</h3>
<pre class="signature">$contexte</pre>
<p><em>Détermine si l&#039;on affiche ou non le contexte</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="property_logger" name="property_logger" class="anchor"></a>
<article class="property">
<h3 class="private ">$logger</h3>
<pre class="signature">$logger</pre>
<p><em>Détermine si l&#039;on loggue ou non les erreurs</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="property_afficher" name="property_afficher" class="anchor"></a>
<article class="property">
<h3 class="private ">$afficher</h3>
<pre class="signature">$afficher</pre>
<p><em>Détermine si l&#039;affichage des erreurs est forcé (true) ou pas (false) à la destruction de la classe</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="property_mode" name="property_mode" class="anchor"></a>
<article class="property">
<h3 class="private ">$mode</h3>
<pre class="signature">$mode</pre>
<p><em>Definit si php est lancé en ligne de commande ou en mode serveur</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<a id="methods" name="methods"></a>
<div class="row-fluid">
<div class="span8 content class"><h2>Methods</h2></div>
<aside class="span4 detailsbar"></aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_initialiser" name="method_initialiser" class="anchor"></a>
<article class="method">
<h3 class="public ">initialiser()</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;">initialiser()</pre>
<p><em>Initialise le Gestionnaire d&#039;exceptions et d&#039;erreur sans tenir comptes des paramêtres de config.</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_configurer" name="method_configurer" class="anchor"></a>
<article class="method">
<h3 class="public ">configurer()</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;">configurer()</pre>
<p><em>Configure le Gestionnaire d&#039;exceptions et d&#039;erreur à partir des paramêtres de config.</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_getExceptionsNbre" name="method_getExceptionsNbre" class="anchor"></a>
<article class="method">
<h3 class="public ">getExceptionsNbre()</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;">getExceptionsNbre() : int</pre>
<p><em>Renvoie le nombre d&#039;exceptions et d&#039;erreurs levées.</em></p>
 
<h4>Returns</h4>
int
&mdash; <p>le nombre d'exception actuellement levées</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
<dt>See also</dt>
<dd><a href=""><span class="namespace-wrapper">pour obtenir les exceptions formatées.</span></a></dd>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
since
</th>
<td>
0.3
</td>
</tr>
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_getContexte" name="method_getContexte" class="anchor"></a>
<article class="method">
<h3 class="public ">getContexte()</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;">getContexte() : bool</pre>
<p><em>Renvoie le booleen définissant si l&#039;on affiche le contexte ou non</em></p>
 
<h4>Returns</h4>
bool
&mdash; <p>true si on affiche le contexte sinon false.</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_setContexte" name="method_setContexte" class="anchor"></a>
<article class="method">
<h3 class="public ">setContexte()</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;">setContexte( <span class="argument">$contexte</span>)</pre>
<p><em>Definit si l&#039;on veut afficher le contexte ou non</em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td></td>
<td>$contexte</td>
<td></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_gererException" name="method_gererException" class="anchor"></a>
<article class="method">
<h3 class="public ">gererException()</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;">gererException(\Exception <span class="argument">$e</span>)</pre>
<p><em>Fonction de gestion des exceptions, remplace le handler par défaut.</em></p>
<p>Si une boucle génère de multiple exception (ou erreur) identique une seule sera stockée.</p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>\Exception</td>
<td>$e</td>
<td><p>l'exception à traiter</p></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_gererErreur" name="method_gererErreur" class="anchor"></a>
<article class="method">
<h3 class="public ">gererErreur()</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;">gererErreur(int <span class="argument">$niveau</span>, string <span class="argument">$message</span>, string <span class="argument">$fichier</span>, int <span class="argument">$ligne</span>, string <span class="argument">$contexte</span>)</pre>
<p><em>Gère les erreurs en les convertissant en exceptions (remplace la fonction gestion d&#039;erreurs native de php)</em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>int</td>
<td>$niveau</td>
<td><p>le niveau de l'erreur</p></td>
</tr>
<tr>
<td>string</td>
<td>$message</td>
<td><p>le message associé à l'erreur</p></td>
</tr>
<tr>
<td>string</td>
<td>$fichier</td>
<td><p>le nom du fichier où l'erreur s'est produite</p></td>
</tr>
<tr>
<td>int</td>
<td>$ligne</td>
<td><p>la ligne où l'erreur s'est produite</p></td>
</tr>
<tr>
<td>string</td>
<td>$contexte</td>
<td><p>le contexte associé à l'erreur</p></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_getExceptions" name="method_getExceptions" class="anchor"></a>
<article class="method">
<h3 class="public deprecated">getExceptions()</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;">getExceptions() : string</pre>
<p><em>Renvoie les exceptions au format (X)HTML ou bien au format texte suivant le mode d&#039;utilisation de PHP.</em></p>
 
<h4>Returns</h4>
string
&mdash; <p>les exceptions formatées en texte ou (X)HTML.</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<aside class="alert alert-block alert-error">
<h4>Deprecated</h4>
</aside>
<dl>
<dt>See also</dt>
<dd><a href=""><span class="namespace-wrapper"></span></a></dd>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
since
</th>
<td>
0.3
</td>
</tr>
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_getExceptionsFormatees" name="method_getExceptionsFormatees" class="anchor"></a>
<article class="method">
<h3 class="public ">getExceptionsFormatees()</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;">getExceptionsFormatees() : string</pre>
<p><em>Renvoie les exceptions au format (X)HTML ou bien au format texte suivant le mode d&#039;utilisation de PHP.</em></p>
 
<h4>Returns</h4>
string
&mdash; <p>les exceptions formatées en texte ou (X)HTML.</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
since
</th>
<td>
0.3
</td>
</tr>
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_getExceptionsTriees" name="method_getExceptionsTriees" class="anchor"></a>
<article class="method">
<h3 class="public ">getExceptionsTriees()</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;">getExceptionsTriees() : array</pre>
<p><em>Renvoie le tableau d&#039;objets Exception générées par le script PHP triées du niveau de sévérité le plus élevé au moins élevé.</em></p>
<p>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.</p>
 
<h4>Returns</h4>
array
&mdash; <p>le tableau trié d'objet Exception.</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
since
</th>
<td>
0.3
</td>
</tr>
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_formaterExceptionTxt" name="method_formaterExceptionTxt" class="anchor"></a>
<article class="method">
<h3 class="public ">formaterExceptionTxt()</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;">formaterExceptionTxt(\Exception <span class="argument">$e</span>)</pre>
<p><em>Formate en texte une exception passée en paramètre.</em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>\Exception</td>
<td>$e</td>
<td></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
since
</th>
<td>
0.3
</td>
</tr>
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_formaterExceptionXhtml" name="method_formaterExceptionXhtml" class="anchor"></a>
<article class="method">
<h3 class="public ">formaterExceptionXhtml()</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;">formaterExceptionXhtml(\Exception <span class="argument">$e</span>)</pre>
<p><em>Formate en (X)HTML une exception passée en paramètre.</em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>\Exception</td>
<td>$e</td>
<td></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
since
</th>
<td>
0.3
</td>
</tr>
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method___destruct" name="method___destruct" class="anchor"></a>
<article class="method">
<h3 class="public ">__destruct()</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;">__destruct()</pre>
<p><em>Lors de la destruction de la classe si des exceptions n&#039;ont pas été affichées, et si le débogage est à true, elles sont
affichées.</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_loggerException" name="method_loggerException" class="anchor"></a>
<article class="method">
<h3 class="private ">loggerException()</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;">loggerException(\Exception <span class="argument">$e</span>)</pre>
<p><em>Logue une exception donnée sous une forme lisible si self::logger vaut true.</em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>\Exception</td>
<td>$e</td>
<td><p>l'exception à logger</p></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</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">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="source-view-label">GestionnaireException.php</h3>
</div>
<div class="modal-body">
<pre data-src="../files/GestionnaireException.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 12th, 2014 at 16:55.
</section>
</section>
</section>
</footer>
</div>
 
</body>
</html>
/branches/v0.2-buhl/doc/PhpDoc/classes/Controleur.html
New file
0,0 → 1,744
<!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>&#160;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>&#160;Errors <span class="label label-info pull-right">54</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;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&#160;&#160;<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-1764599828"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-1764599828" 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/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 class">
<nav>
<a href="../namespaces/default.html">\</a> <i class="icon-level-up"></i>
</nav>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal"><i class="icon-code"></i></a>
 
<h1><small>\</small>Controleur</h1>
<p><em>Classe Controleur, coeur d&#039;une application, c&#039;est normalement la seule classe d&#039;une application
qui devrait être appelée de l&#039;extérieur.</em></p>
<p>Elle est abstraite donc doit obligatoirement être étendue.</p>
 
<section id="summary">
<h2>Summary</h2>
<section class="row-fluid heading">
<section class="span4">
<a href="#methods">Methods</a>
</section>
<section class="span4">
<a href="#properties">Properties</a>
</section>
<section class="span4">
<a href="#constants">Constants</a>
</section>
</section>
<section class="row-fluid public">
<section class="span4">
<a href="../classes/Controleur.html#method___construct" class="">__construct()</a><br />
</section>
<section class="span4">
<em>No public properties found</em>
</section>
<section class="span4">
<em>No constants found</em>
</section>
</section>
<section class="row-fluid protected">
<section class="span4">
<a href="../classes/Controleur.html#method_chargerModele" class="">chargerModele()</a><br />
<a href="../classes/Controleur.html#method_getModele" class="">getModele()</a><br />
<a href="../classes/Controleur.html#method_getVue" class="">getVue()</a><br />
<a href="../classes/Controleur.html#method_preTraiterDonnees" class="">preTraiterDonnees()</a><br />
<a href="../classes/Controleur.html#method_verifierEtReencoderTableauRequete" class="">verifierEtReencoderTableauRequete()</a><br />
<a href="../classes/Controleur.html#method_encoderTableau" class="">encoderTableau()</a><br />
</section>
<section class="span4">
<em>No protected properties found</em>
</section>
<section class="span4">
<em>N/A</em>
</section>
</section>
<section class="row-fluid private">
<section class="span4">
<em>No private methods found</em>
</section>
<section class="span4">
<a href="../classes/Controleur.html#property_encodage" class="">$encodage</a><br />
<a href="../classes/Controleur.html#property_registre" class="">$registre</a><br />
</section>
<section class="span4">
<em>N/A</em>
</section>
</section>
</section>
</div>
<aside class="span4 detailsbar">
<span class="label label-info">abstract</span>
<dl>
<dt>File</dt>
<dd><a href="../files/Controleur.php.html"><div class="path-wrapper">Controleur.php</div></a></dd>
<dt>Package</dt>
<dd><div class="namespace-wrapper">\Framework</div></dd>
<dt>Class hierarchy</dt>
<dd class="hierarchy">
<div class="namespace-wrapper">\Controleur</div>
</dd>
 
<dt>See also</dt>
<dd><a href="/doc/framework/"><div class="namespace-wrapper">/doc/framework/</div></a></dd>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
category
</th>
<td>
<p>php5</p>
</td>
</tr>
<tr>
<th>
author
</th>
<td>
<p>Aurélien 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>
copyright
</th>
<td>
<p>2009 Tela-Botanica</p>
</td>
</tr>
<tr>
<th>
license
</th>
<td>
<p><a href="http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt">http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt</a> Licence CECILL</p>
<p><a href="http://www.gnu.org/licenses/gpl.html">http://www.gnu.org/licenses/gpl.html</a> Licence GNU-GPL</p>
</td>
</tr>
<tr>
<th>
version
</th>
<td>
</td>
</tr>
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<a id="properties" name="properties"></a>
<div class="row-fluid">
<div class="span8 content class">
<h2>Properties</h2>
</div>
<aside class="span4 detailsbar"></aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="property_encodage" name="property_encodage" class="anchor"></a>
<article class="property">
<h3 class="private ">$encodage</h3>
<pre class="signature">$encodage</pre>
<p><em>Variable statique indiquant que les tableaux _GET et _POST ont déjà été encodé au format de l&#039;appli.</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="property_registre" name="property_registre" class="anchor"></a>
<article class="property">
<h3 class="private ">$registre</h3>
<pre class="signature">$registre</pre>
<p><em>Registre global, normalement accessible partout</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<a id="methods" name="methods"></a>
<div class="row-fluid">
<div class="span8 content class"><h2>Methods</h2></div>
<aside class="span4 detailsbar"></aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method___construct" name="method___construct" class="anchor"></a>
<article class="method">
<h3 class="public ">__construct()</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;">__construct()</pre>
<p><em>Constructeur par défaut</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_chargerModele" name="method_chargerModele" class="anchor"></a>
<article class="method">
<h3 class="protected ">chargerModele()</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;">chargerModele(string <span class="argument">$nom_modele</span>) : boolean</pre>
<p><em>Charge un modele donné et le rend disponible sous la forme $this-&gt;nom_modele</em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$nom_modele</td>
<td><p>le nom du modèle à  charger</p></td>
</tr>
</table>
<h4>Returns</h4>
boolean
&mdash; <p>false si le chargement a échoué, sinon true.</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">final</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_getModele" name="method_getModele" class="anchor"></a>
<article class="method">
<h3 class="protected ">getModele()</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;">getModele(string <span class="argument">$nom_modele</span>, String <span class="argument">$ext</span>) : mixed</pre>
<p><em>Retourne un modele donné</em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$nom_modele</td>
<td><p>le nom du fichier modèle à charger sans son extension</p></td>
</tr>
<tr>
<td>String</td>
<td>$ext</td>
<td><p>l'extension du fichier du modèel (par défaut : ".php"</p></td>
</tr>
</table>
<h4>Returns</h4>
mixed
&mdash; <p>false si le chargement a échoué, sinon l'objet du modèle demandé.</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">final</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_getVue" name="method_getVue" class="anchor"></a>
<article class="method">
<h3 class="protected ">getVue()</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;">getVue(String <span class="argument">$nom_squelette</span>, Array <span class="argument">$donnees</span>, String <span class="argument">$ext</span>) : boolean</pre>
<p><em>Fonction prenant en paramètre le nom d&#039;un squelette et un tableau associatif de données,
en extrait les variables, charge le squelette et retourne le résultat des deux combinés.</em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>String</td>
<td>$nom_squelette</td>
<td><p>le nom du squelette sans son extension</p></td>
</tr>
<tr>
<td>Array</td>
<td>$donnees</td>
<td><p>un tableau associatif contenant les variables a injecter dans la vue</p></td>
</tr>
<tr>
<td>String</td>
<td>$ext</td>
<td><p>l'extension du fichier du squelette (par défaut : ".tpl.html"</p></td>
</tr>
</table>
<h4>Returns</h4>
boolean
&mdash; <p>false si la vue n'existe pas, sinon la chaine résultat.</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">final</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_preTraiterDonnees" name="method_preTraiterDonnees" class="anchor"></a>
<article class="method">
<h3 class="protected ">preTraiterDonnees()</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;">preTraiterDonnees(Array <span class="argument">$donnees</span>) : Array</pre>
<p><em>Fonction prenant en paramètre un tableau de données et effectuant un traitement dessus.</em></p>
<p>Cette fonction est à surcharger dans les classes filles pour automatiser un traitement
avant chaque chargement de vue.</p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>Array</td>
<td>$donnees</td>
<td><p>Le tableau de données à traiter</p></td>
</tr>
</table>
<h4>Returns</h4>
Array
&mdash; <p>$donnees Le tableau de données traité</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_verifierEtReencoderTableauRequete" name="method_verifierEtReencoderTableauRequete" class="anchor"></a>
<article class="method">
<h3 class="protected ">verifierEtReencoderTableauRequete()</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;">verifierEtReencoderTableauRequete()</pre>
<p><em>Procédure vérifiant l&#039;encodage des tableaux $_GET et $_POST et les transcodant dans l&#039;encodage de l&#039;application</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_encoderTableau" name="method_encoderTableau" class="anchor"></a>
<article class="method">
<h3 class="protected ">encoderTableau()</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;">encoderTableau(mixed <span class="argument">$tableau</span>, mixed <span class="argument">$encodage_sortie</span>, mixed <span class="argument">$encodage_entree</span>) : Array</pre>
<p><em>Fonction récursive transcodant toutes les valeurs d&#039;un tableau de leur encodage d&#039;entrée vers un encodage de sortie donné</em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>mixed</td>
<td>$tableau</td>
<td><p>Array Un tableau de données à encoder</p></td>
</tr>
<tr>
<td>mixed</td>
<td>$encodage_sortie</td>
<td><p>String l'encodage vers lequel on doit transcoder</p></td>
</tr>
<tr>
<td>mixed</td>
<td>$encodage_entree</td>
<td><p>String l'encodage original des chaines du tableau (optionnel)</p></td>
</tr>
</table>
<h4>Returns</h4>
Array
&mdash; <p>Le tableau encodé dans l'encodage de sortie</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">final</span>
<dl>
</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">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="source-view-label">Controleur.php</h3>
</div>
<div class="modal-body">
<pre data-src="../files/Controleur.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 12th, 2014 at 16:55.
</section>
</section>
</section>
</footer>
</div>
 
</body>
</html>
/branches/v0.2-buhl/doc/PhpDoc/classes/Log.html
New file
0,0 → 1,926
<!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>&#160;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>&#160;Errors <span class="label label-info pull-right">54</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;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&#160;&#160;<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-334280751"></a>
<a href="../namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-334280751" 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/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 class">
<nav>
<a href="../namespaces/default.html">\</a> <i class="icon-level-up"></i>
</nav>
<a href="#source-view" role="button" class="pull-right btn" data-toggle="modal"><i class="icon-code"></i></a>
 
<h1><small>\</small>Log</h1>
<p><em>Classe permettant de logger des messages dans les fichier situés dans le dossier de log.</em></p>
 
<section id="summary">
<h2>Summary</h2>
<section class="row-fluid heading">
<section class="span4">
<a href="#methods">Methods</a>
</section>
<section class="span4">
<a href="#properties">Properties</a>
</section>
<section class="span4">
<a href="#constants">Constants</a>
</section>
</section>
<section class="row-fluid public">
<section class="span4">
<a href="../classes/Log.html#method_initialiser" class="">initialiser()</a><br />
<a href="../classes/Log.html#method_configurer" class="">configurer()</a><br />
<a href="../classes/Log.html#method_ajouterEntree" class="">ajouterEntree()</a><br />
<a href="../classes/Log.html#method_viderLog" class="">viderLog()</a><br />
<a href="../classes/Log.html#method_verifierOuvrirFichier" class="">verifierOuvrirFichier()</a><br />
<a href="../classes/Log.html#method___destruct" class="">__destruct()</a><br />
</section>
<section class="span4">
<em>No public properties found</em>
</section>
<section class="span4">
<em>No constants found</em>
</section>
</section>
<section class="row-fluid protected">
<section class="span4">
<em>No protected methods found</em>
</section>
<section class="span4">
<em>No protected properties found</em>
</section>
<section class="span4">
<em>N/A</em>
</section>
</section>
<section class="row-fluid private">
<section class="span4">
<a href="../classes/Log.html#method_verifierTailleFichierOuArchiver" class="">verifierTailleFichierOuArchiver()</a><br />
<a href="../classes/Log.html#method_desactiverEcriture" class="">desactiverEcriture()</a><br />
</section>
<section class="span4">
<a href="../classes/Log.html#property_logger" class="">$logger</a><br />
<a href="../classes/Log.html#property_fichiersLog" class="">$fichiersLog</a><br />
<a href="../classes/Log.html#property_cheminLogs" class="">$cheminLogs</a><br />
<a href="../classes/Log.html#property_droitLogger" class="">$droitLogger</a><br />
<a href="../classes/Log.html#property_timeZone" class="">$timeZone</a><br />
<a href="../classes/Log.html#property_tailleMax" class="">$tailleMax</a><br />
<a href="../classes/Log.html#property_sd" class="">$sd</a><br />
<a href="../classes/Log.html#property_ext" class="">$ext</a><br />
</section>
<section class="span4">
<em>N/A</em>
</section>
</section>
</section>
</div>
<aside class="span4 detailsbar">
<dl>
<dt>File</dt>
<dd><a href="../files/Log.php.html"><div class="path-wrapper">Log.php</div></a></dd>
<dt>Package</dt>
<dd><div class="namespace-wrapper">\Framework</div></dd>
<dt>Class hierarchy</dt>
<dd class="hierarchy">
<div class="namespace-wrapper">\Log</div>
</dd>
 
<dt>See also</dt>
<dd><a href="/doc/framework/"><div class="namespace-wrapper">/doc/framework/</div></a></dd>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
category
</th>
<td>
<p>PHP 5.2</p>
</td>
</tr>
<tr>
<th>
author
</th>
<td>
<p>aurelien <a href="mailto:aurelien@tela-botanica.org">aurelien@tela-botanica.org</a></p>
</td>
</tr>
<tr>
<th>
copyright
</th>
<td>
<p>2009 Tela-Botanica</p>
</td>
</tr>
<tr>
<th>
license
</th>
<td>
<p><a href="http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt">http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt</a> Licence CECILL</p>
</td>
</tr>
<tr>
<th>
version
</th>
<td>
</td>
</tr>
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<a id="properties" name="properties"></a>
<div class="row-fluid">
<div class="span8 content class">
<h2>Properties</h2>
</div>
<aside class="span4 detailsbar"></aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="property_logger" name="property_logger" class="anchor"></a>
<article class="property">
<h3 class="private ">$logger</h3>
<pre class="signature">$logger</pre>
<p><em>Boolean indiquant si l&#039;on doit utiliser les logs ou pas</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="property_fichiersLog" name="property_fichiersLog" class="anchor"></a>
<article class="property">
<h3 class="private ">$fichiersLog</h3>
<pre class="signature">$fichiersLog</pre>
<p><em>Tableau associatif stockant les descripteurs de fichiers</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="property_cheminLogs" name="property_cheminLogs" class="anchor"></a>
<article class="property">
<h3 class="private ">$cheminLogs</h3>
<pre class="signature">$cheminLogs</pre>
<p><em>Chemin de base du dossier log de l&#039;application</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="property_droitLogger" name="property_droitLogger" class="anchor"></a>
<article class="property">
<h3 class="private ">$droitLogger</h3>
<pre class="signature">$droitLogger</pre>
<p><em>Booleen indiquant si l&#039;on peut correctement écrire dans les fichiers de logs</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="property_timeZone" name="property_timeZone" class="anchor"></a>
<article class="property">
<h3 class="private ">$timeZone</h3>
<pre class="signature">$timeZone</pre>
<p><em>Zone horaire (pour éviter des avertissements dans les dates)</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="property_tailleMax" name="property_tailleMax" class="anchor"></a>
<article class="property">
<h3 class="private ">$tailleMax</h3>
<pre class="signature">$tailleMax</pre>
<p><em>Taille maximum d&#039;un fichier de log avant que celui ne soit archivé (en octets)</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="property_sd" name="property_sd" class="anchor"></a>
<article class="property">
<h3 class="private ">$sd</h3>
<pre class="signature">$sd</pre>
<p><em>séparateur de dossier dans un chemin</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="property_ext" name="property_ext" class="anchor"></a>
<article class="property">
<h3 class="private ">$ext</h3>
<pre class="signature">$ext</pre>
<p><em>Extension des fichiers de log</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<a id="methods" name="methods"></a>
<div class="row-fluid">
<div class="span8 content class"><h2>Methods</h2></div>
<aside class="span4 detailsbar"></aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_initialiser" name="method_initialiser" class="anchor"></a>
<article class="method">
<h3 class="public ">initialiser()</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;">initialiser()</pre>
<p><em>Initialiser les logs par défaut, sans tenir comptes des paramêtres de config.</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_configurer" name="method_configurer" class="anchor"></a>
<article class="method">
<h3 class="public ">configurer()</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;">configurer()</pre>
<p><em>Configure le Log à partir des paramêtres de config.</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_ajouterEntree" name="method_ajouterEntree" class="anchor"></a>
<article class="method">
<h3 class="public ">ajouterEntree()</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;">ajouterEntree(string <span class="argument">$nomFichier</span>, <span class="argument">$entree</span>, <span class="argument">$mode</span>)</pre>
<p><em>Ajoute une entrée au log spécifié par le paramètre $nomFichier</em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$nomFichier</td>
<td><p>le nom du fichier dans lequel écrire</p></td>
</tr>
<tr>
<td></td>
<td>$entree</td>
<td></td>
</tr>
<tr>
<td></td>
<td>$mode</td>
<td></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_viderLog" name="method_viderLog" class="anchor"></a>
<article class="method">
<h3 class="public ">viderLog()</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;">viderLog(string <span class="argument">$nomFichier</span>)</pre>
<p><em>Vide un fichier log indiqué</em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$nomFichier</td>
<td><p>le nom du fichier à vider</p></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_verifierOuvrirFichier" name="method_verifierOuvrirFichier" class="anchor"></a>
<article class="method">
<h3 class="public ">verifierOuvrirFichier()</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;">verifierOuvrirFichier(string <span class="argument">$nomFichier</span>, <span class="argument">$mode</span>) : boolean</pre>
<p><em>Vérifie la présence d&#039;un fichier dans le tableau, ses droits d&#039;écriture, l&#039;ouvre si nécessaire.</em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$nomFichier</td>
<td><p>le nom du fichier dont on doit vérifier la présence</p></td>
</tr>
<tr>
<td></td>
<td>$mode</td>
<td></td>
</tr>
</table>
<h4>Returns</h4>
boolean
&mdash; <p>true si le fichier est ouvert ou maintenant accessible, false sinon</p>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method___destruct" name="method___destruct" class="anchor"></a>
<article class="method">
<h3 class="public ">__destruct()</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;">__destruct()</pre>
<p><em>destructeur de classe, ferme les descripteurs ouverts</em></p>
 
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_verifierTailleFichierOuArchiver" name="method_verifierTailleFichierOuArchiver" class="anchor"></a>
<article class="method">
<h3 class="private ">verifierTailleFichierOuArchiver()</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;">verifierTailleFichierOuArchiver(string <span class="argument">$nomFichier</span>)</pre>
<p><em>Vérifie la taille d&#039;un fichier donné et si celle ci est trop importante
archive le fichier de log</em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$nomFichier</td>
<td><p>nom du fichier à vérifier</p></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_desactiverEcriture" name="method_desactiverEcriture" class="anchor"></a>
<article class="method">
<h3 class="private ">desactiverEcriture()</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;">desactiverEcriture(string <span class="argument">$nomFichier</span>)</pre>
<p><em>Désactive l&#039;écriture du log et envoie un message au gestionnaire d&#039;erreurs</em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td>string</td>
<td>$nomFichier</td>
<td><p>le nom du fichier qui a causé l'erreur</p></td>
</tr>
</table>
</article>
</div>
<aside class="span4 detailsbar">
<h1><i class="icon-arrow-down"></i></h1>
<span class="label label-info">static</span>
<dl>
</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">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="source-view-label">Log.php</h3>
</div>
<div class="modal-body">
<pre data-src="../files/Log.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 12th, 2014 at 16:55.
</section>
</section>
</section>
</footer>
</div>
 
</body>
</html>
/branches/v0.2-buhl/doc/PhpDoc/reports/markers.html
New file
0,0 → 1,154
<!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> &raquo; Markers
</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-->
<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>&#160;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>&#160;Errors <span class="label label-info pull-right">54</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;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&#160;&#160;<i class="icon-upload icon-white"></i></a>-->
<!--</div>-->
</div>
 
<div id="___" class="container-fluid">
<section class="row-fluid">
<div class="span2 sidebar">
<ul class="side-nav nav nav-list">
<li class="nav-header">Navigation</li>
</ul>
</div>
 
<div class="span10 offset2">
 
<ul class="breadcrumb">
<li><a href="../"><i class="icon-map-marker"></i></a><span class="divider">\</span></li>
<li>Markers</li>
</ul>
 
<div class="alert alert-info">No markers have been found in this project.</div>
<div id="marker-accordion">
</div>
</div>
</section>
 
<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 12th, 2014 at 16:55.
</section>
</section>
</section>
</footer>
</div>
 
</body>
</html>
/branches/v0.2-buhl/doc/PhpDoc/reports/errors.html
New file
0,0 → 1,685
<!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> &raquo; Compilation errors
</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-->
<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>&#160;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>&#160;Errors <span class="label label-info pull-right">54</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;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&#160;&#160;<i class="icon-upload icon-white"></i></a>-->
<!--</div>-->
</div>
 
<div id="___" class="container-fluid">
<section class="row-fluid">
<div class="span2 sidebar">
 
<ul class="side-nav nav nav-list">
<li class="nav-header">Navigation</li>
<li><a href="#Url.php"><i class="icon-file"></i> Url.php</a></li>
<li><a href="#autoload.inc.php"><i class="icon-file"></i> autoload.inc.php</a></li>
<li><a href="#Debug.php"><i class="icon-file"></i> Debug.php</a></li>
<li><a href="#Chronometre.php"><i class="icon-file"></i> Chronometre.php</a></li>
<li><a href="#SquelettePhp.php"><i class="icon-file"></i> SquelettePhp.php</a></li>
<li><a href="#Controleur.php"><i class="icon-file"></i> Controleur.php</a></li>
<li><a href="#GestionnaireException.php"><i class="icon-file"></i> GestionnaireException.php</a></li>
<li><a href="#Modele.php"><i class="icon-file"></i> Modele.php</a></li>
<li><a href="#Registre.php"><i class="icon-file"></i> Registre.php</a></li>
<li><a href="#Config.php"><i class="icon-file"></i> Config.php</a></li>
<li><a href="#Application.php"><i class="icon-file"></i> Application.php</a></li>
<li><a href="#Log.php"><i class="icon-file"></i> Log.php</a></li>
</ul>
</div>
 
<div class="span10 offset2">
<ul class="breadcrumb">
<li><a href="../"><i class="icon-remove-sign"></i></a><span class="divider">\</span></li>
<li>Compilation Errors</li>
</ul>
 
<div class="package-contents">
<a name="Url.php" id="Url.php"></a>
<h3>
<i class="icon-file"></i>
Url.php
<small style="float: right;padding-right: 10px;">21</small>
</h3>
<div>
<table class="table markers table-bordered">
<thead>
<tr>
<th>Type</th>
<th>Line</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>error</td>
<td>0</td>
<td>No summary was found for this file</td>
</tr>
<tr>
<td>error</td>
<td>66</td>
<td>No summary for property $schema</td>
</tr>
<tr>
<td>error</td>
<td>71</td>
<td>No summary for property $infoUtilisateur</td>
</tr>
<tr>
<td>error</td>
<td>76</td>
<td>No summary for property $hote</td>
</tr>
<tr>
<td>error</td>
<td>81</td>
<td>No summary for property $port</td>
</tr>
<tr>
<td>error</td>
<td>86</td>
<td>No summary for property $chemin</td>
</tr>
<tr>
<td>error</td>
<td>91</td>
<td>No summary for property $requete</td>
</tr>
<tr>
<td>error</td>
<td>96</td>
<td>No summary for property $fragment</td>
</tr>
<tr>
<td>error</td>
<td>102</td>
<td>No summary for method __construct()</td>
</tr>
<tr>
<td>error</td>
<td>153</td>
<td>No summary for method setSchema()</td>
</tr>
<tr>
<td>error</td>
<td>219</td>
<td>No summary for method setHote()</td>
</tr>
<tr>
<td>error</td>
<td>238</td>
<td>No summary for method setPort()</td>
</tr>
<tr>
<td>error</td>
<td>273</td>
<td>No summary for method setAutorite()</td>
</tr>
<tr>
<td>error</td>
<td>304</td>
<td>No summary for method setChemin()</td>
</tr>
<tr>
<td>error</td>
<td>325</td>
<td>No summary for method setRequete()</td>
</tr>
<tr>
<td>error</td>
<td>343</td>
<td>No summary for method setFragment()</td>
</tr>
<tr>
<td>error</td>
<td>408</td>
<td>No summary for method setVariablesRequete()</td>
</tr>
<tr>
<td>error</td>
<td>440</td>
<td>No summary for method setVariableRequete()</td>
</tr>
<tr>
<td>error</td>
<td>451</td>
<td>No summary for method unsetVariableRequete()</td>
</tr>
<tr>
<td>error</td>
<td>462</td>
<td>No summary for method unsetVariablesRequete()</td>
</tr>
<tr>
<td>error</td>
<td>769</td>
<td>No summary for method __toString()</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="package-contents">
<a name="autoload.inc.php" id="autoload.inc.php"></a>
<h3>
<i class="icon-file"></i>
autoload.inc.php
<small style="float: right;padding-right: 10px;">4</small>
</h3>
<div>
<table class="table markers table-bordered">
<thead>
<tr>
<th>Type</th>
<th>Line</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>error</td>
<td>31</td>
<td>Argument $nom_classe_fw is missing from the Docblock of \autoloadFw()</td>
</tr>
<tr>
<td>error</td>
<td>31</td>
<td>No summary for function \autoloadFw()</td>
</tr>
<tr>
<td>error</td>
<td>44</td>
<td>Argument $nom_classe is missing from the Docblock of \autoloadAppliDefaut()</td>
</tr>
<tr>
<td>error</td>
<td>44</td>
<td>No summary for function \autoloadAppliDefaut()</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="package-contents">
<a name="Debug.php" id="Debug.php"></a>
<h3>
<i class="icon-file"></i>
Debug.php
<small style="float: right;padding-right: 10px;">1</small>
</h3>
<div>
<table class="table markers table-bordered">
<thead>
<tr>
<th>Type</th>
<th>Line</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>error</td>
<td>0</td>
<td>No summary was found for this file</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="package-contents">
<a name="Chronometre.php" id="Chronometre.php"></a>
<h3>
<i class="icon-file"></i>
Chronometre.php
<small style="float: right;padding-right: 10px;">2</small>
</h3>
<div>
<table class="table markers table-bordered">
<thead>
<tr>
<th>Type</th>
<th>Line</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>error</td>
<td>0</td>
<td>No summary was found for this file</td>
</tr>
<tr>
<td>error</td>
<td>25</td>
<td>No summary for property $_temps</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="package-contents">
<a name="SquelettePhp.php" id="SquelettePhp.php"></a>
<h3>
<i class="icon-file"></i>
SquelettePhp.php
<small style="float: right;padding-right: 10px;">1</small>
</h3>
<div>
<table class="table markers table-bordered">
<thead>
<tr>
<th>Type</th>
<th>Line</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>error</td>
<td>0</td>
<td>No summary was found for this file</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="package-contents">
<a name="Controleur.php" id="Controleur.php"></a>
<h3>
<i class="icon-file"></i>
Controleur.php
<small style="float: right;padding-right: 10px;">1</small>
</h3>
<div>
<table class="table markers table-bordered">
<thead>
<tr>
<th>Type</th>
<th>Line</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>error</td>
<td>0</td>
<td>No summary was found for this file</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="package-contents">
<a name="GestionnaireException.php" id="GestionnaireException.php"></a>
<h3>
<i class="icon-file"></i>
GestionnaireException.php
<small style="float: right;padding-right: 10px;">2</small>
</h3>
<div>
<table class="table markers table-bordered">
<thead>
<tr>
<th>Type</th>
<th>Line</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>error</td>
<td>0</td>
<td>No summary was found for this file</td>
</tr>
<tr>
<td>error</td>
<td>78</td>
<td>Argument $contexte is missing from the Docblock of setContexte()</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="package-contents">
<a name="Modele.php" id="Modele.php"></a>
<h3>
<i class="icon-file"></i>
Modele.php
<small style="float: right;padding-right: 10px;">9</small>
</h3>
<div>
<table class="table markers table-bordered">
<thead>
<tr>
<th>Type</th>
<th>Line</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>error</td>
<td>0</td>
<td>No summary was found for this file</td>
</tr>
<tr>
<td>error</td>
<td>151</td>
<td>Argument $requete is missing from the Docblock of requete()</td>
</tr>
<tr>
<td>error</td>
<td>177</td>
<td>Argument $requete is missing from the Docblock of requeteUn()</td>
</tr>
<tr>
<td>error</td>
<td>177</td>
<td>Argument $mode is missing from the Docblock of requeteUn()</td>
</tr>
<tr>
<td>error</td>
<td>177</td>
<td>No summary for method requeteUn()</td>
</tr>
<tr>
<td>error</td>
<td>213</td>
<td>Argument $requete is missing from the Docblock of requeteTous()</td>
</tr>
<tr>
<td>error</td>
<td>213</td>
<td>Argument $mode is missing from the Docblock of requeteTous()</td>
</tr>
<tr>
<td>error</td>
<td>213</td>
<td>No summary for method requeteTous()</td>
</tr>
<tr>
<td>error</td>
<td>273</td>
<td>Argument $chaine is missing from the Docblock of proteger()</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="package-contents">
<a name="Registre.php" id="Registre.php"></a>
<h3>
<i class="icon-file"></i>
Registre.php
<small style="float: right;padding-right: 10px;">6</small>
</h3>
<div>
<table class="table markers table-bordered">
<thead>
<tr>
<th>Type</th>
<th>Line</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>error</td>
<td>0</td>
<td>No summary was found for this file</td>
</tr>
<tr>
<td>error</td>
<td>53</td>
<td>Argument $intitule is missing from the Docblock of set()</td>
</tr>
<tr>
<td>error</td>
<td>53</td>
<td>Argument $objet is missing from the Docblock of set()</td>
</tr>
<tr>
<td>error</td>
<td>67</td>
<td>Argument $intitule is missing from the Docblock of get()</td>
</tr>
<tr>
<td>error</td>
<td>77</td>
<td>Argument $intitule is missing from the Docblock of detruire()</td>
</tr>
<tr>
<td>error</td>
<td>87</td>
<td>Argument $intitule is missing from the Docblock of existe()</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="package-contents">
<a name="Config.php" id="Config.php"></a>
<h3>
<i class="icon-file"></i>
Config.php
<small style="float: right;padding-right: 10px;">2</small>
</h3>
<div>
<table class="table markers table-bordered">
<thead>
<tr>
<th>Type</th>
<th>Line</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>error</td>
<td>0</td>
<td>No summary was found for this file</td>
</tr>
<tr>
<td>error</td>
<td>147</td>
<td>Argument $config is missing from the Docblock of existeValeur()</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="package-contents">
<a name="Application.php" id="Application.php"></a>
<h3>
<i class="icon-file"></i>
Application.php
<small style="float: right;padding-right: 10px;">1</small>
</h3>
<div>
<table class="table markers table-bordered">
<thead>
<tr>
<th>Type</th>
<th>Line</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>error</td>
<td>0</td>
<td>No summary was found for this file</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="package-contents">
<a name="Log.php" id="Log.php"></a>
<h3>
<i class="icon-file"></i>
Log.php
<small style="float: right;padding-right: 10px;">4</small>
</h3>
<div>
<table class="table markers table-bordered">
<thead>
<tr>
<th>Type</th>
<th>Line</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>error</td>
<td>0</td>
<td>No summary was found for this file</td>
</tr>
<tr>
<td>error</td>
<td>87</td>
<td>Argument $entree is missing from the Docblock of ajouterEntree()</td>
</tr>
<tr>
<td>error</td>
<td>87</td>
<td>Argument $mode is missing from the Docblock of ajouterEntree()</td>
</tr>
<tr>
<td>error</td>
<td>118</td>
<td>Argument $mode is missing from the Docblock of verifierOuvrirFichier()</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</section>
 
<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 12th, 2014 at 16:55.
</section>
</section>
</section>
</footer>
</div>
 
</body>
</html>
/branches/v0.2-buhl/doc/PhpDoc/reports/deprecated.html
New file
0,0 → 1,171
<!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> &raquo; Deprecated elements
</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-->
<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>&#160;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>&#160;Errors <span class="label label-info pull-right">54</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;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&#160;&#160;<i class="icon-upload icon-white"></i></a>-->
<!--</div>-->
</div>
 
<div id="___" class="container-fluid">
<div class="row-fluid">
 
<div class="span2 sidebar">
<ul class="side-nav nav nav-list">
<li class="nav-header">Navigation</li>
</ul>
</div>
 
<div class="span10 offset2">
<ul class="breadcrumb">
<li><a href="../"><i class="icon-stop"></i></a><span class="divider">\</span></li>
<li>Deprecated elements</li>
</ul>
 
<div id="marker-accordion">
<a name="" id=""></a>
<h3>
<i class="icon-file"></i>
<small style="float: right;padding-right: 10px;">1</small>
</h3>
<div>
<table class="table markers table-bordered">
<tr>
<th>Type</th>
<th>Line</th>
<th>Description</th>
</tr>
<tr>
<td>deprecated</td>
<td></td>
<td></td>
</tr>
</table>
</div>
</div>
</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 12th, 2014 at 16:55.
</section>
</section>
</section>
</footer>
</div>
 
</body>
</html>
/branches/v0.2-buhl/doc/PhpDoc/files/GestionnaireException.php.txt
New file
0,0 → 1,228
<?php
// declare(encoding='UTF-8');
/**
* Classe de gestion des exceptions.
* C'est un Singleton.
*
* @category PHP 5.2
* @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/
*
*/
class GestionnaireException {
const MODE_CLI = 'cli';
/** Liste des exceptions enregistrées */
private static $exceptions = array();
 
/** Détermine si l'on affiche ou non le contexte */
private static $contexte = false;
 
/** Détermine si l'on loggue ou non les erreurs */
private static $logger = false;
 
/** Détermine si l'affichage des erreurs est forcé (true) ou pas (false) à la destruction de la classe */
private static $afficher = false;
 
/** Definit si php est lancé en ligne de commande ou en mode serveur */
private static $mode = null ;
 
/** Initialise le Gestionnaire d'exceptions et d'erreur sans tenir comptes des paramêtres de config. */
public static function initialiser() {
self::$mode = php_sapi_name();
// 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');
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.
*/
public static function getContexte() {
return self::$contexte;
}
 
/**
* Definit si l'on veut afficher le contexte ou non
* @param bool true si on veut afficher le contexte, false sinon, par défaut vaut false
*/
public static function setContexte($contexte) {
self::$contexte = $contexte;
}
 
/**
* 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.
* @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);
}
}
 
/**
* Gère les erreurs en les convertissant en exceptions (remplace la fonction gestion d'erreurs native de php)
* @param int $niveau le niveau de l'erreur
* @param string $message le message associé à l'erreur
* @param string $fichier le nom du fichier où l'erreur s'est produite
* @param int $ligne la ligne où l'erreur s'est produite
* @param string $contexte le contexte associé à l'erreur
*/
public static function gererErreur($niveau, $message, $fichier, $ligne, $contexte){
// 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);
}
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.
*/
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]);
}
}
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) {
if (self::$logger) {
$message = self::formaterExceptionTxt($e);
Log::ajouterEntree('erreurs', $message);
}
}
/**
* 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();
}
}
 
}
?>
Property changes:
Added: svn:eol-style
+native
\ No newline at end of property
/branches/v0.2-buhl/doc/PhpDoc/files/Log.php.html
New file
0,0 → 1,263
<!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>&#160;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>&#160;Errors <span class="label label-info pull-right">54</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;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&#160;&#160;<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-1245416206"></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 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/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>Log.php</h1>
<p><em></em></p>
 
<h2>Classes</h2>
<table class="table table-hover">
<tr>
<td><a href="../classes/Log.html">Log</a></td>
<td><em>Classe permettant de logger des messages dans les fichier situés dans le dossier de log.</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/Log.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 12th, 2014 at 16:55.
</section>
</section>
</section>
</footer>
</div>
 
</body>
</html>
/branches/v0.2-buhl/doc/PhpDoc/files/SquelettePhp.php.html
New file
0,0 → 1,263
<!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>&#160;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>&#160;Errors <span class="label label-info pull-right">54</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;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&#160;&#160;<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-353027973"></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 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/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>SquelettePhp.php</h1>
<p><em></em></p>
 
<h2>Classes</h2>
<table class="table table-hover">
<tr>
<td><a href="../classes/SquelettePhp.html">SquelettePhp</a></td>
<td><em>Classe SquelettePhp, traitant les squelette Php utilisant la syntaxe courte php ou pas.</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/SquelettePhp.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 12th, 2014 at 16:55.
</section>
</section>
</section>
</footer>
</div>
 
</body>
</html>
/branches/v0.2-buhl/doc/PhpDoc/files/Registre.php.html
New file
0,0 → 1,263
<!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>&#160;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>&#160;Errors <span class="label label-info pull-right">54</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;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&#160;&#160;<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-1548000857"></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 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/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>Registre.php</h1>
<p><em></em></p>
 
<h2>Classes</h2>
<table class="table table-hover">
<tr>
<td><a href="../classes/Registre.html">Registre</a></td>
<td><em>Classe registre, qui permet un accès à différentes variables à travers les autres classes.</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/Registre.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 12th, 2014 at 16:55.
</section>
</section>
</section>
</footer>
</div>
 
</body>
</html>
/branches/v0.2-buhl/doc/PhpDoc/files/Chronometre.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>&#160;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>&#160;Errors <span class="label label-info pull-right">54</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;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&#160;&#160;<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-64918610"></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 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/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>Chronometre.php</h1>
<p><em></em></p>
 
<h2>Classes</h2>
<table class="table table-hover">
<tr>
<td><a href="../classes/Chronometre.html">Chronometre</a></td>
<td><em>Classe Chronometre() - Permet de stocker et d&#039;afficher
les temps d&#039;éxécution de script.</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/Chronometre.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 12th, 2014 at 16:55.
</section>
</section>
</section>
</footer>
</div>
 
</body>
</html>
/branches/v0.2-buhl/doc/PhpDoc/files/Debug.php.html
New file
0,0 → 1,263
<!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>&#160;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>&#160;Errors <span class="label label-info pull-right">54</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;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&#160;&#160;<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-1736475191"></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 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/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>Debug.php</h1>
<p><em></em></p>
 
<h2>Classes</h2>
<table class="table table-hover">
<tr>
<td><a href="../classes/Debug.html">Debug</a></td>
<td><em>Classe fournissant des fonctions de débogage équivalante à var_dump et print_r.</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/Debug.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 12th, 2014 at 16:55.
</section>
</section>
</section>
</footer>
</div>
 
</body>
</html>
/branches/v0.2-buhl/doc/PhpDoc/files/autoload.inc.php.txt
New file
0,0 → 1,63
<?php
// declare(encoding='UTF-8');
/**
* 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 :
* @author Aurelien PERONNET <aurelien@tela-botanica.org>
// Autres auteurs :
* @author Jean-Pascal MILCENT <jpm@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
if (!defined('DS')) {
define('DS', DIRECTORY_SEPARATOR);
}
// Redéfinition de la constante PATH_SEPARATOR
if (!defined('PS')) {
define('PS', PATH_SEPARATOR);
}
 
// Autoload pour le Framework
function autoloadFw($nom_classe_fw) {
$fichier_a_inclure = dirname(__FILE__).DS.$nom_classe_fw.'.php';
if (file_exists($fichier_a_inclure)) {
include_once $fichier_a_inclure;
return null;
}
}
spl_autoload_register('autoloadFw');
 
// Initialisation du gestionnaire d'erreur avant toute chose
GestionnaireException::initialiser();
 
// Autoload par défaut pour l'application
function autoloadAppliDefaut($nom_classe) {
$dossiers_classes = array( Config::get('chemin_controleurs'),
Config::get('chemin_modeles'),
Config::get('chemin_bibliotheque'));
 
foreach ($dossiers_classes as $chemin) {
$fichier_a_tester = $chemin.$nom_classe.'.php';
if (file_exists($fichier_a_tester)) {
include_once $fichier_a_tester;
return null;
}
}
}
spl_autoload_register('autoloadAppliDefaut');
 
// Autoload défini par l'application
if (function_exists('__autoload')) {
spl_autoload_register('__autoload');
}
?>
Property changes:
Added: svn:eol-style
+native
\ No newline at end of property
/branches/v0.2-buhl/doc/PhpDoc/files/Controleur.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>&#160;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>&#160;Errors <span class="label label-info pull-right">54</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;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&#160;&#160;<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-86748986"></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 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/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>Controleur.php</h1>
<p><em></em></p>
 
<h2>Classes</h2>
<table class="table table-hover">
<tr>
<td><a href="../classes/Controleur.html">Controleur</a></td>
<td><em>Classe Controleur, coeur d&#039;une application, c&#039;est normalement la seule classe d&#039;une application
qui devrait être appelée de l&#039;extérieur.</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/Controleur.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 12th, 2014 at 16:55.
</section>
</section>
</section>
</footer>
</div>
 
</body>
</html>
/branches/v0.2-buhl/doc/PhpDoc/files/Log.php.txt
New file
0,0 → 1,178
<?php
//declare(encoding='UTF-8');
/**
* Classe permettant de logger des messages dans les fichier situés dans le dossier de log.
*
* @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/
*/
 
class Log {
 
/**
* Boolean indiquant si l'on doit utiliser les logs ou pas
*/
private static $logger = false;
 
/**
* Tableau associatif stockant les descripteurs de fichiers
*/
private static $fichiersLog = array();
 
/**
* Chemin de base du dossier log de l'application
*/
private static $cheminLogs = '';
 
/**
* Booleen indiquant si l'on peut correctement écrire dans les fichiers de logs
*/
private static $droitLogger = true;
 
/**
* Zone horaire (pour éviter des avertissements dans les dates)
*/
private static $timeZone = 'Europe/Paris';
 
/**
* Taille maximum d'un fichier de log avant que celui ne soit archivé (en octets)
*/
private static $tailleMax = 10000;
 
/**
* séparateur de dossier dans un chemin
*/
private static $sd = DIRECTORY_SEPARATOR;
 
/**
* Extension des fichiers de log
*/
private static $ext = '.log';
 
/**
* Initialiser les logs par défaut, sans tenir comptes des paramêtres de config.
*/
public static function initialiser() {
// gestion de la timezone pour éviter des erreurs
if (function_exists('date_default_timezone_set') && function_exists('date_default_timezone_get')) {
date_default_timezone_set(self::$timeZone);
}
 
if (self::$logger && (!is_dir(self::$cheminLogs) || !is_writable(self::$cheminLogs))) {
self::desactiverEcriture();
}
}
/**
* Configure le Log à partir des paramêtres de config.
*/
public static function configurer() {
self::$sd = Config::get('ds');
self::$cheminLogs = Config::get('chemin_logs');
self::$timeZone = (Config::get('fw_timezone') != '') ? Config::get('fw_timezone') : self::$timeZone;
self::$tailleMax = (Config::get('fw_taille_max_logs') != '') ? Config::get('fw_taille_max_logs') : self::$tailleMax;
self::$logger = (Config::get('fw_log_debogage') != '') ? Config::get('fw_log_debogage') : self::$logger;
self::initialiser();
}
 
/**
* Ajoute une entrée au log spécifié par le paramètre $nomFichier
* @param string $nomFichier le nom du fichier dans lequel écrire
*/
public static function ajouterEntree($nomFichier, $entree, $mode = 'a+') {
if (self::$droitLogger) {
$date = "\n"."\n".date('d m Y H:i')."\n" ;
 
// si le fichier est déjà dans le tableau et qu'on peut y écrire
if(self::verifierOuvrirFichier($nomFichier,$mode)) {
// on y écrit le message de log
fwrite(self::$fichiersLog[$nomFichier],$date.$entree);
// on vérifie si le fichier ne dépasse pas la taille maximale
self::verifierTailleFichierOuArchiver($nomFichier);
} else {
// sinon on interdit l'écriture
self::desactiverEcriture($nomFichier);
}
}
}
 
/**
* Vide un fichier log indiqué
* @param string $nomFichier le nom du fichier à vider
*/
public static function viderLog($nomFichier) {
self::ajouterEntree($nomFichier, '', 'w');
}
 
/**
* 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
*/
public static function verifierOuvrirFichier($nomFichier,$mode) {
// le fichier est il déjà ouvert ?
if (in_array($nomFichier, self::$fichiersLog)) {
// si oui peut on y écrire ?
if (is_writable(self::$cheminLogs.$nomFichier.self::$ext)) {
// si oui on renvoie le descripteur
return true;
}
return false;
} else {
// sinon on l'ouvre
$fp = @fopen(self::$cheminLogs.$nomFichier.self::$ext,$mode);
// si l'ouverture a réussi et si le fichier a les droits d'écriture
if ($fp && is_writable(self::$cheminLogs.$nomFichier.self::$ext)) {
// si oui on renvoie le descripteur qu'on ajoute au tableau
self::$fichiersLog[$nomFichier] = $fp;
return true;
}
return false;
}
}
 
/**
* Vérifie la taille d'un fichier donné et si celle ci est trop importante
* archive le fichier de log
* @param string $nomFichier nom du fichier à vérifier
*/
private static function verifierTailleFichierOuArchiver($nomFichier) {
if(filesize(self::$cheminLogs.$nomFichier.self::$ext) > self::$tailleMax) {
rename(self::$cheminLogs.$nomFichier.self::$ext,self::$cheminLogs.$nomFichier.date('d_m_Y_H:i').self::$ext);
self::ajouterEntree($nomFichier,'');
}
}
 
/**
* Désactive l'écriture du log et envoie un message au gestionnaire d'erreurs
* @param string $nomFichier le nom du fichier qui a causé l'erreur
*/
private static function desactiverEcriture($nomFichier = '') {
self::$droitLogger = false;
if ($nomFichier != '') {
$fichierDossier = 'fichier '.$nomFichier ;
} else {
$fichierDossier = 'dossier des logs';
}
$message = 'Écriture impossible dans le '.$fichierDossier.', Assurez-vous des droits du dossier et des fichiers';
$e = new ErrorException($message, 0, E_USER_WARNING, __FILE__, __LINE__);
GestionnaireException::gererException($e);
}
 
/**
* destructeur de classe, ferme les descripteurs ouverts
*/
public function __destruct() {
foreach(self::$fichiersLog as $nomFichier => $fp) {
fclose($fp);
}
}
}
?>
 
Property changes:
Added: svn:eol-style
+native
\ No newline at end of property
/branches/v0.2-buhl/doc/PhpDoc/files/SquelettePhp.php.txt
New file
0,0 → 1,74
<?php
// declare(encoding='UTF-8');
/**
* Classe SquelettePhp, traitant les squelette Php utilisant la syntaxe courte php ou pas.
* Ces méthodes sont statiques.
*
* @category php5
* @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/
*/
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.
*
* @param String $fichier le chemin du fichier du squelette
* @param Array $donnees un tableau associatif contenant les variables a injecter dans le squelette.
*
* @return boolean false si la vue n'existe pas, sinon la chaine résultat.
*/
public static function analyser($fichier, Array $donnees = array()) {
$sortie = false;
if (file_exists($fichier)) {
// Extraction des variables du tableau de données
extract($donnees);
// Démarage de la bufferisation de sortie
ob_start();
// Si les tags courts sont activés
if ((bool) @ini_get('short_open_tag') === true) {
// Simple inclusion du squelette
include $fichier;
} else {
// Sinon, remplacement des tags courts par la syntaxe classique avec echo
$html_et_code_php = self::traiterTagsCourts($fichier);
// Pour évaluer du php mélangé dans du html il est nécessaire de fermer la balise php ouverte par eval
$html_et_code_php = '?>'.$html_et_code_php;
// Interprétation du html et du php dans le buffer
echo eval($html_et_code_php);
}
// Récupèration du contenu du buffer
$sortie = ob_get_contents();
// Suppression du buffer
@ob_end_clean();
} else {
$msg = "Le fichier du squelette '$fichier' n'existe pas.";
trigger_error($msg, E_USER_WARNING);
}
// Retourne le contenu
return $sortie;
}
/**
* Fonction chargeant le contenu du squelette et remplaçant les tags court php (<?= ...) par un tag long avec echo.
*
* @param String $chemin_squelette le chemin du fichier du squelette
*
* @return string le contenu du fichier du squelette php avec les tags courts remplacés.
*/
private static function traiterTagsCourts($chemin_squelette) {
$contenu = file_get_contents($chemin_squelette);
// Remplacement de tags courts par un tag long avec echo
$contenu = str_replace('<?=', '<?php echo ', $contenu);
// Ajout systématique d'un point virgule avant la fermeture php
$contenu = preg_replace("/;*\s*\?>/", "; ?>", $contenu);
return $contenu;
}
}
?>
Property changes:
Added: svn:eol-style
+native
\ No newline at end of property
/branches/v0.2-buhl/doc/PhpDoc/files/Registre.php.txt
New file
0,0 → 1,94
<?php
// declare(encoding='UTF-8');
/**
* 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/
*
*/
class Registre {
 
/**
* Tableau associatif stockant les variables
*/
private $stockage = array();
/**
* La classe registre se contient elle-même, (pour le pattern singleton)
*/
private static $registre;
 
/**
* Constructeur par défaut, privé, car on accède à la classe par le getInstance
*/
private function __construct() {
}
 
/**
* Fonction qui renvoie l'instance de classe en assurant son unicité, c'est l'unique méthode qui doit être
* utilisée pour récupérer l'objet Registre
*/
public static function getInstance() {
if (self::$registre instanceof Registre) {
return self::$registre;
}
self::$registre = new Registre;
return self::$registre;
}
 
/**
* Ajoute un objet au tableau selon un intitulé donné
* @param string l'intitulé sous lequel l'objet sera conservé
* @param mixed l'objet à conserver
*/
public function set($intitule, $objet) {
if (is_array($objet) && isset($this->stockage[$intitule])) {
$this->stockage[$intitule] = array_merge((array) $this->stockage[$intitule], (array) $objet);
$message = "Le tableau $intitule présent dans le registre a été fusionné avec un nouveau tableau de même intitulé !";
trigger_error($message, E_USER_WARNING);
} else {
$this->stockage[$intitule] = $objet;
}
}
 
/**
* Renvoie l'objet associé à l'intitulé donné en paramètre
* @return mixed l'objet associé à l'intitulé ou null s'il n'est pas présent
*/
public function get($intitule) {
if (isset($this->stockage[$intitule])) {
return $this->stockage[$intitule];
}
return null;
}
 
/**
* Détruit l'objet associé à l'intitulé, n'a pas d'effet si il n'y a pas d'objet associé
*/
public function detruire($intitule) {
if (isset($this->stockage[$intitule])) {
unset($this->stockage[$intitule]);
}
}
 
/**
* Teste si un objet est présent sous un intitulé donné
* @return boolean true si un objet associé à cet intitulé est présent, false sinon
*/
public function existe($intitule) {
if(isset($this->stockage[$intitule])){
return true;
}
return false;
}
}
?>
Property changes:
Added: svn:eol-style
+native
\ No newline at end of property
/branches/v0.2-buhl/doc/PhpDoc/files/Chronometre.php.txt
New file
0,0 → 1,152
<?php
// declare(encoding='UTF-8');
/** 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.
*
*
* 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/
*/
class Chronometre {
/*** Attributs : ***/
private $_temps = array();
 
/** Constructeur : **/
public function __construct() {
$this->setTemps(array('depart' => microtime()));
}
 
/** Accesseurs :
*
* @param string $cle la cle associée à un chronomètre particulier
*
* @return int le temps écoulé
*/
public function getTemps($cle = null) {
$temps = '';
if (!is_null($cle)) {
$temps = $this->_temps[$cle];
} else {
$temps = $this->_temps;
}
return $temps;
}
 
/** Setteur pour la variable temps
*
* @param array() $moment ajoute des points de chronométrage au tableau _temps
*
* @return null
*/
public function setTemps($moment = array ()) {
array_push($this->_temps, $moment);
}
 
/*** Méthodes : ***/
 
/** Méthode afficherChrono() -
* 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.
* 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>
*
* @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) {
// Création du chrono de fin
$GLOBALS['_SCRIPT_']['chrono']->setTemps(array (
'fin' => microtime()
));
 
// Début création de l'affichage
$sortie = str_repeat(' ', $indentation_origine) .
'<table id="chrono" lang="fr" summary="Résultat du
chronométrage du programme affichant la page actuelle.">' . "\n";
$sortie .= str_repeat(' ', ($indentation_origine + ($indentation * 1))) .
'<caption>Chronométrage</caption>' . "\n";
$sortie .= str_repeat(' ', ($indentation_origine + ($indentation * 1))) .
'<thead>' . "\n";
$sortie .= str_repeat(' ', ($indentation_origine + ($indentation * 2))) .
'<tr><th>Action</th><th>Temps écoulé (en s.)</th>
<th>Cumul du temps écoulé (en s.)</th></tr>' . "\n";
$sortie .= str_repeat(' ', ($indentation_origine + ($indentation * 1))) .
'</thead>' . "\n";
 
$tbody = str_repeat(' ', ($indentation_origine + ($indentation * 1))) .
'<tbody>' . "\n";
 
$total_tps_ecoule = 0;
 
// Récupération de la premiére mesure
$tab_depart = & $this->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 ($tab_temps as $cle => $valeur) {
list ($usec, $sec) = explode(' ', $valeur);
$tps_fin = ((float) $usec + (float) $sec);
 
$tps_ecoule = abs($tps_fin - $tps_debut);
$total_tps_ecoule += $tps_ecoule;
 
$tbody .= str_repeat(' ',
($indentation_origine + ($indentation * 2))) .
'<tr>' .
'<th>' . $cle . '</th>' .
'<td>' . number_format($tps_ecoule, 3, ',', ' ') . '</td>' .
'<td>' . number_format($total_tps_ecoule, 3, ',', ' ') . '</td>' .
'</tr>' . "\n";
$tps_debut = $tps_fin;
}
}
$tbody .= str_repeat(' ', ($indentation_origine + ($indentation * 1))) .
'</tbody>' . "\n";
 
$sortie .= str_repeat(' ', ($indentation_origine + ($indentation * 1))) .
'<tfoot>' . "\n";
$sortie .= str_repeat(' ', ($indentation_origine + ($indentation * 2))) .
'<tr>' .
'<th>' . 'Total du temps écoulé (en s.)' . '</th>' .
'<td colspan="2">' .
number_format($total_tps_ecoule, 3, ',', ' ') . '</td>' .
'</tr>' . "\n";
$sortie .= str_repeat(' ', ($indentation_origine + ($indentation * 1))) .
'</tfoot>' . "\n";
$sortie .= $tbody;
$sortie .= str_repeat(' ', $indentation_origine) .
'</table>' . "\n";
 
return $sortie;
}
}
?>
Property changes:
Added: svn:eol-style
+native
\ No newline at end of property
/branches/v0.2-buhl/doc/PhpDoc/files/Debug.php.txt
New file
0,0 → 1,123
<?php
// declare(encoding='UTF-8');
/**
* Classe fournissant des fonctions de débogage équivalante à var_dump et print_r.
* 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)
*/
class Debug {
 
/**
* mode de php (cli ou sapi)
*/
protected static $mode = null;
 
/**
* Accesseur pour le mode
* @return string le mode de php
*/
public static function getMode() {
if (self::$mode === null) {
self::$mode = PHP_SAPI;
}
return self::$mode;
}
 
/**
* Equivalent de var_dump
* @param mixed $variable la variable à dumper
* @param string $mot_cle le mot cle à associer à la variable
* @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) {
// var_dump de la variable dans un buffer et récupération de la sortie
ob_start();
var_dump($variable);
$sortie = ob_get_clean();
 
// Pré-traitement de la sortie
$sortie = preg_replace("/\]\=\>\n(\s+)/m", "] => ", $sortie);
 
// Traitement général du débogage
return self::traiterDebogage($mot_cle, $sortie, $echo);
}
 
/**
* 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) {
// Récupération de la sortie
$sortie = print_r($variable, true);
 
// Traitement général du débogage
return self::traiterDebogage($mot_cle, $sortie, $echo);
}
 
/**
* Traite une chaine de débogage et les mots clés associés
* @param string $mot_cle le mot à associer à la chaine
* @param string $sortie le chaine de debogage
* @param boolean $echo faire un echo du resultat ou non
* @return string la chaine de debogage formatée ou bien null si echo
*/
private static function traiterDebogage($mot_cle, $sortie, $echo) {
// Formate le mot-clé
$mot_cle = self::formaterMotCle($mot_cle);
 
// Traitement de la sortie
$sortie = self::traiterSortieSuivantMode($mot_cle, $sortie);
 
// Affichage et/ou retour
if (Config::get('fw_debogage') == true) {
if ($echo) {
echo $sortie;
return null;
} else {
return $sortie;
}
}
}
 
/**
* formate un mot clé donné
* @param string $mot_cle le mot clé à formaté
* @return string le mot clé formaté ou bien un chaine vide le mot clé est null ou vide
*/
private static function formaterMotCle($mot_cle) {
return ($mot_cle === null) ? '' : rtrim($mot_cle).' ';
}
 
/**
* traite la sortie de la chaine de débogage suivant le mode de php
* @param string $mot_cle le mot clé associé à la chaine
* @param string $sortie la chaine de débogage
* @return string la sortie formatée pour le mode en cours
*/
private static function traiterSortieSuivantMode($mot_cle, $sortie) {
$corps = $mot_cle.PHP_EOL.$sortie;
if (self::getMode() == 'cli') {
$sortie = PHP_EOL.$corps.PHP_EOL;
} else {
$sortie = '<pre>'.$corps.'</pre>';
}
return $sortie;
}
}
?>
Property changes:
Added: svn:eol-style
+native
\ No newline at end of property
/branches/v0.2-buhl/doc/PhpDoc/files/Url.php.html
New file
0,0 → 1,263
<!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>&#160;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>&#160;Errors <span class="label label-info pull-right">54</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;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&#160;&#160;<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-1374440870"></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 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/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>Url.php</h1>
<p><em></em></p>
 
<h2>Classes</h2>
<table class="table table-hover">
<tr>
<td><a href="../classes/Url.html">Url</a></td>
<td><em>classe Url, gérant le découpage des paramètres, leurs modification etc.</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/Url.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 12th, 2014 at 16:55.
</section>
</section>
</section>
</footer>
</div>
 
</body>
</html>
/branches/v0.2-buhl/doc/PhpDoc/files/Application.php.html
New file
0,0 → 1,263
<!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>&#160;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>&#160;Errors <span class="label label-info pull-right">54</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;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&#160;&#160;<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-282241088"></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 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/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>Application.php</h1>
<p><em></em></p>
 
<h2>Classes</h2>
<table class="table table-hover">
<tr>
<td><a href="../classes/Application.html">Application</a></td>
<td><em>Classe fournissant des informations au Framework sur l&#039;application.</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/Application.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 12th, 2014 at 16:55.
</section>
</section>
</section>
</footer>
</div>
 
</body>
</html>
/branches/v0.2-buhl/doc/PhpDoc/files/Modele.php.html
New file
0,0 → 1,263
<!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>&#160;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>&#160;Errors <span class="label label-info pull-right">54</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;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&#160;&#160;<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-44830500"></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 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/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>Modele.php</h1>
<p><em></em></p>
 
<h2>Classes</h2>
<table class="table table-hover">
<tr>
<td><a href="../classes/Modele.html">Modele</a></td>
<td><em>Classe modèle, donc d&#039;accés au données, elle ne devrait pas être appelée de l&#039;extérieur.</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/Modele.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 12th, 2014 at 16:55.
</section>
</section>
</section>
</footer>
</div>
 
</body>
</html>
/branches/v0.2-buhl/doc/PhpDoc/files/Config.php.html
New file
0,0 → 1,263
<!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>&#160;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>&#160;Errors <span class="label label-info pull-right">54</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;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&#160;&#160;<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-136517501"></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 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/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>Config.php</h1>
<p><em></em></p>
 
<h2>Classes</h2>
<table class="table table-hover">
<tr>
<td><a href="../classes/Config.html">Config</a></td>
<td><em>Config permet de charger automatiquement les fichiers ini du Framework et de l&#039;application.</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/Config.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 12th, 2014 at 16:55.
</section>
</section>
</section>
</footer>
</div>
 
</body>
</html>
/branches/v0.2-buhl/doc/PhpDoc/files/GestionnaireException.php.html
New file
0,0 → 1,263
<!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>&#160;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>&#160;Errors <span class="label label-info pull-right">54</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;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&#160;&#160;<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-1175767752"></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 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/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>GestionnaireException.php</h1>
<p><em></em></p>
 
<h2>Classes</h2>
<table class="table table-hover">
<tr>
<td><a href="../classes/GestionnaireException.html">GestionnaireException</a></td>
<td><em>Classe de gestion des exceptions.</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/GestionnaireException.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 12th, 2014 at 16:55.
</section>
</section>
</section>
</footer>
</div>
 
</body>
</html>
/branches/v0.2-buhl/doc/PhpDoc/files/Controleur.php.txt
New file
0,0 → 1,139
<?php
// declare(encoding='UTF-8');
/**
* Classe Controleur, coeur d'une application, c'est normalement la seule classe d'une application
* qui devrait être appelée de l'extérieur.
* Elle est abstraite donc doit obligatoirement être étendue.
*
* @category php5
* @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/
*
*/
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;
 
/**
* Constructeur par défaut
*/
public function __construct() {
$this->registre = Registre::getInstance();
$this->registre->set('base_chemin_modele', Config::get('chemin_modeles'));
$this->registre->set('base_chemin_squelette', Config::get('chemin_squelettes'));
$this->registre->set('base_chemin_controleur', Config::get('chemin_controleurs'));
$this->registre->set('base_url_application', new Url(Config::get('url_base')));
$this->verifierEtReencoderTableauRequete();
}
 
/**
* Charge un modele donné et le rend disponible sous la forme $this->nom_modele
*
* @param string $nom_modele le nom du modèle à  charger
*
* @return boolean false si le chargement a échoué, sinon true.
*/
final protected function chargerModele($nom_modele) {
$sortie = true;
$modele = $this->getModele($nom_modele);
if ($modele !== false) {
$this->$nom_modele = new $nom_modele;
} else {
$sortie = false;
}
return $sortie;
}
 
/**
* Retourne un modele donné
*
* @param string $nom_modele le nom du fichier modèle à charger sans son extension
* @param String $ext l'extension du fichier du modèel (par défaut : ".php"
*
* @return mixed false si le chargement a échoué, sinon l'objet du modèle demandé.
*/
final protected function getModele($nom_modele, $ext = '.php') {
$sortie = false;
$chemin_modele = $this->registre->get('base_chemin_modele').$nom_modele.$ext;
if (file_exists($chemin_modele)) {
include_once $chemin_modele;
if (class_exists($nom_modele)) {
$sortie = new $nom_modele;
}
}
return $sortie;
}
 
/**
* Fonction prenant en paramètre le nom d'un squelette et un tableau associatif de données,
* en extrait les variables, charge le squelette et retourne le résultat des deux combinés.
*
* @param String $nom_squelette le nom du squelette sans son extension
* @param Array $donnees un tableau associatif contenant les variables a injecter dans la vue
* @param String $ext l'extension du fichier du squelette (par défaut : ".tpl.html"
*
* @return boolean false si la vue n'existe pas, sinon la chaine résultat.
*/
final protected function getVue($nom_squelette, $donnees = array(), $ext = '.tpl.html') {
$donnees = $this->preTraiterDonnees($donnees);
$chemin_squelette = ($this->registre->get('base_chemin_squelette')).$nom_squelette.$ext;
$sortie = SquelettePhp::analyser($chemin_squelette, $donnees);
 
return $sortie;
}
 
/**
* Fonction prenant en paramètre un tableau de données et effectuant un traitement dessus.
* Cette fonction est à surcharger dans les classes filles pour automatiser un traitement
* avant chaque chargement de vue.
*
* @param Array $donnees Le tableau de données à traiter
*
* @return Array $donnees Le tableau de données traité
*/
protected function preTraiterDonnees($donnees) {
return $donnees;
}
 
/**
* Procédure vérifiant l'encodage des tableaux $_GET et $_POST et les transcodant dans l'encodage de l'application
*/
protected function verifierEtReencoderTableauRequete() {
if (self::$encodage == false && Config::get('sortie_encodage') != Config::get('appli_encodage')) {
$_POST = $this->encoderTableau($_POST, Config::get('appli_encodage'), Config::get('sortie_encodage'));
$_GET = $this->encoderTableau($_GET, Config::get('appli_encodage'), Config::get('sortie_encodage'));
self::$encodage = true;
}
}
 
/**
* 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
* @param $encodage_entree String l'encodage original des chaines du tableau (optionnel)
* @return Array Le tableau encodé dans l'encodage de sortie
*
*/
final protected function encoderTableau($tableau, $encodage_sortie, $encodage_entree = null) {
if (is_array($tableau)) {
foreach ($tableau as $cle => $valeur) {
if (is_array($valeur)) {
$tableau[$cle] = $this->encoderTableau($valeur, $encodage_sortie, $encodage_entree);
} else {
$tableau[$cle] = mb_convert_encoding($valeur, $encodage_sortie, $encodage_entree);
}
}
}
return $tableau;
}
}
?>
Property changes:
Added: svn:eol-style
+native
\ No newline at end of property
/branches/v0.2-buhl/doc/PhpDoc/files/Url.php.txt
New file
0,0 → 1,773
<?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/
*
*/
class Url
{
/**
* Parsing strict dans resoudre() (voir RFC 3986, section 5.2.2). Par défaut
* à true.
*/
const OPTION_STRICTE = 'strict';
 
/**
* Répresenter les tableaux dans les requêtes en utilisant la notation php []. Par défaut à true.
*/
const OPTION_UTILISER_CROCHETS = 'use_brackets';
 
/**
* URL-encoder les clés des variables dans les requêtes. Par défaut à true.
*/
const OPTION_ENCODER_CLES = 'encode_keys';
 
/**
* Séparateurs de variables lors du parsing de la requête. Chaque caractère
* est considéré comme un séparateur. Par défaut, spécifié par le paramêtre
* arg_separator.input dans php.ini (par défaut "&").
*/
const OPTION_SEPARATEUR_ENTREE = 'input_separator';
 
/**
* Séparateur de variables lors de la génération de la requête. Par défaut, spécifié
* par le paramètre arg_separator.output dans php.ini (par défaut "&").
*/
const OPTION_SEPARATEUR_SORTIE = 'output_separator';
 
/**
* Options par défaut correspondant au comportement de php
* vis à vis de $_GET
*/
private $options = array(
self::OPTION_STRICTE => true,
self::OPTION_UTILISER_CROCHETS => true,
self::OPTION_ENCODER_CLES => true,
self::OPTION_SEPARATEUR_ENTREE => 'x&',
self::OPTION_SEPARATEUR_SORTIE => 'x&');
 
/**
* @var string|bool
*/
private $schema = false;
 
/**
* @var string|bool
*/
private $infoUtilisateur = false;
 
/**
* @var string|bool
*/
private $hote = false;
 
/**
* @var int|bool
*/
private $port = false;
 
/**
* @var string
*/
private $chemin = '';
 
/**
* @var string|bool
*/
private $requete = false;
 
/**
* @var string|bool
*/
private $fragment = false;
 
/**
* @param string $url une URL relative ou absolue
* @param array $options
*/
public function __construct($url, $options = null) {
$this->setOption(self::OPTION_SEPARATEUR_ENTREE,
Config::get('fw_url_arg_separateur_entree'));
$this->setOption(self::OPTION_SEPARATEUR_SORTIE,
Config::get('fw_url_arg_separateur_sortie'));
if (is_array($options)) {
foreach ($options as $nomOption => $valeur) {
$this->setOption($nomOption);
}
}
 
if (preg_match('@^([a-z][a-z0-9.+-]*):@i', $url, $reg)) {
$this->schema = $reg[1];
$url = substr($url, strlen($reg[0]));
}
 
if (preg_match('@^//([^/#?]+)@', $url, $reg)) {
$this->setAutorite($reg[1]);
$url = substr($url, strlen($reg[0]));
}
 
$i = strcspn($url, '?#');
$this->chemin = substr($url, 0, $i);
$url = substr($url, $i);
 
if (preg_match('@^\?([^#]*)@', $url, $reg)) {
$this->requete = $reg[1];
$url = substr($url, strlen($reg[0]));
}
 
if ($url) {
$this->fragment = substr($url, 1);
}
}
 
/**
* Retourne le schéma, c.a.d. "http" ou "urn", ou false si aucun schéma n'est
* spécifié, i.e. l'url est une url relative
*
* @return string|bool
*/
public function getSchema() {
return $this->schema;
}
 
/**
* @param string|bool $schema
*
* @return void
* @see getSchema()
*/
public function setSchema($schema) {
$this->schema = $schema;
}
 
/**
* renvoie la partie user de la partie infoUtilisateur (partie précédant le premier
* ":"), ou false si aucune partie infoUtilisateur n'est définie.
*
* @return string|bool
*/
public function getUtilisateur() {
return $this->infoUtilisateur !== false ? preg_replace('@:.*$@', '', $this->infoUtilisateur) : false;
}
 
/**
* renvoie la partie mot de passe de la partie infoUtilisateur (partie après le premier
* ":"), , ou false si aucune partie infoUtilisateur n'est définie (i.e. l'URL ne contient
* pas de "@" en face du nom d'hôte) ou si la partie infoUtilisateur ne contient pas de ":".
*
* @return string|bool
*/
public function getMotDePasse() {
return $this->infoUtilisateur !== false ? substr(strstr($this->infoUtilisateur, ':'), 1) : false;
}
 
/**
* Renvoie la partie userinfio, ou false si celle-ci n'existe pas, i.e. si la partie
* autorité ne contient pas de "@"
*
* @return string|bool
*/
public function getInfoUtilisateur() {
return $this->infoUtilisateur;
}
 
/**
* Setteur pour la partie infoUtilisateur. Si deux argument sont passé, ils sont combinés
* dans la partie infoUtilisateur de cette manière username ":" password.
*
* @param string|bool $infoUtilisateur infoUtilisateur ou username
* @param string|bool $motDePasse
*
* @return void
*/
public function setInfoUtilisateur($infoUtilisateur, $motDePasse = false) {
$this->infoUtilisateur = $infoUtilisateur;
if ($motDePasse !== false) {
$this->infoUtilisateur .= ':' . $motDePasse;
}
}
 
/**
* Renvoie la partie hôte, ou false s'il n'y a pas de partie autorité, c.a.d.
* l'URL est relative.
*
* @return string|bool
*/
public function getHote() {
return $this->hote;
}
 
/**
* @param string|bool $hote
*
* @return void
*/
public function setHote($hote) {
$this->hote = $hote;
}
 
/**
* Renvoie le numéro de port, ou false si aucun numéro de port n'est spécifié,
* i.e. le port par défaut doit utilisé.
*
* @return int|bool
*/
public function getPort() {
return $this->port;
}
 
/**
* @param int|bool $port
*
* @return void
*/
public function setPort($port) {
$this->port = intval($port);
}
 
/**
* Renvoie la partie autorité, i.e. [ infoUtilisateur "@" ] hote [ ":" port ], ou
* false si celle-ci est absente.
*
* @return string|bool
*/
public function getAutorite() {
if (!$this->hote) {
return false;
}
 
$autorite = '';
 
if ($this->infoUtilisateur !== false) {
$autorite .= $this->infoUtilisateur . '@';
}
 
$autorite .= $this->hote;
 
if ($this->port !== false) {
$autorite .= ':' . $this->port;
}
 
return $autorite;
}
 
/**
* @param string|false $autorite
*
* @return void
*/
public function setAutorite($autorite) {
$this->user = false;
$this->pass = false;
$this->hote = false;
$this->port = false;
if (preg_match('@^(([^\@]+)\@)?([^:]+)(:(\d*))?$@', $autorite, $reg)) {
if ($reg[1]) {
$this->infoUtilisateur = $reg[2];
}
 
$this->hote = $reg[3];
if (isset($reg[5])) {
$this->port = intval($reg[5]);
}
}
}
 
/**
* Renvoie la partie chemin (chemin) (éventuellement vide).
*
* @return string
*/
public function getChemin() {
return $this->chemin;
}
 
/**
* @param string $chemin
*
* @return void
*/
public function setChemin($chemin) {
$this->chemin = $chemin;
}
 
/**
* renvoie la chaine de requête (requete string) (sans le premier "?"), ou false si "?"
* n'est pas présent dans l'url.
*
* @return string|bool
* @see self::getVariablesRequete()
*/
public function getRequete() {
return $this->requete;
}
 
/**
* @param string|bool $requete
*
* @return void
* @see self::setVariablesRequete()
*/
public function setRequete($requete) {
$this->requete = $requete;
}
 
/**
* Renvoie le nom du fragment, ou false si "#" n'est pas present dans l'URL.
*
* @return string|bool
*/
public function getFragment() {
return $this->fragment;
}
 
/**
* @param string|bool $fragment
*
* @return void
*/
public function setFragment($fragment) {
$this->fragment = $fragment;
}
 
/**
* Renvoie la requete string sous forme d'un tableau de variables telles qu'elles apparaitraient
* dans le $_GET d'un script PHP
*
* @return array
*/
public function getVariablesRequete() {
$pattern = '/' .
preg_quote($this->getOption(self::OPTION_SEPARATEUR_ENTREE), '/') .
'/';
$parties = preg_split($pattern, $this->requete, -1, PREG_SPLIT_NO_EMPTY);
$retour = array();
 
foreach ($parties as $partie) {
if (strpos($partie, '=') !== false) {
list($cle, $valeur) = explode('=', $partie, 2);
} else {
$cle = $partie;
$valeur = null;
}
 
if ($this->getOption(self::OPTION_ENCODER_CLES)) {
$cle = rawurldecode($cle);
}
$valeur = rawurldecode($valeur);
 
if ($this->getOption(self::OPTION_UTILISER_CROCHETS) &&
preg_match('#^(.*)\[([0-9a-z_-]*)\]#i', $cle, $matches)) {
 
$cle = $matches[1];
$idx = $matches[2];
 
// On s'assure que c'est bien un tableau
if (empty($retour[$cle]) || !is_array($retour[$cle])) {
$retour[$cle] = array();
}
 
// Ajout des données
if ($idx === '') {
$retour[$cle][] = $valeur;
} else {
$retour[$cle][$idx] = $valeur;
}
} elseif (!$this->getOption(self::OPTION_UTILISER_CROCHETS)
&& !empty($retour[$cle])
) {
$retour[$cle] = (array) $retour[$cle];
$retour[$cle][] = $valeur;
} else {
$retour[$cle] = $valeur;
}
}
 
return $retour;
}
 
/**
* @param array $tableau (nom => valeur) tableau
*
* @return void
*/
public function setVariablesRequete(array $tableau) {
if (!$tableau) {
$this->requete = false;
} else {
foreach ($tableau as $nom => $valeur) {
if ($this->getOption(self::OPTION_ENCODER_CLES)) {
$nom = rawurlencode($nom);
}
 
if (is_array($valeur)) {
foreach ($valeur as $k => $v) {
$parties[] = $this->getOption(self::OPTION_UTILISER_CROCHETS)
? sprintf('%s[%s]=%s', $nom, $k, $v)
: ($nom . '=' . $v);
}
} elseif (!is_null($valeur)) {
$parties[] = $nom . '=' . $valeur;
} else {
$parties[] = $nom;
}
}
$this->requete = implode($this->getOption(self::OPTION_SEPARATEUR_SORTIE),
$parties);
}
}
 
/**
* @param string $nom
* @param mixed $valeur
*
* @return array
*/
public function setVariableRequete($nom, $valeur) {
$tableau = $this->getVariablesRequete();
$tableau[$nom] = $valeur;
$this->setVariablesRequete($tableau);
}
 
/**
* @param string $nom
*
* @return void
*/
public function unsetVariableRequete($nom) {
$tableau = $this->getVariablesRequete();
unset($tableau[$nom]);
$this->setVariablesRequete($tableau);
}
/**
* @param array $noms tableau des noms de variable à supprimer de l'url.
*
* @return void
*/
public function unsetVariablesRequete($noms) {
$tableau = $this->getVariablesRequete();
foreach ($noms as $nom) {
unset($tableau[$nom]);
}
$this->setVariablesRequete($tableau);
}
 
/**
* Renvoie un représentation sous forme de chaine de l'URL
*
* @return string
*/
public function getURL() {
// Voir RFC 3986, section 5.3
$url = "";
 
if ($this->schema !== false) {
$url .= $this->schema . ':';
}
 
$autorite = $this->getAutorite();
if ($autorite !== false) {
$url .= '//' . $autorite;
}
$url .= $this->chemin;
 
if ($this->requete !== false) {
$url .= '?' . $this->requete;
}
 
if ($this->fragment !== false) {
$url .= '#' . $this->fragment;
}
 
return $url;
}
 
/**
* Renvoie une représentation de cette URL sous forme de chaine normalisée. Utile pour la
* comparaison d'URLs
*
* @return string
*/
public function getURLNormalisee() {
$url = clone $this;
$url->normaliser();
return $url->getUrl();
}
 
/**
* Renvoie une instance normalisée de Url
*
* @return Url
*/
public function normaliser() {
// See RFC 3886, section 6
 
// les cchémas sont insesibles à la casse
if ($this->schema) {
$this->schema = strtolower($this->schema);
}
 
// les noms d'hotes sont insensibles à la casse
if ($this->hote) {
$this->hote = strtolower($this->hote);
}
 
// Supprimer le numéro de port par défaut pour les schemas connus (RFC 3986, section 6.2.3)
if ($this->port &&
$this->schema &&
$this->port == getservbyname($this->schema, 'tcp')) {
 
$this->port = false;
}
 
// normalisation dans le cas d'un encodage avec %XX pourcentage (RFC 3986, section 6.2.2.1)
foreach (array('infoUtilisateur', 'hote', 'chemin') as $partie) {
if ($this->$partie) {
$this->$partie = preg_replace('/%[0-9a-f]{2}/ie', 'strtoupper("\0")', $this->$partie);
}
}
 
// normalisation des segments du chemin (RFC 3986, section 6.2.2.3)
$this->chemin = self::supprimerSegmentsAPoints($this->chemin);
 
// normalisation basée sur le schéma (RFC 3986, section 6.2.3)
if ($this->hote && !$this->chemin) {
$this->chemin = '/';
}
}
 
/**
* Renvoie vrai ou faux suivant que l'instance en cours représente une URL relative ou absolue.
*
* @return bool
*/
public function etreAbsolue() {
return (bool) $this->schema;
}
 
/**
* Renvoie une instance de Url représentant une URL absolue relative à
* cette URL.
*
* @param Url|string $reference URL relative
*
* @return Url
*/
public function resoudre($reference) {
if (is_string($reference)) {
$reference = new self($reference);
}
if (!$this->etreAbsolue()) {
throw new Exception('L\'URL de base doit être absolue !');
}
 
// Un parseur non strict peut choisir d'ignorer un schema dans la référence
// si celui ci est identique au schéma de base de l'URI.
if (!$this->getOption(self::OPTION_STRICTE) && $reference->schema == $this->schema) {
$reference->schema = false;
}
 
$cible = new self('');
if ($reference->schema !== false) {
$cible->schema = $reference->schema;
$cible->setAutorite($reference->getAutorite());
$cible->chemin = self::supprimerSegmentsAPoints($reference->chemin);
$cible->requete = $reference->requete;
} else {
$autorite = $reference->getAutorite();
if ($autorite !== false) {
$cible->setAutorite($autorite);
$cible->chemin = self::supprimerSegmentsAPoints($reference->chemin);
$cible->requete = $reference->requete;
} else {
if ($reference->chemin == '') {
$cible->chemin = $this->chemin;
if ($reference->requete !== false) {
$cible->requete = $reference->requete;
} else {
$cible->requete = $this->requete;
}
} else {
if (substr($reference->chemin, 0, 1) == '/') {
$cible->chemin = self::supprimerSegmentsAPoints($reference->chemin);
} else {
// Concaténation chemins (RFC 3986, section 5.2.3)
if ($this->hote !== false && $this->chemin == '') {
$cible->chemin = '/' . $this->chemin;
} else {
$i = strrpos($this->chemin, '/');
if ($i !== false) {
$cible->chemin = substr($this->chemin, 0, $i + 1);
}
$cible->chemin .= $reference->chemin;
}
$cible->chemin = self::supprimerSegmentsAPoints($cible->chemin);
}
$cible->requete = $reference->requete;
}
$cible->setAutorite($this->getAutorite());
}
$cible->schema = $this->schema;
}
 
$cible->fragment = $reference->fragment;
 
return $cible;
}
 
/**
* La suppression des segments à points est décrite dans la RFC 3986, section 5.2.4, e.g.
* "/foo/../bar/baz" => "/bar/baz"
*
* @param string $chemin un chemin
*
* @return string un chemin
*/
private static function supprimerSegmentsAPoints($chemin) {
$sortie = '';
 
// Assurons de ne pas nous retrouver piégés dans une boucle infinie due à un bug de
// cette méthode
$j = 0;
while ($chemin && $j++ < 100) {
// Étape A
if (substr($chemin, 0, 2) == './') {
$chemin = substr($chemin, 2);
} elseif (substr($chemin, 0, 3) == '../') {
$chemin = substr($chemin, 3);
 
// Étape B
} elseif (substr($chemin, 0, 3) == '/./' || $chemin == '/.') {
$chemin = '/' . substr($chemin, 3);
 
// Étape C
} elseif (substr($chemin, 0, 4) == '/../' || $chemin == '/..') {
$chemin = '/' . substr($chemin, 4);
$i = strrpos($sortie, '/');
$sortie = $i === false ? '' : substr($sortie, 0, $i);
 
// Étape D
} elseif ($chemin == '.' || $chemin == '..') {
$chemin = '';
 
// Étape E
} else {
$i = strpos($chemin, '/');
if ($i === 0) {
$i = strpos($chemin, '/', 1);
}
if ($i === false) {
$i = strlen($chemin);
}
$sortie .= substr($chemin, 0, $i);
$chemin = substr($chemin, $i);
}
}
 
return $sortie;
}
 
/**
* Renvoie une instance de Url representant l'URL canonique du script PHP
* en cours d'éxécution
*
* @return string
*/
public static function getCanonique() {
if (!isset($_SERVER['REQUEST_METHOD'])) {
// ALERT - pas d'URL en cours
throw new Exception('Le script n\'a pas été appellé à travers un serveur web');
}
 
// on part d'une URL relative
$url = new self($_SERVER['PHP_SELF']);
$url->schema = isset($_SERVER['HTTPS']) ? 'https' : 'http';
$url->hote = $_SERVER['SERVER_NAME'];
$port = intval($_SERVER['SERVER_PORT']);
if ($url->schema == 'http' && $port != 80 ||
$url->schema == 'https' && $port != 443) {
 
$url->port = $port;
}
return $url;
}
 
/**
* Renvoie l'URL utilisée pour récupérer la requête en cours
*
* @return string
*/
public static function getURLDemande() {
return self::getDemande()->getUrl();
}
 
/**
* Renvoie une instance de Url representant l'URL utilisée pour
* récupérer la requête en cours
*
* @return Url
*/
public static function getDemande() {
if (!isset($_SERVER['REQUEST_METHOD'])) {
// ALERTE - pas d'URL en cours
throw new Exception('Le script n\'a pas été appellé à travers un serveur web');
}
 
// On part d'une URL relative
$url = new self($_SERVER['REQUEST_URI']);
$url->schema = isset($_SERVER['HTTPS']) ? 'https' : 'http';
// On met à jour les valeurs de l'hote et si possible du port
$url->setAutorite($_SERVER['HTTP_hote']);
return $url;
}
 
/**
* Met à jour la valeur de l'option spécifiée.
*
* @param string $nomOption une des constantes commençant par self::OPTION_
* @param mixed $valeur valeur de l'option
*
* @return void
* @see self::OPTION_STRICTE
* @see self::OPTION_UTILISER_CROCHETS
* @see self::OPTION_ENCODER_CLES
*/
function setOption($nomOption, $valeur) {
if (!array_key_exists($nomOption, $this->options)) {
return false;
}
$this->options[$nomOption] = $valeur;
}
 
/**
* Renvoie la valeur de l'option specifiée.
*
* @param string $nomOption Nom de l'option demandée
*
* @return mixed
*/
function getOption($nomOption) {
return isset($this->options[$nomOption])
? $this->options[$nomOption] : false;
}
 
public function __toString() {
return $this->getURL();
}
}
 
Property changes:
Added: svn:eol-style
+native
\ No newline at end of property
/branches/v0.2-buhl/doc/PhpDoc/files/Application.php.txt
New file
0,0 → 1,96
<?php
// declare(encoding='UTF-8');
/**
* 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)
*/
class Application {
 
/**
* Tableau d'informations sur l'application
*/
private static $info = null;
/**
* Chemin de base de l'application
*/
private static $chemin = null;
 
/**
* Initialise différentes classes du Framework nécessaires pour le fonctionnement de l'application.
* Ces classes sont ensuites controlées via les fichiers de config.ini.
* Elle est appelée automatiquement suite à la définition du chemin de l'application via Application::setChemin().
*/
private static function initialiser() {
// Configuration du gestionnaire d'exception
GestionnaireException::configurer();
// Configuration du gestionnaire de logs
//Log::configurer();
}
 
/**
* Permet d'indiquer le chemin de base de l'Application.
* Cette méthode doit obligatoirement être utilisée par l'application pour que le Framework fonctionne correctement.
* @param string $chemin_fichier_principal chemin de base
*/
public static function setChemin($chemin_fichier_principal) {
if (self::$chemin === null) {
if (!file_exists($chemin_fichier_principal)) {
trigger_error("Le fichier indiqué n'existe pas. Utilisez __FILE__ dans la méthode set().", E_USER_ERROR);
} else {
self::$chemin = dirname($chemin_fichier_principal).DS;
self::initialiser();
}
} else {
trigger_error("Le chemin de l'application a déjà été enregistré auprès du Framework", E_USER_WARNING);
}
}
 
/**
* accesseur pour le chemin
* @return string le chemin
*/
public static function getChemin() {
return self::$chemin;
}
 
/** Le tableau des informations sur l'application possède les clés suivantes :
* - nom : nom de l'application
* - abr : abréviation de l'application
* - encodage : encodage de l'application (ISO-8859-15, UTF-8...)
*
* @param array $info tableau fournissant des informations sur l'application
* @return void
*/
public static function setInfo($info) {
if (self::$info === null) {
self::$info = $info;
} else {
trigger_error("Le informations de l'application ont déjà été enregistrées auprès du Framework", E_USER_WARNING);
}
}
 
/**
* accesseur pour le tableau d'infos
* @param string $cle la clé à laquelle on veut accéder
*/
public static function getInfo($cle = null) {
if ($cle !== null) {
if (isset(self::$info[$cle])) {
return self::$info[$cle];
}
} else {
return self::$info;
}
}
}
Property changes:
Added: svn:eol-style
+native
\ No newline at end of property
/branches/v0.2-buhl/doc/PhpDoc/files/autoload.inc.php.html
New file
0,0 → 1,453
<!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>&#160;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>&#160;Errors <span class="label label-info pull-right">54</span>
</a>
</li>
<li>
<a href="../reports/markers.html">
<i class="icon-list-alt"></i>&#160;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&#160;&#160;<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-700663673"></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 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/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>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&#039;application en se basant sur son propre emplacement.</em></p>
<p>PHP Version 5.1.2</p>
 
</div>
 
<aside class="span4 detailsbar">
<dl>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
category
</th>
<td>
<p>Fichier_De_Fonctions</p>
</td>
</tr>
<tr>
<th>
author
</th>
<td>
<p>Aurelien PERONNET <a href="mailto:aurelien@tela-botanica.org">aurelien@tela-botanica.org</a>
// Autres auteurs :</p>
<p>Jean-Pascal MILCENT <a href="mailto:jpm@tela-botanica.org">jpm@tela-botanica.org</a></p>
</td>
</tr>
<tr>
<th>
license
</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>
</td>
</tr>
<tr>
<th>
version
</th>
<td>
<p>$$Id: autoload.inc.php 188 2010-04-29 12:09:17Z jpm $$</p>
</td>
</tr>
<tr>
<th>
copyright
</th>
<td>
<p>1999-2009 Tela Botanica (accueil@tela-botanica.org)</p>
</td>
</tr>
</table>
 
</aside>
</div>
 
<div class="row-fluid">
<section class="span8 content file">
<h2>Constants</h2>
</section>
<aside class="span4 detailsbar"></aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="constant_DS" name="constant_DS" class="anchor"></a>
<article id="constant_DS" class="constant">
<h3 class="">DS</h3>
<pre class="signature">DS</pre>
<p><em></em></p>
</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">autoload.inc.php</div></a></dd>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="constant_PS" name="constant_PS" class="anchor"></a>
<article id="constant_PS" class="constant">
<h3 class="">PS</h3>
<pre class="signature">PS</pre>
<p><em></em></p>
</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">autoload.inc.php</div></a></dd>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</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_autoloadFw" name="method_autoloadFw" class="anchor"></a>
<article class="method">
<h3 class=" ">autoloadFw()</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;">autoloadFw( <span class="argument">$nom_classe_fw</span>)</pre>
<p><em></em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td></td>
<td>$nom_classe_fw</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">autoload.inc.php</div></a></dd>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_autoloadAppliDefaut" name="method_autoloadAppliDefaut" class="anchor"></a>
<article class="method">
<h3 class=" ">autoloadAppliDefaut()</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;">autoloadAppliDefaut( <span class="argument">$nom_classe</span>)</pre>
<p><em></em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td></td>
<td>$nom_classe</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">autoload.inc.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">
<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/autoload.inc.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 12th, 2014 at 16:55.
</section>
</section>
</section>
</footer>
</div>
 
</body>
</html>
/branches/v0.2-buhl/doc/PhpDoc/files/Config.php.txt
New file
0,0 → 1,265
<?php
// declare(encoding='UTF-8');
/**
* Config permet de charger automatiquement les fichiers ini du Framework et de l'application.
* 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/
*/
 
class Config {
 
/**
* instance de la classe pointant sur elle même (pour le pattern singleton)
*/
private static $instance = null;
 
/**
* paramètres de configuration
*/
private static $parametres = array();
 
/**
* Constructeur vide
*/
private function __construct() {
// Définition de paramètres avant chargement du config.ini
self::$parametres = array(
'fw_fichier_config' => 'config%s.ini',
'fw_chemin' => dirname(__FILE__).DS
);
 
// Chargement du fichier config.ini du Framework
$existe = self::parserFichierIni(self::$parametres['fw_chemin'].sprintf(self::$parametres['fw_fichier_config'], ''));
if ($existe === false) {
trigger_error("Veuillez configurer le Framework en renommant le fichier config.defaut.ini en config.ini.", E_USER_ERROR);
}
 
// Chargement du fichier config.ini par défaut de l'application
$chemin_config_defaut_appli = self::$parametres['chemin_configurations'].sprintf(self::$parametres['fw_fichier_config'], '');
self::parserFichierIni($chemin_config_defaut_appli);
 
// Chargement des fichiers config.ini contextuels
if (PHP_SAPI == 'cli') {// mode console
foreach ($_SERVER['argv'] as $cle => $valeur) {
if ($valeur == '-contexte') {
chargerFichierContexte($_SERVER['argv'][($cle+1)]);
break;
}
}
} else {// mode web
// Pour Papyrus
if (defined('PAP_VERSION')) {
self::chargerFichierContexte('papyrus');
}
// Via le fichie .ini par défaut de l'appli
if (Config::existeValeur('info.contexte', self::$parametres)) {
self::chargerFichierContexte(Config::get('info.contexte'));
}
 
// Chargement du contexte présent dans le GET
if (isset($_GET['contexte'])) {
self::chargerFichierContexte($_GET['contexte']);
}
 
// Chargement du contexte présent dans le POST
if (isset($_POST['contexte'])) {
self::chargerFichierContexte($_POST['contexte']);
}
}
}
 
/**
* Charge le fichier de config correspondant au contexte
* @param string $contexte le contexte
*/
private static function chargerFichierContexte($contexte) {
$chemin_config_appli_contextuel = self::$parametres['chemin_configurations'];
$chemin_config_appli_contextuel .= sprintf(self::$parametres['fw_fichier_config'], '_'.$contexte);
self::parserFichierIni($chemin_config_appli_contextuel);
}
 
/**
* Parse le fichier ini donné en paramètre
* @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) {
$retour = false;
if (file_exists($fichier_ini)) {
$ini = parse_ini_file($fichier_ini, true);
$ini = self::analyserTableauIni($ini);
self::fusionner($ini);
$retour = true;
}
return $retour;
}
 
/**
* fusionne un tableau de paramètres avec le tableau de paramètres global
* @param array $ini le tableau à fusionner
*/
private static function fusionner(array $ini) {
self::$parametres = array_merge(self::$parametres, $ini);
}
 
/**
* renvoie la valeur demandé grâce une chaine de paramètres
* @param string $param la chaine de paramètres
* @param array $config le tableau de paramètre
* @return string la valeur de la chaine demandée
*/
private static function getValeur($param, $config) {
if ($param === null) {
return null;
} else {
if (isset($config[$param])) {
return $config[$param];
} else if (strpos($param, '.') !== false) {
$pieces = explode('.', $param, 2);
if (strlen($pieces[0]) && strlen($pieces[1])) {
if (isset($config[$pieces[0]])) {
if (is_array($config[$pieces[0]])) {
return self::getValeur($pieces[1], $config[$pieces[0]]);
}
}
}
} else {
return null;
}
}
}
 
/**
* Teste si param existe dans le tableau config
* @param string $param nom du paramètre
* @param array tableau de configuration
*/
private static function existeValeur($param, $config) {
$retour = false;
if (self::getValeur($param, $config) !== null) {
$retour = true;
}
return $retour;
}
 
/**
* 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 Config();
}
}
 
/**
* analyse un tableau de paramètres
* @param array $config le tableau de paramètres
* @return array le tableau analysé
*/
private static function analyserTableauIni($config = array()) {
foreach ($config as $cle => &$valeur) {
if (is_array($valeur)) {
$config[$cle] = self::analyserTableauIni($valeur);
} else {
self::evaluerReferences($config, $cle);
self::evaluerPhp($config, $cle);
self::evaluerCle($config, $cle, $config[$cle]);
}
}
return $config;
}
 
/**
* dans le cas des chaine de configuration à sous clé (ex.: cle.souscle)
* evalue les valeurs correspondantes et crée les sous tableaux associés
* @param array $config tableau de configuration (par référence)
* @param string $cle la cle dans le tableau
* @param string $valeur la valeur à affecter
*/
private static function evaluerCle(&$config, $cle, $valeur) {
if (strpos($cle, '.') !== false) {
unset($config[$cle]);
$pieces = explode('.', $cle, 2);
if (strlen($pieces[0]) && strlen($pieces[1])) {
if (isset($config[$pieces[0]]) && !is_array($config[$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 {
$config[$pieces[0]][$pieces[1]] = $valeur;
$config[$pieces[0]] = self::evaluerCle($config[$pieces[0]], $pieces[1], $valeur);
}
} else {
$m = "Clé invalide '$cle'";
trigger_error($m, E_USER_WARNING);
}
} else {
$config[$cle] = $valeur;
}
return $config;
}
 
/**
* Evalue les valeurs de références à une clé dans le tableau config (cas du ref:cle)
* @param array $config tableau de configuration
* @param string $cle la clé dont il faut évaluer les références
*/
private static function evaluerReferences(&$config, $cle) {
if (preg_match_all('/{ref:([A-Za-z0-9_.-]+)}/', $config[$cle], $correspondances, PREG_SET_ORDER)) {
foreach ($correspondances as $ref) {
$config[$cle] = str_replace($ref[0], self::getValeur($ref[1], $config), $config[$cle]);
}
}
}
 
/**
* Evalue le code php contenu dans un clé tu tableau config
* @param array $config tableau de configuration (par référence)
* @param string $cle le clé du tableau dont il faut évaluer la valeur
*/
private static function evaluerPhp(&$config, $cle) {
if (preg_match('/^php:(.+)$/', $config[$cle], $correspondances)) {
eval('$config["'.$cle.'"] = '.$correspondances[1].';');
}
}
 
/**
* Charge un fichier ini dans le tableau des paramètres de l'appli
* @param string $fichier_ini le nom du fichier à charger
* @return array le fichier ini parsé
*/
public static function charger($fichier_ini) {
self::verifierCreationInstance();
return self::parserFichierIni($fichier_ini);
}
 
/**
* Acesseur pour la valeur d'un paramètre
* @param string $param le nom du paramètre
* @return string la valeur du paramètre
*/
public static function get($param = null) {
self::verifierCreationInstance();
return self::getValeur($param, self::$parametres);
}
 
/**
* Vérifie si la valeur d'un paramètre existe
* @param string $param le nom du paramètre
* @return boolean vrai si le paramètre existe, false sinon
*/
public static function existe($param) {
self::verifierCreationInstance();
return self::existeValeur($param, self::$parametres);
}
}
?>
Property changes:
Added: svn:eol-style
+native
\ No newline at end of property
/branches/v0.2-buhl/doc/PhpDoc/files/Modele.php.txt
New file
0,0 → 1,347
<?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/
*
*/
abstract class Modele {
 
/**
* Mode de fetch associatif
*/
private $ASSOC = '';
/**
* Mode de fetch objet
*/
private $OBJECT = '';
 
/**
* abstraction de base de données utilisée
*/
private $abstraction;
/**
* registre global
*/
private $registre;
/**
* DSN pour accéder à la base de données
*/
private $dsn;
/**
* Type de base de données (mysql, mysqli, etc ...)
*/
private $type;
/**
* Hote herbergeant la base de données
*/
private $hote;
/**
* Nom de la base de données à laquelle le modèle doit se connecter
*/
private $bdd_nom;
/**
* Nom d'utilisateur
*/
private $utilisateur;
/**
* Mot de passe
*/
private $pass;
 
/**
* Encodage de la base de données
*/
private $encodage = null;
/**
* Connexion à la base de données
*/
private $connexion = null;
 
/**
* Constructeur par défaut, appelé à l'initialisation.
*/
public function __construct() {
// les différents paramètres nécessaires sont lus à partir du registre
$this->registre = Registre::getInstance();
$this->abstraction = strtolower(Config::get('bdd_abstraction'));
$this->type = Config::get('bdd_protocole');
$this->hote = Config::get('bdd_serveur');
$this->bdd_nom = Config::get('bdd_nom');
$this->utilisateur = Config::get('bdd_utilisateur');
$this->pass = Config::get('bdd_mot_de_passe');
$this->encodage = Config::get('bdd_encodage');
 
$this->dsn = $this->type.':dbname='.$this->bdd_nom.';host='.$this->hote;
$this->initialiserProtocole();
}
 
/**
* Connection à la base de données en utilisant les informations fournies par
* le fichier de configuration.
* private et final car n'a pas vocation a être appelée par l'utilisateur.
*
* @throws Exception une exception dans le cas ou là connexion échoue
*/
final private function connecter() {
switch ($this->abstraction) {
case 'pdo':
try {
$this->connexion = new PDO($this->dsn, $this->utilisateur, $this->pass);
$this->connexion->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
throw new Exception('Erreur de connexion à la base de données : '.$e->getMessage());
}
break;
 
case 'mysql':
$this->connexion = mysql_connect($this->hote,$this->utilisateur,$this->pass);
if ($this->connexion != null) {
mysql_select_db($this->bdd_nom, $this->connexion);
} else {
throw new Exception('Erreur de connexion à la base de données, vérifiez les paramètres du fichier de configuration');
}
break;
 
case 'mysqli':
$this->connexion = new mysqli($this->hote,$this->utilisateur,$this->pass, $this->bdd_nom);
if (!$this->connexion) {
throw new Exception('Erreur de connexion à la base de données, vérifiez les paramètres du fichier de configuration');
return;
}
break;
 
case 'sqlite3':
// cas particulier de sqllite, on considère que le nom de la base de données correspond au fichier à ouvrir
$this->connexion = new SQLite3($this->bdd_nom);
if (!$this->connexion) {
throw new Exception('Erreur de connexion à la base de données, vérifiez les paramètres du fichier de configuration');
return;
}
break;
 
default:
$this->connexion = null;
}
 
if ($this->encodage != null) {
$this->requete("SET names '".$this->encodage."'");
}
}
 
/**
* Fonction qui appelle la bonne fonction pour executer une requête suivant le type de bdd.
*
* @param string la requete à effectuer
* @return PDOStatement un objet contenant le résultat de la requête
*/
final protected function requete($requete) {
// on ne se connecte que lors du premier appel à une requete (lazy connexion)
if ($this->connexion == null) {
$this->connecter();
}
 
$retour = null;
 
switch ($this->abstraction) {
case 'pdo':
$retour = $this->connexion->query($requete);
break;
case 'mysql':
$retour = mysql_query($requete,$this->connexion);
break;
case 'mysqli':
$retour = $this->connexion->query($requete);
break;
case 'sqlite3':
$retour = $this->connexion->exec($requete);
break;
}
 
return $retour;
}
 
final protected function requeteUn($requete,$mode = 'ASSOC') {
// Connection seulement lors du premier appel à une requete (lazy connexion)
if ($this->connexion == null) {
$this->connecter();
}
 
$retour = null;
switch ($this->abstraction) {
case 'pdo':
try {
$res_req = $this->connexion->query($requete);
$retour = ($res_req !== false) ? $res_req->fetch($this->$mode) : $res_req;
} catch (PDOException $e) {
$message = 'Requête echec. Fichier : "%s". Ligne : "%s". Message : %s';
trigger_error(sprintf($message, $e->getFile(), $e->getLine(), $e->getMessage()), E_USER_WARNING);
}
break;
case 'mysql':
$res = mysql_query($requete,$this->connexion);
$fonction_fetch = $this->$mode;
$retour = $fonction_fetch($res);
break;
case 'mysqli':
$res = $this->connexion->query($requete);
$fonction_fetch = $this->$mode;
$retour = $res->$fonction_fetch();
break;
case 'sqlite3':
$retour = $this->connexion->querySingle($requete);
break;
}
 
return $retour;
}
 
 
final protected function requeteTous($requete,$mode = 'ASSOC') {
// Connexion seulement lors du premier appel à une requete (lazy connexion)
if ($this->connexion == null) {
$this->connecter();
}
 
$retour = null;
 
switch ($this->abstraction) {
case 'pdo':
try {
$res_req = $this->connexion->query($requete);
if ($res_req !== false) {
$retour = $res_req->fetchAll($this->$mode);
} else {
$retour = false;
}
} catch (PDOException $e) {
$message = 'Requête echec. Fichier : "%s". Ligne : "%s". Message : %s';
trigger_error(sprintf($message, $e->getFile(), $e->getLine(), $e->getMessage()), E_USER_WARNING);
}
break;
case 'mysql':
$res = mysql_query($requete, $this->connexion);
$fonction_fetch = $this->$mode;
while ($ligne = $fonction_fetch($res)) {
$retour[] = $ligne;
}
break;
case 'mysqli':
$res = $this->connexion->query($requete);
$function_fetch = $this->$mode;
while ($ligne = $res->$function_fetch()) {
$retour[] = $ligne;
}
break;
case 'sqlite3':
$res = $this->connexion->query($requete);
while ($ligne = $res->fetch_array($this->ASSOC)) {
if ($mode == $this->ASSOC) {
$retour[] = $ligne;
} elseif ($mode == $this->OBJECT) {
// cas particulier de sqllite
// qui n'a pas de fonction fetch_object
$ligneObjet = new stdClass();
foreach ($ligne as $colonne => $valeur) {
$ligneObjet->$colonne = $valeur;
}
$retour[] = $ligneObjet;
}
}
break;
}
 
return $retour;
}
 
/**
* protège une chaine de caractères avant l'insertion dans la base de données
*/
final protected function proteger($chaine) {
// on ne se connecte que lors du premier appel à une requete
if ($this->connexion == null) {
$this->connecter();
}
 
$retour = $chaine;
switch ($this->abstraction) {
case 'pdo':
$retour = $this->connexion->quote($chaine);
break;
case 'mysql':
$retour = '"'.mysql_real_escape_string($chaine, $this->connexion).'"';
break;
case 'mysqli':
$retour = '"'.$this->connexion->real_escape_string($chaine).'"';
break;
case 'sqlite3':
$retour = $this->connexion->escapeString($chaine);
break;
}
return $retour;
}
 
/**
* initialise les constantes de classe à leur bonne valeur
* et lance une exception si le protocole n'est pas bien défini
* @throws Exception
*/
final public function initialiserProtocole() {
 
switch ($this->abstraction) {
case 'pdo':
$this->ASSOC = PDO::FETCH_ASSOC;
$this->OBJECT = PDO::FETCH_CLASS;
break;
case 'mysql':
$this->ASSOC = 'mysql_fetch_assoc';
$this->OBJECT = 'mysql_fetch_object';
break;
case 'mysqli':
$this->ASSOC = 'fetch_assoc';
$this->OBJECT = 'fetch_object';
break;
case 'sqlite3':
$this->ASSOC = 'SQLITE3_ASSOC';
$this->OBJECT = 'SQLITE3_OBJECT';
break;
default:
throw new Exception('Erreur : l\'abstraction '.$this->abstraction.' n\'est pas prise en charge');
break;
}
}
 
/**
* Destructeur de classe, se contente de fermer explicitement la connexion
*/
final public function __destruct() {
switch ($this->abstraction) {
case 'pdo':
$this->connexion = null;
break;
case 'mysql':
return mysql_close($this->connexion);
break;
case 'mysqli':
$this->connexion->close();
break;
case 'sqlite3':
$this->connexion->close();
break;
}
}
}
?>
Property changes:
Added: svn:eol-style
+native
\ No newline at end of property
/branches/v0.2-buhl/doc/PhpDoc/phpdoc-cache-52/phpdoc-cache-file_95ac810071946135cd004f6a2d287311.dat
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v0.2-buhl/doc/PhpDoc/phpdoc-cache-52/phpdoc-cache-file_95ac810071946135cd004f6a2d287311.dat
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v0.2-buhl/doc/PhpDoc/phpdoc-cache-ee/phpdoc-cache-file_e965cec598c00a2d5d5168fd61752edc.dat
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v0.2-buhl/doc/PhpDoc/phpdoc-cache-ee/phpdoc-cache-file_e965cec598c00a2d5d5168fd61752edc.dat
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v0.2-buhl/doc/PhpDoc/images/hierarchy-item.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/branches/v0.2-buhl/doc/PhpDoc/images/hierarchy-item.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/branches/v0.2-buhl/doc/PhpDoc/images/favicon.ico
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v0.2-buhl/doc/PhpDoc/images/favicon.ico
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v0.2-buhl/doc/PhpDoc/images/apple-touch-icon-72x72.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/branches/v0.2-buhl/doc/PhpDoc/images/apple-touch-icon-72x72.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/branches/v0.2-buhl/doc/PhpDoc/images/custom-icons.svg
New file
0,0 → 1,116
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
 
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="220"
height="220"
id="svg2"
version="1.1"
inkscape:version="0.48.3.1 r9886"
sodipodi:docname="custom-icons.svg">
<defs
id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:zoom="2.4181818"
inkscape:cx="60.37594"
inkscape:cy="110"
inkscape:document-units="px"
inkscape:current-layer="layer4"
showgrid="false"
inkscape:window-width="1366"
inkscape:window-height="718"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:showpageshadow="false"
fit-margin-top="10"
fit-margin-left="10"
fit-margin-right="10"
fit-margin-bottom="10" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Background"
inkscape:groupmode="layer"
id="layer1"
transform="translate(7.0217361,8.0694962)"
sodipodi:insensitive="true">
<path
style="fill:#333333;fill-opacity:1;stroke:none"
d="M 60,10 C 32.3,10 10,32.3 10,60 l 0,100 c 0,27.7 22.3,50 50,50 l 100,0 c 27.7,0 50,-22.3 50,-50 L 210,60 C 210,32.3 187.7,10 160,10 L 60,10 z m 8.90625,17.78125 82.1875,0 c 22.7744,0 41.125,18.350601 41.125,41.125 l 0,82.1875 c 0,22.7744 -18.3506,41.125 -41.125,41.125 l -82.1875,0 c -22.774399,0 -41.125,-18.3506 -41.125,-41.125 l 0,-82.1875 c 0,-22.774399 18.350601,-41.125 41.125,-41.125 z"
transform="translate(-7.0217361,-8.0694962)"
id="rect4991"
inkscape:connector-curvature="0" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Class"
style="display:none"
sodipodi:insensitive="true">
<g
style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#333333;fill-opacity:1;stroke:none;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
id="text3761">
<path
d="m 119.775,168.98893 c -8.84006,0 -16.77338,-1.36 -23.8,-4.08 -7.026702,-2.71999 -12.976696,-6.68665 -17.85,-11.9 -4.873353,-5.32664 -8.613349,-11.78664 -11.22,-19.38 -2.606677,-7.59329 -3.910009,-16.31995 -3.91,-26.18 -9e-6,-9.859927 1.473322,-18.586585 4.42,-26.179996 3.059983,-7.59324 7.196646,-13.996567 12.41,-19.21 5.213302,-5.326557 11.333296,-9.349886 18.36,-12.07 7.02662,-2.719881 14.56327,-4.079879 22.61,-4.08 4.87326,1.21e-4 9.29326,0.396787 13.26,1.19 3.96658,0.680119 7.42325,1.473452 10.37,2.38 2.94657,0.906783 5.38324,1.870115 7.31,2.89 1.92657,1.020113 3.28657,1.756779 4.08,2.21 l -6.29,17.51 c -2.72009,-1.699904 -6.63009,-3.286569 -11.73,-4.76 -4.98675,-1.586566 -10.42674,-2.379898 -16.32,-2.38 -5.10006,1.02e-4 -9.86006,0.906768 -14.28,2.72 -4.42005,1.700097 -8.273379,4.306761 -11.56,7.82 -3.173372,3.513421 -5.666703,7.933417 -7.48,13.26 -1.813366,5.326739 -2.720032,11.503396 -2.72,18.529996 -3.2e-5,6.23339 0.679967,11.95672 2.04,17.17 1.473298,5.21337 3.683296,9.7467 6.63,13.6 2.946623,3.74003 6.68662,6.68669 11.22,8.84 4.53328,2.04002 9.97327,3.06002 16.32,3.06 7.59326,2e-5 13.76992,-0.73665 18.53,-2.21 4.75991,-1.58664 8.44324,-3.05997 11.05,-4.42 l 5.78,17.51 c -1.3601,0.90668 -3.2301,1.81334 -5.61,2.72 -2.26676,0.90667 -4.98676,1.81334 -8.16,2.72 -3.17342,0.79334 -6.74342,1.41667 -10.71,1.87 -3.96674,0.56667 -8.21674,0.85 -12.75,0.85"
style="font-size:170px;font-weight:500;fill:#333333;-inkscape-font-specification:Ubuntu Medium"
id="path5013"
inkscape:connector-curvature="0" />
</g>
</g>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Interface"
style="display:none"
sodipodi:insensitive="true">
<g
style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#333333;fill-opacity:1;stroke:none;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
id="text3761-9">
<path
d="m 99.289993,48.628934 21.419997,0 0,117.809996 -21.419997,0 0,-117.809996"
style="font-size:170px;font-weight:500;fill:#333333;-inkscape-font-specification:Ubuntu Medium"
id="path5086"
inkscape:connector-curvature="0" />
</g>
</g>
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="Trait"
style="display:inline"
sodipodi:insensitive="true">
<g
style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#333333;fill-opacity:1;stroke:none;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
id="text3761-7">
<path
d="m 154.67148,48.628934 0,18.53 -36.21,0 0,99.279996 -21.589995,0 0,-99.279996 -36.21,0 0,-18.53 94.009995,0"
style="font-size:170px;font-weight:500;fill:#333333;-inkscape-font-specification:Ubuntu Medium"
id="path5089"
inkscape:connector-curvature="0" />
</g>
</g>
</svg>
/branches/v0.2-buhl/doc/PhpDoc/images/icon-interface.svg
New file
0,0 → 1,73
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
 
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
version="1.1"
width="220"
height="220"
id="svg2">
<defs
id="defs4" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
transform="translate(7.0217361,8.0694962)"
id="layer1">
<path
d="M 60,10 C 32.3,10 10,32.3 10,60 l 0,100 c 0,27.7 22.3,50 50,50 l 100,0 c 27.7,0 50,-22.3 50,-50 L 210,60 C 210,32.3 187.7,10 160,10 L 60,10 z m 8.90625,17.78125 82.1875,0 c 22.7744,0 41.125,18.350601 41.125,41.125 l 0,82.1875 c 0,22.7744 -18.3506,41.125 -41.125,41.125 l -82.1875,0 c -22.774399,0 -41.125,-18.3506 -41.125,-41.125 l 0,-82.1875 c 0,-22.774399 18.350601,-41.125 41.125,-41.125 z"
transform="translate(-7.0217361,-8.0694962)"
id="rect4991"
style="fill:#333333;fill-opacity:1;stroke:none" />
</g>
<g
id="layer2"
style="display:none">
<g
id="text3761"
style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#333333;fill-opacity:1;stroke:none;font-family:Ubuntu;-inkscape-font-specification:Ubuntu">
<path
d="m 119.775,168.98893 c -8.84006,0 -16.77338,-1.36 -23.8,-4.08 -7.026702,-2.71999 -12.976696,-6.68665 -17.85,-11.9 -4.873353,-5.32664 -8.613349,-11.78664 -11.22,-19.38 -2.606677,-7.59329 -3.910009,-16.31995 -3.91,-26.18 -9e-6,-9.859927 1.473322,-18.586585 4.42,-26.179996 3.059983,-7.59324 7.196646,-13.996567 12.41,-19.21 5.213302,-5.326557 11.333296,-9.349886 18.36,-12.07 7.02662,-2.719881 14.56327,-4.079879 22.61,-4.08 4.87326,1.21e-4 9.29326,0.396787 13.26,1.19 3.96658,0.680119 7.42325,1.473452 10.37,2.38 2.94657,0.906783 5.38324,1.870115 7.31,2.89 1.92657,1.020113 3.28657,1.756779 4.08,2.21 l -6.29,17.51 c -2.72009,-1.699904 -6.63009,-3.286569 -11.73,-4.76 -4.98675,-1.586566 -10.42674,-2.379898 -16.32,-2.38 -5.10006,1.02e-4 -9.86006,0.906768 -14.28,2.72 -4.42005,1.700097 -8.273379,4.306761 -11.56,7.82 -3.173372,3.513421 -5.666703,7.933417 -7.48,13.26 -1.813366,5.326739 -2.720032,11.503396 -2.72,18.529996 -3.2e-5,6.23339 0.679967,11.95672 2.04,17.17 1.473298,5.21337 3.683296,9.7467 6.63,13.6 2.946623,3.74003 6.68662,6.68669 11.22,8.84 4.53328,2.04002 9.97327,3.06002 16.32,3.06 7.59326,2e-5 13.76992,-0.73665 18.53,-2.21 4.75991,-1.58664 8.44324,-3.05997 11.05,-4.42 l 5.78,17.51 c -1.3601,0.90668 -3.2301,1.81334 -5.61,2.72 -2.26676,0.90667 -4.98676,1.81334 -8.16,2.72 -3.17342,0.79334 -6.74342,1.41667 -10.71,1.87 -3.96674,0.56667 -8.21674,0.85 -12.75,0.85"
id="path5013"
style="font-size:170px;font-weight:500;fill:#333333;-inkscape-font-specification:Ubuntu Medium" />
</g>
</g>
<g
id="layer3"
style="display:inline">
<g
id="text3761-9"
style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#333333;fill-opacity:1;stroke:none;font-family:Ubuntu;-inkscape-font-specification:Ubuntu">
<path
d="m 99.289993,48.628934 21.419997,0 0,117.809996 -21.419997,0 0,-117.809996"
id="path5086"
style="font-size:170px;font-weight:500;fill:#333333;-inkscape-font-specification:Ubuntu Medium" />
</g>
</g>
<g
id="layer4"
style="display:none">
<g
id="text3761-7"
style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#333333;fill-opacity:1;stroke:none;font-family:Ubuntu;-inkscape-font-specification:Ubuntu">
<path
d="m 154.67148,48.628934 0,18.53 -36.21,0 0,99.279996 -21.589995,0 0,-99.279996 -36.21,0 0,-18.53 94.009995,0"
id="path5089"
style="font-size:170px;font-weight:500;fill:#333333;-inkscape-font-specification:Ubuntu Medium" />
</g>
</g>
</svg>
/branches/v0.2-buhl/doc/PhpDoc/images/icon-interface-13x13.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/branches/v0.2-buhl/doc/PhpDoc/images/icon-interface-13x13.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/branches/v0.2-buhl/doc/PhpDoc/images/icon-trait.svg
New file
0,0 → 1,73
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
 
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
version="1.1"
width="220"
height="220"
id="svg2">
<defs
id="defs4" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
transform="translate(7.0217361,8.0694962)"
id="layer1">
<path
d="M 60,10 C 32.3,10 10,32.3 10,60 l 0,100 c 0,27.7 22.3,50 50,50 l 100,0 c 27.7,0 50,-22.3 50,-50 L 210,60 C 210,32.3 187.7,10 160,10 L 60,10 z m 8.90625,17.78125 82.1875,0 c 22.7744,0 41.125,18.350601 41.125,41.125 l 0,82.1875 c 0,22.7744 -18.3506,41.125 -41.125,41.125 l -82.1875,0 c -22.774399,0 -41.125,-18.3506 -41.125,-41.125 l 0,-82.1875 c 0,-22.774399 18.350601,-41.125 41.125,-41.125 z"
transform="translate(-7.0217361,-8.0694962)"
id="rect4991"
style="fill:#333333;fill-opacity:1;stroke:none" />
</g>
<g
id="layer2"
style="display:none">
<g
id="text3761"
style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#333333;fill-opacity:1;stroke:none;font-family:Ubuntu;-inkscape-font-specification:Ubuntu">
<path
d="m 119.775,168.98893 c -8.84006,0 -16.77338,-1.36 -23.8,-4.08 -7.026702,-2.71999 -12.976696,-6.68665 -17.85,-11.9 -4.873353,-5.32664 -8.613349,-11.78664 -11.22,-19.38 -2.606677,-7.59329 -3.910009,-16.31995 -3.91,-26.18 -9e-6,-9.859927 1.473322,-18.586585 4.42,-26.179996 3.059983,-7.59324 7.196646,-13.996567 12.41,-19.21 5.213302,-5.326557 11.333296,-9.349886 18.36,-12.07 7.02662,-2.719881 14.56327,-4.079879 22.61,-4.08 4.87326,1.21e-4 9.29326,0.396787 13.26,1.19 3.96658,0.680119 7.42325,1.473452 10.37,2.38 2.94657,0.906783 5.38324,1.870115 7.31,2.89 1.92657,1.020113 3.28657,1.756779 4.08,2.21 l -6.29,17.51 c -2.72009,-1.699904 -6.63009,-3.286569 -11.73,-4.76 -4.98675,-1.586566 -10.42674,-2.379898 -16.32,-2.38 -5.10006,1.02e-4 -9.86006,0.906768 -14.28,2.72 -4.42005,1.700097 -8.273379,4.306761 -11.56,7.82 -3.173372,3.513421 -5.666703,7.933417 -7.48,13.26 -1.813366,5.326739 -2.720032,11.503396 -2.72,18.529996 -3.2e-5,6.23339 0.679967,11.95672 2.04,17.17 1.473298,5.21337 3.683296,9.7467 6.63,13.6 2.946623,3.74003 6.68662,6.68669 11.22,8.84 4.53328,2.04002 9.97327,3.06002 16.32,3.06 7.59326,2e-5 13.76992,-0.73665 18.53,-2.21 4.75991,-1.58664 8.44324,-3.05997 11.05,-4.42 l 5.78,17.51 c -1.3601,0.90668 -3.2301,1.81334 -5.61,2.72 -2.26676,0.90667 -4.98676,1.81334 -8.16,2.72 -3.17342,0.79334 -6.74342,1.41667 -10.71,1.87 -3.96674,0.56667 -8.21674,0.85 -12.75,0.85"
id="path5013"
style="font-size:170px;font-weight:500;fill:#333333;-inkscape-font-specification:Ubuntu Medium" />
</g>
</g>
<g
id="layer3"
style="display:none">
<g
id="text3761-9"
style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#333333;fill-opacity:1;stroke:none;font-family:Ubuntu;-inkscape-font-specification:Ubuntu">
<path
d="m 99.289993,48.628934 21.419997,0 0,117.809996 -21.419997,0 0,-117.809996"
id="path5086"
style="font-size:170px;font-weight:500;fill:#333333;-inkscape-font-specification:Ubuntu Medium" />
</g>
</g>
<g
id="layer4"
style="display:inline">
<g
id="text3761-7"
style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#333333;fill-opacity:1;stroke:none;font-family:Ubuntu;-inkscape-font-specification:Ubuntu">
<path
d="m 154.67148,48.628934 0,18.53 -36.21,0 0,99.279996 -21.589995,0 0,-99.279996 -36.21,0 0,-18.53 94.009995,0"
id="path5089"
style="font-size:170px;font-weight:500;fill:#333333;-inkscape-font-specification:Ubuntu Medium" />
</g>
</g>
</svg>
/branches/v0.2-buhl/doc/PhpDoc/images/icon-class.svg
New file
0,0 → 1,77
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
 
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
version="1.1"
width="220"
height="220"
id="svg2">
<defs
id="defs4" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
transform="translate(7.0217361,8.0694962)"
id="layer1">
<path
d="M 60,10 C 32.3,10 10,32.3 10,60 l 0,100 c 0,27.7 22.3,50 50,50 l 100,0 c 27.7,0 50,-22.3 50,-50 L 210,60 C 210,32.3 187.7,10 160,10 L 60,10 z m 8.90625,17.78125 82.1875,0 c 22.7744,0 41.125,18.350601 41.125,41.125 l 0,82.1875 c 0,22.7744 -18.3506,41.125 -41.125,41.125 l -82.1875,0 c -22.774399,0 -41.125,-18.3506 -41.125,-41.125 l 0,-82.1875 c 0,-22.774399 18.350601,-41.125 41.125,-41.125 z"
transform="translate(-7.0217361,-8.0694962)"
id="rect4991"
style="fill:#333333;fill-opacity:1;stroke:none" />
</g>
<g
id="layer2"
style="display:inline">
<g
id="text3761"
style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#333333;fill-opacity:1;stroke:none;font-family:Ubuntu;-inkscape-font-specification:Ubuntu">
<path
d="m 119.775,168.98893 c -8.84006,0 -16.77338,-1.36 -23.8,-4.08 -7.026702,-2.71999 -12.976696,-6.68665 -17.85,-11.9 -4.873353,-5.32664 -8.613349,-11.78664 -11.22,-19.38 -2.606677,-7.59329 -3.910009,-16.31995 -3.91,-26.18 -9e-6,-9.859927 1.473322,-18.586585 4.42,-26.179996 3.059983,-7.59324 7.196646,-13.996567 12.41,-19.21 5.213302,-5.326557 11.333296,-9.349886 18.36,-12.07 7.02662,-2.719881 14.56327,-4.079879 22.61,-4.08 4.87326,1.21e-4 9.29326,0.396787 13.26,1.19 3.96658,0.680119 7.42325,1.473452 10.37,2.38 2.94657,0.906783 5.38324,1.870115 7.31,2.89 1.92657,1.020113 3.28657,1.756779 4.08,2.21 l -6.29,17.51 c -2.72009,-1.699904 -6.63009,-3.286569 -11.73,-4.76 -4.98675,-1.586566 -10.42674,-2.379898 -16.32,-2.38 -5.10006,1.02e-4 -9.86006,0.906768 -14.28,2.72 -4.42005,1.700097 -8.273379,4.306761 -11.56,7.82 -3.173372,3.513421 -5.666703,7.933417 -7.48,13.26 -1.813366,5.326739 -2.720032,11.503396 -2.72,18.529996 -3.2e-5,6.23339 0.679967,11.95672 2.04,17.17 1.473298,5.21337 3.683296,9.7467 6.63,13.6 2.946623,3.74003 6.68662,6.68669 11.22,8.84 4.53328,2.04002 9.97327,3.06002 16.32,3.06 7.59326,2e-5 13.76992,-0.73665 18.53,-2.21 4.75991,-1.58664 8.44324,-3.05997 11.05,-4.42 l 5.78,17.51 c -1.3601,0.90668 -3.2301,1.81334 -5.61,2.72 -2.26676,0.90667 -4.98676,1.81334 -8.16,2.72 -3.17342,0.79334 -6.74342,1.41667 -10.71,1.87 -3.96674,0.56667 -8.21674,0.85 -12.75,0.85"
id="path5013"
style="font-size:170px;font-weight:500;fill:#333333;-inkscape-font-specification:Ubuntu Medium" />
</g>
</g>
<g
id="layer3"
style="display:none">
<text
x="110.08234"
y="166.43893"
id="text3761-9"
xml:space="preserve"
style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#333333;fill-opacity:1;stroke:none;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"><tspan
x="110.08234"
y="166.43893"
id="tspan3763-5"
style="font-size:170px;font-weight:500;fill:#333333;-inkscape-font-specification:Ubuntu Medium">I</tspan></text>
</g>
<g
id="layer4"
style="display:none">
<text
x="107.59211"
y="166.43893"
id="text3761-7"
xml:space="preserve"
style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#333333;fill-opacity:1;stroke:none;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"><tspan
x="107.59211"
y="166.43893"
id="tspan3763-8"
style="font-size:170px;font-weight:500;fill:#333333;-inkscape-font-specification:Ubuntu Medium">T</tspan></text>
</g>
</svg>
/branches/v0.2-buhl/doc/PhpDoc/images/icon-trait-13x13.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/branches/v0.2-buhl/doc/PhpDoc/images/icon-trait-13x13.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/branches/v0.2-buhl/doc/PhpDoc/images/apple-touch-icon.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/branches/v0.2-buhl/doc/PhpDoc/images/apple-touch-icon.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/branches/v0.2-buhl/doc/PhpDoc/images/iviewer/iviewer.zoom_zero.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/branches/v0.2-buhl/doc/PhpDoc/images/iviewer/iviewer.zoom_zero.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/branches/v0.2-buhl/doc/PhpDoc/images/iviewer/hand.cur
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v0.2-buhl/doc/PhpDoc/images/iviewer/hand.cur
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v0.2-buhl/doc/PhpDoc/images/iviewer/iviewer.zoom_fit.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/branches/v0.2-buhl/doc/PhpDoc/images/iviewer/iviewer.zoom_fit.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/branches/v0.2-buhl/doc/PhpDoc/images/iviewer/grab.cur
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v0.2-buhl/doc/PhpDoc/images/iviewer/grab.cur
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v0.2-buhl/doc/PhpDoc/images/iviewer/iviewer.rotate_left.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/branches/v0.2-buhl/doc/PhpDoc/images/iviewer/iviewer.rotate_left.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/branches/v0.2-buhl/doc/PhpDoc/images/iviewer/iviewer.zoom_in.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/branches/v0.2-buhl/doc/PhpDoc/images/iviewer/iviewer.zoom_in.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/branches/v0.2-buhl/doc/PhpDoc/images/iviewer/iviewer.rotate_right.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/branches/v0.2-buhl/doc/PhpDoc/images/iviewer/iviewer.rotate_right.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/branches/v0.2-buhl/doc/PhpDoc/images/iviewer/iviewer.zoom_out.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/branches/v0.2-buhl/doc/PhpDoc/images/iviewer/iviewer.zoom_out.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/branches/v0.2-buhl/doc/PhpDoc/images/apple-touch-icon-114x114.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/branches/v0.2-buhl/doc/PhpDoc/images/apple-touch-icon-114x114.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/branches/v0.2-buhl/doc/PhpDoc/images/icon-class-13x13.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/branches/v0.2-buhl/doc/PhpDoc/images/icon-class-13x13.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/branches/v0.2-buhl/doc/PhpDoc/index.html
New file
0,0 → 1,396
<!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-->
<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>&#160;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>&#160;Errors <span class="label label-info pull-right">54</span>
</a>
</li>
<li>
<a href="reports/markers.html">
<i class="icon-list-alt"></i>&#160;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&#160;&#160;<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-1726218716"></a>
<a href="namespaces/default.html" style="margin-left: 30px; padding-left: 0">\</a>
</div>
<div id="namespace-1726218716" 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/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 namespace">
<nav>
</nav>
<h1><small></small>\</h1>
 
<h2>Classes</h2>
<table class="table table-hover">
<tr>
<td><a href="classes/Url.html">Url</a></td>
<td><em>classe Url, gérant le découpage des paramètres, leurs modification etc.</em></td>
</tr>
<tr>
<td><a href="classes/Debug.html">Debug</a></td>
<td><em>Classe fournissant des fonctions de débogage équivalante à var_dump et print_r.</em></td>
</tr>
<tr>
<td><a href="classes/Chronometre.html">Chronometre</a></td>
<td><em>Classe Chronometre() - Permet de stocker et d&#039;afficher
les temps d&#039;éxécution de script.</em></td>
</tr>
<tr>
<td><a href="classes/SquelettePhp.html">SquelettePhp</a></td>
<td><em>Classe SquelettePhp, traitant les squelette Php utilisant la syntaxe courte php ou pas.</em></td>
</tr>
<tr>
<td><a href="classes/Controleur.html">Controleur</a></td>
<td><em>Classe Controleur, coeur d&#039;une application, c&#039;est normalement la seule classe d&#039;une application
qui devrait être appelée de l&#039;extérieur.</em></td>
</tr>
<tr>
<td><a href="classes/GestionnaireException.html">GestionnaireException</a></td>
<td><em>Classe de gestion des exceptions.</em></td>
</tr>
<tr>
<td><a href="classes/Modele.html">Modele</a></td>
<td><em>Classe modèle, donc d&#039;accés au données, elle ne devrait pas être appelée de l&#039;extérieur.</em></td>
</tr>
<tr>
<td><a href="classes/Registre.html">Registre</a></td>
<td><em>Classe registre, qui permet un accès à différentes variables à travers les autres classes.</em></td>
</tr>
<tr>
<td><a href="classes/Config.html">Config</a></td>
<td><em>Config permet de charger automatiquement les fichiers ini du Framework et de l&#039;application.</em></td>
</tr>
<tr>
<td><a href="classes/Application.html">Application</a></td>
<td><em>Classe fournissant des informations au Framework sur l&#039;application.</em></td>
</tr>
<tr>
<td><a href="classes/Log.html">Log</a></td>
<td><em>Classe permettant de logger des messages dans les fichier situés dans le dossier de log.</em></td>
</tr>
</table>
</div>
 
<aside class="span4 detailsbar">
<dl>
<dt>Namespace hierarchy</dt>
<dd class="hierarchy">
<div class="namespace-wrapper">\</div>
</dd>
</dl>
</aside>
</div>
 
<div class="row-fluid">
<section class="span8 content namespace">
<h2>Constants</h2>
</section>
<aside class="span4 detailsbar"></aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="constant_DS" name="constant_DS" class="anchor"></a>
<article id="constant_DS" class="constant">
<h3 class="">DS</h3>
<pre class="signature">DS</pre>
<p><em></em></p>
</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"></div></a></dd>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="constant_PS" name="constant_PS" class="anchor"></a>
<article id="constant_PS" class="constant">
<h3 class="">PS</h3>
<pre class="signature">PS</pre>
<p><em></em></p>
</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"></div></a></dd>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<section class="span8 content namespace">
<h2>Functions</h2>
</section>
<aside class="span4 detailsbar"></aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_autoloadFw" name="method_autoloadFw" class="anchor"></a>
<article class="method">
<h3 class=" ">autoloadFw()</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;">autoloadFw( <span class="argument">$nom_classe_fw</span>)</pre>
<p><em></em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td></td>
<td>$nom_classe_fw</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"></div></a></dd>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
<div class="row-fluid">
<div class="span8 content class">
<a id="method_autoloadAppliDefaut" name="method_autoloadAppliDefaut" class="anchor"></a>
<article class="method">
<h3 class=" ">autoloadAppliDefaut()</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;">autoloadAppliDefaut( <span class="argument">$nom_classe</span>)</pre>
<p><em></em></p>
 
<h4>Parameters</h4>
<table class="table table-condensed table-hover">
<tr>
<td></td>
<td>$nom_classe</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"></div></a></dd>
</dl>
<h2>Tags</h2>
<table class="table table-condensed">
<tr>
<th>
todo
</th>
<td>
</td>
</tr>
</table>
</aside>
</div>
 
</div>
</section>
 
<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 12th, 2014 at 16:55.
</section>
</section>
</section>
</footer>
</div>
 
</body>
</html>
/branches/v0.2-buhl/doc/PhpDoc/phpdoc-cache-98/phpdoc-cache-file_dd77e54ff89c835ae0f416f4edab9c35.dat
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v0.2-buhl/doc/PhpDoc/phpdoc-cache-98/phpdoc-cache-file_dd77e54ff89c835ae0f416f4edab9c35.dat
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v0.2-buhl/doc/PhpDoc/js/jquery.iviewer.js
New file
0,0 → 1,1169
/*
* iviewer Widget for jQuery UI
* https://github.com/can3p/iviewer
*
* Copyright (c) 2009 - 2012 Dmitry Petrov
* Dual licensed under the MIT and GPL licenses.
* - http://www.opensource.org/licenses/mit-license.php
* - http://www.gnu.org/copyleft/gpl.html
*
* Author: Dmitry Petrov
* Version: 0.7.7
*/
 
( function( $, undefined ) {
 
//this code was taken from the https://github.com/furf/jquery-ui-touch-punch
var mouseEvents = {
touchstart: 'mousedown',
touchmove: 'mousemove',
touchend: 'mouseup'
},
gesturesSupport = 'ongesturestart' in document.createElement('div');
 
 
/**
* Convert a touch event to a mouse-like
*/
function makeMouseEvent (event) {
var touch = event.originalEvent.changedTouches[0];
 
return $.extend(event, {
type: mouseEvents[event.type],
which: 1,
pageX: touch.pageX,
pageY: touch.pageY,
screenX: touch.screenX,
screenY: touch.screenY,
clientX: touch.clientX,
clientY: touch.clientY,
isTouchEvent: true
});
}
 
var mouseProto = $.ui.mouse.prototype,
_mouseInit = $.ui.mouse.prototype._mouseInit;
 
mouseProto._mouseInit = function() {
var self = this;
self._touchActive = false;
 
this.element.bind( 'touchstart.' + this.widgetName, function(event) {
if (gesturesSupport && event.originalEvent.touches.length > 1) { return; }
self._touchActive = true;
return self._mouseDown(makeMouseEvent(event));
})
 
var self = this;
// these delegates are required to keep context
this._mouseMoveDelegate = function(event) {
if (gesturesSupport && event.originalEvent.touches && event.originalEvent.touches.length > 1) { return; }
if (self._touchActive) {
return self._mouseMove(makeMouseEvent(event));
}
};
this._mouseUpDelegate = function(event) {
if (self._touchActive) {
self._touchActive = false;
return self._mouseUp(makeMouseEvent(event));
}
};
 
$(document)
.bind('touchmove.'+ this.widgetName, this._mouseMoveDelegate)
.bind('touchend.' + this.widgetName, this._mouseUpDelegate);
 
_mouseInit.apply(this);
}
 
/**
* Simple implementation of jQuery like getters/setters
* var val = something();
* something(val);
*/
var setter = function(setter, getter) {
return function(val) {
if (arguments.length === 0) {
return getter.apply(this);
} else {
setter.apply(this, arguments);
}
}
};
 
/**
* Internet explorer rotates image relative left top corner, so we should
* shift image when it's rotated.
*/
var ieTransforms = {
'0': {
marginLeft: 0,
marginTop: 0,
filter: 'progid:DXImageTransform.Microsoft.Matrix(M11=1, M12=0, M21=0, M22=1, SizingMethod="auto expand")'
},
 
'90': {
marginLeft: -1,
marginTop: 1,
filter: 'progid:DXImageTransform.Microsoft.Matrix(M11=0, M12=-1, M21=1, M22=0, SizingMethod="auto expand")'
},
 
'180': {
marginLeft: 0,
marginTop: 0,
filter: 'progid:DXImageTransform.Microsoft.Matrix(M11=-1, M12=0, M21=0, M22=-1, SizingMethod="auto expand")'
},
 
'270': {
marginLeft: -1,
marginTop: 1,
filter: 'progid:DXImageTransform.Microsoft.Matrix(M11=0, M12=1, M21=-1, M22=0, SizingMethod="auto expand")'
}
},
// this test is the inversion of the css filters test from the modernizr project
useIeTransforms = function() {
var modElem = document.createElement('modernizr'),
mStyle = modElem.style,
omPrefixes = 'Webkit Moz O ms',
domPrefixes = omPrefixes.toLowerCase().split(' '),
props = ("transform" + ' ' + domPrefixes.join("Transform ") + "Transform").split(' ');
for ( var i in props ) {
var prop = props[i];
if ( !$.contains(prop, "-") && mStyle[prop] !== undefined ) {
return false;
}
}
return true;
}();
 
$.widget( "ui.iviewer", $.ui.mouse, {
widgetEventPrefix: "iviewer",
options : {
/**
* start zoom value for image, not used now
* may be equal to "fit" to fit image into container or scale in %
**/
zoom: "fit",
/**
* base value to scale image
**/
zoom_base: 100,
/**
* maximum zoom
**/
zoom_max: 800,
/**
* minimum zoom
**/
zoom_min: 25,
/**
* base of rate multiplier.
* zoom is calculated by formula: zoom_base * zoom_delta^rate
**/
zoom_delta: 1.4,
/**
* whether the zoom should be animated.
*/
zoom_animation: true,
/**
* if true plugin doesn't add its own controls
**/
ui_disabled: false,
/**
* If false mousewheel will be disabled
*/
mousewheel: true,
/**
* if false, plugin doesn't bind resize event on window and this must
* be handled manually
**/
update_on_resize: true,
/**
* event is triggered when zoom value is changed
* @param int new zoom value
* @return boolean if false zoom action is aborted
**/
onZoom: jQuery.noop,
/**
* event is triggered when zoom value is changed after image is set to the new dimensions
* @param int new zoom value
* @return boolean if false zoom action is aborted
**/
onAfterZoom: jQuery.noop,
/**
* event is fired on drag begin
* @param object coords mouse coordinates on the image
* @return boolean if false is returned, drag action is aborted
**/
onStartDrag: jQuery.noop,
/**
* event is fired on drag action
* @param object coords mouse coordinates on the image
**/
onDrag: jQuery.noop,
/**
* event is fired on drag stop
* @param object coords mouse coordinates on the image
**/
onStopDrag: jQuery.noop,
/**
* event is fired when mouse moves over image
* @param object coords mouse coordinates on the image
**/
onMouseMove: jQuery.noop,
/**
* mouse click event
* @param object coords mouse coordinates on the image
**/
onClick: jQuery.noop,
/**
* event is fired when image starts to load
*/
onStartLoad: null,
/**
* event is fired, when image is loaded and initially positioned
*/
onFinishLoad: null,
/**
* event is fired when image load error occurs
*/
onErrorLoad: null
},
 
_create: function() {
var me = this;
 
//drag variables
this.dx = 0;
this.dy = 0;
 
/* object containing actual information about image
* @img_object.object - jquery img object
* @img_object.orig_{width|height} - original dimensions
* @img_object.display_{width|height} - actual dimensions
*/
this.img_object = {};
 
this.zoom_object = {}; //object to show zoom status
 
this._angle = 0;
 
this.current_zoom = this.options.zoom;
 
if(this.options.src === null){
return;
}
 
this.container = this.element;
 
this._updateContainerInfo();
 
//init container
this.container.css("overflow","hidden");
 
if (this.options.update_on_resize == true) {
$(window).resize(function() {
me.update();
});
}
 
this.img_object = new $.ui.iviewer.ImageObject(this.options.zoom_animation);
 
if (this.options.mousewheel) {
this.container.bind('mousewheel.iviewer', function(ev, delta)
{
//this event is there instead of containing div, because
//at opera it triggers many times on div
var zoom = (delta > 0)?1:-1,
container_offset = me.container.offset(),
mouse_pos = {
//jquery.mousewheel 3.1.0 uses strange MozMousePixelScroll event
//which is not being fixed by jQuery.Event
x: (ev.pageX || ev.originalEvent.pageX) - container_offset.left,
y: (ev.pageY || ev.originalEvent.pageX) - container_offset.top
};
 
me.zoom_by(zoom, mouse_pos);
return false;
});
 
if (gesturesSupport) {
var gestureThrottle = +new Date();
var originalScale, originalCenter;
this.img_object.object()
// .bind('gesturestart', function(ev) {
.bind('touchstart', function(ev) {
originalScale = me.current_zoom;
var touches = ev.originalEvent.touches,
container_offset;
if (touches.length == 2) {
container_offset = me.container.offset();
originalCenter = {
x: (touches[0].pageX + touches[1].pageX) / 2 - container_offset.left,
y: (touches[0].pageY + touches[1].pageY) / 2 - container_offset.top
};
} else {
originalCenter = null;
}
}).bind('gesturechange', function(ev) {
//do not want to import throttle function from underscore
var d = +new Date();
if ((d - gestureThrottle) < 50) { return; }
gestureThrottle = d;
var zoom = originalScale * ev.originalEvent.scale;
me.set_zoom(zoom, originalCenter);
ev.preventDefault();
}).bind('gestureend', function(ev) {
originalCenter = null;
});
}
}
 
//init object
this.img_object.object()
//bind mouse events
.click(function(e){return me._click(e)})
.prependTo(this.container);
 
this.container.bind('mousemove', function(ev) { me._handleMouseMove(ev); });
 
this.loadImage(this.options.src);
 
if(!this.options.ui_disabled)
{
this.createui();
}
 
this._mouseInit();
},
 
destroy: function() {
$.Widget.prototype.destroy.call( this );
this._mouseDestroy();
this.img_object.object().remove();
this.container.off('.iviewer');
this.container.css('overflow', ''); //cleanup styles on destroy
},
 
_updateContainerInfo: function()
{
this.options.height = this.container.height();
this.options.width = this.container.width();
},
 
update: function()
{
this._updateContainerInfo()
this.setCoords(this.img_object.x(), this.img_object.y());
},
 
loadImage: function( src )
{
this.current_zoom = this.options.zoom;
var me = this;
 
this._trigger('onStartLoad', 0, src);
 
this.container.addClass("iviewer_loading");
this.img_object.load(src, function() {
me._imageLoaded(src);
}, function() {
me._trigger("onErrorLoad", 0, src);
});
},
 
_imageLoaded: function(src) {
this.container.removeClass("iviewer_loading");
this.container.addClass("iviewer_cursor");
 
if(this.options.zoom == "fit"){
this.fit(true);
}
else {
this.set_zoom(this.options.zoom, true);
}
 
this._trigger('onFinishLoad', 0, src);
},
 
/**
* fits image in the container
*
* @param {boolean} skip_animation
**/
fit: function(skip_animation)
{
var aspect_ratio = this.img_object.orig_width() / this.img_object.orig_height();
var window_ratio = this.options.width / this.options.height;
var choose_left = (aspect_ratio > window_ratio);
var new_zoom = 0;
 
if(choose_left){
new_zoom = this.options.width / this.img_object.orig_width() * 100;
}
else {
new_zoom = this.options.height / this.img_object.orig_height() * 100;
}
 
this.set_zoom(new_zoom, skip_animation);
},
 
/**
* center image in container
**/
center: function()
{
this.setCoords(-Math.round((this.img_object.display_width() - this.options.width)/2),
-Math.round((this.img_object.display_height() - this.options.height)/2));
},
 
/**
* move a point in container to the center of display area
* @param x a point in container
* @param y a point in container
**/
moveTo: function(x, y)
{
var dx = x-Math.round(this.options.width/2);
var dy = y-Math.round(this.options.height/2);
 
var new_x = this.img_object.x() - dx;
var new_y = this.img_object.y() - dy;
 
this.setCoords(new_x, new_y);
},
 
/**
* Get container offset object.
*/
getContainerOffset: function() {
return jQuery.extend({}, this.container.offset());
},
 
/**
* set coordinates of upper left corner of image object
**/
setCoords: function(x,y)
{
//do nothing while image is being loaded
if(!this.img_object.loaded()) { return; }
 
var coords = this._correctCoords(x,y);
this.img_object.x(coords.x);
this.img_object.y(coords.y);
},
 
_correctCoords: function( x, y )
{
x = parseInt(x, 10);
y = parseInt(y, 10);
 
//check new coordinates to be correct (to be in rect)
if(y > 0){
y = 0;
}
if(x > 0){
x = 0;
}
if(y + this.img_object.display_height() < this.options.height){
y = this.options.height - this.img_object.display_height();
}
if(x + this.img_object.display_width() < this.options.width){
x = this.options.width - this.img_object.display_width();
}
if(this.img_object.display_width() <= this.options.width){
x = -(this.img_object.display_width() - this.options.width)/2;
}
if(this.img_object.display_height() <= this.options.height){
y = -(this.img_object.display_height() - this.options.height)/2;
}
 
return { x: x, y:y };
},
 
 
/**
* convert coordinates on the container to the coordinates on the image (in original size)
*
* @return object with fields x,y according to coordinates or false
* if initial coords are not inside image
**/
containerToImage : function (x,y)
{
var coords = { x : x - this.img_object.x(),
y : y - this.img_object.y()
};
 
coords = this.img_object.toOriginalCoords(coords);
 
return { x : util.descaleValue(coords.x, this.current_zoom),
y : util.descaleValue(coords.y, this.current_zoom)
};
},
 
/**
* convert coordinates on the image (in original size, and zero angle) to the coordinates on the container
*
* @return object with fields x,y according to coordinates
**/
imageToContainer : function (x,y)
{
var coords = {
x : util.scaleValue(x, this.current_zoom),
y : util.scaleValue(y, this.current_zoom)
};
 
return this.img_object.toRealCoords(coords);
},
 
/**
* get mouse coordinates on the image
* @param e - object containing pageX and pageY fields, e.g. mouse event object
*
* @return object with fields x,y according to coordinates or false
* if initial coords are not inside image
**/
_getMouseCoords : function(e)
{
var containerOffset = this.container.offset();
coords = this.containerToImage(e.pageX - containerOffset.left, e.pageY - containerOffset.top);
 
return coords;
},
 
/**
* set image scale to the new_zoom
*
* @param {number} new_zoom image scale in %
* @param {boolean} skip_animation
* @param {x: number, y: number} Coordinates of point the should not be moved on zoom. The default is the center of image.
**/
set_zoom: function(new_zoom, skip_animation, zoom_center)
{
if (this._trigger('onZoom', 0, new_zoom) == false) {
return;
}
 
//do nothing while image is being loaded
if(!this.img_object.loaded()) { return; }
 
zoom_center = zoom_center || {
x: Math.round(this.options.width/2),
y: Math.round(this.options.height/2)
}
 
if(new_zoom < this.options.zoom_min)
{
new_zoom = this.options.zoom_min;
}
else if(new_zoom > this.options.zoom_max)
{
new_zoom = this.options.zoom_max;
}
 
/* we fake these values to make fit zoom properly work */
if(this.current_zoom == "fit")
{
var old_x = zoom_center.x + Math.round(this.img_object.orig_width()/2);
var old_y = zoom_center.y + Math.round(this.img_object.orig_height()/2);
this.current_zoom = 100;
}
else {
var old_x = -this.img_object.x() + zoom_center.x;
var old_y = -this.img_object.y() + zoom_center.y
}
 
var new_width = util.scaleValue(this.img_object.orig_width(), new_zoom);
var new_height = util.scaleValue(this.img_object.orig_height(), new_zoom);
var new_x = util.scaleValue( util.descaleValue(old_x, this.current_zoom), new_zoom);
var new_y = util.scaleValue( util.descaleValue(old_y, this.current_zoom), new_zoom);
 
new_x = zoom_center.x - new_x;
new_y = zoom_center.y - new_y;
 
new_width = Math.floor(new_width);
new_height = Math.floor(new_height);
new_x = Math.floor(new_x);
new_y = Math.floor(new_y);
 
this.img_object.display_width(new_width);
this.img_object.display_height(new_height);
 
var coords = this._correctCoords( new_x, new_y ),
self = this;
 
this.img_object.setImageProps(new_width, new_height, coords.x, coords.y,
skip_animation, function() {
self._trigger('onAfterZoom', 0, new_zoom );
});
this.current_zoom = new_zoom;
 
this.update_status();
},
 
/**
* changes zoom scale by delta
* zoom is calculated by formula: zoom_base * zoom_delta^rate
* @param Integer delta number to add to the current multiplier rate number
* @param {x: number, y: number=} Coordinates of point the should not be moved on zoom.
**/
zoom_by: function(delta, zoom_center)
{
var closest_rate = this.find_closest_zoom_rate(this.current_zoom);
 
var next_rate = closest_rate + delta;
var next_zoom = this.options.zoom_base * Math.pow(this.options.zoom_delta, next_rate)
if(delta > 0 && next_zoom < this.current_zoom)
{
next_zoom *= this.options.zoom_delta;
}
 
if(delta < 0 && next_zoom > this.current_zoom)
{
next_zoom /= this.options.zoom_delta;
}
 
this.set_zoom(next_zoom, undefined, zoom_center);
},
 
/**
* Rotate image
* @param {num} deg Degrees amount to rotate. Positive values rotate image clockwise.
* Currently 0, 90, 180, 270 and -90, -180, -270 values are supported
*
* @param {boolean} abs If the flag is true if, the deg parameter will be considered as
* a absolute value and relative otherwise.
* @return {num|null} Method will return current image angle if called without any arguments.
**/
angle: function(deg, abs) {
if (arguments.length === 0) { return this.img_object.angle(); }
 
if (deg < -270 || deg > 270 || deg % 90 !== 0) { return; }
if (!abs) { deg += this.img_object.angle(); }
if (deg < 0) { deg += 360; }
if (deg >= 360) { deg -= 360; }
 
if (deg === this.img_object.angle()) { return; }
 
this.img_object.angle(deg);
//the rotate behavior is different in all editors. For now we just center the
//image. However, it will be better to try to keep the position.
this.center();
this._trigger('angle', 0, { angle: this.img_object.angle() });
},
 
/**
* finds closest multiplier rate for value
* basing on zoom_base and zoom_delta values from settings
* @param Number value zoom value to examine
**/
find_closest_zoom_rate: function(value)
{
if(value == this.options.zoom_base)
{
return 0;
}
 
function div(val1,val2) { return val1 / val2 };
function mul(val1,val2) { return val1 * val2 };
 
var func = (value > this.options.zoom_base)?mul:div;
var sgn = (value > this.options.zoom_base)?1:-1;
 
var mltplr = this.options.zoom_delta;
var rate = 1;
 
while(Math.abs(func(this.options.zoom_base, Math.pow(mltplr,rate)) - value) >
Math.abs(func(this.options.zoom_base, Math.pow(mltplr,rate+1)) - value))
{
rate++;
}
 
return sgn * rate;
},
 
/* update scale info in the container */
update_status: function()
{
if(!this.options.ui_disabled)
{
var percent = Math.round(100*this.img_object.display_height()/this.img_object.orig_height());
if(percent)
{
this.zoom_object.html(percent + "%");
}
}
},
 
/**
* Get some information about the image.
* Currently orig_(width|height), display_(width|height), angle, zoom and src params are supported.
*
* @param {string} parameter to check
* @param {boolean} withoutRotation if param is orig_width or orig_height and this flag is set to true,
* method will return original image width without considering rotation.
*
*/
info: function(param, withoutRotation) {
if (!param) { return; }
 
switch (param) {
case 'orig_width':
case 'orig_height':
if (withoutRotation) {
return (this.img_object.angle() % 180 === 0 ? this.img_object[param]() :
param === 'orig_width' ? this.img_object.orig_height() :
this.img_object.orig_width());
} else {
return this.img_object[param]();
}
case 'display_width':
case 'display_height':
case 'angle':
return this.img_object[param]();
case 'zoom':
return this.current_zoom;
case 'src':
return this.img_object.object().attr('src');
case 'coords':
return {
x: this.img_object.x(),
y: this.img_object.y()
};
}
},
 
/**
* callback for handling mousdown event to start dragging image
**/
_mouseStart: function( e )
{
$.ui.mouse.prototype._mouseStart.call(this, e);
if (this._trigger('onStartDrag', 0, this._getMouseCoords(e)) === false) {
return false;
}
 
/* start drag event*/
this.container.addClass("iviewer_drag_cursor");
 
//#10: fix movement quirks for ipad
this._dragInitialized = !(e.originalEvent.changedTouches && e.originalEvent.changedTouches.length==1);
 
this.dx = e.pageX - this.img_object.x();
this.dy = e.pageY - this.img_object.y();
return true;
},
 
_mouseCapture: function( e ) {
return true;
},
 
/**
* Handle mouse move if needed. User can avoid using this callback, because
* he can get the same information through public methods.
* @param {jQuery.Event} e
*/
_handleMouseMove: function(e) {
this._trigger('onMouseMove', e, this._getMouseCoords(e));
},
 
/**
* callback for handling mousemove event to drag image
**/
_mouseDrag: function(e)
{
$.ui.mouse.prototype._mouseDrag.call(this, e);
 
//#10: imitate mouseStart, because we can get here without it on iPad for some reason
if (!this._dragInitialized) {
this.dx = e.pageX - this.img_object.x();
this.dy = e.pageY - this.img_object.y();
this._dragInitialized = true;
}
 
var ltop = e.pageY - this.dy;
var lleft = e.pageX - this.dx;
 
this.setCoords(lleft, ltop);
this._trigger('onDrag', e, this._getMouseCoords(e));
return false;
},
 
/**
* callback for handling stop drag
**/
_mouseStop: function(e)
{
$.ui.mouse.prototype._mouseStop.call(this, e);
this.container.removeClass("iviewer_drag_cursor");
this._trigger('onStopDrag', 0, this._getMouseCoords(e));
},
 
_click: function(e)
{
this._trigger('onClick', 0, this._getMouseCoords(e));
},
 
/**
* create zoom buttons info box
**/
createui: function()
{
var me=this;
 
$("<div>", { 'class': "iviewer_zoom_in iviewer_common iviewer_button"})
.bind('mousedown touchstart',function(){me.zoom_by(1); return false;})
.appendTo(this.container);
 
$("<div>", { 'class': "iviewer_zoom_out iviewer_common iviewer_button"})
.bind('mousedown touchstart',function(){me.zoom_by(- 1); return false;})
.appendTo(this.container);
 
$("<div>", { 'class': "iviewer_zoom_zero iviewer_common iviewer_button"})
.bind('mousedown touchstart',function(){me.set_zoom(100); return false;})
.appendTo(this.container);
 
$("<div>", { 'class': "iviewer_zoom_fit iviewer_common iviewer_button"})
.bind('mousedown touchstart',function(){me.fit(this); return false;})
.appendTo(this.container);
 
this.zoom_object = $("<div>").addClass("iviewer_zoom_status iviewer_common")
.appendTo(this.container);
 
$("<div>", { 'class': "iviewer_rotate_left iviewer_common iviewer_button"})
.bind('mousedown touchstart',function(){me.angle(-90); return false;})
.appendTo(this.container);
 
$("<div>", { 'class': "iviewer_rotate_right iviewer_common iviewer_button" })
.bind('mousedown touchstart',function(){me.angle(90); return false;})
.appendTo(this.container);
 
this.update_status(); //initial status update
}
 
} );
 
/**
* @class $.ui.iviewer.ImageObject Class represents image and provides public api without
* extending image prototype.
* @constructor
* @param {boolean} do_anim Do we want to animate image on dimension changes?
*/
$.ui.iviewer.ImageObject = function(do_anim) {
this._img = $("<img>")
//this is needed, because chromium sets them auto otherwise
.css({ position: "absolute", top :"0px", left: "0px"});
 
this._loaded = false;
this._swapDimensions = false;
this._do_anim = do_anim || false;
this.x(0, true);
this.y(0, true);
this.angle(0);
};
 
 
/** @lends $.ui.iviewer.ImageObject.prototype */
(function() {
/**
* Restore initial object state.
*
* @param {number} w Image width.
* @param {number} h Image height.
*/
this._reset = function(w, h) {
this._angle = 0;
this._swapDimensions = false;
this.x(0);
this.y(0);
 
this.orig_width(w);
this.orig_height(h);
this.display_width(w);
this.display_height(h);
};
 
/**
* Check if image is loaded.
*
* @return {boolean}
*/
this.loaded = function() { return this._loaded; };
 
/**
* Load image.
*
* @param {string} src Image url.
* @param {Function=} loaded Function will be called on image load.
*/
this.load = function(src, loaded, error) {
var self = this;
 
loaded = loaded || jQuery.noop;
this._loaded = false;
 
//If we assign new image url to the this._img IE9 fires onload event and image width and
//height are set to zero. So, we create another image object and load image through it.
var img = new Image();
img.onload = function() {
self._loaded = true;
self._reset(this.width, this.height);
 
self._img
.removeAttr("width")
.removeAttr("height")
.removeAttr("style")
//max-width is reset, because plugin breaks in the twitter bootstrap otherwise
.css({ position: "absolute", top :"0px", left: "0px", maxWidth: "none"})
 
self._img[0].src = src;
loaded();
};
 
img.onerror = error;
 
//we need this because sometimes internet explorer 8 fires onload event
//right after assignment (synchronously)
setTimeout(function() {
img.src = src;
}, 0);
 
this.angle(0);
};
 
this._dimension = function(prefix, name) {
var horiz = '_' + prefix + '_' + name,
vert = '_' + prefix + '_' + (name === 'height' ? 'width' : 'height');
return setter(function(val) {
this[this._swapDimensions ? horiz: vert] = val;
},
function() {
return this[this._swapDimensions ? horiz: vert];
});
};
 
/**
* Getters and setter for common image dimensions.
* display_ means real image tag dimensions
* orig_ means physical image dimensions.
* Note, that dimensions are swapped if image is rotated. It necessary,
* because as little as possible code should know about rotation.
*/
this.display_width = this._dimension('display', 'width'),
this.display_height = this._dimension('display', 'height'),
this.display_diff = function() { return Math.floor( this.display_width() - this.display_height() ) };
this.orig_width = this._dimension('orig', 'width'),
this.orig_height = this._dimension('orig', 'height'),
 
/**
* Setter for X coordinate. If image is rotated we need to additionaly shift an
* image to map image coordinate to the visual position.
*
* @param {number} val Coordinate value.
* @param {boolean} skipCss If true, we only set the value and do not touch the dom.
*/
this.x = setter(function(val, skipCss) {
this._x = val;
if (!skipCss) {
this._finishAnimation();
this._img.css("left",this._x + (this._swapDimensions ? this.display_diff() / 2 : 0) + "px");
}
},
function() {
return this._x;
});
 
/**
* Setter for Y coordinate. If image is rotated we need to additionaly shift an
* image to map image coordinate to the visual position.
*
* @param {number} val Coordinate value.
* @param {boolean} skipCss If true, we only set the value and do not touch the dom.
*/
this.y = setter(function(val, skipCss) {
this._y = val;
if (!skipCss) {
this._finishAnimation();
this._img.css("top",this._y - (this._swapDimensions ? this.display_diff() / 2 : 0) + "px");
}
},
function() {
return this._y;
});
 
/**
* Perform image rotation.
*
* @param {number} deg Absolute image angle. The method will work with values 0, 90, 180, 270 degrees.
*/
this.angle = setter(function(deg) {
var prevSwap = this._swapDimensions;
 
this._angle = deg;
this._swapDimensions = deg % 180 !== 0;
 
if (prevSwap !== this._swapDimensions) {
var verticalMod = this._swapDimensions ? -1 : 1;
this.x(this.x() - verticalMod * this.display_diff() / 2, true);
this.y(this.y() + verticalMod * this.display_diff() / 2, true);
};
 
var cssVal = 'rotate(' + deg + 'deg)',
img = this._img;
 
jQuery.each(['', '-webkit-', '-moz-', '-o-', '-ms-'], function(i, prefix) {
img.css(prefix + 'transform', cssVal);
});
 
if (useIeTransforms) {
jQuery.each(['-ms-', ''], function(i, prefix) {
img.css(prefix + 'filter', ieTransforms[deg].filter);
});
 
img.css({
marginLeft: ieTransforms[deg].marginLeft * this.display_diff() / 2,
marginTop: ieTransforms[deg].marginTop * this.display_diff() / 2
});
}
},
function() { return this._angle; });
 
/**
* Map point in the container coordinates to the point in image coordinates.
* You will get coordinates of point on image with respect to rotation,
* but will be set as if image was not rotated.
* So, if image was rotated 90 degrees, it's (0,0) point will be on the
* top right corner.
*
* @param {{x: number, y: number}} point Point in container coordinates.
* @return {{x: number, y: number}}
*/
this.toOriginalCoords = function(point) {
switch (this.angle()) {
case 0: return { x: point.x, y: point.y }
case 90: return { x: point.y, y: this.display_width() - point.x }
case 180: return { x: this.display_width() - point.x, y: this.display_height() - point.y }
case 270: return { x: this.display_height() - point.y, y: point.x }
}
};
 
/**
* Map point in the image coordinates to the point in container coordinates.
* You will get coordinates of point on container with respect to rotation.
* Note, if image was rotated 90 degrees, it's (0,0) point will be on the
* top right corner.
*
* @param {{x: number, y: number}} point Point in container coordinates.
* @return {{x: number, y: number}}
*/
this.toRealCoords = function(point) {
switch (this.angle()) {
case 0: return { x: this.x() + point.x, y: this.y() + point.y }
case 90: return { x: this.x() + this.display_width() - point.y, y: this.y() + point.x}
case 180: return { x: this.x() + this.display_width() - point.x, y: this.y() + this.display_height() - point.y}
case 270: return { x: this.x() + point.y, y: this.y() + this.display_height() - point.x}
}
};
 
/**
* @return {jQuery} Return image node. this is needed to add event handlers.
*/
this.object = setter(jQuery.noop,
function() { return this._img; });
 
/**
* Change image properties.
*
* @param {number} disp_w Display width;
* @param {number} disp_h Display height;
* @param {number} x
* @param {number} y
* @param {boolean} skip_animation If true, the animation will be skiped despite the
* value set in constructor.
* @param {Function=} complete Call back will be fired when zoom will be complete.
*/
this.setImageProps = function(disp_w, disp_h, x, y, skip_animation, complete) {
complete = complete || jQuery.noop;
 
this.display_width(disp_w);
this.display_height(disp_h);
this.x(x, true);
this.y(y, true);
 
var w = this._swapDimensions ? disp_h : disp_w;
var h = this._swapDimensions ? disp_w : disp_h;
 
var params = {
width: w,
height: h,
top: y - (this._swapDimensions ? this.display_diff() / 2 : 0) + "px",
left: x + (this._swapDimensions ? this.display_diff() / 2 : 0) + "px"
};
 
if (useIeTransforms) {
jQuery.extend(params, {
marginLeft: ieTransforms[this.angle()].marginLeft * this.display_diff() / 2,
marginTop: ieTransforms[this.angle()].marginTop * this.display_diff() / 2
});
}
 
var swapDims = this._swapDimensions,
img = this._img;
 
//here we come: another IE oddness. If image is rotated 90 degrees with a filter, than
//width and height getters return real width and height of rotated image. The bad news
//is that to set height you need to set a width and vice versa. Fuck IE.
//So, in this case we have to animate width and height manually.
if(useIeTransforms && swapDims) {
var ieh = this._img.width(),
iew = this._img.height(),
iedh = params.height - ieh;
iedw = params.width - iew;
 
delete params.width;
delete params.height;
}
 
if (this._do_anim && !skip_animation) {
this._img.stop(true)
.animate(params, {
duration: 200,
complete: complete,
step: function(now, fx) {
if(useIeTransforms && swapDims && (fx.prop === 'top')) {
var percent = (now - fx.start) / (fx.end - fx.start);
 
img.height(ieh + iedh * percent);
img.width(iew + iedw * percent);
img.css('top', now);
}
}
});
} else {
this._img.css(params);
setTimeout(complete, 0); //both if branches should behave equally.
}
};
 
//if we set image coordinates we need to be sure that no animation is active atm
this._finishAnimation = function() {
this._img.stop(true, true);
}
 
}).apply($.ui.iviewer.ImageObject.prototype);
 
 
 
var util = {
scaleValue: function(value, toZoom)
{
return value * toZoom / 100;
},
 
descaleValue: function(value, fromZoom)
{
return value * 100 / fromZoom;
}
};
 
} )( jQuery, undefined );
/branches/v0.2-buhl/doc/PhpDoc/js/jquery.dotdotdot-1.5.9.js
New file
0,0 → 1,602
/*
* jQuery dotdotdot 1.5.9
*
* Copyright (c) 2013 Fred Heusschen
* www.frebsite.nl
*
* Plugin website:
* dotdotdot.frebsite.nl
*
* Dual licensed under the MIT and GPL licenses.
* http://en.wikipedia.org/wiki/MIT_License
* http://en.wikipedia.org/wiki/GNU_General_Public_License
*/
 
(function( $ )
{
if ( $.fn.dotdotdot )
{
return;
}
 
$.fn.dotdotdot = function( o )
{
if ( this.length == 0 )
{
if ( !o || o.debug !== false )
{
debug( true, 'No element found for "' + this.selector + '".' );
}
return this;
}
if ( this.length > 1 )
{
return this.each(
function()
{
$(this).dotdotdot( o );
}
);
}
 
 
var $dot = this;
 
if ( $dot.data( 'dotdotdot' ) )
{
$dot.trigger( 'destroy.dot' );
}
 
$dot.data( 'dotdotdot-style', $dot.attr( 'style' ) );
$dot.css( 'word-wrap', 'break-word' );
 
$dot.bind_events = function()
{
$dot.bind(
'update.dot',
function( e, c )
{
e.preventDefault();
e.stopPropagation();
 
opts.maxHeight = ( typeof opts.height == 'number' )
? opts.height
: getTrueInnerHeight( $dot );
 
opts.maxHeight += opts.tolerance;
 
if ( typeof c != 'undefined' )
{
if ( typeof c == 'string' || c instanceof HTMLElement )
{
c = $('<div />').append( c ).contents();
}
if ( c instanceof $ )
{
orgContent = c;
}
}
 
$inr = $dot.wrapInner( '<div class="dotdotdot" />' ).children();
$inr.empty()
.append( orgContent.clone( true ) )
.css({
'height' : 'auto',
'width' : 'auto',
'border' : 'none',
'padding' : 0,
'margin' : 0
});
 
var after = false,
trunc = false;
 
if ( conf.afterElement )
{
after = conf.afterElement.clone( true );
conf.afterElement.remove();
}
if ( test( $inr, opts ) )
{
if ( opts.wrap == 'children' )
{
trunc = children( $inr, opts, after );
}
else
{
trunc = ellipsis( $inr, $dot, $inr, opts, after );
}
}
$inr.replaceWith( $inr.contents() );
$inr = null;
if ( $.isFunction( opts.callback ) )
{
opts.callback.call( $dot[ 0 ], trunc, orgContent );
}
 
conf.isTruncated = trunc;
return trunc;
}
 
).bind(
'isTruncated.dot',
function( e, fn )
{
e.preventDefault();
e.stopPropagation();
 
if ( typeof fn == 'function' )
{
fn.call( $dot[ 0 ], conf.isTruncated );
}
return conf.isTruncated;
}
 
).bind(
'originalContent.dot',
function( e, fn )
{
e.preventDefault();
e.stopPropagation();
 
if ( typeof fn == 'function' )
{
fn.call( $dot[ 0 ], orgContent );
}
return orgContent;
}
 
).bind(
'destroy.dot',
function( e )
{
e.preventDefault();
e.stopPropagation();
 
$dot.unwatch()
.unbind_events()
.empty()
.append( orgContent )
.attr( 'style', $dot.data( 'dotdotdot-style' ) )
.data( 'dotdotdot', false );
}
);
return $dot;
}; // /bind_events
 
$dot.unbind_events = function()
{
$dot.unbind('.dot');
return $dot;
}; // /unbind_events
 
$dot.watch = function()
{
$dot.unwatch();
if ( opts.watch == 'window' )
{
var $window = $(window),
_wWidth = $window.width(),
_wHeight = $window.height();
 
$window.bind(
'resize.dot' + conf.dotId,
function()
{
if ( _wWidth != $window.width() || _wHeight != $window.height() || !opts.windowResizeFix )
{
_wWidth = $window.width();
_wHeight = $window.height();
if ( watchInt )
{
clearInterval( watchInt );
}
watchInt = setTimeout(
function()
{
$dot.trigger( 'update.dot' );
}, 10
);
}
}
);
}
else
{
watchOrg = getSizes( $dot );
watchInt = setInterval(
function()
{
var watchNew = getSizes( $dot );
if ( watchOrg.width != watchNew.width ||
watchOrg.height != watchNew.height )
{
$dot.trigger( 'update.dot' );
watchOrg = getSizes( $dot );
}
}, 100
);
}
return $dot;
};
$dot.unwatch = function()
{
$(window).unbind( 'resize.dot' + conf.dotId );
if ( watchInt )
{
clearInterval( watchInt );
}
return $dot;
};
 
var orgContent = $dot.contents(),
opts = $.extend( true, {}, $.fn.dotdotdot.defaults, o ),
conf = {},
watchOrg = {},
watchInt = null,
$inr = null;
 
conf.afterElement = getElement( opts.after, $dot );
conf.isTruncated = false;
conf.dotId = dotId++;
 
 
$dot.data( 'dotdotdot', true )
.bind_events()
.trigger( 'update.dot' );
 
if ( opts.watch )
{
$dot.watch();
}
 
return $dot;
};
 
 
// public
$.fn.dotdotdot.defaults = {
'ellipsis' : '... ',
'wrap' : 'word',
'lastCharacter': {
'remove' : [ ' ', ',', ';', '.', '!', '?' ],
'noEllipsis' : []
},
'tolerance' : 0,
'callback' : null,
'after' : null,
'height' : null,
'watch' : false,
'windowResizeFix': true,
'debug' : false
};
 
// private
var dotId = 1;
 
function children( $elem, o, after )
{
var $elements = $elem.children(),
isTruncated = false;
 
$elem.empty();
 
for ( var a = 0, l = $elements.length; a < l; a++ )
{
var $e = $elements.eq( a );
$elem.append( $e );
if ( after )
{
$elem.append( after );
}
if ( test( $elem, o ) )
{
$e.remove();
isTruncated = true;
break;
}
else
{
if ( after )
{
after.remove();
}
}
}
return isTruncated;
}
function ellipsis( $elem, $d, $i, o, after )
{
var $elements = $elem.contents(),
isTruncated = false;
 
$elem.empty();
 
var notx = 'table, thead, tbody, tfoot, tr, col, colgroup, object, embed, param, ol, ul, dl, select, optgroup, option, textarea, script, style';
for ( var a = 0, l = $elements.length; a < l; a++ )
{
 
if ( isTruncated )
{
break;
}
 
var e = $elements[ a ],
$e = $(e);
 
if ( typeof e == 'undefined' )
{
continue;
}
 
$elem.append( $e );
if ( after )
{
$elem[ ( $elem.is( notx ) ) ? 'after' : 'append' ]( after );
}
if ( e.nodeType == 3 )
{
if ( test( $i, o ) )
{
isTruncated = ellipsisElement( $e, $d, $i, o, after );
}
}
else
{
isTruncated = ellipsis( $e, $d, $i, o, after );
}
 
if ( !isTruncated )
{
if ( after )
{
after.remove();
}
}
}
return isTruncated;
}
function ellipsisElement( $e, $d, $i, o, after )
{
var isTruncated = false,
e = $e[ 0 ];
 
if ( typeof e == 'undefined' )
{
return false;
}
 
var seporator = ( o.wrap == 'letter' ) ? '' : ' ',
textArr = getTextContent( e ).split( seporator ),
position = -1,
midPos = -1,
startPos = 0,
endPos = textArr.length - 1;
 
while ( startPos <= endPos )
{
var m = Math.floor( ( startPos + endPos ) / 2 );
if ( m == midPos )
{
break;
}
midPos = m;
 
setTextContent( e, textArr.slice( 0, midPos + 1 ).join( seporator ) + o.ellipsis );
 
if ( !test( $i, o ) )
{
position = midPos;
startPos = midPos;
}
else
{
endPos = midPos;
}
}
if ( position != -1 && !( textArr.length == 1 && textArr[ 0 ].length == 0 ) )
{
var txt = addEllipsis( textArr.slice( 0, position + 1 ).join( seporator ), o );
isTruncated = true;
setTextContent( e, txt );
}
else
{
var $w = $e.parent();
$e.remove();
 
var afterLength = ( after ) ? after.length : 0 ;
 
if ( $w.contents().size() > afterLength )
{
var $n = $w.contents().eq( -1 - afterLength );
isTruncated = ellipsisElement( $n, $d, $i, o, after );
}
else
{
var $p = $w.prev()
var e = $p.contents().eq( -1 )[ 0 ];
 
if ( typeof e != 'undefined' )
{
var txt = addEllipsis( getTextContent( e ), o );
setTextContent( e, txt );
if ( after )
{
$p.append( after );
}
$w.remove();
isTruncated = true;
}
 
}
}
 
return isTruncated;
}
function test( $i, o )
{
return $i.innerHeight() > o.maxHeight;
}
function addEllipsis( txt, o )
{
while( $.inArray( txt.slice( -1 ), o.lastCharacter.remove ) > -1 )
{
txt = txt.slice( 0, -1 );
}
if ( $.inArray( txt.slice( -1 ), o.lastCharacter.noEllipsis ) < 0 )
{
txt += o.ellipsis;
}
return txt;
}
function getSizes( $d )
{
return {
'width' : $d.innerWidth(),
'height': $d.innerHeight()
};
}
function setTextContent( e, content )
{
if ( e.innerText )
{
e.innerText = content;
}
else if ( e.nodeValue )
{
e.nodeValue = content;
}
else if (e.textContent)
{
e.textContent = content;
}
 
}
function getTextContent( e )
{
if ( e.innerText )
{
return e.innerText;
}
else if ( e.nodeValue )
{
return e.nodeValue;
}
else if ( e.textContent )
{
return e.textContent;
}
else
{
return "";
}
}
function getElement( e, $i )
{
if ( typeof e == 'undefined' )
{
return false;
}
if ( !e )
{
return false;
}
if ( typeof e == 'string' )
{
e = $(e, $i);
return ( e.length )
? e
: false;
}
if ( typeof e == 'object' )
{
return ( typeof e.jquery == 'undefined' )
? false
: e;
}
return false;
}
function getTrueInnerHeight( $el )
{
var h = $el.innerHeight(),
a = [ 'paddingTop', 'paddingBottom' ];
 
for ( var z = 0, l = a.length; z < l; z++ ) {
var m = parseInt( $el.css( a[ z ] ), 10 );
if ( isNaN( m ) )
{
m = 0;
}
h -= m;
}
return h;
}
function debug( d, m )
{
if ( !d )
{
return false;
}
if ( typeof m == 'string' )
{
m = 'dotdotdot: ' + m;
}
else
{
m = [ 'dotdotdot:', m ];
}
 
if ( typeof window.console != 'undefined' )
{
if ( typeof window.console.log != 'undefined' )
{
window.console.log( m );
}
}
return false;
}
 
// override jQuery.html
var _orgHtml = $.fn.html;
$.fn.html = function( str ) {
if ( typeof str != 'undefined' )
{
if ( this.data( 'dotdotdot' ) )
{
if ( typeof str != 'function' )
{
return this.trigger( 'update', [ str ] );
}
}
return _orgHtml.call( this, str );
}
return _orgHtml.call( this );
};
 
 
// override jQuery.text
var _orgText = $.fn.text;
$.fn.text = function( str ) {
if ( typeof str != 'undefined' )
{
if ( this.data( 'dotdotdot' ) )
{
var temp = $( '<div />' );
temp.text( str );
str = temp.html();
temp.remove();
return this.trigger( 'update', [ str ] );
}
return _orgText.call( this, str );
}
return _orgText.call( this );
};
 
 
})( jQuery );
/branches/v0.2-buhl/doc/PhpDoc/js/jquery.iviewer.min.js
New file
0,0 → 1,47
/*
* iviewer Widget for jQuery UI
* https://github.com/can3p/iviewer
*
* Copyright (c) 2009 - 2012 Dmitry Petrov
* Dual licensed under the MIT and GPL licenses.
* - http://www.opensource.org/licenses/mit-license.php
* - http://www.gnu.org/copyleft/gpl.html
*
* Author: Dmitry Petrov
* Version: 0.7.7
*/
(function($,undefined){var mouseEvents={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup"},gesturesSupport="ongesturestart"in document.createElement("div");function makeMouseEvent(event){var touch=event.originalEvent.changedTouches[0];return $.extend(event,{type:mouseEvents[event.type],which:1,pageX:touch.pageX,pageY:touch.pageY,screenX:touch.screenX,screenY:touch.screenY,clientX:touch.clientX,clientY:touch.clientY,isTouchEvent:true})}var mouseProto=$.ui.mouse.prototype,_mouseInit=$.ui.mouse.prototype._mouseInit;
mouseProto._mouseInit=function(){var self=this;self._touchActive=false;this.element.bind("touchstart."+this.widgetName,function(event){if(gesturesSupport&&event.originalEvent.touches.length>1)return;self._touchActive=true;return self._mouseDown(makeMouseEvent(event))});var self=this;this._mouseMoveDelegate=function(event){if(gesturesSupport&&event.originalEvent.touches&&event.originalEvent.touches.length>1)return;if(self._touchActive)return self._mouseMove(makeMouseEvent(event))};this._mouseUpDelegate=
function(event){if(self._touchActive){self._touchActive=false;return self._mouseUp(makeMouseEvent(event))}};$(document).bind("touchmove."+this.widgetName,this._mouseMoveDelegate).bind("touchend."+this.widgetName,this._mouseUpDelegate);_mouseInit.apply(this)};var setter=function(setter,getter){return function(val){if(arguments.length===0)return getter.apply(this);else setter.apply(this,arguments)}};var ieTransforms={"0":{marginLeft:0,marginTop:0,filter:'progid:DXImageTransform.Microsoft.Matrix(M11=1, M12=0, M21=0, M22=1, SizingMethod="auto expand")'},
90:{marginLeft:-1,marginTop:1,filter:'progid:DXImageTransform.Microsoft.Matrix(M11=0, M12=-1, M21=1, M22=0, SizingMethod="auto expand")'},180:{marginLeft:0,marginTop:0,filter:'progid:DXImageTransform.Microsoft.Matrix(M11=-1, M12=0, M21=0, M22=-1, SizingMethod="auto expand")'},270:{marginLeft:-1,marginTop:1,filter:'progid:DXImageTransform.Microsoft.Matrix(M11=0, M12=1, M21=-1, M22=0, SizingMethod="auto expand")'}},useIeTransforms=function(){var el=document.createElement("div");el.style.cssText=["-ms-",
"",""].join("filter:blur(2px); ");return!!el.style.cssText&&document.documentMode<9}();$.widget("ui.iviewer",$.ui.mouse,{widgetEventPrefix:"iviewer",options:{zoom:"fit",zoom_base:100,zoom_max:800,zoom_min:25,zoom_delta:1.4,zoom_animation:true,ui_disabled:false,mousewheel:true,update_on_resize:true,onZoom:jQuery.noop,onAfterZoom:jQuery.noop,onStartDrag:jQuery.noop,onDrag:jQuery.noop,onStopDrag:jQuery.noop,onMouseMove:jQuery.noop,onClick:jQuery.noop,onStartLoad:null,onFinishLoad:null,onErrorLoad:null},
_create:function(){var me=this;this.dx=0;this.dy=0;this.img_object={};this.zoom_object={};this._angle=0;this.current_zoom=this.options.zoom;if(this.options.src===null)return;this.container=this.element;this._updateContainerInfo();this.container.css("overflow","hidden");if(this.options.update_on_resize==true)$(window).resize(function(){me.update()});this.img_object=new $.ui.iviewer.ImageObject(this.options.zoom_animation);if(this.options.mousewheel){this.container.bind("mousewheel.iviewer",function(ev,
delta){var zoom=delta>0?1:-1,container_offset=me.container.offset(),mouse_pos={x:ev.pageX-container_offset.left,y:ev.pageY-container_offset.top};me.zoom_by(zoom,mouse_pos);return false});if(gesturesSupport){var gestureThrottle=+new Date;var originalScale,originalCenter;this.img_object.object().bind("touchstart",function(ev){originalScale=me.current_zoom;var touches=ev.originalEvent.touches,container_offset;if(touches.length==2){container_offset=me.container.offset();originalCenter={x:(touches[0].pageX+
touches[1].pageX)/2-container_offset.left,y:(touches[0].pageY+touches[1].pageY)/2-container_offset.top}}else originalCenter=null}).bind("gesturechange",function(ev){var d=+new Date;if(d-gestureThrottle<50)return;gestureThrottle=d;var zoom=originalScale*ev.originalEvent.scale;me.set_zoom(zoom,originalCenter);ev.preventDefault()}).bind("gestureend",function(ev){originalCenter=null})}}this.img_object.object().click(function(e){return me._click(e)}).prependTo(this.container);this.container.bind("mousemove",
function(ev){me._handleMouseMove(ev)});this.loadImage(this.options.src);if(!this.options.ui_disabled)this.createui();this._mouseInit()},destroy:function(){$.Widget.prototype.destroy.call(this);this._mouseDestroy();this.img_object.object().remove();this.container.off(".iviewer");this.container.css("overflow","")},_updateContainerInfo:function(){this.options.height=this.container.height();this.options.width=this.container.width()},update:function(){this._updateContainerInfo();this.setCoords(this.img_object.x(),
this.img_object.y())},loadImage:function(src){this.current_zoom=this.options.zoom;var me=this;this._trigger("onStartLoad",0,src);this.container.addClass("iviewer_loading");this.img_object.load(src,function(){me._imageLoaded(src)},function(){me._trigger("onErrorLoad",0,src)})},_imageLoaded:function(src){this.container.removeClass("iviewer_loading");this.container.addClass("iviewer_cursor");if(this.options.zoom=="fit")this.fit(true);else this.set_zoom(this.options.zoom,true);this._trigger("onFinishLoad",
0,src)},fit:function(skip_animation){var aspect_ratio=this.img_object.orig_width()/this.img_object.orig_height();var window_ratio=this.options.width/this.options.height;var choose_left=aspect_ratio>window_ratio;var new_zoom=0;if(choose_left)new_zoom=this.options.width/this.img_object.orig_width()*100;else new_zoom=this.options.height/this.img_object.orig_height()*100;this.set_zoom(new_zoom,skip_animation)},center:function(){this.setCoords(-Math.round((this.img_object.display_width()-this.options.width)/
2),-Math.round((this.img_object.display_height()-this.options.height)/2))},moveTo:function(x,y){var dx=x-Math.round(this.options.width/2);var dy=y-Math.round(this.options.height/2);var new_x=this.img_object.x()-dx;var new_y=this.img_object.y()-dy;this.setCoords(new_x,new_y)},getContainerOffset:function(){return jQuery.extend({},this.container.offset())},setCoords:function(x,y){if(!this.img_object.loaded())return;var coords=this._correctCoords(x,y);this.img_object.x(coords.x);this.img_object.y(coords.y)},
_correctCoords:function(x,y){x=parseInt(x,10);y=parseInt(y,10);if(y>0)y=0;if(x>0)x=0;if(y+this.img_object.display_height()<this.options.height)y=this.options.height-this.img_object.display_height();if(x+this.img_object.display_width()<this.options.width)x=this.options.width-this.img_object.display_width();if(this.img_object.display_width()<=this.options.width)x=-(this.img_object.display_width()-this.options.width)/2;if(this.img_object.display_height()<=this.options.height)y=-(this.img_object.display_height()-
this.options.height)/2;return{x:x,y:y}},containerToImage:function(x,y){var coords={x:x-this.img_object.x(),y:y-this.img_object.y()};coords=this.img_object.toOriginalCoords(coords);return{x:util.descaleValue(coords.x,this.current_zoom),y:util.descaleValue(coords.y,this.current_zoom)}},imageToContainer:function(x,y){var coords={x:util.scaleValue(x,this.current_zoom),y:util.scaleValue(y,this.current_zoom)};return this.img_object.toRealCoords(coords)},_getMouseCoords:function(e){var containerOffset=this.container.offset();
coords=this.containerToImage(e.pageX-containerOffset.left,e.pageY-containerOffset.top);return coords},set_zoom:function(new_zoom,skip_animation,zoom_center){if(this._trigger("onZoom",0,new_zoom)==false)return;if(!this.img_object.loaded())return;zoom_center=zoom_center||{x:Math.round(this.options.width/2),y:Math.round(this.options.height/2)};if(new_zoom<this.options.zoom_min)new_zoom=this.options.zoom_min;else if(new_zoom>this.options.zoom_max)new_zoom=this.options.zoom_max;if(this.current_zoom=="fit"){var old_x=
zoom_center.x+Math.round(this.img_object.orig_width()/2);var old_y=zoom_center.y+Math.round(this.img_object.orig_height()/2);this.current_zoom=100}else{var old_x=-this.img_object.x()+zoom_center.x;var old_y=-this.img_object.y()+zoom_center.y}var new_width=util.scaleValue(this.img_object.orig_width(),new_zoom);var new_height=util.scaleValue(this.img_object.orig_height(),new_zoom);var new_x=util.scaleValue(util.descaleValue(old_x,this.current_zoom),new_zoom);var new_y=util.scaleValue(util.descaleValue(old_y,
this.current_zoom),new_zoom);new_x=zoom_center.x-new_x;new_y=zoom_center.y-new_y;new_width=Math.floor(new_width);new_height=Math.floor(new_height);new_x=Math.floor(new_x);new_y=Math.floor(new_y);this.img_object.display_width(new_width);this.img_object.display_height(new_height);var coords=this._correctCoords(new_x,new_y),self=this;this.img_object.setImageProps(new_width,new_height,coords.x,coords.y,skip_animation,function(){self._trigger("onAfterZoom",0,new_zoom)});this.current_zoom=new_zoom;this.update_status()},
zoom_by:function(delta,zoom_center){var closest_rate=this.find_closest_zoom_rate(this.current_zoom);var next_rate=closest_rate+delta;var next_zoom=this.options.zoom_base*Math.pow(this.options.zoom_delta,next_rate);if(delta>0&&next_zoom<this.current_zoom)next_zoom*=this.options.zoom_delta;if(delta<0&&next_zoom>this.current_zoom)next_zoom/=this.options.zoom_delta;this.set_zoom(next_zoom,undefined,zoom_center)},angle:function(deg,abs){if(arguments.length===0)return this.img_object.angle();if(deg<-270||
deg>270||deg%90!==0)return;if(!abs)deg+=this.img_object.angle();if(deg<0)deg+=360;if(deg>=360)deg-=360;if(deg===this.img_object.angle())return;this.img_object.angle(deg);this.center();this._trigger("angle",0,{angle:this.img_object.angle()})},find_closest_zoom_rate:function(value){if(value==this.options.zoom_base)return 0;function div(val1,val2){return val1/val2}function mul(val1,val2){return val1*val2}var func=value>this.options.zoom_base?mul:div;var sgn=value>this.options.zoom_base?1:-1;var mltplr=
this.options.zoom_delta;var rate=1;while(Math.abs(func(this.options.zoom_base,Math.pow(mltplr,rate))-value)>Math.abs(func(this.options.zoom_base,Math.pow(mltplr,rate+1))-value))rate++;return sgn*rate},update_status:function(){if(!this.options.ui_disabled){var percent=Math.round(100*this.img_object.display_height()/this.img_object.orig_height());if(percent)this.zoom_object.html(percent+"%")}},info:function(param,withoutRotation){if(!param)return;switch(param){case "orig_width":case "orig_height":if(withoutRotation)return this.img_object.angle()%
180===0?this.img_object[param]():param==="orig_width"?this.img_object.orig_height():this.img_object.orig_width();else return this.img_object[param]();case "display_width":case "display_height":case "angle":return this.img_object[param]();case "zoom":return this.current_zoom;case "src":return this.img_object.object().attr("src");case "coords":return{x:this.img_object.x(),y:this.img_object.y()}}},_mouseStart:function(e){$.ui.mouse.prototype._mouseStart.call(this,e);if(this._trigger("onStartDrag",0,
this._getMouseCoords(e))===false)return false;this.container.addClass("iviewer_drag_cursor");this._dragInitialized=!(e.originalEvent.changedTouches&&e.originalEvent.changedTouches.length==1);this.dx=e.pageX-this.img_object.x();this.dy=e.pageY-this.img_object.y();return true},_mouseCapture:function(e){return true},_handleMouseMove:function(e){this._trigger("onMouseMove",e,this._getMouseCoords(e))},_mouseDrag:function(e){$.ui.mouse.prototype._mouseDrag.call(this,e);if(!this._dragInitialized){this.dx=
e.pageX-this.img_object.x();this.dy=e.pageY-this.img_object.y();this._dragInitialized=true}var ltop=e.pageY-this.dy;var lleft=e.pageX-this.dx;this.setCoords(lleft,ltop);this._trigger("onDrag",e,this._getMouseCoords(e));return false},_mouseStop:function(e){$.ui.mouse.prototype._mouseStop.call(this,e);this.container.removeClass("iviewer_drag_cursor");this._trigger("onStopDrag",0,this._getMouseCoords(e))},_click:function(e){this._trigger("onClick",0,this._getMouseCoords(e))},createui:function(){var me=
this;$("<div>",{"class":"iviewer_zoom_in iviewer_common iviewer_button"}).bind("mousedown touchstart",function(){me.zoom_by(1);return false}).appendTo(this.container);$("<div>",{"class":"iviewer_zoom_out iviewer_common iviewer_button"}).bind("mousedown touchstart",function(){me.zoom_by(-1);return false}).appendTo(this.container);$("<div>",{"class":"iviewer_zoom_zero iviewer_common iviewer_button"}).bind("mousedown touchstart",function(){me.set_zoom(100);return false}).appendTo(this.container);$("<div>",
{"class":"iviewer_zoom_fit iviewer_common iviewer_button"}).bind("mousedown touchstart",function(){me.fit(this);return false}).appendTo(this.container);this.zoom_object=$("<div>").addClass("iviewer_zoom_status iviewer_common").appendTo(this.container);$("<div>",{"class":"iviewer_rotate_left iviewer_common iviewer_button"}).bind("mousedown touchstart",function(){me.angle(-90);return false}).appendTo(this.container);$("<div>",{"class":"iviewer_rotate_right iviewer_common iviewer_button"}).bind("mousedown touchstart",
function(){me.angle(90);return false}).appendTo(this.container);this.update_status()}});$.ui.iviewer.ImageObject=function(do_anim){this._img=$("<img>").css({position:"absolute",top:"0px",left:"0px"});this._loaded=false;this._swapDimensions=false;this._do_anim=do_anim||false;this.x(0,true);this.y(0,true);this.angle(0)};(function(){this._reset=function(w,h){this._angle=0;this._swapDimensions=false;this.x(0);this.y(0);this.orig_width(w);this.orig_height(h);this.display_width(w);this.display_height(h)};
this.loaded=function(){return this._loaded};this.load=function(src,loaded,error){var self=this;loaded=loaded||jQuery.noop;this._loaded=false;var img=new Image;img.onload=function(){self._loaded=true;self._reset(this.width,this.height);self._img.removeAttr("width").removeAttr("height").removeAttr("style").css({position:"absolute",top:"0px",left:"0px",maxWidth:"none"});self._img[0].src=src;loaded()};img.onerror=error;setTimeout(function(){img.src=src},0);this.angle(0)};this._dimension=function(prefix,
name){var horiz="_"+prefix+"_"+name,vert="_"+prefix+"_"+(name==="height"?"width":"height");return setter(function(val){this[this._swapDimensions?horiz:vert]=val},function(){return this[this._swapDimensions?horiz:vert]})};this.display_width=this._dimension("display","width"),this.display_height=this._dimension("display","height"),this.display_diff=function(){return Math.floor(this.display_width()-this.display_height())};this.orig_width=this._dimension("orig","width"),this.orig_height=this._dimension("orig",
"height"),this.x=setter(function(val,skipCss){this._x=val;if(!skipCss){this._finishAnimation();this._img.css("left",this._x+(this._swapDimensions?this.display_diff()/2:0)+"px")}},function(){return this._x});this.y=setter(function(val,skipCss){this._y=val;if(!skipCss){this._finishAnimation();this._img.css("top",this._y-(this._swapDimensions?this.display_diff()/2:0)+"px")}},function(){return this._y});this.angle=setter(function(deg){var prevSwap=this._swapDimensions;this._angle=deg;this._swapDimensions=
deg%180!==0;if(prevSwap!==this._swapDimensions){var verticalMod=this._swapDimensions?-1:1;this.x(this.x()-verticalMod*this.display_diff()/2,true);this.y(this.y()+verticalMod*this.display_diff()/2,true)}var cssVal="rotate("+deg+"deg)",img=this._img;jQuery.each(["","-webkit-","-moz-","-o-","-ms-"],function(i,prefix){img.css(prefix+"transform",cssVal)});if(useIeTransforms){jQuery.each(["-ms-",""],function(i,prefix){img.css(prefix+"filter",ieTransforms[deg].filter)});img.css({marginLeft:ieTransforms[deg].marginLeft*
this.display_diff()/2,marginTop:ieTransforms[deg].marginTop*this.display_diff()/2})}},function(){return this._angle});this.toOriginalCoords=function(point){switch(this.angle()){case 0:return{x:point.x,y:point.y};case 90:return{x:point.y,y:this.display_width()-point.x};case 180:return{x:this.display_width()-point.x,y:this.display_height()-point.y};case 270:return{x:this.display_height()-point.y,y:point.x}}};this.toRealCoords=function(point){switch(this.angle()){case 0:return{x:this.x()+point.x,y:this.y()+
point.y};case 90:return{x:this.x()+this.display_width()-point.y,y:this.y()+point.x};case 180:return{x:this.x()+this.display_width()-point.x,y:this.y()+this.display_height()-point.y};case 270:return{x:this.x()+point.y,y:this.y()+this.display_height()-point.x}}};this.object=setter(jQuery.noop,function(){return this._img});this.setImageProps=function(disp_w,disp_h,x,y,skip_animation,complete){complete=complete||jQuery.noop;this.display_width(disp_w);this.display_height(disp_h);this.x(x,true);this.y(y,
true);var w=this._swapDimensions?disp_h:disp_w;var h=this._swapDimensions?disp_w:disp_h;var params={width:w,height:h,top:y-(this._swapDimensions?this.display_diff()/2:0)+"px",left:x+(this._swapDimensions?this.display_diff()/2:0)+"px"};if(useIeTransforms)jQuery.extend(params,{marginLeft:ieTransforms[this.angle()].marginLeft*this.display_diff()/2,marginTop:ieTransforms[this.angle()].marginTop*this.display_diff()/2});var swapDims=this._swapDimensions,img=this._img;if(useIeTransforms&&swapDims){var ieh=
this._img.width(),iew=this._img.height(),iedh=params.height-ieh;iedw=params.width-iew;delete params.width;delete params.height}if(this._do_anim&&!skip_animation)this._img.stop(true).animate(params,{duration:200,complete:complete,step:function(now,fx){if(useIeTransforms&&swapDims&&fx.prop==="top"){var percent=(now-fx.start)/(fx.end-fx.start);img.height(ieh+iedh*percent);img.width(iew+iedw*percent);img.css("top",now)}}});else{this._img.css(params);setTimeout(complete,0)}};this._finishAnimation=function(){this._img.stop(true,
true)}}).apply($.ui.iviewer.ImageObject.prototype);var util={scaleValue:function(value,toZoom){return value*toZoom/100},descaleValue:function(value,fromZoom){return value*100/fromZoom}}})(jQuery,undefined);
/branches/v0.2-buhl/doc/PhpDoc/js/jquery.dotdotdot-1.5.9.min.js
New file
0,0 → 1,15
/*
* jQuery dotdotdot 1.5.9
*
* Copyright (c) 2013 Fred Heusschen
* www.frebsite.nl
*
* Plugin website:
* dotdotdot.frebsite.nl
*
* Dual licensed under the MIT and GPL licenses.
* http://en.wikipedia.org/wiki/MIT_License
* http://en.wikipedia.org/wiki/GNU_General_Public_License
*/
 
(function(a){function c(a,b,c){var d=a.children(),e=!1;a.empty();for(var g=0,h=d.length;h>g;g++){var i=d.eq(g);if(a.append(i),c&&a.append(c),f(a,b)){i.remove(),e=!0;break}c&&c.remove()}return e}function d(b,c,g,h,i){var j=b.contents(),k=!1;b.empty();for(var l="table, thead, tbody, tfoot, tr, col, colgroup, object, embed, param, ol, ul, dl, select, optgroup, option, textarea, script, style",m=0,n=j.length;n>m&&!k;m++){var o=j[m],p=a(o);void 0!==o&&(b.append(p),i&&b[b.is(l)?"after":"append"](i),3==o.nodeType?f(g,h)&&(k=e(p,c,g,h,i)):k=d(p,c,g,h,i),k||i&&i.remove())}return k}function e(a,b,c,d,h){var k=!1,l=a[0];if(l===void 0)return!1;for(var m="letter"==d.wrap?"":" ",n=j(l).split(m),o=-1,p=-1,q=0,r=n.length-1;r>=q;){var s=Math.floor((q+r)/2);if(s==p)break;p=s,i(l,n.slice(0,p+1).join(m)+d.ellipsis),f(c,d)?r=p:(o=p,q=p)}if(-1==o||1==n.length&&0==n[0].length){var u=a.parent();a.remove();var v=h?h.length:0;if(u.contents().size()>v){var w=u.contents().eq(-1-v);k=e(w,b,c,d,h)}else{var x=u.prev(),l=x.contents().eq(-1)[0];if(l!==void 0){var t=g(j(l),d);i(l,t),h&&x.append(h),u.remove(),k=!0}}}else{var t=g(n.slice(0,o+1).join(m),d);k=!0,i(l,t)}return k}function f(a,b){return a.innerHeight()>b.maxHeight}function g(b,c){for(;a.inArray(b.slice(-1),c.lastCharacter.remove)>-1;)b=b.slice(0,-1);return 0>a.inArray(b.slice(-1),c.lastCharacter.noEllipsis)&&(b+=c.ellipsis),b}function h(a){return{width:a.innerWidth(),height:a.innerHeight()}}function i(a,b){a.innerText?a.innerText=b:a.nodeValue?a.nodeValue=b:a.textContent&&(a.textContent=b)}function j(a){return a.innerText?a.innerText:a.nodeValue?a.nodeValue:a.textContent?a.textContent:""}function k(b,c){return b===void 0?!1:b?"string"==typeof b?(b=a(b,c),b.length?b:!1):"object"==typeof b?b.jquery===void 0?!1:b:!1:!1}function l(a){for(var b=a.innerHeight(),c=["paddingTop","paddingBottom"],d=0,e=c.length;e>d;d++){var f=parseInt(a.css(c[d]),10);isNaN(f)&&(f=0),b-=f}return b}function m(a,b){return a?(b="string"==typeof b?"dotdotdot: "+b:["dotdotdot:",b],window.console!==void 0&&window.console.log!==void 0&&window.console.log(b),!1):!1}if(!a.fn.dotdotdot){a.fn.dotdotdot=function(e){if(0==this.length)return e&&e.debug===!1||m(!0,'No element found for "'+this.selector+'".'),this;if(this.length>1)return this.each(function(){a(this).dotdotdot(e)});var g=this;g.data("dotdotdot")&&g.trigger("destroy.dot"),g.data("dotdotdot-style",g.attr("style")),g.css("word-wrap","break-word"),g.bind_events=function(){return g.bind("update.dot",function(b,e){b.preventDefault(),b.stopPropagation(),j.maxHeight="number"==typeof j.height?j.height:l(g),j.maxHeight+=j.tolerance,e!==void 0&&(("string"==typeof e||e instanceof HTMLElement)&&(e=a("<div />").append(e).contents()),e instanceof a&&(i=e)),q=g.wrapInner('<div class="dotdotdot" />').children(),q.empty().append(i.clone(!0)).css({height:"auto",width:"auto",border:"none",padding:0,margin:0});var h=!1,k=!1;return n.afterElement&&(h=n.afterElement.clone(!0),n.afterElement.remove()),f(q,j)&&(k="children"==j.wrap?c(q,j,h):d(q,g,q,j,h)),q.replaceWith(q.contents()),q=null,a.isFunction(j.callback)&&j.callback.call(g[0],k,i),n.isTruncated=k,k}).bind("isTruncated.dot",function(a,b){return a.preventDefault(),a.stopPropagation(),"function"==typeof b&&b.call(g[0],n.isTruncated),n.isTruncated}).bind("originalContent.dot",function(a,b){return a.preventDefault(),a.stopPropagation(),"function"==typeof b&&b.call(g[0],i),i}).bind("destroy.dot",function(a){a.preventDefault(),a.stopPropagation(),g.unwatch().unbind_events().empty().append(i).attr("style",g.data("dotdotdot-style")).data("dotdotdot",!1)}),g},g.unbind_events=function(){return g.unbind(".dot"),g},g.watch=function(){if(g.unwatch(),"window"==j.watch){var b=a(window),c=b.width(),d=b.height();b.bind("resize.dot"+n.dotId,function(){c==b.width()&&d==b.height()&&j.windowResizeFix||(c=b.width(),d=b.height(),p&&clearInterval(p),p=setTimeout(function(){g.trigger("update.dot")},10))})}else o=h(g),p=setInterval(function(){var a=h(g);(o.width!=a.width||o.height!=a.height)&&(g.trigger("update.dot"),o=h(g))},100);return g},g.unwatch=function(){return a(window).unbind("resize.dot"+n.dotId),p&&clearInterval(p),g};var i=g.contents(),j=a.extend(!0,{},a.fn.dotdotdot.defaults,e),n={},o={},p=null,q=null;return n.afterElement=k(j.after,g),n.isTruncated=!1,n.dotId=b++,g.data("dotdotdot",!0).bind_events().trigger("update.dot"),j.watch&&g.watch(),g},a.fn.dotdotdot.defaults={ellipsis:"... ",wrap:"word",lastCharacter:{remove:[" ",",",";",".","!","?"],noEllipsis:[]},tolerance:0,callback:null,after:null,height:null,watch:!1,windowResizeFix:!0,debug:!1};var b=1,n=a.fn.html;a.fn.html=function(a){return a!==void 0?this.data("dotdotdot")&&"function"!=typeof a?this.trigger("update",[a]):n.call(this,a):n.call(this)};var o=a.fn.text;a.fn.text=function(b){if(b!==void 0){if(this.data("dotdotdot")){var c=a("<div />");return c.text(b),b=c.html(),c.remove(),this.trigger("update",[b])}return o.call(this,b)}return o.call(this)}}})(jQuery);
/branches/v0.2-buhl/doc/PhpDoc/js/prism.min.js
New file
0,0 → 1,16
/**
* Prism: Lightweight, robust, elegant syntax highlighting
* MIT license http://www.opensource.org/licenses/mit-license.php/
* @author Lea Verou http://lea.verou.me
*/(function(){var e=/\blang(?:uage)?-(?!\*)(\w+)\b/i,t=self.Prism={util:{type:function(e){return Object.prototype.toString.call(e).match(/\[object (\w+)\]/)[1]},clone:function(e){var n=t.util.type(e);switch(n){case"Object":var r={};for(var i in e)e.hasOwnProperty(i)&&(r[i]=t.util.clone(e[i]));return r;case"Array":return e.slice()}return e}},languages:{extend:function(e,n){var r=t.util.clone(t.languages[e]);for(var i in n)r[i]=n[i];return r},insertBefore:function(e,n,r,i){i=i||t.languages;var s=i[e],o={};for(var u in s)if(s.hasOwnProperty(u)){if(u==n)for(var a in r)r.hasOwnProperty(a)&&(o[a]=r[a]);o[u]=s[u]}return i[e]=o},DFS:function(e,n){for(var r in e){n.call(e,r,e[r]);t.util.type(e)==="Object"&&t.languages.DFS(e[r],n)}}},highlightAll:function(e,n){var r=document.querySelectorAll('code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code');for(var i=0,s;s=r[i++];)t.highlightElement(s,e===!0,n)},highlightElement:function(r,i,s){var o,u,a=r;while(a&&!e.test(a.className))a=a.parentNode;if(a){o=(a.className.match(e)||[,""])[1];u=t.languages[o]}if(!u)return;r.className=r.className.replace(e,"").replace(/\s+/g," ")+" language-"+o;a=r.parentNode;/pre/i.test(a.nodeName)&&(a.className=a.className.replace(e,"").replace(/\s+/g," ")+" language-"+o);var f=r.textContent;if(!f)return;f=f.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ");var l={element:r,language:o,grammar:u,code:f};t.hooks.run("before-highlight",l);if(i&&self.Worker){var c=new Worker(t.filename);c.onmessage=function(e){l.highlightedCode=n.stringify(JSON.parse(e.data),o);t.hooks.run("before-insert",l);l.element.innerHTML=l.highlightedCode;s&&s.call(l.element);t.hooks.run("after-highlight",l)};c.postMessage(JSON.stringify({language:l.language,code:l.code}))}else{l.highlightedCode=t.highlight(l.code,l.grammar,l.language);t.hooks.run("before-insert",l);l.element.innerHTML=l.highlightedCode;s&&s.call(r);t.hooks.run("after-highlight",l)}},highlight:function(e,r,i){return n.stringify(t.tokenize(e,r),i)},tokenize:function(e,n,r){var i=t.Token,s=[e],o=n.rest;if(o){for(var u in o)n[u]=o[u];delete n.rest}e:for(var u in n){if(!n.hasOwnProperty(u)||!n[u])continue;var a=n[u],f=a.inside,l=!!a.lookbehind,c=0;a=a.pattern||a;for(var h=0;h<s.length;h++){var p=s[h];if(s.length>e.length)break e;if(p instanceof i)continue;a.lastIndex=0;var d=a.exec(p);if(d){l&&(c=d[1].length);var v=d.index-1+c,d=d[0].slice(c),m=d.length,g=v+m,y=p.slice(0,v+1),b=p.slice(g+1),w=[h,1];y&&w.push(y);var E=new i(u,f?t.tokenize(d,f):d);w.push(E);b&&w.push(b);Array.prototype.splice.apply(s,w)}}}return s},hooks:{all:{},add:function(e,n){var r=t.hooks.all;r[e]=r[e]||[];r[e].push(n)},run:function(e,n){var r=t.hooks.all[e];if(!r||!r.length)return;for(var i=0,s;s=r[i++];)s(n)}}},n=t.Token=function(e,t){this.type=e;this.content=t};n.stringify=function(e,r,i){if(typeof e=="string")return e;if(Object.prototype.toString.call(e)=="[object Array]")return e.map(function(t){return n.stringify(t,r,e)}).join("");var s={type:e.type,content:n.stringify(e.content,r,i),tag:"span",classes:["token",e.type],attributes:{},language:r,parent:i};s.type=="comment"&&(s.attributes.spellcheck="true");t.hooks.run("wrap",s);var o="";for(var u in s.attributes)o+=u+'="'+(s.attributes[u]||"")+'"';return"<"+s.tag+' class="'+s.classes.join(" ")+'" '+o+">"+s.content+"</"+s.tag+">"};if(!self.document){self.addEventListener("message",function(e){var n=JSON.parse(e.data),r=n.language,i=n.code;self.postMessage(JSON.stringify(t.tokenize(i,t.languages[r])));self.close()},!1);return}var r=document.getElementsByTagName("script");r=r[r.length-1];if(r){t.filename=r.src;document.addEventListener&&!r.hasAttribute("data-manual")&&document.addEventListener("DOMContentLoaded",t.highlightAll)}})();;
Prism.languages.markup={comment:/&lt;!--[\w\W]*?-->/g,prolog:/&lt;\?.+?\?>/,doctype:/&lt;!DOCTYPE.+?>/,cdata:/&lt;!\[CDATA\[[\w\W]*?]]>/i,tag:{pattern:/&lt;\/?[\w:-]+\s*(?:\s+[\w:-]+(?:=(?:("|')(\\?[\w\W])*?\1|\w+))?\s*)*\/?>/gi,inside:{tag:{pattern:/^&lt;\/?[\w:-]+/i,inside:{punctuation:/^&lt;\/?/,namespace:/^[\w-]+?:/}},"attr-value":{pattern:/=(?:('|")[\w\W]*?(\1)|[^\s>]+)/gi,inside:{punctuation:/=|>|"/g}},punctuation:/\/?>/g,"attr-name":{pattern:/[\w:-]+/g,inside:{namespace:/^[\w-]+?:/}}}},entity:/&amp;#?[\da-z]{1,8};/gi};Prism.hooks.add("wrap",function(e){e.type==="entity"&&(e.attributes.title=e.content.replace(/&amp;/,"&"))});;
Prism.languages.css={comment:/\/\*[\w\W]*?\*\//g,atrule:{pattern:/@[\w-]+?.*?(;|(?=\s*{))/gi,inside:{punctuation:/[;:]/g}},url:/url\((["']?).*?\1\)/gi,selector:/[^\{\}\s][^\{\};]*(?=\s*\{)/g,property:/(\b|\B)[\w-]+(?=\s*:)/ig,string:/("|')(\\?.)*?\1/g,important:/\B!important\b/gi,ignore:/&(lt|gt|amp);/gi,punctuation:/[\{\};:]/g};Prism.languages.markup&&Prism.languages.insertBefore("markup","tag",{style:{pattern:/(&lt;|<)style[\w\W]*?(>|&gt;)[\w\W]*?(&lt;|<)\/style(>|&gt;)/ig,inside:{tag:{pattern:/(&lt;|<)style[\w\W]*?(>|&gt;)|(&lt;|<)\/style(>|&gt;)/ig,inside:Prism.languages.markup.tag.inside},rest:Prism.languages.css}}});;
Prism.languages.css.selector={pattern:/[^\{\}\s][^\{\}]*(?=\s*\{)/g,inside:{"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/g,"pseudo-class":/:[-\w]+(?:\(.*\))?/g,"class":/\.[-:\.\w]+/g,id:/#[-:\.\w]+/g}};Prism.languages.insertBefore("css","ignore",{hexcode:/#[\da-f]{3,6}/gi,entity:/\\[\da-f]{1,8}/gi,number:/[\d%\.]+/g,"function":/(attr|calc|cross-fade|cycle|element|hsla?|image|lang|linear-gradient|matrix3d|matrix|perspective|radial-gradient|repeating-linear-gradient|repeating-radial-gradient|rgba?|rotatex|rotatey|rotatez|rotate3d|rotate|scalex|scaley|scalez|scale3d|scale|skewx|skewy|skew|steps|translatex|translatey|translatez|translate3d|translate|url|var)/ig});;
Prism.languages.clike={comment:{pattern:/(^|[^\\])(\/\*[\w\W]*?\*\/|(^|[^:])\/\/.*?(\r?\n|$))/g,lookbehind:!0},string:/("|')(\\?.)*?\1/g,"class-name":{pattern:/((?:(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/ig,lookbehind:!0,inside:{punctuation:/(\.|\\)/}},keyword:/\b(if|else|while|do|for|return|in|instanceof|function|new|try|catch|finally|null|break|continue)\b/g,"boolean":/\b(true|false)\b/g,"function":{pattern:/[a-z0-9_]+\(/ig,inside:{punctuation:/\(/}}, number:/\b-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee]-?\d+)?)\b/g,operator:/[-+]{1,2}|!|&lt;=?|>=?|={1,3}|(&amp;){1,2}|\|?\||\?|\*|\/|\~|\^|\%/g,ignore:/&(lt|gt|amp);/gi,punctuation:/[{}[\];(),.:]/g};;
Prism.languages.javascript=Prism.languages.extend("clike",{keyword:/\b(var|let|if|else|while|do|for|return|in|instanceof|function|new|with|typeof|try|catch|finally|null|break|continue)\b/g,number:/\b-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee]-?\d+)?|NaN|-?Infinity)\b/g});Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:/(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\r\n])+\/[gim]{0,3}(?=\s*($|[\r\n,.;})]))/g,lookbehind:!0}});Prism.languages.markup&&Prism.languages.insertBefore("markup","tag",{script:{pattern:/(&lt;|<)script[\w\W]*?(>|&gt;)[\w\W]*?(&lt;|<)\/script(>|&gt;)/ig,inside:{tag:{pattern:/(&lt;|<)script[\w\W]*?(>|&gt;)|(&lt;|<)\/script(>|&gt;)/ig,inside:Prism.languages.markup.tag.inside},rest:Prism.languages.javascript}}});;
Prism.languages.php=Prism.languages.extend("clike",{keyword:/\b(and|or|xor|array|as|break|case|cfunction|class|const|continue|declare|default|die|do|else|elseif|enddeclare|endfor|endforeach|endif|endswitch|endwhile|extends|for|foreach|function|include|include_once|global|if|new|return|static|switch|use|require|require_once|var|while|abstract|interface|public|implements|extends|private|protected|parent|static|throw|null|echo|print|trait|namespace|use|final|yield|goto|instanceof|finally|try|catch)\b/ig, constant:/\b[A-Z0-9_]{2,}\b/g});Prism.languages.insertBefore("php","keyword",{delimiter:/(\?>|&lt;\?php|&lt;\?)/ig,variable:/(\$\w+)\b/ig,"package":{pattern:/(\\|namespace\s+|use\s+)[\w\\]+/g,lookbehind:!0,inside:{punctuation:/\\/}}});Prism.languages.insertBefore("php","operator",{property:{pattern:/(->)[\w]+/g,lookbehind:!0}}); Prism.languages.markup&&(Prism.hooks.add("before-highlight",function(a){"php"===a.language&&(a.tokenStack=[],a.code=a.code.replace(/(?:&lt;\?php|&lt;\?|<\?php|<\?)[\w\W]*?(?:\?&gt;|\?>)/ig,function(b){a.tokenStack.push(b);return"{{{PHP"+a.tokenStack.length+"}}}"}))}),Prism.hooks.add("after-highlight",function(a){if("php"===a.language){for(var b=0,c;c=a.tokenStack[b];b++)a.highlightedCode=a.highlightedCode.replace("{{{PHP"+(b+1)+"}}}",Prism.highlight(c,a.grammar,"php"));a.element.innerHTML=a.highlightedCode}}), Prism.hooks.add("wrap",function(a){"php"===a.language&&"markup"===a.type&&(a.content=a.content.replace(/(\{\{\{PHP[0-9]+\}\}\})/g,'<span class="token php">$1</span>'))}),Prism.languages.insertBefore("php","comment",{markup:{pattern:/(&lt;|<)[^?]\/?(.*?)(>|&gt;)/g,inside:Prism.languages.markup},php:/\{\{\{PHP[0-9]+\}\}\}/g}));;
Prism.languages.insertBefore("php","variable",{"this":/\$this/g,global:/\$_?(GLOBALS|SERVER|GET|POST|FILES|REQUEST|SESSION|ENV|COOKIE|HTTP_RAW_POST_DATA|argc|argv|php_errormsg|http_response_header)/g,scope:{pattern:/\b[\w\\]+::/g,inside:{keyword:/(static|self|parent)/,punctuation:/(::|\\)/}}});;
(function(){function e(e,t){return Array.prototype.slice.call((t||document).querySelectorAll(e))}function n(e,t,n){var r=t.replace(/\s+/g,"").split(","),i=+e.getAttribute("data-line-offset")||0,s=parseFloat(getComputedStyle(e).lineHeight);for(var o=0,u;u=r[o++];){u=u.split("-");var a=+u[0],f=+u[1]||a,l=document.createElement("div");l.textContent=Array(f-a+2).join(" \r\n");l.className=(n||"")+" line-highlight";l.setAttribute("data-start",a);f>a&&l.setAttribute("data-end",f);l.style.top=(a-i-1)*s+"px";(e.querySelector("code")||e).appendChild(l)}}function r(){var t=location.hash.slice(1);e(".temporary.line-highlight").forEach(function(e){e.parentNode.removeChild(e)});var r=(t.match(/\.([\d,-]+)$/)||[,""])[1];if(!r||document.getElementById(t))return;var i=t.slice(0,t.lastIndexOf(".")),s=document.getElementById(i);if(!s)return;s.hasAttribute("data-line")||s.setAttribute("data-line","");n(s,r,"temporary ");document.querySelector(".temporary.line-highlight").scrollIntoView()}if(!window.Prism)return;var t=crlf=/\r?\n|\r/g,i=0;Prism.hooks.add("after-highlight",function(t){var s=t.element.parentNode,o=s&&s.getAttribute("data-line");if(!s||!o||!/pre/i.test(s.nodeName))return;clearTimeout(i);e(".line-highlight",s).forEach(function(e){e.parentNode.removeChild(e)});n(s,o);i=setTimeout(r,1)});addEventListener("hashchange",r)})();;
Prism.hooks.add("after-highlight",function(e){var t=e.element.parentNode;if(!t||!/pre/i.test(t.nodeName)||t.className.indexOf("line-numbers")===-1){return}var n=1+e.code.split("\n").length;var r;lines=new Array(n);lines=lines.join("<span></span>");r=document.createElement("span");r.className="line-numbers-rows";r.innerHTML=lines;if(t.hasAttribute("data-start")){t.style.counterReset="linenumber "+(parseInt(t.getAttribute("data-start"),10)-1)}e.element.appendChild(r)})
;
(function(){if(!self.Prism||!self.document||!document.querySelector)return;var e={js:"javascript",html:"markup",svg:"markup"};Array.prototype.slice.call(document.querySelectorAll("pre[data-src]")).forEach(function(t){var n=t.getAttribute("data-src"),r=(n.match(/\.(\w+)$/)||[,""])[1],i=e[r]||r,s=document.createElement("code");s.className="language-"+i;t.textContent="";s.textContent="Loading…";t.appendChild(s);var o=new XMLHttpRequest;o.open("GET",n,!0);o.onreadystatechange=function(){if(o.readyState==4)if(o.status<400&&o.responseText){s.textContent=o.responseText;Prism.highlightElement(s)}else o.status>=400?s.textContent="✖ Error "+o.status+" while fetching file: "+o.statusText:s.textContent="✖ Error: File does not exist or is empty"};o.send(null)})})();;
/branches/v0.2-buhl/doc/PhpDoc/js/jquery.smooth-scroll.js
New file
0,0 → 1,32
$(document).ready(function() {
function filterPath(string) {
return string
.replace(/^\//,'')
.replace(/(index|default).[a-zA-Z]{3,4}$/,'')
.replace(/\/$/,'');
}
var locationPath = filterPath(location.pathname);
 
$('a[href*=#]').each(function() {
var thisPath = filterPath(this.pathname) || locationPath;
if ( locationPath == thisPath
&& (location.hostname == this.hostname || !this.hostname)
&& this.hash.replace(/#/,'') ) {
var $target = $(this.hash), target = this.hash;
if (target) {
$(this).click(function(event) {
if (!$(this.hash).offset()) {
return;
}
 
event.preventDefault();
position = $(this.hash).offset().top;
 
$('html,body').animate({scrollTop: position}, 400, function() {
location.hash = target;
});
});
}
}
});
});
/branches/v0.2-buhl/doc/PhpDoc/phpdoc-cache-a0/phpdoc-cache-file_fc563432a226bf5a590f5de8884da4af.dat
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v0.2-buhl/doc/PhpDoc/phpdoc-cache-a0/phpdoc-cache-file_fc563432a226bf5a590f5de8884da4af.dat
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v0.2-buhl/doc/index.php
16,14 → 16,14
<body>
<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>
</div>
<h1>Documentations du Framework de Tela Botanica</h1>
<p>La documentation est disponible sous plusieurs formats :</p>
<ul>
<li><a href="HTMLframesConverter/index.html">Format HTML avec frames</a></li>
<li><a href="HTMLSmartyConverter/index.html">Format HTML sans frames</a></li>
<li><a href="ApiGen/index.html">ApiGen (HTML)</a></li>
<li><a href="PhpDoc/index.html">PhpDoc (HTML)</a></li>
</ul>
</body>
</html>
</html>
/branches/v0.2-buhl/doc/genererPhpDoc.sh
New file
0,0 → 1,48
#!/bin/bash
########################################################################################################################
# But : création de la PhpDoc du Framework.
# Auteur : Jean-Pascal Milcent <jpm@tela-botanica.org>
# License : GPL v3
# Création : 12 mars 2014
# Version: 2
# Exemple : ./genererPhpDoc.sh -t "Mon Titre"
########################################################################################################################
# Constante
TITRE=""
SOURCE="./../framework"
CIBLE="./PhpDoc"
IGNORER=".htaccess,config.ini"
FORMAT="clean"
 
# Aide
E_OPTERR=65
if [ "$1" = '--help' ]
then # Le script a besoin d'au moins un argument sur la ligne de commande
echo "Usage $0 -[parameters -t ]"
echo "Paramétres : "
echo " -t: indiquer le titre de la doc"
exit $E_OPTERR
fi
 
# Récupération des paramètres et des options de la ligne de commande
TEMP=`getopt -o t: -l help: -- "$@"`
if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi
eval set -- "$TEMP"
while [ ! -z "$1" ] ; do
#echo $1" # "$2
case "$1" in
-t) TITRE=$2;;
--) shift ; break ;;
*) echo "Internal error!" ; exit 1 ;;
esac
shift 2
done
 
# Suppression des dossiers précédent de la doc
if [ -d PhpDoc ]; then
rm -fR PhpDoc
mkdir PhpDoc
fi;
 
echo "Génération de la documentation :";
/opt/lampp/bin/php /opt/lampp/bin/phpdoc -d "$SOURCE" -t "$CIBLE" -i "$IGNORER" --template="$FORMAT" --title="$TITRE"
Property changes:
Added: svn:eol-style
+native
\ No newline at end of property
Added: svn:executable
+*
\ No newline at end of property
/branches/v0.2-buhl/doc/ApiGen/class-Traversable.html
New file
0,0 → 1,147
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="generator" content="ApiGen 2.8.0">
 
<title>Interface Traversable | TBFramework - v0.2</title>
 
<script type="text/javascript" src="resources/combined.js?4205936287"></script>
<script type="text/javascript" src="elementlist.js?117657638"></script>
<link rel="stylesheet" type="text/css" media="all" href="resources/style.css?3505392360">
 
</head>
 
<body>
<div id="left">
<div id="menu">
<a href="index.html" title="Overview"><span>Overview</span></a>
 
 
<div id="groups">
<h3>Packages</h3>
<ul>
<li><a href="package-Framework.html">Framework</a>
</li>
<li class="active"><a href="package-PHP.html">PHP</a>
</li>
</ul>
</div>
 
<hr>
 
 
<div id="elements">
<h3>Classes</h3>
<ul>
<li><a href="class-PDOStatement.html">PDOStatement</a></li>
</ul>
 
<h3>Interfaces</h3>
<ul>
<li class="active"><a href="class-Traversable.html">Traversable</a></li>
</ul>
 
 
<h3>Exceptions</h3>
<ul>
<li><a href="class-Exception.html">Exception</a></li>
</ul>
 
 
</div>
</div>
</div>
 
<div id="splitter"></div>
 
<div id="right">
<div id="rightInner">
<form id="search">
<input type="hidden" name="cx" value="">
<input type="hidden" name="ie" value="UTF-8">
<input type="text" name="q" class="text">
<input type="submit" value="Search">
</form>
 
<div id="navigation">
<ul>
<li>
<a href="index.html" title="Overview"><span>Overview</span></a>
</li>
<li>
<a href="package-PHP.html" title="Summary of PHP"><span>Package</span></a>
</li>
<li class="active">
<span>Class</span> </li>
</ul>
<ul>
<li>
<a href="tree.html" title="Tree view of classes, interfaces, traits and exceptions"><span>Tree</span></a>
</li>
<li>
<a href="deprecated.html" title="List of deprecated elements"><span>Deprecated</span></a>
</li>
<li>
<a href="todo.html" title="Todo list"><span>Todo</span></a>
</li>
</ul>
<ul>
</ul>
</div>
 
<div id="content" class="class">
<h1>Interface Traversable</h1>
 
 
 
 
 
 
 
<div>
<h4>Direct known implementers</h4>
<a href="class-PDOStatement.html">PDOStatement</a>
</div>
 
 
 
 
<div class="info">
<b>PHP Extension:</b> <a href="http://php.net/manual" title="Go to PHP documentation">Core</a><br>
 
<b>Documented at</b> <a href="http://php.net/manual/class.traversable.php" title="Go to PHP documentation">php.net</a><br>
</div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
</div>
 
<div id="footer">
TBFramework - v0.2 API documentation generated by <a href="http://apigen.org">ApiGen 2.8.0</a>
</div>
</div>
</div>
</body>
</html>
/branches/v0.2-buhl/doc/ApiGen/class-Log.html
New file
0,0 → 1,399
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="generator" content="ApiGen 2.8.0">
 
<title>Class Log | TBFramework - v0.2</title>
 
<script type="text/javascript" src="resources/combined.js?4205936287"></script>
<script type="text/javascript" src="elementlist.js?117657638"></script>
<link rel="stylesheet" type="text/css" media="all" href="resources/style.css?3505392360">
 
</head>
 
<body>
<div id="left">
<div id="menu">
<a href="index.html" title="Overview"><span>Overview</span></a>
 
 
<div id="groups">
<h3>Packages</h3>
<ul>
<li class="active"><a href="package-Framework.html">Framework</a>
</li>
<li><a href="package-PHP.html">PHP</a>
</li>
</ul>
</div>
 
<hr>
 
 
<div id="elements">
<h3>Classes</h3>
<ul>
<li><a href="class-Application.html">Application</a></li>
<li><a href="class-Chronometre.html">Chronometre</a></li>
<li><a href="class-Config.html">Config</a></li>
<li><a href="class-Controleur.html">Controleur</a></li>
<li><a href="class-Debug.html">Debug</a></li>
<li><a href="class-GestionnaireException.html">GestionnaireException</a></li>
<li class="active"><a href="class-Log.html">Log</a></li>
<li><a href="class-Modele.html">Modele</a></li>
<li><a href="class-Registre.html">Registre</a></li>
<li><a href="class-SquelettePhp.html">SquelettePhp</a></li>
<li><a href="class-Url.html">Url</a></li>
</ul>
 
 
 
 
 
<h3>Functions</h3>
<ul>
<li><a href="function-autoloadAppliDefaut.html">autoloadAppliDefaut</a></li>
<li><a href="function-autoloadFw.html">autoloadFw</a></li>
</ul>
</div>
</div>
</div>
 
<div id="splitter"></div>
 
<div id="right">
<div id="rightInner">
<form id="search">
<input type="hidden" name="cx" value="">
<input type="hidden" name="ie" value="UTF-8">
<input type="text" name="q" class="text">
<input type="submit" value="Search">
</form>
 
<div id="navigation">
<ul>
<li>
<a href="index.html" title="Overview"><span>Overview</span></a>
</li>
<li>
<a href="package-Framework.html" title="Summary of Framework"><span>Package</span></a>
</li>
<li class="active">
<span>Class</span> </li>
</ul>
<ul>
<li>
<a href="tree.html" title="Tree view of classes, interfaces, traits and exceptions"><span>Tree</span></a>
</li>
<li>
<a href="deprecated.html" title="List of deprecated elements"><span>Deprecated</span></a>
</li>
<li>
<a href="todo.html" title="Todo list"><span>Todo</span></a>
</li>
</ul>
<ul>
</ul>
</div>
 
<div id="content" class="class">
<h1>Class Log</h1>
 
 
<div class="description">
<p>Classe permettant de logger des messages dans les fichier situés dans le
dossier de log.</p>
 
</div>
 
 
 
 
 
 
 
 
 
<div class="info">
<b>Package:</b> <a href="package-Framework.html">Framework</a><br>
 
<b>Category:</b>
PHP 5.2<br>
<b>Copyright:</b>
2009 Tela-Botanica<br>
<b>License:</b>
<a href="http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt">Licence CECILL</a><br>
<b>Author:</b>
aurelien &lt;<a
href="mailto:aurelien&#64;tela-botanica.org">aurelien&#64;<!-- -->tela-botanica.org</a>&gt;<br>
<b>Version:</b>
SVN: $Id: Log.php 255 2010-12-23 10:37:30Z jpm $<br>
<b>Link:</b>
/doc/framework/<br>
<b>Located at</b> <a href="source-class-Log.html#4-176" title="Go to source code">Log.php</a><br>
</div>
 
 
 
<table class="summary" id="methods">
<caption>Methods summary</caption>
<tr data-order="initialiser" id="_initialiser">
 
<td class="attributes"><code>
public static
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_initialiser">#</a>
<code><a href="source-class-Log.html#57-69" title="Go to source code">initialiser</a>( )</code>
 
<div class="description short">
<p>Initialiser les logs par défaut, sans tenir comptes des paramêtres de
config.</p>
 
</div>
 
<div class="description detailed hidden">
<p>Initialiser les logs par défaut, sans tenir comptes des paramêtres de
config.</p>
 
 
 
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="configurer" id="_configurer">
 
<td class="attributes"><code>
public static
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_configurer">#</a>
<code><a href="source-class-Log.html#71-81" title="Go to source code">configurer</a>( )</code>
 
<div class="description short">
<p>Configure le Log à partir des paramêtres de config.</p>
 
</div>
 
<div class="description detailed hidden">
<p>Configure le Log à partir des paramêtres de config.</p>
 
 
 
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="ajouterEntree" id="_ajouterEntree">
 
<td class="attributes"><code>
public static
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_ajouterEntree">#</a>
<code><a href="source-class-Log.html#83-102" title="Go to source code">ajouterEntree</a>( <span>string <var>$nomFichier</var></span>, <span>mixed <var>$entree</var></span>, <span>mixed <var>$mode</var> = <span class="php-quote">'a+'</span></span> )</code>
 
<div class="description short">
<p>Ajoute une entrée au log spécifié par le paramètre $nomFichier</p>
 
</div>
 
<div class="description detailed hidden">
<p>Ajoute une entrée au log spécifié par le paramètre $nomFichier</p>
 
 
 
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$nomFichier</var></dt>
<dd><code>string</code><br>$nomFichier le nom du fichier dans lequel écrire</dd>
<dt><var>$entree</var></dt>
<dd></dd>
<dt><var>$mode</var></dt>
<dd></dd>
</dl></div>
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="viderLog" id="_viderLog">
 
<td class="attributes"><code>
public static
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_viderLog">#</a>
<code><a href="source-class-Log.html#104-110" title="Go to source code">viderLog</a>( <span>string <var>$nomFichier</var></span> )</code>
 
<div class="description short">
<p>Vide un fichier log indiqué</p>
 
</div>
 
<div class="description detailed hidden">
<p>Vide un fichier log indiqué</p>
 
 
 
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$nomFichier</var></dt>
<dd><code>string</code><br>$nomFichier le nom du fichier à vider</dd>
</dl></div>
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="verifierOuvrirFichier" id="_verifierOuvrirFichier">
 
<td class="attributes"><code>
public static
boolean
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_verifierOuvrirFichier">#</a>
<code><a href="source-class-Log.html#112-138" title="Go to source code">verifierOuvrirFichier</a>( <span>string <var>$nomFichier</var></span>, <span>mixed <var>$mode</var></span> )</code>
 
<div class="description short">
<p>Vérifie la présence d'un fichier dans le tableau, ses droits d'écriture,
l'ouvre si nécessaire.</p>
 
</div>
 
<div class="description detailed hidden">
<p>Vérifie la présence d'un fichier dans le tableau, ses droits d'écriture,
l'ouvre si nécessaire.</p>
 
 
 
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$nomFichier</var></dt>
<dd><code>string</code><br>$nomFichier le nom du fichier dont on doit vérifier la présence</dd>
<dt><var>$mode</var></dt>
<dd></dd>
</dl></div>
 
<h4>Returns</h4>
<div class="list">
<code>boolean</code><br>true si le fichier est ouvert ou maintenant accessible, false sinon<br>
</div>
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="__destruct" id="___destruct">
 
<td class="attributes"><code>
public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#___destruct">#</a>
<code><a href="source-class-Log.html#168-175" title="Go to source code">__destruct</a>( )</code>
 
<div class="description short">
<p>destructeur de classe, ferme les descripteurs ouverts</p>
 
</div>
 
<div class="description detailed hidden">
<p>destructeur de classe, ferme les descripteurs ouverts</p>
 
 
 
 
 
 
 
 
</div>
</div></td>
</tr>
</table>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
</div>
 
<div id="footer">
TBFramework - v0.2 API documentation generated by <a href="http://apigen.org">ApiGen 2.8.0</a>
</div>
</div>
</div>
</body>
</html>
/branches/v0.2-buhl/doc/ApiGen/source-class-Registre.html
New file
0,0 → 1,203
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="generator" content="ApiGen 2.8.0">
<meta name="robots" content="noindex">
 
<title>File Registre.php | TBFramework - v0.2</title>
 
<script type="text/javascript" src="resources/combined.js?4205936287"></script>
<script type="text/javascript" src="elementlist.js?117657638"></script>
<link rel="stylesheet" type="text/css" media="all" href="resources/style.css?3505392360">
 
</head>
 
<body>
<div id="left">
<div id="menu">
<a href="index.html" title="Overview"><span>Overview</span></a>
 
 
<div id="groups">
<h3>Packages</h3>
<ul>
<li class="active"><a href="package-Framework.html">Framework</a>
</li>
<li><a href="package-PHP.html">PHP</a>
</li>
</ul>
</div>
 
<hr>
 
 
<div id="elements">
<h3>Classes</h3>
<ul>
<li><a href="class-Application.html">Application</a></li>
<li><a href="class-Chronometre.html">Chronometre</a></li>
<li><a href="class-Config.html">Config</a></li>
<li><a href="class-Controleur.html">Controleur</a></li>
<li><a href="class-Debug.html">Debug</a></li>
<li><a href="class-GestionnaireException.html">GestionnaireException</a></li>
<li><a href="class-Log.html">Log</a></li>
<li><a href="class-Modele.html">Modele</a></li>
<li class="active"><a href="class-Registre.html">Registre</a></li>
<li><a href="class-SquelettePhp.html">SquelettePhp</a></li>
<li><a href="class-Url.html">Url</a></li>
</ul>
 
 
 
 
 
<h3>Functions</h3>
<ul>
<li><a href="function-autoloadAppliDefaut.html">autoloadAppliDefaut</a></li>
<li><a href="function-autoloadFw.html">autoloadFw</a></li>
</ul>
</div>
</div>
</div>
 
<div id="splitter"></div>
 
<div id="right">
<div id="rightInner">
<form id="search">
<input type="hidden" name="cx" value="">
<input type="hidden" name="ie" value="UTF-8">
<input type="text" name="q" class="text">
<input type="submit" value="Search">
</form>
 
<div id="navigation">
<ul>
<li>
<a href="index.html" title="Overview"><span>Overview</span></a>
</li>
<li>
<a href="package-Framework.html" title="Summary of Framework"><span>Package</span></a>
</li>
<li>
<a href="class-Registre.html" title="Summary of Registre"><span>Class</span></a>
</li>
</ul>
<ul>
<li>
<a href="tree.html" title="Tree view of classes, interfaces, traits and exceptions"><span>Tree</span></a>
</li>
<li>
<a href="deprecated.html" title="List of deprecated elements"><span>Deprecated</span></a>
</li>
<li>
<a href="todo.html" title="Todo list"><span>Todo</span></a>
</li>
</ul>
<ul>
</ul>
</div>
 
<pre><code><span id="1" class="l"><a class="l" href="#1"> 1: </a><span class="xlang">&lt;?php</span>
</span><span id="2" class="l"><a class="l" href="#2"> 2: </a><span class="php-comment">// declare(encoding='UTF-8');</span>
</span><span id="3" class="l"><a class="l" href="#3"> 3: </a><span class="php-comment">/**
</span></span><span id="4" class="l"><a class="l" href="#4"> 4: </a><span class="php-comment"> * Classe registre, qui permet un accès à différentes variables à travers les autres classes.
</span></span><span id="5" class="l"><a class="l" href="#5"> 5: </a><span class="php-comment"> * C'est un singleton
</span></span><span id="6" class="l"><a class="l" href="#6"> 6: </a><span class="php-comment"> *
</span></span><span id="7" class="l"><a class="l" href="#7"> 7: </a><span class="php-comment">* PHP Version 5
</span></span><span id="8" class="l"><a class="l" href="#8"> 8: </a><span class="php-comment">*
</span></span><span id="9" class="l"><a class="l" href="#9"> 9: </a><span class="php-comment">* @category Class
</span></span><span id="10" class="l"><a class="l" href="#10">10: </a><span class="php-comment">* @package Framework
</span></span><span id="11" class="l"><a class="l" href="#11">11: </a><span class="php-comment">* @author Jean-Pascal Milcent &lt;jmp@tela-botanica.org&gt;
</span></span><span id="12" class="l"><a class="l" href="#12">12: </a><span class="php-comment">* @copyright 2009 Tela-Botanica
</span></span><span id="13" class="l"><a class="l" href="#13">13: </a><span class="php-comment">* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
</span></span><span id="14" class="l"><a class="l" href="#14">14: </a><span class="php-comment">* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
</span></span><span id="15" class="l"><a class="l" href="#15">15: </a><span class="php-comment">* @version SVN: $$Id: Registre.php 120 2009-09-01 12:21:14Z aurelien $$
</span></span><span id="16" class="l"><a class="l" href="#16">16: </a><span class="php-comment">* @link /doc/framework/
</span></span><span id="17" class="l"><a class="l" href="#17">17: </a><span class="php-comment">*
</span></span><span id="18" class="l"><a class="l" href="#18">18: </a><span class="php-comment">*/</span>
</span><span id="19" class="l"><a class="l" href="#19">19: </a><span class="php-keyword1">class</span> <a id="Registre" href="#Registre">Registre</a> {
</span><span id="20" class="l"><a class="l" href="#20">20: </a>
</span><span id="21" class="l"><a class="l" href="#21">21: </a> <span class="php-comment">/**
</span></span><span id="22" class="l"><a class="l" href="#22">22: </a><span class="php-comment"> * Tableau associatif stockant les variables
</span></span><span id="23" class="l"><a class="l" href="#23">23: </a><span class="php-comment"> */</span>
</span><span id="24" class="l"><a class="l" href="#24">24: </a> <span class="php-keyword1">private</span> <span class="php-var"><a id="$stockage" href="#$stockage">$stockage</a></span> = <span class="php-keyword1">array</span>();
</span><span id="25" class="l"><a class="l" href="#25">25: </a> <span class="php-comment">/**
</span></span><span id="26" class="l"><a class="l" href="#26">26: </a><span class="php-comment"> * La classe registre se contient elle-même, (pour le pattern singleton)
</span></span><span id="27" class="l"><a class="l" href="#27">27: </a><span class="php-comment"> */</span>
</span><span id="28" class="l"><a class="l" href="#28">28: </a> <span class="php-keyword1">private</span> <span class="php-keyword1">static</span> <span class="php-var"><a id="$registre" href="#$registre">$registre</a></span>;
</span><span id="29" class="l"><a class="l" href="#29">29: </a>
</span><span id="30" class="l"><a class="l" href="#30">30: </a> <span class="php-comment">/**
</span></span><span id="31" class="l"><a class="l" href="#31">31: </a><span class="php-comment"> * Constructeur par défaut, privé, car on accède à la classe par le getInstance
</span></span><span id="32" class="l"><a class="l" href="#32">32: </a><span class="php-comment"> */</span>
</span><span id="33" class="l"><a class="l" href="#33">33: </a> <span class="php-keyword1">private</span> <span class="php-keyword1">function</span> <a id="___construct" href="#___construct">__construct</a>() {
</span><span id="34" class="l"><a class="l" href="#34">34: </a> }
</span><span id="35" class="l"><a class="l" href="#35">35: </a>
</span><span id="36" class="l"><a class="l" href="#36">36: </a> <span class="php-comment">/**
</span></span><span id="37" class="l"><a class="l" href="#37">37: </a><span class="php-comment"> * Fonction qui renvoie l'instance de classe en assurant son unicité, c'est l'unique méthode qui doit être
</span></span><span id="38" class="l"><a class="l" href="#38">38: </a><span class="php-comment"> * utilisée pour récupérer l'objet Registre
</span></span><span id="39" class="l"><a class="l" href="#39">39: </a><span class="php-comment"> */</span>
</span><span id="40" class="l"><a class="l" href="#40">40: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_getInstance" href="#_getInstance">getInstance</a>() {
</span><span id="41" class="l"><a class="l" href="#41">41: </a> <span class="php-keyword1">if</span> (self::<span class="php-var">$registre</span> <span class="php-keyword1">instanceof</span> Registre) {
</span><span id="42" class="l"><a class="l" href="#42">42: </a> <span class="php-keyword1">return</span> self::<span class="php-var">$registre</span>;
</span><span id="43" class="l"><a class="l" href="#43">43: </a> }
</span><span id="44" class="l"><a class="l" href="#44">44: </a> self::<span class="php-var">$registre</span> = <span class="php-keyword1">new</span> Registre;
</span><span id="45" class="l"><a class="l" href="#45">45: </a> <span class="php-keyword1">return</span> self::<span class="php-var">$registre</span>;
</span><span id="46" class="l"><a class="l" href="#46">46: </a> }
</span><span id="47" class="l"><a class="l" href="#47">47: </a>
</span><span id="48" class="l"><a class="l" href="#48">48: </a> <span class="php-comment">/**
</span></span><span id="49" class="l"><a class="l" href="#49">49: </a><span class="php-comment"> * Ajoute un objet au tableau selon un intitulé donné
</span></span><span id="50" class="l"><a class="l" href="#50">50: </a><span class="php-comment"> * @param string l'intitulé sous lequel l'objet sera conservé
</span></span><span id="51" class="l"><a class="l" href="#51">51: </a><span class="php-comment"> * @param mixed l'objet à conserver
</span></span><span id="52" class="l"><a class="l" href="#52">52: </a><span class="php-comment"> */</span>
</span><span id="53" class="l"><a class="l" href="#53">53: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> <a id="_set" href="#_set">set</a>(<span class="php-var">$intitule</span>, <span class="php-var">$objet</span>) {
</span><span id="54" class="l"><a class="l" href="#54">54: </a> <span class="php-keyword1">if</span> (<span class="php-keyword2">is_array</span>(<span class="php-var">$objet</span>) &amp;&amp; <span class="php-keyword1">isset</span>(<span class="php-var">$this</span>-&gt;stockage[<span class="php-var">$intitule</span>])) {
</span><span id="55" class="l"><a class="l" href="#55">55: </a> <span class="php-var">$this</span>-&gt;stockage[<span class="php-var">$intitule</span>] = <span class="php-keyword2">array_merge</span>((<span class="php-keyword1">array</span>) <span class="php-var">$this</span>-&gt;stockage[<span class="php-var">$intitule</span>], (<span class="php-keyword1">array</span>) <span class="php-var">$objet</span>);
</span><span id="56" class="l"><a class="l" href="#56">56: </a> <span class="php-var">$message</span> = <span class="php-quote">&quot;Le tableau </span><span class="php-var">$intitule</span><span class="php-quote"> présent dans le registre a été fusionné avec un nouveau tableau de même intitulé !&quot;</span>;
</span><span id="57" class="l"><a class="l" href="#57">57: </a> <span class="php-keyword2">trigger_error</span>(<span class="php-var">$message</span>, E_USER_WARNING);
</span><span id="58" class="l"><a class="l" href="#58">58: </a> } <span class="php-keyword1">else</span> {
</span><span id="59" class="l"><a class="l" href="#59">59: </a> <span class="php-var">$this</span>-&gt;stockage[<span class="php-var">$intitule</span>] = <span class="php-var">$objet</span>;
</span><span id="60" class="l"><a class="l" href="#60">60: </a> }
</span><span id="61" class="l"><a class="l" href="#61">61: </a> }
</span><span id="62" class="l"><a class="l" href="#62">62: </a>
</span><span id="63" class="l"><a class="l" href="#63">63: </a> <span class="php-comment">/**
</span></span><span id="64" class="l"><a class="l" href="#64">64: </a><span class="php-comment"> * Renvoie l'objet associé à l'intitulé donné en paramètre
</span></span><span id="65" class="l"><a class="l" href="#65">65: </a><span class="php-comment"> * @return mixed l'objet associé à l'intitulé ou null s'il n'est pas présent
</span></span><span id="66" class="l"><a class="l" href="#66">66: </a><span class="php-comment"> */</span>
</span><span id="67" class="l"><a class="l" href="#67">67: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> <a id="_get" href="#_get">get</a>(<span class="php-var">$intitule</span>) {
</span><span id="68" class="l"><a class="l" href="#68">68: </a> <span class="php-keyword1">if</span> (<span class="php-keyword1">isset</span>(<span class="php-var">$this</span>-&gt;stockage[<span class="php-var">$intitule</span>])) {
</span><span id="69" class="l"><a class="l" href="#69">69: </a> <span class="php-keyword1">return</span> <span class="php-var">$this</span>-&gt;stockage[<span class="php-var">$intitule</span>];
</span><span id="70" class="l"><a class="l" href="#70">70: </a> }
</span><span id="71" class="l"><a class="l" href="#71">71: </a> <span class="php-keyword1">return</span> <span class="php-keyword1">null</span>;
</span><span id="72" class="l"><a class="l" href="#72">72: </a> }
</span><span id="73" class="l"><a class="l" href="#73">73: </a>
</span><span id="74" class="l"><a class="l" href="#74">74: </a> <span class="php-comment">/**
</span></span><span id="75" class="l"><a class="l" href="#75">75: </a><span class="php-comment"> * Détruit l'objet associé à l'intitulé, n'a pas d'effet si il n'y a pas d'objet associé
</span></span><span id="76" class="l"><a class="l" href="#76">76: </a><span class="php-comment"> */</span>
</span><span id="77" class="l"><a class="l" href="#77">77: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> <a id="_detruire" href="#_detruire">detruire</a>(<span class="php-var">$intitule</span>) {
</span><span id="78" class="l"><a class="l" href="#78">78: </a> <span class="php-keyword1">if</span> (<span class="php-keyword1">isset</span>(<span class="php-var">$this</span>-&gt;stockage[<span class="php-var">$intitule</span>])) {
</span><span id="79" class="l"><a class="l" href="#79">79: </a> <span class="php-keyword1">unset</span>(<span class="php-var">$this</span>-&gt;stockage[<span class="php-var">$intitule</span>]);
</span><span id="80" class="l"><a class="l" href="#80">80: </a> }
</span><span id="81" class="l"><a class="l" href="#81">81: </a> }
</span><span id="82" class="l"><a class="l" href="#82">82: </a>
</span><span id="83" class="l"><a class="l" href="#83">83: </a> <span class="php-comment">/**
</span></span><span id="84" class="l"><a class="l" href="#84">84: </a><span class="php-comment"> * Teste si un objet est présent sous un intitulé donné
</span></span><span id="85" class="l"><a class="l" href="#85">85: </a><span class="php-comment"> * @return boolean true si un objet associé à cet intitulé est présent, false sinon
</span></span><span id="86" class="l"><a class="l" href="#86">86: </a><span class="php-comment"> */</span>
</span><span id="87" class="l"><a class="l" href="#87">87: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> <a id="_existe" href="#_existe">existe</a>(<span class="php-var">$intitule</span>) {
</span><span id="88" class="l"><a class="l" href="#88">88: </a> <span class="php-keyword1">if</span>(<span class="php-keyword1">isset</span>(<span class="php-var">$this</span>-&gt;stockage[<span class="php-var">$intitule</span>])){
</span><span id="89" class="l"><a class="l" href="#89">89: </a> <span class="php-keyword1">return</span> <span class="php-keyword1">true</span>;
</span><span id="90" class="l"><a class="l" href="#90">90: </a> }
</span><span id="91" class="l"><a class="l" href="#91">91: </a> <span class="php-keyword1">return</span> <span class="php-keyword1">false</span>;
</span><span id="92" class="l"><a class="l" href="#92">92: </a> }
</span><span id="93" class="l"><a class="l" href="#93">93: </a>}
</span><span id="94" class="l"><a class="l" href="#94">94: </a></span><span class="xlang">?&gt;</span></code></pre>
 
<div id="footer">
TBFramework - v0.2 API documentation generated by <a href="http://apigen.org">ApiGen 2.8.0</a>
</div>
</div>
</div>
</body>
</html>
/branches/v0.2-buhl/doc/ApiGen/class-SquelettePhp.html
New file
0,0 → 1,223
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="generator" content="ApiGen 2.8.0">
 
<title>Class SquelettePhp | TBFramework - v0.2</title>
 
<script type="text/javascript" src="resources/combined.js?4205936287"></script>
<script type="text/javascript" src="elementlist.js?117657638"></script>
<link rel="stylesheet" type="text/css" media="all" href="resources/style.css?3505392360">
 
</head>
 
<body>
<div id="left">
<div id="menu">
<a href="index.html" title="Overview"><span>Overview</span></a>
 
 
<div id="groups">
<h3>Packages</h3>
<ul>
<li class="active"><a href="package-Framework.html">Framework</a>
</li>
<li><a href="package-PHP.html">PHP</a>
</li>
</ul>
</div>
 
<hr>
 
 
<div id="elements">
<h3>Classes</h3>
<ul>
<li><a href="class-Application.html">Application</a></li>
<li><a href="class-Chronometre.html">Chronometre</a></li>
<li><a href="class-Config.html">Config</a></li>
<li><a href="class-Controleur.html">Controleur</a></li>
<li><a href="class-Debug.html">Debug</a></li>
<li><a href="class-GestionnaireException.html">GestionnaireException</a></li>
<li><a href="class-Log.html">Log</a></li>
<li><a href="class-Modele.html">Modele</a></li>
<li><a href="class-Registre.html">Registre</a></li>
<li class="active"><a href="class-SquelettePhp.html">SquelettePhp</a></li>
<li><a href="class-Url.html">Url</a></li>
</ul>
 
 
 
 
 
<h3>Functions</h3>
<ul>
<li><a href="function-autoloadAppliDefaut.html">autoloadAppliDefaut</a></li>
<li><a href="function-autoloadFw.html">autoloadFw</a></li>
</ul>
</div>
</div>
</div>
 
<div id="splitter"></div>
 
<div id="right">
<div id="rightInner">
<form id="search">
<input type="hidden" name="cx" value="">
<input type="hidden" name="ie" value="UTF-8">
<input type="text" name="q" class="text">
<input type="submit" value="Search">
</form>
 
<div id="navigation">
<ul>
<li>
<a href="index.html" title="Overview"><span>Overview</span></a>
</li>
<li>
<a href="package-Framework.html" title="Summary of Framework"><span>Package</span></a>
</li>
<li class="active">
<span>Class</span> </li>
</ul>
<ul>
<li>
<a href="tree.html" title="Tree view of classes, interfaces, traits and exceptions"><span>Tree</span></a>
</li>
<li>
<a href="deprecated.html" title="List of deprecated elements"><span>Deprecated</span></a>
</li>
<li>
<a href="todo.html" title="Todo list"><span>Todo</span></a>
</li>
</ul>
<ul>
</ul>
</div>
 
<div id="content" class="class">
<h1>Class SquelettePhp</h1>
 
 
<div class="description">
<p>Classe SquelettePhp, traitant les squelette Php utilisant la syntaxe courte
php ou pas. Ces méthodes sont statiques.</p>
 
</div>
 
 
 
 
 
 
 
 
 
<div class="info">
<b>Package:</b> <a href="package-Framework.html">Framework</a><br>
 
<b>Category:</b>
php5<br>
<b>Copyright:</b>
2010 Tela-Botanica<br>
<b>License:</b>
<a href="http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt">Licence CECILL</a><br>
<b>License:</b>
<a href="http://www.gnu.org/licenses/gpl.html">Licence GNU-GPL</a><br>
<b>Author:</b>
Jean-Pascal MILCENT &lt;<a
href="mailto:jpm&#64;tela-botanica.org">jpm&#64;<!-- -->tela-botanica.org</a>&gt;<br>
<b>Version:</b>
SVN: $$Id: SquelettePhp.php 153 2010-03-04 10:48:32Z jpm $$<br>
<b>Link:</b>
/doc/framework/<br>
<b>Located at</b> <a href="source-class-SquelettePhp.html#3-73" title="Go to source code">SquelettePhp.php</a><br>
</div>
 
 
 
<table class="summary" id="methods">
<caption>Methods summary</caption>
<tr data-order="analyser" id="_analyser">
 
<td class="attributes"><code>
public static
boolean
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_analyser">#</a>
<code><a href="source-class-SquelettePhp.html#18-56" title="Go to source code">analyser</a>( <span>String <var>$fichier</var></span>, <span>array <var>$donnees</var> = <span class="php-keyword1">array</span>()</span> )</code>
 
<div class="description short">
<p>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.</p>
 
</div>
 
<div class="description detailed hidden">
<p>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.</p>
 
 
 
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$fichier</var></dt>
<dd><code>String</code><br>$fichier le chemin du fichier du squelette</dd>
<dt><var>$donnees</var></dt>
<dd><code>Array</code><br>$donnees un tableau associatif contenant les variables a injecter dans le
squelette.</dd>
</dl></div>
 
<h4>Returns</h4>
<div class="list">
<code>boolean</code><br>false si la vue n'existe pas, sinon la chaine résultat.<br>
</div>
 
 
 
 
</div>
</div></td>
</tr>
</table>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
</div>
 
<div id="footer">
TBFramework - v0.2 API documentation generated by <a href="http://apigen.org">ApiGen 2.8.0</a>
</div>
</div>
</div>
</body>
</html>
/branches/v0.2-buhl/doc/ApiGen/source-class-Chronometre.html
New file
0,0 → 1,261
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="generator" content="ApiGen 2.8.0">
<meta name="robots" content="noindex">
 
<title>File Chronometre.php | TBFramework - v0.2</title>
 
<script type="text/javascript" src="resources/combined.js?4205936287"></script>
<script type="text/javascript" src="elementlist.js?117657638"></script>
<link rel="stylesheet" type="text/css" media="all" href="resources/style.css?3505392360">
 
</head>
 
<body>
<div id="left">
<div id="menu">
<a href="index.html" title="Overview"><span>Overview</span></a>
 
 
<div id="groups">
<h3>Packages</h3>
<ul>
<li class="active"><a href="package-Framework.html">Framework</a>
</li>
<li><a href="package-PHP.html">PHP</a>
</li>
</ul>
</div>
 
<hr>
 
 
<div id="elements">
<h3>Classes</h3>
<ul>
<li><a href="class-Application.html">Application</a></li>
<li class="active"><a href="class-Chronometre.html">Chronometre</a></li>
<li><a href="class-Config.html">Config</a></li>
<li><a href="class-Controleur.html">Controleur</a></li>
<li><a href="class-Debug.html">Debug</a></li>
<li><a href="class-GestionnaireException.html">GestionnaireException</a></li>
<li><a href="class-Log.html">Log</a></li>
<li><a href="class-Modele.html">Modele</a></li>
<li><a href="class-Registre.html">Registre</a></li>
<li><a href="class-SquelettePhp.html">SquelettePhp</a></li>
<li><a href="class-Url.html">Url</a></li>
</ul>
 
 
 
 
 
<h3>Functions</h3>
<ul>
<li><a href="function-autoloadAppliDefaut.html">autoloadAppliDefaut</a></li>
<li><a href="function-autoloadFw.html">autoloadFw</a></li>
</ul>
</div>
</div>
</div>
 
<div id="splitter"></div>
 
<div id="right">
<div id="rightInner">
<form id="search">
<input type="hidden" name="cx" value="">
<input type="hidden" name="ie" value="UTF-8">
<input type="text" name="q" class="text">
<input type="submit" value="Search">
</form>
 
<div id="navigation">
<ul>
<li>
<a href="index.html" title="Overview"><span>Overview</span></a>
</li>
<li>
<a href="package-Framework.html" title="Summary of Framework"><span>Package</span></a>
</li>
<li>
<a href="class-Chronometre.html" title="Summary of Chronometre"><span>Class</span></a>
</li>
</ul>
<ul>
<li>
<a href="tree.html" title="Tree view of classes, interfaces, traits and exceptions"><span>Tree</span></a>
</li>
<li>
<a href="deprecated.html" title="List of deprecated elements"><span>Deprecated</span></a>
</li>
<li>
<a href="todo.html" title="Todo list"><span>Todo</span></a>
</li>
</ul>
<ul>
</ul>
</div>
 
<pre><code><span id="1" class="l"><a class="l" href="#1"> 1: </a><span class="xlang">&lt;?php</span>
</span><span id="2" class="l"><a class="l" href="#2"> 2: </a><span class="php-comment">// declare(encoding='UTF-8');</span>
</span><span id="3" class="l"><a class="l" href="#3"> 3: </a><span class="php-comment">/** Classe Chronometre() - Permet de stocker et d'afficher
</span></span><span id="4" class="l"><a class="l" href="#4"> 4: </a><span class="php-comment"> * les temps d'éxécution de script.
</span></span><span id="5" class="l"><a class="l" href="#5"> 5: </a><span class="php-comment"> *
</span></span><span id="6" class="l"><a class="l" href="#6"> 6: </a><span class="php-comment"> * Cette classe permet de réaliser un ensemble
</span></span><span id="7" class="l"><a class="l" href="#7"> 7: </a><span class="php-comment"> * de mesure de temps prises à
</span></span><span id="8" class="l"><a class="l" href="#8"> 8: </a><span class="php-comment"> * différents endroits d'un script.
</span></span><span id="9" class="l"><a class="l" href="#9"> 9: </a><span class="php-comment"> * Ces mesures peuvent ensuite être affichées au
</span></span><span id="10" class="l"><a class="l" href="#10"> 10: </a><span class="php-comment"> * sein d'un tableau XHTML.
</span></span><span id="11" class="l"><a class="l" href="#11"> 11: </a><span class="php-comment"> *
</span></span><span id="12" class="l"><a class="l" href="#12"> 12: </a><span class="php-comment"> *
</span></span><span id="13" class="l"><a class="l" href="#13"> 13: </a><span class="php-comment"> * PHP Version 5
</span></span><span id="14" class="l"><a class="l" href="#14"> 14: </a><span class="php-comment"> *
</span></span><span id="15" class="l"><a class="l" href="#15"> 15: </a><span class="php-comment"> * @category PHP
</span></span><span id="16" class="l"><a class="l" href="#16"> 16: </a><span class="php-comment"> * @package Framework
</span></span><span id="17" class="l"><a class="l" href="#17"> 17: </a><span class="php-comment"> * @author Jean-Pascal MILCENT &lt;jpm@tela-botanica.org&gt;
</span></span><span id="18" class="l"><a class="l" href="#18"> 18: </a><span class="php-comment"> * @copyright 2009 Tela-Botanica
</span></span><span id="19" class="l"><a class="l" href="#19"> 19: </a><span class="php-comment"> * @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
</span></span><span id="20" class="l"><a class="l" href="#20"> 20: </a><span class="php-comment"> * @version Release: &lt;package_version&gt;
</span></span><span id="21" class="l"><a class="l" href="#21"> 21: </a><span class="php-comment"> * @link /doc/framework/
</span></span><span id="22" class="l"><a class="l" href="#22"> 22: </a><span class="php-comment"> */</span>
</span><span id="23" class="l"><a class="l" href="#23"> 23: </a><span class="php-keyword1">class</span> <a id="Chronometre" href="#Chronometre">Chronometre</a> {
</span><span id="24" class="l"><a class="l" href="#24"> 24: </a> <span class="php-comment">/*** Attributs : ***/</span>
</span><span id="25" class="l"><a class="l" href="#25"> 25: </a> <span class="php-keyword1">private</span> <span class="php-var"><a id="$_temps" href="#$_temps">$_temps</a></span> = <span class="php-keyword1">array</span>();
</span><span id="26" class="l"><a class="l" href="#26"> 26: </a>
</span><span id="27" class="l"><a class="l" href="#27"> 27: </a> <span class="php-comment">/** Constructeur : **/</span>
</span><span id="28" class="l"><a class="l" href="#28"> 28: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> <a id="___construct" href="#___construct">__construct</a>() {
</span><span id="29" class="l"><a class="l" href="#29"> 29: </a> <span class="php-var">$this</span>-&gt;setTemps(<span class="php-keyword1">array</span>(<span class="php-quote">'depart'</span> =&gt; <span class="php-keyword2">microtime</span>()));
</span><span id="30" class="l"><a class="l" href="#30"> 30: </a> }
</span><span id="31" class="l"><a class="l" href="#31"> 31: </a>
</span><span id="32" class="l"><a class="l" href="#32"> 32: </a> <span class="php-comment">/** Accesseurs :
</span></span><span id="33" class="l"><a class="l" href="#33"> 33: </a><span class="php-comment"> *
</span></span><span id="34" class="l"><a class="l" href="#34"> 34: </a><span class="php-comment"> * @param string $cle la cle associée à un chronomètre particulier
</span></span><span id="35" class="l"><a class="l" href="#35"> 35: </a><span class="php-comment"> *
</span></span><span id="36" class="l"><a class="l" href="#36"> 36: </a><span class="php-comment"> * @return int le temps écoulé
</span></span><span id="37" class="l"><a class="l" href="#37"> 37: </a><span class="php-comment"> */</span>
</span><span id="38" class="l"><a class="l" href="#38"> 38: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> <a id="_getTemps" href="#_getTemps">getTemps</a>(<span class="php-var">$cle</span> = <span class="php-keyword1">null</span>) {
</span><span id="39" class="l"><a class="l" href="#39"> 39: </a> <span class="php-var">$temps</span> = <span class="php-quote">''</span>;
</span><span id="40" class="l"><a class="l" href="#40"> 40: </a> <span class="php-keyword1">if</span> (!<span class="php-keyword2">is_null</span>(<span class="php-var">$cle</span>)) {
</span><span id="41" class="l"><a class="l" href="#41"> 41: </a> <span class="php-var">$temps</span> = <span class="php-var">$this</span>-&gt;_temps[<span class="php-var">$cle</span>];
</span><span id="42" class="l"><a class="l" href="#42"> 42: </a> } <span class="php-keyword1">else</span> {
</span><span id="43" class="l"><a class="l" href="#43"> 43: </a> <span class="php-var">$temps</span> = <span class="php-var">$this</span>-&gt;_temps;
</span><span id="44" class="l"><a class="l" href="#44"> 44: </a> }
</span><span id="45" class="l"><a class="l" href="#45"> 45: </a> <span class="php-keyword1">return</span> <span class="php-var">$temps</span>;
</span><span id="46" class="l"><a class="l" href="#46"> 46: </a> }
</span><span id="47" class="l"><a class="l" href="#47"> 47: </a>
</span><span id="48" class="l"><a class="l" href="#48"> 48: </a> <span class="php-comment">/** Setteur pour la variable temps
</span></span><span id="49" class="l"><a class="l" href="#49"> 49: </a><span class="php-comment"> *
</span></span><span id="50" class="l"><a class="l" href="#50"> 50: </a><span class="php-comment"> * @param array() $moment ajoute des points de chronométrage au tableau _temps
</span></span><span id="51" class="l"><a class="l" href="#51"> 51: </a><span class="php-comment"> *
</span></span><span id="52" class="l"><a class="l" href="#52"> 52: </a><span class="php-comment"> * @return null
</span></span><span id="53" class="l"><a class="l" href="#53"> 53: </a><span class="php-comment"> */</span>
</span><span id="54" class="l"><a class="l" href="#54"> 54: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> <a id="_setTemps" href="#_setTemps">setTemps</a>(<span class="php-var">$moment</span> = <span class="php-keyword1">array</span> ()) {
</span><span id="55" class="l"><a class="l" href="#55"> 55: </a> <span class="php-keyword2">array_push</span>(<span class="php-var">$this</span>-&gt;_temps, <span class="php-var">$moment</span>);
</span><span id="56" class="l"><a class="l" href="#56"> 56: </a> }
</span><span id="57" class="l"><a class="l" href="#57"> 57: </a>
</span><span id="58" class="l"><a class="l" href="#58"> 58: </a> <span class="php-comment">/*** Méthodes : ***/</span>
</span><span id="59" class="l"><a class="l" href="#59"> 59: </a>
</span><span id="60" class="l"><a class="l" href="#60"> 60: </a> <span class="php-comment">/** Méthode afficherChrono() -
</span></span><span id="61" class="l"><a class="l" href="#61"> 61: </a><span class="php-comment"> * Permet d'afficher les temps d'éxécution de différentes parties d'un script.
</span></span><span id="62" class="l"><a class="l" href="#62"> 62: </a><span class="php-comment"> *
</span></span><span id="63" class="l"><a class="l" href="#63"> 63: </a><span class="php-comment"> * Cette fonction permet d'afficher un ensemble de
</span></span><span id="64" class="l"><a class="l" href="#64"> 64: </a><span class="php-comment"> * mesure de temps prises à différents endroits d'un script.
</span></span><span id="65" class="l"><a class="l" href="#65"> 65: </a><span class="php-comment"> * Ces mesures sont affichées au sein d'un tableau XHTML
</span></span><span id="66" class="l"><a class="l" href="#66"> 66: </a><span class="php-comment"> * dont on peut controler l'indentation des balises.
</span></span><span id="67" class="l"><a class="l" href="#67"> 67: </a><span class="php-comment"> * Pour un site en production, il suffit d'ajouter un style
</span></span><span id="68" class="l"><a class="l" href="#68"> 68: </a><span class="php-comment"> * #chrono {display:none;} dans la css. De cette façon,
</span></span><span id="69" class="l"><a class="l" href="#69"> 69: </a><span class="php-comment"> * le tableau ne s'affichera pas. Le webmaster lui pourra
</span></span><span id="70" class="l"><a class="l" href="#70"> 70: </a><span class="php-comment"> * rajouter sa propre feuille de style affichant le tableau.
</span></span><span id="71" class="l"><a class="l" href="#71"> 71: </a><span class="php-comment"> * Le développeur initial de cette fonction est Loic d'Anterroches.
</span></span><span id="72" class="l"><a class="l" href="#72"> 72: </a><span class="php-comment"> * Elle a été modifiée par Jean-Pascal Milcent.
</span></span><span id="73" class="l"><a class="l" href="#73"> 73: </a><span class="php-comment"> * Elle utilise une variable gobale : $_CHRONO_
</span></span><span id="74" class="l"><a class="l" href="#74"> 74: </a><span class="php-comment"> *
</span></span><span id="75" class="l"><a class="l" href="#75"> 75: </a><span class="php-comment"> * @author Loic d'Anterroches
</span></span><span id="76" class="l"><a class="l" href="#76"> 76: </a><span class="php-comment"> * @author Jean-Pascal MILCENT &lt;jpm@tela-botanica.org&gt;
</span></span><span id="77" class="l"><a class="l" href="#77"> 77: </a><span class="php-comment"> *
</span></span><span id="78" class="l"><a class="l" href="#78"> 78: </a><span class="php-comment"> * @param int $indentation_origine l'indentation de base.
</span></span><span id="79" class="l"><a class="l" href="#79"> 79: </a><span class="php-comment"> * @param int $indentation le pas d'indentation.
</span></span><span id="80" class="l"><a class="l" href="#80"> 80: </a><span class="php-comment"> * @return string la chaine XHTML de mesure des temps.
</span></span><span id="81" class="l"><a class="l" href="#81"> 81: </a><span class="php-comment"> */</span>
</span><span id="82" class="l"><a class="l" href="#82"> 82: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> <a id="_afficherChrono" href="#_afficherChrono">afficherChrono</a>(<span class="php-var">$indentation_origine</span> = <span class="php-num">8</span>, <span class="php-var">$indentation</span> = <span class="php-num">4</span>) {
</span><span id="83" class="l"><a class="l" href="#83"> 83: </a> <span class="php-comment">// Création du chrono de fin</span>
</span><span id="84" class="l"><a class="l" href="#84"> 84: </a> <span class="php-var">$GLOBALS</span>[<span class="php-quote">'_SCRIPT_'</span>][<span class="php-quote">'chrono'</span>]-&gt;setTemps(<span class="php-keyword1">array</span> (
</span><span id="85" class="l"><a class="l" href="#85"> 85: </a> <span class="php-quote">'fin'</span> =&gt; <span class="php-keyword2">microtime</span>()
</span><span id="86" class="l"><a class="l" href="#86"> 86: </a> ));
</span><span id="87" class="l"><a class="l" href="#87"> 87: </a>
</span><span id="88" class="l"><a class="l" href="#88"> 88: </a> <span class="php-comment">// Début création de l'affichage</span>
</span><span id="89" class="l"><a class="l" href="#89"> 89: </a> <span class="php-var">$sortie</span> = <span class="php-keyword2">str_repeat</span>(<span class="php-quote">' '</span>, <span class="php-var">$indentation_origine</span>) .
</span><span id="90" class="l"><a class="l" href="#90"> 90: </a> <span class="php-quote">'&lt;table id=&quot;chrono&quot; lang=&quot;fr&quot; summary=&quot;Résultat du
</span></span><span id="91" class="l"><a class="l" href="#91"> 91: </a><span class="php-quote"> chronométrage du programme affichant la page actuelle.&quot;&gt;'</span> . <span class="php-quote">&quot;\n&quot;</span>;
</span><span id="92" class="l"><a class="l" href="#92"> 92: </a> <span class="php-var">$sortie</span> .= <span class="php-keyword2">str_repeat</span>(<span class="php-quote">' '</span>, (<span class="php-var">$indentation_origine</span> + (<span class="php-var">$indentation</span> * <span class="php-num">1</span>))) .
</span><span id="93" class="l"><a class="l" href="#93"> 93: </a> <span class="php-quote">'&lt;caption&gt;Chronométrage&lt;/caption&gt;'</span> . <span class="php-quote">&quot;\n&quot;</span>;
</span><span id="94" class="l"><a class="l" href="#94"> 94: </a> <span class="php-var">$sortie</span> .= <span class="php-keyword2">str_repeat</span>(<span class="php-quote">' '</span>, (<span class="php-var">$indentation_origine</span> + (<span class="php-var">$indentation</span> * <span class="php-num">1</span>))) .
</span><span id="95" class="l"><a class="l" href="#95"> 95: </a> <span class="php-quote">'&lt;thead&gt;'</span> . <span class="php-quote">&quot;\n&quot;</span>;
</span><span id="96" class="l"><a class="l" href="#96"> 96: </a> <span class="php-var">$sortie</span> .= <span class="php-keyword2">str_repeat</span>(<span class="php-quote">' '</span>, (<span class="php-var">$indentation_origine</span> + (<span class="php-var">$indentation</span> * <span class="php-num">2</span>))) .
</span><span id="97" class="l"><a class="l" href="#97"> 97: </a> <span class="php-quote">'&lt;tr&gt;&lt;th&gt;Action&lt;/th&gt;&lt;th&gt;Temps écoulé (en s.)&lt;/th&gt;
</span></span><span id="98" class="l"><a class="l" href="#98"> 98: </a><span class="php-quote"> &lt;th&gt;Cumul du temps écoulé (en s.)&lt;/th&gt;&lt;/tr&gt;'</span> . <span class="php-quote">&quot;\n&quot;</span>;
</span><span id="99" class="l"><a class="l" href="#99"> 99: </a> <span class="php-var">$sortie</span> .= <span class="php-keyword2">str_repeat</span>(<span class="php-quote">' '</span>, (<span class="php-var">$indentation_origine</span> + (<span class="php-var">$indentation</span> * <span class="php-num">1</span>))) .
</span><span id="100" class="l"><a class="l" href="#100">100: </a> <span class="php-quote">'&lt;/thead&gt;'</span> . <span class="php-quote">&quot;\n&quot;</span>;
</span><span id="101" class="l"><a class="l" href="#101">101: </a>
</span><span id="102" class="l"><a class="l" href="#102">102: </a> <span class="php-var">$tbody</span> = <span class="php-keyword2">str_repeat</span>(<span class="php-quote">' '</span>, (<span class="php-var">$indentation_origine</span> + (<span class="php-var">$indentation</span> * <span class="php-num">1</span>))) .
</span><span id="103" class="l"><a class="l" href="#103">103: </a> <span class="php-quote">'&lt;tbody&gt;'</span> . <span class="php-quote">&quot;\n&quot;</span>;
</span><span id="104" class="l"><a class="l" href="#104">104: </a>
</span><span id="105" class="l"><a class="l" href="#105">105: </a> <span class="php-var">$total_tps_ecoule</span> = <span class="php-num">0</span>;
</span><span id="106" class="l"><a class="l" href="#106">106: </a>
</span><span id="107" class="l"><a class="l" href="#107">107: </a> <span class="php-comment">// Récupération de la premiére mesure</span>
</span><span id="108" class="l"><a class="l" href="#108">108: </a> <span class="php-var">$tab_depart</span> = &amp; <span class="php-var">$this</span>-&gt;getTemps(<span class="php-num">0</span>);
</span><span id="109" class="l"><a class="l" href="#109">109: </a> <span class="php-keyword1">list</span> (<span class="php-var">$usec</span>, <span class="php-var">$sec</span>) = <span class="php-keyword2">explode</span>(<span class="php-quote">' '</span>, <span class="php-var">$tab_depart</span>[<span class="php-quote">'depart'</span>]);
</span><span id="110" class="l"><a class="l" href="#110">110: </a>
</span><span id="111" class="l"><a class="l" href="#111">111: </a> <span class="php-comment">// Ce temps correspond à tps_fin</span>
</span><span id="112" class="l"><a class="l" href="#112">112: </a> <span class="php-var">$tps_debut</span> = ((float) <span class="php-var">$usec</span> + (float) <span class="php-var">$sec</span>);
</span><span id="113" class="l"><a class="l" href="#113">113: </a>
</span><span id="114" class="l"><a class="l" href="#114">114: </a> <span class="php-keyword1">foreach</span> (<span class="php-var">$this</span>-&gt;getTemps() <span class="php-keyword1">as</span> <span class="php-var">$tab_temps</span>) {
</span><span id="115" class="l"><a class="l" href="#115">115: </a> <span class="php-keyword1">foreach</span> (<span class="php-var">$tab_temps</span> <span class="php-keyword1">as</span> <span class="php-var">$cle</span> =&gt; <span class="php-var">$valeur</span>) {
</span><span id="116" class="l"><a class="l" href="#116">116: </a> <span class="php-keyword1">list</span> (<span class="php-var">$usec</span>, <span class="php-var">$sec</span>) = <span class="php-keyword2">explode</span>(<span class="php-quote">' '</span>, <span class="php-var">$valeur</span>);
</span><span id="117" class="l"><a class="l" href="#117">117: </a> <span class="php-var">$tps_fin</span> = ((float) <span class="php-var">$usec</span> + (float) <span class="php-var">$sec</span>);
</span><span id="118" class="l"><a class="l" href="#118">118: </a>
</span><span id="119" class="l"><a class="l" href="#119">119: </a> <span class="php-var">$tps_ecoule</span> = <span class="php-keyword2">abs</span>(<span class="php-var">$tps_fin</span> - <span class="php-var">$tps_debut</span>);
</span><span id="120" class="l"><a class="l" href="#120">120: </a> <span class="php-var">$total_tps_ecoule</span> += <span class="php-var">$tps_ecoule</span>;
</span><span id="121" class="l"><a class="l" href="#121">121: </a>
</span><span id="122" class="l"><a class="l" href="#122">122: </a> <span class="php-var">$tbody</span> .= <span class="php-keyword2">str_repeat</span>(<span class="php-quote">' '</span>,
</span><span id="123" class="l"><a class="l" href="#123">123: </a> (<span class="php-var">$indentation_origine</span> + (<span class="php-var">$indentation</span> * <span class="php-num">2</span>))) .
</span><span id="124" class="l"><a class="l" href="#124">124: </a> <span class="php-quote">'&lt;tr&gt;'</span> .
</span><span id="125" class="l"><a class="l" href="#125">125: </a> <span class="php-quote">'&lt;th&gt;'</span> . <span class="php-var">$cle</span> . <span class="php-quote">'&lt;/th&gt;'</span> .
</span><span id="126" class="l"><a class="l" href="#126">126: </a> <span class="php-quote">'&lt;td&gt;'</span> . <span class="php-keyword2">number_format</span>(<span class="php-var">$tps_ecoule</span>, <span class="php-num">3</span>, <span class="php-quote">','</span>, <span class="php-quote">' '</span>) . <span class="php-quote">'&lt;/td&gt;'</span> .
</span><span id="127" class="l"><a class="l" href="#127">127: </a> <span class="php-quote">'&lt;td&gt;'</span> . <span class="php-keyword2">number_format</span>(<span class="php-var">$total_tps_ecoule</span>, <span class="php-num">3</span>, <span class="php-quote">','</span>, <span class="php-quote">' '</span>) . <span class="php-quote">'&lt;/td&gt;'</span> .
</span><span id="128" class="l"><a class="l" href="#128">128: </a> <span class="php-quote">'&lt;/tr&gt;'</span> . <span class="php-quote">&quot;\n&quot;</span>;
</span><span id="129" class="l"><a class="l" href="#129">129: </a> <span class="php-var">$tps_debut</span> = <span class="php-var">$tps_fin</span>;
</span><span id="130" class="l"><a class="l" href="#130">130: </a> }
</span><span id="131" class="l"><a class="l" href="#131">131: </a> }
</span><span id="132" class="l"><a class="l" href="#132">132: </a> <span class="php-var">$tbody</span> .= <span class="php-keyword2">str_repeat</span>(<span class="php-quote">' '</span>, (<span class="php-var">$indentation_origine</span> + (<span class="php-var">$indentation</span> * <span class="php-num">1</span>))) .
</span><span id="133" class="l"><a class="l" href="#133">133: </a> <span class="php-quote">'&lt;/tbody&gt;'</span> . <span class="php-quote">&quot;\n&quot;</span>;
</span><span id="134" class="l"><a class="l" href="#134">134: </a>
</span><span id="135" class="l"><a class="l" href="#135">135: </a> <span class="php-var">$sortie</span> .= <span class="php-keyword2">str_repeat</span>(<span class="php-quote">' '</span>, (<span class="php-var">$indentation_origine</span> + (<span class="php-var">$indentation</span> * <span class="php-num">1</span>))) .
</span><span id="136" class="l"><a class="l" href="#136">136: </a> <span class="php-quote">'&lt;tfoot&gt;'</span> . <span class="php-quote">&quot;\n&quot;</span>;
</span><span id="137" class="l"><a class="l" href="#137">137: </a> <span class="php-var">$sortie</span> .= <span class="php-keyword2">str_repeat</span>(<span class="php-quote">' '</span>, (<span class="php-var">$indentation_origine</span> + (<span class="php-var">$indentation</span> * <span class="php-num">2</span>))) .
</span><span id="138" class="l"><a class="l" href="#138">138: </a> <span class="php-quote">'&lt;tr&gt;'</span> .
</span><span id="139" class="l"><a class="l" href="#139">139: </a> <span class="php-quote">'&lt;th&gt;'</span> . <span class="php-quote">'Total du temps écoulé (en s.)'</span> . <span class="php-quote">'&lt;/th&gt;'</span> .
</span><span id="140" class="l"><a class="l" href="#140">140: </a> <span class="php-quote">'&lt;td colspan=&quot;2&quot;&gt;'</span> .
</span><span id="141" class="l"><a class="l" href="#141">141: </a> <span class="php-keyword2">number_format</span>(<span class="php-var">$total_tps_ecoule</span>, <span class="php-num">3</span>, <span class="php-quote">','</span>, <span class="php-quote">' '</span>) . <span class="php-quote">'&lt;/td&gt;'</span> .
</span><span id="142" class="l"><a class="l" href="#142">142: </a> <span class="php-quote">'&lt;/tr&gt;'</span> . <span class="php-quote">&quot;\n&quot;</span>;
</span><span id="143" class="l"><a class="l" href="#143">143: </a> <span class="php-var">$sortie</span> .= <span class="php-keyword2">str_repeat</span>(<span class="php-quote">' '</span>, (<span class="php-var">$indentation_origine</span> + (<span class="php-var">$indentation</span> * <span class="php-num">1</span>))) .
</span><span id="144" class="l"><a class="l" href="#144">144: </a> <span class="php-quote">'&lt;/tfoot&gt;'</span> . <span class="php-quote">&quot;\n&quot;</span>;
</span><span id="145" class="l"><a class="l" href="#145">145: </a> <span class="php-var">$sortie</span> .= <span class="php-var">$tbody</span>;
</span><span id="146" class="l"><a class="l" href="#146">146: </a> <span class="php-var">$sortie</span> .= <span class="php-keyword2">str_repeat</span>(<span class="php-quote">' '</span>, <span class="php-var">$indentation_origine</span>) .
</span><span id="147" class="l"><a class="l" href="#147">147: </a> <span class="php-quote">'&lt;/table&gt;'</span> . <span class="php-quote">&quot;\n&quot;</span>;
</span><span id="148" class="l"><a class="l" href="#148">148: </a>
</span><span id="149" class="l"><a class="l" href="#149">149: </a> <span class="php-keyword1">return</span> <span class="php-var">$sortie</span>;
</span><span id="150" class="l"><a class="l" href="#150">150: </a> }
</span><span id="151" class="l"><a class="l" href="#151">151: </a>}
</span><span id="152" class="l"><a class="l" href="#152">152: </a></span><span class="xlang">?&gt;</span></code></pre>
 
<div id="footer">
TBFramework - v0.2 API documentation generated by <a href="http://apigen.org">ApiGen 2.8.0</a>
</div>
</div>
</div>
</body>
</html>
/branches/v0.2-buhl/doc/ApiGen/function-autoloadFw.html
New file
0,0 → 1,147
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="generator" content="ApiGen 2.8.0">
 
<title>Function autoloadFw | TBFramework - v0.2</title>
 
<script type="text/javascript" src="resources/combined.js?4205936287"></script>
<script type="text/javascript" src="elementlist.js?117657638"></script>
<link rel="stylesheet" type="text/css" media="all" href="resources/style.css?3505392360">
 
</head>
 
<body>
<div id="left">
<div id="menu">
<a href="index.html" title="Overview"><span>Overview</span></a>
 
 
<div id="groups">
<h3>Packages</h3>
<ul>
<li class="active"><a href="package-Framework.html">Framework</a>
</li>
<li><a href="package-PHP.html">PHP</a>
</li>
</ul>
</div>
 
<hr>
 
 
<div id="elements">
<h3>Classes</h3>
<ul>
<li><a href="class-Application.html">Application</a></li>
<li><a href="class-Chronometre.html">Chronometre</a></li>
<li><a href="class-Config.html">Config</a></li>
<li><a href="class-Controleur.html">Controleur</a></li>
<li><a href="class-Debug.html">Debug</a></li>
<li><a href="class-GestionnaireException.html">GestionnaireException</a></li>
<li><a href="class-Log.html">Log</a></li>
<li><a href="class-Modele.html">Modele</a></li>
<li><a href="class-Registre.html">Registre</a></li>
<li><a href="class-SquelettePhp.html">SquelettePhp</a></li>
<li><a href="class-Url.html">Url</a></li>
</ul>
 
 
 
 
 
<h3>Functions</h3>
<ul>
<li><a href="function-autoloadAppliDefaut.html">autoloadAppliDefaut</a></li>
<li class="active"><a href="function-autoloadFw.html">autoloadFw</a></li>
</ul>
</div>
</div>
</div>
 
<div id="splitter"></div>
 
<div id="right">
<div id="rightInner">
<form id="search">
<input type="hidden" name="cx" value="">
<input type="hidden" name="ie" value="UTF-8">
<input type="text" name="q" class="text">
<input type="submit" value="Search">
</form>
 
<div id="navigation">
<ul>
<li>
<a href="index.html" title="Overview"><span>Overview</span></a>
</li>
<li>
<a href="package-Framework.html" title="Summary of Framework"><span>Package</span></a>
</li>
<li class="active">
<span>Function</span> </li>
</ul>
<ul>
<li>
<a href="tree.html" title="Tree view of classes, interfaces, traits and exceptions"><span>Tree</span></a>
</li>
<li>
<a href="deprecated.html" title="List of deprecated elements"><span>Deprecated</span></a>
</li>
<li>
<a href="todo.html" title="Todo list"><span>Todo</span></a>
</li>
</ul>
<ul>
</ul>
</div>
 
<div id="content" class="function">
<h1>Function autoloadFw</h1>
 
 
 
<div class="info">
<b>Package:</b> <a href="package-Framework.html">Framework</a><br>
<b>Copyright:</b>
1999-2009 Tela Botanica (<a
href="mailto:accueil&#64;tela-botanica.org">accueil&#64;<!-- -->tela-botanica.org</a>)<br>
<b>License:</b>
<a href="GPL">v3 &lt;http://www.gnu.org/licenses/gpl.txt&gt;</a><br>
<b>License:</b>
<a href="CECILL">v2 &lt;http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt&gt;</a><br>
<b>Author:</b>
Aurelien PERONNET &lt;<a
href="mailto:aurelien&#64;tela-botanica.org">aurelien&#64;<!-- -->tela-botanica.org</a>&gt;
// Autres auteurs :<br>
<b>Author:</b>
Jean-Pascal MILCENT &lt;<a
href="mailto:jpm&#64;tela-botanica.org">jpm&#64;<!-- -->tela-botanica.org</a>&gt;<br>
<b>Located at</b> <a href="source-function-autoloadFw.html#31-37" title="Go to source code">autoload.inc.php</a><br>
</div>
 
 
<table class="summary" id="parameters">
<caption>Parameters summary</caption>
<tr id="$nom_classe_fw">
<td class="name"><code>mixed</code></td>
<td class="value"><code><var>$nom_classe_fw</var></code></td>
<td>
</td>
</tr>
</table>
 
 
 
</div>
 
<div id="footer">
TBFramework - v0.2 API documentation generated by <a href="http://apigen.org">ApiGen 2.8.0</a>
</div>
</div>
</div>
</body>
</html>
/branches/v0.2-buhl/doc/ApiGen/class-Debug.html
New file
0,0 → 1,337
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="generator" content="ApiGen 2.8.0">
 
<title>Class Debug | TBFramework - v0.2</title>
 
<script type="text/javascript" src="resources/combined.js?4205936287"></script>
<script type="text/javascript" src="elementlist.js?117657638"></script>
<link rel="stylesheet" type="text/css" media="all" href="resources/style.css?3505392360">
 
</head>
 
<body>
<div id="left">
<div id="menu">
<a href="index.html" title="Overview"><span>Overview</span></a>
 
 
<div id="groups">
<h3>Packages</h3>
<ul>
<li class="active"><a href="package-Framework.html">Framework</a>
</li>
<li><a href="package-PHP.html">PHP</a>
</li>
</ul>
</div>
 
<hr>
 
 
<div id="elements">
<h3>Classes</h3>
<ul>
<li><a href="class-Application.html">Application</a></li>
<li><a href="class-Chronometre.html">Chronometre</a></li>
<li><a href="class-Config.html">Config</a></li>
<li><a href="class-Controleur.html">Controleur</a></li>
<li class="active"><a href="class-Debug.html">Debug</a></li>
<li><a href="class-GestionnaireException.html">GestionnaireException</a></li>
<li><a href="class-Log.html">Log</a></li>
<li><a href="class-Modele.html">Modele</a></li>
<li><a href="class-Registre.html">Registre</a></li>
<li><a href="class-SquelettePhp.html">SquelettePhp</a></li>
<li><a href="class-Url.html">Url</a></li>
</ul>
 
 
 
 
 
<h3>Functions</h3>
<ul>
<li><a href="function-autoloadAppliDefaut.html">autoloadAppliDefaut</a></li>
<li><a href="function-autoloadFw.html">autoloadFw</a></li>
</ul>
</div>
</div>
</div>
 
<div id="splitter"></div>
 
<div id="right">
<div id="rightInner">
<form id="search">
<input type="hidden" name="cx" value="">
<input type="hidden" name="ie" value="UTF-8">
<input type="text" name="q" class="text">
<input type="submit" value="Search">
</form>
 
<div id="navigation">
<ul>
<li>
<a href="index.html" title="Overview"><span>Overview</span></a>
</li>
<li>
<a href="package-Framework.html" title="Summary of Framework"><span>Package</span></a>
</li>
<li class="active">
<span>Class</span> </li>
</ul>
<ul>
<li>
<a href="tree.html" title="Tree view of classes, interfaces, traits and exceptions"><span>Tree</span></a>
</li>
<li>
<a href="deprecated.html" title="List of deprecated elements"><span>Deprecated</span></a>
</li>
<li>
<a href="todo.html" title="Todo list"><span>Todo</span></a>
</li>
</ul>
<ul>
</ul>
</div>
 
<div id="content" class="class">
<h1>Class Debug</h1>
 
 
<div class="description">
<p>Classe fournissant des fonctions de débogage équivalante à var_dump et
print_r. 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.</p>
 
<p>PHP version 5</p>
 
</div>
 
 
 
 
 
 
 
 
 
<div class="info">
<b>Package:</b> <a href="package-Framework.html">Framework</a><br>
 
<b>Category:</b>
Debogage<br>
<b>Copyright:</b>
1999-2009 Tela Botanica (<a
href="mailto:accueil&#64;tela-botanica.org">accueil&#64;<!-- -->tela-botanica.org</a>)<br>
<b>License:</b>
<a href="GPL">v3 &lt;http://www.gnu.org/licenses/gpl.txt&gt;</a><br>
<b>License:</b>
<a href="CECILL">v2 &lt;http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt&gt;</a><br>
<b>Author:</b>
Jean-Pascal MILCENT &lt;<a
href="mailto:jpm&#64;tela-botanica.org">jpm&#64;<!-- -->tela-botanica.org</a>&gt;
// Autres auteurs :<br>
<b>Version:</b>
$$Id: Debug.php 167 2010-03-19 17:12:08Z jpm $$<br>
<b>Located at</b> <a href="source-class-Debug.html#3-122" title="Go to source code">Debug.php</a><br>
</div>
 
 
 
<table class="summary" id="methods">
<caption>Methods summary</caption>
<tr data-order="getMode" id="_getMode">
 
<td class="attributes"><code>
public static
string
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_getMode">#</a>
<code><a href="source-class-Debug.html#27-36" title="Go to source code">getMode</a>( )</code>
 
<div class="description short">
<p>Accesseur pour le mode</p>
 
</div>
 
<div class="description detailed hidden">
<p>Accesseur pour le mode</p>
 
 
 
 
<h4>Returns</h4>
<div class="list">
<code>string</code><br>le mode de php<br>
</div>
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="dump" id="_dump">
 
<td class="attributes"><code>
public static
string
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_dump">#</a>
<code><a href="source-class-Debug.html#38-56" title="Go to source code">dump</a>( <span>mixed <var>$variable</var></span>, <span>string <var>$mot_cle</var> = <span class="php-keyword1">null</span></span>, <span>boolean <var>$echo</var> = <span class="php-keyword1">true</span></span> )</code>
 
<div class="description short">
<p>Equivalent de var_dump</p>
 
</div>
 
<div class="description detailed hidden">
<p>Equivalent de var_dump</p>
 
 
 
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$variable</var></dt>
<dd><code>mixed</code><br>$variable la variable à dumper</dd>
<dt><var>$mot_cle</var></dt>
<dd><code>string</code><br>$mot_cle le mot cle à associer à la variable</dd>
<dt><var>$echo</var></dt>
<dd><code>boolean</code><br>$echo si true on affiche le résultat, si false on ne renvoie que la chaine sans
l'afficher</dd>
</dl></div>
 
<h4>Returns</h4>
<div class="list">
<code>string</code><br>la chaine à afficher representant le dump ou null si echo<br>
</div>
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="printr" id="_printr">
 
<td class="attributes"><code>
public static
string
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_printr">#</a>
<code><a href="source-class-Debug.html#58-71" title="Go to source code">printr</a>( <span>mixed <var>$variable</var></span>, <span>string <var>$mot_cle</var> = <span class="php-keyword1">null</span></span>, <span>boolean <var>$echo</var> = <span class="php-keyword1">true</span></span> )</code>
 
<div class="description short">
<p>Equivalent de print_r</p>
 
</div>
 
<div class="description detailed hidden">
<p>Equivalent de print_r</p>
 
 
 
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$variable</var></dt>
<dd><code>mixed</code><br>$variable la variable à afficher</dd>
<dt><var>$mot_cle</var></dt>
<dd><code>string</code><br>$mot_cle le mot cle à associer</dd>
<dt><var>$echo</var></dt>
<dd><code>boolean</code><br>$echo faire un echo ou non</dd>
</dl></div>
 
<h4>Returns</h4>
<div class="list">
<code>string</code><br>la chaine contenant la variable printée ou null si echo<br>
</div>
 
 
 
 
</div>
</div></td>
</tr>
</table>
 
 
 
 
 
 
 
 
 
 
 
 
<table class="summary" id="properties">
<caption>Properties summary</caption>
<tr data-order="mode" id="$mode">
<td class="attributes"><code>
protected static
mixed
</code></td>
 
<td class="name">
<a href="source-class-Debug.html#22-25" title="Go to source code"><var>$mode</var></a>
</td>
<td class="value"><code><span class="php-keyword1">null</span></code></td>
<td class="description"><div>
<a href="#$mode" class="anchor">#</a>
 
<div class="description short">
<p>mode de php (cli ou sapi)</p>
 
</div>
 
<div class="description detailed hidden">
<p>mode de php (cli ou sapi)</p>
 
 
</div>
</div></td>
</tr>
</table>
 
 
 
 
 
 
</div>
 
<div id="footer">
TBFramework - v0.2 API documentation generated by <a href="http://apigen.org">ApiGen 2.8.0</a>
</div>
</div>
</div>
</body>
</html>
/branches/v0.2-buhl/doc/ApiGen/elementlist.js
New file
0,0 → 1,3
 
var ApiGen = ApiGen || {};
ApiGen.elements = [["c","Application"],["f","autoloadAppliDefaut()"],["f","autoloadFw()"],["c","Chronometre"],["c","Config"],["c","Controleur"],["c","Debug"],["c","Exception"],["c","GestionnaireException"],["c","Log"],["c","Modele"],["c","PDOStatement"],["c","Registre"],["c","SquelettePhp"],["c","Traversable"],["c","Url"]];
/branches/v0.2-buhl/doc/ApiGen/class-Controleur.html
New file
0,0 → 1,478
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="generator" content="ApiGen 2.8.0">
 
<title>Class Controleur | TBFramework - v0.2</title>
 
<script type="text/javascript" src="resources/combined.js?4205936287"></script>
<script type="text/javascript" src="elementlist.js?117657638"></script>
<link rel="stylesheet" type="text/css" media="all" href="resources/style.css?3505392360">
 
</head>
 
<body>
<div id="left">
<div id="menu">
<a href="index.html" title="Overview"><span>Overview</span></a>
 
 
<div id="groups">
<h3>Packages</h3>
<ul>
<li class="active"><a href="package-Framework.html">Framework</a>
</li>
<li><a href="package-PHP.html">PHP</a>
</li>
</ul>
</div>
 
<hr>
 
 
<div id="elements">
<h3>Classes</h3>
<ul>
<li><a href="class-Application.html">Application</a></li>
<li><a href="class-Chronometre.html">Chronometre</a></li>
<li><a href="class-Config.html">Config</a></li>
<li class="active"><a href="class-Controleur.html">Controleur</a></li>
<li><a href="class-Debug.html">Debug</a></li>
<li><a href="class-GestionnaireException.html">GestionnaireException</a></li>
<li><a href="class-Log.html">Log</a></li>
<li><a href="class-Modele.html">Modele</a></li>
<li><a href="class-Registre.html">Registre</a></li>
<li><a href="class-SquelettePhp.html">SquelettePhp</a></li>
<li><a href="class-Url.html">Url</a></li>
</ul>
 
 
 
 
 
<h3>Functions</h3>
<ul>
<li><a href="function-autoloadAppliDefaut.html">autoloadAppliDefaut</a></li>
<li><a href="function-autoloadFw.html">autoloadFw</a></li>
</ul>
</div>
</div>
</div>
 
<div id="splitter"></div>
 
<div id="right">
<div id="rightInner">
<form id="search">
<input type="hidden" name="cx" value="">
<input type="hidden" name="ie" value="UTF-8">
<input type="text" name="q" class="text">
<input type="submit" value="Search">
</form>
 
<div id="navigation">
<ul>
<li>
<a href="index.html" title="Overview"><span>Overview</span></a>
</li>
<li>
<a href="package-Framework.html" title="Summary of Framework"><span>Package</span></a>
</li>
<li class="active">
<span>Class</span> </li>
</ul>
<ul>
<li>
<a href="tree.html" title="Tree view of classes, interfaces, traits and exceptions"><span>Tree</span></a>
</li>
<li>
<a href="deprecated.html" title="List of deprecated elements"><span>Deprecated</span></a>
</li>
<li>
<a href="todo.html" title="Todo list"><span>Todo</span></a>
</li>
</ul>
<ul>
</ul>
</div>
 
<div id="content" class="class">
<h1>Class Controleur</h1>
 
 
<div class="description">
<p>Classe Controleur, coeur d'une application, c'est normalement la seule classe
d'une application qui devrait être appelée de l'extérieur. Elle est abstraite
donc doit obligatoirement être étendue.</p>
 
</div>
 
 
 
 
 
 
 
 
 
<div class="info">
<b>Abstract</b><br>
<b>Package:</b> <a href="package-Framework.html">Framework</a><br>
 
<b>Category:</b>
php5<br>
<b>Copyright:</b>
2009 Tela-Botanica<br>
<b>License:</b>
<a href="http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt">Licence CECILL</a><br>
<b>License:</b>
<a href="http://www.gnu.org/licenses/gpl.html">Licence GNU-GPL</a><br>
<b>Author:</b>
Aurélien PERONNET &lt;<a
href="mailto:aurelien&#64;tela-botanica.org">aurelien&#64;<!-- -->tela-botanica.org</a>&gt;<br>
<b>Author:</b>
Jean-Pascal MILCENT &lt;<a
href="mailto:jpm&#64;tela-botanica.org">jpm&#64;<!-- -->tela-botanica.org</a>&gt;<br>
<b>Version:</b>
SVN: $Id: Controleur.php 191 2010-04-29 15:34:49Z jpm $<br>
<b>Link:</b>
/doc/framework/<br>
<b>Located at</b> <a href="source-class-Controleur.html#3-138" title="Go to source code">Controleur.php</a><br>
</div>
 
 
 
<table class="summary" id="methods">
<caption>Methods summary</caption>
<tr data-order="__construct" id="___construct">
 
<td class="attributes"><code>
public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#___construct">#</a>
<code><a href="source-class-Controleur.html#26-36" title="Go to source code">__construct</a>( )</code>
 
<div class="description short">
<p>Constructeur par défaut</p>
 
</div>
 
<div class="description detailed hidden">
<p>Constructeur par défaut</p>
 
 
 
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="chargerModele" id="_chargerModele">
 
<td class="attributes"><code>
final protected
boolean
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_chargerModele">#</a>
<code><a href="source-class-Controleur.html#38-54" title="Go to source code">chargerModele</a>( <span>string <var>$nom_modele</var></span> )</code>
 
<div class="description short">
<p>Charge un modele donné et le rend disponible sous la forme
$this-&gt;nom_modele</p>
 
</div>
 
<div class="description detailed hidden">
<p>Charge un modele donné et le rend disponible sous la forme
$this-&gt;nom_modele</p>
 
 
 
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$nom_modele</var></dt>
<dd><code>string</code><br>$nom_modele le nom du modèle à  charger</dd>
</dl></div>
 
<h4>Returns</h4>
<div class="list">
<code>boolean</code><br>false si le chargement a échoué, sinon true.<br>
</div>
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="getModele" id="_getModele">
 
<td class="attributes"><code>
final protected
mixed
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_getModele">#</a>
<code><a href="source-class-Controleur.html#56-74" title="Go to source code">getModele</a>( <span>string <var>$nom_modele</var></span>, <span>String <var>$ext</var> = <span class="php-quote">'.php'</span></span> )</code>
 
<div class="description short">
<p>Retourne un modele donné</p>
 
</div>
 
<div class="description detailed hidden">
<p>Retourne un modele donné</p>
 
 
 
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$nom_modele</var></dt>
<dd><code>string</code><br>$nom_modele le nom du fichier modèle à charger sans son extension</dd>
<dt><var>$ext</var></dt>
<dd><code>String</code><br>$ext l'extension du fichier du modèel (par défaut : ".php"</dd>
</dl></div>
 
<h4>Returns</h4>
<div class="list">
<code>mixed</code><br>false si le chargement a échoué, sinon l'objet du modèle demandé.<br>
</div>
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="getVue" id="_getVue">
 
<td class="attributes"><code>
final protected
boolean
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_getVue">#</a>
<code><a href="source-class-Controleur.html#76-92" title="Go to source code">getVue</a>( <span>String <var>$nom_squelette</var></span>, <span>Array <var>$donnees</var> = <span class="php-keyword1">array</span>()</span>, <span>String <var>$ext</var> = <span class="php-quote">'.tpl.html'</span></span> )</code>
 
<div class="description short">
<p>Fonction prenant en paramètre le nom d'un squelette et un tableau associatif
de données, en extrait les variables, charge le squelette et retourne le
résultat des deux combinés.</p>
 
</div>
 
<div class="description detailed hidden">
<p>Fonction prenant en paramètre le nom d'un squelette et un tableau associatif
de données, en extrait les variables, charge le squelette et retourne le
résultat des deux combinés.</p>
 
 
 
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$nom_squelette</var></dt>
<dd><code>String</code><br>$nom_squelette le nom du squelette sans son extension</dd>
<dt><var>$donnees</var></dt>
<dd><code>Array</code><br>$donnees un tableau associatif contenant les variables a injecter dans la vue</dd>
<dt><var>$ext</var></dt>
<dd><code>String</code><br>$ext l'extension du fichier du squelette (par défaut : ".tpl.html"</dd>
</dl></div>
 
<h4>Returns</h4>
<div class="list">
<code>boolean</code><br>false si la vue n'existe pas, sinon la chaine résultat.<br>
</div>
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="preTraiterDonnees" id="_preTraiterDonnees">
 
<td class="attributes"><code>
protected
Array
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_preTraiterDonnees">#</a>
<code><a href="source-class-Controleur.html#94-105" title="Go to source code">preTraiterDonnees</a>( <span>Array <var>$donnees</var></span> )</code>
 
<div class="description short">
<p>Fonction prenant en paramètre un tableau de données et effectuant un
traitement dessus. Cette fonction est à surcharger dans les classes filles pour
automatiser un traitement avant chaque chargement de vue.</p>
 
</div>
 
<div class="description detailed hidden">
<p>Fonction prenant en paramètre un tableau de données et effectuant un
traitement dessus. Cette fonction est à surcharger dans les classes filles pour
automatiser un traitement avant chaque chargement de vue.</p>
 
 
 
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$donnees</var></dt>
<dd><code>Array</code><br>$donnees Le tableau de données à traiter</dd>
</dl></div>
 
<h4>Returns</h4>
<div class="list">
<code>Array</code><br>$donnees Le tableau de données traité<br>
</div>
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="verifierEtReencoderTableauRequete" id="_verifierEtReencoderTableauRequete">
 
<td class="attributes"><code>
protected
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_verifierEtReencoderTableauRequete">#</a>
<code><a href="source-class-Controleur.html#107-116" title="Go to source code">verifierEtReencoderTableauRequete</a>( )</code>
 
<div class="description short">
<p>Procédure vérifiant l'encodage des tableaux $_GET et $_POST et les
transcodant dans l'encodage de l'application</p>
 
</div>
 
<div class="description detailed hidden">
<p>Procédure vérifiant l'encodage des tableaux $_GET et $_POST et les
transcodant dans l'encodage de l'application</p>
 
 
 
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="encoderTableau" id="_encoderTableau">
 
<td class="attributes"><code>
final protected
Array
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_encoderTableau">#</a>
<code><a href="source-class-Controleur.html#118-137" title="Go to source code">encoderTableau</a>( <span>mixed <var>$tableau</var></span>, <span>mixed <var>$encodage_sortie</var></span>, <span>mixed <var>$encodage_entree</var> = <span class="php-keyword1">null</span></span> )</code>
 
<div class="description short">
<p>Fonction récursive transcodant toutes les valeurs d'un tableau de leur
encodage d'entrée vers un encodage de sortie donné</p>
 
</div>
 
<div class="description detailed hidden">
<p>Fonction récursive transcodant toutes les valeurs d'un tableau de leur
encodage d'entrée vers un encodage de sortie donné</p>
 
 
 
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$tableau</var></dt>
<dd><code>mixed</code><br>$tableau Array Un tableau de données à encoder</dd>
<dt><var>$encodage_sortie</var></dt>
<dd><code>mixed</code><br>$encodage_sortie String l'encodage vers lequel on doit transcoder</dd>
<dt><var>$encodage_entree</var></dt>
<dd><code>mixed</code><br>$encodage_entree String l'encodage original des chaines du tableau (optionnel)</dd>
</dl></div>
 
<h4>Returns</h4>
<div class="list">
<code>Array</code><br>Le tableau encodé dans l'encodage de sortie<br>
</div>
 
 
 
 
</div>
</div></td>
</tr>
</table>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
</div>
 
<div id="footer">
TBFramework - v0.2 API documentation generated by <a href="http://apigen.org">ApiGen 2.8.0</a>
</div>
</div>
</div>
</body>
</html>
/branches/v0.2-buhl/doc/ApiGen/tree.html
New file
0,0 → 1,239
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="generator" content="ApiGen 2.8.0">
 
<title>Tree | TBFramework - v0.2</title>
 
<script type="text/javascript" src="resources/combined.js?4205936287"></script>
<script type="text/javascript" src="elementlist.js?117657638"></script>
<link rel="stylesheet" type="text/css" media="all" href="resources/style.css?3505392360">
 
</head>
 
<body>
<div id="left">
<div id="menu">
<a href="index.html" title="Overview"><span>Overview</span></a>
 
 
<div id="groups">
<h3>Packages</h3>
<ul>
<li><a href="package-Framework.html">Framework</a>
</li>
<li><a href="package-PHP.html">PHP</a>
</li>
</ul>
</div>
 
<hr>
 
 
<div id="elements">
<h3>Classes</h3>
<ul>
<li><a href="class-Application.html">Application</a></li>
<li><a href="class-Chronometre.html">Chronometre</a></li>
<li><a href="class-Config.html">Config</a></li>
<li><a href="class-Controleur.html">Controleur</a></li>
<li><a href="class-Debug.html">Debug</a></li>
<li><a href="class-GestionnaireException.html">GestionnaireException</a></li>
<li><a href="class-Log.html">Log</a></li>
<li><a href="class-Modele.html">Modele</a></li>
<li><a href="class-PDOStatement.html">PDOStatement</a></li>
<li><a href="class-Registre.html">Registre</a></li>
<li><a href="class-SquelettePhp.html">SquelettePhp</a></li>
<li><a href="class-Url.html">Url</a></li>
</ul>
 
<h3>Interfaces</h3>
<ul>
<li><a href="class-Traversable.html">Traversable</a></li>
</ul>
 
 
<h3>Exceptions</h3>
<ul>
<li><a href="class-Exception.html">Exception</a></li>
</ul>
 
 
<h3>Functions</h3>
<ul>
<li><a href="function-autoloadAppliDefaut.html">autoloadAppliDefaut</a></li>
<li><a href="function-autoloadFw.html">autoloadFw</a></li>
</ul>
</div>
</div>
</div>
 
<div id="splitter"></div>
 
<div id="right">
<div id="rightInner">
<form id="search">
<input type="hidden" name="cx" value="">
<input type="hidden" name="ie" value="UTF-8">
<input type="text" name="q" class="text">
<input type="submit" value="Search">
</form>
 
<div id="navigation">
<ul>
<li>
<a href="index.html" title="Overview"><span>Overview</span></a>
</li>
<li>
<span>Package</span> </li>
<li>
<span>Class</span> </li>
</ul>
<ul>
<li class="active">
<span>Tree</span> </li>
<li>
<a href="deprecated.html" title="List of deprecated elements"><span>Deprecated</span></a>
</li>
<li>
<a href="todo.html" title="Todo list"><span>Todo</span></a>
</li>
</ul>
<ul>
</ul>
</div>
 
<div id="content">
<h1>Tree</h1>
 
<h3>Classes</h3>
<div class="tree">
<ul>
 
<li><div class="notlast"><a href="class-Application.html"><span>Application</span></a>
</div>
 
</li>
 
<li><div class="notlast"><a href="class-Chronometre.html"><span>Chronometre</span></a>
</div>
 
</li>
 
<li><div class="notlast"><a href="class-Config.html"><span>Config</span></a>
</div>
 
</li>
 
<li><div class="notlast"><a href="class-Controleur.html"><span>Controleur</span></a>
</div>
 
</li>
 
<li><div class="notlast"><a href="class-Debug.html"><span>Debug</span></a>
</div>
 
</li>
 
<li><div class="notlast"><a href="class-GestionnaireException.html"><span>GestionnaireException</span></a>
</div>
 
</li>
 
<li><div class="notlast"><a href="class-Log.html"><span>Log</span></a>
</div>
 
</li>
 
<li><div class="notlast"><a href="class-Modele.html"><span>Modele</span></a>
</div>
 
</li>
 
<li><div class="notlast"><a href="class-PDOStatement.html"><span>PDOStatement</span></a>
implements
<a href="class-Traversable.html"><span>Traversable</span></a>
</div>
 
</li>
 
<li><div class="notlast"><a href="class-Registre.html"><span>Registre</span></a>
</div>
 
</li>
 
<li><div class="notlast"><a href="class-SquelettePhp.html"><span>SquelettePhp</span></a>
</div>
 
</li>
 
<li class="last"><div class="last"><a href="class-Url.html"><span>Url</span></a>
</div>
 
</li>
</ul>
</div>
 
<h3>Interfaces</h3>
<div class="tree">
<ul>
 
<li class="last"><div class="last"><a href="class-Traversable.html"><span>Traversable</span></a>
</div>
 
</li>
</ul>
</div>
 
 
<h3>Exceptions</h3>
<div class="tree">
<ul>
 
<li class="last"><div class="last"><a href="class-Exception.html"><span>Exception</span></a>
</div>
 
</li>
</ul>
</div>
</div>
 
<div id="footer">
TBFramework - v0.2 API documentation generated by <a href="http://apigen.org">ApiGen 2.8.0</a>
</div>
</div>
</div>
</body>
</html>
/branches/v0.2-buhl/doc/ApiGen/deprecated.html
New file
0,0 → 1,135
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="generator" content="ApiGen 2.8.0">
 
<title>Deprecated | TBFramework - v0.2</title>
 
<script type="text/javascript" src="resources/combined.js?4205936287"></script>
<script type="text/javascript" src="elementlist.js?117657638"></script>
<link rel="stylesheet" type="text/css" media="all" href="resources/style.css?3505392360">
 
</head>
 
<body>
<div id="left">
<div id="menu">
<a href="index.html" title="Overview"><span>Overview</span></a>
 
 
<div id="groups">
<h3>Packages</h3>
<ul>
<li><a href="package-Framework.html">Framework</a>
</li>
<li><a href="package-PHP.html">PHP</a>
</li>
</ul>
</div>
 
<hr>
 
 
<div id="elements">
<h3>Classes</h3>
<ul>
<li><a href="class-Application.html">Application</a></li>
<li><a href="class-Chronometre.html">Chronometre</a></li>
<li><a href="class-Config.html">Config</a></li>
<li><a href="class-Controleur.html">Controleur</a></li>
<li><a href="class-Debug.html">Debug</a></li>
<li><a href="class-GestionnaireException.html">GestionnaireException</a></li>
<li><a href="class-Log.html">Log</a></li>
<li><a href="class-Modele.html">Modele</a></li>
<li><a href="class-PDOStatement.html">PDOStatement</a></li>
<li><a href="class-Registre.html">Registre</a></li>
<li><a href="class-SquelettePhp.html">SquelettePhp</a></li>
<li><a href="class-Url.html">Url</a></li>
</ul>
 
<h3>Interfaces</h3>
<ul>
<li><a href="class-Traversable.html">Traversable</a></li>
</ul>
 
 
<h3>Exceptions</h3>
<ul>
<li><a href="class-Exception.html">Exception</a></li>
</ul>
 
 
<h3>Functions</h3>
<ul>
<li><a href="function-autoloadAppliDefaut.html">autoloadAppliDefaut</a></li>
<li><a href="function-autoloadFw.html">autoloadFw</a></li>
</ul>
</div>
</div>
</div>
 
<div id="splitter"></div>
 
<div id="right">
<div id="rightInner">
<form id="search">
<input type="hidden" name="cx" value="">
<input type="hidden" name="ie" value="UTF-8">
<input type="text" name="q" class="text">
<input type="submit" value="Search">
</form>
 
<div id="navigation">
<ul>
<li>
<a href="index.html" title="Overview"><span>Overview</span></a>
</li>
<li>
<span>Package</span> </li>
<li>
<span>Class</span> </li>
</ul>
<ul>
<li>
<a href="tree.html" title="Tree view of classes, interfaces, traits and exceptions"><span>Tree</span></a>
</li>
<li class="active">
<span>Deprecated</span> </li>
<li>
<a href="todo.html" title="Todo list"><span>Todo</span></a>
</li>
</ul>
<ul>
</ul>
</div>
 
<div id="content">
<h1>Deprecated</h1>
 
 
 
 
 
 
<table class="summary" id="methods">
<caption>Methods summary</caption>
<tr>
<td class="name"><a href="class-GestionnaireException.html">GestionnaireException</a></td>
<td class="name"><code><a href="class-GestionnaireException.html#_getExceptions">getExceptions()</a></code></td>
<td>
</td>
</tr>
</table>
 
 
 
</div>
 
<div id="footer">
TBFramework - v0.2 API documentation generated by <a href="http://apigen.org">ApiGen 2.8.0</a>
</div>
</div>
</div>
</body>
</html>
/branches/v0.2-buhl/doc/ApiGen/class-Exception.html
New file
0,0 → 1,502
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="generator" content="ApiGen 2.8.0">
 
<title>Class Exception | TBFramework - v0.2</title>
 
<script type="text/javascript" src="resources/combined.js?4205936287"></script>
<script type="text/javascript" src="elementlist.js?117657638"></script>
<link rel="stylesheet" type="text/css" media="all" href="resources/style.css?3505392360">
 
</head>
 
<body>
<div id="left">
<div id="menu">
<a href="index.html" title="Overview"><span>Overview</span></a>
 
 
<div id="groups">
<h3>Packages</h3>
<ul>
<li><a href="package-Framework.html">Framework</a>
</li>
<li class="active"><a href="package-PHP.html">PHP</a>
</li>
</ul>
</div>
 
<hr>
 
 
<div id="elements">
<h3>Classes</h3>
<ul>
<li><a href="class-PDOStatement.html">PDOStatement</a></li>
</ul>
 
<h3>Interfaces</h3>
<ul>
<li><a href="class-Traversable.html">Traversable</a></li>
</ul>
 
 
<h3>Exceptions</h3>
<ul>
<li class="active"><a href="class-Exception.html">Exception</a></li>
</ul>
 
 
</div>
</div>
</div>
 
<div id="splitter"></div>
 
<div id="right">
<div id="rightInner">
<form id="search">
<input type="hidden" name="cx" value="">
<input type="hidden" name="ie" value="UTF-8">
<input type="text" name="q" class="text">
<input type="submit" value="Search">
</form>
 
<div id="navigation">
<ul>
<li>
<a href="index.html" title="Overview"><span>Overview</span></a>
</li>
<li>
<a href="package-PHP.html" title="Summary of PHP"><span>Package</span></a>
</li>
<li class="active">
<span>Class</span> </li>
</ul>
<ul>
<li>
<a href="tree.html" title="Tree view of classes, interfaces, traits and exceptions"><span>Tree</span></a>
</li>
<li>
<a href="deprecated.html" title="List of deprecated elements"><span>Deprecated</span></a>
</li>
<li>
<a href="todo.html" title="Todo list"><span>Todo</span></a>
</li>
</ul>
<ul>
</ul>
</div>
 
<div id="content" class="class">
<h1>Class Exception</h1>
 
 
 
 
 
 
 
 
 
 
 
<div class="info">
<b>PHP Extension:</b> <a href="http://php.net/manual" title="Go to PHP documentation">Core</a><br>
 
<b>Documented at</b> <a href="http://php.net/manual/class.exception.php" title="Go to PHP documentation">php.net</a><br>
</div>
 
 
 
<table class="summary" id="methods">
<caption>Methods summary</caption>
<tr data-order="__construct" id="___construct">
 
<td class="attributes"><code>
public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#___construct">#</a>
<code><a href="http://php.net/manual/exception.construct.php" title="Go to PHP documentation">__construct</a>( <span>mixed <var>$message</var></span>, <span>mixed <var>$code</var></span>, <span>mixed <var>$previous</var></span> )</code>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
 
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="getMessage" id="_getMessage">
 
<td class="attributes"><code>
final public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_getMessage">#</a>
<code><a href="http://php.net/manual/exception.getmessage.php" title="Go to PHP documentation">getMessage</a>( )</code>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
 
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="getCode" id="_getCode">
 
<td class="attributes"><code>
final public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_getCode">#</a>
<code><a href="http://php.net/manual/exception.getcode.php" title="Go to PHP documentation">getCode</a>( )</code>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
 
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="getFile" id="_getFile">
 
<td class="attributes"><code>
final public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_getFile">#</a>
<code><a href="http://php.net/manual/exception.getfile.php" title="Go to PHP documentation">getFile</a>( )</code>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
 
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="getLine" id="_getLine">
 
<td class="attributes"><code>
final public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_getLine">#</a>
<code><a href="http://php.net/manual/exception.getline.php" title="Go to PHP documentation">getLine</a>( )</code>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
 
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="getTrace" id="_getTrace">
 
<td class="attributes"><code>
final public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_getTrace">#</a>
<code><a href="http://php.net/manual/exception.gettrace.php" title="Go to PHP documentation">getTrace</a>( )</code>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
 
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="getPrevious" id="_getPrevious">
 
<td class="attributes"><code>
final public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_getPrevious">#</a>
<code><a href="http://php.net/manual/exception.getprevious.php" title="Go to PHP documentation">getPrevious</a>( )</code>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
 
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="getTraceAsString" id="_getTraceAsString">
 
<td class="attributes"><code>
final public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_getTraceAsString">#</a>
<code><a href="http://php.net/manual/exception.gettraceasstring.php" title="Go to PHP documentation">getTraceAsString</a>( )</code>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
 
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="__toString" id="___toString">
 
<td class="attributes"><code>
public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#___toString">#</a>
<code><a href="http://php.net/manual/exception.tostring.php" title="Go to PHP documentation">__toString</a>( )</code>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
 
 
 
 
 
 
</div>
</div></td>
</tr>
</table>
 
 
 
 
 
 
 
 
 
 
 
 
<table class="summary" id="properties">
<caption>Properties summary</caption>
<tr data-order="message" id="$message">
<td class="attributes"><code>
protected
string
</code></td>
 
<td class="name">
<a href="http://php.net/manual/class.exception.php#exception.props.message" title="Go to PHP documentation"><var>$message</var></a>
</td>
<td class="value"><code><span class="php-quote">''</span></code></td>
<td class="description"><div>
<a href="#$message" class="anchor">#</a>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
</div>
</div></td>
</tr>
<tr data-order="code" id="$code">
<td class="attributes"><code>
protected
integer
</code></td>
 
<td class="name">
<a href="http://php.net/manual/class.exception.php#exception.props.code" title="Go to PHP documentation"><var>$code</var></a>
</td>
<td class="value"><code><span class="php-num">0</span></code></td>
<td class="description"><div>
<a href="#$code" class="anchor">#</a>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
</div>
</div></td>
</tr>
<tr data-order="file" id="$file">
<td class="attributes"><code>
protected
mixed
</code></td>
 
<td class="name">
<a href="http://php.net/manual/class.exception.php#exception.props.file" title="Go to PHP documentation"><var>$file</var></a>
</td>
<td class="value"><code></code></td>
<td class="description"><div>
<a href="#$file" class="anchor">#</a>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
</div>
</div></td>
</tr>
<tr data-order="line" id="$line">
<td class="attributes"><code>
protected
mixed
</code></td>
 
<td class="name">
<a href="http://php.net/manual/class.exception.php#exception.props.line" title="Go to PHP documentation"><var>$line</var></a>
</td>
<td class="value"><code></code></td>
<td class="description"><div>
<a href="#$line" class="anchor">#</a>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
</div>
</div></td>
</tr>
</table>
 
 
 
 
 
 
</div>
 
<div id="footer">
TBFramework - v0.2 API documentation generated by <a href="http://apigen.org">ApiGen 2.8.0</a>
</div>
</div>
</div>
</body>
</html>
/branches/v0.2-buhl/doc/ApiGen/source-class-Application.html
New file
0,0 → 1,205
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="generator" content="ApiGen 2.8.0">
<meta name="robots" content="noindex">
 
<title>File Application.php | TBFramework - v0.2</title>
 
<script type="text/javascript" src="resources/combined.js?4205936287"></script>
<script type="text/javascript" src="elementlist.js?117657638"></script>
<link rel="stylesheet" type="text/css" media="all" href="resources/style.css?3505392360">
 
</head>
 
<body>
<div id="left">
<div id="menu">
<a href="index.html" title="Overview"><span>Overview</span></a>
 
 
<div id="groups">
<h3>Packages</h3>
<ul>
<li class="active"><a href="package-Framework.html">Framework</a>
</li>
<li><a href="package-PHP.html">PHP</a>
</li>
</ul>
</div>
 
<hr>
 
 
<div id="elements">
<h3>Classes</h3>
<ul>
<li class="active"><a href="class-Application.html">Application</a></li>
<li><a href="class-Chronometre.html">Chronometre</a></li>
<li><a href="class-Config.html">Config</a></li>
<li><a href="class-Controleur.html">Controleur</a></li>
<li><a href="class-Debug.html">Debug</a></li>
<li><a href="class-GestionnaireException.html">GestionnaireException</a></li>
<li><a href="class-Log.html">Log</a></li>
<li><a href="class-Modele.html">Modele</a></li>
<li><a href="class-Registre.html">Registre</a></li>
<li><a href="class-SquelettePhp.html">SquelettePhp</a></li>
<li><a href="class-Url.html">Url</a></li>
</ul>
 
 
 
 
 
<h3>Functions</h3>
<ul>
<li><a href="function-autoloadAppliDefaut.html">autoloadAppliDefaut</a></li>
<li><a href="function-autoloadFw.html">autoloadFw</a></li>
</ul>
</div>
</div>
</div>
 
<div id="splitter"></div>
 
<div id="right">
<div id="rightInner">
<form id="search">
<input type="hidden" name="cx" value="">
<input type="hidden" name="ie" value="UTF-8">
<input type="text" name="q" class="text">
<input type="submit" value="Search">
</form>
 
<div id="navigation">
<ul>
<li>
<a href="index.html" title="Overview"><span>Overview</span></a>
</li>
<li>
<a href="package-Framework.html" title="Summary of Framework"><span>Package</span></a>
</li>
<li>
<a href="class-Application.html" title="Summary of Application"><span>Class</span></a>
</li>
</ul>
<ul>
<li>
<a href="tree.html" title="Tree view of classes, interfaces, traits and exceptions"><span>Tree</span></a>
</li>
<li>
<a href="deprecated.html" title="List of deprecated elements"><span>Deprecated</span></a>
</li>
<li>
<a href="todo.html" title="Todo list"><span>Todo</span></a>
</li>
</ul>
<ul>
</ul>
</div>
 
<pre><code><span id="1" class="l"><a class="l" href="#1"> 1: </a><span class="xlang">&lt;?php</span>
</span><span id="2" class="l"><a class="l" href="#2"> 2: </a><span class="php-comment">// declare(encoding='UTF-8');</span>
</span><span id="3" class="l"><a class="l" href="#3"> 3: </a><span class="php-comment">/**
</span></span><span id="4" class="l"><a class="l" href="#4"> 4: </a><span class="php-comment"> * Classe fournissant des informations au Framework sur l'application.
</span></span><span id="5" class="l"><a class="l" href="#5"> 5: </a><span class="php-comment"> *
</span></span><span id="6" class="l"><a class="l" href="#6"> 6: </a><span class="php-comment"> * PHP version 5
</span></span><span id="7" class="l"><a class="l" href="#7"> 7: </a><span class="php-comment"> *
</span></span><span id="8" class="l"><a class="l" href="#8"> 8: </a><span class="php-comment"> * @category Debogage
</span></span><span id="9" class="l"><a class="l" href="#9"> 9: </a><span class="php-comment"> * @package Framework
</span></span><span id="10" class="l"><a class="l" href="#10">10: </a><span class="php-comment"> // Auteur principal :
</span></span><span id="11" class="l"><a class="l" href="#11">11: </a><span class="php-comment"> * @author Jean-Pascal MILCENT &lt;jpm@tela-botanica.org&gt;
</span></span><span id="12" class="l"><a class="l" href="#12">12: </a><span class="php-comment"> // Autres auteurs :
</span></span><span id="13" class="l"><a class="l" href="#13">13: </a><span class="php-comment"> * @license GPL v3 &lt;http://www.gnu.org/licenses/gpl.txt&gt;
</span></span><span id="14" class="l"><a class="l" href="#14">14: </a><span class="php-comment"> * @license CECILL v2 &lt;http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt&gt;
</span></span><span id="15" class="l"><a class="l" href="#15">15: </a><span class="php-comment"> * @version $Id: Application.php 456 2014-02-06 11:07:43Z jpm $
</span></span><span id="16" class="l"><a class="l" href="#16">16: </a><span class="php-comment"> * @copyright 1999-2009 Tela Botanica (accueil@tela-botanica.org)
</span></span><span id="17" class="l"><a class="l" href="#17">17: </a><span class="php-comment"> */</span>
</span><span id="18" class="l"><a class="l" href="#18">18: </a><span class="php-keyword1">class</span> <a id="Application" href="#Application">Application</a> {
</span><span id="19" class="l"><a class="l" href="#19">19: </a>
</span><span id="20" class="l"><a class="l" href="#20">20: </a> <span class="php-comment">/**
</span></span><span id="21" class="l"><a class="l" href="#21">21: </a><span class="php-comment"> * Tableau d'informations sur l'application
</span></span><span id="22" class="l"><a class="l" href="#22">22: </a><span class="php-comment"> */</span>
</span><span id="23" class="l"><a class="l" href="#23">23: </a> <span class="php-keyword1">private</span> <span class="php-keyword1">static</span> <span class="php-var"><a id="$info" href="#$info">$info</a></span> = <span class="php-keyword1">null</span>;
</span><span id="24" class="l"><a class="l" href="#24">24: </a> <span class="php-comment">/**
</span></span><span id="25" class="l"><a class="l" href="#25">25: </a><span class="php-comment"> * Chemin de base de l'application
</span></span><span id="26" class="l"><a class="l" href="#26">26: </a><span class="php-comment"> */</span>
</span><span id="27" class="l"><a class="l" href="#27">27: </a> <span class="php-keyword1">private</span> <span class="php-keyword1">static</span> <span class="php-var"><a id="$chemin" href="#$chemin">$chemin</a></span> = <span class="php-keyword1">null</span>;
</span><span id="28" class="l"><a class="l" href="#28">28: </a>
</span><span id="29" class="l"><a class="l" href="#29">29: </a> <span class="php-comment">/**
</span></span><span id="30" class="l"><a class="l" href="#30">30: </a><span class="php-comment"> * Initialise différentes classes du Framework nécessaires pour le fonctionnement de l'application.
</span></span><span id="31" class="l"><a class="l" href="#31">31: </a><span class="php-comment"> * Ces classes sont ensuites controlées via les fichiers de config.ini.
</span></span><span id="32" class="l"><a class="l" href="#32">32: </a><span class="php-comment"> * Elle est appelée automatiquement suite à la définition du chemin de l'application via Application::setChemin().
</span></span><span id="33" class="l"><a class="l" href="#33">33: </a><span class="php-comment"> */</span>
</span><span id="34" class="l"><a class="l" href="#34">34: </a> <span class="php-keyword1">private</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_initialiser" href="#_initialiser">initialiser</a>() {
</span><span id="35" class="l"><a class="l" href="#35">35: </a> <span class="php-comment">// Configuration du gestionnaire d'exception</span>
</span><span id="36" class="l"><a class="l" href="#36">36: </a> GestionnaireException::configurer();
</span><span id="37" class="l"><a class="l" href="#37">37: </a> <span class="php-comment">// Configuration du gestionnaire de logs</span>
</span><span id="38" class="l"><a class="l" href="#38">38: </a> <span class="php-comment">//Log::configurer();</span>
</span><span id="39" class="l"><a class="l" href="#39">39: </a> }
</span><span id="40" class="l"><a class="l" href="#40">40: </a>
</span><span id="41" class="l"><a class="l" href="#41">41: </a> <span class="php-comment">/**
</span></span><span id="42" class="l"><a class="l" href="#42">42: </a><span class="php-comment"> * Permet d'indiquer le chemin de base de l'Application.
</span></span><span id="43" class="l"><a class="l" href="#43">43: </a><span class="php-comment"> * Cette méthode doit obligatoirement être utilisée par l'application pour que le Framework fonctionne correctement.
</span></span><span id="44" class="l"><a class="l" href="#44">44: </a><span class="php-comment"> * @param string $chemin_fichier_principal chemin de base
</span></span><span id="45" class="l"><a class="l" href="#45">45: </a><span class="php-comment"> */</span>
</span><span id="46" class="l"><a class="l" href="#46">46: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_setChemin" href="#_setChemin">setChemin</a>(<span class="php-var">$chemin_fichier_principal</span>) {
</span><span id="47" class="l"><a class="l" href="#47">47: </a> <span class="php-keyword1">if</span> (self::<span class="php-var">$chemin</span> === <span class="php-keyword1">null</span>) {
</span><span id="48" class="l"><a class="l" href="#48">48: </a> <span class="php-keyword1">if</span> (!<span class="php-keyword2">file_exists</span>(<span class="php-var">$chemin_fichier_principal</span>)) {
</span><span id="49" class="l"><a class="l" href="#49">49: </a> <span class="php-keyword2">trigger_error</span>(<span class="php-quote">&quot;Le fichier indiqué n'existe pas. Utilisez __FILE__ dans la méthode set().&quot;</span>, E_USER_ERROR);
</span><span id="50" class="l"><a class="l" href="#50">50: </a> } <span class="php-keyword1">else</span> {
</span><span id="51" class="l"><a class="l" href="#51">51: </a> self::<span class="php-var">$chemin</span> = <span class="php-keyword2">dirname</span>(<span class="php-var">$chemin_fichier_principal</span>).DS;
</span><span id="52" class="l"><a class="l" href="#52">52: </a> self::initialiser();
</span><span id="53" class="l"><a class="l" href="#53">53: </a> }
</span><span id="54" class="l"><a class="l" href="#54">54: </a> } <span class="php-keyword1">else</span> {
</span><span id="55" class="l"><a class="l" href="#55">55: </a> <span class="php-keyword2">trigger_error</span>(<span class="php-quote">&quot;Le chemin de l'application a déjà été enregistré auprès du Framework&quot;</span>, E_USER_WARNING);
</span><span id="56" class="l"><a class="l" href="#56">56: </a> }
</span><span id="57" class="l"><a class="l" href="#57">57: </a> }
</span><span id="58" class="l"><a class="l" href="#58">58: </a>
</span><span id="59" class="l"><a class="l" href="#59">59: </a> <span class="php-comment">/**
</span></span><span id="60" class="l"><a class="l" href="#60">60: </a><span class="php-comment"> * accesseur pour le chemin
</span></span><span id="61" class="l"><a class="l" href="#61">61: </a><span class="php-comment"> * @return string le chemin
</span></span><span id="62" class="l"><a class="l" href="#62">62: </a><span class="php-comment"> */</span>
</span><span id="63" class="l"><a class="l" href="#63">63: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_getChemin" href="#_getChemin">getChemin</a>() {
</span><span id="64" class="l"><a class="l" href="#64">64: </a> <span class="php-keyword1">return</span> self::<span class="php-var">$chemin</span>;
</span><span id="65" class="l"><a class="l" href="#65">65: </a> }
</span><span id="66" class="l"><a class="l" href="#66">66: </a>
</span><span id="67" class="l"><a class="l" href="#67">67: </a> <span class="php-comment">/** Le tableau des informations sur l'application possède les clés suivantes :
</span></span><span id="68" class="l"><a class="l" href="#68">68: </a><span class="php-comment"> * - nom : nom de l'application
</span></span><span id="69" class="l"><a class="l" href="#69">69: </a><span class="php-comment"> * - abr : abréviation de l'application
</span></span><span id="70" class="l"><a class="l" href="#70">70: </a><span class="php-comment"> * - encodage : encodage de l'application (ISO-8859-15, UTF-8...)
</span></span><span id="71" class="l"><a class="l" href="#71">71: </a><span class="php-comment"> *
</span></span><span id="72" class="l"><a class="l" href="#72">72: </a><span class="php-comment"> * @param array $info tableau fournissant des informations sur l'application
</span></span><span id="73" class="l"><a class="l" href="#73">73: </a><span class="php-comment"> * @return void
</span></span><span id="74" class="l"><a class="l" href="#74">74: </a><span class="php-comment"> */</span>
</span><span id="75" class="l"><a class="l" href="#75">75: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_setInfo" href="#_setInfo">setInfo</a>(<span class="php-var">$info</span>) {
</span><span id="76" class="l"><a class="l" href="#76">76: </a> <span class="php-keyword1">if</span> (self::<span class="php-var">$info</span> === <span class="php-keyword1">null</span>) {
</span><span id="77" class="l"><a class="l" href="#77">77: </a> self::<span class="php-var">$info</span> = <span class="php-var">$info</span>;
</span><span id="78" class="l"><a class="l" href="#78">78: </a> } <span class="php-keyword1">else</span> {
</span><span id="79" class="l"><a class="l" href="#79">79: </a> <span class="php-keyword2">trigger_error</span>(<span class="php-quote">&quot;Le informations de l'application ont déjà été enregistrées auprès du Framework&quot;</span>, E_USER_WARNING);
</span><span id="80" class="l"><a class="l" href="#80">80: </a> }
</span><span id="81" class="l"><a class="l" href="#81">81: </a> }
</span><span id="82" class="l"><a class="l" href="#82">82: </a>
</span><span id="83" class="l"><a class="l" href="#83">83: </a> <span class="php-comment">/**
</span></span><span id="84" class="l"><a class="l" href="#84">84: </a><span class="php-comment"> * accesseur pour le tableau d'infos
</span></span><span id="85" class="l"><a class="l" href="#85">85: </a><span class="php-comment"> * @param string $cle la clé à laquelle on veut accéder
</span></span><span id="86" class="l"><a class="l" href="#86">86: </a><span class="php-comment"> */</span>
</span><span id="87" class="l"><a class="l" href="#87">87: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_getInfo" href="#_getInfo">getInfo</a>(<span class="php-var">$cle</span> = <span class="php-keyword1">null</span>) {
</span><span id="88" class="l"><a class="l" href="#88">88: </a> <span class="php-keyword1">if</span> (<span class="php-var">$cle</span> !== <span class="php-keyword1">null</span>) {
</span><span id="89" class="l"><a class="l" href="#89">89: </a> <span class="php-keyword1">if</span> (<span class="php-keyword1">isset</span>(self::<span class="php-var">$info</span>[<span class="php-var">$cle</span>])) {
</span><span id="90" class="l"><a class="l" href="#90">90: </a> <span class="php-keyword1">return</span> self::<span class="php-var">$info</span>[<span class="php-var">$cle</span>];
</span><span id="91" class="l"><a class="l" href="#91">91: </a> }
</span><span id="92" class="l"><a class="l" href="#92">92: </a> } <span class="php-keyword1">else</span> {
</span><span id="93" class="l"><a class="l" href="#93">93: </a> <span class="php-keyword1">return</span> self::<span class="php-var">$info</span>;
</span><span id="94" class="l"><a class="l" href="#94">94: </a> }
</span><span id="95" class="l"><a class="l" href="#95">95: </a> }
</span><span id="96" class="l"><a class="l" href="#96">96: </a></span>}</code></pre>
 
<div id="footer">
TBFramework - v0.2 API documentation generated by <a href="http://apigen.org">ApiGen 2.8.0</a>
</div>
</div>
</div>
</body>
</html>
/branches/v0.2-buhl/doc/ApiGen/class-Url.html
New file
0,0 → 1,1649
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="generator" content="ApiGen 2.8.0">
 
<title>Class Url | TBFramework - v0.2</title>
 
<script type="text/javascript" src="resources/combined.js?4205936287"></script>
<script type="text/javascript" src="elementlist.js?117657638"></script>
<link rel="stylesheet" type="text/css" media="all" href="resources/style.css?3505392360">
 
</head>
 
<body>
<div id="left">
<div id="menu">
<a href="index.html" title="Overview"><span>Overview</span></a>
 
 
<div id="groups">
<h3>Packages</h3>
<ul>
<li class="active"><a href="package-Framework.html">Framework</a>
</li>
<li><a href="package-PHP.html">PHP</a>
</li>
</ul>
</div>
 
<hr>
 
 
<div id="elements">
<h3>Classes</h3>
<ul>
<li><a href="class-Application.html">Application</a></li>
<li><a href="class-Chronometre.html">Chronometre</a></li>
<li><a href="class-Config.html">Config</a></li>
<li><a href="class-Controleur.html">Controleur</a></li>
<li><a href="class-Debug.html">Debug</a></li>
<li><a href="class-GestionnaireException.html">GestionnaireException</a></li>
<li><a href="class-Log.html">Log</a></li>
<li><a href="class-Modele.html">Modele</a></li>
<li><a href="class-Registre.html">Registre</a></li>
<li><a href="class-SquelettePhp.html">SquelettePhp</a></li>
<li class="active"><a href="class-Url.html">Url</a></li>
</ul>
 
 
 
 
 
<h3>Functions</h3>
<ul>
<li><a href="function-autoloadAppliDefaut.html">autoloadAppliDefaut</a></li>
<li><a href="function-autoloadFw.html">autoloadFw</a></li>
</ul>
</div>
</div>
</div>
 
<div id="splitter"></div>
 
<div id="right">
<div id="rightInner">
<form id="search">
<input type="hidden" name="cx" value="">
<input type="hidden" name="ie" value="UTF-8">
<input type="text" name="q" class="text">
<input type="submit" value="Search">
</form>
 
<div id="navigation">
<ul>
<li>
<a href="index.html" title="Overview"><span>Overview</span></a>
</li>
<li>
<a href="package-Framework.html" title="Summary of Framework"><span>Package</span></a>
</li>
<li class="active">
<span>Class</span> </li>
</ul>
<ul>
<li>
<a href="tree.html" title="Tree view of classes, interfaces, traits and exceptions"><span>Tree</span></a>
</li>
<li>
<a href="deprecated.html" title="List of deprecated elements"><span>Deprecated</span></a>
</li>
<li>
<a href="todo.html" title="Todo list"><span>Todo</span></a>
</li>
</ul>
<ul>
</ul>
</div>
 
<div id="content" class="class">
<h1>Class Url</h1>
 
 
<div class="description">
<p>classe Url, gérant le découpage des paramètres, leurs modification etc...
Traduction et conversion d'une classe (NET_Url2) issue de Pear</p>
 
</div>
 
 
 
 
 
 
 
 
 
<div class="info">
<b>Package:</b> <a href="package-Framework.html">Framework</a><br>
 
<b>Category:</b>
Php5<br>
<b>Copyright:</b>
2009 Tela-Botanica<br>
<b>License:</b>
<a href="http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt">Licence CECILL</a><br>
<b>License:</b>
<a href="http://www.gnu.org/licenses/gpl.html">Licence GNU-GPL</a><br>
<b>Author:</b>
Christian Schmidt &lt;<a
href="mailto:schmidt&#64;php.net">schmidt&#64;<!-- -->php.net</a>&gt; // Autre
auteurs<br>
<b>Author:</b>
Aurélien PERONNET &lt;<a
href="mailto:aurelien&#64;tela-botanica.org">aurelien&#64;<!-- -->tela-botanica.org</a>&gt;<br>
<b>Author:</b>
Jean-Pascal MILCENT &lt;<a
href="mailto:jpm&#64;tela-botanica.org">jpm&#64;<!-- -->tela-botanica.org</a>&gt;<br>
<b>Version:</b>
SVN: $Id: Url.php 171 2010-03-23 11:23:38Z jpm $<br>
<b>Link:</b>
/doc/framework/<br>
<b>Located at</b> <a href="source-class-Url.html#3-772" title="Go to source code">Url.php</a><br>
</div>
 
 
 
<table class="summary" id="methods">
<caption>Methods summary</caption>
<tr data-order="__construct" id="___construct">
 
<td class="attributes"><code>
public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#___construct">#</a>
<code><a href="source-class-Url.html#98-135" title="Go to source code">__construct</a>( <span>string <var>$url</var></span>, <span>array <var>$options</var> = <span class="php-keyword1">null</span></span> )</code>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
 
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$url</var></dt>
<dd><code>string</code><br>$url une URL relative ou absolue</dd>
<dt><var>$options</var></dt>
<dd><code>array</code><br>$options</dd>
</dl></div>
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="getSchema" id="_getSchema">
 
<td class="attributes"><code>
public
string|boolean
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_getSchema">#</a>
<code><a href="source-class-Url.html#137-145" title="Go to source code">getSchema</a>( )</code>
 
<div class="description short">
<p>Retourne le schéma, c.a.d. "http" ou "urn", ou false si aucun schéma n'est
spécifié, i.e. l'url est une url relative</p>
 
</div>
 
<div class="description detailed hidden">
<p>Retourne le schéma, c.a.d. "http" ou "urn", ou false si aucun schéma n'est
spécifié, i.e. l'url est une url relative</p>
 
 
 
 
<h4>Returns</h4>
<div class="list">
<code>string|boolean</code><br>
</div>
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="setSchema" id="_setSchema">
 
<td class="attributes"><code>
public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_setSchema">#</a>
<code><a href="source-class-Url.html#147-155" title="Go to source code">setSchema</a>( <span>string|boolean <var>$schema</var></span> )</code>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
 
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$schema</var></dt>
<dd><code>string|boolean</code><br>$schema</dd>
</dl></div>
 
 
 
<h4>See</h4>
<div class="list">
<code><code><a href="class-Url.html#_getSchema">Url::getSchema()</a></code></code><br>
</div>
 
 
</div>
</div></td>
</tr>
<tr data-order="getUtilisateur" id="_getUtilisateur">
 
<td class="attributes"><code>
public
string|boolean
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_getUtilisateur">#</a>
<code><a href="source-class-Url.html#157-165" title="Go to source code">getUtilisateur</a>( )</code>
 
<div class="description short">
<p>renvoie la partie user de la partie infoUtilisateur (partie précédant le
premier<br />
":"), ou false si aucune partie infoUtilisateur n'est définie.</p>
 
</div>
 
<div class="description detailed hidden">
<p>renvoie la partie user de la partie infoUtilisateur (partie précédant le
premier ":"), ou false si aucune partie infoUtilisateur n'est définie.</p>
 
 
 
 
<h4>Returns</h4>
<div class="list">
<code>string|boolean</code><br>
</div>
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="getMotDePasse" id="_getMotDePasse">
 
<td class="attributes"><code>
public
string|boolean
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_getMotDePasse">#</a>
<code><a href="source-class-Url.html#167-176" title="Go to source code">getMotDePasse</a>( )</code>
 
<div class="description short">
<p>renvoie la partie mot de passe de la partie infoUtilisateur (partie après le
premier<br />
":"), , ou false si aucune partie infoUtilisateur n'est définie (i.e. l'URL ne
contient pas de "@" en face du nom d'hôte) ou si la partie infoUtilisateur ne
contient pas de ":".</p>
 
</div>
 
<div class="description detailed hidden">
<p>renvoie la partie mot de passe de la partie infoUtilisateur (partie après le
premier ":"), , ou false si aucune partie infoUtilisateur n'est définie (i.e.
l'URL ne contient pas de "@" en face du nom d'hôte) ou si la partie
infoUtilisateur ne contient pas de ":".</p>
 
 
 
 
<h4>Returns</h4>
<div class="list">
<code>string|boolean</code><br>
</div>
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="getInfoUtilisateur" id="_getInfoUtilisateur">
 
<td class="attributes"><code>
public
string|boolean
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_getInfoUtilisateur">#</a>
<code><a href="source-class-Url.html#178-186" title="Go to source code">getInfoUtilisateur</a>( )</code>
 
<div class="description short">
<p>Renvoie la partie userinfio, ou false si celle-ci n'existe pas, i.e. si la
partie autorité ne contient pas de "@"</p>
 
</div>
 
<div class="description detailed hidden">
<p>Renvoie la partie userinfio, ou false si celle-ci n'existe pas, i.e. si la
partie autorité ne contient pas de "@"</p>
 
 
 
 
<h4>Returns</h4>
<div class="list">
<code>string|boolean</code><br>
</div>
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="setInfoUtilisateur" id="_setInfoUtilisateur">
 
<td class="attributes"><code>
public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_setInfoUtilisateur">#</a>
<code><a href="source-class-Url.html#188-202" title="Go to source code">setInfoUtilisateur</a>( <span>string|boolean <var>$infoUtilisateur</var></span>, <span>string|boolean <var>$motDePasse</var> = <span class="php-keyword1">false</span></span> )</code>
 
<div class="description short">
<p>Setteur pour la partie infoUtilisateur. Si deux argument sont passé, ils
sont combinés dans la partie infoUtilisateur de cette manière username ":"
password.</p>
 
</div>
 
<div class="description detailed hidden">
<p>Setteur pour la partie infoUtilisateur. Si deux argument sont passé, ils
sont combinés dans la partie infoUtilisateur de cette manière username ":"
password.</p>
 
 
 
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$infoUtilisateur</var></dt>
<dd><code>string|boolean</code><br>$infoUtilisateur infoUtilisateur ou username</dd>
<dt><var>$motDePasse</var></dt>
<dd><code>string|boolean</code><br>$motDePasse</dd>
</dl></div>
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="getHote" id="_getHote">
 
<td class="attributes"><code>
public
string|boolean
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_getHote">#</a>
<code><a href="source-class-Url.html#204-212" title="Go to source code">getHote</a>( )</code>
 
<div class="description short">
<p>Renvoie la partie hôte, ou false s'il n'y a pas de partie autorité, c.a.d.
l'URL est relative.</p>
 
</div>
 
<div class="description detailed hidden">
<p>Renvoie la partie hôte, ou false s'il n'y a pas de partie autorité, c.a.d.
l'URL est relative.</p>
 
 
 
 
<h4>Returns</h4>
<div class="list">
<code>string|boolean</code><br>
</div>
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="setHote" id="_setHote">
 
<td class="attributes"><code>
public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_setHote">#</a>
<code><a href="source-class-Url.html#214-221" title="Go to source code">setHote</a>( <span>string|boolean <var>$hote</var></span> )</code>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
 
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$hote</var></dt>
<dd><code>string|boolean</code><br>$hote</dd>
</dl></div>
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="getPort" id="_getPort">
 
<td class="attributes"><code>
public
integer|boolean
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_getPort">#</a>
<code><a href="source-class-Url.html#223-231" title="Go to source code">getPort</a>( )</code>
 
<div class="description short">
<p>Renvoie le numéro de port, ou false si aucun numéro de port n'est
spécifié, i.e. le port par défaut doit utilisé.</p>
 
</div>
 
<div class="description detailed hidden">
<p>Renvoie le numéro de port, ou false si aucun numéro de port n'est
spécifié, i.e. le port par défaut doit utilisé.</p>
 
 
 
 
<h4>Returns</h4>
<div class="list">
<code>integer|boolean</code><br>
</div>
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="setPort" id="_setPort">
 
<td class="attributes"><code>
public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_setPort">#</a>
<code><a href="source-class-Url.html#233-240" title="Go to source code">setPort</a>( <span>integer|boolean <var>$port</var></span> )</code>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
 
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$port</var></dt>
<dd><code>integer|boolean</code><br>$port</dd>
</dl></div>
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="getAutorite" id="_getAutorite">
 
<td class="attributes"><code>
public
string|boolean
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_getAutorite">#</a>
<code><a href="source-class-Url.html#242-266" title="Go to source code">getAutorite</a>( )</code>
 
<div class="description short">
<p>Renvoie la partie autorité, i.e. [ infoUtilisateur "@" ] hote [ ":" port ],
ou false si celle-ci est absente.</p>
 
</div>
 
<div class="description detailed hidden">
<p>Renvoie la partie autorité, i.e. [ infoUtilisateur "@" ] hote [ ":" port ],
ou false si celle-ci est absente.</p>
 
 
 
 
<h4>Returns</h4>
<div class="list">
<code>string|boolean</code><br>
</div>
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="setAutorite" id="_setAutorite">
 
<td class="attributes"><code>
public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_setAutorite">#</a>
<code><a href="source-class-Url.html#268-288" title="Go to source code">setAutorite</a>( <span>string|false <var>$autorite</var></span> )</code>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
 
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$autorite</var></dt>
<dd><code>string|false</code><br>$autorite</dd>
</dl></div>
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="getChemin" id="_getChemin">
 
<td class="attributes"><code>
public
string
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_getChemin">#</a>
<code><a href="source-class-Url.html#290-297" title="Go to source code">getChemin</a>( )</code>
 
<div class="description short">
<p>Renvoie la partie chemin (chemin) (éventuellement vide).</p>
 
</div>
 
<div class="description detailed hidden">
<p>Renvoie la partie chemin (chemin) (éventuellement vide).</p>
 
 
 
 
<h4>Returns</h4>
<div class="list">
<code>string</code><br>
</div>
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="setChemin" id="_setChemin">
 
<td class="attributes"><code>
public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_setChemin">#</a>
<code><a href="source-class-Url.html#299-306" title="Go to source code">setChemin</a>( <span>string <var>$chemin</var></span> )</code>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
 
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$chemin</var></dt>
<dd><code>string</code><br>$chemin</dd>
</dl></div>
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="getRequete" id="_getRequete">
 
<td class="attributes"><code>
public
string|boolean
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_getRequete">#</a>
<code><a href="source-class-Url.html#308-317" title="Go to source code">getRequete</a>( )</code>
 
<div class="description short">
<p>renvoie la chaine de requête (requete string) (sans le premier "?"), ou
false si "?" n'est pas présent dans l'url.</p>
 
</div>
 
<div class="description detailed hidden">
<p>renvoie la chaine de requête (requete string) (sans le premier "?"), ou
false si "?" n'est pas présent dans l'url.</p>
 
 
 
 
<h4>Returns</h4>
<div class="list">
<code>string|boolean</code><br>
</div>
 
 
<h4>See</h4>
<div class="list">
<code><code><a href="class-Url.html#_getVariablesRequete">Url::getVariablesRequete()</a></code></code><br>
</div>
 
 
</div>
</div></td>
</tr>
<tr data-order="setRequete" id="_setRequete">
 
<td class="attributes"><code>
public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_setRequete">#</a>
<code><a href="source-class-Url.html#319-327" title="Go to source code">setRequete</a>( <span>string|boolean <var>$requete</var></span> )</code>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
 
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$requete</var></dt>
<dd><code>string|boolean</code><br>$requete</dd>
</dl></div>
 
 
 
<h4>See</h4>
<div class="list">
<code><code><a href="class-Url.html#_setVariablesRequete">Url::setVariablesRequete()</a></code></code><br>
</div>
 
 
</div>
</div></td>
</tr>
<tr data-order="getFragment" id="_getFragment">
 
<td class="attributes"><code>
public
string|boolean
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_getFragment">#</a>
<code><a href="source-class-Url.html#329-336" title="Go to source code">getFragment</a>( )</code>
 
<div class="description short">
<p>Renvoie le nom du fragment, ou false si "#" n'est pas present dans l'URL.</p>
 
</div>
 
<div class="description detailed hidden">
<p>Renvoie le nom du fragment, ou false si "#" n'est pas present dans l'URL.</p>
 
 
 
 
<h4>Returns</h4>
<div class="list">
<code>string|boolean</code><br>
</div>
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="setFragment" id="_setFragment">
 
<td class="attributes"><code>
public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_setFragment">#</a>
<code><a href="source-class-Url.html#338-345" title="Go to source code">setFragment</a>( <span>string|boolean <var>$fragment</var></span> )</code>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
 
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$fragment</var></dt>
<dd><code>string|boolean</code><br>$fragment</dd>
</dl></div>
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="getVariablesRequete" id="_getVariablesRequete">
 
<td class="attributes"><code>
public
array
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_getVariablesRequete">#</a>
<code><a href="source-class-Url.html#347-401" title="Go to source code">getVariablesRequete</a>( )</code>
 
<div class="description short">
<p>Renvoie la requete string sous forme d'un tableau de variables telles
qu'elles apparaitraient dans le $_GET d'un script PHP</p>
 
</div>
 
<div class="description detailed hidden">
<p>Renvoie la requete string sous forme d'un tableau de variables telles
qu'elles apparaitraient dans le $_GET d'un script PHP</p>
 
 
 
 
<h4>Returns</h4>
<div class="list">
<code>array</code><br>
</div>
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="setVariablesRequete" id="_setVariablesRequete">
 
<td class="attributes"><code>
public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_setVariablesRequete">#</a>
<code><a href="source-class-Url.html#403-432" title="Go to source code">setVariablesRequete</a>( <span>array <var>$tableau</var></span> )</code>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
 
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$tableau</var></dt>
<dd><code>array</code><br>$tableau (nom =&gt; valeur) tableau</dd>
</dl></div>
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="setVariableRequete" id="_setVariableRequete">
 
<td class="attributes"><code>
public
array
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_setVariableRequete">#</a>
<code><a href="source-class-Url.html#434-444" title="Go to source code">setVariableRequete</a>( <span>string <var>$nom</var></span>, <span>mixed <var>$valeur</var></span> )</code>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
 
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$nom</var></dt>
<dd><code>string</code><br>$nom</dd>
<dt><var>$valeur</var></dt>
<dd><code>mixed</code><br>$valeur</dd>
</dl></div>
 
<h4>Returns</h4>
<div class="list">
<code>array</code><br>
</div>
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="unsetVariableRequete" id="_unsetVariableRequete">
 
<td class="attributes"><code>
public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_unsetVariableRequete">#</a>
<code><a href="source-class-Url.html#446-455" title="Go to source code">unsetVariableRequete</a>( <span>string <var>$nom</var></span> )</code>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
 
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$nom</var></dt>
<dd><code>string</code><br>$nom</dd>
</dl></div>
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="unsetVariablesRequete" id="_unsetVariablesRequete">
 
<td class="attributes"><code>
public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_unsetVariablesRequete">#</a>
<code><a href="source-class-Url.html#457-468" title="Go to source code">unsetVariablesRequete</a>( <span>array <var>$noms</var></span> )</code>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
 
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$noms</var></dt>
<dd><code>array</code><br>$noms tableau des noms de variable à supprimer de l'url.</dd>
</dl></div>
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="getURL" id="_getURL">
 
<td class="attributes"><code>
public
string
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_getURL">#</a>
<code><a href="source-class-Url.html#470-498" title="Go to source code">getURL</a>( )</code>
 
<div class="description short">
<p>Renvoie un représentation sous forme de chaine de l'URL</p>
 
</div>
 
<div class="description detailed hidden">
<p>Renvoie un représentation sous forme de chaine de l'URL</p>
 
 
 
 
<h4>Returns</h4>
<div class="list">
<code>string</code><br>
</div>
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="getURLNormalisee" id="_getURLNormalisee">
 
<td class="attributes"><code>
public
string
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_getURLNormalisee">#</a>
<code><a href="source-class-Url.html#500-510" title="Go to source code">getURLNormalisee</a>( )</code>
 
<div class="description short">
<p>Renvoie une représentation de cette URL sous forme de chaine normalisée.
Utile pour la comparaison d'URLs</p>
 
</div>
 
<div class="description detailed hidden">
<p>Renvoie une représentation de cette URL sous forme de chaine normalisée.
Utile pour la comparaison d'URLs</p>
 
 
 
 
<h4>Returns</h4>
<div class="list">
<code>string</code><br>
</div>
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="normaliser" id="_normaliser">
 
<td class="attributes"><code>
public
<code><a href="class-Url.html">Url</a></code>
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_normaliser">#</a>
<code><a href="source-class-Url.html#512-552" title="Go to source code">normaliser</a>( )</code>
 
<div class="description short">
<p>Renvoie une instance normalisée de Url</p>
 
</div>
 
<div class="description detailed hidden">
<p>Renvoie une instance normalisée de Url</p>
 
 
 
 
<h4>Returns</h4>
<div class="list">
<code><code><a href="class-Url.html">Url</a></code></code><br>
</div>
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="etreAbsolue" id="_etreAbsolue">
 
<td class="attributes"><code>
public
boolean
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_etreAbsolue">#</a>
<code><a href="source-class-Url.html#554-561" title="Go to source code">etreAbsolue</a>( )</code>
 
<div class="description short">
<p>Renvoie vrai ou faux suivant que l'instance en cours représente une URL
relative ou absolue.</p>
 
</div>
 
<div class="description detailed hidden">
<p>Renvoie vrai ou faux suivant que l'instance en cours représente une URL
relative ou absolue.</p>
 
 
 
 
<h4>Returns</h4>
<div class="list">
<code>boolean</code><br>
</div>
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="resoudre" id="_resoudre">
 
<td class="attributes"><code>
public
<code><a href="class-Url.html">Url</a></code>
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_resoudre">#</a>
<code><a href="source-class-Url.html#563-631" title="Go to source code">resoudre</a>( <span><code><a href="class-Url.html">Url</a></code>|string <var>$reference</var></span> )</code>
 
<div class="description short">
<p>Renvoie une instance de Url représentant une URL absolue relative à cette
URL.</p>
 
</div>
 
<div class="description detailed hidden">
<p>Renvoie une instance de Url représentant une URL absolue relative à cette
URL.</p>
 
 
 
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$reference</var></dt>
<dd><code><code><a href="class-Url.html">Url</a></code>|string</code><br>$reference URL relative</dd>
</dl></div>
 
<h4>Returns</h4>
<div class="list">
<code><code><a href="class-Url.html">Url</a></code></code><br>
</div>
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="getCanonique" id="_getCanonique">
 
<td class="attributes"><code>
public static
string
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_getCanonique">#</a>
<code><a href="source-class-Url.html#685-708" title="Go to source code">getCanonique</a>( )</code>
 
<div class="description short">
<p>Renvoie une instance de Url representant l'URL canonique du script PHP en
cours d'éxécution</p>
 
</div>
 
<div class="description detailed hidden">
<p>Renvoie une instance de Url representant l'URL canonique du script PHP en
cours d'éxécution</p>
 
 
 
 
<h4>Returns</h4>
<div class="list">
<code>string</code><br>
</div>
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="getURLDemande" id="_getURLDemande">
 
<td class="attributes"><code>
public static
string
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_getURLDemande">#</a>
<code><a href="source-class-Url.html#710-717" title="Go to source code">getURLDemande</a>( )</code>
 
<div class="description short">
<p>Renvoie l'URL utilisée pour récupérer la requête en cours</p>
 
</div>
 
<div class="description detailed hidden">
<p>Renvoie l'URL utilisée pour récupérer la requête en cours</p>
 
 
 
 
<h4>Returns</h4>
<div class="list">
<code>string</code><br>
</div>
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="getDemande" id="_getDemande">
 
<td class="attributes"><code>
public static
<code><a href="class-Url.html">Url</a></code>
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_getDemande">#</a>
<code><a href="source-class-Url.html#719-737" title="Go to source code">getDemande</a>( )</code>
 
<div class="description short">
<p>Renvoie une instance de Url representant l'URL utilisée pour récupérer la
requête en cours</p>
 
</div>
 
<div class="description detailed hidden">
<p>Renvoie une instance de Url representant l'URL utilisée pour récupérer la
requête en cours</p>
 
 
 
 
<h4>Returns</h4>
<div class="list">
<code><code><a href="class-Url.html">Url</a></code></code><br>
</div>
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="setOption" id="_setOption">
 
<td class="attributes"><code>
public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_setOption">#</a>
<code><a href="source-class-Url.html#739-755" title="Go to source code">setOption</a>( <span>string <var>$nomOption</var></span>, <span>mixed <var>$valeur</var></span> )</code>
 
<div class="description short">
<p>Met à jour la valeur de l'option spécifiée.</p>
 
</div>
 
<div class="description detailed hidden">
<p>Met à jour la valeur de l'option spécifiée.</p>
 
 
 
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$nomOption</var></dt>
<dd><code>string</code><br>$nomOption une des constantes commençant par self::OPTION_</dd>
<dt><var>$valeur</var></dt>
<dd><code>mixed</code><br>$valeur valeur de l'option</dd>
</dl></div>
 
 
 
<h4>See</h4>
<div class="list">
<code><code><a href="class-Url.html#OPTION_STRICTE">Url::<b>OPTION_STRICTE</b></a></code></code><br>
<code><code><a href="class-Url.html#OPTION_UTILISER_CROCHETS">Url::<b>OPTION_UTILISER_CROCHETS</b></a></code></code><br>
<code><code><a href="class-Url.html#OPTION_ENCODER_CLES">Url::<b>OPTION_ENCODER_CLES</b></a></code></code><br>
</div>
 
 
</div>
</div></td>
</tr>
<tr data-order="getOption" id="_getOption">
 
<td class="attributes"><code>
public
mixed
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_getOption">#</a>
<code><a href="source-class-Url.html#757-767" title="Go to source code">getOption</a>( <span>string <var>$nomOption</var></span> )</code>
 
<div class="description short">
<p>Renvoie la valeur de l'option specifiée.</p>
 
</div>
 
<div class="description detailed hidden">
<p>Renvoie la valeur de l'option specifiée.</p>
 
 
 
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$nomOption</var></dt>
<dd><code>string</code><br>$nomOption Nom de l'option demandée</dd>
</dl></div>
 
<h4>Returns</h4>
<div class="list">
<code>mixed</code><br>
</div>
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="__toString" id="___toString">
 
<td class="attributes"><code>
public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#___toString">#</a>
<code><a href="source-class-Url.html#769-771" title="Go to source code">__toString</a>( )</code>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
 
 
 
 
 
 
</div>
</div></td>
</tr>
</table>
 
 
 
 
 
 
 
 
<table class="summary" id="constants">
<caption>Constants summary</caption>
<tr data-order="OPTION_STRICTE" id="OPTION_STRICTE">
 
<td class="attributes"><code>string</code></td>
<td class="name"><code>
<a href="source-class-Url.html#23-27" title="Go to source code"><b>OPTION_STRICTE</b></a>
</code></td>
<td class="value"><code><span class="php-quote">'strict'</span></code></td>
<td class="description"><div>
<a href="#OPTION_STRICTE" class="anchor">#</a>
 
<div class="description short">
<p>Parsing strict dans resoudre() (voir RFC 3986, section 5.2.2). Par défaut à
true.</p>
 
</div>
 
<div class="description detailed hidden">
<p>Parsing strict dans resoudre() (voir RFC 3986, section 5.2.2). Par défaut à
true.</p>
 
 
</div>
</div></td>
</tr>
<tr data-order="OPTION_UTILISER_CROCHETS" id="OPTION_UTILISER_CROCHETS">
 
<td class="attributes"><code>string</code></td>
<td class="name"><code>
<a href="source-class-Url.html#29-32" title="Go to source code"><b>OPTION_UTILISER_CROCHETS</b></a>
</code></td>
<td class="value"><code><span class="php-quote">'use_brackets'</span></code></td>
<td class="description"><div>
<a href="#OPTION_UTILISER_CROCHETS" class="anchor">#</a>
 
<div class="description short">
<p>Répresenter les tableaux dans les requêtes en utilisant la notation php [].
Par défaut à true.</p>
 
</div>
 
<div class="description detailed hidden">
<p>Répresenter les tableaux dans les requêtes en utilisant la notation php [].
Par défaut à true.</p>
 
 
</div>
</div></td>
</tr>
<tr data-order="OPTION_ENCODER_CLES" id="OPTION_ENCODER_CLES">
 
<td class="attributes"><code>string</code></td>
<td class="name"><code>
<a href="source-class-Url.html#34-37" title="Go to source code"><b>OPTION_ENCODER_CLES</b></a>
</code></td>
<td class="value"><code><span class="php-quote">'encode_keys'</span></code></td>
<td class="description"><div>
<a href="#OPTION_ENCODER_CLES" class="anchor">#</a>
 
<div class="description short">
<p>URL-encoder les clés des variables dans les requêtes. Par défaut à
true.</p>
 
</div>
 
<div class="description detailed hidden">
<p>URL-encoder les clés des variables dans les requêtes. Par défaut à
true.</p>
 
 
</div>
</div></td>
</tr>
<tr data-order="OPTION_SEPARATEUR_ENTREE" id="OPTION_SEPARATEUR_ENTREE">
 
<td class="attributes"><code>string</code></td>
<td class="name"><code>
<a href="source-class-Url.html#39-44" title="Go to source code"><b>OPTION_SEPARATEUR_ENTREE</b></a>
</code></td>
<td class="value"><code><span class="php-quote">'input_separator'</span></code></td>
<td class="description"><div>
<a href="#OPTION_SEPARATEUR_ENTREE" class="anchor">#</a>
 
<div class="description short">
<p>Séparateurs de variables lors du parsing de la requête. Chaque caractère
est considéré comme un séparateur. Par défaut, spécifié par le paramêtre
arg_separator.input dans php.ini (par défaut "&amp;").</p>
 
</div>
 
<div class="description detailed hidden">
<p>Séparateurs de variables lors du parsing de la requête. Chaque caractère
est considéré comme un séparateur. Par défaut, spécifié par le paramêtre
arg_separator.input dans php.ini (par défaut "&amp;").</p>
 
 
</div>
</div></td>
</tr>
<tr data-order="OPTION_SEPARATEUR_SORTIE" id="OPTION_SEPARATEUR_SORTIE">
 
<td class="attributes"><code>string</code></td>
<td class="name"><code>
<a href="source-class-Url.html#46-50" title="Go to source code"><b>OPTION_SEPARATEUR_SORTIE</b></a>
</code></td>
<td class="value"><code><span class="php-quote">'output_separator'</span></code></td>
<td class="description"><div>
<a href="#OPTION_SEPARATEUR_SORTIE" class="anchor">#</a>
 
<div class="description short">
<p>Séparateur de variables lors de la génération de la requête. Par défaut,
spécifié par le paramètre arg_separator.output dans php.ini (par défaut
"&amp;").</p>
 
</div>
 
<div class="description detailed hidden">
<p>Séparateur de variables lors de la génération de la requête. Par défaut,
spécifié par le paramètre arg_separator.output dans php.ini (par défaut
"&amp;").</p>
 
 
</div>
</div></td>
</tr>
</table>
 
 
 
 
 
 
 
 
 
 
</div>
 
<div id="footer">
TBFramework - v0.2 API documentation generated by <a href="http://apigen.org">ApiGen 2.8.0</a>
</div>
</div>
</div>
</body>
</html>
/branches/v0.2-buhl/doc/ApiGen/source-class-Modele.html
New file
0,0 → 1,456
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="generator" content="ApiGen 2.8.0">
<meta name="robots" content="noindex">
 
<title>File Modele.php | TBFramework - v0.2</title>
 
<script type="text/javascript" src="resources/combined.js?4205936287"></script>
<script type="text/javascript" src="elementlist.js?117657638"></script>
<link rel="stylesheet" type="text/css" media="all" href="resources/style.css?3505392360">
 
</head>
 
<body>
<div id="left">
<div id="menu">
<a href="index.html" title="Overview"><span>Overview</span></a>
 
 
<div id="groups">
<h3>Packages</h3>
<ul>
<li class="active"><a href="package-Framework.html">Framework</a>
</li>
<li><a href="package-PHP.html">PHP</a>
</li>
</ul>
</div>
 
<hr>
 
 
<div id="elements">
<h3>Classes</h3>
<ul>
<li><a href="class-Application.html">Application</a></li>
<li><a href="class-Chronometre.html">Chronometre</a></li>
<li><a href="class-Config.html">Config</a></li>
<li><a href="class-Controleur.html">Controleur</a></li>
<li><a href="class-Debug.html">Debug</a></li>
<li><a href="class-GestionnaireException.html">GestionnaireException</a></li>
<li><a href="class-Log.html">Log</a></li>
<li class="active"><a href="class-Modele.html">Modele</a></li>
<li><a href="class-Registre.html">Registre</a></li>
<li><a href="class-SquelettePhp.html">SquelettePhp</a></li>
<li><a href="class-Url.html">Url</a></li>
</ul>
 
 
 
 
 
<h3>Functions</h3>
<ul>
<li><a href="function-autoloadAppliDefaut.html">autoloadAppliDefaut</a></li>
<li><a href="function-autoloadFw.html">autoloadFw</a></li>
</ul>
</div>
</div>
</div>
 
<div id="splitter"></div>
 
<div id="right">
<div id="rightInner">
<form id="search">
<input type="hidden" name="cx" value="">
<input type="hidden" name="ie" value="UTF-8">
<input type="text" name="q" class="text">
<input type="submit" value="Search">
</form>
 
<div id="navigation">
<ul>
<li>
<a href="index.html" title="Overview"><span>Overview</span></a>
</li>
<li>
<a href="package-Framework.html" title="Summary of Framework"><span>Package</span></a>
</li>
<li>
<a href="class-Modele.html" title="Summary of Modele"><span>Class</span></a>
</li>
</ul>
<ul>
<li>
<a href="tree.html" title="Tree view of classes, interfaces, traits and exceptions"><span>Tree</span></a>
</li>
<li>
<a href="deprecated.html" title="List of deprecated elements"><span>Deprecated</span></a>
</li>
<li>
<a href="todo.html" title="Todo list"><span>Todo</span></a>
</li>
</ul>
<ul>
</ul>
</div>
 
<pre><code><span id="1" class="l"><a class="l" href="#1"> 1: </a><span class="xlang">&lt;?php</span>
</span><span id="2" class="l"><a class="l" href="#2"> 2: </a><span class="php-comment">// declare(encoding='UTF-8');</span>
</span><span id="3" class="l"><a class="l" href="#3"> 3: </a><span class="php-comment">/**
</span></span><span id="4" class="l"><a class="l" href="#4"> 4: </a><span class="php-comment">* Classe modèle, donc d'accés au données, elle ne devrait pas être appelée de l'extérieur.
</span></span><span id="5" class="l"><a class="l" href="#5"> 5: </a><span class="php-comment">* Elle fait office d'abstraction légère de base de données en utilisant diveres possibilités
</span></span><span id="6" class="l"><a class="l" href="#6"> 6: </a><span class="php-comment">* d'abstraction de base de données (PDO, mysql, mysqli, sqlite)
</span></span><span id="7" class="l"><a class="l" href="#7"> 7: </a><span class="php-comment">* Elle est abstraite donc doit obligatoirement être étendue.
</span></span><span id="8" class="l"><a class="l" href="#8"> 8: </a><span class="php-comment">*
</span></span><span id="9" class="l"><a class="l" href="#9"> 9: </a><span class="php-comment">* PHP Version 5
</span></span><span id="10" class="l"><a class="l" href="#10"> 10: </a><span class="php-comment">*
</span></span><span id="11" class="l"><a class="l" href="#11"> 11: </a><span class="php-comment">* @category Class
</span></span><span id="12" class="l"><a class="l" href="#12"> 12: </a><span class="php-comment">* @package Framework
</span></span><span id="13" class="l"><a class="l" href="#13"> 13: </a><span class="php-comment">* @author aurelien &lt;aurelien@tela-botanica.org&gt;
</span></span><span id="14" class="l"><a class="l" href="#14"> 14: </a><span class="php-comment">* @copyright 2009 Tela-Botanica
</span></span><span id="15" class="l"><a class="l" href="#15"> 15: </a><span class="php-comment">* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
</span></span><span id="16" class="l"><a class="l" href="#16"> 16: </a><span class="php-comment">* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
</span></span><span id="17" class="l"><a class="l" href="#17"> 17: </a><span class="php-comment">* @version SVN: $$Id: Modele.php 426 2013-04-30 16:58:14Z jpm $$
</span></span><span id="18" class="l"><a class="l" href="#18"> 18: </a><span class="php-comment">* @link /doc/framework/
</span></span><span id="19" class="l"><a class="l" href="#19"> 19: </a><span class="php-comment">*
</span></span><span id="20" class="l"><a class="l" href="#20"> 20: </a><span class="php-comment">*/</span>
</span><span id="21" class="l"><a class="l" href="#21"> 21: </a><span class="php-keyword1">abstract</span> <span class="php-keyword1">class</span> <a id="Modele" href="#Modele">Modele</a> {
</span><span id="22" class="l"><a class="l" href="#22"> 22: </a>
</span><span id="23" class="l"><a class="l" href="#23"> 23: </a> <span class="php-comment">/**
</span></span><span id="24" class="l"><a class="l" href="#24"> 24: </a><span class="php-comment"> * Mode de fetch associatif
</span></span><span id="25" class="l"><a class="l" href="#25"> 25: </a><span class="php-comment"> */</span>
</span><span id="26" class="l"><a class="l" href="#26"> 26: </a> <span class="php-keyword1">private</span> <span class="php-var"><a id="$ASSOC" href="#$ASSOC">$ASSOC</a></span> = <span class="php-quote">''</span>;
</span><span id="27" class="l"><a class="l" href="#27"> 27: </a> <span class="php-comment">/**
</span></span><span id="28" class="l"><a class="l" href="#28"> 28: </a><span class="php-comment"> * Mode de fetch objet
</span></span><span id="29" class="l"><a class="l" href="#29"> 29: </a><span class="php-comment"> */</span>
</span><span id="30" class="l"><a class="l" href="#30"> 30: </a> <span class="php-keyword1">private</span> <span class="php-var"><a id="$OBJECT" href="#$OBJECT">$OBJECT</a></span> = <span class="php-quote">''</span>;
</span><span id="31" class="l"><a class="l" href="#31"> 31: </a>
</span><span id="32" class="l"><a class="l" href="#32"> 32: </a> <span class="php-comment">/**
</span></span><span id="33" class="l"><a class="l" href="#33"> 33: </a><span class="php-comment"> * abstraction de base de données utilisée
</span></span><span id="34" class="l"><a class="l" href="#34"> 34: </a><span class="php-comment"> */</span>
</span><span id="35" class="l"><a class="l" href="#35"> 35: </a> <span class="php-keyword1">private</span> <span class="php-var"><a id="$abstraction" href="#$abstraction">$abstraction</a></span>;
</span><span id="36" class="l"><a class="l" href="#36"> 36: </a> <span class="php-comment">/**
</span></span><span id="37" class="l"><a class="l" href="#37"> 37: </a><span class="php-comment"> * registre global
</span></span><span id="38" class="l"><a class="l" href="#38"> 38: </a><span class="php-comment"> */</span>
</span><span id="39" class="l"><a class="l" href="#39"> 39: </a> <span class="php-keyword1">private</span> <span class="php-var"><a id="$registre" href="#$registre">$registre</a></span>;
</span><span id="40" class="l"><a class="l" href="#40"> 40: </a> <span class="php-comment">/**
</span></span><span id="41" class="l"><a class="l" href="#41"> 41: </a><span class="php-comment"> * DSN pour accéder à la base de données
</span></span><span id="42" class="l"><a class="l" href="#42"> 42: </a><span class="php-comment"> */</span>
</span><span id="43" class="l"><a class="l" href="#43"> 43: </a> <span class="php-keyword1">private</span> <span class="php-var"><a id="$dsn" href="#$dsn">$dsn</a></span>;
</span><span id="44" class="l"><a class="l" href="#44"> 44: </a> <span class="php-comment">/**
</span></span><span id="45" class="l"><a class="l" href="#45"> 45: </a><span class="php-comment"> * Type de base de données (mysql, mysqli, etc ...)
</span></span><span id="46" class="l"><a class="l" href="#46"> 46: </a><span class="php-comment"> */</span>
</span><span id="47" class="l"><a class="l" href="#47"> 47: </a> <span class="php-keyword1">private</span> <span class="php-var"><a id="$type" href="#$type">$type</a></span>;
</span><span id="48" class="l"><a class="l" href="#48"> 48: </a> <span class="php-comment">/**
</span></span><span id="49" class="l"><a class="l" href="#49"> 49: </a><span class="php-comment"> * Hote herbergeant la base de données
</span></span><span id="50" class="l"><a class="l" href="#50"> 50: </a><span class="php-comment"> */</span>
</span><span id="51" class="l"><a class="l" href="#51"> 51: </a> <span class="php-keyword1">private</span> <span class="php-var"><a id="$hote" href="#$hote">$hote</a></span>;
</span><span id="52" class="l"><a class="l" href="#52"> 52: </a> <span class="php-comment">/**
</span></span><span id="53" class="l"><a class="l" href="#53"> 53: </a><span class="php-comment"> * Nom de la base de données à laquelle le modèle doit se connecter
</span></span><span id="54" class="l"><a class="l" href="#54"> 54: </a><span class="php-comment"> */</span>
</span><span id="55" class="l"><a class="l" href="#55"> 55: </a> <span class="php-keyword1">private</span> <span class="php-var"><a id="$bdd_nom" href="#$bdd_nom">$bdd_nom</a></span>;
</span><span id="56" class="l"><a class="l" href="#56"> 56: </a> <span class="php-comment">/**
</span></span><span id="57" class="l"><a class="l" href="#57"> 57: </a><span class="php-comment"> * Nom d'utilisateur
</span></span><span id="58" class="l"><a class="l" href="#58"> 58: </a><span class="php-comment"> */</span>
</span><span id="59" class="l"><a class="l" href="#59"> 59: </a> <span class="php-keyword1">private</span> <span class="php-var"><a id="$utilisateur" href="#$utilisateur">$utilisateur</a></span>;
</span><span id="60" class="l"><a class="l" href="#60"> 60: </a> <span class="php-comment">/**
</span></span><span id="61" class="l"><a class="l" href="#61"> 61: </a><span class="php-comment"> * Mot de passe
</span></span><span id="62" class="l"><a class="l" href="#62"> 62: </a><span class="php-comment"> */</span>
</span><span id="63" class="l"><a class="l" href="#63"> 63: </a> <span class="php-keyword1">private</span> <span class="php-var"><a id="$pass" href="#$pass">$pass</a></span>;
</span><span id="64" class="l"><a class="l" href="#64"> 64: </a>
</span><span id="65" class="l"><a class="l" href="#65"> 65: </a> <span class="php-comment">/**
</span></span><span id="66" class="l"><a class="l" href="#66"> 66: </a><span class="php-comment"> * Encodage de la base de données
</span></span><span id="67" class="l"><a class="l" href="#67"> 67: </a><span class="php-comment"> */</span>
</span><span id="68" class="l"><a class="l" href="#68"> 68: </a> <span class="php-keyword1">private</span> <span class="php-var"><a id="$encodage" href="#$encodage">$encodage</a></span> = <span class="php-keyword1">null</span>;
</span><span id="69" class="l"><a class="l" href="#69"> 69: </a> <span class="php-comment">/**
</span></span><span id="70" class="l"><a class="l" href="#70"> 70: </a><span class="php-comment"> * Connexion à la base de données
</span></span><span id="71" class="l"><a class="l" href="#71"> 71: </a><span class="php-comment"> */</span>
</span><span id="72" class="l"><a class="l" href="#72"> 72: </a> <span class="php-keyword1">private</span> <span class="php-var"><a id="$connexion" href="#$connexion">$connexion</a></span> = <span class="php-keyword1">null</span>;
</span><span id="73" class="l"><a class="l" href="#73"> 73: </a>
</span><span id="74" class="l"><a class="l" href="#74"> 74: </a> <span class="php-comment">/**
</span></span><span id="75" class="l"><a class="l" href="#75"> 75: </a><span class="php-comment"> * Constructeur par défaut, appelé à l'initialisation.
</span></span><span id="76" class="l"><a class="l" href="#76"> 76: </a><span class="php-comment"> */</span>
</span><span id="77" class="l"><a class="l" href="#77"> 77: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> <a id="___construct" href="#___construct">__construct</a>() {
</span><span id="78" class="l"><a class="l" href="#78"> 78: </a> <span class="php-comment">// les différents paramètres nécessaires sont lus à partir du registre</span>
</span><span id="79" class="l"><a class="l" href="#79"> 79: </a> <span class="php-var">$this</span>-&gt;registre = Registre::getInstance();
</span><span id="80" class="l"><a class="l" href="#80"> 80: </a> <span class="php-var">$this</span>-&gt;abstraction = <span class="php-keyword2">strtolower</span>(Config::get(<span class="php-quote">'bdd_abstraction'</span>));
</span><span id="81" class="l"><a class="l" href="#81"> 81: </a> <span class="php-var">$this</span>-&gt;type = Config::get(<span class="php-quote">'bdd_protocole'</span>);
</span><span id="82" class="l"><a class="l" href="#82"> 82: </a> <span class="php-var">$this</span>-&gt;hote = Config::get(<span class="php-quote">'bdd_serveur'</span>);
</span><span id="83" class="l"><a class="l" href="#83"> 83: </a> <span class="php-var">$this</span>-&gt;bdd_nom = Config::get(<span class="php-quote">'bdd_nom'</span>);
</span><span id="84" class="l"><a class="l" href="#84"> 84: </a> <span class="php-var">$this</span>-&gt;utilisateur = Config::get(<span class="php-quote">'bdd_utilisateur'</span>);
</span><span id="85" class="l"><a class="l" href="#85"> 85: </a> <span class="php-var">$this</span>-&gt;pass = Config::get(<span class="php-quote">'bdd_mot_de_passe'</span>);
</span><span id="86" class="l"><a class="l" href="#86"> 86: </a> <span class="php-var">$this</span>-&gt;encodage = Config::get(<span class="php-quote">'bdd_encodage'</span>);
</span><span id="87" class="l"><a class="l" href="#87"> 87: </a>
</span><span id="88" class="l"><a class="l" href="#88"> 88: </a> <span class="php-var">$this</span>-&gt;dsn = <span class="php-var">$this</span>-&gt;type.<span class="php-quote">':dbname='</span>.<span class="php-var">$this</span>-&gt;bdd_nom.<span class="php-quote">';host='</span>.<span class="php-var">$this</span>-&gt;hote;
</span><span id="89" class="l"><a class="l" href="#89"> 89: </a> <span class="php-var">$this</span>-&gt;initialiserProtocole();
</span><span id="90" class="l"><a class="l" href="#90"> 90: </a> }
</span><span id="91" class="l"><a class="l" href="#91"> 91: </a>
</span><span id="92" class="l"><a class="l" href="#92"> 92: </a> <span class="php-comment">/**
</span></span><span id="93" class="l"><a class="l" href="#93"> 93: </a><span class="php-comment"> * Connection à la base de données en utilisant les informations fournies par
</span></span><span id="94" class="l"><a class="l" href="#94"> 94: </a><span class="php-comment"> * le fichier de configuration.
</span></span><span id="95" class="l"><a class="l" href="#95"> 95: </a><span class="php-comment"> * private et final car n'a pas vocation a être appelée par l'utilisateur.
</span></span><span id="96" class="l"><a class="l" href="#96"> 96: </a><span class="php-comment"> *
</span></span><span id="97" class="l"><a class="l" href="#97"> 97: </a><span class="php-comment"> * @throws Exception une exception dans le cas ou là connexion échoue
</span></span><span id="98" class="l"><a class="l" href="#98"> 98: </a><span class="php-comment"> */</span>
</span><span id="99" class="l"><a class="l" href="#99"> 99: </a> <span class="php-keyword1">final</span> <span class="php-keyword1">private</span> <span class="php-keyword1">function</span> <a id="_connecter" href="#_connecter">connecter</a>() {
</span><span id="100" class="l"><a class="l" href="#100">100: </a> <span class="php-keyword1">switch</span> (<span class="php-var">$this</span>-&gt;abstraction) {
</span><span id="101" class="l"><a class="l" href="#101">101: </a> <span class="php-keyword1">case</span> <span class="php-quote">'pdo'</span>:
</span><span id="102" class="l"><a class="l" href="#102">102: </a> <span class="php-keyword1">try</span> {
</span><span id="103" class="l"><a class="l" href="#103">103: </a> <span class="php-var">$this</span>-&gt;connexion = <span class="php-keyword1">new</span> PDO(<span class="php-var">$this</span>-&gt;dsn, <span class="php-var">$this</span>-&gt;utilisateur, <span class="php-var">$this</span>-&gt;pass);
</span><span id="104" class="l"><a class="l" href="#104">104: </a> <span class="php-var">$this</span>-&gt;connexion-&gt;setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
</span><span id="105" class="l"><a class="l" href="#105">105: </a> } <span class="php-keyword1">catch</span> (PDOException <span class="php-var">$e</span>) {
</span><span id="106" class="l"><a class="l" href="#106">106: </a> <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> Exception(<span class="php-quote">'Erreur de connexion à la base de données : '</span>.<span class="php-var">$e</span>-&gt;getMessage());
</span><span id="107" class="l"><a class="l" href="#107">107: </a> }
</span><span id="108" class="l"><a class="l" href="#108">108: </a> <span class="php-keyword1">break</span>;
</span><span id="109" class="l"><a class="l" href="#109">109: </a>
</span><span id="110" class="l"><a class="l" href="#110">110: </a> <span class="php-keyword1">case</span> <span class="php-quote">'mysql'</span>:
</span><span id="111" class="l"><a class="l" href="#111">111: </a> <span class="php-var">$this</span>-&gt;connexion = <span class="php-keyword2">mysql_connect</span>(<span class="php-var">$this</span>-&gt;hote,<span class="php-var">$this</span>-&gt;utilisateur,<span class="php-var">$this</span>-&gt;pass);
</span><span id="112" class="l"><a class="l" href="#112">112: </a> <span class="php-keyword1">if</span> (<span class="php-var">$this</span>-&gt;connexion != <span class="php-keyword1">null</span>) {
</span><span id="113" class="l"><a class="l" href="#113">113: </a> <span class="php-keyword2">mysql_select_db</span>(<span class="php-var">$this</span>-&gt;bdd_nom, <span class="php-var">$this</span>-&gt;connexion);
</span><span id="114" class="l"><a class="l" href="#114">114: </a> } <span class="php-keyword1">else</span> {
</span><span id="115" class="l"><a class="l" href="#115">115: </a> <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> Exception(<span class="php-quote">'Erreur de connexion à la base de données, vérifiez les paramètres du fichier de configuration'</span>);
</span><span id="116" class="l"><a class="l" href="#116">116: </a> }
</span><span id="117" class="l"><a class="l" href="#117">117: </a> <span class="php-keyword1">break</span>;
</span><span id="118" class="l"><a class="l" href="#118">118: </a>
</span><span id="119" class="l"><a class="l" href="#119">119: </a> <span class="php-keyword1">case</span> <span class="php-quote">'mysqli'</span>:
</span><span id="120" class="l"><a class="l" href="#120">120: </a> <span class="php-var">$this</span>-&gt;connexion = <span class="php-keyword1">new</span> mysqli(<span class="php-var">$this</span>-&gt;hote,<span class="php-var">$this</span>-&gt;utilisateur,<span class="php-var">$this</span>-&gt;pass, <span class="php-var">$this</span>-&gt;bdd_nom);
</span><span id="121" class="l"><a class="l" href="#121">121: </a> <span class="php-keyword1">if</span> (!<span class="php-var">$this</span>-&gt;connexion) {
</span><span id="122" class="l"><a class="l" href="#122">122: </a> <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> Exception(<span class="php-quote">'Erreur de connexion à la base de données, vérifiez les paramètres du fichier de configuration'</span>);
</span><span id="123" class="l"><a class="l" href="#123">123: </a> <span class="php-keyword1">return</span>;
</span><span id="124" class="l"><a class="l" href="#124">124: </a> }
</span><span id="125" class="l"><a class="l" href="#125">125: </a> <span class="php-keyword1">break</span>;
</span><span id="126" class="l"><a class="l" href="#126">126: </a>
</span><span id="127" class="l"><a class="l" href="#127">127: </a> <span class="php-keyword1">case</span> <span class="php-quote">'sqlite3'</span>:
</span><span id="128" class="l"><a class="l" href="#128">128: </a> <span class="php-comment">// cas particulier de sqllite, on considère que le nom de la base de données correspond au fichier à ouvrir</span>
</span><span id="129" class="l"><a class="l" href="#129">129: </a> <span class="php-var">$this</span>-&gt;connexion = <span class="php-keyword1">new</span> SQLite3(<span class="php-var">$this</span>-&gt;bdd_nom);
</span><span id="130" class="l"><a class="l" href="#130">130: </a> <span class="php-keyword1">if</span> (!<span class="php-var">$this</span>-&gt;connexion) {
</span><span id="131" class="l"><a class="l" href="#131">131: </a> <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> Exception(<span class="php-quote">'Erreur de connexion à la base de données, vérifiez les paramètres du fichier de configuration'</span>);
</span><span id="132" class="l"><a class="l" href="#132">132: </a> <span class="php-keyword1">return</span>;
</span><span id="133" class="l"><a class="l" href="#133">133: </a> }
</span><span id="134" class="l"><a class="l" href="#134">134: </a> <span class="php-keyword1">break</span>;
</span><span id="135" class="l"><a class="l" href="#135">135: </a>
</span><span id="136" class="l"><a class="l" href="#136">136: </a> <span class="php-keyword1">default</span>:
</span><span id="137" class="l"><a class="l" href="#137">137: </a> <span class="php-var">$this</span>-&gt;connexion = <span class="php-keyword1">null</span>;
</span><span id="138" class="l"><a class="l" href="#138">138: </a> }
</span><span id="139" class="l"><a class="l" href="#139">139: </a>
</span><span id="140" class="l"><a class="l" href="#140">140: </a> <span class="php-keyword1">if</span> (<span class="php-var">$this</span>-&gt;encodage != <span class="php-keyword1">null</span>) {
</span><span id="141" class="l"><a class="l" href="#141">141: </a> <span class="php-var">$this</span>-&gt;requete(<span class="php-quote">&quot;SET names '&quot;</span>.<span class="php-var">$this</span>-&gt;encodage.<span class="php-quote">&quot;'&quot;</span>);
</span><span id="142" class="l"><a class="l" href="#142">142: </a> }
</span><span id="143" class="l"><a class="l" href="#143">143: </a> }
</span><span id="144" class="l"><a class="l" href="#144">144: </a>
</span><span id="145" class="l"><a class="l" href="#145">145: </a> <span class="php-comment">/**
</span></span><span id="146" class="l"><a class="l" href="#146">146: </a><span class="php-comment"> * Fonction qui appelle la bonne fonction pour executer une requête suivant le type de bdd.
</span></span><span id="147" class="l"><a class="l" href="#147">147: </a><span class="php-comment"> *
</span></span><span id="148" class="l"><a class="l" href="#148">148: </a><span class="php-comment"> * @param string la requete à effectuer
</span></span><span id="149" class="l"><a class="l" href="#149">149: </a><span class="php-comment"> * @return PDOStatement un objet contenant le résultat de la requête
</span></span><span id="150" class="l"><a class="l" href="#150">150: </a><span class="php-comment"> */</span>
</span><span id="151" class="l"><a class="l" href="#151">151: </a> <span class="php-keyword1">final</span> <span class="php-keyword1">protected</span> <span class="php-keyword1">function</span> <a id="_requete" href="#_requete">requete</a>(<span class="php-var">$requete</span>) {
</span><span id="152" class="l"><a class="l" href="#152">152: </a> <span class="php-comment">// on ne se connecte que lors du premier appel à une requete (lazy connexion)</span>
</span><span id="153" class="l"><a class="l" href="#153">153: </a> <span class="php-keyword1">if</span> (<span class="php-var">$this</span>-&gt;connexion == <span class="php-keyword1">null</span>) {
</span><span id="154" class="l"><a class="l" href="#154">154: </a> <span class="php-var">$this</span>-&gt;connecter();
</span><span id="155" class="l"><a class="l" href="#155">155: </a> }
</span><span id="156" class="l"><a class="l" href="#156">156: </a>
</span><span id="157" class="l"><a class="l" href="#157">157: </a> <span class="php-var">$retour</span> = <span class="php-keyword1">null</span>;
</span><span id="158" class="l"><a class="l" href="#158">158: </a>
</span><span id="159" class="l"><a class="l" href="#159">159: </a> <span class="php-keyword1">switch</span> (<span class="php-var">$this</span>-&gt;abstraction) {
</span><span id="160" class="l"><a class="l" href="#160">160: </a> <span class="php-keyword1">case</span> <span class="php-quote">'pdo'</span>:
</span><span id="161" class="l"><a class="l" href="#161">161: </a> <span class="php-var">$retour</span> = <span class="php-var">$this</span>-&gt;connexion-&gt;query(<span class="php-var">$requete</span>);
</span><span id="162" class="l"><a class="l" href="#162">162: </a> <span class="php-keyword1">break</span>;
</span><span id="163" class="l"><a class="l" href="#163">163: </a> <span class="php-keyword1">case</span> <span class="php-quote">'mysql'</span>:
</span><span id="164" class="l"><a class="l" href="#164">164: </a> <span class="php-var">$retour</span> = <span class="php-keyword2">mysql_query</span>(<span class="php-var">$requete</span>,<span class="php-var">$this</span>-&gt;connexion);
</span><span id="165" class="l"><a class="l" href="#165">165: </a> <span class="php-keyword1">break</span>;
</span><span id="166" class="l"><a class="l" href="#166">166: </a> <span class="php-keyword1">case</span> <span class="php-quote">'mysqli'</span>:
</span><span id="167" class="l"><a class="l" href="#167">167: </a> <span class="php-var">$retour</span> = <span class="php-var">$this</span>-&gt;connexion-&gt;query(<span class="php-var">$requete</span>);
</span><span id="168" class="l"><a class="l" href="#168">168: </a> <span class="php-keyword1">break</span>;
</span><span id="169" class="l"><a class="l" href="#169">169: </a> <span class="php-keyword1">case</span> <span class="php-quote">'sqlite3'</span>:
</span><span id="170" class="l"><a class="l" href="#170">170: </a> <span class="php-var">$retour</span> = <span class="php-var">$this</span>-&gt;connexion-&gt;<span class="php-keyword2">exec</span>(<span class="php-var">$requete</span>);
</span><span id="171" class="l"><a class="l" href="#171">171: </a> <span class="php-keyword1">break</span>;
</span><span id="172" class="l"><a class="l" href="#172">172: </a> }
</span><span id="173" class="l"><a class="l" href="#173">173: </a>
</span><span id="174" class="l"><a class="l" href="#174">174: </a> <span class="php-keyword1">return</span> <span class="php-var">$retour</span>;
</span><span id="175" class="l"><a class="l" href="#175">175: </a> }
</span><span id="176" class="l"><a class="l" href="#176">176: </a>
</span><span id="177" class="l"><a class="l" href="#177">177: </a> <span class="php-keyword1">final</span> <span class="php-keyword1">protected</span> <span class="php-keyword1">function</span> <a id="_requeteUn" href="#_requeteUn">requeteUn</a>(<span class="php-var">$requete</span>,<span class="php-var">$mode</span> = <span class="php-quote">'ASSOC'</span>) {
</span><span id="178" class="l"><a class="l" href="#178">178: </a> <span class="php-comment">// Connection seulement lors du premier appel à une requete (lazy connexion)</span>
</span><span id="179" class="l"><a class="l" href="#179">179: </a> <span class="php-keyword1">if</span> (<span class="php-var">$this</span>-&gt;connexion == <span class="php-keyword1">null</span>) {
</span><span id="180" class="l"><a class="l" href="#180">180: </a> <span class="php-var">$this</span>-&gt;connecter();
</span><span id="181" class="l"><a class="l" href="#181">181: </a> }
</span><span id="182" class="l"><a class="l" href="#182">182: </a>
</span><span id="183" class="l"><a class="l" href="#183">183: </a> <span class="php-var">$retour</span> = <span class="php-keyword1">null</span>;
</span><span id="184" class="l"><a class="l" href="#184">184: </a> <span class="php-keyword1">switch</span> (<span class="php-var">$this</span>-&gt;abstraction) {
</span><span id="185" class="l"><a class="l" href="#185">185: </a> <span class="php-keyword1">case</span> <span class="php-quote">'pdo'</span>:
</span><span id="186" class="l"><a class="l" href="#186">186: </a> <span class="php-keyword1">try</span> {
</span><span id="187" class="l"><a class="l" href="#187">187: </a> <span class="php-var">$res_req</span> = <span class="php-var">$this</span>-&gt;connexion-&gt;query(<span class="php-var">$requete</span>);
</span><span id="188" class="l"><a class="l" href="#188">188: </a> <span class="php-var">$retour</span> = (<span class="php-var">$res_req</span> !== <span class="php-keyword1">false</span>) ? <span class="php-var">$res_req</span>-&gt;fetch(<span class="php-var">$this</span>-&gt;<span class="php-var">$mode</span>) : <span class="php-var">$res_req</span>;
</span><span id="189" class="l"><a class="l" href="#189">189: </a> } <span class="php-keyword1">catch</span> (PDOException <span class="php-var">$e</span>) {
</span><span id="190" class="l"><a class="l" href="#190">190: </a> <span class="php-var">$message</span> = <span class="php-quote">'Requête echec. Fichier : &quot;%s&quot;. Ligne : &quot;%s&quot;. Message : %s'</span>;
</span><span id="191" class="l"><a class="l" href="#191">191: </a> <span class="php-keyword2">trigger_error</span>(<span class="php-keyword2">sprintf</span>(<span class="php-var">$message</span>, <span class="php-var">$e</span>-&gt;getFile(), <span class="php-var">$e</span>-&gt;getLine(), <span class="php-var">$e</span>-&gt;getMessage()), E_USER_WARNING);
</span><span id="192" class="l"><a class="l" href="#192">192: </a> }
</span><span id="193" class="l"><a class="l" href="#193">193: </a> <span class="php-keyword1">break</span>;
</span><span id="194" class="l"><a class="l" href="#194">194: </a> <span class="php-keyword1">case</span> <span class="php-quote">'mysql'</span>:
</span><span id="195" class="l"><a class="l" href="#195">195: </a> <span class="php-var">$res</span> = <span class="php-keyword2">mysql_query</span>(<span class="php-var">$requete</span>,<span class="php-var">$this</span>-&gt;connexion);
</span><span id="196" class="l"><a class="l" href="#196">196: </a> <span class="php-var">$fonction_fetch</span> = <span class="php-var">$this</span>-&gt;<span class="php-var">$mode</span>;
</span><span id="197" class="l"><a class="l" href="#197">197: </a> <span class="php-var">$retour</span> = <span class="php-var">$fonction_fetch</span>(<span class="php-var">$res</span>);
</span><span id="198" class="l"><a class="l" href="#198">198: </a> <span class="php-keyword1">break</span>;
</span><span id="199" class="l"><a class="l" href="#199">199: </a> <span class="php-keyword1">case</span> <span class="php-quote">'mysqli'</span>:
</span><span id="200" class="l"><a class="l" href="#200">200: </a> <span class="php-var">$res</span> = <span class="php-var">$this</span>-&gt;connexion-&gt;query(<span class="php-var">$requete</span>);
</span><span id="201" class="l"><a class="l" href="#201">201: </a> <span class="php-var">$fonction_fetch</span> = <span class="php-var">$this</span>-&gt;<span class="php-var">$mode</span>;
</span><span id="202" class="l"><a class="l" href="#202">202: </a> <span class="php-var">$retour</span> = <span class="php-var">$res</span>-&gt;<span class="php-var">$fonction_fetch</span>();
</span><span id="203" class="l"><a class="l" href="#203">203: </a> <span class="php-keyword1">break</span>;
</span><span id="204" class="l"><a class="l" href="#204">204: </a> <span class="php-keyword1">case</span> <span class="php-quote">'sqlite3'</span>:
</span><span id="205" class="l"><a class="l" href="#205">205: </a> <span class="php-var">$retour</span> = <span class="php-var">$this</span>-&gt;connexion-&gt;querySingle(<span class="php-var">$requete</span>);
</span><span id="206" class="l"><a class="l" href="#206">206: </a> <span class="php-keyword1">break</span>;
</span><span id="207" class="l"><a class="l" href="#207">207: </a> }
</span><span id="208" class="l"><a class="l" href="#208">208: </a>
</span><span id="209" class="l"><a class="l" href="#209">209: </a> <span class="php-keyword1">return</span> <span class="php-var">$retour</span>;
</span><span id="210" class="l"><a class="l" href="#210">210: </a> }
</span><span id="211" class="l"><a class="l" href="#211">211: </a>
</span><span id="212" class="l"><a class="l" href="#212">212: </a>
</span><span id="213" class="l"><a class="l" href="#213">213: </a> <span class="php-keyword1">final</span> <span class="php-keyword1">protected</span> <span class="php-keyword1">function</span> <a id="_requeteTous" href="#_requeteTous">requeteTous</a>(<span class="php-var">$requete</span>,<span class="php-var">$mode</span> = <span class="php-quote">'ASSOC'</span>) {
</span><span id="214" class="l"><a class="l" href="#214">214: </a> <span class="php-comment">// Connexion seulement lors du premier appel à une requete (lazy connexion)</span>
</span><span id="215" class="l"><a class="l" href="#215">215: </a> <span class="php-keyword1">if</span> (<span class="php-var">$this</span>-&gt;connexion == <span class="php-keyword1">null</span>) {
</span><span id="216" class="l"><a class="l" href="#216">216: </a> <span class="php-var">$this</span>-&gt;connecter();
</span><span id="217" class="l"><a class="l" href="#217">217: </a> }
</span><span id="218" class="l"><a class="l" href="#218">218: </a>
</span><span id="219" class="l"><a class="l" href="#219">219: </a> <span class="php-var">$retour</span> = <span class="php-keyword1">null</span>;
</span><span id="220" class="l"><a class="l" href="#220">220: </a>
</span><span id="221" class="l"><a class="l" href="#221">221: </a> <span class="php-keyword1">switch</span> (<span class="php-var">$this</span>-&gt;abstraction) {
</span><span id="222" class="l"><a class="l" href="#222">222: </a> <span class="php-keyword1">case</span> <span class="php-quote">'pdo'</span>:
</span><span id="223" class="l"><a class="l" href="#223">223: </a> <span class="php-keyword1">try</span> {
</span><span id="224" class="l"><a class="l" href="#224">224: </a> <span class="php-var">$res_req</span> = <span class="php-var">$this</span>-&gt;connexion-&gt;query(<span class="php-var">$requete</span>);
</span><span id="225" class="l"><a class="l" href="#225">225: </a> <span class="php-keyword1">if</span> (<span class="php-var">$res_req</span> !== <span class="php-keyword1">false</span>) {
</span><span id="226" class="l"><a class="l" href="#226">226: </a> <span class="php-var">$retour</span> = <span class="php-var">$res_req</span>-&gt;fetchAll(<span class="php-var">$this</span>-&gt;<span class="php-var">$mode</span>);
</span><span id="227" class="l"><a class="l" href="#227">227: </a> } <span class="php-keyword1">else</span> {
</span><span id="228" class="l"><a class="l" href="#228">228: </a> <span class="php-var">$retour</span> = <span class="php-keyword1">false</span>;
</span><span id="229" class="l"><a class="l" href="#229">229: </a> }
</span><span id="230" class="l"><a class="l" href="#230">230: </a> } <span class="php-keyword1">catch</span> (PDOException <span class="php-var">$e</span>) {
</span><span id="231" class="l"><a class="l" href="#231">231: </a> <span class="php-var">$message</span> = <span class="php-quote">'Requête echec. Fichier : &quot;%s&quot;. Ligne : &quot;%s&quot;. Message : %s'</span>;
</span><span id="232" class="l"><a class="l" href="#232">232: </a> <span class="php-keyword2">trigger_error</span>(<span class="php-keyword2">sprintf</span>(<span class="php-var">$message</span>, <span class="php-var">$e</span>-&gt;getFile(), <span class="php-var">$e</span>-&gt;getLine(), <span class="php-var">$e</span>-&gt;getMessage()), E_USER_WARNING);
</span><span id="233" class="l"><a class="l" href="#233">233: </a> }
</span><span id="234" class="l"><a class="l" href="#234">234: </a> <span class="php-keyword1">break</span>;
</span><span id="235" class="l"><a class="l" href="#235">235: </a> <span class="php-keyword1">case</span> <span class="php-quote">'mysql'</span>:
</span><span id="236" class="l"><a class="l" href="#236">236: </a> <span class="php-var">$res</span> = <span class="php-keyword2">mysql_query</span>(<span class="php-var">$requete</span>, <span class="php-var">$this</span>-&gt;connexion);
</span><span id="237" class="l"><a class="l" href="#237">237: </a> <span class="php-var">$fonction_fetch</span> = <span class="php-var">$this</span>-&gt;<span class="php-var">$mode</span>;
</span><span id="238" class="l"><a class="l" href="#238">238: </a> <span class="php-keyword1">while</span> (<span class="php-var">$ligne</span> = <span class="php-var">$fonction_fetch</span>(<span class="php-var">$res</span>)) {
</span><span id="239" class="l"><a class="l" href="#239">239: </a> <span class="php-var">$retour</span>[] = <span class="php-var">$ligne</span>;
</span><span id="240" class="l"><a class="l" href="#240">240: </a> }
</span><span id="241" class="l"><a class="l" href="#241">241: </a> <span class="php-keyword1">break</span>;
</span><span id="242" class="l"><a class="l" href="#242">242: </a> <span class="php-keyword1">case</span> <span class="php-quote">'mysqli'</span>:
</span><span id="243" class="l"><a class="l" href="#243">243: </a> <span class="php-var">$res</span> = <span class="php-var">$this</span>-&gt;connexion-&gt;query(<span class="php-var">$requete</span>);
</span><span id="244" class="l"><a class="l" href="#244">244: </a> <span class="php-var">$function_fetch</span> = <span class="php-var">$this</span>-&gt;<span class="php-var">$mode</span>;
</span><span id="245" class="l"><a class="l" href="#245">245: </a> <span class="php-keyword1">while</span> (<span class="php-var">$ligne</span> = <span class="php-var">$res</span>-&gt;<span class="php-var">$function_fetch</span>()) {
</span><span id="246" class="l"><a class="l" href="#246">246: </a> <span class="php-var">$retour</span>[] = <span class="php-var">$ligne</span>;
</span><span id="247" class="l"><a class="l" href="#247">247: </a> }
</span><span id="248" class="l"><a class="l" href="#248">248: </a> <span class="php-keyword1">break</span>;
</span><span id="249" class="l"><a class="l" href="#249">249: </a> <span class="php-keyword1">case</span> <span class="php-quote">'sqlite3'</span>:
</span><span id="250" class="l"><a class="l" href="#250">250: </a> <span class="php-var">$res</span> = <span class="php-var">$this</span>-&gt;connexion-&gt;query(<span class="php-var">$requete</span>);
</span><span id="251" class="l"><a class="l" href="#251">251: </a> <span class="php-keyword1">while</span> (<span class="php-var">$ligne</span> = <span class="php-var">$res</span>-&gt;fetch_array(<span class="php-var">$this</span>-&gt;ASSOC)) {
</span><span id="252" class="l"><a class="l" href="#252">252: </a> <span class="php-keyword1">if</span> (<span class="php-var">$mode</span> == <span class="php-var">$this</span>-&gt;ASSOC) {
</span><span id="253" class="l"><a class="l" href="#253">253: </a> <span class="php-var">$retour</span>[] = <span class="php-var">$ligne</span>;
</span><span id="254" class="l"><a class="l" href="#254">254: </a> } <span class="php-keyword1">elseif</span> (<span class="php-var">$mode</span> == <span class="php-var">$this</span>-&gt;OBJECT) {
</span><span id="255" class="l"><a class="l" href="#255">255: </a> <span class="php-comment">// cas particulier de sqllite</span>
</span><span id="256" class="l"><a class="l" href="#256">256: </a> <span class="php-comment">// qui n'a pas de fonction fetch_object</span>
</span><span id="257" class="l"><a class="l" href="#257">257: </a> <span class="php-var">$ligneObjet</span> = <span class="php-keyword1">new</span> stdClass();
</span><span id="258" class="l"><a class="l" href="#258">258: </a> <span class="php-keyword1">foreach</span> (<span class="php-var">$ligne</span> <span class="php-keyword1">as</span> <span class="php-var">$colonne</span> =&gt; <span class="php-var">$valeur</span>) {
</span><span id="259" class="l"><a class="l" href="#259">259: </a> <span class="php-var">$ligneObjet</span>-&gt;<span class="php-var">$colonne</span> = <span class="php-var">$valeur</span>;
</span><span id="260" class="l"><a class="l" href="#260">260: </a> }
</span><span id="261" class="l"><a class="l" href="#261">261: </a> <span class="php-var">$retour</span>[] = <span class="php-var">$ligneObjet</span>;
</span><span id="262" class="l"><a class="l" href="#262">262: </a> }
</span><span id="263" class="l"><a class="l" href="#263">263: </a> }
</span><span id="264" class="l"><a class="l" href="#264">264: </a> <span class="php-keyword1">break</span>;
</span><span id="265" class="l"><a class="l" href="#265">265: </a> }
</span><span id="266" class="l"><a class="l" href="#266">266: </a>
</span><span id="267" class="l"><a class="l" href="#267">267: </a> <span class="php-keyword1">return</span> <span class="php-var">$retour</span>;
</span><span id="268" class="l"><a class="l" href="#268">268: </a> }
</span><span id="269" class="l"><a class="l" href="#269">269: </a>
</span><span id="270" class="l"><a class="l" href="#270">270: </a> <span class="php-comment">/**
</span></span><span id="271" class="l"><a class="l" href="#271">271: </a><span class="php-comment"> * protège une chaine de caractères avant l'insertion dans la base de données
</span></span><span id="272" class="l"><a class="l" href="#272">272: </a><span class="php-comment"> */</span>
</span><span id="273" class="l"><a class="l" href="#273">273: </a> <span class="php-keyword1">final</span> <span class="php-keyword1">protected</span> <span class="php-keyword1">function</span> <a id="_proteger" href="#_proteger">proteger</a>(<span class="php-var">$chaine</span>) {
</span><span id="274" class="l"><a class="l" href="#274">274: </a> <span class="php-comment">// on ne se connecte que lors du premier appel à une requete</span>
</span><span id="275" class="l"><a class="l" href="#275">275: </a> <span class="php-keyword1">if</span> (<span class="php-var">$this</span>-&gt;connexion == <span class="php-keyword1">null</span>) {
</span><span id="276" class="l"><a class="l" href="#276">276: </a> <span class="php-var">$this</span>-&gt;connecter();
</span><span id="277" class="l"><a class="l" href="#277">277: </a> }
</span><span id="278" class="l"><a class="l" href="#278">278: </a>
</span><span id="279" class="l"><a class="l" href="#279">279: </a> <span class="php-var">$retour</span> = <span class="php-var">$chaine</span>;
</span><span id="280" class="l"><a class="l" href="#280">280: </a> <span class="php-keyword1">switch</span> (<span class="php-var">$this</span>-&gt;abstraction) {
</span><span id="281" class="l"><a class="l" href="#281">281: </a> <span class="php-keyword1">case</span> <span class="php-quote">'pdo'</span>:
</span><span id="282" class="l"><a class="l" href="#282">282: </a> <span class="php-var">$retour</span> = <span class="php-var">$this</span>-&gt;connexion-&gt;quote(<span class="php-var">$chaine</span>);
</span><span id="283" class="l"><a class="l" href="#283">283: </a> <span class="php-keyword1">break</span>;
</span><span id="284" class="l"><a class="l" href="#284">284: </a> <span class="php-keyword1">case</span> <span class="php-quote">'mysql'</span>:
</span><span id="285" class="l"><a class="l" href="#285">285: </a> <span class="php-var">$retour</span> = <span class="php-quote">'&quot;'</span>.<span class="php-keyword2">mysql_real_escape_string</span>(<span class="php-var">$chaine</span>, <span class="php-var">$this</span>-&gt;connexion).<span class="php-quote">'&quot;'</span>;
</span><span id="286" class="l"><a class="l" href="#286">286: </a> <span class="php-keyword1">break</span>;
</span><span id="287" class="l"><a class="l" href="#287">287: </a> <span class="php-keyword1">case</span> <span class="php-quote">'mysqli'</span>:
</span><span id="288" class="l"><a class="l" href="#288">288: </a> <span class="php-var">$retour</span> = <span class="php-quote">'&quot;'</span>.<span class="php-var">$this</span>-&gt;connexion-&gt;real_escape_string(<span class="php-var">$chaine</span>).<span class="php-quote">'&quot;'</span>;
</span><span id="289" class="l"><a class="l" href="#289">289: </a> <span class="php-keyword1">break</span>;
</span><span id="290" class="l"><a class="l" href="#290">290: </a> <span class="php-keyword1">case</span> <span class="php-quote">'sqlite3'</span>:
</span><span id="291" class="l"><a class="l" href="#291">291: </a> <span class="php-var">$retour</span> = <span class="php-var">$this</span>-&gt;connexion-&gt;escapeString(<span class="php-var">$chaine</span>);
</span><span id="292" class="l"><a class="l" href="#292">292: </a> <span class="php-keyword1">break</span>;
</span><span id="293" class="l"><a class="l" href="#293">293: </a> }
</span><span id="294" class="l"><a class="l" href="#294">294: </a> <span class="php-keyword1">return</span> <span class="php-var">$retour</span>;
</span><span id="295" class="l"><a class="l" href="#295">295: </a> }
</span><span id="296" class="l"><a class="l" href="#296">296: </a>
</span><span id="297" class="l"><a class="l" href="#297">297: </a> <span class="php-comment">/**
</span></span><span id="298" class="l"><a class="l" href="#298">298: </a><span class="php-comment"> * initialise les constantes de classe à leur bonne valeur
</span></span><span id="299" class="l"><a class="l" href="#299">299: </a><span class="php-comment"> * et lance une exception si le protocole n'est pas bien défini
</span></span><span id="300" class="l"><a class="l" href="#300">300: </a><span class="php-comment"> * @throws Exception
</span></span><span id="301" class="l"><a class="l" href="#301">301: </a><span class="php-comment"> */</span>
</span><span id="302" class="l"><a class="l" href="#302">302: </a> <span class="php-keyword1">final</span> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> <a id="_initialiserProtocole" href="#_initialiserProtocole">initialiserProtocole</a>() {
</span><span id="303" class="l"><a class="l" href="#303">303: </a>
</span><span id="304" class="l"><a class="l" href="#304">304: </a> <span class="php-keyword1">switch</span> (<span class="php-var">$this</span>-&gt;abstraction) {
</span><span id="305" class="l"><a class="l" href="#305">305: </a> <span class="php-keyword1">case</span> <span class="php-quote">'pdo'</span>:
</span><span id="306" class="l"><a class="l" href="#306">306: </a> <span class="php-var">$this</span>-&gt;ASSOC = PDO::FETCH_ASSOC;
</span><span id="307" class="l"><a class="l" href="#307">307: </a> <span class="php-var">$this</span>-&gt;OBJECT = PDO::FETCH_CLASS;
</span><span id="308" class="l"><a class="l" href="#308">308: </a> <span class="php-keyword1">break</span>;
</span><span id="309" class="l"><a class="l" href="#309">309: </a> <span class="php-keyword1">case</span> <span class="php-quote">'mysql'</span>:
</span><span id="310" class="l"><a class="l" href="#310">310: </a> <span class="php-var">$this</span>-&gt;ASSOC = <span class="php-quote">'mysql_fetch_assoc'</span>;
</span><span id="311" class="l"><a class="l" href="#311">311: </a> <span class="php-var">$this</span>-&gt;OBJECT = <span class="php-quote">'mysql_fetch_object'</span>;
</span><span id="312" class="l"><a class="l" href="#312">312: </a> <span class="php-keyword1">break</span>;
</span><span id="313" class="l"><a class="l" href="#313">313: </a> <span class="php-keyword1">case</span> <span class="php-quote">'mysqli'</span>:
</span><span id="314" class="l"><a class="l" href="#314">314: </a> <span class="php-var">$this</span>-&gt;ASSOC = <span class="php-quote">'fetch_assoc'</span>;
</span><span id="315" class="l"><a class="l" href="#315">315: </a> <span class="php-var">$this</span>-&gt;OBJECT = <span class="php-quote">'fetch_object'</span>;
</span><span id="316" class="l"><a class="l" href="#316">316: </a> <span class="php-keyword1">break</span>;
</span><span id="317" class="l"><a class="l" href="#317">317: </a> <span class="php-keyword1">case</span> <span class="php-quote">'sqlite3'</span>:
</span><span id="318" class="l"><a class="l" href="#318">318: </a> <span class="php-var">$this</span>-&gt;ASSOC = <span class="php-quote">'SQLITE3_ASSOC'</span>;
</span><span id="319" class="l"><a class="l" href="#319">319: </a> <span class="php-var">$this</span>-&gt;OBJECT = <span class="php-quote">'SQLITE3_OBJECT'</span>;
</span><span id="320" class="l"><a class="l" href="#320">320: </a> <span class="php-keyword1">break</span>;
</span><span id="321" class="l"><a class="l" href="#321">321: </a> <span class="php-keyword1">default</span>:
</span><span id="322" class="l"><a class="l" href="#322">322: </a> <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> Exception(<span class="php-quote">'Erreur : l\'abstraction '</span>.<span class="php-var">$this</span>-&gt;abstraction.<span class="php-quote">' n\'est pas prise en charge'</span>);
</span><span id="323" class="l"><a class="l" href="#323">323: </a> <span class="php-keyword1">break</span>;
</span><span id="324" class="l"><a class="l" href="#324">324: </a> }
</span><span id="325" class="l"><a class="l" href="#325">325: </a> }
</span><span id="326" class="l"><a class="l" href="#326">326: </a>
</span><span id="327" class="l"><a class="l" href="#327">327: </a> <span class="php-comment">/**
</span></span><span id="328" class="l"><a class="l" href="#328">328: </a><span class="php-comment"> * Destructeur de classe, se contente de fermer explicitement la connexion
</span></span><span id="329" class="l"><a class="l" href="#329">329: </a><span class="php-comment"> */</span>
</span><span id="330" class="l"><a class="l" href="#330">330: </a> <span class="php-keyword1">final</span> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> <a id="___destruct" href="#___destruct">__destruct</a>() {
</span><span id="331" class="l"><a class="l" href="#331">331: </a> <span class="php-keyword1">switch</span> (<span class="php-var">$this</span>-&gt;abstraction) {
</span><span id="332" class="l"><a class="l" href="#332">332: </a> <span class="php-keyword1">case</span> <span class="php-quote">'pdo'</span>:
</span><span id="333" class="l"><a class="l" href="#333">333: </a> <span class="php-var">$this</span>-&gt;connexion = <span class="php-keyword1">null</span>;
</span><span id="334" class="l"><a class="l" href="#334">334: </a> <span class="php-keyword1">break</span>;
</span><span id="335" class="l"><a class="l" href="#335">335: </a> <span class="php-keyword1">case</span> <span class="php-quote">'mysql'</span>:
</span><span id="336" class="l"><a class="l" href="#336">336: </a> <span class="php-keyword1">return</span> <span class="php-keyword2">mysql_close</span>(<span class="php-var">$this</span>-&gt;connexion);
</span><span id="337" class="l"><a class="l" href="#337">337: </a> <span class="php-keyword1">break</span>;
</span><span id="338" class="l"><a class="l" href="#338">338: </a> <span class="php-keyword1">case</span> <span class="php-quote">'mysqli'</span>:
</span><span id="339" class="l"><a class="l" href="#339">339: </a> <span class="php-var">$this</span>-&gt;connexion-&gt;close();
</span><span id="340" class="l"><a class="l" href="#340">340: </a> <span class="php-keyword1">break</span>;
</span><span id="341" class="l"><a class="l" href="#341">341: </a> <span class="php-keyword1">case</span> <span class="php-quote">'sqlite3'</span>:
</span><span id="342" class="l"><a class="l" href="#342">342: </a> <span class="php-var">$this</span>-&gt;connexion-&gt;close();
</span><span id="343" class="l"><a class="l" href="#343">343: </a> <span class="php-keyword1">break</span>;
</span><span id="344" class="l"><a class="l" href="#344">344: </a> }
</span><span id="345" class="l"><a class="l" href="#345">345: </a> }
</span><span id="346" class="l"><a class="l" href="#346">346: </a>}
</span><span id="347" class="l"><a class="l" href="#347">347: </a></span><span class="xlang">?&gt;</span></code></pre>
 
<div id="footer">
TBFramework - v0.2 API documentation generated by <a href="http://apigen.org">ApiGen 2.8.0</a>
</div>
</div>
</div>
</body>
</html>
/branches/v0.2-buhl/doc/ApiGen/source-class-GestionnaireException.html
New file
0,0 → 1,337
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="generator" content="ApiGen 2.8.0">
<meta name="robots" content="noindex">
 
<title>File GestionnaireException.php | TBFramework - v0.2</title>
 
<script type="text/javascript" src="resources/combined.js?4205936287"></script>
<script type="text/javascript" src="elementlist.js?117657638"></script>
<link rel="stylesheet" type="text/css" media="all" href="resources/style.css?3505392360">
 
</head>
 
<body>
<div id="left">
<div id="menu">
<a href="index.html" title="Overview"><span>Overview</span></a>
 
 
<div id="groups">
<h3>Packages</h3>
<ul>
<li class="active"><a href="package-Framework.html">Framework</a>
</li>
<li><a href="package-PHP.html">PHP</a>
</li>
</ul>
</div>
 
<hr>
 
 
<div id="elements">
<h3>Classes</h3>
<ul>
<li><a href="class-Application.html">Application</a></li>
<li><a href="class-Chronometre.html">Chronometre</a></li>
<li><a href="class-Config.html">Config</a></li>
<li><a href="class-Controleur.html">Controleur</a></li>
<li><a href="class-Debug.html">Debug</a></li>
<li class="active"><a href="class-GestionnaireException.html">GestionnaireException</a></li>
<li><a href="class-Log.html">Log</a></li>
<li><a href="class-Modele.html">Modele</a></li>
<li><a href="class-Registre.html">Registre</a></li>
<li><a href="class-SquelettePhp.html">SquelettePhp</a></li>
<li><a href="class-Url.html">Url</a></li>
</ul>
 
 
 
 
 
<h3>Functions</h3>
<ul>
<li><a href="function-autoloadAppliDefaut.html">autoloadAppliDefaut</a></li>
<li><a href="function-autoloadFw.html">autoloadFw</a></li>
</ul>
</div>
</div>
</div>
 
<div id="splitter"></div>
 
<div id="right">
<div id="rightInner">
<form id="search">
<input type="hidden" name="cx" value="">
<input type="hidden" name="ie" value="UTF-8">
<input type="text" name="q" class="text">
<input type="submit" value="Search">
</form>
 
<div id="navigation">
<ul>
<li>
<a href="index.html" title="Overview"><span>Overview</span></a>
</li>
<li>
<a href="package-Framework.html" title="Summary of Framework"><span>Package</span></a>
</li>
<li>
<a href="class-GestionnaireException.html" title="Summary of GestionnaireException"><span>Class</span></a>
</li>
</ul>
<ul>
<li>
<a href="tree.html" title="Tree view of classes, interfaces, traits and exceptions"><span>Tree</span></a>
</li>
<li>
<a href="deprecated.html" title="List of deprecated elements"><span>Deprecated</span></a>
</li>
<li>
<a href="todo.html" title="Todo list"><span>Todo</span></a>
</li>
</ul>
<ul>
</ul>
</div>
 
<pre><code><span id="1" class="l"><a class="l" href="#1"> 1: </a><span class="xlang">&lt;?php</span>
</span><span id="2" class="l"><a class="l" href="#2"> 2: </a><span class="php-comment">// declare(encoding='UTF-8');</span>
</span><span id="3" class="l"><a class="l" href="#3"> 3: </a><span class="php-comment">/**
</span></span><span id="4" class="l"><a class="l" href="#4"> 4: </a><span class="php-comment"> * Classe de gestion des exceptions.
</span></span><span id="5" class="l"><a class="l" href="#5"> 5: </a><span class="php-comment"> * C'est un Singleton.
</span></span><span id="6" class="l"><a class="l" href="#6"> 6: </a><span class="php-comment"> *
</span></span><span id="7" class="l"><a class="l" href="#7"> 7: </a><span class="php-comment"> * @category PHP 5.2
</span></span><span id="8" class="l"><a class="l" href="#8"> 8: </a><span class="php-comment"> * @package Framework
</span></span><span id="9" class="l"><a class="l" href="#9"> 9: </a><span class="php-comment"> * @author Aurélien PERONNET &lt;aurelien@tela-botanica.org&gt;
</span></span><span id="10" class="l"><a class="l" href="#10"> 10: </a><span class="php-comment"> * @author Jean-Pascal MILCENT &lt;jmp@tela-botanica.org&gt;
</span></span><span id="11" class="l"><a class="l" href="#11"> 11: </a><span class="php-comment"> * @copyright Copyright (c) 2009, Tela Botanica (accueil@tela-botanica.org)
</span></span><span id="12" class="l"><a class="l" href="#12"> 12: </a><span class="php-comment"> * @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
</span></span><span id="13" class="l"><a class="l" href="#13"> 13: </a><span class="php-comment"> * @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
</span></span><span id="14" class="l"><a class="l" href="#14"> 14: </a><span class="php-comment"> * @version $Id: GestionnaireException.php 342 2011-06-06 13:58:53Z jpm $$
</span></span><span id="15" class="l"><a class="l" href="#15"> 15: </a><span class="php-comment"> * @link /doc/framework/
</span></span><span id="16" class="l"><a class="l" href="#16"> 16: </a><span class="php-comment"> *
</span></span><span id="17" class="l"><a class="l" href="#17"> 17: </a><span class="php-comment"> */</span>
</span><span id="18" class="l"><a class="l" href="#18"> 18: </a><span class="php-keyword1">class</span> <a id="GestionnaireException" href="#GestionnaireException">GestionnaireException</a> {
</span><span id="19" class="l"><a class="l" href="#19"> 19: </a>
</span><span id="20" class="l"><a class="l" href="#20"> 20: </a> <span class="php-keyword1">const</span> <a id="MODE_CLI" href="#MODE_CLI">MODE_CLI</a> = <span class="php-quote">'cli'</span>;
</span><span id="21" class="l"><a class="l" href="#21"> 21: </a>
</span><span id="22" class="l"><a class="l" href="#22"> 22: </a> <span class="php-comment">/** Liste des exceptions enregistrées */</span>
</span><span id="23" class="l"><a class="l" href="#23"> 23: </a> <span class="php-keyword1">private</span> <span class="php-keyword1">static</span> <span class="php-var"><a id="$exceptions" href="#$exceptions">$exceptions</a></span> = <span class="php-keyword1">array</span>();
</span><span id="24" class="l"><a class="l" href="#24"> 24: </a>
</span><span id="25" class="l"><a class="l" href="#25"> 25: </a> <span class="php-comment">/** Détermine si l'on affiche ou non le contexte */</span>
</span><span id="26" class="l"><a class="l" href="#26"> 26: </a> <span class="php-keyword1">private</span> <span class="php-keyword1">static</span> <span class="php-var"><a id="$contexte" href="#$contexte">$contexte</a></span> = <span class="php-keyword1">false</span>;
</span><span id="27" class="l"><a class="l" href="#27"> 27: </a>
</span><span id="28" class="l"><a class="l" href="#28"> 28: </a> <span class="php-comment">/** Détermine si l'on loggue ou non les erreurs */</span>
</span><span id="29" class="l"><a class="l" href="#29"> 29: </a> <span class="php-keyword1">private</span> <span class="php-keyword1">static</span> <span class="php-var"><a id="$logger" href="#$logger">$logger</a></span> = <span class="php-keyword1">false</span>;
</span><span id="30" class="l"><a class="l" href="#30"> 30: </a>
</span><span id="31" class="l"><a class="l" href="#31"> 31: </a> <span class="php-comment">/** Détermine si l'affichage des erreurs est forcé (true) ou pas (false) à la destruction de la classe */</span>
</span><span id="32" class="l"><a class="l" href="#32"> 32: </a> <span class="php-keyword1">private</span> <span class="php-keyword1">static</span> <span class="php-var"><a id="$afficher" href="#$afficher">$afficher</a></span> = <span class="php-keyword1">false</span>;
</span><span id="33" class="l"><a class="l" href="#33"> 33: </a>
</span><span id="34" class="l"><a class="l" href="#34"> 34: </a> <span class="php-comment">/** Definit si php est lancé en ligne de commande ou en mode serveur */</span>
</span><span id="35" class="l"><a class="l" href="#35"> 35: </a> <span class="php-keyword1">private</span> <span class="php-keyword1">static</span> <span class="php-var"><a id="$mode" href="#$mode">$mode</a></span> = <span class="php-keyword1">null</span> ;
</span><span id="36" class="l"><a class="l" href="#36"> 36: </a>
</span><span id="37" class="l"><a class="l" href="#37"> 37: </a> <span class="php-comment">/** Initialise le Gestionnaire d'exceptions et d'erreur sans tenir comptes des paramêtres de config. */</span>
</span><span id="38" class="l"><a class="l" href="#38"> 38: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_initialiser" href="#_initialiser">initialiser</a>() {
</span><span id="39" class="l"><a class="l" href="#39"> 39: </a> self::<span class="php-var">$mode</span> = <span class="php-keyword2">php_sapi_name</span>();
</span><span id="40" class="l"><a class="l" href="#40"> 40: </a> <span class="php-comment">// Désactivation des balises HTML dans les messages d'erreur de PHP en mode ligne de commande</span>
</span><span id="41" class="l"><a class="l" href="#41"> 41: </a> <span class="php-keyword1">if</span> (self::<span class="php-var">$mode</span> == self::MODE_CLI) {
</span><span id="42" class="l"><a class="l" href="#42"> 42: </a> <span class="php-keyword2">ini_set</span>(<span class="php-quote">'html_errors'</span>, <span class="php-num">0</span>);
</span><span id="43" class="l"><a class="l" href="#43"> 43: </a> }
</span><span id="44" class="l"><a class="l" href="#44"> 44: </a>
</span><span id="45" class="l"><a class="l" href="#45"> 45: </a> <span class="php-keyword2">set_exception_handler</span>(<span class="php-keyword1">array</span>(<span class="php-keyword2">get_class</span>(),<span class="php-quote">'gererException'</span>));
</span><span id="46" class="l"><a class="l" href="#46"> 46: </a> <span class="php-keyword2">set_error_handler</span>(<span class="php-keyword1">array</span>(<span class="php-keyword2">get_class</span>(),<span class="php-quote">'gererErreur'</span>));
</span><span id="47" class="l"><a class="l" href="#47"> 47: </a> }
</span><span id="48" class="l"><a class="l" href="#48"> 48: </a>
</span><span id="49" class="l"><a class="l" href="#49"> 49: </a> <span class="php-comment">/** Configure le Gestionnaire d'exceptions et d'erreur à partir des paramêtres de config. */</span>
</span><span id="50" class="l"><a class="l" href="#50"> 50: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_configurer" href="#_configurer">configurer</a>() {
</span><span id="51" class="l"><a class="l" href="#51"> 51: </a> self::<span class="php-var">$contexte</span> = Config::get(<span class="php-quote">'fw_debogage_contexte'</span>);
</span><span id="52" class="l"><a class="l" href="#52"> 52: </a> self::<span class="php-var">$logger</span> = Config::get(<span class="php-quote">'fw_log_debogage'</span>);
</span><span id="53" class="l"><a class="l" href="#53"> 53: </a> self::<span class="php-var">$afficher</span> = Config::get(<span class="php-quote">'fw_debogage'</span>);
</span><span id="54" class="l"><a class="l" href="#54"> 54: </a> }
</span><span id="55" class="l"><a class="l" href="#55"> 55: </a>
</span><span id="56" class="l"><a class="l" href="#56"> 56: </a> <span class="php-comment">/**
</span></span><span id="57" class="l"><a class="l" href="#57"> 57: </a><span class="php-comment"> * Renvoie le nombre d'exceptions et d'erreurs levées.
</span></span><span id="58" class="l"><a class="l" href="#58"> 58: </a><span class="php-comment"> * @see getExceptions() pour obtenir les exceptions formatées.
</span></span><span id="59" class="l"><a class="l" href="#59"> 59: </a><span class="php-comment"> * @since 0.3
</span></span><span id="60" class="l"><a class="l" href="#60"> 60: </a><span class="php-comment"> * @return int le nombre d'exception actuellement levées
</span></span><span id="61" class="l"><a class="l" href="#61"> 61: </a><span class="php-comment"> */</span>
</span><span id="62" class="l"><a class="l" href="#62"> 62: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_getExceptionsNbre" href="#_getExceptionsNbre">getExceptionsNbre</a>() {
</span><span id="63" class="l"><a class="l" href="#63"> 63: </a> <span class="php-keyword1">return</span> <span class="php-keyword2">count</span>(self::<span class="php-var">$exceptions</span>);
</span><span id="64" class="l"><a class="l" href="#64"> 64: </a> }
</span><span id="65" class="l"><a class="l" href="#65"> 65: </a>
</span><span id="66" class="l"><a class="l" href="#66"> 66: </a> <span class="php-comment">/**
</span></span><span id="67" class="l"><a class="l" href="#67"> 67: </a><span class="php-comment"> * Renvoie le booleen définissant si l'on affiche le contexte ou non
</span></span><span id="68" class="l"><a class="l" href="#68"> 68: </a><span class="php-comment"> * @return bool true si on affiche le contexte sinon false.
</span></span><span id="69" class="l"><a class="l" href="#69"> 69: </a><span class="php-comment"> */</span>
</span><span id="70" class="l"><a class="l" href="#70"> 70: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_getContexte" href="#_getContexte">getContexte</a>() {
</span><span id="71" class="l"><a class="l" href="#71"> 71: </a> <span class="php-keyword1">return</span> self::<span class="php-var">$contexte</span>;
</span><span id="72" class="l"><a class="l" href="#72"> 72: </a> }
</span><span id="73" class="l"><a class="l" href="#73"> 73: </a>
</span><span id="74" class="l"><a class="l" href="#74"> 74: </a> <span class="php-comment">/**
</span></span><span id="75" class="l"><a class="l" href="#75"> 75: </a><span class="php-comment"> * Definit si l'on veut afficher le contexte ou non
</span></span><span id="76" class="l"><a class="l" href="#76"> 76: </a><span class="php-comment"> * @param bool true si on veut afficher le contexte, false sinon, par défaut vaut false
</span></span><span id="77" class="l"><a class="l" href="#77"> 77: </a><span class="php-comment"> */</span>
</span><span id="78" class="l"><a class="l" href="#78"> 78: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_setContexte" href="#_setContexte">setContexte</a>(<span class="php-var">$contexte</span>) {
</span><span id="79" class="l"><a class="l" href="#79"> 79: </a> self::<span class="php-var">$contexte</span> = <span class="php-var">$contexte</span>;
</span><span id="80" class="l"><a class="l" href="#80"> 80: </a> }
</span><span id="81" class="l"><a class="l" href="#81"> 81: </a>
</span><span id="82" class="l"><a class="l" href="#82"> 82: </a> <span class="php-comment">/**
</span></span><span id="83" class="l"><a class="l" href="#83"> 83: </a><span class="php-comment"> * Fonction de gestion des exceptions, remplace le handler par défaut.
</span></span><span id="84" class="l"><a class="l" href="#84"> 84: </a><span class="php-comment"> * Si une boucle génère de multiple exception (ou erreur) identique une seule sera stockée.
</span></span><span id="85" class="l"><a class="l" href="#85"> 85: </a><span class="php-comment"> * @param Exception $e l'exception à traiter
</span></span><span id="86" class="l"><a class="l" href="#86"> 86: </a><span class="php-comment"> */</span>
</span><span id="87" class="l"><a class="l" href="#87"> 87: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_gererException" href="#_gererException">gererException</a>(Exception <span class="php-var">$e</span>) {
</span><span id="88" class="l"><a class="l" href="#88"> 88: </a> <span class="php-var">$cle</span> = <span class="php-keyword2">hash</span>(<span class="php-quote">'md5'</span>, <span class="php-var">$e</span>-&gt;getMessage().<span class="php-quote">'-'</span>.<span class="php-var">$e</span>-&gt;getFile().<span class="php-quote">'-'</span>.<span class="php-var">$e</span>-&gt;getLine());
</span><span id="89" class="l"><a class="l" href="#89"> 89: </a> <span class="php-keyword1">if</span> (!<span class="php-keyword1">isset</span>(self::<span class="php-var">$exceptions</span>[<span class="php-var">$cle</span>])) {
</span><span id="90" class="l"><a class="l" href="#90"> 90: </a> self::<span class="php-var">$exceptions</span>[<span class="php-var">$cle</span>] = <span class="php-var">$e</span>;
</span><span id="91" class="l"><a class="l" href="#91"> 91: </a> self::loggerException(<span class="php-var">$e</span>);
</span><span id="92" class="l"><a class="l" href="#92"> 92: </a> }
</span><span id="93" class="l"><a class="l" href="#93"> 93: </a> }
</span><span id="94" class="l"><a class="l" href="#94"> 94: </a>
</span><span id="95" class="l"><a class="l" href="#95"> 95: </a> <span class="php-comment">/**
</span></span><span id="96" class="l"><a class="l" href="#96"> 96: </a><span class="php-comment"> * Gère les erreurs en les convertissant en exceptions (remplace la fonction gestion d'erreurs native de php)
</span></span><span id="97" class="l"><a class="l" href="#97"> 97: </a><span class="php-comment"> * @param int $niveau le niveau de l'erreur
</span></span><span id="98" class="l"><a class="l" href="#98"> 98: </a><span class="php-comment"> * @param string $message le message associé à l'erreur
</span></span><span id="99" class="l"><a class="l" href="#99"> 99: </a><span class="php-comment"> * @param string $fichier le nom du fichier où l'erreur s'est produite
</span></span><span id="100" class="l"><a class="l" href="#100">100: </a><span class="php-comment"> * @param int $ligne la ligne où l'erreur s'est produite
</span></span><span id="101" class="l"><a class="l" href="#101">101: </a><span class="php-comment"> * @param string $contexte le contexte associé à l'erreur
</span></span><span id="102" class="l"><a class="l" href="#102">102: </a><span class="php-comment"> */</span>
</span><span id="103" class="l"><a class="l" href="#103">103: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_gererErreur" href="#_gererErreur">gererErreur</a>(<span class="php-var">$niveau</span>, <span class="php-var">$message</span>, <span class="php-var">$fichier</span>, <span class="php-var">$ligne</span>, <span class="php-var">$contexte</span>){
</span><span id="104" class="l"><a class="l" href="#104">104: </a> <span class="php-comment">// Si un rapport d'erreur existe, création d'une exception</span>
</span><span id="105" class="l"><a class="l" href="#105">105: </a> <span class="php-keyword1">if</span> (<span class="php-keyword2">error_reporting</span>() != <span class="php-num">0</span>) {
</span><span id="106" class="l"><a class="l" href="#106">106: </a> <span class="php-var">$e</span> = <span class="php-keyword1">new</span> ErrorException(<span class="php-var">$message</span>, <span class="php-num">0</span>, <span class="php-var">$niveau</span>, <span class="php-var">$fichier</span>, <span class="php-var">$ligne</span>);
</span><span id="107" class="l"><a class="l" href="#107">107: </a> self::gererException(<span class="php-var">$e</span>);
</span><span id="108" class="l"><a class="l" href="#108">108: </a> }
</span><span id="109" class="l"><a class="l" href="#109">109: </a> <span class="php-keyword1">return</span> <span class="php-keyword1">null</span>;
</span><span id="110" class="l"><a class="l" href="#110">110: </a> }
</span><span id="111" class="l"><a class="l" href="#111">111: </a>
</span><span id="112" class="l"><a class="l" href="#112">112: </a> <span class="php-comment">/**
</span></span><span id="113" class="l"><a class="l" href="#113">113: </a><span class="php-comment"> * Renvoie les exceptions au format (X)HTML ou bien au format texte suivant le mode d'utilisation de PHP.
</span></span><span id="114" class="l"><a class="l" href="#114">114: </a><span class="php-comment"> * @since 0.3
</span></span><span id="115" class="l"><a class="l" href="#115">115: </a><span class="php-comment"> * @deprecated
</span></span><span id="116" class="l"><a class="l" href="#116">116: </a><span class="php-comment"> * @see getExceptionsFormatees()
</span></span><span id="117" class="l"><a class="l" href="#117">117: </a><span class="php-comment"> * @return string les exceptions formatées en texte ou (X)HTML.
</span></span><span id="118" class="l"><a class="l" href="#118">118: </a><span class="php-comment"> */</span>
</span><span id="119" class="l"><a class="l" href="#119">119: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_getExceptions" href="#_getExceptions">getExceptions</a>() {
</span><span id="120" class="l"><a class="l" href="#120">120: </a> <span class="php-keyword1">return</span> self::getExceptionsFormatees();
</span><span id="121" class="l"><a class="l" href="#121">121: </a> }
</span><span id="122" class="l"><a class="l" href="#122">122: </a>
</span><span id="123" class="l"><a class="l" href="#123">123: </a> <span class="php-comment">/**
</span></span><span id="124" class="l"><a class="l" href="#124">124: </a><span class="php-comment"> * Renvoie les exceptions au format (X)HTML ou bien au format texte suivant le mode d'utilisation de PHP.
</span></span><span id="125" class="l"><a class="l" href="#125">125: </a><span class="php-comment"> * @since 0.3
</span></span><span id="126" class="l"><a class="l" href="#126">126: </a><span class="php-comment"> * @return string les exceptions formatées en texte ou (X)HTML.
</span></span><span id="127" class="l"><a class="l" href="#127">127: </a><span class="php-comment"> */</span>
</span><span id="128" class="l"><a class="l" href="#128">128: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_getExceptionsFormatees" href="#_getExceptionsFormatees">getExceptionsFormatees</a>() {
</span><span id="129" class="l"><a class="l" href="#129">129: </a> <span class="php-var">$retour</span> = <span class="php-quote">''</span>;
</span><span id="130" class="l"><a class="l" href="#130">130: </a> <span class="php-keyword1">if</span> (self::getExceptionsNbre() &gt; <span class="php-num">0</span>) {
</span><span id="131" class="l"><a class="l" href="#131">131: </a> <span class="php-keyword1">foreach</span> (self::<span class="php-var">$exceptions</span> <span class="php-keyword1">as</span> <span class="php-var">$cle</span> =&gt; <span class="php-var">$e</span>) {
</span><span id="132" class="l"><a class="l" href="#132">132: </a> <span class="php-keyword1">switch</span> (self::<span class="php-var">$mode</span>) {
</span><span id="133" class="l"><a class="l" href="#133">133: </a> <span class="php-keyword1">case</span> self::MODE_CLI :
</span><span id="134" class="l"><a class="l" href="#134">134: </a> <span class="php-var">$retour</span> .= self::formaterExceptionTxt(<span class="php-var">$e</span>);
</span><span id="135" class="l"><a class="l" href="#135">135: </a> <span class="php-keyword1">break</span>;
</span><span id="136" class="l"><a class="l" href="#136">136: </a> <span class="php-keyword1">default</span>:
</span><span id="137" class="l"><a class="l" href="#137">137: </a> <span class="php-var">$retour</span> .= self::formaterExceptionXhtml(<span class="php-var">$e</span>);
</span><span id="138" class="l"><a class="l" href="#138">138: </a> }
</span><span id="139" class="l"><a class="l" href="#139">139: </a> <span class="php-comment">// Nous vidons le tableau des exceptions au fur et à mesure pour éviter le réaffichage avec le destructeur.</span>
</span><span id="140" class="l"><a class="l" href="#140">140: </a> <span class="php-keyword1">unset</span>(self::<span class="php-var">$exceptions</span>[<span class="php-var">$cle</span>]);
</span><span id="141" class="l"><a class="l" href="#141">141: </a> }
</span><span id="142" class="l"><a class="l" href="#142">142: </a> }
</span><span id="143" class="l"><a class="l" href="#143">143: </a> <span class="php-keyword1">return</span> <span class="php-var">$retour</span>;
</span><span id="144" class="l"><a class="l" href="#144">144: </a> }
</span><span id="145" class="l"><a class="l" href="#145">145: </a>
</span><span id="146" class="l"><a class="l" href="#146">146: </a> <span class="php-comment">/**
</span></span><span id="147" class="l"><a class="l" href="#147">147: </a><span class="php-comment"> * 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é.
</span></span><span id="148" class="l"><a class="l" href="#148">148: </a><span class="php-comment"> * Format du tableau :
</span></span><span id="149" class="l"><a class="l" href="#149">149: </a><span class="php-comment"> * array{sévérité_1 = array{Exception1, Exception2, Exception3,...}, sévérité_1 = array{Exception1, Exception2, ...}, ...};
</span></span><span id="150" class="l"><a class="l" href="#150">150: </a><span class="php-comment"> * ATTENTION : si vous utilisez cette méthode, c'est à vous de gérer l'affichage des Exceptions. Le gestionnaire d'exception
</span></span><span id="151" class="l"><a class="l" href="#151">151: </a><span class="php-comment"> * n'enverra plus rien au navigateur ou à la console.
</span></span><span id="152" class="l"><a class="l" href="#152">152: </a><span class="php-comment"> * @since 0.3
</span></span><span id="153" class="l"><a class="l" href="#153">153: </a><span class="php-comment"> * @return array le tableau trié d'objet Exception.
</span></span><span id="154" class="l"><a class="l" href="#154">154: </a><span class="php-comment"> */</span>
</span><span id="155" class="l"><a class="l" href="#155">155: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_getExceptionsTriees" href="#_getExceptionsTriees">getExceptionsTriees</a>() {
</span><span id="156" class="l"><a class="l" href="#156">156: </a> <span class="php-var">$retour</span> = <span class="php-keyword1">array</span>();
</span><span id="157" class="l"><a class="l" href="#157">157: </a> <span class="php-keyword1">if</span> (self::getExceptionsNbre() &gt; <span class="php-num">0</span>) {
</span><span id="158" class="l"><a class="l" href="#158">158: </a> <span class="php-keyword1">foreach</span> (self::<span class="php-var">$exceptions</span> <span class="php-keyword1">as</span> <span class="php-var">$cle</span> =&gt; <span class="php-var">$e</span>) {
</span><span id="159" class="l"><a class="l" href="#159">159: </a> <span class="php-var">$retour</span>[<span class="php-var">$e</span>-&gt;getSeverity()][] = <span class="php-var">$e</span>;
</span><span id="160" class="l"><a class="l" href="#160">160: </a> <span class="php-comment">// Nous vidons le tableau des exceptions au fur et à mesure pour éviter le réaffichage avec le destructeur.</span>
</span><span id="161" class="l"><a class="l" href="#161">161: </a> <span class="php-keyword1">unset</span>(self::<span class="php-var">$exceptions</span>[<span class="php-var">$cle</span>]);
</span><span id="162" class="l"><a class="l" href="#162">162: </a> }
</span><span id="163" class="l"><a class="l" href="#163">163: </a> <span class="php-keyword2">ksort</span>(<span class="php-var">$retour</span>);
</span><span id="164" class="l"><a class="l" href="#164">164: </a> }
</span><span id="165" class="l"><a class="l" href="#165">165: </a> <span class="php-keyword1">return</span> <span class="php-var">$retour</span>;
</span><span id="166" class="l"><a class="l" href="#166">166: </a> }
</span><span id="167" class="l"><a class="l" href="#167">167: </a>
</span><span id="168" class="l"><a class="l" href="#168">168: </a> <span class="php-comment">/**
</span></span><span id="169" class="l"><a class="l" href="#169">169: </a><span class="php-comment"> * Logue une exception donnée sous une forme lisible si self::logger vaut true.
</span></span><span id="170" class="l"><a class="l" href="#170">170: </a><span class="php-comment"> * @param Exception $e l'exception à logger
</span></span><span id="171" class="l"><a class="l" href="#171">171: </a><span class="php-comment"> */</span>
</span><span id="172" class="l"><a class="l" href="#172">172: </a> <span class="php-keyword1">private</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_loggerException" href="#_loggerException">loggerException</a>(Exception <span class="php-var">$e</span>) {
</span><span id="173" class="l"><a class="l" href="#173">173: </a> <span class="php-keyword1">if</span> (self::<span class="php-var">$logger</span>) {
</span><span id="174" class="l"><a class="l" href="#174">174: </a> <span class="php-var">$message</span> = self::formaterExceptionTxt(<span class="php-var">$e</span>);
</span><span id="175" class="l"><a class="l" href="#175">175: </a> <span class="php-keyword2">Log</span>::ajouterEntree(<span class="php-quote">'erreurs'</span>, <span class="php-var">$message</span>);
</span><span id="176" class="l"><a class="l" href="#176">176: </a> }
</span><span id="177" class="l"><a class="l" href="#177">177: </a> }
</span><span id="178" class="l"><a class="l" href="#178">178: </a>
</span><span id="179" class="l"><a class="l" href="#179">179: </a> <span class="php-comment">/**
</span></span><span id="180" class="l"><a class="l" href="#180">180: </a><span class="php-comment"> * Formate en texte une exception passée en paramètre.
</span></span><span id="181" class="l"><a class="l" href="#181">181: </a><span class="php-comment"> * @since 0.3
</span></span><span id="182" class="l"><a class="l" href="#182">182: </a><span class="php-comment"> * @param Exception l'exception à formater.
</span></span><span id="183" class="l"><a class="l" href="#183">183: </a><span class="php-comment"> */</span>
</span><span id="184" class="l"><a class="l" href="#184">184: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_formaterExceptionTxt" href="#_formaterExceptionTxt">formaterExceptionTxt</a>(Exception <span class="php-var">$e</span>) {
</span><span id="185" class="l"><a class="l" href="#185">185: </a> <span class="php-var">$message</span> = <span class="php-quote">''</span>;
</span><span id="186" class="l"><a class="l" href="#186">186: </a> <span class="php-var">$message</span> .= <span class="php-var">$e</span>-&gt;getMessage().<span class="php-quote">&quot;\n&quot;</span>;
</span><span id="187" class="l"><a class="l" href="#187">187: </a> <span class="php-var">$message</span> .= <span class="php-quote">'Fichier : '</span>.<span class="php-var">$e</span>-&gt;getFile().<span class="php-quote">&quot;\n&quot;</span>;
</span><span id="188" class="l"><a class="l" href="#188">188: </a> <span class="php-var">$message</span> .= <span class="php-quote">'Ligne : '</span>.<span class="php-var">$e</span>-&gt;getLine().<span class="php-quote">&quot;\n&quot;</span>;
</span><span id="189" class="l"><a class="l" href="#189">189: </a> <span class="php-keyword1">if</span> (self::getContexte()) {
</span><span id="190" class="l"><a class="l" href="#190">190: </a> <span class="php-var">$message</span> .= <span class="php-quote">'Contexte : '</span>.<span class="php-quote">&quot;\n&quot;</span>.<span class="php-keyword2">print_r</span>(<span class="php-var">$e</span>-&gt;getTraceAsString(), <span class="php-keyword1">true</span>).<span class="php-quote">&quot;\n&quot;</span>;
</span><span id="191" class="l"><a class="l" href="#191">191: </a> }
</span><span id="192" class="l"><a class="l" href="#192">192: </a> <span class="php-var">$message</span> .= <span class="php-quote">&quot;\n&quot;</span>;
</span><span id="193" class="l"><a class="l" href="#193">193: </a> <span class="php-keyword1">return</span> <span class="php-var">$message</span>;
</span><span id="194" class="l"><a class="l" href="#194">194: </a> }
</span><span id="195" class="l"><a class="l" href="#195">195: </a>
</span><span id="196" class="l"><a class="l" href="#196">196: </a> <span class="php-comment">/**
</span></span><span id="197" class="l"><a class="l" href="#197">197: </a><span class="php-comment"> * Formate en (X)HTML une exception passée en paramètre.
</span></span><span id="198" class="l"><a class="l" href="#198">198: </a><span class="php-comment"> * @since 0.3
</span></span><span id="199" class="l"><a class="l" href="#199">199: </a><span class="php-comment"> * @param Exception l'exception à formater.
</span></span><span id="200" class="l"><a class="l" href="#200">200: </a><span class="php-comment"> */</span>
</span><span id="201" class="l"><a class="l" href="#201">201: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_formaterExceptionXhtml" href="#_formaterExceptionXhtml">formaterExceptionXhtml</a>(Exception <span class="php-var">$e</span>) {
</span><span id="202" class="l"><a class="l" href="#202">202: </a> <span class="php-var">$message</span> = <span class="php-quote">''</span>;
</span><span id="203" class="l"><a class="l" href="#203">203: </a> <span class="php-var">$message</span> .= <span class="php-quote">'&lt;div class=&quot;debogage&quot;&gt;'</span>.<span class="php-quote">&quot;\n&quot;</span>;
</span><span id="204" class="l"><a class="l" href="#204">204: </a> <span class="php-var">$message</span> .= <span class="php-var">$e</span>-&gt;getMessage().<span class="php-quote">&quot;\n&quot;</span>;
</span><span id="205" class="l"><a class="l" href="#205">205: </a> <span class="php-var">$message</span> .= <span class="php-quote">'&lt;span class=&quot;debogage_fichier&quot;&gt;'</span>.<span class="php-quote">'Fichier : '</span>.<span class="php-var">$e</span>-&gt;getFile().<span class="php-quote">'&lt;/span&gt;'</span>.<span class="php-quote">&quot;\n&quot;</span>;
</span><span id="206" class="l"><a class="l" href="#206">206: </a> <span class="php-var">$message</span> .= <span class="php-quote">'&lt;span class=&quot;debogage_ligne&quot;&gt;'</span>.<span class="php-quote">'Ligne : '</span>.<span class="php-var">$e</span>-&gt;getLine().<span class="php-quote">'&lt;/span&gt;'</span>.<span class="php-quote">&quot;\n&quot;</span>;
</span><span id="207" class="l"><a class="l" href="#207">207: </a> <span class="php-keyword1">if</span> (self::getContexte()) {
</span><span id="208" class="l"><a class="l" href="#208">208: </a> <span class="php-var">$message</span> .= <span class="php-quote">'&lt;pre&gt;'</span>.<span class="php-quote">&quot;\n&quot;</span>;
</span><span id="209" class="l"><a class="l" href="#209">209: </a> <span class="php-var">$message</span> .= <span class="php-quote">'&lt;strong&gt;Contexte : &lt;/strong&gt;'</span>.<span class="php-quote">&quot;\n&quot;</span>.<span class="php-keyword2">print_r</span>(<span class="php-var">$e</span>-&gt;getTraceAsString(), <span class="php-keyword1">true</span>).<span class="php-quote">&quot;\n&quot;</span>;
</span><span id="210" class="l"><a class="l" href="#210">210: </a> <span class="php-var">$message</span> .= <span class="php-quote">'&lt;/pre&gt;'</span>.<span class="php-quote">&quot;\n&quot;</span>;
</span><span id="211" class="l"><a class="l" href="#211">211: </a> }
</span><span id="212" class="l"><a class="l" href="#212">212: </a> <span class="php-var">$message</span> .= <span class="php-quote">'&lt;/div&gt;'</span>.<span class="php-quote">&quot;\n&quot;</span>;
</span><span id="213" class="l"><a class="l" href="#213">213: </a> <span class="php-keyword1">return</span> <span class="php-var">$message</span>;
</span><span id="214" class="l"><a class="l" href="#214">214: </a> }
</span><span id="215" class="l"><a class="l" href="#215">215: </a>
</span><span id="216" class="l"><a class="l" href="#216">216: </a> <span class="php-comment">/**
</span></span><span id="217" class="l"><a class="l" href="#217">217: </a><span class="php-comment"> * 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
</span></span><span id="218" class="l"><a class="l" href="#218">218: </a><span class="php-comment"> * affichées.
</span></span><span id="219" class="l"><a class="l" href="#219">219: </a><span class="php-comment"> */</span>
</span><span id="220" class="l"><a class="l" href="#220">220: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> <a id="___destruct" href="#___destruct">__destruct</a>() {
</span><span id="221" class="l"><a class="l" href="#221">221: </a> <span class="php-comment">// Si des erreurs n'ont pas été affichée nous forçons leur affichage</span>
</span><span id="222" class="l"><a class="l" href="#222">222: </a> <span class="php-keyword1">if</span> (self::<span class="php-var">$afficher</span> &amp;&amp; self::getExceptionsNbre() &gt; <span class="php-num">0</span>) {
</span><span id="223" class="l"><a class="l" href="#223">223: </a> <span class="php-keyword1">echo</span> self::getExceptionsFormatees();
</span><span id="224" class="l"><a class="l" href="#224">224: </a> }
</span><span id="225" class="l"><a class="l" href="#225">225: </a> }
</span><span id="226" class="l"><a class="l" href="#226">226: </a>
</span><span id="227" class="l"><a class="l" href="#227">227: </a>}
</span><span id="228" class="l"><a class="l" href="#228">228: </a></span><span class="xlang">?&gt;</span></code></pre>
 
<div id="footer">
TBFramework - v0.2 API documentation generated by <a href="http://apigen.org">ApiGen 2.8.0</a>
</div>
</div>
</div>
</body>
</html>
/branches/v0.2-buhl/doc/ApiGen/index.html
New file
0,0 → 1,129
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="generator" content="ApiGen 2.8.0">
 
<title>TBFramework - v0.2</title>
 
<script type="text/javascript" src="resources/combined.js"></script>
<script type="text/javascript" src="elementlist.js"></script>
<link rel="stylesheet" type="text/css" media="all" href="resources/style.css?3505392360">
 
</head>
 
<body>
<div id="left">
<div id="menu">
<span>Overview</span>
 
<div id="groups">
<h3>Packages</h3>
<ul>
<li><a href="package-Framework.html">Framework</a>
</li>
<li><a href="package-PHP.html">PHP</a>
</li>
</ul>
</div>
 
<hr>
 
 
<div id="elements">
<h3>Classes</h3>
<ul>
<li><a href="class-Application.html">Application</a></li>
<li><a href="class-Chronometre.html">Chronometre</a></li>
<li><a href="class-Config.html">Config</a></li>
<li><a href="class-Controleur.html">Controleur</a></li>
<li><a href="class-Debug.html">Debug</a></li>
<li><a href="class-GestionnaireException.html">GestionnaireException</a></li>
<li><a href="class-Log.html">Log</a></li>
<li><a href="class-Modele.html">Modele</a></li>
<li><a href="class-PDOStatement.html">PDOStatement</a></li>
<li><a href="class-Registre.html">Registre</a></li>
<li><a href="class-SquelettePhp.html">SquelettePhp</a></li>
<li><a href="class-Url.html">Url</a></li>
</ul>
 
<h3>Interfaces</h3>
<ul>
<li><a href="class-Traversable.html">Traversable</a></li>
</ul>
 
 
<h3>Exceptions</h3>
<ul>
<li><a href="class-Exception.html">Exception</a></li>
</ul>
 
 
<h3>Functions</h3>
<ul>
<li><a href="function-autoloadAppliDefaut.html">autoloadAppliDefaut</a></li>
<li><a href="function-autoloadFw.html">autoloadFw</a></li>
</ul>
</div>
</div>
</div>
 
<div id="splitter"></div>
 
<div id="right">
<div id="rightInner">
<form id="search">
<input type="hidden" name="cx" value="">
<input type="hidden" name="ie" value="UTF-8">
<input type="text" name="q" class="text" autofocus>
<input type="submit" value="Search">
</form>
 
<div id="navigation">
<ul>
<li class="active">
<span>Overview</span> </li>
<li>
<span>Package</span> </li>
<li>
<span>Class</span> </li>
</ul>
<ul>
<li>
<a href="tree.html" title="Tree view of classes, interfaces, traits and exceptions"><span>Tree</span></a>
</li>
<li>
<a href="deprecated.html" title="List of deprecated elements"><span>Deprecated</span></a>
</li>
<li>
<a href="todo.html" title="Todo list"><span>Todo</span></a>
</li>
</ul>
<ul>
</ul>
</div>
 
<div id="content">
<h1>TBFramework - v0.2</h1>
 
 
 
<table class="summary" id="packages">
<caption>Packages summary</caption>
<tr>
<td class="name"><a href="package-Framework.html">Framework</a></td>
</tr>
<tr>
<td class="name"><a href="package-PHP.html">PHP</a></td>
</tr>
</table>
 
</div>
 
<div id="footer">
TBFramework - v0.2 API documentation generated by <a href="http://apigen.org">ApiGen 2.8.0</a>
</div>
</div>
</div>
</body>
</html>
/branches/v0.2-buhl/doc/ApiGen/class-Config.html
New file
0,0 → 1,301
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="generator" content="ApiGen 2.8.0">
 
<title>Class Config | TBFramework - v0.2</title>
 
<script type="text/javascript" src="resources/combined.js?4205936287"></script>
<script type="text/javascript" src="elementlist.js?117657638"></script>
<link rel="stylesheet" type="text/css" media="all" href="resources/style.css?3505392360">
 
</head>
 
<body>
<div id="left">
<div id="menu">
<a href="index.html" title="Overview"><span>Overview</span></a>
 
 
<div id="groups">
<h3>Packages</h3>
<ul>
<li class="active"><a href="package-Framework.html">Framework</a>
</li>
<li><a href="package-PHP.html">PHP</a>
</li>
</ul>
</div>
 
<hr>
 
 
<div id="elements">
<h3>Classes</h3>
<ul>
<li><a href="class-Application.html">Application</a></li>
<li><a href="class-Chronometre.html">Chronometre</a></li>
<li class="active"><a href="class-Config.html">Config</a></li>
<li><a href="class-Controleur.html">Controleur</a></li>
<li><a href="class-Debug.html">Debug</a></li>
<li><a href="class-GestionnaireException.html">GestionnaireException</a></li>
<li><a href="class-Log.html">Log</a></li>
<li><a href="class-Modele.html">Modele</a></li>
<li><a href="class-Registre.html">Registre</a></li>
<li><a href="class-SquelettePhp.html">SquelettePhp</a></li>
<li><a href="class-Url.html">Url</a></li>
</ul>
 
 
 
 
 
<h3>Functions</h3>
<ul>
<li><a href="function-autoloadAppliDefaut.html">autoloadAppliDefaut</a></li>
<li><a href="function-autoloadFw.html">autoloadFw</a></li>
</ul>
</div>
</div>
</div>
 
<div id="splitter"></div>
 
<div id="right">
<div id="rightInner">
<form id="search">
<input type="hidden" name="cx" value="">
<input type="hidden" name="ie" value="UTF-8">
<input type="text" name="q" class="text">
<input type="submit" value="Search">
</form>
 
<div id="navigation">
<ul>
<li>
<a href="index.html" title="Overview"><span>Overview</span></a>
</li>
<li>
<a href="package-Framework.html" title="Summary of Framework"><span>Package</span></a>
</li>
<li class="active">
<span>Class</span> </li>
</ul>
<ul>
<li>
<a href="tree.html" title="Tree view of classes, interfaces, traits and exceptions"><span>Tree</span></a>
</li>
<li>
<a href="deprecated.html" title="List of deprecated elements"><span>Deprecated</span></a>
</li>
<li>
<a href="todo.html" title="Todo list"><span>Todo</span></a>
</li>
</ul>
<ul>
</ul>
</div>
 
<div id="content" class="class">
<h1>Class Config</h1>
 
 
<div class="description">
<p>Config permet de charger automatiquement les fichiers ini du Framework et de
l'application. Elle offre l'accès en lecture seule aux paramètres de config.
C'est une Singleton.</p>
 
<p>PHP Version 5</p>
 
</div>
 
 
 
 
 
 
 
 
 
<div class="info">
<b>Package:</b> <a href="package-Framework.html">Framework</a><br>
 
<b>Category:</b>
PHP<br>
<b>Copyright:</b>
2009 Tela-Botanica<br>
<b>License:</b>
<a href="GPL-v3">et CECILL-v2</a><br>
<b>Author:</b>
Jean-Pascal MILCENT &lt;<a
href="mailto:jpm&#64;tela-botanica.org">jpm&#64;<!-- -->tela-botanica.org</a>&gt;<br>
<b>Version:</b>
SVN: &lt;svn_id&gt;<br>
<b>Link:</b>
/doc/framework/<br>
<b>Located at</b> <a href="source-class-Config.html#4-264" title="Go to source code">Config.php</a><br>
</div>
 
 
 
<table class="summary" id="methods">
<caption>Methods summary</caption>
<tr data-order="charger" id="_charger">
 
<td class="attributes"><code>
public static
array
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_charger">#</a>
<code><a href="source-class-Config.html#235-243" title="Go to source code">charger</a>( <span>string <var>$fichier_ini</var></span> )</code>
 
<div class="description short">
<p>Charge un fichier ini dans le tableau des paramètres de l'appli</p>
 
</div>
 
<div class="description detailed hidden">
<p>Charge un fichier ini dans le tableau des paramètres de l'appli</p>
 
 
 
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$fichier_ini</var></dt>
<dd><code>string</code><br>$fichier_ini le nom du fichier à charger</dd>
</dl></div>
 
<h4>Returns</h4>
<div class="list">
<code>array</code><br>le fichier ini parsé<br>
</div>
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="get" id="_get">
 
<td class="attributes"><code>
public static
string
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_get">#</a>
<code><a href="source-class-Config.html#245-253" title="Go to source code">get</a>( <span>string <var>$param</var> = <span class="php-keyword1">null</span></span> )</code>
 
<div class="description short">
<p>Acesseur pour la valeur d'un paramètre</p>
 
</div>
 
<div class="description detailed hidden">
<p>Acesseur pour la valeur d'un paramètre</p>
 
 
 
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$param</var></dt>
<dd><code>string</code><br>$param le nom du paramètre</dd>
</dl></div>
 
<h4>Returns</h4>
<div class="list">
<code>string</code><br>la valeur du paramètre<br>
</div>
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="existe" id="_existe">
 
<td class="attributes"><code>
public static
boolean
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_existe">#</a>
<code><a href="source-class-Config.html#255-263" title="Go to source code">existe</a>( <span>string <var>$param</var></span> )</code>
 
<div class="description short">
<p>Vérifie si la valeur d'un paramètre existe</p>
 
</div>
 
<div class="description detailed hidden">
<p>Vérifie si la valeur d'un paramètre existe</p>
 
 
 
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$param</var></dt>
<dd><code>string</code><br>$param le nom du paramètre</dd>
</dl></div>
 
<h4>Returns</h4>
<div class="list">
<code>boolean</code><br>vrai si le paramètre existe, false sinon<br>
</div>
 
 
 
 
</div>
</div></td>
</tr>
</table>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
</div>
 
<div id="footer">
TBFramework - v0.2 API documentation generated by <a href="http://apigen.org">ApiGen 2.8.0</a>
</div>
</div>
</div>
</body>
</html>
/branches/v0.2-buhl/doc/ApiGen/function-autoloadAppliDefaut.html
New file
0,0 → 1,147
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="generator" content="ApiGen 2.8.0">
 
<title>Function autoloadAppliDefaut | TBFramework - v0.2</title>
 
<script type="text/javascript" src="resources/combined.js?4205936287"></script>
<script type="text/javascript" src="elementlist.js?117657638"></script>
<link rel="stylesheet" type="text/css" media="all" href="resources/style.css?3505392360">
 
</head>
 
<body>
<div id="left">
<div id="menu">
<a href="index.html" title="Overview"><span>Overview</span></a>
 
 
<div id="groups">
<h3>Packages</h3>
<ul>
<li class="active"><a href="package-Framework.html">Framework</a>
</li>
<li><a href="package-PHP.html">PHP</a>
</li>
</ul>
</div>
 
<hr>
 
 
<div id="elements">
<h3>Classes</h3>
<ul>
<li><a href="class-Application.html">Application</a></li>
<li><a href="class-Chronometre.html">Chronometre</a></li>
<li><a href="class-Config.html">Config</a></li>
<li><a href="class-Controleur.html">Controleur</a></li>
<li><a href="class-Debug.html">Debug</a></li>
<li><a href="class-GestionnaireException.html">GestionnaireException</a></li>
<li><a href="class-Log.html">Log</a></li>
<li><a href="class-Modele.html">Modele</a></li>
<li><a href="class-Registre.html">Registre</a></li>
<li><a href="class-SquelettePhp.html">SquelettePhp</a></li>
<li><a href="class-Url.html">Url</a></li>
</ul>
 
 
 
 
 
<h3>Functions</h3>
<ul>
<li class="active"><a href="function-autoloadAppliDefaut.html">autoloadAppliDefaut</a></li>
<li><a href="function-autoloadFw.html">autoloadFw</a></li>
</ul>
</div>
</div>
</div>
 
<div id="splitter"></div>
 
<div id="right">
<div id="rightInner">
<form id="search">
<input type="hidden" name="cx" value="">
<input type="hidden" name="ie" value="UTF-8">
<input type="text" name="q" class="text">
<input type="submit" value="Search">
</form>
 
<div id="navigation">
<ul>
<li>
<a href="index.html" title="Overview"><span>Overview</span></a>
</li>
<li>
<a href="package-Framework.html" title="Summary of Framework"><span>Package</span></a>
</li>
<li class="active">
<span>Function</span> </li>
</ul>
<ul>
<li>
<a href="tree.html" title="Tree view of classes, interfaces, traits and exceptions"><span>Tree</span></a>
</li>
<li>
<a href="deprecated.html" title="List of deprecated elements"><span>Deprecated</span></a>
</li>
<li>
<a href="todo.html" title="Todo list"><span>Todo</span></a>
</li>
</ul>
<ul>
</ul>
</div>
 
<div id="content" class="function">
<h1>Function autoloadAppliDefaut</h1>
 
 
 
<div class="info">
<b>Package:</b> <a href="package-Framework.html">Framework</a><br>
<b>Copyright:</b>
1999-2009 Tela Botanica (<a
href="mailto:accueil&#64;tela-botanica.org">accueil&#64;<!-- -->tela-botanica.org</a>)<br>
<b>License:</b>
<a href="GPL">v3 &lt;http://www.gnu.org/licenses/gpl.txt&gt;</a><br>
<b>License:</b>
<a href="CECILL">v2 &lt;http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt&gt;</a><br>
<b>Author:</b>
Aurelien PERONNET &lt;<a
href="mailto:aurelien&#64;tela-botanica.org">aurelien&#64;<!-- -->tela-botanica.org</a>&gt;
// Autres auteurs :<br>
<b>Author:</b>
Jean-Pascal MILCENT &lt;<a
href="mailto:jpm&#64;tela-botanica.org">jpm&#64;<!-- -->tela-botanica.org</a>&gt;<br>
<b>Located at</b> <a href="source-function-autoloadAppliDefaut.html#44-56" title="Go to source code">autoload.inc.php</a><br>
</div>
 
 
<table class="summary" id="parameters">
<caption>Parameters summary</caption>
<tr id="$nom_classe">
<td class="name"><code>mixed</code></td>
<td class="value"><code><var>$nom_classe</var></code></td>
<td>
</td>
</tr>
</table>
 
 
 
</div>
 
<div id="footer">
TBFramework - v0.2 API documentation generated by <a href="http://apigen.org">ApiGen 2.8.0</a>
</div>
</div>
</div>
</body>
</html>
/branches/v0.2-buhl/doc/ApiGen/class-PDOStatement.html
New file
0,0 → 1,790
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="generator" content="ApiGen 2.8.0">
 
<title>Class PDOStatement | TBFramework - v0.2</title>
 
<script type="text/javascript" src="resources/combined.js?4205936287"></script>
<script type="text/javascript" src="elementlist.js?117657638"></script>
<link rel="stylesheet" type="text/css" media="all" href="resources/style.css?3505392360">
 
</head>
 
<body>
<div id="left">
<div id="menu">
<a href="index.html" title="Overview"><span>Overview</span></a>
 
 
<div id="groups">
<h3>Packages</h3>
<ul>
<li><a href="package-Framework.html">Framework</a>
</li>
<li class="active"><a href="package-PHP.html">PHP</a>
</li>
</ul>
</div>
 
<hr>
 
 
<div id="elements">
<h3>Classes</h3>
<ul>
<li class="active"><a href="class-PDOStatement.html">PDOStatement</a></li>
</ul>
 
<h3>Interfaces</h3>
<ul>
<li><a href="class-Traversable.html">Traversable</a></li>
</ul>
 
 
<h3>Exceptions</h3>
<ul>
<li><a href="class-Exception.html">Exception</a></li>
</ul>
 
 
</div>
</div>
</div>
 
<div id="splitter"></div>
 
<div id="right">
<div id="rightInner">
<form id="search">
<input type="hidden" name="cx" value="">
<input type="hidden" name="ie" value="UTF-8">
<input type="text" name="q" class="text">
<input type="submit" value="Search">
</form>
 
<div id="navigation">
<ul>
<li>
<a href="index.html" title="Overview"><span>Overview</span></a>
</li>
<li>
<a href="package-PHP.html" title="Summary of PHP"><span>Package</span></a>
</li>
<li class="active">
<span>Class</span> </li>
</ul>
<ul>
<li>
<a href="tree.html" title="Tree view of classes, interfaces, traits and exceptions"><span>Tree</span></a>
</li>
<li>
<a href="deprecated.html" title="List of deprecated elements"><span>Deprecated</span></a>
</li>
<li>
<a href="todo.html" title="Todo list"><span>Todo</span></a>
</li>
</ul>
<ul>
</ul>
</div>
 
<div id="content" class="class">
<h1>Class PDOStatement</h1>
 
 
 
<dl class="tree">
<dd style="padding-left:0px">
<b><span>PDOStatement</span></b>
implements
<a href="class-Traversable.html"><span>Traversable</span></a>
</dd>
</dl>
 
 
 
 
 
 
 
 
<div class="info">
<b>PHP Extension:</b> <a href="http://php.net/manual/book.pdo.php" title="Go to PHP documentation">PDO</a><br>
 
<b>Documented at</b> <a href="http://php.net/manual/class.pdostatement.php" title="Go to PHP documentation">php.net</a><br>
</div>
 
 
 
<table class="summary" id="methods">
<caption>Methods summary</caption>
<tr data-order="execute" id="_execute">
 
<td class="attributes"><code>
public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_execute">#</a>
<code><a href="http://php.net/manual/pdostatement.execute.php" title="Go to PHP documentation">execute</a>( <span>mixed <var>$bound_input_params</var></span> )</code>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
 
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="fetch" id="_fetch">
 
<td class="attributes"><code>
public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_fetch">#</a>
<code><a href="http://php.net/manual/pdostatement.fetch.php" title="Go to PHP documentation">fetch</a>( <span>mixed <var>$how</var></span>, <span>mixed <var>$orientation</var></span>, <span>mixed <var>$offset</var></span> )</code>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
 
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="bindParam" id="_bindParam">
 
<td class="attributes"><code>
public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_bindParam">#</a>
<code><a href="http://php.net/manual/pdostatement.bindparam.php" title="Go to PHP documentation">bindParam</a>( <span>mixed <var>$paramno</var></span>, <span>mixed <var>&amp; $param</var></span>, <span>mixed <var>$type</var></span>, <span>mixed <var>$maxlen</var></span>, <span>mixed <var>$driverdata</var></span> )</code>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
 
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="bindColumn" id="_bindColumn">
 
<td class="attributes"><code>
public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_bindColumn">#</a>
<code><a href="http://php.net/manual/pdostatement.bindcolumn.php" title="Go to PHP documentation">bindColumn</a>( <span>mixed <var>$column</var></span>, <span>mixed <var>&amp; $param</var></span>, <span>mixed <var>$type</var></span>, <span>mixed <var>$maxlen</var></span>, <span>mixed <var>$driverdata</var></span> )</code>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
 
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="bindValue" id="_bindValue">
 
<td class="attributes"><code>
public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_bindValue">#</a>
<code><a href="http://php.net/manual/pdostatement.bindvalue.php" title="Go to PHP documentation">bindValue</a>( <span>mixed <var>$paramno</var></span>, <span>mixed <var>$param</var></span>, <span>mixed <var>$type</var></span> )</code>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
 
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="rowCount" id="_rowCount">
 
<td class="attributes"><code>
public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_rowCount">#</a>
<code><a href="http://php.net/manual/pdostatement.rowcount.php" title="Go to PHP documentation">rowCount</a>( )</code>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
 
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="fetchColumn" id="_fetchColumn">
 
<td class="attributes"><code>
public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_fetchColumn">#</a>
<code><a href="http://php.net/manual/pdostatement.fetchcolumn.php" title="Go to PHP documentation">fetchColumn</a>( <span>mixed <var>$column_number</var></span> )</code>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
 
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="fetchAll" id="_fetchAll">
 
<td class="attributes"><code>
public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_fetchAll">#</a>
<code><a href="http://php.net/manual/pdostatement.fetchall.php" title="Go to PHP documentation">fetchAll</a>( <span>mixed <var>$how</var></span>, <span>mixed <var>$class_name</var></span>, <span>mixed <var>$ctor_args</var></span> )</code>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
 
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="fetchObject" id="_fetchObject">
 
<td class="attributes"><code>
public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_fetchObject">#</a>
<code><a href="http://php.net/manual/pdostatement.fetchobject.php" title="Go to PHP documentation">fetchObject</a>( <span>mixed <var>$class_name</var></span>, <span>mixed <var>$ctor_args</var></span> )</code>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
 
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="errorCode" id="_errorCode">
 
<td class="attributes"><code>
public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_errorCode">#</a>
<code><a href="http://php.net/manual/pdostatement.errorcode.php" title="Go to PHP documentation">errorCode</a>( )</code>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
 
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="errorInfo" id="_errorInfo">
 
<td class="attributes"><code>
public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_errorInfo">#</a>
<code><a href="http://php.net/manual/pdostatement.errorinfo.php" title="Go to PHP documentation">errorInfo</a>( )</code>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
 
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="setAttribute" id="_setAttribute">
 
<td class="attributes"><code>
public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_setAttribute">#</a>
<code><a href="http://php.net/manual/pdostatement.setattribute.php" title="Go to PHP documentation">setAttribute</a>( <span>mixed <var>$attribute</var></span>, <span>mixed <var>$value</var></span> )</code>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
 
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="getAttribute" id="_getAttribute">
 
<td class="attributes"><code>
public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_getAttribute">#</a>
<code><a href="http://php.net/manual/pdostatement.getattribute.php" title="Go to PHP documentation">getAttribute</a>( <span>mixed <var>$attribute</var></span> )</code>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
 
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="columnCount" id="_columnCount">
 
<td class="attributes"><code>
public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_columnCount">#</a>
<code><a href="http://php.net/manual/pdostatement.columncount.php" title="Go to PHP documentation">columnCount</a>( )</code>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
 
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="getColumnMeta" id="_getColumnMeta">
 
<td class="attributes"><code>
public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_getColumnMeta">#</a>
<code><a href="http://php.net/manual/pdostatement.getcolumnmeta.php" title="Go to PHP documentation">getColumnMeta</a>( <span>mixed <var>$column</var></span> )</code>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
 
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="setFetchMode" id="_setFetchMode">
 
<td class="attributes"><code>
public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_setFetchMode">#</a>
<code><a href="http://php.net/manual/pdostatement.setfetchmode.php" title="Go to PHP documentation">setFetchMode</a>( <span>mixed <var>$mode</var></span>, <span>mixed <var>$params</var></span> )</code>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
 
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="nextRowset" id="_nextRowset">
 
<td class="attributes"><code>
public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_nextRowset">#</a>
<code><a href="http://php.net/manual/pdostatement.nextrowset.php" title="Go to PHP documentation">nextRowset</a>( )</code>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
 
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="closeCursor" id="_closeCursor">
 
<td class="attributes"><code>
public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_closeCursor">#</a>
<code><a href="http://php.net/manual/pdostatement.closecursor.php" title="Go to PHP documentation">closeCursor</a>( )</code>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
 
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="debugDumpParams" id="_debugDumpParams">
 
<td class="attributes"><code>
public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_debugDumpParams">#</a>
<code><a href="http://php.net/manual/pdostatement.debugdumpparams.php" title="Go to PHP documentation">debugDumpParams</a>( )</code>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
 
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="__wakeup" id="___wakeup">
 
<td class="attributes"><code>
final public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#___wakeup">#</a>
<code><a href="http://php.net/manual/pdostatement.wakeup.php" title="Go to PHP documentation">__wakeup</a>( )</code>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
 
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="__sleep" id="___sleep">
 
<td class="attributes"><code>
final public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#___sleep">#</a>
<code><a href="http://php.net/manual/pdostatement.sleep.php" title="Go to PHP documentation">__sleep</a>( )</code>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
 
 
 
 
 
 
</div>
</div></td>
</tr>
</table>
 
 
 
 
 
 
 
 
 
 
 
 
<table class="summary" id="properties">
<caption>Properties summary</caption>
<tr data-order="queryString" id="$queryString">
<td class="attributes"><code>
public
mixed
</code></td>
 
<td class="name">
<a href="http://php.net/manual/class.pdostatement.php#pdostatement.props.querystring" title="Go to PHP documentation"><var>$queryString</var></a>
</td>
<td class="value"><code></code></td>
<td class="description"><div>
<a href="#$queryString" class="anchor">#</a>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
</div>
</div></td>
</tr>
</table>
 
 
 
 
 
 
</div>
 
<div id="footer">
TBFramework - v0.2 API documentation generated by <a href="http://apigen.org">ApiGen 2.8.0</a>
</div>
</div>
</div>
</body>
</html>
/branches/v0.2-buhl/doc/ApiGen/package-PHP.html
New file
0,0 → 1,131
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="generator" content="ApiGen 2.8.0">
 
<title>Package PHP | TBFramework - v0.2</title>
 
<script type="text/javascript" src="resources/combined.js?4205936287"></script>
<script type="text/javascript" src="elementlist.js?117657638"></script>
<link rel="stylesheet" type="text/css" media="all" href="resources/style.css?3505392360">
 
</head>
 
<body>
<div id="left">
<div id="menu">
<a href="index.html" title="Overview"><span>Overview</span></a>
 
 
<div id="groups">
<h3>Packages</h3>
<ul>
<li><a href="package-Framework.html">Framework</a>
</li>
<li class="active"><a href="package-PHP.html">PHP</a>
</li>
</ul>
</div>
 
<hr>
 
 
<div id="elements">
<h3>Classes</h3>
<ul>
<li><a href="class-PDOStatement.html">PDOStatement</a></li>
</ul>
 
<h3>Interfaces</h3>
<ul>
<li><a href="class-Traversable.html">Traversable</a></li>
</ul>
 
 
<h3>Exceptions</h3>
<ul>
<li><a href="class-Exception.html">Exception</a></li>
</ul>
 
 
</div>
</div>
</div>
 
<div id="splitter"></div>
 
<div id="right">
<div id="rightInner">
<form id="search">
<input type="hidden" name="cx" value="">
<input type="hidden" name="ie" value="UTF-8">
<input type="text" name="q" class="text">
<input type="submit" value="Search">
</form>
 
<div id="navigation">
<ul>
<li>
<a href="index.html" title="Overview"><span>Overview</span></a>
</li>
<li class="active">
<span>Package</span> </li>
<li>
<span>Class</span> </li>
</ul>
<ul>
<li>
<a href="tree.html" title="Tree view of classes, interfaces, traits and exceptions"><span>Tree</span></a>
</li>
<li>
<a href="deprecated.html" title="List of deprecated elements"><span>Deprecated</span></a>
</li>
<li>
<a href="todo.html" title="Todo list"><span>Todo</span></a>
</li>
</ul>
<ul>
</ul>
</div>
 
<div id="content" class="package">
<h1>Package PHP</h1>
 
 
 
<table class="summary" id="classes">
<caption>Classes summary</caption>
<tr>
<td class="name"><a href="class-PDOStatement.html">PDOStatement</a></td>
<td></td>
</tr>
</table>
 
<table class="summary" id="interfaces">
<caption>Interfaces summary</caption>
<tr>
<td class="name"><a href="class-Traversable.html">Traversable</a></td>
<td></td>
</tr>
</table>
 
 
<table class="summary" id="exceptions">
<caption>Exceptions summary</caption>
<tr>
<td class="name"><a href="class-Exception.html">Exception</a></td>
<td></td>
</tr>
</table>
 
 
</div>
 
<div id="footer">
TBFramework - v0.2 API documentation generated by <a href="http://apigen.org">ApiGen 2.8.0</a>
</div>
</div>
</div>
</body>
</html>
/branches/v0.2-buhl/doc/ApiGen/source-class-Log.html
New file
0,0 → 1,287
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="generator" content="ApiGen 2.8.0">
<meta name="robots" content="noindex">
 
<title>File Log.php | TBFramework - v0.2</title>
 
<script type="text/javascript" src="resources/combined.js?4205936287"></script>
<script type="text/javascript" src="elementlist.js?117657638"></script>
<link rel="stylesheet" type="text/css" media="all" href="resources/style.css?3505392360">
 
</head>
 
<body>
<div id="left">
<div id="menu">
<a href="index.html" title="Overview"><span>Overview</span></a>
 
 
<div id="groups">
<h3>Packages</h3>
<ul>
<li class="active"><a href="package-Framework.html">Framework</a>
</li>
<li><a href="package-PHP.html">PHP</a>
</li>
</ul>
</div>
 
<hr>
 
 
<div id="elements">
<h3>Classes</h3>
<ul>
<li><a href="class-Application.html">Application</a></li>
<li><a href="class-Chronometre.html">Chronometre</a></li>
<li><a href="class-Config.html">Config</a></li>
<li><a href="class-Controleur.html">Controleur</a></li>
<li><a href="class-Debug.html">Debug</a></li>
<li><a href="class-GestionnaireException.html">GestionnaireException</a></li>
<li class="active"><a href="class-Log.html">Log</a></li>
<li><a href="class-Modele.html">Modele</a></li>
<li><a href="class-Registre.html">Registre</a></li>
<li><a href="class-SquelettePhp.html">SquelettePhp</a></li>
<li><a href="class-Url.html">Url</a></li>
</ul>
 
 
 
 
 
<h3>Functions</h3>
<ul>
<li><a href="function-autoloadAppliDefaut.html">autoloadAppliDefaut</a></li>
<li><a href="function-autoloadFw.html">autoloadFw</a></li>
</ul>
</div>
</div>
</div>
 
<div id="splitter"></div>
 
<div id="right">
<div id="rightInner">
<form id="search">
<input type="hidden" name="cx" value="">
<input type="hidden" name="ie" value="UTF-8">
<input type="text" name="q" class="text">
<input type="submit" value="Search">
</form>
 
<div id="navigation">
<ul>
<li>
<a href="index.html" title="Overview"><span>Overview</span></a>
</li>
<li>
<a href="package-Framework.html" title="Summary of Framework"><span>Package</span></a>
</li>
<li>
<a href="class-Log.html" title="Summary of Log"><span>Class</span></a>
</li>
</ul>
<ul>
<li>
<a href="tree.html" title="Tree view of classes, interfaces, traits and exceptions"><span>Tree</span></a>
</li>
<li>
<a href="deprecated.html" title="List of deprecated elements"><span>Deprecated</span></a>
</li>
<li>
<a href="todo.html" title="Todo list"><span>Todo</span></a>
</li>
</ul>
<ul>
</ul>
</div>
 
<pre><code><span id="1" class="l"><a class="l" href="#1"> 1: </a><span class="xlang">&lt;?php</span>
</span><span id="2" class="l"><a class="l" href="#2"> 2: </a><span class="php-comment">//declare(encoding='UTF-8');</span>
</span><span id="3" class="l"><a class="l" href="#3"> 3: </a><span class="php-comment">/**
</span></span><span id="4" class="l"><a class="l" href="#4"> 4: </a><span class="php-comment"> * Classe permettant de logger des messages dans les fichier situés dans le dossier de log.
</span></span><span id="5" class="l"><a class="l" href="#5"> 5: </a><span class="php-comment"> *
</span></span><span id="6" class="l"><a class="l" href="#6"> 6: </a><span class="php-comment"> * @category PHP 5.2
</span></span><span id="7" class="l"><a class="l" href="#7"> 7: </a><span class="php-comment"> * @package Framework
</span></span><span id="8" class="l"><a class="l" href="#8"> 8: </a><span class="php-comment"> * @author aurelien &lt;aurelien@tela-botanica.org&gt;
</span></span><span id="9" class="l"><a class="l" href="#9"> 9: </a><span class="php-comment"> * @copyright 2009 Tela-Botanica
</span></span><span id="10" class="l"><a class="l" href="#10"> 10: </a><span class="php-comment"> * @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
</span></span><span id="11" class="l"><a class="l" href="#11"> 11: </a><span class="php-comment"> * @version SVN: $Id: Log.php 255 2010-12-23 10:37:30Z jpm $
</span></span><span id="12" class="l"><a class="l" href="#12"> 12: </a><span class="php-comment"> * @link /doc/framework/
</span></span><span id="13" class="l"><a class="l" href="#13"> 13: </a><span class="php-comment"> */</span>
</span><span id="14" class="l"><a class="l" href="#14"> 14: </a>
</span><span id="15" class="l"><a class="l" href="#15"> 15: </a><span class="php-keyword1">class</span> <span class="php-keyword2">Log</span> {
</span><span id="16" class="l"><a class="l" href="#16"> 16: </a>
</span><span id="17" class="l"><a class="l" href="#17"> 17: </a> <span class="php-comment">/**
</span></span><span id="18" class="l"><a class="l" href="#18"> 18: </a><span class="php-comment"> * Boolean indiquant si l'on doit utiliser les logs ou pas
</span></span><span id="19" class="l"><a class="l" href="#19"> 19: </a><span class="php-comment"> */</span>
</span><span id="20" class="l"><a class="l" href="#20"> 20: </a> <span class="php-keyword1">private</span> <span class="php-keyword1">static</span> <span class="php-var"><a id="$logger" href="#$logger">$logger</a></span> = <span class="php-keyword1">false</span>;
</span><span id="21" class="l"><a class="l" href="#21"> 21: </a>
</span><span id="22" class="l"><a class="l" href="#22"> 22: </a> <span class="php-comment">/**
</span></span><span id="23" class="l"><a class="l" href="#23"> 23: </a><span class="php-comment"> * Tableau associatif stockant les descripteurs de fichiers
</span></span><span id="24" class="l"><a class="l" href="#24"> 24: </a><span class="php-comment"> */</span>
</span><span id="25" class="l"><a class="l" href="#25"> 25: </a> <span class="php-keyword1">private</span> <span class="php-keyword1">static</span> <span class="php-var"><a id="$fichiersLog" href="#$fichiersLog">$fichiersLog</a></span> = <span class="php-keyword1">array</span>();
</span><span id="26" class="l"><a class="l" href="#26"> 26: </a>
</span><span id="27" class="l"><a class="l" href="#27"> 27: </a> <span class="php-comment">/**
</span></span><span id="28" class="l"><a class="l" href="#28"> 28: </a><span class="php-comment"> * Chemin de base du dossier log de l'application
</span></span><span id="29" class="l"><a class="l" href="#29"> 29: </a><span class="php-comment"> */</span>
</span><span id="30" class="l"><a class="l" href="#30"> 30: </a> <span class="php-keyword1">private</span> <span class="php-keyword1">static</span> <span class="php-var"><a id="$cheminLogs" href="#$cheminLogs">$cheminLogs</a></span> = <span class="php-quote">''</span>;
</span><span id="31" class="l"><a class="l" href="#31"> 31: </a>
</span><span id="32" class="l"><a class="l" href="#32"> 32: </a> <span class="php-comment">/**
</span></span><span id="33" class="l"><a class="l" href="#33"> 33: </a><span class="php-comment"> * Booleen indiquant si l'on peut correctement écrire dans les fichiers de logs
</span></span><span id="34" class="l"><a class="l" href="#34"> 34: </a><span class="php-comment"> */</span>
</span><span id="35" class="l"><a class="l" href="#35"> 35: </a> <span class="php-keyword1">private</span> <span class="php-keyword1">static</span> <span class="php-var"><a id="$droitLogger" href="#$droitLogger">$droitLogger</a></span> = <span class="php-keyword1">true</span>;
</span><span id="36" class="l"><a class="l" href="#36"> 36: </a>
</span><span id="37" class="l"><a class="l" href="#37"> 37: </a> <span class="php-comment">/**
</span></span><span id="38" class="l"><a class="l" href="#38"> 38: </a><span class="php-comment"> * Zone horaire (pour éviter des avertissements dans les dates)
</span></span><span id="39" class="l"><a class="l" href="#39"> 39: </a><span class="php-comment"> */</span>
</span><span id="40" class="l"><a class="l" href="#40"> 40: </a> <span class="php-keyword1">private</span> <span class="php-keyword1">static</span> <span class="php-var"><a id="$timeZone" href="#$timeZone">$timeZone</a></span> = <span class="php-quote">'Europe/Paris'</span>;
</span><span id="41" class="l"><a class="l" href="#41"> 41: </a>
</span><span id="42" class="l"><a class="l" href="#42"> 42: </a> <span class="php-comment">/**
</span></span><span id="43" class="l"><a class="l" href="#43"> 43: </a><span class="php-comment"> * Taille maximum d'un fichier de log avant que celui ne soit archivé (en octets)
</span></span><span id="44" class="l"><a class="l" href="#44"> 44: </a><span class="php-comment"> */</span>
</span><span id="45" class="l"><a class="l" href="#45"> 45: </a> <span class="php-keyword1">private</span> <span class="php-keyword1">static</span> <span class="php-var"><a id="$tailleMax" href="#$tailleMax">$tailleMax</a></span> = <span class="php-num">10000</span>;
</span><span id="46" class="l"><a class="l" href="#46"> 46: </a>
</span><span id="47" class="l"><a class="l" href="#47"> 47: </a> <span class="php-comment">/**
</span></span><span id="48" class="l"><a class="l" href="#48"> 48: </a><span class="php-comment"> * séparateur de dossier dans un chemin
</span></span><span id="49" class="l"><a class="l" href="#49"> 49: </a><span class="php-comment"> */</span>
</span><span id="50" class="l"><a class="l" href="#50"> 50: </a> <span class="php-keyword1">private</span> <span class="php-keyword1">static</span> <span class="php-var"><a id="$sd" href="#$sd">$sd</a></span> = DIRECTORY_SEPARATOR;
</span><span id="51" class="l"><a class="l" href="#51"> 51: </a>
</span><span id="52" class="l"><a class="l" href="#52"> 52: </a> <span class="php-comment">/**
</span></span><span id="53" class="l"><a class="l" href="#53"> 53: </a><span class="php-comment"> * Extension des fichiers de log
</span></span><span id="54" class="l"><a class="l" href="#54"> 54: </a><span class="php-comment"> */</span>
</span><span id="55" class="l"><a class="l" href="#55"> 55: </a> <span class="php-keyword1">private</span> <span class="php-keyword1">static</span> <span class="php-var"><a id="$ext" href="#$ext">$ext</a></span> = <span class="php-quote">'.log'</span>;
</span><span id="56" class="l"><a class="l" href="#56"> 56: </a>
</span><span id="57" class="l"><a class="l" href="#57"> 57: </a> <span class="php-comment">/**
</span></span><span id="58" class="l"><a class="l" href="#58"> 58: </a><span class="php-comment"> * Initialiser les logs par défaut, sans tenir comptes des paramêtres de config.
</span></span><span id="59" class="l"><a class="l" href="#59"> 59: </a><span class="php-comment"> */</span>
</span><span id="60" class="l"><a class="l" href="#60"> 60: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_initialiser" href="#_initialiser">initialiser</a>() {
</span><span id="61" class="l"><a class="l" href="#61"> 61: </a> <span class="php-comment">// gestion de la timezone pour éviter des erreurs</span>
</span><span id="62" class="l"><a class="l" href="#62"> 62: </a> <span class="php-keyword1">if</span> (<span class="php-keyword2">function_exists</span>(<span class="php-quote">'date_default_timezone_set'</span>) &amp;&amp; <span class="php-keyword2">function_exists</span>(<span class="php-quote">'date_default_timezone_get'</span>)) {
</span><span id="63" class="l"><a class="l" href="#63"> 63: </a> <span class="php-keyword2">date_default_timezone_set</span>(self::<span class="php-var">$timeZone</span>);
</span><span id="64" class="l"><a class="l" href="#64"> 64: </a> }
</span><span id="65" class="l"><a class="l" href="#65"> 65: </a>
</span><span id="66" class="l"><a class="l" href="#66"> 66: </a> <span class="php-keyword1">if</span> (self::<span class="php-var">$logger</span> &amp;&amp; (!<span class="php-keyword2">is_dir</span>(self::<span class="php-var">$cheminLogs</span>) || !<span class="php-keyword2">is_writable</span>(self::<span class="php-var">$cheminLogs</span>))) {
</span><span id="67" class="l"><a class="l" href="#67"> 67: </a> self::desactiverEcriture();
</span><span id="68" class="l"><a class="l" href="#68"> 68: </a> }
</span><span id="69" class="l"><a class="l" href="#69"> 69: </a> }
</span><span id="70" class="l"><a class="l" href="#70"> 70: </a>
</span><span id="71" class="l"><a class="l" href="#71"> 71: </a> <span class="php-comment">/**
</span></span><span id="72" class="l"><a class="l" href="#72"> 72: </a><span class="php-comment"> * Configure le Log à partir des paramêtres de config.
</span></span><span id="73" class="l"><a class="l" href="#73"> 73: </a><span class="php-comment"> */</span>
</span><span id="74" class="l"><a class="l" href="#74"> 74: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_configurer" href="#_configurer">configurer</a>() {
</span><span id="75" class="l"><a class="l" href="#75"> 75: </a> self::<span class="php-var">$sd</span> = Config::get(<span class="php-quote">'ds'</span>);
</span><span id="76" class="l"><a class="l" href="#76"> 76: </a> self::<span class="php-var">$cheminLogs</span> = Config::get(<span class="php-quote">'chemin_logs'</span>);
</span><span id="77" class="l"><a class="l" href="#77"> 77: </a> self::<span class="php-var">$timeZone</span> = (Config::get(<span class="php-quote">'fw_timezone'</span>) != <span class="php-quote">''</span>) ? Config::get(<span class="php-quote">'fw_timezone'</span>) : self::<span class="php-var">$timeZone</span>;
</span><span id="78" class="l"><a class="l" href="#78"> 78: </a> self::<span class="php-var">$tailleMax</span> = (Config::get(<span class="php-quote">'fw_taille_max_logs'</span>) != <span class="php-quote">''</span>) ? Config::get(<span class="php-quote">'fw_taille_max_logs'</span>) : self::<span class="php-var">$tailleMax</span>;
</span><span id="79" class="l"><a class="l" href="#79"> 79: </a> self::<span class="php-var">$logger</span> = (Config::get(<span class="php-quote">'fw_log_debogage'</span>) != <span class="php-quote">''</span>) ? Config::get(<span class="php-quote">'fw_log_debogage'</span>) : self::<span class="php-var">$logger</span>;
</span><span id="80" class="l"><a class="l" href="#80"> 80: </a> self::initialiser();
</span><span id="81" class="l"><a class="l" href="#81"> 81: </a> }
</span><span id="82" class="l"><a class="l" href="#82"> 82: </a>
</span><span id="83" class="l"><a class="l" href="#83"> 83: </a> <span class="php-comment">/**
</span></span><span id="84" class="l"><a class="l" href="#84"> 84: </a><span class="php-comment"> * Ajoute une entrée au log spécifié par le paramètre $nomFichier
</span></span><span id="85" class="l"><a class="l" href="#85"> 85: </a><span class="php-comment"> * @param string $nomFichier le nom du fichier dans lequel écrire
</span></span><span id="86" class="l"><a class="l" href="#86"> 86: </a><span class="php-comment"> */</span>
</span><span id="87" class="l"><a class="l" href="#87"> 87: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_ajouterEntree" href="#_ajouterEntree">ajouterEntree</a>(<span class="php-var">$nomFichier</span>, <span class="php-var">$entree</span>, <span class="php-var">$mode</span> = <span class="php-quote">'a+'</span>) {
</span><span id="88" class="l"><a class="l" href="#88"> 88: </a> <span class="php-keyword1">if</span> (self::<span class="php-var">$droitLogger</span>) {
</span><span id="89" class="l"><a class="l" href="#89"> 89: </a> <span class="php-var">$date</span> = <span class="php-quote">&quot;\n&quot;</span>.<span class="php-quote">&quot;\n&quot;</span>.<span class="php-keyword2">date</span>(<span class="php-quote">'d m Y H:i'</span>).<span class="php-quote">&quot;\n&quot;</span> ;
</span><span id="90" class="l"><a class="l" href="#90"> 90: </a>
</span><span id="91" class="l"><a class="l" href="#91"> 91: </a> <span class="php-comment">// si le fichier est déjà dans le tableau et qu'on peut y écrire</span>
</span><span id="92" class="l"><a class="l" href="#92"> 92: </a> <span class="php-keyword1">if</span>(self::verifierOuvrirFichier(<span class="php-var">$nomFichier</span>,<span class="php-var">$mode</span>)) {
</span><span id="93" class="l"><a class="l" href="#93"> 93: </a> <span class="php-comment">// on y écrit le message de log</span>
</span><span id="94" class="l"><a class="l" href="#94"> 94: </a> <span class="php-keyword2">fwrite</span>(self::<span class="php-var">$fichiersLog</span>[<span class="php-var">$nomFichier</span>],<span class="php-var">$date</span>.<span class="php-var">$entree</span>);
</span><span id="95" class="l"><a class="l" href="#95"> 95: </a> <span class="php-comment">// on vérifie si le fichier ne dépasse pas la taille maximale</span>
</span><span id="96" class="l"><a class="l" href="#96"> 96: </a> self::verifierTailleFichierOuArchiver(<span class="php-var">$nomFichier</span>);
</span><span id="97" class="l"><a class="l" href="#97"> 97: </a> } <span class="php-keyword1">else</span> {
</span><span id="98" class="l"><a class="l" href="#98"> 98: </a> <span class="php-comment">// sinon on interdit l'écriture</span>
</span><span id="99" class="l"><a class="l" href="#99"> 99: </a> self::desactiverEcriture(<span class="php-var">$nomFichier</span>);
</span><span id="100" class="l"><a class="l" href="#100">100: </a> }
</span><span id="101" class="l"><a class="l" href="#101">101: </a> }
</span><span id="102" class="l"><a class="l" href="#102">102: </a> }
</span><span id="103" class="l"><a class="l" href="#103">103: </a>
</span><span id="104" class="l"><a class="l" href="#104">104: </a> <span class="php-comment">/**
</span></span><span id="105" class="l"><a class="l" href="#105">105: </a><span class="php-comment"> * Vide un fichier log indiqué
</span></span><span id="106" class="l"><a class="l" href="#106">106: </a><span class="php-comment"> * @param string $nomFichier le nom du fichier à vider
</span></span><span id="107" class="l"><a class="l" href="#107">107: </a><span class="php-comment"> */</span>
</span><span id="108" class="l"><a class="l" href="#108">108: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_viderLog" href="#_viderLog">viderLog</a>(<span class="php-var">$nomFichier</span>) {
</span><span id="109" class="l"><a class="l" href="#109">109: </a> self::ajouterEntree(<span class="php-var">$nomFichier</span>, <span class="php-quote">''</span>, <span class="php-quote">'w'</span>);
</span><span id="110" class="l"><a class="l" href="#110">110: </a> }
</span><span id="111" class="l"><a class="l" href="#111">111: </a>
</span><span id="112" class="l"><a class="l" href="#112">112: </a> <span class="php-comment">/**
</span></span><span id="113" class="l"><a class="l" href="#113">113: </a><span class="php-comment"> * Vérifie la présence d'un fichier dans le tableau, ses droits d'écriture, l'ouvre si nécessaire.
</span></span><span id="114" class="l"><a class="l" href="#114">114: </a><span class="php-comment"> *
</span></span><span id="115" class="l"><a class="l" href="#115">115: </a><span class="php-comment"> * @param string $nomFichier le nom du fichier dont on doit vérifier la présence
</span></span><span id="116" class="l"><a class="l" href="#116">116: </a><span class="php-comment"> * @return boolean true si le fichier est ouvert ou maintenant accessible, false sinon
</span></span><span id="117" class="l"><a class="l" href="#117">117: </a><span class="php-comment"> */</span>
</span><span id="118" class="l"><a class="l" href="#118">118: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_verifierOuvrirFichier" href="#_verifierOuvrirFichier">verifierOuvrirFichier</a>(<span class="php-var">$nomFichier</span>,<span class="php-var">$mode</span>) {
</span><span id="119" class="l"><a class="l" href="#119">119: </a> <span class="php-comment">// le fichier est il déjà ouvert ?</span>
</span><span id="120" class="l"><a class="l" href="#120">120: </a> <span class="php-keyword1">if</span> (<span class="php-keyword2">in_array</span>(<span class="php-var">$nomFichier</span>, self::<span class="php-var">$fichiersLog</span>)) {
</span><span id="121" class="l"><a class="l" href="#121">121: </a> <span class="php-comment">// si oui peut on y écrire ?</span>
</span><span id="122" class="l"><a class="l" href="#122">122: </a> <span class="php-keyword1">if</span> (<span class="php-keyword2">is_writable</span>(self::<span class="php-var">$cheminLogs</span>.<span class="php-var">$nomFichier</span>.self::<span class="php-var">$ext</span>)) {
</span><span id="123" class="l"><a class="l" href="#123">123: </a> <span class="php-comment">// si oui on renvoie le descripteur</span>
</span><span id="124" class="l"><a class="l" href="#124">124: </a> <span class="php-keyword1">return</span> <span class="php-keyword1">true</span>;
</span><span id="125" class="l"><a class="l" href="#125">125: </a> }
</span><span id="126" class="l"><a class="l" href="#126">126: </a> <span class="php-keyword1">return</span> <span class="php-keyword1">false</span>;
</span><span id="127" class="l"><a class="l" href="#127">127: </a> } <span class="php-keyword1">else</span> {
</span><span id="128" class="l"><a class="l" href="#128">128: </a> <span class="php-comment">// sinon on l'ouvre</span>
</span><span id="129" class="l"><a class="l" href="#129">129: </a> <span class="php-var">$fp</span> = @<span class="php-keyword2">fopen</span>(self::<span class="php-var">$cheminLogs</span>.<span class="php-var">$nomFichier</span>.self::<span class="php-var">$ext</span>,<span class="php-var">$mode</span>);
</span><span id="130" class="l"><a class="l" href="#130">130: </a> <span class="php-comment">// si l'ouverture a réussi et si le fichier a les droits d'écriture</span>
</span><span id="131" class="l"><a class="l" href="#131">131: </a> <span class="php-keyword1">if</span> (<span class="php-var">$fp</span> &amp;&amp; <span class="php-keyword2">is_writable</span>(self::<span class="php-var">$cheminLogs</span>.<span class="php-var">$nomFichier</span>.self::<span class="php-var">$ext</span>)) {
</span><span id="132" class="l"><a class="l" href="#132">132: </a> <span class="php-comment">// si oui on renvoie le descripteur qu'on ajoute au tableau</span>
</span><span id="133" class="l"><a class="l" href="#133">133: </a> self::<span class="php-var">$fichiersLog</span>[<span class="php-var">$nomFichier</span>] = <span class="php-var">$fp</span>;
</span><span id="134" class="l"><a class="l" href="#134">134: </a> <span class="php-keyword1">return</span> <span class="php-keyword1">true</span>;
</span><span id="135" class="l"><a class="l" href="#135">135: </a> }
</span><span id="136" class="l"><a class="l" href="#136">136: </a> <span class="php-keyword1">return</span> <span class="php-keyword1">false</span>;
</span><span id="137" class="l"><a class="l" href="#137">137: </a> }
</span><span id="138" class="l"><a class="l" href="#138">138: </a> }
</span><span id="139" class="l"><a class="l" href="#139">139: </a>
</span><span id="140" class="l"><a class="l" href="#140">140: </a> <span class="php-comment">/**
</span></span><span id="141" class="l"><a class="l" href="#141">141: </a><span class="php-comment"> * Vérifie la taille d'un fichier donné et si celle ci est trop importante
</span></span><span id="142" class="l"><a class="l" href="#142">142: </a><span class="php-comment"> * archive le fichier de log
</span></span><span id="143" class="l"><a class="l" href="#143">143: </a><span class="php-comment"> * @param string $nomFichier nom du fichier à vérifier
</span></span><span id="144" class="l"><a class="l" href="#144">144: </a><span class="php-comment"> */</span>
</span><span id="145" class="l"><a class="l" href="#145">145: </a> <span class="php-keyword1">private</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_verifierTailleFichierOuArchiver" href="#_verifierTailleFichierOuArchiver">verifierTailleFichierOuArchiver</a>(<span class="php-var">$nomFichier</span>) {
</span><span id="146" class="l"><a class="l" href="#146">146: </a> <span class="php-keyword1">if</span>(<span class="php-keyword2">filesize</span>(self::<span class="php-var">$cheminLogs</span>.<span class="php-var">$nomFichier</span>.self::<span class="php-var">$ext</span>) &gt; self::<span class="php-var">$tailleMax</span>) {
</span><span id="147" class="l"><a class="l" href="#147">147: </a> <span class="php-keyword2">rename</span>(self::<span class="php-var">$cheminLogs</span>.<span class="php-var">$nomFichier</span>.self::<span class="php-var">$ext</span>,self::<span class="php-var">$cheminLogs</span>.<span class="php-var">$nomFichier</span>.<span class="php-keyword2">date</span>(<span class="php-quote">'d_m_Y_H:i'</span>).self::<span class="php-var">$ext</span>);
</span><span id="148" class="l"><a class="l" href="#148">148: </a> self::ajouterEntree(<span class="php-var">$nomFichier</span>,<span class="php-quote">''</span>);
</span><span id="149" class="l"><a class="l" href="#149">149: </a> }
</span><span id="150" class="l"><a class="l" href="#150">150: </a> }
</span><span id="151" class="l"><a class="l" href="#151">151: </a>
</span><span id="152" class="l"><a class="l" href="#152">152: </a> <span class="php-comment">/**
</span></span><span id="153" class="l"><a class="l" href="#153">153: </a><span class="php-comment"> * Désactive l'écriture du log et envoie un message au gestionnaire d'erreurs
</span></span><span id="154" class="l"><a class="l" href="#154">154: </a><span class="php-comment"> * @param string $nomFichier le nom du fichier qui a causé l'erreur
</span></span><span id="155" class="l"><a class="l" href="#155">155: </a><span class="php-comment"> */</span>
</span><span id="156" class="l"><a class="l" href="#156">156: </a> <span class="php-keyword1">private</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_desactiverEcriture" href="#_desactiverEcriture">desactiverEcriture</a>(<span class="php-var">$nomFichier</span> = <span class="php-quote">''</span>) {
</span><span id="157" class="l"><a class="l" href="#157">157: </a> self::<span class="php-var">$droitLogger</span> = <span class="php-keyword1">false</span>;
</span><span id="158" class="l"><a class="l" href="#158">158: </a> <span class="php-keyword1">if</span> (<span class="php-var">$nomFichier</span> != <span class="php-quote">''</span>) {
</span><span id="159" class="l"><a class="l" href="#159">159: </a> <span class="php-var">$fichierDossier</span> = <span class="php-quote">'fichier '</span>.<span class="php-var">$nomFichier</span> ;
</span><span id="160" class="l"><a class="l" href="#160">160: </a> } <span class="php-keyword1">else</span> {
</span><span id="161" class="l"><a class="l" href="#161">161: </a> <span class="php-var">$fichierDossier</span> = <span class="php-quote">'dossier des logs'</span>;
</span><span id="162" class="l"><a class="l" href="#162">162: </a> }
</span><span id="163" class="l"><a class="l" href="#163">163: </a> <span class="php-var">$message</span> = <span class="php-quote">'Écriture impossible dans le '</span>.<span class="php-var">$fichierDossier</span>.<span class="php-quote">', Assurez-vous des droits du dossier et des fichiers'</span>;
</span><span id="164" class="l"><a class="l" href="#164">164: </a> <span class="php-var">$e</span> = <span class="php-keyword1">new</span> ErrorException(<span class="php-var">$message</span>, <span class="php-num">0</span>, E_USER_WARNING, __FILE__, __LINE__);
</span><span id="165" class="l"><a class="l" href="#165">165: </a> GestionnaireException::gererException(<span class="php-var">$e</span>);
</span><span id="166" class="l"><a class="l" href="#166">166: </a> }
</span><span id="167" class="l"><a class="l" href="#167">167: </a>
</span><span id="168" class="l"><a class="l" href="#168">168: </a> <span class="php-comment">/**
</span></span><span id="169" class="l"><a class="l" href="#169">169: </a><span class="php-comment"> * destructeur de classe, ferme les descripteurs ouverts
</span></span><span id="170" class="l"><a class="l" href="#170">170: </a><span class="php-comment"> */</span>
</span><span id="171" class="l"><a class="l" href="#171">171: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> <a id="___destruct" href="#___destruct">__destruct</a>() {
</span><span id="172" class="l"><a class="l" href="#172">172: </a> <span class="php-keyword1">foreach</span>(self::<span class="php-var">$fichiersLog</span> <span class="php-keyword1">as</span> <span class="php-var">$nomFichier</span> =&gt; <span class="php-var">$fp</span>) {
</span><span id="173" class="l"><a class="l" href="#173">173: </a> <span class="php-keyword2">fclose</span>(<span class="php-var">$fp</span>);
</span><span id="174" class="l"><a class="l" href="#174">174: </a> }
</span><span id="175" class="l"><a class="l" href="#175">175: </a> }
</span><span id="176" class="l"><a class="l" href="#176">176: </a>}
</span><span id="177" class="l"><a class="l" href="#177">177: </a><span class="xlang">?&gt;</span>
</span><span id="178" class="l"><a class="l" href="#178">178: </a></span></code></pre>
 
<div id="footer">
TBFramework - v0.2 API documentation generated by <a href="http://apigen.org">ApiGen 2.8.0</a>
</div>
</div>
</div>
</body>
</html>
/branches/v0.2-buhl/doc/ApiGen/source-class-SquelettePhp.html
New file
0,0 → 1,183
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="generator" content="ApiGen 2.8.0">
<meta name="robots" content="noindex">
 
<title>File SquelettePhp.php | TBFramework - v0.2</title>
 
<script type="text/javascript" src="resources/combined.js?4205936287"></script>
<script type="text/javascript" src="elementlist.js?117657638"></script>
<link rel="stylesheet" type="text/css" media="all" href="resources/style.css?3505392360">
 
</head>
 
<body>
<div id="left">
<div id="menu">
<a href="index.html" title="Overview"><span>Overview</span></a>
 
 
<div id="groups">
<h3>Packages</h3>
<ul>
<li class="active"><a href="package-Framework.html">Framework</a>
</li>
<li><a href="package-PHP.html">PHP</a>
</li>
</ul>
</div>
 
<hr>
 
 
<div id="elements">
<h3>Classes</h3>
<ul>
<li><a href="class-Application.html">Application</a></li>
<li><a href="class-Chronometre.html">Chronometre</a></li>
<li><a href="class-Config.html">Config</a></li>
<li><a href="class-Controleur.html">Controleur</a></li>
<li><a href="class-Debug.html">Debug</a></li>
<li><a href="class-GestionnaireException.html">GestionnaireException</a></li>
<li><a href="class-Log.html">Log</a></li>
<li><a href="class-Modele.html">Modele</a></li>
<li><a href="class-Registre.html">Registre</a></li>
<li class="active"><a href="class-SquelettePhp.html">SquelettePhp</a></li>
<li><a href="class-Url.html">Url</a></li>
</ul>
 
 
 
 
 
<h3>Functions</h3>
<ul>
<li><a href="function-autoloadAppliDefaut.html">autoloadAppliDefaut</a></li>
<li><a href="function-autoloadFw.html">autoloadFw</a></li>
</ul>
</div>
</div>
</div>
 
<div id="splitter"></div>
 
<div id="right">
<div id="rightInner">
<form id="search">
<input type="hidden" name="cx" value="">
<input type="hidden" name="ie" value="UTF-8">
<input type="text" name="q" class="text">
<input type="submit" value="Search">
</form>
 
<div id="navigation">
<ul>
<li>
<a href="index.html" title="Overview"><span>Overview</span></a>
</li>
<li>
<a href="package-Framework.html" title="Summary of Framework"><span>Package</span></a>
</li>
<li>
<a href="class-SquelettePhp.html" title="Summary of SquelettePhp"><span>Class</span></a>
</li>
</ul>
<ul>
<li>
<a href="tree.html" title="Tree view of classes, interfaces, traits and exceptions"><span>Tree</span></a>
</li>
<li>
<a href="deprecated.html" title="List of deprecated elements"><span>Deprecated</span></a>
</li>
<li>
<a href="todo.html" title="Todo list"><span>Todo</span></a>
</li>
</ul>
<ul>
</ul>
</div>
 
<pre><code><span id="1" class="l"><a class="l" href="#1"> 1: </a><span class="xlang">&lt;?php</span>
</span><span id="2" class="l"><a class="l" href="#2"> 2: </a><span class="php-comment">// declare(encoding='UTF-8');</span>
</span><span id="3" class="l"><a class="l" href="#3"> 3: </a><span class="php-comment">/**
</span></span><span id="4" class="l"><a class="l" href="#4"> 4: </a><span class="php-comment"> * Classe SquelettePhp, traitant les squelette Php utilisant la syntaxe courte php ou pas.
</span></span><span id="5" class="l"><a class="l" href="#5"> 5: </a><span class="php-comment"> * Ces méthodes sont statiques.
</span></span><span id="6" class="l"><a class="l" href="#6"> 6: </a><span class="php-comment"> *
</span></span><span id="7" class="l"><a class="l" href="#7"> 7: </a><span class="php-comment"> * @category php5
</span></span><span id="8" class="l"><a class="l" href="#8"> 8: </a><span class="php-comment"> * @package Framework
</span></span><span id="9" class="l"><a class="l" href="#9"> 9: </a><span class="php-comment"> * @author Jean-Pascal MILCENT &lt;jpm@tela-botanica.org&gt;
</span></span><span id="10" class="l"><a class="l" href="#10">10: </a><span class="php-comment"> * @copyright 2010 Tela-Botanica
</span></span><span id="11" class="l"><a class="l" href="#11">11: </a><span class="php-comment"> * @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
</span></span><span id="12" class="l"><a class="l" href="#12">12: </a><span class="php-comment"> * @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
</span></span><span id="13" class="l"><a class="l" href="#13">13: </a><span class="php-comment"> * @version SVN: $$Id: SquelettePhp.php 153 2010-03-04 10:48:32Z jpm $$
</span></span><span id="14" class="l"><a class="l" href="#14">14: </a><span class="php-comment"> * @link /doc/framework/
</span></span><span id="15" class="l"><a class="l" href="#15">15: </a><span class="php-comment"> */</span>
</span><span id="16" class="l"><a class="l" href="#16">16: </a><span class="php-keyword1">class</span> <a id="SquelettePhp" href="#SquelettePhp">SquelettePhp</a> {
</span><span id="17" class="l"><a class="l" href="#17">17: </a>
</span><span id="18" class="l"><a class="l" href="#18">18: </a> <span class="php-comment">/**
</span></span><span id="19" class="l"><a class="l" href="#19">19: </a><span class="php-comment"> * Fonction prenant en paramètre un chemin de fichier squelette et un tableau associatif de données,
</span></span><span id="20" class="l"><a class="l" href="#20">20: </a><span class="php-comment"> * en extrait les variables, charge le squelette et retourne le résultat des deux combinés.
</span></span><span id="21" class="l"><a class="l" href="#21">21: </a><span class="php-comment"> *
</span></span><span id="22" class="l"><a class="l" href="#22">22: </a><span class="php-comment"> * @param String $fichier le chemin du fichier du squelette
</span></span><span id="23" class="l"><a class="l" href="#23">23: </a><span class="php-comment"> * @param Array $donnees un tableau associatif contenant les variables a injecter dans le squelette.
</span></span><span id="24" class="l"><a class="l" href="#24">24: </a><span class="php-comment"> *
</span></span><span id="25" class="l"><a class="l" href="#25">25: </a><span class="php-comment"> * @return boolean false si la vue n'existe pas, sinon la chaine résultat.
</span></span><span id="26" class="l"><a class="l" href="#26">26: </a><span class="php-comment"> */</span>
</span><span id="27" class="l"><a class="l" href="#27">27: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_analyser" href="#_analyser">analyser</a>(<span class="php-var">$fichier</span>, <span class="php-keyword1">Array</span> <span class="php-var">$donnees</span> = <span class="php-keyword1">array</span>()) {
</span><span id="28" class="l"><a class="l" href="#28">28: </a> <span class="php-var">$sortie</span> = <span class="php-keyword1">false</span>;
</span><span id="29" class="l"><a class="l" href="#29">29: </a> <span class="php-keyword1">if</span> (<span class="php-keyword2">file_exists</span>(<span class="php-var">$fichier</span>)) {
</span><span id="30" class="l"><a class="l" href="#30">30: </a> <span class="php-comment">// Extraction des variables du tableau de données</span>
</span><span id="31" class="l"><a class="l" href="#31">31: </a> <span class="php-keyword2">extract</span>(<span class="php-var">$donnees</span>);
</span><span id="32" class="l"><a class="l" href="#32">32: </a> <span class="php-comment">// Démarage de la bufferisation de sortie</span>
</span><span id="33" class="l"><a class="l" href="#33">33: </a> <span class="php-keyword2">ob_start</span>();
</span><span id="34" class="l"><a class="l" href="#34">34: </a> <span class="php-comment">// Si les tags courts sont activés</span>
</span><span id="35" class="l"><a class="l" href="#35">35: </a> <span class="php-keyword1">if</span> ((bool) @<span class="php-keyword2">ini_get</span>(<span class="php-quote">'short_open_tag'</span>) === <span class="php-keyword1">true</span>) {
</span><span id="36" class="l"><a class="l" href="#36">36: </a> <span class="php-comment">// Simple inclusion du squelette</span>
</span><span id="37" class="l"><a class="l" href="#37">37: </a> <span class="php-keyword1">include</span> <span class="php-var">$fichier</span>;
</span><span id="38" class="l"><a class="l" href="#38">38: </a> } <span class="php-keyword1">else</span> {
</span><span id="39" class="l"><a class="l" href="#39">39: </a> <span class="php-comment">// Sinon, remplacement des tags courts par la syntaxe classique avec echo</span>
</span><span id="40" class="l"><a class="l" href="#40">40: </a> <span class="php-var">$html_et_code_php</span> = self::traiterTagsCourts(<span class="php-var">$fichier</span>);
</span><span id="41" class="l"><a class="l" href="#41">41: </a> <span class="php-comment">// Pour évaluer du php mélangé dans du html il est nécessaire de fermer la balise php ouverte par eval</span>
</span><span id="42" class="l"><a class="l" href="#42">42: </a> <span class="php-var">$html_et_code_php</span> = <span class="php-quote">'?&gt;'</span>.<span class="php-var">$html_et_code_php</span>;
</span><span id="43" class="l"><a class="l" href="#43">43: </a> <span class="php-comment">// Interprétation du html et du php dans le buffer</span>
</span><span id="44" class="l"><a class="l" href="#44">44: </a> <span class="php-keyword1">echo</span> <span class="php-keyword2">eval</span>(<span class="php-var">$html_et_code_php</span>);
</span><span id="45" class="l"><a class="l" href="#45">45: </a> }
</span><span id="46" class="l"><a class="l" href="#46">46: </a> <span class="php-comment">// Récupèration du contenu du buffer</span>
</span><span id="47" class="l"><a class="l" href="#47">47: </a> <span class="php-var">$sortie</span> = <span class="php-keyword2">ob_get_contents</span>();
</span><span id="48" class="l"><a class="l" href="#48">48: </a> <span class="php-comment">// Suppression du buffer</span>
</span><span id="49" class="l"><a class="l" href="#49">49: </a> @<span class="php-keyword2">ob_end_clean</span>();
</span><span id="50" class="l"><a class="l" href="#50">50: </a> } <span class="php-keyword1">else</span> {
</span><span id="51" class="l"><a class="l" href="#51">51: </a> <span class="php-var">$msg</span> = <span class="php-quote">&quot;Le fichier du squelette '</span><span class="php-var">$fichier</span><span class="php-quote">' n'existe pas.&quot;</span>;
</span><span id="52" class="l"><a class="l" href="#52">52: </a> <span class="php-keyword2">trigger_error</span>(<span class="php-var">$msg</span>, E_USER_WARNING);
</span><span id="53" class="l"><a class="l" href="#53">53: </a> }
</span><span id="54" class="l"><a class="l" href="#54">54: </a> <span class="php-comment">// Retourne le contenu</span>
</span><span id="55" class="l"><a class="l" href="#55">55: </a> <span class="php-keyword1">return</span> <span class="php-var">$sortie</span>;
</span><span id="56" class="l"><a class="l" href="#56">56: </a> }
</span><span id="57" class="l"><a class="l" href="#57">57: </a>
</span><span id="58" class="l"><a class="l" href="#58">58: </a> <span class="php-comment">/**
</span></span><span id="59" class="l"><a class="l" href="#59">59: </a><span class="php-comment"> * Fonction chargeant le contenu du squelette et remplaçant les tags court php (&lt;?= ...) par un tag long avec echo.
</span></span><span id="60" class="l"><a class="l" href="#60">60: </a><span class="php-comment"> *
</span></span><span id="61" class="l"><a class="l" href="#61">61: </a><span class="php-comment"> * @param String $chemin_squelette le chemin du fichier du squelette
</span></span><span id="62" class="l"><a class="l" href="#62">62: </a><span class="php-comment"> *
</span></span><span id="63" class="l"><a class="l" href="#63">63: </a><span class="php-comment"> * @return string le contenu du fichier du squelette php avec les tags courts remplacés.
</span></span><span id="64" class="l"><a class="l" href="#64">64: </a><span class="php-comment"> */</span>
</span><span id="65" class="l"><a class="l" href="#65">65: </a> <span class="php-keyword1">private</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_traiterTagsCourts" href="#_traiterTagsCourts">traiterTagsCourts</a>(<span class="php-var">$chemin_squelette</span>) {
</span><span id="66" class="l"><a class="l" href="#66">66: </a> <span class="php-var">$contenu</span> = <span class="php-keyword2">file_get_contents</span>(<span class="php-var">$chemin_squelette</span>);
</span><span id="67" class="l"><a class="l" href="#67">67: </a> <span class="php-comment">// Remplacement de tags courts par un tag long avec echo</span>
</span><span id="68" class="l"><a class="l" href="#68">68: </a> <span class="php-var">$contenu</span> = <span class="php-keyword2">str_replace</span>(<span class="php-quote">'&lt;?='</span>, <span class="php-quote">'&lt;?php echo '</span>, <span class="php-var">$contenu</span>);
</span><span id="69" class="l"><a class="l" href="#69">69: </a> <span class="php-comment">// Ajout systématique d'un point virgule avant la fermeture php</span>
</span><span id="70" class="l"><a class="l" href="#70">70: </a> <span class="php-var">$contenu</span> = <span class="php-keyword2">preg_replace</span>(<span class="php-quote">&quot;/;*\s*\?&gt;/&quot;</span>, <span class="php-quote">&quot;; ?&gt;&quot;</span>, <span class="php-var">$contenu</span>);
</span><span id="71" class="l"><a class="l" href="#71">71: </a> <span class="php-keyword1">return</span> <span class="php-var">$contenu</span>;
</span><span id="72" class="l"><a class="l" href="#72">72: </a> }
</span><span id="73" class="l"><a class="l" href="#73">73: </a>}
</span><span id="74" class="l"><a class="l" href="#74">74: </a></span><span class="xlang">?&gt;</span></code></pre>
 
<div id="footer">
TBFramework - v0.2 API documentation generated by <a href="http://apigen.org">ApiGen 2.8.0</a>
</div>
</div>
</div>
</body>
</html>
/branches/v0.2-buhl/doc/ApiGen/package-Framework.html
New file
0,0 → 1,190
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="generator" content="ApiGen 2.8.0">
 
<title>Package Framework | TBFramework - v0.2</title>
 
<script type="text/javascript" src="resources/combined.js?4205936287"></script>
<script type="text/javascript" src="elementlist.js?117657638"></script>
<link rel="stylesheet" type="text/css" media="all" href="resources/style.css?3505392360">
 
</head>
 
<body>
<div id="left">
<div id="menu">
<a href="index.html" title="Overview"><span>Overview</span></a>
 
 
<div id="groups">
<h3>Packages</h3>
<ul>
<li class="active"><a href="package-Framework.html">Framework</a>
</li>
<li><a href="package-PHP.html">PHP</a>
</li>
</ul>
</div>
 
<hr>
 
 
<div id="elements">
<h3>Classes</h3>
<ul>
<li><a href="class-Application.html">Application</a></li>
<li><a href="class-Chronometre.html">Chronometre</a></li>
<li><a href="class-Config.html">Config</a></li>
<li><a href="class-Controleur.html">Controleur</a></li>
<li><a href="class-Debug.html">Debug</a></li>
<li><a href="class-GestionnaireException.html">GestionnaireException</a></li>
<li><a href="class-Log.html">Log</a></li>
<li><a href="class-Modele.html">Modele</a></li>
<li><a href="class-Registre.html">Registre</a></li>
<li><a href="class-SquelettePhp.html">SquelettePhp</a></li>
<li><a href="class-Url.html">Url</a></li>
</ul>
 
 
 
 
 
<h3>Functions</h3>
<ul>
<li><a href="function-autoloadAppliDefaut.html">autoloadAppliDefaut</a></li>
<li><a href="function-autoloadFw.html">autoloadFw</a></li>
</ul>
</div>
</div>
</div>
 
<div id="splitter"></div>
 
<div id="right">
<div id="rightInner">
<form id="search">
<input type="hidden" name="cx" value="">
<input type="hidden" name="ie" value="UTF-8">
<input type="text" name="q" class="text">
<input type="submit" value="Search">
</form>
 
<div id="navigation">
<ul>
<li>
<a href="index.html" title="Overview"><span>Overview</span></a>
</li>
<li class="active">
<span>Package</span> </li>
<li>
<span>Class</span> </li>
</ul>
<ul>
<li>
<a href="tree.html" title="Tree view of classes, interfaces, traits and exceptions"><span>Tree</span></a>
</li>
<li>
<a href="deprecated.html" title="List of deprecated elements"><span>Deprecated</span></a>
</li>
<li>
<a href="todo.html" title="Todo list"><span>Todo</span></a>
</li>
</ul>
<ul>
</ul>
</div>
 
<div id="content" class="package">
<h1>Package Framework</h1>
 
 
 
<table class="summary" id="classes">
<caption>Classes summary</caption>
<tr>
<td class="name"><a href="class-Application.html">Application</a></td>
<td>Classe fournissant des informations au Framework sur l'application.
<!-- by Texy2! --></td>
</tr>
<tr>
<td class="name"><a href="class-Chronometre.html">Chronometre</a></td>
<td>Classe Chronometre() - Permet de stocker et d'afficher les temps d'éxécution
de script.</td>
</tr>
<tr>
<td class="name"><a href="class-Config.html">Config</a></td>
<td>Config permet de charger automatiquement les fichiers ini du Framework et de
l'application. Elle offre l'accès en lecture seule aux paramètres de config.
C'est une Singleton.</td>
</tr>
<tr>
<td class="name"><a href="class-Controleur.html">Controleur</a></td>
<td>Classe Controleur, coeur d'une application, c'est normalement la seule classe
d'une application qui devrait être appelée de l'extérieur. Elle est abstraite
donc doit obligatoirement être étendue.</td>
</tr>
<tr>
<td class="name"><a href="class-Debug.html">Debug</a></td>
<td>Classe fournissant des fonctions de débogage équivalante à var_dump et
print_r. 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.</td>
</tr>
<tr>
<td class="name"><a href="class-GestionnaireException.html">GestionnaireException</a></td>
<td>Classe de gestion des exceptions. C'est un Singleton.</td>
</tr>
<tr>
<td class="name"><a href="class-Log.html">Log</a></td>
<td>Classe permettant de logger des messages dans les fichier situés dans le
dossier de log.</td>
</tr>
<tr>
<td class="name"><a href="class-Modele.html">Modele</a></td>
<td>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.</td>
</tr>
<tr>
<td class="name"><a href="class-Registre.html">Registre</a></td>
<td>Classe registre, qui permet un accès à différentes variables à travers les
autres classes. C'est un singleton</td>
</tr>
<tr>
<td class="name"><a href="class-SquelettePhp.html">SquelettePhp</a></td>
<td>Classe SquelettePhp, traitant les squelette Php utilisant la syntaxe courte php
ou pas. Ces méthodes sont statiques.</td>
</tr>
<tr>
<td class="name"><a href="class-Url.html">Url</a></td>
<td>classe Url, gérant le découpage des paramètres, leurs modification etc...
Traduction et conversion d'une classe (NET_Url2) issue de Pear</td>
</tr>
</table>
 
 
 
 
 
<table class="summary" id="functions">
<caption>Functions summary</caption>
<tr>
<td class="name"><a href="function-autoloadAppliDefaut.html">autoloadAppliDefaut</a></td>
<td></td>
</tr>
<tr>
<td class="name"><a href="function-autoloadFw.html">autoloadFw</a></td>
<td></td>
</tr>
</table>
</div>
 
<div id="footer">
TBFramework - v0.2 API documentation generated by <a href="http://apigen.org">ApiGen 2.8.0</a>
</div>
</div>
</div>
</body>
</html>
/branches/v0.2-buhl/doc/ApiGen/source-function-autoloadFw.html
New file
0,0 → 1,172
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="generator" content="ApiGen 2.8.0">
<meta name="robots" content="noindex">
 
<title>File autoload.inc.php | TBFramework - v0.2</title>
 
<script type="text/javascript" src="resources/combined.js?4205936287"></script>
<script type="text/javascript" src="elementlist.js?117657638"></script>
<link rel="stylesheet" type="text/css" media="all" href="resources/style.css?3505392360">
 
</head>
 
<body>
<div id="left">
<div id="menu">
<a href="index.html" title="Overview"><span>Overview</span></a>
 
 
<div id="groups">
<h3>Packages</h3>
<ul>
<li class="active"><a href="package-Framework.html">Framework</a>
</li>
<li><a href="package-PHP.html">PHP</a>
</li>
</ul>
</div>
 
<hr>
 
 
<div id="elements">
<h3>Classes</h3>
<ul>
<li><a href="class-Application.html">Application</a></li>
<li><a href="class-Chronometre.html">Chronometre</a></li>
<li><a href="class-Config.html">Config</a></li>
<li><a href="class-Controleur.html">Controleur</a></li>
<li><a href="class-Debug.html">Debug</a></li>
<li><a href="class-GestionnaireException.html">GestionnaireException</a></li>
<li><a href="class-Log.html">Log</a></li>
<li><a href="class-Modele.html">Modele</a></li>
<li><a href="class-Registre.html">Registre</a></li>
<li><a href="class-SquelettePhp.html">SquelettePhp</a></li>
<li><a href="class-Url.html">Url</a></li>
</ul>
 
 
 
 
 
<h3>Functions</h3>
<ul>
<li><a href="function-autoloadAppliDefaut.html">autoloadAppliDefaut</a></li>
<li class="active"><a href="function-autoloadFw.html">autoloadFw</a></li>
</ul>
</div>
</div>
</div>
 
<div id="splitter"></div>
 
<div id="right">
<div id="rightInner">
<form id="search">
<input type="hidden" name="cx" value="">
<input type="hidden" name="ie" value="UTF-8">
<input type="text" name="q" class="text">
<input type="submit" value="Search">
</form>
 
<div id="navigation">
<ul>
<li>
<a href="index.html" title="Overview"><span>Overview</span></a>
</li>
<li>
<a href="package-Framework.html" title="Summary of Framework"><span>Package</span></a>
</li>
<li>
<a href="function-autoloadFw.html" title="Summary of autoloadFw"><span>Function</span></a>
</li>
</ul>
<ul>
<li>
<a href="tree.html" title="Tree view of classes, interfaces, traits and exceptions"><span>Tree</span></a>
</li>
<li>
<a href="deprecated.html" title="List of deprecated elements"><span>Deprecated</span></a>
</li>
<li>
<a href="todo.html" title="Todo list"><span>Todo</span></a>
</li>
</ul>
<ul>
</ul>
</div>
 
<pre><code><span id="1" class="l"><a class="l" href="#1"> 1: </a><span class="xlang">&lt;?php</span>
</span><span id="2" class="l"><a class="l" href="#2"> 2: </a><span class="php-comment">// declare(encoding='UTF-8');</span>
</span><span id="3" class="l"><a class="l" href="#3"> 3: </a><span class="php-comment">/**
</span></span><span id="4" class="l"><a class="l" href="#4"> 4: </a><span class="php-comment"> * Fichier contenant la fonction de chargement automatique de classes, il doit toujours rester à la racine
</span></span><span id="5" class="l"><a class="l" href="#5"> 5: </a><span class="php-comment"> * du framework car il initialise le chemin de l'application en se basant sur son propre emplacement.
</span></span><span id="6" class="l"><a class="l" href="#6"> 6: </a><span class="php-comment"> *
</span></span><span id="7" class="l"><a class="l" href="#7"> 7: </a><span class="php-comment"> * PHP Version 5.1.2
</span></span><span id="8" class="l"><a class="l" href="#8"> 8: </a><span class="php-comment"> *
</span></span><span id="9" class="l"><a class="l" href="#9"> 9: </a><span class="php-comment"> * @category Fichier_De_Fonctions
</span></span><span id="10" class="l"><a class="l" href="#10">10: </a><span class="php-comment"> * @package Framework
</span></span><span id="11" class="l"><a class="l" href="#11">11: </a><span class="php-comment"> // Auteur principal :
</span></span><span id="12" class="l"><a class="l" href="#12">12: </a><span class="php-comment"> * @author Aurelien PERONNET &lt;aurelien@tela-botanica.org&gt;
</span></span><span id="13" class="l"><a class="l" href="#13">13: </a><span class="php-comment"> // Autres auteurs :
</span></span><span id="14" class="l"><a class="l" href="#14">14: </a><span class="php-comment"> * @author Jean-Pascal MILCENT &lt;jpm@tela-botanica.org&gt;
</span></span><span id="15" class="l"><a class="l" href="#15">15: </a><span class="php-comment"> * @license GPL v3 &lt;http://www.gnu.org/licenses/gpl.txt&gt;
</span></span><span id="16" class="l"><a class="l" href="#16">16: </a><span class="php-comment"> * @license CECILL v2 &lt;http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt&gt;
</span></span><span id="17" class="l"><a class="l" href="#17">17: </a><span class="php-comment"> * @version $$Id: autoload.inc.php 188 2010-04-29 12:09:17Z jpm $$
</span></span><span id="18" class="l"><a class="l" href="#18">18: </a><span class="php-comment"> * @copyright 1999-2009 Tela Botanica (accueil@tela-botanica.org)
</span></span><span id="19" class="l"><a class="l" href="#19">19: </a><span class="php-comment"> */</span>
</span><span id="20" class="l"><a class="l" href="#20">20: </a>
</span><span id="21" class="l"><a class="l" href="#21">21: </a><span class="php-comment">// Redéfinition de la constante DIRECTORY_SEPARATOR</span>
</span><span id="22" class="l"><a class="l" href="#22">22: </a><span class="php-keyword1">if</span> (!<span class="php-keyword2">defined</span>(<span class="php-quote">'DS'</span>)) {
</span><span id="23" class="l"><a class="l" href="#23">23: </a> <span class="php-keyword2">define</span>(<span class="php-quote">'DS'</span>, DIRECTORY_SEPARATOR);
</span><span id="24" class="l"><a class="l" href="#24">24: </a>}
</span><span id="25" class="l"><a class="l" href="#25">25: </a><span class="php-comment">// Redéfinition de la constante PATH_SEPARATOR</span>
</span><span id="26" class="l"><a class="l" href="#26">26: </a><span class="php-keyword1">if</span> (!<span class="php-keyword2">defined</span>(<span class="php-quote">'PS'</span>)) {
</span><span id="27" class="l"><a class="l" href="#27">27: </a> <span class="php-keyword2">define</span>(<span class="php-quote">'PS'</span>, PATH_SEPARATOR);
</span><span id="28" class="l"><a class="l" href="#28">28: </a>}
</span><span id="29" class="l"><a class="l" href="#29">29: </a>
</span><span id="30" class="l"><a class="l" href="#30">30: </a><span class="php-comment">// Autoload pour le Framework</span>
</span><span id="31" class="l"><a class="l" href="#31">31: </a><span class="php-keyword1">function</span> <a id="_autoloadFw" href="#_autoloadFw">autoloadFw</a>(<span class="php-var">$nom_classe_fw</span>) {
</span><span id="32" class="l"><a class="l" href="#32">32: </a> <span class="php-var">$fichier_a_inclure</span> = <span class="php-keyword2">dirname</span>(__FILE__).DS.<span class="php-var">$nom_classe_fw</span>.<span class="php-quote">'.php'</span>;
</span><span id="33" class="l"><a class="l" href="#33">33: </a> <span class="php-keyword1">if</span> (<span class="php-keyword2">file_exists</span>(<span class="php-var">$fichier_a_inclure</span>)) {
</span><span id="34" class="l"><a class="l" href="#34">34: </a> <span class="php-keyword1">include_once</span> <span class="php-var">$fichier_a_inclure</span>;
</span><span id="35" class="l"><a class="l" href="#35">35: </a> <span class="php-keyword1">return</span> <span class="php-keyword1">null</span>;
</span><span id="36" class="l"><a class="l" href="#36">36: </a> }
</span><span id="37" class="l"><a class="l" href="#37">37: </a>}
</span><span id="38" class="l"><a class="l" href="#38">38: </a><span class="php-keyword2">spl_autoload_register</span>(<span class="php-quote">'autoloadFw'</span>);
</span><span id="39" class="l"><a class="l" href="#39">39: </a>
</span><span id="40" class="l"><a class="l" href="#40">40: </a><span class="php-comment">// Initialisation du gestionnaire d'erreur avant toute chose</span>
</span><span id="41" class="l"><a class="l" href="#41">41: </a>GestionnaireException::initialiser();
</span><span id="42" class="l"><a class="l" href="#42">42: </a>
</span><span id="43" class="l"><a class="l" href="#43">43: </a><span class="php-comment">// Autoload par défaut pour l'application</span>
</span><span id="44" class="l"><a class="l" href="#44">44: </a><span class="php-keyword1">function</span> <a id="_autoloadAppliDefaut" href="#_autoloadAppliDefaut">autoloadAppliDefaut</a>(<span class="php-var">$nom_classe</span>) {
</span><span id="45" class="l"><a class="l" href="#45">45: </a> <span class="php-var">$dossiers_classes</span> = <span class="php-keyword1">array</span>( Config::get(<span class="php-quote">'chemin_controleurs'</span>),
</span><span id="46" class="l"><a class="l" href="#46">46: </a> Config::get(<span class="php-quote">'chemin_modeles'</span>),
</span><span id="47" class="l"><a class="l" href="#47">47: </a> Config::get(<span class="php-quote">'chemin_bibliotheque'</span>));
</span><span id="48" class="l"><a class="l" href="#48">48: </a>
</span><span id="49" class="l"><a class="l" href="#49">49: </a> <span class="php-keyword1">foreach</span> (<span class="php-var">$dossiers_classes</span> <span class="php-keyword1">as</span> <span class="php-var">$chemin</span>) {
</span><span id="50" class="l"><a class="l" href="#50">50: </a> <span class="php-var">$fichier_a_tester</span> = <span class="php-var">$chemin</span>.<span class="php-var">$nom_classe</span>.<span class="php-quote">'.php'</span>;
</span><span id="51" class="l"><a class="l" href="#51">51: </a> <span class="php-keyword1">if</span> (<span class="php-keyword2">file_exists</span>(<span class="php-var">$fichier_a_tester</span>)) {
</span><span id="52" class="l"><a class="l" href="#52">52: </a> <span class="php-keyword1">include_once</span> <span class="php-var">$fichier_a_tester</span>;
</span><span id="53" class="l"><a class="l" href="#53">53: </a> <span class="php-keyword1">return</span> <span class="php-keyword1">null</span>;
</span><span id="54" class="l"><a class="l" href="#54">54: </a> }
</span><span id="55" class="l"><a class="l" href="#55">55: </a> }
</span><span id="56" class="l"><a class="l" href="#56">56: </a>}
</span><span id="57" class="l"><a class="l" href="#57">57: </a><span class="php-keyword2">spl_autoload_register</span>(<span class="php-quote">'autoloadAppliDefaut'</span>);
</span><span id="58" class="l"><a class="l" href="#58">58: </a>
</span><span id="59" class="l"><a class="l" href="#59">59: </a><span class="php-comment">// Autoload défini par l'application</span>
</span><span id="60" class="l"><a class="l" href="#60">60: </a><span class="php-keyword1">if</span> (<span class="php-keyword2">function_exists</span>(<span class="php-quote">'__autoload'</span>)) {
</span><span id="61" class="l"><a class="l" href="#61">61: </a> <span class="php-keyword2">spl_autoload_register</span>(<span class="php-quote">'__autoload'</span>);
</span><span id="62" class="l"><a class="l" href="#62">62: </a>}
</span><span id="63" class="l"><a class="l" href="#63">63: </a></span><span class="xlang">?&gt;</span></code></pre>
 
<div id="footer">
TBFramework - v0.2 API documentation generated by <a href="http://apigen.org">ApiGen 2.8.0</a>
</div>
</div>
</div>
</body>
</html>
/branches/v0.2-buhl/doc/ApiGen/source-class-Debug.html
New file
0,0 → 1,232
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="generator" content="ApiGen 2.8.0">
<meta name="robots" content="noindex">
 
<title>File Debug.php | TBFramework - v0.2</title>
 
<script type="text/javascript" src="resources/combined.js?4205936287"></script>
<script type="text/javascript" src="elementlist.js?117657638"></script>
<link rel="stylesheet" type="text/css" media="all" href="resources/style.css?3505392360">
 
</head>
 
<body>
<div id="left">
<div id="menu">
<a href="index.html" title="Overview"><span>Overview</span></a>
 
 
<div id="groups">
<h3>Packages</h3>
<ul>
<li class="active"><a href="package-Framework.html">Framework</a>
</li>
<li><a href="package-PHP.html">PHP</a>
</li>
</ul>
</div>
 
<hr>
 
 
<div id="elements">
<h3>Classes</h3>
<ul>
<li><a href="class-Application.html">Application</a></li>
<li><a href="class-Chronometre.html">Chronometre</a></li>
<li><a href="class-Config.html">Config</a></li>
<li><a href="class-Controleur.html">Controleur</a></li>
<li class="active"><a href="class-Debug.html">Debug</a></li>
<li><a href="class-GestionnaireException.html">GestionnaireException</a></li>
<li><a href="class-Log.html">Log</a></li>
<li><a href="class-Modele.html">Modele</a></li>
<li><a href="class-Registre.html">Registre</a></li>
<li><a href="class-SquelettePhp.html">SquelettePhp</a></li>
<li><a href="class-Url.html">Url</a></li>
</ul>
 
 
 
 
 
<h3>Functions</h3>
<ul>
<li><a href="function-autoloadAppliDefaut.html">autoloadAppliDefaut</a></li>
<li><a href="function-autoloadFw.html">autoloadFw</a></li>
</ul>
</div>
</div>
</div>
 
<div id="splitter"></div>
 
<div id="right">
<div id="rightInner">
<form id="search">
<input type="hidden" name="cx" value="">
<input type="hidden" name="ie" value="UTF-8">
<input type="text" name="q" class="text">
<input type="submit" value="Search">
</form>
 
<div id="navigation">
<ul>
<li>
<a href="index.html" title="Overview"><span>Overview</span></a>
</li>
<li>
<a href="package-Framework.html" title="Summary of Framework"><span>Package</span></a>
</li>
<li>
<a href="class-Debug.html" title="Summary of Debug"><span>Class</span></a>
</li>
</ul>
<ul>
<li>
<a href="tree.html" title="Tree view of classes, interfaces, traits and exceptions"><span>Tree</span></a>
</li>
<li>
<a href="deprecated.html" title="List of deprecated elements"><span>Deprecated</span></a>
</li>
<li>
<a href="todo.html" title="Todo list"><span>Todo</span></a>
</li>
</ul>
<ul>
</ul>
</div>
 
<pre><code><span id="1" class="l"><a class="l" href="#1"> 1: </a><span class="xlang">&lt;?php</span>
</span><span id="2" class="l"><a class="l" href="#2"> 2: </a><span class="php-comment">// declare(encoding='UTF-8');</span>
</span><span id="3" class="l"><a class="l" href="#3"> 3: </a><span class="php-comment">/**
</span></span><span id="4" class="l"><a class="l" href="#4"> 4: </a><span class="php-comment"> * Classe fournissant des fonctions de débogage équivalante à var_dump et print_r.
</span></span><span id="5" class="l"><a class="l" href="#5"> 5: </a><span class="php-comment"> * L'affichage et l'utilisation de ces fonctions sont améliorés via cette classe.
</span></span><span id="6" class="l"><a class="l" href="#6"> 6: </a><span class="php-comment"> * Cette classe est inspirée de la classe Zend_Debug.
</span></span><span id="7" class="l"><a class="l" href="#7"> 7: </a><span class="php-comment"> *
</span></span><span id="8" class="l"><a class="l" href="#8"> 8: </a><span class="php-comment"> * PHP version 5
</span></span><span id="9" class="l"><a class="l" href="#9"> 9: </a><span class="php-comment"> *
</span></span><span id="10" class="l"><a class="l" href="#10"> 10: </a><span class="php-comment"> * @category Debogage
</span></span><span id="11" class="l"><a class="l" href="#11"> 11: </a><span class="php-comment"> * @package Framework
</span></span><span id="12" class="l"><a class="l" href="#12"> 12: </a><span class="php-comment"> // Auteur principal :
</span></span><span id="13" class="l"><a class="l" href="#13"> 13: </a><span class="php-comment"> * @author Jean-Pascal MILCENT &lt;jpm@tela-botanica.org&gt;
</span></span><span id="14" class="l"><a class="l" href="#14"> 14: </a><span class="php-comment"> // Autres auteurs :
</span></span><span id="15" class="l"><a class="l" href="#15"> 15: </a><span class="php-comment"> * @license GPL v3 &lt;http://www.gnu.org/licenses/gpl.txt&gt;
</span></span><span id="16" class="l"><a class="l" href="#16"> 16: </a><span class="php-comment"> * @license CECILL v2 &lt;http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt&gt;
</span></span><span id="17" class="l"><a class="l" href="#17"> 17: </a><span class="php-comment"> * @version $$Id: Debug.php 167 2010-03-19 17:12:08Z jpm $$
</span></span><span id="18" class="l"><a class="l" href="#18"> 18: </a><span class="php-comment"> * @copyright 1999-2009 Tela Botanica (accueil@tela-botanica.org)
</span></span><span id="19" class="l"><a class="l" href="#19"> 19: </a><span class="php-comment"> */</span>
</span><span id="20" class="l"><a class="l" href="#20"> 20: </a><span class="php-keyword1">class</span> <a id="Debug" href="#Debug">Debug</a> {
</span><span id="21" class="l"><a class="l" href="#21"> 21: </a>
</span><span id="22" class="l"><a class="l" href="#22"> 22: </a> <span class="php-comment">/**
</span></span><span id="23" class="l"><a class="l" href="#23"> 23: </a><span class="php-comment"> * mode de php (cli ou sapi)
</span></span><span id="24" class="l"><a class="l" href="#24"> 24: </a><span class="php-comment"> */</span>
</span><span id="25" class="l"><a class="l" href="#25"> 25: </a> <span class="php-keyword1">protected</span> <span class="php-keyword1">static</span> <span class="php-var"><a id="$mode" href="#$mode">$mode</a></span> = <span class="php-keyword1">null</span>;
</span><span id="26" class="l"><a class="l" href="#26"> 26: </a>
</span><span id="27" class="l"><a class="l" href="#27"> 27: </a> <span class="php-comment">/**
</span></span><span id="28" class="l"><a class="l" href="#28"> 28: </a><span class="php-comment"> * Accesseur pour le mode
</span></span><span id="29" class="l"><a class="l" href="#29"> 29: </a><span class="php-comment"> * @return string le mode de php
</span></span><span id="30" class="l"><a class="l" href="#30"> 30: </a><span class="php-comment"> */</span>
</span><span id="31" class="l"><a class="l" href="#31"> 31: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_getMode" href="#_getMode">getMode</a>() {
</span><span id="32" class="l"><a class="l" href="#32"> 32: </a> <span class="php-keyword1">if</span> (self::<span class="php-var">$mode</span> === <span class="php-keyword1">null</span>) {
</span><span id="33" class="l"><a class="l" href="#33"> 33: </a> self::<span class="php-var">$mode</span> = PHP_SAPI;
</span><span id="34" class="l"><a class="l" href="#34"> 34: </a> }
</span><span id="35" class="l"><a class="l" href="#35"> 35: </a> <span class="php-keyword1">return</span> self::<span class="php-var">$mode</span>;
</span><span id="36" class="l"><a class="l" href="#36"> 36: </a> }
</span><span id="37" class="l"><a class="l" href="#37"> 37: </a>
</span><span id="38" class="l"><a class="l" href="#38"> 38: </a> <span class="php-comment">/**
</span></span><span id="39" class="l"><a class="l" href="#39"> 39: </a><span class="php-comment"> * Equivalent de var_dump
</span></span><span id="40" class="l"><a class="l" href="#40"> 40: </a><span class="php-comment"> * @param mixed $variable la variable à dumper
</span></span><span id="41" class="l"><a class="l" href="#41"> 41: </a><span class="php-comment"> * @param string $mot_cle le mot cle à associer à la variable
</span></span><span id="42" class="l"><a class="l" href="#42"> 42: </a><span class="php-comment"> * @param boolean $echo si true on affiche le résultat, si false on ne renvoie que la chaine sans l'afficher
</span></span><span id="43" class="l"><a class="l" href="#43"> 43: </a><span class="php-comment"> * @return string la chaine à afficher representant le dump ou null si echo
</span></span><span id="44" class="l"><a class="l" href="#44"> 44: </a><span class="php-comment"> */</span>
</span><span id="45" class="l"><a class="l" href="#45"> 45: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_dump" href="#_dump">dump</a>(<span class="php-var">$variable</span>, <span class="php-var">$mot_cle</span> = <span class="php-keyword1">null</span>, <span class="php-var">$echo</span> = <span class="php-keyword1">true</span>) {
</span><span id="46" class="l"><a class="l" href="#46"> 46: </a> <span class="php-comment">// var_dump de la variable dans un buffer et récupération de la sortie</span>
</span><span id="47" class="l"><a class="l" href="#47"> 47: </a> <span class="php-keyword2">ob_start</span>();
</span><span id="48" class="l"><a class="l" href="#48"> 48: </a> <span class="php-keyword2">var_dump</span>(<span class="php-var">$variable</span>);
</span><span id="49" class="l"><a class="l" href="#49"> 49: </a> <span class="php-var">$sortie</span> = <span class="php-keyword2">ob_get_clean</span>();
</span><span id="50" class="l"><a class="l" href="#50"> 50: </a>
</span><span id="51" class="l"><a class="l" href="#51"> 51: </a> <span class="php-comment">// Pré-traitement de la sortie</span>
</span><span id="52" class="l"><a class="l" href="#52"> 52: </a> <span class="php-var">$sortie</span> = <span class="php-keyword2">preg_replace</span>(<span class="php-quote">&quot;/\]\=\&gt;\n(\s+)/m&quot;</span>, <span class="php-quote">&quot;] =&gt; &quot;</span>, <span class="php-var">$sortie</span>);
</span><span id="53" class="l"><a class="l" href="#53"> 53: </a>
</span><span id="54" class="l"><a class="l" href="#54"> 54: </a> <span class="php-comment">// Traitement général du débogage</span>
</span><span id="55" class="l"><a class="l" href="#55"> 55: </a> <span class="php-keyword1">return</span> self::traiterDebogage(<span class="php-var">$mot_cle</span>, <span class="php-var">$sortie</span>, <span class="php-var">$echo</span>);
</span><span id="56" class="l"><a class="l" href="#56"> 56: </a> }
</span><span id="57" class="l"><a class="l" href="#57"> 57: </a>
</span><span id="58" class="l"><a class="l" href="#58"> 58: </a> <span class="php-comment">/**
</span></span><span id="59" class="l"><a class="l" href="#59"> 59: </a><span class="php-comment"> * Equivalent de print_r
</span></span><span id="60" class="l"><a class="l" href="#60"> 60: </a><span class="php-comment"> * @param mixed $variable la variable à afficher
</span></span><span id="61" class="l"><a class="l" href="#61"> 61: </a><span class="php-comment"> * @param string $mot_cle le mot cle à associer
</span></span><span id="62" class="l"><a class="l" href="#62"> 62: </a><span class="php-comment"> * @param boolean $echo faire un echo ou non
</span></span><span id="63" class="l"><a class="l" href="#63"> 63: </a><span class="php-comment"> * @return string la chaine contenant la variable printée ou null si echo
</span></span><span id="64" class="l"><a class="l" href="#64"> 64: </a><span class="php-comment"> */</span>
</span><span id="65" class="l"><a class="l" href="#65"> 65: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_printr" href="#_printr">printr</a>(<span class="php-var">$variable</span>, <span class="php-var">$mot_cle</span> = <span class="php-keyword1">null</span>, <span class="php-var">$echo</span> = <span class="php-keyword1">true</span>) {
</span><span id="66" class="l"><a class="l" href="#66"> 66: </a> <span class="php-comment">// Récupération de la sortie</span>
</span><span id="67" class="l"><a class="l" href="#67"> 67: </a> <span class="php-var">$sortie</span> = <span class="php-keyword2">print_r</span>(<span class="php-var">$variable</span>, <span class="php-keyword1">true</span>);
</span><span id="68" class="l"><a class="l" href="#68"> 68: </a>
</span><span id="69" class="l"><a class="l" href="#69"> 69: </a> <span class="php-comment">// Traitement général du débogage</span>
</span><span id="70" class="l"><a class="l" href="#70"> 70: </a> <span class="php-keyword1">return</span> self::traiterDebogage(<span class="php-var">$mot_cle</span>, <span class="php-var">$sortie</span>, <span class="php-var">$echo</span>);
</span><span id="71" class="l"><a class="l" href="#71"> 71: </a> }
</span><span id="72" class="l"><a class="l" href="#72"> 72: </a>
</span><span id="73" class="l"><a class="l" href="#73"> 73: </a> <span class="php-comment">/**
</span></span><span id="74" class="l"><a class="l" href="#74"> 74: </a><span class="php-comment"> * Traite une chaine de débogage et les mots clés associés
</span></span><span id="75" class="l"><a class="l" href="#75"> 75: </a><span class="php-comment"> * @param string $mot_cle le mot à associer à la chaine
</span></span><span id="76" class="l"><a class="l" href="#76"> 76: </a><span class="php-comment"> * @param string $sortie le chaine de debogage
</span></span><span id="77" class="l"><a class="l" href="#77"> 77: </a><span class="php-comment"> * @param boolean $echo faire un echo du resultat ou non
</span></span><span id="78" class="l"><a class="l" href="#78"> 78: </a><span class="php-comment"> * @return string la chaine de debogage formatée ou bien null si echo
</span></span><span id="79" class="l"><a class="l" href="#79"> 79: </a><span class="php-comment"> */</span>
</span><span id="80" class="l"><a class="l" href="#80"> 80: </a> <span class="php-keyword1">private</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_traiterDebogage" href="#_traiterDebogage">traiterDebogage</a>(<span class="php-var">$mot_cle</span>, <span class="php-var">$sortie</span>, <span class="php-var">$echo</span>) {
</span><span id="81" class="l"><a class="l" href="#81"> 81: </a> <span class="php-comment">// Formate le mot-clé</span>
</span><span id="82" class="l"><a class="l" href="#82"> 82: </a> <span class="php-var">$mot_cle</span> = self::formaterMotCle(<span class="php-var">$mot_cle</span>);
</span><span id="83" class="l"><a class="l" href="#83"> 83: </a>
</span><span id="84" class="l"><a class="l" href="#84"> 84: </a> <span class="php-comment">// Traitement de la sortie</span>
</span><span id="85" class="l"><a class="l" href="#85"> 85: </a> <span class="php-var">$sortie</span> = self::traiterSortieSuivantMode(<span class="php-var">$mot_cle</span>, <span class="php-var">$sortie</span>);
</span><span id="86" class="l"><a class="l" href="#86"> 86: </a>
</span><span id="87" class="l"><a class="l" href="#87"> 87: </a> <span class="php-comment">// Affichage et/ou retour</span>
</span><span id="88" class="l"><a class="l" href="#88"> 88: </a> <span class="php-keyword1">if</span> (Config::get(<span class="php-quote">'fw_debogage'</span>) == <span class="php-keyword1">true</span>) {
</span><span id="89" class="l"><a class="l" href="#89"> 89: </a> <span class="php-keyword1">if</span> (<span class="php-var">$echo</span>) {
</span><span id="90" class="l"><a class="l" href="#90"> 90: </a> <span class="php-keyword1">echo</span> <span class="php-var">$sortie</span>;
</span><span id="91" class="l"><a class="l" href="#91"> 91: </a> <span class="php-keyword1">return</span> <span class="php-keyword1">null</span>;
</span><span id="92" class="l"><a class="l" href="#92"> 92: </a> } <span class="php-keyword1">else</span> {
</span><span id="93" class="l"><a class="l" href="#93"> 93: </a> <span class="php-keyword1">return</span> <span class="php-var">$sortie</span>;
</span><span id="94" class="l"><a class="l" href="#94"> 94: </a> }
</span><span id="95" class="l"><a class="l" href="#95"> 95: </a> }
</span><span id="96" class="l"><a class="l" href="#96"> 96: </a> }
</span><span id="97" class="l"><a class="l" href="#97"> 97: </a>
</span><span id="98" class="l"><a class="l" href="#98"> 98: </a> <span class="php-comment">/**
</span></span><span id="99" class="l"><a class="l" href="#99"> 99: </a><span class="php-comment"> * formate un mot clé donné
</span></span><span id="100" class="l"><a class="l" href="#100">100: </a><span class="php-comment"> * @param string $mot_cle le mot clé à formaté
</span></span><span id="101" class="l"><a class="l" href="#101">101: </a><span class="php-comment"> * @return string le mot clé formaté ou bien un chaine vide le mot clé est null ou vide
</span></span><span id="102" class="l"><a class="l" href="#102">102: </a><span class="php-comment"> */</span>
</span><span id="103" class="l"><a class="l" href="#103">103: </a> <span class="php-keyword1">private</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_formaterMotCle" href="#_formaterMotCle">formaterMotCle</a>(<span class="php-var">$mot_cle</span>) {
</span><span id="104" class="l"><a class="l" href="#104">104: </a> <span class="php-keyword1">return</span> (<span class="php-var">$mot_cle</span> === <span class="php-keyword1">null</span>) ? <span class="php-quote">''</span> : <span class="php-keyword2">rtrim</span>(<span class="php-var">$mot_cle</span>).<span class="php-quote">' '</span>;
</span><span id="105" class="l"><a class="l" href="#105">105: </a> }
</span><span id="106" class="l"><a class="l" href="#106">106: </a>
</span><span id="107" class="l"><a class="l" href="#107">107: </a> <span class="php-comment">/**
</span></span><span id="108" class="l"><a class="l" href="#108">108: </a><span class="php-comment"> * traite la sortie de la chaine de débogage suivant le mode de php
</span></span><span id="109" class="l"><a class="l" href="#109">109: </a><span class="php-comment"> * @param string $mot_cle le mot clé associé à la chaine
</span></span><span id="110" class="l"><a class="l" href="#110">110: </a><span class="php-comment"> * @param string $sortie la chaine de débogage
</span></span><span id="111" class="l"><a class="l" href="#111">111: </a><span class="php-comment"> * @return string la sortie formatée pour le mode en cours
</span></span><span id="112" class="l"><a class="l" href="#112">112: </a><span class="php-comment"> */</span>
</span><span id="113" class="l"><a class="l" href="#113">113: </a> <span class="php-keyword1">private</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_traiterSortieSuivantMode" href="#_traiterSortieSuivantMode">traiterSortieSuivantMode</a>(<span class="php-var">$mot_cle</span>, <span class="php-var">$sortie</span>) {
</span><span id="114" class="l"><a class="l" href="#114">114: </a> <span class="php-var">$corps</span> = <span class="php-var">$mot_cle</span>.PHP_EOL.<span class="php-var">$sortie</span>;
</span><span id="115" class="l"><a class="l" href="#115">115: </a> <span class="php-keyword1">if</span> (self::getMode() == <span class="php-quote">'cli'</span>) {
</span><span id="116" class="l"><a class="l" href="#116">116: </a> <span class="php-var">$sortie</span> = PHP_EOL.<span class="php-var">$corps</span>.PHP_EOL;
</span><span id="117" class="l"><a class="l" href="#117">117: </a> } <span class="php-keyword1">else</span> {
</span><span id="118" class="l"><a class="l" href="#118">118: </a> <span class="php-var">$sortie</span> = <span class="php-quote">'&lt;pre&gt;'</span>.<span class="php-var">$corps</span>.<span class="php-quote">'&lt;/pre&gt;'</span>;
</span><span id="119" class="l"><a class="l" href="#119">119: </a> }
</span><span id="120" class="l"><a class="l" href="#120">120: </a> <span class="php-keyword1">return</span> <span class="php-var">$sortie</span>;
</span><span id="121" class="l"><a class="l" href="#121">121: </a> }
</span><span id="122" class="l"><a class="l" href="#122">122: </a>}
</span><span id="123" class="l"><a class="l" href="#123">123: </a></span><span class="xlang">?&gt;</span></code></pre>
 
<div id="footer">
TBFramework - v0.2 API documentation generated by <a href="http://apigen.org">ApiGen 2.8.0</a>
</div>
</div>
</div>
</body>
</html>
/branches/v0.2-buhl/doc/ApiGen/class-Registre.html
New file
0,0 → 1,360
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="generator" content="ApiGen 2.8.0">
 
<title>Class Registre | TBFramework - v0.2</title>
 
<script type="text/javascript" src="resources/combined.js?4205936287"></script>
<script type="text/javascript" src="elementlist.js?117657638"></script>
<link rel="stylesheet" type="text/css" media="all" href="resources/style.css?3505392360">
 
</head>
 
<body>
<div id="left">
<div id="menu">
<a href="index.html" title="Overview"><span>Overview</span></a>
 
 
<div id="groups">
<h3>Packages</h3>
<ul>
<li class="active"><a href="package-Framework.html">Framework</a>
</li>
<li><a href="package-PHP.html">PHP</a>
</li>
</ul>
</div>
 
<hr>
 
 
<div id="elements">
<h3>Classes</h3>
<ul>
<li><a href="class-Application.html">Application</a></li>
<li><a href="class-Chronometre.html">Chronometre</a></li>
<li><a href="class-Config.html">Config</a></li>
<li><a href="class-Controleur.html">Controleur</a></li>
<li><a href="class-Debug.html">Debug</a></li>
<li><a href="class-GestionnaireException.html">GestionnaireException</a></li>
<li><a href="class-Log.html">Log</a></li>
<li><a href="class-Modele.html">Modele</a></li>
<li class="active"><a href="class-Registre.html">Registre</a></li>
<li><a href="class-SquelettePhp.html">SquelettePhp</a></li>
<li><a href="class-Url.html">Url</a></li>
</ul>
 
 
 
 
 
<h3>Functions</h3>
<ul>
<li><a href="function-autoloadAppliDefaut.html">autoloadAppliDefaut</a></li>
<li><a href="function-autoloadFw.html">autoloadFw</a></li>
</ul>
</div>
</div>
</div>
 
<div id="splitter"></div>
 
<div id="right">
<div id="rightInner">
<form id="search">
<input type="hidden" name="cx" value="">
<input type="hidden" name="ie" value="UTF-8">
<input type="text" name="q" class="text">
<input type="submit" value="Search">
</form>
 
<div id="navigation">
<ul>
<li>
<a href="index.html" title="Overview"><span>Overview</span></a>
</li>
<li>
<a href="package-Framework.html" title="Summary of Framework"><span>Package</span></a>
</li>
<li class="active">
<span>Class</span> </li>
</ul>
<ul>
<li>
<a href="tree.html" title="Tree view of classes, interfaces, traits and exceptions"><span>Tree</span></a>
</li>
<li>
<a href="deprecated.html" title="List of deprecated elements"><span>Deprecated</span></a>
</li>
<li>
<a href="todo.html" title="Todo list"><span>Todo</span></a>
</li>
</ul>
<ul>
</ul>
</div>
 
<div id="content" class="class">
<h1>Class Registre</h1>
 
 
<div class="description">
<p>Classe registre, qui permet un accès à différentes variables à travers
les autres classes. C'est un singleton</p>
 
<p>PHP Version 5</p>
 
</div>
 
 
 
 
 
 
 
 
 
<div class="info">
<b>Package:</b> <a href="package-Framework.html">Framework</a><br>
 
<b>Category:</b>
Class<br>
<b>Copyright:</b>
2009 Tela-Botanica<br>
<b>License:</b>
<a href="http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt">Licence CECILL</a><br>
<b>License:</b>
<a href="http://www.gnu.org/licenses/gpl.html">Licence GNU-GPL</a><br>
<b>Author:</b>
Jean-Pascal Milcent &lt;<a
href="mailto:jmp&#64;tela-botanica.org">jmp&#64;<!-- -->tela-botanica.org</a>&gt;<br>
<b>Version:</b>
SVN: $$Id: Registre.php 120 2009-09-01 12:21:14Z aurelien $$<br>
<b>Link:</b>
/doc/framework/<br>
<b>Located at</b> <a href="source-class-Registre.html#3-93" title="Go to source code">Registre.php</a><br>
</div>
 
 
 
<table class="summary" id="methods">
<caption>Methods summary</caption>
<tr data-order="getInstance" id="_getInstance">
 
<td class="attributes"><code>
public static
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_getInstance">#</a>
<code><a href="source-class-Registre.html#36-46" title="Go to source code">getInstance</a>( )</code>
 
<div class="description short">
<p>Fonction qui renvoie l'instance de classe en assurant son unicité, c'est
l'unique méthode qui doit être utilisée pour récupérer l'objet Registre</p>
 
</div>
 
<div class="description detailed hidden">
<p>Fonction qui renvoie l'instance de classe en assurant son unicité, c'est
l'unique méthode qui doit être utilisée pour récupérer l'objet Registre</p>
 
 
 
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="set" id="_set">
 
<td class="attributes"><code>
public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_set">#</a>
<code><a href="source-class-Registre.html#48-61" title="Go to source code">set</a>( <span>string <var>$intitule</var></span>, <span>mixed <var>$objet</var></span> )</code>
 
<div class="description short">
<p>Ajoute un objet au tableau selon un intitulé donné</p>
 
</div>
 
<div class="description detailed hidden">
<p>Ajoute un objet au tableau selon un intitulé donné</p>
 
 
 
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$intitule</var></dt>
<dd><code>string</code><br>l'intitulé sous lequel l'objet sera conservé</dd>
<dt><var>$objet</var></dt>
<dd><code>mixed</code><br>l'objet à conserver</dd>
</dl></div>
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="get" id="_get">
 
<td class="attributes"><code>
public
mixed
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_get">#</a>
<code><a href="source-class-Registre.html#63-72" title="Go to source code">get</a>( <span>mixed <var>$intitule</var></span> )</code>
 
<div class="description short">
<p>Renvoie l'objet associé à l'intitulé donné en paramètre</p>
 
</div>
 
<div class="description detailed hidden">
<p>Renvoie l'objet associé à l'intitulé donné en paramètre</p>
 
 
 
 
<h4>Returns</h4>
<div class="list">
<code>mixed</code><br>l'objet associé à l'intitulé ou null s'il n'est pas présent<br>
</div>
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="detruire" id="_detruire">
 
<td class="attributes"><code>
public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_detruire">#</a>
<code><a href="source-class-Registre.html#74-81" title="Go to source code">detruire</a>( <span>mixed <var>$intitule</var></span> )</code>
 
<div class="description short">
<p>Détruit l'objet associé à l'intitulé, n'a pas d'effet si il n'y a pas
d'objet associé</p>
 
</div>
 
<div class="description detailed hidden">
<p>Détruit l'objet associé à l'intitulé, n'a pas d'effet si il n'y a pas
d'objet associé</p>
 
 
 
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="existe" id="_existe">
 
<td class="attributes"><code>
public
boolean
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_existe">#</a>
<code><a href="source-class-Registre.html#83-92" title="Go to source code">existe</a>( <span>mixed <var>$intitule</var></span> )</code>
 
<div class="description short">
<p>Teste si un objet est présent sous un intitulé donné</p>
 
</div>
 
<div class="description detailed hidden">
<p>Teste si un objet est présent sous un intitulé donné</p>
 
 
 
 
<h4>Returns</h4>
<div class="list">
<code>boolean</code><br>true si un objet associé à cet intitulé est présent, false sinon<br>
</div>
 
 
 
 
</div>
</div></td>
</tr>
</table>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
</div>
 
<div id="footer">
TBFramework - v0.2 API documentation generated by <a href="http://apigen.org">ApiGen 2.8.0</a>
</div>
</div>
</div>
</body>
</html>
/branches/v0.2-buhl/doc/ApiGen/class-Chronometre.html
New file
0,0 → 1,356
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="generator" content="ApiGen 2.8.0">
 
<title>Class Chronometre | TBFramework - v0.2</title>
 
<script type="text/javascript" src="resources/combined.js?4205936287"></script>
<script type="text/javascript" src="elementlist.js?117657638"></script>
<link rel="stylesheet" type="text/css" media="all" href="resources/style.css?3505392360">
 
</head>
 
<body>
<div id="left">
<div id="menu">
<a href="index.html" title="Overview"><span>Overview</span></a>
 
 
<div id="groups">
<h3>Packages</h3>
<ul>
<li class="active"><a href="package-Framework.html">Framework</a>
</li>
<li><a href="package-PHP.html">PHP</a>
</li>
</ul>
</div>
 
<hr>
 
 
<div id="elements">
<h3>Classes</h3>
<ul>
<li><a href="class-Application.html">Application</a></li>
<li class="active"><a href="class-Chronometre.html">Chronometre</a></li>
<li><a href="class-Config.html">Config</a></li>
<li><a href="class-Controleur.html">Controleur</a></li>
<li><a href="class-Debug.html">Debug</a></li>
<li><a href="class-GestionnaireException.html">GestionnaireException</a></li>
<li><a href="class-Log.html">Log</a></li>
<li><a href="class-Modele.html">Modele</a></li>
<li><a href="class-Registre.html">Registre</a></li>
<li><a href="class-SquelettePhp.html">SquelettePhp</a></li>
<li><a href="class-Url.html">Url</a></li>
</ul>
 
 
 
 
 
<h3>Functions</h3>
<ul>
<li><a href="function-autoloadAppliDefaut.html">autoloadAppliDefaut</a></li>
<li><a href="function-autoloadFw.html">autoloadFw</a></li>
</ul>
</div>
</div>
</div>
 
<div id="splitter"></div>
 
<div id="right">
<div id="rightInner">
<form id="search">
<input type="hidden" name="cx" value="">
<input type="hidden" name="ie" value="UTF-8">
<input type="text" name="q" class="text">
<input type="submit" value="Search">
</form>
 
<div id="navigation">
<ul>
<li>
<a href="index.html" title="Overview"><span>Overview</span></a>
</li>
<li>
<a href="package-Framework.html" title="Summary of Framework"><span>Package</span></a>
</li>
<li class="active">
<span>Class</span> </li>
</ul>
<ul>
<li>
<a href="tree.html" title="Tree view of classes, interfaces, traits and exceptions"><span>Tree</span></a>
</li>
<li>
<a href="deprecated.html" title="List of deprecated elements"><span>Deprecated</span></a>
</li>
<li>
<a href="todo.html" title="Todo list"><span>Todo</span></a>
</li>
</ul>
<ul>
</ul>
</div>
 
<div id="content" class="class">
<h1>Class Chronometre</h1>
 
 
<div class="description">
<p>Classe Chronometre() - Permet de stocker et d'afficher les temps
d'éxécution de script.</p>
 
<p>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.</p>
 
<p>PHP Version 5</p>
 
</div>
 
 
 
 
 
 
 
 
 
<div class="info">
<b>Package:</b> <a href="package-Framework.html">Framework</a><br>
 
<b>Category:</b>
PHP<br>
<b>Copyright:</b>
2009 Tela-Botanica<br>
<b>License:</b>
<a href="http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt">Licence CECILL</a><br>
<b>Author:</b>
Jean-Pascal MILCENT &lt;<a
href="mailto:jpm&#64;tela-botanica.org">jpm&#64;<!-- -->tela-botanica.org</a>&gt;<br>
<b>Version:</b>
Release: &lt;package_version&gt;<br>
<b>Link:</b>
/doc/framework/<br>
<b>Located at</b> <a href="source-class-Chronometre.html#3-151" title="Go to source code">Chronometre.php</a><br>
</div>
 
 
 
<table class="summary" id="methods">
<caption>Methods summary</caption>
<tr data-order="__construct" id="___construct">
 
<td class="attributes"><code>
public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#___construct">#</a>
<code><a href="source-class-Chronometre.html#27-30" title="Go to source code">__construct</a>( )</code>
 
<div class="description short">
<p>Constructeur : *</p>
 
</div>
 
<div class="description detailed hidden">
<p>Constructeur : *</p>
 
 
 
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="getTemps" id="_getTemps">
 
<td class="attributes"><code>
public
integer
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_getTemps">#</a>
<code><a href="source-class-Chronometre.html#32-46" title="Go to source code">getTemps</a>( <span>string <var>$cle</var> = <span class="php-keyword1">null</span></span> )</code>
 
<div class="description short">
<p>Accesseurs :</p>
 
</div>
 
<div class="description detailed hidden">
<p>Accesseurs :</p>
 
 
 
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$cle</var></dt>
<dd><code>string</code><br>$cle la cle associée à un chronomètre particulier</dd>
</dl></div>
 
<h4>Returns</h4>
<div class="list">
<code>integer</code><br>le temps écoulé<br>
</div>
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="setTemps" id="_setTemps">
 
<td class="attributes"><code>
public
null
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_setTemps">#</a>
<code><a href="source-class-Chronometre.html#48-56" title="Go to source code">setTemps</a>( <span>array() <var>$moment</var> = <span class="php-keyword1">array</span> ()</span> )</code>
 
<div class="description short">
<p>Setteur pour la variable temps</p>
 
</div>
 
<div class="description detailed hidden">
<p>Setteur pour la variable temps</p>
 
 
 
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$moment</var></dt>
<dd><code>array()</code><br>$moment ajoute des points de chronométrage au tableau _temps</dd>
</dl></div>
 
<h4>Returns</h4>
<div class="list">
<code>null</code><br>
</div>
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="afficherChrono" id="_afficherChrono">
 
<td class="attributes"><code>
public
string
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_afficherChrono">#</a>
<code><a href="source-class-Chronometre.html#60-150" title="Go to source code">afficherChrono</a>( <span>integer <var>$indentation_origine</var> = <span class="php-num">8</span></span>, <span>integer <var>$indentation</var> = <span class="php-num">4</span></span> )</code>
 
<div class="description short">
<p>Méthode afficherChrono() - Permet d'afficher les temps d'éxécution de
différentes parties d'un script.</p>
 
</div>
 
<div class="description detailed hidden">
<p>Méthode afficherChrono() - Permet d'afficher les temps d'éxécution de
différentes parties d'un script.</p>
 
<p>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_</p>
 
 
 
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$indentation_origine</var></dt>
<dd><code>integer</code><br>$indentation_origine l'indentation de base.</dd>
<dt><var>$indentation</var></dt>
<dd><code>integer</code><br>$indentation le pas d'indentation.</dd>
</dl></div>
 
<h4>Returns</h4>
<div class="list">
<code>string</code><br>la chaine XHTML de mesure des temps.<br>
</div>
 
 
<h4>Author</h4>
<div class="list">
Loic d'Anterroches<br>
Jean-Pascal MILCENT &lt;<a
href="mailto:jpm&#64;tela-botanica.org">jpm&#64;<!-- -->tela-botanica.org</a>&gt;<br>
</div>
 
 
</div>
</div></td>
</tr>
</table>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
</div>
 
<div id="footer">
TBFramework - v0.2 API documentation generated by <a href="http://apigen.org">ApiGen 2.8.0</a>
</div>
</div>
</div>
</body>
</html>
/branches/v0.2-buhl/doc/ApiGen/source-class-Controleur.html
New file
0,0 → 1,248
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="generator" content="ApiGen 2.8.0">
<meta name="robots" content="noindex">
 
<title>File Controleur.php | TBFramework - v0.2</title>
 
<script type="text/javascript" src="resources/combined.js?4205936287"></script>
<script type="text/javascript" src="elementlist.js?117657638"></script>
<link rel="stylesheet" type="text/css" media="all" href="resources/style.css?3505392360">
 
</head>
 
<body>
<div id="left">
<div id="menu">
<a href="index.html" title="Overview"><span>Overview</span></a>
 
 
<div id="groups">
<h3>Packages</h3>
<ul>
<li class="active"><a href="package-Framework.html">Framework</a>
</li>
<li><a href="package-PHP.html">PHP</a>
</li>
</ul>
</div>
 
<hr>
 
 
<div id="elements">
<h3>Classes</h3>
<ul>
<li><a href="class-Application.html">Application</a></li>
<li><a href="class-Chronometre.html">Chronometre</a></li>
<li><a href="class-Config.html">Config</a></li>
<li class="active"><a href="class-Controleur.html">Controleur</a></li>
<li><a href="class-Debug.html">Debug</a></li>
<li><a href="class-GestionnaireException.html">GestionnaireException</a></li>
<li><a href="class-Log.html">Log</a></li>
<li><a href="class-Modele.html">Modele</a></li>
<li><a href="class-Registre.html">Registre</a></li>
<li><a href="class-SquelettePhp.html">SquelettePhp</a></li>
<li><a href="class-Url.html">Url</a></li>
</ul>
 
 
 
 
 
<h3>Functions</h3>
<ul>
<li><a href="function-autoloadAppliDefaut.html">autoloadAppliDefaut</a></li>
<li><a href="function-autoloadFw.html">autoloadFw</a></li>
</ul>
</div>
</div>
</div>
 
<div id="splitter"></div>
 
<div id="right">
<div id="rightInner">
<form id="search">
<input type="hidden" name="cx" value="">
<input type="hidden" name="ie" value="UTF-8">
<input type="text" name="q" class="text">
<input type="submit" value="Search">
</form>
 
<div id="navigation">
<ul>
<li>
<a href="index.html" title="Overview"><span>Overview</span></a>
</li>
<li>
<a href="package-Framework.html" title="Summary of Framework"><span>Package</span></a>
</li>
<li>
<a href="class-Controleur.html" title="Summary of Controleur"><span>Class</span></a>
</li>
</ul>
<ul>
<li>
<a href="tree.html" title="Tree view of classes, interfaces, traits and exceptions"><span>Tree</span></a>
</li>
<li>
<a href="deprecated.html" title="List of deprecated elements"><span>Deprecated</span></a>
</li>
<li>
<a href="todo.html" title="Todo list"><span>Todo</span></a>
</li>
</ul>
<ul>
</ul>
</div>
 
<pre><code><span id="1" class="l"><a class="l" href="#1"> 1: </a><span class="xlang">&lt;?php</span>
</span><span id="2" class="l"><a class="l" href="#2"> 2: </a><span class="php-comment">// declare(encoding='UTF-8');</span>
</span><span id="3" class="l"><a class="l" href="#3"> 3: </a><span class="php-comment">/**
</span></span><span id="4" class="l"><a class="l" href="#4"> 4: </a><span class="php-comment"> * Classe Controleur, coeur d'une application, c'est normalement la seule classe d'une application
</span></span><span id="5" class="l"><a class="l" href="#5"> 5: </a><span class="php-comment"> * qui devrait être appelée de l'extérieur.
</span></span><span id="6" class="l"><a class="l" href="#6"> 6: </a><span class="php-comment"> * Elle est abstraite donc doit obligatoirement être étendue.
</span></span><span id="7" class="l"><a class="l" href="#7"> 7: </a><span class="php-comment"> *
</span></span><span id="8" class="l"><a class="l" href="#8"> 8: </a><span class="php-comment"> * @category php5
</span></span><span id="9" class="l"><a class="l" href="#9"> 9: </a><span class="php-comment"> * @package Framework
</span></span><span id="10" class="l"><a class="l" href="#10"> 10: </a><span class="php-comment"> * @author Aurélien PERONNET &lt;aurelien@tela-botanica.org&gt;
</span></span><span id="11" class="l"><a class="l" href="#11"> 11: </a><span class="php-comment"> * @author Jean-Pascal MILCENT &lt;jpm@tela-botanica.org&gt;
</span></span><span id="12" class="l"><a class="l" href="#12"> 12: </a><span class="php-comment"> * @copyright 2009 Tela-Botanica
</span></span><span id="13" class="l"><a class="l" href="#13"> 13: </a><span class="php-comment"> * @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
</span></span><span id="14" class="l"><a class="l" href="#14"> 14: </a><span class="php-comment"> * @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
</span></span><span id="15" class="l"><a class="l" href="#15"> 15: </a><span class="php-comment"> * @version SVN: $Id: Controleur.php 191 2010-04-29 15:34:49Z jpm $
</span></span><span id="16" class="l"><a class="l" href="#16"> 16: </a><span class="php-comment"> * @link /doc/framework/
</span></span><span id="17" class="l"><a class="l" href="#17"> 17: </a><span class="php-comment"> *
</span></span><span id="18" class="l"><a class="l" href="#18"> 18: </a><span class="php-comment"> */</span>
</span><span id="19" class="l"><a class="l" href="#19"> 19: </a><span class="php-keyword1">abstract</span> <span class="php-keyword1">class</span> <a id="Controleur" href="#Controleur">Controleur</a> {
</span><span id="20" class="l"><a class="l" href="#20"> 20: </a> <span class="php-comment">/** Variable statique indiquant que les tableaux _GET et _POST ont déjà été encodé au format de l'appli. */</span>
</span><span id="21" class="l"><a class="l" href="#21"> 21: </a> <span class="php-keyword1">private</span> <span class="php-keyword1">static</span> <span class="php-var"><a id="$encodage" href="#$encodage">$encodage</a></span> = <span class="php-keyword1">false</span>;
</span><span id="22" class="l"><a class="l" href="#22"> 22: </a>
</span><span id="23" class="l"><a class="l" href="#23"> 23: </a> <span class="php-comment">/** Registre global, normalement accessible partout */</span>
</span><span id="24" class="l"><a class="l" href="#24"> 24: </a> <span class="php-keyword1">private</span> <span class="php-var"><a id="$registre" href="#$registre">$registre</a></span>;
</span><span id="25" class="l"><a class="l" href="#25"> 25: </a>
</span><span id="26" class="l"><a class="l" href="#26"> 26: </a> <span class="php-comment">/**
</span></span><span id="27" class="l"><a class="l" href="#27"> 27: </a><span class="php-comment"> * Constructeur par défaut
</span></span><span id="28" class="l"><a class="l" href="#28"> 28: </a><span class="php-comment"> */</span>
</span><span id="29" class="l"><a class="l" href="#29"> 29: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> <a id="___construct" href="#___construct">__construct</a>() {
</span><span id="30" class="l"><a class="l" href="#30"> 30: </a> <span class="php-var">$this</span>-&gt;registre = Registre::getInstance();
</span><span id="31" class="l"><a class="l" href="#31"> 31: </a> <span class="php-var">$this</span>-&gt;registre-&gt;set(<span class="php-quote">'base_chemin_modele'</span>, Config::get(<span class="php-quote">'chemin_modeles'</span>));
</span><span id="32" class="l"><a class="l" href="#32"> 32: </a> <span class="php-var">$this</span>-&gt;registre-&gt;set(<span class="php-quote">'base_chemin_squelette'</span>, Config::get(<span class="php-quote">'chemin_squelettes'</span>));
</span><span id="33" class="l"><a class="l" href="#33"> 33: </a> <span class="php-var">$this</span>-&gt;registre-&gt;set(<span class="php-quote">'base_chemin_controleur'</span>, Config::get(<span class="php-quote">'chemin_controleurs'</span>));
</span><span id="34" class="l"><a class="l" href="#34"> 34: </a> <span class="php-var">$this</span>-&gt;registre-&gt;set(<span class="php-quote">'base_url_application'</span>, <span class="php-keyword1">new</span> Url(Config::get(<span class="php-quote">'url_base'</span>)));
</span><span id="35" class="l"><a class="l" href="#35"> 35: </a> <span class="php-var">$this</span>-&gt;verifierEtReencoderTableauRequete();
</span><span id="36" class="l"><a class="l" href="#36"> 36: </a> }
</span><span id="37" class="l"><a class="l" href="#37"> 37: </a>
</span><span id="38" class="l"><a class="l" href="#38"> 38: </a> <span class="php-comment">/**
</span></span><span id="39" class="l"><a class="l" href="#39"> 39: </a><span class="php-comment"> * Charge un modele donné et le rend disponible sous la forme $this-&gt;nom_modele
</span></span><span id="40" class="l"><a class="l" href="#40"> 40: </a><span class="php-comment"> *
</span></span><span id="41" class="l"><a class="l" href="#41"> 41: </a><span class="php-comment"> * @param string $nom_modele le nom du modèle à  charger
</span></span><span id="42" class="l"><a class="l" href="#42"> 42: </a><span class="php-comment"> *
</span></span><span id="43" class="l"><a class="l" href="#43"> 43: </a><span class="php-comment"> * @return boolean false si le chargement a échoué, sinon true.
</span></span><span id="44" class="l"><a class="l" href="#44"> 44: </a><span class="php-comment"> */</span>
</span><span id="45" class="l"><a class="l" href="#45"> 45: </a> <span class="php-keyword1">final</span> <span class="php-keyword1">protected</span> <span class="php-keyword1">function</span> <a id="_chargerModele" href="#_chargerModele">chargerModele</a>(<span class="php-var">$nom_modele</span>) {
</span><span id="46" class="l"><a class="l" href="#46"> 46: </a> <span class="php-var">$sortie</span> = <span class="php-keyword1">true</span>;
</span><span id="47" class="l"><a class="l" href="#47"> 47: </a> <span class="php-var">$modele</span> = <span class="php-var">$this</span>-&gt;getModele(<span class="php-var">$nom_modele</span>);
</span><span id="48" class="l"><a class="l" href="#48"> 48: </a> <span class="php-keyword1">if</span> (<span class="php-var">$modele</span> !== <span class="php-keyword1">false</span>) {
</span><span id="49" class="l"><a class="l" href="#49"> 49: </a> <span class="php-var">$this</span>-&gt;<span class="php-var">$nom_modele</span> = <span class="php-keyword1">new</span> <span class="php-var">$nom_modele</span>;
</span><span id="50" class="l"><a class="l" href="#50"> 50: </a> } <span class="php-keyword1">else</span> {
</span><span id="51" class="l"><a class="l" href="#51"> 51: </a> <span class="php-var">$sortie</span> = <span class="php-keyword1">false</span>;
</span><span id="52" class="l"><a class="l" href="#52"> 52: </a> }
</span><span id="53" class="l"><a class="l" href="#53"> 53: </a> <span class="php-keyword1">return</span> <span class="php-var">$sortie</span>;
</span><span id="54" class="l"><a class="l" href="#54"> 54: </a> }
</span><span id="55" class="l"><a class="l" href="#55"> 55: </a>
</span><span id="56" class="l"><a class="l" href="#56"> 56: </a> <span class="php-comment">/**
</span></span><span id="57" class="l"><a class="l" href="#57"> 57: </a><span class="php-comment"> * Retourne un modele donné
</span></span><span id="58" class="l"><a class="l" href="#58"> 58: </a><span class="php-comment"> *
</span></span><span id="59" class="l"><a class="l" href="#59"> 59: </a><span class="php-comment"> * @param string $nom_modele le nom du fichier modèle à charger sans son extension
</span></span><span id="60" class="l"><a class="l" href="#60"> 60: </a><span class="php-comment"> * @param String $ext l'extension du fichier du modèel (par défaut : &quot;.php&quot;
</span></span><span id="61" class="l"><a class="l" href="#61"> 61: </a><span class="php-comment"> *
</span></span><span id="62" class="l"><a class="l" href="#62"> 62: </a><span class="php-comment"> * @return mixed false si le chargement a échoué, sinon l'objet du modèle demandé.
</span></span><span id="63" class="l"><a class="l" href="#63"> 63: </a><span class="php-comment"> */</span>
</span><span id="64" class="l"><a class="l" href="#64"> 64: </a> <span class="php-keyword1">final</span> <span class="php-keyword1">protected</span> <span class="php-keyword1">function</span> <a id="_getModele" href="#_getModele">getModele</a>(<span class="php-var">$nom_modele</span>, <span class="php-var">$ext</span> = <span class="php-quote">'.php'</span>) {
</span><span id="65" class="l"><a class="l" href="#65"> 65: </a> <span class="php-var">$sortie</span> = <span class="php-keyword1">false</span>;
</span><span id="66" class="l"><a class="l" href="#66"> 66: </a> <span class="php-var">$chemin_modele</span> = <span class="php-var">$this</span>-&gt;registre-&gt;get(<span class="php-quote">'base_chemin_modele'</span>).<span class="php-var">$nom_modele</span>.<span class="php-var">$ext</span>;
</span><span id="67" class="l"><a class="l" href="#67"> 67: </a> <span class="php-keyword1">if</span> (<span class="php-keyword2">file_exists</span>(<span class="php-var">$chemin_modele</span>)) {
</span><span id="68" class="l"><a class="l" href="#68"> 68: </a> <span class="php-keyword1">include_once</span> <span class="php-var">$chemin_modele</span>;
</span><span id="69" class="l"><a class="l" href="#69"> 69: </a> <span class="php-keyword1">if</span> (<span class="php-keyword2">class_exists</span>(<span class="php-var">$nom_modele</span>)) {
</span><span id="70" class="l"><a class="l" href="#70"> 70: </a> <span class="php-var">$sortie</span> = <span class="php-keyword1">new</span> <span class="php-var">$nom_modele</span>;
</span><span id="71" class="l"><a class="l" href="#71"> 71: </a> }
</span><span id="72" class="l"><a class="l" href="#72"> 72: </a> }
</span><span id="73" class="l"><a class="l" href="#73"> 73: </a> <span class="php-keyword1">return</span> <span class="php-var">$sortie</span>;
</span><span id="74" class="l"><a class="l" href="#74"> 74: </a> }
</span><span id="75" class="l"><a class="l" href="#75"> 75: </a>
</span><span id="76" class="l"><a class="l" href="#76"> 76: </a> <span class="php-comment">/**
</span></span><span id="77" class="l"><a class="l" href="#77"> 77: </a><span class="php-comment"> * Fonction prenant en paramètre le nom d'un squelette et un tableau associatif de données,
</span></span><span id="78" class="l"><a class="l" href="#78"> 78: </a><span class="php-comment"> * en extrait les variables, charge le squelette et retourne le résultat des deux combinés.
</span></span><span id="79" class="l"><a class="l" href="#79"> 79: </a><span class="php-comment"> *
</span></span><span id="80" class="l"><a class="l" href="#80"> 80: </a><span class="php-comment"> * @param String $nom_squelette le nom du squelette sans son extension
</span></span><span id="81" class="l"><a class="l" href="#81"> 81: </a><span class="php-comment"> * @param Array $donnees un tableau associatif contenant les variables a injecter dans la vue
</span></span><span id="82" class="l"><a class="l" href="#82"> 82: </a><span class="php-comment"> * @param String $ext l'extension du fichier du squelette (par défaut : &quot;.tpl.html&quot;
</span></span><span id="83" class="l"><a class="l" href="#83"> 83: </a><span class="php-comment"> *
</span></span><span id="84" class="l"><a class="l" href="#84"> 84: </a><span class="php-comment"> * @return boolean false si la vue n'existe pas, sinon la chaine résultat.
</span></span><span id="85" class="l"><a class="l" href="#85"> 85: </a><span class="php-comment"> */</span>
</span><span id="86" class="l"><a class="l" href="#86"> 86: </a> <span class="php-keyword1">final</span> <span class="php-keyword1">protected</span> <span class="php-keyword1">function</span> <a id="_getVue" href="#_getVue">getVue</a>(<span class="php-var">$nom_squelette</span>, <span class="php-var">$donnees</span> = <span class="php-keyword1">array</span>(), <span class="php-var">$ext</span> = <span class="php-quote">'.tpl.html'</span>) {
</span><span id="87" class="l"><a class="l" href="#87"> 87: </a> <span class="php-var">$donnees</span> = <span class="php-var">$this</span>-&gt;preTraiterDonnees(<span class="php-var">$donnees</span>);
</span><span id="88" class="l"><a class="l" href="#88"> 88: </a> <span class="php-var">$chemin_squelette</span> = (<span class="php-var">$this</span>-&gt;registre-&gt;get(<span class="php-quote">'base_chemin_squelette'</span>)).<span class="php-var">$nom_squelette</span>.<span class="php-var">$ext</span>;
</span><span id="89" class="l"><a class="l" href="#89"> 89: </a> <span class="php-var">$sortie</span> = SquelettePhp::analyser(<span class="php-var">$chemin_squelette</span>, <span class="php-var">$donnees</span>);
</span><span id="90" class="l"><a class="l" href="#90"> 90: </a>
</span><span id="91" class="l"><a class="l" href="#91"> 91: </a> <span class="php-keyword1">return</span> <span class="php-var">$sortie</span>;
</span><span id="92" class="l"><a class="l" href="#92"> 92: </a> }
</span><span id="93" class="l"><a class="l" href="#93"> 93: </a>
</span><span id="94" class="l"><a class="l" href="#94"> 94: </a> <span class="php-comment">/**
</span></span><span id="95" class="l"><a class="l" href="#95"> 95: </a><span class="php-comment"> * Fonction prenant en paramètre un tableau de données et effectuant un traitement dessus.
</span></span><span id="96" class="l"><a class="l" href="#96"> 96: </a><span class="php-comment"> * Cette fonction est à surcharger dans les classes filles pour automatiser un traitement
</span></span><span id="97" class="l"><a class="l" href="#97"> 97: </a><span class="php-comment"> * avant chaque chargement de vue.
</span></span><span id="98" class="l"><a class="l" href="#98"> 98: </a><span class="php-comment"> *
</span></span><span id="99" class="l"><a class="l" href="#99"> 99: </a><span class="php-comment"> * @param Array $donnees Le tableau de données à traiter
</span></span><span id="100" class="l"><a class="l" href="#100">100: </a><span class="php-comment"> *
</span></span><span id="101" class="l"><a class="l" href="#101">101: </a><span class="php-comment"> * @return Array $donnees Le tableau de données traité
</span></span><span id="102" class="l"><a class="l" href="#102">102: </a><span class="php-comment"> */</span>
</span><span id="103" class="l"><a class="l" href="#103">103: </a> <span class="php-keyword1">protected</span> <span class="php-keyword1">function</span> <a id="_preTraiterDonnees" href="#_preTraiterDonnees">preTraiterDonnees</a>(<span class="php-var">$donnees</span>) {
</span><span id="104" class="l"><a class="l" href="#104">104: </a> <span class="php-keyword1">return</span> <span class="php-var">$donnees</span>;
</span><span id="105" class="l"><a class="l" href="#105">105: </a> }
</span><span id="106" class="l"><a class="l" href="#106">106: </a>
</span><span id="107" class="l"><a class="l" href="#107">107: </a> <span class="php-comment">/**
</span></span><span id="108" class="l"><a class="l" href="#108">108: </a><span class="php-comment"> * Procédure vérifiant l'encodage des tableaux $_GET et $_POST et les transcodant dans l'encodage de l'application
</span></span><span id="109" class="l"><a class="l" href="#109">109: </a><span class="php-comment"> */</span>
</span><span id="110" class="l"><a class="l" href="#110">110: </a> <span class="php-keyword1">protected</span> <span class="php-keyword1">function</span> <a id="_verifierEtReencoderTableauRequete" href="#_verifierEtReencoderTableauRequete">verifierEtReencoderTableauRequete</a>() {
</span><span id="111" class="l"><a class="l" href="#111">111: </a> <span class="php-keyword1">if</span> (self::<span class="php-var">$encodage</span> == <span class="php-keyword1">false</span> &amp;&amp; Config::get(<span class="php-quote">'sortie_encodage'</span>) != Config::get(<span class="php-quote">'appli_encodage'</span>)) {
</span><span id="112" class="l"><a class="l" href="#112">112: </a> <span class="php-var">$_POST</span> = <span class="php-var">$this</span>-&gt;encoderTableau(<span class="php-var">$_POST</span>, Config::get(<span class="php-quote">'appli_encodage'</span>), Config::get(<span class="php-quote">'sortie_encodage'</span>));
</span><span id="113" class="l"><a class="l" href="#113">113: </a> <span class="php-var">$_GET</span> = <span class="php-var">$this</span>-&gt;encoderTableau(<span class="php-var">$_GET</span>, Config::get(<span class="php-quote">'appli_encodage'</span>), Config::get(<span class="php-quote">'sortie_encodage'</span>));
</span><span id="114" class="l"><a class="l" href="#114">114: </a> self::<span class="php-var">$encodage</span> = <span class="php-keyword1">true</span>;
</span><span id="115" class="l"><a class="l" href="#115">115: </a> }
</span><span id="116" class="l"><a class="l" href="#116">116: </a> }
</span><span id="117" class="l"><a class="l" href="#117">117: </a>
</span><span id="118" class="l"><a class="l" href="#118">118: </a> <span class="php-comment">/**
</span></span><span id="119" class="l"><a class="l" href="#119">119: </a><span class="php-comment"> * Fonction récursive transcodant toutes les valeurs d'un tableau de leur encodage d'entrée vers un encodage de sortie donné
</span></span><span id="120" class="l"><a class="l" href="#120">120: </a><span class="php-comment"> * @param $tableau Array Un tableau de données à encoder
</span></span><span id="121" class="l"><a class="l" href="#121">121: </a><span class="php-comment"> * @param $encodage_sortie String l'encodage vers lequel on doit transcoder
</span></span><span id="122" class="l"><a class="l" href="#122">122: </a><span class="php-comment"> * @param $encodage_entree String l'encodage original des chaines du tableau (optionnel)
</span></span><span id="123" class="l"><a class="l" href="#123">123: </a><span class="php-comment"> * @return Array Le tableau encodé dans l'encodage de sortie
</span></span><span id="124" class="l"><a class="l" href="#124">124: </a><span class="php-comment"> *
</span></span><span id="125" class="l"><a class="l" href="#125">125: </a><span class="php-comment"> */</span>
</span><span id="126" class="l"><a class="l" href="#126">126: </a> <span class="php-keyword1">final</span> <span class="php-keyword1">protected</span> <span class="php-keyword1">function</span> <a id="_encoderTableau" href="#_encoderTableau">encoderTableau</a>(<span class="php-var">$tableau</span>, <span class="php-var">$encodage_sortie</span>, <span class="php-var">$encodage_entree</span> = <span class="php-keyword1">null</span>) {
</span><span id="127" class="l"><a class="l" href="#127">127: </a> <span class="php-keyword1">if</span> (<span class="php-keyword2">is_array</span>(<span class="php-var">$tableau</span>)) {
</span><span id="128" class="l"><a class="l" href="#128">128: </a> <span class="php-keyword1">foreach</span> (<span class="php-var">$tableau</span> <span class="php-keyword1">as</span> <span class="php-var">$cle</span> =&gt; <span class="php-var">$valeur</span>) {
</span><span id="129" class="l"><a class="l" href="#129">129: </a> <span class="php-keyword1">if</span> (<span class="php-keyword2">is_array</span>(<span class="php-var">$valeur</span>)) {
</span><span id="130" class="l"><a class="l" href="#130">130: </a> <span class="php-var">$tableau</span>[<span class="php-var">$cle</span>] = <span class="php-var">$this</span>-&gt;encoderTableau(<span class="php-var">$valeur</span>, <span class="php-var">$encodage_sortie</span>, <span class="php-var">$encodage_entree</span>);
</span><span id="131" class="l"><a class="l" href="#131">131: </a> } <span class="php-keyword1">else</span> {
</span><span id="132" class="l"><a class="l" href="#132">132: </a> <span class="php-var">$tableau</span>[<span class="php-var">$cle</span>] = <span class="php-keyword2">mb_convert_encoding</span>(<span class="php-var">$valeur</span>, <span class="php-var">$encodage_sortie</span>, <span class="php-var">$encodage_entree</span>);
</span><span id="133" class="l"><a class="l" href="#133">133: </a> }
</span><span id="134" class="l"><a class="l" href="#134">134: </a> }
</span><span id="135" class="l"><a class="l" href="#135">135: </a> }
</span><span id="136" class="l"><a class="l" href="#136">136: </a> <span class="php-keyword1">return</span> <span class="php-var">$tableau</span>;
</span><span id="137" class="l"><a class="l" href="#137">137: </a> }
</span><span id="138" class="l"><a class="l" href="#138">138: </a>}
</span><span id="139" class="l"><a class="l" href="#139">139: </a></span><span class="xlang">?&gt;</span></code></pre>
 
<div id="footer">
TBFramework - v0.2 API documentation generated by <a href="http://apigen.org">ApiGen 2.8.0</a>
</div>
</div>
</div>
</body>
</html>
/branches/v0.2-buhl/doc/ApiGen/source-class-Url.html
New file
0,0 → 1,882
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="generator" content="ApiGen 2.8.0">
<meta name="robots" content="noindex">
 
<title>File Url.php | TBFramework - v0.2</title>
 
<script type="text/javascript" src="resources/combined.js?4205936287"></script>
<script type="text/javascript" src="elementlist.js?117657638"></script>
<link rel="stylesheet" type="text/css" media="all" href="resources/style.css?3505392360">
 
</head>
 
<body>
<div id="left">
<div id="menu">
<a href="index.html" title="Overview"><span>Overview</span></a>
 
 
<div id="groups">
<h3>Packages</h3>
<ul>
<li class="active"><a href="package-Framework.html">Framework</a>
</li>
<li><a href="package-PHP.html">PHP</a>
</li>
</ul>
</div>
 
<hr>
 
 
<div id="elements">
<h3>Classes</h3>
<ul>
<li><a href="class-Application.html">Application</a></li>
<li><a href="class-Chronometre.html">Chronometre</a></li>
<li><a href="class-Config.html">Config</a></li>
<li><a href="class-Controleur.html">Controleur</a></li>
<li><a href="class-Debug.html">Debug</a></li>
<li><a href="class-GestionnaireException.html">GestionnaireException</a></li>
<li><a href="class-Log.html">Log</a></li>
<li><a href="class-Modele.html">Modele</a></li>
<li><a href="class-Registre.html">Registre</a></li>
<li><a href="class-SquelettePhp.html">SquelettePhp</a></li>
<li class="active"><a href="class-Url.html">Url</a></li>
</ul>
 
 
 
 
 
<h3>Functions</h3>
<ul>
<li><a href="function-autoloadAppliDefaut.html">autoloadAppliDefaut</a></li>
<li><a href="function-autoloadFw.html">autoloadFw</a></li>
</ul>
</div>
</div>
</div>
 
<div id="splitter"></div>
 
<div id="right">
<div id="rightInner">
<form id="search">
<input type="hidden" name="cx" value="">
<input type="hidden" name="ie" value="UTF-8">
<input type="text" name="q" class="text">
<input type="submit" value="Search">
</form>
 
<div id="navigation">
<ul>
<li>
<a href="index.html" title="Overview"><span>Overview</span></a>
</li>
<li>
<a href="package-Framework.html" title="Summary of Framework"><span>Package</span></a>
</li>
<li>
<a href="class-Url.html" title="Summary of Url"><span>Class</span></a>
</li>
</ul>
<ul>
<li>
<a href="tree.html" title="Tree view of classes, interfaces, traits and exceptions"><span>Tree</span></a>
</li>
<li>
<a href="deprecated.html" title="List of deprecated elements"><span>Deprecated</span></a>
</li>
<li>
<a href="todo.html" title="Todo list"><span>Todo</span></a>
</li>
</ul>
<ul>
</ul>
</div>
 
<pre><code><span id="1" class="l"><a class="l" href="#1"> 1: </a><span class="xlang">&lt;?php</span>
</span><span id="2" class="l"><a class="l" href="#2"> 2: </a><span class="php-comment">// declare(encoding='UTF-8');</span>
</span><span id="3" class="l"><a class="l" href="#3"> 3: </a><span class="php-comment">/**
</span></span><span id="4" class="l"><a class="l" href="#4"> 4: </a><span class="php-comment">* classe Url, gérant le découpage des paramètres, leurs modification etc...
</span></span><span id="5" class="l"><a class="l" href="#5"> 5: </a><span class="php-comment">* Traduction et conversion d'une classe (NET_Url2) issue de Pear
</span></span><span id="6" class="l"><a class="l" href="#6"> 6: </a><span class="php-comment">*
</span></span><span id="7" class="l"><a class="l" href="#7"> 7: </a><span class="php-comment">* @category Php5
</span></span><span id="8" class="l"><a class="l" href="#8"> 8: </a><span class="php-comment">* @package Framework
</span></span><span id="9" class="l"><a class="l" href="#9"> 9: </a><span class="php-comment">// Auteur principal
</span></span><span id="10" class="l"><a class="l" href="#10"> 10: </a><span class="php-comment">* @author Christian Schmidt &lt;schmidt@php.net&gt;
</span></span><span id="11" class="l"><a class="l" href="#11"> 11: </a><span class="php-comment">// Autre auteurs
</span></span><span id="12" class="l"><a class="l" href="#12"> 12: </a><span class="php-comment">* @author Aurélien PERONNET &lt;aurelien@tela-botanica.org&gt;
</span></span><span id="13" class="l"><a class="l" href="#13"> 13: </a><span class="php-comment">* @author Jean-Pascal MILCENT &lt;jpm@tela-botanica.org&gt;
</span></span><span id="14" class="l"><a class="l" href="#14"> 14: </a><span class="php-comment">* @copyright 2009 Tela-Botanica
</span></span><span id="15" class="l"><a class="l" href="#15"> 15: </a><span class="php-comment">* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
</span></span><span id="16" class="l"><a class="l" href="#16"> 16: </a><span class="php-comment">* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
</span></span><span id="17" class="l"><a class="l" href="#17"> 17: </a><span class="php-comment">* @version SVN: $Id: Url.php 171 2010-03-23 11:23:38Z jpm $
</span></span><span id="18" class="l"><a class="l" href="#18"> 18: </a><span class="php-comment">* @link /doc/framework/
</span></span><span id="19" class="l"><a class="l" href="#19"> 19: </a><span class="php-comment">*
</span></span><span id="20" class="l"><a class="l" href="#20"> 20: </a><span class="php-comment">*/</span>
</span><span id="21" class="l"><a class="l" href="#21"> 21: </a><span class="php-keyword1">class</span> <a id="Url" href="#Url">Url</a>
</span><span id="22" class="l"><a class="l" href="#22"> 22: </a>{
</span><span id="23" class="l"><a class="l" href="#23"> 23: </a> <span class="php-comment">/**
</span></span><span id="24" class="l"><a class="l" href="#24"> 24: </a><span class="php-comment"> * Parsing strict dans resoudre() (voir RFC 3986, section 5.2.2). Par défaut
</span></span><span id="25" class="l"><a class="l" href="#25"> 25: </a><span class="php-comment"> * à true.
</span></span><span id="26" class="l"><a class="l" href="#26"> 26: </a><span class="php-comment"> */</span>
</span><span id="27" class="l"><a class="l" href="#27"> 27: </a> <span class="php-keyword1">const</span> <a id="OPTION_STRICTE" href="#OPTION_STRICTE">OPTION_STRICTE</a> = <span class="php-quote">'strict'</span>;
</span><span id="28" class="l"><a class="l" href="#28"> 28: </a>
</span><span id="29" class="l"><a class="l" href="#29"> 29: </a> <span class="php-comment">/**
</span></span><span id="30" class="l"><a class="l" href="#30"> 30: </a><span class="php-comment"> * Répresenter les tableaux dans les requêtes en utilisant la notation php []. Par défaut à true.
</span></span><span id="31" class="l"><a class="l" href="#31"> 31: </a><span class="php-comment"> */</span>
</span><span id="32" class="l"><a class="l" href="#32"> 32: </a> <span class="php-keyword1">const</span> <a id="OPTION_UTILISER_CROCHETS" href="#OPTION_UTILISER_CROCHETS">OPTION_UTILISER_CROCHETS</a> = <span class="php-quote">'use_brackets'</span>;
</span><span id="33" class="l"><a class="l" href="#33"> 33: </a>
</span><span id="34" class="l"><a class="l" href="#34"> 34: </a> <span class="php-comment">/**
</span></span><span id="35" class="l"><a class="l" href="#35"> 35: </a><span class="php-comment"> * URL-encoder les clés des variables dans les requêtes. Par défaut à true.
</span></span><span id="36" class="l"><a class="l" href="#36"> 36: </a><span class="php-comment"> */</span>
</span><span id="37" class="l"><a class="l" href="#37"> 37: </a> <span class="php-keyword1">const</span> <a id="OPTION_ENCODER_CLES" href="#OPTION_ENCODER_CLES">OPTION_ENCODER_CLES</a> = <span class="php-quote">'encode_keys'</span>;
</span><span id="38" class="l"><a class="l" href="#38"> 38: </a>
</span><span id="39" class="l"><a class="l" href="#39"> 39: </a> <span class="php-comment">/**
</span></span><span id="40" class="l"><a class="l" href="#40"> 40: </a><span class="php-comment"> * Séparateurs de variables lors du parsing de la requête. Chaque caractère
</span></span><span id="41" class="l"><a class="l" href="#41"> 41: </a><span class="php-comment"> * est considéré comme un séparateur. Par défaut, spécifié par le paramêtre
</span></span><span id="42" class="l"><a class="l" href="#42"> 42: </a><span class="php-comment"> * arg_separator.input dans php.ini (par défaut &quot;&amp;&quot;).
</span></span><span id="43" class="l"><a class="l" href="#43"> 43: </a><span class="php-comment"> */</span>
</span><span id="44" class="l"><a class="l" href="#44"> 44: </a> <span class="php-keyword1">const</span> <a id="OPTION_SEPARATEUR_ENTREE" href="#OPTION_SEPARATEUR_ENTREE">OPTION_SEPARATEUR_ENTREE</a> = <span class="php-quote">'input_separator'</span>;
</span><span id="45" class="l"><a class="l" href="#45"> 45: </a>
</span><span id="46" class="l"><a class="l" href="#46"> 46: </a> <span class="php-comment">/**
</span></span><span id="47" class="l"><a class="l" href="#47"> 47: </a><span class="php-comment"> * Séparateur de variables lors de la génération de la requête. Par défaut, spécifié
</span></span><span id="48" class="l"><a class="l" href="#48"> 48: </a><span class="php-comment"> * par le paramètre arg_separator.output dans php.ini (par défaut &quot;&amp;&quot;).
</span></span><span id="49" class="l"><a class="l" href="#49"> 49: </a><span class="php-comment"> */</span>
</span><span id="50" class="l"><a class="l" href="#50"> 50: </a> <span class="php-keyword1">const</span> <a id="OPTION_SEPARATEUR_SORTIE" href="#OPTION_SEPARATEUR_SORTIE">OPTION_SEPARATEUR_SORTIE</a> = <span class="php-quote">'output_separator'</span>;
</span><span id="51" class="l"><a class="l" href="#51"> 51: </a>
</span><span id="52" class="l"><a class="l" href="#52"> 52: </a> <span class="php-comment">/**
</span></span><span id="53" class="l"><a class="l" href="#53"> 53: </a><span class="php-comment"> * Options par défaut correspondant au comportement de php
</span></span><span id="54" class="l"><a class="l" href="#54"> 54: </a><span class="php-comment"> * vis à vis de $_GET
</span></span><span id="55" class="l"><a class="l" href="#55"> 55: </a><span class="php-comment"> */</span>
</span><span id="56" class="l"><a class="l" href="#56"> 56: </a> <span class="php-keyword1">private</span> <span class="php-var"><a id="$options" href="#$options">$options</a></span> = <span class="php-keyword1">array</span>(
</span><span id="57" class="l"><a class="l" href="#57"> 57: </a> self::OPTION_STRICTE =&gt; <span class="php-keyword1">true</span>,
</span><span id="58" class="l"><a class="l" href="#58"> 58: </a> self::OPTION_UTILISER_CROCHETS =&gt; <span class="php-keyword1">true</span>,
</span><span id="59" class="l"><a class="l" href="#59"> 59: </a> self::OPTION_ENCODER_CLES =&gt; <span class="php-keyword1">true</span>,
</span><span id="60" class="l"><a class="l" href="#60"> 60: </a> self::OPTION_SEPARATEUR_ENTREE =&gt; <span class="php-quote">'x&amp;'</span>,
</span><span id="61" class="l"><a class="l" href="#61"> 61: </a> self::OPTION_SEPARATEUR_SORTIE =&gt; <span class="php-quote">'x&amp;'</span>);
</span><span id="62" class="l"><a class="l" href="#62"> 62: </a>
</span><span id="63" class="l"><a class="l" href="#63"> 63: </a> <span class="php-comment">/**
</span></span><span id="64" class="l"><a class="l" href="#64"> 64: </a><span class="php-comment"> * @var string|bool
</span></span><span id="65" class="l"><a class="l" href="#65"> 65: </a><span class="php-comment"> */</span>
</span><span id="66" class="l"><a class="l" href="#66"> 66: </a> <span class="php-keyword1">private</span> <span class="php-var"><a id="$schema" href="#$schema">$schema</a></span> = <span class="php-keyword1">false</span>;
</span><span id="67" class="l"><a class="l" href="#67"> 67: </a>
</span><span id="68" class="l"><a class="l" href="#68"> 68: </a> <span class="php-comment">/**
</span></span><span id="69" class="l"><a class="l" href="#69"> 69: </a><span class="php-comment"> * @var string|bool
</span></span><span id="70" class="l"><a class="l" href="#70"> 70: </a><span class="php-comment"> */</span>
</span><span id="71" class="l"><a class="l" href="#71"> 71: </a> <span class="php-keyword1">private</span> <span class="php-var"><a id="$infoUtilisateur" href="#$infoUtilisateur">$infoUtilisateur</a></span> = <span class="php-keyword1">false</span>;
</span><span id="72" class="l"><a class="l" href="#72"> 72: </a>
</span><span id="73" class="l"><a class="l" href="#73"> 73: </a> <span class="php-comment">/**
</span></span><span id="74" class="l"><a class="l" href="#74"> 74: </a><span class="php-comment"> * @var string|bool
</span></span><span id="75" class="l"><a class="l" href="#75"> 75: </a><span class="php-comment"> */</span>
</span><span id="76" class="l"><a class="l" href="#76"> 76: </a> <span class="php-keyword1">private</span> <span class="php-var"><a id="$hote" href="#$hote">$hote</a></span> = <span class="php-keyword1">false</span>;
</span><span id="77" class="l"><a class="l" href="#77"> 77: </a>
</span><span id="78" class="l"><a class="l" href="#78"> 78: </a> <span class="php-comment">/**
</span></span><span id="79" class="l"><a class="l" href="#79"> 79: </a><span class="php-comment"> * @var int|bool
</span></span><span id="80" class="l"><a class="l" href="#80"> 80: </a><span class="php-comment"> */</span>
</span><span id="81" class="l"><a class="l" href="#81"> 81: </a> <span class="php-keyword1">private</span> <span class="php-var"><a id="$port" href="#$port">$port</a></span> = <span class="php-keyword1">false</span>;
</span><span id="82" class="l"><a class="l" href="#82"> 82: </a>
</span><span id="83" class="l"><a class="l" href="#83"> 83: </a> <span class="php-comment">/**
</span></span><span id="84" class="l"><a class="l" href="#84"> 84: </a><span class="php-comment"> * @var string
</span></span><span id="85" class="l"><a class="l" href="#85"> 85: </a><span class="php-comment"> */</span>
</span><span id="86" class="l"><a class="l" href="#86"> 86: </a> <span class="php-keyword1">private</span> <span class="php-var"><a id="$chemin" href="#$chemin">$chemin</a></span> = <span class="php-quote">''</span>;
</span><span id="87" class="l"><a class="l" href="#87"> 87: </a>
</span><span id="88" class="l"><a class="l" href="#88"> 88: </a> <span class="php-comment">/**
</span></span><span id="89" class="l"><a class="l" href="#89"> 89: </a><span class="php-comment"> * @var string|bool
</span></span><span id="90" class="l"><a class="l" href="#90"> 90: </a><span class="php-comment"> */</span>
</span><span id="91" class="l"><a class="l" href="#91"> 91: </a> <span class="php-keyword1">private</span> <span class="php-var"><a id="$requete" href="#$requete">$requete</a></span> = <span class="php-keyword1">false</span>;
</span><span id="92" class="l"><a class="l" href="#92"> 92: </a>
</span><span id="93" class="l"><a class="l" href="#93"> 93: </a> <span class="php-comment">/**
</span></span><span id="94" class="l"><a class="l" href="#94"> 94: </a><span class="php-comment"> * @var string|bool
</span></span><span id="95" class="l"><a class="l" href="#95"> 95: </a><span class="php-comment"> */</span>
</span><span id="96" class="l"><a class="l" href="#96"> 96: </a> <span class="php-keyword1">private</span> <span class="php-var"><a id="$fragment" href="#$fragment">$fragment</a></span> = <span class="php-keyword1">false</span>;
</span><span id="97" class="l"><a class="l" href="#97"> 97: </a>
</span><span id="98" class="l"><a class="l" href="#98"> 98: </a> <span class="php-comment">/**
</span></span><span id="99" class="l"><a class="l" href="#99"> 99: </a><span class="php-comment"> * @param string $url une URL relative ou absolue
</span></span><span id="100" class="l"><a class="l" href="#100">100: </a><span class="php-comment"> * @param array $options
</span></span><span id="101" class="l"><a class="l" href="#101">101: </a><span class="php-comment"> */</span>
</span><span id="102" class="l"><a class="l" href="#102">102: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> <a id="___construct" href="#___construct">__construct</a>(<span class="php-var">$url</span>, <span class="php-var">$options</span> = <span class="php-keyword1">null</span>) {
</span><span id="103" class="l"><a class="l" href="#103">103: </a> <span class="php-var">$this</span>-&gt;setOption(self::OPTION_SEPARATEUR_ENTREE,
</span><span id="104" class="l"><a class="l" href="#104">104: </a> Config::get(<span class="php-quote">'fw_url_arg_separateur_entree'</span>));
</span><span id="105" class="l"><a class="l" href="#105">105: </a> <span class="php-var">$this</span>-&gt;setOption(self::OPTION_SEPARATEUR_SORTIE,
</span><span id="106" class="l"><a class="l" href="#106">106: </a> Config::get(<span class="php-quote">'fw_url_arg_separateur_sortie'</span>));
</span><span id="107" class="l"><a class="l" href="#107">107: </a> <span class="php-keyword1">if</span> (<span class="php-keyword2">is_array</span>(<span class="php-var">$options</span>)) {
</span><span id="108" class="l"><a class="l" href="#108">108: </a> <span class="php-keyword1">foreach</span> (<span class="php-var">$options</span> <span class="php-keyword1">as</span> <span class="php-var">$nomOption</span> =&gt; <span class="php-var">$valeur</span>) {
</span><span id="109" class="l"><a class="l" href="#109">109: </a> <span class="php-var">$this</span>-&gt;setOption(<span class="php-var">$nomOption</span>);
</span><span id="110" class="l"><a class="l" href="#110">110: </a> }
</span><span id="111" class="l"><a class="l" href="#111">111: </a> }
</span><span id="112" class="l"><a class="l" href="#112">112: </a>
</span><span id="113" class="l"><a class="l" href="#113">113: </a> <span class="php-keyword1">if</span> (<span class="php-keyword2">preg_match</span>(<span class="php-quote">'@^([a-z][a-z0-9.+-]*):@i'</span>, <span class="php-var">$url</span>, <span class="php-var">$reg</span>)) {
</span><span id="114" class="l"><a class="l" href="#114">114: </a> <span class="php-var">$this</span>-&gt;schema = <span class="php-var">$reg</span>[<span class="php-num">1</span>];
</span><span id="115" class="l"><a class="l" href="#115">115: </a> <span class="php-var">$url</span> = <span class="php-keyword2">substr</span>(<span class="php-var">$url</span>, <span class="php-keyword2">strlen</span>(<span class="php-var">$reg</span>[<span class="php-num">0</span>]));
</span><span id="116" class="l"><a class="l" href="#116">116: </a> }
</span><span id="117" class="l"><a class="l" href="#117">117: </a>
</span><span id="118" class="l"><a class="l" href="#118">118: </a> <span class="php-keyword1">if</span> (<span class="php-keyword2">preg_match</span>(<span class="php-quote">'@^//([^/#?]+)@'</span>, <span class="php-var">$url</span>, <span class="php-var">$reg</span>)) {
</span><span id="119" class="l"><a class="l" href="#119">119: </a> <span class="php-var">$this</span>-&gt;setAutorite(<span class="php-var">$reg</span>[<span class="php-num">1</span>]);
</span><span id="120" class="l"><a class="l" href="#120">120: </a> <span class="php-var">$url</span> = <span class="php-keyword2">substr</span>(<span class="php-var">$url</span>, <span class="php-keyword2">strlen</span>(<span class="php-var">$reg</span>[<span class="php-num">0</span>]));
</span><span id="121" class="l"><a class="l" href="#121">121: </a> }
</span><span id="122" class="l"><a class="l" href="#122">122: </a>
</span><span id="123" class="l"><a class="l" href="#123">123: </a> <span class="php-var">$i</span> = <span class="php-keyword2">strcspn</span>(<span class="php-var">$url</span>, <span class="php-quote">'?#'</span>);
</span><span id="124" class="l"><a class="l" href="#124">124: </a> <span class="php-var">$this</span>-&gt;chemin = <span class="php-keyword2">substr</span>(<span class="php-var">$url</span>, <span class="php-num">0</span>, <span class="php-var">$i</span>);
</span><span id="125" class="l"><a class="l" href="#125">125: </a> <span class="php-var">$url</span> = <span class="php-keyword2">substr</span>(<span class="php-var">$url</span>, <span class="php-var">$i</span>);
</span><span id="126" class="l"><a class="l" href="#126">126: </a>
</span><span id="127" class="l"><a class="l" href="#127">127: </a> <span class="php-keyword1">if</span> (<span class="php-keyword2">preg_match</span>(<span class="php-quote">'@^\?([^#]*)@'</span>, <span class="php-var">$url</span>, <span class="php-var">$reg</span>)) {
</span><span id="128" class="l"><a class="l" href="#128">128: </a> <span class="php-var">$this</span>-&gt;requete = <span class="php-var">$reg</span>[<span class="php-num">1</span>];
</span><span id="129" class="l"><a class="l" href="#129">129: </a> <span class="php-var">$url</span> = <span class="php-keyword2">substr</span>(<span class="php-var">$url</span>, <span class="php-keyword2">strlen</span>(<span class="php-var">$reg</span>[<span class="php-num">0</span>]));
</span><span id="130" class="l"><a class="l" href="#130">130: </a> }
</span><span id="131" class="l"><a class="l" href="#131">131: </a>
</span><span id="132" class="l"><a class="l" href="#132">132: </a> <span class="php-keyword1">if</span> (<span class="php-var">$url</span>) {
</span><span id="133" class="l"><a class="l" href="#133">133: </a> <span class="php-var">$this</span>-&gt;fragment = <span class="php-keyword2">substr</span>(<span class="php-var">$url</span>, <span class="php-num">1</span>);
</span><span id="134" class="l"><a class="l" href="#134">134: </a> }
</span><span id="135" class="l"><a class="l" href="#135">135: </a> }
</span><span id="136" class="l"><a class="l" href="#136">136: </a>
</span><span id="137" class="l"><a class="l" href="#137">137: </a> <span class="php-comment">/**
</span></span><span id="138" class="l"><a class="l" href="#138">138: </a><span class="php-comment"> * Retourne le schéma, c.a.d. &quot;http&quot; ou &quot;urn&quot;, ou false si aucun schéma n'est
</span></span><span id="139" class="l"><a class="l" href="#139">139: </a><span class="php-comment"> * spécifié, i.e. l'url est une url relative
</span></span><span id="140" class="l"><a class="l" href="#140">140: </a><span class="php-comment"> *
</span></span><span id="141" class="l"><a class="l" href="#141">141: </a><span class="php-comment"> * @return string|bool
</span></span><span id="142" class="l"><a class="l" href="#142">142: </a><span class="php-comment"> */</span>
</span><span id="143" class="l"><a class="l" href="#143">143: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> <a id="_getSchema" href="#_getSchema">getSchema</a>() {
</span><span id="144" class="l"><a class="l" href="#144">144: </a> <span class="php-keyword1">return</span> <span class="php-var">$this</span>-&gt;schema;
</span><span id="145" class="l"><a class="l" href="#145">145: </a> }
</span><span id="146" class="l"><a class="l" href="#146">146: </a>
</span><span id="147" class="l"><a class="l" href="#147">147: </a> <span class="php-comment">/**
</span></span><span id="148" class="l"><a class="l" href="#148">148: </a><span class="php-comment"> * @param string|bool $schema
</span></span><span id="149" class="l"><a class="l" href="#149">149: </a><span class="php-comment"> *
</span></span><span id="150" class="l"><a class="l" href="#150">150: </a><span class="php-comment"> * @return void
</span></span><span id="151" class="l"><a class="l" href="#151">151: </a><span class="php-comment"> * @see getSchema()
</span></span><span id="152" class="l"><a class="l" href="#152">152: </a><span class="php-comment"> */</span>
</span><span id="153" class="l"><a class="l" href="#153">153: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> <a id="_setSchema" href="#_setSchema">setSchema</a>(<span class="php-var">$schema</span>) {
</span><span id="154" class="l"><a class="l" href="#154">154: </a> <span class="php-var">$this</span>-&gt;schema = <span class="php-var">$schema</span>;
</span><span id="155" class="l"><a class="l" href="#155">155: </a> }
</span><span id="156" class="l"><a class="l" href="#156">156: </a>
</span><span id="157" class="l"><a class="l" href="#157">157: </a> <span class="php-comment">/**
</span></span><span id="158" class="l"><a class="l" href="#158">158: </a><span class="php-comment"> * renvoie la partie user de la partie infoUtilisateur (partie précédant le premier
</span></span><span id="159" class="l"><a class="l" href="#159">159: </a><span class="php-comment"> * &quot;:&quot;), ou false si aucune partie infoUtilisateur n'est définie.
</span></span><span id="160" class="l"><a class="l" href="#160">160: </a><span class="php-comment"> *
</span></span><span id="161" class="l"><a class="l" href="#161">161: </a><span class="php-comment"> * @return string|bool
</span></span><span id="162" class="l"><a class="l" href="#162">162: </a><span class="php-comment"> */</span>
</span><span id="163" class="l"><a class="l" href="#163">163: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> <a id="_getUtilisateur" href="#_getUtilisateur">getUtilisateur</a>() {
</span><span id="164" class="l"><a class="l" href="#164">164: </a> <span class="php-keyword1">return</span> <span class="php-var">$this</span>-&gt;infoUtilisateur !== <span class="php-keyword1">false</span> ? <span class="php-keyword2">preg_replace</span>(<span class="php-quote">'@:.*$@'</span>, <span class="php-quote">''</span>, <span class="php-var">$this</span>-&gt;infoUtilisateur) : <span class="php-keyword1">false</span>;
</span><span id="165" class="l"><a class="l" href="#165">165: </a> }
</span><span id="166" class="l"><a class="l" href="#166">166: </a>
</span><span id="167" class="l"><a class="l" href="#167">167: </a> <span class="php-comment">/**
</span></span><span id="168" class="l"><a class="l" href="#168">168: </a><span class="php-comment"> * renvoie la partie mot de passe de la partie infoUtilisateur (partie après le premier
</span></span><span id="169" class="l"><a class="l" href="#169">169: </a><span class="php-comment"> * &quot;:&quot;), , ou false si aucune partie infoUtilisateur n'est définie (i.e. l'URL ne contient
</span></span><span id="170" class="l"><a class="l" href="#170">170: </a><span class="php-comment"> * pas de &quot;@&quot; en face du nom d'hôte) ou si la partie infoUtilisateur ne contient pas de &quot;:&quot;.
</span></span><span id="171" class="l"><a class="l" href="#171">171: </a><span class="php-comment"> *
</span></span><span id="172" class="l"><a class="l" href="#172">172: </a><span class="php-comment"> * @return string|bool
</span></span><span id="173" class="l"><a class="l" href="#173">173: </a><span class="php-comment"> */</span>
</span><span id="174" class="l"><a class="l" href="#174">174: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> <a id="_getMotDePasse" href="#_getMotDePasse">getMotDePasse</a>() {
</span><span id="175" class="l"><a class="l" href="#175">175: </a> <span class="php-keyword1">return</span> <span class="php-var">$this</span>-&gt;infoUtilisateur !== <span class="php-keyword1">false</span> ? <span class="php-keyword2">substr</span>(<span class="php-keyword2">strstr</span>(<span class="php-var">$this</span>-&gt;infoUtilisateur, <span class="php-quote">':'</span>), <span class="php-num">1</span>) : <span class="php-keyword1">false</span>;
</span><span id="176" class="l"><a class="l" href="#176">176: </a> }
</span><span id="177" class="l"><a class="l" href="#177">177: </a>
</span><span id="178" class="l"><a class="l" href="#178">178: </a> <span class="php-comment">/**
</span></span><span id="179" class="l"><a class="l" href="#179">179: </a><span class="php-comment"> * Renvoie la partie userinfio, ou false si celle-ci n'existe pas, i.e. si la partie
</span></span><span id="180" class="l"><a class="l" href="#180">180: </a><span class="php-comment"> * autorité ne contient pas de &quot;@&quot;
</span></span><span id="181" class="l"><a class="l" href="#181">181: </a><span class="php-comment"> *
</span></span><span id="182" class="l"><a class="l" href="#182">182: </a><span class="php-comment"> * @return string|bool
</span></span><span id="183" class="l"><a class="l" href="#183">183: </a><span class="php-comment"> */</span>
</span><span id="184" class="l"><a class="l" href="#184">184: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> <a id="_getInfoUtilisateur" href="#_getInfoUtilisateur">getInfoUtilisateur</a>() {
</span><span id="185" class="l"><a class="l" href="#185">185: </a> <span class="php-keyword1">return</span> <span class="php-var">$this</span>-&gt;infoUtilisateur;
</span><span id="186" class="l"><a class="l" href="#186">186: </a> }
</span><span id="187" class="l"><a class="l" href="#187">187: </a>
</span><span id="188" class="l"><a class="l" href="#188">188: </a> <span class="php-comment">/**
</span></span><span id="189" class="l"><a class="l" href="#189">189: </a><span class="php-comment"> * Setteur pour la partie infoUtilisateur. Si deux argument sont passé, ils sont combinés
</span></span><span id="190" class="l"><a class="l" href="#190">190: </a><span class="php-comment"> * dans la partie infoUtilisateur de cette manière username &quot;:&quot; password.
</span></span><span id="191" class="l"><a class="l" href="#191">191: </a><span class="php-comment"> *
</span></span><span id="192" class="l"><a class="l" href="#192">192: </a><span class="php-comment"> * @param string|bool $infoUtilisateur infoUtilisateur ou username
</span></span><span id="193" class="l"><a class="l" href="#193">193: </a><span class="php-comment"> * @param string|bool $motDePasse
</span></span><span id="194" class="l"><a class="l" href="#194">194: </a><span class="php-comment"> *
</span></span><span id="195" class="l"><a class="l" href="#195">195: </a><span class="php-comment"> * @return void
</span></span><span id="196" class="l"><a class="l" href="#196">196: </a><span class="php-comment"> */</span>
</span><span id="197" class="l"><a class="l" href="#197">197: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> <a id="_setInfoUtilisateur" href="#_setInfoUtilisateur">setInfoUtilisateur</a>(<span class="php-var">$infoUtilisateur</span>, <span class="php-var">$motDePasse</span> = <span class="php-keyword1">false</span>) {
</span><span id="198" class="l"><a class="l" href="#198">198: </a> <span class="php-var">$this</span>-&gt;infoUtilisateur = <span class="php-var">$infoUtilisateur</span>;
</span><span id="199" class="l"><a class="l" href="#199">199: </a> <span class="php-keyword1">if</span> (<span class="php-var">$motDePasse</span> !== <span class="php-keyword1">false</span>) {
</span><span id="200" class="l"><a class="l" href="#200">200: </a> <span class="php-var">$this</span>-&gt;infoUtilisateur .= <span class="php-quote">':'</span> . <span class="php-var">$motDePasse</span>;
</span><span id="201" class="l"><a class="l" href="#201">201: </a> }
</span><span id="202" class="l"><a class="l" href="#202">202: </a> }
</span><span id="203" class="l"><a class="l" href="#203">203: </a>
</span><span id="204" class="l"><a class="l" href="#204">204: </a> <span class="php-comment">/**
</span></span><span id="205" class="l"><a class="l" href="#205">205: </a><span class="php-comment"> * Renvoie la partie hôte, ou false s'il n'y a pas de partie autorité, c.a.d.
</span></span><span id="206" class="l"><a class="l" href="#206">206: </a><span class="php-comment"> * l'URL est relative.
</span></span><span id="207" class="l"><a class="l" href="#207">207: </a><span class="php-comment"> *
</span></span><span id="208" class="l"><a class="l" href="#208">208: </a><span class="php-comment"> * @return string|bool
</span></span><span id="209" class="l"><a class="l" href="#209">209: </a><span class="php-comment"> */</span>
</span><span id="210" class="l"><a class="l" href="#210">210: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> <a id="_getHote" href="#_getHote">getHote</a>() {
</span><span id="211" class="l"><a class="l" href="#211">211: </a> <span class="php-keyword1">return</span> <span class="php-var">$this</span>-&gt;hote;
</span><span id="212" class="l"><a class="l" href="#212">212: </a> }
</span><span id="213" class="l"><a class="l" href="#213">213: </a>
</span><span id="214" class="l"><a class="l" href="#214">214: </a> <span class="php-comment">/**
</span></span><span id="215" class="l"><a class="l" href="#215">215: </a><span class="php-comment"> * @param string|bool $hote
</span></span><span id="216" class="l"><a class="l" href="#216">216: </a><span class="php-comment"> *
</span></span><span id="217" class="l"><a class="l" href="#217">217: </a><span class="php-comment"> * @return void
</span></span><span id="218" class="l"><a class="l" href="#218">218: </a><span class="php-comment"> */</span>
</span><span id="219" class="l"><a class="l" href="#219">219: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> <a id="_setHote" href="#_setHote">setHote</a>(<span class="php-var">$hote</span>) {
</span><span id="220" class="l"><a class="l" href="#220">220: </a> <span class="php-var">$this</span>-&gt;hote = <span class="php-var">$hote</span>;
</span><span id="221" class="l"><a class="l" href="#221">221: </a> }
</span><span id="222" class="l"><a class="l" href="#222">222: </a>
</span><span id="223" class="l"><a class="l" href="#223">223: </a> <span class="php-comment">/**
</span></span><span id="224" class="l"><a class="l" href="#224">224: </a><span class="php-comment"> * Renvoie le numéro de port, ou false si aucun numéro de port n'est spécifié,
</span></span><span id="225" class="l"><a class="l" href="#225">225: </a><span class="php-comment"> * i.e. le port par défaut doit utilisé.
</span></span><span id="226" class="l"><a class="l" href="#226">226: </a><span class="php-comment"> *
</span></span><span id="227" class="l"><a class="l" href="#227">227: </a><span class="php-comment"> * @return int|bool
</span></span><span id="228" class="l"><a class="l" href="#228">228: </a><span class="php-comment"> */</span>
</span><span id="229" class="l"><a class="l" href="#229">229: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> <a id="_getPort" href="#_getPort">getPort</a>() {
</span><span id="230" class="l"><a class="l" href="#230">230: </a> <span class="php-keyword1">return</span> <span class="php-var">$this</span>-&gt;port;
</span><span id="231" class="l"><a class="l" href="#231">231: </a> }
</span><span id="232" class="l"><a class="l" href="#232">232: </a>
</span><span id="233" class="l"><a class="l" href="#233">233: </a> <span class="php-comment">/**
</span></span><span id="234" class="l"><a class="l" href="#234">234: </a><span class="php-comment"> * @param int|bool $port
</span></span><span id="235" class="l"><a class="l" href="#235">235: </a><span class="php-comment"> *
</span></span><span id="236" class="l"><a class="l" href="#236">236: </a><span class="php-comment"> * @return void
</span></span><span id="237" class="l"><a class="l" href="#237">237: </a><span class="php-comment"> */</span>
</span><span id="238" class="l"><a class="l" href="#238">238: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> <a id="_setPort" href="#_setPort">setPort</a>(<span class="php-var">$port</span>) {
</span><span id="239" class="l"><a class="l" href="#239">239: </a> <span class="php-var">$this</span>-&gt;port = <span class="php-keyword2">intval</span>(<span class="php-var">$port</span>);
</span><span id="240" class="l"><a class="l" href="#240">240: </a> }
</span><span id="241" class="l"><a class="l" href="#241">241: </a>
</span><span id="242" class="l"><a class="l" href="#242">242: </a> <span class="php-comment">/**
</span></span><span id="243" class="l"><a class="l" href="#243">243: </a><span class="php-comment"> * Renvoie la partie autorité, i.e. [ infoUtilisateur &quot;@&quot; ] hote [ &quot;:&quot; port ], ou
</span></span><span id="244" class="l"><a class="l" href="#244">244: </a><span class="php-comment"> * false si celle-ci est absente.
</span></span><span id="245" class="l"><a class="l" href="#245">245: </a><span class="php-comment"> *
</span></span><span id="246" class="l"><a class="l" href="#246">246: </a><span class="php-comment"> * @return string|bool
</span></span><span id="247" class="l"><a class="l" href="#247">247: </a><span class="php-comment"> */</span>
</span><span id="248" class="l"><a class="l" href="#248">248: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> <a id="_getAutorite" href="#_getAutorite">getAutorite</a>() {
</span><span id="249" class="l"><a class="l" href="#249">249: </a> <span class="php-keyword1">if</span> (!<span class="php-var">$this</span>-&gt;hote) {
</span><span id="250" class="l"><a class="l" href="#250">250: </a> <span class="php-keyword1">return</span> <span class="php-keyword1">false</span>;
</span><span id="251" class="l"><a class="l" href="#251">251: </a> }
</span><span id="252" class="l"><a class="l" href="#252">252: </a>
</span><span id="253" class="l"><a class="l" href="#253">253: </a> <span class="php-var">$autorite</span> = <span class="php-quote">''</span>;
</span><span id="254" class="l"><a class="l" href="#254">254: </a>
</span><span id="255" class="l"><a class="l" href="#255">255: </a> <span class="php-keyword1">if</span> (<span class="php-var">$this</span>-&gt;infoUtilisateur !== <span class="php-keyword1">false</span>) {
</span><span id="256" class="l"><a class="l" href="#256">256: </a> <span class="php-var">$autorite</span> .= <span class="php-var">$this</span>-&gt;infoUtilisateur . <span class="php-quote">'@'</span>;
</span><span id="257" class="l"><a class="l" href="#257">257: </a> }
</span><span id="258" class="l"><a class="l" href="#258">258: </a>
</span><span id="259" class="l"><a class="l" href="#259">259: </a> <span class="php-var">$autorite</span> .= <span class="php-var">$this</span>-&gt;hote;
</span><span id="260" class="l"><a class="l" href="#260">260: </a>
</span><span id="261" class="l"><a class="l" href="#261">261: </a> <span class="php-keyword1">if</span> (<span class="php-var">$this</span>-&gt;port !== <span class="php-keyword1">false</span>) {
</span><span id="262" class="l"><a class="l" href="#262">262: </a> <span class="php-var">$autorite</span> .= <span class="php-quote">':'</span> . <span class="php-var">$this</span>-&gt;port;
</span><span id="263" class="l"><a class="l" href="#263">263: </a> }
</span><span id="264" class="l"><a class="l" href="#264">264: </a>
</span><span id="265" class="l"><a class="l" href="#265">265: </a> <span class="php-keyword1">return</span> <span class="php-var">$autorite</span>;
</span><span id="266" class="l"><a class="l" href="#266">266: </a> }
</span><span id="267" class="l"><a class="l" href="#267">267: </a>
</span><span id="268" class="l"><a class="l" href="#268">268: </a> <span class="php-comment">/**
</span></span><span id="269" class="l"><a class="l" href="#269">269: </a><span class="php-comment"> * @param string|false $autorite
</span></span><span id="270" class="l"><a class="l" href="#270">270: </a><span class="php-comment"> *
</span></span><span id="271" class="l"><a class="l" href="#271">271: </a><span class="php-comment"> * @return void
</span></span><span id="272" class="l"><a class="l" href="#272">272: </a><span class="php-comment"> */</span>
</span><span id="273" class="l"><a class="l" href="#273">273: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> <a id="_setAutorite" href="#_setAutorite">setAutorite</a>(<span class="php-var">$autorite</span>) {
</span><span id="274" class="l"><a class="l" href="#274">274: </a> <span class="php-var">$this</span>-&gt;user = <span class="php-keyword1">false</span>;
</span><span id="275" class="l"><a class="l" href="#275">275: </a> <span class="php-var">$this</span>-&gt;pass = <span class="php-keyword1">false</span>;
</span><span id="276" class="l"><a class="l" href="#276">276: </a> <span class="php-var">$this</span>-&gt;hote = <span class="php-keyword1">false</span>;
</span><span id="277" class="l"><a class="l" href="#277">277: </a> <span class="php-var">$this</span>-&gt;port = <span class="php-keyword1">false</span>;
</span><span id="278" class="l"><a class="l" href="#278">278: </a> <span class="php-keyword1">if</span> (<span class="php-keyword2">preg_match</span>(<span class="php-quote">'@^(([^\@]+)\@)?([^:]+)(:(\d*))?$@'</span>, <span class="php-var">$autorite</span>, <span class="php-var">$reg</span>)) {
</span><span id="279" class="l"><a class="l" href="#279">279: </a> <span class="php-keyword1">if</span> (<span class="php-var">$reg</span>[<span class="php-num">1</span>]) {
</span><span id="280" class="l"><a class="l" href="#280">280: </a> <span class="php-var">$this</span>-&gt;infoUtilisateur = <span class="php-var">$reg</span>[<span class="php-num">2</span>];
</span><span id="281" class="l"><a class="l" href="#281">281: </a> }
</span><span id="282" class="l"><a class="l" href="#282">282: </a>
</span><span id="283" class="l"><a class="l" href="#283">283: </a> <span class="php-var">$this</span>-&gt;hote = <span class="php-var">$reg</span>[<span class="php-num">3</span>];
</span><span id="284" class="l"><a class="l" href="#284">284: </a> <span class="php-keyword1">if</span> (<span class="php-keyword1">isset</span>(<span class="php-var">$reg</span>[<span class="php-num">5</span>])) {
</span><span id="285" class="l"><a class="l" href="#285">285: </a> <span class="php-var">$this</span>-&gt;port = <span class="php-keyword2">intval</span>(<span class="php-var">$reg</span>[<span class="php-num">5</span>]);
</span><span id="286" class="l"><a class="l" href="#286">286: </a> }
</span><span id="287" class="l"><a class="l" href="#287">287: </a> }
</span><span id="288" class="l"><a class="l" href="#288">288: </a> }
</span><span id="289" class="l"><a class="l" href="#289">289: </a>
</span><span id="290" class="l"><a class="l" href="#290">290: </a> <span class="php-comment">/**
</span></span><span id="291" class="l"><a class="l" href="#291">291: </a><span class="php-comment"> * Renvoie la partie chemin (chemin) (éventuellement vide).
</span></span><span id="292" class="l"><a class="l" href="#292">292: </a><span class="php-comment"> *
</span></span><span id="293" class="l"><a class="l" href="#293">293: </a><span class="php-comment"> * @return string
</span></span><span id="294" class="l"><a class="l" href="#294">294: </a><span class="php-comment"> */</span>
</span><span id="295" class="l"><a class="l" href="#295">295: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> <a id="_getChemin" href="#_getChemin">getChemin</a>() {
</span><span id="296" class="l"><a class="l" href="#296">296: </a> <span class="php-keyword1">return</span> <span class="php-var">$this</span>-&gt;chemin;
</span><span id="297" class="l"><a class="l" href="#297">297: </a> }
</span><span id="298" class="l"><a class="l" href="#298">298: </a>
</span><span id="299" class="l"><a class="l" href="#299">299: </a> <span class="php-comment">/**
</span></span><span id="300" class="l"><a class="l" href="#300">300: </a><span class="php-comment"> * @param string $chemin
</span></span><span id="301" class="l"><a class="l" href="#301">301: </a><span class="php-comment"> *
</span></span><span id="302" class="l"><a class="l" href="#302">302: </a><span class="php-comment"> * @return void
</span></span><span id="303" class="l"><a class="l" href="#303">303: </a><span class="php-comment"> */</span>
</span><span id="304" class="l"><a class="l" href="#304">304: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> <a id="_setChemin" href="#_setChemin">setChemin</a>(<span class="php-var">$chemin</span>) {
</span><span id="305" class="l"><a class="l" href="#305">305: </a> <span class="php-var">$this</span>-&gt;chemin = <span class="php-var">$chemin</span>;
</span><span id="306" class="l"><a class="l" href="#306">306: </a> }
</span><span id="307" class="l"><a class="l" href="#307">307: </a>
</span><span id="308" class="l"><a class="l" href="#308">308: </a> <span class="php-comment">/**
</span></span><span id="309" class="l"><a class="l" href="#309">309: </a><span class="php-comment"> * renvoie la chaine de requête (requete string) (sans le premier &quot;?&quot;), ou false si &quot;?&quot;
</span></span><span id="310" class="l"><a class="l" href="#310">310: </a><span class="php-comment"> * n'est pas présent dans l'url.
</span></span><span id="311" class="l"><a class="l" href="#311">311: </a><span class="php-comment"> *
</span></span><span id="312" class="l"><a class="l" href="#312">312: </a><span class="php-comment"> * @return string|bool
</span></span><span id="313" class="l"><a class="l" href="#313">313: </a><span class="php-comment"> * @see self::getVariablesRequete()
</span></span><span id="314" class="l"><a class="l" href="#314">314: </a><span class="php-comment"> */</span>
</span><span id="315" class="l"><a class="l" href="#315">315: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> <a id="_getRequete" href="#_getRequete">getRequete</a>() {
</span><span id="316" class="l"><a class="l" href="#316">316: </a> <span class="php-keyword1">return</span> <span class="php-var">$this</span>-&gt;requete;
</span><span id="317" class="l"><a class="l" href="#317">317: </a> }
</span><span id="318" class="l"><a class="l" href="#318">318: </a>
</span><span id="319" class="l"><a class="l" href="#319">319: </a> <span class="php-comment">/**
</span></span><span id="320" class="l"><a class="l" href="#320">320: </a><span class="php-comment"> * @param string|bool $requete
</span></span><span id="321" class="l"><a class="l" href="#321">321: </a><span class="php-comment"> *
</span></span><span id="322" class="l"><a class="l" href="#322">322: </a><span class="php-comment"> * @return void
</span></span><span id="323" class="l"><a class="l" href="#323">323: </a><span class="php-comment"> * @see self::setVariablesRequete()
</span></span><span id="324" class="l"><a class="l" href="#324">324: </a><span class="php-comment"> */</span>
</span><span id="325" class="l"><a class="l" href="#325">325: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> <a id="_setRequete" href="#_setRequete">setRequete</a>(<span class="php-var">$requete</span>) {
</span><span id="326" class="l"><a class="l" href="#326">326: </a> <span class="php-var">$this</span>-&gt;requete = <span class="php-var">$requete</span>;
</span><span id="327" class="l"><a class="l" href="#327">327: </a> }
</span><span id="328" class="l"><a class="l" href="#328">328: </a>
</span><span id="329" class="l"><a class="l" href="#329">329: </a> <span class="php-comment">/**
</span></span><span id="330" class="l"><a class="l" href="#330">330: </a><span class="php-comment"> * Renvoie le nom du fragment, ou false si &quot;#&quot; n'est pas present dans l'URL.
</span></span><span id="331" class="l"><a class="l" href="#331">331: </a><span class="php-comment"> *
</span></span><span id="332" class="l"><a class="l" href="#332">332: </a><span class="php-comment"> * @return string|bool
</span></span><span id="333" class="l"><a class="l" href="#333">333: </a><span class="php-comment"> */</span>
</span><span id="334" class="l"><a class="l" href="#334">334: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> <a id="_getFragment" href="#_getFragment">getFragment</a>() {
</span><span id="335" class="l"><a class="l" href="#335">335: </a> <span class="php-keyword1">return</span> <span class="php-var">$this</span>-&gt;fragment;
</span><span id="336" class="l"><a class="l" href="#336">336: </a> }
</span><span id="337" class="l"><a class="l" href="#337">337: </a>
</span><span id="338" class="l"><a class="l" href="#338">338: </a> <span class="php-comment">/**
</span></span><span id="339" class="l"><a class="l" href="#339">339: </a><span class="php-comment"> * @param string|bool $fragment
</span></span><span id="340" class="l"><a class="l" href="#340">340: </a><span class="php-comment"> *
</span></span><span id="341" class="l"><a class="l" href="#341">341: </a><span class="php-comment"> * @return void
</span></span><span id="342" class="l"><a class="l" href="#342">342: </a><span class="php-comment"> */</span>
</span><span id="343" class="l"><a class="l" href="#343">343: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> <a id="_setFragment" href="#_setFragment">setFragment</a>(<span class="php-var">$fragment</span>) {
</span><span id="344" class="l"><a class="l" href="#344">344: </a> <span class="php-var">$this</span>-&gt;fragment = <span class="php-var">$fragment</span>;
</span><span id="345" class="l"><a class="l" href="#345">345: </a> }
</span><span id="346" class="l"><a class="l" href="#346">346: </a>
</span><span id="347" class="l"><a class="l" href="#347">347: </a> <span class="php-comment">/**
</span></span><span id="348" class="l"><a class="l" href="#348">348: </a><span class="php-comment"> * Renvoie la requete string sous forme d'un tableau de variables telles qu'elles apparaitraient
</span></span><span id="349" class="l"><a class="l" href="#349">349: </a><span class="php-comment"> * dans le $_GET d'un script PHP
</span></span><span id="350" class="l"><a class="l" href="#350">350: </a><span class="php-comment"> *
</span></span><span id="351" class="l"><a class="l" href="#351">351: </a><span class="php-comment"> * @return array
</span></span><span id="352" class="l"><a class="l" href="#352">352: </a><span class="php-comment"> */</span>
</span><span id="353" class="l"><a class="l" href="#353">353: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> <a id="_getVariablesRequete" href="#_getVariablesRequete">getVariablesRequete</a>() {
</span><span id="354" class="l"><a class="l" href="#354">354: </a> <span class="php-var">$pattern</span> = <span class="php-quote">'/'</span> .
</span><span id="355" class="l"><a class="l" href="#355">355: </a> <span class="php-keyword2">preg_quote</span>(<span class="php-var">$this</span>-&gt;getOption(self::OPTION_SEPARATEUR_ENTREE), <span class="php-quote">'/'</span>) .
</span><span id="356" class="l"><a class="l" href="#356">356: </a> <span class="php-quote">'/'</span>;
</span><span id="357" class="l"><a class="l" href="#357">357: </a> <span class="php-var">$parties</span> = <span class="php-keyword2">preg_split</span>(<span class="php-var">$pattern</span>, <span class="php-var">$this</span>-&gt;requete, -<span class="php-num">1</span>, PREG_SPLIT_NO_EMPTY);
</span><span id="358" class="l"><a class="l" href="#358">358: </a> <span class="php-var">$retour</span> = <span class="php-keyword1">array</span>();
</span><span id="359" class="l"><a class="l" href="#359">359: </a>
</span><span id="360" class="l"><a class="l" href="#360">360: </a> <span class="php-keyword1">foreach</span> (<span class="php-var">$parties</span> <span class="php-keyword1">as</span> <span class="php-var">$partie</span>) {
</span><span id="361" class="l"><a class="l" href="#361">361: </a> <span class="php-keyword1">if</span> (<span class="php-keyword2">strpos</span>(<span class="php-var">$partie</span>, <span class="php-quote">'='</span>) !== <span class="php-keyword1">false</span>) {
</span><span id="362" class="l"><a class="l" href="#362">362: </a> <span class="php-keyword1">list</span>(<span class="php-var">$cle</span>, <span class="php-var">$valeur</span>) = <span class="php-keyword2">explode</span>(<span class="php-quote">'='</span>, <span class="php-var">$partie</span>, <span class="php-num">2</span>);
</span><span id="363" class="l"><a class="l" href="#363">363: </a> } <span class="php-keyword1">else</span> {
</span><span id="364" class="l"><a class="l" href="#364">364: </a> <span class="php-var">$cle</span> = <span class="php-var">$partie</span>;
</span><span id="365" class="l"><a class="l" href="#365">365: </a> <span class="php-var">$valeur</span> = <span class="php-keyword1">null</span>;
</span><span id="366" class="l"><a class="l" href="#366">366: </a> }
</span><span id="367" class="l"><a class="l" href="#367">367: </a>
</span><span id="368" class="l"><a class="l" href="#368">368: </a> <span class="php-keyword1">if</span> (<span class="php-var">$this</span>-&gt;getOption(self::OPTION_ENCODER_CLES)) {
</span><span id="369" class="l"><a class="l" href="#369">369: </a> <span class="php-var">$cle</span> = <span class="php-keyword2">rawurldecode</span>(<span class="php-var">$cle</span>);
</span><span id="370" class="l"><a class="l" href="#370">370: </a> }
</span><span id="371" class="l"><a class="l" href="#371">371: </a> <span class="php-var">$valeur</span> = <span class="php-keyword2">rawurldecode</span>(<span class="php-var">$valeur</span>);
</span><span id="372" class="l"><a class="l" href="#372">372: </a>
</span><span id="373" class="l"><a class="l" href="#373">373: </a> <span class="php-keyword1">if</span> (<span class="php-var">$this</span>-&gt;getOption(self::OPTION_UTILISER_CROCHETS) &amp;&amp;
</span><span id="374" class="l"><a class="l" href="#374">374: </a> <span class="php-keyword2">preg_match</span>(<span class="php-quote">'#^(.*)\[([0-9a-z_-]*)\]#i'</span>, <span class="php-var">$cle</span>, <span class="php-var">$matches</span>)) {
</span><span id="375" class="l"><a class="l" href="#375">375: </a>
</span><span id="376" class="l"><a class="l" href="#376">376: </a> <span class="php-var">$cle</span> = <span class="php-var">$matches</span>[<span class="php-num">1</span>];
</span><span id="377" class="l"><a class="l" href="#377">377: </a> <span class="php-var">$idx</span> = <span class="php-var">$matches</span>[<span class="php-num">2</span>];
</span><span id="378" class="l"><a class="l" href="#378">378: </a>
</span><span id="379" class="l"><a class="l" href="#379">379: </a> <span class="php-comment">// On s'assure que c'est bien un tableau</span>
</span><span id="380" class="l"><a class="l" href="#380">380: </a> <span class="php-keyword1">if</span> (<span class="php-keyword1">empty</span>(<span class="php-var">$retour</span>[<span class="php-var">$cle</span>]) || !<span class="php-keyword2">is_array</span>(<span class="php-var">$retour</span>[<span class="php-var">$cle</span>])) {
</span><span id="381" class="l"><a class="l" href="#381">381: </a> <span class="php-var">$retour</span>[<span class="php-var">$cle</span>] = <span class="php-keyword1">array</span>();
</span><span id="382" class="l"><a class="l" href="#382">382: </a> }
</span><span id="383" class="l"><a class="l" href="#383">383: </a>
</span><span id="384" class="l"><a class="l" href="#384">384: </a> <span class="php-comment">// Ajout des données</span>
</span><span id="385" class="l"><a class="l" href="#385">385: </a> <span class="php-keyword1">if</span> (<span class="php-var">$idx</span> === <span class="php-quote">''</span>) {
</span><span id="386" class="l"><a class="l" href="#386">386: </a> <span class="php-var">$retour</span>[<span class="php-var">$cle</span>][] = <span class="php-var">$valeur</span>;
</span><span id="387" class="l"><a class="l" href="#387">387: </a> } <span class="php-keyword1">else</span> {
</span><span id="388" class="l"><a class="l" href="#388">388: </a> <span class="php-var">$retour</span>[<span class="php-var">$cle</span>][<span class="php-var">$idx</span>] = <span class="php-var">$valeur</span>;
</span><span id="389" class="l"><a class="l" href="#389">389: </a> }
</span><span id="390" class="l"><a class="l" href="#390">390: </a> } <span class="php-keyword1">elseif</span> (!<span class="php-var">$this</span>-&gt;getOption(self::OPTION_UTILISER_CROCHETS)
</span><span id="391" class="l"><a class="l" href="#391">391: </a> &amp;&amp; !<span class="php-keyword1">empty</span>(<span class="php-var">$retour</span>[<span class="php-var">$cle</span>])
</span><span id="392" class="l"><a class="l" href="#392">392: </a> ) {
</span><span id="393" class="l"><a class="l" href="#393">393: </a> <span class="php-var">$retour</span>[<span class="php-var">$cle</span>] = (<span class="php-keyword1">array</span>) <span class="php-var">$retour</span>[<span class="php-var">$cle</span>];
</span><span id="394" class="l"><a class="l" href="#394">394: </a> <span class="php-var">$retour</span>[<span class="php-var">$cle</span>][] = <span class="php-var">$valeur</span>;
</span><span id="395" class="l"><a class="l" href="#395">395: </a> } <span class="php-keyword1">else</span> {
</span><span id="396" class="l"><a class="l" href="#396">396: </a> <span class="php-var">$retour</span>[<span class="php-var">$cle</span>] = <span class="php-var">$valeur</span>;
</span><span id="397" class="l"><a class="l" href="#397">397: </a> }
</span><span id="398" class="l"><a class="l" href="#398">398: </a> }
</span><span id="399" class="l"><a class="l" href="#399">399: </a>
</span><span id="400" class="l"><a class="l" href="#400">400: </a> <span class="php-keyword1">return</span> <span class="php-var">$retour</span>;
</span><span id="401" class="l"><a class="l" href="#401">401: </a> }
</span><span id="402" class="l"><a class="l" href="#402">402: </a>
</span><span id="403" class="l"><a class="l" href="#403">403: </a> <span class="php-comment">/**
</span></span><span id="404" class="l"><a class="l" href="#404">404: </a><span class="php-comment"> * @param array $tableau (nom =&gt; valeur) tableau
</span></span><span id="405" class="l"><a class="l" href="#405">405: </a><span class="php-comment"> *
</span></span><span id="406" class="l"><a class="l" href="#406">406: </a><span class="php-comment"> * @return void
</span></span><span id="407" class="l"><a class="l" href="#407">407: </a><span class="php-comment"> */</span>
</span><span id="408" class="l"><a class="l" href="#408">408: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> <a id="_setVariablesRequete" href="#_setVariablesRequete">setVariablesRequete</a>(<span class="php-keyword1">array</span> <span class="php-var">$tableau</span>) {
</span><span id="409" class="l"><a class="l" href="#409">409: </a> <span class="php-keyword1">if</span> (!<span class="php-var">$tableau</span>) {
</span><span id="410" class="l"><a class="l" href="#410">410: </a> <span class="php-var">$this</span>-&gt;requete = <span class="php-keyword1">false</span>;
</span><span id="411" class="l"><a class="l" href="#411">411: </a> } <span class="php-keyword1">else</span> {
</span><span id="412" class="l"><a class="l" href="#412">412: </a> <span class="php-keyword1">foreach</span> (<span class="php-var">$tableau</span> <span class="php-keyword1">as</span> <span class="php-var">$nom</span> =&gt; <span class="php-var">$valeur</span>) {
</span><span id="413" class="l"><a class="l" href="#413">413: </a> <span class="php-keyword1">if</span> (<span class="php-var">$this</span>-&gt;getOption(self::OPTION_ENCODER_CLES)) {
</span><span id="414" class="l"><a class="l" href="#414">414: </a> <span class="php-var">$nom</span> = <span class="php-keyword2">rawurlencode</span>(<span class="php-var">$nom</span>);
</span><span id="415" class="l"><a class="l" href="#415">415: </a> }
</span><span id="416" class="l"><a class="l" href="#416">416: </a>
</span><span id="417" class="l"><a class="l" href="#417">417: </a> <span class="php-keyword1">if</span> (<span class="php-keyword2">is_array</span>(<span class="php-var">$valeur</span>)) {
</span><span id="418" class="l"><a class="l" href="#418">418: </a> <span class="php-keyword1">foreach</span> (<span class="php-var">$valeur</span> <span class="php-keyword1">as</span> <span class="php-var">$k</span> =&gt; <span class="php-var">$v</span>) {
</span><span id="419" class="l"><a class="l" href="#419">419: </a> <span class="php-var">$parties</span>[] = <span class="php-var">$this</span>-&gt;getOption(self::OPTION_UTILISER_CROCHETS)
</span><span id="420" class="l"><a class="l" href="#420">420: </a> ? <span class="php-keyword2">sprintf</span>(<span class="php-quote">'%s[%s]=%s'</span>, <span class="php-var">$nom</span>, <span class="php-var">$k</span>, <span class="php-var">$v</span>)
</span><span id="421" class="l"><a class="l" href="#421">421: </a> : (<span class="php-var">$nom</span> . <span class="php-quote">'='</span> . <span class="php-var">$v</span>);
</span><span id="422" class="l"><a class="l" href="#422">422: </a> }
</span><span id="423" class="l"><a class="l" href="#423">423: </a> } <span class="php-keyword1">elseif</span> (!<span class="php-keyword2">is_null</span>(<span class="php-var">$valeur</span>)) {
</span><span id="424" class="l"><a class="l" href="#424">424: </a> <span class="php-var">$parties</span>[] = <span class="php-var">$nom</span> . <span class="php-quote">'='</span> . <span class="php-var">$valeur</span>;
</span><span id="425" class="l"><a class="l" href="#425">425: </a> } <span class="php-keyword1">else</span> {
</span><span id="426" class="l"><a class="l" href="#426">426: </a> <span class="php-var">$parties</span>[] = <span class="php-var">$nom</span>;
</span><span id="427" class="l"><a class="l" href="#427">427: </a> }
</span><span id="428" class="l"><a class="l" href="#428">428: </a> }
</span><span id="429" class="l"><a class="l" href="#429">429: </a> <span class="php-var">$this</span>-&gt;requete = <span class="php-keyword2">implode</span>(<span class="php-var">$this</span>-&gt;getOption(self::OPTION_SEPARATEUR_SORTIE),
</span><span id="430" class="l"><a class="l" href="#430">430: </a> <span class="php-var">$parties</span>);
</span><span id="431" class="l"><a class="l" href="#431">431: </a> }
</span><span id="432" class="l"><a class="l" href="#432">432: </a> }
</span><span id="433" class="l"><a class="l" href="#433">433: </a>
</span><span id="434" class="l"><a class="l" href="#434">434: </a> <span class="php-comment">/**
</span></span><span id="435" class="l"><a class="l" href="#435">435: </a><span class="php-comment"> * @param string $nom
</span></span><span id="436" class="l"><a class="l" href="#436">436: </a><span class="php-comment"> * @param mixed $valeur
</span></span><span id="437" class="l"><a class="l" href="#437">437: </a><span class="php-comment"> *
</span></span><span id="438" class="l"><a class="l" href="#438">438: </a><span class="php-comment"> * @return array
</span></span><span id="439" class="l"><a class="l" href="#439">439: </a><span class="php-comment"> */</span>
</span><span id="440" class="l"><a class="l" href="#440">440: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> <a id="_setVariableRequete" href="#_setVariableRequete">setVariableRequete</a>(<span class="php-var">$nom</span>, <span class="php-var">$valeur</span>) {
</span><span id="441" class="l"><a class="l" href="#441">441: </a> <span class="php-var">$tableau</span> = <span class="php-var">$this</span>-&gt;getVariablesRequete();
</span><span id="442" class="l"><a class="l" href="#442">442: </a> <span class="php-var">$tableau</span>[<span class="php-var">$nom</span>] = <span class="php-var">$valeur</span>;
</span><span id="443" class="l"><a class="l" href="#443">443: </a> <span class="php-var">$this</span>-&gt;setVariablesRequete(<span class="php-var">$tableau</span>);
</span><span id="444" class="l"><a class="l" href="#444">444: </a> }
</span><span id="445" class="l"><a class="l" href="#445">445: </a>
</span><span id="446" class="l"><a class="l" href="#446">446: </a> <span class="php-comment">/**
</span></span><span id="447" class="l"><a class="l" href="#447">447: </a><span class="php-comment"> * @param string $nom
</span></span><span id="448" class="l"><a class="l" href="#448">448: </a><span class="php-comment"> *
</span></span><span id="449" class="l"><a class="l" href="#449">449: </a><span class="php-comment"> * @return void
</span></span><span id="450" class="l"><a class="l" href="#450">450: </a><span class="php-comment"> */</span>
</span><span id="451" class="l"><a class="l" href="#451">451: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> <a id="_unsetVariableRequete" href="#_unsetVariableRequete">unsetVariableRequete</a>(<span class="php-var">$nom</span>) {
</span><span id="452" class="l"><a class="l" href="#452">452: </a> <span class="php-var">$tableau</span> = <span class="php-var">$this</span>-&gt;getVariablesRequete();
</span><span id="453" class="l"><a class="l" href="#453">453: </a> <span class="php-keyword1">unset</span>(<span class="php-var">$tableau</span>[<span class="php-var">$nom</span>]);
</span><span id="454" class="l"><a class="l" href="#454">454: </a> <span class="php-var">$this</span>-&gt;setVariablesRequete(<span class="php-var">$tableau</span>);
</span><span id="455" class="l"><a class="l" href="#455">455: </a> }
</span><span id="456" class="l"><a class="l" href="#456">456: </a>
</span><span id="457" class="l"><a class="l" href="#457">457: </a> <span class="php-comment">/**
</span></span><span id="458" class="l"><a class="l" href="#458">458: </a><span class="php-comment"> * @param array $noms tableau des noms de variable à supprimer de l'url.
</span></span><span id="459" class="l"><a class="l" href="#459">459: </a><span class="php-comment"> *
</span></span><span id="460" class="l"><a class="l" href="#460">460: </a><span class="php-comment"> * @return void
</span></span><span id="461" class="l"><a class="l" href="#461">461: </a><span class="php-comment"> */</span>
</span><span id="462" class="l"><a class="l" href="#462">462: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> <a id="_unsetVariablesRequete" href="#_unsetVariablesRequete">unsetVariablesRequete</a>(<span class="php-var">$noms</span>) {
</span><span id="463" class="l"><a class="l" href="#463">463: </a> <span class="php-var">$tableau</span> = <span class="php-var">$this</span>-&gt;getVariablesRequete();
</span><span id="464" class="l"><a class="l" href="#464">464: </a> <span class="php-keyword1">foreach</span> (<span class="php-var">$noms</span> <span class="php-keyword1">as</span> <span class="php-var">$nom</span>) {
</span><span id="465" class="l"><a class="l" href="#465">465: </a> <span class="php-keyword1">unset</span>(<span class="php-var">$tableau</span>[<span class="php-var">$nom</span>]);
</span><span id="466" class="l"><a class="l" href="#466">466: </a> }
</span><span id="467" class="l"><a class="l" href="#467">467: </a> <span class="php-var">$this</span>-&gt;setVariablesRequete(<span class="php-var">$tableau</span>);
</span><span id="468" class="l"><a class="l" href="#468">468: </a> }
</span><span id="469" class="l"><a class="l" href="#469">469: </a>
</span><span id="470" class="l"><a class="l" href="#470">470: </a> <span class="php-comment">/**
</span></span><span id="471" class="l"><a class="l" href="#471">471: </a><span class="php-comment"> * Renvoie un représentation sous forme de chaine de l'URL
</span></span><span id="472" class="l"><a class="l" href="#472">472: </a><span class="php-comment"> *
</span></span><span id="473" class="l"><a class="l" href="#473">473: </a><span class="php-comment"> * @return string
</span></span><span id="474" class="l"><a class="l" href="#474">474: </a><span class="php-comment"> */</span>
</span><span id="475" class="l"><a class="l" href="#475">475: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> <a id="_getURL" href="#_getURL">getURL</a>() {
</span><span id="476" class="l"><a class="l" href="#476">476: </a> <span class="php-comment">// Voir RFC 3986, section 5.3</span>
</span><span id="477" class="l"><a class="l" href="#477">477: </a> <span class="php-var">$url</span> = <span class="php-quote">&quot;&quot;</span>;
</span><span id="478" class="l"><a class="l" href="#478">478: </a>
</span><span id="479" class="l"><a class="l" href="#479">479: </a> <span class="php-keyword1">if</span> (<span class="php-var">$this</span>-&gt;schema !== <span class="php-keyword1">false</span>) {
</span><span id="480" class="l"><a class="l" href="#480">480: </a> <span class="php-var">$url</span> .= <span class="php-var">$this</span>-&gt;schema . <span class="php-quote">':'</span>;
</span><span id="481" class="l"><a class="l" href="#481">481: </a> }
</span><span id="482" class="l"><a class="l" href="#482">482: </a>
</span><span id="483" class="l"><a class="l" href="#483">483: </a> <span class="php-var">$autorite</span> = <span class="php-var">$this</span>-&gt;getAutorite();
</span><span id="484" class="l"><a class="l" href="#484">484: </a> <span class="php-keyword1">if</span> (<span class="php-var">$autorite</span> !== <span class="php-keyword1">false</span>) {
</span><span id="485" class="l"><a class="l" href="#485">485: </a> <span class="php-var">$url</span> .= <span class="php-quote">'//'</span> . <span class="php-var">$autorite</span>;
</span><span id="486" class="l"><a class="l" href="#486">486: </a> }
</span><span id="487" class="l"><a class="l" href="#487">487: </a> <span class="php-var">$url</span> .= <span class="php-var">$this</span>-&gt;chemin;
</span><span id="488" class="l"><a class="l" href="#488">488: </a>
</span><span id="489" class="l"><a class="l" href="#489">489: </a> <span class="php-keyword1">if</span> (<span class="php-var">$this</span>-&gt;requete !== <span class="php-keyword1">false</span>) {
</span><span id="490" class="l"><a class="l" href="#490">490: </a> <span class="php-var">$url</span> .= <span class="php-quote">'?'</span> . <span class="php-var">$this</span>-&gt;requete;
</span><span id="491" class="l"><a class="l" href="#491">491: </a> }
</span><span id="492" class="l"><a class="l" href="#492">492: </a>
</span><span id="493" class="l"><a class="l" href="#493">493: </a> <span class="php-keyword1">if</span> (<span class="php-var">$this</span>-&gt;fragment !== <span class="php-keyword1">false</span>) {
</span><span id="494" class="l"><a class="l" href="#494">494: </a> <span class="php-var">$url</span> .= <span class="php-quote">'#'</span> . <span class="php-var">$this</span>-&gt;fragment;
</span><span id="495" class="l"><a class="l" href="#495">495: </a> }
</span><span id="496" class="l"><a class="l" href="#496">496: </a>
</span><span id="497" class="l"><a class="l" href="#497">497: </a> <span class="php-keyword1">return</span> <span class="php-var">$url</span>;
</span><span id="498" class="l"><a class="l" href="#498">498: </a> }
</span><span id="499" class="l"><a class="l" href="#499">499: </a>
</span><span id="500" class="l"><a class="l" href="#500">500: </a> <span class="php-comment">/**
</span></span><span id="501" class="l"><a class="l" href="#501">501: </a><span class="php-comment"> * Renvoie une représentation de cette URL sous forme de chaine normalisée. Utile pour la
</span></span><span id="502" class="l"><a class="l" href="#502">502: </a><span class="php-comment"> * comparaison d'URLs
</span></span><span id="503" class="l"><a class="l" href="#503">503: </a><span class="php-comment"> *
</span></span><span id="504" class="l"><a class="l" href="#504">504: </a><span class="php-comment"> * @return string
</span></span><span id="505" class="l"><a class="l" href="#505">505: </a><span class="php-comment"> */</span>
</span><span id="506" class="l"><a class="l" href="#506">506: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> <a id="_getURLNormalisee" href="#_getURLNormalisee">getURLNormalisee</a>() {
</span><span id="507" class="l"><a class="l" href="#507">507: </a> <span class="php-var">$url</span> = <span class="php-keyword1">clone</span> <span class="php-var">$this</span>;
</span><span id="508" class="l"><a class="l" href="#508">508: </a> <span class="php-var">$url</span>-&gt;normaliser();
</span><span id="509" class="l"><a class="l" href="#509">509: </a> <span class="php-keyword1">return</span> <span class="php-var">$url</span>-&gt;getUrl();
</span><span id="510" class="l"><a class="l" href="#510">510: </a> }
</span><span id="511" class="l"><a class="l" href="#511">511: </a>
</span><span id="512" class="l"><a class="l" href="#512">512: </a> <span class="php-comment">/**
</span></span><span id="513" class="l"><a class="l" href="#513">513: </a><span class="php-comment"> * Renvoie une instance normalisée de Url
</span></span><span id="514" class="l"><a class="l" href="#514">514: </a><span class="php-comment"> *
</span></span><span id="515" class="l"><a class="l" href="#515">515: </a><span class="php-comment"> * @return Url
</span></span><span id="516" class="l"><a class="l" href="#516">516: </a><span class="php-comment"> */</span>
</span><span id="517" class="l"><a class="l" href="#517">517: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> <a id="_normaliser" href="#_normaliser">normaliser</a>() {
</span><span id="518" class="l"><a class="l" href="#518">518: </a> <span class="php-comment">// See RFC 3886, section 6</span>
</span><span id="519" class="l"><a class="l" href="#519">519: </a>
</span><span id="520" class="l"><a class="l" href="#520">520: </a> <span class="php-comment">// les cchémas sont insesibles à la casse</span>
</span><span id="521" class="l"><a class="l" href="#521">521: </a> <span class="php-keyword1">if</span> (<span class="php-var">$this</span>-&gt;schema) {
</span><span id="522" class="l"><a class="l" href="#522">522: </a> <span class="php-var">$this</span>-&gt;schema = <span class="php-keyword2">strtolower</span>(<span class="php-var">$this</span>-&gt;schema);
</span><span id="523" class="l"><a class="l" href="#523">523: </a> }
</span><span id="524" class="l"><a class="l" href="#524">524: </a>
</span><span id="525" class="l"><a class="l" href="#525">525: </a> <span class="php-comment">// les noms d'hotes sont insensibles à la casse</span>
</span><span id="526" class="l"><a class="l" href="#526">526: </a> <span class="php-keyword1">if</span> (<span class="php-var">$this</span>-&gt;hote) {
</span><span id="527" class="l"><a class="l" href="#527">527: </a> <span class="php-var">$this</span>-&gt;hote = <span class="php-keyword2">strtolower</span>(<span class="php-var">$this</span>-&gt;hote);
</span><span id="528" class="l"><a class="l" href="#528">528: </a> }
</span><span id="529" class="l"><a class="l" href="#529">529: </a>
</span><span id="530" class="l"><a class="l" href="#530">530: </a> <span class="php-comment">// Supprimer le numéro de port par défaut pour les schemas connus (RFC 3986, section 6.2.3)</span>
</span><span id="531" class="l"><a class="l" href="#531">531: </a> <span class="php-keyword1">if</span> (<span class="php-var">$this</span>-&gt;port &amp;&amp;
</span><span id="532" class="l"><a class="l" href="#532">532: </a> <span class="php-var">$this</span>-&gt;schema &amp;&amp;
</span><span id="533" class="l"><a class="l" href="#533">533: </a> <span class="php-var">$this</span>-&gt;port == <span class="php-keyword2">getservbyname</span>(<span class="php-var">$this</span>-&gt;schema, <span class="php-quote">'tcp'</span>)) {
</span><span id="534" class="l"><a class="l" href="#534">534: </a>
</span><span id="535" class="l"><a class="l" href="#535">535: </a> <span class="php-var">$this</span>-&gt;port = <span class="php-keyword1">false</span>;
</span><span id="536" class="l"><a class="l" href="#536">536: </a> }
</span><span id="537" class="l"><a class="l" href="#537">537: </a>
</span><span id="538" class="l"><a class="l" href="#538">538: </a> <span class="php-comment">// normalisation dans le cas d'un encodage avec %XX pourcentage (RFC 3986, section 6.2.2.1)</span>
</span><span id="539" class="l"><a class="l" href="#539">539: </a> <span class="php-keyword1">foreach</span> (<span class="php-keyword1">array</span>(<span class="php-quote">'infoUtilisateur'</span>, <span class="php-quote">'hote'</span>, <span class="php-quote">'chemin'</span>) <span class="php-keyword1">as</span> <span class="php-var">$partie</span>) {
</span><span id="540" class="l"><a class="l" href="#540">540: </a> <span class="php-keyword1">if</span> (<span class="php-var">$this</span>-&gt;<span class="php-var">$partie</span>) {
</span><span id="541" class="l"><a class="l" href="#541">541: </a> <span class="php-var">$this</span>-&gt;<span class="php-var">$partie</span> = <span class="php-keyword2">preg_replace</span>(<span class="php-quote">'/%[0-9a-f]{2}/ie'</span>, <span class="php-quote">'strtoupper(&quot;\0&quot;)'</span>, <span class="php-var">$this</span>-&gt;<span class="php-var">$partie</span>);
</span><span id="542" class="l"><a class="l" href="#542">542: </a> }
</span><span id="543" class="l"><a class="l" href="#543">543: </a> }
</span><span id="544" class="l"><a class="l" href="#544">544: </a>
</span><span id="545" class="l"><a class="l" href="#545">545: </a> <span class="php-comment">// normalisation des segments du chemin (RFC 3986, section 6.2.2.3)</span>
</span><span id="546" class="l"><a class="l" href="#546">546: </a> <span class="php-var">$this</span>-&gt;chemin = self::supprimerSegmentsAPoints(<span class="php-var">$this</span>-&gt;chemin);
</span><span id="547" class="l"><a class="l" href="#547">547: </a>
</span><span id="548" class="l"><a class="l" href="#548">548: </a> <span class="php-comment">// normalisation basée sur le schéma (RFC 3986, section 6.2.3)</span>
</span><span id="549" class="l"><a class="l" href="#549">549: </a> <span class="php-keyword1">if</span> (<span class="php-var">$this</span>-&gt;hote &amp;&amp; !<span class="php-var">$this</span>-&gt;chemin) {
</span><span id="550" class="l"><a class="l" href="#550">550: </a> <span class="php-var">$this</span>-&gt;chemin = <span class="php-quote">'/'</span>;
</span><span id="551" class="l"><a class="l" href="#551">551: </a> }
</span><span id="552" class="l"><a class="l" href="#552">552: </a> }
</span><span id="553" class="l"><a class="l" href="#553">553: </a>
</span><span id="554" class="l"><a class="l" href="#554">554: </a> <span class="php-comment">/**
</span></span><span id="555" class="l"><a class="l" href="#555">555: </a><span class="php-comment"> * Renvoie vrai ou faux suivant que l'instance en cours représente une URL relative ou absolue.
</span></span><span id="556" class="l"><a class="l" href="#556">556: </a><span class="php-comment"> *
</span></span><span id="557" class="l"><a class="l" href="#557">557: </a><span class="php-comment"> * @return bool
</span></span><span id="558" class="l"><a class="l" href="#558">558: </a><span class="php-comment"> */</span>
</span><span id="559" class="l"><a class="l" href="#559">559: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> <a id="_etreAbsolue" href="#_etreAbsolue">etreAbsolue</a>() {
</span><span id="560" class="l"><a class="l" href="#560">560: </a> <span class="php-keyword1">return</span> (bool) <span class="php-var">$this</span>-&gt;schema;
</span><span id="561" class="l"><a class="l" href="#561">561: </a> }
</span><span id="562" class="l"><a class="l" href="#562">562: </a>
</span><span id="563" class="l"><a class="l" href="#563">563: </a> <span class="php-comment">/**
</span></span><span id="564" class="l"><a class="l" href="#564">564: </a><span class="php-comment"> * Renvoie une instance de Url représentant une URL absolue relative à
</span></span><span id="565" class="l"><a class="l" href="#565">565: </a><span class="php-comment"> * cette URL.
</span></span><span id="566" class="l"><a class="l" href="#566">566: </a><span class="php-comment"> *
</span></span><span id="567" class="l"><a class="l" href="#567">567: </a><span class="php-comment"> * @param Url|string $reference URL relative
</span></span><span id="568" class="l"><a class="l" href="#568">568: </a><span class="php-comment"> *
</span></span><span id="569" class="l"><a class="l" href="#569">569: </a><span class="php-comment"> * @return Url
</span></span><span id="570" class="l"><a class="l" href="#570">570: </a><span class="php-comment"> */</span>
</span><span id="571" class="l"><a class="l" href="#571">571: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> <a id="_resoudre" href="#_resoudre">resoudre</a>(<span class="php-var">$reference</span>) {
</span><span id="572" class="l"><a class="l" href="#572">572: </a> <span class="php-keyword1">if</span> (<span class="php-keyword2">is_string</span>(<span class="php-var">$reference</span>)) {
</span><span id="573" class="l"><a class="l" href="#573">573: </a> <span class="php-var">$reference</span> = <span class="php-keyword1">new</span> self(<span class="php-var">$reference</span>);
</span><span id="574" class="l"><a class="l" href="#574">574: </a> }
</span><span id="575" class="l"><a class="l" href="#575">575: </a> <span class="php-keyword1">if</span> (!<span class="php-var">$this</span>-&gt;etreAbsolue()) {
</span><span id="576" class="l"><a class="l" href="#576">576: </a> <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> Exception(<span class="php-quote">'L\'URL de base doit être absolue !'</span>);
</span><span id="577" class="l"><a class="l" href="#577">577: </a> }
</span><span id="578" class="l"><a class="l" href="#578">578: </a>
</span><span id="579" class="l"><a class="l" href="#579">579: </a> <span class="php-comment">// Un parseur non strict peut choisir d'ignorer un schema dans la référence</span>
</span><span id="580" class="l"><a class="l" href="#580">580: </a> <span class="php-comment">// si celui ci est identique au schéma de base de l'URI.</span>
</span><span id="581" class="l"><a class="l" href="#581">581: </a> <span class="php-keyword1">if</span> (!<span class="php-var">$this</span>-&gt;getOption(self::OPTION_STRICTE) &amp;&amp; <span class="php-var">$reference</span>-&gt;schema == <span class="php-var">$this</span>-&gt;schema) {
</span><span id="582" class="l"><a class="l" href="#582">582: </a> <span class="php-var">$reference</span>-&gt;schema = <span class="php-keyword1">false</span>;
</span><span id="583" class="l"><a class="l" href="#583">583: </a> }
</span><span id="584" class="l"><a class="l" href="#584">584: </a>
</span><span id="585" class="l"><a class="l" href="#585">585: </a> <span class="php-var">$cible</span> = <span class="php-keyword1">new</span> self(<span class="php-quote">''</span>);
</span><span id="586" class="l"><a class="l" href="#586">586: </a> <span class="php-keyword1">if</span> (<span class="php-var">$reference</span>-&gt;schema !== <span class="php-keyword1">false</span>) {
</span><span id="587" class="l"><a class="l" href="#587">587: </a> <span class="php-var">$cible</span>-&gt;schema = <span class="php-var">$reference</span>-&gt;schema;
</span><span id="588" class="l"><a class="l" href="#588">588: </a> <span class="php-var">$cible</span>-&gt;setAutorite(<span class="php-var">$reference</span>-&gt;getAutorite());
</span><span id="589" class="l"><a class="l" href="#589">589: </a> <span class="php-var">$cible</span>-&gt;chemin = self::supprimerSegmentsAPoints(<span class="php-var">$reference</span>-&gt;chemin);
</span><span id="590" class="l"><a class="l" href="#590">590: </a> <span class="php-var">$cible</span>-&gt;requete = <span class="php-var">$reference</span>-&gt;requete;
</span><span id="591" class="l"><a class="l" href="#591">591: </a> } <span class="php-keyword1">else</span> {
</span><span id="592" class="l"><a class="l" href="#592">592: </a> <span class="php-var">$autorite</span> = <span class="php-var">$reference</span>-&gt;getAutorite();
</span><span id="593" class="l"><a class="l" href="#593">593: </a> <span class="php-keyword1">if</span> (<span class="php-var">$autorite</span> !== <span class="php-keyword1">false</span>) {
</span><span id="594" class="l"><a class="l" href="#594">594: </a> <span class="php-var">$cible</span>-&gt;setAutorite(<span class="php-var">$autorite</span>);
</span><span id="595" class="l"><a class="l" href="#595">595: </a> <span class="php-var">$cible</span>-&gt;chemin = self::supprimerSegmentsAPoints(<span class="php-var">$reference</span>-&gt;chemin);
</span><span id="596" class="l"><a class="l" href="#596">596: </a> <span class="php-var">$cible</span>-&gt;requete = <span class="php-var">$reference</span>-&gt;requete;
</span><span id="597" class="l"><a class="l" href="#597">597: </a> } <span class="php-keyword1">else</span> {
</span><span id="598" class="l"><a class="l" href="#598">598: </a> <span class="php-keyword1">if</span> (<span class="php-var">$reference</span>-&gt;chemin == <span class="php-quote">''</span>) {
</span><span id="599" class="l"><a class="l" href="#599">599: </a> <span class="php-var">$cible</span>-&gt;chemin = <span class="php-var">$this</span>-&gt;chemin;
</span><span id="600" class="l"><a class="l" href="#600">600: </a> <span class="php-keyword1">if</span> (<span class="php-var">$reference</span>-&gt;requete !== <span class="php-keyword1">false</span>) {
</span><span id="601" class="l"><a class="l" href="#601">601: </a> <span class="php-var">$cible</span>-&gt;requete = <span class="php-var">$reference</span>-&gt;requete;
</span><span id="602" class="l"><a class="l" href="#602">602: </a> } <span class="php-keyword1">else</span> {
</span><span id="603" class="l"><a class="l" href="#603">603: </a> <span class="php-var">$cible</span>-&gt;requete = <span class="php-var">$this</span>-&gt;requete;
</span><span id="604" class="l"><a class="l" href="#604">604: </a> }
</span><span id="605" class="l"><a class="l" href="#605">605: </a> } <span class="php-keyword1">else</span> {
</span><span id="606" class="l"><a class="l" href="#606">606: </a> <span class="php-keyword1">if</span> (<span class="php-keyword2">substr</span>(<span class="php-var">$reference</span>-&gt;chemin, <span class="php-num">0</span>, <span class="php-num">1</span>) == <span class="php-quote">'/'</span>) {
</span><span id="607" class="l"><a class="l" href="#607">607: </a> <span class="php-var">$cible</span>-&gt;chemin = self::supprimerSegmentsAPoints(<span class="php-var">$reference</span>-&gt;chemin);
</span><span id="608" class="l"><a class="l" href="#608">608: </a> } <span class="php-keyword1">else</span> {
</span><span id="609" class="l"><a class="l" href="#609">609: </a> <span class="php-comment">// Concaténation chemins (RFC 3986, section 5.2.3)</span>
</span><span id="610" class="l"><a class="l" href="#610">610: </a> <span class="php-keyword1">if</span> (<span class="php-var">$this</span>-&gt;hote !== <span class="php-keyword1">false</span> &amp;&amp; <span class="php-var">$this</span>-&gt;chemin == <span class="php-quote">''</span>) {
</span><span id="611" class="l"><a class="l" href="#611">611: </a> <span class="php-var">$cible</span>-&gt;chemin = <span class="php-quote">'/'</span> . <span class="php-var">$this</span>-&gt;chemin;
</span><span id="612" class="l"><a class="l" href="#612">612: </a> } <span class="php-keyword1">else</span> {
</span><span id="613" class="l"><a class="l" href="#613">613: </a> <span class="php-var">$i</span> = <span class="php-keyword2">strrpos</span>(<span class="php-var">$this</span>-&gt;chemin, <span class="php-quote">'/'</span>);
</span><span id="614" class="l"><a class="l" href="#614">614: </a> <span class="php-keyword1">if</span> (<span class="php-var">$i</span> !== <span class="php-keyword1">false</span>) {
</span><span id="615" class="l"><a class="l" href="#615">615: </a> <span class="php-var">$cible</span>-&gt;chemin = <span class="php-keyword2">substr</span>(<span class="php-var">$this</span>-&gt;chemin, <span class="php-num">0</span>, <span class="php-var">$i</span> + <span class="php-num">1</span>);
</span><span id="616" class="l"><a class="l" href="#616">616: </a> }
</span><span id="617" class="l"><a class="l" href="#617">617: </a> <span class="php-var">$cible</span>-&gt;chemin .= <span class="php-var">$reference</span>-&gt;chemin;
</span><span id="618" class="l"><a class="l" href="#618">618: </a> }
</span><span id="619" class="l"><a class="l" href="#619">619: </a> <span class="php-var">$cible</span>-&gt;chemin = self::supprimerSegmentsAPoints(<span class="php-var">$cible</span>-&gt;chemin);
</span><span id="620" class="l"><a class="l" href="#620">620: </a> }
</span><span id="621" class="l"><a class="l" href="#621">621: </a> <span class="php-var">$cible</span>-&gt;requete = <span class="php-var">$reference</span>-&gt;requete;
</span><span id="622" class="l"><a class="l" href="#622">622: </a> }
</span><span id="623" class="l"><a class="l" href="#623">623: </a> <span class="php-var">$cible</span>-&gt;setAutorite(<span class="php-var">$this</span>-&gt;getAutorite());
</span><span id="624" class="l"><a class="l" href="#624">624: </a> }
</span><span id="625" class="l"><a class="l" href="#625">625: </a> <span class="php-var">$cible</span>-&gt;schema = <span class="php-var">$this</span>-&gt;schema;
</span><span id="626" class="l"><a class="l" href="#626">626: </a> }
</span><span id="627" class="l"><a class="l" href="#627">627: </a>
</span><span id="628" class="l"><a class="l" href="#628">628: </a> <span class="php-var">$cible</span>-&gt;fragment = <span class="php-var">$reference</span>-&gt;fragment;
</span><span id="629" class="l"><a class="l" href="#629">629: </a>
</span><span id="630" class="l"><a class="l" href="#630">630: </a> <span class="php-keyword1">return</span> <span class="php-var">$cible</span>;
</span><span id="631" class="l"><a class="l" href="#631">631: </a> }
</span><span id="632" class="l"><a class="l" href="#632">632: </a>
</span><span id="633" class="l"><a class="l" href="#633">633: </a> <span class="php-comment">/**
</span></span><span id="634" class="l"><a class="l" href="#634">634: </a><span class="php-comment"> * La suppression des segments à points est décrite dans la RFC 3986, section 5.2.4, e.g.
</span></span><span id="635" class="l"><a class="l" href="#635">635: </a><span class="php-comment"> * &quot;/foo/../bar/baz&quot; =&gt; &quot;/bar/baz&quot;
</span></span><span id="636" class="l"><a class="l" href="#636">636: </a><span class="php-comment"> *
</span></span><span id="637" class="l"><a class="l" href="#637">637: </a><span class="php-comment"> * @param string $chemin un chemin
</span></span><span id="638" class="l"><a class="l" href="#638">638: </a><span class="php-comment"> *
</span></span><span id="639" class="l"><a class="l" href="#639">639: </a><span class="php-comment"> * @return string un chemin
</span></span><span id="640" class="l"><a class="l" href="#640">640: </a><span class="php-comment"> */</span>
</span><span id="641" class="l"><a class="l" href="#641">641: </a> <span class="php-keyword1">private</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_supprimerSegmentsAPoints" href="#_supprimerSegmentsAPoints">supprimerSegmentsAPoints</a>(<span class="php-var">$chemin</span>) {
</span><span id="642" class="l"><a class="l" href="#642">642: </a> <span class="php-var">$sortie</span> = <span class="php-quote">''</span>;
</span><span id="643" class="l"><a class="l" href="#643">643: </a>
</span><span id="644" class="l"><a class="l" href="#644">644: </a> <span class="php-comment">// Assurons de ne pas nous retrouver piégés dans une boucle infinie due à un bug de</span>
</span><span id="645" class="l"><a class="l" href="#645">645: </a> <span class="php-comment">// cette méthode</span>
</span><span id="646" class="l"><a class="l" href="#646">646: </a> <span class="php-var">$j</span> = <span class="php-num">0</span>;
</span><span id="647" class="l"><a class="l" href="#647">647: </a> <span class="php-keyword1">while</span> (<span class="php-var">$chemin</span> &amp;&amp; <span class="php-var">$j</span>++ &lt; <span class="php-num">100</span>) {
</span><span id="648" class="l"><a class="l" href="#648">648: </a> <span class="php-comment">// Étape A</span>
</span><span id="649" class="l"><a class="l" href="#649">649: </a> <span class="php-keyword1">if</span> (<span class="php-keyword2">substr</span>(<span class="php-var">$chemin</span>, <span class="php-num">0</span>, <span class="php-num">2</span>) == <span class="php-quote">'./'</span>) {
</span><span id="650" class="l"><a class="l" href="#650">650: </a> <span class="php-var">$chemin</span> = <span class="php-keyword2">substr</span>(<span class="php-var">$chemin</span>, <span class="php-num">2</span>);
</span><span id="651" class="l"><a class="l" href="#651">651: </a> } <span class="php-keyword1">elseif</span> (<span class="php-keyword2">substr</span>(<span class="php-var">$chemin</span>, <span class="php-num">0</span>, <span class="php-num">3</span>) == <span class="php-quote">'../'</span>) {
</span><span id="652" class="l"><a class="l" href="#652">652: </a> <span class="php-var">$chemin</span> = <span class="php-keyword2">substr</span>(<span class="php-var">$chemin</span>, <span class="php-num">3</span>);
</span><span id="653" class="l"><a class="l" href="#653">653: </a>
</span><span id="654" class="l"><a class="l" href="#654">654: </a> <span class="php-comment">// Étape B</span>
</span><span id="655" class="l"><a class="l" href="#655">655: </a> } <span class="php-keyword1">elseif</span> (<span class="php-keyword2">substr</span>(<span class="php-var">$chemin</span>, <span class="php-num">0</span>, <span class="php-num">3</span>) == <span class="php-quote">'/./'</span> || <span class="php-var">$chemin</span> == <span class="php-quote">'/.'</span>) {
</span><span id="656" class="l"><a class="l" href="#656">656: </a> <span class="php-var">$chemin</span> = <span class="php-quote">'/'</span> . <span class="php-keyword2">substr</span>(<span class="php-var">$chemin</span>, <span class="php-num">3</span>);
</span><span id="657" class="l"><a class="l" href="#657">657: </a>
</span><span id="658" class="l"><a class="l" href="#658">658: </a> <span class="php-comment">// Étape C</span>
</span><span id="659" class="l"><a class="l" href="#659">659: </a> } <span class="php-keyword1">elseif</span> (<span class="php-keyword2">substr</span>(<span class="php-var">$chemin</span>, <span class="php-num">0</span>, <span class="php-num">4</span>) == <span class="php-quote">'/../'</span> || <span class="php-var">$chemin</span> == <span class="php-quote">'/..'</span>) {
</span><span id="660" class="l"><a class="l" href="#660">660: </a> <span class="php-var">$chemin</span> = <span class="php-quote">'/'</span> . <span class="php-keyword2">substr</span>(<span class="php-var">$chemin</span>, <span class="php-num">4</span>);
</span><span id="661" class="l"><a class="l" href="#661">661: </a> <span class="php-var">$i</span> = <span class="php-keyword2">strrpos</span>(<span class="php-var">$sortie</span>, <span class="php-quote">'/'</span>);
</span><span id="662" class="l"><a class="l" href="#662">662: </a> <span class="php-var">$sortie</span> = <span class="php-var">$i</span> === <span class="php-keyword1">false</span> ? <span class="php-quote">''</span> : <span class="php-keyword2">substr</span>(<span class="php-var">$sortie</span>, <span class="php-num">0</span>, <span class="php-var">$i</span>);
</span><span id="663" class="l"><a class="l" href="#663">663: </a>
</span><span id="664" class="l"><a class="l" href="#664">664: </a> <span class="php-comment">// Étape D</span>
</span><span id="665" class="l"><a class="l" href="#665">665: </a> } <span class="php-keyword1">elseif</span> (<span class="php-var">$chemin</span> == <span class="php-quote">'.'</span> || <span class="php-var">$chemin</span> == <span class="php-quote">'..'</span>) {
</span><span id="666" class="l"><a class="l" href="#666">666: </a> <span class="php-var">$chemin</span> = <span class="php-quote">''</span>;
</span><span id="667" class="l"><a class="l" href="#667">667: </a>
</span><span id="668" class="l"><a class="l" href="#668">668: </a> <span class="php-comment">// Étape E</span>
</span><span id="669" class="l"><a class="l" href="#669">669: </a> } <span class="php-keyword1">else</span> {
</span><span id="670" class="l"><a class="l" href="#670">670: </a> <span class="php-var">$i</span> = <span class="php-keyword2">strpos</span>(<span class="php-var">$chemin</span>, <span class="php-quote">'/'</span>);
</span><span id="671" class="l"><a class="l" href="#671">671: </a> <span class="php-keyword1">if</span> (<span class="php-var">$i</span> === <span class="php-num">0</span>) {
</span><span id="672" class="l"><a class="l" href="#672">672: </a> <span class="php-var">$i</span> = <span class="php-keyword2">strpos</span>(<span class="php-var">$chemin</span>, <span class="php-quote">'/'</span>, <span class="php-num">1</span>);
</span><span id="673" class="l"><a class="l" href="#673">673: </a> }
</span><span id="674" class="l"><a class="l" href="#674">674: </a> <span class="php-keyword1">if</span> (<span class="php-var">$i</span> === <span class="php-keyword1">false</span>) {
</span><span id="675" class="l"><a class="l" href="#675">675: </a> <span class="php-var">$i</span> = <span class="php-keyword2">strlen</span>(<span class="php-var">$chemin</span>);
</span><span id="676" class="l"><a class="l" href="#676">676: </a> }
</span><span id="677" class="l"><a class="l" href="#677">677: </a> <span class="php-var">$sortie</span> .= <span class="php-keyword2">substr</span>(<span class="php-var">$chemin</span>, <span class="php-num">0</span>, <span class="php-var">$i</span>);
</span><span id="678" class="l"><a class="l" href="#678">678: </a> <span class="php-var">$chemin</span> = <span class="php-keyword2">substr</span>(<span class="php-var">$chemin</span>, <span class="php-var">$i</span>);
</span><span id="679" class="l"><a class="l" href="#679">679: </a> }
</span><span id="680" class="l"><a class="l" href="#680">680: </a> }
</span><span id="681" class="l"><a class="l" href="#681">681: </a>
</span><span id="682" class="l"><a class="l" href="#682">682: </a> <span class="php-keyword1">return</span> <span class="php-var">$sortie</span>;
</span><span id="683" class="l"><a class="l" href="#683">683: </a> }
</span><span id="684" class="l"><a class="l" href="#684">684: </a>
</span><span id="685" class="l"><a class="l" href="#685">685: </a> <span class="php-comment">/**
</span></span><span id="686" class="l"><a class="l" href="#686">686: </a><span class="php-comment"> * Renvoie une instance de Url representant l'URL canonique du script PHP
</span></span><span id="687" class="l"><a class="l" href="#687">687: </a><span class="php-comment"> * en cours d'éxécution
</span></span><span id="688" class="l"><a class="l" href="#688">688: </a><span class="php-comment"> *
</span></span><span id="689" class="l"><a class="l" href="#689">689: </a><span class="php-comment"> * @return string
</span></span><span id="690" class="l"><a class="l" href="#690">690: </a><span class="php-comment"> */</span>
</span><span id="691" class="l"><a class="l" href="#691">691: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_getCanonique" href="#_getCanonique">getCanonique</a>() {
</span><span id="692" class="l"><a class="l" href="#692">692: </a> <span class="php-keyword1">if</span> (!<span class="php-keyword1">isset</span>(<span class="php-var">$_SERVER</span>[<span class="php-quote">'REQUEST_METHOD'</span>])) {
</span><span id="693" class="l"><a class="l" href="#693">693: </a> <span class="php-comment">// ALERT - pas d'URL en cours</span>
</span><span id="694" class="l"><a class="l" href="#694">694: </a> <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> Exception(<span class="php-quote">'Le script n\'a pas été appellé à travers un serveur web'</span>);
</span><span id="695" class="l"><a class="l" href="#695">695: </a> }
</span><span id="696" class="l"><a class="l" href="#696">696: </a>
</span><span id="697" class="l"><a class="l" href="#697">697: </a> <span class="php-comment">// on part d'une URL relative</span>
</span><span id="698" class="l"><a class="l" href="#698">698: </a> <span class="php-var">$url</span> = <span class="php-keyword1">new</span> self(<span class="php-var">$_SERVER</span>[<span class="php-quote">'PHP_SELF'</span>]);
</span><span id="699" class="l"><a class="l" href="#699">699: </a> <span class="php-var">$url</span>-&gt;schema = <span class="php-keyword1">isset</span>(<span class="php-var">$_SERVER</span>[<span class="php-quote">'HTTPS'</span>]) ? <span class="php-quote">'https'</span> : <span class="php-quote">'http'</span>;
</span><span id="700" class="l"><a class="l" href="#700">700: </a> <span class="php-var">$url</span>-&gt;hote = <span class="php-var">$_SERVER</span>[<span class="php-quote">'SERVER_NAME'</span>];
</span><span id="701" class="l"><a class="l" href="#701">701: </a> <span class="php-var">$port</span> = <span class="php-keyword2">intval</span>(<span class="php-var">$_SERVER</span>[<span class="php-quote">'SERVER_PORT'</span>]);
</span><span id="702" class="l"><a class="l" href="#702">702: </a> <span class="php-keyword1">if</span> (<span class="php-var">$url</span>-&gt;schema == <span class="php-quote">'http'</span> &amp;&amp; <span class="php-var">$port</span> != <span class="php-num">80</span> ||
</span><span id="703" class="l"><a class="l" href="#703">703: </a> <span class="php-var">$url</span>-&gt;schema == <span class="php-quote">'https'</span> &amp;&amp; <span class="php-var">$port</span> != <span class="php-num">443</span>) {
</span><span id="704" class="l"><a class="l" href="#704">704: </a>
</span><span id="705" class="l"><a class="l" href="#705">705: </a> <span class="php-var">$url</span>-&gt;port = <span class="php-var">$port</span>;
</span><span id="706" class="l"><a class="l" href="#706">706: </a> }
</span><span id="707" class="l"><a class="l" href="#707">707: </a> <span class="php-keyword1">return</span> <span class="php-var">$url</span>;
</span><span id="708" class="l"><a class="l" href="#708">708: </a> }
</span><span id="709" class="l"><a class="l" href="#709">709: </a>
</span><span id="710" class="l"><a class="l" href="#710">710: </a> <span class="php-comment">/**
</span></span><span id="711" class="l"><a class="l" href="#711">711: </a><span class="php-comment"> * Renvoie l'URL utilisée pour récupérer la requête en cours
</span></span><span id="712" class="l"><a class="l" href="#712">712: </a><span class="php-comment"> *
</span></span><span id="713" class="l"><a class="l" href="#713">713: </a><span class="php-comment"> * @return string
</span></span><span id="714" class="l"><a class="l" href="#714">714: </a><span class="php-comment"> */</span>
</span><span id="715" class="l"><a class="l" href="#715">715: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_getURLDemande" href="#_getURLDemande">getURLDemande</a>() {
</span><span id="716" class="l"><a class="l" href="#716">716: </a> <span class="php-keyword1">return</span> self::getDemande()-&gt;getUrl();
</span><span id="717" class="l"><a class="l" href="#717">717: </a> }
</span><span id="718" class="l"><a class="l" href="#718">718: </a>
</span><span id="719" class="l"><a class="l" href="#719">719: </a> <span class="php-comment">/**
</span></span><span id="720" class="l"><a class="l" href="#720">720: </a><span class="php-comment"> * Renvoie une instance de Url representant l'URL utilisée pour
</span></span><span id="721" class="l"><a class="l" href="#721">721: </a><span class="php-comment"> * récupérer la requête en cours
</span></span><span id="722" class="l"><a class="l" href="#722">722: </a><span class="php-comment"> *
</span></span><span id="723" class="l"><a class="l" href="#723">723: </a><span class="php-comment"> * @return Url
</span></span><span id="724" class="l"><a class="l" href="#724">724: </a><span class="php-comment"> */</span>
</span><span id="725" class="l"><a class="l" href="#725">725: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_getDemande" href="#_getDemande">getDemande</a>() {
</span><span id="726" class="l"><a class="l" href="#726">726: </a> <span class="php-keyword1">if</span> (!<span class="php-keyword1">isset</span>(<span class="php-var">$_SERVER</span>[<span class="php-quote">'REQUEST_METHOD'</span>])) {
</span><span id="727" class="l"><a class="l" href="#727">727: </a> <span class="php-comment">// ALERTE - pas d'URL en cours</span>
</span><span id="728" class="l"><a class="l" href="#728">728: </a> <span class="php-keyword1">throw</span> <span class="php-keyword1">new</span> Exception(<span class="php-quote">'Le script n\'a pas été appellé à travers un serveur web'</span>);
</span><span id="729" class="l"><a class="l" href="#729">729: </a> }
</span><span id="730" class="l"><a class="l" href="#730">730: </a>
</span><span id="731" class="l"><a class="l" href="#731">731: </a> <span class="php-comment">// On part d'une URL relative</span>
</span><span id="732" class="l"><a class="l" href="#732">732: </a> <span class="php-var">$url</span> = <span class="php-keyword1">new</span> self(<span class="php-var">$_SERVER</span>[<span class="php-quote">'REQUEST_URI'</span>]);
</span><span id="733" class="l"><a class="l" href="#733">733: </a> <span class="php-var">$url</span>-&gt;schema = <span class="php-keyword1">isset</span>(<span class="php-var">$_SERVER</span>[<span class="php-quote">'HTTPS'</span>]) ? <span class="php-quote">'https'</span> : <span class="php-quote">'http'</span>;
</span><span id="734" class="l"><a class="l" href="#734">734: </a> <span class="php-comment">// On met à jour les valeurs de l'hote et si possible du port</span>
</span><span id="735" class="l"><a class="l" href="#735">735: </a> <span class="php-var">$url</span>-&gt;setAutorite(<span class="php-var">$_SERVER</span>[<span class="php-quote">'HTTP_hote'</span>]);
</span><span id="736" class="l"><a class="l" href="#736">736: </a> <span class="php-keyword1">return</span> <span class="php-var">$url</span>;
</span><span id="737" class="l"><a class="l" href="#737">737: </a> }
</span><span id="738" class="l"><a class="l" href="#738">738: </a>
</span><span id="739" class="l"><a class="l" href="#739">739: </a> <span class="php-comment">/**
</span></span><span id="740" class="l"><a class="l" href="#740">740: </a><span class="php-comment"> * Met à jour la valeur de l'option spécifiée.
</span></span><span id="741" class="l"><a class="l" href="#741">741: </a><span class="php-comment"> *
</span></span><span id="742" class="l"><a class="l" href="#742">742: </a><span class="php-comment"> * @param string $nomOption une des constantes commençant par self::OPTION_
</span></span><span id="743" class="l"><a class="l" href="#743">743: </a><span class="php-comment"> * @param mixed $valeur valeur de l'option
</span></span><span id="744" class="l"><a class="l" href="#744">744: </a><span class="php-comment"> *
</span></span><span id="745" class="l"><a class="l" href="#745">745: </a><span class="php-comment"> * @return void
</span></span><span id="746" class="l"><a class="l" href="#746">746: </a><span class="php-comment"> * @see self::OPTION_STRICTE
</span></span><span id="747" class="l"><a class="l" href="#747">747: </a><span class="php-comment"> * @see self::OPTION_UTILISER_CROCHETS
</span></span><span id="748" class="l"><a class="l" href="#748">748: </a><span class="php-comment"> * @see self::OPTION_ENCODER_CLES
</span></span><span id="749" class="l"><a class="l" href="#749">749: </a><span class="php-comment"> */</span>
</span><span id="750" class="l"><a class="l" href="#750">750: </a> <span class="php-keyword1">function</span> <a id="_setOption" href="#_setOption">setOption</a>(<span class="php-var">$nomOption</span>, <span class="php-var">$valeur</span>) {
</span><span id="751" class="l"><a class="l" href="#751">751: </a> <span class="php-keyword1">if</span> (!<span class="php-keyword2">array_key_exists</span>(<span class="php-var">$nomOption</span>, <span class="php-var">$this</span>-&gt;options)) {
</span><span id="752" class="l"><a class="l" href="#752">752: </a> <span class="php-keyword1">return</span> <span class="php-keyword1">false</span>;
</span><span id="753" class="l"><a class="l" href="#753">753: </a> }
</span><span id="754" class="l"><a class="l" href="#754">754: </a> <span class="php-var">$this</span>-&gt;options[<span class="php-var">$nomOption</span>] = <span class="php-var">$valeur</span>;
</span><span id="755" class="l"><a class="l" href="#755">755: </a> }
</span><span id="756" class="l"><a class="l" href="#756">756: </a>
</span><span id="757" class="l"><a class="l" href="#757">757: </a> <span class="php-comment">/**
</span></span><span id="758" class="l"><a class="l" href="#758">758: </a><span class="php-comment"> * Renvoie la valeur de l'option specifiée.
</span></span><span id="759" class="l"><a class="l" href="#759">759: </a><span class="php-comment"> *
</span></span><span id="760" class="l"><a class="l" href="#760">760: </a><span class="php-comment"> * @param string $nomOption Nom de l'option demandée
</span></span><span id="761" class="l"><a class="l" href="#761">761: </a><span class="php-comment"> *
</span></span><span id="762" class="l"><a class="l" href="#762">762: </a><span class="php-comment"> * @return mixed
</span></span><span id="763" class="l"><a class="l" href="#763">763: </a><span class="php-comment"> */</span>
</span><span id="764" class="l"><a class="l" href="#764">764: </a> <span class="php-keyword1">function</span> <a id="_getOption" href="#_getOption">getOption</a>(<span class="php-var">$nomOption</span>) {
</span><span id="765" class="l"><a class="l" href="#765">765: </a> <span class="php-keyword1">return</span> <span class="php-keyword1">isset</span>(<span class="php-var">$this</span>-&gt;options[<span class="php-var">$nomOption</span>])
</span><span id="766" class="l"><a class="l" href="#766">766: </a> ? <span class="php-var">$this</span>-&gt;options[<span class="php-var">$nomOption</span>] : <span class="php-keyword1">false</span>;
</span><span id="767" class="l"><a class="l" href="#767">767: </a> }
</span><span id="768" class="l"><a class="l" href="#768">768: </a>
</span><span id="769" class="l"><a class="l" href="#769">769: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">function</span> <a id="___toString" href="#___toString">__toString</a>() {
</span><span id="770" class="l"><a class="l" href="#770">770: </a> <span class="php-keyword1">return</span> <span class="php-var">$this</span>-&gt;getURL();
</span><span id="771" class="l"><a class="l" href="#771">771: </a> }
</span><span id="772" class="l"><a class="l" href="#772">772: </a>}
</span><span id="773" class="l"><a class="l" href="#773">773: </a></span></code></pre>
 
<div id="footer">
TBFramework - v0.2 API documentation generated by <a href="http://apigen.org">ApiGen 2.8.0</a>
</div>
</div>
</div>
</body>
</html>
/branches/v0.2-buhl/doc/ApiGen/todo.html
New file
0,0 → 1,126
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="generator" content="ApiGen 2.8.0">
 
<title>Todo | TBFramework - v0.2</title>
 
<script type="text/javascript" src="resources/combined.js?4205936287"></script>
<script type="text/javascript" src="elementlist.js?117657638"></script>
<link rel="stylesheet" type="text/css" media="all" href="resources/style.css?3505392360">
 
</head>
 
<body>
<div id="left">
<div id="menu">
<a href="index.html" title="Overview"><span>Overview</span></a>
 
 
<div id="groups">
<h3>Packages</h3>
<ul>
<li><a href="package-Framework.html">Framework</a>
</li>
<li><a href="package-PHP.html">PHP</a>
</li>
</ul>
</div>
 
<hr>
 
 
<div id="elements">
<h3>Classes</h3>
<ul>
<li><a href="class-Application.html">Application</a></li>
<li><a href="class-Chronometre.html">Chronometre</a></li>
<li><a href="class-Config.html">Config</a></li>
<li><a href="class-Controleur.html">Controleur</a></li>
<li><a href="class-Debug.html">Debug</a></li>
<li><a href="class-GestionnaireException.html">GestionnaireException</a></li>
<li><a href="class-Log.html">Log</a></li>
<li><a href="class-Modele.html">Modele</a></li>
<li><a href="class-PDOStatement.html">PDOStatement</a></li>
<li><a href="class-Registre.html">Registre</a></li>
<li><a href="class-SquelettePhp.html">SquelettePhp</a></li>
<li><a href="class-Url.html">Url</a></li>
</ul>
 
<h3>Interfaces</h3>
<ul>
<li><a href="class-Traversable.html">Traversable</a></li>
</ul>
 
 
<h3>Exceptions</h3>
<ul>
<li><a href="class-Exception.html">Exception</a></li>
</ul>
 
 
<h3>Functions</h3>
<ul>
<li><a href="function-autoloadAppliDefaut.html">autoloadAppliDefaut</a></li>
<li><a href="function-autoloadFw.html">autoloadFw</a></li>
</ul>
</div>
</div>
</div>
 
<div id="splitter"></div>
 
<div id="right">
<div id="rightInner">
<form id="search">
<input type="hidden" name="cx" value="">
<input type="hidden" name="ie" value="UTF-8">
<input type="text" name="q" class="text">
<input type="submit" value="Search">
</form>
 
<div id="navigation">
<ul>
<li>
<a href="index.html" title="Overview"><span>Overview</span></a>
</li>
<li>
<span>Package</span> </li>
<li>
<span>Class</span> </li>
</ul>
<ul>
<li>
<a href="tree.html" title="Tree view of classes, interfaces, traits and exceptions"><span>Tree</span></a>
</li>
<li>
<a href="deprecated.html" title="List of deprecated elements"><span>Deprecated</span></a>
</li>
<li class="active">
<span>Todo</span> </li>
</ul>
<ul>
</ul>
</div>
 
<div id="content">
<h1>Todo</h1>
 
 
 
 
 
 
 
 
 
</div>
 
<div id="footer">
TBFramework - v0.2 API documentation generated by <a href="http://apigen.org">ApiGen 2.8.0</a>
</div>
</div>
</div>
</body>
</html>
/branches/v0.2-buhl/doc/ApiGen/class-Application.html
New file
0,0 → 1,348
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="generator" content="ApiGen 2.8.0">
 
<title>Class Application | TBFramework - v0.2</title>
 
<script type="text/javascript" src="resources/combined.js?4205936287"></script>
<script type="text/javascript" src="elementlist.js?117657638"></script>
<link rel="stylesheet" type="text/css" media="all" href="resources/style.css?3505392360">
 
</head>
 
<body>
<div id="left">
<div id="menu">
<a href="index.html" title="Overview"><span>Overview</span></a>
 
 
<div id="groups">
<h3>Packages</h3>
<ul>
<li class="active"><a href="package-Framework.html">Framework</a>
</li>
<li><a href="package-PHP.html">PHP</a>
</li>
</ul>
</div>
 
<hr>
 
 
<div id="elements">
<h3>Classes</h3>
<ul>
<li class="active"><a href="class-Application.html">Application</a></li>
<li><a href="class-Chronometre.html">Chronometre</a></li>
<li><a href="class-Config.html">Config</a></li>
<li><a href="class-Controleur.html">Controleur</a></li>
<li><a href="class-Debug.html">Debug</a></li>
<li><a href="class-GestionnaireException.html">GestionnaireException</a></li>
<li><a href="class-Log.html">Log</a></li>
<li><a href="class-Modele.html">Modele</a></li>
<li><a href="class-Registre.html">Registre</a></li>
<li><a href="class-SquelettePhp.html">SquelettePhp</a></li>
<li><a href="class-Url.html">Url</a></li>
</ul>
 
 
 
 
 
<h3>Functions</h3>
<ul>
<li><a href="function-autoloadAppliDefaut.html">autoloadAppliDefaut</a></li>
<li><a href="function-autoloadFw.html">autoloadFw</a></li>
</ul>
</div>
</div>
</div>
 
<div id="splitter"></div>
 
<div id="right">
<div id="rightInner">
<form id="search">
<input type="hidden" name="cx" value="">
<input type="hidden" name="ie" value="UTF-8">
<input type="text" name="q" class="text">
<input type="submit" value="Search">
</form>
 
<div id="navigation">
<ul>
<li>
<a href="index.html" title="Overview"><span>Overview</span></a>
</li>
<li>
<a href="package-Framework.html" title="Summary of Framework"><span>Package</span></a>
</li>
<li class="active">
<span>Class</span> </li>
</ul>
<ul>
<li>
<a href="tree.html" title="Tree view of classes, interfaces, traits and exceptions"><span>Tree</span></a>
</li>
<li>
<a href="deprecated.html" title="List of deprecated elements"><span>Deprecated</span></a>
</li>
<li>
<a href="todo.html" title="Todo list"><span>Todo</span></a>
</li>
</ul>
<ul>
</ul>
</div>
 
<div id="content" class="class">
<h1>Class Application</h1>
 
 
<div class="description">
<p>Classe fournissant des informations au Framework sur l'application.</p>
 
<p>PHP version 5</p>
 
</div>
 
 
 
 
 
 
 
 
 
<div class="info">
<b>Package:</b> <a href="package-Framework.html">Framework</a><br>
 
<b>Category:</b>
Debogage<br>
<b>Copyright:</b>
1999-2009 Tela Botanica (<a
href="mailto:accueil&#64;tela-botanica.org">accueil&#64;<!-- -->tela-botanica.org</a>)<br>
<b>License:</b>
<a href="GPL">v3 &lt;http://www.gnu.org/licenses/gpl.txt&gt;</a><br>
<b>License:</b>
<a href="CECILL">v2 &lt;http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt&gt;</a><br>
<b>Author:</b>
Jean-Pascal MILCENT &lt;<a
href="mailto:jpm&#64;tela-botanica.org">jpm&#64;<!-- -->tela-botanica.org</a>&gt;
// Autres auteurs :<br>
<b>Version:</b>
$Id: Application.php 456 2014-02-06 11:07:43Z jpm $<br>
<b>Located at</b> <a href="source-class-Application.html#3-96" title="Go to source code">Application.php</a><br>
</div>
 
 
 
<table class="summary" id="methods">
<caption>Methods summary</caption>
<tr data-order="setChemin" id="_setChemin">
 
<td class="attributes"><code>
public static
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_setChemin">#</a>
<code><a href="source-class-Application.html#41-57" title="Go to source code">setChemin</a>( <span>string <var>$chemin_fichier_principal</var></span> )</code>
 
<div class="description short">
<p>Permet d'indiquer le chemin de base de l'Application. Cette méthode doit
obligatoirement être utilisée par l'application pour que le Framework
fonctionne correctement.</p>
 
</div>
 
<div class="description detailed hidden">
<p>Permet d'indiquer le chemin de base de l'Application. Cette méthode doit
obligatoirement être utilisée par l'application pour que le Framework
fonctionne correctement.</p>
 
 
 
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$chemin_fichier_principal</var></dt>
<dd><code>string</code><br>$chemin_fichier_principal chemin de base</dd>
</dl></div>
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="getChemin" id="_getChemin">
 
<td class="attributes"><code>
public static
string
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_getChemin">#</a>
<code><a href="source-class-Application.html#59-65" title="Go to source code">getChemin</a>( )</code>
 
<div class="description short">
<p>accesseur pour le chemin</p>
 
</div>
 
<div class="description detailed hidden">
<p>accesseur pour le chemin</p>
 
 
 
 
<h4>Returns</h4>
<div class="list">
<code>string</code><br>le chemin<br>
</div>
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="setInfo" id="_setInfo">
 
<td class="attributes"><code>
public static
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_setInfo">#</a>
<code><a href="source-class-Application.html#67-81" title="Go to source code">setInfo</a>( <span>array <var>$info</var></span> )</code>
 
<div class="description short">
<p>Le tableau des informations sur l'application possède les clés suivantes
:</p>
 
<ul>
<li>nom : nom de l'application</li>
 
<li>abr : abréviation de l'application</li>
 
<li>encodage : encodage de l'application (ISO-8859-15, UTF-8...)</li>
</ul>
 
</div>
 
<div class="description detailed hidden">
<p>Le tableau des informations sur l'application possède les clés suivantes
:</p>
 
<ul>
<li>nom : nom de l'application</li>
 
<li>abr : abréviation de l'application</li>
 
<li>encodage : encodage de l'application (ISO-8859-15, UTF-8...)</li>
</ul>
 
 
 
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$info</var></dt>
<dd><code>array</code><br>$info tableau fournissant des informations sur l'application</dd>
</dl></div>
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="getInfo" id="_getInfo">
 
<td class="attributes"><code>
public static
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_getInfo">#</a>
<code><a href="source-class-Application.html#83-95" title="Go to source code">getInfo</a>( <span>string <var>$cle</var> = <span class="php-keyword1">null</span></span> )</code>
 
<div class="description short">
<p>accesseur pour le tableau d'infos</p>
 
</div>
 
<div class="description detailed hidden">
<p>accesseur pour le tableau d'infos</p>
 
 
 
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$cle</var></dt>
<dd><code>string</code><br>$cle la clé à laquelle on veut accéder</dd>
</dl></div>
 
 
 
 
 
</div>
</div></td>
</tr>
</table>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
</div>
 
<div id="footer">
TBFramework - v0.2 API documentation generated by <a href="http://apigen.org">ApiGen 2.8.0</a>
</div>
</div>
</div>
</body>
</html>
/branches/v0.2-buhl/doc/ApiGen/source-class-Config.html
New file
0,0 → 1,374
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="generator" content="ApiGen 2.8.0">
<meta name="robots" content="noindex">
 
<title>File Config.php | TBFramework - v0.2</title>
 
<script type="text/javascript" src="resources/combined.js?4205936287"></script>
<script type="text/javascript" src="elementlist.js?117657638"></script>
<link rel="stylesheet" type="text/css" media="all" href="resources/style.css?3505392360">
 
</head>
 
<body>
<div id="left">
<div id="menu">
<a href="index.html" title="Overview"><span>Overview</span></a>
 
 
<div id="groups">
<h3>Packages</h3>
<ul>
<li class="active"><a href="package-Framework.html">Framework</a>
</li>
<li><a href="package-PHP.html">PHP</a>
</li>
</ul>
</div>
 
<hr>
 
 
<div id="elements">
<h3>Classes</h3>
<ul>
<li><a href="class-Application.html">Application</a></li>
<li><a href="class-Chronometre.html">Chronometre</a></li>
<li class="active"><a href="class-Config.html">Config</a></li>
<li><a href="class-Controleur.html">Controleur</a></li>
<li><a href="class-Debug.html">Debug</a></li>
<li><a href="class-GestionnaireException.html">GestionnaireException</a></li>
<li><a href="class-Log.html">Log</a></li>
<li><a href="class-Modele.html">Modele</a></li>
<li><a href="class-Registre.html">Registre</a></li>
<li><a href="class-SquelettePhp.html">SquelettePhp</a></li>
<li><a href="class-Url.html">Url</a></li>
</ul>
 
 
 
 
 
<h3>Functions</h3>
<ul>
<li><a href="function-autoloadAppliDefaut.html">autoloadAppliDefaut</a></li>
<li><a href="function-autoloadFw.html">autoloadFw</a></li>
</ul>
</div>
</div>
</div>
 
<div id="splitter"></div>
 
<div id="right">
<div id="rightInner">
<form id="search">
<input type="hidden" name="cx" value="">
<input type="hidden" name="ie" value="UTF-8">
<input type="text" name="q" class="text">
<input type="submit" value="Search">
</form>
 
<div id="navigation">
<ul>
<li>
<a href="index.html" title="Overview"><span>Overview</span></a>
</li>
<li>
<a href="package-Framework.html" title="Summary of Framework"><span>Package</span></a>
</li>
<li>
<a href="class-Config.html" title="Summary of Config"><span>Class</span></a>
</li>
</ul>
<ul>
<li>
<a href="tree.html" title="Tree view of classes, interfaces, traits and exceptions"><span>Tree</span></a>
</li>
<li>
<a href="deprecated.html" title="List of deprecated elements"><span>Deprecated</span></a>
</li>
<li>
<a href="todo.html" title="Todo list"><span>Todo</span></a>
</li>
</ul>
<ul>
</ul>
</div>
 
<pre><code><span id="1" class="l"><a class="l" href="#1"> 1: </a><span class="xlang">&lt;?php</span>
</span><span id="2" class="l"><a class="l" href="#2"> 2: </a><span class="php-comment">// declare(encoding='UTF-8');</span>
</span><span id="3" class="l"><a class="l" href="#3"> 3: </a><span class="php-comment">/**
</span></span><span id="4" class="l"><a class="l" href="#4"> 4: </a><span class="php-comment"> * Config permet de charger automatiquement les fichiers ini du Framework et de l'application.
</span></span><span id="5" class="l"><a class="l" href="#5"> 5: </a><span class="php-comment"> * Elle offre l'accès en lecture seule aux paramètres de config.
</span></span><span id="6" class="l"><a class="l" href="#6"> 6: </a><span class="php-comment"> * C'est une Singleton.
</span></span><span id="7" class="l"><a class="l" href="#7"> 7: </a><span class="php-comment"> *
</span></span><span id="8" class="l"><a class="l" href="#8"> 8: </a><span class="php-comment"> * PHP Version 5
</span></span><span id="9" class="l"><a class="l" href="#9"> 9: </a><span class="php-comment"> *
</span></span><span id="10" class="l"><a class="l" href="#10"> 10: </a><span class="php-comment"> * @category PHP
</span></span><span id="11" class="l"><a class="l" href="#11"> 11: </a><span class="php-comment"> * @package Framework
</span></span><span id="12" class="l"><a class="l" href="#12"> 12: </a><span class="php-comment"> * @author Jean-Pascal MILCENT &lt;jpm@tela-botanica.org&gt;
</span></span><span id="13" class="l"><a class="l" href="#13"> 13: </a><span class="php-comment"> * @copyright 2009 Tela-Botanica
</span></span><span id="14" class="l"><a class="l" href="#14"> 14: </a><span class="php-comment"> * @license GPL-v3 et CECILL-v2
</span></span><span id="15" class="l"><a class="l" href="#15"> 15: </a><span class="php-comment"> * @version SVN: &lt;svn_id&gt;
</span></span><span id="16" class="l"><a class="l" href="#16"> 16: </a><span class="php-comment"> * @link /doc/framework/
</span></span><span id="17" class="l"><a class="l" href="#17"> 17: </a><span class="php-comment"> */</span>
</span><span id="18" class="l"><a class="l" href="#18"> 18: </a>
</span><span id="19" class="l"><a class="l" href="#19"> 19: </a><span class="php-keyword1">class</span> <a id="Config" href="#Config">Config</a> {
</span><span id="20" class="l"><a class="l" href="#20"> 20: </a>
</span><span id="21" class="l"><a class="l" href="#21"> 21: </a> <span class="php-comment">/**
</span></span><span id="22" class="l"><a class="l" href="#22"> 22: </a><span class="php-comment"> * instance de la classe pointant sur elle même (pour le pattern singleton)
</span></span><span id="23" class="l"><a class="l" href="#23"> 23: </a><span class="php-comment"> */</span>
</span><span id="24" class="l"><a class="l" href="#24"> 24: </a> <span class="php-keyword1">private</span> <span class="php-keyword1">static</span> <span class="php-var"><a id="$instance" href="#$instance">$instance</a></span> = <span class="php-keyword1">null</span>;
</span><span id="25" class="l"><a class="l" href="#25"> 25: </a>
</span><span id="26" class="l"><a class="l" href="#26"> 26: </a> <span class="php-comment">/**
</span></span><span id="27" class="l"><a class="l" href="#27"> 27: </a><span class="php-comment"> * paramètres de configuration
</span></span><span id="28" class="l"><a class="l" href="#28"> 28: </a><span class="php-comment"> */</span>
</span><span id="29" class="l"><a class="l" href="#29"> 29: </a> <span class="php-keyword1">private</span> <span class="php-keyword1">static</span> <span class="php-var"><a id="$parametres" href="#$parametres">$parametres</a></span> = <span class="php-keyword1">array</span>();
</span><span id="30" class="l"><a class="l" href="#30"> 30: </a>
</span><span id="31" class="l"><a class="l" href="#31"> 31: </a> <span class="php-comment">/**
</span></span><span id="32" class="l"><a class="l" href="#32"> 32: </a><span class="php-comment"> * Constructeur vide
</span></span><span id="33" class="l"><a class="l" href="#33"> 33: </a><span class="php-comment"> */</span>
</span><span id="34" class="l"><a class="l" href="#34"> 34: </a> <span class="php-keyword1">private</span> <span class="php-keyword1">function</span> <a id="___construct" href="#___construct">__construct</a>() {
</span><span id="35" class="l"><a class="l" href="#35"> 35: </a> <span class="php-comment">// Définition de paramètres avant chargement du config.ini</span>
</span><span id="36" class="l"><a class="l" href="#36"> 36: </a> self::<span class="php-var">$parametres</span> = <span class="php-keyword1">array</span>(
</span><span id="37" class="l"><a class="l" href="#37"> 37: </a> <span class="php-quote">'fw_fichier_config'</span> =&gt; <span class="php-quote">'config%s.ini'</span>,
</span><span id="38" class="l"><a class="l" href="#38"> 38: </a> <span class="php-quote">'fw_chemin'</span> =&gt; <span class="php-keyword2">dirname</span>(__FILE__).DS
</span><span id="39" class="l"><a class="l" href="#39"> 39: </a> );
</span><span id="40" class="l"><a class="l" href="#40"> 40: </a>
</span><span id="41" class="l"><a class="l" href="#41"> 41: </a> <span class="php-comment">// Chargement du fichier config.ini du Framework</span>
</span><span id="42" class="l"><a class="l" href="#42"> 42: </a> <span class="php-var">$existe</span> = self::parserFichierIni(self::<span class="php-var">$parametres</span>[<span class="php-quote">'fw_chemin'</span>].<span class="php-keyword2">sprintf</span>(self::<span class="php-var">$parametres</span>[<span class="php-quote">'fw_fichier_config'</span>], <span class="php-quote">''</span>));
</span><span id="43" class="l"><a class="l" href="#43"> 43: </a> <span class="php-keyword1">if</span> (<span class="php-var">$existe</span> === <span class="php-keyword1">false</span>) {
</span><span id="44" class="l"><a class="l" href="#44"> 44: </a> <span class="php-keyword2">trigger_error</span>(<span class="php-quote">&quot;Veuillez configurer le Framework en renommant le fichier config.defaut.ini en config.ini.&quot;</span>, E_USER_ERROR);
</span><span id="45" class="l"><a class="l" href="#45"> 45: </a> }
</span><span id="46" class="l"><a class="l" href="#46"> 46: </a>
</span><span id="47" class="l"><a class="l" href="#47"> 47: </a> <span class="php-comment">// Chargement du fichier config.ini par défaut de l'application</span>
</span><span id="48" class="l"><a class="l" href="#48"> 48: </a> <span class="php-var">$chemin_config_defaut_appli</span> = self::<span class="php-var">$parametres</span>[<span class="php-quote">'chemin_configurations'</span>].<span class="php-keyword2">sprintf</span>(self::<span class="php-var">$parametres</span>[<span class="php-quote">'fw_fichier_config'</span>], <span class="php-quote">''</span>);
</span><span id="49" class="l"><a class="l" href="#49"> 49: </a> self::parserFichierIni(<span class="php-var">$chemin_config_defaut_appli</span>);
</span><span id="50" class="l"><a class="l" href="#50"> 50: </a>
</span><span id="51" class="l"><a class="l" href="#51"> 51: </a> <span class="php-comment">// Chargement des fichiers config.ini contextuels</span>
</span><span id="52" class="l"><a class="l" href="#52"> 52: </a> <span class="php-keyword1">if</span> (PHP_SAPI == <span class="php-quote">'cli'</span>) {<span class="php-comment">// mode console</span>
</span><span id="53" class="l"><a class="l" href="#53"> 53: </a> <span class="php-keyword1">foreach</span> (<span class="php-var">$_SERVER</span>[<span class="php-quote">'argv'</span>] <span class="php-keyword1">as</span> <span class="php-var">$cle</span> =&gt; <span class="php-var">$valeur</span>) {
</span><span id="54" class="l"><a class="l" href="#54"> 54: </a> <span class="php-keyword1">if</span> (<span class="php-var">$valeur</span> == <span class="php-quote">'-contexte'</span>) {
</span><span id="55" class="l"><a class="l" href="#55"> 55: </a> chargerFichierContexte(<span class="php-var">$_SERVER</span>[<span class="php-quote">'argv'</span>][(<span class="php-var">$cle</span>+<span class="php-num">1</span>)]);
</span><span id="56" class="l"><a class="l" href="#56"> 56: </a> <span class="php-keyword1">break</span>;
</span><span id="57" class="l"><a class="l" href="#57"> 57: </a> }
</span><span id="58" class="l"><a class="l" href="#58"> 58: </a> }
</span><span id="59" class="l"><a class="l" href="#59"> 59: </a> } <span class="php-keyword1">else</span> {<span class="php-comment">// mode web</span>
</span><span id="60" class="l"><a class="l" href="#60"> 60: </a> <span class="php-comment">// Pour Papyrus</span>
</span><span id="61" class="l"><a class="l" href="#61"> 61: </a> <span class="php-keyword1">if</span> (<span class="php-keyword2">defined</span>(<span class="php-quote">'PAP_VERSION'</span>)) {
</span><span id="62" class="l"><a class="l" href="#62"> 62: </a> self::chargerFichierContexte(<span class="php-quote">'papyrus'</span>);
</span><span id="63" class="l"><a class="l" href="#63"> 63: </a> }
</span><span id="64" class="l"><a class="l" href="#64"> 64: </a> <span class="php-comment">// Via le fichie .ini par défaut de l'appli</span>
</span><span id="65" class="l"><a class="l" href="#65"> 65: </a> <span class="php-keyword1">if</span> (Config::existeValeur(<span class="php-quote">'info.contexte'</span>, self::<span class="php-var">$parametres</span>)) {
</span><span id="66" class="l"><a class="l" href="#66"> 66: </a> self::chargerFichierContexte(Config::get(<span class="php-quote">'info.contexte'</span>));
</span><span id="67" class="l"><a class="l" href="#67"> 67: </a> }
</span><span id="68" class="l"><a class="l" href="#68"> 68: </a>
</span><span id="69" class="l"><a class="l" href="#69"> 69: </a> <span class="php-comment">// Chargement du contexte présent dans le GET</span>
</span><span id="70" class="l"><a class="l" href="#70"> 70: </a> <span class="php-keyword1">if</span> (<span class="php-keyword1">isset</span>(<span class="php-var">$_GET</span>[<span class="php-quote">'contexte'</span>])) {
</span><span id="71" class="l"><a class="l" href="#71"> 71: </a> self::chargerFichierContexte(<span class="php-var">$_GET</span>[<span class="php-quote">'contexte'</span>]);
</span><span id="72" class="l"><a class="l" href="#72"> 72: </a> }
</span><span id="73" class="l"><a class="l" href="#73"> 73: </a>
</span><span id="74" class="l"><a class="l" href="#74"> 74: </a> <span class="php-comment">// Chargement du contexte présent dans le POST</span>
</span><span id="75" class="l"><a class="l" href="#75"> 75: </a> <span class="php-keyword1">if</span> (<span class="php-keyword1">isset</span>(<span class="php-var">$_POST</span>[<span class="php-quote">'contexte'</span>])) {
</span><span id="76" class="l"><a class="l" href="#76"> 76: </a> self::chargerFichierContexte(<span class="php-var">$_POST</span>[<span class="php-quote">'contexte'</span>]);
</span><span id="77" class="l"><a class="l" href="#77"> 77: </a> }
</span><span id="78" class="l"><a class="l" href="#78"> 78: </a> }
</span><span id="79" class="l"><a class="l" href="#79"> 79: </a> }
</span><span id="80" class="l"><a class="l" href="#80"> 80: </a>
</span><span id="81" class="l"><a class="l" href="#81"> 81: </a> <span class="php-comment">/**
</span></span><span id="82" class="l"><a class="l" href="#82"> 82: </a><span class="php-comment"> * Charge le fichier de config correspondant au contexte
</span></span><span id="83" class="l"><a class="l" href="#83"> 83: </a><span class="php-comment"> * @param string $contexte le contexte
</span></span><span id="84" class="l"><a class="l" href="#84"> 84: </a><span class="php-comment"> */</span>
</span><span id="85" class="l"><a class="l" href="#85"> 85: </a> <span class="php-keyword1">private</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_chargerFichierContexte" href="#_chargerFichierContexte">chargerFichierContexte</a>(<span class="php-var">$contexte</span>) {
</span><span id="86" class="l"><a class="l" href="#86"> 86: </a> <span class="php-var">$chemin_config_appli_contextuel</span> = self::<span class="php-var">$parametres</span>[<span class="php-quote">'chemin_configurations'</span>];
</span><span id="87" class="l"><a class="l" href="#87"> 87: </a> <span class="php-var">$chemin_config_appli_contextuel</span> .= <span class="php-keyword2">sprintf</span>(self::<span class="php-var">$parametres</span>[<span class="php-quote">'fw_fichier_config'</span>], <span class="php-quote">'_'</span>.<span class="php-var">$contexte</span>);
</span><span id="88" class="l"><a class="l" href="#88"> 88: </a> self::parserFichierIni(<span class="php-var">$chemin_config_appli_contextuel</span>);
</span><span id="89" class="l"><a class="l" href="#89"> 89: </a> }
</span><span id="90" class="l"><a class="l" href="#90"> 90: </a>
</span><span id="91" class="l"><a class="l" href="#91"> 91: </a> <span class="php-comment">/**
</span></span><span id="92" class="l"><a class="l" href="#92"> 92: </a><span class="php-comment"> * Parse le fichier ini donné en paramètre
</span></span><span id="93" class="l"><a class="l" href="#93"> 93: </a><span class="php-comment"> * @param string $fichier_ini nom du fichier ini à parser
</span></span><span id="94" class="l"><a class="l" href="#94"> 94: </a><span class="php-comment"> * @return array tableau contenant les paramètres du fichier ini
</span></span><span id="95" class="l"><a class="l" href="#95"> 95: </a><span class="php-comment"> */</span>
</span><span id="96" class="l"><a class="l" href="#96"> 96: </a> <span class="php-keyword1">private</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_parserFichierIni" href="#_parserFichierIni">parserFichierIni</a>(<span class="php-var">$fichier_ini</span>) {
</span><span id="97" class="l"><a class="l" href="#97"> 97: </a> <span class="php-var">$retour</span> = <span class="php-keyword1">false</span>;
</span><span id="98" class="l"><a class="l" href="#98"> 98: </a> <span class="php-keyword1">if</span> (<span class="php-keyword2">file_exists</span>(<span class="php-var">$fichier_ini</span>)) {
</span><span id="99" class="l"><a class="l" href="#99"> 99: </a> <span class="php-var">$ini</span> = <span class="php-keyword2">parse_ini_file</span>(<span class="php-var">$fichier_ini</span>, <span class="php-keyword1">true</span>);
</span><span id="100" class="l"><a class="l" href="#100">100: </a> <span class="php-var">$ini</span> = self::analyserTableauIni(<span class="php-var">$ini</span>);
</span><span id="101" class="l"><a class="l" href="#101">101: </a> self::fusionner(<span class="php-var">$ini</span>);
</span><span id="102" class="l"><a class="l" href="#102">102: </a> <span class="php-var">$retour</span> = <span class="php-keyword1">true</span>;
</span><span id="103" class="l"><a class="l" href="#103">103: </a> }
</span><span id="104" class="l"><a class="l" href="#104">104: </a> <span class="php-keyword1">return</span> <span class="php-var">$retour</span>;
</span><span id="105" class="l"><a class="l" href="#105">105: </a> }
</span><span id="106" class="l"><a class="l" href="#106">106: </a>
</span><span id="107" class="l"><a class="l" href="#107">107: </a> <span class="php-comment">/**
</span></span><span id="108" class="l"><a class="l" href="#108">108: </a><span class="php-comment"> * fusionne un tableau de paramètres avec le tableau de paramètres global
</span></span><span id="109" class="l"><a class="l" href="#109">109: </a><span class="php-comment"> * @param array $ini le tableau à fusionner
</span></span><span id="110" class="l"><a class="l" href="#110">110: </a><span class="php-comment"> */</span>
</span><span id="111" class="l"><a class="l" href="#111">111: </a> <span class="php-keyword1">private</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_fusionner" href="#_fusionner">fusionner</a>(<span class="php-keyword1">array</span> <span class="php-var">$ini</span>) {
</span><span id="112" class="l"><a class="l" href="#112">112: </a> self::<span class="php-var">$parametres</span> = <span class="php-keyword2">array_merge</span>(self::<span class="php-var">$parametres</span>, <span class="php-var">$ini</span>);
</span><span id="113" class="l"><a class="l" href="#113">113: </a> }
</span><span id="114" class="l"><a class="l" href="#114">114: </a>
</span><span id="115" class="l"><a class="l" href="#115">115: </a> <span class="php-comment">/**
</span></span><span id="116" class="l"><a class="l" href="#116">116: </a><span class="php-comment"> * renvoie la valeur demandé grâce une chaine de paramètres
</span></span><span id="117" class="l"><a class="l" href="#117">117: </a><span class="php-comment"> * @param string $param la chaine de paramètres
</span></span><span id="118" class="l"><a class="l" href="#118">118: </a><span class="php-comment"> * @param array $config le tableau de paramètre
</span></span><span id="119" class="l"><a class="l" href="#119">119: </a><span class="php-comment"> * @return string la valeur de la chaine demandée
</span></span><span id="120" class="l"><a class="l" href="#120">120: </a><span class="php-comment"> */</span>
</span><span id="121" class="l"><a class="l" href="#121">121: </a> <span class="php-keyword1">private</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_getValeur" href="#_getValeur">getValeur</a>(<span class="php-var">$param</span>, <span class="php-var">$config</span>) {
</span><span id="122" class="l"><a class="l" href="#122">122: </a> <span class="php-keyword1">if</span> (<span class="php-var">$param</span> === <span class="php-keyword1">null</span>) {
</span><span id="123" class="l"><a class="l" href="#123">123: </a> <span class="php-keyword1">return</span> <span class="php-keyword1">null</span>;
</span><span id="124" class="l"><a class="l" href="#124">124: </a> } <span class="php-keyword1">else</span> {
</span><span id="125" class="l"><a class="l" href="#125">125: </a> <span class="php-keyword1">if</span> (<span class="php-keyword1">isset</span>(<span class="php-var">$config</span>[<span class="php-var">$param</span>])) {
</span><span id="126" class="l"><a class="l" href="#126">126: </a> <span class="php-keyword1">return</span> <span class="php-var">$config</span>[<span class="php-var">$param</span>];
</span><span id="127" class="l"><a class="l" href="#127">127: </a> } <span class="php-keyword1">else</span> <span class="php-keyword1">if</span> (<span class="php-keyword2">strpos</span>(<span class="php-var">$param</span>, <span class="php-quote">'.'</span>) !== <span class="php-keyword1">false</span>) {
</span><span id="128" class="l"><a class="l" href="#128">128: </a> <span class="php-var">$pieces</span> = <span class="php-keyword2">explode</span>(<span class="php-quote">'.'</span>, <span class="php-var">$param</span>, <span class="php-num">2</span>);
</span><span id="129" class="l"><a class="l" href="#129">129: </a> <span class="php-keyword1">if</span> (<span class="php-keyword2">strlen</span>(<span class="php-var">$pieces</span>[<span class="php-num">0</span>]) &amp;&amp; <span class="php-keyword2">strlen</span>(<span class="php-var">$pieces</span>[<span class="php-num">1</span>])) {
</span><span id="130" class="l"><a class="l" href="#130">130: </a> <span class="php-keyword1">if</span> (<span class="php-keyword1">isset</span>(<span class="php-var">$config</span>[<span class="php-var">$pieces</span>[<span class="php-num">0</span>]])) {
</span><span id="131" class="l"><a class="l" href="#131">131: </a> <span class="php-keyword1">if</span> (<span class="php-keyword2">is_array</span>(<span class="php-var">$config</span>[<span class="php-var">$pieces</span>[<span class="php-num">0</span>]])) {
</span><span id="132" class="l"><a class="l" href="#132">132: </a> <span class="php-keyword1">return</span> self::getValeur(<span class="php-var">$pieces</span>[<span class="php-num">1</span>], <span class="php-var">$config</span>[<span class="php-var">$pieces</span>[<span class="php-num">0</span>]]);
</span><span id="133" class="l"><a class="l" href="#133">133: </a> }
</span><span id="134" class="l"><a class="l" href="#134">134: </a> }
</span><span id="135" class="l"><a class="l" href="#135">135: </a> }
</span><span id="136" class="l"><a class="l" href="#136">136: </a> } <span class="php-keyword1">else</span> {
</span><span id="137" class="l"><a class="l" href="#137">137: </a> <span class="php-keyword1">return</span> <span class="php-keyword1">null</span>;
</span><span id="138" class="l"><a class="l" href="#138">138: </a> }
</span><span id="139" class="l"><a class="l" href="#139">139: </a> }
</span><span id="140" class="l"><a class="l" href="#140">140: </a> }
</span><span id="141" class="l"><a class="l" href="#141">141: </a>
</span><span id="142" class="l"><a class="l" href="#142">142: </a> <span class="php-comment">/**
</span></span><span id="143" class="l"><a class="l" href="#143">143: </a><span class="php-comment"> * Teste si param existe dans le tableau config
</span></span><span id="144" class="l"><a class="l" href="#144">144: </a><span class="php-comment"> * @param string $param nom du paramètre
</span></span><span id="145" class="l"><a class="l" href="#145">145: </a><span class="php-comment"> * @param array tableau de configuration
</span></span><span id="146" class="l"><a class="l" href="#146">146: </a><span class="php-comment"> */</span>
</span><span id="147" class="l"><a class="l" href="#147">147: </a> <span class="php-keyword1">private</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_existeValeur" href="#_existeValeur">existeValeur</a>(<span class="php-var">$param</span>, <span class="php-var">$config</span>) {
</span><span id="148" class="l"><a class="l" href="#148">148: </a> <span class="php-var">$retour</span> = <span class="php-keyword1">false</span>;
</span><span id="149" class="l"><a class="l" href="#149">149: </a> <span class="php-keyword1">if</span> (self::getValeur(<span class="php-var">$param</span>, <span class="php-var">$config</span>) !== <span class="php-keyword1">null</span>) {
</span><span id="150" class="l"><a class="l" href="#150">150: </a> <span class="php-var">$retour</span> = <span class="php-keyword1">true</span>;
</span><span id="151" class="l"><a class="l" href="#151">151: </a> }
</span><span id="152" class="l"><a class="l" href="#152">152: </a> <span class="php-keyword1">return</span> <span class="php-var">$retour</span>;
</span><span id="153" class="l"><a class="l" href="#153">153: </a> }
</span><span id="154" class="l"><a class="l" href="#154">154: </a>
</span><span id="155" class="l"><a class="l" href="#155">155: </a> <span class="php-comment">/**
</span></span><span id="156" class="l"><a class="l" href="#156">156: </a><span class="php-comment"> * Vérifie si l'instance de classe à été crée, si non la crée
</span></span><span id="157" class="l"><a class="l" href="#157">157: </a><span class="php-comment"> */</span>
</span><span id="158" class="l"><a class="l" href="#158">158: </a> <span class="php-keyword1">private</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_verifierCreationInstance" href="#_verifierCreationInstance">verifierCreationInstance</a>() {
</span><span id="159" class="l"><a class="l" href="#159">159: </a> <span class="php-keyword1">if</span> (<span class="php-keyword1">empty</span>(self::<span class="php-var">$instance</span>)) {
</span><span id="160" class="l"><a class="l" href="#160">160: </a> self::<span class="php-var">$instance</span> = <span class="php-keyword1">new</span> Config();
</span><span id="161" class="l"><a class="l" href="#161">161: </a> }
</span><span id="162" class="l"><a class="l" href="#162">162: </a> }
</span><span id="163" class="l"><a class="l" href="#163">163: </a>
</span><span id="164" class="l"><a class="l" href="#164">164: </a> <span class="php-comment">/**
</span></span><span id="165" class="l"><a class="l" href="#165">165: </a><span class="php-comment"> * analyse un tableau de paramètres
</span></span><span id="166" class="l"><a class="l" href="#166">166: </a><span class="php-comment"> * @param array $config le tableau de paramètres
</span></span><span id="167" class="l"><a class="l" href="#167">167: </a><span class="php-comment"> * @return array le tableau analysé
</span></span><span id="168" class="l"><a class="l" href="#168">168: </a><span class="php-comment"> */</span>
</span><span id="169" class="l"><a class="l" href="#169">169: </a> <span class="php-keyword1">private</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_analyserTableauIni" href="#_analyserTableauIni">analyserTableauIni</a>(<span class="php-var">$config</span> = <span class="php-keyword1">array</span>()) {
</span><span id="170" class="l"><a class="l" href="#170">170: </a> <span class="php-keyword1">foreach</span> (<span class="php-var">$config</span> <span class="php-keyword1">as</span> <span class="php-var">$cle</span> =&gt; &amp;<span class="php-var">$valeur</span>) {
</span><span id="171" class="l"><a class="l" href="#171">171: </a> <span class="php-keyword1">if</span> (<span class="php-keyword2">is_array</span>(<span class="php-var">$valeur</span>)) {
</span><span id="172" class="l"><a class="l" href="#172">172: </a> <span class="php-var">$config</span>[<span class="php-var">$cle</span>] = self::analyserTableauIni(<span class="php-var">$valeur</span>);
</span><span id="173" class="l"><a class="l" href="#173">173: </a> } <span class="php-keyword1">else</span> {
</span><span id="174" class="l"><a class="l" href="#174">174: </a> self::evaluerReferences(<span class="php-var">$config</span>, <span class="php-var">$cle</span>);
</span><span id="175" class="l"><a class="l" href="#175">175: </a> self::evaluerPhp(<span class="php-var">$config</span>, <span class="php-var">$cle</span>);
</span><span id="176" class="l"><a class="l" href="#176">176: </a> self::evaluerCle(<span class="php-var">$config</span>, <span class="php-var">$cle</span>, <span class="php-var">$config</span>[<span class="php-var">$cle</span>]);
</span><span id="177" class="l"><a class="l" href="#177">177: </a> }
</span><span id="178" class="l"><a class="l" href="#178">178: </a> }
</span><span id="179" class="l"><a class="l" href="#179">179: </a> <span class="php-keyword1">return</span> <span class="php-var">$config</span>;
</span><span id="180" class="l"><a class="l" href="#180">180: </a> }
</span><span id="181" class="l"><a class="l" href="#181">181: </a>
</span><span id="182" class="l"><a class="l" href="#182">182: </a> <span class="php-comment">/**
</span></span><span id="183" class="l"><a class="l" href="#183">183: </a><span class="php-comment"> * dans le cas des chaine de configuration à sous clé (ex.: cle.souscle)
</span></span><span id="184" class="l"><a class="l" href="#184">184: </a><span class="php-comment"> * evalue les valeurs correspondantes et crée les sous tableaux associés
</span></span><span id="185" class="l"><a class="l" href="#185">185: </a><span class="php-comment"> * @param array $config tableau de configuration (par référence)
</span></span><span id="186" class="l"><a class="l" href="#186">186: </a><span class="php-comment"> * @param string $cle la cle dans le tableau
</span></span><span id="187" class="l"><a class="l" href="#187">187: </a><span class="php-comment"> * @param string $valeur la valeur à affecter
</span></span><span id="188" class="l"><a class="l" href="#188">188: </a><span class="php-comment"> */</span>
</span><span id="189" class="l"><a class="l" href="#189">189: </a> <span class="php-keyword1">private</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_evaluerCle" href="#_evaluerCle">evaluerCle</a>(&amp;<span class="php-var">$config</span>, <span class="php-var">$cle</span>, <span class="php-var">$valeur</span>) {
</span><span id="190" class="l"><a class="l" href="#190">190: </a> <span class="php-keyword1">if</span> (<span class="php-keyword2">strpos</span>(<span class="php-var">$cle</span>, <span class="php-quote">'.'</span>) !== <span class="php-keyword1">false</span>) {
</span><span id="191" class="l"><a class="l" href="#191">191: </a> <span class="php-keyword1">unset</span>(<span class="php-var">$config</span>[<span class="php-var">$cle</span>]);
</span><span id="192" class="l"><a class="l" href="#192">192: </a> <span class="php-var">$pieces</span> = <span class="php-keyword2">explode</span>(<span class="php-quote">'.'</span>, <span class="php-var">$cle</span>, <span class="php-num">2</span>);
</span><span id="193" class="l"><a class="l" href="#193">193: </a> <span class="php-keyword1">if</span> (<span class="php-keyword2">strlen</span>(<span class="php-var">$pieces</span>[<span class="php-num">0</span>]) &amp;&amp; <span class="php-keyword2">strlen</span>(<span class="php-var">$pieces</span>[<span class="php-num">1</span>])) {
</span><span id="194" class="l"><a class="l" href="#194">194: </a> <span class="php-keyword1">if</span> (<span class="php-keyword1">isset</span>(<span class="php-var">$config</span>[<span class="php-var">$pieces</span>[<span class="php-num">0</span>]]) &amp;&amp; !<span class="php-keyword2">is_array</span>(<span class="php-var">$config</span>[<span class="php-var">$pieces</span>[<span class="php-num">0</span>]])) {
</span><span id="195" class="l"><a class="l" href="#195">195: </a> <span class="php-var">$m</span> = <span class="php-quote">&quot;Ne peut pas créer de sous-clé pour '</span><span class="php-var">{$pieces[0]}</span><span class="php-quote">' car la clé existe déjà&quot;</span>;
</span><span id="196" class="l"><a class="l" href="#196">196: </a> <span class="php-keyword2">trigger_error</span>(<span class="php-var">$m</span>, E_USER_WARNING);
</span><span id="197" class="l"><a class="l" href="#197">197: </a> } <span class="php-keyword1">else</span> {
</span><span id="198" class="l"><a class="l" href="#198">198: </a> <span class="php-var">$config</span>[<span class="php-var">$pieces</span>[<span class="php-num">0</span>]][<span class="php-var">$pieces</span>[<span class="php-num">1</span>]] = <span class="php-var">$valeur</span>;
</span><span id="199" class="l"><a class="l" href="#199">199: </a> <span class="php-var">$config</span>[<span class="php-var">$pieces</span>[<span class="php-num">0</span>]] = self::evaluerCle(<span class="php-var">$config</span>[<span class="php-var">$pieces</span>[<span class="php-num">0</span>]], <span class="php-var">$pieces</span>[<span class="php-num">1</span>], <span class="php-var">$valeur</span>);
</span><span id="200" class="l"><a class="l" href="#200">200: </a> }
</span><span id="201" class="l"><a class="l" href="#201">201: </a> } <span class="php-keyword1">else</span> {
</span><span id="202" class="l"><a class="l" href="#202">202: </a> <span class="php-var">$m</span> = <span class="php-quote">&quot;Clé invalide '</span><span class="php-var">$cle</span><span class="php-quote">'&quot;</span>;
</span><span id="203" class="l"><a class="l" href="#203">203: </a> <span class="php-keyword2">trigger_error</span>(<span class="php-var">$m</span>, E_USER_WARNING);
</span><span id="204" class="l"><a class="l" href="#204">204: </a> }
</span><span id="205" class="l"><a class="l" href="#205">205: </a> } <span class="php-keyword1">else</span> {
</span><span id="206" class="l"><a class="l" href="#206">206: </a> <span class="php-var">$config</span>[<span class="php-var">$cle</span>] = <span class="php-var">$valeur</span>;
</span><span id="207" class="l"><a class="l" href="#207">207: </a> }
</span><span id="208" class="l"><a class="l" href="#208">208: </a> <span class="php-keyword1">return</span> <span class="php-var">$config</span>;
</span><span id="209" class="l"><a class="l" href="#209">209: </a> }
</span><span id="210" class="l"><a class="l" href="#210">210: </a>
</span><span id="211" class="l"><a class="l" href="#211">211: </a> <span class="php-comment">/**
</span></span><span id="212" class="l"><a class="l" href="#212">212: </a><span class="php-comment"> * Evalue les valeurs de références à une clé dans le tableau config (cas du ref:cle)
</span></span><span id="213" class="l"><a class="l" href="#213">213: </a><span class="php-comment"> * @param array $config tableau de configuration
</span></span><span id="214" class="l"><a class="l" href="#214">214: </a><span class="php-comment"> * @param string $cle la clé dont il faut évaluer les références
</span></span><span id="215" class="l"><a class="l" href="#215">215: </a><span class="php-comment"> */</span>
</span><span id="216" class="l"><a class="l" href="#216">216: </a> <span class="php-keyword1">private</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_evaluerReferences" href="#_evaluerReferences">evaluerReferences</a>(&amp;<span class="php-var">$config</span>, <span class="php-var">$cle</span>) {
</span><span id="217" class="l"><a class="l" href="#217">217: </a> <span class="php-keyword1">if</span> (<span class="php-keyword2">preg_match_all</span>(<span class="php-quote">'/{ref:([A-Za-z0-9_.-]+)}/'</span>, <span class="php-var">$config</span>[<span class="php-var">$cle</span>], <span class="php-var">$correspondances</span>, PREG_SET_ORDER)) {
</span><span id="218" class="l"><a class="l" href="#218">218: </a> <span class="php-keyword1">foreach</span> (<span class="php-var">$correspondances</span> <span class="php-keyword1">as</span> <span class="php-var">$ref</span>) {
</span><span id="219" class="l"><a class="l" href="#219">219: </a> <span class="php-var">$config</span>[<span class="php-var">$cle</span>] = <span class="php-keyword2">str_replace</span>(<span class="php-var">$ref</span>[<span class="php-num">0</span>], self::getValeur(<span class="php-var">$ref</span>[<span class="php-num">1</span>], <span class="php-var">$config</span>), <span class="php-var">$config</span>[<span class="php-var">$cle</span>]);
</span><span id="220" class="l"><a class="l" href="#220">220: </a> }
</span><span id="221" class="l"><a class="l" href="#221">221: </a> }
</span><span id="222" class="l"><a class="l" href="#222">222: </a> }
</span><span id="223" class="l"><a class="l" href="#223">223: </a>
</span><span id="224" class="l"><a class="l" href="#224">224: </a> <span class="php-comment">/**
</span></span><span id="225" class="l"><a class="l" href="#225">225: </a><span class="php-comment"> * Evalue le code php contenu dans un clé tu tableau config
</span></span><span id="226" class="l"><a class="l" href="#226">226: </a><span class="php-comment"> * @param array $config tableau de configuration (par référence)
</span></span><span id="227" class="l"><a class="l" href="#227">227: </a><span class="php-comment"> * @param string $cle le clé du tableau dont il faut évaluer la valeur
</span></span><span id="228" class="l"><a class="l" href="#228">228: </a><span class="php-comment"> */</span>
</span><span id="229" class="l"><a class="l" href="#229">229: </a> <span class="php-keyword1">private</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_evaluerPhp" href="#_evaluerPhp">evaluerPhp</a>(&amp;<span class="php-var">$config</span>, <span class="php-var">$cle</span>) {
</span><span id="230" class="l"><a class="l" href="#230">230: </a> <span class="php-keyword1">if</span> (<span class="php-keyword2">preg_match</span>(<span class="php-quote">'/^php:(.+)$/'</span>, <span class="php-var">$config</span>[<span class="php-var">$cle</span>], <span class="php-var">$correspondances</span>)) {
</span><span id="231" class="l"><a class="l" href="#231">231: </a> <span class="php-keyword2">eval</span>(<span class="php-quote">'$config[&quot;'</span>.<span class="php-var">$cle</span>.<span class="php-quote">'&quot;] = '</span>.<span class="php-var">$correspondances</span>[<span class="php-num">1</span>].<span class="php-quote">';'</span>);
</span><span id="232" class="l"><a class="l" href="#232">232: </a> }
</span><span id="233" class="l"><a class="l" href="#233">233: </a> }
</span><span id="234" class="l"><a class="l" href="#234">234: </a>
</span><span id="235" class="l"><a class="l" href="#235">235: </a> <span class="php-comment">/**
</span></span><span id="236" class="l"><a class="l" href="#236">236: </a><span class="php-comment"> * Charge un fichier ini dans le tableau des paramètres de l'appli
</span></span><span id="237" class="l"><a class="l" href="#237">237: </a><span class="php-comment"> * @param string $fichier_ini le nom du fichier à charger
</span></span><span id="238" class="l"><a class="l" href="#238">238: </a><span class="php-comment"> * @return array le fichier ini parsé
</span></span><span id="239" class="l"><a class="l" href="#239">239: </a><span class="php-comment"> */</span>
</span><span id="240" class="l"><a class="l" href="#240">240: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_charger" href="#_charger">charger</a>(<span class="php-var">$fichier_ini</span>) {
</span><span id="241" class="l"><a class="l" href="#241">241: </a> self::verifierCreationInstance();
</span><span id="242" class="l"><a class="l" href="#242">242: </a> <span class="php-keyword1">return</span> self::parserFichierIni(<span class="php-var">$fichier_ini</span>);
</span><span id="243" class="l"><a class="l" href="#243">243: </a> }
</span><span id="244" class="l"><a class="l" href="#244">244: </a>
</span><span id="245" class="l"><a class="l" href="#245">245: </a> <span class="php-comment">/**
</span></span><span id="246" class="l"><a class="l" href="#246">246: </a><span class="php-comment"> * Acesseur pour la valeur d'un paramètre
</span></span><span id="247" class="l"><a class="l" href="#247">247: </a><span class="php-comment"> * @param string $param le nom du paramètre
</span></span><span id="248" class="l"><a class="l" href="#248">248: </a><span class="php-comment"> * @return string la valeur du paramètre
</span></span><span id="249" class="l"><a class="l" href="#249">249: </a><span class="php-comment"> */</span>
</span><span id="250" class="l"><a class="l" href="#250">250: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_get" href="#_get">get</a>(<span class="php-var">$param</span> = <span class="php-keyword1">null</span>) {
</span><span id="251" class="l"><a class="l" href="#251">251: </a> self::verifierCreationInstance();
</span><span id="252" class="l"><a class="l" href="#252">252: </a> <span class="php-keyword1">return</span> self::getValeur(<span class="php-var">$param</span>, self::<span class="php-var">$parametres</span>);
</span><span id="253" class="l"><a class="l" href="#253">253: </a> }
</span><span id="254" class="l"><a class="l" href="#254">254: </a>
</span><span id="255" class="l"><a class="l" href="#255">255: </a> <span class="php-comment">/**
</span></span><span id="256" class="l"><a class="l" href="#256">256: </a><span class="php-comment"> * Vérifie si la valeur d'un paramètre existe
</span></span><span id="257" class="l"><a class="l" href="#257">257: </a><span class="php-comment"> * @param string $param le nom du paramètre
</span></span><span id="258" class="l"><a class="l" href="#258">258: </a><span class="php-comment"> * @return boolean vrai si le paramètre existe, false sinon
</span></span><span id="259" class="l"><a class="l" href="#259">259: </a><span class="php-comment"> */</span>
</span><span id="260" class="l"><a class="l" href="#260">260: </a> <span class="php-keyword1">public</span> <span class="php-keyword1">static</span> <span class="php-keyword1">function</span> <a id="_existe" href="#_existe">existe</a>(<span class="php-var">$param</span>) {
</span><span id="261" class="l"><a class="l" href="#261">261: </a> self::verifierCreationInstance();
</span><span id="262" class="l"><a class="l" href="#262">262: </a> <span class="php-keyword1">return</span> self::existeValeur(<span class="php-var">$param</span>, self::<span class="php-var">$parametres</span>);
</span><span id="263" class="l"><a class="l" href="#263">263: </a> }
</span><span id="264" class="l"><a class="l" href="#264">264: </a>}
</span><span id="265" class="l"><a class="l" href="#265">265: </a></span><span class="xlang">?&gt;</span></code></pre>
 
<div id="footer">
TBFramework - v0.2 API documentation generated by <a href="http://apigen.org">ApiGen 2.8.0</a>
</div>
</div>
</div>
</body>
</html>
/branches/v0.2-buhl/doc/ApiGen/404.html
New file
0,0 → 1,122
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="generator" content="ApiGen 2.8.0">
<meta name="robots" content="noindex">
 
<title>Page not found | TBFramework - v0.2</title>
 
<script type="text/javascript" src="resources/combined.js?4205936287"></script>
<script type="text/javascript" src="elementlist.js?117657638"></script>
<link rel="stylesheet" type="text/css" media="all" href="resources/style.css?3505392360">
 
</head>
 
<body>
<div id="left">
<div id="menu">
<a href="index.html" title="Overview"><span>Overview</span></a>
 
 
<div id="groups">
<h3>Packages</h3>
<ul>
<li><a href="package-Framework.html">Framework</a>
</li>
<li><a href="package-PHP.html">PHP</a>
</li>
</ul>
</div>
 
<hr>
 
 
<div id="elements">
<h3>Classes</h3>
<ul>
<li><a href="class-Application.html">Application</a></li>
<li><a href="class-Chronometre.html">Chronometre</a></li>
<li><a href="class-Config.html">Config</a></li>
<li><a href="class-Controleur.html">Controleur</a></li>
<li><a href="class-Debug.html">Debug</a></li>
<li><a href="class-GestionnaireException.html">GestionnaireException</a></li>
<li><a href="class-Log.html">Log</a></li>
<li><a href="class-Modele.html">Modele</a></li>
<li><a href="class-PDOStatement.html">PDOStatement</a></li>
<li><a href="class-Registre.html">Registre</a></li>
<li><a href="class-SquelettePhp.html">SquelettePhp</a></li>
<li><a href="class-Url.html">Url</a></li>
</ul>
 
<h3>Interfaces</h3>
<ul>
<li><a href="class-Traversable.html">Traversable</a></li>
</ul>
 
 
<h3>Exceptions</h3>
<ul>
<li><a href="class-Exception.html">Exception</a></li>
</ul>
 
 
<h3>Functions</h3>
<ul>
<li><a href="function-autoloadAppliDefaut.html">autoloadAppliDefaut</a></li>
<li><a href="function-autoloadFw.html">autoloadFw</a></li>
</ul>
</div>
</div>
</div>
 
<div id="splitter"></div>
 
<div id="right">
<div id="rightInner">
<form id="search">
<input type="hidden" name="cx" value="">
<input type="hidden" name="ie" value="UTF-8">
<input type="text" name="q" class="text">
<input type="submit" value="Search">
</form>
 
<div id="navigation">
<ul>
<li>
<a href="index.html" title="Overview"><span>Overview</span></a>
</li>
<li>
<span>Package</span> </li>
<li>
<span>Class</span> </li>
</ul>
<ul>
<li>
<a href="tree.html" title="Tree view of classes, interfaces, traits and exceptions"><span>Tree</span></a>
</li>
<li>
<a href="deprecated.html" title="List of deprecated elements"><span>Deprecated</span></a>
</li>
<li>
<a href="todo.html" title="Todo list"><span>Todo</span></a>
</li>
</ul>
<ul>
</ul>
</div>
 
<div id="content">
<h1>Page not found</h1>
<p>The requested page could not be found.</p>
<p>You have probably clicked on a link that is outdated and points to a page that does not exist any more or you have made an typing error in the address.</p>
<p>To continue please try to find requested page in the menu, take a look at <a href="tree.html">the tree view</a> of the whole project or use search field on the top.</p>
</div>
 
<div id="footer">
TBFramework - v0.2 API documentation generated by <a href="http://apigen.org">ApiGen 2.8.0</a>
</div>
</div>
</div>
</body>
</html>
/branches/v0.2-buhl/doc/ApiGen/resources/collapsed.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/branches/v0.2-buhl/doc/ApiGen/resources/collapsed.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/branches/v0.2-buhl/doc/ApiGen/resources/tree-cleaner.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/branches/v0.2-buhl/doc/ApiGen/resources/tree-cleaner.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/branches/v0.2-buhl/doc/ApiGen/resources/tree-vertical.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/branches/v0.2-buhl/doc/ApiGen/resources/tree-vertical.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/branches/v0.2-buhl/doc/ApiGen/resources/sort.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/branches/v0.2-buhl/doc/ApiGen/resources/sort.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/branches/v0.2-buhl/doc/ApiGen/resources/tree-hasnext.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/branches/v0.2-buhl/doc/ApiGen/resources/tree-hasnext.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/branches/v0.2-buhl/doc/ApiGen/resources/combined.js
New file
0,0 → 1,1264
 
var ApiGen = ApiGen || {};
ApiGen.config = {"require":{"min":"2.8.0"},"resources":{"resources":"resources"},"templates":{"common":{"overview.latte":"index.html","combined.js.latte":"resources\/combined.js","elementlist.js.latte":"elementlist.js","404.latte":"404.html"},"optional":{"sitemap":{"filename":"sitemap.xml","template":"sitemap.xml.latte"},"opensearch":{"filename":"opensearch.xml","template":"opensearch.xml.latte"},"robots":{"filename":"robots.txt","template":"robots.txt.latte"}},"main":{"package":{"filename":"package-%s.html","template":"package.latte"},"namespace":{"filename":"namespace-%s.html","template":"namespace.latte"},"class":{"filename":"class-%s.html","template":"class.latte"},"constant":{"filename":"constant-%s.html","template":"constant.latte"},"function":{"filename":"function-%s.html","template":"function.latte"},"source":{"filename":"source-%s.html","template":"source.latte"},"tree":{"filename":"tree.html","template":"tree.latte"},"deprecated":{"filename":"deprecated.html","template":"deprecated.latte"},"todo":{"filename":"todo.html","template":"todo.latte"}}},"options":{"elementDetailsCollapsed":true,"elementsOrder":"natural"},"config":"\/opt\/lampp\/lib\/php\/data\/ApiGen\/templates\/default\/config.neon"};
 
 
/*! jQuery v1.7 jquery.com | jquery.org/license */
(function(a,b){function cA(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cx(a){if(!cm[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cn||(cn=c.createElement("iframe"),cn.frameBorder=cn.width=cn.height=0),b.appendChild(cn);if(!co||!cn.createElement)co=(cn.contentWindow||cn.contentDocument).document,co.write((c.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>"),co.close();d=co.createElement(a),co.body.appendChild(d),e=f.css(d,"display"),b.removeChild(cn)}cm[a]=e}return cm[a]}function cw(a,b){var c={};f.each(cs.concat.apply([],cs.slice(0,b)),function(){c[this]=a});return c}function cv(){ct=b}function cu(){setTimeout(cv,0);return ct=f.now()}function cl(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ck(){try{return new a.XMLHttpRequest}catch(b){}}function ce(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function cd(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function cc(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bG.test(a)?d(a,e):cc(a+"["+(typeof e=="object"||f.isArray(e)?b:"")+"]",e,c,d)});else if(!c&&b!=null&&typeof b=="object")for(var e in b)cc(a+"["+e+"]",b[e],c,d);else d(a,b)}function cb(a,c){var d,e,g=f.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((g[d]?a:e||(e={}))[d]=c[d]);e&&f.extend(!0,a,e)}function ca(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bV,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=ca(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=ca(a,c,d,e,"*",g));return l}function b_(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bR),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bE(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?bz:bA;if(d>0){c!=="border"&&f.each(e,function(){c||(d-=parseFloat(f.css(a,"padding"+this))||0),c==="margin"?d+=parseFloat(f.css(a,c+this))||0:d-=parseFloat(f.css(a,"border"+this+"Width"))||0});return d+"px"}d=bB(a,b,b);if(d<0||d==null)d=a.style[b]||0;d=parseFloat(d)||0,c&&f.each(e,function(){d+=parseFloat(f.css(a,"padding"+this))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+this+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+this))||0)});return d+"px"}function br(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bi,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bq(a){var b=(a.nodeName||"").toLowerCase();b==="input"?bp(a):b!=="script"&&typeof a.getElementsByTagName!="undefined"&&f.grep(a.getElementsByTagName("input"),bp)}function bp(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bo(a){return typeof a.getElementsByTagName!="undefined"?a.getElementsByTagName("*"):typeof a.querySelectorAll!="undefined"?a.querySelectorAll("*"):[]}function bn(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bm(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c,d,e,g=f._data(a),h=f._data(b,g),i=g.events;if(i){delete h.handle,h.events={};for(c in i)for(d=0,e=i[c].length;d<e;d++)f.event.add(b,c+(i[c][d].namespace?".":"")+i[c][d].namespace,i[c][d],i[c][d].data)}h.data&&(h.data=f.extend({},h.data))}}function bl(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function X(a){var b=Y.split(" "),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function W(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(R.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function V(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function N(){return!0}function M(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?parseFloat(d):j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c<d;c++)b[a[c]]=!0;return b}var c=a.document,d=a.navigator,e=a.location,f=function(){function K(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(K,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=/-([a-z]|[0-9])/ig,x=/^-ms-/,y=function(a,b){return(b+"").toUpperCase()},z=d.userAgent,A,B,C,D=Object.prototype.toString,E=Object.prototype.hasOwnProperty,F=Array.prototype.push,G=Array.prototype.slice,H=String.prototype.trim,I=Array.prototype.indexOf,J={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7",length:0,size:function(){return this.length},toArray:function(){return G.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?F.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),B.add(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(G.apply(this,arguments),"slice",G.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:F,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;B.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!B){B=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",C,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",C),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&K()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNumeric:function(a){return a!=null&&m.test(a)&&!isNaN(a)},type:function(a){return a==null?String(a):J[D.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!E.call(a,"constructor")&&!E.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||E.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(x,"ms-").replace(w,y)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:H?function(a){return a==null?"":H.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?F.call(c,a):e.merge(c,a)}return c},inArray:function(a,b,c){var d;if(b){if(I)return I.call(b,a,c);d=b.length,c=c?c<0?Math.max(0,d+c):c:0;for(;c<d;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=G.call(arguments,2),g=function(){return a.apply(c,f.concat(G.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h){var i=a.length;if(typeof c=="object"){for(var j in c)e.access(a,j,c[j],f,g,d);return a}if(d!==b){f=!h&&f&&e.isFunction(d);for(var k=0;k<i;k++)g(a[k],c,f?d.call(a[k],k,g(a[k],c)):d,h);return a}return i?g(a[0],c):b},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=s.exec(a)||t.exec(a)||u.exec(a)||a.indexOf("compatible")<0&&v.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){J["[object "+b+"]"]=b.toLowerCase()}),A=e.uaMatch(z),A.browser&&(e.browser[A.browser]=!0,e.browser.version=A.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?C=function(){c.removeEventListener("DOMContentLoaded",C,!1),e.ready()}:c.attachEvent&&(C=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",C),e.ready())}),typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return e});return e}(),g={};f.Callbacks=function(a){a=a?g[a]||h(a):{};var c=[],d=[],e,i,j,k,l,m=function(b){var d,e,g,h,i;for(d=0,e=b.length;d<e;d++)g=b[d],h=f.type(g),h==="array"?m(g):h==="function"&&(!a.unique||!o.has(g))&&c.push(g)},n=function(b,f){f=f||[],e=!a.memory||[b,f],i=!0,l=j||0,j=0,k=c.length;for(;c&&l<k;l++)if(c[l].apply(b,f)===!1&&a.stopOnFalse){e=!0;break}i=!1,c&&(a.once?e===!0?o.disable():c=[]:d&&d.length&&(e=d.shift(),o.fireWith(e[0],e[1])))},o={add:function(){if(c){var a=c.length;m(arguments),i?k=c.length:e&&e!==!0&&(j=a,n(e[0],e[1]))}return this},remove:function(){if(c){var b=arguments,d=0,e=b.length;for(;d<e;d++)for(var f=0;f<c.length;f++)if(b[d]===c[f]){i&&f<=k&&(k--,f<=l&&l--),c.splice(f--,1);if(a.unique)break}}return this},has:function(a){if(c){var b=0,d=c.length;for(;b<d;b++)if(a===c[b])return!0}return!1},empty:function(){c=[];return this},disable:function(){c=d=e=b;return this},disabled:function(){return!c},lock:function(){d=b,(!e||e===!0)&&o.disable();return this},locked:function(){return!d},fireWith:function(b,c){d&&(i?a.once||d.push([b,c]):(!a.once||!e)&&n(b,c));return this},fire:function(){o.fireWith(this,arguments);return this},fired:function(){return!!e}};return o};var i=[].slice;f.extend({Deferred:function(a){var b=f.Callbacks("once memory"),c=f.Callbacks("once memory"),d=f.Callbacks("memory"),e="pending",g={resolve:b,reject:c,notify:d},h={done:b.add,fail:c.add,progress:d.add,state:function(){return e},isResolved:b.fired,isRejected:c.fired,then:function(a,b,c){i.done(a).fail(b).progress(c);return this},always:function(){return i.done.apply(i,arguments).fail.apply(i,arguments)},pipe:function(a,b,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[b,"reject"],progress:[c,"notify"]},function(a,b){var c=b[0],e=b[1],g;f.isFunction(c)?i[a](function(){g=c.apply(this,arguments),g&&f.isFunction(g.promise)?g.promise().then(d.resolve,d.reject,d.notify):d[e+"With"](this===i?d:this,[g])}):i[a](d[e])})}).promise()},promise:function(a){if(a==null)a=h;else for(var b in h)a[b]=h[b];return a}},i=h.promise({}),j;for(j in g)i[j]=g[j].fire,i[j+"With"]=g[j].fireWith;i.done(function(){e="resolved"},c.disable,d.lock).fail(function(){e="rejected"},b.disable,d.lock),a&&a.call(i,i);return i},when:function(a){function m(a){return function(b){e[a]=arguments.length>1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c<d;c++)b[c]&&b[c].promise&&f.isFunction(b[c].promise)?b[c].promise().then(l(c),j.reject,m(c)):--g;g||j.resolveWith(j,b)}else j!==a&&j.resolveWith(j,d?[a]:[]);return k}}),f.support=function(){var a=c.createElement("div"),b=c.documentElement,d,e,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;a.setAttribute("className","t"),a.innerHTML=" <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/><nav></nav>",d=a.getElementsByTagName("*"),e=a.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=a.getElementsByTagName("input")[0],k={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,unknownElems:!!a.getElementsByTagName("nav").length,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:a.className!=="t",enctype:!!c.createElement("form").enctype,submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,k.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,k.optDisabled=!h.disabled;try{delete a.test}catch(v){k.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function(){k.noCloneEvent=!1}),a.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),k.radioValue=i.value==="t",i.setAttribute("checked","checked"),a.appendChild(i),l=c.createDocumentFragment(),l.appendChild(a.lastChild),k.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML="",a.style.width=a.style.paddingLeft="1px",m=c.getElementsByTagName("body")[0],o=c.createElement(m?"div":"body"),p={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},m&&f.extend(p,{position:"absolute",left:"-999px",top:"-999px"});for(t in p)o.style[t]=p[t];o.appendChild(a),n=m||b,n.insertBefore(o,n.firstChild),k.appendChecked=i.checked,k.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,k.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="<div style='width:4px;'></div>",k.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>",q=a.getElementsByTagName("td"),u=q[0].offsetHeight===0,q[0].style.display="",q[1].style.display="none",k.reliableHiddenOffsets=u&&q[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",a.appendChild(j),k.reliableMarginRight=(parseInt((c.defaultView.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(a.attachEvent)for(t in{submit:1,change:1,focusin:1})s="on"+t,u=s in a,u||(a.setAttribute(s,"return;"),u=typeof a[s]=="function"),k[t+"Bubbles"]=u;f(function(){var a,b,d,e,g,h,i=1,j="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",l="visibility:hidden;border:0;",n="style='"+j+"border:5px solid #000;padding:0;'",p="<div "+n+"><div></div></div>"+"<table "+n+" cellpadding='0' cellspacing='0'>"+"<tr><td></td></tr></table>";m=c.getElementsByTagName("body")[0];!m||(a=c.createElement("div"),a.style.cssText=l+"width:0;height:0;position:static;top:0;margin-top:"+i+"px",m.insertBefore(a,m.firstChild),o=c.createElement("div"),o.style.cssText=j+l,o.innerHTML=p,a.appendChild(o),b=o.firstChild,d=b.firstChild,g=b.nextSibling.firstChild.firstChild,h={doesNotAddBorder:d.offsetTop!==5,doesAddBorderForTableAndCells:g.offsetTop===5},d.style.position="fixed",d.style.top="20px",h.fixedPosition=d.offsetTop===20||d.offsetTop===15,d.style.position=d.style.top="",b.style.overflow="hidden",b.style.position="relative",h.subtractsBorderForOverflowNotVisible=d.offsetTop===-5,h.doesNotIncludeMarginInBodyOffset=m.offsetTop!==i,m.removeChild(a),o=a=null,f.extend(k,h))}),o.innerHTML="",n.removeChild(o),o=l=g=h=m=j=a=i=null;return k}(),f.boxModel=f.support.boxModel;var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[f.expando]:a[f.expando]&&f.expando,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[f.expando]=n=++f.uuid:n=f.expando),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[f.expando]:f.expando;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)?b=b:b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" "));for(e=0,g=b.length;e<g;e++)delete d[b[e]];if(!(c?m:f.isEmptyObject)(d))return}}if(!c){delete j[k].data;if(!m(j[k]))return}f.support.deleteExpando||!j.setInterval?delete j[k]:j[k]=null,i&&(f.support.deleteExpando?delete a[f.expando]:a.removeAttribute?a.removeAttribute(f.expando):a[f.expando]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d,e,g,h=null;if(typeof a=="undefined"){if(this.length){h=f.data(this[0]);if(this[0].nodeType===1&&!f._data(this[0],"parsedAttrs")){e=this[0].attributes;for(var i=0,j=e.length;i<j;i++)g=e[i].name,g.indexOf("data-")===0&&(g=f.camelCase(g.substring(5)),l(this[0],g,h[g]));f._data(this[0],"parsedAttrs",!0)}}return h}if(typeof a=="object")return this.each(function(){f.data(this,a)});d=a.split("."),d[1]=d[1]?"."+d[1]:"";if(c===b){h=this.triggerHandler("getData"+d[1]+"!",[d[0]]),h===b&&this.length&&(h=f.data(this[0],a),h=l(this[0],a,h));return h===b&&d[1]?this.data(d[0]):h}return this.each(function(){var b=f(this),e=[d[0],c];b.triggerHandler("setData"+d[1]+"!",e),f.data(this,a,c),b.triggerHandler("changeData"+d[1]+"!",e)})},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,b){a&&(b=(b||"fx")+"mark",f._data(a,b,(f._data(a,b)||0)+1))},_unmark:function(a,b,c){a!==!0&&(c=b,b=a,a=!1);if(b){c=c||"fx";var d=c+"mark",e=a?0:(f._data(b,d)||1)-1;e?f._data(b,d,e):(f.removeData(b,d,!0),n(b,c,"mark"))}},queue:function(a,b,c){var d;if(a){b=(b||"fx")+"queue",d=f._data(a,b),c&&(!d||f.isArray(c)?d=f._data(a,b,f.makeArray(c)):d.push(c));return d||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e={};d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),f._data(a,b+".run",e),d.call(a,function(){f.dequeue(a,b)},e)),c.length||(f.removeData(a,b+"queue "+b+".run",!0),n(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){typeof a!="string"&&(c=a,a="fx");if(c===b)return f.queue(this[0],a);return this.each(function(){var b=f.queue(this,a,c);a==="fx"&&b[0]!=="inprogress"&&f.dequeue(this,a)})},dequeue:function(a){return this.each(function(){f.dequeue(this,a)})},delay:function(a,b){a=f.fx?f.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function m(){--h||d.resolveWith(e,[e])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var d=f.Deferred(),e=this,g=e.length,h=1,i=a+"defer",j=a+"queue",k=a+"mark",l;while(g--)if(l=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f.Callbacks("once memory"),!0))h++,l.add(m);m();return d.promise()}});var o=/[\n\t\r]/g,p=/\s+/,q=/\r/g,r=/^(?:button|input)$/i,s=/^(?:button|input|object|select|textarea)$/i,t=/^a(?:rea)?$/i,u=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,v=f.support.getSetAttribute,w,x,y;f.fn.extend({attr:function(a,b){return f.access(this,a,b,!0,f.attr)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,a,b,!0,f.prop)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(p);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{g=" "+e.className+" ";for(h=0,i=b.length;h<i;h++)~g.indexOf(" "+b[h]+" ")||(g+=b[h]+" ");e.className=f.trim(g)}}}return this},removeClass:function(a){var c,d,e,g,h,i,j;if(f.isFunction(a))return this.each(function(b){f(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a=="string"||a===b){c=(a||"").split(p);for(d=0,e=this.length;d<e;d++){g=this[d];if(g.nodeType===1&&g.className)if(a){h=(" "+g.className+" ").replace(o," ");for(i=0,j=c.length;i<j;i++)h=h.replace(" "+c[i]+" "," ");g.className=f.trim(h)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";if(f.isFunction(a))return this.each(function(c){f(this).toggleClass(a.call(this,c,this.className,b),b)});return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(p);while(e=j[g++])i=d?i:!h.hasClass(e),h[i?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&f._data(this,"__className__",this.className),this.className=this.className||a===!1?"":f._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ",c=0,d=this.length;for(;c<d;c++)if(this[c].nodeType===1&&(" "+this[c].className+" ").replace(o," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];if(!arguments.length){if(g){c=f.valHooks[g.nodeName.toLowerCase()]||f.valHooks[g.type];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}return b}e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c<d;c++){e=i[c];if(e.selected&&(f.support.optDisabled?!e.disabled:e.getAttribute("disabled")===null)&&(!e.parentNode.disabled||!f.nodeName(e.parentNode,"optgroup"))){b=f(e).val();if(j)return b;h.push(b)}}if(j&&!h.length&&i.length)return f(i[g]).val();return h},set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!a||j===3||j===8||j===2)return b;if(e&&c in f.attrFn)return f(a)[c](d);if(!("getAttribute"in a))return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return b}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g},removeAttr:function(a,b){var c,d,e,g,h=0;if(a.nodeType===1){d=(b||"").split(p),g=d.length;for(;h<g;h++)e=d[h].toLowerCase(),c=f.propFix[e]||e,f.attr(a,e,""),a.removeAttribute(v?e:c),u.test(e)&&c in a&&(a[c]=!1)}},attrHooks:{type:{set:function(a,b){if(r.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},value:{get:function(a,b){if(w&&f.nodeName(a,"button"))return w.get(a,b);return b in a?a.value:null},set:function(a,b,c){if(w&&f.nodeName(a,"button"))return w.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e,g,h,i=a.nodeType;if(!a||i===3||i===8||i===2)return b;h=i!==1||!f.isXMLDoc(a),h&&(c=f.propFix[c]||c,g=f.propHooks[c]);return d!==b?g&&"set"in g&&(e=g.set(a,d,c))!==b?e:a[c]=d:g&&"get"in g&&(e=g.get(a,c))!==null?e:a[c]},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode("tabindex");return c&&c.specified?parseInt(c.value,10):s.test(a.nodeName)||t.test(a.nodeName)&&a.href?0:b}}}}),f.attrHooks.tabindex=f.propHooks.tabIndex,x={get:function(a,c){var d,e=f.prop(a,c);return e===!0||typeof e!="boolean"&&(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},v||(y={name:!0,id:!0},w=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&(y[c]?d.nodeValue!=="":d.specified)?d.nodeValue:b},set:function(a,b,d){var e=a.getAttributeNode(d);e||(e=c.createAttribute(d),a.setAttributeNode(e));return e.nodeValue=b+""}},f.attrHooks.tabindex.set=w.set,f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})}),f.attrHooks.contenteditable={get:w.get,set:function(a,b,c){b===""&&(b="false"),w.set(a,b,c)}}),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex);return null}})),f.support.enctype||(f.propFix.enctype="encoding"),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var z=/\.(.*)$/,A=/^(?:textarea|input|select)$/i,B=/\./g,C=/ /g,D=/[^\w\s.|`]/g,E=/^([^\.]*)?(?:\.(.+))?$/,F=/\bhover(\.\S+)?/,G=/^key/,H=/^(?:mouse|contextmenu)|click/,I=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,J=function(a){var b=I.exec(a);b&&
(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},K=function(a,b){return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||a.id===b[2])&&(!b[3]||b[3].test(a.className))},L=function(a){return f.event.special.hover?a:a.replace(F,"mouseenter$1 mouseleave$1")};f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=L(c).split(" ");for(k=0;k<c.length;k++){l=E.exec(c[k])||[],m=l[1],n=(l[2]||"").split(".").sort(),s=f.event.special[m]||{},m=(g?s.delegateType:s.bindType)||m,s=f.event.special[m]||{},o=f.extend({type:m,origType:l[1],data:e,handler:d,guid:d.guid,selector:g,namespace:n.join(".")},p),g&&(o.quick=J(g),!o.quick&&f.expr.match.POS.test(g)&&(o.isPositional=!0)),r=j[m];if(!r){r=j[m]=[],r.delegateCount=0;if(!s.setup||s.setup.call(a,e,n,i)===!1)a.addEventListener?a.addEventListener(m,i,!1):a.attachEvent&&a.attachEvent("on"+m,i)}s.add&&(s.add.call(a,o),o.handler.guid||(o.handler.guid=d.guid)),g?r.splice(r.delegateCount++,0,o):r.push(o),f.event.global[m]=!0}a=null}},global:{},remove:function(a,b,c,d){var e=f.hasData(a)&&f._data(a),g,h,i,j,k,l,m,n,o,p,q;if(!!e&&!!(m=e.events)){b=L(b||"").split(" ");for(g=0;g<b.length;g++){h=E.exec(b[g])||[],i=h[1],j=h[2];if(!i){j=j?"."+j:"";for(l in m)f.event.remove(a,l+j,c,d);return}n=f.event.special[i]||{},i=(d?n.delegateType:n.bindType)||i,p=m[i]||[],k=p.length,j=j?new RegExp("(^|\\.)"+j.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;if(c||j||d||n.remove)for(l=0;l<p.length;l++){q=p[l];if(!c||c.guid===q.guid)if(!j||j.test(q.namespace))if(!d||d===q.selector||d==="**"&&q.selector)p.splice(l--,1),q.selector&&p.delegateCount--,n.remove&&n.remove.call(a,q)}else p.length=0;p.length===0&&k!==p.length&&((!n.teardown||n.teardown.call(a,j)===!1)&&f.removeEvent(a,i,e.handle),delete m[i])}f.isEmptyObject(m)&&(o=e.handle,o&&(o.elem=null),f.removeData(a,["events","handle"],!0))}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){if(!e||e.nodeType!==3&&e.nodeType!==8){var h=c.type||c,i=[],j,k,l,m,n,o,p,q,r,s;h.indexOf("!")>=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"",(g||!e)&&c.preventDefault();if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,n=null;for(m=e.parentNode;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;l<r.length;l++){m=r[l][0],c.type=r[l][1],q=(f._data(m,"events")||{})[c.type]&&f._data(m,"handle"),q&&q.apply(m,d),q=o&&m[o],q&&f.acceptData(m)&&q.apply(m,d);if(c.isPropagationStopped())break}c.type=h,c.isDefaultPrevented()||(!p._default||p._default.apply(e.ownerDocument,d)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)&&o&&e[h]&&(h!=="focus"&&h!=="blur"||c.target.offsetWidth!==0)&&!f.isWindow(e)&&(n=e[o],n&&(e[o]=null),f.event.triggered=h,e[h](),f.event.triggered=b,n&&(e[o]=n));return c.result}},dispatch:function(c){c=f.event.fix(c||a.event);var d=(f._data(this,"events")||{})[c.type]||[],e=d.delegateCount,g=[].slice.call(arguments,0),h=!c.exclusive&&!c.namespace,i=(f.event.special[c.type]||{}).handle,j=[],k,l,m,n,o,p,q,r,s,t,u;g[0]=c,c.delegateTarget=this;if(e&&!c.target.disabled&&(!c.button||c.type!=="click"))for(m=c.target;m!=this;m=m.parentNode||this){o={},q=[];for(k=0;k<e;k++)r=d[k],s=r.selector,t=o[s],r.isPositional?t=(t||(o[s]=f(s))).index(m)>=0:t===b&&(t=o[s]=r.quick?K(m,r.quick):f(m).is(s)),t&&q.push(r);q.length&&j.push({elem:m,matches:q})}d.length>e&&j.push({elem:this,matches:d.slice(e)});for(k=0;k<j.length&&!c.isPropagationStopped();k++){p=j[k],c.currentTarget=p.elem;for(l=0;l<p.matches.length&&!c.isImmediatePropagationStopped();l++){r=p.matches[l];if(h||!c.namespace&&!r.namespace||c.namespace_re&&c.namespace_re.test(r.namespace))c.data=r.data,c.handleObj=r,n=(i||r.handler).apply(p.elem,g),n!==b&&(c.result=n,n===!1&&(c.preventDefault(),c.stopPropagation()))}}return c.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){a.which==null&&(a.which=b.charCode!=null?b.charCode:b.keyCode);return a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement wheelDelta".split(" "),filter:function(a,d){var e,f,g,h=d.button,i=d.fromElement;a.pageX==null&&d.clientX!=null&&(e=a.target.ownerDocument||c,f=e.documentElement,g=e.body,a.pageX=d.clientX+(f&&f.scrollLeft||g&&g.scrollLeft||0)-(f&&f.clientLeft||g&&g.clientLeft||0),a.pageY=d.clientY+(f&&f.scrollTop||g&&g.scrollTop||0)-(f&&f.clientTop||g&&g.clientTop||0)),!a.relatedTarget&&i&&(a.relatedTarget=i===a.target?d.toElement:i),!a.which&&h!==b&&(a.which=h&1?1:h&2?3:h&4?2:0);return a}},fix:function(a){if(a[f.expando])return a;var d,e,g=a,h=f.event.fixHooks[a.type]||{},i=h.props?this.props.concat(h.props):this.props;a=f.Event(g);for(d=i.length;d;)e=i[--d],a[e]=g[e];a.target||(a.target=g.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),a.metaKey===b&&(a.metaKey=a.ctrlKey);return h.filter?h.filter(a,g):a},special:{ready:{setup:f.bindReady},focus:{delegateType:"focusin",noBubble:!0},blur:{delegateType:"focusout",noBubble:!0},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}},simulate:function(a,b,c,d){var e=f.extend(new f.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?f.event.trigger(e,null,b):f.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},f.event.handle=f.event.dispatch,f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!(this instanceof f.Event))return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?N:M):this.type=a,b&&f.extend(this,b),this.timeStamp=a&&a.timeStamp||f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=N;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=N;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=N,this.stopPropagation()},isDefaultPrevented:M,isPropagationStopped:M,isImmediatePropagationStopped:M},f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]=f.event.special[b]={delegateType:b,bindType:b,handle:function(a){var b=this,c=a.relatedTarget,d=a.handleObj,e=d.selector,g,h;if(!c||d.origType===a.type||c!==b&&!f.contains(b,c))g=a.type,a.type=d.origType,h=d.handler.apply(this,arguments),a.type=g;return h}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(){if(f.nodeName(this,"form"))return!1;f.event.add(this,"click._submit keypress._submit",function(a){var c=a.target,d=f.nodeName(c,"input")||f.nodeName(c,"button")?c.form:b;d&&!d._submit_attached&&(f.event.add(d,"submit._submit",function(a){this.parentNode&&f.event.simulate("submit",this.parentNode,a,!0)}),d._submit_attached=!0)})},teardown:function(){if(f.nodeName(this,"form"))return!1;f.event.remove(this,"._submit")}}),f.support.changeBubbles||(f.event.special.change={setup:function(){if(A.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")f.event.add(this,"propertychange._change",function(a){a.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),f.event.add(this,"click._change",function(a){this._just_changed&&(this._just_changed=!1,f.event.simulate("change",this,a,!0))});return!1}f.event.add(this,"beforeactivate._change",function(a){var b=a.target;A.test(b.nodeName)&&!b._change_attached&&(f.event.add(b,"change._change",function(a){this.parentNode&&!a.isSimulated&&f.event.simulate("change",this.parentNode,a,!0)}),b._change_attached=!0)})},handle:function(a){var b=a.target;if(this!==b||a.isSimulated||a.isTrigger||b.type!=="radio"&&b.type!=="checkbox")return a.handleObj.handler.apply(this,arguments)},teardown:function(){f.event.remove(this,"._change");return A.test(this.nodeName)}}),f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){var d=0,e=function(a){f.event.simulate(b,a.target,f.event.fix(a),!0)};f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.fn.extend({on:function(a,c,d,e,g){var h,i;if(typeof a=="object"){typeof c!="string"&&(d=c,c=b);for(i in a)this.on(i,c,d,a[i],g);return this}d==null&&e==null?(e=c,d=c=b):e==null&&(typeof c=="string"?(e=d,d=b):(e=d,d=c,c=b));if(e===!1)e=M;else if(!e)return this;g===1&&(h=e,e=function(a){f().off(a);return h.apply(this,arguments)},e.guid=h.guid||(h.guid=f.guid++));return this.each(function(){f.event.add(this,a,e,d,c)})},one:function(a,b,c,d){return this.on.call(this,a,b,c,d,1)},off:function(a,c,d){if(a&&a.preventDefault&&a.handleObj){var e=a.handleObj;f(a.delegateTarget).off(e.namespace?e.type+"."+e.namespace:e.type,e.selector,e.handler);return this}if(typeof a=="object"){for(var g in a)this.off(g,c,a[g]);return this}if(c===!1||typeof c=="function")d=c,c=b;d===!1&&(d=M);return this.each(function(){f.event.remove(this,a,d,c)})},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},live:function(a,b,c){f(this.context).on(a,this.selector,b,c);return this},die:function(a,b){f(this.context).off(a,this.selector||"**",b);return this},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return arguments.length==1?this.off(a,"**"):this.off(b,a,c)},trigger:function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f._data(this,"lastToggle"+a.guid)||0)%d;f._data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),f.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.bind(b,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),G.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),H.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}if(j.nodeType===1){g||(j[d]=c,j.sizset=h);if(typeof b!="string"){if(j===b){k=!0;break}}else if(m.filter(b,[j]).length>0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}j.nodeType===1&&!g&&(j[d]=c,j.sizset=h);if(j.nodeName.toLowerCase()===b){k=j;break}j=j[a]}e[h]=k}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},m.matches=function(a,b){return m(a,null,null,b)},m.matchesSelector=function(a,b){return m(b,null,null,[a]).length>0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e<f;e++){h=o.order[e];if(g=o.leftMatch[h].exec(a)){i=g[1],g.splice(1,1);if(i.substr(i.length-1)!=="\\"){g[1]=(g[1]||"").replace(j,""),d=o.find[h](g,b,c);if(d!=null){a=a.replace(o.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},m.filter=function(a,c,d,e){var f,g,h,i,j,k,l,n,p,q=a,r=[],s=c,t=c&&c[0]&&m.isXML(c[0]);while(a&&c.length){for(h in o.filter)if((f=o.leftMatch[h].exec(a))!=null&&f[2]){k=o.filter[h],l=f[1],g=!1,f.splice(1,1);if(l.substr(l.length-1)==="\\")continue;s===r&&(r=[]);if(o.preFilter[h]){f=o.preFilter[h](f,s,d,r,e,t);if(!f)g=i=!0;else if(f===!0)continue}if(f)for(n=0;(j=s[n])!=null;n++)j&&(i=k(j,f,n,s),p=e^i,d&&i!=null?p?g=!0:s[n]=!1:p&&(r.push(j),g=!0));if(i!==b){d||(s=r),a=a.replace(o.match[h],"");if(!g)return[];break}}if(a===q)if(g==null)m.error(a);else break;q=a}return s},m.error=function(a){throw"Syntax error, unrecognized expression: "+a};var n=m.getText=function(a){var b,c,d=a.nodeType,e="";if(d){if(d===1){if(typeof a.textContent=="string")return a.textContent;if(typeof a.innerText=="string")return a.innerText.replace(k,"");for(a=a.firstChild;a;a=a.nextSibling)e+=n(a)}else if(d===3||d===4)return a.nodeValue}else for(b=0;c=a[b];b++)c.nodeType!==8&&(e+=n(c));return e},o=m.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b=="string",d=c&&!l.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1);a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&m.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&m.filter(b,a,!0)}},"":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("parentNode",b,f,a,d,c)},"~":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("previousSibling",b,f,a,d,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(j,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}m.error(e)},CHILD:function(a,b){var c,e,f,g,h,i,j,k=b[1],l=a;switch(k){case"only":case"first":while(l=l.previousSibling)if(l.nodeType===1)return!1;if(k==="first")return!0;l=a;case"last":while(l=l.nextSibling)if(l.nodeType===1)return!1;return!0;case"nth":c=b[2],e=b[3];if(c===1&&e===0)return!0;f=b[0],g=a.parentNode;if(g&&(g[d]!==f||!a.nodeIndex)){i=0;for(l=g.firstChild;l;l=l.nextSibling)l.nodeType===1&&(l.nodeIndex=++i);g[d]=f}j=a.nodeIndex-e;return c===0?j===0:j%c===0&&j/c>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c<e;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var u,v;c.documentElement.compareDocumentPosition?u=function(a,b){if(a===b){h=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(u=function(a,b){if(a===b){h=!0;return 0}if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],g=a.parentNode,i=b.parentNode,j=g;if(g===i)return v(a,b);if(!g)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return v(e[k],f[k]);return k===c?v(a,f[k],-1):v(e[k],b,1)},v=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h<i;h++)m(a,g[h],e,c);return m.filter(f,e)};m.attr=f.attr,m.selectors.attrMap={},f.find=m,f.expr=m.selectors,f.expr[":"]=f.expr.filters,f.unique=m.uniqueSort,f.text=m.getText,f.isXMLDoc=m.isXML,f.contains=m.contains}();var O=/Until$/,P=/^(?:parents|prevUntil|prevAll)/,Q=/,/,R=/^.[^:#\[\.,]*$/,S=Array.prototype.slice,T=f.expr.match.POS,U={children:!0,contents:!0,next:!0,prev:!0};f.fn.extend({find:function(a){var b=this,c,d;if(typeof a!="string")return f(a).filter(function(){for(c=0,d=b.length;c<d;c++)if(f.contains(b[c],this))return!0});var e=this.pushStack("","find",a),g,h,i;for(c=0,d=this.length;c<d;c++){g=e.length,f.find(a,this[c],e);if(c>0)for(h=g;h<e.length;h++)for(i=0;i<g;i++)if(e[i]===e[h]){e.splice(h--,1);break}}return e},has:function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++)if(f.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(W(this,a,!1),"not",a)},filter:function(a){return this.pushStack(W(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?T.test(a)?f(a,this.context).index(this[0])>=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d<a.length;d++)f(g).is(a[d])&&c.push({selector:a[d],elem:g,level:h});g=g.parentNode,h++}return c}var i=T.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d<e;d++){g=this[d];while(g){if(i?i.index(g)>-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(V(c[0])||V(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c),g=S.call(arguments);O.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!U[a]?f.unique(e):e,(this.length>1||Q.test(d))&&P.test(a)&&(e=e.reverse());return this.pushStack(e,a,g.join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var Y="abbr article aside audio canvas datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",Z=/ jQuery\d+="(?:\d+|null)"/g,$=/^\s+/,_=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,ba=/<([\w:]+)/,bb=/<tbody/i,bc=/<|&#?\w+;/,bd=/<(?:script|style)/i,be=/<(?:script|object|embed|option|style)/i,bf=new RegExp("<(?:"+Y.replace(" ","|")+")","i"),bg=/checked\s*(?:[^=]|=\s*.checked.)/i,bh=/\/(java|ecma)script/i,bi=/^\s*<!(?:\[CDATA\[|\-\-)/,bj={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},bk=X(c);bj.optgroup=bj.option,bj.tbody=bj.tfoot=bj.colgroup=bj.caption=bj.thead,bj.th=bj.td,f.support.htmlSerialize||(bj._default=[1,"div<div>","</div>"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){f(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after"
,arguments);a.push.apply(a,f(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Z,""):null;if(typeof a=="string"&&!bd.test(a)&&(f.support.leadingWhitespace||!$.test(a))&&!bj[(ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(_,"<$1></$2>");try{for(var c=0,d=this.length;c<d;c++)this[c].nodeType===1&&(f.cleanData(this[c].getElementsByTagName("*")),this[c].innerHTML=a)}catch(e){this.empty().append(a)}}else f.isFunction(a)?this.each(function(b){var c=f(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(f.isFunction(a))return this.each(function(b){var c=f(this),d=c.html();c.replaceWith(a.call(this,b,d))});typeof a!="string"&&(a=f(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;f(this).remove(),b?f(b).before(a):f(c).append(a)})}return this.length?this.pushStack(f(f.isFunction(a)?a():a),"replaceWith",a):this},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){var e,g,h,i,j=a[0],k=[];if(!f.support.checkClone&&arguments.length===3&&typeof j=="string"&&bg.test(j))return this.each(function(){f(this).domManip(a,c,d,!0)});if(f.isFunction(j))return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)});if(this[0]){i=j&&j.parentNode,f.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?e={fragment:i}:e=f.buildFragment(a,this,k),h=e.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&f.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)d.call(c?bl(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,br)}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i,j=a[0];b&&b[0]&&(i=b[0].ownerDocument||b[0]),i.createDocumentFragment||(i=c),a.length===1&&typeof j=="string"&&j.length<512&&i===c&&j.charAt(0)==="<"&&!be.test(j)&&(f.support.checkClone||!bg.test(j))&&!f.support.unknownElems&&bf.test(j)&&(g=!0,h=f.fragments[j],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean(a,i,e,d)),g&&(f.fragments[j]=h?e:1);return{fragment:e,cacheable:g}},f.fragments={},f.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&e.length===1){e[b](this[0]);return this}for(var h=0,i=e.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d=a.cloneNode(!0),e,g,h;if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bn(a,d),e=bo(a),g=bo(d);for(h=0;e[h];++h)g[h]&&bn(e[h],g[h])}if(b){bm(a,d);if(c){e=bo(a),g=bo(d);for(h=0;e[h];++h)bm(e[h],g[h])}}e=g=null;return d},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!bc.test(k))k=b.createTextNode(k);else{k=k.replace(_,"<$1></$2>");var l=(ba.exec(k)||["",""])[1].toLowerCase(),m=bj[l]||bj._default,n=m[0],o=b.createElement("div");b===c?bk.appendChild(o):X(b).appendChild(o),o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=bb.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]==="<table>"&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&$.test(k)&&o.insertBefore(b.createTextNode($.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i<r;i++)bq(k[i]);else bq(k);k.nodeType?h.push(k):h=f.merge(h,k)}if(d){g=function(a){return!a.type||bh.test(a.type)};for(j=0;h[j];j++)if(e&&f.nodeName(h[j],"script")&&(!h[j].type||h[j].type.toLowerCase()==="text/javascript"))e.push(h[j].parentNode?h[j].parentNode.removeChild(h[j]):h[j]);else{if(h[j].nodeType===1){var s=f.grep(h[j].getElementsByTagName("script"),g);h.splice.apply(h,[j+1,0].concat(s))}d.appendChild(h[j])}}return h},cleanData:function(a){var b,c,d=f.cache,e=f.event.special,g=f.support.deleteExpando;for(var h=0,i;(i=a[h])!=null;h++){if(i.nodeName&&f.noData[i.nodeName.toLowerCase()])continue;c=i[f.expando];if(c){b=d[c];if(b&&b.events){for(var j in b.events)e[j]?f.event.remove(i,j):f.removeEvent(i,j,b.handle);b.handle&&(b.handle.elem=null)}g?delete i[f.expando]:i.removeAttribute&&i.removeAttribute(f.expando),delete d[c]}}}});var bs=/alpha\([^)]*\)/i,bt=/opacity=([^)]*)/,bu=/([A-Z]|^ms)/g,bv=/^-?\d+(?:px)?$/i,bw=/^-?\d/,bx=/^([\-+])=([\-+.\de]+)/,by={position:"absolute",visibility:"hidden",display:"block"},bz=["Left","Right"],bA=["Top","Bottom"],bB,bC,bD;f.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return f.access(this,a,c,!0,function(a,c,d){return d!==b?f.style(a,c,d):f.css(a,c)})},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bB(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d,h==="string"&&(g=bx.exec(d))&&(d=+(g[1]+1)*+g[2]+parseFloat(f.css(a,c)),h="number");if(d==null||h==="number"&&isNaN(d))return;h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(bB)return bB(a,c)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]}}),f.curCSS=f.css,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){var e;if(c){if(a.offsetWidth!==0)return bE(a,b,d);f.swap(a,by,function(){e=bE(a,b,d)});return e}},set:function(a,b){if(!bv.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bt.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bs,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bs.test(g)?g.replace(bs,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bB(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bC=function(a,c){var d,e,g;c=c.replace(bu,"-$1").toLowerCase();if(!(e=a.ownerDocument.defaultView))return b;if(g=e.getComputedStyle(a,null))d=g.getPropertyValue(c),d===""&&!f.contains(a.ownerDocument.documentElement,a)&&(d=f.style(a,c));return d}),c.documentElement.currentStyle&&(bD=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f===null&&g&&(e=g[b])&&(f=e),!bv.test(f)&&bw.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f||0,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),bB=bC||bD,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bF=/%20/g,bG=/\[\]$/,bH=/\r?\n/g,bI=/#.*$/,bJ=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bK=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bL=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bM=/^(?:GET|HEAD)$/,bN=/^\/\//,bO=/\?/,bP=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bQ=/^(?:select|textarea)/i,bR=/\s+/,bS=/([?&])_=[^&]*/,bT=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bU=f.fn.load,bV={},bW={},bX,bY,bZ=["*/"]+["*"];try{bX=e.href}catch(b$){bX=c.createElement("a"),bX.href="",bX=bX.href}bY=bT.exec(bX.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bU)return bU.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("<div>").append(c.replace(bP,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bQ.test(this.nodeName)||bK.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bH,"\r\n")}}):{name:b.name,value:c.replace(bH,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.bind(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?cb(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),cb(a,b);return a},ajaxSettings:{url:bX,isLocal:bL.test(bY[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bZ},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:b_(bV),ajaxTransport:b_(bW),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?cd(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=ce(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bJ.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bI,"").replace(bN,bY[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bR),d.crossDomain==null&&(r=bT.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bY[1]&&r[2]==bY[2]&&(r[3]||(r[1]==="http:"?80:443))==(bY[3]||(bY[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),ca(bV,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bM.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bO.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bS,"$1_="+x);d.url=y+(y===d.url?(bO.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bZ+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=ca(bW,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){s<2?w(-1,z):f.error(z)}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)cc(g,a[g],c,e);return d.join("&").replace(bF,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cf=f.now(),cg=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cf++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(cg.test(b.url)||e&&cg.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(cg,l),b.url===j&&(e&&(k=k.replace(cg,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var ch=a.ActiveXObject?function(){for(var a in cj)cj[a](0,1)}:!1,ci=0,cj;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ck()||cl()}:ck,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,ch&&delete cj[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++ci,ch&&(cj||(cj={},f(a).unload(ch)),cj[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cm={},cn,co,cp=/^(?:toggle|show|hide)$/,cq=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cr,cs=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],ct;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cw("show",3),a,b,c);for(var g=0,h=this.length;g<h;g++)d=this[g],d.style&&(e=d.style.display,!f._data(d,"olddisplay")&&e==="none"&&(e=d.style.display=""),e===""&&f.css(d,"display")==="none"&&f._data(d,"olddisplay",cx(d.nodeName)));for(g=0;g<h;g++){d=this[g];if(d.style){e=d.style.display;if(e===""||e==="none")d.style.display=f._data(d,"olddisplay")||""}}return this},hide:function(a,b,c){if(a||a===0)return this.animate(cw("hide",3),a,b,c);var d,e,g=0,h=this.length;for(;g<h;g++)d=this[g],d.style&&(e=f.css(d,"display"),e!=="none"&&!f._data(d,"olddisplay")&&f._data(d,"olddisplay",e));for(g=0;g<h;g++)this[g].style&&(this[g].style.display="none");return this},_toggle:f.fn.toggle,toggle:function(a,b,c){var d=typeof a=="boolean";f.isFunction(a)&&f.isFunction(b)?this._toggle.apply(this,arguments):a==null||d?this.each(function(){var b=d?a:f(this).is(":hidden");f(this)[b?"show":"hide"]()}):this.animate(cw("toggle",3),a,b,c);return this},fadeTo:function(a,b,c,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){function g(){e.queue===!1&&f._mark(this);var b=f.extend({},e),c=this.nodeType===1,d=c&&f(this).is(":hidden"),g,h,i,j,k,l,m,n,o;b.animatedProperties={};for(i in a){g=f.camelCase(i),i!==g&&(a[g]=a[i],delete a[i]),h=a[g],f.isArray(h)?(b.animatedProperties[g]=h[1],h=a[g]=h[0]):b.animatedProperties[g]=b.specialEasing&&b.specialEasing[g]||b.easing||"swing";if(h==="hide"&&d||h==="show"&&!d)return b.complete.call(this);c&&(g==="height"||g==="width")&&(b.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY],f.css(this,"display")==="inline"&&f.css(this,"float")==="none"&&(!f.support.inlineBlockNeedsLayout||cx(this.nodeName)==="inline"?this.style.display="inline-block":this.style.zoom=1))}b.overflow!=null&&(this.style.overflow="hidden");for(i in a)j=new f.fx(this,b,i),h=a[i],cp.test(h)?(o=f._data(this,"toggle"+i)||(h==="toggle"?d?"show":"hide":0),o?(f._data(this,"toggle"+i,o==="show"?"hide":"show"),j[o]()):j[h]()):(k=cq.exec(h),l=j.cur(),k?(m=parseFloat(k[2]),n=k[3]||(f.cssNumber[i]?"":"px"),n!=="px"&&(f.style(this,i,(m||1)+n),l=(m||1)/j.cur()*l,f.style(this,i,l+n)),k[1]&&(m=(k[1]==="-="?-1:1)*m+l),j.custom(l,m,n)):j.custom(l,h,""));return!0}var e=f.speed(b,c,d);if(f.isEmptyObject(a))return this.each(e.complete,[!1]);a=f.extend({},a);return e.queue===!1?this.each(g):this.queue(e.queue,g)},stop:function(a,c,d){typeof a!="string"&&(d=c,c=a,a=b),c&&a!==!1&&this.queue(a||"fx",[]);return this.each(function(){function h(a,b,c){var e=b[c];f.removeData(a,c,!0),e.stop(d)}var b,c=!1,e=f.timers,g=f._data(this);d||f._unmark(!0,this);if(a==null)for(b in g)g[b].stop&&b.indexOf(".run")===b.length-4&&h(this,g,b);else g[b=a+".run"]&&g[b].stop&&h(this,g,b);for(b=e.length;b--;)e[b].elem===this&&(a==null||e[b].queue===a)&&(d?e[b](!0):e[b].saveState(),c=!0,e.splice(b,1));(!d||!c)&&f.dequeue(this,a)})}}),f.each({slideDown:cw("show",1),slideUp:cw("hide",1),slideToggle:cw("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){f.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),f.extend({speed:function(a,b,c){var d=a&&typeof a=="object"?f.extend({},a):{complete:c||!c&&b||f.isFunction(a)&&a,duration:a,easing:c&&b||b&&!f.isFunction(b)&&b};d.duration=f.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in f.fx.speeds?f.fx.speeds[d.duration]:f.fx.speeds._default;if(d.queue==null||d.queue===!0)d.queue="fx";d.old=d.complete,d.complete=function(a){f.isFunction(d.old)&&d.old.call(this),d.queue?f.dequeue(this,d.queue):a!==!1&&f._unmark(this)};return d},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig=b.orig||{}}}),f.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(f.fx.step[this.prop]||f.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=f.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,c,d){function h(a){return e.step(a)}var e=this,g=f.fx;this.startTime=ct||cu(),this.end=c,this.now=this.start=a,this.pos=this.state=0,this.unit=d||this.unit||(f.cssNumber[this.prop]?"":"px"),h.queue=this.options.queue,h.elem=this.elem,h.saveState=function(){e.options.hide&&f._data(e.elem,"fxshow"+e.prop)===b&&f._data(e.elem,"fxshow"+e.prop,e.start)},h()&&f.timers.push(h)&&!cr&&(cr=setInterval(g.tick,g.interval))},show:function(){var a=f._data(this.elem,"fxshow"+this.prop);this.options.orig[this.prop]=a||f.style(this.elem,this.prop),this.options.show=!0,a!==b?this.custom(this.cur(),a):this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),f(this.elem).show()},hide:function(){this.options.orig[this.prop]=f._data(this.elem,"fxshow"+this.prop)||f.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b,c,d,e=ct||cu(),g=!0,h=this.elem,i=this.options;if(a||e>=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c<b.length;c++)a=b[c],!a()&&b[c]===a&&b.splice(c--,1);b.length||f.fx.stop()},interval:13,stop:function(){clearInterval(cr),cr=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){f.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=a.now+a.unit:a.elem[a.prop]=a.now}}}),f.each(["width","height"],function(a,b){f.fx.step[b]=function(a){f.style(a.elem,b,Math.max(0,a.now))}}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){return a===b.elem}).length});var cy=/^t(?:able|d|h)$/i,cz=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?f.fn.offset=function(a){var b=this[0],c;if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);try{c=b.getBoundingClientRect()}catch(d){}var e=b.ownerDocument,g=e.documentElement;if(!c||!f.contains(g,b))return c?{top:c.top,left:c.left}:{top:0,left:0};var h=e.body,i=cA(e),j=g.clientTop||h.clientTop||0,k=g.clientLeft||h.clientLeft||0,l=i.pageYOffset||f.support.boxModel&&g.scrollTop||h.scrollTop,m=i.pageXOffset||f.support.boxModel&&g.scrollLeft||h.scrollLeft,n=c.top+l-j,o=c.left+m-k;return{top:n,left:o}}:f.fn.offset=function(a){var b=this[0];if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);var c,d=b.offsetParent,e=b,g=b.ownerDocument,h=g.documentElement,i=g.body,j=g.defaultView,k=j?j.getComputedStyle(b,null):b.currentStyle,l=b.offsetTop,m=b.offsetLeft;while((b=b.parentNode)&&b!==i&&b!==h){if(f.support.fixedPosition&&k.position==="fixed")break;c=j?j.getComputedStyle(b,null):b.currentStyle,l-=b.scrollTop,m-=b.scrollLeft,b===d&&(l+=b.offsetTop,m+=b.offsetLeft,f.support.doesNotAddBorder&&(!f.support.doesAddBorderForTableAndCells||!cy.test(b.nodeName))&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),e=d,d=b.offsetParent),f.support.subtractsBorderForOverflowNotVisible&&c.overflow!=="visible"&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),k=c}if(k.position==="relative"||k.position==="static")l+=i.offsetTop,m+=i.offsetLeft;f.support.fixedPosition&&k.position==="fixed"&&(l+=Math.max(h.scrollTop,i.scrollTop),m+=Math.max(h.scrollLeft,i.scrollLeft));return{top:l,left:m}},f.offset={bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.support.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cz.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cz.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cA(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cA(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,d,"padding")):this[d]():null},f.fn["outer"+c]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,d,a?"margin":"border")):this[d]():null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c],h=e.document.body;return e.document.compatMode==="CSS1Compat"&&g||h&&h["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var i=f.css(e,d),j=parseFloat(i);return f.isNumeric(j)?j:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f})(window);
/**
* Cookie plugin
*
* Copyright (c) 2006 Klaus Hartl (stilbuero.de)
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*
*/
 
/**
* Create a cookie with the given name and value and other optional parameters.
*
* @example $.cookie('the_cookie', 'the_value');
* @desc Set the value of a cookie.
* @example $.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'jquery.com', secure: true });
* @desc Create a cookie with all available options.
* @example $.cookie('the_cookie', 'the_value');
* @desc Create a session cookie.
* @example $.cookie('the_cookie', null);
* @desc Delete a cookie by passing null as value. Keep in mind that you have to use the same path and domain
* used when the cookie was set.
*
* @param String name The name of the cookie.
* @param String value The value of the cookie.
* @param Object options An object literal containing key/value pairs to provide optional cookie attributes.
* @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object.
* If a negative value is specified (e.g. a date in the past), the cookie will be deleted.
* If set to null or omitted, the cookie will be a session cookie and will not be retained
* when the the browser exits.
* @option String path The value of the path atribute of the cookie (default: path of page that created the cookie).
* @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie).
* @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will
* require a secure protocol (like HTTPS).
* @type undefined
*
* @name $.cookie
* @cat Plugins/Cookie
* @author Klaus Hartl/klaus.hartl@stilbuero.de
*/
 
/**
* Get the value of a cookie with the given name.
*
* @example $.cookie('the_cookie');
* @desc Get the value of a cookie.
*
* @param String name The name of the cookie.
* @return The value of the cookie.
* @type String
*
* @name $.cookie
* @cat Plugins/Cookie
* @author Klaus Hartl/klaus.hartl@stilbuero.de
*/
jQuery.cookie = function(name, value, options) {
if (typeof value != 'undefined') { // name and value given, set cookie
options = options || {};
if (value === null) {
value = '';
options.expires = -1;
}
var expires = '';
if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
var date;
if (typeof options.expires == 'number') {
date = new Date();
date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
} else {
date = options.expires;
}
expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
}
// CAUTION: Needed to parenthesize options.path and options.domain
// in the following expressions, otherwise they evaluate to undefined
// in the packed version for some reason...
var path = options.path ? '; path=' + (options.path) : '';
var domain = options.domain ? '; domain=' + (options.domain) : '';
var secure = options.secure ? '; secure' : '';
document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
} else { // only name given, get cookie
var cookieValue = null;
if (document.cookie && document.cookie != '') {
var cookies = document.cookie.split(';');
for (var i = 0; i < cookies.length; i++) {
var cookie = jQuery.trim(cookies[i]);
// Does this cookie string begin with the name we want?
if (cookie.substring(0, name.length + 1) == (name + '=')) {
cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
break;
}
}
}
return cookieValue;
}
};
/*!
* sprintf and vsprintf for jQuery
* somewhat based on http://jan.moesen.nu/code/javascript/sprintf-and-printf-in-javascript/
* Copyright (c) 2008 Sabin Iacob (m0n5t3r) <iacobs@m0n5t3r.info>
* @license http://www.gnu.org/licenses/gpl.html
* @project jquery.sprintf
*/
(function(d){var a={b:function(e){return parseInt(e,10).toString(2)},c:function(e){return String.fromCharCode(parseInt(e,10))},d:function(e){return parseInt(e,10)},u:function(e){return Math.abs(e)},f:function(f,e){e=parseInt(e,10);f=parseFloat(f);if(isNaN(e&&f)){return NaN}return e&&f.toFixed(e)||f},o:function(e){return parseInt(e,10).toString(8)},s:function(e){return e},x:function(e){return(""+parseInt(e,10).toString(16)).toLowerCase()},X:function(e){return(""+parseInt(e,10).toString(16)).toUpperCase()}};var c=/%(?:(\d+)?(?:\.(\d+))?|\(([^)]+)\))([%bcdufosxX])/g;var b=function(f){if(f.length==1&&typeof f[0]=="object"){f=f[0];return function(i,h,k,j,g,m,l){return a[g](f[j])}}else{var e=0;return function(i,h,k,j,g,m,l){if(g=="%"){return"%"}return a[g](f[e++],k)}}};d.extend({sprintf:function(f){var e=Array.apply(null,arguments).slice(1);return f.replace(c,b(e))},vsprintf:function(f,e){return f.replace(c,b(e))}})})(jQuery);
 
/*!
* jQuery Autocomplete plugin 1.1
*
* Copyright (c) 2009 Jörn Zaefferer
*
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*
* Revision: $Id: jquery.autocomplete.js 15 2009-08-22 10:30:27Z joern.zaefferer $
*/
 
;(function($) {
 
$.fn.extend({
autocomplete: function(urlOrData, options) {
var isUrl = typeof urlOrData == "string";
options = $.extend({}, $.Autocompleter.defaults, {
url: isUrl ? urlOrData : null,
data: isUrl ? null : urlOrData,
delay: isUrl ? $.Autocompleter.defaults.delay : 10,
max: options && !options.scroll ? 10 : 150
}, options);
 
// if highlight is set to false, replace it with a do-nothing function
options.highlight = options.highlight || function(value) { return value; };
 
// if the formatMatch option is not specified, then use formatItem for backwards compatibility
options.formatMatch = options.formatMatch || options.formatItem;
 
options.show = options.show || function(list) {};
 
return this.each(function() {
new $.Autocompleter(this, options);
});
},
result: function(handler) {
return this.bind("result", handler);
},
search: function(handler) {
return this.trigger("search", [handler]);
},
flushCache: function() {
return this.trigger("flushCache");
},
setOptions: function(options){
return this.trigger("setOptions", [options]);
},
unautocomplete: function() {
return this.trigger("unautocomplete");
}
});
 
$.Autocompleter = function(input, options) {
 
var KEY = {
UP: 38,
DOWN: 40,
DEL: 46,
TAB: 9,
RETURN: 13,
ESC: 27,
COMMA: 188,
PAGEUP: 33,
PAGEDOWN: 34,
BACKSPACE: 8
};
 
// Create $ object for input element
var $input = $(input).attr("autocomplete", "off").addClass(options.inputClass);
 
var timeout;
var previousValue = "";
var cache = $.Autocompleter.Cache(options);
var hasFocus = 0;
var lastKeyPressCode;
var config = {
mouseDownOnSelect: false
};
var select = $.Autocompleter.Select(options, input, selectCurrent, config);
 
// only opera doesn't trigger keydown multiple times while pressed, others don't work with keypress at all
$input.bind(($.browser.opera ? "keypress" : "keydown") + ".autocomplete", function(event) {
// a keypress means the input has focus
// avoids issue where input had focus before the autocomplete was applied
hasFocus = 1;
// track last key pressed
lastKeyPressCode = event.keyCode;
switch(event.keyCode) {
 
case KEY.UP:
event.preventDefault();
if ( select.visible() ) {
select.prev();
} else {
onChange(0, true);
}
break;
 
case KEY.DOWN:
event.preventDefault();
if ( select.visible() ) {
select.next();
} else {
onChange(0, true);
}
break;
 
case KEY.PAGEUP:
event.preventDefault();
if ( select.visible() ) {
select.pageUp();
} else {
onChange(0, true);
}
break;
 
case KEY.PAGEDOWN:
event.preventDefault();
if ( select.visible() ) {
select.pageDown();
} else {
onChange(0, true);
}
break;
 
// matches also semicolon
case options.multiple && $.trim(options.multipleSeparator) == "," && KEY.COMMA:
case KEY.TAB:
case KEY.RETURN:
if( selectCurrent() ) {
//event.preventDefault();
//return false;
}
break;
 
case KEY.ESC:
select.hide();
break;
 
default:
clearTimeout(timeout);
timeout = setTimeout(onChange, options.delay);
break;
}
}).focus(function(){
// track whether the field has focus, we shouldn't process any
// results if the field no longer has focus
hasFocus++;
}).blur(function() {
hasFocus = 0;
if (!config.mouseDownOnSelect) {
hideResults();
}
}).click(function() {
// show select when clicking in a focused field
if ( hasFocus++ > 1 && !select.visible() ) {
onChange(0, true);
}
}).bind("search", function() {
// TODO why not just specifying both arguments?
var fn = (arguments.length > 1) ? arguments[1] : null;
function findValueCallback(q, data) {
var result;
if( data && data.length ) {
for (var i=0; i < data.length; i++) {
if( data[i].result.toLowerCase() == q.toLowerCase() ) {
result = data[i];
break;
}
}
}
if( typeof fn == "function" ) fn(result);
else $input.trigger("result", result && [result.data, result.value]);
}
$.each(trimWords($input.val()), function(i, value) {
request(value, findValueCallback, findValueCallback);
});
}).bind("flushCache", function() {
cache.flush();
}).bind("setOptions", function() {
$.extend(options, arguments[1]);
// if we've updated the data, repopulate
if ( "data" in arguments[1] )
cache.populate();
}).bind("unautocomplete", function() {
select.unbind();
$input.unbind();
$(input.form).unbind(".autocomplete");
});
 
 
function selectCurrent() {
var selected = select.selected();
if( !selected )
return false;
 
var v = selected.result;
previousValue = v;
 
if ( options.multiple ) {
var words = trimWords($input.val());
if ( words.length > 1 ) {
var seperator = options.multipleSeparator.length;
var cursorAt = $(input).selection().start;
var wordAt, progress = 0;
$.each(words, function(i, word) {
progress += word.length;
if (cursorAt <= progress) {
wordAt = i;
return false;
}
progress += seperator;
});
words[wordAt] = v;
// TODO this should set the cursor to the right position, but it gets overriden somewhere
//$.Autocompleter.Selection(input, progress + seperator, progress + seperator);
v = words.join( options.multipleSeparator );
}
v += options.multipleSeparator;
}
 
$input.val(v);
hideResultsNow();
$input.trigger("result", [selected.data, selected.value]);
return true;
}
 
function onChange(crap, skipPrevCheck) {
if( lastKeyPressCode == KEY.DEL ) {
select.hide();
return;
}
 
var currentValue = $input.val();
 
if ( !skipPrevCheck && currentValue == previousValue )
return;
 
previousValue = currentValue;
 
currentValue = lastWord(currentValue);
if ( currentValue.length >= options.minChars) {
$input.addClass(options.loadingClass);
if (!options.matchCase)
currentValue = currentValue.toLowerCase();
request(currentValue, receiveData, hideResultsNow);
} else {
stopLoading();
select.hide();
}
};
 
function trimWords(value) {
if (!value)
return [""];
if (!options.multiple)
return [$.trim(value)];
return $.map(value.split(options.multipleSeparator), function(word) {
return $.trim(value).length ? $.trim(word) : null;
});
}
 
function lastWord(value) {
if ( !options.multiple )
return value;
var words = trimWords(value);
if (words.length == 1)
return words[0];
var cursorAt = $(input).selection().start;
if (cursorAt == value.length) {
words = trimWords(value)
} else {
words = trimWords(value.replace(value.substring(cursorAt), ""));
}
return words[words.length - 1];
}
 
// fills in the input box w/the first match (assumed to be the best match)
// q: the term entered
// sValue: the first matching result
function autoFill(q, sValue){
// autofill in the complete box w/the first match as long as the user hasn't entered in more data
// if the last user key pressed was backspace, don't autofill
if( options.autoFill && (lastWord($input.val()).toLowerCase() == q.toLowerCase()) && lastKeyPressCode != KEY.BACKSPACE ) {
// fill in the value (keep the case the user has typed)
$input.val($input.val() + sValue.substring(lastWord(previousValue).length));
// select the portion of the value not typed by the user (so the next character will erase)
$(input).selection(previousValue.length, previousValue.length + sValue.length);
}
};
 
function hideResults() {
clearTimeout(timeout);
timeout = setTimeout(hideResultsNow, 200);
};
 
function hideResultsNow() {
var wasVisible = select.visible();
select.hide();
clearTimeout(timeout);
stopLoading();
if (options.mustMatch) {
// call search and run callback
$input.search(
function (result){
// if no value found, clear the input box
if( !result ) {
if (options.multiple) {
var words = trimWords($input.val()).slice(0, -1);
$input.val( words.join(options.multipleSeparator) + (words.length ? options.multipleSeparator : "") );
}
else {
$input.val( "" );
$input.trigger("result", null);
}
}
}
);
}
};
 
function receiveData(q, data) {
if ( data && data.length && hasFocus ) {
stopLoading();
select.display(data, q);
autoFill(q, data[0].value);
select.show();
} else {
hideResultsNow();
}
};
 
function request(term, success, failure) {
if (!options.matchCase)
term = term.toLowerCase();
var data = cache.load(term);
// recieve the cached data
if (data && data.length) {
success(term, data);
// if an AJAX url has been supplied, try loading the data now
} else if( (typeof options.url == "string") && (options.url.length > 0) ){
 
var extraParams = {
timestamp: +new Date()
};
$.each(options.extraParams, function(key, param) {
extraParams[key] = typeof param == "function" ? param() : param;
});
 
$.ajax({
// try to leverage ajaxQueue plugin to abort previous requests
mode: "abort",
// limit abortion to this input
port: "autocomplete" + input.name,
dataType: options.dataType,
url: options.url,
data: $.extend({
q: lastWord(term),
limit: options.max
}, extraParams),
success: function(data) {
var parsed = options.parse && options.parse(data) || parse(data);
cache.add(term, parsed);
success(term, parsed);
}
});
} else {
// if we have a failure, we need to empty the list -- this prevents the the [TAB] key from selecting the last successful match
select.emptyList();
failure(term);
}
};
 
function parse(data) {
var parsed = [];
var rows = data.split("\n");
for (var i=0; i < rows.length; i++) {
var row = $.trim(rows[i]);
if (row) {
row = row.split("|");
parsed[parsed.length] = {
data: row,
value: row[0],
result: options.formatResult && options.formatResult(row, row[0]) || row[0]
};
}
}
return parsed;
};
 
function stopLoading() {
$input.removeClass(options.loadingClass);
};
 
};
 
$.Autocompleter.defaults = {
inputClass: "ac_input",
resultsClass: "ac_results",
loadingClass: "ac_loading",
minChars: 1,
delay: 400,
matchCase: false,
matchSubset: true,
matchContains: false,
cacheLength: 10,
max: 100,
mustMatch: false,
extraParams: {},
selectFirst: true,
formatItem: function(row) { return row[0]; },
formatMatch: null,
autoFill: false,
width: 0,
multiple: false,
multipleSeparator: ", ",
highlight: function(value, term) {
return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + term.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi, "\\$1") + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "<strong>$1</strong>");
},
scroll: true,
scrollHeight: 180
};
 
$.Autocompleter.Cache = function(options) {
 
var data = {};
var length = 0;
 
function matchSubset(s, sub) {
if (!options.matchCase)
s = s.toLowerCase();
var i = s.indexOf(sub);
if (options.matchContains == "word"){
i = s.toLowerCase().search("\\b" + sub.toLowerCase());
}
if (i == -1) return false;
return i == 0 || options.matchContains;
};
 
function add(q, value) {
if (length > options.cacheLength){
flush();
}
if (!data[q]){
length++;
}
data[q] = value;
}
 
function populate(){
if( !options.data ) return false;
// track the matches
var stMatchSets = {},
nullData = 0;
 
// no url was specified, we need to adjust the cache length to make sure it fits the local data store
if( !options.url ) options.cacheLength = 1;
 
// track all options for minChars = 0
stMatchSets[""] = [];
 
// loop through the array and create a lookup structure
for ( var i = 0, ol = options.data.length; i < ol; i++ ) {
var rawValue = options.data[i];
// if rawValue is a string, make an array otherwise just reference the array
rawValue = (typeof rawValue == "string") ? [rawValue] : rawValue;
 
var value = options.formatMatch(rawValue, i+1, options.data.length);
if ( value === false )
continue;
 
var firstChar = value.charAt(0).toLowerCase();
// if no lookup array for this character exists, look it up now
if( !stMatchSets[firstChar] )
stMatchSets[firstChar] = [];
 
// if the match is a string
var row = {
value: value,
data: rawValue,
result: options.formatResult && options.formatResult(rawValue) || value
};
 
// push the current match into the set list
stMatchSets[firstChar].push(row);
 
// keep track of minChars zero items
if ( nullData++ < options.max ) {
stMatchSets[""].push(row);
}
};
 
// add the data items to the cache
$.each(stMatchSets, function(i, value) {
// increase the cache size
options.cacheLength++;
// add to the cache
add(i, value);
});
}
 
// populate any existing data
setTimeout(populate, 25);
 
function flush(){
data = {};
length = 0;
}
 
return {
flush: flush,
add: add,
populate: populate,
load: function(q) {
if (!options.cacheLength || !length)
return null;
/*
* if dealing w/local data and matchContains than we must make sure
* to loop through all the data collections looking for matches
*/
if( !options.url && options.matchContains ){
// track all matches
var csub = [];
// loop through all the data grids for matches
for( var k in data ){
// don't search through the stMatchSets[""] (minChars: 0) cache
// this prevents duplicates
if( k.length > 0 ){
var c = data[k];
$.each(c, function(i, x) {
// if we've got a match, add it to the array
if (matchSubset(x.value, q)) {
csub.push(x);
}
});
}
}
return csub;
} else
// if the exact item exists, use it
if (data[q]){
return data[q];
} else
if (options.matchSubset) {
for (var i = q.length - 1; i >= options.minChars; i--) {
var c = data[q.substr(0, i)];
if (c) {
var csub = [];
$.each(c, function(i, x) {
if (matchSubset(x.value, q)) {
csub[csub.length] = x;
}
});
return csub;
}
}
}
return null;
}
};
};
 
$.Autocompleter.Select = function (options, input, select, config) {
var CLASSES = {
ACTIVE: "ac_over"
};
 
var listItems,
active = -1,
data,
term = "",
needsInit = true,
element,
list;
 
// Create results
function init() {
if (!needsInit)
return;
element = $("<div/>")
.hide()
.addClass(options.resultsClass)
.css("position", "absolute")
.appendTo(document.body);
 
list = $("<ul/>").appendTo(element).mouseover( function(event) {
if(target(event).nodeName && target(event).nodeName.toUpperCase() == 'LI') {
active = $("li", list).removeClass(CLASSES.ACTIVE).index(target(event));
$(target(event)).addClass(CLASSES.ACTIVE);
}
}).click(function(event) {
$(target(event)).addClass(CLASSES.ACTIVE);
select();
// TODO provide option to avoid setting focus again after selection? useful for cleanup-on-focus
input.focus();
return false;
}).mousedown(function() {
config.mouseDownOnSelect = true;
}).mouseup(function() {
config.mouseDownOnSelect = false;
});
 
if( options.width > 0 )
element.css("width", options.width);
 
needsInit = false;
}
 
function target(event) {
var element = event.target;
while(element && element.tagName != "LI")
element = element.parentNode;
// more fun with IE, sometimes event.target is empty, just ignore it then
if(!element)
return [];
return element;
}
 
function moveSelect(step) {
listItems.slice(active, active + 1).removeClass(CLASSES.ACTIVE);
movePosition(step);
var activeItem = listItems.slice(active, active + 1).addClass(CLASSES.ACTIVE);
if(options.scroll) {
var offset = 0;
listItems.slice(0, active).each(function() {
offset += this.offsetHeight;
});
if((offset + activeItem[0].offsetHeight - list.scrollTop()) > list[0].clientHeight) {
list.scrollTop(offset + activeItem[0].offsetHeight - list.innerHeight());
} else if(offset < list.scrollTop()) {
list.scrollTop(offset);
}
}
};
 
function movePosition(step) {
active += step;
if (active < 0) {
active = listItems.size() - 1;
} else if (active >= listItems.size()) {
active = 0;
}
}
 
function limitNumberOfItems(available) {
return options.max && options.max < available
? options.max
: available;
}
 
function fillList() {
list.empty();
var max = limitNumberOfItems(data.length);
for (var i=0; i < max; i++) {
if (!data[i])
continue;
var formatted = options.formatItem(data[i].data, i+1, max, data[i].value, term);
if ( formatted === false )
continue;
var li = $("<li/>").html( options.highlight(formatted, term) ).addClass(i%2 == 0 ? "ac_even" : "ac_odd").appendTo(list)[0];
$.data(li, "ac_data", data[i]);
}
listItems = list.find("li");
if ( options.selectFirst ) {
listItems.slice(0, 1).addClass(CLASSES.ACTIVE);
active = 0;
}
// apply bgiframe if available
if ( $.fn.bgiframe )
list.bgiframe();
}
 
return {
display: function(d, q) {
init();
data = d;
term = q;
fillList();
},
next: function() {
moveSelect(1);
},
prev: function() {
moveSelect(-1);
},
pageUp: function() {
if (active != 0 && active - 8 < 0) {
moveSelect( -active );
} else {
moveSelect(-8);
}
},
pageDown: function() {
if (active != listItems.size() - 1 && active + 8 > listItems.size()) {
moveSelect( listItems.size() - 1 - active );
} else {
moveSelect(8);
}
},
hide: function() {
element && element.hide();
listItems && listItems.removeClass(CLASSES.ACTIVE);
active = -1;
},
visible : function() {
return element && element.is(":visible");
},
current: function() {
return this.visible() && (listItems.filter("." + CLASSES.ACTIVE)[0] || options.selectFirst && listItems[0]);
},
show: function() {
var offset = $(input).offset();
element.css({
width: typeof options.width == "string" || options.width > 0 ? options.width : $(input).innerWidth(),
top: offset.top + input.offsetHeight,
left: offset.left
}).show();
options.show(element);
if(options.scroll) {
list.scrollTop(0);
list.css({
maxHeight: options.scrollHeight,
overflow: 'auto'
});
 
if($.browser.msie && typeof document.body.style.maxHeight === "undefined") {
var listHeight = 0;
listItems.each(function() {
listHeight += this.offsetHeight;
});
var scrollbarsVisible = listHeight > options.scrollHeight;
list.css('height', scrollbarsVisible ? options.scrollHeight : listHeight );
if (!scrollbarsVisible) {
// IE doesn't recalculate width when scrollbar disappears
listItems.width( list.width() - parseInt(listItems.css("padding-left")) - parseInt(listItems.css("padding-right")) );
}
}
 
}
},
selected: function() {
var selected = listItems && listItems.filter("." + CLASSES.ACTIVE).removeClass(CLASSES.ACTIVE);
return selected && selected.length && $.data(selected[0], "ac_data");
},
emptyList: function (){
list && list.empty();
},
unbind: function() {
element && element.remove();
}
};
};
 
$.fn.selection = function(start, end) {
if (start !== undefined) {
return this.each(function() {
if( this.createTextRange ){
var selRange = this.createTextRange();
if (end === undefined || start == end) {
selRange.move("character", start);
selRange.select();
} else {
selRange.collapse(true);
selRange.moveStart("character", start);
selRange.moveEnd("character", end);
selRange.select();
}
} else if( this.setSelectionRange ){
this.setSelectionRange(start, end);
} else if( this.selectionStart ){
this.selectionStart = start;
this.selectionEnd = end;
}
});
}
var field = this[0];
if ( field.createTextRange ) {
var range = document.selection.createRange(),
orig = field.value,
teststring = "<->",
textLength = range.text.length;
range.text = teststring;
var caretAt = field.value.indexOf(teststring);
field.value = orig;
this.selection(caretAt, caretAt + textLength);
return {
start: caretAt,
end: caretAt + textLength
}
} else if( field.selectionStart !== undefined ){
return {
start: field.selectionStart,
end: field.selectionEnd
}
}
};
 
})(jQuery);
/**
* jQuery.fn.sortElements
* --------------
* @author James Padolsey (http://james.padolsey.com)
* @version 0.11
* @updated 18-MAR-2010
* --------------
* @param Function comparator:
* Exactly the same behaviour as [1,2,3].sort(comparator)
*
* @param Function getSortable
* A function that should return the element that is
* to be sorted. The comparator will run on the
* current collection, but you may want the actual
* resulting sort to occur on a parent or another
* associated element.
*
* E.g. $('td').sortElements(comparator, function(){
* return this.parentNode;
* })
*
* The <td>'s parent (<tr>) will be sorted instead
* of the <td> itself.
*/
jQuery.fn.sortElements = (function(){
 
var sort = [].sort;
 
return function(comparator, getSortable) {
 
getSortable = getSortable || function(){return this;};
 
var placements = this.map(function(){
 
var sortElement = getSortable.call(this),
parentNode = sortElement.parentNode,
 
// Since the element itself will change position, we have
// to have some way of storing it's original position in
// the DOM. The easiest way is to have a 'flag' node:
nextSibling = parentNode.insertBefore(
document.createTextNode(''),
sortElement.nextSibling
);
 
return function() {
 
if (parentNode === this) {
throw new Error(
"You can't sort elements if any one is a descendant of another."
);
}
 
// Insert before flag:
parentNode.insertBefore(this, nextSibling);
// Remove flag:
parentNode.removeChild(nextSibling);
 
};
 
});
 
return sort.call(this, comparator).each(function(i){
placements[i].call(getSortable.call(this));
});
 
};
 
})();
/*!
* ApiGen 2.8.0 - API documentation generator for PHP 5.3+
*
* Copyright (c) 2010-2011 David Grudl (http://davidgrudl.com)
* Copyright (c) 2011-2012 Jaroslav Hanslík (https://github.com/kukulich)
* Copyright (c) 2011-2012 Ondřej Nešpor (https://github.com/Andrewsville)
*
* For the full copyright and license information, please view
* the file LICENSE.md that was distributed with this source code.
*/
 
$(function() {
var $document = $(document);
var $left = $('#left');
var $right = $('#right');
var $rightInner = $('#rightInner');
var $splitter = $('#splitter');
var $groups = $('#groups');
var $content = $('#content');
 
// Menu
 
// Hide deep packages and namespaces
$('ul span', $groups).click(function(event) {
event.preventDefault();
event.stopPropagation();
$(this)
.toggleClass('collapsed')
.parent()
.next('ul')
.toggleClass('collapsed');
}).click();
 
$active = $('ul li.active', $groups);
if ($active.length > 0) {
// Open active
$('> a > span', $active).click();
} else {
$main = $('> ul > li.main', $groups);
if ($main.length > 0) {
// Open first level of the main project
$('> a > span', $main).click();
} else {
// Open first level of all
$('> ul > li > a > span', $groups).click();
}
}
 
// Content
 
// Search autocompletion
var autocompleteFound = false;
var autocompleteFiles = {'c': 'class', 'co': 'constant', 'f': 'function', 'm': 'class', 'mm': 'class', 'p': 'class', 'mp': 'class', 'cc': 'class'};
var $search = $('#search input[name=q]');
$search
.autocomplete(ApiGen.elements, {
matchContains: true,
scrollHeight: 200,
max: 20,
formatItem: function(data) {
return data[1].replace(/^(.+\\)(.+)$/, '<span><small>$1</small>$2</span>');
},
formatMatch: function(data) {
return data[1];
},
formatResult: function(data) {
return data[1];
},
show: function($list) {
var $items = $('li span', $list);
var maxWidth = Math.max.apply(null, $items.map(function() {
return $(this).width();
}));
// 10px padding
$list
.width(Math.max(maxWidth + 10, $search.innerWidth()))
.css('left', $search.offset().left + $search.outerWidth() - $list.outerWidth());
}
}).result(function(event, data) {
autocompleteFound = true;
var location = window.location.href.split('/');
location.pop();
var parts = data[1].split(/::|$/);
var file = $.sprintf(ApiGen.config.templates.main[autocompleteFiles[data[0]]].filename, parts[0].replace(/[^\w]/g, '.'));
if (parts[1]) {
file += '#' + ('mm' === data[0] || 'mp' === data[0] ? 'm' : '') + parts[1].replace(/([\w]+)\(\)/, '_$1');
}
location.push(file);
window.location = location.join('/');
 
// Workaround for Opera bug
$(this).closest('form').attr('action', location.join('/'));
}).closest('form')
.submit(function() {
var query = $search.val();
if ('' === query) {
return false;
}
 
var label = $('#search input[name=more]').val();
if (!autocompleteFound && label && -1 === query.indexOf('more:')) {
$search.val(query + ' more:' + label);
}
 
return !autocompleteFound && '' !== $('#search input[name=cx]').val();
});
 
// Save natural order
$('table.summary tr[data-order]', $content).each(function(index) {
do {
index = '0' + index;
} while (index.length < 3);
$(this).attr('data-order-natural', index);
});
 
// Switch between natural and alphabetical order
var $caption = $('table.summary', $content)
.filter(':has(tr[data-order])')
.find('caption');
$caption
.click(function() {
var $this = $(this);
var order = $this.data('order') || 'natural';
order = 'natural' === order ? 'alphabetical' : 'natural';
$this.data('order', order);
$.cookie('order', order, {expires: 365});
var attr = 'alphabetical' === order ? 'data-order' : 'data-order-natural';
$this
.closest('table')
.find('tr').sortElements(function(a, b) {
return $(a).attr(attr) > $(b).attr(attr) ? 1 : -1;
});
return false;
})
.addClass('switchable')
.attr('title', 'Switch between natural and alphabetical order');
if ((null === $.cookie('order') && 'alphabetical' === ApiGen.config.options.elementsOrder) || 'alphabetical' === $.cookie('order')) {
$caption.click();
}
 
// Open details
if (ApiGen.config.options.elementDetailsCollapsed) {
$('tr', $content).filter(':has(.detailed)')
.click(function() {
var $this = $(this);
$('.short', $this).hide();
$('.detailed', $this).show();
});
}
 
// Splitter
var splitterWidth = $splitter.width();
function setSplitterPosition(position)
{
$left.width(position);
$right.css('margin-left', position + splitterWidth);
$splitter.css('left', position);
}
function setNavigationPosition()
{
var width = $rightInner.width();
$rightInner
.toggleClass('medium', width <= 960)
.toggleClass('small', width <= 650);
}
$splitter.mousedown(function() {
$splitter.addClass('active');
 
$document.mousemove(function(event) {
if (event.pageX >= 230 && $document.width() - event.pageX >= 600 + splitterWidth) {
setSplitterPosition(event.pageX);
setNavigationPosition();
}
});
 
$()
.add($splitter)
.add($document)
.mouseup(function() {
$splitter
.removeClass('active')
.unbind('mouseup');
$document
.unbind('mousemove')
.unbind('mouseup');
 
$.cookie('splitter', parseInt($splitter.css('left')), {expires: 365});
});
 
return false;
});
var splitterPosition = $.cookie('splitter');
if (null !== splitterPosition) {
setSplitterPosition(parseInt(splitterPosition));
}
setNavigationPosition();
$(window).resize(setNavigationPosition);
 
// Select selected lines
var matches = window.location.hash.substr(1).match(/^\d+(?:-\d+)?(?:,\d+(?:-\d+)?)*$/);
if (null !== matches) {
var lists = matches[0].split(',');
for (var i = 0; i < lists.length; i++) {
var lines = lists[i].split('-');
lines[1] = lines[1] || lines[0];
for (var j = lines[0]; j <= lines[1]; j++) {
$('#' + j).addClass('selected');
}
}
 
var $firstLine = $('#' + parseInt(matches[0]));
if ($firstLine.length > 0) {
$right.scrollTop($firstLine.offset().top);
}
}
 
// Save selected lines
var lastLine;
$('a.l').click(function(event) {
event.preventDefault();
 
var $selectedLine = $(this).parent();
var selectedLine = parseInt($selectedLine.attr('id'));
 
if (event.shiftKey) {
if (lastLine) {
for (var i = Math.min(selectedLine, lastLine); i <= Math.max(selectedLine, lastLine); i++) {
$('#' + i).addClass('selected');
}
} else {
$selectedLine.addClass('selected');
}
} else if (event.ctrlKey) {
$selectedLine.toggleClass('selected');
} else {
var $selected = $('.l.selected')
.not($selectedLine)
.removeClass('selected');
if ($selected.length > 0) {
$selectedLine.addClass('selected');
} else {
$selectedLine.toggleClass('selected');
}
}
 
lastLine = $selectedLine.hasClass('selected') ? selectedLine : null;
 
// Update hash
var lines = $('.l.selected')
.map(function() {
return parseInt($(this).attr('id'));
})
.get()
.sort(function(a, b) {
return a - b;
});
 
var hash = [];
var list = [];
for (var j = 0; j < lines.length; j++) {
if (0 === j && j + 1 === lines.length) {
hash.push(lines[j]);
} else if (0 === j) {
list[0] = lines[j];
} else if (lines[j - 1] + 1 !== lines[j] && j + 1 === lines.length) {
hash.push(list.join('-'));
hash.push(lines[j]);
} else if (lines[j - 1] + 1 !== lines[j]) {
hash.push(list.join('-'));
list = [lines[j]];
} else if (j + 1 === lines.length) {
list[1] = lines[j];
hash.push(list.join('-'));
} else {
list[1] = lines[j];
}
}
 
window.location.hash = hash.join(',');
});
});
 
/branches/v0.2-buhl/doc/ApiGen/resources/footer.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/branches/v0.2-buhl/doc/ApiGen/resources/footer.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/branches/v0.2-buhl/doc/ApiGen/resources/tree-last.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/branches/v0.2-buhl/doc/ApiGen/resources/tree-last.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/branches/v0.2-buhl/doc/ApiGen/resources/resize.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/branches/v0.2-buhl/doc/ApiGen/resources/resize.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/branches/v0.2-buhl/doc/ApiGen/resources/inherit.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/branches/v0.2-buhl/doc/ApiGen/resources/inherit.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/branches/v0.2-buhl/doc/ApiGen/resources/style.css
New file
0,0 → 1,608
/*!
* ApiGen 2.8.0 - API documentation generator for PHP 5.3+
*
* Copyright (c) 2010-2011 David Grudl (http://davidgrudl.com)
* Copyright (c) 2011-2012 Jaroslav Hanslík (https://github.com/kukulich)
* Copyright (c) 2011-2012 Ondřej Nešpor (https://github.com/Andrewsville)
*
* For the full copyright and license information, please view
* the file LICENSE.md that was distributed with this source code.
*/
 
body {
font: 13px/1.5 Verdana, 'Geneva CE', lucida, sans-serif;
margin: 0;
padding: 0;
background: #ffffff;
color: #333333;
}
 
h1, h2, h3, h4, caption {
font-family: 'Trebuchet MS', 'Geneva CE', lucida, sans-serif;
color: #053368;
}
 
h1 {
color: #1e5eb6;
font-size: 230%;
font-weight: normal;
margin: .3em 0;
}
 
h2 {
color: #1e5eb6;
font-size: 150%;
font-weight: normal;
margin: -.3em 0 .3em 0;
}
 
h3 {
font-size: 1.6em;
font-weight: normal;
margin-bottom: 2px;
}
 
h4 {
font-size: 100%;
font-weight: bold;
padding: 0;
margin: 0;
}
 
caption {
border: 1px solid #cccccc;
background: #ecede5;
font-weight: bold;
font-size: 1.2em;
padding: 3px 5px;
text-align: left;
margin-bottom: 0;
}
 
p {
margin: .7em 0 1em;
padding: 0;
}
 
hr {
margin: 2em 0 1em;
border: none;
border-top: 1px solid #cccccc;
height: 0;
}
 
a {
color: #006aeb;
padding: 3px 1px;
text-decoration: none;
}
 
h1 a {
color: #1e5eb6;
}
 
a:hover, a:active, a:focus, a:hover b, a:hover var {
background-color: #006aeb;
color: #ffffff !important;
}
 
code, var, pre {
font-family: monospace;
}
 
var {
font-weight: bold;
font-style: normal;
color: #ca8a04;
}
 
pre {
margin: 0;
}
 
code a b {
color: #000000;
}
 
.deprecated {
text-decoration: line-through;
}
 
.invalid {
color: #e71818;
}
 
.hidden {
display: none;
}
 
/* Left side */
#left {
overflow: auto;
width: 270px;
height: 100%;
position: fixed;
}
 
/* Menu */
#menu {
padding: 10px;
}
 
#menu ul {
list-style: none;
padding: 0;
margin: 0;
}
 
#menu ul ul {
padding-left: 10px;
}
 
#menu li {
white-space: nowrap;
position: relative;
}
 
#menu a {
display: block;
padding: 0 2px;
}
 
#menu .active > a, #menu > span {
color: #333333;
background: none;
font-weight: bold;
}
 
#menu .active > a.invalid {
color: #e71818;
}
 
#menu .active > a:hover, #menu .active > a:active, #menu .active > a:focus {
background-color: #006aeb;
}
 
#menu #groups span {
position: absolute;
top: 4px;
right: 2px;
cursor: pointer;
display: block;
width: 12px;
height: 12px;
background: url('collapsed.png') transparent 0 0 no-repeat;
}
 
#menu #groups span:hover {
background-position: -12px 0;
}
 
#menu #groups span.collapsed {
background-position: 0 -12px;
}
 
#menu #groups span.collapsed:hover {
background-position: -12px -12px;
}
 
#menu #groups ul.collapsed {
display: none;
}
 
/* Right side */
#right {
overflow: auto;
margin-left: 275px;
height: 100%;
position: fixed;
left: 0;
right: 0;
}
 
#rightInner {
max-width: 1000px;
min-width: 350px;
}
 
/* Search */
#search {
float: right;
margin: 3px 8px;
}
 
#search input.text {
padding: 3px 5px;
width: 250px;
}
 
/* Autocomplete */
.ac_results {
padding: 0;
border: 1px solid #cccccc;
background-color: #ffffff;
overflow: hidden;
z-index: 99999;
}
 
.ac_results ul {
width: 100%;
list-style-position: outside;
list-style: none;
padding: 0;
margin: 0;
}
 
.ac_results li {
margin: 0;
padding: 2px 5px;
cursor: default;
display: block;
font: 12px 'Trebuchet MS', 'Geneva CE', lucida, sans-serif;
line-height: 16px;
overflow: hidden;
white-space: nowrap;
}
 
.ac_results li strong {
color: #000000;
}
 
.ac_odd {
background-color: #eeeeee;
}
 
.ac_over {
background-color: #006aeb;
color: #ffffff;
}
 
.ac_results li.ac_over strong {
color: #ffffff;
}
 
/* Navigation */
#navigation {
padding: 3px 8px;
background-color: #f6f6f4;
height: 26px;
}
 
#navigation ul {
list-style: none;
margin: 0 8px 4px 0;
padding: 0;
overflow: hidden;
float: left;
}
 
#navigation ul + ul {
border-left: 1px solid #000000;
padding-left: 8px;
}
 
#navigation ul li {
float: left;
margin: 2px;
padding: 0 3px;
font-family: Verdana, 'Geneva CE', lucida, sans-serif;
color: #808080;
}
 
#navigation ul li.active {
background-color: #053368;
color: #ffffff;
font-weight: bold;
}
 
#navigation ul li a {
color: #000000;
font-weight: bold;
padding: 0;
}
 
#navigation ul li span {
float: left;
padding: 0 3px;
}
 
#navigation ul li a:hover span, #navigation ul li a:active span, #navigation ul li a:focus span {
background-color: #006aeb;
}
 
/* Content */
#content {
clear: both;
padding: 5px 15px;
}
 
.description pre {
padding: .6em;
background: #fcfcf7;
}
 
#content > .description {
background: #ecede5;
padding: 1px 8px;
margin: 1.2em 0;
}
 
#content > .description pre {
margin: .5em 0;
}
 
dl.tree {
margin: 1.2em 0;
}
 
dl.tree dd {
margin: 0;
padding: 0;
}
 
.info {
margin: 1.2em 0;
}
 
.summary {
border: 1px solid #cccccc;
border-collapse: collapse;
font-size: 1em;
width: 100%;
margin: 1.2em 0 2.4em;
}
 
.summary caption {
border-width: 1px 1px 0;
}
 
.summary caption.switchable {
background: #ecede5 url('sort.png') no-repeat center right;
cursor: pointer;
}
 
.summary td {
border: 1px solid #cccccc;
margin: 0;
padding: 3px 10px;
font-size: 1em;
vertical-align: top;
}
 
.summary td:first-child {
text-align: right;
}
 
#packages.summary td:first-child, #namespaces.summary td:first-child, .inherited.summary td:first-child, .used.summary td:first-child {
text-align: left;
}
 
.summary tr:hover td {
background: #f6f6f4;
}
 
.summary .description pre {
border: .5em solid #ecede5;
}
 
.summary .description p {
margin: 0;
}
 
.summary .description p + p, .summary .description ul {
margin: 3px 0 0 0;
}
 
.summary .description.detailed h4 {
margin-top: 3px;
}
 
.summary dl {
margin: 0;
}
 
.summary dd {
margin: 0 0 0 25px;
}
 
.name, .attributes {
white-space: nowrap;
}
 
.value {
white-space: pre-wrap;
}
 
td.name, td.attributes {
width: 1%;
}
 
.class #methods .name {
width: auto;
white-space: normal;
}
 
.class #methods .name > div > code {
white-space: pre-wrap;
}
 
.class #methods .name > div > code span, .function .value > code {
white-space: nowrap;
}
 
.class #methods td.name > div, .class td.description > div {
position: relative;
padding-right: 1em;
}
 
.anchor {
position: absolute;
top: 0;
right: 0;
line-height: 1;
font-size: 85%;
margin: 0;
color: #006aeb !important;
}
 
.list {
margin: 0 0 5px 25px;
}
 
div.invalid {
background-color: #fae4e0;
padding: 10px;
}
 
/* Splitter */
#splitter {
position: fixed;
height: 100%;
width: 5px;
left: 270px;
background: #1e5eb6 url('resize.png') left center no-repeat;
cursor: e-resize;
}
 
#splitter.active {
opacity: .5;
}
 
/* Footer */
#footer {
border-top: 1px solid #e9eeef;
clear: both;
color: #a7a7a7;
font-size: 8pt;
text-align: center;
padding: 20px 0 0;
margin: 3em 0 0;
height: 90px;
background: #ffffff url('footer.png') no-repeat center top;
}
 
/* Tree */
div.tree ul {
list-style: none;
background: url('tree-vertical.png') left repeat-y;
padding: 0;
margin-left: 20px;
}
 
div.tree li {
margin: 0;
padding: 0;
}
 
div.tree div {
padding-left: 30px;
}
 
div.tree div.notlast {
background: url('tree-hasnext.png') left 10px no-repeat;
}
 
div.tree div.last {
background: url('tree-last.png') left -240px no-repeat;
}
 
div.tree li.last {
background: url('tree-cleaner.png') left center repeat-y;
}
 
div.tree span.padding {
padding-left: 15px;
}
 
/* Source code */
.php-keyword1 {
color: #e71818;
font-weight: bold;
}
 
.php-keyword2 {
font-weight: bold;
}
 
.php-var {
color: #d59401;
font-weight: bold;
}
 
.php-num {
color: #cd0673;
}
 
.php-quote {
color: #008000;
}
 
.php-comment {
color: #929292;
}
 
.xlang {
color: #ff0000;
font-weight: bold;
}
 
span.l {
display: block;
}
 
span.l.selected {
background: #f6f6f4;
}
 
span.l a {
color: #333333;
}
 
span.l a:hover, div.l a:active, div.l a:focus {
background: transparent;
color: #333333 !important;
}
 
span.l .php-var a {
color: #d59401;
}
 
span.l .php-var a:hover, span.l .php-var a:active, span.l .php-var a:focus {
color: #d59401 !important;
}
 
span.l a.l {
padding-left: 2px;
color: #c0c0c0;
}
 
span.l a.l:hover, span.l a.l:active, span.l a.l:focus {
background: transparent;
color: #c0c0c0 !important;
}
 
#rightInner.medium #navigation {
height: 52px;
}
 
#rightInner.medium #navigation ul:first-child + ul {
clear: left;
border: none;
padding: 0;
}
 
#rightInner.medium .name, #rightInner.medium .attributes {
white-space: normal;
}
 
#rightInner.small #search {
float: left;
}
 
#rightInner.small #navigation {
height: 78px;
}
 
#rightInner.small #navigation ul:first-child {
clear: both;
}
/branches/v0.2-buhl/doc/ApiGen/source-function-autoloadAppliDefaut.html
New file
0,0 → 1,172
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="generator" content="ApiGen 2.8.0">
<meta name="robots" content="noindex">
 
<title>File autoload.inc.php | TBFramework - v0.2</title>
 
<script type="text/javascript" src="resources/combined.js?4205936287"></script>
<script type="text/javascript" src="elementlist.js?117657638"></script>
<link rel="stylesheet" type="text/css" media="all" href="resources/style.css?3505392360">
 
</head>
 
<body>
<div id="left">
<div id="menu">
<a href="index.html" title="Overview"><span>Overview</span></a>
 
 
<div id="groups">
<h3>Packages</h3>
<ul>
<li class="active"><a href="package-Framework.html">Framework</a>
</li>
<li><a href="package-PHP.html">PHP</a>
</li>
</ul>
</div>
 
<hr>
 
 
<div id="elements">
<h3>Classes</h3>
<ul>
<li><a href="class-Application.html">Application</a></li>
<li><a href="class-Chronometre.html">Chronometre</a></li>
<li><a href="class-Config.html">Config</a></li>
<li><a href="class-Controleur.html">Controleur</a></li>
<li><a href="class-Debug.html">Debug</a></li>
<li><a href="class-GestionnaireException.html">GestionnaireException</a></li>
<li><a href="class-Log.html">Log</a></li>
<li><a href="class-Modele.html">Modele</a></li>
<li><a href="class-Registre.html">Registre</a></li>
<li><a href="class-SquelettePhp.html">SquelettePhp</a></li>
<li><a href="class-Url.html">Url</a></li>
</ul>
 
 
 
 
 
<h3>Functions</h3>
<ul>
<li class="active"><a href="function-autoloadAppliDefaut.html">autoloadAppliDefaut</a></li>
<li><a href="function-autoloadFw.html">autoloadFw</a></li>
</ul>
</div>
</div>
</div>
 
<div id="splitter"></div>
 
<div id="right">
<div id="rightInner">
<form id="search">
<input type="hidden" name="cx" value="">
<input type="hidden" name="ie" value="UTF-8">
<input type="text" name="q" class="text">
<input type="submit" value="Search">
</form>
 
<div id="navigation">
<ul>
<li>
<a href="index.html" title="Overview"><span>Overview</span></a>
</li>
<li>
<a href="package-Framework.html" title="Summary of Framework"><span>Package</span></a>
</li>
<li>
<a href="function-autoloadAppliDefaut.html" title="Summary of autoloadAppliDefaut"><span>Function</span></a>
</li>
</ul>
<ul>
<li>
<a href="tree.html" title="Tree view of classes, interfaces, traits and exceptions"><span>Tree</span></a>
</li>
<li>
<a href="deprecated.html" title="List of deprecated elements"><span>Deprecated</span></a>
</li>
<li>
<a href="todo.html" title="Todo list"><span>Todo</span></a>
</li>
</ul>
<ul>
</ul>
</div>
 
<pre><code><span id="1" class="l"><a class="l" href="#1"> 1: </a><span class="xlang">&lt;?php</span>
</span><span id="2" class="l"><a class="l" href="#2"> 2: </a><span class="php-comment">// declare(encoding='UTF-8');</span>
</span><span id="3" class="l"><a class="l" href="#3"> 3: </a><span class="php-comment">/**
</span></span><span id="4" class="l"><a class="l" href="#4"> 4: </a><span class="php-comment"> * Fichier contenant la fonction de chargement automatique de classes, il doit toujours rester à la racine
</span></span><span id="5" class="l"><a class="l" href="#5"> 5: </a><span class="php-comment"> * du framework car il initialise le chemin de l'application en se basant sur son propre emplacement.
</span></span><span id="6" class="l"><a class="l" href="#6"> 6: </a><span class="php-comment"> *
</span></span><span id="7" class="l"><a class="l" href="#7"> 7: </a><span class="php-comment"> * PHP Version 5.1.2
</span></span><span id="8" class="l"><a class="l" href="#8"> 8: </a><span class="php-comment"> *
</span></span><span id="9" class="l"><a class="l" href="#9"> 9: </a><span class="php-comment"> * @category Fichier_De_Fonctions
</span></span><span id="10" class="l"><a class="l" href="#10">10: </a><span class="php-comment"> * @package Framework
</span></span><span id="11" class="l"><a class="l" href="#11">11: </a><span class="php-comment"> // Auteur principal :
</span></span><span id="12" class="l"><a class="l" href="#12">12: </a><span class="php-comment"> * @author Aurelien PERONNET &lt;aurelien@tela-botanica.org&gt;
</span></span><span id="13" class="l"><a class="l" href="#13">13: </a><span class="php-comment"> // Autres auteurs :
</span></span><span id="14" class="l"><a class="l" href="#14">14: </a><span class="php-comment"> * @author Jean-Pascal MILCENT &lt;jpm@tela-botanica.org&gt;
</span></span><span id="15" class="l"><a class="l" href="#15">15: </a><span class="php-comment"> * @license GPL v3 &lt;http://www.gnu.org/licenses/gpl.txt&gt;
</span></span><span id="16" class="l"><a class="l" href="#16">16: </a><span class="php-comment"> * @license CECILL v2 &lt;http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt&gt;
</span></span><span id="17" class="l"><a class="l" href="#17">17: </a><span class="php-comment"> * @version $$Id: autoload.inc.php 188 2010-04-29 12:09:17Z jpm $$
</span></span><span id="18" class="l"><a class="l" href="#18">18: </a><span class="php-comment"> * @copyright 1999-2009 Tela Botanica (accueil@tela-botanica.org)
</span></span><span id="19" class="l"><a class="l" href="#19">19: </a><span class="php-comment"> */</span>
</span><span id="20" class="l"><a class="l" href="#20">20: </a>
</span><span id="21" class="l"><a class="l" href="#21">21: </a><span class="php-comment">// Redéfinition de la constante DIRECTORY_SEPARATOR</span>
</span><span id="22" class="l"><a class="l" href="#22">22: </a><span class="php-keyword1">if</span> (!<span class="php-keyword2">defined</span>(<span class="php-quote">'DS'</span>)) {
</span><span id="23" class="l"><a class="l" href="#23">23: </a> <span class="php-keyword2">define</span>(<span class="php-quote">'DS'</span>, DIRECTORY_SEPARATOR);
</span><span id="24" class="l"><a class="l" href="#24">24: </a>}
</span><span id="25" class="l"><a class="l" href="#25">25: </a><span class="php-comment">// Redéfinition de la constante PATH_SEPARATOR</span>
</span><span id="26" class="l"><a class="l" href="#26">26: </a><span class="php-keyword1">if</span> (!<span class="php-keyword2">defined</span>(<span class="php-quote">'PS'</span>)) {
</span><span id="27" class="l"><a class="l" href="#27">27: </a> <span class="php-keyword2">define</span>(<span class="php-quote">'PS'</span>, PATH_SEPARATOR);
</span><span id="28" class="l"><a class="l" href="#28">28: </a>}
</span><span id="29" class="l"><a class="l" href="#29">29: </a>
</span><span id="30" class="l"><a class="l" href="#30">30: </a><span class="php-comment">// Autoload pour le Framework</span>
</span><span id="31" class="l"><a class="l" href="#31">31: </a><span class="php-keyword1">function</span> <a id="_autoloadFw" href="#_autoloadFw">autoloadFw</a>(<span class="php-var">$nom_classe_fw</span>) {
</span><span id="32" class="l"><a class="l" href="#32">32: </a> <span class="php-var">$fichier_a_inclure</span> = <span class="php-keyword2">dirname</span>(__FILE__).DS.<span class="php-var">$nom_classe_fw</span>.<span class="php-quote">'.php'</span>;
</span><span id="33" class="l"><a class="l" href="#33">33: </a> <span class="php-keyword1">if</span> (<span class="php-keyword2">file_exists</span>(<span class="php-var">$fichier_a_inclure</span>)) {
</span><span id="34" class="l"><a class="l" href="#34">34: </a> <span class="php-keyword1">include_once</span> <span class="php-var">$fichier_a_inclure</span>;
</span><span id="35" class="l"><a class="l" href="#35">35: </a> <span class="php-keyword1">return</span> <span class="php-keyword1">null</span>;
</span><span id="36" class="l"><a class="l" href="#36">36: </a> }
</span><span id="37" class="l"><a class="l" href="#37">37: </a>}
</span><span id="38" class="l"><a class="l" href="#38">38: </a><span class="php-keyword2">spl_autoload_register</span>(<span class="php-quote">'autoloadFw'</span>);
</span><span id="39" class="l"><a class="l" href="#39">39: </a>
</span><span id="40" class="l"><a class="l" href="#40">40: </a><span class="php-comment">// Initialisation du gestionnaire d'erreur avant toute chose</span>
</span><span id="41" class="l"><a class="l" href="#41">41: </a>GestionnaireException::initialiser();
</span><span id="42" class="l"><a class="l" href="#42">42: </a>
</span><span id="43" class="l"><a class="l" href="#43">43: </a><span class="php-comment">// Autoload par défaut pour l'application</span>
</span><span id="44" class="l"><a class="l" href="#44">44: </a><span class="php-keyword1">function</span> <a id="_autoloadAppliDefaut" href="#_autoloadAppliDefaut">autoloadAppliDefaut</a>(<span class="php-var">$nom_classe</span>) {
</span><span id="45" class="l"><a class="l" href="#45">45: </a> <span class="php-var">$dossiers_classes</span> = <span class="php-keyword1">array</span>( Config::get(<span class="php-quote">'chemin_controleurs'</span>),
</span><span id="46" class="l"><a class="l" href="#46">46: </a> Config::get(<span class="php-quote">'chemin_modeles'</span>),
</span><span id="47" class="l"><a class="l" href="#47">47: </a> Config::get(<span class="php-quote">'chemin_bibliotheque'</span>));
</span><span id="48" class="l"><a class="l" href="#48">48: </a>
</span><span id="49" class="l"><a class="l" href="#49">49: </a> <span class="php-keyword1">foreach</span> (<span class="php-var">$dossiers_classes</span> <span class="php-keyword1">as</span> <span class="php-var">$chemin</span>) {
</span><span id="50" class="l"><a class="l" href="#50">50: </a> <span class="php-var">$fichier_a_tester</span> = <span class="php-var">$chemin</span>.<span class="php-var">$nom_classe</span>.<span class="php-quote">'.php'</span>;
</span><span id="51" class="l"><a class="l" href="#51">51: </a> <span class="php-keyword1">if</span> (<span class="php-keyword2">file_exists</span>(<span class="php-var">$fichier_a_tester</span>)) {
</span><span id="52" class="l"><a class="l" href="#52">52: </a> <span class="php-keyword1">include_once</span> <span class="php-var">$fichier_a_tester</span>;
</span><span id="53" class="l"><a class="l" href="#53">53: </a> <span class="php-keyword1">return</span> <span class="php-keyword1">null</span>;
</span><span id="54" class="l"><a class="l" href="#54">54: </a> }
</span><span id="55" class="l"><a class="l" href="#55">55: </a> }
</span><span id="56" class="l"><a class="l" href="#56">56: </a>}
</span><span id="57" class="l"><a class="l" href="#57">57: </a><span class="php-keyword2">spl_autoload_register</span>(<span class="php-quote">'autoloadAppliDefaut'</span>);
</span><span id="58" class="l"><a class="l" href="#58">58: </a>
</span><span id="59" class="l"><a class="l" href="#59">59: </a><span class="php-comment">// Autoload défini par l'application</span>
</span><span id="60" class="l"><a class="l" href="#60">60: </a><span class="php-keyword1">if</span> (<span class="php-keyword2">function_exists</span>(<span class="php-quote">'__autoload'</span>)) {
</span><span id="61" class="l"><a class="l" href="#61">61: </a> <span class="php-keyword2">spl_autoload_register</span>(<span class="php-quote">'__autoload'</span>);
</span><span id="62" class="l"><a class="l" href="#62">62: </a>}
</span><span id="63" class="l"><a class="l" href="#63">63: </a></span><span class="xlang">?&gt;</span></code></pre>
 
<div id="footer">
TBFramework - v0.2 API documentation generated by <a href="http://apigen.org">ApiGen 2.8.0</a>
</div>
</div>
</div>
</body>
</html>
/branches/v0.2-buhl/doc/ApiGen/class-Modele.html
New file
0,0 → 1,420
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="generator" content="ApiGen 2.8.0">
 
<title>Class Modele | TBFramework - v0.2</title>
 
<script type="text/javascript" src="resources/combined.js?4205936287"></script>
<script type="text/javascript" src="elementlist.js?117657638"></script>
<link rel="stylesheet" type="text/css" media="all" href="resources/style.css?3505392360">
 
</head>
 
<body>
<div id="left">
<div id="menu">
<a href="index.html" title="Overview"><span>Overview</span></a>
 
 
<div id="groups">
<h3>Packages</h3>
<ul>
<li class="active"><a href="package-Framework.html">Framework</a>
</li>
<li><a href="package-PHP.html">PHP</a>
</li>
</ul>
</div>
 
<hr>
 
 
<div id="elements">
<h3>Classes</h3>
<ul>
<li><a href="class-Application.html">Application</a></li>
<li><a href="class-Chronometre.html">Chronometre</a></li>
<li><a href="class-Config.html">Config</a></li>
<li><a href="class-Controleur.html">Controleur</a></li>
<li><a href="class-Debug.html">Debug</a></li>
<li><a href="class-GestionnaireException.html">GestionnaireException</a></li>
<li><a href="class-Log.html">Log</a></li>
<li class="active"><a href="class-Modele.html">Modele</a></li>
<li><a href="class-Registre.html">Registre</a></li>
<li><a href="class-SquelettePhp.html">SquelettePhp</a></li>
<li><a href="class-Url.html">Url</a></li>
</ul>
 
 
 
 
 
<h3>Functions</h3>
<ul>
<li><a href="function-autoloadAppliDefaut.html">autoloadAppliDefaut</a></li>
<li><a href="function-autoloadFw.html">autoloadFw</a></li>
</ul>
</div>
</div>
</div>
 
<div id="splitter"></div>
 
<div id="right">
<div id="rightInner">
<form id="search">
<input type="hidden" name="cx" value="">
<input type="hidden" name="ie" value="UTF-8">
<input type="text" name="q" class="text">
<input type="submit" value="Search">
</form>
 
<div id="navigation">
<ul>
<li>
<a href="index.html" title="Overview"><span>Overview</span></a>
</li>
<li>
<a href="package-Framework.html" title="Summary of Framework"><span>Package</span></a>
</li>
<li class="active">
<span>Class</span> </li>
</ul>
<ul>
<li>
<a href="tree.html" title="Tree view of classes, interfaces, traits and exceptions"><span>Tree</span></a>
</li>
<li>
<a href="deprecated.html" title="List of deprecated elements"><span>Deprecated</span></a>
</li>
<li>
<a href="todo.html" title="Todo list"><span>Todo</span></a>
</li>
</ul>
<ul>
</ul>
</div>
 
<div id="content" class="class">
<h1>Class Modele</h1>
 
 
<div class="description">
<p>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.</p>
 
<p>PHP Version 5</p>
 
</div>
 
 
 
 
 
 
 
 
 
<div class="info">
<b>Abstract</b><br>
<b>Package:</b> <a href="package-Framework.html">Framework</a><br>
 
<b>Category:</b>
Class<br>
<b>Copyright:</b>
2009 Tela-Botanica<br>
<b>License:</b>
<a href="http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt">Licence CECILL</a><br>
<b>License:</b>
<a href="http://www.gnu.org/licenses/gpl.html">Licence GNU-GPL</a><br>
<b>Author:</b>
aurelien &lt;<a
href="mailto:aurelien&#64;tela-botanica.org">aurelien&#64;<!-- -->tela-botanica.org</a>&gt;<br>
<b>Version:</b>
SVN: $$Id: Modele.php 426 2013-04-30 16:58:14Z jpm $$<br>
<b>Link:</b>
/doc/framework/<br>
<b>Located at</b> <a href="source-class-Modele.html#3-346" title="Go to source code">Modele.php</a><br>
</div>
 
 
 
<table class="summary" id="methods">
<caption>Methods summary</caption>
<tr data-order="__construct" id="___construct">
 
<td class="attributes"><code>
public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#___construct">#</a>
<code><a href="source-class-Modele.html#74-90" title="Go to source code">__construct</a>( )</code>
 
<div class="description short">
<p>Constructeur par défaut, appelé à l'initialisation.</p>
 
</div>
 
<div class="description detailed hidden">
<p>Constructeur par défaut, appelé à l'initialisation.</p>
 
 
 
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="requete" id="_requete">
 
<td class="attributes"><code>
final protected
<code><a href="class-PDOStatement.html">PDOStatement</a></code>
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_requete">#</a>
<code><a href="source-class-Modele.html#145-175" title="Go to source code">requete</a>( <span>string <var>$requete</var></span> )</code>
 
<div class="description short">
<p>Fonction qui appelle la bonne fonction pour executer une requête suivant le
type de bdd.</p>
 
</div>
 
<div class="description detailed hidden">
<p>Fonction qui appelle la bonne fonction pour executer une requête suivant le
type de bdd.</p>
 
 
 
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$requete</var></dt>
<dd><code>string</code><br>la requete à effectuer</dd>
</dl></div>
 
<h4>Returns</h4>
<div class="list">
<code><code><a href="class-PDOStatement.html">PDOStatement</a></code></code><br>un objet contenant le résultat de la requête<br>
</div>
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="requeteUn" id="_requeteUn">
 
<td class="attributes"><code>
final protected
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_requeteUn">#</a>
<code><a href="source-class-Modele.html#177-210" title="Go to source code">requeteUn</a>( <span>mixed <var>$requete</var></span>, <span>mixed <var>$mode</var> = <span class="php-quote">'ASSOC'</span></span> )</code>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
 
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="requeteTous" id="_requeteTous">
 
<td class="attributes"><code>
final protected
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_requeteTous">#</a>
<code><a href="source-class-Modele.html#213-268" title="Go to source code">requeteTous</a>( <span>mixed <var>$requete</var></span>, <span>mixed <var>$mode</var> = <span class="php-quote">'ASSOC'</span></span> )</code>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
 
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="proteger" id="_proteger">
 
<td class="attributes"><code>
final protected
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_proteger">#</a>
<code><a href="source-class-Modele.html#270-295" title="Go to source code">proteger</a>( <span>mixed <var>$chaine</var></span> )</code>
 
<div class="description short">
<p>protège une chaine de caractères avant l'insertion dans la base de
données</p>
 
</div>
 
<div class="description detailed hidden">
<p>protège une chaine de caractères avant l'insertion dans la base de
données</p>
 
 
 
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="initialiserProtocole" id="_initialiserProtocole">
 
<td class="attributes"><code>
final public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_initialiserProtocole">#</a>
<code><a href="source-class-Modele.html#297-325" title="Go to source code">initialiserProtocole</a>( )</code>
 
<div class="description short">
<p>initialise les constantes de classe à leur bonne valeur et lance une
exception si le protocole n'est pas bien défini</p>
 
</div>
 
<div class="description detailed hidden">
<p>initialise les constantes de classe à leur bonne valeur et lance une
exception si le protocole n'est pas bien défini</p>
 
 
 
 
 
<h4>Throws</h4>
<div class="list">
<code><code><a href="class-Exception.html">Exception</a></code></code><br>
</div>
 
 
 
</div>
</div></td>
</tr>
<tr data-order="__destruct" id="___destruct">
 
<td class="attributes"><code>
final public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#___destruct">#</a>
<code><a href="source-class-Modele.html#327-345" title="Go to source code">__destruct</a>( )</code>
 
<div class="description short">
<p>Destructeur de classe, se contente de fermer explicitement la connexion</p>
 
</div>
 
<div class="description detailed hidden">
<p>Destructeur de classe, se contente de fermer explicitement la connexion</p>
 
 
 
 
 
 
 
 
</div>
</div></td>
</tr>
</table>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
</div>
 
<div id="footer">
TBFramework - v0.2 API documentation generated by <a href="http://apigen.org">ApiGen 2.8.0</a>
</div>
</div>
</div>
</body>
</html>
/branches/v0.2-buhl/doc/ApiGen/class-GestionnaireException.html
New file
0,0 → 1,743
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="generator" content="ApiGen 2.8.0">
 
<title>Class GestionnaireException | TBFramework - v0.2</title>
 
<script type="text/javascript" src="resources/combined.js?4205936287"></script>
<script type="text/javascript" src="elementlist.js?117657638"></script>
<link rel="stylesheet" type="text/css" media="all" href="resources/style.css?3505392360">
 
</head>
 
<body>
<div id="left">
<div id="menu">
<a href="index.html" title="Overview"><span>Overview</span></a>
 
 
<div id="groups">
<h3>Packages</h3>
<ul>
<li class="active"><a href="package-Framework.html">Framework</a>
</li>
<li><a href="package-PHP.html">PHP</a>
</li>
</ul>
</div>
 
<hr>
 
 
<div id="elements">
<h3>Classes</h3>
<ul>
<li><a href="class-Application.html">Application</a></li>
<li><a href="class-Chronometre.html">Chronometre</a></li>
<li><a href="class-Config.html">Config</a></li>
<li><a href="class-Controleur.html">Controleur</a></li>
<li><a href="class-Debug.html">Debug</a></li>
<li class="active"><a href="class-GestionnaireException.html">GestionnaireException</a></li>
<li><a href="class-Log.html">Log</a></li>
<li><a href="class-Modele.html">Modele</a></li>
<li><a href="class-Registre.html">Registre</a></li>
<li><a href="class-SquelettePhp.html">SquelettePhp</a></li>
<li><a href="class-Url.html">Url</a></li>
</ul>
 
 
 
 
 
<h3>Functions</h3>
<ul>
<li><a href="function-autoloadAppliDefaut.html">autoloadAppliDefaut</a></li>
<li><a href="function-autoloadFw.html">autoloadFw</a></li>
</ul>
</div>
</div>
</div>
 
<div id="splitter"></div>
 
<div id="right">
<div id="rightInner">
<form id="search">
<input type="hidden" name="cx" value="">
<input type="hidden" name="ie" value="UTF-8">
<input type="text" name="q" class="text">
<input type="submit" value="Search">
</form>
 
<div id="navigation">
<ul>
<li>
<a href="index.html" title="Overview"><span>Overview</span></a>
</li>
<li>
<a href="package-Framework.html" title="Summary of Framework"><span>Package</span></a>
</li>
<li class="active">
<span>Class</span> </li>
</ul>
<ul>
<li>
<a href="tree.html" title="Tree view of classes, interfaces, traits and exceptions"><span>Tree</span></a>
</li>
<li>
<a href="deprecated.html" title="List of deprecated elements"><span>Deprecated</span></a>
</li>
<li>
<a href="todo.html" title="Todo list"><span>Todo</span></a>
</li>
</ul>
<ul>
</ul>
</div>
 
<div id="content" class="class">
<h1>Class GestionnaireException</h1>
 
 
<div class="description">
<p>Classe de gestion des exceptions. C'est un Singleton.</p>
 
</div>
 
 
 
 
 
 
 
 
 
<div class="info">
<b>Package:</b> <a href="package-Framework.html">Framework</a><br>
 
<b>Category:</b>
PHP 5.2<br>
<b>Copyright:</b>
Copyright (c) 2009, Tela Botanica (<a
href="mailto:accueil&#64;tela-botanica.org">accueil&#64;<!-- -->tela-botanica.org</a>)<br>
<b>License:</b>
<a href="http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt">Licence CECILL</a><br>
<b>License:</b>
<a href="http://www.gnu.org/licenses/gpl.html">Licence GNU-GPL</a><br>
<b>Author:</b>
Aurélien PERONNET &lt;<a
href="mailto:aurelien&#64;tela-botanica.org">aurelien&#64;<!-- -->tela-botanica.org</a>&gt;<br>
<b>Author:</b>
Jean-Pascal MILCENT &lt;<a
href="mailto:jmp&#64;tela-botanica.org">jmp&#64;<!-- -->tela-botanica.org</a>&gt;<br>
<b>Version:</b>
$Id: GestionnaireException.php 342 2011-06-06 13:58:53Z jpm $$<br>
<b>Link:</b>
/doc/framework/<br>
<b>Located at</b> <a href="source-class-GestionnaireException.html#3-227" title="Go to source code">GestionnaireException.php</a><br>
</div>
 
 
 
<table class="summary" id="methods">
<caption>Methods summary</caption>
<tr data-order="initialiser" id="_initialiser">
 
<td class="attributes"><code>
public static
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_initialiser">#</a>
<code><a href="source-class-GestionnaireException.html#37-47" title="Go to source code">initialiser</a>( )</code>
 
<div class="description short">
<p>Initialise le Gestionnaire d'exceptions et d'erreur sans tenir comptes des
paramêtres de config.</p>
 
</div>
 
<div class="description detailed hidden">
<p>Initialise le Gestionnaire d'exceptions et d'erreur sans tenir comptes des
paramêtres de config.</p>
 
 
 
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="configurer" id="_configurer">
 
<td class="attributes"><code>
public static
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_configurer">#</a>
<code><a href="source-class-GestionnaireException.html#49-54" title="Go to source code">configurer</a>( )</code>
 
<div class="description short">
<p>Configure le Gestionnaire d'exceptions et d'erreur à partir des paramêtres
de config.</p>
 
</div>
 
<div class="description detailed hidden">
<p>Configure le Gestionnaire d'exceptions et d'erreur à partir des paramêtres
de config.</p>
 
 
 
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="getExceptionsNbre" id="_getExceptionsNbre">
 
<td class="attributes"><code>
public static
integer
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_getExceptionsNbre">#</a>
<code><a href="source-class-GestionnaireException.html#56-64" title="Go to source code">getExceptionsNbre</a>( )</code>
 
<div class="description short">
<p>Renvoie le nombre d'exceptions et d'erreurs levées.</p>
 
</div>
 
<div class="description detailed hidden">
<p>Renvoie le nombre d'exceptions et d'erreurs levées.</p>
 
 
 
 
<h4>Returns</h4>
<div class="list">
<code>integer</code><br>le nombre d'exception actuellement levées<br>
</div>
 
 
<h4>Since</h4>
<div class="list">
0.3<br>
</div>
<h4>See</h4>
<div class="list">
getExceptions() pour obtenir les exceptions formatées.<br>
</div>
 
 
</div>
</div></td>
</tr>
<tr data-order="getContexte" id="_getContexte">
 
<td class="attributes"><code>
public static
boolean
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_getContexte">#</a>
<code><a href="source-class-GestionnaireException.html#66-72" title="Go to source code">getContexte</a>( )</code>
 
<div class="description short">
<p>Renvoie le booleen définissant si l'on affiche le contexte ou non</p>
 
</div>
 
<div class="description detailed hidden">
<p>Renvoie le booleen définissant si l'on affiche le contexte ou non</p>
 
 
 
 
<h4>Returns</h4>
<div class="list">
<code>boolean</code><br>true si on affiche le contexte sinon false.<br>
</div>
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="setContexte" id="_setContexte">
 
<td class="attributes"><code>
public static
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_setContexte">#</a>
<code><a href="source-class-GestionnaireException.html#74-80" title="Go to source code">setContexte</a>( <span>boolean <var>$contexte</var></span> )</code>
 
<div class="description short">
<p>Definit si l'on veut afficher le contexte ou non</p>
 
</div>
 
<div class="description detailed hidden">
<p>Definit si l'on veut afficher le contexte ou non</p>
 
 
 
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$contexte</var></dt>
<dd><code>boolean</code><br>true si on veut afficher le contexte, false sinon, par défaut vaut false</dd>
</dl></div>
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="gererException" id="_gererException">
 
<td class="attributes"><code>
public static
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_gererException">#</a>
<code><a href="source-class-GestionnaireException.html#82-93" title="Go to source code">gererException</a>( <span><code><a href="class-Exception.html">Exception</a></code> <var>$e</var></span> )</code>
 
<div class="description short">
<p>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.</p>
 
</div>
 
<div class="description detailed hidden">
<p>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.</p>
 
 
 
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$e</var></dt>
<dd><code><code><a href="class-Exception.html">Exception</a></code></code><br>$e l'exception à traiter</dd>
</dl></div>
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="gererErreur" id="_gererErreur">
 
<td class="attributes"><code>
public static
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_gererErreur">#</a>
<code><a href="source-class-GestionnaireException.html#95-110" title="Go to source code">gererErreur</a>( <span>integer <var>$niveau</var></span>, <span>string <var>$message</var></span>, <span>string <var>$fichier</var></span>, <span>integer <var>$ligne</var></span>, <span>string <var>$contexte</var></span> )</code>
 
<div class="description short">
<p>Gère les erreurs en les convertissant en exceptions (remplace la fonction
gestion d'erreurs native de php)</p>
 
</div>
 
<div class="description detailed hidden">
<p>Gère les erreurs en les convertissant en exceptions (remplace la fonction
gestion d'erreurs native de php)</p>
 
 
 
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$niveau</var></dt>
<dd><code>integer</code><br>$niveau le niveau de l'erreur</dd>
<dt><var>$message</var></dt>
<dd><code>string</code><br>$message le message associé à l'erreur</dd>
<dt><var>$fichier</var></dt>
<dd><code>string</code><br>$fichier le nom du fichier où l'erreur s'est produite</dd>
<dt><var>$ligne</var></dt>
<dd><code>integer</code><br>$ligne la ligne où l'erreur s'est produite</dd>
<dt><var>$contexte</var></dt>
<dd><code>string</code><br>$contexte le contexte associé à l'erreur</dd>
</dl></div>
 
 
 
 
 
</div>
</div></td>
</tr>
<tr data-order="getExceptions" id="_getExceptions">
 
<td class="attributes"><code>
public static
string
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_getExceptions">#</a>
<code><a href="source-class-GestionnaireException.html#112-121" title="Go to source code">getExceptions</a>( )</code>
 
<div class="description short">
<p>Renvoie les exceptions au format (X)HTML ou bien au format texte suivant le
mode d'utilisation de PHP.</p>
 
</div>
 
<div class="description detailed hidden">
<p>Renvoie les exceptions au format (X)HTML ou bien au format texte suivant le
mode d'utilisation de PHP.</p>
 
 
<h4>Deprecated</h4>
<div class="list">
</div>
 
 
<h4>Returns</h4>
<div class="list">
<code>string</code><br>les exceptions formatées en texte ou (X)HTML.<br>
</div>
 
 
<h4>Since</h4>
<div class="list">
0.3<br>
</div>
<h4>See</h4>
<div class="list">
<code><code><a href="class-GestionnaireException.html#_getExceptionsFormatees">GestionnaireException::getExceptionsFormatees()</a></code></code><br>
</div>
 
 
</div>
</div></td>
</tr>
<tr data-order="getExceptionsFormatees" id="_getExceptionsFormatees">
 
<td class="attributes"><code>
public static
string
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_getExceptionsFormatees">#</a>
<code><a href="source-class-GestionnaireException.html#123-144" title="Go to source code">getExceptionsFormatees</a>( )</code>
 
<div class="description short">
<p>Renvoie les exceptions au format (X)HTML ou bien au format texte suivant le
mode d'utilisation de PHP.</p>
 
</div>
 
<div class="description detailed hidden">
<p>Renvoie les exceptions au format (X)HTML ou bien au format texte suivant le
mode d'utilisation de PHP.</p>
 
 
 
 
<h4>Returns</h4>
<div class="list">
<code>string</code><br>les exceptions formatées en texte ou (X)HTML.<br>
</div>
 
 
<h4>Since</h4>
<div class="list">
0.3<br>
</div>
 
 
</div>
</div></td>
</tr>
<tr data-order="getExceptionsTriees" id="_getExceptionsTriees">
 
<td class="attributes"><code>
public static
array
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_getExceptionsTriees">#</a>
<code><a href="source-class-GestionnaireException.html#146-166" title="Go to source code">getExceptionsTriees</a>( )</code>
 
<div class="description short">
<p>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.</p>
 
</div>
 
<div class="description detailed hidden">
<p>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.</p>
 
 
 
 
<h4>Returns</h4>
<div class="list">
<code>array</code><br>le tableau trié d'objet Exception.<br>
</div>
 
 
<h4>Since</h4>
<div class="list">
0.3<br>
</div>
 
 
</div>
</div></td>
</tr>
<tr data-order="formaterExceptionTxt" id="_formaterExceptionTxt">
 
<td class="attributes"><code>
public static
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_formaterExceptionTxt">#</a>
<code><a href="source-class-GestionnaireException.html#179-194" title="Go to source code">formaterExceptionTxt</a>( <span><code><a href="class-Exception.html">Exception</a></code> <var>$e</var></span> )</code>
 
<div class="description short">
<p>Formate en texte une exception passée en paramètre.</p>
 
</div>
 
<div class="description detailed hidden">
<p>Formate en texte une exception passée en paramètre.</p>
 
 
 
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$e</var></dt>
<dd><code><code><a href="class-Exception.html">Exception</a></code></code><br>l'exception à formater.</dd>
</dl></div>
 
 
 
<h4>Since</h4>
<div class="list">
0.3<br>
</div>
 
 
</div>
</div></td>
</tr>
<tr data-order="formaterExceptionXhtml" id="_formaterExceptionXhtml">
 
<td class="attributes"><code>
public static
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#_formaterExceptionXhtml">#</a>
<code><a href="source-class-GestionnaireException.html#196-214" title="Go to source code">formaterExceptionXhtml</a>( <span><code><a href="class-Exception.html">Exception</a></code> <var>$e</var></span> )</code>
 
<div class="description short">
<p>Formate en (X)HTML une exception passée en paramètre.</p>
 
</div>
 
<div class="description detailed hidden">
<p>Formate en (X)HTML une exception passée en paramètre.</p>
 
 
 
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$e</var></dt>
<dd><code><code><a href="class-Exception.html">Exception</a></code></code><br>l'exception à formater.</dd>
</dl></div>
 
 
 
<h4>Since</h4>
<div class="list">
0.3<br>
</div>
 
 
</div>
</div></td>
</tr>
<tr data-order="__destruct" id="___destruct">
 
<td class="attributes"><code>
public
</code>
</td>
 
<td class="name"><div>
<a class="anchor" href="#___destruct">#</a>
<code><a href="source-class-GestionnaireException.html#216-225" title="Go to source code">__destruct</a>( )</code>
 
<div class="description short">
<p>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.</p>
 
</div>
 
<div class="description detailed hidden">
<p>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.</p>
 
 
 
 
 
 
 
 
</div>
</div></td>
</tr>
</table>
 
 
 
 
 
 
 
 
<table class="summary" id="constants">
<caption>Constants summary</caption>
<tr data-order="MODE_CLI" id="MODE_CLI">
 
<td class="attributes"><code>string</code></td>
<td class="name"><code>
<a href="source-class-GestionnaireException.html#20" title="Go to source code"><b>MODE_CLI</b></a>
</code></td>
<td class="value"><code><span class="php-quote">'cli'</span></code></td>
<td class="description"><div>
<a href="#MODE_CLI" class="anchor">#</a>
 
<div class="description short">
</div>
 
<div class="description detailed hidden">
 
</div>
</div></td>
</tr>
</table>
 
 
 
 
 
 
 
 
 
 
</div>
 
<div id="footer">
TBFramework - v0.2 API documentation generated by <a href="http://apigen.org">ApiGen 2.8.0</a>
</div>
</div>
</div>
</body>
</html>
/branches/v0.2-buhl/doc/genererApiGen.sh
New file
0,0 → 1,62
#!/bin/bash
########################################################################################################################
# But : création de la doc ApiGen du Framework.
# Auteur : Jean-Pascal Milcent <jpm@tela-botanica.org>
# License : GPL v3
# Création : 12 mars 2014
# Version: 2
# Exemple : ./genererApiGen.sh -t "Mon Titre"
########################################################################################################################
# Constante
TITRE=""
SOURCE="./../framework"
CIBLE="./ApiGen"
IGNORER=".htaccess,config.ini"
FORMAT="clean"
 
# Aide
E_OPTERR=65
if [ "$1" = '--help' ]
then # Le script a besoin d'au moins un argument sur la ligne de commande
echo "Usage $0 -[parameters -t ]"
echo "Paramétres : "
echo " -t: indiquer le titre de la doc"
exit $E_OPTERR
fi
 
# Récupération des paramètres et des options de la ligne de commande
TEMP=`getopt -o t: -l help: -- "$@"`
if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi
eval set -- "$TEMP"
while [ ! -z "$1" ] ; do
#echo $1" # "$2
case "$1" in
-t) TITRE=$2;;
--) shift ; break ;;
*) echo "Internal error!" ; exit 1 ;;
esac
shift 2
done
 
# Suppression des dossiers précédent de la doc
if [ -d PhpDoc ]; then
rm -fR ApiGen
mkdir ApiGen
fi;
 
echo "Génération de la documentation :";
/opt/lampp/bin/php /opt/lampp/bin/apigen --source "$SOURCE" --destination "$CIBLE" --title "$TITRE" \
--charset UTF-8 \
--exclude "*/doc/*" \
--exclude "*/exemple/*" \
--exclude "*/test/*" \
--access-levels "public,protected" \
--internal "no" \
--php "yes" \
--tree "yes" \
--deprecated "yes" \
--todo "yes" \
--download "no" \
--source-code "yes" \
--colors "yes" \
--update-check "no"
Property changes:
Added: svn:eol-style
+native
\ No newline at end of property
Added: svn:executable
+*
\ No newline at end of property
/branches/v0.2-buhl/doc/envoyerDoc.sh
New file
0,0 → 1,54
#!/bin/bash
########################################################################################################################
# But : mise en ligne automatique sur le serveur par ftp, de la dernière version de la doc du Framework.
# Auteur : Jean-Pascal Milcent <jpm@tela-botanica.org>
# License : GPL v3
# Création : 12 mars 2014
# Version: 1
# Exemple : ./envoyerDoc.sh -h 193.54.123.169 -u telabotaa -p mot_de_passe
########################################################################################################################
# Constante
NBREPARAM=$#
CIBLE="./"
FTP_CIBLE="/www/doc/framework"
 
# Aide
E_OPTERR=65
if [ "$1" = '--help' ]
then # Le script a besoin d'au moins un argument sur la ligne de commande
echo "Usage $0 -[parameters -u, -p ]"
echo "Paramétres : "
echo " -h: indiquer l'hote ftp"
echo " -u: indiquer le nom de l'utilisateur ftp"
echo " -p: indiquer le mot de passe de l'utilisateur ftp"
echo " -v: indiquer la version du Framework"
exit $E_OPTERR
fi
 
# Récupération des paramètres et des options de la ligne de commande
TEMP=`getopt -o u:p:h:v: -l help: -- "$@"`
if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi
eval set -- "$TEMP"
while [ ! -z "$1" ] ; do
#echo $1" # "$2
case "$1" in
-h) HOST=$2;;
-u) FTP_USER=$2;;
-p) FTP_PASSWD=$2;;
-v) VERSION=$2;;
--) shift ; break ;;
*) echo "Internal error!" ; exit 1 ;;
esac
shift 2
done
 
FTP_CIBLE="$FTP_CIBLE/$VERSION"
 
if [ $NBREPARAM -eq 0 ]; then
echo "Utiliser --help pour voir les options de transfert."
elif [ "$VERSION" = "" ]; then
echo "Vous n'avez pas indiqué la version du Framework. Utiliser --help pour voir les paramètres."
else
echo "Transfert sur le serveur '$HOST' dans '$FTP_CIBLE' :";
lftp ftp://$FTP_USER:$FTP_PASSWD@$HOST -e "set ftp:passive off; mirror -e -R -L -x .svn -x genererPhpDoc.sh -x envoyerDoc.sh $CIBLE $FTP_CIBLE ; quit"
fi;
Property changes:
Added: svn:eol-style
+native
\ No newline at end of property
Added: svn:executable
+*
\ No newline at end of property