/trunk/doc/HTMLframesConverter/__filesource/fsource_Framework__Registre.php.html |
---|
14,101 → 14,76 |
<div class="src-code"><ol><li><div class="src-line"><a name="a1"></a><span class="src-php"><?php</span></div></li> |
<li><div class="src-line"><a name="a2"></a><span class="src-comm">// declare(encoding='UTF-8');</span></div></li> |
<li><div class="src-line"><a name="a3"></a><span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a4"></a><span class="src-doc"> * Classe registre, qui permet un accès à différentes variables à travers les autres classes.</span></div></li> |
<li><div class="src-line"><a name="a5"></a><span class="src-doc"> * C'est un singleton</span></div></li> |
<li><div class="src-line"><a name="a6"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a7"></a><span class="src-doc">* PHP Version 5</span></div></li> |
<li><div class="src-line"><a name="a8"></a><span class="src-doc">*</span></div></li> |
<li><div class="src-line"><a name="a9"></a><span class="src-doc">* </span><span class="src-doc-coretag">@category</span><span class="src-doc"> Class</span></div></li> |
<li><div class="src-line"><a name="a10"></a><span class="src-doc">* </span><span class="src-doc-coretag">@package</span><span class="src-doc"> Framework</span></div></li> |
<li><div class="src-line"><a name="a11"></a><span class="src-doc">* </span><span class="src-doc-coretag">@author</span><span class="src-doc"> Jean-Pascal Milcent <jmp@tela-botanica.org></span></div></li> |
<li><div class="src-line"><a name="a12"></a><span class="src-doc">* </span><span class="src-doc-coretag">@copyright</span><span class="src-doc"> 2009 Tela-Botanica</span></div></li> |
<li><div class="src-line"><a name="a13"></a><span class="src-doc">* </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL</span></div></li> |
<li><div class="src-line"><a name="a14"></a><span class="src-doc">* </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.gnu.org/licenses/gpl.html Licence GNU-GPL</span></div></li> |
<li><div class="src-line"><a name="a15"></a><span class="src-doc">* </span><span class="src-doc-coretag">@version</span><span class="src-doc"> SVN: $$Id: Registre.php 120 2009-09-01 12:21:14Z aurelien $$</span></div></li> |
<li><div class="src-line"><a name="a16"></a><span class="src-doc">* </span><span class="src-doc-coretag">@link</span><span class="src-doc"> /doc/framework/</span></div></li> |
<li><div class="src-line"><a name="a17"></a><span class="src-doc">*</span></div></li> |
<li><div class="src-line"><a name="a18"></a><span class="src-doc">*/</span></div></li> |
<li><div class="src-line"><a name="a19"></a><span class="src-key">class </span><a href="../Framework/Registre.html">Registre</a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a20"></a> </div></li> |
<li><div class="src-line"><a name="a21"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a22"></a><span class="src-doc"> * Tableau associatif stockant les variables</span></div></li> |
<li><div class="src-line"><a name="a23"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a24"></a> <span class="src-key">private </span><span class="src-var">$stockage </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a4"></a><span class="src-doc"> * Classe Registre, qui permet un accès à différentes variables et paramètres à travers les autres classes.</span></div></li> |
<li><div class="src-line"><a name="a5"></a><span class="src-doc"> * C'est un remplaçant à la variable magique $_GLOBALS de Php.</span></div></li> |
<li><div class="src-line"><a name="a6"></a><span class="src-doc"> * C'est un singleton.</span></div></li> |
<li><div class="src-line"><a name="a7"></a><span class="src-doc"> * Si vous avez besoin de modifier dynamiquement des paramètres de configuration, utiliser le @see Registe, il est fait pour ça.</span></div></li> |
<li><div class="src-line"><a name="a8"></a><span class="src-doc"> * Si vous voulez paramètré votre application via le fichier config.ini, utilisez plutôt la classe @see Config.</span></div></li> |
<li><div class="src-line"><a name="a9"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a10"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@category</span><span class="src-doc"> php 5.2</span></div></li> |
<li><div class="src-line"><a name="a11"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@package</span><span class="src-doc"> Framework</span></div></li> |
<li><div class="src-line"><a name="a12"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@author</span><span class="src-doc"> Jean-Pascal MILCENT <jmp@tela-botanica.org></span></div></li> |
<li><div class="src-line"><a name="a13"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@copyright</span><span class="src-doc"> Copyright (c) 2009, Tela Botanica (accueil@tela-botanica.org)</span></div></li> |
<li><div class="src-line"><a name="a14"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL</span></div></li> |
<li><div class="src-line"><a name="a15"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.gnu.org/licenses/gpl.html Licence GNU-GPL</span></div></li> |
<li><div class="src-line"><a name="a16"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@version</span><span class="src-doc"> $Id: Registre.php 239 2010-11-25 18:04:00Z jpm $</span></div></li> |
<li><div class="src-line"><a name="a17"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@link</span><span class="src-doc"> /doc/framework/</span></div></li> |
<li><div class="src-line"><a name="a18"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a19"></a><span class="src-doc">*/</span></div></li> |
<li><div class="src-line"><a name="a20"></a><span class="src-key">class </span><a href="../Framework/Registre.html">Registre</a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a21"></a> </div></li> |
<li><div class="src-line"><a name="a22"></a> <span class="src-doc">/** Tableau associatif stockant les variables. */</span></div></li> |
<li><div class="src-line"><a name="a23"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$stockage </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a24"></a> </div></li> |
<li><div class="src-line"><a name="a25"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a26"></a><span class="src-doc"> * La classe registre se contient elle-même, (pour le pattern singleton)</span></div></li> |
<li><div class="src-line"><a name="a27"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a28"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$registre</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a29"></a> </div></li> |
<li><div class="src-line"><a name="a30"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a31"></a><span class="src-doc"> * Constructeur par défaut, privé, car on accède à la classe par le getInstance</span></div></li> |
<li><div class="src-line"><a name="a32"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a33"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">__construct</span><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a34"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a35"></a> </div></li> |
<li><div class="src-line"><a name="a36"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a37"></a><span class="src-doc"> * Fonction qui renvoie l'instance de classe en assurant son unicité, c'est l'unique méthode qui doit être</span></div></li> |
<li><div class="src-line"><a name="a38"></a><span class="src-doc"> * utilisée pour récupérer l'objet Registre</span></div></li> |
<li><div class="src-line"><a name="a39"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a40"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/Registre.html#methodgetInstance">getInstance</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a41"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$registre </span>instanceof <span class="src-id">Registre</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a42"></a> <span class="src-key">return </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$registre</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a43"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a44"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$registre </span>= <span class="src-key">new </span><span class="src-id">Registre</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a45"></a> <span class="src-key">return </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$registre</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a46"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a47"></a> </div></li> |
<li><div class="src-line"><a name="a48"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a49"></a><span class="src-doc"> * Ajoute un objet au tableau selon un intitulé donné</span></div></li> |
<li><div class="src-line"><a name="a50"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc">l'intitulé sous lequel l'objet sera conservé</span></div></li> |
<li><div class="src-line"><a name="a51"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc">l'objet à conserver</span></div></li> |
<li><div class="src-line"><a name="a26"></a><span class="src-doc"> * Ajoute un objet au tableau selon un intitulé donné.</span></div></li> |
<li><div class="src-line"><a name="a27"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc">l'intitulé sous lequel l'objet sera conservé</span></div></li> |
<li><div class="src-line"><a name="a28"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc">l'objet à conserver</span></div></li> |
<li><div class="src-line"><a name="a29"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a30"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/Registre.html#methodset">set</a><span class="src-sym">(</span><span class="src-var">$intitule</span><span class="src-sym">, </span><span class="src-var">$objet</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a31"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$objet</span><span class="src-sym">) </span>&& isset<span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$stockage</span><span class="src-sym">[</span><span class="src-var">$intitule</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a32"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$stockage</span><span class="src-sym">[</span><span class="src-var">$intitule</span><span class="src-sym">] </span>= <span class="src-id">array_merge</span><span class="src-sym">(</span>(array) <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$stockage</span><span class="src-sym">[</span><span class="src-var">$intitule</span><span class="src-sym">]</span><span class="src-sym">, </span>(array) <span class="src-var">$objet</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a33"></a> <span class="src-var">$message </span>= <span class="src-str">"</span><span class="src-str">Le tableau <span class="src-var">$intitule</span> présent dans le registre a été fusionné avec un nouveau tableau de même intitulé !</span><span class="src-str">"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a34"></a> <span class="src-id">trigger_error</span><span class="src-sym">(</span><span class="src-var">$message</span><span class="src-sym">, </span><span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a35"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a36"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$stockage</span><span class="src-sym">[</span><span class="src-var">$intitule</span><span class="src-sym">] </span>= <span class="src-var">$objet</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a37"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a38"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a39"></a> </div></li> |
<li><div class="src-line"><a name="a40"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a41"></a><span class="src-doc"> * Renvoie le contenu associé à l'intitulé donné en paramètre.</span></div></li> |
<li><div class="src-line"><a name="a42"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">mixed </span><span class="src-doc">l'objet associé à l'intitulé ou null s'il n'est pas présent</span></div></li> |
<li><div class="src-line"><a name="a43"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a44"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/Registre.html#methodget">get</a><span class="src-sym">(</span><span class="src-var">$intitule</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a45"></a> <span class="src-var">$retour </span>= <span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$stockage</span><span class="src-sym">[</span><span class="src-var">$intitule</span><span class="src-sym">]</span><span class="src-sym">)) </span>? <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$stockage</span><span class="src-sym">[</span><span class="src-var">$intitule</span><span class="src-sym">] </span>: <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a46"></a> <span class="src-key">return </span><span class="src-var">$retour</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a47"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a48"></a> </div></li> |
<li><div class="src-line"><a name="a49"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a50"></a><span class="src-doc"> * Détruit l'objet associé à l'intitulé, n'a pas d'effet si il n'y a pas d'objet associé.</span></div></li> |
<li><div class="src-line"><a name="a51"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc">l'intitulé de l'entrée du registre à détruire.</span></div></li> |
<li><div class="src-line"><a name="a52"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a53"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Registre.html#methodset">set</a><span class="src-sym">(</span><span class="src-var">$intitule</span><span class="src-sym">, </span><span class="src-var">$objet</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a54"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">is_array</span><span class="src-sym">(</span><span class="src-var">$objet</span><span class="src-sym">) </span>&& isset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">stockage</span><span class="src-sym">[</span><span class="src-var">$intitule</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a55"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">stockage</span><span class="src-sym">[</span><span class="src-var">$intitule</span><span class="src-sym">] </span>= <a href="http://www.php.net/array_merge">array_merge</a><span class="src-sym">(</span>(array) <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">stockage</span><span class="src-sym">[</span><span class="src-var">$intitule</span><span class="src-sym">]</span><span class="src-sym">, </span>(array) <span class="src-var">$objet</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a56"></a> <span class="src-var">$message </span>= <span class="src-str">"</span><span class="src-str">Le tableau <span class="src-var">$intitule</span> présent dans le registre a été fusionné avec un nouveau tableau de même intitulé !</span><span class="src-str">"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a57"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-var">$message</span><span class="src-sym">, </span><span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a58"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a59"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">stockage</span><span class="src-sym">[</span><span class="src-var">$intitule</span><span class="src-sym">] </span>= <span class="src-var">$objet</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a60"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a61"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a62"></a> </div></li> |
<li><div class="src-line"><a name="a63"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a64"></a><span class="src-doc"> * Renvoie l'objet associé à l'intitulé donné en paramètre</span></div></li> |
<li><div class="src-line"><a name="a65"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">mixed </span><span class="src-doc">l'objet associé à l'intitulé ou null s'il n'est pas présent</span></div></li> |
<li><div class="src-line"><a name="a66"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a67"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Registre.html#methodget">get</a><span class="src-sym">(</span><span class="src-var">$intitule</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a68"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">stockage</span><span class="src-sym">[</span><span class="src-var">$intitule</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a69"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">stockage</span><span class="src-sym">[</span><span class="src-var">$intitule</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a70"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a71"></a> <span class="src-key">return </span><span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a72"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a73"></a> </div></li> |
<li><div class="src-line"><a name="a74"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a75"></a><span class="src-doc"> * Détruit l'objet associé à l'intitulé, n'a pas d'effet si il n'y a pas d'objet associé</span></div></li> |
<li><div class="src-line"><a name="a76"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a77"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Registre.html#methoddetruire">detruire</a><span class="src-sym">(</span><span class="src-var">$intitule</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a78"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">stockage</span><span class="src-sym">[</span><span class="src-var">$intitule</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a79"></a> unset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">stockage</span><span class="src-sym">[</span><span class="src-var">$intitule</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a80"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a81"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a82"></a> </div></li> |
<li><div class="src-line"><a name="a83"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a84"></a><span class="src-doc"> * Teste si un objet est présent sous un intitulé donné</span></div></li> |
<li><div class="src-line"><a name="a85"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">boolean </span><span class="src-doc">true si un objet associé à cet intitulé est présent, false sinon</span></div></li> |
<li><div class="src-line"><a name="a86"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a87"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Registre.html#methodexiste">existe</a><span class="src-sym">(</span><span class="src-var">$intitule</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a88"></a> <span class="src-key">if</span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">stockage</span><span class="src-sym">[</span><span class="src-var">$intitule</span><span class="src-sym">]</span><span class="src-sym">))</span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a89"></a> <span class="src-key">return </span><span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a90"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a91"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a92"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a93"></a><span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a94"></a><span class="src-php">?></span></div></li> |
<li><div class="src-line"><a name="a53"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/Registre.html#methoddetruire">detruire</a><span class="src-sym">(</span><span class="src-var">$intitule</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a54"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$stockage</span><span class="src-sym">[</span><span class="src-var">$intitule</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a55"></a> unset<span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$stockage</span><span class="src-sym">[</span><span class="src-var">$intitule</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a56"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a57"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a58"></a> </div></li> |
<li><div class="src-line"><a name="a59"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a60"></a><span class="src-doc"> * Teste si le registre contient une donnée pour un intitulé d'entrée donné.</span></div></li> |
<li><div class="src-line"><a name="a61"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc">l'intitulé de l'entrée du registre à tester.</span></div></li> |
<li><div class="src-line"><a name="a62"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">boolean </span><span class="src-doc">true si un objet associé à cet intitulé est présent, false sinon</span></div></li> |
<li><div class="src-line"><a name="a63"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a64"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/Registre.html#methodexiste">existe</a><span class="src-sym">(</span><span class="src-var">$intitule</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a65"></a> <span class="src-var">$retour </span>= <span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$stockage</span><span class="src-sym">[</span><span class="src-var">$intitule</span><span class="src-sym">]</span><span class="src-sym">)) </span>? <span class="src-id">true </span>: <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a66"></a> <span class="src-key">return </span><span class="src-var">$retour</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a67"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a68"></a><span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a69"></a><span class="src-php">?></span></div></li> |
</ol></div> |
</div> |
<p class="notes" id="credit"> |
Documentation generated on Thu, 04 Mar 2010 19:27:25 +0100 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.3</a> |
Documentation generated on Tue, 18 Jan 2011 15:01:39 +0100 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.3</a> |
</p> |
</body> |
</html> |
/trunk/doc/HTMLframesConverter/__filesource/fsource_Framework__Chronometre.php.html |
---|
13,160 → 13,129 |
<div class="src-code"> |
<div class="src-code"><ol><li><div class="src-line"><a name="a1"></a><span class="src-php"><?php</span></div></li> |
<li><div class="src-line"><a name="a2"></a><span class="src-comm">// declare(encoding='UTF-8');</span></div></li> |
<li><div class="src-line"><a name="a3"></a><span class="src-doc">/** Classe Chronometre() - Permet de stocker et d'afficher</span></div></li> |
<li><div class="src-line"><a name="a4"></a><span class="src-doc"> * les temps d'éxécution de script.</span></div></li> |
<li><div class="src-line"><a name="a5"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a6"></a><span class="src-doc"> * Cette classe permet de réaliser un ensemble</span></div></li> |
<li><div class="src-line"><a name="a7"></a><span class="src-doc"> * de mesure de temps prises à</span></div></li> |
<li><div class="src-line"><a name="a8"></a><span class="src-doc"> * différents endroits d'un script.</span></div></li> |
<li><div class="src-line"><a name="a9"></a><span class="src-doc"> * Ces mesures peuvent ensuite être affichées au</span></div></li> |
<li><div class="src-line"><a name="a10"></a><span class="src-doc"> * sein d'un tableau XHTML.</span></div></li> |
<li><div class="src-line"><a name="a11"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a12"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a13"></a><span class="src-doc"> * PHP Version 5</span></div></li> |
<li><div class="src-line"><a name="a14"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a15"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@category</span><span class="src-doc"> PHP</span></div></li> |
<li><div class="src-line"><a name="a16"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@package</span><span class="src-doc"> Framework</span></div></li> |
<li><div class="src-line"><a name="a17"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@author</span><span class="src-doc"> Jean-Pascal MILCENT <jpm@tela-botanica.org></span></div></li> |
<li><div class="src-line"><a name="a18"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@copyright</span><span class="src-doc"> 2009 Tela-Botanica</span></div></li> |
<li><div class="src-line"><a name="a19"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL</span></div></li> |
<li><div class="src-line"><a name="a20"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@version</span><span class="src-doc"> Release: <package_version></span></div></li> |
<li><div class="src-line"><a name="a21"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@link</span><span class="src-doc"> /doc/framework/</span></div></li> |
<li><div class="src-line"><a name="a22"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a23"></a><span class="src-key">class </span><a href="../Framework/Chronometre.html">Chronometre</a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a24"></a> <span class="src-comm">/*** Attributs : ***/</span></div></li> |
<li><div class="src-line"><a name="a25"></a> <span class="src-key">private </span><span class="src-var">$_temps </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a26"></a> </div></li> |
<li><div class="src-line"><a name="a27"></a> <span class="src-doc">/** Constructeur : **/</span></div></li> |
<li><div class="src-line"><a name="a28"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Chronometre.html#method__construct">__construct</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a29"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Chronometre.html#methodsetTemps">setTemps</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'depart' </span>=> <a href="http://www.php.net/microtime">microtime</a><span class="src-sym">(</span><span class="src-sym">)))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a30"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a31"></a> </div></li> |
<li><div class="src-line"><a name="a32"></a> <span class="src-doc">/** Accesseurs :</span></div></li> |
<li><div class="src-line"><a name="a33"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a34"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$cle </span><span class="src-doc">la cle associée à un chronomètre particulier</span></div></li> |
<li><div class="src-line"><a name="a35"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a36"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">int </span><span class="src-doc">le temps écoulé</span></div></li> |
<li><div class="src-line"><a name="a37"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a38"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Chronometre.html#methodgetTemps">getTemps</a><span class="src-sym">(</span><span class="src-var">$cle </span>= <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a39"></a> <span class="src-var">$temps </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a40"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/is_null">is_null</a><span class="src-sym">(</span><span class="src-var">$cle</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a41"></a> <span class="src-var">$temps </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">_temps</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a42"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a43"></a> <span class="src-var">$temps </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">_temps</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a44"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a45"></a> <span class="src-key">return </span><span class="src-var">$temps</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a46"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a47"></a> </div></li> |
<li><div class="src-line"><a name="a48"></a> <span class="src-doc">/** Setteur pour la variable temps</span></div></li> |
<li><div class="src-line"><a name="a3"></a><span class="src-doc">/** Chronometre permet de stocker et d'afficher les temps d'éxécution de script.</span></div></li> |
<li><div class="src-line"><a name="a4"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a5"></a><span class="src-doc"> * Cette classe permet de réaliser un ensemble de mesure de temps prises à différents endroits d'un script.</span></div></li> |
<li><div class="src-line"><a name="a6"></a><span class="src-doc"> * Ces mesures peuvent ensuite être affichées au sein d'un tableau XHTML.</span></div></li> |
<li><div class="src-line"><a name="a7"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a8"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@category</span><span class="src-doc"> PHP 5.2</span></div></li> |
<li><div class="src-line"><a name="a9"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@package</span><span class="src-doc"> Framework</span></div></li> |
<li><div class="src-line"><a name="a10"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@author</span><span class="src-doc"> Jean-Pascal MILCENT <jpm@tela-botanica.org></span></div></li> |
<li><div class="src-line"><a name="a11"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@copyright</span><span class="src-doc"> Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org)</span></div></li> |
<li><div class="src-line"><a name="a12"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.gnu.org/licenses/gpl.html Licence GNU-GPL-v3</span></div></li> |
<li><div class="src-line"><a name="a13"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL-v2</span></div></li> |
<li><div class="src-line"><a name="a14"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@version</span><span class="src-doc"> $Id: Chronometre.php 241 2010-12-06 15:19:07Z jpm $</span></div></li> |
<li><div class="src-line"><a name="a15"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@link</span><span class="src-doc"> /doc/framework/</span></div></li> |
<li><div class="src-line"><a name="a16"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a17"></a><span class="src-key">class </span><a href="../Framework/Chronometre.html">Chronometre</a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a18"></a> <span class="src-comm">/*** Attributs : ***/</span></div></li> |
<li><div class="src-line"><a name="a19"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$pointArretNumero </span>= <span class="src-num">1</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a20"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$temps </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a21"></a> </div></li> |
<li><div class="src-line"><a name="a22"></a> <span class="src-doc">/** Accesseurs :</span></div></li> |
<li><div class="src-line"><a name="a23"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a24"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$cle </span><span class="src-doc">la cle associée à un chronomètre particulier</span></div></li> |
<li><div class="src-line"><a name="a25"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a26"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">int </span><span class="src-doc">le temps écoulé</span></div></li> |
<li><div class="src-line"><a name="a27"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a28"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">getTemps</span><span class="src-sym">(</span><span class="src-var">$cle </span>= <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a29"></a> <span class="src-var">$temps </span>= <span class="src-sym">(</span><a href="http://www.php.net/is_null">is_null</a><span class="src-sym">(</span><span class="src-var">$cle</span><span class="src-sym">)) </span>? <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$temps </span>: <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$temps</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a30"></a> <span class="src-key">return </span><span class="src-var">$temps</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a31"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a32"></a> </div></li> |
<li><div class="src-line"><a name="a33"></a> <span class="src-doc">/** Setteur pour la variable temps</span></div></li> |
<li><div class="src-line"><a name="a34"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a35"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array() </span><span class="src-doc-var">$moment </span><span class="src-doc">ajoute des points de chronométrage au tableau _temps</span></div></li> |
<li><div class="src-line"><a name="a36"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a37"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">null </span></div></li> |
<li><div class="src-line"><a name="a38"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a39"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">setTemps</span><span class="src-sym">(</span><span class="src-var">$cle</span><span class="src-sym">, </span><span class="src-var">$moment</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a40"></a> <span class="src-id">array_push</span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$temps</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$cle </span>=> <span class="src-var">$moment</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a41"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a42"></a> </div></li> |
<li><div class="src-line"><a name="a43"></a> <span class="src-comm">/*** Méthodes : ***/</span></div></li> |
<li><div class="src-line"><a name="a44"></a> </div></li> |
<li><div class="src-line"><a name="a45"></a> <span class="src-doc">/** </span></div></li> |
<li><div class="src-line"><a name="a46"></a><span class="src-doc"> * Effectue un chronometrage.</span></div></li> |
<li><div class="src-line"><a name="a47"></a><span class="src-doc"> * Vous pouvez indiquer le nom du point de chronométrage.</span></div></li> |
<li><div class="src-line"><a name="a48"></a><span class="src-doc"> * Si vous n'indiquez rien, un nombre sera généré en débutant à 1.</span></div></li> |
<li><div class="src-line"><a name="a49"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a50"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array() </span><span class="src-doc-var">$moment </span><span class="src-doc">ajoute des points de chronométrage au tableau _temps</span></div></li> |
<li><div class="src-line"><a name="a51"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a52"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">null </span></div></li> |
<li><div class="src-line"><a name="a53"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a54"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Chronometre.html#methodsetTemps">setTemps</a><span class="src-sym">(</span><span class="src-var">$moment </span>= <span class="src-key">array </span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a55"></a> <a href="http://www.php.net/array_push">array_push</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">_temps</span><span class="src-sym">, </span><span class="src-var">$moment</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a56"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a57"></a> </div></li> |
<li><div class="src-line"><a name="a58"></a> <span class="src-comm">/*** Méthodes : ***/</span></div></li> |
<li><div class="src-line"><a name="a59"></a> </div></li> |
<li><div class="src-line"><a name="a60"></a> <span class="src-doc">/** Méthode afficherChrono() -</span></div></li> |
<li><div class="src-line"><a name="a61"></a><span class="src-doc"> * Permet d'afficher les temps d'éxécution de différentes parties d'un script.</span></div></li> |
<li><div class="src-line"><a name="a62"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a63"></a><span class="src-doc"> * Cette fonction permet d'afficher un ensemble de</span></div></li> |
<li><div class="src-line"><a name="a64"></a><span class="src-doc"> * mesure de temps prises à différents endroits d'un script.</span></div></li> |
<li><div class="src-line"><a name="a65"></a><span class="src-doc"> * Ces mesures sont affichées au sein d'un tableau XHTML</span></div></li> |
<li><div class="src-line"><a name="a66"></a><span class="src-doc"> * dont on peut controler l'indentation des balises.</span></div></li> |
<li><div class="src-line"><a name="a67"></a><span class="src-doc"> * Pour un site en production, il suffit d'ajouter un style</span></div></li> |
<li><div class="src-line"><a name="a68"></a><span class="src-doc"> * #chrono {display:none;} dans la css. De cette façon,</span></div></li> |
<li><div class="src-line"><a name="a69"></a><span class="src-doc"> * le tableau ne s'affichera pas. Le webmaster lui pourra</span></div></li> |
<li><div class="src-line"><a name="a70"></a><span class="src-doc"> * rajouter sa propre feuille de style affichant le tableau.</span></div></li> |
<li><div class="src-line"><a name="a71"></a><span class="src-doc"> * Le développeur initial de cette fonction est Loic d'Anterroches.</span></div></li> |
<li><div class="src-line"><a name="a72"></a><span class="src-doc"> * Elle a été modifiée par Jean-Pascal Milcent.</span></div></li> |
<li><div class="src-line"><a name="a73"></a><span class="src-doc"> * Elle utilise une variable gobale : $_CHRONO_</span></div></li> |
<li><div class="src-line"><a name="a74"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a75"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@author</span><span class="src-doc"> Loic d'Anterroches</span></div></li> |
<li><div class="src-line"><a name="a76"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@author</span><span class="src-doc"> Jean-Pascal MILCENT <jpm@tela-botanica.org></span></div></li> |
<li><div class="src-line"><a name="a77"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a78"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">int </span><span class="src-doc"> </span><span class="src-doc-var">$indentation_origine </span><span class="src-doc">l'indentation de base.</span></div></li> |
<li><div class="src-line"><a name="a79"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">int </span><span class="src-doc"> </span><span class="src-doc-var">$indentation </span><span class="src-doc">le pas d'indentation.</span></div></li> |
<li><div class="src-line"><a name="a80"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc"> </span><span class="src-doc-type">string </span><span class="src-doc"> la chaine XHTML de mesure des temps.</span></div></li> |
<li><div class="src-line"><a name="a81"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a82"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Chronometre.html#methodafficherChrono">afficherChrono</a><span class="src-sym">(</span><span class="src-var">$indentation_origine </span>= <span class="src-num">8</span><span class="src-sym">, </span><span class="src-var">$indentation </span>= <span class="src-num">4</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a83"></a> <span class="src-comm">// Création du chrono de fin</span></div></li> |
<li><div class="src-line"><a name="a84"></a> <span class="src-var">$GLOBALS</span><span class="src-sym">[</span><span class="src-str">'_SCRIPT_'</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'chrono'</span><span class="src-sym">]</span><span class="src-sym">-></span><span class="src-id">setTemps</span><span class="src-sym">(</span><span class="src-key">array </span><span class="src-sym">(</span></div></li> |
<li><div class="src-line"><a name="a85"></a> <span class="src-str">'fin' </span>=> <a href="http://www.php.net/microtime">microtime</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
<li><div class="src-line"><a name="a86"></a> <span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a87"></a> </div></li> |
<li><div class="src-line"><a name="a88"></a> <span class="src-comm">// Début création de l'affichage</span></div></li> |
<li><div class="src-line"><a name="a89"></a> <span class="src-var">$sortie </span>= <a href="http://www.php.net/str_repeat">str_repeat</a><span class="src-sym">(</span><span class="src-str">' '</span><span class="src-sym">, </span><span class="src-var">$indentation_origine</span><span class="src-sym">) </span>.</div></li> |
<li><div class="src-line"><a name="a90"></a> <span class="src-str">'<table id="chrono" lang="fr" summary="Résultat du</span></div></li> |
<li><div class="src-line"><a name="a91"></a><span class="src-str"> chronométrage du programme affichant la page actuelle.">' </span>. <span class="src-str">"\n"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a92"></a> <span class="src-var">$sortie </span>.= <a href="http://www.php.net/str_repeat">str_repeat</a><span class="src-sym">(</span><span class="src-str">' '</span><span class="src-sym">, </span><span class="src-sym">(</span><span class="src-var">$indentation_origine </span>+ <span class="src-sym">(</span><span class="src-var">$indentation </span>* <span class="src-num">1</span><span class="src-sym">))) </span>.</div></li> |
<li><div class="src-line"><a name="a93"></a> <span class="src-str">'<caption>Chronométrage</caption>' </span>. <span class="src-str">"\n"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a94"></a> <span class="src-var">$sortie </span>.= <a href="http://www.php.net/str_repeat">str_repeat</a><span class="src-sym">(</span><span class="src-str">' '</span><span class="src-sym">, </span><span class="src-sym">(</span><span class="src-var">$indentation_origine </span>+ <span class="src-sym">(</span><span class="src-var">$indentation </span>* <span class="src-num">1</span><span class="src-sym">))) </span>.</div></li> |
<li><div class="src-line"><a name="a95"></a> <span class="src-str">'<thead>' </span>. <span class="src-str">"\n"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a96"></a> <span class="src-var">$sortie </span>.= <a href="http://www.php.net/str_repeat">str_repeat</a><span class="src-sym">(</span><span class="src-str">' '</span><span class="src-sym">, </span><span class="src-sym">(</span><span class="src-var">$indentation_origine </span>+ <span class="src-sym">(</span><span class="src-var">$indentation </span>* <span class="src-num">2</span><span class="src-sym">))) </span>.</div></li> |
<li><div class="src-line"><a name="a97"></a> <span class="src-str">'<tr><th>Action</th><th>Temps écoulé (en s.)</th></span></div></li> |
<li><div class="src-line"><a name="a98"></a><span class="src-str"> <th>Cumul du temps écoulé (en s.)</th></tr>' </span>. <span class="src-str">"\n"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a99"></a> <span class="src-var">$sortie </span>.= <a href="http://www.php.net/str_repeat">str_repeat</a><span class="src-sym">(</span><span class="src-str">' '</span><span class="src-sym">, </span><span class="src-sym">(</span><span class="src-var">$indentation_origine </span>+ <span class="src-sym">(</span><span class="src-var">$indentation </span>* <span class="src-num">1</span><span class="src-sym">))) </span>.</div></li> |
<li><div class="src-line"><a name="a100"></a> <span class="src-str">'</thead>' </span>. <span class="src-str">"\n"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a101"></a> </div></li> |
<li><div class="src-line"><a name="a102"></a> <span class="src-var">$tbody </span>= <a href="http://www.php.net/str_repeat">str_repeat</a><span class="src-sym">(</span><span class="src-str">' '</span><span class="src-sym">, </span><span class="src-sym">(</span><span class="src-var">$indentation_origine </span>+ <span class="src-sym">(</span><span class="src-var">$indentation </span>* <span class="src-num">1</span><span class="src-sym">))) </span>.</div></li> |
<li><div class="src-line"><a name="a103"></a> <span class="src-str">'<tbody>' </span>. <span class="src-str">"\n"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a104"></a> </div></li> |
<li><div class="src-line"><a name="a105"></a> <span class="src-var">$total_tps_ecoule </span>= <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a106"></a> </div></li> |
<li><div class="src-line"><a name="a107"></a> <span class="src-comm">// Récupération de la premiére mesure</span></div></li> |
<li><div class="src-line"><a name="a108"></a> <span class="src-var">$tab_depart </span>= <span class="src-sym">& </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Chronometre.html#methodgetTemps">getTemps</a><span class="src-sym">(</span><span class="src-num">0</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a109"></a> list <span class="src-sym">(</span><span class="src-var">$usec</span><span class="src-sym">, </span><span class="src-var">$sec</span><span class="src-sym">) </span>= <a href="http://www.php.net/explode">explode</a><span class="src-sym">(</span><span class="src-str">' '</span><span class="src-sym">, </span><span class="src-var">$tab_depart</span><span class="src-sym">[</span><span class="src-str">'depart'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a110"></a> </div></li> |
<li><div class="src-line"><a name="a111"></a> <span class="src-comm">// Ce temps correspond à tps_fin</span></div></li> |
<li><div class="src-line"><a name="a112"></a> <span class="src-var">$tps_debut </span>= <span class="src-sym">(</span>(float) <span class="src-var">$usec </span>+ (float) <span class="src-var">$sec</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a113"></a> </div></li> |
<li><div class="src-line"><a name="a114"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Chronometre.html#methodgetTemps">getTemps</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-key">as </span><span class="src-var">$tab_temps</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a115"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$tab_temps </span><span class="src-key">as </span><span class="src-var">$cle </span>=> <span class="src-var">$valeur</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a116"></a> list <span class="src-sym">(</span><span class="src-var">$usec</span><span class="src-sym">, </span><span class="src-var">$sec</span><span class="src-sym">) </span>= <a href="http://www.php.net/explode">explode</a><span class="src-sym">(</span><span class="src-str">' '</span><span class="src-sym">, </span><span class="src-var">$valeur</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a117"></a> <span class="src-var">$tps_fin </span>= <span class="src-sym">(</span>(float) <span class="src-var">$usec </span>+ (float) <span class="src-var">$sec</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a118"></a> </div></li> |
<li><div class="src-line"><a name="a119"></a> <span class="src-var">$tps_ecoule </span>= <a href="http://www.php.net/abs">abs</a><span class="src-sym">(</span><span class="src-var">$tps_fin </span>- <span class="src-var">$tps_debut</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a120"></a> <span class="src-var">$total_tps_ecoule </span>+= <span class="src-var">$tps_ecoule</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a121"></a> </div></li> |
<li><div class="src-line"><a name="a122"></a> <span class="src-var">$tbody </span>.= <a href="http://www.php.net/str_repeat">str_repeat</a><span class="src-sym">(</span><span class="src-str">' '</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a123"></a> <span class="src-sym">(</span><span class="src-var">$indentation_origine </span>+ <span class="src-sym">(</span><span class="src-var">$indentation </span>* <span class="src-num">2</span><span class="src-sym">))) </span>.</div></li> |
<li><div class="src-line"><a name="a124"></a> <span class="src-str">'<tr>' </span>.</div></li> |
<li><div class="src-line"><a name="a125"></a> <span class="src-str">'<th>' </span>. <span class="src-var">$cle </span>. <span class="src-str">'</th>' </span>.</div></li> |
<li><div class="src-line"><a name="a126"></a> <span class="src-str">'<td>' </span>. <a href="http://www.php.net/number_format">number_format</a><span class="src-sym">(</span><span class="src-var">$tps_ecoule</span><span class="src-sym">, </span><span class="src-num">3</span><span class="src-sym">, </span><span class="src-str">','</span><span class="src-sym">, </span><span class="src-str">' '</span><span class="src-sym">) </span>. <span class="src-str">'</td>' </span>.</div></li> |
<li><div class="src-line"><a name="a127"></a> <span class="src-str">'<td>' </span>. <a href="http://www.php.net/number_format">number_format</a><span class="src-sym">(</span><span class="src-var">$total_tps_ecoule</span><span class="src-sym">, </span><span class="src-num">3</span><span class="src-sym">, </span><span class="src-str">','</span><span class="src-sym">, </span><span class="src-str">' '</span><span class="src-sym">) </span>. <span class="src-str">'</td>' </span>.</div></li> |
<li><div class="src-line"><a name="a128"></a> <span class="src-str">'</tr>' </span>. <span class="src-str">"\n"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a129"></a> <span class="src-var">$tps_debut </span>= <span class="src-var">$tps_fin</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a130"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a131"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a132"></a> <span class="src-var">$tbody </span>.= <a href="http://www.php.net/str_repeat">str_repeat</a><span class="src-sym">(</span><span class="src-str">' '</span><span class="src-sym">, </span><span class="src-sym">(</span><span class="src-var">$indentation_origine </span>+ <span class="src-sym">(</span><span class="src-var">$indentation </span>* <span class="src-num">1</span><span class="src-sym">))) </span>.</div></li> |
<li><div class="src-line"><a name="a133"></a> <span class="src-str">'</tbody>' </span>. <span class="src-str">"\n"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a134"></a> </div></li> |
<li><div class="src-line"><a name="a135"></a> <span class="src-var">$sortie </span>.= <a href="http://www.php.net/str_repeat">str_repeat</a><span class="src-sym">(</span><span class="src-str">' '</span><span class="src-sym">, </span><span class="src-sym">(</span><span class="src-var">$indentation_origine </span>+ <span class="src-sym">(</span><span class="src-var">$indentation </span>* <span class="src-num">1</span><span class="src-sym">))) </span>.</div></li> |
<li><div class="src-line"><a name="a136"></a> <span class="src-str">'<tfoot>' </span>. <span class="src-str">"\n"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a137"></a> <span class="src-var">$sortie </span>.= <a href="http://www.php.net/str_repeat">str_repeat</a><span class="src-sym">(</span><span class="src-str">' '</span><span class="src-sym">, </span><span class="src-sym">(</span><span class="src-var">$indentation_origine </span>+ <span class="src-sym">(</span><span class="src-var">$indentation </span>* <span class="src-num">2</span><span class="src-sym">))) </span>.</div></li> |
<li><div class="src-line"><a name="a138"></a> <span class="src-str">'<tr>' </span>.</div></li> |
<li><div class="src-line"><a name="a139"></a> <span class="src-str">'<th>' </span>. <span class="src-str">'Total du temps écoulé (en s.)' </span>. <span class="src-str">'</th>' </span>.</div></li> |
<li><div class="src-line"><a name="a140"></a> <span class="src-str">'<td colspan="2">' </span>.</div></li> |
<li><div class="src-line"><a name="a141"></a> <a href="http://www.php.net/number_format">number_format</a><span class="src-sym">(</span><span class="src-var">$total_tps_ecoule</span><span class="src-sym">, </span><span class="src-num">3</span><span class="src-sym">, </span><span class="src-str">','</span><span class="src-sym">, </span><span class="src-str">' '</span><span class="src-sym">) </span>. <span class="src-str">'</td>' </span>.</div></li> |
<li><div class="src-line"><a name="a142"></a> <span class="src-str">'</tr>' </span>. <span class="src-str">"\n"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a143"></a> <span class="src-var">$sortie </span>.= <a href="http://www.php.net/str_repeat">str_repeat</a><span class="src-sym">(</span><span class="src-str">' '</span><span class="src-sym">, </span><span class="src-sym">(</span><span class="src-var">$indentation_origine </span>+ <span class="src-sym">(</span><span class="src-var">$indentation </span>* <span class="src-num">1</span><span class="src-sym">))) </span>.</div></li> |
<li><div class="src-line"><a name="a144"></a> <span class="src-str">'</tfoot>' </span>. <span class="src-str">"\n"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a145"></a> <span class="src-var">$sortie </span>.= <span class="src-var">$tbody</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a146"></a> <span class="src-var">$sortie </span>.= <a href="http://www.php.net/str_repeat">str_repeat</a><span class="src-sym">(</span><span class="src-str">' '</span><span class="src-sym">, </span><span class="src-var">$indentation_origine</span><span class="src-sym">) </span>.</div></li> |
<li><div class="src-line"><a name="a147"></a> <span class="src-str">'</table>' </span>. <span class="src-str">"\n"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a148"></a> </div></li> |
<li><div class="src-line"><a name="a149"></a> <span class="src-key">return </span><span class="src-var">$sortie</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a150"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a151"></a><span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a152"></a><span class="src-php">?></span></div></li> |
<li><div class="src-line"><a name="a50"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc">le nom du point de chronométrage</span></div></li> |
<li><div class="src-line"><a name="a51"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">null </span></div></li> |
<li><div class="src-line"><a name="a52"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a53"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/Chronometre.html#methodchrono">chrono</a><span class="src-sym">(</span><span class="src-var">$cle </span>= <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a54"></a> <span class="src-var">$cle </span>= <span class="src-sym">(</span><span class="src-var">$cle </span>== <span class="src-id">null</span><span class="src-sym">) </span>? <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$pointArretNumero</span>++ : <span class="src-var">$cle</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a55"></a> <span class="src-var">$moment </span>= <span class="src-id">microtime</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a56"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">setTemps</span><span class="src-sym">(</span><span class="src-var">$cle</span><span class="src-sym">, </span><span class="src-var">$moment</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a57"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a58"></a> </div></li> |
<li><div class="src-line"><a name="a59"></a> <span class="src-doc">/** </span></div></li> |
<li><div class="src-line"><a name="a60"></a><span class="src-doc"> * Permet d'afficher les temps d'éxécution de différentes parties d'un script.</span></div></li> |
<li><div class="src-line"><a name="a61"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a62"></a><span class="src-doc"> * Cette fonction permet d'afficher un ensemble de mesure de temps prises à différents endroits d'un script.</span></div></li> |
<li><div class="src-line"><a name="a63"></a><span class="src-doc"> * Ces mesures sont affichées au sein d'un tableau XHTML dont on peut controler l'indentation des balises.</span></div></li> |
<li><div class="src-line"><a name="a64"></a><span class="src-doc"> * Pour un site en production, il suffit d'ajouter un style #chrono {display:none;} dans la css.</span></div></li> |
<li><div class="src-line"><a name="a65"></a><span class="src-doc"> * De cette façon, le tableau ne s'affichera pas. Le webmaster lui pourra rajouter sa propre feuille de style</span></div></li> |
<li><div class="src-line"><a name="a66"></a><span class="src-doc"> * affichant le tableau.</span></div></li> |
<li><div class="src-line"><a name="a67"></a><span class="src-doc"> * Le développeur initial de cette fonction est Loic d'Anterroches.</span></div></li> |
<li><div class="src-line"><a name="a68"></a><span class="src-doc"> * Elle a été modifiée par Jean-Pascal Milcent.</span></div></li> |
<li><div class="src-line"><a name="a69"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a70"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@author</span><span class="src-doc"> Loic d'Anterroches</span></div></li> |
<li><div class="src-line"><a name="a71"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@author</span><span class="src-doc"> Jean-Pascal MILCENT <jpm@tela-botanica.org></span></div></li> |
<li><div class="src-line"><a name="a72"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc">l'eventuel nom du point de chronométrage de fin.</span></div></li> |
<li><div class="src-line"><a name="a73"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc"> </span><span class="src-doc-type">string </span><span class="src-doc"> la chaine XHTML de mesure des temps.</span></div></li> |
<li><div class="src-line"><a name="a74"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a75"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/Chronometre.html#methodafficherChrono">afficherChrono</a><span class="src-sym">(</span><span class="src-var">$cle </span>= <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a76"></a> <span class="src-comm">// Création du chrono de fin</span></div></li> |
<li><div class="src-line"><a name="a77"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">chrono</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a78"></a> </div></li> |
<li><div class="src-line"><a name="a79"></a> <span class="src-var">$total_tps_ecoule </span>= <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a80"></a> <span class="src-comm">// Récupération de la premiére mesure</span></div></li> |
<li><div class="src-line"><a name="a81"></a> <span class="src-var">$tab_depart </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">getTemps</span><span class="src-sym">(</span><span class="src-num">0</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a82"></a> list <span class="src-sym">(</span><span class="src-var">$usec</span><span class="src-sym">, </span><span class="src-var">$sec</span><span class="src-sym">) </span>= <a href="http://www.php.net/explode">explode</a><span class="src-sym">(</span><span class="src-str">' '</span><span class="src-sym">, </span><span class="src-var">$tab_depart</span><span class="src-sym">[</span><span class="src-str">'depart'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a83"></a> </div></li> |
<li><div class="src-line"><a name="a84"></a> <span class="src-comm">// Ce temps correspond à tps_fin</span></div></li> |
<li><div class="src-line"><a name="a85"></a> <span class="src-var">$tps_debut </span>= <span class="src-sym">(</span>(float) <span class="src-var">$usec </span>+ (float) <span class="src-var">$sec</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a86"></a> </div></li> |
<li><div class="src-line"><a name="a87"></a> <span class="src-var">$tbody </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a88"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">getTemps</span><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-key">as </span><span class="src-var">$tab_temps</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a89"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$tab_temps </span><span class="src-key">as </span><span class="src-var">$cle </span>=> <span class="src-var">$valeur</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a90"></a> list <span class="src-sym">(</span><span class="src-var">$usec</span><span class="src-sym">, </span><span class="src-var">$sec</span><span class="src-sym">) </span>= <a href="http://www.php.net/explode">explode</a><span class="src-sym">(</span><span class="src-str">' '</span><span class="src-sym">, </span><span class="src-var">$valeur</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a91"></a> <span class="src-var">$tps_fin </span>= <span class="src-sym">(</span>(float) <span class="src-var">$usec </span>+ (float) <span class="src-var">$sec</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a92"></a> </div></li> |
<li><div class="src-line"><a name="a93"></a> <span class="src-var">$tps_ecoule </span>= <a href="http://www.php.net/abs">abs</a><span class="src-sym">(</span><span class="src-var">$tps_fin </span>- <span class="src-var">$tps_debut</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a94"></a> <span class="src-var">$total_tps_ecoule </span>+= <span class="src-var">$tps_ecoule</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a95"></a> <span class="src-var">$tps_debut </span>= <span class="src-var">$tps_fin</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a96"></a> </div></li> |
<li><div class="src-line"><a name="a97"></a> <span class="src-comm">// Gestion affichage</span></div></li> |
<li><div class="src-line"><a name="a98"></a> <span class="src-var">$total_tps_ecoule_fmt </span>= <a href="http://www.php.net/number_format">number_format</a><span class="src-sym">(</span><span class="src-var">$total_tps_ecoule</span><span class="src-sym">, </span><span class="src-num">3</span><span class="src-sym">, </span><span class="src-str">','</span><span class="src-sym">, </span><span class="src-str">' '</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a99"></a> <span class="src-var">$tps_ecoule_fmt </span>= <a href="http://www.php.net/number_format">number_format</a><span class="src-sym">(</span><span class="src-var">$tps_ecoule</span><span class="src-sym">, </span><span class="src-num">3</span><span class="src-sym">, </span><span class="src-str">','</span><span class="src-sym">, </span><span class="src-str">' '</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a100"></a> <span class="src-var">$tbody </span>.= <span class="src-str">'<tr><th>'</span>.<span class="src-var">$cle</span>.<span class="src-str">'</th><td>'</span>.<span class="src-var">$tps_ecoule_fmt</span>.<span class="src-str">'</td><td>'</span>.<span class="src-var">$total_tps_ecoule_fmt</span>.<span class="src-str">'</td></tr>'</span>.<span class="src-str">"\n"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a101"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a102"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a103"></a> <span class="src-var">$total_tps_ecoule_final_fmt </span>= <a href="http://www.php.net/number_format">number_format</a><span class="src-sym">(</span><span class="src-var">$total_tps_ecoule</span><span class="src-sym">, </span><span class="src-num">3</span><span class="src-sym">, </span><span class="src-str">','</span><span class="src-sym">, </span><span class="src-str">' '</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a104"></a> <span class="src-comm">// Début création de l'affichage</span></div></li> |
<li><div class="src-line"><a name="a105"></a> <span class="src-var">$sortie </span>= <span class="src-str">'<table id="chrono" lang="fr" summary="Résultat duchronométrage du programme affichant la page actuelle.">'</span>.<span class="src-str">"\n"</span>.</div></li> |
<li><div class="src-line"><a name="a106"></a> <span class="src-str">'<caption>Chronométrage</caption>'</span>.<span class="src-str">"\n"</span>.</div></li> |
<li><div class="src-line"><a name="a107"></a> <span class="src-str">'<thead>'</span>.<span class="src-str">"\n"</span>.</div></li> |
<li><div class="src-line"><a name="a108"></a> <span class="src-str">' <tr><th>Action</th><th>Temps écoulé (en s.)</th><th>Cumul du temps écoulé (en s.)</th></tr>'</span>.<span class="src-str">"\n"</span>.</div></li> |
<li><div class="src-line"><a name="a109"></a> <span class="src-str">'</thead>'</span>.<span class="src-str">"\n"</span>.</div></li> |
<li><div class="src-line"><a name="a110"></a> <span class="src-str">'<tbody>'</span>.<span class="src-str">"\n"</span>.</div></li> |
<li><div class="src-line"><a name="a111"></a> <span class="src-var">$tbody</span>.</div></li> |
<li><div class="src-line"><a name="a112"></a> <span class="src-str">'</tbody>'</span>.<span class="src-str">"\n"</span>.</div></li> |
<li><div class="src-line"><a name="a113"></a> <span class="src-str">'<tfoot>'</span>.<span class="src-str">"\n"</span>.</div></li> |
<li><div class="src-line"><a name="a114"></a> <span class="src-str">' <tr><th>Total du temps écoulé (en s.)</th><td colspan="2">'</span>.<span class="src-var">$total_tps_ecoule_final_fmt</span>.<span class="src-str">'</td></tr>'</span>.<span class="src-str">"\n"</span>.</div></li> |
<li><div class="src-line"><a name="a115"></a> <span class="src-str">'</tfoot>'</span>.<span class="src-str">"\n"</span>.</div></li> |
<li><div class="src-line"><a name="a116"></a> <span class="src-str">'</table>'</span>.<span class="src-str">"\n"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a117"></a> </div></li> |
<li><div class="src-line"><a name="a118"></a> <span class="src-key">return </span><span class="src-var">$sortie</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a119"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a120"></a><span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a121"></a><span class="src-php">?></span></div></li> |
</ol></div> |
</div> |
<p class="notes" id="credit"> |
Documentation generated on Thu, 04 Mar 2010 19:27:11 +0100 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.3</a> |
Documentation generated on Tue, 18 Jan 2011 15:01:28 +0100 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.3</a> |
</p> |
</body> |
</html> |
/trunk/doc/HTMLframesConverter/__filesource/fsource_Framework__RestServeur.php.html |
---|
New file |
0,0 → 1,515 |
<?xml version="1.0" encoding="UTF-8"?> |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
<html xmlns="http://www.w3.org/1999/xhtml"> |
<head> |
<!-- template designed by Marco Von Ballmoos --> |
<title>File Source for RestServeur.php</title> |
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'/> |
<link rel="stylesheet" href="../media/stylesheet.css" /> |
</head> |
<body> |
<h1>Source for file RestServeur.php</h1> |
<p>Documentation is available at <a href="../Framework/_RestServeur.php.html">RestServeur.php</a></p> |
<div class="src-code"> |
<div class="src-code"><ol><li><div class="src-line"><a name="a1"></a><span class="src-php"><?php</span></div></li> |
<li><div class="src-line"><a name="a2"></a><span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a3"></a><span class="src-doc"> * Classe principale gérant les services web de type (@link(REST, http://fr.wikipedia.org/wiki/Rest).</span></div></li> |
<li><div class="src-line"><a name="a4"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a5"></a><span class="src-doc"> * Elle contient :</span></div></li> |
<li><div class="src-line"><a name="a6"></a><span class="src-doc"> * - les constantes indiquant les différentes (@link(méthode HTTP, http://fr.wikipedia.org/wiki/Http) prises en compte.</span></div></li> |
<li><div class="src-line"><a name="a7"></a><span class="src-doc"> * - les @link(codes HTTP des réponses, http://fr.wikipedia.org/wiki/Liste_des_codes_HTTP)</span></div></li> |
<li><div class="src-line"><a name="a8"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a9"></a><span class="src-doc"> * Ce serveur REST accepte 4 types de méthodes HTTP : GET, PUT, POST, DELETE.</span></div></li> |
<li><div class="src-line"><a name="a10"></a><span class="src-doc"> * GET et POST ne pose généralement pas de problème pour les clients HTTP mais ce n'est pas forcément le cas pour PUT et DELETE.</span></div></li> |
<li><div class="src-line"><a name="a11"></a><span class="src-doc"> * Vous pouvez donc pour réaliser :</span></div></li> |
<li><div class="src-line"><a name="a12"></a><span class="src-doc"> * - DELETE : utiliser la méthode POST avec action=DELETE dans le corps de la requête.</span></div></li> |
<li><div class="src-line"><a name="a13"></a><span class="src-doc"> * - PUT : utiliser la méthode POST avec une url ne contenant aucune indication de ressource.</span></div></li> |
<li><div class="src-line"><a name="a14"></a><span class="src-doc"> * Une autre solution consiste à utiliser n'importe quelle méthode et à ajouter l'entête "X_HTTP_METHOD_OVERRIDE" avec pour</span></div></li> |
<li><div class="src-line"><a name="a15"></a><span class="src-doc"> * valeur le nom de la méthode que vous souhaitez utiliser. Exemple d'entête : "X_HTTP_METHOD_OVERRIDE: PUT".</span></div></li> |
<li><div class="src-line"><a name="a16"></a><span class="src-doc"> * Exemple : <code>curl -v -v -H "X_HTTP_METHOD_OVERRIDE: DELETE" "http://www.mondomaine.org/services/apiVersion/[mon-service]/"</code></span></div></li> |
<li><div class="src-line"><a name="a17"></a><span class="src-doc"> * Cela fonctionne avec Apache.</span></div></li> |
<li><div class="src-line"><a name="a18"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a19"></a><span class="src-doc"> * Les classes des services web doivent avoir un nom au format ChatMot "MonService" et être appelée dans l'url par le même nom</span></div></li> |
<li><div class="src-line"><a name="a20"></a><span class="src-doc"> * en minuscule où les mots sont séparés par des tirets "mon-service".</span></div></li> |
<li><div class="src-line"><a name="a21"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a22"></a><span class="src-doc"> * Paramètres liés dans config.ini :</span></div></li> |
<li><div class="src-line"><a name="a23"></a><span class="src-doc"> * - serveur.baseURL : morceau de l'url pour appeler le serveur relative au domaine. Exemple : pour http://www.tela-botanica.org/mon_serveur/</span></div></li> |
<li><div class="src-line"><a name="a24"></a><span class="src-doc"> * mettre : "/mon_serveur/"</span></div></li> |
<li><div class="src-line"><a name="a25"></a><span class="src-doc"> * - serveur.baseAlternativeURL : sur le même principe que ci-dessus permet d'affecter une deuxième url (pour gérer des raccourci via htaccess)</span></div></li> |
<li><div class="src-line"><a name="a26"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a27"></a><span class="src-doc"> * Encodage en entrée : utf8</span></div></li> |
<li><div class="src-line"><a name="a28"></a><span class="src-doc"> * Encodage en sortie : utf8</span></div></li> |
<li><div class="src-line"><a name="a29"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a30"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@category</span><span class="src-doc"> Php 5.2</span></div></li> |
<li><div class="src-line"><a name="a31"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@package</span><span class="src-doc"> Framework</span></div></li> |
<li><div class="src-line"><a name="a32"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@author</span><span class="src-doc"> Jean-Pascal MILCENT <jpm@tela-botanica.org></span></div></li> |
<li><div class="src-line"><a name="a33"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@copyright</span><span class="src-doc"> Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org)</span></div></li> |
<li><div class="src-line"><a name="a34"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> GPL v3 <http://www.gnu.org/licenses/gpl.txt></span></div></li> |
<li><div class="src-line"><a name="a35"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt></span></div></li> |
<li><div class="src-line"><a name="a36"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@since</span><span class="src-doc"> 0.3</span></div></li> |
<li><div class="src-line"><a name="a37"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@version</span><span class="src-doc"> $Id$</span></div></li> |
<li><div class="src-line"><a name="a38"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@link</span><span class="src-doc"> /doc/framework/</span></div></li> |
<li><div class="src-line"><a name="a39"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a40"></a><span class="src-comm">// TODO : gerer les retours : dans ce controleur : code retour et envoi ...</span></div></li> |
<li><div class="src-line"><a name="a41"></a><span class="src-key">class </span><a href="../Framework/RestServeur.html">RestServeur</a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a42"></a> </div></li> |
<li><div class="src-line"><a name="a43"></a> <span class="src-doc">/** Nom de la méthode appelée dans un service pour éxécuter une requête de type GET. */</span></div></li> |
<li><div class="src-line"><a name="a44"></a> <span class="src-key">const </span><span class="src-id">METHODE_GET </span>= <span class="src-str">'consulter'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a45"></a> </div></li> |
<li><div class="src-line"><a name="a46"></a> <span class="src-doc">/** Nom de la méthode appelée dans un service pour éxécuter une requête de type POST. */</span></div></li> |
<li><div class="src-line"><a name="a47"></a> <span class="src-key">const </span><span class="src-id">METHODE_POST </span>= <span class="src-str">'modifier'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a48"></a> </div></li> |
<li><div class="src-line"><a name="a49"></a> <span class="src-doc">/** Nom de la méthode appelée dans un service pour éxécuter une requête de type DELETE. */</span></div></li> |
<li><div class="src-line"><a name="a50"></a> <span class="src-key">const </span><span class="src-id">METHODE_DELETE </span>= <span class="src-str">'supprimer'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a51"></a> </div></li> |
<li><div class="src-line"><a name="a52"></a> <span class="src-doc">/** Nom de la méthode appelée dans un service pour éxécuter une requête de type PUT. */</span></div></li> |
<li><div class="src-line"><a name="a53"></a> <span class="src-key">const </span><span class="src-id">METHODE_PUT </span>= <span class="src-str">'ajouter'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a54"></a> </div></li> |
<li><div class="src-line"><a name="a55"></a> <span class="src-doc">/** Code HTTP 200 indiquant le succès de l'accès à un service web par la méthode GET.</span></div></li> |
<li><div class="src-line"><a name="a56"></a><span class="src-doc"> * L'utiliser lors d'une requète de type GET (consulter) pour indiquer le succès de l'opération.</span></div></li> |
<li><div class="src-line"><a name="a57"></a><span class="src-doc"> * Sera renvoyée par défaut par PHP. */</span></div></li> |
<li><div class="src-line"><a name="a57"></a> </div></li> |
<li><div class="src-line"><a name="a58"></a> <span class="src-key">const </span><span class="src-id">HTTP_CODE_OK </span>= <span class="src-str">'200'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a59"></a> </div></li> |
<li><div class="src-line"><a name="a60"></a> <span class="src-doc">/** Code HTTP 201 indiquant que l'accès à un service web est un succès et que la ressource a été créée ou modifié.</span></div></li> |
<li><div class="src-line"><a name="a61"></a><span class="src-doc"> * L'utiliser lors d'une requète de type PUT (ajouter) ou POST (modifier) pour indiquer le succès de l'opération. */</span></div></li> |
<li><div class="src-line"><a name="a61"></a> </div></li> |
<li><div class="src-line"><a name="a62"></a> <span class="src-key">const </span><span class="src-id">HTTP_CODE_CREATION_OK </span>= <span class="src-str">'201'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a63"></a> </div></li> |
<li><div class="src-line"><a name="a64"></a> <span class="src-doc">/** Code HTTP 204 indique que l'accès à un service web est un succès et qu'il n'y a pas de contenu à renvoyer.</span></div></li> |
<li><div class="src-line"><a name="a65"></a><span class="src-doc"> * L'utiliser lors d'une requète de type DELETE (supprimer) pour indiquer le succès de l'opération. */</span></div></li> |
<li><div class="src-line"><a name="a65"></a> </div></li> |
<li><div class="src-line"><a name="a66"></a> <span class="src-key">const </span><span class="src-id">HTTP_CODE_SUPPRESSION_OK </span>= <span class="src-str">'204'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a67"></a> </div></li> |
<li><div class="src-line"><a name="a68"></a> <span class="src-doc">/** Code HTTP 400 indique que les paramètres envoyés au service contiennent des erreurs.</span></div></li> |
<li><div class="src-line"><a name="a69"></a><span class="src-doc"> * L'utiliser pour indiquer l'échec de l'accès au service. La réponse pourra contenir un message expliquant la source</span></div></li> |
<li><div class="src-line"><a name="a70"></a><span class="src-doc"> * de l'erreur. */</span></div></li> |
<li><div class="src-line"><a name="a70"></a> </div></li> |
<li><div class="src-line"><a name="a71"></a> <span class="src-key">const </span><span class="src-id">HTTP_CODE_MAUVAISE_REQUETE </span>= <span class="src-str">'400'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a72"></a> </div></li> |
<li><div class="src-line"><a name="a73"></a> <span class="src-doc">/** Code HTTP 401 indiquant que l'accès à un service web est refusé car l'authentification (obligatoire) a échoué pour</span></div></li> |
<li><div class="src-line"><a name="a74"></a><span class="src-doc"> * accéder à la ressource. */</span></div></li> |
<li><div class="src-line"><a name="a74"></a> </div></li> |
<li><div class="src-line"><a name="a75"></a> <span class="src-key">const </span><span class="src-id">HTTP_CODE_ACCES_NON_AUTORISE </span>= <span class="src-str">'401'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a76"></a> </div></li> |
<li><div class="src-line"><a name="a77"></a> <span class="src-doc">/** Code HTTP 404 indiquant que la ressource indiquée par l'url est introuvable. */</span></div></li> |
<li><div class="src-line"><a name="a78"></a> <span class="src-key">const </span><span class="src-id">HTTP_CODE_RESSOURCE_INTROUVABLE </span>= <span class="src-str">'404'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a79"></a> </div></li> |
<li><div class="src-line"><a name="a80"></a> <span class="src-doc">/** Code HTTP 405 indiquant soit :</span></div></li> |
<li><div class="src-line"><a name="a81"></a><span class="src-doc"> * - que le service web ne possède pas d'accès la ressource correspondant à la méthode HTTP employée.</span></div></li> |
<li><div class="src-line"><a name="a82"></a><span class="src-doc"> * - que la méthode HTTP enployée n'est pas en accord avec la ressource indiquée par l'url. */</span></div></li> |
<li><div class="src-line"><a name="a82"></a> </div></li> |
<li><div class="src-line"><a name="a83"></a> <span class="src-key">const </span><span class="src-id">HTTP_CODE_METHODE_NON_AUTORISE </span>= <span class="src-str">'405'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a84"></a> </div></li> |
<li><div class="src-line"><a name="a85"></a> <span class="src-doc">/** Code d'erreur HTTP 409 indiquant qu'un conflit est survenu vis à vis de la ressource.</span></div></li> |
<li><div class="src-line"><a name="a86"></a><span class="src-doc"> * Par exemple, essayer de créer deux fois la même ressource ou bien tenter de modifier une ressource qui a été modifiée par</span></div></li> |
<li><div class="src-line"><a name="a87"></a><span class="src-doc"> * ailleurs. */</span></div></li> |
<li><div class="src-line"><a name="a87"></a> </div></li> |
<li><div class="src-line"><a name="a88"></a> <span class="src-key">const </span><span class="src-id">HTTP_CODE_CONFLIT </span>= <span class="src-str">'409'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a89"></a> </div></li> |
<li><div class="src-line"><a name="a90"></a> <span class="src-doc">/** Code HTTP 411 indiquant que des paramètres passés dans le contenu de la requête sont nécessaires au service. */</span></div></li> |
<li><div class="src-line"><a name="a91"></a> <span class="src-key">const </span><span class="src-id">HTTP_CODE_CONTENU_REQUIS </span>= <span class="src-str">'411'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a92"></a> </div></li> |
<li><div class="src-line"><a name="a93"></a> <span class="src-doc">/** Code d'erreur HTTP 500 Internal Server Error.</span></div></li> |
<li><div class="src-line"><a name="a94"></a><span class="src-doc"> * L'utiliser quand le serveur ou un service soulève une erreur ou une exception. */</span></div></li> |
<li><div class="src-line"><a name="a94"></a> </div></li> |
<li><div class="src-line"><a name="a95"></a> <span class="src-key">const </span><span class="src-id">HTTP_CODE_ERREUR </span>= <span class="src-str">'500'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a96"></a> </div></li> |
<li><div class="src-line"><a name="a97"></a> <span class="src-doc">/** Mettre à true pour activer l'affichage des messages d'erreurs et de débogage.</span></div></li> |
<li><div class="src-line"><a name="a98"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">boolean </span><span class="src-doc">*/</span></div></li> |
<li><div class="src-line"><a name="a99"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$debogageActivation </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a100"></a> </div></li> |
<li><div class="src-line"><a name="a101"></a> <span class="src-doc">/** Indiquer le mode de débogage à utiliser (@see Debug).</span></div></li> |
<li><div class="src-line"><a name="a102"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">string </span><span class="src-doc">*/</span></div></li> |
<li><div class="src-line"><a name="a103"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$debogageMode </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a104"></a> </div></li> |
<li><div class="src-line"><a name="a105"></a> <span class="src-doc">/** La méthode de la requête HTTP utilisée.</span></div></li> |
<li><div class="src-line"><a name="a106"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">string </span><span class="src-doc">*/</span></div></li> |
<li><div class="src-line"><a name="a107"></a> <span class="src-key">private </span><span class="src-var">$methode </span>= <span class="src-str">'GET'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a108"></a> </div></li> |
<li><div class="src-line"><a name="a109"></a> <span class="src-doc">/** Le contenu brut du corps de la requête HTTP (s'il y en a).</span></div></li> |
<li><div class="src-line"><a name="a110"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">array </span><span class="src-doc">*/</span></div></li> |
<li><div class="src-line"><a name="a111"></a> <span class="src-key">private </span><span class="src-var">$requeteDonnees </span>= <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a112"></a> </div></li> |
<li><div class="src-line"><a name="a113"></a> <span class="src-doc">/** Le contenu sous forme de tableau de paires clés-valeurs du corps de la requête HTTP (s'il y en a).</span></div></li> |
<li><div class="src-line"><a name="a114"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">array </span><span class="src-doc">*/</span></div></li> |
<li><div class="src-line"><a name="a115"></a> <span class="src-key">private </span><span class="src-var">$requeteDonneesParsees </span>= <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a116"></a> </div></li> |
<li><div class="src-line"><a name="a117"></a> <span class="src-doc">/** Version de l'API demandée.</span></div></li> |
<li><div class="src-line"><a name="a118"></a><span class="src-doc"> * Ex. http://www.mondomaine.org/services/[apiVersion]/mon-service/</span></div></li> |
<li><div class="src-line"><a name="a119"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">mixed </span><span class="src-doc">Généralement deux nombres séparés par un point. Ex. : 1.0</span></div></li> |
<li><div class="src-line"><a name="a120"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a121"></a> <span class="src-key">private </span><span class="src-var">$apiVersion </span>= <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a122"></a> </div></li> |
<li><div class="src-line"><a name="a123"></a> <span class="src-doc">/** Nom du service demandé.</span></div></li> |
<li><div class="src-line"><a name="a124"></a><span class="src-doc"> * Ex. http://www.mondomaine.org/services/apiVersion/[mon-service]/</span></div></li> |
<li><div class="src-line"><a name="a125"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">string </span><span class="src-doc">par défaut vaut null.</span></div></li> |
<li><div class="src-line"><a name="a126"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a127"></a> <span class="src-key">private </span><span class="src-var">$service </span>= <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a128"></a> </div></li> |
<li><div class="src-line"><a name="a129"></a> <span class="src-doc">/** Morceaux de l'url servant à préciser la ressource concerné pour le service demandé.</span></div></li> |
<li><div class="src-line"><a name="a130"></a><span class="src-doc"> * Ex. http://www.mondomaine.org/services/apiVersion/mon-service/[maRessource/maSousResource...]</span></div></li> |
<li><div class="src-line"><a name="a131"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">array </span></div></li> |
<li><div class="src-line"><a name="a132"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a133"></a> <span class="src-key">private </span><span class="src-var">$ressources </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a134"></a> </div></li> |
<li><div class="src-line"><a name="a135"></a> <span class="src-doc">/** Partie de l'url situé après le '?' servant à paramétrer le service demandé.</span></div></li> |
<li><div class="src-line"><a name="a136"></a><span class="src-doc"> * Ex. http://www.mondomaine.org/services/apiVersion/mon-service?monParametre1=maValeur1&monParametre2=maValeur2</span></div></li> |
<li><div class="src-line"><a name="a137"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">array </span></div></li> |
<li><div class="src-line"><a name="a138"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a139"></a> <span class="src-key">private </span><span class="src-var">$parametres </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a140"></a> </div></li> |
<li><div class="src-line"><a name="a141"></a> <span class="src-doc">/** Tableau contenant les paramètres de configuration du serveur.</span></div></li> |
<li><div class="src-line"><a name="a142"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">array </span></div></li> |
<li><div class="src-line"><a name="a143"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a144"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$config </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a145"></a> </div></li> |
<li><div class="src-line"><a name="a146"></a> <span class="src-doc">/** Codes HTTP. */</span></div></li> |
<li><div class="src-line"><a name="a147"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$http10 </span>= <span class="src-key">array</span><span class="src-sym">(</span></div></li> |
<li><div class="src-line"><a name="a148"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">HTTP_CODE_OK </span>=> <span class="src-str">'OK'</span><span class="src-sym">, </span></div></li> |
<li><div class="src-line"><a name="a149"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">HTTP_CODE_CREATION_OK </span>=> <span class="src-str">'Created'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a150"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">HTTP_CODE_SUPPRESSION_OK </span>=> <span class="src-str">'No Content'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a151"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">HTTP_CODE_MAUVAISE_REQUETE </span>=> <span class="src-str">'Bad Request'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a152"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">HTTP_CODE_ACCES_NON_AUTORISE </span>=> <span class="src-str">'Unauthorized'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a153"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">HTTP_CODE_RESSOURCE_INTROUVABLE </span>=> <span class="src-str">'Not Found'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a154"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">HTTP_CODE_METHODE_NON_AUTORISE </span>=> <span class="src-str">'Method Not Allowed'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a155"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">HTTP_CODE_CONFLIT </span>=> <span class="src-str">'Conflict'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a156"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">HTTP_CODE_CONTENU_REQUIS </span>=> <span class="src-str">'Length Required'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a157"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">HTTP_CODE_ERREUR </span>=> <span class="src-str">'Internal Server Error'</span></div></li> |
<li><div class="src-line"><a name="a158"></a> <span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a159"></a> </div></li> |
<li><div class="src-line"><a name="a160"></a> <span class="src-doc">/** Tableau des noms des paramètres à définir dans le fichier de config car obligatoirement nécessaire à cette classe.*/</span></div></li> |
<li><div class="src-line"><a name="a161"></a> <span class="src-key">private </span><span class="src-var">$parametres_obligatoires </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'debogage'</span><span class="src-sym">, </span><span class="src-str">'debogage_mode'</span><span class="src-sym">, </span><span class="src-str">'serveur.baseURL'</span><span class="src-sym">, </span><span class="src-str">'chemin_modules'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a162"></a> </div></li> |
<li><div class="src-line"><a name="a163"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a164"></a><span class="src-doc"> * Analyse les données envoyées au serveur, enregistre la méthode HTTP utilisée pour appeler le serveur et parse</span></div></li> |
<li><div class="src-line"><a name="a165"></a><span class="src-doc"> * l'url appelée pour trouver le service demandé.</span></div></li> |
<li><div class="src-line"><a name="a166"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a167"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/RestServeur.html#method__construct">__construct</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a168"></a> <span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodverifierPresenceParametres">verifierPresenceParametres</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">parametres_obligatoires</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a169"></a> </div></li> |
<li><div class="src-line"><a name="a170"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$debogageActivation </span>= <span class="src-id">Config</span><span class="src-sym">::</span><span class="src-id">get</span><span class="src-sym">(</span><span class="src-str">'debogage'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a171"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$debogageMode </span>= <span class="src-id">Config</span><span class="src-sym">::</span><span class="src-id">get</span><span class="src-sym">(</span><span class="src-str">'debogage_mode'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a172"></a> </div></li> |
<li><div class="src-line"><a name="a173"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'REQUEST_URI'</span><span class="src-sym">]</span><span class="src-sym">) </span>&& isset<span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'REQUEST_METHOD'</span><span class="src-sym">]</span><span class="src-sym">) </span>&& isset<span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'QUERY_STRING'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a174"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">initialiserMethode</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a175"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">initialiserRequeteDonnees</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a176"></a> </div></li> |
<li><div class="src-line"><a name="a177"></a> <span class="src-var">$urlParts </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">decouperUrlChemin</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a178"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">initialiserApiVersion</span><span class="src-sym">(</span><a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$urlParts</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a179"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">initialiserServiceNom</span><span class="src-sym">(</span><a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$urlParts</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a180"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">initialiserRessource</span><span class="src-sym">(</span><span class="src-var">$urlParts</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a181"></a> </div></li> |
<li><div class="src-line"><a name="a182"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">initialiserParametres</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a183"></a> <span class="src-id"><a href="../Framework/Debug.html">Debug</a></span><span class="src-sym">::</span><a href="../Framework/Debug.html#methodprintr">printr</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a184"></a> <span class="src-comm">// Enregistrement en première position des autoload de la méthode gérant les classes des services </span></div></li> |
<li><div class="src-line"><a name="a185"></a> <a href="http://www.php.net/spl_autoload_register">spl_autoload_register</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><a href="http://www.php.net/get_class">get_class</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-str">'chargerClasse'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a186"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a187"></a> <span class="src-var">$e </span>= <span class="src-str">"La classe Serveur du TBFRamework nécessite, pour fonctionner, l'accès aux variables serveurs REQUEST_URI, REQUEST_METHOD et QUERY_STRING."</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a188"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-var">$e</span><span class="src-sym">, </span><span class="src-id">E_USER_ERROR</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a189"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a190"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a191"></a> </div></li> |
<li><div class="src-line"><a name="a192"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">initialiserMethode</span><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a193"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'HTTP_X_HTTP_METHOD_OVERRIDE'</span><span class="src-sym">]</span><span class="src-sym">) </span>&& <a href="http://www.php.net/count">count</a><span class="src-sym">(</span><a href="http://www.php.net/trim">trim</a><span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'HTTP_X_HTTP_METHOD_OVERRIDE'</span><span class="src-sym">]</span><span class="src-sym">)) </span>> <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a194"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">methode </span>= <a href="http://www.php.net/trim">trim</a><span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'X_HTTP_METHOD_OVERRIDE'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a195"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a196"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">methode </span>= <span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'REQUEST_METHOD'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a197"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a198"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a199"></a> </div></li> |
<li><div class="src-line"><a name="a200"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">initialiserRequeteDonnees</span><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a201"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'CONTENT_LENGTH'</span><span class="src-sym">]</span><span class="src-sym">) </span>&& <span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'CONTENT_LENGTH'</span><span class="src-sym">] </span>> <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a202"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">requeteDonnees </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a203"></a> <span class="src-var">$httpContent </span>= <a href="http://www.php.net/fopen">fopen</a><span class="src-sym">(</span><span class="src-str">'php://input'</span><span class="src-sym">, </span><span class="src-str">'r'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a204"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-var">$data </span>= <a href="http://www.php.net/fread">fread</a><span class="src-sym">(</span><span class="src-var">$httpContent</span><span class="src-sym">, </span><span class="src-num">1024</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a205"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">requeteDonnees </span>.= <span class="src-var">$data</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a206"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a207"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$httpContent</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a208"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a209"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a210"></a> </div></li> |
<li><div class="src-line"><a name="a211"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">decouperUrlChemin</span><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a212"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'QUERY_STRING'</span><span class="src-sym">]</span><span class="src-sym">) </span>== <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a213"></a> <span class="src-var">$tailleURL </span>= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'REQUEST_URI'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a214"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a215"></a> <span class="src-var">$tailleURL </span>= -<span class="src-sym">(</span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'QUERY_STRING'</span><span class="src-sym">]</span><span class="src-sym">) </span>+ <span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a216"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a217"></a> <span class="src-var">$urlChaine </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a218"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'REQUEST_URI'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'serveur.baseURL'</span><span class="src-sym">)) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a219"></a> <span class="src-var">$urlChaine </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'REQUEST_URI'</span><span class="src-sym">]</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'serveur.baseURL'</span><span class="src-sym">))</span><span class="src-sym">, </span><span class="src-var">$tailleURL</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a220"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'REQUEST_URI'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'serveur.baseAlternativeURL'</span><span class="src-sym">)) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a221"></a> <span class="src-var">$urlChaine </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'REQUEST_URI'</span><span class="src-sym">]</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'serveur.baseAlternativeURL'</span><span class="src-sym">))</span><span class="src-sym">, </span><span class="src-var">$tailleURL</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a222"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a223"></a> <span class="src-key">return </span><a href="http://www.php.net/explode">explode</a><span class="src-sym">(</span><span class="src-str">'/'</span><span class="src-sym">, </span><span class="src-var">$urlChaine</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a224"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a225"></a> </div></li> |
<li><div class="src-line"><a name="a226"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">initialiserApiVersion</span><span class="src-sym">(</span><span class="src-var">$apiVersion</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a227"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$apiVersion</span><span class="src-sym">) </span>&& <span class="src-sym">!</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$apiVersion</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a228"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">apiVersion </span>= <span class="src-var">$apiVersion</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a229"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$config</span><span class="src-sym">[</span><span class="src-str">'chemins'</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'api'</span><span class="src-sym">] </span>= <span class="src-id">Config</span><span class="src-sym">::</span><span class="src-id">get</span><span class="src-sym">(</span><span class="src-str">'chemin_modules'</span><span class="src-sym">)</span>.<span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">apiVersion</span>.<span class="src-id">DS</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a230"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a231"></a> <span class="src-var">$e </span>= <span class="src-str">"Aucune version d'API n'a été spécifié dans l'url qui doit avoir la forme suivante http://www.mondomaine.org/services/apiVersion/monService/"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a232"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-var">$e</span><span class="src-sym">, </span><span class="src-id">E_USER_ERROR</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a233"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a234"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a235"></a> </div></li> |
<li><div class="src-line"><a name="a236"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">initialiserServiceNom</span><span class="src-sym">(</span><span class="src-var">$serviceNom</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a237"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$serviceNom</span><span class="src-sym">) </span>&& <span class="src-sym">!</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$serviceNom</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a238"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">service </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">traiterNomService</span><span class="src-sym">(</span><span class="src-var">$serviceNom</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a239"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a240"></a> <span class="src-var">$e </span>= <span class="src-str">"Aucun service n'a été spécifié dans l'url qui doit avoir la forme suivante http://www.mondomaine.org/services/apiVersion/monService/"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a241"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-var">$e</span><span class="src-sym">, </span><span class="src-id">E_USER_ERROR</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a242"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a243"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a244"></a> </div></li> |
<li><div class="src-line"><a name="a245"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">traiterNomService</span><span class="src-sym">(</span><span class="src-var">$serviceNom</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a246"></a> <span class="src-key">return </span><a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-str">' '</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><a href="http://www.php.net/ucwords">ucwords</a><span class="src-sym">(</span><a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-str">'-'</span><span class="src-sym">, </span><span class="src-str">' '</span><span class="src-sym">, </span><a href="http://www.php.net/strtolower">strtolower</a><span class="src-sym">(</span><span class="src-var">$serviceNom</span><span class="src-sym">))))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a247"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a248"></a> </div></li> |
<li><div class="src-line"><a name="a249"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">initialiserRessource</span><span class="src-sym">(</span><span class="src-var">$urlParts</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a250"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$urlParts</span><span class="src-sym">) </span>&& <a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$urlParts</span><span class="src-sym">) </span>> <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a251"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$urlParts </span><span class="src-key">as </span><span class="src-var">$ressource</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a252"></a> <span class="src-comm">// Ne pas utiliser empty() car valeur 0 acceptée</span></div></li> |
<li><div class="src-line"><a name="a253"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$ressource </span>!= <span class="src-str">''</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a254"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">ressources</span><span class="src-sym">[</span><span class="src-sym">] </span>= <a href="http://www.php.net/urldecode">urldecode</a><span class="src-sym">(</span><span class="src-var">$ressource</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a255"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a256"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a257"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a258"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a259"></a> </div></li> |
<li><div class="src-line"><a name="a260"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">initialiserParametres</span><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a261"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">nettoyerGet</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a262"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">parametres </span>= <span class="src-var">$_GET</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a263"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a264"></a> </div></li> |
<li><div class="src-line"><a name="a265"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">nettoyerGet</span><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a266"></a> <span class="src-comm">// Pas besoin d'utiliser urldecode car déjà fait par php pour les clés et valeur de $_GET </span></div></li> |
<li><div class="src-line"><a name="a267"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$_GET</span><span class="src-sym">) </span>&& <a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$_GET</span><span class="src-sym">) </span>> <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a268"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$_GET </span><span class="src-key">as </span><span class="src-var">$cle </span>=> <span class="src-var">$valeur</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a269"></a> <span class="src-var">$verifier </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'NULL'</span><span class="src-sym">, </span><span class="src-str">"\n"</span><span class="src-sym">, </span><span class="src-str">"\r"</span><span class="src-sym">, </span><span class="src-str">"\\"</span><span class="src-sym">, </span><span class="src-str">"'"</span><span class="src-sym">, </span><span class="src-str">'"'</span><span class="src-sym">, </span><span class="src-str">"\x00"</span><span class="src-sym">, </span><span class="src-str">"\x1a"</span><span class="src-sym">, </span><span class="src-str">';'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a270"></a> <span class="src-var">$_GET</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">] </span>= <a href="http://www.php.net/strip_tags">strip_tags</a><span class="src-sym">(</span><a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-var">$verifier</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-var">$valeur</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a271"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a272"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a273"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a274"></a> </div></li> |
<li><div class="src-line"><a name="a275"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a276"></a><span class="src-doc"> * La méthode __autoload() charge dynamiquement les classes trouvées dans le code.</span></div></li> |
<li><div class="src-line"><a name="a277"></a><span class="src-doc"> * Cette fonction est appelée par php5 quand il trouve une instanciation de classe dans le code.</span></div></li> |
<li><div class="src-line"><a name="a278"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a279"></a><span class="src-doc"> *</span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc">le nom de la classe appelée.</span></div></li> |
<li><div class="src-line"><a name="a280"></a><span class="src-doc"> *</span><span class="src-doc-coretag">@return </span><span class="src-doc-type">void </span><span class="src-doc">le fichier contenant la classe doit être inclu par la fonction.</span></div></li> |
<li><div class="src-line"><a name="a281"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a282"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/RestServeur.html#methodchargerClasse">chargerClasse</a><span class="src-sym">(</span><span class="src-var">$classe</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a283"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/class_exists">class_exists</a><span class="src-sym">(</span><span class="src-var">$classe</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a284"></a> <span class="src-key">return </span><span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a285"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a286"></a> </div></li> |
<li><div class="src-line"><a name="a287"></a> <span class="src-var">$chemins </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$config</span><span class="src-sym">[</span><span class="src-str">'chemins'</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'api'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a288"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$chemins </span><span class="src-key">as </span><span class="src-var">$chemin</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a289"></a> <span class="src-var">$chemin </span>= <span class="src-var">$chemin</span>.<span class="src-var">$classe</span>.<span class="src-str">'.php'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a290"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">file_exists</span><span class="src-sym">(</span><span class="src-var">$chemin</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a291"></a> <span class="src-inc">require_once </span><span class="src-var">$chemin</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a292"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a293"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a294"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a295"></a> </div></li> |
<li><div class="src-line"><a name="a296"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a297"></a><span class="src-doc"> * Execute la requête.</span></div></li> |
<li><div class="src-line"><a name="a298"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a299"></a> <span class="src-key">function </span><a href="../Framework/RestServeur.html#methodexecuter">executer</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a300"></a> <span class="src-key">switch </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">methode</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a301"></a> <span class="src-key">case </span><span class="src-str">'GET'</span>:</div></li> |
<li><div class="src-line"><a name="a302"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">get</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a303"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a304"></a> <span class="src-key">case </span><span class="src-str">'POST'</span>:</div></li> |
<li><div class="src-line"><a name="a305"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">post</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a306"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a307"></a> <span class="src-key">case </span><span class="src-str">'DELETE'</span>:</div></li> |
<li><div class="src-line"><a name="a308"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">delete</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a309"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a310"></a> <span class="src-key">case </span><span class="src-str">'PUT'</span>:</div></li> |
<li><div class="src-line"><a name="a311"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">put</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a312"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a313"></a> <span class="src-key">default </span>:</div></li> |
<li><div class="src-line"><a name="a314"></a> <span class="src-var">$e </span>= <span class="src-str">"</span><span class="src-str">La méthode HTTP '{<span class="src-var">$this</span></span><span class="src-sym">-></span><span class="src-var">methode</span><span class="src-sym">}</span>' n'est pas prise en compte par ce serveur REST.</span><span class="src-str"><span class="src-str">"</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a315"></a></span><span class="src-str"> <span class="src-id">trigger_error</span><span class="src-sym">(</span><span class="src-var">$e</span><span class="src-sym">,</span> <span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a316"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a317"></a></span><span class="src-str"> <span class="src-comm">// Affichage des exceptions et erreurs générées par les services</span></span></div></li> |
<li><div class="src-line"><a name="a318"></a></span><span class="src-str"><span class="src-comm"></span> <span class="src-var">$this</span></span><span class="src-sym">-></span><a href="../Framework/RestServeur.html#methodgererErreurs">gererErreurs</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a319"></a> </span><span class="src-str"><span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a320"></a> </div></li> |
<li><div class="src-line"><a name="a321"></a></span><span class="src-str"> /**</span></div></li> |
<li><div class="src-line"><a name="a322"></a></span><span class="src-str"> * Execute a GET request. A GET request fetches a list of resource when no resource name is given, a list of element</span></div></li> |
<li><div class="src-line"><a name="a323"></a></span><span class="src-str"> * when a resource name is given, or a resource element when a resource and resource unique identifier are given. It does not change the</span></div></li> |
<li><div class="src-line"><a name="a324"></a></span><span class="src-str"> * database contents.</span></div></li> |
<li><div class="src-line"><a name="a325"></a></span><span class="src-str"> */</span></div></li> |
<li><div class="src-line"><a name="a326"></a></span><span class="src-str"> <span class="src-key">private</span> <span class="src-key">function</span> <span class="src-id">get</span><span class="src-sym">(</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a327"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">service</span> != <span class="src-id">null</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a328"></a></span><span class="src-str"> <span class="src-var">$Service</span> = <span class="src-key">new</span> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">service</span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$config</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a329"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span><span class="src-id">method_exists</span><span class="src-sym">(</span><span class="src-var">$Service</span><span class="src-sym">,</span> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">METHODE_GET</span><span class="src-sym">))</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a330"></a></span><span class="src-str"> <span class="src-var">$methodeGet</span> = <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">METHODE_GET</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a331"></a></span><span class="src-str"> <span class="src-var">$Service</span><span class="src-sym">-></span><span class="src-var">$methodeGet</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">ressources</span><span class="src-sym">,</span> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">parametres</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a332"></a></span><span class="src-str"> <span class="src-sym">}</span> <span class="src-key">else</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a333"></a></span><span class="src-str"> <span class="src-var">$e</span> = </span><span class="src-str">"</span>Le service '{<span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">service</span><span class="src-sym">}</span>' ne contient pas la méthode '<span class="src-str">"</span><span class="src-str">.<span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">METHODE_GET</span>.<span class="src-str">"' nécessaire "</span>.</span></div></li> |
<li><div class="src-line"><a name="a334"></a></span><span class="src-str"> <span class="src-str">"lors de l'appel du service via la méthode HTTP GET."</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a335"></a></span><span class="src-str"> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-var">$e</span><span class="src-sym">,</span> <span class="src-id">E_USER_ERROR</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a336"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a337"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a338"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a339"></a> </div></li> |
<li><div class="src-line"><a name="a340"></a></span><span class="src-str"> <span class="src-key">private</span> <span class="src-key">function</span> <span class="src-id">post</span><span class="src-sym">(</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a341"></a></span><span class="src-str"> <span class="src-var">$paires</span> = <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">parserDonneesRequete</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a342"></a> </div></li> |
<li><div class="src-line"><a name="a343"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$paires</span><span class="src-sym">)</span> != <span class="src-num">0</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a344"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$paires</span><span class="src-sym">[</span><span class="src-str">'action'</span><span class="src-sym">]</span><span class="src-sym">)</span> && <span class="src-var">$paires</span><span class="src-sym">[</span><span class="src-str">'action'</span><span class="src-sym">]</span> == <span class="src-str">'DELETE'</span><span class="src-sym">)</span> <span class="src-sym">{</span><span class="src-comm">// Altnative à l'utilisation de DELETE</span></span></div></li> |
<li><div class="src-line"><a name="a345"></a></span><span class="src-str"><span class="src-comm"></span> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">delete</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a346"></a></span><span class="src-str"> <span class="src-sym">}</span> <span class="src-key">else</span> <span class="src-key">if</span> <span class="src-sym">(</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">ressources</span><span class="src-sym">)</span> == <span class="src-num">0</span><span class="src-sym">)</span> <span class="src-sym">{</span><span class="src-comm">// Altnative à l'utilisation de PUT</span></span></div></li> |
<li><div class="src-line"><a name="a347"></a></span><span class="src-str"><span class="src-comm"></span> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">add</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a348"></a></span><span class="src-str"> <span class="src-sym">}</span> <span class="src-key">else</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a349"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">service</span> != <span class="src-id">null</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a350"></a></span><span class="src-str"> <span class="src-var">$Service</span> = <span class="src-key">new</span> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">service</span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$config</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a351"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span><span class="src-id">method_exists</span><span class="src-sym">(</span><span class="src-var">$Service</span><span class="src-sym">,</span> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">METHODE_POST</span><span class="src-sym">))</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a352"></a></span><span class="src-str"> <span class="src-var">$methodePost</span> = <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">METHODE_POST</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a353"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span><span class="src-var">$Service</span><span class="src-sym">-></span><span class="src-var">$methodePost</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">ressources</span><span class="src-sym">,</span> <span class="src-var">$paires</span><span class="src-sym">))</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a354"></a></span><span class="src-str"> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/RestServeur.html#methodenvoyerEnteteStatutHttp">envoyerEnteteStatutHttp</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">HTTP_CODE_CREATION_OK</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a355"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a356"></a></span><span class="src-str"> <span class="src-sym">}</span> <span class="src-key">else</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a357"></a></span><span class="src-str"> <span class="src-var">$e</span> = <span class="src-str">"</span></span>Le service '{<span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">service</span><span class="src-sym">}</span>' ne contient pas la méthode '<span class="src-str">"</span><span class="src-str">.<span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">METHODE_POST</span>.<span class="src-str">"' nécessaire "</span>.</span></div></li> |
<li><div class="src-line"><a name="a358"></a></span><span class="src-str"> <span class="src-str">"lors de l'appel du service via la méthode HTTP POST."</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a359"></a></span><span class="src-str"> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-var">$e</span><span class="src-sym">,</span> <span class="src-id">E_USER_ERROR</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a360"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a361"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a362"></a></span><span class="src-str"> <span class="src-sym">}</span> </span></div></li> |
<li><div class="src-line"><a name="a363"></a></span><span class="src-str"> <span class="src-sym">}</span> <span class="src-key">else</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a364"></a></span><span class="src-str"> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/RestServeur.html#methodenvoyerEnteteStatutHttp">envoyerEnteteStatutHttp</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">HTTP_CODE_CONTENU_REQUIS</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a365"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a366"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a367"></a> </div></li> |
<li><div class="src-line"><a name="a368"></a></span><span class="src-str"> <span class="src-key">private</span> <span class="src-key">function</span> <span class="src-id">put</span><span class="src-sym">(</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a369"></a></span><span class="src-str"> <span class="src-var">$paires</span> = <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">parserDonneesRequete</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a370"></a> </div></li> |
<li><div class="src-line"><a name="a371"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$paires</span><span class="src-sym">)</span> != <span class="src-num">0</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a372"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">service</span> != <span class="src-id">null</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a373"></a></span><span class="src-str"> <span class="src-var">$Service</span> = <span class="src-key">new</span> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">service</span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$config</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a374"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span><span class="src-id">method_exists</span><span class="src-sym">(</span><span class="src-var">$Service</span><span class="src-sym">,</span> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">METHODE_PUT</span><span class="src-sym">))</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a375"></a></span><span class="src-str"> <span class="src-var">$methodePut</span> = <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">METHODE_PUT</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a376"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span><span class="src-var">$Service</span><span class="src-sym">-></span><span class="src-var">$methodePut</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">ressources</span><span class="src-sym">,</span> <span class="src-var">$paires</span><span class="src-sym">))</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a377"></a></span><span class="src-str"> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/RestServeur.html#methodenvoyerEnteteStatutHttp">envoyerEnteteStatutHttp</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">HTTP_CODE_CREATION_OK</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a378"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a379"></a></span><span class="src-str"> <span class="src-sym">}</span> <span class="src-key">else</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a380"></a></span><span class="src-str"> <span class="src-var">$e</span> = <span class="src-str">"</span></span>Le service '{<span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">service</span><span class="src-sym">}</span>' ne contient pas la méthode '<span class="src-str">"</span><span class="src-str">.<span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">METHODE_PUT</span>.<span class="src-str">"' nécessaire "</span>.</span></div></li> |
<li><div class="src-line"><a name="a381"></a></span><span class="src-str"> <span class="src-str">"lors de l'appel du service via la méthode HTTP PUT (ou équivalant)."</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a382"></a></span><span class="src-str"> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-var">$e</span><span class="src-sym">,</span> <span class="src-id">E_USER_ERROR</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a383"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a384"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a385"></a></span><span class="src-str"> <span class="src-sym">}</span> <span class="src-key">else</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a386"></a></span><span class="src-str"> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/RestServeur.html#methodenvoyerEnteteStatutHttp">envoyerEnteteStatutHttp</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">HTTP_CODE_CONTENU_REQUIS</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a387"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a388"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a389"></a> </div></li> |
<li><div class="src-line"><a name="a390"></a></span><span class="src-str"> <span class="src-key">private</span> <span class="src-key">function</span> <span class="src-id">delete</span><span class="src-sym">(</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a391"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">ressources</span><span class="src-sym">)</span> != <span class="src-num">0</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a392"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">service</span> != <span class="src-id">null</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a393"></a></span><span class="src-str"> <span class="src-var">$Service</span> = <span class="src-key">new</span> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">service</span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$config</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a394"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span><span class="src-id">method_exists</span><span class="src-sym">(</span><span class="src-var">$Service</span><span class="src-sym">,</span> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">METHODE_DELETE</span><span class="src-sym">))</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a395"></a></span><span class="src-str"> <span class="src-var">$methodeDelete</span> = <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">METHODE_DELETE</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a396"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span><span class="src-var">$Service</span><span class="src-sym">-></span><span class="src-var">$methodeDelete</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">ressources</span><span class="src-sym">,</span> <span class="src-var">$paires</span><span class="src-sym">))</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a397"></a></span><span class="src-str"> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/RestServeur.html#methodenvoyerEnteteStatutHttp">envoyerEnteteStatutHttp</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">HTTP_CODE_SUPPRESSION_OK</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a398"></a></span><span class="src-str"> <span class="src-sym">}</span> <span class="src-key">else</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a399"></a></span><span class="src-str"> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/RestServeur.html#methodenvoyerEnteteStatutHttp">envoyerEnteteStatutHttp</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">HTTP_CODE_RESSOURCE_INTROUVABLE</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a400"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a401"></a></span><span class="src-str"> <span class="src-sym">}</span> <span class="src-key">else</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a402"></a></span><span class="src-str"> <span class="src-var">$e</span> = <span class="src-str">"</span></span>Le service '{<span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">service</span><span class="src-sym">}</span>' ne contient pas la méthode '<span class="src-str">"</span><span class="src-str">.<span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">METHODE_DELETE</span>.<span class="src-str">"' nécessaire "</span>.</span></div></li> |
<li><div class="src-line"><a name="a403"></a></span><span class="src-str"> <span class="src-str">"lors de l'appel du service via la méthode HTTP DELETE (ou équivalant)."</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a404"></a></span><span class="src-str"> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-var">$e</span><span class="src-sym">,</span> <span class="src-id">E_USER_ERROR</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a405"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a406"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a407"></a></span><span class="src-str"> <span class="src-sym">}</span> <span class="src-key">else</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a408"></a></span><span class="src-str"> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/RestServeur.html#methodenvoyerEnteteStatutHttp">envoyerEnteteStatutHttp</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">HTTP_CODE_MAUVAISE_REQUETE</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a409"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a410"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a411"></a></span><span class="src-str"> </span></div></li> |
<li><div class="src-line"><a name="a412"></a><span class="src-doc">/**</span><span class="src-str"> </span></span></div></li> |
<li><div class="src-line"><a name="a413"></a><span class="src-doc"> * Parse les données contenu dans le corps de la requête HTTP (= POST) en :</span></div></li> |
<li><div class="src-line"><a name="a414"></a><span class="src-doc"> * - décodant les clés et valeurs.</span></div></li> |
<li><div class="src-line"><a name="a415"></a><span class="src-doc"> * - supprimant les espaces en début et fin des clés et des valeurs.</span></div></li> |
<li><div class="src-line"><a name="a416"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a417"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc">Tableau de paires clé et valeur.</span></div></li> |
<li><div class="src-line"><a name="a418"></a><span class="src-doc"> */</span><span class="src-str"></span></span></div></li> |
<li><div class="src-line"><a name="a419"></a></span><span class="src-str"> <span class="src-key">private</span> <span class="src-key">function</span> <span class="src-id">parserDonneesRequete</span><span class="src-sym">(</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a420"></a></span><span class="src-str"> <span class="src-var">$donnees</span> = <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a421"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">$requeteDonneesParsees</span> != <span class="src-id">null</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a422"></a></span><span class="src-str"> <span class="src-var">$donnees</span> = <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">$requeteDonneesParsees</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a423"></a></span><span class="src-str"> <span class="src-sym">}</span> <span class="src-key">else</span> <span class="src-key">if</span> <span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requeteDonnees</span> != <span class="src-id">null</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a424"></a></span><span class="src-str"> <span class="src-var">$paires</span> = <a href="http://www.php.net/explode">explode</a><span class="src-sym">(</span><span class="src-str">'&'</span><span class="src-sym">,</span> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requeteDonnees</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a425"></a></span><span class="src-str"> <span class="src-key">foreach</span> <span class="src-sym">(</span><span class="src-var">$paires</span> <span class="src-key">as</span> <span class="src-var">$paire</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a426"></a></span><span class="src-str"> list<span class="src-sym">(</span><span class="src-var">$cle</span><span class="src-sym">,</span> <span class="src-var">$valeur</span><span class="src-sym">)</span> = <a href="http://www.php.net/explode">explode</a><span class="src-sym">(</span><span class="src-str">'='</span><span class="src-sym">,</span> <span class="src-var">$paire</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a427"></a></span><span class="src-str"> <span class="src-var">$cle</span> = <span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$cle</span><span class="src-sym">))</span> ? <a href="http://www.php.net/trim">trim</a><span class="src-sym">(</span><a href="http://www.php.net/urldecode">urldecode</a><span class="src-sym">(</span><span class="src-var">$cle</span><span class="src-sym">))</span> : <span class="src-str">''</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a428"></a></span><span class="src-str"> <span class="src-var">$valeur</span> = <span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$valeur</span><span class="src-sym">))</span> ? <a href="http://www.php.net/trim">trim</a><span class="src-sym">(</span><a href="http://www.php.net/urldecode">urldecode</a><span class="src-sym">(</span><span class="src-var">$valeur</span><span class="src-sym">))</span> : <span class="src-str">''</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a429"></a></span><span class="src-str"> <span class="src-var">$donnees</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">]</span> = <span class="src-var">$valeur</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a430"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a431"></a></span><span class="src-str"> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">$requeteDonneesParsees</span> = <span class="src-var">$donnees</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a432"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a433"></a></span><span class="src-str"> <span class="src-key">return</span> <span class="src-var">$donnees</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a434"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a435"></a></span><span class="src-str"> </span></div></li> |
<li><div class="src-line"><a name="a436"></a><span class="src-doc">/**</span><span class="src-str"> </span></span></div></li> |
<li><div class="src-line"><a name="a437"></a><span class="src-doc"> * Envoyer un entête HTTP (version 1.0) de statut.</span></div></li> |
<li><div class="src-line"><a name="a438"></a><span class="src-doc"> * Il remplacera systématiquement tout entête HTTP de statut précédement envoyé.</span></div></li> |
<li><div class="src-line"><a name="a439"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$code </span><span class="src-doc">entier indiquant le code du statut de l'entête HTTP à envoyer.</span></div></li> |
<li><div class="src-line"><a name="a440"></a><span class="src-doc"> */</span><span class="src-str"></span></span></div></li> |
<li><div class="src-line"><a name="a441"></a></span><span class="src-str"> <span class="src-key">public</span> <span class="src-key">static</span> <span class="src-key">function</span> <a href="../Framework/RestServeur.html#methodenvoyerEnteteStatutHttp">envoyerEnteteStatutHttp</a><span class="src-sym">(</span><span class="src-var">$code</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a442"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$http10</span><span class="src-sym">[</span><span class="src-var">$code</span><span class="src-sym">]</span><span class="src-sym">))</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a443"></a></span><span class="src-str"> <span class="src-var">$txt</span> = <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$http10</span><span class="src-sym">[</span><span class="src-var">$code</span><span class="src-sym">]</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a444"></a></span><span class="src-str"> <span class="src-id">header</span><span class="src-sym">(</span><span class="src-str">"</span></span>HTTP/1.0 <span class="src-var">$code $txt</span><span class="src-str">"</span><span class="src-str"><span class="src-sym">,</span> <span class="src-id">true</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a445"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a446"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a447"></a></span><span class="src-str"> </span></div></li> |
<li><div class="src-line"><a name="a448"></a></span><span class="src-str"> /**</span></div></li> |
<li><div class="src-line"><a name="a449"></a></span><span class="src-str"> * Si des exceptions ou des erreurs sont soulevées par le serveur ou les services, elles sont gérées par cette méthode.</span></div></li> |
<li><div class="src-line"><a name="a450"></a></span><span class="src-str"> * Si nous avec des erreurs d'un type différent d'E_USER_NOTICE (réservé au débogage), elle sont renvoyées sur la sortie </span></div></li> |
<li><div class="src-line"><a name="a451"></a></span><span class="src-str"> * standard (via echo).</span></div></li> |
<li><div class="src-line"><a name="a452"></a></span><span class="src-str"> * Si seulement des erreurs de type E_USER_NOTICE, sont présentes, elle sont envoyées en fonction du contenu du paramètre de </span></div></li> |
<li><div class="src-line"><a name="a453"></a></span><span class="src-str"> * config "debogage_mode" :</span></div></li> |
<li><div class="src-line"><a name="a454"></a></span><span class="src-str"> * - Debug::MODE_ECHO : les messages sont affichés en utilisant echo au moment où ils sont déclenchés dans le code. </span></div></li> |
<li><div class="src-line"><a name="a455"></a></span><span class="src-str"> * - Debug::MODE_NOTICE : les message sont stockés par le gestionnaire d'exception sous forme d'erreur de type </span></div></li> |
<li><div class="src-line"><a name="a456"></a></span><span class="src-str"> * E_USER_NOTICE et sont renvoyés sur la sortie standard à la fin de l'execution du programme (via echo).</span></div></li> |
<li><div class="src-line"><a name="a457"></a></span><span class="src-str"> * - Debug::MODE_ENTETE_HTTP : les message sont stockés par le gestionnaire d'exception sous forme d'erreur de type </span></div></li> |
<li><div class="src-line"><a name="a458"></a></span><span class="src-str"> * E_USER_NOTICE et sont renvoyés dans un entête HTTP (X_REST_DEBOGAGE_MESSAGES) à la fin de l'execution du programme.</span></div></li> |
<li><div class="src-line"><a name="a459"></a></span><span class="src-str"> * - Autre valeur : les messages sont formatés puis retournés par la fonction de débogage (à vous de les afficher).</span></div></li> |
<li><div class="src-line"><a name="a460"></a></span><span class="src-str"> */</span></div></li> |
<li><div class="src-line"><a name="a461"></a></span><span class="src-str"> <span class="src-key">public</span> <span class="src-key">static</span> <span class="src-key">function</span> <span class="src-id">gererErreurs</span><span class="src-sym">(</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a462"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$debogageActivation</span> && <span class="src-id">GestionnaireException</span><span class="src-sym">::</span><span class="src-id">getExceptionsNbre</span><span class="src-sym">(</span><span class="src-sym">)</span> > <span class="src-num">0</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a463"></a></span><span class="src-str"> <span class="src-var">$exceptionsTriees</span> = <span class="src-id">GestionnaireException</span><span class="src-sym">::</span><span class="src-id">getExceptionsTriees</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a464"></a></span><span class="src-str"> <span class="src-id">reset</span><span class="src-sym">(</span><span class="src-var">$exceptionsTriees</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a465"></a></span><span class="src-str"> <span class="src-var">$debogageSeulement</span> = <span class="src-id">true</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a466"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span><span class="src-sym">!</span> <span class="src-sym">(</span><span class="src-id">count</span><span class="src-sym">(</span><span class="src-var">$exceptionsTriees</span><span class="src-sym">)</span> == <span class="src-num">1</span> && <span class="src-id">key</span><span class="src-sym">(</span><span class="src-var">$exceptionsTriees</span><span class="src-sym">)</span> == <span class="src-id">E_USER_NOTICE</span><span class="src-sym">))</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a467"></a></span><span class="src-str"> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">envoyerEnteteStatutHttp</span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">HTTP_CODE_ERREUR</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a468"></a></span><span class="src-str"> <span class="src-var">$debogageSeulement</span> = <span class="src-id">false</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a469"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a470"></a></span><span class="src-str"> </span></div></li> |
<li><div class="src-line"><a name="a471"></a></span><span class="src-str"> <span class="src-var">$exceptionsFormatees</span> = <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a472"></a></span><span class="src-str"> <span class="src-key">foreach</span> <span class="src-sym">(</span><span class="src-var">$exceptionsTriees</span> <span class="src-key">as</span> <span class="src-var">$exceptions</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a473"></a></span><span class="src-str"> <span class="src-key">foreach</span> <span class="src-sym">(</span><span class="src-var">$exceptions</span> <span class="src-key">as</span> <span class="src-var">$e</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a474"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span><span class="src-var">$debogageSeulement</span> && <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$debogageMode</span> == <span class="src-id">Debug</span><span class="src-sym">::</span><span class="src-id">MODE_ENTETE_HTTP</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a475"></a></span><span class="src-str"> <span class="src-var">$exceptionsFormatees</span><span class="src-sym">[</span><span class="src-sym">]</span> = <span class="src-id">GestionnaireException</span><span class="src-sym">::</span><span class="src-id">formaterExceptionTxt</span><span class="src-sym">(</span><span class="src-var">$e</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a476"></a></span><span class="src-str"> <span class="src-sym">}</span> <span class="src-key">else</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a477"></a></span><span class="src-str"> echo <span class="src-id">GestionnaireException</span><span class="src-sym">::</span><span class="src-id">formaterExceptionXhtml</span><span class="src-sym">(</span><span class="src-var">$e</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a478"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a479"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a480"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a481"></a></span><span class="src-str"> </span></div></li> |
<li><div class="src-line"><a name="a482"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span><span class="src-var">$debogageSeulement</span> && <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$debogageMode</span> == <span class="src-id">Debug</span><span class="src-sym">::</span><span class="src-id">MODE_ENTETE_HTTP</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a483"></a></span><span class="src-str"> <span class="src-id">header</span><span class="src-sym">(</span><span class="src-str">'X_REST_DEBOGAGE_MESSAGES: '</span>.<a href="http://www.php.net/json_encode">json_encode</a><span class="src-sym">(</span><span class="src-var">$exceptionsFormatees</span><span class="src-sym">))</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a484"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a485"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a486"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a487"></a></span><span class="src-str"><span class="src-sym">}</span></span></div></li> |
</ol></div> |
</div> |
<p class="notes" id="credit"> |
Documentation generated on Tue, 18 Jan 2011 15:01:41 +0100 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.3</a> |
</p> |
</body> |
</html> |
/trunk/doc/HTMLframesConverter/__filesource/fsource_Framework__CacheFichier.php.html |
---|
New file |
0,0 → 1,891 |
<?xml version="1.0" encoding="UTF-8"?> |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
<html xmlns="http://www.w3.org/1999/xhtml"> |
<head> |
<!-- template designed by Marco Von Ballmoos --> |
<title>File Source for CacheFichier.php</title> |
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'/> |
<link rel="stylesheet" href="../media/stylesheet.css" /> |
</head> |
<body> |
<h1>Source for file CacheFichier.php</h1> |
<p>Documentation is available at <a href="../Framework/_CacheFichier.php.html">CacheFichier.php</a></p> |
<div class="src-code"> |
<div class="src-code"><ol><li><div class="src-line"><a name="a1"></a><span class="src-php"><?php</span></div></li> |
<li><div class="src-line"><a name="a2"></a><span class="src-key">class </span><a href="../Framework/CacheFichier.html">CacheFichier</a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a3"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a4"></a><span class="src-doc"> * Options disponibles</span></div></li> |
<li><div class="src-line"><a name="a5"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a6"></a><span class="src-doc"> * ====> (string) stockage_chemin :</span></div></li> |
<li><div class="src-line"><a name="a7"></a><span class="src-doc"> * Chemin vers le dossier devant contenir l'arborescence du cache.</span></div></li> |
<li><div class="src-line"><a name="a8"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a9"></a><span class="src-doc"> * =====> (boolean) fichier_verrou :</span></div></li> |
<li><div class="src-line"><a name="a10"></a><span class="src-doc"> * - Active / Désactive le verrouillage des fichiers</span></div></li> |
<li><div class="src-line"><a name="a11"></a><span class="src-doc"> * - Peut éviter la corruption du cache dans de mauvaises circonstances, mais cela ne fonctionne pas sur des serveur</span></div></li> |
<li><div class="src-line"><a name="a12"></a><span class="src-doc"> * multithread et sur les systèmes de fichiers NFS par exemple.</span></div></li> |
<li><div class="src-line"><a name="a13"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a14"></a><span class="src-doc"> * =====> (boolean) controle_lecture :</span></div></li> |
<li><div class="src-line"><a name="a15"></a><span class="src-doc"> * - Activer / désactiver le contrôle de lecture</span></div></li> |
<li><div class="src-line"><a name="a16"></a><span class="src-doc"> * - S'il est activé, une clé de contrôle est ajoutée dans le fichier de cache et cette clé est comparée avec celle calculée</span></div></li> |
<li><div class="src-line"><a name="a17"></a><span class="src-doc"> * après la lecture.</span></div></li> |
<li><div class="src-line"><a name="a18"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a19"></a><span class="src-doc"> * =====> (string) controle_lecture_type :</span></div></li> |
<li><div class="src-line"><a name="a20"></a><span class="src-doc"> * Type de contrôle de lecture (seulement si le contrôle de lecture est activé).</span></div></li> |
<li><div class="src-line"><a name="a21"></a><span class="src-doc"> * Les valeurs disponibles sont:</span></div></li> |
<li><div class="src-line"><a name="a22"></a><span class="src-doc"> * - «md5» pour un contrôle md5 (le meilleur mais le plus lent)</span></div></li> |
<li><div class="src-line"><a name="a23"></a><span class="src-doc"> * - «crc32» pour un contrôle de hachage crc32 (un peu moins sécurisé, mais plus rapide, un meilleur choix)</span></div></li> |
<li><div class="src-line"><a name="a24"></a><span class="src-doc"> * - «adler32» pour un contrôle de hachage adler32 (excellent choix aussi, plus rapide que crc32)</span></div></li> |
<li><div class="src-line"><a name="a25"></a><span class="src-doc"> * - «strlen» pour un test de longueur uniquement (le plus rapide)</span></div></li> |
<li><div class="src-line"><a name="a26"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a27"></a><span class="src-doc"> * =====> (int) dossier_niveau :</span></div></li> |
<li><div class="src-line"><a name="a28"></a><span class="src-doc"> * - Permet de réglez le nombre de niveau de sous-dossier que contiendra l'arborescence des dossiers du cache.</span></div></li> |
<li><div class="src-line"><a name="a29"></a><span class="src-doc"> * 0 signifie "pas de sous-dossier pour le cache",</span></div></li> |
<li><div class="src-line"><a name="a30"></a><span class="src-doc"> * 1 signifie "un niveau de sous-dossier",</span></div></li> |
<li><div class="src-line"><a name="a31"></a><span class="src-doc"> * 2 signifie "deux niveaux" ...</span></div></li> |
<li><div class="src-line"><a name="a32"></a><span class="src-doc"> * Cette option peut accélérer le cache seulement lorsque vous avez plusieurs centaines de fichiers de cache.</span></div></li> |
<li><div class="src-line"><a name="a33"></a><span class="src-doc"> * Seuls des tests spécifiques peuvent vous aider à choisir la meilleure valeur possible pour vous.</span></div></li> |
<li><div class="src-line"><a name="a34"></a><span class="src-doc"> * 1 ou 2 peut être est un bon début.</span></div></li> |
<li><div class="src-line"><a name="a35"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a36"></a><span class="src-doc"> * =====> (int) dossier_umask :</span></div></li> |
<li><div class="src-line"><a name="a37"></a><span class="src-doc"> * - Umask pour les sous-dossiers de l'arborescence du cache.</span></div></li> |
<li><div class="src-line"><a name="a38"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a39"></a><span class="src-doc"> * =====> (string) fichier_prefixe :</span></div></li> |
<li><div class="src-line"><a name="a40"></a><span class="src-doc"> * - préfixe pour les fichiers du cache</span></div></li> |
<li><div class="src-line"><a name="a41"></a><span class="src-doc"> * - ATTENTION : faite vraiment attention avec cette option, car une valeur trop générique dans le dossier cache du système</span></div></li> |
<li><div class="src-line"><a name="a42"></a><span class="src-doc"> * (comme /tmp) peut provoquer des catastrophes lors du nettoyage du cache.</span></div></li> |
<li><div class="src-line"><a name="a43"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a44"></a><span class="src-doc"> * =====> (int) fichier_umask :</span></div></li> |
<li><div class="src-line"><a name="a45"></a><span class="src-doc"> * - Umask pour les fichiers de cache</span></div></li> |
<li><div class="src-line"><a name="a46"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a47"></a><span class="src-doc"> * =====> (int) metadonnees_max_taille :</span></div></li> |
<li><div class="src-line"><a name="a48"></a><span class="src-doc"> * - taille maximum pour le tableau de métadonnées du cache (ne changer pas cette valeur sauf si vous savez ce que vous faite)</span></div></li> |
<li><div class="src-line"><a name="a49"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a50"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">array </span><span class="src-doc">options disponibles</span></div></li> |
<li><div class="src-line"><a name="a51"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a52"></a> <span class="src-key">protected </span><a href="../Framework/CacheFichier.html#var$options">$options</a> = <span class="src-key">array</span><span class="src-sym">(</span></div></li> |
<li><div class="src-line"><a name="a53"></a> <span class="src-str">'stockage_chemin' </span>=> <span class="src-id">null</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a54"></a> <span class="src-str">'fichier_verrou' </span>=> <span class="src-id">true</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a55"></a> <span class="src-str">'controle_lecture' </span>=> <span class="src-id">true</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a56"></a> <span class="src-str">'controle_lecture_type' </span>=> <span class="src-str">'crc32'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a57"></a> <span class="src-str">'dossier_niveau' </span>=> <span class="src-num">0</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a58"></a> <span class="src-str">'dossier_umask' </span>=> <span class="src-num">0700</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a59"></a> <span class="src-str">'fichier_prefixe' </span>=> <span class="src-str">'tbf'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a60"></a> <span class="src-str">'fichier_umask' </span>=> <span class="src-num">0600</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a61"></a> <span class="src-str">'metadonnees_max_taille' </span>=> <span class="src-num">100</span></div></li> |
<li><div class="src-line"><a name="a62"></a> <span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a63"></a> </div></li> |
<li><div class="src-line"><a name="a64"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a65"></a><span class="src-doc"> * Array of metadatas (each item is an associative array)</span></div></li> |
<li><div class="src-line"><a name="a66"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a67"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">array </span></div></li> |
<li><div class="src-line"><a name="a68"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a69"></a> <span class="src-key">protected </span><a href="../Framework/CacheFichier.html#var$metadonnees">$metadonnees</a> = <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a70"></a> </div></li> |
<li><div class="src-line"><a name="a71"></a> <span class="src-key">private </span><span class="src-var">$Cache </span>= <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a72"></a> </div></li> |
<li><div class="src-line"><a name="a73"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a74"></a><span class="src-doc"> * Constructor</span></div></li> |
<li><div class="src-line"><a name="a75"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a76"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">array </span><span class="src-doc-var">$options </span><span class="src-doc">associative array of options</span></div></li> |
<li><div class="src-line"><a name="a77"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@throws</span><span class="src-doc"> Zend_Cache_Exception</span></div></li> |
<li><div class="src-line"><a name="a78"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">void </span></div></li> |
<li><div class="src-line"><a name="a79"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a80"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/CacheFichier.html#method__construct">__construct</a><span class="src-sym">(</span><span class="src-key">array </span><span class="src-var">$options </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-id">Cache </span><span class="src-var">$cache</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a81"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">Cache </span>= <span class="src-var">$cache</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a82"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">initialiserOptionsParConfig</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a83"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">setOptions</span><span class="src-sym">(</span><span class="src-var">$options</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a84"></a> </div></li> |
<li><div class="src-line"><a name="a85"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'prefixe_fichier'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a86"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'~^[a-zA-Z0-9_]+$~D'</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'prefixe_fichier'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a87"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">"Préfixe de nom de fichier invalide : doit contenir seulement [a-zA-Z0-9_]"</span><span class="src-sym">, </span><span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a88"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a89"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a90"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'metadonnees_max_taille'</span><span class="src-sym">] </span>< <span class="src-num">10</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a91"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">"Taille du tableau des méta-données invalide, elle doit être > 10"</span><span class="src-sym">, </span><span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a92"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a93"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$options</span><span class="src-sym">[</span><span class="src-str">'dossier_umask'</span><span class="src-sym">]</span><span class="src-sym">) </span>&& <a href="http://www.php.net/is_string">is_string</a><span class="src-sym">(</span><span class="src-var">$options</span><span class="src-sym">[</span><span class="src-str">'dossier_umask'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a94"></a> <span class="src-comm">// See #ZF-4422</span></div></li> |
<li><div class="src-line"><a name="a95"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'dossier_umask'</span><span class="src-sym">] </span>= <a href="http://www.php.net/octdec">octdec</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'dossier_umask'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a96"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a97"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$options</span><span class="src-sym">[</span><span class="src-str">'fichier_umask'</span><span class="src-sym">]</span><span class="src-sym">) </span>&& <a href="http://www.php.net/is_string">is_string</a><span class="src-sym">(</span><span class="src-var">$options</span><span class="src-sym">[</span><span class="src-str">'fichier_umask'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a98"></a> <span class="src-comm">// See #ZF-4422</span></div></li> |
<li><div class="src-line"><a name="a99"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'fichier_umask'</span><span class="src-sym">] </span>= <a href="http://www.php.net/octdec">octdec</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'fichier_umask'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a100"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a101"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a102"></a> </div></li> |
<li><div class="src-line"><a name="a103"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">initialiserOptionsParConfig</span><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a104"></a> <span class="src-key">while </span><span class="src-sym">(</span>list<span class="src-sym">(</span><span class="src-var">$nom</span><span class="src-sym">, </span><span class="src-var">$valeur</span><span class="src-sym">) </span>= <a href="http://www.php.net/each">each</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$options">options</a><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a105"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodexiste">existe</a><span class="src-sym">(</span><span class="src-var">$nom</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a106"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$options">options</a><span class="src-sym">[</span><span class="src-var">$nom</span><span class="src-sym">] </span>= <span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-var">$nom</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a107"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a108"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a109"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a110"></a> </div></li> |
<li><div class="src-line"><a name="a111"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">setOptions</span><span class="src-sym">(</span><span class="src-var">$options</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a112"></a> <span class="src-key">while </span><span class="src-sym">(</span>list<span class="src-sym">(</span><span class="src-var">$nom</span><span class="src-sym">, </span><span class="src-var">$valeur</span><span class="src-sym">) </span>= <a href="http://www.php.net/each">each</a><span class="src-sym">(</span><span class="src-var">$options</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a113"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/is_string">is_string</a><span class="src-sym">(</span><span class="src-var">$nom</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a114"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">"</span><span class="src-str">Nom d'option incorecte : <span class="src-var">$nom</span></span><span class="src-str">"</span><span class="src-sym">, </span><span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a115"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a116"></a> <span class="src-var">$nom </span>= <a href="http://www.php.net/strtolower">strtolower</a><span class="src-sym">(</span><span class="src-var">$nom</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a117"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/array_key_exists">array_key_exists</a><span class="src-sym">(</span><span class="src-var">$nom</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$options">options</a><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a118"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$options">options</a><span class="src-sym">[</span><span class="src-var">$nom</span><span class="src-sym">] </span>= <span class="src-var">$valeur</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a119"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a120"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a121"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a122"></a> </div></li> |
<li><div class="src-line"><a name="a123"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/CacheFichier.html#methodsetEmplacement">setEmplacement</a><span class="src-sym">(</span><span class="src-var">$emplacement</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a124"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/is_dir">is_dir</a><span class="src-sym">(</span><span class="src-var">$emplacement</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a125"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">"L'emplacement doit être un dossier."</span><span class="src-sym">, </span><span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a126"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a127"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/is_writable">is_writable</a><span class="src-sym">(</span><span class="src-var">$emplacement</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a128"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">"Le dossier de stockage du cache n'est pas accessible en écriture"</span><span class="src-sym">, </span><span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a129"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a130"></a> <span class="src-var">$emplacement </span>= <a href="http://www.php.net/rtrim">rtrim</a><span class="src-sym">(</span><a href="http://www.php.net/realpath">realpath</a><span class="src-sym">(</span><span class="src-var">$emplacement</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-str">'\\/'</span><span class="src-sym">)</span>.<span class="src-id">DS</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a131"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'stockage_chemin'</span><span class="src-sym">] </span>= <span class="src-var">$emplacement</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a132"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a133"></a> </div></li> |
<li><div class="src-line"><a name="a134"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a135"></a><span class="src-doc"> * Test if a cache is available for the given id and (if yes) return it (false else)</span></div></li> |
<li><div class="src-line"><a name="a136"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a137"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$id </span><span class="src-doc">cache id</span></div></li> |
<li><div class="src-line"><a name="a138"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">boolean </span><span class="src-doc-var">$doNotTestCacheValidity </span><span class="src-doc">if set to true, the cache validity won't be tested</span></div></li> |
<li><div class="src-line"><a name="a139"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string</span><span class="src-doc">|</span><span class="src-doc-type">false</span><span class="src-doc">cached datas</span></div></li> |
<li><div class="src-line"><a name="a140"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a141"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/CacheFichier.html#methodcharger">charger</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">, </span><span class="src-var">$ne_pas_tester_validiter_du_cache </span>= <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a142"></a> <span class="src-var">$donnees </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a143"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodtester">tester</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">, </span><span class="src-var">$ne_pas_tester_validiter_du_cache</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a144"></a> <span class="src-var">$metadonnees </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodgetMetadonneesFichier">getMetadonneesFichier</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a145"></a> <span class="src-var">$fichier </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodgetFichierNom">getFichierNom</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a146"></a> <span class="src-var">$donnees </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodgetContenuFichier">getContenuFichier</a><span class="src-sym">(</span><span class="src-var">$fichier</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a147"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'controle_lecture'</span><span class="src-sym">]</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a148"></a> <span class="src-var">$cle_secu_donnees </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodgenererCleSecu">genererCleSecu</a><span class="src-sym">(</span><span class="src-var">$donnees</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'controle_lecture_type'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a149"></a> <span class="src-var">$cle_secu_controle </span>= <span class="src-var">$metadonnees</span><span class="src-sym">[</span><span class="src-str">'hash'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a150"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$cle_secu_donnees </span>!= <span class="src-var">$cle_secu_controle</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a151"></a> <span class="src-comm">// Probléme détecté par le contrôle de lecture !</span></div></li> |
<li><div class="src-line"><a name="a152"></a> <span class="src-comm">// TODO : loguer le pb de sécu</span></div></li> |
<li><div class="src-line"><a name="a153"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodsupprimer">supprimer</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a154"></a> <span class="src-var">$donnees </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a155"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a156"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a157"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a158"></a> <span class="src-key">return </span><span class="src-var">$donnees</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a159"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a160"></a> </div></li> |
<li><div class="src-line"><a name="a161"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a162"></a><span class="src-doc"> * Teste si un enregistrement en cache est disponible ou pas (pour l'id passé en paramètre).</span></div></li> |
<li><div class="src-line"><a name="a163"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a164"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$id </span><span class="src-doc">identifiant de cache.</span></div></li> |
<li><div class="src-line"><a name="a165"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">mixed </span><span class="src-doc">false (le cache n'est pas disponible) ou timestamp (int) "de dernière modification" de l'enregistrement en cache</span></div></li> |
<li><div class="src-line"><a name="a166"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a167"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/CacheFichier.html#methodtester">tester</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a168"></a> <a href="http://www.php.net/clearstatcache">clearstatcache</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a169"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodtesterExistenceCache">testerExistenceCache</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a170"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a171"></a> </div></li> |
<li><div class="src-line"><a name="a172"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a173"></a><span class="src-doc"> * Save some string datas into a cache record</span></div></li> |
<li><div class="src-line"><a name="a174"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a175"></a><span class="src-doc"> * Note : $data is always "string" (serialization is done by the</span></div></li> |
<li><div class="src-line"><a name="a176"></a><span class="src-doc"> * core not by the backend)</span></div></li> |
<li><div class="src-line"><a name="a177"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a178"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">string </span><span class="src-doc-var">$data </span><span class="src-doc"> Datas to cache</span></div></li> |
<li><div class="src-line"><a name="a179"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">string </span><span class="src-doc-var">$id </span><span class="src-doc"> Cache id</span></div></li> |
<li><div class="src-line"><a name="a180"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">array </span><span class="src-doc"> </span><span class="src-doc-var">$tags </span><span class="src-doc"> Array of strings, the cache record will be tagged by each string entry</span></div></li> |
<li><div class="src-line"><a name="a181"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">int </span><span class="src-doc"> </span><span class="src-doc-var">$specificLifetime </span><span class="src-doc">If != false, set a specific lifetime for this cache record (null => infinite lifetime)</span></div></li> |
<li><div class="src-line"><a name="a182"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">boolean </span><span class="src-doc">true if no problem</span></div></li> |
<li><div class="src-line"><a name="a183"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a184"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/CacheFichier.html#methodsauver">sauver</a><span class="src-sym">(</span><span class="src-var">$donnees</span><span class="src-sym">, </span><span class="src-var">$id</span><span class="src-sym">, </span><span class="src-var">$tags </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$duree_vie_specifique </span>= <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a185"></a> <a href="http://www.php.net/clearstatcache">clearstatcache</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a186"></a> <span class="src-var">$fichier </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodgetFichierNom">getFichierNom</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a187"></a> <span class="src-var">$chemin </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodgetChemin">getChemin</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a188"></a> </div></li> |
<li><div class="src-line"><a name="a189"></a> <span class="src-var">$resultat </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a190"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'dossier_niveau'</span><span class="src-sym">] </span>> <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a191"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/is_writable">is_writable</a><span class="src-sym">(</span><span class="src-var">$chemin</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a192"></a> <span class="src-comm">// maybe, we just have to build the directory structure</span></div></li> |
<li><div class="src-line"><a name="a193"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodlancerMkdirEtChmodRecursif">lancerMkdirEtChmodRecursif</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a194"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a195"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/is_writable">is_writable</a><span class="src-sym">(</span><span class="src-var">$chemin</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a196"></a> <span class="src-var">$resultat </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a197"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a198"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a199"></a> </div></li> |
<li><div class="src-line"><a name="a200"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$resultat </span>=== <span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a201"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'controle_lecture'</span><span class="src-sym">]</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a202"></a> <span class="src-var">$cle_secu </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodgenererCleSecu">genererCleSecu</a><span class="src-sym">(</span><span class="src-var">$donnees</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'controle_lecture_type'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a203"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a204"></a> <span class="src-var">$cle_secu </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a205"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a206"></a> </div></li> |
<li><div class="src-line"><a name="a207"></a> <span class="src-var">$metadonnees </span>= <span class="src-key">array</span><span class="src-sym">(</span></div></li> |
<li><div class="src-line"><a name="a208"></a> <span class="src-str">'hash' </span>=> <span class="src-var">$cle_secu</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a209"></a> <span class="src-str">'mtime' </span>=> <a href="http://www.php.net/time">time</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a210"></a> <span class="src-str">'expiration' </span>=> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">Cache</span><span class="src-sym">-></span><span class="src-id">getTimestampExpiration</span><span class="src-sym">(</span><span class="src-var">$duree_vie_specifique</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a211"></a> <span class="src-str">'tags' </span>=> <span class="src-var">$tags</span></div></li> |
<li><div class="src-line"><a name="a212"></a> <span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a213"></a> </div></li> |
<li><div class="src-line"><a name="a214"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">! </span><span class="src-var">$resultat </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodsetMetadonnees">setMetadonnees</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">, </span><span class="src-var">$metadonnees</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a215"></a> <span class="src-comm">// TODO : ajouter un log</span></div></li> |
<li><div class="src-line"><a name="a216"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a217"></a> <span class="src-var">$resultat </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodsetContenuFichier">setContenuFichier</a><span class="src-sym">(</span><span class="src-var">$fichier</span><span class="src-sym">, </span><span class="src-var">$donnees</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a218"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a219"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a220"></a> <span class="src-key">return </span><span class="src-var">$resultat</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a221"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a222"></a> </div></li> |
<li><div class="src-line"><a name="a223"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a224"></a><span class="src-doc"> * Remove a cache record</span></div></li> |
<li><div class="src-line"><a name="a225"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a226"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">string </span><span class="src-doc-var">$id </span><span class="src-doc">cache id</span></div></li> |
<li><div class="src-line"><a name="a227"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">boolean </span><span class="src-doc">true if no problem</span></div></li> |
<li><div class="src-line"><a name="a228"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a229"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/CacheFichier.html#methodsupprimer">supprimer</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a230"></a> <span class="src-var">$fichier </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodgetFichierNom">getFichierNom</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a231"></a> <span class="src-var">$suppression_fichier </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodsupprimerFichier">supprimerFichier</a><span class="src-sym">(</span><span class="src-var">$fichier</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a232"></a> <span class="src-var">$suppression_metadonnees </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodsupprimerMetadonnees">supprimerMetadonnees</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a233"></a> <span class="src-key">return </span><span class="src-var">$suppression_metadonnees </span>&& <span class="src-var">$suppression_fichier</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a234"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a235"></a> </div></li> |
<li><div class="src-line"><a name="a236"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a237"></a><span class="src-doc"> * Clean some cache records</span></div></li> |
<li><div class="src-line"><a name="a238"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a239"></a><span class="src-doc"> * Available modes are :</span></div></li> |
<li><div class="src-line"><a name="a240"></a><span class="src-doc"> * 'all' (default) => remove all cache entries ($tags is not used)</span></div></li> |
<li><div class="src-line"><a name="a241"></a><span class="src-doc"> * 'old' => remove too old cache entries ($tags is not used)</span></div></li> |
<li><div class="src-line"><a name="a242"></a><span class="src-doc"> * 'matchingTag' => remove cache entries matching all given tags</span></div></li> |
<li><div class="src-line"><a name="a243"></a><span class="src-doc"> * ($tags can be an array of strings or a single string)</span></div></li> |
<li><div class="src-line"><a name="a244"></a><span class="src-doc"> * 'notMatchingTag' => remove cache entries not matching one of the given tags</span></div></li> |
<li><div class="src-line"><a name="a245"></a><span class="src-doc"> * ($tags can be an array of strings or a single string)</span></div></li> |
<li><div class="src-line"><a name="a246"></a><span class="src-doc"> * 'matchingAnyTag' => remove cache entries matching any given tags</span></div></li> |
<li><div class="src-line"><a name="a247"></a><span class="src-doc"> * ($tags can be an array of strings or a single string)</span></div></li> |
<li><div class="src-line"><a name="a248"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a249"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$mode </span><span class="src-doc">clean mode</span></div></li> |
<li><div class="src-line"><a name="a250"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">tags </span><span class="src-doc">array $tags array of tags</span></div></li> |
<li><div class="src-line"><a name="a251"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">boolean </span><span class="src-doc">true if no problem</span></div></li> |
<li><div class="src-line"><a name="a252"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a253"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/CacheFichier.html#methodnettoyer">nettoyer</a><span class="src-sym">(</span><span class="src-var">$mode </span>= <span class="src-id">Cache</span><span class="src-sym">::</span><span class="src-id">NETTOYAGE_MODE_TOUS</span><span class="src-sym">, </span><span class="src-var">$tags </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a254"></a> <span class="src-comm">// We use this protected method to hide the recursive stuff</span></div></li> |
<li><div class="src-line"><a name="a255"></a> <a href="http://www.php.net/clearstatcache">clearstatcache</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a256"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodnettoyerFichiers">nettoyerFichiers</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'stockage_chemin'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$mode</span><span class="src-sym">, </span><span class="src-var">$tags</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a257"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a258"></a> </div></li> |
<li><div class="src-line"><a name="a259"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a260"></a><span class="src-doc"> * Return an array of stored cache ids</span></div></li> |
<li><div class="src-line"><a name="a261"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a262"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc">array of stored cache ids (string)</span></div></li> |
<li><div class="src-line"><a name="a263"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a264"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/CacheFichier.html#methodgetIds">getIds</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a265"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodanalyserCache">analyserCache</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'stockage_chemin'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-str">'ids'</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a266"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a267"></a> </div></li> |
<li><div class="src-line"><a name="a268"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a269"></a><span class="src-doc"> * Return an array of stored tags</span></div></li> |
<li><div class="src-line"><a name="a270"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a271"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc">array of stored tags (string)</span></div></li> |
<li><div class="src-line"><a name="a272"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a273"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/CacheFichier.html#methodgetTags">getTags</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a274"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodanalyserCache">analyserCache</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'stockage_chemin'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-str">'tags'</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a275"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a276"></a> </div></li> |
<li><div class="src-line"><a name="a277"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a278"></a><span class="src-doc"> * Return an array of stored cache ids which match given tags</span></div></li> |
<li><div class="src-line"><a name="a279"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a280"></a><span class="src-doc"> * In case of multiple tags, a logical AND is made between tags</span></div></li> |
<li><div class="src-line"><a name="a281"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a282"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$tags </span><span class="src-doc">array of tags</span></div></li> |
<li><div class="src-line"><a name="a283"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc">array of matching cache ids (string)</span></div></li> |
<li><div class="src-line"><a name="a284"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a285"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/CacheFichier.html#methodgetIdsAvecLesTags">getIdsAvecLesTags</a><span class="src-sym">(</span><span class="src-var">$tags </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a286"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodanalyserCache">analyserCache</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'stockage_chemin'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-str">'matching'</span><span class="src-sym">, </span><span class="src-var">$tags</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a287"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a288"></a> </div></li> |
<li><div class="src-line"><a name="a289"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a290"></a><span class="src-doc"> * Return an array of stored cache ids which don't match given tags</span></div></li> |
<li><div class="src-line"><a name="a291"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a292"></a><span class="src-doc"> * In case of multiple tags, a logical OR is made between tags</span></div></li> |
<li><div class="src-line"><a name="a293"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a294"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$tags </span><span class="src-doc">array of tags</span></div></li> |
<li><div class="src-line"><a name="a295"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc">array of not matching cache ids (string)</span></div></li> |
<li><div class="src-line"><a name="a296"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a297"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/CacheFichier.html#methodgetIdsSansLesTags">getIdsSansLesTags</a><span class="src-sym">(</span><span class="src-var">$tags </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a298"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodanalyserCache">analyserCache</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'stockage_chemin'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-str">'notMatching'</span><span class="src-sym">, </span><span class="src-var">$tags</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a299"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a300"></a> </div></li> |
<li><div class="src-line"><a name="a301"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a302"></a><span class="src-doc"> * Return an array of stored cache ids which match any given tags</span></div></li> |
<li><div class="src-line"><a name="a303"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a304"></a><span class="src-doc"> * In case of multiple tags, a logical AND is made between tags</span></div></li> |
<li><div class="src-line"><a name="a305"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a306"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$tags </span><span class="src-doc">array of tags</span></div></li> |
<li><div class="src-line"><a name="a307"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc">array of any matching cache ids (string)</span></div></li> |
<li><div class="src-line"><a name="a308"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a309"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/CacheFichier.html#methodgetIdsAvecUnTag">getIdsAvecUnTag</a><span class="src-sym">(</span><span class="src-var">$tags </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a310"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodanalyserCache">analyserCache</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'stockage_chemin'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-str">'matchingAny'</span><span class="src-sym">, </span><span class="src-var">$tags</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a311"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a312"></a> </div></li> |
<li><div class="src-line"><a name="a313"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a314"></a><span class="src-doc"> * Return the filling percentage of the backend storage</span></div></li> |
<li><div class="src-line"><a name="a315"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a316"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@throws</span><span class="src-doc"> Zend_Cache_Exception</span></div></li> |
<li><div class="src-line"><a name="a317"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">int </span><span class="src-doc">integer between 0 and 100</span></div></li> |
<li><div class="src-line"><a name="a318"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a319"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/CacheFichier.html#methodgetPourcentageRemplissage">getPourcentageRemplissage</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a320"></a> <span class="src-var">$libre </span>= <a href="http://www.php.net/disk_free_space">disk_free_space</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'stockage_chemin'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a321"></a> <span class="src-var">$total </span>= <a href="http://www.php.net/disk_total_space">disk_total_space</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'stockage_chemin'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a322"></a> </div></li> |
<li><div class="src-line"><a name="a323"></a> <span class="src-var">$pourcentage </span>= <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a324"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$total </span>== <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a325"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">"Impossible d'utiliser la fonction disk_total_space"</span><span class="src-sym">, </span><span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a326"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a327"></a> <span class="src-var">$pourcentage </span>= <span class="src-sym">(</span><span class="src-var">$libre </span>>= <span class="src-var">$total</span><span class="src-sym">) </span>? <span class="src-num">100 </span>: <span class="src-sym">(</span>(int) <span class="src-sym">(</span><span class="src-num">100. </span>* <span class="src-sym">(</span><span class="src-var">$total </span>- <span class="src-var">$libre</span><span class="src-sym">) </span>/ <span class="src-var">$total</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a328"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a329"></a> <span class="src-key">return </span><span class="src-var">$pourcentage</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a330"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a331"></a> </div></li> |
<li><div class="src-line"><a name="a332"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a333"></a><span class="src-doc"> * Return an array of metadatas for the given cache id</span></div></li> |
<li><div class="src-line"><a name="a334"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a335"></a><span class="src-doc"> * The array must include these keys :</span></div></li> |
<li><div class="src-line"><a name="a336"></a><span class="src-doc"> * - expire : the expire timestamp</span></div></li> |
<li><div class="src-line"><a name="a337"></a><span class="src-doc"> * - tags : a string array of tags</span></div></li> |
<li><div class="src-line"><a name="a338"></a><span class="src-doc"> * - mtime : timestamp of last modification time</span></div></li> |
<li><div class="src-line"><a name="a339"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a340"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$id </span><span class="src-doc">cache id</span></div></li> |
<li><div class="src-line"><a name="a341"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc">array of metadatas (false if the cache id is not found)</span></div></li> |
<li><div class="src-line"><a name="a342"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a343"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/CacheFichier.html#methodgetMetadonnees">getMetadonnees</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a344"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$metadonnees </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodgetMetadonneesFichier">getMetadonneesFichier</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a345"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/time">time</a><span class="src-sym">(</span><span class="src-sym">) </span>> <span class="src-var">$metadonnees</span><span class="src-sym">[</span><span class="src-str">'expiration'</span><span class="src-sym">]</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a346"></a> <span class="src-var">$metadonnees </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a347"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a348"></a> <span class="src-var">$metadonnees </span>= <span class="src-key">array</span><span class="src-sym">(</span></div></li> |
<li><div class="src-line"><a name="a349"></a> <span class="src-str">'expiration' </span>=> <span class="src-var">$metadonnees</span><span class="src-sym">[</span><span class="src-str">'expiration'</span><span class="src-sym">]</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a350"></a> <span class="src-str">'tags' </span>=> <span class="src-var">$metadonnees</span><span class="src-sym">[</span><span class="src-str">'tags'</span><span class="src-sym">]</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a351"></a> <span class="src-str">'mtime' </span>=> <span class="src-var">$metadonnees</span><span class="src-sym">[</span><span class="src-str">'mtime'</span><span class="src-sym">]</span></div></li> |
<li><div class="src-line"><a name="a352"></a> <span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a353"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a354"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a355"></a> </div></li> |
<li><div class="src-line"><a name="a356"></a> <span class="src-key">return </span><span class="src-var">$metadonnees</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a357"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a358"></a> </div></li> |
<li><div class="src-line"><a name="a359"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a360"></a><span class="src-doc"> * Give (if possible) an extra lifetime to the given cache id</span></div></li> |
<li><div class="src-line"><a name="a361"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a362"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$id </span><span class="src-doc">cache id</span></div></li> |
<li><div class="src-line"><a name="a363"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$extraLifetime </span></div></li> |
<li><div class="src-line"><a name="a364"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">boolean </span><span class="src-doc">true if ok</span></div></li> |
<li><div class="src-line"><a name="a365"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a366"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/CacheFichier.html#methodajouterSupplementDureeDeVie">ajouterSupplementDureeDeVie</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">, </span><span class="src-var">$supplement_duree_de_vie</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a367"></a> <span class="src-var">$augmentation </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a368"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$metadonnees </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodgetMetadonneesFichier">getMetadonneesFichier</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a369"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/time">time</a><span class="src-sym">(</span><span class="src-sym">) </span>> <span class="src-var">$metadonnees</span><span class="src-sym">[</span><span class="src-str">'expiration'</span><span class="src-sym">]</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a370"></a> <span class="src-var">$augmentation </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a371"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a372"></a> <span class="src-var">$metadonnees_nouvelle </span>= <span class="src-key">array</span><span class="src-sym">(</span></div></li> |
<li><div class="src-line"><a name="a373"></a> <span class="src-str">'hash' </span>=> <span class="src-var">$metadonnees</span><span class="src-sym">[</span><span class="src-str">'hash'</span><span class="src-sym">]</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a374"></a> <span class="src-str">'mtime' </span>=> <a href="http://www.php.net/time">time</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a375"></a> <span class="src-str">'expiration' </span>=> <span class="src-var">$metadonnees</span><span class="src-sym">[</span><span class="src-str">'expiration'</span><span class="src-sym">] </span>+ <span class="src-var">$supplement_duree_de_vie</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a376"></a> <span class="src-str">'tags' </span>=> <span class="src-var">$metadonnees</span><span class="src-sym">[</span><span class="src-str">'tags'</span><span class="src-sym">]</span></div></li> |
<li><div class="src-line"><a name="a377"></a> <span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a378"></a> <span class="src-var">$augmentation </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodsetMetadonnees">setMetadonnees</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">, </span><span class="src-var">$metadonnees_nouvelle</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a379"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a380"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a381"></a> <span class="src-key">return </span><span class="src-var">$augmentation</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a382"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a383"></a> </div></li> |
<li><div class="src-line"><a name="a384"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a385"></a><span class="src-doc"> * Get a metadatas record</span></div></li> |
<li><div class="src-line"><a name="a386"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a387"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">string </span><span class="src-doc-var">$id </span><span class="src-doc"> Cache id</span></div></li> |
<li><div class="src-line"><a name="a388"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array</span><span class="src-doc">|</span><span class="src-doc-type">false</span><span class="src-doc">Associative array of metadatas</span></div></li> |
<li><div class="src-line"><a name="a389"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a390"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Framework/CacheFichier.html#methodgetMetadonneesFichier">getMetadonneesFichier</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a391"></a> <span class="src-var">$metadonnees </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a392"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$metadonnees">metadonnees</a><span class="src-sym">[</span><span class="src-var">$id</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a393"></a> <span class="src-var">$metadonnees </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$metadonnees">metadonnees</a><span class="src-sym">[</span><span class="src-var">$id</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a394"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a395"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$metadonnees </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodchargerMetadonnees">chargerMetadonnees</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a396"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodsetMetadonnees">setMetadonnees</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">, </span><span class="src-var">$metadonnees</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a397"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a398"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a399"></a> <span class="src-key">return </span><span class="src-var">$metadonnees</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a400"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a401"></a> </div></li> |
<li><div class="src-line"><a name="a402"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a403"></a><span class="src-doc"> * Set a metadatas record</span></div></li> |
<li><div class="src-line"><a name="a404"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a405"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">string </span><span class="src-doc-var">$id </span><span class="src-doc"> Cache id</span></div></li> |
<li><div class="src-line"><a name="a406"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">array </span><span class="src-doc"> </span><span class="src-doc-var">$metadatas </span><span class="src-doc">Associative array of metadatas</span></div></li> |
<li><div class="src-line"><a name="a407"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">boolean </span><span class="src-doc-var">$save </span><span class="src-doc"> optional pass false to disable saving to file</span></div></li> |
<li><div class="src-line"><a name="a408"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">boolean </span><span class="src-doc">True if no problem</span></div></li> |
<li><div class="src-line"><a name="a409"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a410"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Framework/CacheFichier.html#methodsetMetadonnees">setMetadonnees</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">, </span><span class="src-var">$metadonnees</span><span class="src-sym">, </span><span class="src-var">$sauvegarde </span>= <span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a411"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$metadonnees">metadonnees</a><span class="src-sym">) </span>>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'metadonnees_max_taille'</span><span class="src-sym">]</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a412"></a> <span class="src-var">$n </span>= (int) <span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'metadonnees_max_taille'</span><span class="src-sym">] </span>/ <span class="src-num">10</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a413"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$metadonnees">metadonnees</a> = <a href="http://www.php.net/array_slice">array_slice</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$metadonnees">metadonnees</a><span class="src-sym">, </span><span class="src-var">$n</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a414"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a415"></a> </div></li> |
<li><div class="src-line"><a name="a416"></a> <span class="src-var">$resultat </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a417"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$sauvegarde</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a418"></a> <span class="src-var">$resultat </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodsauverMetadonnees">sauverMetadonnees</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">, </span><span class="src-var">$metadonnees</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a419"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a420"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$resultat </span>== <span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a421"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$metadonnees">metadonnees</a><span class="src-sym">[</span><span class="src-var">$id</span><span class="src-sym">] </span>= <span class="src-var">$metadonnees</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a422"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a423"></a> <span class="src-key">return </span><span class="src-var">$resultat</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a424"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a425"></a> </div></li> |
<li><div class="src-line"><a name="a426"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a427"></a><span class="src-doc"> * Drop a metadata record</span></div></li> |
<li><div class="src-line"><a name="a428"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a429"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">string </span><span class="src-doc-var">$id </span><span class="src-doc">Cache id</span></div></li> |
<li><div class="src-line"><a name="a430"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">boolean </span><span class="src-doc">True if no problem</span></div></li> |
<li><div class="src-line"><a name="a431"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a432"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Framework/CacheFichier.html#methodsupprimerMetadonnees">supprimerMetadonnees</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a433"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$metadonnees">metadonnees</a><span class="src-sym">[</span><span class="src-var">$id</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a434"></a> unset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$metadonnees">metadonnees</a><span class="src-sym">[</span><span class="src-var">$id</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a435"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a436"></a> <span class="src-var">$fichier_meta </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodgetNomFichierMeta">getNomFichierMeta</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a437"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodsupprimerFichier">supprimerFichier</a><span class="src-sym">(</span><span class="src-var">$fichier_meta</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a438"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a439"></a> </div></li> |
<li><div class="src-line"><a name="a440"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a441"></a><span class="src-doc"> * Clear the metadatas array</span></div></li> |
<li><div class="src-line"><a name="a442"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a443"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">void </span></div></li> |
<li><div class="src-line"><a name="a444"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a445"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Framework/CacheFichier.html#methodnettoyerMetadonnees">nettoyerMetadonnees</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a446"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$metadonnees">metadonnees</a> = <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a447"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a448"></a> </div></li> |
<li><div class="src-line"><a name="a449"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a450"></a><span class="src-doc"> * Load metadatas from disk</span></div></li> |
<li><div class="src-line"><a name="a451"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a452"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">string </span><span class="src-doc-var">$id </span><span class="src-doc">Cache id</span></div></li> |
<li><div class="src-line"><a name="a453"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array</span><span class="src-doc">|</span><span class="src-doc-type">false</span><span class="src-doc">Metadatas associative array</span></div></li> |
<li><div class="src-line"><a name="a454"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a455"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Framework/CacheFichier.html#methodchargerMetadonnees">chargerMetadonnees</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a456"></a> <span class="src-var">$fichier </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodgetNomFichierMeta">getNomFichierMeta</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a457"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$resultat </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodgetContenuFichier">getContenuFichier</a><span class="src-sym">(</span><span class="src-var">$fichier</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a458"></a> <span class="src-var">$resultat </span>= <span class="src-sym">@</span><a href="http://www.php.net/unserialize">unserialize</a><span class="src-sym">(</span><span class="src-var">$resultat</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a459"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a460"></a> <span class="src-key">return </span><span class="src-var">$resultat</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a461"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a462"></a> </div></li> |
<li><div class="src-line"><a name="a463"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a464"></a><span class="src-doc"> * Save metadatas to disk</span></div></li> |
<li><div class="src-line"><a name="a465"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a466"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">string </span><span class="src-doc-var">$id </span><span class="src-doc"> Cache id</span></div></li> |
<li><div class="src-line"><a name="a467"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">array </span><span class="src-doc"> </span><span class="src-doc-var">$metadatas </span><span class="src-doc">Associative array</span></div></li> |
<li><div class="src-line"><a name="a468"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">boolean </span><span class="src-doc">True if no problem</span></div></li> |
<li><div class="src-line"><a name="a469"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a470"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Framework/CacheFichier.html#methodsauverMetadonnees">sauverMetadonnees</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">, </span><span class="src-var">$metadonnees</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a471"></a> <span class="src-var">$fichier </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodgetNomFichierMeta">getNomFichierMeta</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a472"></a> <span class="src-var">$resultat </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodsetContenuFichier">setContenuFichier</a><span class="src-sym">(</span><span class="src-var">$fichier</span><span class="src-sym">, </span><a href="http://www.php.net/serialize">serialize</a><span class="src-sym">(</span><span class="src-var">$metadonnees</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a473"></a> <span class="src-key">return </span><span class="src-var">$resultat</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a474"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a475"></a> </div></li> |
<li><div class="src-line"><a name="a476"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a477"></a><span class="src-doc"> * Make and return a file name (with path) for metadatas</span></div></li> |
<li><div class="src-line"><a name="a478"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a479"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">string </span><span class="src-doc-var">$id </span><span class="src-doc">Cache id</span></div></li> |
<li><div class="src-line"><a name="a480"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">Metadatas file name (with path)</span></div></li> |
<li><div class="src-line"><a name="a481"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a482"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Framework/CacheFichier.html#methodgetNomFichierMeta">getNomFichierMeta</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a483"></a> <span class="src-var">$chemin </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodgetChemin">getChemin</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a484"></a> <span class="src-var">$fichier_nom </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodtransformaterIdEnNomFichier">transformaterIdEnNomFichier</a><span class="src-sym">(</span><span class="src-str">'interne-meta---'</span>.<span class="src-var">$id</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a485"></a> <span class="src-key">return </span><span class="src-var">$chemin</span>.<span class="src-var">$fichier_nom</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a486"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a487"></a> </div></li> |
<li><div class="src-line"><a name="a488"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a489"></a><span class="src-doc"> * Check if the given filename is a metadatas one</span></div></li> |
<li><div class="src-line"><a name="a490"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a491"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">string </span><span class="src-doc-var">$fileName </span><span class="src-doc">File name</span></div></li> |
<li><div class="src-line"><a name="a492"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">boolean </span><span class="src-doc">True if it's a metadatas one</span></div></li> |
<li><div class="src-line"><a name="a493"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a494"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Framework/CacheFichier.html#methodetreFichierMeta">etreFichierMeta</a><span class="src-sym">(</span><span class="src-var">$fichier_nom</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a495"></a> <span class="src-var">$id </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodtransformerNomFichierEnId">transformerNomFichierEnId</a><span class="src-sym">(</span><span class="src-var">$fichier_nom</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a496"></a> <span class="src-key">return </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-num">21</span><span class="src-sym">) </span>== <span class="src-str">'interne-meta---'</span><span class="src-sym">) </span>? <span class="src-id">true </span>: <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a497"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a498"></a> </div></li> |
<li><div class="src-line"><a name="a499"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a500"></a><span class="src-doc"> * Remove a file</span></div></li> |
<li><div class="src-line"><a name="a501"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a502"></a><span class="src-doc"> * If we can't remove the file (because of locks or any problem), we will touch</span></div></li> |
<li><div class="src-line"><a name="a503"></a><span class="src-doc"> * the file to invalidate it</span></div></li> |
<li><div class="src-line"><a name="a504"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a505"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">string </span><span class="src-doc-var">$file </span><span class="src-doc">Complete file path</span></div></li> |
<li><div class="src-line"><a name="a506"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">boolean </span><span class="src-doc">True if ok</span></div></li> |
<li><div class="src-line"><a name="a507"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a508"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Framework/CacheFichier.html#methodsupprimerFichier">supprimerFichier</a><span class="src-sym">(</span><span class="src-var">$fichier</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a509"></a> <span class="src-var">$resultat </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a510"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_file">is_file</a><span class="src-sym">(</span><span class="src-var">$fichier</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a511"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$resultat </span>= <span class="src-sym">@</span><a href="http://www.php.net/unlink">unlink</a><span class="src-sym">(</span><span class="src-var">$fichier</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a512"></a> <span class="src-comm">// TODO : ajouter un log</span></div></li> |
<li><div class="src-line"><a name="a513"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a514"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a515"></a> <span class="src-key">return </span><span class="src-var">$resultat</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a516"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a517"></a> </div></li> |
<li><div class="src-line"><a name="a518"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a519"></a><span class="src-doc"> * Clean some cache records (protected method used for recursive stuff)</span></div></li> |
<li><div class="src-line"><a name="a520"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a521"></a><span class="src-doc"> * Available modes are :</span></div></li> |
<li><div class="src-line"><a name="a522"></a><span class="src-doc"> * Zend_Cache::CLEANING_MODE_ALL (default) => remove all cache entries ($tags is not used)</span></div></li> |
<li><div class="src-line"><a name="a523"></a><span class="src-doc"> * Zend_Cache::CLEANING_MODE_OLD => remove too old cache entries ($tags is not used)</span></div></li> |
<li><div class="src-line"><a name="a524"></a><span class="src-doc"> * Zend_Cache::CLEANING_MODE_MATCHING_TAG => remove cache entries matching all given tags</span></div></li> |
<li><div class="src-line"><a name="a525"></a><span class="src-doc"> * ($tags can be an array of strings or a single string)</span></div></li> |
<li><div class="src-line"><a name="a526"></a><span class="src-doc"> * Zend_Cache::CLEANING_MODE_NOT_MATCHING_TAG => remove cache entries not {matching one of the given tags}</span></div></li> |
<li><div class="src-line"><a name="a527"></a><span class="src-doc"> * ($tags can be an array of strings or a single string)</span></div></li> |
<li><div class="src-line"><a name="a528"></a><span class="src-doc"> * Zend_Cache::CLEANING_MODE_MATCHING_ANY_TAG => remove cache entries matching any given tags</span></div></li> |
<li><div class="src-line"><a name="a529"></a><span class="src-doc"> * ($tags can be an array of strings or a single string)</span></div></li> |
<li><div class="src-line"><a name="a530"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a531"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">string </span><span class="src-doc-var">$dir </span><span class="src-doc"> Directory to clean</span></div></li> |
<li><div class="src-line"><a name="a532"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">string </span><span class="src-doc-var">$mode </span><span class="src-doc">Clean mode</span></div></li> |
<li><div class="src-line"><a name="a533"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">array </span><span class="src-doc"> </span><span class="src-doc-var">$tags </span><span class="src-doc">Array of tags</span></div></li> |
<li><div class="src-line"><a name="a534"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@throws</span><span class="src-doc"> Zend_Cache_Exception</span></div></li> |
<li><div class="src-line"><a name="a535"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">boolean </span><span class="src-doc">True if no problem</span></div></li> |
<li><div class="src-line"><a name="a536"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a537"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Framework/CacheFichier.html#methodnettoyerFichiers">nettoyerFichiers</a><span class="src-sym">(</span><span class="src-var">$dossier</span><span class="src-sym">, </span><span class="src-var">$mode </span>= <span class="src-id">Cache</span><span class="src-sym">::</span><span class="src-id">NETTOYAGE_MODE_TOUS</span><span class="src-sym">, </span><span class="src-var">$tags </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a538"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/is_dir">is_dir</a><span class="src-sym">(</span><span class="src-var">$dossier</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a539"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a540"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a541"></a> <span class="src-var">$resultat </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a542"></a> <span class="src-var">$prefixe </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'fichier_prefixe'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a543"></a> <span class="src-var">$glob </span>= <span class="src-sym">@</span><a href="http://www.php.net/glob">glob</a><span class="src-sym">(</span><span class="src-var">$dossier</span>.<span class="src-var">$prefixe</span>.<span class="src-str">'--*'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a544"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$glob </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a545"></a> <span class="src-comm">// On some systems it is impossible to distinguish between empty match and an error.</span></div></li> |
<li><div class="src-line"><a name="a546"></a> <span class="src-key">return </span><span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a547"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a548"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$glob </span><span class="src-key">as </span><span class="src-var">$fichier</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a549"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_file">is_file</a><span class="src-sym">(</span><span class="src-var">$fichier</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a550"></a> <span class="src-var">$fichier_nom </span>= <a href="http://www.php.net/basename">basename</a><span class="src-sym">(</span><span class="src-var">$fichier</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a551"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodetreFichierMeta">etreFichierMeta</a><span class="src-sym">(</span><span class="src-var">$fichier_nom</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a552"></a> <span class="src-comm">// Pour le mode Cache::NETTOYAGE_MODE_TOUS, nous essayons de tous supprimer même les vieux fichiers méta</span></div></li> |
<li><div class="src-line"><a name="a553"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$mode </span>!= <span class="src-id"><a href="../Framework/Cache.html">Cache</a></span><span class="src-sym">::</span><span class="src-id">NETTOYAGE_MODE_TOUS</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a554"></a> <span class="src-key">continue</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a555"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a556"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a557"></a> <span class="src-var">$id </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodtransformerNomFichierEnId">transformerNomFichierEnId</a><span class="src-sym">(</span><span class="src-var">$fichier_nom</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a558"></a> <span class="src-var">$metadonnees </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodgetMetadonneesFichier">getMetadonneesFichier</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a559"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$metadonnees </span>=== <span class="src-id">FALSE</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a560"></a> <span class="src-var">$metadonnees </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'expiration' </span>=> <span class="src-num">1</span><span class="src-sym">, </span><span class="src-str">'tags' </span>=> <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a561"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a562"></a> <span class="src-key">switch </span><span class="src-sym">(</span><span class="src-var">$mode</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a563"></a> <span class="src-key">case </span><span class="src-id"><a href="../Framework/Cache.html">Cache</a></span><span class="src-sym">::</span><span class="src-id">NETTOYAGE_MODE_TOUS </span>:</div></li> |
<li><div class="src-line"><a name="a564"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$resultat_suppression </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodsupprimer">supprimer</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a565"></a> <span class="src-comm">// Dans ce cas seulement, nous acception qu'il y ait un problème avec la suppresssion du fichier meta</span></div></li> |
<li><div class="src-line"><a name="a566"></a> <span class="src-var">$resultat_suppression </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodsupprimerFichier">supprimerFichier</a><span class="src-sym">(</span><span class="src-var">$fichier</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a567"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a568"></a> <span class="src-var">$resultat </span>= <span class="src-var">$resultat </span>&& <span class="src-var">$resultat_suppression</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a569"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a570"></a> <span class="src-key">case </span><span class="src-id"><a href="../Framework/Cache.html">Cache</a></span><span class="src-sym">::</span><span class="src-id">NETTOYAGE_MODE_EXPIRATION </span>:</div></li> |
<li><div class="src-line"><a name="a571"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/time">time</a><span class="src-sym">(</span><span class="src-sym">) </span>> <span class="src-var">$metadonnees</span><span class="src-sym">[</span><span class="src-str">'expiration'</span><span class="src-sym">]</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a572"></a> <span class="src-var">$resultat </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodsupprimer">supprimer</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">) </span>&& <span class="src-var">$resultat</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a573"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a574"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a575"></a> <span class="src-key">case </span><span class="src-id"><a href="../Framework/Cache.html">Cache</a></span><span class="src-sym">::</span><span class="src-id">NETTOYAGE_MODE_AVEC_LES_TAGS </span>:</div></li> |
<li><div class="src-line"><a name="a576"></a> <span class="src-var">$correspondance </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a577"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$tags </span><span class="src-key">as </span><span class="src-var">$tag</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a578"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/in_array">in_array</a><span class="src-sym">(</span><span class="src-var">$tag</span><span class="src-sym">, </span><span class="src-var">$metadonnees</span><span class="src-sym">[</span><span class="src-str">'tags'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a579"></a> <span class="src-var">$correspondance </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a580"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a581"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a582"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a583"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$correspondance</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a584"></a> <span class="src-var">$resultat </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodsupprimer">supprimer</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">) </span>&& <span class="src-var">$resultat</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a585"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a586"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a587"></a> <span class="src-key">case </span><span class="src-id"><a href="../Framework/Cache.html">Cache</a></span><span class="src-sym">::</span><span class="src-id">NETTOYAGE_MODE_SANS_LES_TAGS </span>:</div></li> |
<li><div class="src-line"><a name="a588"></a> <span class="src-var">$correspondance </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a589"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$tags </span><span class="src-key">as </span><span class="src-var">$tag</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a590"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/in_array">in_array</a><span class="src-sym">(</span><span class="src-var">$tag</span><span class="src-sym">, </span><span class="src-var">$metadonnees</span><span class="src-sym">[</span><span class="src-str">'tags'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a591"></a> <span class="src-var">$correspondance </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a592"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a593"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a594"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a595"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-var">$correspondance</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a596"></a> <span class="src-var">$resultat </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodsupprimer">supprimer</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">) </span>&& <span class="src-var">$resultat</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a597"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a598"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a599"></a> <span class="src-key">case </span><span class="src-id"><a href="../Framework/Cache.html">Cache</a></span><span class="src-sym">::</span><span class="src-id">NETTOYAGE_MODE_AVEC_UN_TAG </span>:</div></li> |
<li><div class="src-line"><a name="a600"></a> <span class="src-var">$correspondance </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a601"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$tags </span><span class="src-key">as </span><span class="src-var">$tag</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a602"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/in_array">in_array</a><span class="src-sym">(</span><span class="src-var">$tag</span><span class="src-sym">, </span><span class="src-var">$metadonnees</span><span class="src-sym">[</span><span class="src-str">'tags'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a603"></a> <span class="src-var">$correspondance </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a604"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a605"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a606"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a607"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$correspondance</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a608"></a> <span class="src-var">$resultat </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodsupprimer">supprimer</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">) </span>&& <span class="src-var">$resultat</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a609"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a610"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a611"></a> <span class="src-key">default</span>:</div></li> |
<li><div class="src-line"><a name="a612"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">"Mode de nettoyage invalide pour la méthode nettoyer()"</span><span class="src-sym">, </span><span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a613"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a614"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a615"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a616"></a> <span class="src-key">if </span><span class="src-sym">((</span><a href="http://www.php.net/is_dir">is_dir</a><span class="src-sym">(</span><span class="src-var">$fichier</span><span class="src-sym">)) </span><span class="src-key">and </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'dossier_niveau'</span><span class="src-sym">] </span>> <span class="src-num">0</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a617"></a> <span class="src-comm">// Appel récursif</span></div></li> |
<li><div class="src-line"><a name="a618"></a> <span class="src-var">$resultat </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodnettoyerFichiers">nettoyerFichiers</a><span class="src-sym">(</span><span class="src-var">$fichier</span>.<span class="src-id">DS</span><span class="src-sym">, </span><span class="src-var">$mode</span><span class="src-sym">, </span><span class="src-var">$tags</span><span class="src-sym">) </span>&& <span class="src-var">$resultat</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a619"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$mode </span>== <span class="src-id"><a href="../Framework/Cache.html">Cache</a></span><span class="src-sym">::</span><span class="src-id">NETTOYAGE_MODE_TOUS</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a620"></a> <span class="src-comm">// Si mode == Cache::NETTOYAGE_MODE_TOUS, nous essayons de supprimer la structure aussi</span></div></li> |
<li><div class="src-line"><a name="a621"></a> <span class="src-sym">@</span><a href="http://www.php.net/rmdir">rmdir</a><span class="src-sym">(</span><span class="src-var">$fichier</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a622"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a623"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a624"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a625"></a> <span class="src-key">return </span><span class="src-var">$resultat</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a626"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a627"></a> </div></li> |
<li><div class="src-line"><a name="a628"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Framework/CacheFichier.html#methodanalyserCache">analyserCache</a><span class="src-sym">(</span><span class="src-var">$dossier</span><span class="src-sym">, </span><span class="src-var">$mode</span><span class="src-sym">, </span><span class="src-var">$tags </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a629"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/is_dir">is_dir</a><span class="src-sym">(</span><span class="src-var">$dossier</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a630"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a631"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a632"></a> <span class="src-var">$resultat </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a633"></a> <span class="src-var">$prefixe </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'fichier_prefixe'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a634"></a> <span class="src-var">$glob </span>= <span class="src-sym">@</span><a href="http://www.php.net/glob">glob</a><span class="src-sym">(</span><span class="src-var">$dossier</span>.<span class="src-var">$prefixe</span>.<span class="src-str">'--*'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a635"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$glob </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a636"></a> <span class="src-comm">// On some systems it is impossible to distinguish between empty match and an error.</span></div></li> |
<li><div class="src-line"><a name="a637"></a> <span class="src-key">return </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a638"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a639"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$glob </span><span class="src-key">as </span><span class="src-var">$fichier</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a640"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_file">is_file</a><span class="src-sym">(</span><span class="src-var">$fichier</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a641"></a> <span class="src-var">$nom_fichier </span>= <a href="http://www.php.net/basename">basename</a><span class="src-sym">(</span><span class="src-var">$fichier</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a642"></a> <span class="src-var">$id </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodtransformerNomFichierEnId">transformerNomFichierEnId</a><span class="src-sym">(</span><span class="src-var">$nom_fichier</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a643"></a> <span class="src-var">$metadonnees </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodgetMetadonneesFichier">getMetadonneesFichier</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a644"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$metadonnees </span>=== <span class="src-id">FALSE</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a645"></a> <span class="src-key">continue</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a646"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a647"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/time">time</a><span class="src-sym">(</span><span class="src-sym">) </span>> <span class="src-var">$metadonnees</span><span class="src-sym">[</span><span class="src-str">'expiration'</span><span class="src-sym">]</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a648"></a> <span class="src-key">continue</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a649"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a650"></a> <span class="src-key">switch </span><span class="src-sym">(</span><span class="src-var">$mode</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a651"></a> <span class="src-key">case </span><span class="src-str">'ids'</span>:</div></li> |
<li><div class="src-line"><a name="a652"></a> <span class="src-var">$resultat</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$id</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a653"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a654"></a> <span class="src-key">case </span><span class="src-str">'tags'</span>:</div></li> |
<li><div class="src-line"><a name="a655"></a> <span class="src-var">$resultat </span>= <a href="http://www.php.net/array_unique">array_unique</a><span class="src-sym">(</span><a href="http://www.php.net/array_merge">array_merge</a><span class="src-sym">(</span><span class="src-var">$resultat</span><span class="src-sym">, </span><span class="src-var">$metadonnees</span><span class="src-sym">[</span><span class="src-str">'tags'</span><span class="src-sym">]</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a656"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a657"></a> <span class="src-key">case </span><span class="src-str">'matching'</span>:</div></li> |
<li><div class="src-line"><a name="a658"></a> <span class="src-var">$correspondance </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a659"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$tags </span><span class="src-key">as </span><span class="src-var">$tag</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a660"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/in_array">in_array</a><span class="src-sym">(</span><span class="src-var">$tag</span><span class="src-sym">, </span><span class="src-var">$metadonnees</span><span class="src-sym">[</span><span class="src-str">'tags'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a661"></a> <span class="src-var">$correspondance </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a662"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a663"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a664"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a665"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$correspondance</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a666"></a> <span class="src-var">$resultat</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$id</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a667"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a668"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a669"></a> <span class="src-key">case </span><span class="src-str">'notMatching'</span>:</div></li> |
<li><div class="src-line"><a name="a670"></a> <span class="src-var">$correspondance </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a671"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$tags </span><span class="src-key">as </span><span class="src-var">$tag</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a672"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/in_array">in_array</a><span class="src-sym">(</span><span class="src-var">$tag</span><span class="src-sym">, </span><span class="src-var">$metadonnees</span><span class="src-sym">[</span><span class="src-str">'tags'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a673"></a> <span class="src-var">$correspondance </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a674"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a675"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a676"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a677"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-var">$correspondance</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a678"></a> <span class="src-var">$resultat</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$id</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a679"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a680"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a681"></a> <span class="src-key">case </span><span class="src-str">'matchingAny'</span>:</div></li> |
<li><div class="src-line"><a name="a682"></a> <span class="src-var">$correspondance </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a683"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$tags </span><span class="src-key">as </span><span class="src-var">$tag</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a684"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/in_array">in_array</a><span class="src-sym">(</span><span class="src-var">$tag</span><span class="src-sym">, </span><span class="src-var">$metadonnees</span><span class="src-sym">[</span><span class="src-str">'tags'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a685"></a> <span class="src-var">$correspondance </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a686"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a687"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a688"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a689"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$correspondance</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a690"></a> <span class="src-var">$resultat</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$id</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a691"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a692"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a693"></a> <span class="src-key">default</span>:</div></li> |
<li><div class="src-line"><a name="a694"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">"Mode invalide pour la méthode analyserCache()"</span><span class="src-sym">, </span><span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a695"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a696"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a697"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a698"></a> <span class="src-key">if </span><span class="src-sym">((</span><a href="http://www.php.net/is_dir">is_dir</a><span class="src-sym">(</span><span class="src-var">$fichier</span><span class="src-sym">)) </span><span class="src-key">and </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'dossier_niveau'</span><span class="src-sym">] </span>> <span class="src-num">0</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a699"></a> <span class="src-comm">// Appel récursif</span></div></li> |
<li><div class="src-line"><a name="a700"></a> <span class="src-var">$resultat_analyse_recursive </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodanalyserCache">analyserCache</a><span class="src-sym">(</span><span class="src-var">$fichier</span>.<span class="src-id">DS</span><span class="src-sym">, </span><span class="src-var">$mode</span><span class="src-sym">, </span><span class="src-var">$tags</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a701"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$resultat_analyse_recursive </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a702"></a> <span class="src-comm">// TODO : ajoute un log</span></div></li> |
<li><div class="src-line"><a name="a703"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a704"></a> <span class="src-var">$resultat </span>= <a href="http://www.php.net/array_unique">array_unique</a><span class="src-sym">(</span><a href="http://www.php.net/array_merge">array_merge</a><span class="src-sym">(</span><span class="src-var">$resultat</span><span class="src-sym">, </span><span class="src-var">$resultat_analyse_recursive</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a705"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a706"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a707"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a708"></a> <span class="src-key">return </span><a href="http://www.php.net/array_unique">array_unique</a><span class="src-sym">(</span><span class="src-var">$resultat</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a709"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a710"></a> </div></li> |
<li><div class="src-line"><a name="a711"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a712"></a><span class="src-doc"> * Make a control key with the string containing datas</span></div></li> |
<li><div class="src-line"><a name="a713"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a714"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">string </span><span class="src-doc-var">$data </span><span class="src-doc"> Data</span></div></li> |
<li><div class="src-line"><a name="a715"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">string </span><span class="src-doc-var">$controlType </span><span class="src-doc">Type of control 'md5', 'crc32' or 'strlen'</span></div></li> |
<li><div class="src-line"><a name="a716"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@throws</span><span class="src-doc"> Zend_Cache_Exception</span></div></li> |
<li><div class="src-line"><a name="a717"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">Control key</span></div></li> |
<li><div class="src-line"><a name="a718"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a719"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Framework/CacheFichier.html#methodgenererCleSecu">genererCleSecu</a><span class="src-sym">(</span><span class="src-var">$donnees</span><span class="src-sym">, </span><span class="src-var">$type_de_controle</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a720"></a> <span class="src-key">switch </span><span class="src-sym">(</span><span class="src-var">$type_de_controle</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a721"></a> <span class="src-key">case </span><span class="src-str">'md5'</span>:</div></li> |
<li><div class="src-line"><a name="a722"></a> <span class="src-key">return </span><a href="http://www.php.net/md5">md5</a><span class="src-sym">(</span><span class="src-var">$donnees</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a723"></a> <span class="src-key">case </span><span class="src-str">'crc32'</span>:</div></li> |
<li><div class="src-line"><a name="a724"></a> <span class="src-key">return </span><a href="http://www.php.net/crc32">crc32</a><span class="src-sym">(</span><span class="src-var">$donnees</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a725"></a> <span class="src-key">case </span><span class="src-str">'strlen'</span>:</div></li> |
<li><div class="src-line"><a name="a726"></a> <span class="src-key">return </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$donnees</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a727"></a> <span class="src-key">case </span><span class="src-str">'adler32'</span>:</div></li> |
<li><div class="src-line"><a name="a728"></a> <span class="src-key">return </span><a href="http://www.php.net/hash">hash</a><span class="src-sym">(</span><span class="src-str">'adler32'</span><span class="src-sym">, </span><span class="src-var">$donnees</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a729"></a> <span class="src-key">default</span>:</div></li> |
<li><div class="src-line"><a name="a730"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">"</span><span class="src-str">Fonction de génération de clé de sécurité introuvable : <span class="src-var">$type_de_controle</span></span><span class="src-str">"</span><span class="src-sym">, </span><span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a731"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a732"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a733"></a> </div></li> |
<li><div class="src-line"><a name="a734"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a735"></a><span class="src-doc"> * Transform a cache id into a file name and return it</span></div></li> |
<li><div class="src-line"><a name="a736"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a737"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">string </span><span class="src-doc-var">$id </span><span class="src-doc">Cache id</span></div></li> |
<li><div class="src-line"><a name="a738"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">File name</span></div></li> |
<li><div class="src-line"><a name="a739"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a740"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Framework/CacheFichier.html#methodtransformaterIdEnNomFichier">transformaterIdEnNomFichier</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a741"></a> <span class="src-var">$prefixe </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'fichier_prefixe'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a742"></a> <span class="src-var">$resultat </span>= <span class="src-var">$prefixe</span>.<span class="src-str">'---'</span>.<span class="src-var">$id</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a743"></a> <span class="src-key">return </span><span class="src-var">$resultat</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a744"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a745"></a> </div></li> |
<li><div class="src-line"><a name="a746"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a747"></a><span class="src-doc"> * Make and return a file name (with path)</span></div></li> |
<li><div class="src-line"><a name="a748"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a749"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">string </span><span class="src-doc-var">$id </span><span class="src-doc">Cache id</span></div></li> |
<li><div class="src-line"><a name="a750"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">File name (with path)</span></div></li> |
<li><div class="src-line"><a name="a751"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a752"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Framework/CacheFichier.html#methodgetFichierNom">getFichierNom</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a753"></a> <span class="src-var">$path </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodgetChemin">getChemin</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a754"></a> <span class="src-var">$fileName </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodtransformaterIdEnNomFichier">transformaterIdEnNomFichier</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a755"></a> <span class="src-key">return </span><span class="src-var">$path </span>. <span class="src-var">$fileName</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a756"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a757"></a> </div></li> |
<li><div class="src-line"><a name="a758"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a759"></a><span class="src-doc"> * Return the complete directory path of a filename (including hashedDirectoryStructure)</span></div></li> |
<li><div class="src-line"><a name="a760"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a761"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">string </span><span class="src-doc-var">$id </span><span class="src-doc">Cache id</span></div></li> |
<li><div class="src-line"><a name="a762"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">boolean </span><span class="src-doc-var">$decoupage </span><span class="src-doc">if true, returns array of directory parts instead of single string</span></div></li> |
<li><div class="src-line"><a name="a763"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">Complete directory path</span></div></li> |
<li><div class="src-line"><a name="a764"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a765"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Framework/CacheFichier.html#methodgetChemin">getChemin</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">, </span><span class="src-var">$decoupage </span>= <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a766"></a> <span class="src-var">$morceaux </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a767"></a> <span class="src-var">$chemin </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'stockage_chemin'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a768"></a> <span class="src-var">$prefixe </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'fichier_prefixe'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a769"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'dossier_niveau'</span><span class="src-sym">] </span>> <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a770"></a> <span class="src-var">$hash </span>= <a href="http://www.php.net/hash">hash</a><span class="src-sym">(</span><span class="src-str">'adler32'</span><span class="src-sym">, </span><span class="src-var">$id</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a771"></a> <span class="src-key">for </span><span class="src-sym">(</span><span class="src-var">$i </span>= <span class="src-num">0 </span><span class="src-sym">; </span><span class="src-var">$i </span>< <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'dossier_niveau'</span><span class="src-sym">] </span><span class="src-sym">; </span><span class="src-var">$i</span>++<span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a772"></a> <span class="src-var">$chemin </span>.= <span class="src-var">$prefixe</span>.<span class="src-str">'--'</span>.<a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$hash</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-var">$i </span>+ <span class="src-num">1</span><span class="src-sym">)</span>.<span class="src-id">DS</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a773"></a> <span class="src-var">$morceaux</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$chemin</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a774"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a775"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a776"></a> <span class="src-key">return </span><span class="src-sym">(</span><span class="src-var">$decoupage</span><span class="src-sym">) </span>? <span class="src-var">$morceaux </span>: <span class="src-var">$chemin</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a777"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a778"></a> </div></li> |
<li><div class="src-line"><a name="a779"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a780"></a><span class="src-doc"> * Make the directory strucuture for the given id</span></div></li> |
<li><div class="src-line"><a name="a781"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a782"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$id </span><span class="src-doc">cache id</span></div></li> |
<li><div class="src-line"><a name="a783"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">boolean </span><span class="src-doc">true</span></div></li> |
<li><div class="src-line"><a name="a784"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a785"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Framework/CacheFichier.html#methodlancerMkdirEtChmodRecursif">lancerMkdirEtChmodRecursif</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a786"></a> <span class="src-var">$resultat </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a787"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'dossier_niveau'</span><span class="src-sym">] </span>> <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a788"></a> <span class="src-var">$chemins </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodgetChemin">getChemin</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a789"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$chemins </span><span class="src-key">as </span><span class="src-var">$chemin</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a790"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/is_dir">is_dir</a><span class="src-sym">(</span><span class="src-var">$chemin</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a791"></a> <span class="src-sym">@</span><a href="http://www.php.net/mkdir">mkdir</a><span class="src-sym">(</span><span class="src-var">$chemin</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'dossier_umask'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a792"></a> <span class="src-sym">@</span><a href="http://www.php.net/chmod">chmod</a><span class="src-sym">(</span><span class="src-var">$chemin</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'dossier_umask'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">; </span><span class="src-comm">// see #ZF-320 (this line is required in some configurations)</span></div></li> |
<li><div class="src-line"><a name="a793"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a794"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a795"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a796"></a> <span class="src-key">return </span><span class="src-var">$resultat</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a797"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a798"></a> </div></li> |
<li><div class="src-line"><a name="a799"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a800"></a><span class="src-doc"> * Test if the given cache id is available (and still valid as a cache record)</span></div></li> |
<li><div class="src-line"><a name="a801"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a802"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">string </span><span class="src-doc"> </span><span class="src-doc-var">$id </span><span class="src-doc"> Cache id</span></div></li> |
<li><div class="src-line"><a name="a803"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">boolean </span><span class="src-doc-var">$doNotTestCacheValidity </span><span class="src-doc">If set to true, the cache validity won't be tested</span></div></li> |
<li><div class="src-line"><a name="a804"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">boolean</span><span class="src-doc">|</span><span class="src-doc-type">mixed</span><span class="src-doc">false (a cache is not available) or "last modified" timestamp (int) of the available cache record</span></div></li> |
<li><div class="src-line"><a name="a805"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a806"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Framework/CacheFichier.html#methodtesterExistenceCache">testerExistenceCache</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">, </span><span class="src-var">$ne_pas_tester_validiter_du_cache</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a807"></a> <span class="src-var">$resultat </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a808"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$metadonnees </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#methodgetMetadonnees">getMetadonnees</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a809"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$ne_pas_tester_validiter_du_cache </span>|| <span class="src-sym">(</span><a href="http://www.php.net/time">time</a><span class="src-sym">(</span><span class="src-sym">) </span><= <span class="src-var">$metadonnees</span><span class="src-sym">[</span><span class="src-str">'expiration'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a810"></a> <span class="src-var">$resultat </span>= <span class="src-var">$metadonnees</span><span class="src-sym">[</span><span class="src-str">'mtime'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a811"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a812"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a813"></a> <span class="src-key">return </span><span class="src-var">$resultat</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a814"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a815"></a> </div></li> |
<li><div class="src-line"><a name="a816"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a817"></a><span class="src-doc"> * Return the file content of the given file</span></div></li> |
<li><div class="src-line"><a name="a818"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a819"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">string </span><span class="src-doc-var">$file </span><span class="src-doc">File complete path</span></div></li> |
<li><div class="src-line"><a name="a820"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">File content (or false if problem)</span></div></li> |
<li><div class="src-line"><a name="a821"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a822"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Framework/CacheFichier.html#methodgetContenuFichier">getContenuFichier</a><span class="src-sym">(</span><span class="src-var">$fichier</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a823"></a> <span class="src-var">$resultat </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a824"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_file">is_file</a><span class="src-sym">(</span><span class="src-var">$fichier</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a825"></a> <span class="src-var">$f </span>= <span class="src-sym">@</span><a href="http://www.php.net/fopen">fopen</a><span class="src-sym">(</span><span class="src-var">$fichier</span><span class="src-sym">, </span><span class="src-str">'rb'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a826"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$f</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a827"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'fichier_verrou'</span><span class="src-sym">]</span><span class="src-sym">) </span><span class="src-sym">@</span><a href="http://www.php.net/flock">flock</a><span class="src-sym">(</span><span class="src-var">$f</span><span class="src-sym">, </span><span class="src-id">LOCK_SH</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a828"></a> <span class="src-var">$resultat </span>= <a href="http://www.php.net/stream_get_contents">stream_get_contents</a><span class="src-sym">(</span><span class="src-var">$f</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a829"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'fichier_verrou'</span><span class="src-sym">]</span><span class="src-sym">) </span><span class="src-sym">@</span><a href="http://www.php.net/flock">flock</a><span class="src-sym">(</span><span class="src-var">$f</span><span class="src-sym">, </span><span class="src-id">LOCK_UN</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a830"></a> <span class="src-sym">@</span><a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$f</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a831"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a832"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a833"></a> <span class="src-key">return </span><span class="src-var">$resultat</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a834"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a835"></a> </div></li> |
<li><div class="src-line"><a name="a836"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a837"></a><span class="src-doc"> * Put the given string into the given file</span></div></li> |
<li><div class="src-line"><a name="a838"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a839"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">string </span><span class="src-doc-var">$file </span><span class="src-doc"> File complete path</span></div></li> |
<li><div class="src-line"><a name="a840"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">string </span><span class="src-doc-var">$string </span><span class="src-doc">String to put in file</span></div></li> |
<li><div class="src-line"><a name="a841"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">boolean </span><span class="src-doc">true if no problem</span></div></li> |
<li><div class="src-line"><a name="a842"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a843"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Framework/CacheFichier.html#methodsetContenuFichier">setContenuFichier</a><span class="src-sym">(</span><span class="src-var">$fichier</span><span class="src-sym">, </span><span class="src-var">$chaine</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a844"></a> <span class="src-var">$resultat </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a845"></a> <span class="src-var">$f </span>= <span class="src-sym">@</span><a href="http://www.php.net/fopen">fopen</a><span class="src-sym">(</span><span class="src-var">$fichier</span><span class="src-sym">, </span><span class="src-str">'ab+'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a846"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$f</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a847"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'fichier_verrou'</span><span class="src-sym">]</span><span class="src-sym">) </span><span class="src-sym">@</span><a href="http://www.php.net/flock">flock</a><span class="src-sym">(</span><span class="src-var">$f</span><span class="src-sym">, </span><span class="src-id">LOCK_EX</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a848"></a> <a href="http://www.php.net/fseek">fseek</a><span class="src-sym">(</span><span class="src-var">$f</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a849"></a> <a href="http://www.php.net/ftruncate">ftruncate</a><span class="src-sym">(</span><span class="src-var">$f</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a850"></a> <span class="src-var">$tmp </span>= <span class="src-sym">@</span><a href="http://www.php.net/fwrite">fwrite</a><span class="src-sym">(</span><span class="src-var">$f</span><span class="src-sym">, </span><span class="src-var">$chaine</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a851"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-sym">(</span><span class="src-var">$tmp </span>=== <span class="src-id">FALSE</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a852"></a> <span class="src-var">$resultat </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a853"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a854"></a> <span class="src-sym">@</span><a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$f</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a855"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a856"></a> <span class="src-sym">@</span><a href="http://www.php.net/chmod">chmod</a><span class="src-sym">(</span><span class="src-var">$fichier</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'fichier_umask'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a857"></a> <span class="src-key">return </span><span class="src-var">$resultat</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a858"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a859"></a> </div></li> |
<li><div class="src-line"><a name="a860"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a861"></a><span class="src-doc"> * Transform a file name into cache id and return it</span></div></li> |
<li><div class="src-line"><a name="a862"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a863"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">string </span><span class="src-doc-var">$fileName </span><span class="src-doc">File name</span></div></li> |
<li><div class="src-line"><a name="a864"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">Cache id</span></div></li> |
<li><div class="src-line"><a name="a865"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a866"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Framework/CacheFichier.html#methodtransformerNomFichierEnId">transformerNomFichierEnId</a><span class="src-sym">(</span><span class="src-var">$nom_de_fichier</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a867"></a> <span class="src-var">$prefixe </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheFichier.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'fichier_prefixe'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a868"></a> <span class="src-key">return </span><a href="http://www.php.net/preg_replace">preg_replace</a><span class="src-sym">(</span><span class="src-str">'~^' </span>. <span class="src-var">$prefixe </span>. <span class="src-str">'---(.*)$~'</span><span class="src-sym">, </span><span class="src-str">'$1'</span><span class="src-sym">, </span><span class="src-var">$nom_de_fichier</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a869"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a870"></a><span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a871"></a><span class="src-php">?></span></div></li> |
</ol></div> |
</div> |
<p class="notes" id="credit"> |
Documentation generated on Tue, 18 Jan 2011 15:01:24 +0100 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.3</a> |
</p> |
</body> |
</html> |
/trunk/doc/HTMLframesConverter/__filesource/fsource_Framework__Framework.php.html |
---|
New file |
0,0 → 1,261 |
<?xml version="1.0" encoding="UTF-8"?> |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
<html xmlns="http://www.w3.org/1999/xhtml"> |
<head> |
<!-- template designed by Marco Von Ballmoos --> |
<title>File Source for Framework.php</title> |
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'/> |
<link rel="stylesheet" href="../media/stylesheet.css" /> |
</head> |
<body> |
<h1>Source for file Framework.php</h1> |
<p>Documentation is available at <a href="../Framework/_Framework.php.html">Framework.php</a></p> |
<div class="src-code"> |
<div class="src-code"><ol><li><div class="src-line"><a name="a1"></a><span class="src-php"><?php</span></div></li> |
<li><div class="src-line"><a name="a2"></a><span class="src-comm">// declare(encoding='UTF-8');</span></div></li> |
<li><div class="src-line"><a name="a3"></a><span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a4"></a><span class="src-doc"> * Classe de base du Framework :</span></div></li> |
<li><div class="src-line"><a name="a5"></a><span class="src-doc"> * - fournissant des infos sur l'application,</span></div></li> |
<li><div class="src-line"><a name="a6"></a><span class="src-doc"> * - paramétrant l'environnement de l'appli et du framework,</span></div></li> |
<li><div class="src-line"><a name="a7"></a><span class="src-doc"> * - réalisant des traitements sur les variables globales ($_GET, $_POST, $_COOKIE...)</span></div></li> |
<li><div class="src-line"><a name="a8"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a9"></a><span class="src-doc"> * Cette classe contient la fonction de chargement automatique de classes.</span></div></li> |
<li><div class="src-line"><a name="a10"></a><span class="src-doc"> * Ce fichier doit toujours rester à la racine du framework car il initialise le chemin</span></div></li> |
<li><div class="src-line"><a name="a11"></a><span class="src-doc"> * de l'application en se basant sur son propre emplacement.</span></div></li> |
<li><div class="src-line"><a name="a12"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a13"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@category</span><span class="src-doc"> PHP 5.2</span></div></li> |
<li><div class="src-line"><a name="a14"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@package</span><span class="src-doc"> Framework</span></div></li> |
<li><div class="src-line"><a name="a15"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@author</span><span class="src-doc"> Jean-Pascal MILCENT <jpm@tela-botanica.org></span></div></li> |
<li><div class="src-line"><a name="a16"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@copyright</span><span class="src-doc"> Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org)</span></div></li> |
<li><div class="src-line"><a name="a17"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.gnu.org/licenses/gpl.html Licence GNU-GPL-v3</span></div></li> |
<li><div class="src-line"><a name="a18"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL-v2</span></div></li> |
<li><div class="src-line"><a name="a19"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@version</span><span class="src-doc"> $Id: Framework.php 274 2010-12-28 15:37:22Z jpm $</span></div></li> |
<li><div class="src-line"><a name="a20"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@since</span><span class="src-doc"> 0.3</span></div></li> |
<li><div class="src-line"><a name="a21"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@link</span><span class="src-doc"> /doc/framework/</span></div></li> |
<li><div class="src-line"><a name="a22"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a23"></a><span class="src-key">class </span><a href="../Framework/Framework.html">Framework</a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a24"></a> </div></li> |
<li><div class="src-line"><a name="a25"></a> <span class="src-doc">/** Variable statique indiquant que les tableaux _GET et _POST ont déjà été encodé au format de l'appli. */</span></div></li> |
<li><div class="src-line"><a name="a26"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$encodage </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a27"></a> </div></li> |
<li><div class="src-line"><a name="a28"></a> <span class="src-doc">/** Tableau d'informations sur l'application */</span></div></li> |
<li><div class="src-line"><a name="a29"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$info </span>= <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a30"></a> </div></li> |
<li><div class="src-line"><a name="a31"></a> <span class="src-doc">/** Chemin de base de l'application */</span></div></li> |
<li><div class="src-line"><a name="a32"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$chemin </span>= <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a33"></a> </div></li> |
<li><div class="src-line"><a name="a34"></a> <span class="src-doc">/** Tableau des noms des paramètres à définir dans le fichier de config car obligatoirement nécessaire à cette classe.*/</span></div></li> |
<li><div class="src-line"><a name="a35"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$parametres_obligatoires </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'chemin_controleurs'</span><span class="src-sym">, </span><span class="src-str">'chemin_modeles'</span><span class="src-sym">, </span><span class="src-str">'chemin_bibliotheque'</span><span class="src-sym">, </span></div></li> |
<li><div class="src-line"><a name="a36"></a> <span class="src-str">'url_arg_separateur_entree'</span><span class="src-sym">, </span><span class="src-str">'url_arg_separateur_sortie'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a37"></a> <span class="src-str">'encodage_sortie'</span><span class="src-sym">, </span><span class="src-str">'encodage_appli'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a38"></a> </div></li> |
<li><div class="src-line"><a name="a39"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a40"></a><span class="src-doc"> * Initialise l'environnement nécessaire au Framework : constantes globales, méthodeles autoload, séparateur d'arguments</span></div></li> |
<li><div class="src-line"><a name="a41"></a><span class="src-doc"> * d'url.</span></div></li> |
<li><div class="src-line"><a name="a42"></a><span class="src-doc"> * Cette méthode est appelée automatiquement suite à la définition du chemin de l'application via Application::setChemin().</span></div></li> |
<li><div class="src-line"><a name="a43"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a44"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">initialiserEnvironnement</span><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a45"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">enregistrerMethodesAutoload</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a46"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">initialiserUrl</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a47"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a48"></a> </div></li> |
<li><div class="src-line"><a name="a49"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a50"></a><span class="src-doc"> * Initialise différentes classes du Framework nécessaires pour le fonctionnement de l'application.</span></div></li> |
<li><div class="src-line"><a name="a51"></a><span class="src-doc"> * Ces classes sont ensuites controlées via les fichiers de config.ini.</span></div></li> |
<li><div class="src-line"><a name="a52"></a><span class="src-doc"> * Elle est appelée automatiquement suite à la définition du chemin de l'application via Application::setChemin().</span></div></li> |
<li><div class="src-line"><a name="a53"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a54"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">initialiserFramework</span><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a55"></a> <span class="src-id"><a href="../Framework/GestionnaireException.html">GestionnaireException</a></span><span class="src-sym">::</span><a href="../Framework/GestionnaireException.html#methodconfigurer">configurer</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a56"></a> <span class="src-comm">//Log::configurer(); </span></div></li> |
<li><div class="src-line"><a name="a57"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">verifierEtReencoderTableauRequete</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a58"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a59"></a> </div></li> |
<li><div class="src-line"><a name="a60"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a61"></a><span class="src-doc"> * Redéfinit des constantes globales utiles pour le Framework et les applis.</span></div></li> |
<li><div class="src-line"><a name="a62"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a63"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">definirConstantesGlobales</span><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a64"></a> /** Redéfinition de la constante DIRECTORY_SEPARATOR en version abrégée DS */</div></li> |
<li><div class="src-line"><a name="a65"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/defined">defined</a><span class="src-sym">(</span><span class="src-str">'DS'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a66"></a> <a href="http://www.php.net/define">define</a><span class="src-sym">(</span><span class="src-str">'DS'</span><span class="src-sym">, </span><span class="src-id">DIRECTORY_SEPARATOR</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a67"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a68"></a> /** Redéfinition de la constante PATH_SEPARATOR en version abrégée PS */</div></li> |
<li><div class="src-line"><a name="a69"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/defined">defined</a><span class="src-sym">(</span><span class="src-str">'PS'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a70"></a> <a href="http://www.php.net/define">define</a><span class="src-sym">(</span><span class="src-str">'PS'</span><span class="src-sym">, </span><span class="src-id">PATH_SEPARATOR</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a71"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a72"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a73"></a> </div></li> |
<li><div class="src-line"><a name="a74"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">enregistrerMethodesAutoload</span><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a75"></a> <a href="http://www.php.net/spl_autoload_register">spl_autoload_register</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><a href="http://www.php.net/get_class">get_class</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-str">'autoloadFw'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a76"></a> </div></li> |
<li><div class="src-line"><a name="a77"></a> <span class="src-comm">// Vérification des paramètres de configuration obligatoire pour assurer le fonctionnement du Framework</span></div></li> |
<li><div class="src-line"><a name="a78"></a> <span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodverifierPresenceParametres">verifierPresenceParametres</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$parametres_obligatoires</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a79"></a> </div></li> |
<li><div class="src-line"><a name="a80"></a> <span class="src-comm">// Initialisation du gestionnaire d'erreur avant toute chose</span></div></li> |
<li><div class="src-line"><a name="a81"></a> <span class="src-id">GestionnaireException</span><span class="src-sym">::</span><span class="src-id">initialiser</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a82"></a> </div></li> |
<li><div class="src-line"><a name="a83"></a> <a href="http://www.php.net/spl_autoload_register">spl_autoload_register</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><a href="http://www.php.net/get_class">get_class</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-str">'autoloadAppliDefaut'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a84"></a> </div></li> |
<li><div class="src-line"><a name="a85"></a> <span class="src-comm">// Autoload défini par l'application</span></div></li> |
<li><div class="src-line"><a name="a86"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/function_exists">function_exists</a><span class="src-sym">(</span><span class="src-str">'__autoload'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a87"></a> <a href="http://www.php.net/spl_autoload_register">spl_autoload_register</a><span class="src-sym">(</span><span class="src-str">'__autoload'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a88"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a89"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a90"></a> </div></li> |
<li><div class="src-line"><a name="a91"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a92"></a><span class="src-doc"> * Autoload pour le Framework.</span></div></li> |
<li><div class="src-line"><a name="a93"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a94"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">autoloadFw</span><span class="src-sym">(</span><span class="src-var">$nom_classe_fw</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a95"></a> <span class="src-var">$dossiers_classes </span>= <span class="src-key">array</span><span class="src-sym">( </span><a href="http://www.php.net/dirname">dirname</a><span class="src-sym">(</span>__FILE__<span class="src-sym">)</span>.<span class="src-id">DS</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a96"></a> <a href="http://www.php.net/dirname">dirname</a><span class="src-sym">(</span>__FILE__<span class="src-sym">)</span>.<span class="src-id">DS</span>.<span class="src-str">'utilitaires'</span>.<span class="src-id">DS</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a97"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$dossiers_classes </span><span class="src-key">as </span><span class="src-var">$chemin</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a98"></a> <span class="src-var">$fichier_a_tester </span>= <span class="src-var">$chemin</span>.<span class="src-var">$nom_classe_fw</span>.<span class="src-str">'.php'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a99"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/file_exists">file_exists</a><span class="src-sym">(</span><span class="src-var">$fichier_a_tester</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a100"></a> <span class="src-inc">include_once </span><span class="src-var">$fichier_a_tester</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a101"></a> <span class="src-key">return </span><span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a102"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a103"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a104"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a105"></a> </div></li> |
<li><div class="src-line"><a name="a106"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a107"></a><span class="src-doc"> * Autoload par défaut pour l'application</span></div></li> |
<li><div class="src-line"><a name="a108"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a109"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">autoloadAppliDefaut</span><span class="src-sym">(</span><span class="src-var">$nom_classe</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a110"></a> <span class="src-var">$dossiers_classes </span>= <span class="src-key">array</span><span class="src-sym">( </span><span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'chemin_controleurs'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a111"></a> <span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'chemin_modeles'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a112"></a> <span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'chemin_bibliotheque'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a113"></a> </div></li> |
<li><div class="src-line"><a name="a114"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$dossiers_classes </span><span class="src-key">as </span><span class="src-var">$chemin</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a115"></a> <span class="src-var">$fichier_a_tester </span>= <span class="src-var">$chemin</span>.<span class="src-var">$nom_classe</span>.<span class="src-str">'.php'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a116"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/file_exists">file_exists</a><span class="src-sym">(</span><span class="src-var">$fichier_a_tester</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a117"></a> <span class="src-inc">include_once </span><span class="src-var">$fichier_a_tester</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a118"></a> <span class="src-key">return </span><span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a119"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a120"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a121"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a122"></a> </div></li> |
<li><div class="src-line"><a name="a123"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a124"></a><span class="src-doc"> * Initialise le format des urls.</span></div></li> |
<li><div class="src-line"><a name="a125"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a126"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">initialiserUrl</span><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a127"></a> <a href="http://www.php.net/ini_set">ini_set</a><span class="src-sym">(</span><span class="src-str">'arg_separator.input'</span><span class="src-sym">, </span><span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'furl_arg_separateur_entree'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a128"></a> <a href="http://www.php.net/ini_set">ini_set</a><span class="src-sym">(</span><span class="src-str">'arg_separator.output'</span><span class="src-sym">, </span><span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'url_arg_separateur_sortie'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a129"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a130"></a> </div></li> |
<li><div class="src-line"><a name="a131"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a132"></a><span class="src-doc"> * Permet d'indiquer le chemin de base de l'Application.</span></div></li> |
<li><div class="src-line"><a name="a133"></a><span class="src-doc"> * Cette méthode doit obligatoirement être utilisée par l'application pour que le Framework fonctionne correctement.</span></div></li> |
<li><div class="src-line"><a name="a134"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$chemin_fichier_principal </span><span class="src-doc">chemin de base</span></div></li> |
<li><div class="src-line"><a name="a135"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a136"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/Framework.html#methodsetCheminAppli">setCheminAppli</a><span class="src-sym">(</span><span class="src-var">$chemin_fichier_principal</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a137"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$chemin </span>=== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a138"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/file_exists">file_exists</a><span class="src-sym">(</span><span class="src-var">$chemin_fichier_principal</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a139"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">"Le fichier indiqué n'existe pas. Utilisez __FILE__ dans la méthode setCheminAppli()."</span><span class="src-sym">, </span><span class="src-id">E_USER_ERROR</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a140"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a141"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">definirConstantesGlobales</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a142"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$chemin </span>= <span class="src-id">dirname</span><span class="src-sym">(</span><span class="src-var">$chemin_fichier_principal</span><span class="src-sym">)</span>.<span class="src-id">DS</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a143"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">initialiserEnvironnement</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a144"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">initialiserFramework</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a145"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a146"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a147"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">"Le chemin de l'application a déjà été enregistré auprès du Framework"</span><span class="src-sym">, </span><span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a148"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a149"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a150"></a> </div></li> |
<li><div class="src-line"><a name="a151"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a152"></a><span class="src-doc"> * accesseur pour le chemin</span></div></li> |
<li><div class="src-line"><a name="a153"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">le chemin</span></div></li> |
<li><div class="src-line"><a name="a154"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a155"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/Framework.html#methodgetCheminAppli">getCheminAppli</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a156"></a> <span class="src-key">return </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$chemin</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a157"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a158"></a> </div></li> |
<li><div class="src-line"><a name="a159"></a> <span class="src-doc">/** Le tableau des informations sur l'application possède les clés suivantes :</span></div></li> |
<li><div class="src-line"><a name="a160"></a><span class="src-doc"> * - nom : nom de l'application</span></div></li> |
<li><div class="src-line"><a name="a161"></a><span class="src-doc"> * - abr : abréviation de l'application</span></div></li> |
<li><div class="src-line"><a name="a162"></a><span class="src-doc"> * - encodage : encodage de l'application (ISO-8859-15, UTF-8...)</span></div></li> |
<li><div class="src-line"><a name="a163"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a164"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$info </span><span class="src-doc">tableau fournissant des informations sur l'application</span></div></li> |
<li><div class="src-line"><a name="a165"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">void </span></div></li> |
<li><div class="src-line"><a name="a166"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a167"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/Framework.html#methodsetInfoAppli">setInfoAppli</a><span class="src-sym">(</span><span class="src-var">$info</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a168"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$info </span>=== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a169"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$info </span>= <span class="src-var">$info</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a170"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a171"></a> <span class="src-id">trigger_error</span><span class="src-sym">(</span><span class="src-str">"Le informations de l'application ont déjà été enregistrées auprès du Framework"</span><span class="src-sym">, </span><span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a172"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a173"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a174"></a> </div></li> |
<li><div class="src-line"><a name="a175"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a176"></a><span class="src-doc"> * Accesseur pour le tableau d'infos sur l'application.</span></div></li> |
<li><div class="src-line"><a name="a177"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$cle </span><span class="src-doc">la clé à laquelle on veut accéder</span></div></li> |
<li><div class="src-line"><a name="a178"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a179"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/Framework.html#methodgetInfoAppli">getInfoAppli</a><span class="src-sym">(</span><span class="src-var">$cle </span>= <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a180"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$cle </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a181"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$info</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a182"></a> <span class="src-key">return </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$info</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a183"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a184"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a185"></a> <span class="src-key">return </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$info</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a186"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a187"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a188"></a> </div></li> |
<li><div class="src-line"><a name="a189"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a190"></a><span class="src-doc"> * Procédure vérifiant l'encodage des tableaux $_GET et $_POST et les transcodant dans l'encodage de l'application</span></div></li> |
<li><div class="src-line"><a name="a191"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a192"></a> <span class="src-key">protected </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/Framework.html#methodverifierEtReencoderTableauRequete">verifierEtReencoderTableauRequete</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a193"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$encodage </span>== <span class="src-id">false </span>&& <span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'encodage_sortie'</span><span class="src-sym">) </span>!= <span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'encodage_appli'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a194"></a> <span class="src-var">$_POST </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">encoderTableau</span><span class="src-sym">(</span><span class="src-var">$_POST</span><span class="src-sym">, </span><span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'encodage_appli'</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'encodage_sortie'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a195"></a> <span class="src-var">$_GET </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">encoderTableau</span><span class="src-sym">(</span><span class="src-var">$_GET</span><span class="src-sym">, </span><span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'encodage_appli'</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'encodage_sortie'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a196"></a> </div></li> |
<li><div class="src-line"><a name="a197"></a> <span class="src-comm">// Traitement des magic quotes</span></div></li> |
<li><div class="src-line"><a name="a198"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">verifierEtTraiterSlashTableauRequete</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a199"></a> </div></li> |
<li><div class="src-line"><a name="a200"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$encodage </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a201"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a202"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a203"></a> </div></li> |
<li><div class="src-line"><a name="a204"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a205"></a><span class="src-doc"> * Procédure vérifiant l'activation des magic quotes et remplacant les slash dans les tableaux de requete</span></div></li> |
<li><div class="src-line"><a name="a206"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a207"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">verifierEtTraiterSlashTableauRequete</span><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a208"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/get_magic_quotes_gpc">get_magic_quotes_gpc</a><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a209"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/function_exists">function_exists</a><span class="src-sym">(</span><span class="src-str">'nettoyerSlashProfond'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a210"></a> <span class="src-key">function </span><span class="src-id">nettoyerSlashProfond</span><span class="src-sym">(</span><span class="src-var">$valeur</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a211"></a> <span class="src-key">return </span><span class="src-sym">( </span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$valeur</span><span class="src-sym">) ) </span>? <a href="http://www.php.net/array_map">array_map</a><span class="src-sym">(</span><span class="src-str">'nettoyerSlashProfond'</span><span class="src-sym">, </span><span class="src-var">$valeur</span><span class="src-sym">) </span>: <a href="http://www.php.net/stripslashes">stripslashes</a><span class="src-sym">(</span><span class="src-var">$valeur</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a212"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a213"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a214"></a> <span class="src-var">$_GET </span>= <a href="http://www.php.net/array_map">array_map</a><span class="src-sym">(</span><span class="src-str">'nettoyerSlashProfond'</span><span class="src-sym">, </span><span class="src-var">$_GET</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a215"></a> <span class="src-var">$_POST </span>= <a href="http://www.php.net/array_map">array_map</a><span class="src-sym">(</span><span class="src-str">'nettoyerSlashProfond'</span><span class="src-sym">, </span><span class="src-var">$_POST</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a216"></a> <span class="src-var">$_COOKIE </span>= <a href="http://www.php.net/array_map">array_map</a><span class="src-sym">(</span><span class="src-str">'nettoyerSlashProfond'</span><span class="src-sym">, </span><span class="src-var">$_COOKIE</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a217"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a218"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a219"></a> </div></li> |
<li><div class="src-line"><a name="a220"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a221"></a><span class="src-doc"> * Fonction récursive transcodant toutes les valeurs d'un tableau de leur encodage d'entrée vers un encodage de sortie donné</span></div></li> |
<li><div class="src-line"><a name="a222"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">$tableau </span><span class="src-doc">Array Un tableau de données à encoder</span></div></li> |
<li><div class="src-line"><a name="a223"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">$encodage_sortie </span><span class="src-doc">String l'encodage vers lequel on doit transcoder</span></div></li> |
<li><div class="src-line"><a name="a224"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">$encodage_entree </span><span class="src-doc">String l'encodage original des chaines du tableau (optionnel)</span></div></li> |
<li><div class="src-line"><a name="a225"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">Array </span><span class="src-doc">Le tableau encodé dans l'encodage de sortie</span></div></li> |
<li><div class="src-line"><a name="a226"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a227"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a228"></a> <span class="src-key">final </span><span class="src-key">static </span><span class="src-key">protected </span><span class="src-key">function </span><a href="../Framework/Framework.html#methodencoderTableau">encoderTableau</a><span class="src-sym">(</span><span class="src-var">$tableau</span><span class="src-sym">, </span><span class="src-var">$encodage_sortie</span><span class="src-sym">, </span><span class="src-var">$encodage_entree </span>= <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a229"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$tableau</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a230"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$tableau </span><span class="src-key">as </span><span class="src-var">$cle </span>=> <span class="src-var">$valeur</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a231"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$valeur</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a232"></a> <span class="src-var">$tableau</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">] </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">encoderTableau</span><span class="src-sym">(</span><span class="src-var">$valeur</span><span class="src-sym">, </span><span class="src-var">$encodage_sortie</span><span class="src-sym">, </span><span class="src-var">$encodage_entree</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a233"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a234"></a> <span class="src-var">$tableau</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">] </span>= <a href="http://www.php.net/mb_convert_encoding">mb_convert_encoding</a><span class="src-sym">(</span><span class="src-var">$valeur</span><span class="src-sym">, </span><span class="src-var">$encodage_sortie</span><span class="src-sym">, </span><span class="src-var">$encodage_entree</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a235"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a236"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a237"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a238"></a> <span class="src-key">return </span><span class="src-var">$tableau</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a239"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a240"></a><span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a241"></a><span class="src-php">?></span></div></li> |
</ol></div> |
</div> |
<p class="notes" id="credit"> |
Documentation generated on Tue, 18 Jan 2011 15:01:33 +0100 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.3</a> |
</p> |
</body> |
</html> |
/trunk/doc/HTMLframesConverter/__filesource/fsource_Framework__RestService.php.html |
---|
New file |
0,0 → 1,111 |
<?xml version="1.0" encoding="UTF-8"?> |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
<html xmlns="http://www.w3.org/1999/xhtml"> |
<head> |
<!-- template designed by Marco Von Ballmoos --> |
<title>File Source for RestService.php</title> |
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'/> |
<link rel="stylesheet" href="../media/stylesheet.css" /> |
</head> |
<body> |
<h1>Source for file RestService.php</h1> |
<p>Documentation is available at <a href="../Framework/_RestService.php.html">RestService.php</a></p> |
<div class="src-code"> |
<div class="src-code"><ol><li><div class="src-line"><a name="a1"></a><span class="src-php"><?php</span></div></li> |
<li><div class="src-line"><a name="a2"></a><span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a3"></a><span class="src-doc"> * Classe principale gérant les services.</span></div></li> |
<li><div class="src-line"><a name="a4"></a><span class="src-doc"> * Paramètres liés dans config.ini :</span></div></li> |
<li><div class="src-line"><a name="a5"></a><span class="src-doc"> * - serveur.baseURL</span></div></li> |
<li><div class="src-line"><a name="a6"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a7"></a><span class="src-doc"> * Encodage en entrée : utf8</span></div></li> |
<li><div class="src-line"><a name="a8"></a><span class="src-doc"> * Encodage en sortie : utf8</span></div></li> |
<li><div class="src-line"><a name="a9"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a10"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@category</span><span class="src-doc"> Php 5.2</span></div></li> |
<li><div class="src-line"><a name="a11"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@package</span><span class="src-doc"> Framework</span></div></li> |
<li><div class="src-line"><a name="a12"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@author</span><span class="src-doc"> Jean-Pascal MILCENT <jpm@tela-botanica.org></span></div></li> |
<li><div class="src-line"><a name="a13"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@copyright</span><span class="src-doc"> Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org)</span></div></li> |
<li><div class="src-line"><a name="a14"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> GPL v3 <http://www.gnu.org/licenses/gpl.txt></span></div></li> |
<li><div class="src-line"><a name="a15"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt></span></div></li> |
<li><div class="src-line"><a name="a16"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@since</span><span class="src-doc"> 0.3</span></div></li> |
<li><div class="src-line"><a name="a17"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@version</span><span class="src-doc"> $Id$</span></div></li> |
<li><div class="src-line"><a name="a18"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@link</span><span class="src-doc"> /doc/framework/</span></div></li> |
<li><div class="src-line"><a name="a19"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a20"></a><span class="src-key">abstract </span><span class="src-key">class </span><a href="../Framework/RestService.html">RestService</a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a21"></a> </div></li> |
<li><div class="src-line"><a name="a22"></a> <span class="src-doc">/** Objet de connection à la base de données. */</span></div></li> |
<li><div class="src-line"><a name="a23"></a> <span class="src-key">protected </span><a href="../Framework/RestService.html#var$bdd">$bdd</a><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a24"></a> </div></li> |
<li><div class="src-line"><a name="a25"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/RestService.html#method__construct">__construct</a><span class="src-sym">(</span><span class="src-var">$config</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a26"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">config </span>= <span class="src-var">$config</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a27"></a> </div></li> |
<li><div class="src-line"><a name="a28"></a> <span class="src-comm">// Connection à la base de données</span></div></li> |
<li><div class="src-line"><a name="a29"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/RestService.html#var$bdd">bdd</a> = <span class="src-key">new </span><span class="src-id"><a href="../Framework/Bdd.html">Bdd</a></span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a30"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a31"></a> </div></li> |
<li><div class="src-line"><a name="a32"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a33"></a><span class="src-doc"> * Méthode appelée lors d'une requête HTTP de type GET.</span></div></li> |
<li><div class="src-line"><a name="a34"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a35"></a><span class="src-doc"> * Si la consultation est un succès, le code statut HTTP retourné devrait être 200.</span></div></li> |
<li><div class="src-line"><a name="a36"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a37"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc">Morceaux de l'url servant à préciser la ressource concerné pour le service demandé.</span></div></li> |
<li><div class="src-line"><a name="a38"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc">Partie de l'url situé après le '?' servant à paramétrer le service demandé.</span></div></li> |
<li><div class="src-line"><a name="a39"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">une chaine indiquant le succès de l'opération et les données demandées.</span></div></li> |
<li><div class="src-line"><a name="a40"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a41"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/RestService.html#methodconsulter">consulter</a><span class="src-sym">(</span><span class="src-var">$ressources</span><span class="src-sym">, </span><span class="src-var">$parametres</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a42"></a> <span class="src-id"><a href="../Framework/RestServeur.html">RestServeur</a></span><span class="src-sym">::</span><a href="../Framework/RestServeur.html#methodenvoyerEnteteStatutHttp">envoyerEnteteStatutHttp</a><span class="src-sym">(</span><span class="src-id"><a href="../Framework/RestServeur.html">RestServeur</a></span><span class="src-sym">::</span><span class="src-id">HTTP_CODE_METHODE_NON_AUTORISE</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a43"></a> echo <span class="src-str">"Le service '"</span>.<a href="http://www.php.net/get_class">get_class</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">)</span>.<span class="src-str">"' n'autorise pas la consultation."</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a44"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a45"></a> </div></li> |
<li><div class="src-line"><a name="a46"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a47"></a><span class="src-doc"> * Méthode appelée lors d'une requête HTTP de type POST.</span></div></li> |
<li><div class="src-line"><a name="a48"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a49"></a><span class="src-doc"> * La ressource à modifier est indiquée via l'url. Les données devant servir à la mise à jours sont passées dans le corps</span></div></li> |
<li><div class="src-line"><a name="a50"></a><span class="src-doc"> * de la requête.</span></div></li> |
<li><div class="src-line"><a name="a51"></a><span class="src-doc"> * Si la modification est un succès, le code statut HTTP retourné devrait être 201.</span></div></li> |
<li><div class="src-line"><a name="a52"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a53"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc">Morceaux de l'url servant à préciser la ressource concerné pour le service demandé.</span></div></li> |
<li><div class="src-line"><a name="a54"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc">les données transférées dans le corps de la requête devant servir à la modification.</span></div></li> |
<li><div class="src-line"><a name="a55"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">mixed </span><span class="src-doc">une chaine indiquant le succès de l'opération ou rien.</span></div></li> |
<li><div class="src-line"><a name="a56"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a57"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/RestService.html#methodmodifier">modifier</a><span class="src-sym">(</span><span class="src-var">$ressources</span><span class="src-sym">, </span><span class="src-var">$requeteDonnees</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a58"></a> <span class="src-id"><a href="../Framework/RestServeur.html">RestServeur</a></span><span class="src-sym">::</span><a href="../Framework/RestServeur.html#methodenvoyerEnteteStatutHttp">envoyerEnteteStatutHttp</a><span class="src-sym">(</span><span class="src-id"><a href="../Framework/RestServeur.html">RestServeur</a></span><span class="src-sym">::</span><span class="src-id">HTTP_CODE_METHODE_NON_AUTORISE</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a59"></a> echo <span class="src-str">"Le service '"</span>.<a href="http://www.php.net/get_class">get_class</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">)</span>.<span class="src-str">"' n'autorise pas la modification."</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a60"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a61"></a> </div></li> |
<li><div class="src-line"><a name="a62"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a63"></a><span class="src-doc"> * Méthode appelée lors d'une requête HTTP de type PUT.</span></div></li> |
<li><div class="src-line"><a name="a64"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a65"></a><span class="src-doc"> * L'identifiant de la ressource à ajouter est indiqué via l'url si on le connait par avance. Sinon, il doit être créé par</span></div></li> |
<li><div class="src-line"><a name="a66"></a><span class="src-doc"> * le service. Dans ce dernier cas, le nouvel identifiant devrait être renvoyé dans le corps de la réponse.</span></div></li> |
<li><div class="src-line"><a name="a67"></a><span class="src-doc"> * Si l'ajout est un succès, le code statut HTTP retourné devrait être 201.</span></div></li> |
<li><div class="src-line"><a name="a68"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a69"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc">Morceaux de l'url servant à préciser la ressource concerné pour le service demandé.</span></div></li> |
<li><div class="src-line"><a name="a70"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc">les données transférées dans le corps de la requête devant servir à l'ajout.</span></div></li> |
<li><div class="src-line"><a name="a71"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">l'identifiant créé.</span></div></li> |
<li><div class="src-line"><a name="a72"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a73"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/RestService.html#methodajouter">ajouter</a><span class="src-sym">(</span><span class="src-var">$ressources</span><span class="src-sym">, </span><span class="src-var">$requeteDonnees</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a74"></a> <span class="src-id"><a href="../Framework/RestServeur.html">RestServeur</a></span><span class="src-sym">::</span><a href="../Framework/RestServeur.html#methodenvoyerEnteteStatutHttp">envoyerEnteteStatutHttp</a><span class="src-sym">(</span><span class="src-id"><a href="../Framework/RestServeur.html">RestServeur</a></span><span class="src-sym">::</span><span class="src-id">HTTP_CODE_METHODE_NON_AUTORISE</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a75"></a> echo <span class="src-str">"Le service '"</span>.<a href="http://www.php.net/get_class">get_class</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">)</span>.<span class="src-str">"' n'autorise pas la création."</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a76"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a77"></a> </div></li> |
<li><div class="src-line"><a name="a78"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a79"></a><span class="src-doc"> * Méthode appelée lors d'une requête HTTP de type DELETE (ou POST avec action=DELETE dans le corps de la requete).</span></div></li> |
<li><div class="src-line"><a name="a80"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a81"></a><span class="src-doc"> * Si la suppression est un succès, le code statut HTTP retourné devrait être 204.</span></div></li> |
<li><div class="src-line"><a name="a82"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a83"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc">Morceaux de l'url servant à préciser la ressource concerné pour le service demandé.</span></div></li> |
<li><div class="src-line"><a name="a84"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">mixed </span><span class="src-doc">une chaine indiquant le succès de l'opération ou rien.</span></div></li> |
<li><div class="src-line"><a name="a85"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a86"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/RestService.html#methodsupprimer">supprimer</a><span class="src-sym">(</span><span class="src-var">$ressources</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a87"></a> <span class="src-id"><a href="../Framework/RestServeur.html">RestServeur</a></span><span class="src-sym">::</span><a href="../Framework/RestServeur.html#methodenvoyerEnteteStatutHttp">envoyerEnteteStatutHttp</a><span class="src-sym">(</span><span class="src-id"><a href="../Framework/RestServeur.html">RestServeur</a></span><span class="src-sym">::</span><span class="src-id">HTTP_CODE_METHODE_NON_AUTORISE</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a88"></a> echo <span class="src-str">"Le service '"</span>.<a href="http://www.php.net/get_class">get_class</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">)</span>.<span class="src-str">"' n'autorise pas la suppression."</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a89"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a90"></a><span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a91"></a><span class="src-php">?></span></div></li> |
</ol></div> |
</div> |
<p class="notes" id="credit"> |
Documentation generated on Tue, 18 Jan 2011 15:01:42 +0100 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.3</a> |
</p> |
</body> |
</html> |
/trunk/doc/HTMLframesConverter/__filesource/fsource_Utilitaire__utilitairesEncodage.php.html |
---|
New file |
0,0 → 1,77 |
<?xml version="1.0" encoding="UTF-8"?> |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
<html xmlns="http://www.w3.org/1999/xhtml"> |
<head> |
<!-- template designed by Marco Von Ballmoos --> |
<title>File Source for Encodage.php</title> |
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'/> |
<link rel="stylesheet" href="../media/stylesheet.css" /> |
</head> |
<body> |
<h1>Source for file Encodage.php</h1> |
<p>Documentation is available at <a href="../Utilitaire/_utilitaires---Encodage.php.html">Encodage.php</a></p> |
<div class="src-code"> |
<div class="src-code"><ol><li><div class="src-line"><a name="a1"></a><span class="src-php"><?php</span></div></li> |
<li><div class="src-line"><a name="a2"></a><span class="src-comm">// declare(encoding='UTF-8');</span></div></li> |
<li><div class="src-line"><a name="a3"></a><span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a4"></a><span class="src-doc"> * Classe fournissant des méthodes statiques concernant l'encodage et le décodage des caractères de variable.</span></div></li> |
<li><div class="src-line"><a name="a5"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a6"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@category</span><span class="src-doc"> PHP 5.2</span></div></li> |
<li><div class="src-line"><a name="a7"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@package</span><span class="src-doc"> Utilitaire</span></div></li> |
<li><div class="src-line"><a name="a8"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@author</span><span class="src-doc"> Jean-Pascal MILCENT <jpm@tela-botanica.org></span></div></li> |
<li><div class="src-line"><a name="a9"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@copyright</span><span class="src-doc"> Copyright (c) 2009, Tela Botanica (accueil@tela-botanica.org)</span></div></li> |
<li><div class="src-line"><a name="a10"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.gnu.org/licenses/gpl.html Licence GNU-GPL-v3</span></div></li> |
<li><div class="src-line"><a name="a11"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL-v2</span></div></li> |
<li><div class="src-line"><a name="a12"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@version</span><span class="src-doc"> $Id$</span></div></li> |
<li><div class="src-line"><a name="a13"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@link</span><span class="src-doc"> /doc/framework/</span></div></li> |
<li><div class="src-line"><a name="a14"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a15"></a><span class="src-key">class </span><a href="../Utilitaire/Encodage.html">Encodage</a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a16"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a17"></a><span class="src-doc"> * Méthode permettant d'encoder par défaut de ISO-8859-15 vers UTF-8 une variable ou un tableau de variables.</span></div></li> |
<li><div class="src-line"><a name="a18"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a19"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc">la chaine ou le tableau à encoder en UTF-8 depuis ISO-8859-15.</span></div></li> |
<li><div class="src-line"><a name="a20"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc">l'encodage d'origine si ce n'est pas ISO-8859-15.</span></div></li> |
<li><div class="src-line"><a name="a21"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">mixed </span><span class="src-doc">la chaine ou le tableau encodé en UTF-8.</span></div></li> |
<li><div class="src-line"><a name="a22"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@access</span><span class="src-doc"> protected</span></div></li> |
<li><div class="src-line"><a name="a23"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a24"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Utilitaire/Encodage.html#methodencoderEnUtf8">encoderEnUtf8</a><span class="src-sym">(</span><span class="src-sym">&</span><span class="src-var">$variable</span><span class="src-sym">, </span><span class="src-var">$encodage </span>= <span class="src-str">'ISO-8859-15'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a25"></a> <span class="src-comm">//echo print_r($variable, true)."\n";</span></div></li> |
<li><div class="src-line"><a name="a26"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$variable</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a27"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$variable </span><span class="src-key">as </span><span class="src-var">$c </span>=> <span class="src-var">$v</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a28"></a> <span class="src-var">$variable</span><span class="src-sym">[</span><span class="src-var">$c</span><span class="src-sym">] </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">encoderEnUtf8</span><span class="src-sym">(</span><span class="src-var">$v</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a29"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a30"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a31"></a> <span class="src-comm">// Nous vérifions si nous avons un bon encodage UTF-8</span></div></li> |
<li><div class="src-line"><a name="a32"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/is_numeric">is_numeric</a><span class="src-sym">(</span><span class="src-var">$variable</span><span class="src-sym">) </span>&& <span class="src-sym">!</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$variable</span><span class="src-sym">) </span>&& <span class="src-sym">!</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">detecterUtf8</span><span class="src-sym">(</span><span class="src-var">$variable</span><span class="src-sym">)) </span><span class="src-sym">{ </span></div></li> |
<li><div class="src-line"><a name="a33"></a> <span class="src-comm">// Les nombres, les valeurs vides et ce qui est déjà en UTF-8 ne sont pas encodés.</span></div></li> |
<li><div class="src-line"><a name="a34"></a> <span class="src-var">$variable </span>= <a href="http://www.php.net/mb_convert_encoding">mb_convert_encoding</a><span class="src-sym">(</span><span class="src-var">$variable</span><span class="src-sym">, </span><span class="src-str">'UTF-8'</span><span class="src-sym">, </span><span class="src-var">$encodage</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a35"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a36"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a37"></a> <span class="src-key">return </span><span class="src-var">$variable</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a38"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a39"></a> </div></li> |
<li><div class="src-line"><a name="a40"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a41"></a><span class="src-doc"> * Méthode permettant de détecter réellement l'encodage UTF-8.</span></div></li> |
<li><div class="src-line"><a name="a42"></a><span class="src-doc"> * mb_detect_encoding plante si la chaine de caractère se termine par un caractère accentué.</span></div></li> |
<li><div class="src-line"><a name="a43"></a><span class="src-doc"> * Provient de PHPDIG.</span></div></li> |
<li><div class="src-line"><a name="a44"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a45"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc">la chaine à vérifier.</span></div></li> |
<li><div class="src-line"><a name="a46"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">bool </span><span class="src-doc">true si c'est de UTF-8, sinon false.</span></div></li> |
<li><div class="src-line"><a name="a47"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@access</span><span class="src-doc"> private</span></div></li> |
<li><div class="src-line"><a name="a48"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a49"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Utilitaire/Encodage.html#methoddetecterUtf8">detecterUtf8</a><span class="src-sym">(</span><span class="src-var">$chaine</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a50"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$chaine </span>=== <a href="http://www.php.net/mb_convert_encoding">mb_convert_encoding</a><span class="src-sym">(</span><a href="http://www.php.net/mb_convert_encoding">mb_convert_encoding</a><span class="src-sym">(</span><span class="src-var">$chaine</span><span class="src-sym">, </span><span class="src-str">'UTF-32'</span><span class="src-sym">, </span><span class="src-str">'UTF-8'</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-str">'UTF-8'</span><span class="src-sym">, </span><span class="src-str">'UTF-32'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a51"></a> <span class="src-key">return </span><span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a52"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a53"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a54"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a55"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a56"></a><span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a57"></a><span class="src-php">?></span></div></li> |
</ol></div> |
</div> |
<p class="notes" id="credit"> |
Documentation generated on Tue, 18 Jan 2011 15:01:31 +0100 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.3</a> |
</p> |
</body> |
</html> |
/trunk/doc/HTMLframesConverter/__filesource/fsource_Framework__Cache.php.html |
---|
New file |
0,0 → 1,527 |
<?xml version="1.0" encoding="UTF-8"?> |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
<html xmlns="http://www.w3.org/1999/xhtml"> |
<head> |
<!-- template designed by Marco Von Ballmoos --> |
<title>File Source for Cache.php</title> |
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'/> |
<link rel="stylesheet" href="../media/stylesheet.css" /> |
</head> |
<body> |
<h1>Source for file Cache.php</h1> |
<p>Documentation is available at <a href="../Framework/_Cache.php.html">Cache.php</a></p> |
<div class="src-code"> |
<div class="src-code"><ol><li><div class="src-line"><a name="a1"></a><span class="src-php"><?php</span></div></li> |
<li><div class="src-line"><a name="a2"></a><span class="src-comm">// declare(encoding='UTF-8');</span></div></li> |
<li><div class="src-line"><a name="a3"></a><span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a4"></a><span class="src-doc"> * Classe Cache permettant de mettre en cache des données.</span></div></li> |
<li><div class="src-line"><a name="a5"></a><span class="src-doc"> * Basée sur les principes de Zend_Cache (Copyright (c) 2005-2010, Zend Technologies USA, Inc. All rights reserved.)</span></div></li> |
<li><div class="src-line"><a name="a6"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a7"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@category</span><span class="src-doc"> php 5.2</span></div></li> |
<li><div class="src-line"><a name="a8"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@package</span><span class="src-doc"> Framework</span></div></li> |
<li><div class="src-line"><a name="a9"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@author</span><span class="src-doc"> Jean-Pascal MILCENT <jpm@tela-botanica.org></span></div></li> |
<li><div class="src-line"><a name="a10"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@copyright</span><span class="src-doc"> Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org)</span></div></li> |
<li><div class="src-line"><a name="a11"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://framework.zend.com/license/new-bsd Licence New BSD</span></div></li> |
<li><div class="src-line"><a name="a12"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL</span></div></li> |
<li><div class="src-line"><a name="a13"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.gnu.org/licenses/gpl.html Licence GNU-GPL</span></div></li> |
<li><div class="src-line"><a name="a14"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@version</span><span class="src-doc"> $Id$</span></div></li> |
<li><div class="src-line"><a name="a15"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@link</span><span class="src-doc"> /doc/framework/</span></div></li> |
<li><div class="src-line"><a name="a16"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a17"></a><span class="src-key">class </span><a href="../Framework/Cache.html">Cache</a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a18"></a> <span class="src-doc">/** Socke les enregistrements du cache dans des fichiers textes de façon extremement simple. */</span></div></li> |
<li><div class="src-line"><a name="a19"></a> <span class="src-key">const </span><span class="src-id">STOCKAGE_MODE_SIMPLE </span>= <span class="src-str">"FichierSimple"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a20"></a> <span class="src-doc">/** Socke les enregistrements du cache dans des fichiers textes. */</span></div></li> |
<li><div class="src-line"><a name="a21"></a> <span class="src-key">const </span><span class="src-id">STOCKAGE_MODE_FICHIER </span>= <span class="src-str">"Fichier"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a22"></a> <span class="src-doc">/** Socke les enregistrements du cache dans une base de données SQLite. */</span></div></li> |
<li><div class="src-line"><a name="a23"></a> <span class="src-key">const </span><span class="src-id">STOCKAGE_MODE_SQLITE </span>= <span class="src-str">"Sqlite"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a24"></a> </div></li> |
<li><div class="src-line"><a name="a25"></a> <span class="src-doc">/** 'tous' (par défaut) : supprime tous les enregistrements. */</span></div></li> |
<li><div class="src-line"><a name="a26"></a> <span class="src-key">const </span><span class="src-id">NETTOYAGE_MODE_TOUS </span>= <span class="src-str">"tous"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a27"></a> <span class="src-doc">/** 'expiration' : supprime tous les enregistrements dont la date d'expériration est dépassée. */</span></div></li> |
<li><div class="src-line"><a name="a28"></a> <span class="src-key">const </span><span class="src-id">NETTOYAGE_MODE_EXPIRATION </span>= <span class="src-str">"expiration"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a29"></a> <span class="src-doc">/** 'avecLesTags' : supprime tous les enregistrements contenant tous les tags indiqués. */</span></div></li> |
<li><div class="src-line"><a name="a30"></a> <span class="src-key">const </span><span class="src-id">NETTOYAGE_MODE_AVEC_LES_TAGS </span>= <span class="src-str">"avecLesTags"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a31"></a> <span class="src-doc">/** 'sansLesTags' : supprime tous les enregistrements contenant aucun des tags indiqués. */</span></div></li> |
<li><div class="src-line"><a name="a32"></a> <span class="src-key">const </span><span class="src-id">NETTOYAGE_MODE_SANS_LES_TAGS </span>= <span class="src-str">"sansLesTags"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a33"></a> <span class="src-doc">/** 'avecUnTag' : supprime tous les enregistrements contenant au moins un des tags indiqués. */</span></div></li> |
<li><div class="src-line"><a name="a34"></a> <span class="src-key">const </span><span class="src-id">NETTOYAGE_MODE_AVEC_UN_TAG </span>= <span class="src-str">"avecUnTag"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a35"></a> </div></li> |
<li><div class="src-line"><a name="a36"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a37"></a><span class="src-doc"> * Dernier identifiant de cache utilisé.</span></div></li> |
<li><div class="src-line"><a name="a38"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a39"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">string </span><span class="src-doc-var">$dernier_id </span></div></li> |
<li><div class="src-line"><a name="a40"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a41"></a> <span class="src-key">private </span><span class="src-var">$dernier_id </span>= <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a42"></a> </div></li> |
<li><div class="src-line"><a name="a43"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a44"></a><span class="src-doc"> * Les options disponibles pour le cache :</span></div></li> |
<li><div class="src-line"><a name="a45"></a><span class="src-doc"> * ====> (string) stockage_mode :</span></div></li> |
<li><div class="src-line"><a name="a46"></a><span class="src-doc"> * Indique le mode de stockage du cache à utiliser parmis :</span></div></li> |
<li><div class="src-line"><a name="a47"></a><span class="src-doc"> * - Cache::STOCKAGE_MODE_FICHIER : sous forme d'une arborescence de fichiers et dossier</span></div></li> |
<li><div class="src-line"><a name="a48"></a><span class="src-doc"> * - Cache::STOCKAGE_MODE_SQLITE : sous forme d'une base de données SQLite</span></div></li> |
<li><div class="src-line"><a name="a49"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a50"></a><span class="src-doc"> * ====> (string) stockage_chemin :</span></div></li> |
<li><div class="src-line"><a name="a51"></a><span class="src-doc"> * Chemin vers :</span></div></li> |
<li><div class="src-line"><a name="a52"></a><span class="src-doc"> * - Cache::STOCKAGE_MODE_FICHIER : le dossier devant contenir l'arborescence.</span></div></li> |
<li><div class="src-line"><a name="a53"></a><span class="src-doc"> * - Cache::STOCKAGE_MODE_SQLITE : le fichier contenant la base SQLite.</span></div></li> |
<li><div class="src-line"><a name="a54"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a55"></a><span class="src-doc"> * ====> (boolean) controle_ecriture :</span></div></li> |
<li><div class="src-line"><a name="a56"></a><span class="src-doc"> * - Active / Désactive le controle d'écriture (le cache est lue jute après l'écriture du fichier pour détecter sa corruption)</span></div></li> |
<li><div class="src-line"><a name="a57"></a><span class="src-doc"> * - Activer le controle d'écriture ralentira légèrement l'écriture du fichier de cache mais pas sa lecture</span></div></li> |
<li><div class="src-line"><a name="a58"></a><span class="src-doc"> * Le controle d'écriture peut détecter la corruption de fichier mais ce n'est pas un système de controle parfait.</span></div></li> |
<li><div class="src-line"><a name="a59"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a60"></a><span class="src-doc"> * ====> (boolean) mise_en_cache :</span></div></li> |
<li><div class="src-line"><a name="a61"></a><span class="src-doc"> * - Active / Désactive la mise en cache</span></div></li> |
<li><div class="src-line"><a name="a62"></a><span class="src-doc"> * (peut être très utile pour le débogage des scripts utilisant le cache</span></div></li> |
<li><div class="src-line"><a name="a63"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a64"></a><span class="src-doc"> * =====> (string) cache_id_prefixe :</span></div></li> |
<li><div class="src-line"><a name="a65"></a><span class="src-doc"> * - préfixe pour les identifiant de cache ( = espace de nom)</span></div></li> |
<li><div class="src-line"><a name="a66"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a67"></a><span class="src-doc"> * ====> (boolean) serialisation_auto :</span></div></li> |
<li><div class="src-line"><a name="a68"></a><span class="src-doc"> * - Active / Désactive la sérialisation automatique</span></div></li> |
<li><div class="src-line"><a name="a69"></a><span class="src-doc"> * - Peut être utilisé pour sauver directement des données qui ne sont pas des chaines (mais c'est plus lent)</span></div></li> |
<li><div class="src-line"><a name="a70"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a71"></a><span class="src-doc"> * ====> (int) nettoyage_auto :</span></div></li> |
<li><div class="src-line"><a name="a72"></a><span class="src-doc"> * - Désactive / Régler le processus de nettoyage automatique</span></div></li> |
<li><div class="src-line"><a name="a73"></a><span class="src-doc"> * - Le processus de nettoyage automatiques détruit les fichier trop vieux (pour la durée de vie donnée)</span></div></li> |
<li><div class="src-line"><a name="a74"></a><span class="src-doc"> * quand un nouveau fichier de cache est écrit :</span></div></li> |
<li><div class="src-line"><a name="a75"></a><span class="src-doc"> * 0 => pas de nettoyage automatique</span></div></li> |
<li><div class="src-line"><a name="a76"></a><span class="src-doc"> * 1 => nettoyage automatique systématique</span></div></li> |
<li><div class="src-line"><a name="a77"></a><span class="src-doc"> * x (integer) > 1 => nettoyage automatique toutes les 1 fois (au hasard) sur x écriture de fichier de cache</span></div></li> |
<li><div class="src-line"><a name="a78"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a79"></a><span class="src-doc"> * ====> (int) duree_de_vie :</span></div></li> |
<li><div class="src-line"><a name="a80"></a><span class="src-doc"> * - Durée de vie du cache (en secondes)</span></div></li> |
<li><div class="src-line"><a name="a81"></a><span class="src-doc"> * - Si null, le cache est valide indéfiniment.</span></div></li> |
<li><div class="src-line"><a name="a82"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a83"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">array </span><span class="src-doc-var">$options </span><span class="src-doc">les options disponibles pour le cache .</span></div></li> |
<li><div class="src-line"><a name="a84"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a85"></a> <span class="src-key">protected </span><a href="../Framework/Cache.html#var$options">$options</a> = <span class="src-key">array</span><span class="src-sym">(</span></div></li> |
<li><div class="src-line"><a name="a86"></a> <span class="src-str">'stockage_mode' </span>=> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">STOCKAGE_MODE_FICHIER</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a87"></a> <span class="src-str">'stockage_chemin' </span>=> <span class="src-id">null</span><span class="src-sym">, </span></div></li> |
<li><div class="src-line"><a name="a88"></a> <span class="src-str">'controle_ecriture' </span>=> <span class="src-id">true</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a89"></a> <span class="src-str">'mise_en_cache' </span>=> <span class="src-id">true</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a90"></a> <span class="src-str">'cache_id_prefixe' </span>=> <span class="src-id">null</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a91"></a> <span class="src-str">'serialisation_auto' </span>=> <span class="src-id">false</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a92"></a> <span class="src-str">'nettoyage_auto' </span>=> <span class="src-num">10</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a93"></a> <span class="src-str">'duree_de_vie' </span>=> <span class="src-num">3600</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a94"></a> <span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a95"></a> </div></li> |
<li><div class="src-line"><a name="a96"></a> <span class="src-key">protected </span><a href="../Framework/Cache.html#var$stockage">$stockage</a> = <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a97"></a> </div></li> |
<li><div class="src-line"><a name="a98"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Cache.html#method__construct">__construct</a><span class="src-sym">(</span><span class="src-var">$options </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$options_stockage </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a99"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">initialiserOptionsParConfig</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a100"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">setOptions</span><span class="src-sym">(</span><span class="src-var">$options</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a101"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Cache.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'stockage_mode'</span><span class="src-sym">] </span>== <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">STOCKAGE_MODE_FICHIER</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a102"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Cache.html#var$stockage">stockage</a> = <span class="src-key">new </span><span class="src-id"><a href="../Framework/CacheFichier.html">CacheFichier</a></span><span class="src-sym">(</span><span class="src-var">$options_stockage</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a103"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Cache.html#var$stockage">stockage</a><span class="src-sym">-></span><span class="src-id">setEmplacement</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Cache.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'stockage_chemin'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a104"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Cache.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'stockage_mode'</span><span class="src-sym">] </span>== <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">STOCKAGE_MODE_SQLITE</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a105"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Cache.html#var$stockage">stockage</a> = <span class="src-key">new </span><span class="src-id"><a href="../Framework/CacheSqlite.html">CacheSqlite</a></span><span class="src-sym">(</span><span class="src-var">$options_stockage</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a106"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Cache.html#var$stockage">stockage</a><span class="src-sym">-></span><span class="src-id">setEmplacement</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Cache.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'stockage_chemin'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a107"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a108"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">"Ce mode de stockage n'existe pas ou ne supporte pas la création par le constructeur"</span><span class="src-sym">, </span><span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a109"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a110"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a111"></a> </div></li> |
<li><div class="src-line"><a name="a112"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">initialiserOptionsParConfig</span><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a113"></a> <span class="src-key">while </span><span class="src-sym">(</span>list<span class="src-sym">(</span><span class="src-var">$nom</span><span class="src-sym">, </span><span class="src-var">$valeur</span><span class="src-sym">) </span>= <a href="http://www.php.net/each">each</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Cache.html#var$options">options</a><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a114"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodexiste">existe</a><span class="src-sym">(</span><span class="src-var">$nom</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a115"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Cache.html#var$options">options</a><span class="src-sym">[</span><span class="src-var">$nom</span><span class="src-sym">] </span>= <span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-var">$nom</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a116"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a117"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a118"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a119"></a> </div></li> |
<li><div class="src-line"><a name="a120"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">setOptions</span><span class="src-sym">(</span><span class="src-var">$options</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a121"></a> <span class="src-key">while </span><span class="src-sym">(</span>list<span class="src-sym">(</span><span class="src-var">$nom</span><span class="src-sym">, </span><span class="src-var">$valeur</span><span class="src-sym">) </span>= <a href="http://www.php.net/each">each</a><span class="src-sym">(</span><span class="src-var">$options</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a122"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/is_string">is_string</a><span class="src-sym">(</span><span class="src-var">$nom</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a123"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">"</span><span class="src-str">Nom d'option incorecte : <span class="src-var">$nom</span></span><span class="src-str">"</span><span class="src-sym">, </span><span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a124"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a125"></a> <span class="src-var">$nom </span>= <a href="http://www.php.net/strtolower">strtolower</a><span class="src-sym">(</span><span class="src-var">$nom</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a126"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/array_key_exists">array_key_exists</a><span class="src-sym">(</span><span class="src-var">$nom</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Cache.html#var$options">options</a><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a127"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Cache.html#var$options">options</a><span class="src-sym">[</span><span class="src-var">$nom</span><span class="src-sym">] </span>= <span class="src-var">$valeur</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a128"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a129"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a130"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a131"></a> </div></li> |
<li><div class="src-line"><a name="a132"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a133"></a><span class="src-doc"> * Permet de (re-)définir l'emplacement pour le stockage du cache.</span></div></li> |
<li><div class="src-line"><a name="a134"></a><span class="src-doc"> * En fonction du mode de stockage utilisé , l'emplacement indiqué correspondra au chemin du :</span></div></li> |
<li><div class="src-line"><a name="a135"></a><span class="src-doc"> * - dossier où stocker les fichiers pour le mode "fichier".</span></div></li> |
<li><div class="src-line"><a name="a136"></a><span class="src-doc"> * - fichier de la base de données pour le mode "sqlite".</span></div></li> |
<li><div class="src-line"><a name="a137"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$emplacement </span><span class="src-doc">chemin vers dossier (Cache::STOCKAGE_MODE_FICHIER) ou fichier base Sqlite (Cache::STOCKAGE_MODE_SQLITE)</span></div></li> |
<li><div class="src-line"><a name="a138"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">void </span></div></li> |
<li><div class="src-line"><a name="a139"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a140"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Cache.html#methodsetEmplacement">setEmplacement</a><span class="src-sym">(</span><span class="src-var">$emplacement</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a141"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$emplacement </span>!= <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a142"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">executerMethodeStockage</span><span class="src-sym">(</span><span class="src-str">'setEmplacement'</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$emplacement</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a143"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a144"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">"L'emplacement ne peut pas être null."</span><span class="src-sym">, </span><span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a145"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a146"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a147"></a> </div></li> |
<li><div class="src-line"><a name="a148"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/Cache.html#methodfabriquer">fabriquer</a><span class="src-sym">(</span><span class="src-var">$mode</span><span class="src-sym">, </span><span class="src-var">$options </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a149"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$mode </span>== <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">STOCKAGE_MODE_SIMPLE</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a150"></a> <span class="src-key">return </span><span class="src-key">new </span><span class="src-id"><a href="../Framework/CacheSimple.html">CacheSimple</a></span><span class="src-sym">(</span><span class="src-var">$options</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a151"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a152"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">"</span><span class="src-str">Le mode '<span class="src-var">$mode</span>' de stockage n'existe pas ou ne supporte pas la création par fabrique</span><span class="src-str">"</span><span class="src-sym">, </span><span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a153"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a154"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a155"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a156"></a> </div></li> |
<li><div class="src-line"><a name="a157"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a158"></a><span class="src-doc"> * Teste si un cache est disponible pour l'identifiant donné et (si oui) le retourne (false dans le cas contraire)</span></div></li> |
<li><div class="src-line"><a name="a159"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a160"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">string </span><span class="src-doc"> </span><span class="src-doc-var">$id </span><span class="src-doc">Identifiant de cache.</span></div></li> |
<li><div class="src-line"><a name="a161"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">boolean </span><span class="src-doc-var">$ne_pas_tester_validiter_du_cache </span><span class="src-doc">Si mis à true, la validité du cache n'est pas testée</span></div></li> |
<li><div class="src-line"><a name="a162"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">mixed</span><span class="src-doc">|</span><span class="src-doc-type">false</span><span class="src-doc">Cached datas</span></div></li> |
<li><div class="src-line"><a name="a163"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a164"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Cache.html#methodcharger">charger</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">, </span><span class="src-var">$ne_pas_tester_validiter_du_cache </span>= <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a165"></a> <span class="src-var">$donnees </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a166"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Cache.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'mise_en_cache'</span><span class="src-sym">] </span>=== <span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a167"></a> <span class="src-var">$id </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">prefixerId</span><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a168"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">dernier_id </span>= <span class="src-var">$id</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a169"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">validerIdOuTag</span><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a170"></a> <span class="src-var">$donnees </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">executerMethodeStockage</span><span class="src-sym">(</span><span class="src-str">'charger'</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">, </span><span class="src-var">$ne_pas_tester_validiter_du_cache</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a171"></a> <span class="src-var">$donnees </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">deserialiserAutomatiquement</span><span class="src-sym">(</span><span class="src-var">$donnees</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a172"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a173"></a> <span class="src-key">return </span><span class="src-var">$donnees</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a174"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a175"></a> </div></li> |
<li><div class="src-line"><a name="a176"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a177"></a><span class="src-doc"> * Test if a cache is available for the given id</span></div></li> |
<li><div class="src-line"><a name="a178"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a179"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">string </span><span class="src-doc-var">$id </span><span class="src-doc">Cache id</span></div></li> |
<li><div class="src-line"><a name="a180"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">int</span><span class="src-doc">|</span><span class="src-doc-type">false</span><span class="src-doc">Last modified time of cache entry if it is available, false otherwise</span></div></li> |
<li><div class="src-line"><a name="a181"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a182"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Cache.html#methodtester">tester</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a183"></a> <span class="src-var">$resultat </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a184"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Cache.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'mise_en_cache'</span><span class="src-sym">] </span>=== <span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a185"></a> <span class="src-var">$id </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">prefixerId</span><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a186"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">validerIdOuTag</span><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a187"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">dernier_id </span>= <span class="src-var">$id</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a188"></a> <span class="src-var">$resultat </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">executerMethodeStockage</span><span class="src-sym">(</span><span class="src-str">'tester'</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a189"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a190"></a> <span class="src-key">return </span><span class="src-var">$resultat</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a191"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a192"></a> </div></li> |
<li><div class="src-line"><a name="a193"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a194"></a><span class="src-doc"> * Sauvegarde en cache les données passées en paramètre.</span></div></li> |
<li><div class="src-line"><a name="a195"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a196"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$donnees </span><span class="src-doc">Données à mettre en cache (peut être différent d'une chaine si serialisation_auto vaut true).</span></div></li> |
<li><div class="src-line"><a name="a197"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">string </span><span class="src-doc-var">$id </span><span class="src-doc"> Identifiant du cache (s'il n'est pas définit, le dernier identifiant sera utilisé).</span></div></li> |
<li><div class="src-line"><a name="a198"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">array </span><span class="src-doc-var">$tags </span><span class="src-doc">Mots-clés du cache.</span></div></li> |
<li><div class="src-line"><a name="a199"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">int </span><span class="src-doc-var">$duree_de_vie_specifique </span><span class="src-doc">Si != false, indique une durée de vie spécifique pour cet enregistrement en cache (null => durée de vie infinie)</span></div></li> |
<li><div class="src-line"><a name="a200"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">boolean </span><span class="src-doc">True si aucun problème n'est survenu.</span></div></li> |
<li><div class="src-line"><a name="a201"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a202"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Cache.html#methodsauver">sauver</a><span class="src-sym">(</span><span class="src-var">$donnees</span><span class="src-sym">, </span><span class="src-var">$id </span>= <span class="src-id">null</span><span class="src-sym">, </span><span class="src-var">$tags </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$duree_de_vie_specifique </span>= <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a203"></a> <span class="src-var">$resultat </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a204"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Cache.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'mise_en_cache'</span><span class="src-sym">] </span>=== <span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a205"></a> <span class="src-var">$id </span>= <span class="src-sym">(</span><span class="src-var">$id </span>=== <span class="src-id">null</span><span class="src-sym">) </span>? <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">dernier_id </span>: <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">prefixerId</span><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a206"></a> </div></li> |
<li><div class="src-line"><a name="a207"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">validerIdOuTag</span><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a208"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">validerTableauDeTags</span><span class="src-sym">(</span><span class="src-var">$tags</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a209"></a> <span class="src-var">$donnees </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">serialiserAutomatiquement</span><span class="src-sym">(</span><span class="src-var">$donnees</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a210"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">nettoyerAutomatiquement</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a211"></a> </div></li> |
<li><div class="src-line"><a name="a212"></a> <span class="src-var">$resultat </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">executerMethodeStockage</span><span class="src-sym">(</span><span class="src-str">'sauver'</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$donnees</span><span class="src-sym">, </span><span class="src-var">$id</span><span class="src-sym">, </span><span class="src-var">$tags</span><span class="src-sym">, </span><span class="src-var">$duree_de_vie_specifique</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a213"></a> </div></li> |
<li><div class="src-line"><a name="a214"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$resultat </span>== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a215"></a> <span class="src-comm">// Le cache étant peut être corrompu, nous le supprimons</span></div></li> |
<li><div class="src-line"><a name="a216"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Cache.html#methodsupprimer">supprimer</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a217"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a218"></a> <span class="src-var">$resultat </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">controlerEcriture</span><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">, </span><span class="src-var">$donnees</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a219"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a220"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a221"></a> <span class="src-key">return </span><span class="src-var">$resultat</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a222"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a223"></a> </div></li> |
<li><div class="src-line"><a name="a224"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a225"></a><span class="src-doc"> * Supprime un enregistrement en cache.</span></div></li> |
<li><div class="src-line"><a name="a226"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a227"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">string </span><span class="src-doc-var">$id </span><span class="src-doc">Identificant du cache à supprimer.</span></div></li> |
<li><div class="src-line"><a name="a228"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">boolean </span><span class="src-doc">True si ok</span></div></li> |
<li><div class="src-line"><a name="a229"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a230"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Cache.html#methodsupprimer">supprimer</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a231"></a> <span class="src-var">$resultat </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a232"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Cache.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'mise_en_cache'</span><span class="src-sym">] </span>=== <span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a233"></a> <span class="src-var">$id </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">prefixerId</span><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a234"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">validerIdOuTag</span><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a235"></a> <span class="src-var">$resultat </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">executerMethodeStockage</span><span class="src-sym">(</span><span class="src-str">'supprimer'</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a236"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a237"></a> <span class="src-key">return </span><span class="src-var">$resultat</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a238"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a239"></a> </div></li> |
<li><div class="src-line"><a name="a240"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a241"></a><span class="src-doc"> * Nettoyage des enregistrements en cache</span></div></li> |
<li><div class="src-line"><a name="a242"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a243"></a><span class="src-doc"> * Mode de nettoyage disponibles :</span></div></li> |
<li><div class="src-line"><a name="a244"></a><span class="src-doc"> * 'tous' (défaut) => supprime tous les enregistrements ($tags n'est pas utilisé)</span></div></li> |
<li><div class="src-line"><a name="a245"></a><span class="src-doc"> * 'expiration' => supprime tous les enregistrements dont la date d'expériration est dépassée ($tags n'est pas utilisé)</span></div></li> |
<li><div class="src-line"><a name="a246"></a><span class="src-doc"> * 'avecLesTag' => supprime tous les enregistrements contenant tous les tags indiqués</span></div></li> |
<li><div class="src-line"><a name="a247"></a><span class="src-doc"> * 'sansLesTag' => supprime tous les enregistrements contenant aucun des tags indiqués</span></div></li> |
<li><div class="src-line"><a name="a248"></a><span class="src-doc"> * 'avecUnTag' => supprime tous les enregistrements contenant au moins un des tags indiqués</span></div></li> |
<li><div class="src-line"><a name="a249"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a250"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$mode </span><span class="src-doc">mode de nettoyage</span></div></li> |
<li><div class="src-line"><a name="a251"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array</span><span class="src-doc">|</span><span class="src-doc-type">string</span><span class="src-doc-var">$tags </span><span class="src-doc">peut être un tableau de chaîne ou une simple chaine.</span></div></li> |
<li><div class="src-line"><a name="a252"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">boolean </span><span class="src-doc">True si ok</span></div></li> |
<li><div class="src-line"><a name="a253"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a254"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Cache.html#methodnettoyer">nettoyer</a><span class="src-sym">(</span><span class="src-var">$mode </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">NETTOYAGE_MODE_TOUS</span><span class="src-sym">, </span><span class="src-var">$tags </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a255"></a> <span class="src-var">$resultat </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a256"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Cache.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'mise_en_cache'</span><span class="src-sym">] </span>=== <span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a257"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/in_array">in_array</a><span class="src-sym">(</span><span class="src-var">$mode</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-id"><a href="../Framework/Cache.html">Cache</a></span><span class="src-sym">::</span><span class="src-id">NETTOYAGE_MODE_TOUS</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a258"></a> <span class="src-id"><a href="../Framework/Cache.html">Cache</a></span><span class="src-sym">::</span><span class="src-id">NETTOYAGE_MODE_EXPIRATION</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a259"></a> <span class="src-id"><a href="../Framework/Cache.html">Cache</a></span><span class="src-sym">::</span><span class="src-id">NETTOYAGE_MODE_AVEC_LES_TAGS</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a260"></a> <span class="src-id"><a href="../Framework/Cache.html">Cache</a></span><span class="src-sym">::</span><span class="src-id">NETTOYAGE_MODE_SANS_LES_TAGS</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a261"></a> <span class="src-id"><a href="../Framework/Cache.html">Cache</a></span><span class="src-sym">::</span><span class="src-id">NETTOYAGE_MODE_AVEC_UN_TAG</span><span class="src-sym">))) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a262"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">"Le mode de nettoyage du cache indiqué n'est pas valide"</span><span class="src-sym">, </span><span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a263"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a264"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">validerTableauDeTags</span><span class="src-sym">(</span><span class="src-var">$tags</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a265"></a> </div></li> |
<li><div class="src-line"><a name="a266"></a> <span class="src-var">$resultat </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">executerMethodeStockage</span><span class="src-sym">(</span><span class="src-str">'nettoyer'</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$mode</span><span class="src-sym">, </span><span class="src-var">$tags</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a267"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a268"></a> <span class="src-key">return </span><span class="src-var">$resultat</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a269"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a270"></a> </div></li> |
<li><div class="src-line"><a name="a271"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a272"></a><span class="src-doc"> * Return an array of stored cache ids</span></div></li> |
<li><div class="src-line"><a name="a273"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a274"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc">array of stored cache ids (string)</span></div></li> |
<li><div class="src-line"><a name="a275"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a276"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Cache.html#methodgetIds">getIds</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a277"></a> <span class="src-var">$ids </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">executerMethodeStockage</span><span class="src-sym">(</span><span class="src-str">'getIds'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a278"></a> <span class="src-var">$ids </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">supprimerPrefixe</span><span class="src-sym">(</span><span class="src-var">$ids</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a279"></a> <span class="src-key">return </span><span class="src-var">$ids</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a280"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a281"></a> </div></li> |
<li><div class="src-line"><a name="a282"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a283"></a><span class="src-doc"> * Return an array of stored tags</span></div></li> |
<li><div class="src-line"><a name="a284"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a285"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc">array of stored tags (string)</span></div></li> |
<li><div class="src-line"><a name="a286"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a287"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Cache.html#methodgetTags">getTags</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a288"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">executerMethodeStockage</span><span class="src-sym">(</span><span class="src-str">'getTags'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a289"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a290"></a> </div></li> |
<li><div class="src-line"><a name="a291"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a292"></a><span class="src-doc"> * Return an array of stored cache ids which match given tags</span></div></li> |
<li><div class="src-line"><a name="a293"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a294"></a><span class="src-doc"> * In case of multiple tags, a logical AND is made between tags</span></div></li> |
<li><div class="src-line"><a name="a295"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a296"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$tags </span><span class="src-doc">array of tags</span></div></li> |
<li><div class="src-line"><a name="a297"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc">array of matching cache ids (string)</span></div></li> |
<li><div class="src-line"><a name="a298"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a299"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Cache.html#methodgetIdsAvecLesTags">getIdsAvecLesTags</a><span class="src-sym">(</span><span class="src-var">$tags </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a300"></a> <span class="src-var">$ids </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">executerMethodeStockage</span><span class="src-sym">(</span><span class="src-str">'getIdsAvecLesTags'</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$tags</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a301"></a> <span class="src-var">$ids </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">supprimerPrefixe</span><span class="src-sym">(</span><span class="src-var">$ids</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a302"></a> <span class="src-key">return </span><span class="src-var">$ids</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a303"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a304"></a> </div></li> |
<li><div class="src-line"><a name="a305"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a306"></a><span class="src-doc"> * Return an array of stored cache ids which don't match given tags</span></div></li> |
<li><div class="src-line"><a name="a307"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a308"></a><span class="src-doc"> * In case of multiple tags, a logical OR is made between tags</span></div></li> |
<li><div class="src-line"><a name="a309"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a310"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$tags </span><span class="src-doc">array of tags</span></div></li> |
<li><div class="src-line"><a name="a311"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc">array of not matching cache ids (string)</span></div></li> |
<li><div class="src-line"><a name="a312"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a313"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Cache.html#methodgetIdsSansLesTags">getIdsSansLesTags</a><span class="src-sym">(</span><span class="src-var">$tags </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a314"></a> <span class="src-var">$ids </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">executerMethodeStockage</span><span class="src-sym">(</span><span class="src-str">'getIdsSansLesTags'</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$tags</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a315"></a> <span class="src-var">$ids </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">supprimerPrefixe</span><span class="src-sym">(</span><span class="src-var">$ids</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a316"></a> <span class="src-key">return </span><span class="src-var">$ids</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a317"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a318"></a> </div></li> |
<li><div class="src-line"><a name="a319"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a320"></a><span class="src-doc"> * Return an array of stored cache ids which match any given tags</span></div></li> |
<li><div class="src-line"><a name="a321"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a322"></a><span class="src-doc"> * In case of multiple tags, a logical OR is made between tags</span></div></li> |
<li><div class="src-line"><a name="a323"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a324"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$tags </span><span class="src-doc">array of tags</span></div></li> |
<li><div class="src-line"><a name="a325"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc">array of matching any cache ids (string)</span></div></li> |
<li><div class="src-line"><a name="a326"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a327"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Cache.html#methodgetIdsAvecUnTag">getIdsAvecUnTag</a><span class="src-sym">(</span><span class="src-var">$tags </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a328"></a> <span class="src-var">$ids </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">executerMethodeStockage</span><span class="src-sym">(</span><span class="src-str">'getIdsAvecUnTag'</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$tags</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a329"></a> <span class="src-var">$ids </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">supprimerPrefixe</span><span class="src-sym">(</span><span class="src-var">$ids</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a330"></a> <span class="src-key">return </span><span class="src-var">$ids</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a331"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a332"></a> </div></li> |
<li><div class="src-line"><a name="a333"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a334"></a><span class="src-doc"> * Return the filling percentage of the backend storage</span></div></li> |
<li><div class="src-line"><a name="a335"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a336"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">int </span><span class="src-doc">integer between 0 and 100</span></div></li> |
<li><div class="src-line"><a name="a337"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a338"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Cache.html#methodgetPourcentageRemplissage">getPourcentageRemplissage</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a339"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">executerMethodeStockage</span><span class="src-sym">(</span><span class="src-str">'getPourcentageRemplissage'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a340"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a341"></a> </div></li> |
<li><div class="src-line"><a name="a342"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a343"></a><span class="src-doc"> * Return an array of metadatas for the given cache id</span></div></li> |
<li><div class="src-line"><a name="a344"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a345"></a><span class="src-doc"> * The array will include these keys :</span></div></li> |
<li><div class="src-line"><a name="a346"></a><span class="src-doc"> * - expire : the expire timestamp</span></div></li> |
<li><div class="src-line"><a name="a347"></a><span class="src-doc"> * - tags : a string array of tags</span></div></li> |
<li><div class="src-line"><a name="a348"></a><span class="src-doc"> * - mtime : timestamp of last modification time</span></div></li> |
<li><div class="src-line"><a name="a349"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a350"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$id </span><span class="src-doc">cache id</span></div></li> |
<li><div class="src-line"><a name="a351"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc">array of metadatas (false if the cache id is not found)</span></div></li> |
<li><div class="src-line"><a name="a352"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a353"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Cache.html#methodgetMetadonnees">getMetadonnees</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a354"></a> <span class="src-var">$id </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">prefixerId</span><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a355"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">executerMethodeStockage</span><span class="src-sym">(</span><span class="src-str">'getMetadonnees'</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a356"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a357"></a> </div></li> |
<li><div class="src-line"><a name="a358"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a359"></a><span class="src-doc"> * Give (if possible) an extra lifetime to the given cache id</span></div></li> |
<li><div class="src-line"><a name="a360"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a361"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$id </span><span class="src-doc">cache id</span></div></li> |
<li><div class="src-line"><a name="a362"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$extraLifetime </span></div></li> |
<li><div class="src-line"><a name="a363"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">boolean </span><span class="src-doc">true if ok</span></div></li> |
<li><div class="src-line"><a name="a364"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a365"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Cache.html#methodajouterSupplementDureeDeVie">ajouterSupplementDureeDeVie</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">, </span><span class="src-var">$supplement_duree_de_vie</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a366"></a> <span class="src-var">$id </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">prefixerId</span><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a367"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">executerMethodeStockage</span><span class="src-sym">(</span><span class="src-str">'ajouterSupplementDureeDeVie'</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">, </span><span class="src-var">$supplement_duree_de_vie</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a368"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a369"></a> </div></li> |
<li><div class="src-line"><a name="a370"></a> </div></li> |
<li><div class="src-line"><a name="a371"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a372"></a><span class="src-doc"> * Fabrique et retourne l'identifiant du cache avec son préfixe.</span></div></li> |
<li><div class="src-line"><a name="a373"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a374"></a><span class="src-doc"> * Vérifie l'option 'cache_id_prefixe' et retourne le nouvel id avec préfixe ou simplement l'id lui même si elle vaut null.</span></div></li> |
<li><div class="src-line"><a name="a375"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a376"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">string </span><span class="src-doc-var">$id </span><span class="src-doc">Identifiant du cache.</span></div></li> |
<li><div class="src-line"><a name="a377"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">Identifiant du cache avec ou sans préfixe.</span></div></li> |
<li><div class="src-line"><a name="a378"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a379"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">prefixerId</span><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a380"></a> <span class="src-var">$nouvel_id </span>= <span class="src-var">$id</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a381"></a> <span class="src-key">if </span><span class="src-sym">((</span><span class="src-var">$id </span>!== <span class="src-id">null</span><span class="src-sym">) </span>&& isset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Cache.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'cache_id_prefixe'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a382"></a> <span class="src-var">$nouvel_id </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Cache.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'cache_id_prefixe'</span><span class="src-sym">]</span>.<span class="src-var">$id</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a383"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a384"></a> <span class="src-key">return </span><span class="src-var">$nouvel_id</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a385"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a386"></a> </div></li> |
<li><div class="src-line"><a name="a387"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">executerMethodeStockage</span><span class="src-sym">(</span><span class="src-var">$methode</span><span class="src-sym">, </span><span class="src-var">$params </span>= <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a388"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/method_exists">method_exists</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Cache.html#var$stockage">stockage</a><span class="src-sym">, </span><span class="src-var">$methode</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a389"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$params </span>== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a390"></a> <span class="src-var">$resultat </span>= <a href="http://www.php.net/call_user_func">call_user_func</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Cache.html#var$stockage">stockage</a><span class="src-sym">, </span><span class="src-var">$methode</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a391"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a392"></a> <span class="src-var">$resultat </span>= <a href="http://www.php.net/call_user_func_array">call_user_func_array</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Cache.html#var$stockage">stockage</a><span class="src-sym">, </span><span class="src-var">$methode</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a393"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a394"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a395"></a> <span class="src-var">$resultat </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a396"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">"</span><span class="src-str">La méthode '<span class="src-var">$methode</span>' n'existe pas dans la classe '</span><span class="src-str">"</span>.<a href="http://www.php.net/get_class">get_class</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">)</span>.<span class="src-str">"'."</span><span class="src-sym">, </span><span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a397"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a398"></a> <span class="src-key">return </span><span class="src-var">$resultat</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a399"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a400"></a> </div></li> |
<li><div class="src-line"><a name="a401"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">supprimerPrefixe</span><span class="src-sym">(</span><span class="src-var">$ids</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a402"></a> <span class="src-comm">// Il est nécessaire de retirer les cache_id_prefixe des ids (voir #ZF-6178, #ZF-7600)</span></div></li> |
<li><div class="src-line"><a name="a403"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Cache.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'cache_id_prefixe'</span><span class="src-sym">]</span><span class="src-sym">) </span>&& <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Cache.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'cache_id_prefixe'</span><span class="src-sym">] </span>!== <span class="src-str">''</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a404"></a> <span class="src-var">$prefixe </span>=<span class="src-sym">& </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Cache.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'cache_id_prefixe'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a405"></a> <span class="src-var">$prefixe_longueur </span>= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$prefixe</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a406"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$ids </span><span class="src-key">as </span><span class="src-sym">&</span><span class="src-var">$id</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a407"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">, </span><span class="src-var">$prefixe</span><span class="src-sym">) </span>=== <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a408"></a> <span class="src-var">$id </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">, </span><span class="src-var">$prefixe_longueur</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a409"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a410"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a411"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a412"></a> <span class="src-key">return </span><span class="src-var">$ids</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a413"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a414"></a> </div></li> |
<li><div class="src-line"><a name="a415"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">controlerEcriture</span><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">, </span><span class="src-var">$donnees_avant_ecriture</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a416"></a> <span class="src-var">$resultat </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a417"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Cache.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'controle_ecriture'</span><span class="src-sym">]</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a418"></a> <span class="src-var">$donnees_apres_ecriture </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">executerMethodeStockage</span><span class="src-sym">(</span><span class="src-str">'charger'</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a419"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$donnees_avant_ecriture </span>!= <span class="src-var">$donnees_apres_ecriture</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a420"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">executerMethodeStockage</span><span class="src-sym">(</span><span class="src-str">'supprimer'</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a421"></a> <span class="src-var">$resultat </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a422"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a423"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a424"></a> <span class="src-key">return </span><span class="src-var">$resultat</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a425"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a426"></a> </div></li> |
<li><div class="src-line"><a name="a427"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">deserialiserAutomatiquement</span><span class="src-sym">(</span><span class="src-var">$donnees</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a428"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$donnees </span>!== <span class="src-id">false </span>&& <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Cache.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'serialisation_auto'</span><span class="src-sym">]</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a429"></a> <span class="src-comm">// we need to unserialize before sending the result</span></div></li> |
<li><div class="src-line"><a name="a430"></a> <span class="src-var">$donnees </span>= <a href="http://www.php.net/unserialize">unserialize</a><span class="src-sym">(</span><span class="src-var">$donnees</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a431"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a432"></a> <span class="src-key">return </span><span class="src-var">$donnees</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a433"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a434"></a> </div></li> |
<li><div class="src-line"><a name="a435"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">serialiserAutomatiquement</span><span class="src-sym">(</span><span class="src-var">$donnees</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a436"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Cache.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'serialisation_auto'</span><span class="src-sym">]</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a437"></a> <span class="src-comm">// we need to serialize datas before storing them</span></div></li> |
<li><div class="src-line"><a name="a438"></a> <span class="src-var">$donnees </span>= <a href="http://www.php.net/serialize">serialize</a><span class="src-sym">(</span><span class="src-var">$donnees</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a439"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a440"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/is_string">is_string</a><span class="src-sym">(</span><span class="src-var">$donnees</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a441"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">"Les données doivent être une chaîne de caractères ou vous devez activez l'option serialisation_auto = true"</span><span class="src-sym">, </span><span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a442"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a443"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a444"></a> <span class="src-key">return </span><span class="src-var">$donnees</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a445"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a446"></a> </div></li> |
<li><div class="src-line"><a name="a447"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">nettoyerAutomatiquement</span><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a448"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Cache.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'nettoyage_auto'</span><span class="src-sym">] </span>> <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a449"></a> <span class="src-var">$rand </span>= <a href="http://www.php.net/rand">rand</a><span class="src-sym">(</span><span class="src-num">1</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Cache.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'nettoyage_auto'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a450"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$rand </span>== <span class="src-num">1</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a451"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Cache.html#methodnettoyer">nettoyer</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">NETTOYAGE_MODE_EXPIRATION</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a452"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a453"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a454"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a455"></a> </div></li> |
<li><div class="src-line"><a name="a456"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a457"></a><span class="src-doc"> * Valide un identifiant de cache ou un tag (securité, nom de fichiers fiables, préfixes réservés...)</span></div></li> |
<li><div class="src-line"><a name="a458"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a459"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">string </span><span class="src-doc-var">$chaine </span><span class="src-doc">Identificant de cache ou tag</span></div></li> |
<li><div class="src-line"><a name="a460"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">void </span></div></li> |
<li><div class="src-line"><a name="a461"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a462"></a> <span class="src-key">protected </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/Cache.html#methodvaliderIdOuTag">validerIdOuTag</a><span class="src-sym">(</span><span class="src-var">$chaine</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a463"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/is_string">is_string</a><span class="src-sym">(</span><span class="src-var">$chaine</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a464"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">'Id ou tag invalide : doit être une chaîne de caractères'</span><span class="src-sym">, </span><span class="src-id">E_USER_ERROR</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a465"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a466"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$chaine</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-num">9</span><span class="src-sym">) </span>== <span class="src-str">'internal-'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a467"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">'"internal-*" identifiants ou tags sont réservés'</span><span class="src-sym">, </span><span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a468"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a469"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'~^[a-zA-Z0-9_]+$~D'</span><span class="src-sym">, </span><span class="src-var">$chaine</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a470"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">"</span><span class="src-str">Id ou tag invalide '<span class="src-var">$chaine</span>' : doit contenir seulement [a-zA-Z0-9_]</span><span class="src-str">"</span><span class="src-sym">, </span><span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a471"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a472"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a473"></a> </div></li> |
<li><div class="src-line"><a name="a474"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a475"></a><span class="src-doc"> * Valide un tableau de tags (securité, nom de fichiers fiables, préfixes réservés...)</span></div></li> |
<li><div class="src-line"><a name="a476"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a477"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">array </span><span class="src-doc-var">$tags </span><span class="src-doc">tableau de tags</span></div></li> |
<li><div class="src-line"><a name="a478"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">void </span></div></li> |
<li><div class="src-line"><a name="a479"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a480"></a> <span class="src-key">protected </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/Cache.html#methodvaliderTableauDeTags">validerTableauDeTags</a><span class="src-sym">(</span><span class="src-var">$tags</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a481"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$tags</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a482"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">"Tableau de tags invalide : doit être un tableau 'array'"</span><span class="src-sym">, </span><span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a483"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a484"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$tags </span><span class="src-key">as </span><span class="src-var">$tag</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a485"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">validerIdOuTag</span><span class="src-sym">(</span><span class="src-var">$tag</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a486"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a487"></a> <a href="http://www.php.net/reset">reset</a><span class="src-sym">(</span><span class="src-var">$tags</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a488"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a489"></a> </div></li> |
<li><div class="src-line"><a name="a490"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a491"></a><span class="src-doc"> * Calcule et retourne le timestamp d'expiration</span></div></li> |
<li><div class="src-line"><a name="a492"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a493"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">int </span><span class="src-doc">timestamp d'expiration (unix timestamp)</span></div></li> |
<li><div class="src-line"><a name="a494"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a495"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Cache.html#methodgetTimestampExpiration">getTimestampExpiration</a><span class="src-sym">(</span><span class="src-var">$duree_de_vie</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a496"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$duree_de_vie </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a497"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Cache.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'duree_de_vie'</span><span class="src-sym">]</span><span class="src-sym">) </span>&& <a href="http://www.php.net/is_int">is_int</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Cache.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'duree_de_vie'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a498"></a> <span class="src-var">$duree_de_vie </span>= (int) <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Cache.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'duree_de_vie'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a499"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a500"></a> <span class="src-var">$duree_de_vie </span>= <span class="src-num">3600</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a501"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a502"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a503"></a> <span class="src-var">$timestamp </span>= <span class="src-sym">(</span><span class="src-var">$duree_de_vie </span>=== <span class="src-id">null</span><span class="src-sym">) </span>? <span class="src-num">9999999999 </span>: <span class="src-sym">(</span><a href="http://www.php.net/time">time</a><span class="src-sym">(</span><span class="src-sym">) </span>+ <span class="src-var">$duree_de_vie</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a504"></a> <span class="src-key">return </span><span class="src-var">$timestamp</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a505"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a506"></a> </div></li> |
<li><div class="src-line"><a name="a507"></a><span class="src-sym">}</span></div></li> |
</ol></div> |
</div> |
<p class="notes" id="credit"> |
Documentation generated on Tue, 18 Jan 2011 15:01:22 +0100 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.3</a> |
</p> |
</body> |
</html> |
/trunk/doc/HTMLframesConverter/__filesource/fsource_Framework__Script.php.html |
---|
New file |
0,0 → 1,309 |
<?xml version="1.0" encoding="UTF-8"?> |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
<html xmlns="http://www.w3.org/1999/xhtml"> |
<head> |
<!-- template designed by Marco Von Ballmoos --> |
<title>File Source for Script.php</title> |
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'/> |
<link rel="stylesheet" href="../media/stylesheet.css" /> |
</head> |
<body> |
<h1>Source for file Script.php</h1> |
<p>Documentation is available at <a href="../Framework/_Script.php.html">Script.php</a></p> |
<div class="src-code"> |
<div class="src-code"><ol><li><div class="src-line"><a name="a1"></a><span class="src-php"><?php</span></div></li> |
<li><div class="src-line"><a name="a2"></a><span class="src-comm">// declare(encoding='UTF-8');</span></div></li> |
<li><div class="src-line"><a name="a3"></a><span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a4"></a><span class="src-doc"> * Script est une classe abstraite qui doit être implémenté par les classes éxecutant des scripts en ligne de commande.</span></div></li> |
<li><div class="src-line"><a name="a5"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a6"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@category</span><span class="src-doc"> PHP 5.2</span></div></li> |
<li><div class="src-line"><a name="a7"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@package</span><span class="src-doc"> Framework</span></div></li> |
<li><div class="src-line"><a name="a8"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@author</span><span class="src-doc"> Jean-Pascal MILCENT <jpm@tela-botanica.org></span></div></li> |
<li><div class="src-line"><a name="a9"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@author</span><span class="src-doc"> Delphine CAUQUIL <delphine@tela-botanica.org></span></div></li> |
<li><div class="src-line"><a name="a10"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@copyright</span><span class="src-doc"> Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org)</span></div></li> |
<li><div class="src-line"><a name="a11"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.gnu.org/licenses/gpl.html Licence GNU-GPL-v3</span></div></li> |
<li><div class="src-line"><a name="a12"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL-v2</span></div></li> |
<li><div class="src-line"><a name="a13"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@since</span><span class="src-doc"> 0.3</span></div></li> |
<li><div class="src-line"><a name="a14"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@version</span><span class="src-doc"> $Id$</span></div></li> |
<li><div class="src-line"><a name="a15"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@link</span><span class="src-doc"> /doc/framework/</span></div></li> |
<li><div class="src-line"><a name="a16"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a17"></a> </div></li> |
<li><div class="src-line"><a name="a18"></a><span class="src-key">abstract </span><span class="src-key">class </span><a href="../Framework/Script.html">Script</a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a19"></a> <span class="src-doc">/** Niveau de message de type LOG */</span></div></li> |
<li><div class="src-line"><a name="a20"></a> <span class="src-key">const </span><span class="src-id">MSG_LOG </span>= <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a21"></a> <span class="src-doc">/** Niveau de message de type ERREUR */</span></div></li> |
<li><div class="src-line"><a name="a22"></a> <span class="src-key">const </span><span class="src-id">MSG_ERREUR </span>= <span class="src-num">1</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a23"></a> <span class="src-doc">/** Niveau de message de type AVERTISSEMENT */</span></div></li> |
<li><div class="src-line"><a name="a24"></a> <span class="src-key">const </span><span class="src-id">MSG_AVERTISSEMENT </span>= <span class="src-num">2</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a25"></a> <span class="src-doc">/** Niveau de message de type INFORMATION */</span></div></li> |
<li><div class="src-line"><a name="a26"></a> <span class="src-key">const </span><span class="src-id">MSG_INFO </span>= <span class="src-num">3</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a27"></a> </div></li> |
<li><div class="src-line"><a name="a28"></a> <span class="src-doc">/** Inititulé des différents types de message. */</span></div></li> |
<li><div class="src-line"><a name="a29"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$msg_niveaux_txt </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'LOG'</span><span class="src-sym">, </span><span class="src-str">'ERREUR'</span><span class="src-sym">,</span><span class="src-str">'AVERTISSEMENT'</span><span class="src-sym">, </span><span class="src-str">'INFO'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a30"></a> </div></li> |
<li><div class="src-line"><a name="a31"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a32"></a><span class="src-doc"> * Le nom du script tel que passé dans la ligne de commande.</span></div></li> |
<li><div class="src-line"><a name="a33"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">string </span></div></li> |
<li><div class="src-line"><a name="a34"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a35"></a> <span class="src-key">private </span><span class="src-var">$script_nom </span>= <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a36"></a> </div></li> |
<li><div class="src-line"><a name="a37"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a38"></a><span class="src-doc"> * Paramêtres par défaut disponibles pour la ligne de commande</span></div></li> |
<li><div class="src-line"><a name="a39"></a><span class="src-doc"> * le tableau se construit de la forme suivante :</span></div></li> |
<li><div class="src-line"><a name="a40"></a><span class="src-doc"> * - clé = nom du paramêtre '-foo'</span></div></li> |
<li><div class="src-line"><a name="a41"></a><span class="src-doc"> * - value = contient un nouveau tableau composé de cette façon :</span></div></li> |
<li><div class="src-line"><a name="a42"></a><span class="src-doc"> * - booléen: true si le paramêtre est obligatoire</span></div></li> |
<li><div class="src-line"><a name="a43"></a><span class="src-doc"> * - booléen ou var : true si le paramêtre nécessite un valeur à sa suite ou la valeur par défaut</span></div></li> |
<li><div class="src-line"><a name="a44"></a><span class="src-doc"> * - string: description du contenu du paramêtre</span></div></li> |
<li><div class="src-line"><a name="a45"></a><span class="src-doc"> * Les paramêtres optionels devraient être déclaré à la fin du tableau.</span></div></li> |
<li><div class="src-line"><a name="a46"></a><span class="src-doc"> * Le dernier parametre du tableau peut avoir la valeur '...',</span></div></li> |
<li><div class="src-line"><a name="a47"></a><span class="src-doc"> * il contiendra alors l'ensemble des paramêtres suivant trouvés sur la ligne de commande.</span></div></li> |
<li><div class="src-line"><a name="a48"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">array </span></div></li> |
<li><div class="src-line"><a name="a49"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a50"></a> <span class="src-key">private </span><span class="src-var">$parametres_autorises_defaut </span>= <span class="src-key">array</span><span class="src-sym">(</span></div></li> |
<li><div class="src-line"><a name="a51"></a> <span class="src-str">'-a' </span>=> <span class="src-key">array</span><span class="src-sym">(</span><span class="src-id">true</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">, </span><span class="src-str">'Action à réaliser'</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a52"></a> <span class="src-str">'-v' </span>=> <span class="src-key">array</span><span class="src-sym">(</span><span class="src-id">false</span><span class="src-sym">, </span><span class="src-str">'1'</span><span class="src-sym">, </span><span class="src-str">'Mode verbeux : 1 ou 2'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a53"></a> </div></li> |
<li><div class="src-line"><a name="a54"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a55"></a><span class="src-doc"> * Paramêtres autorisés par le script.</span></div></li> |
<li><div class="src-line"><a name="a56"></a><span class="src-doc"> * le tableau est de la forme suivante :</span></div></li> |
<li><div class="src-line"><a name="a57"></a><span class="src-doc"> * - clé = nom du paramêtre '-foo'</span></div></li> |
<li><div class="src-line"><a name="a58"></a><span class="src-doc"> * - value = contient un nouveau tableau composé de cette façon :</span></div></li> |
<li><div class="src-line"><a name="a59"></a><span class="src-doc"> * - booléen: true si le paramêtre est obligatoire</span></div></li> |
<li><div class="src-line"><a name="a60"></a><span class="src-doc"> * - booléen ou var : true si le paramêtre nécessite un valeur à sa suite ou la valeur par défaut</span></div></li> |
<li><div class="src-line"><a name="a61"></a><span class="src-doc"> * - string: description du contenu du paramêtre</span></div></li> |
<li><div class="src-line"><a name="a62"></a><span class="src-doc"> * Les paramêtres optionels devraient être déclaré à la fin du tableau.</span></div></li> |
<li><div class="src-line"><a name="a63"></a><span class="src-doc"> * Le dernier parametre du tableau peut avoir la valeur '...',</span></div></li> |
<li><div class="src-line"><a name="a64"></a><span class="src-doc"> * il contiendra alors l'ensemble des paramêtres suivant trouvés sur la ligne de commande.</span></div></li> |
<li><div class="src-line"><a name="a65"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">array </span></div></li> |
<li><div class="src-line"><a name="a66"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a67"></a> <span class="src-key">protected </span><a href="../Framework/Script.html#var$parametres_autorises">$parametres_autorises</a> = <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a68"></a> </div></li> |
<li><div class="src-line"><a name="a69"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a70"></a><span class="src-doc"> * Contient les valeurs des paramêtres récupérés de la ligne de commande :</span></div></li> |
<li><div class="src-line"><a name="a71"></a><span class="src-doc"> * le tableau se construit de la forme suivnate :</span></div></li> |
<li><div class="src-line"><a name="a72"></a><span class="src-doc"> * - clé = nom du paramêtre '-foo'</span></div></li> |
<li><div class="src-line"><a name="a73"></a><span class="src-doc"> * - valeur = la valeur récupérée sur la ligne de commande</span></div></li> |
<li><div class="src-line"><a name="a74"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">array </span></div></li> |
<li><div class="src-line"><a name="a75"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a76"></a> <span class="src-key">private </span><span class="src-var">$parametres_cli </span>= <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a77"></a> </div></li> |
<li><div class="src-line"><a name="a78"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a79"></a><span class="src-doc"> * Contient le tableau des paramètres disponible après vérification :</span></div></li> |
<li><div class="src-line"><a name="a80"></a><span class="src-doc"> * le tableau est de la forme suivante :</span></div></li> |
<li><div class="src-line"><a name="a81"></a><span class="src-doc"> * - clé = nom du paramêtre '-foo'</span></div></li> |
<li><div class="src-line"><a name="a82"></a><span class="src-doc"> * - valeur = la valeur récupérée sur la ligne de commande</span></div></li> |
<li><div class="src-line"><a name="a83"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">array </span></div></li> |
<li><div class="src-line"><a name="a84"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a85"></a> <span class="src-key">protected </span><a href="../Framework/Script.html#var$parametres">$parametres</a> = <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a86"></a> </div></li> |
<li><div class="src-line"><a name="a87"></a> <span class="src-doc">/** Tableau associatif permettant de stocker l'avancement dans une boucle.</span></div></li> |
<li><div class="src-line"><a name="a88"></a><span class="src-doc"> * La clé est un md5 du message à afficher au démarrage de la boucle.</span></div></li> |
<li><div class="src-line"><a name="a89"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">array </span></div></li> |
<li><div class="src-line"><a name="a90"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a91"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$avancement </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a92"></a> </div></li> |
<li><div class="src-line"><a name="a93"></a> <span class="src-doc">/** Tableau des noms des paramètres à définir dans le fichier de config car obligatoirement nécessaire à cette classe.*/</span></div></li> |
<li><div class="src-line"><a name="a94"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$parametres_obligatoires </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'chemin_modules'</span><span class="src-sym">, </span><span class="src-str">'log_script'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a95"></a> </div></li> |
<li><div class="src-line"><a name="a96"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Script.html#method__construct">__construct</a><span class="src-sym">(</span><span class="src-var">$script_nom</span><span class="src-sym">, </span><span class="src-var">$parametres_cli</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a97"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">script_nom </span>= <span class="src-var">$script_nom</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a98"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">parametres_cli </span>= <span class="src-var">$parametres_cli</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a99"></a> </div></li> |
<li><div class="src-line"><a name="a100"></a> <span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodverifierPresenceParametres">verifierPresenceParametres</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$parametres_obligatoires</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a101"></a> </div></li> |
<li><div class="src-line"><a name="a102"></a> <span class="src-var">$fichier_ini_script </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Script.html#methodgetScriptChemin">getScriptChemin</a><span class="src-sym">(</span><span class="src-sym">)</span>.<span class="src-str">'config.ini'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a103"></a> <span class="src-id">Config</span><span class="src-sym">::</span><span class="src-id">charger</span><span class="src-sym">(</span><span class="src-var">$fichier_ini_script</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a104"></a> </div></li> |
<li><div class="src-line"><a name="a105"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">chargerParametresAutorises</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a106"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">chargerParametres</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a107"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a108"></a> </div></li> |
<li><div class="src-line"><a name="a109"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">getMsgNiveauTxt</span><span class="src-sym">(</span><span class="src-var">$niveau</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a110"></a> <span class="src-key">return </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$msg_niveaux_txt</span><span class="src-sym">[</span><span class="src-var">$niveau</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a111"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a112"></a> </div></li> |
<li><div class="src-line"><a name="a113"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Framework/Script.html#methodgetScriptNom">getScriptNom</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a114"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">script_nom</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a115"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a116"></a> </div></li> |
<li><div class="src-line"><a name="a117"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Framework/Script.html#methodgetScriptChemin">getScriptChemin</a><span class="src-sym">(</span><span class="src-var">$doit_exister </span>= <span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a118"></a> <span class="src-var">$chemin </span>= <span class="src-id">Config</span><span class="src-sym">::</span><span class="src-id">get</span><span class="src-sym">(</span><span class="src-str">'chemin_modules'</span><span class="src-sym">)</span>.<span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Script.html#methodgetScriptNom">getScriptNom</a><span class="src-sym">(</span><span class="src-sym">)</span>.<span class="src-id">DS</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a119"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/file_exists">file_exists</a><span class="src-sym">(</span><span class="src-var">$chemin</span><span class="src-sym">) </span>&& <span class="src-var">$doit_exister</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a120"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">"Erreur: le module '"</span>.<span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Script.html#methodgetScriptNom">getScriptNom</a><span class="src-sym">(</span><span class="src-sym">)</span>.<span class="src-str">"</span><span class="src-str">' n'existe pas (<span class="src-var">$chemin</span>)\n</span><span class="src-str">"</span><span class="src-sym">, </span><span class="src-id">E_USER_ERROR</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a121"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a122"></a> <span class="src-key">return </span><span class="src-var">$chemin</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a123"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a124"></a> </div></li> |
<li><div class="src-line"><a name="a125"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Framework/Script.html#methodgetParametre">getParametre</a><span class="src-sym">(</span><span class="src-var">$parametre</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a126"></a> <span class="src-var">$retour </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a127"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/is_null">is_null</a><span class="src-sym">(</span><span class="src-var">$parametre</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a128"></a> <span class="src-var">$parametre </span>= <a href="http://www.php.net/ltrim">ltrim</a><span class="src-sym">(</span><span class="src-var">$parametre</span><span class="src-sym">, </span><span class="src-str">'-'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a129"></a> </div></li> |
<li><div class="src-line"><a name="a130"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Script.html#var$parametres">parametres</a><span class="src-sym">[</span><span class="src-var">$parametre</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a131"></a> <span class="src-var">$retour </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Script.html#var$parametres">parametres</a><span class="src-sym">[</span><span class="src-var">$parametre</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a132"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a133"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">"</span><span class="src-str">Erreur: la ligne de commande ne contenait pas le paramêtre '<span class="src-var">$parametre</span>'\n</span><span class="src-str">"</span><span class="src-sym">, </span><span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a134"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a135"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a136"></a> <span class="src-key">return </span><span class="src-var">$retour</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a137"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a138"></a> </div></li> |
<li><div class="src-line"><a name="a139"></a> <span class="src-key">abstract </span><span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Script.html#methodexecuter">executer</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a140"></a> </div></li> |
<li><div class="src-line"><a name="a141"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">chargerParametresAutorises</span><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a142"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">parametres_autorises_defaut </span><span class="src-key">as </span><span class="src-var">$c </span>=> <span class="src-var">$v</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a143"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Script.html#var$parametres_autorises">parametres_autorises</a><span class="src-sym">[</span><span class="src-var">$c</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a144"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">"Erreur: le script '"</span>.<span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Script.html#methodgetScriptNom">getScriptNom</a><span class="src-sym">(</span><span class="src-sym">)</span>.<span class="src-str">"</span><span class="src-str">' ne peut définir le paramêtre '<span class="src-var">$c</span>' car il existe déjà\n</span><span class="src-str">"</span><span class="src-sym">, </span><span class="src-id">E_USER_ERROR</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a145"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a146"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Script.html#var$parametres_autorises">parametres_autorises</a><span class="src-sym">[</span><span class="src-var">$c</span><span class="src-sym">] </span>= <span class="src-var">$v</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a147"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a148"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a149"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a150"></a> </div></li> |
<li><div class="src-line"><a name="a151"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">chargerParametres</span><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a152"></a> <span class="src-var">$parametres_cli </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">parametres_cli</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a153"></a> </div></li> |
<li><div class="src-line"><a name="a154"></a> <span class="src-comm">// Récupération des paramêtresgetMsgNiveauTxt</span></div></li> |
<li><div class="src-line"><a name="a155"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Script.html#var$parametres_autorises">parametres_autorises</a> <span class="src-key">as </span><span class="src-var">$p_nom </span>=> <span class="src-var">$p_val</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a156"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$parametres_cli</span><span class="src-sym">) </span>== <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a157"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$p_val</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a158"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">"Erreur: paramêtre manquant '"</span>.<span class="src-var">$p_nom</span>.<span class="src-str">"' \n"</span><span class="src-sym">, </span><span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a159"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a160"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a161"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$p_nom </span>== <span class="src-str">'...'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a162"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Script.html#var$parametres">parametres</a><span class="src-sym">[</span><span class="src-str">'...'</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a163"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$parametres_cli </span><span class="src-key">as </span><span class="src-var">$arg</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a164"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Script.html#var$parametres">parametres</a><span class="src-sym">[</span><span class="src-str">'...'</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$arg</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a165"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a166"></a> <span class="src-var">$parametres_cli </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a167"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a168"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a169"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$parametres_cli</span><span class="src-sym">[</span><span class="src-var">$p_nom</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a170"></a> <span class="src-comm">// Attribution de la valeur issue de la ligne de commande</span></div></li> |
<li><div class="src-line"><a name="a171"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Script.html#var$parametres">parametres</a><span class="src-sym">[</span><a href="http://www.php.net/ltrim">ltrim</a><span class="src-sym">(</span><span class="src-var">$p_nom</span><span class="src-sym">, </span><span class="src-str">'-'</span><span class="src-sym">)</span><span class="src-sym">] </span>= <span class="src-var">$parametres_cli</span><span class="src-sym">[</span><span class="src-var">$p_nom</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a172"></a> unset<span class="src-sym">(</span><span class="src-var">$parametres_cli</span><span class="src-sym">[</span><span class="src-var">$p_nom</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a173"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a174"></a> <span class="src-comm">// Attribution de la valeur par défaut</span></div></li> |
<li><div class="src-line"><a name="a175"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$p_val</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">] </span>!== <span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a176"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Script.html#var$parametres">parametres</a><span class="src-sym">[</span><a href="http://www.php.net/ltrim">ltrim</a><span class="src-sym">(</span><span class="src-var">$p_nom</span><span class="src-sym">, </span><span class="src-str">'-'</span><span class="src-sym">)</span><span class="src-sym">] </span>= <span class="src-var">$p_val</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a177"></a> unset<span class="src-sym">(</span><span class="src-var">$parametres_cli</span><span class="src-sym">[</span><span class="src-var">$p_nom</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a178"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a179"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a180"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a181"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a182"></a> </div></li> |
<li><div class="src-line"><a name="a183"></a> <span class="src-comm">// Gestion de l'excédant de paramêtres</span></div></li> |
<li><div class="src-line"><a name="a184"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$parametres_cli</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a185"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">"Erreur: trop de paramêtres\n"</span><span class="src-sym">, </span><span class="src-id">E_USER_ERROR</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a186"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a187"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a188"></a> </div></li> |
<li><div class="src-line"><a name="a189"></a> <span class="src-doc">/** </span></div></li> |
<li><div class="src-line"><a name="a190"></a><span class="src-doc"> * Affiche un message d'erreur formaté.</span></div></li> |
<li><div class="src-line"><a name="a191"></a><span class="src-doc"> * Si le paramétre de verbosité (-v) vaut 1 ou plus, le message est écrit dans le fichier de log et afficher dans la console.</span></div></li> |
<li><div class="src-line"><a name="a192"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a193"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc">le message d'erreur avec des %s.</span></div></li> |
<li><div class="src-line"><a name="a194"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc">le tableau des paramêtres à insérer dans le message d'erreur.</span></div></li> |
<li><div class="src-line"><a name="a195"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">void. </span></div></li> |
<li><div class="src-line"><a name="a196"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a197"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Framework/Script.html#methodtraiterErreur">traiterErreur</a><span class="src-sym">(</span><span class="src-var">$message</span><span class="src-sym">, </span><span class="src-var">$tab_arguments </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a198"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">traiterMessage</span><span class="src-sym">(</span><span class="src-var">$message</span><span class="src-sym">, </span><span class="src-var">$tab_arguments</span><span class="src-sym">, </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">MSG_ERREUR</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a199"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a200"></a> </div></li> |
<li><div class="src-line"><a name="a201"></a> <span class="src-doc">/** </span></div></li> |
<li><div class="src-line"><a name="a202"></a><span class="src-doc"> * Affiche un message d'avertissement formaté.</span></div></li> |
<li><div class="src-line"><a name="a203"></a><span class="src-doc"> * Si le paramétre de verbosité (-v) vaut 1, le message est écrit dans le fichier de log.</span></div></li> |
<li><div class="src-line"><a name="a204"></a><span class="src-doc"> * Si le paramétre de verbosité (-v) vaut 2 ou plus, le message est écrit dans le fichier de log et afficher dans la console.</span></div></li> |
<li><div class="src-line"><a name="a205"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a206"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc">le message d'erreur avec des %s.</span></div></li> |
<li><div class="src-line"><a name="a207"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc">le tableau des paramêtres à insérer dans le message d'erreur.</span></div></li> |
<li><div class="src-line"><a name="a208"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">void. </span></div></li> |
<li><div class="src-line"><a name="a209"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a210"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Framework/Script.html#methodtraiterAvertissement">traiterAvertissement</a><span class="src-sym">(</span><span class="src-var">$message</span><span class="src-sym">, </span><span class="src-var">$tab_arguments </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a211"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">traiterMessage</span><span class="src-sym">(</span><span class="src-var">$message</span><span class="src-sym">, </span><span class="src-var">$tab_arguments</span><span class="src-sym">, </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">MSG_AVERTISSEMENT</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a212"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a213"></a> </div></li> |
<li><div class="src-line"><a name="a214"></a> <span class="src-doc">/** </span></div></li> |
<li><div class="src-line"><a name="a215"></a><span class="src-doc"> * Retourne un message d'information formaté.</span></div></li> |
<li><div class="src-line"><a name="a216"></a><span class="src-doc"> * Si le paramétre de verbosité (-v) vaut 1 ou 2 , le message est écrit dans le fichier de log.</span></div></li> |
<li><div class="src-line"><a name="a217"></a><span class="src-doc"> * Si le paramétre de verbosité (-v) vaut 3 ou plus, le message est écrit dans le fichier de log et afficher dans la console.</span></div></li> |
<li><div class="src-line"><a name="a218"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a219"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc">le message d'information avec des %s.</span></div></li> |
<li><div class="src-line"><a name="a220"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc">le tableau des paramêtres à insérer dans le message d'erreur.</span></div></li> |
<li><div class="src-line"><a name="a221"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">void. </span></div></li> |
<li><div class="src-line"><a name="a222"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a223"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Framework/Script.html#methodtraiterInfo">traiterInfo</a><span class="src-sym">(</span><span class="src-var">$message</span><span class="src-sym">, </span><span class="src-var">$tab_arguments </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a224"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">traiterMessage</span><span class="src-sym">(</span><span class="src-var">$message</span><span class="src-sym">, </span><span class="src-var">$tab_arguments</span><span class="src-sym">, </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">MSG_INFO</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a225"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a226"></a> </div></li> |
<li><div class="src-line"><a name="a227"></a> <span class="src-doc">/** </span></div></li> |
<li><div class="src-line"><a name="a228"></a><span class="src-doc"> * Retourne un message formaté en le stockant dans un fichier de log si nécessaire.</span></div></li> |
<li><div class="src-line"><a name="a229"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a230"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc">le message d'erreur avec des %s.</span></div></li> |
<li><div class="src-line"><a name="a231"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc">le tableau des paramêtres à insérer dans le message d'erreur.</span></div></li> |
<li><div class="src-line"><a name="a232"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc">le niveau de verbosité à dépasser pour afficher les messages.</span></div></li> |
<li><div class="src-line"><a name="a233"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">void. </span></div></li> |
<li><div class="src-line"><a name="a234"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a235"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">traiterMessage</span><span class="src-sym">(</span><span class="src-var">$message</span><span class="src-sym">, </span><span class="src-var">$tab_arguments</span><span class="src-sym">, </span><span class="src-var">$niveau </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">MSG_LOG</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a236"></a> <span class="src-var">$log </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Script.html#methodformaterMsg">formaterMsg</a><span class="src-sym">(</span><span class="src-var">$message</span><span class="src-sym">, </span><span class="src-var">$tab_arguments</span><span class="src-sym">, </span><span class="src-var">$niveau</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a237"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Script.html#methodgetParametre">getParametre</a><span class="src-sym">(</span><span class="src-str">'v'</span><span class="src-sym">) </span>> <span class="src-sym">(</span><span class="src-var">$niveau </span>- <span class="src-num">1</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a238"></a> echo <span class="src-var">$log</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a239"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'log_script'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a240"></a> <span class="src-comm">// TODO : lancer le log</span></div></li> |
<li><div class="src-line"><a name="a241"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a242"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a243"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a244"></a> </div></li> |
<li><div class="src-line"><a name="a245"></a> <span class="src-doc">/** </span></div></li> |
<li><div class="src-line"><a name="a246"></a><span class="src-doc"> * Retourne un message d'information formaté.</span></div></li> |
<li><div class="src-line"><a name="a247"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a248"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc">le message d'information avec des %s.</span></div></li> |
<li><div class="src-line"><a name="a249"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc">le tableau des paramêtres à insérer dans le message d'erreur.</span></div></li> |
<li><div class="src-line"><a name="a250"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">le message d'erreur formaté.</span></div></li> |
<li><div class="src-line"><a name="a251"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a252"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Framework/Script.html#methodformaterMsg">formaterMsg</a><span class="src-sym">(</span><span class="src-var">$message</span><span class="src-sym">, </span><span class="src-var">$tab_arguments </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$niveau </span>= <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a253"></a> <span class="src-var">$texte </span>= <a href="http://www.php.net/vsprintf">vsprintf</a><span class="src-sym">(</span><span class="src-var">$message</span><span class="src-sym">, </span><span class="src-var">$tab_arguments</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a254"></a> <span class="src-var">$prefixe </span>= <a href="http://www.php.net/date">date</a><span class="src-sym">(</span><span class="src-str">'Y-m-j_H:i:s'</span><span class="src-sym">, </span><a href="http://www.php.net/time">time</a><span class="src-sym">(</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a255"></a> <span class="src-var">$prefixe </span>.= <a href="http://www.php.net/is_null">is_null</a><span class="src-sym">(</span><span class="src-var">$niveau</span><span class="src-sym">) </span>? <span class="src-str">' : ' </span>: <span class="src-str">' - '</span>.<span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">getMsgNiveauTxt</span><span class="src-sym">(</span><span class="src-var">$niveau</span><span class="src-sym">)</span>.<span class="src-str">' : '</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a256"></a> <span class="src-var">$log </span>= <span class="src-var">$prefixe</span>.<span class="src-var">$texte</span>.<span class="src-str">"\n"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a257"></a> <span class="src-key">return </span><span class="src-var">$log</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a258"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a259"></a> </div></li> |
<li><div class="src-line"><a name="a260"></a> <span class="src-doc">/** </span></div></li> |
<li><div class="src-line"><a name="a261"></a><span class="src-doc"> * Utiliser cette méthode dans une boucle pour afficher un message suivi du nombre de tour de boucle effectué.</span></div></li> |
<li><div class="src-line"><a name="a262"></a><span class="src-doc"> * Vous devrez vous même gérer le retour à la ligne à la sortie de la boucle.</span></div></li> |
<li><div class="src-line"><a name="a263"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a264"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc">le message d'information.</span></div></li> |
<li><div class="src-line"><a name="a265"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc">le nombre de départ à afficher.</span></div></li> |
<li><div class="src-line"><a name="a266"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">void </span><span class="src-doc">le message est affiché dans la console.</span></div></li> |
<li><div class="src-line"><a name="a267"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a268"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Framework/Script.html#methodafficherAvancement">afficherAvancement</a><span class="src-sym">(</span><span class="src-var">$message</span><span class="src-sym">, </span><span class="src-var">$depart </span>= <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a269"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">! </span>isset<span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$avancement</span><span class="src-sym">[</span><span class="src-var">$message</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a270"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$avancement</span><span class="src-sym">[</span><span class="src-var">$message</span><span class="src-sym">] </span>= <span class="src-var">$depart</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a271"></a> echo <span class="src-str">"</span><span class="src-str"><span class="src-var">$message</span> : </span><span class="src-str">"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a272"></a> </div></li> |
<li><div class="src-line"><a name="a273"></a> <span class="src-var">$actuel </span>=<span class="src-sym">& </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$avancement</span><span class="src-sym">[</span><span class="src-var">$message</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a274"></a> echo <span class="src-var">$actuel</span>++<span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a275"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a276"></a> <span class="src-var">$actuel </span>=<span class="src-sym">& </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$avancement</span><span class="src-sym">[</span><span class="src-var">$message</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a277"></a> </div></li> |
<li><div class="src-line"><a name="a278"></a> <span class="src-comm">// Cas du passage de 99 (= 2 caractères) à 100 (= 3 caractères)</span></div></li> |
<li><div class="src-line"><a name="a279"></a> <span class="src-var">$passage </span>= <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a280"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">strlen</span><span class="src-sym">(</span>(string) <span class="src-sym">(</span><span class="src-var">$actuel </span>- <span class="src-num">1</span><span class="src-sym">)) </span>< <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span>(string) <span class="src-sym">(</span><span class="src-var">$actuel</span><span class="src-sym">))) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a281"></a> <span class="src-var">$passage </span>= <span class="src-num">1</span><span class="src-sym">; </span></div></li> |
<li><div class="src-line"><a name="a282"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a283"></a> </div></li> |
<li><div class="src-line"><a name="a284"></a> echo <a href="http://www.php.net/str_repeat">str_repeat</a><span class="src-sym">(</span><a href="http://www.php.net/chr">chr</a><span class="src-sym">(</span><span class="src-num">8</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-sym">(</span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span>(string) <span class="src-var">$actuel</span><span class="src-sym">) </span>- <span class="src-var">$passage</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a285"></a> echo <span class="src-var">$actuel</span>++<span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a286"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a287"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a288"></a><span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a289"></a><span class="src-php">?></span></div></li> |
</ol></div> |
</div> |
<p class="notes" id="credit"> |
Documentation generated on Tue, 18 Jan 2011 15:01:42 +0100 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.3</a> |
</p> |
</body> |
</html> |
/trunk/doc/HTMLframesConverter/__filesource/fsource_Framework__GestionnaireException.php.html |
---|
17,190 → 17,236 |
<li><div class="src-line"><a name="a4"></a><span class="src-doc"> * Classe de gestion des exceptions.</span></div></li> |
<li><div class="src-line"><a name="a5"></a><span class="src-doc"> * C'est un Singleton.</span></div></li> |
<li><div class="src-line"><a name="a6"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a7"></a><span class="src-doc"> * PHP Version 5</span></div></li> |
<li><div class="src-line"><a name="a8"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a9"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@category</span><span class="src-doc"> Class</span></div></li> |
<li><div class="src-line"><a name="a10"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@package</span><span class="src-doc"> Framework</span></div></li> |
<li><div class="src-line"><a name="a11"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@author</span><span class="src-doc"> aurelien <aurelien@tela-botanica.org></span></div></li> |
<li><div class="src-line"><a name="a12"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@copyright</span><span class="src-doc"> 2009 Tela-Botanica</span></div></li> |
<li><div class="src-line"><a name="a13"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL</span></div></li> |
<li><div class="src-line"><a name="a14"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.gnu.org/licenses/gpl.html Licence GNU-GPL</span></div></li> |
<li><div class="src-line"><a name="a15"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@version</span><span class="src-doc"> SVN: $$Id: GestionnaireException.php 158 2010-03-04 17:14:36Z jpm $$</span></div></li> |
<li><div class="src-line"><a name="a16"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@link</span><span class="src-doc"> /doc/framework/</span></div></li> |
<li><div class="src-line"><a name="a17"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a18"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a19"></a><span class="src-key">class </span><a href="../Framework/GestionnaireException.html">GestionnaireException</a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a20"></a> </div></li> |
<li><div class="src-line"><a name="a21"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a22"></a><span class="src-doc"> * Liste des exceptions enregistrées</span></div></li> |
<li><div class="src-line"><a name="a23"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a24"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$exceptions </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a25"></a> </div></li> |
<li><div class="src-line"><a name="a26"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a27"></a><span class="src-doc"> * Détermine si l'on affiche ou non le contexte</span></div></li> |
<li><div class="src-line"><a name="a28"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a29"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$contexte </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a7"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@category</span><span class="src-doc"> PHP 5.2</span></div></li> |
<li><div class="src-line"><a name="a8"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@package</span><span class="src-doc"> Framework</span></div></li> |
<li><div class="src-line"><a name="a9"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@author</span><span class="src-doc"> Aurélien PERONNET <aurelien@tela-botanica.org></span></div></li> |
<li><div class="src-line"><a name="a10"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@author</span><span class="src-doc"> Jean-Pascal MILCENT <jmp@tela-botanica.org></span></div></li> |
<li><div class="src-line"><a name="a11"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@copyright</span><span class="src-doc"> Copyright (c) 2009, Tela Botanica (accueil@tela-botanica.org)</span></div></li> |
<li><div class="src-line"><a name="a12"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL</span></div></li> |
<li><div class="src-line"><a name="a13"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.gnu.org/licenses/gpl.html Licence GNU-GPL</span></div></li> |
<li><div class="src-line"><a name="a14"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@version</span><span class="src-doc"> $Id: GestionnaireException.php 274 2010-12-28 15:37:22Z jpm $$</span></div></li> |
<li><div class="src-line"><a name="a15"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@link</span><span class="src-doc"> /doc/framework/</span></div></li> |
<li><div class="src-line"><a name="a16"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a17"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a18"></a><span class="src-key">class </span><a href="../Framework/GestionnaireException.html">GestionnaireException</a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a19"></a> </div></li> |
<li><div class="src-line"><a name="a20"></a> <span class="src-key">const </span><span class="src-id">MODE_CLI </span>= <span class="src-str">'cli'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a21"></a> </div></li> |
<li><div class="src-line"><a name="a22"></a> <span class="src-doc">/** Liste des exceptions enregistrées */</span></div></li> |
<li><div class="src-line"><a name="a23"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$exceptions </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a24"></a> </div></li> |
<li><div class="src-line"><a name="a25"></a> <span class="src-doc">/** Détermine si l'on affiche ou non le contexte */</span></div></li> |
<li><div class="src-line"><a name="a26"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$contexte </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a27"></a> </div></li> |
<li><div class="src-line"><a name="a28"></a> <span class="src-doc">/** Détermine si l'on loggue ou non les erreurs */</span></div></li> |
<li><div class="src-line"><a name="a29"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$logger </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a30"></a> </div></li> |
<li><div class="src-line"><a name="a31"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a32"></a><span class="src-doc"> * Détermine si l'on loggue ou non les erreurs</span></div></li> |
<li><div class="src-line"><a name="a33"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a34"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$logger </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a35"></a> </div></li> |
<li><div class="src-line"><a name="a36"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a37"></a><span class="src-doc"> * Definit si php est lancé en ligne de commande ou en mode serveur</span></div></li> |
<li><div class="src-line"><a name="a38"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a39"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$mode </span>= <span class="src-id">php_sapi_name </span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a40"></a> </div></li> |
<li><div class="src-line"><a name="a41"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a42"></a><span class="src-doc"> * le gestionnaire d'exception est un singleton</span></div></li> |
<li><div class="src-line"><a name="a43"></a><span class="src-doc"> * et possède donc un "pointeur statique sur lui-même"</span></div></li> |
<li><div class="src-line"><a name="a44"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a45"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$gestionnaireException</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a46"></a> </div></li> |
<li><div class="src-line"><a name="a47"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a48"></a><span class="src-doc"> * Constructeur avec paramètres optionnel</span></div></li> |
<li><div class="src-line"><a name="a49"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">bool </span><span class="src-doc">indique si l'on veut afficher ou non le contexte des exceptions (i.e. la trace)</span></div></li> |
<li><div class="src-line"><a name="a50"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a51"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/GestionnaireException.html#method__construct">__construct</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a52"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$exceptions </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a53"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$contexte </span>= <span class="src-id">Config</span><span class="src-sym">::</span><span class="src-id">get</span><span class="src-sym">(</span><span class="src-str">'fw_debogage_contexte'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a54"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$logger </span>= <span class="src-id">Config</span><span class="src-sym">::</span><span class="src-id">get</span><span class="src-sym">(</span><span class="src-str">'fw_log_debogage'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a55"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$mode </span>= <span class="src-id">php_sapi_name</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a56"></a> </div></li> |
<li><div class="src-line"><a name="a57"></a> <a href="http://www.php.net/set_exception_handler">set_exception_handler</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><a href="http://www.php.net/get_class">get_class</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">)</span><span class="src-sym">,</span><span class="src-str">'gererException'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a58"></a> <a href="http://www.php.net/set_error_handler">set_error_handler</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><a href="http://www.php.net/get_class">get_class</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">)</span><span class="src-sym">,</span><span class="src-str">'gererErreur'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a59"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a60"></a> </div></li> |
<li><div class="src-line"><a name="a61"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a62"></a><span class="src-doc"> * Renvoie le booleen définissant si l'on affiche le contexte ou non</span></div></li> |
<li><div class="src-line"><a name="a63"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a64"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/GestionnaireException.html#methodgetContexte">getContexte</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a65"></a> <span class="src-key">return </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$contexte</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a66"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a67"></a> </div></li> |
<li><div class="src-line"><a name="a68"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a69"></a><span class="src-doc"> * Definit si l'on veut afficher le contexte ou non</span></div></li> |
<li><div class="src-line"><a name="a70"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">bool </span><span class="src-doc">true si on veut afficher le contexte, false sinon, par défaut vaut false</span></div></li> |
<li><div class="src-line"><a name="a71"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a72"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/GestionnaireException.html#methodsetContexte">setContexte</a><span class="src-sym">(</span><span class="src-var">$contexte</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a73"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$contexte </span>= <span class="src-var">$contexte</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a74"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a75"></a> </div></li> |
<li><div class="src-line"><a name="a76"></a> <span class="src-doc">/** Fonction d'accès au singleton</span></div></li> |
<li><div class="src-line"><a name="a77"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">GestionnaireErreur </span><span class="src-doc">le gestionnaire d'exceptions courant</span></div></li> |
<li><div class="src-line"><a name="a78"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a79"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/GestionnaireException.html#methodgetInstance">getInstance</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a80"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$gestionnaireException </span>instanceof <span class="src-id">GestionnaireException</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a81"></a> <span class="src-key">return </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$gestionnaireException</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a82"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a83"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$gestionnaireException </span>= <span class="src-key">new </span><span class="src-id">GestionnaireException</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a84"></a> </div></li> |
<li><div class="src-line"><a name="a85"></a> <span class="src-key">return </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$gestionnaireException</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a86"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a87"></a> </div></li> |
<li><div class="src-line"><a name="a88"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a89"></a><span class="src-doc"> * Fonction de gestion des exceptions, remplace le handler par défaut</span></div></li> |
<li><div class="src-line"><a name="a90"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">Exception </span><span class="src-doc-var">$e </span><span class="src-doc">l'exception à traiter</span></div></li> |
<li><div class="src-line"><a name="a91"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a92"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/GestionnaireException.html#methodgererException">gererException</a><span class="src-sym">(</span><span class="src-id">Exception </span><span class="src-var">$e</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a93"></a> <span class="src-comm">// pour le moment on se contente de l'ajouter au tableau et de les afficher</span></div></li> |
<li><div class="src-line"><a name="a94"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$exceptions</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$e</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a95"></a> </div></li> |
<li><div class="src-line"><a name="a96"></a> <span class="src-comm">// si on doit logger on envoie l'exception au loggeur</span></div></li> |
<li><div class="src-line"><a name="a97"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$logger</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a98"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">loggerException</span><span class="src-sym">(</span><span class="src-var">$e</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a99"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a100"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a101"></a> </div></li> |
<li><div class="src-line"><a name="a102"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a103"></a><span class="src-doc"> * Gère les erreurs en les convertissant en exceptions (remplace la fonction gestion d'erreurs native de php)</span></div></li> |
<li><div class="src-line"><a name="a104"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$niveau </span><span class="src-doc">le niveau de l'erreur</span></div></li> |
<li><div class="src-line"><a name="a105"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$message </span><span class="src-doc">le message associé à l'erreur</span></div></li> |
<li><div class="src-line"><a name="a106"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$fichier </span><span class="src-doc">le nom du fichier où l'erreur s'est produite</span></div></li> |
<li><div class="src-line"><a name="a107"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$ligne </span><span class="src-doc">la ligne où l'erreur s'est produite</span></div></li> |
<li><div class="src-line"><a name="a108"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$contexte </span><span class="src-doc">le contexte associé à l'erreur</span></div></li> |
<li><div class="src-line"><a name="a109"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a110"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/GestionnaireException.html#methodgererErreur">gererErreur</a><span class="src-sym">(</span><span class="src-var">$niveau</span><span class="src-sym">, </span><span class="src-var">$message</span><span class="src-sym">, </span><span class="src-var">$fichier</span><span class="src-sym">, </span><span class="src-var">$ligne</span><span class="src-sym">, </span><span class="src-var">$contexte</span><span class="src-sym">)</span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a111"></a> <span class="src-comm">// si aucun rapport d'erreur, on sort directement</span></div></li> |
<li><div class="src-line"><a name="a112"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/error_reporting">error_reporting</a><span class="src-sym">(</span><span class="src-sym">) </span>== <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a113"></a> <span class="src-key">return</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a114"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a31"></a> <span class="src-doc">/** Détermine si l'affichage des erreurs est forcé (true) ou pas (false) à la destruction de la classe */</span></div></li> |
<li><div class="src-line"><a name="a32"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$afficher </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a33"></a> </div></li> |
<li><div class="src-line"><a name="a34"></a> <span class="src-doc">/** Definit si php est lancé en ligne de commande ou en mode serveur */</span></div></li> |
<li><div class="src-line"><a name="a35"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$mode </span>= <span class="src-id">null </span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a36"></a> </div></li> |
<li><div class="src-line"><a name="a37"></a> <span class="src-doc">/** Tableau des noms des paramètres à définir dans le fichier de config car obligatoirement nécessaire à cette classe.*/</span></div></li> |
<li><div class="src-line"><a name="a38"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$parametres_obligatoires </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'debogage'</span><span class="src-sym">, </span><span class="src-str">'debogage_contexte'</span><span class="src-sym">, </span><span class="src-str">'log_debogage'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a39"></a> </div></li> |
<li><div class="src-line"><a name="a40"></a> <span class="src-doc">/** Initialise le Gestionnaire d'exceptions et d'erreur sans tenir comptes des paramêtres de config. */</span></div></li> |
<li><div class="src-line"><a name="a41"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/GestionnaireException.html#methodinitialiser">initialiser</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a42"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$mode </span>= <span class="src-id">php_sapi_name</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a43"></a> <span class="src-comm">// Désactivation des balises HTML dans les messages d'erreur de PHP en mode ligne de commande</span></div></li> |
<li><div class="src-line"><a name="a44"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$mode </span>== <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">MODE_CLI</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a45"></a> <a href="http://www.php.net/ini_set">ini_set</a><span class="src-sym">(</span><span class="src-str">'html_errors'</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a46"></a> <span class="src-sym">} </span></div></li> |
<li><div class="src-line"><a name="a47"></a> </div></li> |
<li><div class="src-line"><a name="a48"></a> <a href="http://www.php.net/set_exception_handler">set_exception_handler</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><a href="http://www.php.net/get_class">get_class</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">,</span><span class="src-str">'gererException'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a49"></a> <a href="http://www.php.net/set_error_handler">set_error_handler</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><a href="http://www.php.net/get_class">get_class</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">,</span><span class="src-str">'gererErreur'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a50"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a51"></a> </div></li> |
<li><div class="src-line"><a name="a52"></a> <span class="src-doc">/** Configure le Gestionnaire d'exceptions et d'erreur à partir des paramêtres de config. */</span></div></li> |
<li><div class="src-line"><a name="a53"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/GestionnaireException.html#methodconfigurer">configurer</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a54"></a> <span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodverifierPresenceParametres">verifierPresenceParametres</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$parametres_obligatoires</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a55"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$contexte </span>= <span class="src-id">Config</span><span class="src-sym">::</span><span class="src-id">get</span><span class="src-sym">(</span><span class="src-str">'debogage_contexte'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a56"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$logger </span>= <span class="src-id">Config</span><span class="src-sym">::</span><span class="src-id">get</span><span class="src-sym">(</span><span class="src-str">'log_debogage'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a57"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$afficher </span>= <span class="src-id">Config</span><span class="src-sym">::</span><span class="src-id">get</span><span class="src-sym">(</span><span class="src-str">'debogage'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a58"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a59"></a> </div></li> |
<li><div class="src-line"><a name="a60"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a61"></a><span class="src-doc"> * Renvoie le nombre d'exceptions et d'erreurs levées.</span></div></li> |
<li><div class="src-line"><a name="a62"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@see</span><span class="src-doc"> getExceptions() pour obtenir les exceptions formatées.</span></div></li> |
<li><div class="src-line"><a name="a63"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@since</span><span class="src-doc"> 0.3</span></div></li> |
<li><div class="src-line"><a name="a64"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">int </span><span class="src-doc">le nombre d'exception actuellement levées</span></div></li> |
<li><div class="src-line"><a name="a65"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a66"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/GestionnaireException.html#methodgetExceptionsNbre">getExceptionsNbre</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a67"></a> <span class="src-key">return </span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$exceptions</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a68"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a69"></a> </div></li> |
<li><div class="src-line"><a name="a70"></a> <span class="src-doc">/** </span></div></li> |
<li><div class="src-line"><a name="a71"></a><span class="src-doc"> * Renvoie le booleen définissant si l'on affiche le contexte ou non</span></div></li> |
<li><div class="src-line"><a name="a72"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">bool </span><span class="src-doc">true si on affiche le contexte sinon false.</span></div></li> |
<li><div class="src-line"><a name="a73"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a74"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/GestionnaireException.html#methodgetContexte">getContexte</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a75"></a> <span class="src-key">return </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$contexte</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a76"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a77"></a> </div></li> |
<li><div class="src-line"><a name="a78"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a79"></a><span class="src-doc"> * Definit si l'on veut afficher le contexte ou non</span></div></li> |
<li><div class="src-line"><a name="a80"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">bool </span><span class="src-doc">true si on veut afficher le contexte, false sinon, par défaut vaut false</span></div></li> |
<li><div class="src-line"><a name="a81"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a82"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/GestionnaireException.html#methodsetContexte">setContexte</a><span class="src-sym">(</span><span class="src-var">$contexte</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a83"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$contexte </span>= <span class="src-var">$contexte</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a84"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a85"></a> </div></li> |
<li><div class="src-line"><a name="a86"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a87"></a><span class="src-doc"> * Fonction de gestion des exceptions, remplace le handler par défaut.</span></div></li> |
<li><div class="src-line"><a name="a88"></a><span class="src-doc"> * Si une boucle génère de multiple exception (ou erreur) identique une seule sera stockée.</span></div></li> |
<li><div class="src-line"><a name="a89"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">Exception </span><span class="src-doc-var">$e </span><span class="src-doc">l'exception à traiter</span></div></li> |
<li><div class="src-line"><a name="a90"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a91"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/GestionnaireException.html#methodgererException">gererException</a><span class="src-sym">(</span><span class="src-id">Exception </span><span class="src-var">$e</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a92"></a> <span class="src-var">$cle </span>= <span class="src-id">hash</span><span class="src-sym">(</span><span class="src-str">'md5'</span><span class="src-sym">, </span><span class="src-var">$e</span><span class="src-sym">-></span><span class="src-id">getMessage</span><span class="src-sym">(</span><span class="src-sym">)</span>.<span class="src-str">'-'</span>.<span class="src-var">$e</span><span class="src-sym">-></span><span class="src-id">getFile</span><span class="src-sym">(</span><span class="src-sym">)</span>.<span class="src-str">'-'</span>.<span class="src-var">$e</span><span class="src-sym">-></span><span class="src-id">getLine</span><span class="src-sym">(</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a93"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span>isset<span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$exceptions</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a94"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$exceptions</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">] </span>= <span class="src-var">$e</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a95"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">loggerException</span><span class="src-sym">(</span><span class="src-var">$e</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a96"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a97"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a98"></a> </div></li> |
<li><div class="src-line"><a name="a99"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a100"></a><span class="src-doc"> * Gère les erreurs en les convertissant en exceptions (remplace la fonction gestion d'erreurs native de php)</span></div></li> |
<li><div class="src-line"><a name="a101"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$niveau </span><span class="src-doc">le niveau de l'erreur</span></div></li> |
<li><div class="src-line"><a name="a102"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$message </span><span class="src-doc">le message associé à l'erreur</span></div></li> |
<li><div class="src-line"><a name="a103"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$fichier </span><span class="src-doc">le nom du fichier où l'erreur s'est produite</span></div></li> |
<li><div class="src-line"><a name="a104"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$ligne </span><span class="src-doc">la ligne où l'erreur s'est produite</span></div></li> |
<li><div class="src-line"><a name="a105"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$contexte </span><span class="src-doc">le contexte associé à l'erreur</span></div></li> |
<li><div class="src-line"><a name="a106"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a107"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/GestionnaireException.html#methodgererErreur">gererErreur</a><span class="src-sym">(</span><span class="src-var">$niveau</span><span class="src-sym">, </span><span class="src-var">$message</span><span class="src-sym">, </span><span class="src-var">$fichier</span><span class="src-sym">, </span><span class="src-var">$ligne</span><span class="src-sym">, </span><span class="src-var">$contexte</span><span class="src-sym">)</span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a108"></a> <span class="src-comm">// Si un rapport d'erreur existe, création d'une exception</span></div></li> |
<li><div class="src-line"><a name="a109"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/error_reporting">error_reporting</a><span class="src-sym">(</span><span class="src-sym">) </span>!= <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a110"></a> <span class="src-var">$e </span>= <span class="src-key">new </span><span class="src-id">ErrorException</span><span class="src-sym">(</span><span class="src-var">$message</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-var">$niveau</span><span class="src-sym">, </span><span class="src-var">$fichier</span><span class="src-sym">, </span><span class="src-var">$ligne</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a111"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">gererException</span><span class="src-sym">(</span><span class="src-var">$e</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a112"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a113"></a> <span class="src-key">return </span><span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a114"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a115"></a> </div></li> |
<li><div class="src-line"><a name="a116"></a> <span class="src-comm">// sinon on crée une exception</span></div></li> |
<li><div class="src-line"><a name="a117"></a> <span class="src-var">$e </span>= <span class="src-key">new </span><span class="src-id">ErrorException</span><span class="src-sym">(</span><span class="src-var">$message</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-var">$niveau</span><span class="src-sym">, </span><span class="src-var">$fichier</span><span class="src-sym">, </span><span class="src-var">$ligne</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a118"></a> <span class="src-comm">// que l'on donne au tableau d'exceptions</span></div></li> |
<li><div class="src-line"><a name="a119"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$exceptions</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$e</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a120"></a> <span class="src-comm">// on la logge si nécéssaire</span></div></li> |
<li><div class="src-line"><a name="a121"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$logger</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a122"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">loggerException</span><span class="src-sym">(</span><span class="src-var">$e</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a123"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a124"></a> <span class="src-key">return</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a116"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a117"></a><span class="src-doc"> * Renvoie les exceptions au format (X)HTML ou bien au format texte suivant le mode d'utilisation de PHP.</span></div></li> |
<li><div class="src-line"><a name="a118"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@since</span><span class="src-doc"> 0.3</span></div></li> |
<li><div class="src-line"><a name="a119"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@deprecated</span></div></li> |
<li><div class="src-line"><a name="a120"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@see</span><span class="src-doc"> getExceptionsFormatees()</span></div></li> |
<li><div class="src-line"><a name="a121"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">les exceptions formatées en texte ou (X)HTML.</span></div></li> |
<li><div class="src-line"><a name="a122"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a123"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/GestionnaireException.html#methodgetExceptions">getExceptions</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a124"></a> <span class="src-key">return </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">getExceptionsFormatees</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a125"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a126"></a> </div></li> |
<li><div class="src-line"><a name="a126"></a> </div></li> |
<li><div class="src-line"><a name="a127"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a128"></a><span class="src-doc"> * Renvoie les exceptions au format (X)HTML</span></div></li> |
<li><div class="src-line"><a name="a129"></a><span class="src-doc"> * ou bien au format texte suivant le mode d'utilisation de PHP</span></div></li> |
<li><div class="src-line"><a name="a130"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a131"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/GestionnaireException.html#methodgetExceptions">getExceptions</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a132"></a> <span class="src-var">$retour </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a133"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$exceptions </span><span class="src-key">as </span><span class="src-var">$cle </span>=> <span class="src-var">$e</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a134"></a> <span class="src-key">switch </span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$mode</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a135"></a> <span class="src-key">case </span><span class="src-str">'cli' </span>:</div></li> |
<li><div class="src-line"><a name="a136"></a> <span class="src-var">$retour </span>.= <span class="src-var">$e</span><span class="src-sym">-></span><span class="src-id">getMessage</span><span class="src-sym">(</span><span class="src-sym">)</span>.<span class="src-str">"\n"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a137"></a> <span class="src-var">$retour </span>.= <span class="src-str">'Fichier : '</span>.<span class="src-var">$e</span><span class="src-sym">-></span><span class="src-id">getFile</span><span class="src-sym">(</span><span class="src-sym">)</span>.<span class="src-str">"\n"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a138"></a> <span class="src-var">$retour </span>.= <span class="src-str">'Ligne : '</span>.<span class="src-var">$e</span><span class="src-sym">-></span><span class="src-id">getLine</span><span class="src-sym">(</span><span class="src-sym">)</span>.<span class="src-str">"\n"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a139"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">getContexte</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a140"></a> <span class="src-var">$retour </span>.= <span class="src-str">'Contexte : '</span>.<span class="src-str">"\n"</span>.<a href="http://www.php.net/print_r">print_r</a><span class="src-sym">(</span><span class="src-var">$e</span><span class="src-sym">-></span><span class="src-id">getTraceAsString</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">)</span>.<span class="src-str">"\n"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a141"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a142"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a143"></a> <span class="src-key">default</span>:</div></li> |
<li><div class="src-line"><a name="a144"></a> <span class="src-var">$retour </span>.= <span class="src-str">'<pre class="debogage">'</span>.<span class="src-str">"\n"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a145"></a> <span class="src-var">$retour </span>.= <span class="src-var">$e</span><span class="src-sym">-></span><span class="src-id">getMessage</span><span class="src-sym">(</span><span class="src-sym">)</span>.<span class="src-str">"\n"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a146"></a> <span class="src-var">$retour </span>.= <span class="src-str">'<span class="debogage_fichier">'</span>.<span class="src-str">'Fichier : '</span>.<span class="src-var">$e</span><span class="src-sym">-></span><span class="src-id">getFile</span><span class="src-sym">(</span><span class="src-sym">)</span>.<span class="src-str">'</span>'</span>.<span class="src-str">"\n"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a147"></a> <span class="src-var">$retour </span>.= <span class="src-str">'<span class="debogage_ligne">'</span>.<span class="src-str">'Ligne : '</span>.<span class="src-var">$e</span><span class="src-sym">-></span><span class="src-id">getLine</span><span class="src-sym">(</span><span class="src-sym">)</span>.<span class="src-str">'</span>'</span>.<span class="src-str">"\n"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a148"></a> <span class="src-var">$retour </span>.= <span class="src-str">'</pre>'</span>.<span class="src-str">"\n"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a149"></a> </div></li> |
<li><div class="src-line"><a name="a150"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">getContexte</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a151"></a> <span class="src-var">$retour </span>.= <span class="src-str">'<pre>'</span>.<span class="src-str">"\n"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a152"></a> <span class="src-var">$retour </span>.= <span class="src-str">'<strong>Contexte : </strong>'</span>.<span class="src-str">"\n"</span>.<a href="http://www.php.net/print_r">print_r</a><span class="src-sym">(</span><span class="src-var">$e</span><span class="src-sym">-></span><span class="src-id">getTraceAsString</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">)</span>.<span class="src-str">"\n"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a153"></a> <span class="src-var">$retour </span>.= <span class="src-str">'</pre>'</span>.<span class="src-str">"\n"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a154"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a155"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a156"></a> <span class="src-comm">// Nous vidons le tableau des exceptions au fur et à mesure</span></div></li> |
<li><div class="src-line"><a name="a157"></a> unset<span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$exceptions</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a158"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a159"></a> <span class="src-key">return </span><span class="src-var">$retour</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a160"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a161"></a> </div></li> |
<li><div class="src-line"><a name="a162"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a163"></a><span class="src-doc"> * logge une exception donnée sous une forme lisible</span></div></li> |
<li><div class="src-line"><a name="a164"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">Exception </span><span class="src-doc"> </span><span class="src-doc-var">$e </span><span class="src-doc">l'exception à logger</span></div></li> |
<li><div class="src-line"><a name="a165"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a166"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">loggerException</span><span class="src-sym">(</span><span class="src-var">$e</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a167"></a> <span class="src-var">$erreur </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a168"></a> <span class="src-var">$erreur </span>.= <span class="src-var">$e</span><span class="src-sym">-></span><span class="src-id">getMessage</span><span class="src-sym">(</span><span class="src-sym">)</span>.<span class="src-str">"\n"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a169"></a> <span class="src-var">$erreur </span>.= <span class="src-str">'Fichier : '</span>.<span class="src-var">$e</span><span class="src-sym">-></span><span class="src-id">getFile</span><span class="src-sym">(</span><span class="src-sym">)</span>.<span class="src-str">"\n"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a170"></a> <span class="src-var">$erreur </span>.= <span class="src-str">'Ligne : '</span>.<span class="src-var">$e</span><span class="src-sym">-></span><span class="src-id">getLine</span><span class="src-sym">(</span><span class="src-sym">)</span>.<span class="src-str">"\n"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a171"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">getContexte</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a172"></a> <span class="src-var">$erreur </span>.= <span class="src-str">'Contexte : '</span>.<span class="src-str">"\n"</span>.<a href="http://www.php.net/print_r">print_r</a><span class="src-sym">(</span><span class="src-var">$e</span><span class="src-sym">-></span><span class="src-id">getTraceAsString</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">)</span>.<span class="src-str">"\n"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a173"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a174"></a> <span class="src-var">$erreur </span>.= <span class="src-str">"\n"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a175"></a> <span class="src-id"><a href="../Framework/Log.html">Log</a></span><span class="src-sym">::</span><a href="../Framework/Log.html#methodajouterEntree">ajouterEntree</a><span class="src-sym">(</span><span class="src-str">'erreurs'</span><span class="src-sym">,</span><span class="src-var">$erreur</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a176"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a177"></a> </div></li> |
<li><div class="src-line"><a name="a178"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/GestionnaireException.html#method__destruct">__destruct</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a179"></a> <span class="src-comm">// Si des erreurs n'ont pas été affichée nous forçons leur affichage</span></div></li> |
<li><div class="src-line"><a name="a180"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$exceptions</span><span class="src-sym">) </span>> <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a181"></a> echo <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">getExceptions</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a182"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a183"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a184"></a> </div></li> |
<li><div class="src-line"><a name="a185"></a><span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a186"></a><span class="src-php">?></span></div></li> |
<li><div class="src-line"><a name="a128"></a><span class="src-doc"> * Renvoie les exceptions au format (X)HTML ou bien au format texte suivant le mode d'utilisation de PHP.</span></div></li> |
<li><div class="src-line"><a name="a129"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@since</span><span class="src-doc"> 0.3</span></div></li> |
<li><div class="src-line"><a name="a130"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">les exceptions formatées en texte ou (X)HTML.</span></div></li> |
<li><div class="src-line"><a name="a131"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a132"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/GestionnaireException.html#methodgetExceptionsFormatees">getExceptionsFormatees</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a133"></a> <span class="src-var">$retour </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a134"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">getExceptionsNbre</span><span class="src-sym">(</span><span class="src-sym">) </span>> <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a135"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$exceptions </span><span class="src-key">as </span><span class="src-var">$cle </span>=> <span class="src-var">$e</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a136"></a> <span class="src-key">switch </span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$mode</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a137"></a> <span class="src-key">case </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">MODE_CLI </span>:</div></li> |
<li><div class="src-line"><a name="a138"></a> <span class="src-var">$retour </span>.= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">formaterExceptionTxt</span><span class="src-sym">(</span><span class="src-var">$e</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a139"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a140"></a> <span class="src-key">default</span>:</div></li> |
<li><div class="src-line"><a name="a141"></a> <span class="src-var">$retour </span>.= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">formaterExceptionXhtml</span><span class="src-sym">(</span><span class="src-var">$e</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a142"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a143"></a> <span class="src-comm">// Nous vidons le tableau des exceptions au fur et à mesure pour éviter le réaffichage avec le destructeur.</span></div></li> |
<li><div class="src-line"><a name="a144"></a> unset<span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$exceptions</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a145"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a146"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a147"></a> <span class="src-key">return </span><span class="src-var">$retour</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a148"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a149"></a> </div></li> |
<li><div class="src-line"><a name="a150"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a151"></a><span class="src-doc"> * 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></div></li> |
<li><div class="src-line"><a name="a152"></a><span class="src-doc"> * Format du tableau :</span></div></li> |
<li><div class="src-line"><a name="a153"></a><span class="src-doc"> * array{sévérité_1 = array{Exception1, Exception2, Exception3,...}, sévérité_1 = array{Exception1, Exception2, ...}, ...};</span></div></li> |
<li><div class="src-line"><a name="a154"></a><span class="src-doc"> * ATTENTION : si vous utilisez cette méthode, c'est à vous de gérer l'affichage des Exceptions. Le gestionnaire d'exception</span></div></li> |
<li><div class="src-line"><a name="a155"></a><span class="src-doc"> * n'enverra plus rien au navigateur ou à la console.</span></div></li> |
<li><div class="src-line"><a name="a156"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@since</span><span class="src-doc"> 0.3</span></div></li> |
<li><div class="src-line"><a name="a157"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc">le tableau trié d'objet Exception.</span></div></li> |
<li><div class="src-line"><a name="a158"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a159"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/GestionnaireException.html#methodgetExceptionsTriees">getExceptionsTriees</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a160"></a> <span class="src-var">$retour </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a161"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">getExceptionsNbre</span><span class="src-sym">(</span><span class="src-sym">) </span>> <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a162"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$exceptions </span><span class="src-key">as </span><span class="src-var">$cle </span>=> <span class="src-var">$e</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a163"></a> <span class="src-var">$retour</span><span class="src-sym">[</span><span class="src-var">$e</span><span class="src-sym">-></span><span class="src-id">getSeverity</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$e</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a164"></a> <span class="src-comm">// Nous vidons le tableau des exceptions au fur et à mesure pour éviter le réaffichage avec le destructeur.</span></div></li> |
<li><div class="src-line"><a name="a165"></a> unset<span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$exceptions</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a166"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a167"></a> <span class="src-id">ksort</span><span class="src-sym">(</span><span class="src-var">$retour</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a168"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a169"></a> <span class="src-key">return </span><span class="src-var">$retour</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a170"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a171"></a> </div></li> |
<li><div class="src-line"><a name="a172"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a173"></a><span class="src-doc"> * Logue une exception donnée sous une forme lisible si self::logger vaut true.</span></div></li> |
<li><div class="src-line"><a name="a174"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">Exception </span><span class="src-doc"> </span><span class="src-doc-var">$e </span><span class="src-doc">l'exception à logger</span></div></li> |
<li><div class="src-line"><a name="a175"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a176"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">loggerException</span><span class="src-sym">(</span><span class="src-id">Exception </span><span class="src-var">$e</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a177"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$logger</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a178"></a> <span class="src-var">$message </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">formaterExceptionTxt</span><span class="src-sym">(</span><span class="src-var">$e</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a179"></a> <span class="src-id"><a href="../Framework/Log.html">Log</a></span><span class="src-sym">::</span><a href="../Framework/Log.html#methodajouterEntree">ajouterEntree</a><span class="src-sym">(</span><span class="src-str">'erreurs'</span><span class="src-sym">, </span><span class="src-var">$message</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a180"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a181"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a182"></a> </div></li> |
<li><div class="src-line"><a name="a183"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a184"></a><span class="src-doc"> * Formate en texte une exception passée en paramètre.</span></div></li> |
<li><div class="src-line"><a name="a185"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@since</span><span class="src-doc"> 0.3</span></div></li> |
<li><div class="src-line"><a name="a186"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">Exception </span><span class="src-doc">l'exception à formater.</span></div></li> |
<li><div class="src-line"><a name="a187"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a188"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/GestionnaireException.html#methodformaterExceptionTxt">formaterExceptionTxt</a><span class="src-sym">(</span><span class="src-id">Exception </span><span class="src-var">$e</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a189"></a> <span class="src-var">$message </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a190"></a> <span class="src-var">$message </span>.= <span class="src-var">$e</span><span class="src-sym">-></span><span class="src-id">getMessage</span><span class="src-sym">(</span><span class="src-sym">)</span>.<span class="src-str">"\n"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a191"></a> <span class="src-var">$message </span>.= <span class="src-str">'Fichier : '</span>.<span class="src-var">$e</span><span class="src-sym">-></span><span class="src-id">getFile</span><span class="src-sym">(</span><span class="src-sym">)</span>.<span class="src-str">"\n"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a192"></a> <span class="src-var">$message </span>.= <span class="src-str">'Ligne : '</span>.<span class="src-var">$e</span><span class="src-sym">-></span><span class="src-id">getLine</span><span class="src-sym">(</span><span class="src-sym">)</span>.<span class="src-str">"\n"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a193"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">getContexte</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a194"></a> <span class="src-var">$message </span>.= <span class="src-str">'Contexte : '</span>.<span class="src-str">"\n"</span>.<a href="http://www.php.net/print_r">print_r</a><span class="src-sym">(</span><span class="src-var">$e</span><span class="src-sym">-></span><span class="src-id">getTraceAsString</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">)</span>.<span class="src-str">"\n"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a195"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a196"></a> <span class="src-var">$message </span>.= <span class="src-str">"\n"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a197"></a> <span class="src-key">return </span><span class="src-var">$message</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a198"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a199"></a> </div></li> |
<li><div class="src-line"><a name="a200"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a201"></a><span class="src-doc"> * Formate en (X)HTML une exception passée en paramètre.</span></div></li> |
<li><div class="src-line"><a name="a202"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@since</span><span class="src-doc"> 0.3</span></div></li> |
<li><div class="src-line"><a name="a203"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">Exception </span><span class="src-doc">l'exception à formater.</span></div></li> |
<li><div class="src-line"><a name="a204"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a205"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/GestionnaireException.html#methodformaterExceptionXhtml">formaterExceptionXhtml</a><span class="src-sym">(</span><span class="src-id">Exception </span><span class="src-var">$e</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a206"></a> <span class="src-var">$message </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a207"></a> <span class="src-var">$message </span>.= <span class="src-str">'<div class="debogage">'</span>.<span class="src-str">"\n"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a208"></a> <span class="src-var">$message </span>.= <span class="src-var">$e</span><span class="src-sym">-></span><span class="src-id">getMessage</span><span class="src-sym">(</span><span class="src-sym">)</span>.<span class="src-str">"\n"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a209"></a> <span class="src-var">$message </span>.= <span class="src-str">'<span class="debogage_fichier">'</span>.<span class="src-str">'Fichier : '</span>.<span class="src-var">$e</span><span class="src-sym">-></span><span class="src-id">getFile</span><span class="src-sym">(</span><span class="src-sym">)</span>.<span class="src-str">'</span>'</span>.<span class="src-str">"\n"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a210"></a> <span class="src-var">$message </span>.= <span class="src-str">'<span class="debogage_ligne">'</span>.<span class="src-str">'Ligne : '</span>.<span class="src-var">$e</span><span class="src-sym">-></span><span class="src-id">getLine</span><span class="src-sym">(</span><span class="src-sym">)</span>.<span class="src-str">'</span>'</span>.<span class="src-str">"\n"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a211"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">getContexte</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a212"></a> <span class="src-var">$message </span>.= <span class="src-str">'<pre>'</span>.<span class="src-str">"\n"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a213"></a> <span class="src-var">$message </span>.= <span class="src-str">'<strong>Contexte : </strong>'</span>.<span class="src-str">"\n"</span>.<a href="http://www.php.net/print_r">print_r</a><span class="src-sym">(</span><span class="src-var">$e</span><span class="src-sym">-></span><span class="src-id">getTraceAsString</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">)</span>.<span class="src-str">"\n"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a214"></a> <span class="src-var">$message </span>.= <span class="src-str">'</pre>'</span>.<span class="src-str">"\n"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a215"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a216"></a> <span class="src-var">$message </span>.= <span class="src-str">'</div>'</span>.<span class="src-str">"\n"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a217"></a> <span class="src-key">return </span><span class="src-var">$message</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a218"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a219"></a> </div></li> |
<li><div class="src-line"><a name="a220"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a221"></a><span class="src-doc"> * 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></div></li> |
<li><div class="src-line"><a name="a222"></a><span class="src-doc"> * affichées.</span></div></li> |
<li><div class="src-line"><a name="a223"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a224"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/GestionnaireException.html#method__destruct">__destruct</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a225"></a> <span class="src-comm">// Si des erreurs n'ont pas été affichée nous forçons leur affichage</span></div></li> |
<li><div class="src-line"><a name="a226"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$afficher </span>&& <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">getExceptionsNbre</span><span class="src-sym">(</span><span class="src-sym">) </span>> <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a227"></a> echo <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">getExceptionsFormatees</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a228"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a229"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a230"></a> </div></li> |
<li><div class="src-line"><a name="a231"></a><span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a232"></a><span class="src-php">?></span></div></li> |
</ol></div> |
</div> |
<p class="notes" id="credit"> |
Documentation generated on Thu, 04 Mar 2010 19:27:23 +0100 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.3</a> |
Documentation generated on Tue, 18 Jan 2011 15:01:34 +0100 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.3</a> |
</p> |
</body> |
</html> |
/trunk/doc/HTMLframesConverter/__filesource/fsource_Framework__RestClient.php.html |
---|
New file |
0,0 → 1,172 |
<?xml version="1.0" encoding="UTF-8"?> |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
<html xmlns="http://www.w3.org/1999/xhtml"> |
<head> |
<!-- template designed by Marco Von Ballmoos --> |
<title>File Source for RestClient.php</title> |
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'/> |
<link rel="stylesheet" href="../media/stylesheet.css" /> |
</head> |
<body> |
<h1>Source for file RestClient.php</h1> |
<p>Documentation is available at <a href="../Framework/_RestClient.php.html">RestClient.php</a></p> |
<div class="src-code"> |
<div class="src-code"><ol><li><div class="src-line"><a name="a1"></a><span class="src-php"><?php</span></div></li> |
<li><div class="src-line"><a name="a2"></a><span class="src-comm">// declare(encoding='UTF-8');</span></div></li> |
<li><div class="src-line"><a name="a3"></a><span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a4"></a><span class="src-doc">* Classe client permettant d'interroger des services web REST.</span></div></li> |
<li><div class="src-line"><a name="a5"></a><span class="src-doc">*</span></div></li> |
<li><div class="src-line"><a name="a6"></a><span class="src-doc">* </span><span class="src-doc-coretag">@category</span><span class="src-doc"> php 5.2</span></div></li> |
<li><div class="src-line"><a name="a7"></a><span class="src-doc">* </span><span class="src-doc-coretag">@package</span><span class="src-doc"> Framework</span></div></li> |
<li><div class="src-line"><a name="a8"></a><span class="src-doc">* </span><span class="src-doc-coretag">@author</span><span class="src-doc"> Jean-Pascal MILCENT <jpm@tela-botanica.org></span></div></li> |
<li><div class="src-line"><a name="a9"></a><span class="src-doc">* </span><span class="src-doc-coretag">@copyright</span><span class="src-doc"> Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org)</span></div></li> |
<li><div class="src-line"><a name="a10"></a><span class="src-doc">* </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL</span></div></li> |
<li><div class="src-line"><a name="a11"></a><span class="src-doc">* </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.gnu.org/licenses/gpl.html Licence GNU-GPL</span></div></li> |
<li><div class="src-line"><a name="a12"></a><span class="src-doc">* </span><span class="src-doc-coretag">@version</span><span class="src-doc"> $Id$</span></div></li> |
<li><div class="src-line"><a name="a13"></a><span class="src-doc">*/</span></div></li> |
<li><div class="src-line"><a name="a14"></a><span class="src-key">class </span><a href="../Framework/RestClient.html">RestClient</a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a15"></a> <span class="src-key">const </span><span class="src-id">HTTP_URL_REQUETE_SEPARATEUR </span>= <span class="src-str">'&'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a16"></a> <span class="src-key">private </span><span class="src-var">$http_methodes </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'GET'</span><span class="src-sym">, </span><span class="src-str">'POST'</span><span class="src-sym">, </span><span class="src-str">'PUT'</span><span class="src-sym">, </span><span class="src-str">'DELETE'</span><span class="src-sym">, </span><span class="src-str">'HEAD'</span><span class="src-sym">, </span><span class="src-str">'OPTIONS'</span><span class="src-sym">, </span><span class="src-str">'CONNECT'</span><span class="src-sym">, </span><span class="src-str">'TRACE'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a17"></a> <span class="src-key">protected </span><a href="../Framework/RestClient.html#var$parametres">$parametres</a> = <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a18"></a> <span class="src-key">private </span><span class="src-var">$url </span>= <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a19"></a> <span class="src-key">private </span><span class="src-var">$reponse_entetes </span>= <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a20"></a> </div></li> |
<li><div class="src-line"><a name="a21"></a> <span class="src-comm">//+----------------------------------------------------------------------------------------------------------------+</span></div></li> |
<li><div class="src-line"><a name="a22"></a> <span class="src-comm">// ACCESSEURS</span></div></li> |
<li><div class="src-line"><a name="a23"></a> </div></li> |
<li><div class="src-line"><a name="a24"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/RestClient.html#methodgetReponseEntetes">getReponseEntetes</a><span class="src-sym">(</span><span class="src-var">$cle</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a25"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">reponse_entetes</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a26"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a27"></a> </div></li> |
<li><div class="src-line"><a name="a28"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/RestClient.html#methodgetParametre">getParametre</a><span class="src-sym">(</span><span class="src-var">$cle</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a29"></a> <span class="src-var">$valeur </span>= <span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/RestClient.html#var$parametres">parametres</a><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">]</span><span class="src-sym">)) </span>? <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/RestClient.html#var$parametres">parametres</a><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">] </span>: <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a30"></a> <span class="src-key">return </span><span class="src-var">$valeur</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a31"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a32"></a> </div></li> |
<li><div class="src-line"><a name="a33"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/RestClient.html#methodajouterParametre">ajouterParametre</a><span class="src-sym">(</span><span class="src-var">$cle</span><span class="src-sym">, </span><span class="src-var">$valeur</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a34"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/RestClient.html#var$parametres">parametres</a><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">] </span>= <span class="src-var">$valeur</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a35"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a36"></a> </div></li> |
<li><div class="src-line"><a name="a37"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/RestClient.html#methodsupprimerParametre">supprimerParametre</a><span class="src-sym">(</span><span class="src-var">$cle</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a38"></a> unset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/RestClient.html#var$parametres">parametres</a><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a39"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a40"></a> </div></li> |
<li><div class="src-line"><a name="a41"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/RestClient.html#methodnettoyerParametres">nettoyerParametres</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a42"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/RestClient.html#var$parametres">parametres</a> = <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a43"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a44"></a> </div></li> |
<li><div class="src-line"><a name="a45"></a> <span class="src-comm">//+----------------------------------------------------------------------------------------------------------------+</span></div></li> |
<li><div class="src-line"><a name="a46"></a> <span class="src-comm">// MÉTHODES</span></div></li> |
<li><div class="src-line"><a name="a47"></a> </div></li> |
<li><div class="src-line"><a name="a48"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/RestClient.html#methodconsulter">consulter</a><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a49"></a> <span class="src-var">$retour </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/RestClient.html#methodenvoyerRequete">envoyerRequete</a><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">, </span><span class="src-str">'GET'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a50"></a> <span class="src-key">return </span><span class="src-var">$retour</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a51"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a52"></a> </div></li> |
<li><div class="src-line"><a name="a53"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/RestClient.html#methodajouter">ajouter</a><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">, </span><span class="src-key">Array </span><span class="src-var">$donnees</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a54"></a> <span class="src-var">$retour </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">envoyerRequete</span><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">, </span><span class="src-str">'PUT'</span><span class="src-sym">, </span><span class="src-var">$donnees</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a55"></a> <span class="src-key">return </span><span class="src-var">$retour</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a56"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a57"></a> </div></li> |
<li><div class="src-line"><a name="a58"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/RestClient.html#methodmodifier">modifier</a><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">, </span><span class="src-key">Array </span><span class="src-var">$donnees</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a59"></a> <span class="src-var">$retour </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">envoyerRequete</span><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">, </span><span class="src-str">'POST'</span><span class="src-sym">, </span><span class="src-var">$donnees</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a60"></a> <span class="src-key">return </span><span class="src-var">$retour</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a61"></a> </div></li> |
<li><div class="src-line"><a name="a62"></a> </div></li> |
<li><div class="src-line"><a name="a63"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/RestClient.html#methodsupprimer">supprimer</a><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a64"></a> <span class="src-var">$retour </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/RestClient.html#methodenvoyerRequete">envoyerRequete</a><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">, </span><span class="src-str">'DELETE'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a65"></a> <span class="src-key">return </span><span class="src-var">$retour</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a66"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a67"></a> </div></li> |
<li><div class="src-line"><a name="a68"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/RestClient.html#methodenvoyerRequete">envoyerRequete</a><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">, </span><span class="src-var">$mode</span><span class="src-sym">, </span><span class="src-key">Array </span><span class="src-var">$donnees </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a69"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">url </span>= <span class="src-var">$url</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a70"></a> <span class="src-var">$contenu </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a71"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">! </span><a href="http://www.php.net/in_array">in_array</a><span class="src-sym">(</span><span class="src-var">$mode</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">http_methodes</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a72"></a> <span class="src-var">$e </span>= <span class="src-str">"</span><span class="src-str">Le mode de requête '<span class="src-var">$mode</span>' n'est pas accepté!</span><span class="src-str">"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a73"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-var">$e</span><span class="src-sym">, </span><span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a74"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a75"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$mode </span>== <span class="src-str">'GET'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a76"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">traiterUrlParametres</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a77"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a78"></a> <span class="src-var">$contexte </span>= <a href="http://www.php.net/stream_context_create">stream_context_create</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span></div></li> |
<li><div class="src-line"><a name="a79"></a> <span class="src-str">'http' </span>=> <span class="src-key">array</span><span class="src-sym">(</span></div></li> |
<li><div class="src-line"><a name="a80"></a> <span class="src-str">'method' </span>=> <span class="src-var">$mode</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a81"></a> <span class="src-str">'header' </span>=> <span class="src-str">"Content-type: application/x-www-form-urlencoded\r\n"</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a82"></a> <span class="src-str">'content' </span>=> <a href="http://www.php.net/http_build_query">http_build_query</a><span class="src-sym">(</span><span class="src-var">$donnees</span><span class="src-sym">, </span><span class="src-id">null</span><span class="src-sym">, </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">HTTP_URL_REQUETE_SEPARATEUR</span><span class="src-sym">))))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a83"></a> <span class="src-var">$flux </span>= <span class="src-sym">@</span><a href="http://www.php.net/fopen">fopen</a><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">, </span><span class="src-str">'r'</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">, </span><span class="src-var">$contexte</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a84"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-var">$flux</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a85"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">reponse_entetes </span>= <span class="src-var">$http_response_header</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a86"></a> <span class="src-var">$e </span>= <span class="src-str">"</span><span class="src-str">L'ouverture de l'url '<span class="src-var">$url</span>' par la méthode HTTP '<span class="src-var">$mode</span>' a échoué!</span><span class="src-str">"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a87"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-var">$e</span><span class="src-sym">, </span><span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a88"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a89"></a> <span class="src-comm">// Informations sur les en-têtes et métadonnées du flux</span></div></li> |
<li><div class="src-line"><a name="a90"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">reponse_entetes </span>= <a href="http://www.php.net/stream_get_meta_data">stream_get_meta_data</a><span class="src-sym">(</span><span class="src-var">$flux</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a91"></a> </div></li> |
<li><div class="src-line"><a name="a92"></a> <span class="src-comm">// Contenu actuel de $url</span></div></li> |
<li><div class="src-line"><a name="a93"></a> <span class="src-var">$contenu </span>= <a href="http://www.php.net/stream_get_contents">stream_get_contents</a><span class="src-sym">(</span><span class="src-var">$flux</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a94"></a> </div></li> |
<li><div class="src-line"><a name="a95"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$flux</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a96"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a97"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">traiterEntete</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a98"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a99"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">reinitialiser</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a100"></a> <span class="src-key">return </span><span class="src-var">$contenu</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a101"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a102"></a> </div></li> |
<li><div class="src-line"><a name="a103"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">traiterUrlParametres</span><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a104"></a> <span class="src-var">$parametres </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a105"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Framework/RestClient.html#var$parametres">parametres</a></span><span class="src-sym">) </span>> <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a106"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Framework/RestClient.html#var$parametres">parametres</a> </span><span class="src-key">as </span><span class="src-var">$cle </span>=> <span class="src-var">$valeur</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a107"></a> <span class="src-var">$parametres</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$cle</span>.<span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">HTTP_URL_REQUETE_CLE_VALEUR_SEPARATEUR</span>.<span class="src-var">$valeur</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a108"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a109"></a> <span class="src-var">$url_parametres </span>= <a href="http://www.php.net/implode">implode</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">HTTP_URL_REQUETE_SEPARATEUR</span><span class="src-sym">, </span><span class="src-var">$parametres</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a110"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">url </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">url</span>.<span class="src-str">'?'</span>.<span class="src-var">$url_parametres</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a111"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a112"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a113"></a> </div></li> |
<li><div class="src-line"><a name="a114"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">traiterEntete</span><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a115"></a> <span class="src-var">$infos </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">analyserEntete</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a116"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">traiterEnteteDebogage</span><span class="src-sym">(</span><span class="src-var">$infos</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a117"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a118"></a> </div></li> |
<li><div class="src-line"><a name="a119"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">analyserEntete</span><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a120"></a> <span class="src-var">$entetes </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">reponse_entetes</span><span class="src-sym">; </span></div></li> |
<li><div class="src-line"><a name="a121"></a> <span class="src-var">$infos </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'date' </span>=> <span class="src-id">null</span><span class="src-sym">, </span><span class="src-str">'uri' </span>=> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">url</span><span class="src-sym">, </span><span class="src-str">'debogages' </span>=> <span class="src-id">null</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a122"></a> </div></li> |
<li><div class="src-line"><a name="a123"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$entetes</span><span class="src-sym">[</span><span class="src-str">'wrapper_data'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a124"></a> <span class="src-var">$entetes </span>= <span class="src-var">$entetes</span><span class="src-sym">[</span><span class="src-str">'wrapper_data'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a125"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a126"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$entetes </span><span class="src-key">as </span><span class="src-var">$entete</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a127"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'/^X_REST_DEBOGAGE_MESSAGES: (.+)$/'</span><span class="src-sym">, </span><span class="src-var">$entete</span><span class="src-sym">, </span><span class="src-var">$match</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a128"></a> <span class="src-var">$infos</span><span class="src-sym">[</span><span class="src-str">'debogages'</span><span class="src-sym">] </span>= <a href="http://www.php.net/json_decode">json_decode</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a129"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a130"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'/^Date: .+ ([012][0-9]:[012345][0-9]:[012345][0-9]) .*$/'</span><span class="src-sym">, </span><span class="src-var">$entete</span><span class="src-sym">, </span><span class="src-var">$match</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a131"></a> <span class="src-var">$infos</span><span class="src-sym">[</span><span class="src-str">'date'</span><span class="src-sym">] </span>= <span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a132"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a133"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a134"></a> <span class="src-key">return </span><span class="src-var">$infos</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a135"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a136"></a> </div></li> |
<li><div class="src-line"><a name="a137"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">traiterEnteteDebogage</span><span class="src-sym">(</span><span class="src-var">$entetes_analyses</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a138"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$entetes</span><span class="src-sym">[</span><span class="src-str">'debogages'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a139"></a> <span class="src-var">$date </span>= <span class="src-var">$entetes</span><span class="src-sym">[</span><span class="src-str">'date'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a140"></a> <span class="src-var">$uri </span>= <span class="src-var">$entetes</span><span class="src-sym">[</span><span class="src-str">'uri'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a141"></a> <span class="src-var">$debogages </span>= <span class="src-var">$entetes</span><span class="src-sym">[</span><span class="src-str">'debogages'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a142"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$debogages </span><span class="src-key">as </span><span class="src-var">$debogage</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a143"></a> <span class="src-var">$e </span>= <span class="src-str">"</span><span class="src-str">DEBOGAGE : <span class="src-var">$date</span> - <span class="src-var">$uri</span> :\n<span class="src-var">$debogage</span></span><span class="src-str">"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a144"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-var">$e</span><span class="src-sym">, </span><span class="src-id">E_USER_NOTICE</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a145"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a146"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a147"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a148"></a> </div></li> |
<li><div class="src-line"><a name="a149"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">reinitialiser</span><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a150"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/RestClient.html#methodnettoyerParametres">nettoyerParametres</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a151"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a152"></a><span class="src-sym">}</span></div></li> |
</ol></div> |
</div> |
<p class="notes" id="credit"> |
Documentation generated on Tue, 18 Jan 2011 15:01:40 +0100 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.3</a> |
</p> |
</body> |
</html> |
/trunk/doc/HTMLframesConverter/__filesource/fsource_Framework__OpenIdClient.php.html |
---|
New file |
0,0 → 1,1216 |
<?xml version="1.0" encoding="UTF-8"?> |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
<html xmlns="http://www.w3.org/1999/xhtml"> |
<head> |
<!-- template designed by Marco Von Ballmoos --> |
<title>File Source for OpenIdClient.php</title> |
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'/> |
<link rel="stylesheet" href="../media/stylesheet.css" /> |
</head> |
<body> |
<h1>Source for file OpenIdClient.php</h1> |
<p>Documentation is available at <a href="../Framework/_OpenIdClient.php.html">OpenIdClient.php</a></p> |
<div class="src-code"> |
<div class="src-code"><ol><li><div class="src-line"><a name="a1"></a><span class="src-php"><?php </span></div></li> |
<li><div class="src-line"><a name="a2"></a><span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a3"></a><span class="src-doc"> * La classe OpenIdClient est une implémentation d'un client OpenId, depuis une classe Zend.</span></div></li> |
<li><div class="src-line"><a name="a4"></a><span class="src-doc"> * Elle permet d'établir une connexion avec un serveur, en fonction d'un identifiant OpenId.</span></div></li> |
<li><div class="src-line"><a name="a5"></a><span class="src-doc"> * Elle permet de communiquer de manière sécurisée avec ce serveur, et doit aboutir a une</span></div></li> |
<li><div class="src-line"><a name="a6"></a><span class="src-doc"> * identification centralisée.</span></div></li> |
<li><div class="src-line"><a name="a7"></a><span class="src-doc"> * */</span></div></li> |
<li><div class="src-line"><a name="a7"></a> </div></li> |
<li><div class="src-line"><a name="a8"></a> </div></li> |
<li><div class="src-line"><a name="a9"></a><span class="src-key">class </span><a href="../Framework/OpenIdClient.html">OpenIdClient</a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a10"></a> </div></li> |
<li><div class="src-line"><a name="a11"></a> <span class="src-comm">//OpenID 2.0 namespace. Tous les messages OpenID 2.0 DOIVENT contenir la variable openid.ns et sa valeur</span></div></li> |
<li><div class="src-line"><a name="a12"></a> <span class="src-key">const </span><span class="src-id">NS_2_0 </span>= <span class="src-str">'http://specs.openid.net/auth/2.0'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a13"></a> </div></li> |
<li><div class="src-line"><a name="a14"></a> </div></li> |
<li><div class="src-line"><a name="a15"></a> <span class="src-comm">// TODO : remplacer _storage par une gestion par cache ?</span></div></li> |
<li><div class="src-line"><a name="a16"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a17"></a><span class="src-doc"> * Variable permettant le stockage d'informations, notammenent à propos des clés DiffieHellmann</span></div></li> |
<li><div class="src-line"><a name="a18"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">Storage </span><span class="src-doc-var">$_storage </span></div></li> |
<li><div class="src-line"><a name="a19"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a20"></a> <span class="src-key">protected </span><a href="../Framework/OpenIdClient.html#var$_storage">$_storage</a> = <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a21"></a> </div></li> |
<li><div class="src-line"><a name="a22"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a23"></a><span class="src-doc"> * Tableau "cache" interne permettant d'éviter des accès inutiles au fichier storage</span></div></li> |
<li><div class="src-line"><a name="a24"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">array </span><span class="src-doc-var">$_cache </span></div></li> |
<li><div class="src-line"><a name="a25"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a26"></a> <span class="src-key">protected </span><a href="../Framework/OpenIdClient.html#var$_cache">$_cache</a> = <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a27"></a> </div></li> |
<li><div class="src-line"><a name="a28"></a> <span class="src-comm">// Client pour les requetes.</span></div></li> |
<li><div class="src-line"><a name="a29"></a> <span class="src-key">private </span><span class="src-var">$client</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a30"></a> </div></li> |
<li><div class="src-line"><a name="a31"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a32"></a><span class="src-doc"> * Constructeur de l'application</span></div></li> |
<li><div class="src-line"><a name="a33"></a><span class="src-doc"> * */</span></div></li> |
<li><div class="src-line"><a name="a33"></a> </div></li> |
<li><div class="src-line"><a name="a34"></a> <span class="src-key">function </span><a href="../Framework/OpenIdClient.html#method__construct">__construct</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a35"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">client </span>= <span class="src-key">new </span><span class="src-id">Client</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a36"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/OpenIdClient.html#var$_storage">_storage</a> = <span class="src-key">new </span><span class="src-id"><a href="../Zend_OpenId/Zend_OpenId_Consumer/StorageFile.html">StorageFile</a></span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a37"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a38"></a> </div></li> |
<li><div class="src-line"><a name="a39"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a40"></a><span class="src-doc"> * Fonction login</span></div></li> |
<li><div class="src-line"><a name="a41"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a42"></a><span class="src-doc"> * Return true ou false</span></div></li> |
<li><div class="src-line"><a name="a43"></a><span class="src-doc"> * > Ne retourne rien si true car redirige vers l'adresse du serveur OID</span></div></li> |
<li><div class="src-line"><a name="a44"></a><span class="src-doc"> * */</span></div></li> |
<li><div class="src-line"><a name="a44"></a> </div></li> |
<li><div class="src-line"><a name="a45"></a> <span class="src-comm">//FIXME : le paramètre immediate ?</span></div></li> |
<li><div class="src-line"><a name="a46"></a> <span class="src-comm">// A vérifier mais ça doit permettre de passer directement le mot de passe. Il reste plus qu'à trouver le nom de la variable mot de passe.</span></div></li> |
<li><div class="src-line"><a name="a47"></a> </div></li> |
<li><div class="src-line"><a name="a48"></a> <span class="src-key">function </span><a href="../Framework/OpenIdClient.html#methodlogin">login</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">, </span><span class="src-var">$immediate </span>= <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a49"></a> </div></li> |
<li><div class="src-line"><a name="a50"></a> <span class="src-comm">// L'original retourne la fonction checkId, avec le parametre immediate = true</span></div></li> |
<li><div class="src-line"><a name="a51"></a> <span class="src-comm">// Je ne comprends pas l'utilité, je fusionne les deux pour l'instant</span></div></li> |
<li><div class="src-line"><a name="a52"></a> <span class="src-comm">// FIXME : si pas de comportement étrange, valider.</span></div></li> |
<li><div class="src-line"><a name="a53"></a> </div></li> |
<li><div class="src-line"><a name="a54"></a> </div></li> |
<li><div class="src-line"><a name="a55"></a> <span class="src-comm">//Tests et arrêt si non validé : </span></div></li> |
<li><div class="src-line"><a name="a56"></a> <span class="src-comm">//Normaliser (traite si XRI ou URL, normalize URL)</span></div></li> |
<li><div class="src-line"><a name="a57"></a> <span class="src-comm">//FIXME : voir avec JP pour équivalent dans framework</span></div></li> |
<li><div class="src-line"><a name="a58"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/OpenIdClient.html#methodnormalize">normalize</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a59"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a60"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a61"></a> </div></li> |
<li><div class="src-line"><a name="a62"></a> <span class="src-comm">//Discovery</span></div></li> |
<li><div class="src-line"><a name="a63"></a> <span class="src-comm">// Récupérer les informations sur le serveur OPEN ID</span></div></li> |
<li><div class="src-line"><a name="a64"></a> <span class="src-comm">/*</span></div></li> |
<li><div class="src-line"><a name="a65"></a><span class="src-comm"> FIXME : ca change la valeur de l'id !!!</span></div></li> |
<li><div class="src-line"><a name="a66"></a><span class="src-comm"> if (!$this->_discovery($id, $server, $version)) {</span></div></li> |
<li><div class="src-line"><a name="a67"></a><span class="src-comm"> trigger_error('Discovery failed');</span></div></li> |
<li><div class="src-line"><a name="a68"></a><span class="src-comm"> return false;</span></div></li> |
<li><div class="src-line"><a name="a69"></a><span class="src-comm"> }*/</span></div></li> |
<li><div class="src-line"><a name="a70"></a> </div></li> |
<li><div class="src-line"><a name="a71"></a> <span class="src-var">$retour_url </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">client</span><span class="src-sym">-></span><span class="src-id">consulter</span><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">)</span><span class="src-sym">; </span></div></li> |
<li><div class="src-line"><a name="a72"></a> <span class="src-comm">//Le retour contient les balises suivantes :</span></div></li> |
<li><div class="src-line"><a name="a73"></a> <span class="src-comm">/*</span></div></li> |
<li><div class="src-line"><a name="a74"></a><span class="src-comm"> * </span></div></li> |
<li><div class="src-line"><a name="a75"></a><span class="src-comm"> * <link rel="openid.server" href="http://www.myopenid.com/server" /></span></div></li> |
<li><div class="src-line"><a name="a76"></a><span class="src-comm"> * <link rel="openid2.provider" href="http://www.myopenid.com/server" /></span></div></li> |
<li><div class="src-line"><a name="a77"></a><span class="src-comm"> */</span></div></li> |
<li><div class="src-line"><a name="a78"></a> <span class="src-var">$metaServeur </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/OpenIdClient.html#methodverifierVersion">verifierVersion</a><span class="src-sym">(</span><span class="src-var">$retour_url</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a79"></a> </div></li> |
<li><div class="src-line"><a name="a80"></a> <span class="src-comm">//TODO : Voir avec JP : la classe client ne permet pas de vérifer le statut ?? </span></div></li> |
<li><div class="src-line"><a name="a81"></a> </div></li> |
<li><div class="src-line"><a name="a82"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$retour_url </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a83"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">'L\'adresse $id est inacessible'</span><span class="src-sym">, </span><span class="src-id">E_USER_ERROR</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a84"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a85"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a86"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$metaServeur </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a87"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a88"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a89"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/OpenIdClient.html#method_associate">_associate</a><span class="src-sym">(</span><span class="src-var">$metaServeur</span><span class="src-sym">[</span><span class="src-str">'serveur'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$metaServeur</span><span class="src-sym">[</span><span class="src-str">'version'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a90"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">'Impossible de s\'associer avec le serveur'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a91"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a92"></a> </div></li> |
<li><div class="src-line"><a name="a93"></a> </div></li> |
<li><div class="src-line"><a name="a94"></a> <span class="src-comm">/*TODO : fonctionnement différent</span></div></li> |
<li><div class="src-line"><a name="a95"></a><span class="src-comm"> if (!$this->_getAssociation(</span></div></li> |
<li><div class="src-line"><a name="a96"></a><span class="src-comm"> $server,</span></div></li> |
<li><div class="src-line"><a name="a97"></a><span class="src-comm"> $handle,</span></div></li> |
<li><div class="src-line"><a name="a98"></a><span class="src-comm"> $macFunc,</span></div></li> |
<li><div class="src-line"><a name="a99"></a><span class="src-comm"> $secret,</span></div></li> |
<li><div class="src-line"><a name="a100"></a><span class="src-comm"> $expires)) {</span></div></li> |
<li><div class="src-line"><a name="a101"></a><span class="src-comm"> /* Use dumb mode *</span></div></li> |
<li><div class="src-line"><a name="a102"></a><span class="src-comm"> unset($handle);</span></div></li> |
<li><div class="src-line"><a name="a103"></a><span class="src-comm"> unset($macFunc);</span></div></li> |
<li><div class="src-line"><a name="a104"></a><span class="src-comm"> unset($secret);</span></div></li> |
<li><div class="src-line"><a name="a105"></a><span class="src-comm"> unset($expires);*</span></div></li> |
<li><div class="src-line"><a name="a106"></a><span class="src-comm"> }*/</span></div></li> |
<li><div class="src-line"><a name="a107"></a> </div></li> |
<li><div class="src-line"><a name="a108"></a> <span class="src-comm">//on a la version, l'adresse du serveur et le realId si c'est une 2.0 dans metaServeur</span></div></li> |
<li><div class="src-line"><a name="a109"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$metaServeur</span><span class="src-sym">[</span><span class="src-str">'realId'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a110"></a> <span class="src-var">$id </span>= <span class="src-var">$metaServeur</span><span class="src-sym">[</span><span class="src-str">'realId'</span><span class="src-sym">]</span><span class="src-sym">; </span></div></li> |
<li><div class="src-line"><a name="a111"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a112"></a> </div></li> |
<li><div class="src-line"><a name="a113"></a> <span class="src-comm">//Associate</span></div></li> |
<li><div class="src-line"><a name="a114"></a> <span class="src-comm">//getAssociation</span></div></li> |
<li><div class="src-line"><a name="a115"></a> </div></li> |
<li><div class="src-line"><a name="a116"></a> <span class="src-comm">//Organisation des paramètres :</span></div></li> |
<li><div class="src-line"><a name="a117"></a> <span class="src-var">$params </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a118"></a> </div></li> |
<li><div class="src-line"><a name="a119"></a> </div></li> |
<li><div class="src-line"><a name="a120"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$metaServeur</span><span class="src-sym">[</span><span class="src-str">'version'</span><span class="src-sym">] </span>>= <span class="src-num">2.0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a121"></a> <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid.ns'</span><span class="src-sym">] </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">NS_2_0</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a122"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a123"></a> </div></li> |
<li><div class="src-line"><a name="a124"></a> <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid.mode'</span><span class="src-sym">] </span>= <span class="src-var">$immediate </span>?</div></li> |
<li><div class="src-line"><a name="a125"></a> <span class="src-str">'checkid_immediate' </span>: <span class="src-str">'checkid_setup'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a126"></a> </div></li> |
<li><div class="src-line"><a name="a127"></a> <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid.identity'</span><span class="src-sym">] </span>= <span class="src-var">$id</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a128"></a> </div></li> |
<li><div class="src-line"><a name="a129"></a> <span class="src-comm">//FIXME : Ex : $params['openid.claimed_id'] = $claimedId; > jvois pas l'intéret</span></div></li> |
<li><div class="src-line"><a name="a130"></a> <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid.claimed_id'</span><span class="src-sym">] </span>= <span class="src-var">$id</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a131"></a> <span class="src-comm">/*</span></div></li> |
<li><div class="src-line"><a name="a132"></a><span class="src-comm"> * TODO : gérer les sessions et namespace</span></div></li> |
<li><div class="src-line"><a name="a133"></a><span class="src-comm"> * if ($metaServeur['version'] <= 2.0) {</span></div></li> |
<li><div class="src-line"><a name="a134"></a><span class="src-comm"> if ($this->_session !== null) {</span></div></li> |
<li><div class="src-line"><a name="a135"></a><span class="src-comm"> $this->_session->identity = $id;</span></div></li> |
<li><div class="src-line"><a name="a136"></a><span class="src-comm"> $this->_session->claimed_id = $claimedId;</span></div></li> |
<li><div class="src-line"><a name="a137"></a><span class="src-comm"> } else if (defined('SID')) {</span></div></li> |
<li><div class="src-line"><a name="a138"></a><span class="src-comm"> $_SESSION["zend_openid"] = array(</span></div></li> |
<li><div class="src-line"><a name="a139"></a><span class="src-comm"> "identity" => $id,</span></div></li> |
<li><div class="src-line"><a name="a140"></a><span class="src-comm"> "claimed_id" => $claimedId);</span></div></li> |
<li><div class="src-line"><a name="a141"></a><span class="src-comm"> } else {</span></div></li> |
<li><div class="src-line"><a name="a142"></a><span class="src-comm"> require_once "Zend/Session/Namespace.php";</span></div></li> |
<li><div class="src-line"><a name="a143"></a><span class="src-comm"> $this->_session = new Zend_Session_Namespace("zend_openid");</span></div></li> |
<li><div class="src-line"><a name="a144"></a><span class="src-comm"> $this->_session->identity = $id;</span></div></li> |
<li><div class="src-line"><a name="a145"></a><span class="src-comm"> $this->_session->claimed_id = $claimedId;</span></div></li> |
<li><div class="src-line"><a name="a146"></a><span class="src-comm"> }</span></div></li> |
<li><div class="src-line"><a name="a147"></a><span class="src-comm"> }*/</span></div></li> |
<li><div class="src-line"><a name="a148"></a> </div></li> |
<li><div class="src-line"><a name="a149"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$handle</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a150"></a> <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid.assoc_handle'</span><span class="src-sym">] </span>= <span class="src-var">$handle</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a151"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a152"></a> </div></li> |
<li><div class="src-line"><a name="a153"></a> <span class="src-comm">//FIXME : $params['openid.return_to'] = $this->absoluteUrl($returnTo);</span></div></li> |
<li><div class="src-line"><a name="a154"></a> <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid.return_to'</span><span class="src-sym">] </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/OpenIdClient.html#methodabsoluteUrl">absoluteUrl</a><span class="src-sym">(</span><span class="src-id">null</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a155"></a> </div></li> |
<li><div class="src-line"><a name="a156"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$root</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a157"></a> <span class="src-var">$root </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/OpenIdClient.html#methodselfUrl">selfUrl</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a158"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$root</span><span class="src-sym">[</span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$root</span><span class="src-sym">)</span>-<span class="src-num">1</span><span class="src-sym">] </span>!= <span class="src-str">'/'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a159"></a> <span class="src-var">$root </span>= <a href="http://www.php.net/dirname">dirname</a><span class="src-sym">(</span><span class="src-var">$root</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a160"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a161"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a162"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$metaServeur</span><span class="src-sym">[</span><span class="src-str">'version'</span><span class="src-sym">] </span>>= <span class="src-num">2.0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a163"></a> <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid.realm'</span><span class="src-sym">] </span>= <span class="src-var">$root</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a164"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a165"></a> <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid.trust_root'</span><span class="src-sym">] </span>= <span class="src-var">$root</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a166"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a167"></a> </div></li> |
<li><div class="src-line"><a name="a168"></a> <span class="src-comm">/*FIXME :: </span></div></li> |
<li><div class="src-line"><a name="a169"></a> </div></li> |
<li><div class="src-line"><a name="a170"></a><span class="src-comm"> if (!Zend_OpenId_Extension::forAll($extensions, 'prepareRequest', $params)) {</span></div></li> |
<li><div class="src-line"><a name="a171"></a><span class="src-comm"> $this->_setError("Extension::prepareRequest failure");</span></div></li> |
<li><div class="src-line"><a name="a172"></a><span class="src-comm"> return false;</span></div></li> |
<li><div class="src-line"><a name="a173"></a><span class="src-comm"> }*/</span></div></li> |
<li><div class="src-line"><a name="a174"></a> </div></li> |
<li><div class="src-line"><a name="a175"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/OpenIdClient.html#methodredirect">redirect</a><span class="src-sym">(</span><span class="src-var">$metaServeur</span><span class="src-sym">[</span><span class="src-str">'serveur'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a176"></a> <span class="src-key">return </span><span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a177"></a> <span class="src-comm">//Renvoyer vers l'url</span></div></li> |
<li><div class="src-line"><a name="a178"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a179"></a> </div></li> |
<li><div class="src-line"><a name="a180"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a181"></a><span class="src-doc"> * Verifies authentication response from OpenID server.</span></div></li> |
<li><div class="src-line"><a name="a182"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a183"></a><span class="src-doc"> * This is the second step of OpenID authentication process.</span></div></li> |
<li><div class="src-line"><a name="a184"></a><span class="src-doc"> * The function returns true on successful authentication and false on</span></div></li> |
<li><div class="src-line"><a name="a185"></a><span class="src-doc"> * failure.</span></div></li> |
<li><div class="src-line"><a name="a186"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a187"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$params </span><span class="src-doc">HTTP query data from OpenID server</span></div></li> |
<li><div class="src-line"><a name="a188"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">&$identity </span><span class="src-doc">this argument is set to end-user's claimed</span></div></li> |
<li><div class="src-line"><a name="a189"></a><span class="src-doc"> * identifier or OpenID provider local identifier.</span></div></li> |
<li><div class="src-line"><a name="a190"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$extensions </span><span class="src-doc">extension object or array of extensions objects</span></div></li> |
<li><div class="src-line"><a name="a191"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">bool </span></div></li> |
<li><div class="src-line"><a name="a192"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a193"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/OpenIdClient.html#methodverify">verify</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-sym">&</span><span class="src-var">$identity </span>= <span class="src-str">""</span><span class="src-sym">, </span><span class="src-var">$extensions </span>= <span class="src-id">null</span><span class="src-sym">)</span></div></li> |
<li><div class="src-line"><a name="a194"></a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a195"></a> </div></li> |
<li><div class="src-line"><a name="a196"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid_ns'</span><span class="src-sym">]</span><span class="src-sym">) </span>&&</div></li> |
<li><div class="src-line"><a name="a197"></a> <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid_ns'</span><span class="src-sym">] </span>== <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">NS_2_0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a198"></a> <span class="src-var">$version </span>= <span class="src-num">2.0</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a199"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a200"></a> </div></li> |
<li><div class="src-line"><a name="a201"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">"openid_claimed_id"</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a202"></a> <span class="src-var">$identity </span>= <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">"openid_claimed_id"</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a203"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">"openid_identity"</span><span class="src-sym">]</span><span class="src-sym">))</span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a204"></a> <span class="src-var">$identity </span>= <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">"openid_identity"</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a205"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a206"></a> <span class="src-var">$identity </span>= <span class="src-str">""</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a207"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a208"></a> </div></li> |
<li><div class="src-line"><a name="a209"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$version </span>< <span class="src-num">2.0 </span>&& <span class="src-sym">!</span>isset<span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">"openid_claimed_id"</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a210"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">_session </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a211"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">_session</span><span class="src-sym">-></span><span class="src-id">identity </span>=== <span class="src-var">$identity</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a212"></a> <span class="src-var">$identity </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">_session</span><span class="src-sym">-></span><span class="src-id">claimed_id</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a213"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a214"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/defined">defined</a><span class="src-sym">(</span><span class="src-str">'SID'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a215"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$_SESSION</span><span class="src-sym">[</span><span class="src-str">"zend_openid"</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">"identity"</span><span class="src-sym">]</span><span class="src-sym">) </span>&&</div></li> |
<li><div class="src-line"><a name="a216"></a> isset<span class="src-sym">(</span><span class="src-var">$_SESSION</span><span class="src-sym">[</span><span class="src-str">"zend_openid"</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">"claimed_id"</span><span class="src-sym">]</span><span class="src-sym">) </span>&&</div></li> |
<li><div class="src-line"><a name="a217"></a> <span class="src-var">$_SESSION</span><span class="src-sym">[</span><span class="src-str">"zend_openid"</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">"identity"</span><span class="src-sym">] </span>=== <span class="src-var">$identity</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a218"></a> <span class="src-var">$identity </span>= <span class="src-var">$_SESSION</span><span class="src-sym">[</span><span class="src-str">"zend_openid"</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">"claimed_id"</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a219"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a220"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a221"></a> <span class="src-inc">require_once </span><span class="src-str">"Zend/Session/Namespace.php"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a222"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">_session </span>= <span class="src-key">new </span><span class="src-id">Zend_Session_Namespace</span><span class="src-sym">(</span><span class="src-str">"zend_openid"</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a223"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">_session</span><span class="src-sym">-></span><span class="src-id">identity </span>=== <span class="src-var">$identity</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a224"></a> <span class="src-var">$identity </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">_session</span><span class="src-sym">-></span><span class="src-id">claimed_id</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a225"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a226"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a227"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a228"></a> </div></li> |
<li><div class="src-line"><a name="a229"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid_mode'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a230"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">_setError</span><span class="src-sym">(</span><span class="src-str">"Missing openid.mode"</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a231"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a232"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a233"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid_return_to'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a234"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">_setError</span><span class="src-sym">(</span><span class="src-str">"Missing openid.return_to"</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a235"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a236"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a237"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid_signed'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a238"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">_setError</span><span class="src-sym">(</span><span class="src-str">"Missing openid.signed"</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a239"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a240"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a241"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid_sig'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a242"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">_setError</span><span class="src-sym">(</span><span class="src-str">"Missing openid.sig"</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a243"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a244"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a245"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid_mode'</span><span class="src-sym">] </span>!= <span class="src-str">'id_res'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a246"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">_setError</span><span class="src-sym">(</span><span class="src-str">"Wrong openid.mode '"</span>.<span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid_mode'</span><span class="src-sym">]</span>.<span class="src-str">"' != 'id_res'"</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a247"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a248"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a249"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid_assoc_handle'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a250"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">_setError</span><span class="src-sym">(</span><span class="src-str">"Missing openid.assoc_handle"</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a251"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a252"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a253"></a> </div></li> |
<li><div class="src-line"><a name="a254"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid_return_to'</span><span class="src-sym">] </span>!= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/OpenIdClient.html#methodselfUrl">selfUrl</a><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a255"></a> <span class="src-comm">/* Ignore query part in openid.return_to */</span></div></li> |
<li><div class="src-line"><a name="a256"></a> <span class="src-var">$pos </span>= <a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid_return_to'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-str">'?'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a257"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pos </span>=== <span class="src-id">false </span>||</div></li> |
<li><div class="src-line"><a name="a258"></a> <span class="src-id">SUBSTR</span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid_return_to'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-num">0 </span><span class="src-sym">, </span><span class="src-var">$pos</span><span class="src-sym">) </span>!= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/OpenIdClient.html#methodselfUrl">selfUrl</a><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a259"></a> </div></li> |
<li><div class="src-line"><a name="a260"></a> <span class="src-comm">/*$this->_setError("Wrong openid.return_to '".</span></div></li> |
<li><div class="src-line"><a name="a261"></a><span class="src-comm"> $params['openid_return_to']."' != '" . $this->selfUrl() ."'");*/</span></div></li> |
<li><div class="src-line"><a name="a262"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">'Wrong openid.return_to'</span><span class="src-sym">, </span><span class="src-id">E_USER_ERROR</span><span class="src-sym">)</span><span class="src-sym">; </span></div></li> |
<li><div class="src-line"><a name="a263"></a> </div></li> |
<li><div class="src-line"><a name="a264"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a265"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a266"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a267"></a> </div></li> |
<li><div class="src-line"><a name="a268"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$version </span>>= <span class="src-num">2.0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a269"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid_response_nonce'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a270"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">'Missing openid.response_nonce'</span><span class="src-sym">, </span><span class="src-id">E_USER_ERROR</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a271"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a272"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a273"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid_op_endpoint'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a274"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">'Missing openid.op_endpoint'</span><span class="src-sym">, </span><span class="src-id">E_USER_ERROR</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a275"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a276"></a> <span class="src-comm">/* OpenID 2.0 (11.3) Checking the Nonce */</span></div></li> |
<li><div class="src-line"><a name="a277"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/OpenIdClient.html#var$_storage">_storage</a><span class="src-sym">-></span><span class="src-id">isUniqueNonce</span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid_op_endpoint'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid_response_nonce'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a278"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">'Duplicate openid.response_nonce'</span><span class="src-sym">, </span><span class="src-id">E_USER_ERROR</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a279"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a280"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a281"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a282"></a> </div></li> |
<li><div class="src-line"><a name="a283"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid_invalidate_handle'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a284"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/OpenIdClient.html#var$_storage">_storage</a><span class="src-sym">-></span><span class="src-id">getAssociationByHandle</span><span class="src-sym">(</span></div></li> |
<li><div class="src-line"><a name="a285"></a> <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid_invalidate_handle'</span><span class="src-sym">]</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a286"></a> <span class="src-var">$url</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a287"></a> <span class="src-var">$macFunc</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a288"></a> <span class="src-var">$secret</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a289"></a> <span class="src-var">$expires</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a290"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/OpenIdClient.html#var$_storage">_storage</a><span class="src-sym">-></span><span class="src-id">delAssociation</span><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a291"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a292"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a293"></a> </div></li> |
<li><div class="src-line"><a name="a294"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/OpenIdClient.html#var$_storage">_storage</a><span class="src-sym">-></span><span class="src-id">getAssociationByHandle</span><span class="src-sym">(</span></div></li> |
<li><div class="src-line"><a name="a295"></a> <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid_assoc_handle'</span><span class="src-sym">]</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a296"></a> <span class="src-var">$url</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a297"></a> <span class="src-var">$macFunc</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a298"></a> <span class="src-var">$secret</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a299"></a> <span class="src-var">$expires</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a300"></a> <span class="src-var">$signed </span>= <a href="http://www.php.net/explode">explode</a><span class="src-sym">(</span><span class="src-str">','</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid_signed'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a301"></a> <span class="src-var">$data </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a302"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$signed </span><span class="src-key">as </span><span class="src-var">$key</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a303"></a> <span class="src-var">$data </span>.= <span class="src-var">$key </span>. <span class="src-str">':' </span>. <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid_' </span>. <a href="http://www.php.net/strtr">strtr</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">,</span><span class="src-str">'.'</span><span class="src-sym">,</span><span class="src-str">'_'</span><span class="src-sym">)</span><span class="src-sym">] </span>. <span class="src-str">"\n"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a304"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a305"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/base64_decode">base64_decode</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid_sig'</span><span class="src-sym">]</span><span class="src-sym">) </span>==</div></li> |
<li><div class="src-line"><a name="a306"></a> <span class="src-id">Zend_OpenId</span><span class="src-sym">::</span><span class="src-id">hashHmac</span><span class="src-sym">(</span><span class="src-var">$macFunc</span><span class="src-sym">, </span><span class="src-var">$data</span><span class="src-sym">, </span><span class="src-var">$secret</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a307"></a> <span class="src-comm">/*</span></div></li> |
<li><div class="src-line"><a name="a308"></a><span class="src-comm"> * FIXME dépendance je sais pas pour quoi : a voir :</span></div></li> |
<li><div class="src-line"><a name="a309"></a><span class="src-comm"> * if (!Zend_OpenId_Extension::forAll($extensions, 'parseResponse', $params)) {</span></div></li> |
<li><div class="src-line"><a name="a310"></a><span class="src-comm"> $this->_setError("Extension::parseResponse failure");</span></div></li> |
<li><div class="src-line"><a name="a311"></a><span class="src-comm"> return false;</span></div></li> |
<li><div class="src-line"><a name="a312"></a><span class="src-comm"> }*/</span></div></li> |
<li><div class="src-line"><a name="a313"></a> <span class="src-comm">/* OpenID 2.0 (11.2) Verifying Discovered Information */</span></div></li> |
<li><div class="src-line"><a name="a314"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid_claimed_id'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a315"></a> <span class="src-var">$id </span>= <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid_claimed_id'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a316"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/OpenIdClient.html#methodnormalize">normalize</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a317"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">_setError</span><span class="src-sym">(</span><span class="src-str">"Normalization failed"</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a318"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a319"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/OpenIdClient.html#method_discovery">_discovery</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">, </span><span class="src-var">$discovered_server</span><span class="src-sym">, </span><span class="src-var">$discovered_version</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a320"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">_setError</span><span class="src-sym">(</span><span class="src-str">"Discovery failed: " </span>. <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">getError</span><span class="src-sym">(</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a321"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a322"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">((</span><span class="src-sym">!</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid_identity'</span><span class="src-sym">]</span><span class="src-sym">) </span>&&</div></li> |
<li><div class="src-line"><a name="a323"></a> <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">"openid_identity"</span><span class="src-sym">] </span>!= <span class="src-var">$id</span><span class="src-sym">) </span>||</div></li> |
<li><div class="src-line"><a name="a324"></a> <span class="src-sym">(</span><span class="src-sym">!</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid_op_endpoint'</span><span class="src-sym">]</span><span class="src-sym">) </span>&&</div></li> |
<li><div class="src-line"><a name="a325"></a> <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid_op_endpoint'</span><span class="src-sym">] </span>!= <span class="src-var">$discovered_server</span><span class="src-sym">) </span>||</div></li> |
<li><div class="src-line"><a name="a326"></a> <span class="src-var">$discovered_version </span>!= <span class="src-var">$version</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a327"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">_setError</span><span class="src-sym">(</span><span class="src-str">"Discovery information verification failed"</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a328"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a329"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a330"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a331"></a> <span class="src-key">return </span><span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a332"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a333"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/OpenIdClient.html#var$_storage">_storage</a><span class="src-sym">-></span><span class="src-id">delAssociation</span><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a334"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">_setError</span><span class="src-sym">(</span><span class="src-str">"Signature check failed"</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a335"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a336"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a337"></a> <span class="src-key">else</span></div></li> |
<li><div class="src-line"><a name="a338"></a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a339"></a> <span class="src-comm">/* Use dumb mode */</span></div></li> |
<li><div class="src-line"><a name="a340"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid_claimed_id'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a341"></a> <span class="src-var">$id </span>= <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid_claimed_id'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a342"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid_identity'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a343"></a> <span class="src-var">$id </span>= <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid_identity'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a344"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a345"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">_setError</span><span class="src-sym">(</span><span class="src-str">"Missing openid.claimed_id and openid.identity"</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a346"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a347"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a348"></a> </div></li> |
<li><div class="src-line"><a name="a349"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/OpenIdClient.html#methodnormalize">normalize</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a350"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">'Normalization failed'</span><span class="src-sym">, </span><span class="src-id">E_USER_ERROR</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a351"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a352"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/OpenIdClient.html#method_discovery">_discovery</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">, </span><span class="src-var">$server</span><span class="src-sym">, </span><span class="src-var">$discovered_version</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a353"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">'Discovery failed'</span><span class="src-sym">, </span><span class="src-id">E_USER_ERROR</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a354"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a355"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a356"></a> </div></li> |
<li><div class="src-line"><a name="a357"></a> <span class="src-comm">/* OpenID 2.0 (11.2) Verifying Discovered Information */</span></div></li> |
<li><div class="src-line"><a name="a358"></a> <span class="src-key">if </span><span class="src-sym">((</span>isset<span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid_identity'</span><span class="src-sym">]</span><span class="src-sym">) </span>&&</div></li> |
<li><div class="src-line"><a name="a359"></a> <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">"openid_identity"</span><span class="src-sym">] </span>!= <span class="src-var">$id</span><span class="src-sym">) </span>||</div></li> |
<li><div class="src-line"><a name="a360"></a> <span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid_op_endpoint'</span><span class="src-sym">]</span><span class="src-sym">) </span>&&</div></li> |
<li><div class="src-line"><a name="a361"></a> <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid_op_endpoint'</span><span class="src-sym">] </span>!= <span class="src-var">$server</span><span class="src-sym">) </span>||</div></li> |
<li><div class="src-line"><a name="a362"></a> <span class="src-var">$discovered_version </span>!= <span class="src-var">$version</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a363"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">'Discovery information verification failed'</span><span class="src-sym">, </span><span class="src-id">E_USER_ERROR</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a364"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a365"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a366"></a> </div></li> |
<li><div class="src-line"><a name="a367"></a> <span class="src-var">$params2 </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a368"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$params </span><span class="src-key">as </span><span class="src-var">$key </span>=> <span class="src-var">$val</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a369"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-str">'openid_ns_'</span><span class="src-sym">) </span>=== <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a370"></a> <span class="src-var">$key </span>= <span class="src-str">'openid.ns.' </span>. <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-str">'openid_ns_'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a371"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-str">'openid_sreg_'</span><span class="src-sym">) </span>=== <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a372"></a> <span class="src-var">$key </span>= <span class="src-str">'openid.sreg.' </span>. <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-str">'openid_sreg_'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a373"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-str">'openid_'</span><span class="src-sym">) </span>=== <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a374"></a> <span class="src-var">$key </span>= <span class="src-str">'openid.' </span>. <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-str">'openid_'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a375"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a376"></a> <span class="src-var">$params2</span><span class="src-sym">[</span><span class="src-var">$key</span><span class="src-sym">] </span>= <span class="src-var">$val</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a377"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a378"></a> <span class="src-var">$params2</span><span class="src-sym">[</span><span class="src-str">'openid.mode'</span><span class="src-sym">] </span>= <span class="src-str">'check_authentication'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a379"></a> <span class="src-var">$ret </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">client</span><span class="src-sym">-></span><span class="src-id">modifier</span><span class="src-sym">(</span><span class="src-var">$serveur</span><span class="src-sym">, </span><span class="src-var">$params2</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a380"></a> </div></li> |
<li><div class="src-line"><a name="a381"></a> <span class="src-comm">//_httpRequest($server, 'POST', $params2, $status);</span></div></li> |
<li><div class="src-line"><a name="a382"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$ret </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a383"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">"'Dumb' signature verification HTTP request failed"</span><span class="src-sym">, </span><span class="src-id">E_USER_ERROR</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a384"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a385"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a386"></a> <span class="src-var">$r </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a387"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_string">is_string</a><span class="src-sym">(</span><span class="src-var">$ret</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a388"></a> <span class="src-key">foreach</span><span class="src-sym">(</span><a href="http://www.php.net/explode">explode</a><span class="src-sym">(</span><span class="src-str">"\n"</span><span class="src-sym">, </span><span class="src-var">$ret</span><span class="src-sym">) </span><span class="src-key">as </span><span class="src-var">$line</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a389"></a> <span class="src-var">$line </span>= <a href="http://www.php.net/trim">trim</a><span class="src-sym">(</span><span class="src-var">$line</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a390"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$line</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a391"></a> <span class="src-var">$x </span>= <a href="http://www.php.net/explode">explode</a><span class="src-sym">(</span><span class="src-str">':'</span><span class="src-sym">, </span><span class="src-var">$line</span><span class="src-sym">, </span><span class="src-num">2</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a392"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$x</span><span class="src-sym">) </span>&& <a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$x</span><span class="src-sym">) </span>== <span class="src-num">2</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a393"></a> list<span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-var">$value</span><span class="src-sym">) </span>= <span class="src-var">$x</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a394"></a> <span class="src-var">$r</span><span class="src-sym">[</span><a href="http://www.php.net/trim">trim</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">)</span><span class="src-sym">] </span>= <a href="http://www.php.net/trim">trim</a><span class="src-sym">(</span><span class="src-var">$value</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a395"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a396"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a397"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a398"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a399"></a> <span class="src-var">$ret </span>= <span class="src-var">$r</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a400"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$ret</span><span class="src-sym">[</span><span class="src-str">'invalidate_handle'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a401"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/OpenIdClient.html#var$_storage">_storage</a><span class="src-sym">-></span><span class="src-id">getAssociationByHandle</span><span class="src-sym">(</span></div></li> |
<li><div class="src-line"><a name="a402"></a> <span class="src-var">$ret</span><span class="src-sym">[</span><span class="src-str">'invalidate_handle'</span><span class="src-sym">]</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a403"></a> <span class="src-var">$url</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a404"></a> <span class="src-var">$macFunc</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a405"></a> <span class="src-var">$secret</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a406"></a> <span class="src-var">$expires</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a407"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/OpenIdClient.html#var$_storage">_storage</a><span class="src-sym">-></span><span class="src-id">delAssociation</span><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a408"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a409"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a410"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$ret</span><span class="src-sym">[</span><span class="src-str">'is_valid'</span><span class="src-sym">]</span><span class="src-sym">) </span>&& <span class="src-var">$ret</span><span class="src-sym">[</span><span class="src-str">'is_valid'</span><span class="src-sym">] </span>== <span class="src-str">'true'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a411"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-id">Zend_OpenId_Extension</span><span class="src-sym">::</span><span class="src-id">forAll</span><span class="src-sym">(</span><span class="src-var">$extensions</span><span class="src-sym">, </span><span class="src-str">'parseResponse'</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a412"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">_setError</span><span class="src-sym">(</span><span class="src-str">"Extension::parseResponse failure"</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a413"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a414"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a415"></a> <span class="src-key">return </span><span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a416"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a417"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">_setError</span><span class="src-sym">(</span><span class="src-str">"'Dumb' signature verification failed"</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a418"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a419"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a420"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a421"></a> </div></li> |
<li><div class="src-line"><a name="a422"></a> </div></li> |
<li><div class="src-line"><a name="a423"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a424"></a><span class="src-doc"> * Performs discovery of identity and finds OpenID URL, OpenID server URL</span></div></li> |
<li><div class="src-line"><a name="a425"></a><span class="src-doc"> * and OpenID protocol version. Returns true on succees and false on</span></div></li> |
<li><div class="src-line"><a name="a426"></a><span class="src-doc"> * failure.</span></div></li> |
<li><div class="src-line"><a name="a427"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a428"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">&$id </span><span class="src-doc">OpenID identity URL</span></div></li> |
<li><div class="src-line"><a name="a429"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">&$server </span><span class="src-doc">OpenID server URL</span></div></li> |
<li><div class="src-line"><a name="a430"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">float </span><span class="src-doc-var">&$version </span><span class="src-doc">OpenID protocol version</span></div></li> |
<li><div class="src-line"><a name="a431"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">bool </span></div></li> |
<li><div class="src-line"><a name="a432"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@todo</span><span class="src-doc"> OpenID 2.0 (7.3) XRI and Yadis discovery</span></div></li> |
<li><div class="src-line"><a name="a433"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a434"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Framework/OpenIdClient.html#method_discovery">_discovery</a><span class="src-sym">(</span><span class="src-sym">&</span><span class="src-var">$id</span><span class="src-sym">, </span><span class="src-sym">&</span><span class="src-var">$server</span><span class="src-sym">, </span><span class="src-sym">&</span><span class="src-var">$version</span><span class="src-sym">)</span></div></li> |
<li><div class="src-line"><a name="a435"></a> <span class="src-sym">{ </span></div></li> |
<li><div class="src-line"><a name="a436"></a> <span class="src-var">$realId </span>= <span class="src-var">$id</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a437"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/OpenIdClient.html#var$_storage">_storage</a><span class="src-sym">-></span><span class="src-id">getDiscoveryInfo</span><span class="src-sym">(</span></div></li> |
<li><div class="src-line"><a name="a438"></a> <span class="src-var">$id</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a439"></a> <span class="src-var">$realId</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a440"></a> <span class="src-var">$server</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a441"></a> <span class="src-var">$version</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a442"></a> <span class="src-var">$expire</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a443"></a> <span class="src-var">$id </span>= <span class="src-var">$realId</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a444"></a> <span class="src-key">return </span><span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a445"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a446"></a> </div></li> |
<li><div class="src-line"><a name="a447"></a> <span class="src-comm">/* TODO: OpenID 2.0 (7.3) XRI and Yadis discovery */</span></div></li> |
<li><div class="src-line"><a name="a448"></a> </div></li> |
<li><div class="src-line"><a name="a449"></a> <span class="src-comm">/* HTML-based discovery */</span></div></li> |
<li><div class="src-line"><a name="a450"></a> <span class="src-var">$clientDiscovery </span>= <span class="src-key">new </span><span class="src-id">Client</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a451"></a> </div></li> |
<li><div class="src-line"><a name="a452"></a> <span class="src-comm">//TODO : rajouter un test sur le statut de la réponse</span></div></li> |
<li><div class="src-line"><a name="a453"></a> <span class="src-comm">// Nécessite la prise en compte des entetes dans le framework</span></div></li> |
<li><div class="src-line"><a name="a454"></a> </div></li> |
<li><div class="src-line"><a name="a455"></a> <span class="src-comm">/*if ($status != 200 || !is_string($response)) {</span></div></li> |
<li><div class="src-line"><a name="a456"></a><span class="src-comm"> return false;</span></div></li> |
<li><div class="src-line"><a name="a457"></a><span class="src-comm"> }*/</span></div></li> |
<li><div class="src-line"><a name="a458"></a> <span class="src-var">$reponse </span>= <span class="src-var">$clientDiscovery</span><span class="src-sym">-></span><span class="src-id">consulter</span><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a459"></a> <span class="src-var">$metaServeur </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/OpenIdClient.html#methodverifierVersion">verifierVersion</a><span class="src-sym">(</span><span class="src-var">$reponse</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a460"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span>isset<span class="src-sym">(</span><span class="src-var">$metaServeur</span><span class="src-sym">) </span>|| <span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$reponse</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a461"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">'Aucune donnée OpenId'</span><span class="src-sym">, </span><span class="src-id">E_USER_ERROR</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a462"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a463"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a464"></a> </div></li> |
<li><div class="src-line"><a name="a465"></a> <span class="src-var">$expire </span>= <a href="http://www.php.net/time">time</a><span class="src-sym">(</span><span class="src-sym">) </span>+ <span class="src-num">60 </span>* <span class="src-num">60</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a466"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/OpenIdClient.html#var$_storage">_storage</a><span class="src-sym">-></span><span class="src-id">addDiscoveryInfo</span><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">, </span><span class="src-var">$metaServeur</span><span class="src-sym">[</span><span class="src-str">'realId'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$metaServeur</span><span class="src-sym">[</span><span class="src-str">'serveur'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$metaServeur</span><span class="src-sym">[</span><span class="src-str">'version'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$expire</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a467"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$metaServeur</span><span class="src-sym">[</span><span class="src-str">'realId'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a468"></a> <span class="src-var">$id </span>= <span class="src-var">$metaServeur</span><span class="src-sym">[</span><span class="src-str">'realId'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a469"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a470"></a> <span class="src-key">return </span><span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a471"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a472"></a> </div></li> |
<li><div class="src-line"><a name="a473"></a> </div></li> |
<li><div class="src-line"><a name="a474"></a> </div></li> |
<li><div class="src-line"><a name="a475"></a> </div></li> |
<li><div class="src-line"><a name="a476"></a> <span class="src-comm">//Parser l'HTML de réponse pour trouver la version du serveur OPEN ID</span></div></li> |
<li><div class="src-line"><a name="a477"></a> <span class="src-key">function </span><a href="../Framework/OpenIdClient.html#methodverifierVersion">verifierVersion</a><span class="src-sym">(</span><span class="src-var">$reponseHtml</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a478"></a> </div></li> |
<li><div class="src-line"><a name="a479"></a> <span class="src-comm">// TODO : remplacer l'arlgorythme suivant par cette solution : </span></div></li> |
<li><div class="src-line"><a name="a480"></a> <span class="src-comm">//1. Chercher l'existence d'une balise openidN.provider </span></div></li> |
<li><div class="src-line"><a name="a481"></a> <span class="src-comm">//2. Déterminer la version en fonction de la chaine : openid2.provider => 2.0; openid.provider => 1.1</span></div></li> |
<li><div class="src-line"><a name="a482"></a> <span class="src-comm">//3. Récupérer l'url du serveur href="serveur"</span></div></li> |
<li><div class="src-line"><a name="a483"></a> <span class="src-comm">//4. SI 2.0, récupérer la valeur réelle de l'ID</span></div></li> |
<li><div class="src-line"><a name="a484"></a> </div></li> |
<li><div class="src-line"><a name="a485"></a> <span class="src-comm">//TODO : penser à tester les deux versions du serveur</span></div></li> |
<li><div class="src-line"><a name="a486"></a> </div></li> |
<li><div class="src-line"><a name="a487"></a> <span class="src-var">$metaServeur </span>= <span class="src-key">Array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a488"></a> </div></li> |
<li><div class="src-line"><a name="a489"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span></div></li> |
<li><div class="src-line"><a name="a490"></a> <span class="src-str">'/<link[^>]*rel=(["\'])[ \t]*(?:[^ \t"\']+[ \t]+)*?openid2.provider[ \t]*[^"\']*\\1[^>]*href=(["\'])([^"\']+)\\2[^>]*\/?>/i'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a491"></a> <span class="src-var">$reponseHtml</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a492"></a> <span class="src-var">$r</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a493"></a> <span class="src-var">$metaServeur</span><span class="src-sym">[</span><span class="src-str">'version'</span><span class="src-sym">] </span>= <span class="src-num">2.0</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a494"></a> <span class="src-var">$metaServeur</span><span class="src-sym">[</span><span class="src-str">'serveur'</span><span class="src-sym">] </span>= <span class="src-var">$r</span><span class="src-sym">[</span><span class="src-num">3</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a495"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span></div></li> |
<li><div class="src-line"><a name="a496"></a> <span class="src-str">'/<link[^>]*href=(["\'])([^"\']+)\\1[^>]*rel=(["\'])[ \t]*(?:[^ \t"\']+[ \t]+)*?openid2.provider[ \t]*[^"\']*\\3[^>]*\/?>/i'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a497"></a> <span class="src-var">$reponseHtml</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a498"></a> <span class="src-var">$r</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a499"></a> <span class="src-var">$metaServeur</span><span class="src-sym">[</span><span class="src-str">'version'</span><span class="src-sym">] </span>= <span class="src-num">2.0</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a500"></a> <span class="src-var">$metaServeur</span><span class="src-sym">[</span><span class="src-str">'serveur'</span><span class="src-sym">] </span>= <span class="src-var">$r</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a501"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span></div></li> |
<li><div class="src-line"><a name="a502"></a> <span class="src-str">'/<link[^>]*rel=(["\'])[ \t]*(?:[^ \t"\']+[ \t]+)*?openid.server[ \t]*[^"\']*\\1[^>]*href=(["\'])([^"\']+)\\2[^>]*\/?>/i'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a503"></a> <span class="src-var">$reponseHtml</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a504"></a> <span class="src-var">$r</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a505"></a> <span class="src-var">$metaServeur</span><span class="src-sym">[</span><span class="src-str">'version'</span><span class="src-sym">] </span>= <span class="src-num">1.1</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a506"></a> <span class="src-var">$metaServeur</span><span class="src-sym">[</span><span class="src-str">'serveur'</span><span class="src-sym">] </span>= <span class="src-var">$r</span><span class="src-sym">[</span><span class="src-num">3</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a507"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span></div></li> |
<li><div class="src-line"><a name="a508"></a> <span class="src-str">'/<link[^>]*href=(["\'])([^"\']+)\\1[^>]*rel=(["\'])[ \t]*(?:[^ \t"\']+[ \t]+)*?openid.server[ \t]*[^"\']*\\3[^>]*\/?>/i'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a509"></a> <span class="src-var">$reponseHtml</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a510"></a> <span class="src-var">$r</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a511"></a> <span class="src-var">$metaServeur</span><span class="src-sym">[</span><span class="src-str">'version'</span><span class="src-sym">] </span>= <span class="src-num">1.1</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a512"></a> <span class="src-var">$metaServeur</span><span class="src-sym">[</span><span class="src-str">'serveur'</span><span class="src-sym">] </span>= <span class="src-var">$r</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a513"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a514"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a515"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a516"></a> </div></li> |
<li><div class="src-line"><a name="a517"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$metaServeur</span><span class="src-sym">[</span><span class="src-str">'version'</span><span class="src-sym">] </span>>= <span class="src-num">2.0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a518"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span></div></li> |
<li><div class="src-line"><a name="a519"></a> <span class="src-str">'/<link[^>]*rel=(["\'])[ \t]*(?:[^ \t"\']+[ \t]+)*?openid2.local_id[ \t]*[^"\']*\\1[^>]*href=(["\'])([^"\']+)\\2[^>]*\/?>/i'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a520"></a> <span class="src-var">$reponseHtml</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a521"></a> <span class="src-var">$r</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a522"></a> <span class="src-var">$metaServeur</span><span class="src-sym">[</span><span class="src-str">'realId'</span><span class="src-sym">] </span>= <span class="src-var">$r</span><span class="src-sym">[</span><span class="src-num">3</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a523"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span></div></li> |
<li><div class="src-line"><a name="a524"></a> <span class="src-str">'/<link[^>]*href=(["\'])([^"\']+)\\1[^>]*rel=(["\'])[ \t]*(?:[^ \t"\']+[ \t]+)*?openid2.local_id[ \t]*[^"\']*\\3[^>]*\/?>/i'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a525"></a> <span class="src-var">$reponseHtml</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a526"></a> <span class="src-var">$r</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a527"></a> <span class="src-var">$metaServeur</span><span class="src-sym">[</span><span class="src-str">'realId'</span><span class="src-sym">] </span>= <span class="src-var">$r</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a528"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a529"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a530"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span></div></li> |
<li><div class="src-line"><a name="a531"></a> <span class="src-str">'/<link[^>]*rel=(["\'])[ \t]*(?:[^ \t"\']+[ \t]+)*?openid.delegate[ \t]*[^"\']*\\1[^>]*href=(["\'])([^"\']+)\\2[^>]*\/?>/i'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a532"></a> <span class="src-var">$reponseHtml</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a533"></a> <span class="src-var">$r</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a534"></a> <span class="src-var">$metaServeur</span><span class="src-sym">[</span><span class="src-str">'realId'</span><span class="src-sym">] </span>= <span class="src-var">$r</span><span class="src-sym">[</span><span class="src-num">3</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a535"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span></div></li> |
<li><div class="src-line"><a name="a536"></a> <span class="src-str">'/<link[^>]*href=(["\'])([^"\']+)\\1[^>]*rel=(["\'])[ \t]*(?:[^ \t"\']+[ \t]+)*?openid.delegate[ \t]*[^"\']*\\3[^>]*\/?>/i'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a537"></a> <span class="src-var">$reponseHtml</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a538"></a> <span class="src-var">$r</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a539"></a> <span class="src-var">$metaServeur</span><span class="src-sym">[</span><span class="src-str">'realId'</span><span class="src-sym">] </span>= <span class="src-var">$r</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a540"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a541"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a542"></a> </div></li> |
<li><div class="src-line"><a name="a543"></a> <span class="src-key">return </span><span class="src-var">$metaServeur</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a544"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a545"></a> </div></li> |
<li><div class="src-line"><a name="a546"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a547"></a><span class="src-doc"> * Create (or reuse existing) association between OpenID consumer and</span></div></li> |
<li><div class="src-line"><a name="a548"></a><span class="src-doc"> * OpenID server based on Diffie-Hellman key agreement. Returns true</span></div></li> |
<li><div class="src-line"><a name="a549"></a><span class="src-doc"> * on success and false on failure.</span></div></li> |
<li><div class="src-line"><a name="a550"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a551"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$url </span><span class="src-doc">OpenID server url</span></div></li> |
<li><div class="src-line"><a name="a552"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">float </span><span class="src-doc-var">$version </span><span class="src-doc">OpenID protocol version</span></div></li> |
<li><div class="src-line"><a name="a553"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$priv_key </span><span class="src-doc">for testing only</span></div></li> |
<li><div class="src-line"><a name="a554"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">bool </span></div></li> |
<li><div class="src-line"><a name="a555"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a556"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Framework/OpenIdClient.html#method_associate">_associate</a><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">, </span><span class="src-var">$version</span><span class="src-sym">, </span><span class="src-var">$priv_key</span>=<span class="src-id">null</span><span class="src-sym">)</span></div></li> |
<li><div class="src-line"><a name="a557"></a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a558"></a> <span class="src-comm">/* Check if we already have association in chace or storage */</span></div></li> |
<li><div class="src-line"><a name="a559"></a> <span class="src-comm">/* </span></div></li> |
<li><div class="src-line"><a name="a560"></a><span class="src-comm"> * TODO : Utiliser le stockage plutot</span></div></li> |
<li><div class="src-line"><a name="a561"></a><span class="src-comm"> * */</span></div></li> |
<li><div class="src-line"><a name="a562"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/OpenIdClient.html#method_getAssociation">_getAssociation</a><span class="src-sym">(</span></div></li> |
<li><div class="src-line"><a name="a563"></a> <span class="src-var">$url</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a564"></a> <span class="src-var">$handle</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a565"></a> <span class="src-var">$macFunc</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a566"></a> <span class="src-var">$secret</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a567"></a> <span class="src-var">$expires</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a568"></a> <span class="src-key">return </span><span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a569"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a570"></a> </div></li> |
<li><div class="src-line"><a name="a571"></a> <span class="src-comm">/*</span></div></li> |
<li><div class="src-line"><a name="a572"></a><span class="src-comm"> * TODO : utiliser le fichier de config</span></div></li> |
<li><div class="src-line"><a name="a573"></a><span class="src-comm"> * if ($this->_dumbMode) {</span></div></li> |
<li><div class="src-line"><a name="a574"></a><span class="src-comm"> return true;</span></div></li> |
<li><div class="src-line"><a name="a575"></a><span class="src-comm"> }*/</span></div></li> |
<li><div class="src-line"><a name="a576"></a> </div></li> |
<li><div class="src-line"><a name="a577"></a> <span class="src-var">$params </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a578"></a> </div></li> |
<li><div class="src-line"><a name="a579"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$version </span>>= <span class="src-num">2.0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a580"></a> <span class="src-var">$params </span>= <span class="src-key">array</span><span class="src-sym">(</span></div></li> |
<li><div class="src-line"><a name="a581"></a> <span class="src-str">'openid.ns' </span>=> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">NS_2_0</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a582"></a> <span class="src-str">'openid.mode' </span>=> <span class="src-str">'associate'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a583"></a> <span class="src-str">'openid.assoc_type' </span>=> <span class="src-str">'HMAC-SHA256'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a584"></a> <span class="src-str">'openid.session_type' </span>=> <span class="src-str">'DH-SHA256'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a585"></a> <span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a586"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a587"></a> <span class="src-var">$params </span>= <span class="src-key">array</span><span class="src-sym">(</span></div></li> |
<li><div class="src-line"><a name="a588"></a> <span class="src-str">'openid.mode' </span>=> <span class="src-str">'associate'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a589"></a> <span class="src-str">'openid.assoc_type' </span>=> <span class="src-str">'HMAC-SHA1'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a590"></a> <span class="src-str">'openid.session_type' </span>=> <span class="src-str">'DH-SHA1'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a591"></a> <span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a592"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a593"></a> </div></li> |
<li><div class="src-line"><a name="a594"></a> <span class="src-var">$dh </span>= <span class="src-id"><a href="../Framework/DiffieHellmanUtil.html">DiffieHellmanUtil</a></span><span class="src-sym">::</span><a href="../Framework/DiffieHellmanUtil.html#methodcreateDhKey">createDhKey</a><span class="src-sym">(</span><a href="http://www.php.net/pack">pack</a><span class="src-sym">(</span><span class="src-str">'H*'</span><span class="src-sym">, </span><span class="src-id"><a href="../Framework/DiffieHellmanUtil.html">DiffieHellmanUtil</a></span><span class="src-sym">::</span><span class="src-id">DH_P</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a595"></a> <a href="http://www.php.net/pack">pack</a><span class="src-sym">(</span><span class="src-str">'H*'</span><span class="src-sym">, </span><span class="src-id"><a href="../Framework/DiffieHellmanUtil.html">DiffieHellmanUtil</a></span><span class="src-sym">::</span><span class="src-id">DH_G</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a596"></a> <span class="src-var">$priv_key</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a597"></a> <span class="src-var">$dh_details </span>= <span class="src-id"><a href="../Framework/DiffieHellmanUtil.html">DiffieHellmanUtil</a></span><span class="src-sym">::</span><a href="../Framework/DiffieHellmanUtil.html#methodgetDhKeyDetails">getDhKeyDetails</a><span class="src-sym">(</span><span class="src-var">$dh</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a598"></a> </div></li> |
<li><div class="src-line"><a name="a599"></a> <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid.dh_modulus'</span><span class="src-sym">] </span>= <a href="http://www.php.net/base64_encode">base64_encode</a><span class="src-sym">(</span></div></li> |
<li><div class="src-line"><a name="a600"></a> <span class="src-id"><a href="../Framework/DiffieHellmanUtil.html">DiffieHellmanUtil</a></span><span class="src-sym">::</span><a href="../Framework/DiffieHellmanUtil.html#methodbtwoc">btwoc</a><span class="src-sym">(</span><span class="src-var">$dh_details</span><span class="src-sym">[</span><span class="src-str">'p'</span><span class="src-sym">]</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a601"></a> <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid.dh_gen'</span><span class="src-sym">] </span>= <a href="http://www.php.net/base64_encode">base64_encode</a><span class="src-sym">(</span></div></li> |
<li><div class="src-line"><a name="a602"></a> <span class="src-id"><a href="../Framework/DiffieHellmanUtil.html">DiffieHellmanUtil</a></span><span class="src-sym">::</span><a href="../Framework/DiffieHellmanUtil.html#methodbtwoc">btwoc</a><span class="src-sym">(</span><span class="src-var">$dh_details</span><span class="src-sym">[</span><span class="src-str">'g'</span><span class="src-sym">]</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a603"></a> <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid.dh_consumer_public'</span><span class="src-sym">] </span>= <a href="http://www.php.net/base64_encode">base64_encode</a><span class="src-sym">(</span></div></li> |
<li><div class="src-line"><a name="a604"></a> <span class="src-id"><a href="../Framework/DiffieHellmanUtil.html">DiffieHellmanUtil</a></span><span class="src-sym">::</span><a href="../Framework/DiffieHellmanUtil.html#methodbtwoc">btwoc</a><span class="src-sym">(</span><span class="src-var">$dh_details</span><span class="src-sym">[</span><span class="src-str">'pub_key'</span><span class="src-sym">]</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a605"></a> </div></li> |
<li><div class="src-line"><a name="a606"></a> <span class="src-key">while</span><span class="src-sym">(</span><span class="src-num">1</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a607"></a> <span class="src-comm">//FIXME : c'est pas une modification ...</span></div></li> |
<li><div class="src-line"><a name="a608"></a> <span class="src-var">$ret </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">client</span><span class="src-sym">-></span><span class="src-id">modifier</span><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">)</span><span class="src-sym">; </span><span class="src-comm">// FIXME : a quoi sert status ?, $status);</span></div></li> |
<li><div class="src-line"><a name="a609"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$ret </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a610"></a> <span class="src-comm">//$this->_setError("HTTP request failed");</span></div></li> |
<li><div class="src-line"><a name="a611"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">'La requête a échoué'</span><span class="src-sym">, </span><span class="src-id">E_USER_ERROR</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a612"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a613"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a614"></a> </div></li> |
<li><div class="src-line"><a name="a615"></a> <span class="src-var">$r </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a616"></a> <span class="src-var">$bad_response </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a617"></a> <span class="src-key">foreach</span><span class="src-sym">(</span><a href="http://www.php.net/explode">explode</a><span class="src-sym">(</span><span class="src-str">"\n"</span><span class="src-sym">, </span><span class="src-var">$ret</span><span class="src-sym">) </span><span class="src-key">as </span><span class="src-var">$line</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a618"></a> <span class="src-var">$line </span>= <a href="http://www.php.net/trim">trim</a><span class="src-sym">(</span><span class="src-var">$line</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a619"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$line</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a620"></a> <span class="src-var">$x </span>= <a href="http://www.php.net/explode">explode</a><span class="src-sym">(</span><span class="src-str">':'</span><span class="src-sym">, </span><span class="src-var">$line</span><span class="src-sym">, </span><span class="src-num">2</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a621"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$x</span><span class="src-sym">) </span>&& <a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$x</span><span class="src-sym">) </span>== <span class="src-num">2</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a622"></a> list<span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-var">$value</span><span class="src-sym">) </span>= <span class="src-var">$x</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a623"></a> <span class="src-var">$r</span><span class="src-sym">[</span><a href="http://www.php.net/trim">trim</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">)</span><span class="src-sym">] </span>= <a href="http://www.php.net/trim">trim</a><span class="src-sym">(</span><span class="src-var">$value</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a624"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a625"></a> <span class="src-var">$bad_response </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a626"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a627"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a628"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a629"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$bad_response </span>&& <a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$ret</span><span class="src-sym">, </span><span class="src-str">'Unknown session type'</span><span class="src-sym">) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a630"></a> <span class="src-var">$r</span><span class="src-sym">[</span><span class="src-str">'error_code'</span><span class="src-sym">] </span>= <span class="src-str">'unsupported-type'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a631"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a632"></a> <span class="src-var">$ret </span>= <span class="src-var">$r</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a633"></a> </div></li> |
<li><div class="src-line"><a name="a634"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$ret</span><span class="src-sym">[</span><span class="src-str">'error_code'</span><span class="src-sym">]</span><span class="src-sym">) </span>&&</div></li> |
<li><div class="src-line"><a name="a635"></a> <span class="src-var">$ret</span><span class="src-sym">[</span><span class="src-str">'error_code'</span><span class="src-sym">] </span>== <span class="src-str">'unsupported-type'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a636"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid.session_type'</span><span class="src-sym">] </span>== <span class="src-str">'DH-SHA256'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a637"></a> <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid.session_type'</span><span class="src-sym">] </span>= <span class="src-str">'DH-SHA1'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a638"></a> <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid.assoc_type'</span><span class="src-sym">] </span>= <span class="src-str">'HMAC-SHA1'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a639"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid.session_type'</span><span class="src-sym">] </span>== <span class="src-str">'DH-SHA1'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a640"></a> <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid.session_type'</span><span class="src-sym">] </span>= <span class="src-str">'no-encryption'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a641"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a642"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">"The OpenID service responded with: " </span>. <span class="src-var">$ret</span><span class="src-sym">[</span><span class="src-str">'error_code'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-id">E_USER_ERROR</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a643"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a644"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a645"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a646"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a647"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a648"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a649"></a> </div></li> |
<li><div class="src-line"><a name="a650"></a> <span class="src-comm">/*</span></div></li> |
<li><div class="src-line"><a name="a651"></a><span class="src-comm"> FIXME : gestion du statut avec la classe client ??</span></div></li> |
<li><div class="src-line"><a name="a652"></a><span class="src-comm"> if ($status != 200) {</span></div></li> |
<li><div class="src-line"><a name="a653"></a><span class="src-comm"> $this->_setError("The server responded with status code: " . $status);</span></div></li> |
<li><div class="src-line"><a name="a654"></a><span class="src-comm"> return false;</span></div></li> |
<li><div class="src-line"><a name="a655"></a><span class="src-comm"> }*/</span></div></li> |
<li><div class="src-line"><a name="a656"></a> </div></li> |
<li><div class="src-line"><a name="a657"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$version </span>>= <span class="src-num">2.0 </span>&&</div></li> |
<li><div class="src-line"><a name="a658"></a> isset<span class="src-sym">(</span><span class="src-var">$ret</span><span class="src-sym">[</span><span class="src-str">'ns'</span><span class="src-sym">]</span><span class="src-sym">) </span>&&</div></li> |
<li><div class="src-line"><a name="a659"></a> <span class="src-var">$ret</span><span class="src-sym">[</span><span class="src-str">'ns'</span><span class="src-sym">] </span>!= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">NS_2_0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a660"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">_setError</span><span class="src-sym">(</span><span class="src-str">"Wrong namespace definition in the server response"</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a661"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a662"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a663"></a> </div></li> |
<li><div class="src-line"><a name="a664"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span>isset<span class="src-sym">(</span><span class="src-var">$ret</span><span class="src-sym">[</span><span class="src-str">'assoc_handle'</span><span class="src-sym">]</span><span class="src-sym">) </span>||</div></li> |
<li><div class="src-line"><a name="a665"></a> <span class="src-sym">!</span>isset<span class="src-sym">(</span><span class="src-var">$ret</span><span class="src-sym">[</span><span class="src-str">'expires_in'</span><span class="src-sym">]</span><span class="src-sym">) </span>||</div></li> |
<li><div class="src-line"><a name="a666"></a> <span class="src-sym">!</span>isset<span class="src-sym">(</span><span class="src-var">$ret</span><span class="src-sym">[</span><span class="src-str">'assoc_type'</span><span class="src-sym">]</span><span class="src-sym">) </span>||</div></li> |
<li><div class="src-line"><a name="a667"></a> <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid.assoc_type'</span><span class="src-sym">] </span>!= <span class="src-var">$ret</span><span class="src-sym">[</span><span class="src-str">'assoc_type'</span><span class="src-sym">]</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a668"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'openid.assoc_type'</span><span class="src-sym">] </span>!= <span class="src-var">$ret</span><span class="src-sym">[</span><span class="src-str">'assoc_type'</span><span class="src-sym">]</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a669"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">_setError</span><span class="src-sym">(</span><span class="src-str">"The returned assoc_type differed from the supplied openid.assoc_type"</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a670"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a671"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">_setError</span><span class="src-sym">(</span><span class="src-str">"Missing required data from provider (assoc_handle, expires_in, assoc_type are required)"</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a672"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a673"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a674"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a675"></a> </div></li> |
<li><div class="src-line"><a name="a676"></a> <span class="src-var">$handle </span>= <span class="src-var">$ret</span><span class="src-sym">[</span><span class="src-str">'assoc_handle'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a677"></a> <span class="src-var">$expiresIn </span>= <span class="src-var">$ret</span><span class="src-sym">[</span><span class="src-str">'expires_in'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a678"></a> </div></li> |
<li><div class="src-line"><a name="a679"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$ret</span><span class="src-sym">[</span><span class="src-str">'assoc_type'</span><span class="src-sym">] </span>== <span class="src-str">'HMAC-SHA1'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a680"></a> <span class="src-var">$macFunc </span>= <span class="src-str">'sha1'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a681"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$ret</span><span class="src-sym">[</span><span class="src-str">'assoc_type'</span><span class="src-sym">] </span>== <span class="src-str">'HMAC-SHA256' </span>&&</div></li> |
<li><div class="src-line"><a name="a682"></a> <span class="src-var">$version </span>>= <span class="src-num">2.0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a683"></a> <span class="src-var">$macFunc </span>= <span class="src-str">'sha256'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a684"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a685"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">_setError</span><span class="src-sym">(</span><span class="src-str">"Unsupported assoc_type"</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a686"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a687"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a688"></a> </div></li> |
<li><div class="src-line"><a name="a689"></a> <span class="src-key">if </span><span class="src-sym">((</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$ret</span><span class="src-sym">[</span><span class="src-str">'session_type'</span><span class="src-sym">]</span><span class="src-sym">) </span>||</div></li> |
<li><div class="src-line"><a name="a690"></a> <span class="src-sym">(</span><span class="src-var">$version </span>>= <span class="src-num">2.0 </span>&& <span class="src-var">$ret</span><span class="src-sym">[</span><span class="src-str">'session_type'</span><span class="src-sym">] </span>== <span class="src-str">'no-encryption'</span><span class="src-sym">)) </span>&&</div></li> |
<li><div class="src-line"><a name="a691"></a> isset<span class="src-sym">(</span><span class="src-var">$ret</span><span class="src-sym">[</span><span class="src-str">'mac_key'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a692"></a> <span class="src-var">$secret </span>= <a href="http://www.php.net/base64_decode">base64_decode</a><span class="src-sym">(</span><span class="src-var">$ret</span><span class="src-sym">[</span><span class="src-str">'mac_key'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a693"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$ret</span><span class="src-sym">[</span><span class="src-str">'session_type'</span><span class="src-sym">]</span><span class="src-sym">) </span>&&</div></li> |
<li><div class="src-line"><a name="a694"></a> <span class="src-var">$ret</span><span class="src-sym">[</span><span class="src-str">'session_type'</span><span class="src-sym">] </span>== <span class="src-str">'DH-SHA1' </span>&&</div></li> |
<li><div class="src-line"><a name="a695"></a> <span class="src-sym">!</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$ret</span><span class="src-sym">[</span><span class="src-str">'dh_server_public'</span><span class="src-sym">]</span><span class="src-sym">) </span>&&</div></li> |
<li><div class="src-line"><a name="a696"></a> <span class="src-sym">!</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$ret</span><span class="src-sym">[</span><span class="src-str">'enc_mac_key'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a697"></a> <span class="src-var">$dhFunc </span>= <span class="src-str">'sha1'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a698"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$ret</span><span class="src-sym">[</span><span class="src-str">'session_type'</span><span class="src-sym">]</span><span class="src-sym">) </span>&&</div></li> |
<li><div class="src-line"><a name="a699"></a> <span class="src-var">$ret</span><span class="src-sym">[</span><span class="src-str">'session_type'</span><span class="src-sym">] </span>== <span class="src-str">'DH-SHA256' </span>&&</div></li> |
<li><div class="src-line"><a name="a700"></a> <span class="src-var">$version </span>>= <span class="src-num">2.0 </span>&&</div></li> |
<li><div class="src-line"><a name="a701"></a> <span class="src-sym">!</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$ret</span><span class="src-sym">[</span><span class="src-str">'dh_server_public'</span><span class="src-sym">]</span><span class="src-sym">) </span>&&</div></li> |
<li><div class="src-line"><a name="a702"></a> <span class="src-sym">!</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$ret</span><span class="src-sym">[</span><span class="src-str">'enc_mac_key'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a703"></a> <span class="src-var">$dhFunc </span>= <span class="src-str">'sha256'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a704"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a705"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">_setError</span><span class="src-sym">(</span><span class="src-str">"Unsupported session_type"</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a706"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a707"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a708"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$dhFunc</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a709"></a> <span class="src-var">$serverPub </span>= <a href="http://www.php.net/base64_decode">base64_decode</a><span class="src-sym">(</span><span class="src-var">$ret</span><span class="src-sym">[</span><span class="src-str">'dh_server_public'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a710"></a> <span class="src-var">$dhSec </span>= <span class="src-id"><a href="../Framework/DiffieHellmanUtil.html">DiffieHellmanUtil</a></span><span class="src-sym">::</span><a href="../Framework/DiffieHellmanUtil.html#methodcomputeDhSecret">computeDhSecret</a><span class="src-sym">(</span><span class="src-var">$serverPub</span><span class="src-sym">, </span><span class="src-var">$dh</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a711"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$dhSec </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a712"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">_setError</span><span class="src-sym">(</span><span class="src-str">"DH secret comutation failed"</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a713"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a714"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a715"></a> <span class="src-var">$sec </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/OpenIdClient.html#methoddigest">digest</a><span class="src-sym">(</span><span class="src-var">$dhFunc</span><span class="src-sym">, </span><span class="src-var">$dhSec</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a716"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$sec </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a717"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">_setError</span><span class="src-sym">(</span><span class="src-str">"Could not create digest"</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a718"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a719"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a720"></a> <span class="src-var">$secret </span>= <span class="src-var">$sec </span>^ <a href="http://www.php.net/base64_decode">base64_decode</a><span class="src-sym">(</span><span class="src-var">$ret</span><span class="src-sym">[</span><span class="src-str">'enc_mac_key'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a721"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a722"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$macFunc </span>== <span class="src-str">'sha1'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a723"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id"><a href="../Framework/DiffieHellmanUtil.html">DiffieHellmanUtil</a></span><span class="src-sym">::</span><a href="../Framework/DiffieHellmanUtil.html#methodstrlen">strlen</a><span class="src-sym">(</span><span class="src-var">$secret</span><span class="src-sym">) </span>!= <span class="src-num">20</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a724"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">_setError</span><span class="src-sym">(</span><span class="src-str">"The length of the sha1 secret must be 20"</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a725"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a726"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a727"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$macFunc </span>== <span class="src-str">'sha256'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a728"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id"><a href="../Framework/DiffieHellmanUtil.html">DiffieHellmanUtil</a></span><span class="src-sym">::</span><a href="../Framework/DiffieHellmanUtil.html#methodstrlen">strlen</a><span class="src-sym">(</span><span class="src-var">$secret</span><span class="src-sym">) </span>!= <span class="src-num">32</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a729"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">_setError</span><span class="src-sym">(</span><span class="src-str">"The length of the sha256 secret must be 32"</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a730"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a731"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a732"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a733"></a> </div></li> |
<li><div class="src-line"><a name="a734"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/OpenIdClient.html#method_addAssociation">_addAssociation</a><span class="src-sym">(</span></div></li> |
<li><div class="src-line"><a name="a735"></a> <span class="src-var">$url</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a736"></a> <span class="src-var">$handle</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a737"></a> <span class="src-var">$macFunc</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a738"></a> <span class="src-var">$secret</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a739"></a> <a href="http://www.php.net/time">time</a><span class="src-sym">(</span><span class="src-sym">) </span>+ <span class="src-var">$expiresIn</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a740"></a> <span class="src-comm">/* $this->association['url'] = $url;</span></div></li> |
<li><div class="src-line"><a name="a741"></a><span class="src-comm"> $this->association['handle'] = $handle;</span></div></li> |
<li><div class="src-line"><a name="a742"></a><span class="src-comm"> $this->association['macFunc'] = $macFunc;</span></div></li> |
<li><div class="src-line"><a name="a743"></a><span class="src-comm"> $this->association['secret'] = $secret;</span></div></li> |
<li><div class="src-line"><a name="a744"></a><span class="src-comm"> $this->association['expiresIn'] = time() + $expiresIn;*/</span></div></li> |
<li><div class="src-line"><a name="a745"></a> </div></li> |
<li><div class="src-line"><a name="a746"></a> <span class="src-key">return </span><span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a747"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a748"></a> </div></li> |
<li><div class="src-line"><a name="a749"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a750"></a><span class="src-doc"> * Store assiciation in internal chace and external storage</span></div></li> |
<li><div class="src-line"><a name="a751"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a752"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$url </span><span class="src-doc">OpenID server url</span></div></li> |
<li><div class="src-line"><a name="a753"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$handle </span><span class="src-doc">association handle</span></div></li> |
<li><div class="src-line"><a name="a754"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$macFunc </span><span class="src-doc">HMAC function (sha1 or sha256)</span></div></li> |
<li><div class="src-line"><a name="a755"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$secret </span><span class="src-doc">shared secret</span></div></li> |
<li><div class="src-line"><a name="a756"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">integer </span><span class="src-doc-var">$expires </span><span class="src-doc">expiration UNIX time</span></div></li> |
<li><div class="src-line"><a name="a757"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">void </span></div></li> |
<li><div class="src-line"><a name="a758"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a759"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Framework/OpenIdClient.html#method_addAssociation">_addAssociation</a><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">, </span><span class="src-var">$handle</span><span class="src-sym">, </span><span class="src-var">$macFunc</span><span class="src-sym">, </span><span class="src-var">$secret</span><span class="src-sym">, </span><span class="src-var">$expires</span><span class="src-sym">)</span></div></li> |
<li><div class="src-line"><a name="a760"></a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a761"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/OpenIdClient.html#var$_cache">_cache</a><span class="src-sym">[</span><span class="src-var">$url</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$handle</span><span class="src-sym">, </span><span class="src-var">$macFunc</span><span class="src-sym">, </span><span class="src-var">$secret</span><span class="src-sym">, </span><span class="src-var">$expires</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a762"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/OpenIdClient.html#var$_storage">_storage</a><span class="src-sym">-></span><span class="src-id">addAssociation</span><span class="src-sym">(</span></div></li> |
<li><div class="src-line"><a name="a763"></a> <span class="src-var">$url</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a764"></a> <span class="src-var">$handle</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a765"></a> <span class="src-var">$macFunc</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a766"></a> <span class="src-var">$secret</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a767"></a> <span class="src-var">$expires</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a768"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a769"></a> </div></li> |
<li><div class="src-line"><a name="a770"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a771"></a><span class="src-doc"> * Retrive assiciation information for given $url from internal cahce or</span></div></li> |
<li><div class="src-line"><a name="a772"></a><span class="src-doc"> * external storage</span></div></li> |
<li><div class="src-line"><a name="a773"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a774"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$url </span><span class="src-doc">OpenID server url</span></div></li> |
<li><div class="src-line"><a name="a775"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">&$handle </span><span class="src-doc">association handle</span></div></li> |
<li><div class="src-line"><a name="a776"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">&$macFunc </span><span class="src-doc">HMAC function (sha1 or sha256)</span></div></li> |
<li><div class="src-line"><a name="a777"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">&$secret </span><span class="src-doc">shared secret</span></div></li> |
<li><div class="src-line"><a name="a778"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">integer </span><span class="src-doc-var">&$expires </span><span class="src-doc">expiration UNIX time</span></div></li> |
<li><div class="src-line"><a name="a779"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">void </span></div></li> |
<li><div class="src-line"><a name="a780"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a781"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Framework/OpenIdClient.html#method_getAssociation">_getAssociation</a><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">, </span><span class="src-sym">&</span><span class="src-var">$handle</span><span class="src-sym">, </span><span class="src-sym">&</span><span class="src-var">$macFunc</span><span class="src-sym">, </span><span class="src-sym">&</span><span class="src-var">$secret</span><span class="src-sym">, </span><span class="src-sym">&</span><span class="src-var">$expires</span><span class="src-sym">)</span></div></li> |
<li><div class="src-line"><a name="a782"></a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a783"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/OpenIdClient.html#var$_cache">_cache</a><span class="src-sym">[</span><span class="src-var">$url</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a784"></a> <span class="src-var">$handle </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/OpenIdClient.html#var$_cache">_cache</a><span class="src-sym">[</span><span class="src-var">$url</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a785"></a> <span class="src-var">$macFunc </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/OpenIdClient.html#var$_cache">_cache</a><span class="src-sym">[</span><span class="src-var">$url</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a786"></a> <span class="src-var">$secret </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/OpenIdClient.html#var$_cache">_cache</a><span class="src-sym">[</span><span class="src-var">$url</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a787"></a> <span class="src-var">$expires </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/OpenIdClient.html#var$_cache">_cache</a><span class="src-sym">[</span><span class="src-var">$url</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">3</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a788"></a> <span class="src-key">return </span><span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a789"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a790"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/OpenIdClient.html#var$_storage">_storage</a><span class="src-sym">-></span><span class="src-id">getAssociation</span><span class="src-sym">(</span></div></li> |
<li><div class="src-line"><a name="a791"></a> <span class="src-var">$url</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a792"></a> <span class="src-var">$handle</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a793"></a> <span class="src-var">$macFunc</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a794"></a> <span class="src-var">$secret</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a795"></a> <span class="src-var">$expires</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a796"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/OpenIdClient.html#var$_cache">_cache</a><span class="src-sym">[</span><span class="src-var">$url</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$handle</span><span class="src-sym">, </span><span class="src-var">$macFunc</span><span class="src-sym">, </span><span class="src-var">$secret</span><span class="src-sym">, </span><span class="src-var">$expires</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a797"></a> <span class="src-key">return </span><span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a798"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a799"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a800"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a801"></a> </div></li> |
<li><div class="src-line"><a name="a802"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a803"></a><span class="src-doc"> * Normalizes URL according to RFC 3986 to use it in comparison operations.</span></div></li> |
<li><div class="src-line"><a name="a804"></a><span class="src-doc"> * The function gets URL argument by reference and modifies it.</span></div></li> |
<li><div class="src-line"><a name="a805"></a><span class="src-doc"> * It returns true on success and false of failure.</span></div></li> |
<li><div class="src-line"><a name="a806"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a807"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">&$id </span><span class="src-doc">url to be normalized</span></div></li> |
<li><div class="src-line"><a name="a808"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">bool </span></div></li> |
<li><div class="src-line"><a name="a809"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a810"></a> <span class="src-key">static </span><span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/OpenIdClient.html#methodnormalizeUrl">normalizeUrl</a><span class="src-sym">(</span><span class="src-sym">&</span><span class="src-var">$id</span><span class="src-sym">)</span></div></li> |
<li><div class="src-line"><a name="a811"></a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a812"></a> <span class="src-comm">// RFC 3986, 6.2.2. Syntax-Based Normalization</span></div></li> |
<li><div class="src-line"><a name="a813"></a> </div></li> |
<li><div class="src-line"><a name="a814"></a> <span class="src-comm">// RFC 3986, 6.2.2.2 Percent-Encoding Normalization</span></div></li> |
<li><div class="src-line"><a name="a815"></a> <span class="src-var">$i </span>= <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a816"></a> <span class="src-var">$n </span>= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a817"></a> <span class="src-var">$res </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a818"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-var">$i </span>< <span class="src-var">$n</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a819"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">] </span>== <span class="src-str">'%'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a820"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$i </span>+ <span class="src-num">2 </span>>= <span class="src-var">$n</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a821"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a822"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a823"></a> ++<span class="src-var">$i</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a824"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">] </span>>= <span class="src-str">'0' </span>&& <span class="src-var">$id</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">] </span><= <span class="src-str">'9'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a825"></a> <span class="src-var">$c </span>= <a href="http://www.php.net/ord">ord</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">]</span><span class="src-sym">) </span>- <a href="http://www.php.net/ord">ord</a><span class="src-sym">(</span><span class="src-str">'0'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a826"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">] </span>>= <span class="src-str">'A' </span>&& <span class="src-var">$id</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">] </span><= <span class="src-str">'F'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a827"></a> <span class="src-var">$c </span>= <a href="http://www.php.net/ord">ord</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">]</span><span class="src-sym">) </span>- <a href="http://www.php.net/ord">ord</a><span class="src-sym">(</span><span class="src-str">'A'</span><span class="src-sym">) </span>+ <span class="src-num">10</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a828"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">] </span>>= <span class="src-str">'a' </span>&& <span class="src-var">$id</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">] </span><= <span class="src-str">'f'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a829"></a> <span class="src-var">$c </span>= <a href="http://www.php.net/ord">ord</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">]</span><span class="src-sym">) </span>- <a href="http://www.php.net/ord">ord</a><span class="src-sym">(</span><span class="src-str">'a'</span><span class="src-sym">) </span>+ <span class="src-num">10</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a830"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a831"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a832"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a833"></a> ++<span class="src-var">$i</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a834"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">] </span>>= <span class="src-str">'0' </span>&& <span class="src-var">$id</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">] </span><= <span class="src-str">'9'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a835"></a> <span class="src-var">$c </span>= <span class="src-sym">(</span><span class="src-var">$c </span><< <span class="src-num">4</span><span class="src-sym">) </span>| <span class="src-sym">(</span><a href="http://www.php.net/ord">ord</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">]</span><span class="src-sym">) </span>- <a href="http://www.php.net/ord">ord</a><span class="src-sym">(</span><span class="src-str">'0'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a836"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">] </span>>= <span class="src-str">'A' </span>&& <span class="src-var">$id</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">] </span><= <span class="src-str">'F'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a837"></a> <span class="src-var">$c </span>= <span class="src-sym">(</span><span class="src-var">$c </span><< <span class="src-num">4</span><span class="src-sym">) </span>| <span class="src-sym">(</span><a href="http://www.php.net/ord">ord</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">]</span><span class="src-sym">) </span>- <a href="http://www.php.net/ord">ord</a><span class="src-sym">(</span><span class="src-str">'A'</span><span class="src-sym">) </span>+ <span class="src-num">10</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a838"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">] </span>>= <span class="src-str">'a' </span>&& <span class="src-var">$id</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">] </span><= <span class="src-str">'f'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a839"></a> <span class="src-var">$c </span>= <span class="src-sym">(</span><span class="src-var">$c </span><< <span class="src-num">4</span><span class="src-sym">) </span>| <span class="src-sym">(</span><a href="http://www.php.net/ord">ord</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">]</span><span class="src-sym">) </span>- <a href="http://www.php.net/ord">ord</a><span class="src-sym">(</span><span class="src-str">'a'</span><span class="src-sym">) </span>+ <span class="src-num">10</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a840"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a841"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a842"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a843"></a> ++<span class="src-var">$i</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a844"></a> <span class="src-var">$ch </span>= <a href="http://www.php.net/chr">chr</a><span class="src-sym">(</span><span class="src-var">$c</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a845"></a> <span class="src-key">if </span><span class="src-sym">((</span><span class="src-var">$ch </span>>= <span class="src-str">'A' </span>&& <span class="src-var">$ch </span><= <span class="src-str">'Z'</span><span class="src-sym">) </span>||</div></li> |
<li><div class="src-line"><a name="a846"></a> <span class="src-sym">(</span><span class="src-var">$ch </span>>= <span class="src-str">'a' </span>&& <span class="src-var">$ch </span><= <span class="src-str">'z'</span><span class="src-sym">) </span>||</div></li> |
<li><div class="src-line"><a name="a847"></a> <span class="src-var">$ch </span>== <span class="src-str">'-' </span>||</div></li> |
<li><div class="src-line"><a name="a848"></a> <span class="src-var">$ch </span>== <span class="src-str">'.' </span>||</div></li> |
<li><div class="src-line"><a name="a849"></a> <span class="src-var">$ch </span>== <span class="src-str">'_' </span>||</div></li> |
<li><div class="src-line"><a name="a850"></a> <span class="src-var">$ch </span>== <span class="src-str">'~'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a851"></a> <span class="src-var">$res </span>.= <span class="src-var">$ch</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a852"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a853"></a> <span class="src-var">$res </span>.= <span class="src-str">'%'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a854"></a> <span class="src-key">if </span><span class="src-sym">((</span><span class="src-var">$c </span>>> <span class="src-num">4</span><span class="src-sym">) </span>< <span class="src-num">10</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a855"></a> <span class="src-var">$res </span>.= <a href="http://www.php.net/chr">chr</a><span class="src-sym">((</span><span class="src-var">$c </span>>> <span class="src-num">4</span><span class="src-sym">) </span>+ <a href="http://www.php.net/ord">ord</a><span class="src-sym">(</span><span class="src-str">'0'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a856"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a857"></a> <span class="src-var">$res </span>.= <a href="http://www.php.net/chr">chr</a><span class="src-sym">((</span><span class="src-var">$c </span>>> <span class="src-num">4</span><span class="src-sym">) </span>- <span class="src-num">10 </span>+ <a href="http://www.php.net/ord">ord</a><span class="src-sym">(</span><span class="src-str">'A'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a858"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a859"></a> <span class="src-var">$c </span>= <span class="src-var">$c </span><span class="src-sym">& </span><span class="src-num">0xf</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a860"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$c </span>< <span class="src-num">10</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a861"></a> <span class="src-var">$res </span>.= <a href="http://www.php.net/chr">chr</a><span class="src-sym">(</span><span class="src-var">$c </span>+ <a href="http://www.php.net/ord">ord</a><span class="src-sym">(</span><span class="src-str">'0'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a862"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a863"></a> <span class="src-var">$res </span>.= <a href="http://www.php.net/chr">chr</a><span class="src-sym">(</span><span class="src-var">$c </span>- <span class="src-num">10 </span>+ <a href="http://www.php.net/ord">ord</a><span class="src-sym">(</span><span class="src-str">'A'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a864"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a865"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a866"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a867"></a> <span class="src-var">$res </span>.= <span class="src-var">$id</span><span class="src-sym">[</span><span class="src-var">$i</span>++<span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a868"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a869"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a870"></a> </div></li> |
<li><div class="src-line"><a name="a871"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'|^([^:]+)://([^:@]*(?:[:][^@]*)?@)?([^/:@?#]*)(?:[:]([^/?#]*))?(/[^?#]*)?((?:[?](?:[^#]*))?)((?:#.*)?)$|'</span><span class="src-sym">, </span><span class="src-var">$res</span><span class="src-sym">, </span><span class="src-var">$reg</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a872"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a873"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a874"></a> <span class="src-var">$scheme </span>= <span class="src-var">$reg</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a875"></a> <span class="src-var">$auth </span>= <span class="src-var">$reg</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a876"></a> <span class="src-var">$host </span>= <span class="src-var">$reg</span><span class="src-sym">[</span><span class="src-num">3</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a877"></a> <span class="src-var">$port </span>= <span class="src-var">$reg</span><span class="src-sym">[</span><span class="src-num">4</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a878"></a> <span class="src-var">$path </span>= <span class="src-var">$reg</span><span class="src-sym">[</span><span class="src-num">5</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a879"></a> <span class="src-var">$query </span>= <span class="src-var">$reg</span><span class="src-sym">[</span><span class="src-num">6</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a880"></a> <span class="src-var">$fragment </span>= <span class="src-var">$reg</span><span class="src-sym">[</span><span class="src-num">7</span><span class="src-sym">]</span><span class="src-sym">; </span><span class="src-comm">/* strip it */</span></div></li> |
<li><div class="src-line"><a name="a881"></a> </div></li> |
<li><div class="src-line"><a name="a882"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$scheme</span><span class="src-sym">) </span>|| <span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$host</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a883"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a884"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a885"></a> </div></li> |
<li><div class="src-line"><a name="a886"></a> <span class="src-comm">// RFC 3986, 6.2.2.1. Case Normalization</span></div></li> |
<li><div class="src-line"><a name="a887"></a> <span class="src-var">$scheme </span>= <a href="http://www.php.net/strtolower">strtolower</a><span class="src-sym">(</span><span class="src-var">$scheme</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a888"></a> <span class="src-var">$host </span>= <a href="http://www.php.net/strtolower">strtolower</a><span class="src-sym">(</span><span class="src-var">$host</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a889"></a> </div></li> |
<li><div class="src-line"><a name="a890"></a> <span class="src-comm">// RFC 3986, 6.2.2.3. Path Segment Normalization</span></div></li> |
<li><div class="src-line"><a name="a891"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$path</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a892"></a> <span class="src-var">$i </span>= <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a893"></a> <span class="src-var">$n </span>= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$path</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a894"></a> <span class="src-var">$res </span>= <span class="src-str">""</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a895"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-var">$i </span>< <span class="src-var">$n</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a896"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$path</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">] </span>== <span class="src-str">'/'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a897"></a> ++<span class="src-var">$i</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a898"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-var">$i </span>< <span class="src-var">$n </span>&& <span class="src-var">$path</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">] </span>== <span class="src-str">'/'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a899"></a> ++<span class="src-var">$i</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a900"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a901"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$i </span>< <span class="src-var">$n </span>&& <span class="src-var">$path</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">] </span>== <span class="src-str">'.'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a902"></a> ++<span class="src-var">$i</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a903"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$i </span>< <span class="src-var">$n </span>&& <span class="src-var">$path</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">] </span>== <span class="src-str">'.'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a904"></a> ++<span class="src-var">$i</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a905"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$i </span>== <span class="src-var">$n </span>|| <span class="src-var">$path</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">] </span>== <span class="src-str">'/'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a906"></a> <span class="src-key">if </span><span class="src-sym">((</span><span class="src-var">$pos </span>= <a href="http://www.php.net/strrpos">strrpos</a><span class="src-sym">(</span><span class="src-var">$res</span><span class="src-sym">, </span><span class="src-str">'/'</span><span class="src-sym">)) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a907"></a> <span class="src-var">$res </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$res</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-var">$pos</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a908"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a909"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a910"></a> <span class="src-var">$res </span>.= <span class="src-str">'/..'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a911"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a912"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$i </span>!= <span class="src-var">$n </span>&& <span class="src-var">$path</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">] </span>!= <span class="src-str">'/'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a913"></a> <span class="src-var">$res </span>.= <span class="src-str">'/.'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a914"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a915"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a916"></a> <span class="src-var">$res </span>.= <span class="src-str">'/'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a917"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a918"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a919"></a> <span class="src-var">$res </span>.= <span class="src-var">$path</span><span class="src-sym">[</span><span class="src-var">$i</span>++<span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a920"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a921"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a922"></a> <span class="src-var">$path </span>= <span class="src-var">$res</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a923"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a924"></a> </div></li> |
<li><div class="src-line"><a name="a925"></a> <span class="src-comm">// RFC 3986,6.2.3. Scheme-Based Normalization</span></div></li> |
<li><div class="src-line"><a name="a926"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$scheme </span>== <span class="src-str">'http'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a927"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$port </span>== <span class="src-num">80</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a928"></a> <span class="src-var">$port </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a929"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a930"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$scheme </span>== <span class="src-str">'https'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a931"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$port </span>== <span class="src-num">443</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a932"></a> <span class="src-var">$port </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a933"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a934"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a935"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$path</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a936"></a> <span class="src-var">$path </span>= <span class="src-str">'/'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a937"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a938"></a> </div></li> |
<li><div class="src-line"><a name="a939"></a> <span class="src-var">$id </span>= <span class="src-var">$scheme</span></div></li> |
<li><div class="src-line"><a name="a940"></a> . <span class="src-str">'://'</span></div></li> |
<li><div class="src-line"><a name="a941"></a> . <span class="src-var">$auth</span></div></li> |
<li><div class="src-line"><a name="a942"></a> . <span class="src-var">$host</span></div></li> |
<li><div class="src-line"><a name="a943"></a> . <span class="src-sym">(</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$port</span><span class="src-sym">) </span>? <span class="src-str">'' </span>: <span class="src-sym">(</span><span class="src-str">':' </span>. <span class="src-var">$port</span><span class="src-sym">))</span></div></li> |
<li><div class="src-line"><a name="a944"></a> . <span class="src-var">$path</span></div></li> |
<li><div class="src-line"><a name="a945"></a> . <span class="src-var">$query</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a946"></a> <span class="src-key">return </span><span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a947"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a948"></a> </div></li> |
<li><div class="src-line"><a name="a949"></a> </div></li> |
<li><div class="src-line"><a name="a950"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a951"></a><span class="src-doc"> * Normaliser l'identifiant OpenId qui peut être une URL ou nom XRI</span></div></li> |
<li><div class="src-line"><a name="a952"></a><span class="src-doc"> * Retourne true ou false en cas d'erreur.</span></div></li> |
<li><div class="src-line"><a name="a953"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a954"></a><span class="src-doc"> * Règles de normalisation :</span></div></li> |
<li><div class="src-line"><a name="a955"></a><span class="src-doc"> * 1. If the user's input starts with one of the "xri://", "xri://$ip*",</span></div></li> |
<li><div class="src-line"><a name="a956"></a><span class="src-doc"> * or "xri://$dns*" prefixes, they MUST be stripped off, so that XRIs</span></div></li> |
<li><div class="src-line"><a name="a957"></a><span class="src-doc"> * are used in the canonical form, and URI-authority XRIs are further</span></div></li> |
<li><div class="src-line"><a name="a958"></a><span class="src-doc"> * considered URL identifiers.</span></div></li> |
<li><div class="src-line"><a name="a959"></a><span class="src-doc"> * 2. If the first character of the resulting string is an XRI Global</span></div></li> |
<li><div class="src-line"><a name="a960"></a><span class="src-doc"> * Context Symbol ("=", "@", "+", "$", "!"), then the input SHOULD be</span></div></li> |
<li><div class="src-line"><a name="a961"></a><span class="src-doc"> * treated as an XRI.</span></div></li> |
<li><div class="src-line"><a name="a962"></a><span class="src-doc"> * 3. Otherwise, the input SHOULD be treated as an http URL; if it does</span></div></li> |
<li><div class="src-line"><a name="a963"></a><span class="src-doc"> * not include a "http" or "https" scheme, the Identifier MUST be</span></div></li> |
<li><div class="src-line"><a name="a964"></a><span class="src-doc"> * prefixed with the string "http://".</span></div></li> |
<li><div class="src-line"><a name="a965"></a><span class="src-doc"> * 4. URL identifiers MUST then be further normalized by both following</span></div></li> |
<li><div class="src-line"><a name="a966"></a><span class="src-doc"> * redirects when retrieving their content and finally applying the</span></div></li> |
<li><div class="src-line"><a name="a967"></a><span class="src-doc"> * rules in Section 6 of [RFC3986] to the final destination URL.</span></div></li> |
<li><div class="src-line"><a name="a968"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">&$id </span><span class="src-doc">identifier to be normalized</span></div></li> |
<li><div class="src-line"><a name="a969"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">bool </span></div></li> |
<li><div class="src-line"><a name="a970"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a971"></a> <span class="src-key">static </span><span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/OpenIdClient.html#methodnormalize">normalize</a><span class="src-sym">(</span><span class="src-sym">&</span><span class="src-var">$id</span><span class="src-sym">)</span></div></li> |
<li><div class="src-line"><a name="a972"></a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a973"></a> <span class="src-var">$id </span>= <a href="http://www.php.net/trim">trim</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a974"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">) </span>=== <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a975"></a> <span class="src-key">return </span><span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a976"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a977"></a> </div></li> |
<li><div class="src-line"><a name="a978"></a> <span class="src-comm">// 7.2.1</span></div></li> |
<li><div class="src-line"><a name="a979"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">, </span><span class="src-str">'xri://$ip*'</span><span class="src-sym">) </span>=== <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a980"></a> <span class="src-var">$id </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-str">'xri://$ip*'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a981"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">, </span><span class="src-str">'xri://$dns*'</span><span class="src-sym">) </span>=== <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a982"></a> <span class="src-var">$id </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-str">'xri://$dns*'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a983"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">, </span><span class="src-str">'xri://'</span><span class="src-sym">) </span>=== <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a984"></a> <span class="src-var">$id </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-str">'xri://'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a985"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a986"></a> </div></li> |
<li><div class="src-line"><a name="a987"></a> <span class="src-comm">// 7.2.2</span></div></li> |
<li><div class="src-line"><a name="a988"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>== <span class="src-str">'=' </span>||</div></li> |
<li><div class="src-line"><a name="a989"></a> <span class="src-var">$id</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>== <span class="src-str">'@' </span>||</div></li> |
<li><div class="src-line"><a name="a990"></a> <span class="src-var">$id</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>== <span class="src-str">'+' </span>||</div></li> |
<li><div class="src-line"><a name="a991"></a> <span class="src-var">$id</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>== <span class="src-str">'$' </span>||</div></li> |
<li><div class="src-line"><a name="a992"></a> <span class="src-var">$id</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>== <span class="src-str">'!'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a993"></a> <span class="src-key">return </span><span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a994"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a995"></a> </div></li> |
<li><div class="src-line"><a name="a996"></a> <span class="src-comm">// 7.2.3</span></div></li> |
<li><div class="src-line"><a name="a997"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">, </span><span class="src-str">"://"</span><span class="src-sym">) </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a998"></a> <span class="src-var">$id </span>= <span class="src-str">'http://' </span>. <span class="src-var">$id</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a999"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a1000"></a> </div></li> |
<li><div class="src-line"><a name="a1001"></a> <span class="src-comm">// 7.2.4</span></div></li> |
<li><div class="src-line"><a name="a1002"></a> <span class="src-key">return </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">normalizeURL</span><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a1003"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a1004"></a> </div></li> |
<li><div class="src-line"><a name="a1005"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a1006"></a><span class="src-doc"> * Generates a hash value (message digest) according to given algorithm.</span></div></li> |
<li><div class="src-line"><a name="a1007"></a><span class="src-doc"> * It returns RAW binary string.</span></div></li> |
<li><div class="src-line"><a name="a1008"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a1009"></a><span class="src-doc"> * This is a wrapper function that uses one of available internal function</span></div></li> |
<li><div class="src-line"><a name="a1010"></a><span class="src-doc"> * dependent on given PHP configuration. It may use various functions from</span></div></li> |
<li><div class="src-line"><a name="a1011"></a><span class="src-doc"> * ext/openssl, ext/hash, ext/mhash or ext/standard.</span></div></li> |
<li><div class="src-line"><a name="a1012"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a1013"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$func </span><span class="src-doc">digest algorithm</span></div></li> |
<li><div class="src-line"><a name="a1014"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$data </span><span class="src-doc">data to sign</span></div></li> |
<li><div class="src-line"><a name="a1015"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">RAW digital signature</span></div></li> |
<li><div class="src-line"><a name="a1016"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@throws</span><span class="src-doc"> Zend_OpenId_Exception</span></div></li> |
<li><div class="src-line"><a name="a1017"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a1018"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/OpenIdClient.html#methoddigest">digest</a><span class="src-sym">(</span><span class="src-var">$func</span><span class="src-sym">, </span><span class="src-var">$data</span><span class="src-sym">)</span></div></li> |
<li><div class="src-line"><a name="a1019"></a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a1020"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/function_exists">function_exists</a><span class="src-sym">(</span><span class="src-str">'openssl_digest'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a1021"></a> <span class="src-key">return </span><span class="src-id">openssl_digest</span><span class="src-sym">(</span><span class="src-var">$data</span><span class="src-sym">, </span><span class="src-var">$func</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a1022"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/function_exists">function_exists</a><span class="src-sym">(</span><span class="src-str">'hash'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a1023"></a> <span class="src-key">return </span><a href="http://www.php.net/hash">hash</a><span class="src-sym">(</span><span class="src-var">$func</span><span class="src-sym">, </span><span class="src-var">$data</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a1024"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$func </span>=== <span class="src-str">'sha1'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a1025"></a> <span class="src-key">return </span><a href="http://www.php.net/sha1">sha1</a><span class="src-sym">(</span><span class="src-var">$data</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a1026"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$func </span>=== <span class="src-str">'sha256'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a1027"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/function_exists">function_exists</a><span class="src-sym">(</span><span class="src-str">'mhash'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a1028"></a> <span class="src-key">return </span><a href="http://www.php.net/mhash">mhash</a><span class="src-sym">(</span><span class="src-id">MHASH_SHA256 </span><span class="src-sym">, </span><span class="src-var">$data</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a1029"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a1030"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a1031"></a> <span class="src-comm">/*require_once "Zend/OpenId/Exception.php";</span></div></li> |
<li><div class="src-line"><a name="a1032"></a><span class="src-comm"> throw new Zend_OpenId_Exception(</span></div></li> |
<li><div class="src-line"><a name="a1033"></a><span class="src-comm"> 'Unsupported digest algorithm "' . $func . '".',</span></div></li> |
<li><div class="src-line"><a name="a1034"></a><span class="src-comm"> Zend_OpenId_Exception::UNSUPPORTED_DIGEST);*/</span></div></li> |
<li><div class="src-line"><a name="a1035"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">'Unsupported digest algorithm '</span>.<span class="src-var">$func </span><span class="src-sym">, </span><span class="src-id">E_USER_ERROR</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a1036"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a1037"></a> </div></li> |
<li><div class="src-line"><a name="a1038"></a> </div></li> |
<li><div class="src-line"><a name="a1039"></a> </div></li> |
<li><div class="src-line"><a name="a1040"></a> </div></li> |
<li><div class="src-line"><a name="a1041"></a> </div></li> |
<li><div class="src-line"><a name="a1042"></a> </div></li> |
<li><div class="src-line"><a name="a1043"></a> </div></li> |
<li><div class="src-line"><a name="a1044"></a> </div></li> |
<li><div class="src-line"><a name="a1045"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a1046"></a><span class="src-doc"> * Returns a full URL that was requested on current HTTP request.</span></div></li> |
<li><div class="src-line"><a name="a1047"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a1048"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span></div></li> |
<li><div class="src-line"><a name="a1049"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a1050"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/OpenIdClient.html#methodselfUrl">selfUrl</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
<li><div class="src-line"><a name="a1051"></a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a1052"></a> <span class="src-comm">/*FIXME : </span></div></li> |
<li><div class="src-line"><a name="a1053"></a><span class="src-comm"> * if ($this->$selfUrl !== null) {</span></div></li> |
<li><div class="src-line"><a name="a1054"></a><span class="src-comm"> return $this->$selfUrl;</span></div></li> |
<li><div class="src-line"><a name="a1055"></a><span class="src-comm"> } */</span></div></li> |
<li><div class="src-line"><a name="a1056"></a> </div></li> |
<li><div class="src-line"><a name="a1057"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'SCRIPT_URI'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a1058"></a> <span class="src-key">return </span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'SCRIPT_URI'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a1059"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a1060"></a> <span class="src-var">$url </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a1061"></a> <span class="src-var">$port </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a1062"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'HTTP_HOST'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a1063"></a> <span class="src-key">if </span><span class="src-sym">((</span><span class="src-var">$pos </span>= <a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'HTTP_HOST'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-str">':'</span><span class="src-sym">)) </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a1064"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'SERVER_PORT'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a1065"></a> <span class="src-var">$port </span>= <span class="src-str">':' </span>. <span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'SERVER_PORT'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a1066"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a1067"></a> <span class="src-var">$url </span>= <span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'HTTP_HOST'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a1068"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a1069"></a> <span class="src-var">$url </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'HTTP_HOST'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-var">$pos</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a1070"></a> <span class="src-var">$port </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'HTTP_HOST'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$pos</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a1071"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a1072"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'SERVER_NAME'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a1073"></a> <span class="src-var">$url </span>= <span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'SERVER_NAME'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a1074"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'SERVER_PORT'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a1075"></a> <span class="src-var">$port </span>= <span class="src-str">':' </span>. <span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'SERVER_PORT'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a1076"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a1077"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a1078"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'HTTPS'</span><span class="src-sym">]</span><span class="src-sym">) </span>&& <span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'HTTPS'</span><span class="src-sym">] </span>== <span class="src-str">'on'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a1079"></a> <span class="src-var">$url </span>= <span class="src-str">'https://' </span>. <span class="src-var">$url</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a1080"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$port </span>== <span class="src-str">':443'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a1081"></a> <span class="src-var">$port </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a1082"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a1083"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a1084"></a> <span class="src-var">$url </span>= <span class="src-str">'http://' </span>. <span class="src-var">$url</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a1085"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$port </span>== <span class="src-str">':80'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a1086"></a> <span class="src-var">$port </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a1087"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a1088"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a1089"></a> </div></li> |
<li><div class="src-line"><a name="a1090"></a> <span class="src-var">$url </span>.= <span class="src-var">$port</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a1091"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'HTTP_X_REWRITE_URL'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a1092"></a> <span class="src-var">$url </span>.= <span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'HTTP_X_REWRITE_URL'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a1093"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'REQUEST_URI'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a1094"></a> <span class="src-var">$query </span>= <a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'REQUEST_URI'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-str">'?'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a1095"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$query </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a1096"></a> <span class="src-var">$url </span>.= <span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'REQUEST_URI'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a1097"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a1098"></a> <span class="src-var">$url </span>.= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'REQUEST_URI'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-var">$query</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a1099"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a1100"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'SCRIPT_URL'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a1101"></a> <span class="src-var">$url </span>.= <span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'SCRIPT_URL'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a1102"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'REDIRECT_URL'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a1103"></a> <span class="src-var">$url </span>.= <span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'REDIRECT_URL'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a1104"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'PHP_SELF'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a1105"></a> <span class="src-var">$url </span>.= <span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'PHP_SELF'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a1106"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'SCRIPT_NAME'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a1107"></a> <span class="src-var">$url </span>.= <span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'SCRIPT_NAME'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a1108"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'PATH_INFO'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a1109"></a> <span class="src-var">$url </span>.= <span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'PATH_INFO'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a1110"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a1111"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a1112"></a> <span class="src-key">return </span><span class="src-var">$url</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a1113"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a1114"></a> </div></li> |
<li><div class="src-line"><a name="a1115"></a> </div></li> |
<li><div class="src-line"><a name="a1116"></a> <span class="src-comm">//TODO : vérifier si les fonctions FWK & ZEND sont bien équivalente</span></div></li> |
<li><div class="src-line"><a name="a1117"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a1118"></a><span class="src-doc"> * Retourne l'url absolue d'une url donnée</span></div></li> |
<li><div class="src-line"><a name="a1119"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a1120"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$url </span><span class="src-doc">absilute or relative URL</span></div></li> |
<li><div class="src-line"><a name="a1121"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span></div></li> |
<li><div class="src-line"><a name="a1122"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a1123"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/OpenIdClient.html#methodabsoluteUrl">absoluteUrl</a><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">)</span></div></li> |
<li><div class="src-line"><a name="a1124"></a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a1125"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$ur</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a1126"></a> <span class="src-var">$urlAbsolue </span>= <span class="src-key">new </span><span class="src-id"><a href="../Framework/Url.html">Url</a></span><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a1127"></a> <span class="src-var">$urlAbsolue</span><span class="src-sym">-></span><span class="src-id">normaliser</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a1128"></a> <span class="src-var">$url </span>= <span class="src-var">$urlAbsolue</span><span class="src-sym">-></span><span class="src-id">getUrl</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a1129"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a1130"></a> <span class="src-var">$url </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/OpenIdClient.html#methodselfUrl">selfUrl</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a1131"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a1132"></a> </div></li> |
<li><div class="src-line"><a name="a1133"></a> <span class="src-key">return </span><span class="src-var">$url</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a1134"></a> <span class="src-comm">/*</span></div></li> |
<li><div class="src-line"><a name="a1135"></a><span class="src-comm"> if (empty($url)) {</span></div></li> |
<li><div class="src-line"><a name="a1136"></a><span class="src-comm"> return $this->selfUrl();</span></div></li> |
<li><div class="src-line"><a name="a1137"></a><span class="src-comm"> } else if (!preg_match('|^([^:]+)://|', $url)) {</span></div></li> |
<li><div class="src-line"><a name="a1138"></a><span class="src-comm"> if (preg_match('|^([^:]+)://([^:@]*(?:[:][^@]*)?@)?([^/:@?#]*)(?:[:]([^/?#]*))?(/[^?]*)?((?:[?](?:[^#]*))?(?:#.*)?)$|', $this->selfUrl(), $reg)) {</span></div></li> |
<li><div class="src-line"><a name="a1139"></a><span class="src-comm"> $scheme = $reg[1];</span></div></li> |
<li><div class="src-line"><a name="a1140"></a><span class="src-comm"> $auth = $reg[2];</span></div></li> |
<li><div class="src-line"><a name="a1141"></a><span class="src-comm"> $host = $reg[3];</span></div></li> |
<li><div class="src-line"><a name="a1142"></a><span class="src-comm"> $port = $reg[4];</span></div></li> |
<li><div class="src-line"><a name="a1143"></a><span class="src-comm"> $path = $reg[5];</span></div></li> |
<li><div class="src-line"><a name="a1144"></a><span class="src-comm"> $query = $reg[6];</span></div></li> |
<li><div class="src-line"><a name="a1145"></a><span class="src-comm"> if ($url[0] == '/') {</span></div></li> |
<li><div class="src-line"><a name="a1146"></a><span class="src-comm"> return $scheme</span></div></li> |
<li><div class="src-line"><a name="a1147"></a><span class="src-comm"> . '://'</span></div></li> |
<li><div class="src-line"><a name="a1148"></a><span class="src-comm"> . $auth</span></div></li> |
<li><div class="src-line"><a name="a1149"></a><span class="src-comm"> . $host</span></div></li> |
<li><div class="src-line"><a name="a1150"></a><span class="src-comm"> . (empty($port) ? '' : (':' . $port))</span></div></li> |
<li><div class="src-line"><a name="a1151"></a><span class="src-comm"> . $url;</span></div></li> |
<li><div class="src-line"><a name="a1152"></a><span class="src-comm"> } else {</span></div></li> |
<li><div class="src-line"><a name="a1153"></a><span class="src-comm"> $dir = dirname($path);</span></div></li> |
<li><div class="src-line"><a name="a1154"></a><span class="src-comm"> return $scheme</span></div></li> |
<li><div class="src-line"><a name="a1155"></a><span class="src-comm"> . '://'</span></div></li> |
<li><div class="src-line"><a name="a1156"></a><span class="src-comm"> . $auth</span></div></li> |
<li><div class="src-line"><a name="a1157"></a><span class="src-comm"> . $host</span></div></li> |
<li><div class="src-line"><a name="a1158"></a><span class="src-comm"> . (empty($port) ? '' : (':' . $port))</span></div></li> |
<li><div class="src-line"><a name="a1159"></a><span class="src-comm"> . (strlen($dir) > 1 ? $dir : '')</span></div></li> |
<li><div class="src-line"><a name="a1160"></a><span class="src-comm"> . '/'</span></div></li> |
<li><div class="src-line"><a name="a1161"></a><span class="src-comm"> . $url;</span></div></li> |
<li><div class="src-line"><a name="a1162"></a><span class="src-comm"> }</span></div></li> |
<li><div class="src-line"><a name="a1163"></a><span class="src-comm"> }</span></div></li> |
<li><div class="src-line"><a name="a1164"></a><span class="src-comm"> }</span></div></li> |
<li><div class="src-line"><a name="a1165"></a><span class="src-comm"> return $url;*/</span></div></li> |
<li><div class="src-line"><a name="a1166"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a1167"></a> </div></li> |
<li><div class="src-line"><a name="a1168"></a> </div></li> |
<li><div class="src-line"><a name="a1169"></a> <span class="src-comm">//TODO : voir si on ne peut pas glisser ça dans client ?</span></div></li> |
<li><div class="src-line"><a name="a1170"></a> <span class="src-comm">//FIXME : je met une fonction SIMPLISSIME a améliorer et reécrire</span></div></li> |
<li><div class="src-line"><a name="a1171"></a> <span class="src-comm">// La fonction de Zend est plus poussée est prend en compte le cas ou l'header ne peut pas etre envoyé</span></div></li> |
<li><div class="src-line"><a name="a1172"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a1173"></a><span class="src-doc"> * Rediriger vers la page du serveur avec les paramètres de confiration</span></div></li> |
<li><div class="src-line"><a name="a1174"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a1175"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$url </span><span class="src-doc">URL de retour</span></div></li> |
<li><div class="src-line"><a name="a1176"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$params </span><span class="src-doc">paramètres additionnels</span></div></li> |
<li><div class="src-line"><a name="a1177"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a1178"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/OpenIdClient.html#methodredirect">redirect</a><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a1179"></a> <span class="src-comm">//1. fabriquer l'url Get</span></div></li> |
<li><div class="src-line"><a name="a1180"></a> <span class="src-var">$urlRedirection </span>= <span class="src-key">new </span><span class="src-id"><a href="../Framework/Url.html">Url</a></span><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a1181"></a> <span class="src-var">$urlRedirection</span><span class="src-sym">-></span><span class="src-id">setRequete</span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a1182"></a> <span class="src-comm">//echo $urlRedirection->getUrl();</span></div></li> |
<li><div class="src-line"><a name="a1183"></a> try <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a1184"></a> <a href="http://www.php.net/header">header</a><span class="src-sym">(</span><span class="src-str">'Location:'</span>.<span class="src-var">$urlRedirection</span><span class="src-sym">-></span><span class="src-id">getUrl</span><span class="src-sym">(</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a1185"></a> <span class="src-sym">} </span>catch <span class="src-sym">(</span><span class="src-id">Exception </span><span class="src-var">$e</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a1186"></a> <span class="src-comm">//TODO : voir autres méthodes de redirection</span></div></li> |
<li><div class="src-line"><a name="a1187"></a> <span class="src-comm">// > balise META</span></div></li> |
<li><div class="src-line"><a name="a1188"></a> <span class="src-comm">// > formulaire HTML</span></div></li> |
<li><div class="src-line"><a name="a1189"></a> <span class="src-comm">// > JS</span></div></li> |
<li><div class="src-line"><a name="a1190"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a1191"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a1192"></a><span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a1193"></a><span class="src-php">?></span></div></li> |
</ol></div> |
</div> |
<p class="notes" id="credit"> |
Documentation generated on Tue, 18 Jan 2011 15:01:39 +0100 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.3</a> |
</p> |
</body> |
</html> |
/trunk/doc/HTMLframesConverter/__filesource/fsource_Zend_OpenId_Zend_OpenId_Consumer_utilitairesStorageFile.php.html |
---|
New file |
0,0 → 1,532 |
<?xml version="1.0" encoding="UTF-8"?> |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
<html xmlns="http://www.w3.org/1999/xhtml"> |
<head> |
<!-- template designed by Marco Von Ballmoos --> |
<title>File Source for StorageFile.php</title> |
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'/> |
<link rel="stylesheet" href="../media/stylesheet.css" /> |
</head> |
<body> |
<h1>Source for file StorageFile.php</h1> |
<p>Documentation is available at <a href="../Zend_OpenId/Zend_OpenId_Consumer/_utilitaires---StorageFile.php.html">StorageFile.php</a></p> |
<div class="src-code"> |
<div class="src-code"><ol><li><div class="src-line"><a name="a1"></a><span class="src-php"><?php</span></div></li> |
<li><div class="src-line"><a name="a2"></a> </div></li> |
<li><div class="src-line"><a name="a3"></a><span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a4"></a><span class="src-doc"> * Zend Framework</span></div></li> |
<li><div class="src-line"><a name="a5"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a6"></a><span class="src-doc"> * LICENSE</span></div></li> |
<li><div class="src-line"><a name="a7"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a8"></a><span class="src-doc"> * This source file is subject to the new BSD license that is bundled</span></div></li> |
<li><div class="src-line"><a name="a9"></a><span class="src-doc"> * with this package in the file LICENSE.txt.</span></div></li> |
<li><div class="src-line"><a name="a10"></a><span class="src-doc"> * It is also available through the world-wide-web at this URL:</span></div></li> |
<li><div class="src-line"><a name="a11"></a><span class="src-doc"> * http://framework.zend.com/license/new-bsd</span></div></li> |
<li><div class="src-line"><a name="a12"></a><span class="src-doc"> * If you did not receive a copy of the license and are unable to</span></div></li> |
<li><div class="src-line"><a name="a13"></a><span class="src-doc"> * obtain it through the world-wide-web, please send an email</span></div></li> |
<li><div class="src-line"><a name="a14"></a><span class="src-doc"> * to license@zend.com so we can send you a copy immediately.</span></div></li> |
<li><div class="src-line"><a name="a15"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a16"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@category</span><span class="src-doc"> Zend</span></div></li> |
<li><div class="src-line"><a name="a17"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@package</span><span class="src-doc"> Zend_OpenId</span></div></li> |
<li><div class="src-line"><a name="a18"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@subpackage</span><span class="src-doc"> Zend_OpenId_Consumer</span></div></li> |
<li><div class="src-line"><a name="a19"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@copyright</span><span class="src-doc"> Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)</span></div></li> |
<li><div class="src-line"><a name="a20"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://framework.zend.com/license/new-bsd New BSD License</span></div></li> |
<li><div class="src-line"><a name="a21"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@version</span><span class="src-doc"> $Id: File.php 23161 2010-10-19 16:08:36Z matthew $</span></div></li> |
<li><div class="src-line"><a name="a22"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a23"></a> </div></li> |
<li><div class="src-line"><a name="a24"></a><span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a25"></a><span class="src-doc"> * External storage implemmentation using serialized files</span></div></li> |
<li><div class="src-line"><a name="a26"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a27"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@category</span><span class="src-doc"> Zend</span></div></li> |
<li><div class="src-line"><a name="a28"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@package</span><span class="src-doc"> Zend_OpenId</span></div></li> |
<li><div class="src-line"><a name="a29"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@subpackage</span><span class="src-doc"> Zend_OpenId_Consumer</span></div></li> |
<li><div class="src-line"><a name="a30"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@copyright</span><span class="src-doc"> Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)</span></div></li> |
<li><div class="src-line"><a name="a31"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://framework.zend.com/license/new-bsd New BSD License</span></div></li> |
<li><div class="src-line"><a name="a32"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a33"></a><span class="src-key">class </span><a href="../Zend_OpenId/Zend_OpenId_Consumer/StorageFile.html">StorageFile</a> <span class="src-key">extends </span><a href="../Zend_OpenId/Zend_OpenId_Consumer/Storage.html">Storage</a></div></li> |
<li><div class="src-line"><a name="a34"></a><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a35"></a> </div></li> |
<li><div class="src-line"><a name="a36"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a37"></a><span class="src-doc"> * Directory name to store data files in</span></div></li> |
<li><div class="src-line"><a name="a38"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a39"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">string </span><span class="src-doc-var">$_dir </span></div></li> |
<li><div class="src-line"><a name="a40"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a41"></a> <span class="src-key">private </span><span class="src-var">$_dir</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a42"></a> </div></li> |
<li><div class="src-line"><a name="a43"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a44"></a><span class="src-doc"> * Constructs storage object and creates storage directory</span></div></li> |
<li><div class="src-line"><a name="a45"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a46"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$dir </span><span class="src-doc">directory name to store data files in</span></div></li> |
<li><div class="src-line"><a name="a47"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@throws</span><span class="src-doc"> Zend_OpenId_Exception</span></div></li> |
<li><div class="src-line"><a name="a48"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a49"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Zend_OpenId/Zend_OpenId_Consumer/StorageFile.html#method__construct">__construct</a><span class="src-sym">(</span><span class="src-var">$dir </span>= <span class="src-id">null</span><span class="src-sym">)</span></div></li> |
<li><div class="src-line"><a name="a50"></a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a51"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$dir </span>=== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a52"></a> <span class="src-var">$tmp </span>= <a href="http://www.php.net/getenv">getenv</a><span class="src-sym">(</span><span class="src-str">'TMP'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a53"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$tmp</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a54"></a> <span class="src-var">$tmp </span>= <a href="http://www.php.net/getenv">getenv</a><span class="src-sym">(</span><span class="src-str">'TEMP'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a55"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$tmp</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a56"></a> <span class="src-var">$tmp </span>= <span class="src-str">"/tmp"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a57"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a58"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a59"></a> <span class="src-var">$user </span>= <a href="http://www.php.net/get_current_user">get_current_user</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a60"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_string">is_string</a><span class="src-sym">(</span><span class="src-var">$user</span><span class="src-sym">) </span>&& <span class="src-sym">!</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$user</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a61"></a> <span class="src-var">$tmp </span>.= <span class="src-str">'/' </span>. <span class="src-var">$user</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a62"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a63"></a> <span class="src-var">$dir </span>= <span class="src-var">$tmp </span>. <span class="src-str">'/openid/consumer'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a64"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a65"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">_dir </span>= <span class="src-var">$dir</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a66"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/is_dir">is_dir</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">_dir</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a67"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-sym">@</span><a href="http://www.php.net/mkdir">mkdir</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">_dir</span><span class="src-sym">, </span><span class="src-num">0700</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a68"></a> /**</div></li> |
<li><div class="src-line"><a name="a69"></a> * @see Zend_OpenId_Exception</div></li> |
<li><div class="src-line"><a name="a70"></a> */</div></li> |
<li><div class="src-line"><a name="a71"></a> <span class="src-inc">require_once </span><span class="src-str">'Zend/OpenId/Exception.php'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a72"></a> throw <span class="src-key">new </span><span class="src-id">Zend_OpenId_Exception</span><span class="src-sym">(</span></div></li> |
<li><div class="src-line"><a name="a73"></a> <span class="src-str">'Cannot access storage directory ' </span>. <span class="src-var">$dir</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a74"></a> <span class="src-id">Zend_OpenId_Exception</span><span class="src-sym">::</span><span class="src-id">ERROR_STORAGE</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a75"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a76"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a77"></a> <span class="src-key">if </span><span class="src-sym">((</span><span class="src-var">$f </span>= <a href="http://www.php.net/fopen">fopen</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">_dir</span>.<span class="src-str">'/assoc.lock'</span><span class="src-sym">, </span><span class="src-str">'w+'</span><span class="src-sym">)) </span>=== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a78"></a> /**</div></li> |
<li><div class="src-line"><a name="a79"></a> * @see Zend_OpenId_Exception</div></li> |
<li><div class="src-line"><a name="a80"></a> */</div></li> |
<li><div class="src-line"><a name="a81"></a> <span class="src-comm">/*require_once 'Zend/OpenId/Exception.php';</span></div></li> |
<li><div class="src-line"><a name="a82"></a><span class="src-comm"> throw new Zend_OpenId_Exception(</span></div></li> |
<li><div class="src-line"><a name="a83"></a><span class="src-comm"> 'Cannot create a lock file in the directory ' . $dir,</span></div></li> |
<li><div class="src-line"><a name="a84"></a><span class="src-comm"> Zend_OpenId_Exception::ERROR_STORAGE);*/</span></div></li> |
<li><div class="src-line"><a name="a85"></a> </div></li> |
<li><div class="src-line"><a name="a86"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">'Cannot create a lock file in the directory '</span><span class="src-sym">, </span><span class="src-id">E_STRICT</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a87"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a88"></a> </div></li> |
<li><div class="src-line"><a name="a89"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$f</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a90"></a> <span class="src-key">if </span><span class="src-sym">((</span><span class="src-var">$f </span>= <a href="http://www.php.net/fopen">fopen</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">_dir</span>.<span class="src-str">'/discovery.lock'</span><span class="src-sym">, </span><span class="src-str">'w+'</span><span class="src-sym">)) </span>=== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a91"></a> /**</div></li> |
<li><div class="src-line"><a name="a92"></a> * @see Zend_OpenId_Exception</div></li> |
<li><div class="src-line"><a name="a93"></a> */</div></li> |
<li><div class="src-line"><a name="a94"></a> <span class="src-comm">/*require_once 'Zend/OpenId/Exception.php';</span></div></li> |
<li><div class="src-line"><a name="a95"></a><span class="src-comm"> throw new Zend_OpenId_Exception(</span></div></li> |
<li><div class="src-line"><a name="a96"></a><span class="src-comm"> 'Cannot create a lock file in the directory ' . $dir,</span></div></li> |
<li><div class="src-line"><a name="a97"></a><span class="src-comm"> Zend_OpenId_Exception::ERROR_STORAGE);*/</span></div></li> |
<li><div class="src-line"><a name="a98"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">'Cannot create a lock file in the directory'</span><span class="src-sym">, </span><span class="src-id">E_STRICT</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a99"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a100"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$f</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a101"></a> <span class="src-key">if </span><span class="src-sym">((</span><span class="src-var">$f </span>= <a href="http://www.php.net/fopen">fopen</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">_dir</span>.<span class="src-str">'/nonce.lock'</span><span class="src-sym">, </span><span class="src-str">'w+'</span><span class="src-sym">)) </span>=== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a102"></a> /**</div></li> |
<li><div class="src-line"><a name="a103"></a> * @see Zend_OpenId_Exception</div></li> |
<li><div class="src-line"><a name="a104"></a> */</div></li> |
<li><div class="src-line"><a name="a105"></a> <span class="src-comm">/*require_once 'Zend/OpenId/Exception.php';</span></div></li> |
<li><div class="src-line"><a name="a106"></a><span class="src-comm"> throw new Zend_OpenId_Exception(</span></div></li> |
<li><div class="src-line"><a name="a107"></a><span class="src-comm"> 'Cannot create a lock file in the directory ' . $dir,</span></div></li> |
<li><div class="src-line"><a name="a108"></a><span class="src-comm"> Zend_OpenId_Exception::ERROR_STORAGE);*/</span></div></li> |
<li><div class="src-line"><a name="a109"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">'Cannot create a lock file in the directory'</span><span class="src-sym">, </span><span class="src-id">E_STRICT</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a110"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a111"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$f</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a112"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a113"></a> </div></li> |
<li><div class="src-line"><a name="a114"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a115"></a><span class="src-doc"> * Stores information about association identified by $url/$handle</span></div></li> |
<li><div class="src-line"><a name="a116"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a117"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$url </span><span class="src-doc">OpenID server URL</span></div></li> |
<li><div class="src-line"><a name="a118"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$handle </span><span class="src-doc">assiciation handle</span></div></li> |
<li><div class="src-line"><a name="a119"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$macFunc </span><span class="src-doc">HMAC function (sha1 or sha256)</span></div></li> |
<li><div class="src-line"><a name="a120"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$secret </span><span class="src-doc">shared secret</span></div></li> |
<li><div class="src-line"><a name="a121"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">long </span><span class="src-doc-var">$expires </span><span class="src-doc">expiration UNIX time</span></div></li> |
<li><div class="src-line"><a name="a122"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">bool </span></div></li> |
<li><div class="src-line"><a name="a123"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a124"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Zend_OpenId/Zend_OpenId_Consumer/StorageFile.html#methodaddAssociation">addAssociation</a><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">, </span><span class="src-var">$handle</span><span class="src-sym">, </span><span class="src-var">$macFunc</span><span class="src-sym">, </span><span class="src-var">$secret</span><span class="src-sym">, </span><span class="src-var">$expires</span><span class="src-sym">)</span></div></li> |
<li><div class="src-line"><a name="a125"></a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a126"></a> <span class="src-var">$name1 </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">_dir </span>. <span class="src-str">'/assoc_url_' </span>. <a href="http://www.php.net/md5">md5</a><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a127"></a> <span class="src-var">$name2 </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">_dir </span>. <span class="src-str">'/assoc_handle_' </span>. <a href="http://www.php.net/md5">md5</a><span class="src-sym">(</span><span class="src-var">$handle</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a128"></a> <span class="src-var">$lock </span>= <span class="src-sym">@</span><a href="http://www.php.net/fopen">fopen</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">_dir </span>. <span class="src-str">'/assoc.lock'</span><span class="src-sym">, </span><span class="src-str">'w+'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a129"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$lock </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a130"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a131"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a132"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/flock">flock</a><span class="src-sym">(</span><span class="src-var">$lock</span><span class="src-sym">, </span><span class="src-id">LOCK_EX</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a133"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$lock</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a134"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a135"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a136"></a> try <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a137"></a> <span class="src-var">$f </span>= <span class="src-sym">@</span><a href="http://www.php.net/fopen">fopen</a><span class="src-sym">(</span><span class="src-var">$name1</span><span class="src-sym">, </span><span class="src-str">'w+'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a138"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$f </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a139"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$lock</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a140"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a141"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a142"></a> <span class="src-var">$data </span>= <a href="http://www.php.net/serialize">serialize</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">, </span><span class="src-var">$handle</span><span class="src-sym">, </span><span class="src-var">$macFunc</span><span class="src-sym">, </span><span class="src-var">$secret</span><span class="src-sym">, </span><span class="src-var">$expires</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a143"></a> <a href="http://www.php.net/fwrite">fwrite</a><span class="src-sym">(</span><span class="src-var">$f</span><span class="src-sym">, </span><span class="src-var">$data</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a144"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/function_exists">function_exists</a><span class="src-sym">(</span><span class="src-str">'symlink'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a145"></a> <span class="src-sym">@</span><a href="http://www.php.net/unlink">unlink</a><span class="src-sym">(</span><span class="src-var">$name2</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a146"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/symlink">symlink</a><span class="src-sym">(</span><span class="src-var">$name1</span><span class="src-sym">, </span><span class="src-var">$name2</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a147"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$f</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a148"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$lock</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a149"></a> <span class="src-key">return </span><span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a150"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a151"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a152"></a> <span class="src-var">$f2 </span>= <span class="src-sym">@</span><a href="http://www.php.net/fopen">fopen</a><span class="src-sym">(</span><span class="src-var">$name2</span><span class="src-sym">, </span><span class="src-str">'w+'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a153"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$f2</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a154"></a> <a href="http://www.php.net/fwrite">fwrite</a><span class="src-sym">(</span><span class="src-var">$f2</span><span class="src-sym">, </span><span class="src-var">$data</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a155"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$f2</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a156"></a> <span class="src-sym">@</span><a href="http://www.php.net/unlink">unlink</a><span class="src-sym">(</span><span class="src-var">$name1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a157"></a> <span class="src-var">$ret </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a158"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a159"></a> <span class="src-var">$ret </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a160"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a161"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$f</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a162"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$lock</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a163"></a> <span class="src-key">return </span><span class="src-var">$ret</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a164"></a> <span class="src-sym">} </span>catch <span class="src-sym">(</span><span class="src-id">Exception </span><span class="src-var">$e</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a165"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$lock</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a166"></a> throw <span class="src-var">$e</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a167"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a168"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a169"></a> </div></li> |
<li><div class="src-line"><a name="a170"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a171"></a><span class="src-doc"> * Gets information about association identified by $url</span></div></li> |
<li><div class="src-line"><a name="a172"></a><span class="src-doc"> * Returns true if given association found and not expired and false</span></div></li> |
<li><div class="src-line"><a name="a173"></a><span class="src-doc"> * otherwise</span></div></li> |
<li><div class="src-line"><a name="a174"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a175"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$url </span><span class="src-doc">OpenID server URL</span></div></li> |
<li><div class="src-line"><a name="a176"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">&$handle </span><span class="src-doc">assiciation handle</span></div></li> |
<li><div class="src-line"><a name="a177"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">&$macFunc </span><span class="src-doc">HMAC function (sha1 or sha256)</span></div></li> |
<li><div class="src-line"><a name="a178"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">&$secret </span><span class="src-doc">shared secret</span></div></li> |
<li><div class="src-line"><a name="a179"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">long </span><span class="src-doc-var">&$expires </span><span class="src-doc">expiration UNIX time</span></div></li> |
<li><div class="src-line"><a name="a180"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">bool </span></div></li> |
<li><div class="src-line"><a name="a181"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a182"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Zend_OpenId/Zend_OpenId_Consumer/StorageFile.html#methodgetAssociation">getAssociation</a><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">, </span><span class="src-sym">&</span><span class="src-var">$handle</span><span class="src-sym">, </span><span class="src-sym">&</span><span class="src-var">$macFunc</span><span class="src-sym">, </span><span class="src-sym">&</span><span class="src-var">$secret</span><span class="src-sym">, </span><span class="src-sym">&</span><span class="src-var">$expires</span><span class="src-sym">)</span></div></li> |
<li><div class="src-line"><a name="a183"></a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a184"></a> <span class="src-var">$name1 </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">_dir </span>. <span class="src-str">'/assoc_url_' </span>. <a href="http://www.php.net/md5">md5</a><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a185"></a> <span class="src-var">$lock </span>= <span class="src-sym">@</span><a href="http://www.php.net/fopen">fopen</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">_dir </span>. <span class="src-str">'/assoc.lock'</span><span class="src-sym">, </span><span class="src-str">'w+'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a186"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$lock </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a187"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a188"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a189"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/flock">flock</a><span class="src-sym">(</span><span class="src-var">$lock</span><span class="src-sym">, </span><span class="src-id">LOCK_EX</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a190"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$lock</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a191"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a192"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a193"></a> try <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a194"></a> <span class="src-var">$f </span>= <span class="src-sym">@</span><a href="http://www.php.net/fopen">fopen</a><span class="src-sym">(</span><span class="src-var">$name1</span><span class="src-sym">, </span><span class="src-str">'r'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a195"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$f </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a196"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$lock</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a197"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a198"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a199"></a> <span class="src-var">$ret </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a200"></a> <span class="src-var">$data </span>= <a href="http://www.php.net/stream_get_contents">stream_get_contents</a><span class="src-sym">(</span><span class="src-var">$f</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a201"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$data</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a202"></a> list<span class="src-sym">(</span><span class="src-var">$storedUrl</span><span class="src-sym">, </span><span class="src-var">$handle</span><span class="src-sym">, </span><span class="src-var">$macFunc</span><span class="src-sym">, </span><span class="src-var">$secret</span><span class="src-sym">, </span><span class="src-var">$expires</span><span class="src-sym">) </span>= <a href="http://www.php.net/unserialize">unserialize</a><span class="src-sym">(</span><span class="src-var">$data</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a203"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$url </span>=== <span class="src-var">$storedUrl </span>&& <span class="src-var">$expires </span>> <a href="http://www.php.net/time">time</a><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a204"></a> <span class="src-var">$ret </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a205"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a206"></a> <span class="src-var">$name2 </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">_dir </span>. <span class="src-str">'/assoc_handle_' </span>. <a href="http://www.php.net/md5">md5</a><span class="src-sym">(</span><span class="src-var">$handle</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a207"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$f</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a208"></a> <span class="src-sym">@</span><a href="http://www.php.net/unlink">unlink</a><span class="src-sym">(</span><span class="src-var">$name2</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a209"></a> <span class="src-sym">@</span><a href="http://www.php.net/unlink">unlink</a><span class="src-sym">(</span><span class="src-var">$name1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a210"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$lock</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a211"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a212"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a213"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a214"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$f</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a215"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$lock</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a216"></a> <span class="src-key">return </span><span class="src-var">$ret</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a217"></a> <span class="src-sym">} </span>catch <span class="src-sym">(</span><span class="src-id">Exception </span><span class="src-var">$e</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a218"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$lock</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a219"></a> throw <span class="src-var">$e</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a220"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a221"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a222"></a> </div></li> |
<li><div class="src-line"><a name="a223"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a224"></a><span class="src-doc"> * Gets information about association identified by $handle</span></div></li> |
<li><div class="src-line"><a name="a225"></a><span class="src-doc"> * Returns true if given association found and not expired and false</span></div></li> |
<li><div class="src-line"><a name="a226"></a><span class="src-doc"> * otherwise</span></div></li> |
<li><div class="src-line"><a name="a227"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a228"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$handle </span><span class="src-doc">assiciation handle</span></div></li> |
<li><div class="src-line"><a name="a229"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">&$url </span><span class="src-doc">OpenID server URL</span></div></li> |
<li><div class="src-line"><a name="a230"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">&$macFunc </span><span class="src-doc">HMAC function (sha1 or sha256)</span></div></li> |
<li><div class="src-line"><a name="a231"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">&$secret </span><span class="src-doc">shared secret</span></div></li> |
<li><div class="src-line"><a name="a232"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">long </span><span class="src-doc-var">&$expires </span><span class="src-doc">expiration UNIX time</span></div></li> |
<li><div class="src-line"><a name="a233"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">bool </span></div></li> |
<li><div class="src-line"><a name="a234"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a235"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Zend_OpenId/Zend_OpenId_Consumer/StorageFile.html#methodgetAssociationByHandle">getAssociationByHandle</a><span class="src-sym">(</span><span class="src-var">$handle</span><span class="src-sym">, </span><span class="src-sym">&</span><span class="src-var">$url</span><span class="src-sym">, </span><span class="src-sym">&</span><span class="src-var">$macFunc</span><span class="src-sym">, </span><span class="src-sym">&</span><span class="src-var">$secret</span><span class="src-sym">, </span><span class="src-sym">&</span><span class="src-var">$expires</span><span class="src-sym">)</span></div></li> |
<li><div class="src-line"><a name="a236"></a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a237"></a> <span class="src-var">$name2 </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">_dir </span>. <span class="src-str">'/assoc_handle_' </span>. <a href="http://www.php.net/md5">md5</a><span class="src-sym">(</span><span class="src-var">$handle</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a238"></a> <span class="src-var">$lock </span>= <span class="src-sym">@</span><a href="http://www.php.net/fopen">fopen</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">_dir </span>. <span class="src-str">'/assoc.lock'</span><span class="src-sym">, </span><span class="src-str">'w+'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a239"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$lock </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a240"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a241"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a242"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/flock">flock</a><span class="src-sym">(</span><span class="src-var">$lock</span><span class="src-sym">, </span><span class="src-id">LOCK_EX</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a243"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$lock</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a244"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a245"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a246"></a> try <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a247"></a> <span class="src-var">$f </span>= <span class="src-sym">@</span><a href="http://www.php.net/fopen">fopen</a><span class="src-sym">(</span><span class="src-var">$name2</span><span class="src-sym">, </span><span class="src-str">'r'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a248"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$f </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a249"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$lock</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a250"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a251"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a252"></a> <span class="src-var">$ret </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a253"></a> <span class="src-var">$data </span>= <a href="http://www.php.net/stream_get_contents">stream_get_contents</a><span class="src-sym">(</span><span class="src-var">$f</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a254"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$data</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a255"></a> list<span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">, </span><span class="src-var">$storedHandle</span><span class="src-sym">, </span><span class="src-var">$macFunc</span><span class="src-sym">, </span><span class="src-var">$secret</span><span class="src-sym">, </span><span class="src-var">$expires</span><span class="src-sym">) </span>= <a href="http://www.php.net/unserialize">unserialize</a><span class="src-sym">(</span><span class="src-var">$data</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a256"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$handle </span>=== <span class="src-var">$storedHandle </span>&& <span class="src-var">$expires </span>> <a href="http://www.php.net/time">time</a><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a257"></a> <span class="src-var">$ret </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a258"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a259"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$f</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a260"></a> <span class="src-sym">@</span><a href="http://www.php.net/unlink">unlink</a><span class="src-sym">(</span><span class="src-var">$name2</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a261"></a> <span class="src-var">$name1 </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">_dir </span>. <span class="src-str">'/assoc_url_' </span>. <a href="http://www.php.net/md5">md5</a><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a262"></a> <span class="src-sym">@</span><a href="http://www.php.net/unlink">unlink</a><span class="src-sym">(</span><span class="src-var">$name1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a263"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$lock</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a264"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a265"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a266"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a267"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$f</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a268"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$lock</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a269"></a> <span class="src-key">return </span><span class="src-var">$ret</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a270"></a> <span class="src-sym">} </span>catch <span class="src-sym">(</span><span class="src-id">Exception </span><span class="src-var">$e</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a271"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$lock</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a272"></a> throw <span class="src-var">$e</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a273"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a274"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a275"></a> </div></li> |
<li><div class="src-line"><a name="a276"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a277"></a><span class="src-doc"> * Deletes association identified by $url</span></div></li> |
<li><div class="src-line"><a name="a278"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a279"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$url </span><span class="src-doc">OpenID server URL</span></div></li> |
<li><div class="src-line"><a name="a280"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">bool </span></div></li> |
<li><div class="src-line"><a name="a281"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a282"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Zend_OpenId/Zend_OpenId_Consumer/StorageFile.html#methoddelAssociation">delAssociation</a><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">)</span></div></li> |
<li><div class="src-line"><a name="a283"></a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a284"></a> <span class="src-var">$name1 </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">_dir </span>. <span class="src-str">'/assoc_url_' </span>. <a href="http://www.php.net/md5">md5</a><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a285"></a> <span class="src-var">$lock </span>= <span class="src-sym">@</span><a href="http://www.php.net/fopen">fopen</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">_dir </span>. <span class="src-str">'/assoc.lock'</span><span class="src-sym">, </span><span class="src-str">'w+'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a286"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$lock </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a287"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a288"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a289"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/flock">flock</a><span class="src-sym">(</span><span class="src-var">$lock</span><span class="src-sym">, </span><span class="src-id">LOCK_EX</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a290"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$lock</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a291"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a292"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a293"></a> try <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a294"></a> <span class="src-var">$f </span>= <span class="src-sym">@</span><a href="http://www.php.net/fopen">fopen</a><span class="src-sym">(</span><span class="src-var">$name1</span><span class="src-sym">, </span><span class="src-str">'r'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a295"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$f </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a296"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$lock</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a297"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a298"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a299"></a> <span class="src-var">$data </span>= <a href="http://www.php.net/stream_get_contents">stream_get_contents</a><span class="src-sym">(</span><span class="src-var">$f</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a300"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$data</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a301"></a> list<span class="src-sym">(</span><span class="src-var">$storedUrl</span><span class="src-sym">, </span><span class="src-var">$handle</span><span class="src-sym">, </span><span class="src-var">$macFunc</span><span class="src-sym">, </span><span class="src-var">$secret</span><span class="src-sym">, </span><span class="src-var">$expires</span><span class="src-sym">) </span>= <a href="http://www.php.net/unserialize">unserialize</a><span class="src-sym">(</span><span class="src-var">$data</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a302"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$url </span>=== <span class="src-var">$storedUrl</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a303"></a> <span class="src-var">$name2 </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">_dir </span>. <span class="src-str">'/assoc_handle_' </span>. <a href="http://www.php.net/md5">md5</a><span class="src-sym">(</span><span class="src-var">$handle</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a304"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$f</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a305"></a> <span class="src-sym">@</span><a href="http://www.php.net/unlink">unlink</a><span class="src-sym">(</span><span class="src-var">$name2</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a306"></a> <span class="src-sym">@</span><a href="http://www.php.net/unlink">unlink</a><span class="src-sym">(</span><span class="src-var">$name1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a307"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$lock</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a308"></a> <span class="src-key">return </span><span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a309"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a310"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a311"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$f</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a312"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$lock</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a313"></a> <span class="src-key">return </span><span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a314"></a> <span class="src-sym">} </span>catch <span class="src-sym">(</span><span class="src-id">Exception </span><span class="src-var">$e</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a315"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$lock</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a316"></a> throw <span class="src-var">$e</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a317"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a318"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a319"></a> </div></li> |
<li><div class="src-line"><a name="a320"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a321"></a><span class="src-doc"> * Stores information discovered from identity $id</span></div></li> |
<li><div class="src-line"><a name="a322"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a323"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$id </span><span class="src-doc">identity</span></div></li> |
<li><div class="src-line"><a name="a324"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$realId </span><span class="src-doc">discovered real identity URL</span></div></li> |
<li><div class="src-line"><a name="a325"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$server </span><span class="src-doc">discovered OpenID server URL</span></div></li> |
<li><div class="src-line"><a name="a326"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">float </span><span class="src-doc-var">$version </span><span class="src-doc">discovered OpenID protocol version</span></div></li> |
<li><div class="src-line"><a name="a327"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">long </span><span class="src-doc-var">$expires </span><span class="src-doc">expiration UNIX time</span></div></li> |
<li><div class="src-line"><a name="a328"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">bool </span></div></li> |
<li><div class="src-line"><a name="a329"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a330"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Zend_OpenId/Zend_OpenId_Consumer/StorageFile.html#methodaddDiscoveryInfo">addDiscoveryInfo</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">, </span><span class="src-var">$realId</span><span class="src-sym">, </span><span class="src-var">$server</span><span class="src-sym">, </span><span class="src-var">$version</span><span class="src-sym">, </span><span class="src-var">$expires</span><span class="src-sym">)</span></div></li> |
<li><div class="src-line"><a name="a331"></a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a332"></a> <span class="src-var">$name </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">_dir </span>. <span class="src-str">'/discovery_' </span>. <a href="http://www.php.net/md5">md5</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a333"></a> <span class="src-var">$lock </span>= <span class="src-sym">@</span><a href="http://www.php.net/fopen">fopen</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">_dir </span>. <span class="src-str">'/discovery.lock'</span><span class="src-sym">, </span><span class="src-str">'w+'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a334"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$lock </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a335"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a336"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a337"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/flock">flock</a><span class="src-sym">(</span><span class="src-var">$lock</span><span class="src-sym">, </span><span class="src-id">LOCK_EX</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a338"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$lock</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a339"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a340"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a341"></a> try <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a342"></a> <span class="src-var">$f </span>= <span class="src-sym">@</span><a href="http://www.php.net/fopen">fopen</a><span class="src-sym">(</span><span class="src-var">$name</span><span class="src-sym">, </span><span class="src-str">'w+'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a343"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$f </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a344"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$lock</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a345"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a346"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a347"></a> <span class="src-var">$data </span>= <a href="http://www.php.net/serialize">serialize</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">, </span><span class="src-var">$realId</span><span class="src-sym">, </span><span class="src-var">$server</span><span class="src-sym">, </span><span class="src-var">$version</span><span class="src-sym">, </span><span class="src-var">$expires</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a348"></a> <a href="http://www.php.net/fwrite">fwrite</a><span class="src-sym">(</span><span class="src-var">$f</span><span class="src-sym">, </span><span class="src-var">$data</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a349"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$f</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a350"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$lock</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a351"></a> <span class="src-key">return </span><span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a352"></a> <span class="src-sym">} </span>catch <span class="src-sym">(</span><span class="src-id">Exception </span><span class="src-var">$e</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a353"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$lock</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a354"></a> throw <span class="src-var">$e</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a355"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a356"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a357"></a> </div></li> |
<li><div class="src-line"><a name="a358"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a359"></a><span class="src-doc"> * Gets information discovered from identity $id</span></div></li> |
<li><div class="src-line"><a name="a360"></a><span class="src-doc"> * Returns true if such information exists and false otherwise</span></div></li> |
<li><div class="src-line"><a name="a361"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a362"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$id </span><span class="src-doc">identity</span></div></li> |
<li><div class="src-line"><a name="a363"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">&$realId </span><span class="src-doc">discovered real identity URL</span></div></li> |
<li><div class="src-line"><a name="a364"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">&$server </span><span class="src-doc">discovered OpenID server URL</span></div></li> |
<li><div class="src-line"><a name="a365"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">float </span><span class="src-doc-var">&$version </span><span class="src-doc">discovered OpenID protocol version</span></div></li> |
<li><div class="src-line"><a name="a366"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">long </span><span class="src-doc-var">&$expires </span><span class="src-doc">expiration UNIX time</span></div></li> |
<li><div class="src-line"><a name="a367"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">bool </span></div></li> |
<li><div class="src-line"><a name="a368"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a369"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Zend_OpenId/Zend_OpenId_Consumer/StorageFile.html#methodgetDiscoveryInfo">getDiscoveryInfo</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">, </span><span class="src-sym">&</span><span class="src-var">$realId</span><span class="src-sym">, </span><span class="src-sym">&</span><span class="src-var">$server</span><span class="src-sym">, </span><span class="src-sym">&</span><span class="src-var">$version</span><span class="src-sym">, </span><span class="src-sym">&</span><span class="src-var">$expires</span><span class="src-sym">)</span></div></li> |
<li><div class="src-line"><a name="a370"></a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a371"></a> <span class="src-var">$name </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">_dir </span>. <span class="src-str">'/discovery_' </span>. <a href="http://www.php.net/md5">md5</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a372"></a> <span class="src-var">$lock </span>= <span class="src-sym">@</span><a href="http://www.php.net/fopen">fopen</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">_dir </span>. <span class="src-str">'/discovery.lock'</span><span class="src-sym">, </span><span class="src-str">'w+'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a373"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$lock </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a374"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a375"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a376"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/flock">flock</a><span class="src-sym">(</span><span class="src-var">$lock</span><span class="src-sym">, </span><span class="src-id">LOCK_EX</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a377"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$lock</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a378"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a379"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a380"></a> try <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a381"></a> <span class="src-var">$f </span>= <span class="src-sym">@</span><a href="http://www.php.net/fopen">fopen</a><span class="src-sym">(</span><span class="src-var">$name</span><span class="src-sym">, </span><span class="src-str">'r'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a382"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$f </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a383"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$lock</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a384"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a385"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a386"></a> <span class="src-var">$ret </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a387"></a> <span class="src-var">$data </span>= <a href="http://www.php.net/stream_get_contents">stream_get_contents</a><span class="src-sym">(</span><span class="src-var">$f</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a388"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$data</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a389"></a> list<span class="src-sym">(</span><span class="src-var">$storedId</span><span class="src-sym">, </span><span class="src-var">$realId</span><span class="src-sym">, </span><span class="src-var">$server</span><span class="src-sym">, </span><span class="src-var">$version</span><span class="src-sym">, </span><span class="src-var">$expires</span><span class="src-sym">) </span>= <a href="http://www.php.net/unserialize">unserialize</a><span class="src-sym">(</span><span class="src-var">$data</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a390"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$id </span>=== <span class="src-var">$storedId </span>&& <span class="src-var">$expires </span>> <a href="http://www.php.net/time">time</a><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a391"></a> <span class="src-var">$ret </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a392"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a393"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$f</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a394"></a> <span class="src-sym">@</span><a href="http://www.php.net/unlink">unlink</a><span class="src-sym">(</span><span class="src-var">$name</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a395"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$lock</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a396"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a397"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a398"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a399"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$f</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a400"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$lock</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a401"></a> <span class="src-key">return </span><span class="src-var">$ret</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a402"></a> <span class="src-sym">} </span>catch <span class="src-sym">(</span><span class="src-id">Exception </span><span class="src-var">$e</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a403"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$lock</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a404"></a> throw <span class="src-var">$e</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a405"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a406"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a407"></a> </div></li> |
<li><div class="src-line"><a name="a408"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a409"></a><span class="src-doc"> * Removes cached information discovered from identity $id</span></div></li> |
<li><div class="src-line"><a name="a410"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a411"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$id </span><span class="src-doc">identity</span></div></li> |
<li><div class="src-line"><a name="a412"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">bool </span></div></li> |
<li><div class="src-line"><a name="a413"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a414"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Zend_OpenId/Zend_OpenId_Consumer/StorageFile.html#methoddelDiscoveryInfo">delDiscoveryInfo</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">)</span></div></li> |
<li><div class="src-line"><a name="a415"></a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a416"></a> <span class="src-var">$name </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">_dir </span>. <span class="src-str">'/discovery_' </span>. <a href="http://www.php.net/md5">md5</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a417"></a> <span class="src-var">$lock </span>= <span class="src-sym">@</span><a href="http://www.php.net/fopen">fopen</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">_dir </span>. <span class="src-str">'/discovery.lock'</span><span class="src-sym">, </span><span class="src-str">'w+'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a418"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$lock </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a419"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a420"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a421"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/flock">flock</a><span class="src-sym">(</span><span class="src-var">$lock</span><span class="src-sym">, </span><span class="src-id">LOCK_EX</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a422"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$lock</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a423"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a424"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a425"></a> try <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a426"></a> <span class="src-sym">@</span><a href="http://www.php.net/unlink">unlink</a><span class="src-sym">(</span><span class="src-var">$name</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a427"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$lock</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a428"></a> <span class="src-key">return </span><span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a429"></a> <span class="src-sym">} </span>catch <span class="src-sym">(</span><span class="src-id">Exception </span><span class="src-var">$e</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a430"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$lock</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a431"></a> throw <span class="src-var">$e</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a432"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a433"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a434"></a> </div></li> |
<li><div class="src-line"><a name="a435"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a436"></a><span class="src-doc"> * The function checks the uniqueness of openid.response_nonce</span></div></li> |
<li><div class="src-line"><a name="a437"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a438"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$provider </span><span class="src-doc">openid.openid_op_endpoint field from authentication response</span></div></li> |
<li><div class="src-line"><a name="a439"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">string </span><span class="src-doc-var">$nonce </span><span class="src-doc">openid.response_nonce field from authentication response</span></div></li> |
<li><div class="src-line"><a name="a440"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">bool </span></div></li> |
<li><div class="src-line"><a name="a441"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a442"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Zend_OpenId/Zend_OpenId_Consumer/StorageFile.html#methodisUniqueNonce">isUniqueNonce</a><span class="src-sym">(</span><span class="src-var">$provider</span><span class="src-sym">, </span><span class="src-var">$nonce</span><span class="src-sym">)</span></div></li> |
<li><div class="src-line"><a name="a443"></a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a444"></a> <span class="src-var">$name </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">_dir </span>. <span class="src-str">'/nonce_' </span>. <a href="http://www.php.net/md5">md5</a><span class="src-sym">(</span><span class="src-var">$provider</span>.<span class="src-str">';'</span>.<span class="src-var">$nonce</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a445"></a> echo <span class="src-var">$name</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a446"></a> <span class="src-var">$lock </span>= <span class="src-sym">@</span><a href="http://www.php.net/fopen">fopen</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">_dir </span>. <span class="src-str">'/nonce.lock'</span><span class="src-sym">, </span><span class="src-str">'w+'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a447"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$lock </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a448"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a449"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a450"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/flock">flock</a><span class="src-sym">(</span><span class="src-var">$lock</span><span class="src-sym">, </span><span class="src-id">LOCK_EX</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a451"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$lock</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a452"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a453"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a454"></a> try <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a455"></a> <span class="src-var">$f </span>= <span class="src-sym">@</span><a href="http://www.php.net/fopen">fopen</a><span class="src-sym">(</span><span class="src-var">$name</span><span class="src-sym">, </span><span class="src-str">'x'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a456"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$f </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a457"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$lock</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a458"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a459"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a460"></a> <a href="http://www.php.net/fwrite">fwrite</a><span class="src-sym">(</span><span class="src-var">$f</span><span class="src-sym">, </span><span class="src-var">$provider</span>.<span class="src-str">';'</span>.<span class="src-var">$nonce</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a461"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$f</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a462"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$lock</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a463"></a> <span class="src-key">return </span><span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a464"></a> <span class="src-sym">} </span>catch <span class="src-sym">(</span><span class="src-id">Exception </span><span class="src-var">$e</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a465"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$lock</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a466"></a> throw <span class="src-var">$e</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a467"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a468"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a469"></a> </div></li> |
<li><div class="src-line"><a name="a470"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a471"></a><span class="src-doc"> * Removes data from the uniqueness database that is older then given date</span></div></li> |
<li><div class="src-line"><a name="a472"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a473"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$date </span><span class="src-doc">date of expired data</span></div></li> |
<li><div class="src-line"><a name="a474"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a475"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Zend_OpenId/Zend_OpenId_Consumer/StorageFile.html#methodpurgeNonces">purgeNonces</a><span class="src-sym">(</span><span class="src-var">$date</span>=<span class="src-id">null</span><span class="src-sym">)</span></div></li> |
<li><div class="src-line"><a name="a476"></a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a477"></a> <span class="src-var">$lock </span>= <span class="src-sym">@</span><a href="http://www.php.net/fopen">fopen</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">_dir </span>. <span class="src-str">'/nonce.lock'</span><span class="src-sym">, </span><span class="src-str">'w+'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a478"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$lock </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a479"></a> <a href="http://www.php.net/flock">flock</a><span class="src-sym">(</span><span class="src-var">$lock</span><span class="src-sym">, </span><span class="src-id">LOCK_EX</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a480"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a481"></a> try <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a482"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/is_int">is_int</a><span class="src-sym">(</span><span class="src-var">$date</span><span class="src-sym">) </span>&& <span class="src-sym">!</span><a href="http://www.php.net/is_string">is_string</a><span class="src-sym">(</span><span class="src-var">$date</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a483"></a> <span class="src-var">$nonceFiles </span>= <a href="http://www.php.net/glob">glob</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">_dir </span>. <span class="src-str">'/nonce_*'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a484"></a> <span class="src-key">foreach </span><span class="src-sym">(</span>(array) <span class="src-var">$nonceFiles </span><span class="src-key">as </span><span class="src-var">$name</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a485"></a> <span class="src-sym">@</span><a href="http://www.php.net/unlink">unlink</a><span class="src-sym">(</span><span class="src-var">$name</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a486"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a487"></a> unset<span class="src-sym">(</span><span class="src-var">$nonceFiles</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a488"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a489"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_string">is_string</a><span class="src-sym">(</span><span class="src-var">$date</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a490"></a> <span class="src-var">$time </span>= <a href="http://www.php.net/time">time</a><span class="src-sym">(</span><span class="src-var">$date</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a491"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a492"></a> <span class="src-var">$time </span>= <span class="src-var">$date</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a493"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a494"></a> <span class="src-var">$nonceFiles </span>= <a href="http://www.php.net/glob">glob</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">_dir </span>. <span class="src-str">'/nonce_*'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a495"></a> <span class="src-key">foreach </span><span class="src-sym">(</span>(array) <span class="src-var">$nonceFiles </span><span class="src-key">as </span><span class="src-var">$name</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a496"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/filemtime">filemtime</a><span class="src-sym">(</span><span class="src-var">$name</span><span class="src-sym">) </span>< <span class="src-var">$time</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a497"></a> <span class="src-sym">@</span><a href="http://www.php.net/unlink">unlink</a><span class="src-sym">(</span><span class="src-var">$name</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a498"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a499"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a500"></a> unset<span class="src-sym">(</span><span class="src-var">$nonceFiles</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a501"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a502"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$lock </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a503"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$lock</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a504"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a505"></a> <span class="src-sym">} </span>catch <span class="src-sym">(</span><span class="src-id">Exception </span><span class="src-var">$e</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a506"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$lock </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a507"></a> <a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$lock</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a508"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a509"></a> throw <span class="src-var">$e</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a510"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a511"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a512"></a><span class="src-sym">}</span></div></li> |
</ol></div> |
</div> |
<p class="notes" id="credit"> |
Documentation generated on Tue, 18 Jan 2011 15:01:45 +0100 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.3</a> |
</p> |
</body> |
</html> |
/trunk/doc/HTMLframesConverter/__filesource/fsource_Zend_OpenId_Zend_OpenId_Consumer_utilitairesStorage.php.html |
---|
New file |
0,0 → 1,152 |
<?xml version="1.0" encoding="UTF-8"?> |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
<html xmlns="http://www.w3.org/1999/xhtml"> |
<head> |
<!-- template designed by Marco Von Ballmoos --> |
<title>File Source for Storage.php</title> |
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'/> |
<link rel="stylesheet" href="../media/stylesheet.css" /> |
</head> |
<body> |
<h1>Source for file Storage.php</h1> |
<p>Documentation is available at <a href="../Zend_OpenId/Zend_OpenId_Consumer/_utilitaires---Storage.php.html">Storage.php</a></p> |
<div class="src-code"> |
<div class="src-code"><ol><li><div class="src-line"><a name="a1"></a><span class="src-php"><?php</span></div></li> |
<li><div class="src-line"><a name="a2"></a> </div></li> |
<li><div class="src-line"><a name="a3"></a><span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a4"></a><span class="src-doc"> * Zend Framework</span></div></li> |
<li><div class="src-line"><a name="a5"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a6"></a><span class="src-doc"> * LICENSE</span></div></li> |
<li><div class="src-line"><a name="a7"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a8"></a><span class="src-doc"> * This source file is subject to the new BSD license that is bundled</span></div></li> |
<li><div class="src-line"><a name="a9"></a><span class="src-doc"> * with this package in the file LICENSE.txt.</span></div></li> |
<li><div class="src-line"><a name="a10"></a><span class="src-doc"> * It is also available through the world-wide-web at this URL:</span></div></li> |
<li><div class="src-line"><a name="a11"></a><span class="src-doc"> * http://framework.zend.com/license/new-bsd</span></div></li> |
<li><div class="src-line"><a name="a12"></a><span class="src-doc"> * If you did not receive a copy of the license and are unable to</span></div></li> |
<li><div class="src-line"><a name="a13"></a><span class="src-doc"> * obtain it through the world-wide-web, please send an email</span></div></li> |
<li><div class="src-line"><a name="a14"></a><span class="src-doc"> * to license@zend.com so we can send you a copy immediately.</span></div></li> |
<li><div class="src-line"><a name="a15"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a16"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@category</span><span class="src-doc"> Zend</span></div></li> |
<li><div class="src-line"><a name="a17"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@package</span><span class="src-doc"> Zend_OpenId</span></div></li> |
<li><div class="src-line"><a name="a18"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@subpackage</span><span class="src-doc"> Zend_OpenId_Consumer</span></div></li> |
<li><div class="src-line"><a name="a19"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@copyright</span><span class="src-doc"> Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)</span></div></li> |
<li><div class="src-line"><a name="a20"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://framework.zend.com/license/new-bsd New BSD License</span></div></li> |
<li><div class="src-line"><a name="a21"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@version</span><span class="src-doc"> $Id: Storage.php 20096 2010-01-06 02:05:09Z bkarwin $</span></div></li> |
<li><div class="src-line"><a name="a22"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a23"></a> </div></li> |
<li><div class="src-line"><a name="a24"></a><span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a25"></a><span class="src-doc"> * Abstract class to implement external storage for OpenID consumer</span></div></li> |
<li><div class="src-line"><a name="a26"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a27"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@category</span><span class="src-doc"> Zend</span></div></li> |
<li><div class="src-line"><a name="a28"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@package</span><span class="src-doc"> Zend_OpenId</span></div></li> |
<li><div class="src-line"><a name="a29"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@subpackage</span><span class="src-doc"> Zend_OpenId_Consumer</span></div></li> |
<li><div class="src-line"><a name="a30"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@copyright</span><span class="src-doc"> Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)</span></div></li> |
<li><div class="src-line"><a name="a31"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://framework.zend.com/license/new-bsd New BSD License</span></div></li> |
<li><div class="src-line"><a name="a32"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a33"></a><span class="src-key">abstract </span><span class="src-key">class </span><a href="../Zend_OpenId/Zend_OpenId_Consumer/Storage.html">Storage</a></div></li> |
<li><div class="src-line"><a name="a34"></a><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a35"></a> </div></li> |
<li><div class="src-line"><a name="a36"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a37"></a><span class="src-doc"> * Stores information about association identified by $url/$handle</span></div></li> |
<li><div class="src-line"><a name="a38"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a39"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$url </span><span class="src-doc">OpenID server URL</span></div></li> |
<li><div class="src-line"><a name="a40"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$handle </span><span class="src-doc">assiciation handle</span></div></li> |
<li><div class="src-line"><a name="a41"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$macFunc </span><span class="src-doc">HMAC function (sha1 or sha256)</span></div></li> |
<li><div class="src-line"><a name="a42"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$secret </span><span class="src-doc">shared secret</span></div></li> |
<li><div class="src-line"><a name="a43"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">long </span><span class="src-doc-var">$expires </span><span class="src-doc">expiration UNIX time</span></div></li> |
<li><div class="src-line"><a name="a44"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">void </span></div></li> |
<li><div class="src-line"><a name="a45"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a46"></a> <span class="src-key">abstract </span><span class="src-key">public </span><span class="src-key">function </span><a href="../Zend_OpenId/Zend_OpenId_Consumer/Storage.html#methodaddAssociation">addAssociation</a><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">, </span><span class="src-var">$handle</span><span class="src-sym">, </span><span class="src-var">$macFunc</span><span class="src-sym">, </span><span class="src-var">$secret</span><span class="src-sym">, </span><span class="src-var">$expires</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a47"></a> </div></li> |
<li><div class="src-line"><a name="a48"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a49"></a><span class="src-doc"> * Gets information about association identified by $url</span></div></li> |
<li><div class="src-line"><a name="a50"></a><span class="src-doc"> * Returns true if given association found and not expired and false</span></div></li> |
<li><div class="src-line"><a name="a51"></a><span class="src-doc"> * otherwise</span></div></li> |
<li><div class="src-line"><a name="a52"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a53"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$url </span><span class="src-doc">OpenID server URL</span></div></li> |
<li><div class="src-line"><a name="a54"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">&$handle </span><span class="src-doc">assiciation handle</span></div></li> |
<li><div class="src-line"><a name="a55"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">&$macFunc </span><span class="src-doc">HMAC function (sha1 or sha256)</span></div></li> |
<li><div class="src-line"><a name="a56"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">&$secret </span><span class="src-doc">shared secret</span></div></li> |
<li><div class="src-line"><a name="a57"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">long </span><span class="src-doc-var">&$expires </span><span class="src-doc">expiration UNIX time</span></div></li> |
<li><div class="src-line"><a name="a58"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">bool </span></div></li> |
<li><div class="src-line"><a name="a59"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a60"></a> <span class="src-key">abstract </span><span class="src-key">public </span><span class="src-key">function </span><a href="../Zend_OpenId/Zend_OpenId_Consumer/Storage.html#methodgetAssociation">getAssociation</a><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">, </span><span class="src-sym">&</span><span class="src-var">$handle</span><span class="src-sym">, </span><span class="src-sym">&</span><span class="src-var">$macFunc</span><span class="src-sym">, </span><span class="src-sym">&</span><span class="src-var">$secret</span><span class="src-sym">, </span><span class="src-sym">&</span><span class="src-var">$expires</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a61"></a> </div></li> |
<li><div class="src-line"><a name="a62"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a63"></a><span class="src-doc"> * Gets information about association identified by $handle</span></div></li> |
<li><div class="src-line"><a name="a64"></a><span class="src-doc"> * Returns true if given association found and not expired and false</span></div></li> |
<li><div class="src-line"><a name="a65"></a><span class="src-doc"> * othverwise</span></div></li> |
<li><div class="src-line"><a name="a66"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a67"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$handle </span><span class="src-doc">assiciation handle</span></div></li> |
<li><div class="src-line"><a name="a68"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">&$url </span><span class="src-doc">OpenID server URL</span></div></li> |
<li><div class="src-line"><a name="a69"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">&$macFunc </span><span class="src-doc">HMAC function (sha1 or sha256)</span></div></li> |
<li><div class="src-line"><a name="a70"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">&$secret </span><span class="src-doc">shared secret</span></div></li> |
<li><div class="src-line"><a name="a71"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">long </span><span class="src-doc-var">&$expires </span><span class="src-doc">expiration UNIX time</span></div></li> |
<li><div class="src-line"><a name="a72"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">bool </span></div></li> |
<li><div class="src-line"><a name="a73"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a74"></a> <span class="src-key">abstract </span><span class="src-key">public </span><span class="src-key">function </span><a href="../Zend_OpenId/Zend_OpenId_Consumer/Storage.html#methodgetAssociationByHandle">getAssociationByHandle</a><span class="src-sym">(</span><span class="src-var">$handle</span><span class="src-sym">, </span><span class="src-sym">&</span><span class="src-var">$url</span><span class="src-sym">, </span><span class="src-sym">&</span><span class="src-var">$macFunc</span><span class="src-sym">, </span><span class="src-sym">&</span><span class="src-var">$secret</span><span class="src-sym">, </span><span class="src-sym">&</span><span class="src-var">$expires</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a75"></a> </div></li> |
<li><div class="src-line"><a name="a76"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a77"></a><span class="src-doc"> * Deletes association identified by $url</span></div></li> |
<li><div class="src-line"><a name="a78"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a79"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$url </span><span class="src-doc">OpenID server URL</span></div></li> |
<li><div class="src-line"><a name="a80"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">void </span></div></li> |
<li><div class="src-line"><a name="a81"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a82"></a> <span class="src-key">abstract </span><span class="src-key">public </span><span class="src-key">function </span><a href="../Zend_OpenId/Zend_OpenId_Consumer/Storage.html#methoddelAssociation">delAssociation</a><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a83"></a> </div></li> |
<li><div class="src-line"><a name="a84"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a85"></a><span class="src-doc"> * Stores information discovered from identity $id</span></div></li> |
<li><div class="src-line"><a name="a86"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a87"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$id </span><span class="src-doc">identity</span></div></li> |
<li><div class="src-line"><a name="a88"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$realId </span><span class="src-doc">discovered real identity URL</span></div></li> |
<li><div class="src-line"><a name="a89"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$server </span><span class="src-doc">discovered OpenID server URL</span></div></li> |
<li><div class="src-line"><a name="a90"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">float </span><span class="src-doc-var">$version </span><span class="src-doc">discovered OpenID protocol version</span></div></li> |
<li><div class="src-line"><a name="a91"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">long </span><span class="src-doc-var">$expires </span><span class="src-doc">expiration UNIX time</span></div></li> |
<li><div class="src-line"><a name="a92"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">void </span></div></li> |
<li><div class="src-line"><a name="a93"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a94"></a> <span class="src-key">abstract </span><span class="src-key">public </span><span class="src-key">function </span><a href="../Zend_OpenId/Zend_OpenId_Consumer/Storage.html#methodaddDiscoveryInfo">addDiscoveryInfo</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">, </span><span class="src-var">$realId</span><span class="src-sym">, </span><span class="src-var">$server</span><span class="src-sym">, </span><span class="src-var">$version</span><span class="src-sym">, </span><span class="src-var">$expires</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a95"></a> </div></li> |
<li><div class="src-line"><a name="a96"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a97"></a><span class="src-doc"> * Gets information discovered from identity $id</span></div></li> |
<li><div class="src-line"><a name="a98"></a><span class="src-doc"> * Returns true if such information exists and false otherwise</span></div></li> |
<li><div class="src-line"><a name="a99"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a100"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$id </span><span class="src-doc">identity</span></div></li> |
<li><div class="src-line"><a name="a101"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">&$realId </span><span class="src-doc">discovered real identity URL</span></div></li> |
<li><div class="src-line"><a name="a102"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">&$server </span><span class="src-doc">discovered OpenID server URL</span></div></li> |
<li><div class="src-line"><a name="a103"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">float </span><span class="src-doc-var">&$version </span><span class="src-doc">discovered OpenID protocol version</span></div></li> |
<li><div class="src-line"><a name="a104"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">long </span><span class="src-doc-var">&$expires </span><span class="src-doc">expiration UNIX time</span></div></li> |
<li><div class="src-line"><a name="a105"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">bool </span></div></li> |
<li><div class="src-line"><a name="a106"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a107"></a> <span class="src-key">abstract </span><span class="src-key">public </span><span class="src-key">function </span><a href="../Zend_OpenId/Zend_OpenId_Consumer/Storage.html#methodgetDiscoveryInfo">getDiscoveryInfo</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">, </span><span class="src-sym">&</span><span class="src-var">$realId</span><span class="src-sym">, </span><span class="src-sym">&</span><span class="src-var">$server</span><span class="src-sym">, </span><span class="src-sym">&</span><span class="src-var">$version</span><span class="src-sym">, </span><span class="src-sym">&</span><span class="src-var">$expires</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a108"></a> </div></li> |
<li><div class="src-line"><a name="a109"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a110"></a><span class="src-doc"> * Removes cached information discovered from identity $id</span></div></li> |
<li><div class="src-line"><a name="a111"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a112"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$id </span><span class="src-doc">identity</span></div></li> |
<li><div class="src-line"><a name="a113"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">bool </span></div></li> |
<li><div class="src-line"><a name="a114"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a115"></a> <span class="src-key">abstract </span><span class="src-key">public </span><span class="src-key">function </span><a href="../Zend_OpenId/Zend_OpenId_Consumer/Storage.html#methoddelDiscoveryInfo">delDiscoveryInfo</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a116"></a> </div></li> |
<li><div class="src-line"><a name="a117"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a118"></a><span class="src-doc"> * The function checks the uniqueness of openid.response_nonce</span></div></li> |
<li><div class="src-line"><a name="a119"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a120"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$provider </span><span class="src-doc">openid.openid_op_endpoint field from authentication response</span></div></li> |
<li><div class="src-line"><a name="a121"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$nonce </span><span class="src-doc">openid.response_nonce field from authentication response</span></div></li> |
<li><div class="src-line"><a name="a122"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">bool </span></div></li> |
<li><div class="src-line"><a name="a123"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a124"></a> <span class="src-key">abstract </span><span class="src-key">public </span><span class="src-key">function </span><a href="../Zend_OpenId/Zend_OpenId_Consumer/Storage.html#methodisUniqueNonce">isUniqueNonce</a><span class="src-sym">(</span><span class="src-var">$provider</span><span class="src-sym">, </span><span class="src-var">$nonce</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a125"></a> </div></li> |
<li><div class="src-line"><a name="a126"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a127"></a><span class="src-doc"> * Removes data from the uniqueness database that is older then given date</span></div></li> |
<li><div class="src-line"><a name="a128"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a129"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$date </span><span class="src-doc">Date of expired data</span></div></li> |
<li><div class="src-line"><a name="a130"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a131"></a> <span class="src-key">abstract </span><span class="src-key">public </span><span class="src-key">function </span><a href="../Zend_OpenId/Zend_OpenId_Consumer/Storage.html#methodpurgeNonces">purgeNonces</a><span class="src-sym">(</span><span class="src-var">$date</span>=<span class="src-id">null</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a132"></a><span class="src-sym">}</span></div></li> |
</ol></div> |
</div> |
<p class="notes" id="credit"> |
Documentation generated on Tue, 18 Jan 2011 15:01:43 +0100 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.3</a> |
</p> |
</body> |
</html> |
/trunk/doc/HTMLframesConverter/__filesource/fsource_Framework__I18n.php.html |
---|
New file |
0,0 → 1,255 |
<?xml version="1.0" encoding="UTF-8"?> |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
<html xmlns="http://www.w3.org/1999/xhtml"> |
<head> |
<!-- template designed by Marco Von Ballmoos --> |
<title>File Source for I18n.php</title> |
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'/> |
<link rel="stylesheet" href="../media/stylesheet.css" /> |
</head> |
<body> |
<h1>Source for file I18n.php</h1> |
<p>Documentation is available at <a href="../Framework/_I18n.php.html">I18n.php</a></p> |
<div class="src-code"> |
<div class="src-code"><ol><li><div class="src-line"><a name="a1"></a><span class="src-php"><?php</span></div></li> |
<li><div class="src-line"><a name="a2"></a><span class="src-comm">// declare(encoding='UTF-8');</span></div></li> |
<li><div class="src-line"><a name="a3"></a><span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a4"></a><span class="src-doc"> * I18n permet de traduire une application à partir de données stockées dans des fichiers ini.</span></div></li> |
<li><div class="src-line"><a name="a5"></a><span class="src-doc"> * Si vous souhaitez utiliser le fonctionnement par défaut vous devrez :</span></div></li> |
<li><div class="src-line"><a name="a6"></a><span class="src-doc"> * - déposer les fichiers ini dans le dossier définit par la variable de config "chemin_i18n".</span></div></li> |
<li><div class="src-line"><a name="a7"></a><span class="src-doc"> * - nommer les fichiers selon la forme "locale.ini" (Ex.: fr.ini ou fr_CH.ini ).</span></div></li> |
<li><div class="src-line"><a name="a8"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a9"></a><span class="src-doc"> * Elle offre l'accès en lecture seule aux paramètres des fichiers ini.</span></div></li> |
<li><div class="src-line"><a name="a10"></a><span class="src-doc"> * C'est une Singleton. Une seule classe de traduction peut être instanciée par Application.</span></div></li> |
<li><div class="src-line"><a name="a11"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a12"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@category</span><span class="src-doc"> PHP 5.2</span></div></li> |
<li><div class="src-line"><a name="a13"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@package</span><span class="src-doc"> Framework</span></div></li> |
<li><div class="src-line"><a name="a14"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@author</span><span class="src-doc"> Jean-Pascal MILCENT <jpm@tela-botanica.org></span></div></li> |
<li><div class="src-line"><a name="a15"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@copyright</span><span class="src-doc"> Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org)</span></div></li> |
<li><div class="src-line"><a name="a16"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL</span></div></li> |
<li><div class="src-line"><a name="a17"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.gnu.org/licenses/gpl.html Licence GNU-GPL</span></div></li> |
<li><div class="src-line"><a name="a18"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@since</span><span class="src-doc"> 0.3</span></div></li> |
<li><div class="src-line"><a name="a19"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@version</span><span class="src-doc"> $Id$</span></div></li> |
<li><div class="src-line"><a name="a20"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@link</span><span class="src-doc"> /doc/framework/</span></div></li> |
<li><div class="src-line"><a name="a21"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a22"></a><span class="src-key">class </span><a href="../Framework/I18n.html">I18n</a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a23"></a> <span class="src-doc">/** Format de traduction utilisant les fichier .ini */</span></div></li> |
<li><div class="src-line"><a name="a24"></a> <span class="src-key">const </span><span class="src-id">FORMAT_INI </span>= <span class="src-str">'.ini'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a25"></a> </div></li> |
<li><div class="src-line"><a name="a26"></a> <span class="src-doc">/** Instance de la classe pointant sur elle même (pour le pattern singleton) */</span></div></li> |
<li><div class="src-line"><a name="a27"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$instance </span>= <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a28"></a> </div></li> |
<li><div class="src-line"><a name="a29"></a> <span class="src-doc">/** Fichiers de traduction disponibles. */</span></div></li> |
<li><div class="src-line"><a name="a30"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$traductions </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a31"></a> </div></li> |
<li><div class="src-line"><a name="a32"></a> <span class="src-doc">/** Langue courrante utilisée par l'application. */</span></div></li> |
<li><div class="src-line"><a name="a33"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$langue </span>= <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a34"></a> </div></li> |
<li><div class="src-line"><a name="a35"></a> <span class="src-doc">/** Tableau des noms des paramètres à définir dans le fichier de config car obligatoirement nécessaire à cette classe.*/</span></div></li> |
<li><div class="src-line"><a name="a36"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$parametres_obligatoires </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'chemin_i18n'</span><span class="src-sym">, </span><span class="src-str">'i18n_url_parametre'</span><span class="src-sym">, </span><span class="src-str">'i18n_langue_defaut'</span><span class="src-sym">, </span><span class="src-str">'debogage'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a37"></a> </div></li> |
<li><div class="src-line"><a name="a38"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">__construct</span><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a39"></a> <span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodverifierPresenceParametres">verifierPresenceParametres</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$parametres_obligatoires</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a40"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">trouverLangue</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a41"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a42"></a> </div></li> |
<li><div class="src-line"><a name="a43"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a44"></a><span class="src-doc"> * Accesseur pour la valeur d'une traduction</span></div></li> |
<li><div class="src-line"><a name="a45"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$param </span><span class="src-doc">le nom du paramètre</span></div></li> |
<li><div class="src-line"><a name="a46"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">la valeur du paramètre</span></div></li> |
<li><div class="src-line"><a name="a47"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a48"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/I18n.html#methodget">get</a><span class="src-sym">(</span><span class="src-var">$identifiant</span><span class="src-sym">, </span><span class="src-var">$langue </span>= <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a49"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">verifierCreationInstance</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a50"></a> <span class="src-var">$texte </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a51"></a> </div></li> |
<li><div class="src-line"><a name="a52"></a> <span class="src-comm">// Récupération de la langue actuellement demandée</span></div></li> |
<li><div class="src-line"><a name="a53"></a> <span class="src-var">$langue_a_charger </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$langue</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a54"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-id">is_null</span><span class="src-sym">(</span><span class="src-var">$langue</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a55"></a> <span class="src-var">$langue_a_charger </span>= <span class="src-var">$langue</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a56"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a57"></a> </div></li> |
<li><div class="src-line"><a name="a58"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span>isset<span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$traductions</span><span class="src-sym">[</span><span class="src-var">$langue_a_charger</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a59"></a> <span class="src-comm">// Tentative de chargement du fichier de traduction</span></div></li> |
<li><div class="src-line"><a name="a60"></a> <span class="src-var">$chargement </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">charger</span><span class="src-sym">(</span><span class="src-var">$langue_a_charger</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a61"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$chargement </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a62"></a> <span class="src-var">$m </span>= <span class="src-str">"</span><span class="src-str">Le fichier d'i18n pour la langue '<span class="src-var">$langue_a_charger</span>' demandée n'a pas été trouvé.</span><span class="src-str">"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a63"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">ajouterErreur</span><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a64"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a65"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a66"></a> </div></li> |
<li><div class="src-line"><a name="a67"></a> <span class="src-comm">// Recherche de la langue dans le tableau des traductions</span></div></li> |
<li><div class="src-line"><a name="a68"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$traductions</span><span class="src-sym">[</span><span class="src-var">$langue_a_charger</span><span class="src-sym">]</span><span class="src-sym">) </span>&& <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$traductions</span><span class="src-sym">[</span><span class="src-var">$langue_a_charger</span><span class="src-sym">] </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a69"></a> <span class="src-comm">// Recherche de la traduction demandée</span></div></li> |
<li><div class="src-line"><a name="a70"></a> <span class="src-var">$valeur </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">getValeur</span><span class="src-sym">(</span><span class="src-var">$identifiant</span><span class="src-sym">, </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$traductions</span><span class="src-sym">[</span><span class="src-var">$langue_a_charger</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a71"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$valeur </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a72"></a> <span class="src-var">$texte </span>= <span class="src-var">$valeur</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a73"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a74"></a> <span class="src-var">$m </span>= <span class="src-str">"</span><span class="src-str">Le traduction n'existe pas pour l'identifiant '<span class="src-var">$identifiant</span>' demandé.</span><span class="src-str">"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a75"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">ajouterErreur</span><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a76"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a77"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a78"></a> </div></li> |
<li><div class="src-line"><a name="a79"></a> <span class="src-key">return </span><span class="src-var">$texte</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a80"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a81"></a> </div></li> |
<li><div class="src-line"><a name="a82"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a83"></a><span class="src-doc"> * Charge un fichier ini dans le tableau des paramètres de l'appli</span></div></li> |
<li><div class="src-line"><a name="a84"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$fichier_ini </span><span class="src-doc">le nom du fichier à charger</span></div></li> |
<li><div class="src-line"><a name="a85"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">boolean </span><span class="src-doc">true, si le fichier a été trouvé et correctement chargé, sinon false.</span></div></li> |
<li><div class="src-line"><a name="a86"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a87"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/I18n.html#methodcharger">charger</a><span class="src-sym">(</span><span class="src-var">$langue</span><span class="src-sym">, </span><span class="src-var">$fichier </span>= <span class="src-id">null</span><span class="src-sym">, </span><span class="src-var">$format </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">FORMAT_INI</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a88"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">verifierCreationInstance</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a89"></a> <span class="src-var">$ok </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a90"></a> </div></li> |
<li><div class="src-line"><a name="a91"></a> <span class="src-comm">// Création du chemin vers le fichier de traduction par défaut</span></div></li> |
<li><div class="src-line"><a name="a92"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_null">is_null</a><span class="src-sym">(</span><span class="src-var">$fichier</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a93"></a> <span class="src-var">$fichier </span>= <span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'chemin_i18n'</span><span class="src-sym">)</span>.<span class="src-var">$langue</span>.<span class="src-var">$format</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a94"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a95"></a> </div></li> |
<li><div class="src-line"><a name="a96"></a> <span class="src-comm">// Chargement </span></div></li> |
<li><div class="src-line"><a name="a97"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$format </span>== <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">FORMAT_INI</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a98"></a> <span class="src-var">$ok </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">chargerFichierIni</span><span class="src-sym">(</span><span class="src-var">$fichier</span><span class="src-sym">, </span><span class="src-var">$langue</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a99"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a100"></a> <span class="src-var">$m </span>= <span class="src-str">"</span><span class="src-str">Le format '<span class="src-var">$format</span>' de fichier de traduction n'est pas pris en compte par le Framework.</span><span class="src-str">"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a101"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">ajouterErreur</span><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a102"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a103"></a> </div></li> |
<li><div class="src-line"><a name="a104"></a> <span class="src-key">return </span><span class="src-var">$ok</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a105"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a106"></a> </div></li> |
<li><div class="src-line"><a name="a107"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a108"></a><span class="src-doc"> * Définit la langue utiliser pour rechercher une traduction.</span></div></li> |
<li><div class="src-line"><a name="a109"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$fichier_ini </span><span class="src-doc">le nom du fichier à charger</span></div></li> |
<li><div class="src-line"><a name="a110"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc">le fichier ini parsé</span></div></li> |
<li><div class="src-line"><a name="a111"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a112"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/I18n.html#methodsetLangue">setLangue</a><span class="src-sym">(</span><span class="src-var">$langue</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a113"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">verifierCreationInstance</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a114"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$langue </span>= <span class="src-var">$langue</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a115"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a116"></a> </div></li> |
<li><div class="src-line"><a name="a117"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a118"></a><span class="src-doc"> * Renvoie la valeur demandé grâce une chaine de paramètres</span></div></li> |
<li><div class="src-line"><a name="a119"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$param </span><span class="src-doc">la chaine identifiante</span></div></li> |
<li><div class="src-line"><a name="a120"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$i18n </span><span class="src-doc">le tableau de traductions</span></div></li> |
<li><div class="src-line"><a name="a121"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">mixed </span><span class="src-doc">la valeur correspondante à la chaine identifiante si elle est trouvée, sinon false.</span></div></li> |
<li><div class="src-line"><a name="a122"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a123"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">getValeur</span><span class="src-sym">(</span><span class="src-var">$param</span><span class="src-sym">, </span><span class="src-var">$i18n</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a124"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$param </span>=== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a125"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a126"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a127"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$i18n</span><span class="src-sym">[</span><span class="src-var">$param</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a128"></a> <span class="src-key">return </span><span class="src-var">$i18n</span><span class="src-sym">[</span><span class="src-var">$param</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a129"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$param</span><span class="src-sym">, </span><span class="src-str">'.'</span><span class="src-sym">) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a130"></a> <span class="src-var">$pieces </span>= <a href="http://www.php.net/explode">explode</a><span class="src-sym">(</span><span class="src-str">'.'</span><span class="src-sym">, </span><span class="src-var">$param</span><span class="src-sym">, </span><span class="src-num">2</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a131"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">) </span>&& <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a132"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$i18n</span><span class="src-sym">[</span><span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a133"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$i18n</span><span class="src-sym">[</span><span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a134"></a> <span class="src-key">return </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">getValeur</span><span class="src-sym">(</span><span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$i18n</span><span class="src-sym">[</span><span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a135"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a136"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a137"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a138"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a139"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a140"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a141"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a142"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a143"></a> </div></li> |
<li><div class="src-line"><a name="a144"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a145"></a><span class="src-doc"> * Parse le fichier ini donné en paramètre</span></div></li> |
<li><div class="src-line"><a name="a146"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$fichier_ini </span><span class="src-doc">nom du fichier ini à parser</span></div></li> |
<li><div class="src-line"><a name="a147"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$langue </span><span class="src-doc">la langue correspondant au fichier</span></div></li> |
<li><div class="src-line"><a name="a148"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">boolean </span><span class="src-doc">true si le chargement c'est bien passé, sinon false.</span></div></li> |
<li><div class="src-line"><a name="a149"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a150"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">chargerFichierIni</span><span class="src-sym">(</span><span class="src-var">$fichier_ini</span><span class="src-sym">, </span><span class="src-var">$langue</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a151"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$traductions</span><span class="src-sym">[</span><span class="src-var">$langue</span><span class="src-sym">] </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a152"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/file_exists">file_exists</a><span class="src-sym">(</span><span class="src-var">$fichier_ini</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a153"></a> <span class="src-var">$ini </span>= <a href="http://www.php.net/parse_ini_file">parse_ini_file</a><span class="src-sym">(</span><span class="src-var">$fichier_ini</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a154"></a> <span class="src-var">$ini </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">analyserTableauIni</span><span class="src-sym">(</span><span class="src-var">$ini</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a155"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$traductions</span><span class="src-sym">[</span><span class="src-var">$langue</span><span class="src-sym">] </span>= <span class="src-var">$ini</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a156"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a157"></a> <span class="src-key">return </span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$traductions</span><span class="src-sym">[</span><span class="src-var">$langue</span><span class="src-sym">] </span>=== <span class="src-id">false</span><span class="src-sym">) </span>? <span class="src-id">false </span>: <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a158"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a159"></a> </div></li> |
<li><div class="src-line"><a name="a160"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a161"></a><span class="src-doc"> * Analyse un tableau de traductions pour évaluer les clés.</span></div></li> |
<li><div class="src-line"><a name="a162"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$i18n </span><span class="src-doc">le tableau de traductions</span></div></li> |
<li><div class="src-line"><a name="a163"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc">le tableau analysé et modifié si nécessaire.</span></div></li> |
<li><div class="src-line"><a name="a164"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a165"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">analyserTableauIni</span><span class="src-sym">(</span><span class="src-var">$i18n </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a166"></a> <span class="src-comm">//ATTENTION : il est important de passer la valeur par référence car nous la modifions dynamiquement dans la boucle</span></div></li> |
<li><div class="src-line"><a name="a167"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$i18n </span><span class="src-key">as </span><span class="src-var">$cle </span>=> <span class="src-sym">&</span><span class="src-var">$valeur</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a168"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$valeur</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a169"></a> <span class="src-var">$i18n</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">] </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">analyserTableauIni</span><span class="src-sym">(</span><span class="src-var">$valeur</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a170"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a171"></a> <span class="src-var">$i18n </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">evaluerCle</span><span class="src-sym">(</span><span class="src-var">$i18n</span><span class="src-sym">, </span><span class="src-var">$cle</span><span class="src-sym">, </span><span class="src-var">$valeur</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a172"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a173"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a174"></a> <span class="src-key">return </span><span class="src-var">$i18n</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a175"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a176"></a> </div></li> |
<li><div class="src-line"><a name="a177"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a178"></a><span class="src-doc"> * Dans le cas des chaines de traduction à sous clé (ex.: cle.souscle), cette méthode</span></div></li> |
<li><div class="src-line"><a name="a179"></a><span class="src-doc"> * évalue les valeurs correspondantes et créée les sous tableaux associés.</span></div></li> |
<li><div class="src-line"><a name="a180"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$i18n </span><span class="src-doc">tableau de traductions (par référence)</span></div></li> |
<li><div class="src-line"><a name="a181"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$cle </span><span class="src-doc">la cle dans le tableau</span></div></li> |
<li><div class="src-line"><a name="a182"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$valeur </span><span class="src-doc">la valeur à affecter</span></div></li> |
<li><div class="src-line"><a name="a183"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a184"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">evaluerCle</span><span class="src-sym">(</span><span class="src-var">$i18n</span><span class="src-sym">, </span><span class="src-var">$cle</span><span class="src-sym">, </span><span class="src-var">$valeur</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a185"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$cle</span><span class="src-sym">, </span><span class="src-str">'.'</span><span class="src-sym">) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a186"></a> unset<span class="src-sym">(</span><span class="src-var">$i18n</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a187"></a> <span class="src-var">$pieces </span>= <a href="http://www.php.net/explode">explode</a><span class="src-sym">(</span><span class="src-str">'.'</span><span class="src-sym">, </span><span class="src-var">$cle</span><span class="src-sym">, </span><span class="src-num">2</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a188"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">) </span>&& <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a189"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$i18n</span><span class="src-sym">[</span><span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]]</span><span class="src-sym">) </span>&& <span class="src-sym">!</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$i18n</span><span class="src-sym">[</span><span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a190"></a> <span class="src-var">$m </span>= <span class="src-str">"</span><span class="src-str">Ne peut pas créer de sous-clé pour '{<span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">}</span>' car la clé existe déjà</span><span class="src-str">"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a191"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">, </span><span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a192"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a193"></a> <span class="src-var">$i18n</span><span class="src-sym">[</span><span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]]</span><span class="src-sym">[</span><span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]] </span>= <span class="src-var">$valeur</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a194"></a> <span class="src-var">$i18n</span><span class="src-sym">[</span><span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]] </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">evaluerCle</span><span class="src-sym">(</span><span class="src-var">$i18n</span><span class="src-sym">[</span><span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]]</span><span class="src-sym">, </span><span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$valeur</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a195"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a196"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a197"></a> <span class="src-var">$m </span>= <span class="src-str">"</span><span class="src-str">Clé invalide '<span class="src-var">$cle</span>'</span><span class="src-str">"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a198"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">, </span><span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a199"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a200"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a201"></a> <span class="src-var">$i18n</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">] </span>= <span class="src-var">$valeur</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a202"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a203"></a> <span class="src-key">return </span><span class="src-var">$i18n</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a204"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a205"></a> </div></li> |
<li><div class="src-line"><a name="a206"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a207"></a><span class="src-doc"> * Cherche l'information sur la langue demandée par l'application</span></div></li> |
<li><div class="src-line"><a name="a208"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a209"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">trouverLangue</span><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a210"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$_GET</span><span class="src-sym">[</span><span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'i18n_url_parametre'</span><span class="src-sym">)</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a211"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$langue </span>= <span class="src-var">$_GET</span><span class="src-sym">[</span><span class="src-id">Config</span><span class="src-sym">::</span><span class="src-id">get</span><span class="src-sym">(</span><span class="src-str">'i18n_url_parametre'</span><span class="src-sym">)</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a212"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a213"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$langue </span>= <span class="src-id">Config</span><span class="src-sym">::</span><span class="src-id">get</span><span class="src-sym">(</span><span class="src-str">'i18n_langue_defaut'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a214"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a215"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a216"></a> </div></li> |
<li><div class="src-line"><a name="a217"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a218"></a><span class="src-doc"> * Vérifie si l'instance de classe à été crée, si non la crée</span></div></li> |
<li><div class="src-line"><a name="a219"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a220"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">verifierCreationInstance</span><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a221"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$instance</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a222"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$instance </span>= <span class="src-key">new </span><span class="src-id">I18n</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a223"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a224"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a225"></a> </div></li> |
<li><div class="src-line"><a name="a226"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a227"></a><span class="src-doc"> * Ajouter une message d'erreur</span></div></li> |
<li><div class="src-line"><a name="a228"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a229"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">ajouterErreur</span><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">, </span><span class="src-var">$e </span>= <span class="src-id">E_USER_WARNING</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a230"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'debogage'</span><span class="src-sym">) </span>=== <span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a231"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">, </span><span class="src-var">$e</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a232"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a233"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a234"></a><span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a235"></a><span class="src-php">?></span></div></li> |
</ol></div> |
</div> |
<p class="notes" id="credit"> |
Documentation generated on Tue, 18 Jan 2011 15:01:35 +0100 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.3</a> |
</p> |
</body> |
</html> |
/trunk/doc/HTMLframesConverter/__filesource/fsource_Framework__Log.php.html |
---|
14,192 → 14,156 |
<div class="src-code"><ol><li><div class="src-line"><a name="a1"></a><span class="src-php"><?php</span></div></li> |
<li><div class="src-line"><a name="a2"></a><span class="src-comm">//declare(encoding='UTF-8');</span></div></li> |
<li><div class="src-line"><a name="a3"></a><span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a4"></a><span class="src-doc"> * Classe permettant de logger des messages dans les fichier situés dans le dossier de log</span></div></li> |
<li><div class="src-line"><a name="a4"></a><span class="src-doc"> * Classe permettant de logger des messages dans les fichier situés dans le dossier de log.</span></div></li> |
<li><div class="src-line"><a name="a5"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a6"></a><span class="src-doc"> * PHP Version 5</span></div></li> |
<li><div class="src-line"><a name="a7"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a8"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@category</span><span class="src-doc"> PHP</span></div></li> |
<li><div class="src-line"><a name="a9"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@package</span><span class="src-doc"> Framework</span></div></li> |
<li><div class="src-line"><a name="a10"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@author</span><span class="src-doc"> aurelien <aurelien@tela-botanica.org></span></div></li> |
<li><div class="src-line"><a name="a11"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@copyright</span><span class="src-doc"> 2009 Tela-Botanica</span></div></li> |
<li><div class="src-line"><a name="a12"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL</span></div></li> |
<li><div class="src-line"><a name="a13"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@version</span><span class="src-doc"> SVN: <svn_id></span></div></li> |
<li><div class="src-line"><a name="a14"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@link</span><span class="src-doc"> /doc/framework/</span></div></li> |
<li><div class="src-line"><a name="a6"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@category</span><span class="src-doc"> PHP 5.2</span></div></li> |
<li><div class="src-line"><a name="a7"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@package</span><span class="src-doc"> Framework</span></div></li> |
<li><div class="src-line"><a name="a8"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@author</span><span class="src-doc"> Aurélien PERONNET <aurelien@tela-botanica.org></span></div></li> |
<li><div class="src-line"><a name="a9"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@author</span><span class="src-doc"> Jean-Pascal MILCENT <jpm@tela-botanica.org></span></div></li> |
<li><div class="src-line"><a name="a10"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@copyright</span><span class="src-doc"> Copyright (c) 2009, Tela Botanica (accueil@tela-botanica.org)</span></div></li> |
<li><div class="src-line"><a name="a11"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL</span></div></li> |
<li><div class="src-line"><a name="a12"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.gnu.org/licenses/gpl.html Licence GNU-GPL</span></div></li> |
<li><div class="src-line"><a name="a13"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@version</span><span class="src-doc"> $Id: Log.php 274 2010-12-28 15:37:22Z jpm $</span></div></li> |
<li><div class="src-line"><a name="a14"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@link</span><span class="src-doc"> /doc/framework/</span></div></li> |
<li><div class="src-line"><a name="a15"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a16"></a> </div></li> |
<li><div class="src-line"><a name="a17"></a><span class="src-key">class </span><a href="../Framework/Log.html">Log</a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a18"></a> </div></li> |
<li><div class="src-line"><a name="a19"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a20"></a><span class="src-doc"> * Tableau associatif stockant les descripteurs de fichiers</span></div></li> |
<li><div class="src-line"><a name="a21"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a16"></a><span class="src-key">class </span><a href="../Framework/Log.html">Log</a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a17"></a> </div></li> |
<li><div class="src-line"><a name="a18"></a> <span class="src-doc">/** Boolean indiquant si l'on doit utiliser les logs ou pas. */</span></div></li> |
<li><div class="src-line"><a name="a19"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$logger </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a20"></a> </div></li> |
<li><div class="src-line"><a name="a21"></a> <span class="src-doc">/** Tableau associatif stockant les descripteurs de fichiers. */</span></div></li> |
<li><div class="src-line"><a name="a22"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$fichiersLog </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a23"></a> </div></li> |
<li><div class="src-line"><a name="a24"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a25"></a><span class="src-doc"> * Chemin de base du dossier log de l'application</span></div></li> |
<li><div class="src-line"><a name="a26"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a27"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$cheminLogs </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a28"></a> </div></li> |
<li><div class="src-line"><a name="a29"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a30"></a><span class="src-doc"> * Booleen indiquant si l'on peut correctement écrire dans les fichiers de logs</span></div></li> |
<li><div class="src-line"><a name="a31"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a32"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$droitLogger </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a33"></a> </div></li> |
<li><div class="src-line"><a name="a34"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a35"></a><span class="src-doc"> * Zone horaire (pour éviter des avertissements dans les dates)</span></div></li> |
<li><div class="src-line"><a name="a36"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a37"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$timeZone </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a24"></a> <span class="src-doc">/** Chemin de base du dossier log de l'application. */</span></div></li> |
<li><div class="src-line"><a name="a25"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$cheminLogs </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a26"></a> </div></li> |
<li><div class="src-line"><a name="a27"></a> <span class="src-doc">/** Booleen indiquant si l'on peut correctement écrire dans les fichiers de logs. */</span></div></li> |
<li><div class="src-line"><a name="a28"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$droitLogger </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a29"></a> </div></li> |
<li><div class="src-line"><a name="a30"></a> <span class="src-doc">/** Zone horaire (pour éviter des avertissements dans les dates). */</span></div></li> |
<li><div class="src-line"><a name="a31"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$timeZone </span>= <span class="src-str">'Europe/Paris'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a32"></a> </div></li> |
<li><div class="src-line"><a name="a33"></a> <span class="src-doc">/** Taille maximum d'un fichier de log avant que celui ne soit archivé (en octets). */</span></div></li> |
<li><div class="src-line"><a name="a34"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$tailleMax </span>= <span class="src-num">10000</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a35"></a> </div></li> |
<li><div class="src-line"><a name="a36"></a> <span class="src-doc">/** séparateur de dossier dans un chemin. */</span></div></li> |
<li><div class="src-line"><a name="a37"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$sd </span>= <span class="src-id">DIRECTORY_SEPARATOR</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a38"></a> </div></li> |
<li><div class="src-line"><a name="a39"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a40"></a><span class="src-doc"> * Taille maximum d'un fichier de log avant que celui ne soit archivé (en octets)</span></div></li> |
<li><div class="src-line"><a name="a41"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a42"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$tailleMax </span>= <span class="src-num">10000</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a43"></a> </div></li> |
<li><div class="src-line"><a name="a44"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a45"></a><span class="src-doc"> * séparateur de chemin</span></div></li> |
<li><div class="src-line"><a name="a46"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a47"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$sd </span>= <span class="src-id">DIRECTORY_SEPARATOR</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a48"></a> </div></li> |
<li><div class="src-line"><a name="a49"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a50"></a><span class="src-doc"> * Extension des fichiers de log</span></div></li> |
<li><div class="src-line"><a name="a51"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a52"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$ext </span>= <span class="src-str">'.log'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a53"></a> </div></li> |
<li><div class="src-line"><a name="a54"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a55"></a><span class="src-doc"> * La classe registre se contient elle-même, (pour le pattern singleton)</span></div></li> |
<li><div class="src-line"><a name="a56"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a57"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$log</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a58"></a> </div></li> |
<li><div class="src-line"><a name="a59"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a60"></a><span class="src-doc"> * Constructeur par défaut, privé, car on accède à la classe par le getInstance</span></div></li> |
<li><div class="src-line"><a name="a61"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a62"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">__construct</span><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a63"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$sd </span>= <span class="src-id">Config</span><span class="src-sym">::</span><span class="src-id">get</span><span class="src-sym">(</span><span class="src-str">'ds'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a64"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$cheminLogs </span>= <span class="src-id">Config</span><span class="src-sym">::</span><span class="src-id">get</span><span class="src-sym">(</span><span class="src-str">'chemin_logs'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a65"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$timeZone </span>= <span class="src-id">Config</span><span class="src-sym">::</span><span class="src-id">get</span><span class="src-sym">(</span><span class="src-str">'fw_timezone'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a66"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$tailleMax </span>= <span class="src-id">Config</span><span class="src-sym">::</span><span class="src-id">get</span><span class="src-sym">(</span><span class="src-str">'fw_taille_max_logs'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a67"></a> </div></li> |
<li><div class="src-line"><a name="a68"></a> <span class="src-comm">// gestion de la timezone pour éviter des erreurs</span></div></li> |
<li><div class="src-line"><a name="a69"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/function_exists">function_exists</a><span class="src-sym">(</span><span class="src-str">'date_default_timezone_set'</span><span class="src-sym">) </span>&& <a href="http://www.php.net/function_exists">function_exists</a><span class="src-sym">(</span><span class="src-str">'date_default_timezone_get'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a70"></a> <a href="http://www.php.net/date_default_timezone_set">date_default_timezone_set</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$timeZone</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a71"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a72"></a> </div></li> |
<li><div class="src-line"><a name="a73"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-id">is_dir</span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$cheminLogs</span><span class="src-sym">) </span>|| <span class="src-sym">!</span><span class="src-id">is_writable</span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$cheminLogs</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a74"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">desactiverEcriture</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a75"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a76"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a77"></a> </div></li> |
<li><div class="src-line"><a name="a78"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a79"></a><span class="src-doc"> * Fonction qui renvoie l'instance de classe en assurant son unicité, c'est l'unique méthode qui doit être</span></div></li> |
<li><div class="src-line"><a name="a80"></a><span class="src-doc"> * utilisée pour récupérer l'objet Registre</span></div></li> |
<li><div class="src-line"><a name="a81"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">Log </span><span class="src-doc"> le gestionnaire de log en cours</span></div></li> |
<li><div class="src-line"><a name="a82"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a83"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/Log.html#methodgetInstance">getInstance</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a84"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$log </span>instanceof <span class="src-id">Log</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a85"></a> <span class="src-key">return </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$log</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a86"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a87"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$log </span>= <span class="src-key">new </span><span class="src-id">Log</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a88"></a> <span class="src-key">return </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$log</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a89"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a90"></a> </div></li> |
<li><div class="src-line"><a name="a91"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a92"></a><span class="src-doc"> * Ajoute une entrée au log spécifié par le paramètre $nomFichier</span></div></li> |
<li><div class="src-line"><a name="a93"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$nomFichier </span><span class="src-doc">le nom du fichier dans lequel écrire</span></div></li> |
<li><div class="src-line"><a name="a94"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a95"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/Log.html#methodajouterEntree">ajouterEntree</a><span class="src-sym">(</span><span class="src-var">$nomFichier</span><span class="src-sym">,</span><span class="src-var">$entree</span><span class="src-sym">,</span><span class="src-var">$mode</span>=<span class="src-str">'a+'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a96"></a> <span class="src-key">if</span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$droitLogger</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a97"></a> <span class="src-var">$date </span>= <span class="src-str">"\n"</span>.<span class="src-str">"\n"</span>.<span class="src-id">date</span><span class="src-sym">(</span><span class="src-str">'d m Y H:i'</span><span class="src-sym">)</span>.<span class="src-str">"\n" </span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a98"></a> </div></li> |
<li><div class="src-line"><a name="a99"></a> <span class="src-comm">// si le fichier est déjà dans le tableau et qu'on peut y écrire</span></div></li> |
<li><div class="src-line"><a name="a100"></a> <span class="src-key">if</span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">verifierOuvrirFichier</span><span class="src-sym">(</span><span class="src-var">$nomFichier</span><span class="src-sym">,</span><span class="src-var">$mode</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a101"></a> <span class="src-comm">// on y écrit le message de log</span></div></li> |
<li><div class="src-line"><a name="a102"></a> <a href="http://www.php.net/fwrite">fwrite</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$fichiersLog</span><span class="src-sym">[</span><span class="src-var">$nomFichier</span><span class="src-sym">]</span><span class="src-sym">,</span><span class="src-var">$date</span>.<span class="src-var">$entree</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a103"></a> <span class="src-comm">// on vérifie si le fichier ne dépasse pas la taille maximale</span></div></li> |
<li><div class="src-line"><a name="a104"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">verifierTailleFichierOuArchiver</span><span class="src-sym">(</span><span class="src-var">$nomFichier</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a105"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a106"></a> <span class="src-comm">// sinon on interdit l'écriture</span></div></li> |
<li><div class="src-line"><a name="a107"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">desactiverEcriture</span><span class="src-sym">(</span><span class="src-var">$nomFichier</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a108"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a109"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a110"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a111"></a> </div></li> |
<li><div class="src-line"><a name="a112"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a113"></a><span class="src-doc"> * Vide un fichier log indiqué</span></div></li> |
<li><div class="src-line"><a name="a114"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$nomFichier </span><span class="src-doc">le nom du fichier à vider</span></div></li> |
<li><div class="src-line"><a name="a115"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a116"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/Log.html#methodviderLog">viderLog</a><span class="src-sym">(</span><span class="src-var">$nomFichier</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a117"></a> <a href="../Framework/Log.html#methodajouterEntree">ajouterEntree</a><span class="src-sym">(</span><span class="src-var">$nomFichier</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-str">'w'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a118"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a119"></a> </div></li> |
<li><div class="src-line"><a name="a120"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a121"></a><span class="src-doc"> * Vérifie la présence d'un fichier dans le tableau, ses droits d'écriture,</span></div></li> |
<li><div class="src-line"><a name="a122"></a><span class="src-doc"> * l'ouvre si nécessaire</span></div></li> |
<li><div class="src-line"><a name="a123"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$nomFichier </span><span class="src-doc">le nom du fichier dont on doit vérifier la présence</span></div></li> |
<li><div class="src-line"><a name="a124"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">boolean </span><span class="src-doc">true si le fichier est ouvert ou maintenant accessible, false sinon</span></div></li> |
<li><div class="src-line"><a name="a125"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a126"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/Log.html#methodverifierOuvrirFichier">verifierOuvrirFichier</a><span class="src-sym">(</span><span class="src-var">$nomFichier</span><span class="src-sym">,</span><span class="src-var">$mode</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a127"></a> <span class="src-comm">// le fichier est il déjà ouvert ?</span></div></li> |
<li><div class="src-line"><a name="a128"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/in_array">in_array</a><span class="src-sym">(</span><span class="src-var">$nomFichier</span><span class="src-sym">, </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$fichiersLog</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a129"></a> <span class="src-comm">// si oui peut on y écrire ?</span></div></li> |
<li><div class="src-line"><a name="a130"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">is_writable</span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$cheminLogs</span>.<span class="src-var">$nomFichier</span>.<span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$ext</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a131"></a> <span class="src-comm">// si oui on renvoie le descripteur</span></div></li> |
<li><div class="src-line"><a name="a132"></a> <span class="src-key">return </span><span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a133"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a134"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a135"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a136"></a> <span class="src-comm">// sinon on l'ouvre</span></div></li> |
<li><div class="src-line"><a name="a137"></a> <span class="src-var">$fp </span>= <span class="src-sym">@</span><a href="http://www.php.net/fopen">fopen</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$cheminLogs</span>.<span class="src-var">$nomFichier</span>.<span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$ext</span><span class="src-sym">,</span><span class="src-var">$mode</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a138"></a> <span class="src-comm">// si l'ouverture a réussi et si le fichier a les droits d'écriture</span></div></li> |
<li><div class="src-line"><a name="a139"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$fp </span>&& <span class="src-id">is_writable</span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$cheminLogs</span>.<span class="src-var">$nomFichier</span>.<span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$ext</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a140"></a> <span class="src-comm">// si oui on renvoie le descripteur qu'on ajoute au tableau</span></div></li> |
<li><div class="src-line"><a name="a141"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$fichiersLog</span><span class="src-sym">[</span><span class="src-var">$nomFichier</span><span class="src-sym">] </span>= <span class="src-var">$fp</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a142"></a> <span class="src-key">return </span><span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a143"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a144"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a145"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a146"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a147"></a> </div></li> |
<li><div class="src-line"><a name="a148"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a149"></a><span class="src-doc"> * Vérifie la taille d'un fichier donné et si celle ci est trop importante</span></div></li> |
<li><div class="src-line"><a name="a150"></a><span class="src-doc"> * archive le fichier de log</span></div></li> |
<li><div class="src-line"><a name="a151"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$nomFichier </span><span class="src-doc">nom du fichier à vérifier</span></div></li> |
<li><div class="src-line"><a name="a152"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a153"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">verifierTailleFichierOuArchiver</span><span class="src-sym">(</span><span class="src-var">$nomFichier</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a154"></a> <span class="src-key">if</span><span class="src-sym">(</span><a href="http://www.php.net/filesize">filesize</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$cheminLogs</span>.<span class="src-var">$nomFichier</span>.<span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$ext</span><span class="src-sym">) </span>> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$tailleMax</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a155"></a> <span class="src-id">rename</span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$cheminLogs</span>.<span class="src-var">$nomFichier</span>.<span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$ext</span><span class="src-sym">,</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$cheminLogs</span>.<span class="src-var">$nomFichier</span>.<span class="src-id">date</span><span class="src-sym">(</span><span class="src-str">'d_m_Y_H:i'</span><span class="src-sym">)</span>.<span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$ext</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a156"></a> <span class="src-id">ajouterEntree</span><span class="src-sym">(</span><span class="src-var">$nomFichier</span><span class="src-sym">,</span><span class="src-str">''</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a157"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a158"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a159"></a> </div></li> |
<li><div class="src-line"><a name="a160"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a161"></a><span class="src-doc"> * Désactive l'écriture du log et envoie un message au gestionnaire d'erreurs</span></div></li> |
<li><div class="src-line"><a name="a162"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$nomFichier </span><span class="src-doc">le nom du fichier qui a causé l'erreur</span></div></li> |
<li><div class="src-line"><a name="a163"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a164"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">desactiverEcriture</span><span class="src-sym">(</span><span class="src-var">$nomFichier </span>= <span class="src-str">''</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a165"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$droitLogger </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a166"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$nomFichier </span>!= <span class="src-str">''</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a167"></a> <span class="src-var">$fichierDossier </span>= <span class="src-str">'fichier '</span>.<span class="src-var">$nomFichier </span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a168"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a169"></a> <span class="src-var">$fichierDossier </span>= <span class="src-str">'dossier des logs'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a170"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a171"></a> <span class="src-var">$message </span>= <span class="src-str">'Écriture impossible dans le '</span>.<span class="src-var">$fichierDossier</span>.<span class="src-str">', Assurez-vous des droits du dossier et des fichiers'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a172"></a> <span class="src-var">$e </span>= <span class="src-key">new </span><span class="src-id">ErrorException</span><span class="src-sym">(</span><span class="src-var">$message</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-id">E_USER_WARNING</span><span class="src-sym">, </span>__FILE__<span class="src-sym">, </span>__LINE__<span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a173"></a> <span class="src-id"><a href="../Framework/GestionnaireException.html">GestionnaireException</a></span><span class="src-sym">::</span><a href="../Framework/GestionnaireException.html#methodgererException">gererException</a><span class="src-sym">(</span><span class="src-var">$e</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a174"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a175"></a> </div></li> |
<li><div class="src-line"><a name="a176"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a177"></a><span class="src-doc"> * destructeur de classe, ferme les descripteurs ouverts</span></div></li> |
<li><div class="src-line"><a name="a178"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a179"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Log.html#method__destruct">__destruct</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a180"></a> <span class="src-key">foreach</span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$fichiersLog </span><span class="src-key">as </span><span class="src-var">$nomFichier </span>=> <span class="src-var">$fp</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a181"></a> <span class="src-id">fclose</span><span class="src-sym">(</span><span class="src-var">$fp</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a182"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a183"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a184"></a><span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a185"></a><span class="src-php">?></span></div></li> |
<li><div class="src-line"><a name="a39"></a> <span class="src-doc">/** Extension des fichiers de log. */</span></div></li> |
<li><div class="src-line"><a name="a40"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$ext </span>= <span class="src-str">'.log'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a41"></a> </div></li> |
<li><div class="src-line"><a name="a42"></a> <span class="src-doc">/** Tableau des noms des paramètres à définir dans le fichier de config car obligatoirement nécessaire à cette classe.*/</span></div></li> |
<li><div class="src-line"><a name="a43"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$parametres_obligatoires </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'chemin_logs'</span><span class="src-sym">, </span><span class="src-str">'i18n_timezone'</span><span class="src-sym">, </span><span class="src-str">'log_taille_max'</span><span class="src-sym">, </span><span class="src-str">'log_debogage'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a44"></a> </div></li> |
<li><div class="src-line"><a name="a45"></a> <span class="src-doc">/** Initialiser les logs par défaut, sans tenir comptes des paramêtres de config. */</span></div></li> |
<li><div class="src-line"><a name="a46"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/Log.html#methodinitialiser">initialiser</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a47"></a> <span class="src-comm">// gestion de la timezone pour éviter des erreurs</span></div></li> |
<li><div class="src-line"><a name="a48"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/function_exists">function_exists</a><span class="src-sym">(</span><span class="src-str">'date_default_timezone_set'</span><span class="src-sym">) </span>&& <a href="http://www.php.net/function_exists">function_exists</a><span class="src-sym">(</span><span class="src-str">'date_default_timezone_get'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a49"></a> <a href="http://www.php.net/date_default_timezone_set">date_default_timezone_set</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$timeZone</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a50"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a51"></a> </div></li> |
<li><div class="src-line"><a name="a52"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$logger </span>&& <span class="src-sym">(</span><span class="src-sym">!</span><span class="src-id">is_dir</span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$cheminLogs</span><span class="src-sym">) </span>|| <span class="src-sym">!</span><span class="src-id">is_writable</span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$cheminLogs</span><span class="src-sym">))) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a53"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">desactiverEcriture</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a54"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a55"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a56"></a> </div></li> |
<li><div class="src-line"><a name="a57"></a> <span class="src-doc">/** Configure le Log à partir des paramêtres de config. */</span></div></li> |
<li><div class="src-line"><a name="a58"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/Log.html#methodconfigurer">configurer</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a59"></a> <span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodverifierPresenceParametres">verifierPresenceParametres</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$parametres_obligatoires</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a60"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$cheminLogs </span>= <span class="src-id">Config</span><span class="src-sym">::</span><span class="src-id">get</span><span class="src-sym">(</span><span class="src-str">'chemin_logs'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a61"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$timeZone </span>= <span class="src-sym">(</span><span class="src-id">Config</span><span class="src-sym">::</span><span class="src-id">get</span><span class="src-sym">(</span><span class="src-str">'i18n_timezone'</span><span class="src-sym">) </span>!= <span class="src-str">''</span><span class="src-sym">) </span>? <span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'i18n_timezone'</span><span class="src-sym">) </span>: <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$timeZone</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a62"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$tailleMax </span>= <span class="src-sym">(</span><span class="src-id">Config</span><span class="src-sym">::</span><span class="src-id">get</span><span class="src-sym">(</span><span class="src-str">'log_taille_max'</span><span class="src-sym">) </span>!= <span class="src-str">''</span><span class="src-sym">) </span>? <span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'log_taille_max'</span><span class="src-sym">) </span>: <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$tailleMax</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a63"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$logger </span>= <span class="src-sym">(</span><span class="src-id">Config</span><span class="src-sym">::</span><span class="src-id">get</span><span class="src-sym">(</span><span class="src-str">'log_debogage'</span><span class="src-sym">) </span>!= <span class="src-str">''</span><span class="src-sym">) </span>? <span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'log_debogage'</span><span class="src-sym">) </span>: <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$logger</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a64"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">initialiser</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a65"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a66"></a> </div></li> |
<li><div class="src-line"><a name="a67"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a68"></a><span class="src-doc"> * Ajoute une entrée au log spécifié par le paramètre $nomFichier</span></div></li> |
<li><div class="src-line"><a name="a69"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$nomFichier </span><span class="src-doc">le nom du fichier dans lequel écrire</span></div></li> |
<li><div class="src-line"><a name="a70"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a71"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/Log.html#methodajouterEntree">ajouterEntree</a><span class="src-sym">(</span><span class="src-var">$nomFichier</span><span class="src-sym">, </span><span class="src-var">$entree</span><span class="src-sym">, </span><span class="src-var">$mode </span>= <span class="src-str">'a+'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a72"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$droitLogger</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a73"></a> <span class="src-var">$date </span>= <span class="src-str">"\n\n"</span>.<span class="src-id">date</span><span class="src-sym">(</span><span class="src-str">'d m Y H:i'</span><span class="src-sym">)</span>.<span class="src-str">"\n" </span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a74"></a> </div></li> |
<li><div class="src-line"><a name="a75"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">verifierOuvrirFichier</span><span class="src-sym">(</span><span class="src-var">$nomFichier</span><span class="src-sym">, </span><span class="src-var">$mode</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a76"></a> <a href="http://www.php.net/fwrite">fwrite</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$fichiersLog</span><span class="src-sym">[</span><span class="src-var">$nomFichier</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$date</span>.<span class="src-var">$entree</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a77"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">verifierTailleFichierOuArchiver</span><span class="src-sym">(</span><span class="src-var">$nomFichier</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a78"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a79"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">desactiverEcriture</span><span class="src-sym">(</span><span class="src-var">$nomFichier</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a80"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a81"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a82"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a83"></a> </div></li> |
<li><div class="src-line"><a name="a84"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a85"></a><span class="src-doc"> * Vide un fichier log indiqué</span></div></li> |
<li><div class="src-line"><a name="a86"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$nomFichier </span><span class="src-doc">le nom du fichier à vider</span></div></li> |
<li><div class="src-line"><a name="a87"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a88"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/Log.html#methodviderLog">viderLog</a><span class="src-sym">(</span><span class="src-var">$nomFichier</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a89"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">ajouterEntree</span><span class="src-sym">(</span><span class="src-var">$nomFichier</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-str">'w'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a90"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a91"></a> </div></li> |
<li><div class="src-line"><a name="a92"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a93"></a><span class="src-doc"> * Vérifie la présence d'un fichier dans le tableau, ses droits d'écriture, l'ouvre si nécessaire.</span></div></li> |
<li><div class="src-line"><a name="a94"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a95"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$nomFichier </span><span class="src-doc">le nom du fichier dont on doit vérifier la présence</span></div></li> |
<li><div class="src-line"><a name="a96"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">boolean </span><span class="src-doc">true si le fichier est ouvert ou maintenant accessible, false sinon</span></div></li> |
<li><div class="src-line"><a name="a97"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a98"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/Log.html#methodverifierOuvrirFichier">verifierOuvrirFichier</a><span class="src-sym">(</span><span class="src-var">$nomFichier</span><span class="src-sym">,</span><span class="src-var">$mode</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a99"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/in_array">in_array</a><span class="src-sym">(</span><span class="src-var">$nomFichier</span><span class="src-sym">, </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$fichiersLog</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a100"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">is_writable</span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$cheminLogs</span>.<span class="src-var">$nomFichier</span>.<span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$ext</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a101"></a> <span class="src-key">return </span><span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a102"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a103"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a104"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a105"></a> <span class="src-var">$fp </span>= <span class="src-sym">@</span><a href="http://www.php.net/fopen">fopen</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$cheminLogs</span>.<span class="src-var">$nomFichier</span>.<span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$ext</span><span class="src-sym">,</span><span class="src-var">$mode</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a106"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$fp </span>&& <span class="src-id">is_writable</span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$cheminLogs</span>.<span class="src-var">$nomFichier</span>.<span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$ext</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a107"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$fichiersLog</span><span class="src-sym">[</span><span class="src-var">$nomFichier</span><span class="src-sym">] </span>= <span class="src-var">$fp</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a108"></a> <span class="src-key">return </span><span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a109"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a110"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a111"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a112"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a113"></a> </div></li> |
<li><div class="src-line"><a name="a114"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a115"></a><span class="src-doc"> * Vérifie la taille d'un fichier donné et si celle ci est trop importante</span></div></li> |
<li><div class="src-line"><a name="a116"></a><span class="src-doc"> * archive le fichier de log</span></div></li> |
<li><div class="src-line"><a name="a117"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$nomFichier </span><span class="src-doc">nom du fichier à vérifier</span></div></li> |
<li><div class="src-line"><a name="a118"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a119"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">verifierTailleFichierOuArchiver</span><span class="src-sym">(</span><span class="src-var">$nomFichier</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a120"></a> <span class="src-key">if</span><span class="src-sym">(</span><a href="http://www.php.net/filesize">filesize</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$cheminLogs</span>.<span class="src-var">$nomFichier</span>.<span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$ext</span><span class="src-sym">) </span>> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$tailleMax</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a121"></a> <span class="src-id">rename</span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$cheminLogs</span>.<span class="src-var">$nomFichier</span>.<span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$ext</span><span class="src-sym">,</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$cheminLogs</span>.<span class="src-var">$nomFichier</span>.<span class="src-id">date</span><span class="src-sym">(</span><span class="src-str">'d_m_Y_H:i'</span><span class="src-sym">)</span>.<span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$ext</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a122"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">ajouterEntree</span><span class="src-sym">(</span><span class="src-var">$nomFichier</span><span class="src-sym">,</span><span class="src-str">''</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a123"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a124"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a125"></a> </div></li> |
<li><div class="src-line"><a name="a126"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a127"></a><span class="src-doc"> * Désactive l'écriture du log et envoie un message au gestionnaire d'erreurs</span></div></li> |
<li><div class="src-line"><a name="a128"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$nomFichier </span><span class="src-doc">le nom du fichier qui a causé l'erreur</span></div></li> |
<li><div class="src-line"><a name="a129"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a130"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">desactiverEcriture</span><span class="src-sym">(</span><span class="src-var">$nomFichier </span>= <span class="src-str">''</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a131"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$droitLogger </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a132"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$nomFichier </span>!= <span class="src-str">''</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a133"></a> <span class="src-var">$fichierDossier </span>= <span class="src-str">'fichier '</span>.<span class="src-var">$nomFichier </span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a134"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a135"></a> <span class="src-var">$fichierDossier </span>= <span class="src-str">'dossier des logs'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a136"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a137"></a> <span class="src-var">$message </span>= <span class="src-str">'Écriture impossible dans le '</span>.<span class="src-var">$fichierDossier</span>.<span class="src-str">', Assurez-vous des droits du dossier et des fichiers'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a138"></a> <span class="src-var">$e </span>= <span class="src-key">new </span><span class="src-id">ErrorException</span><span class="src-sym">(</span><span class="src-var">$message</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-id">E_USER_WARNING</span><span class="src-sym">, </span>__FILE__<span class="src-sym">, </span>__LINE__<span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a139"></a> <span class="src-id"><a href="../Framework/GestionnaireException.html">GestionnaireException</a></span><span class="src-sym">::</span><a href="../Framework/GestionnaireException.html#methodgererException">gererException</a><span class="src-sym">(</span><span class="src-var">$e</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a140"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a141"></a> </div></li> |
<li><div class="src-line"><a name="a142"></a> <span class="src-doc">/** Destructeur de classe, ferme les descripteurs ouverts. */</span></div></li> |
<li><div class="src-line"><a name="a143"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Log.html#method__destruct">__destruct</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a144"></a> <span class="src-key">foreach</span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$fichiersLog </span><span class="src-key">as </span><span class="src-var">$nomFichier </span>=> <span class="src-var">$fp</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a145"></a> <span class="src-id">fclose</span><span class="src-sym">(</span><span class="src-var">$fp</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a146"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a147"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a148"></a><span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a149"></a><span class="src-php">?></span></div></li> |
</ol></div> |
</div> |
<p class="notes" id="credit"> |
Documentation generated on Thu, 04 Mar 2010 19:27:23 +0100 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.3</a> |
Documentation generated on Tue, 18 Jan 2011 15:01:35 +0100 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.3</a> |
</p> |
</body> |
</html> |
/trunk/doc/HTMLframesConverter/__filesource/fsource_Framework__SquelettePhp.php.html |
---|
18,30 → 18,30 |
<li><div class="src-line"><a name="a5"></a><span class="src-doc"> * Ces méthodes sont statiques.</span></div></li> |
<li><div class="src-line"><a name="a6"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a7"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@category</span><span class="src-doc"> php5</span></div></li> |
<li><div class="src-line"><a name="a8"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@package</span><span class="src-doc"> Framework</span></div></li> |
<li><div class="src-line"><a name="a8"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@package</span><span class="src-doc"> Framework</span></div></li> |
<li><div class="src-line"><a name="a9"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@author</span><span class="src-doc"> Jean-Pascal MILCENT <jpm@tela-botanica.org></span></div></li> |
<li><div class="src-line"><a name="a10"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@copyright</span><span class="src-doc"> 2010 Tela-Botanica</span></div></li> |
<li><div class="src-line"><a name="a11"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL</span></div></li> |
<li><div class="src-line"><a name="a12"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.gnu.org/licenses/gpl.html Licence GNU-GPL</span></div></li> |
<li><div class="src-line"><a name="a13"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@version</span><span class="src-doc"> SVN: $$Id: SquelettePhp.php 153 2010-03-04 10:48:32Z jpm $$</span></div></li> |
<li><div class="src-line"><a name="a10"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@copyright</span><span class="src-doc"> Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org)</span></div></li> |
<li><div class="src-line"><a name="a11"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL</span></div></li> |
<li><div class="src-line"><a name="a12"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.gnu.org/licenses/gpl.html Licence GNU-GPL</span></div></li> |
<li><div class="src-line"><a name="a13"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@version</span><span class="src-doc"> $Id: SquelettePhp.php 241 2010-12-06 15:19:07Z jpm $</span></div></li> |
<li><div class="src-line"><a name="a14"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@link</span><span class="src-doc"> /doc/framework/</span></div></li> |
<li><div class="src-line"><a name="a15"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a16"></a><span class="src-key">class </span><a href="../Framework/SquelettePhp.html">SquelettePhp</a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a17"></a> </div></li> |
<li><div class="src-line"><a name="a17"></a> </div></li> |
<li><div class="src-line"><a name="a18"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a19"></a><span class="src-doc"> * Fonction prenant en paramètre un chemin de fichier squelette et un tableau associatif de données,</span></div></li> |
<li><div class="src-line"><a name="a20"></a><span class="src-doc"> * en extrait les variables, charge le squelette et retourne le résultat des deux combinés.</span></div></li> |
<li><div class="src-line"><a name="a21"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a22"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">String </span><span class="src-doc-var">$fichier </span><span class="src-doc"> le chemin du fichier du squelette</span></div></li> |
<li><div class="src-line"><a name="a23"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">Array </span><span class="src-doc"> </span><span class="src-doc-var">$donnees </span><span class="src-doc"> un tableau associatif contenant les variables a injecter dans le squelette.</span></div></li> |
<li><div class="src-line"><a name="a24"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a25"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">boolean </span><span class="src-doc">false si la vue n'existe pas, sinon la chaine résultat.</span></div></li> |
<li><div class="src-line"><a name="a26"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a27"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/SquelettePhp.html#methodanalyser">analyser</a><span class="src-sym">(</span><span class="src-var">$fichier</span><span class="src-sym">, </span><span class="src-key">Array </span><span class="src-var">$donnees </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a28"></a> <span class="src-var">$sortie </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a29"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/file_exists">file_exists</a><span class="src-sym">(</span><span class="src-var">$fichier</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a30"></a> <span class="src-comm">// Extraction des variables du tableau de données</span></div></li> |
<li><div class="src-line"><a name="a31"></a> <a href="http://www.php.net/extract">extract</a><span class="src-sym">(</span><span class="src-var">$donnees</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a21"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a22"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">String </span><span class="src-doc"> </span><span class="src-doc-var">$fichier </span><span class="src-doc"> le chemin du fichier du squelette</span></div></li> |
<li><div class="src-line"><a name="a23"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">Array </span><span class="src-doc"> </span><span class="src-doc-var">$donnees </span><span class="src-doc"> un tableau associatif contenant les variables a injecter dans le squelette.</span></div></li> |
<li><div class="src-line"><a name="a24"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">boolean </span><span class="src-doc">false si la vue n'existe pas, sinon la chaine résultat.</span></div></li> |
<li><div class="src-line"><a name="a25"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a26"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/SquelettePhp.html#methodanalyser">analyser</a><span class="src-sym">(</span><span class="src-var">$fichier</span><span class="src-sym">, </span><span class="src-key">Array </span><span class="src-sym">&</span><span class="src-var">$donnees </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a27"></a> <span class="src-var">$sortie </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a28"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/file_exists">file_exists</a><span class="src-sym">(</span><span class="src-var">$fichier</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a29"></a> <span class="src-comm">// Extraction des variables du tableau de données</span></div></li> |
<li><div class="src-line"><a name="a30"></a> <a href="http://www.php.net/extract">extract</a><span class="src-sym">(</span><span class="src-var">$donnees</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a31"></a> </div></li> |
<li><div class="src-line"><a name="a32"></a> <span class="src-comm">// Démarage de la bufferisation de sortie</span></div></li> |
<li><div class="src-line"><a name="a33"></a> <a href="http://www.php.net/ob_start">ob_start</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a34"></a> <span class="src-comm">// Si les tags courts sont activés</span></div></li> |
67,28 → 67,27 |
<li><div class="src-line"><a name="a54"></a> <span class="src-comm">// Retourne le contenu</span></div></li> |
<li><div class="src-line"><a name="a55"></a> <span class="src-key">return </span><span class="src-var">$sortie</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a56"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a57"></a> </div></li> |
<li><div class="src-line"><a name="a57"></a> </div></li> |
<li><div class="src-line"><a name="a58"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a59"></a><span class="src-doc"> * Fonction chargeant le contenu du squelette et remplaçant les tags court php (<?= ...) par un tag long avec echo.</span></div></li> |
<li><div class="src-line"><a name="a60"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a61"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">String </span><span class="src-doc-var">$chemin_squelette </span><span class="src-doc">le chemin du fichier du squelette</span></div></li> |
<li><div class="src-line"><a name="a62"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a63"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">le contenu du fichier du squelette php avec les tags courts remplacés.</span></div></li> |
<li><div class="src-line"><a name="a64"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a65"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">traiterTagsCourts</span><span class="src-sym">(</span><span class="src-var">$chemin_squelette</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a66"></a> <span class="src-var">$contenu </span>= <a href="http://www.php.net/file_get_contents">file_get_contents</a><span class="src-sym">(</span><span class="src-var">$chemin_squelette</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a67"></a> <span class="src-comm">// Remplacement de tags courts par un tag long avec echo</span></div></li> |
<li><div class="src-line"><a name="a68"></a> <span class="src-var">$contenu </span>= <a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-str">'<?='</span><span class="src-sym">, </span><span class="src-str">'<?php echo '</span><span class="src-sym">, </span><span class="src-var">$contenu</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a69"></a> <span class="src-comm">// Ajout systématique d'un point virgule avant la fermeture php</span></div></li> |
<li><div class="src-line"><a name="a70"></a> <span class="src-var">$contenu </span>= <a href="http://www.php.net/preg_replace">preg_replace</a><span class="src-sym">(</span><span class="src-str">"/;*\s*\?>/"</span><span class="src-sym">, </span><span class="src-str">"; ?>"</span><span class="src-sym">, </span><span class="src-var">$contenu</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a71"></a> <span class="src-key">return </span><span class="src-var">$contenu</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a72"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a73"></a><span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a74"></a><span class="src-php">?></span></div></li> |
<li><div class="src-line"><a name="a60"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a61"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">String </span><span class="src-doc"> </span><span class="src-doc-var">$chemin_squelette </span><span class="src-doc"> le chemin du fichier du squelette</span></div></li> |
<li><div class="src-line"><a name="a62"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc"> </span><span class="src-doc-type">string </span><span class="src-doc"> le contenu du fichier du squelette php avec les tags courts remplacés.</span></div></li> |
<li><div class="src-line"><a name="a63"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a64"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">traiterTagsCourts</span><span class="src-sym">(</span><span class="src-var">$chemin_squelette</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a65"></a> <span class="src-var">$contenu </span>= <a href="http://www.php.net/file_get_contents">file_get_contents</a><span class="src-sym">(</span><span class="src-var">$chemin_squelette</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a66"></a> <span class="src-comm">// Remplacement de tags courts par un tag long avec echo</span></div></li> |
<li><div class="src-line"><a name="a67"></a> <span class="src-var">$contenu </span>= <a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-str">'<?='</span><span class="src-sym">, </span><span class="src-str">'<?php echo '</span><span class="src-sym">, </span><span class="src-var">$contenu</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a68"></a> <span class="src-comm">// Ajout systématique d'un point virgule avant la fermeture php</span></div></li> |
<li><div class="src-line"><a name="a69"></a> <span class="src-var">$contenu </span>= <a href="http://www.php.net/preg_replace">preg_replace</a><span class="src-sym">(</span><span class="src-str">"/;*\s*\?>/"</span><span class="src-sym">, </span><span class="src-str">"; ?>"</span><span class="src-sym">, </span><span class="src-var">$contenu</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a70"></a> <span class="src-key">return </span><span class="src-var">$contenu</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a71"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a72"></a><span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a73"></a><span class="src-php">?></span></div></li> |
</ol></div> |
</div> |
<p class="notes" id="credit"> |
Documentation generated on Thu, 04 Mar 2010 19:27:25 +0100 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.3</a> |
Documentation generated on Tue, 18 Jan 2011 15:01:43 +0100 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.3</a> |
</p> |
</body> |
</html> |
/trunk/doc/HTMLframesConverter/__filesource/fsource_Utilitaire__utilitairesChaine.php.html |
---|
New file |
0,0 → 1,88 |
<?xml version="1.0" encoding="UTF-8"?> |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
<html xmlns="http://www.w3.org/1999/xhtml"> |
<head> |
<!-- template designed by Marco Von Ballmoos --> |
<title>File Source for Chaine.php</title> |
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'/> |
<link rel="stylesheet" href="../media/stylesheet.css" /> |
</head> |
<body> |
<h1>Source for file Chaine.php</h1> |
<p>Documentation is available at <a href="../Utilitaire/_utilitaires---Chaine.php.html">Chaine.php</a></p> |
<div class="src-code"> |
<div class="src-code"><ol><li><div class="src-line"><a name="a1"></a><span class="src-php"><?php</span></div></li> |
<li><div class="src-line"><a name="a2"></a><span class="src-comm">// declare(encoding='UTF-8');</span></div></li> |
<li><div class="src-line"><a name="a3"></a><span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a4"></a><span class="src-doc"> * Classe fournissant des méthodes statiques de manipulation des chaînes de caractères (String).</span></div></li> |
<li><div class="src-line"><a name="a5"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a6"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@category</span><span class="src-doc"> PHP 5.2</span></div></li> |
<li><div class="src-line"><a name="a7"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@package</span><span class="src-doc"> Utilitaire</span></div></li> |
<li><div class="src-line"><a name="a8"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@author</span><span class="src-doc"> Jean-Pascal MILCENT <jpm@tela-botanica.org></span></div></li> |
<li><div class="src-line"><a name="a9"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@copyright</span><span class="src-doc"> Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org)</span></div></li> |
<li><div class="src-line"><a name="a10"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.gnu.org/licenses/gpl.html Licence GNU-GPL-v3</span></div></li> |
<li><div class="src-line"><a name="a11"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL-v2</span></div></li> |
<li><div class="src-line"><a name="a12"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@version</span><span class="src-doc"> $Id$</span></div></li> |
<li><div class="src-line"><a name="a13"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@link</span><span class="src-doc"> /doc/framework/</span></div></li> |
<li><div class="src-line"><a name="a14"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a15"></a><span class="src-key">class </span><a href="../Utilitaire/Chaine.html">Chaine</a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a16"></a> </div></li> |
<li><div class="src-line"><a name="a17"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$caracteres_accentues </span>= <span class="src-key">array</span><span class="src-sym">(</span></div></li> |
<li><div class="src-line"><a name="a18"></a> <span class="src-str">'À'</span><span class="src-sym">, </span><span class="src-str">'Á'</span><span class="src-sym">, </span><span class="src-str">'Â'</span><span class="src-sym">, </span><span class="src-str">'Ã'</span><span class="src-sym">, </span><span class="src-str">'Ä'</span><span class="src-sym">, </span><span class="src-str">'Å'</span><span class="src-sym">, </span><span class="src-str">'Æ'</span><span class="src-sym">, </span><span class="src-str">'Ç'</span><span class="src-sym">, </span><span class="src-str">'È'</span><span class="src-sym">, </span><span class="src-str">'É'</span><span class="src-sym">, </span><span class="src-str">'Ê'</span><span class="src-sym">, </span><span class="src-str">'Ë'</span><span class="src-sym">, </span><span class="src-str">'Ì'</span><span class="src-sym">, </span><span class="src-str">'Í'</span><span class="src-sym">, </span><span class="src-str">'Î'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a19"></a> <span class="src-str">'Ï'</span><span class="src-sym">, </span><span class="src-str">'Ð'</span><span class="src-sym">, </span><span class="src-str">'Ñ'</span><span class="src-sym">, </span><span class="src-str">'Ò'</span><span class="src-sym">, </span><span class="src-str">'Ó'</span><span class="src-sym">, </span><span class="src-str">'Ô'</span><span class="src-sym">, </span><span class="src-str">'Õ'</span><span class="src-sym">, </span><span class="src-str">'Ö'</span><span class="src-sym">, </span><span class="src-str">'Ø'</span><span class="src-sym">, </span><span class="src-str">'Ù'</span><span class="src-sym">, </span><span class="src-str">'Ú'</span><span class="src-sym">, </span><span class="src-str">'Û'</span><span class="src-sym">, </span><span class="src-str">'Ü'</span><span class="src-sym">, </span><span class="src-str">'Ý'</span><span class="src-sym">, </span><span class="src-str">'ß'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a20"></a> <span class="src-str">'à'</span><span class="src-sym">, </span><span class="src-str">'á'</span><span class="src-sym">, </span><span class="src-str">'â'</span><span class="src-sym">, </span><span class="src-str">'ã'</span><span class="src-sym">, </span><span class="src-str">'ä'</span><span class="src-sym">, </span><span class="src-str">'å'</span><span class="src-sym">, </span><span class="src-str">'æ'</span><span class="src-sym">, </span><span class="src-str">'ç'</span><span class="src-sym">, </span><span class="src-str">'è'</span><span class="src-sym">, </span><span class="src-str">'é'</span><span class="src-sym">, </span><span class="src-str">'ê'</span><span class="src-sym">, </span><span class="src-str">'ë'</span><span class="src-sym">, </span><span class="src-str">'ì'</span><span class="src-sym">, </span><span class="src-str">'í'</span><span class="src-sym">, </span><span class="src-str">'î'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a21"></a> <span class="src-str">'ï'</span><span class="src-sym">, </span><span class="src-str">'ñ'</span><span class="src-sym">, </span><span class="src-str">'ò'</span><span class="src-sym">, </span><span class="src-str">'ó'</span><span class="src-sym">, </span><span class="src-str">'ô'</span><span class="src-sym">, </span><span class="src-str">'õ'</span><span class="src-sym">, </span><span class="src-str">'ö'</span><span class="src-sym">, </span><span class="src-str">'ø'</span><span class="src-sym">, </span><span class="src-str">'ù'</span><span class="src-sym">, </span><span class="src-str">'ú'</span><span class="src-sym">, </span><span class="src-str">'û'</span><span class="src-sym">, </span><span class="src-str">'ü'</span><span class="src-sym">, </span><span class="src-str">'ý'</span><span class="src-sym">, </span><span class="src-str">'ÿ'</span><span class="src-sym">, </span><span class="src-str">'Ā'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a22"></a> <span class="src-str">'ā'</span><span class="src-sym">, </span><span class="src-str">'Ă'</span><span class="src-sym">, </span><span class="src-str">'ă'</span><span class="src-sym">, </span><span class="src-str">'Ą'</span><span class="src-sym">, </span><span class="src-str">'ą'</span><span class="src-sym">, </span><span class="src-str">'Ć'</span><span class="src-sym">, </span><span class="src-str">'ć'</span><span class="src-sym">, </span><span class="src-str">'Ĉ'</span><span class="src-sym">, </span><span class="src-str">'ĉ'</span><span class="src-sym">, </span><span class="src-str">'Ċ'</span><span class="src-sym">, </span><span class="src-str">'ċ'</span><span class="src-sym">, </span><span class="src-str">'Č'</span><span class="src-sym">, </span><span class="src-str">'č'</span><span class="src-sym">, </span><span class="src-str">'Ď'</span><span class="src-sym">, </span><span class="src-str">'ď'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a23"></a> <span class="src-str">'Đ'</span><span class="src-sym">, </span><span class="src-str">'đ'</span><span class="src-sym">, </span><span class="src-str">'Ē'</span><span class="src-sym">, </span><span class="src-str">'ē'</span><span class="src-sym">, </span><span class="src-str">'Ĕ'</span><span class="src-sym">, </span><span class="src-str">'ĕ'</span><span class="src-sym">, </span><span class="src-str">'Ė'</span><span class="src-sym">, </span><span class="src-str">'ė'</span><span class="src-sym">, </span><span class="src-str">'Ę'</span><span class="src-sym">, </span><span class="src-str">'ę'</span><span class="src-sym">, </span><span class="src-str">'Ě'</span><span class="src-sym">, </span><span class="src-str">'ě'</span><span class="src-sym">, </span><span class="src-str">'Ĝ'</span><span class="src-sym">, </span><span class="src-str">'ĝ'</span><span class="src-sym">, </span><span class="src-str">'Ğ'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a24"></a> <span class="src-str">'ğ'</span><span class="src-sym">, </span><span class="src-str">'Ġ'</span><span class="src-sym">, </span><span class="src-str">'ġ'</span><span class="src-sym">, </span><span class="src-str">'Ģ'</span><span class="src-sym">, </span><span class="src-str">'ģ'</span><span class="src-sym">, </span><span class="src-str">'Ĥ'</span><span class="src-sym">, </span><span class="src-str">'ĥ'</span><span class="src-sym">, </span><span class="src-str">'Ħ'</span><span class="src-sym">, </span><span class="src-str">'ħ'</span><span class="src-sym">, </span><span class="src-str">'Ĩ'</span><span class="src-sym">, </span><span class="src-str">'ĩ'</span><span class="src-sym">, </span><span class="src-str">'Ī'</span><span class="src-sym">, </span><span class="src-str">'ī'</span><span class="src-sym">, </span><span class="src-str">'Ĭ'</span><span class="src-sym">, </span><span class="src-str">'ĭ'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a25"></a> <span class="src-str">'Į'</span><span class="src-sym">, </span><span class="src-str">'į'</span><span class="src-sym">, </span><span class="src-str">'İ'</span><span class="src-sym">, </span><span class="src-str">'ı'</span><span class="src-sym">, </span><span class="src-str">'IJ'</span><span class="src-sym">, </span><span class="src-str">'ij'</span><span class="src-sym">, </span><span class="src-str">'Ĵ'</span><span class="src-sym">, </span><span class="src-str">'ĵ'</span><span class="src-sym">, </span><span class="src-str">'Ķ'</span><span class="src-sym">, </span><span class="src-str">'ķ'</span><span class="src-sym">, </span><span class="src-str">'Ĺ'</span><span class="src-sym">, </span><span class="src-str">'ĺ'</span><span class="src-sym">, </span><span class="src-str">'Ļ'</span><span class="src-sym">, </span><span class="src-str">'ļ'</span><span class="src-sym">, </span><span class="src-str">'Ľ'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a26"></a> <span class="src-str">'ľ'</span><span class="src-sym">, </span><span class="src-str">'Ŀ'</span><span class="src-sym">, </span><span class="src-str">'ŀ'</span><span class="src-sym">, </span><span class="src-str">'Ł'</span><span class="src-sym">, </span><span class="src-str">'ł'</span><span class="src-sym">, </span><span class="src-str">'Ń'</span><span class="src-sym">, </span><span class="src-str">'ń'</span><span class="src-sym">, </span><span class="src-str">'Ņ'</span><span class="src-sym">, </span><span class="src-str">'ņ'</span><span class="src-sym">, </span><span class="src-str">'Ň'</span><span class="src-sym">, </span><span class="src-str">'ň'</span><span class="src-sym">, </span><span class="src-str">'ʼn'</span><span class="src-sym">, </span><span class="src-str">'Ō'</span><span class="src-sym">, </span><span class="src-str">'ō'</span><span class="src-sym">, </span><span class="src-str">'Ŏ'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a27"></a> <span class="src-str">'ŏ'</span><span class="src-sym">, </span><span class="src-str">'Ő'</span><span class="src-sym">, </span><span class="src-str">'ő'</span><span class="src-sym">, </span><span class="src-str">'Œ'</span><span class="src-sym">, </span><span class="src-str">'œ'</span><span class="src-sym">, </span><span class="src-str">'Ŕ'</span><span class="src-sym">, </span><span class="src-str">'ŕ'</span><span class="src-sym">, </span><span class="src-str">'Ŗ'</span><span class="src-sym">, </span><span class="src-str">'ŗ'</span><span class="src-sym">, </span><span class="src-str">'Ř'</span><span class="src-sym">, </span><span class="src-str">'ř'</span><span class="src-sym">, </span><span class="src-str">'Ś'</span><span class="src-sym">, </span><span class="src-str">'ś'</span><span class="src-sym">, </span><span class="src-str">'Ŝ'</span><span class="src-sym">, </span><span class="src-str">'ŝ'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a28"></a> <span class="src-str">'Ş'</span><span class="src-sym">, </span><span class="src-str">'ş'</span><span class="src-sym">, </span><span class="src-str">'Š'</span><span class="src-sym">, </span><span class="src-str">'š'</span><span class="src-sym">, </span><span class="src-str">'Ţ'</span><span class="src-sym">, </span><span class="src-str">'ţ'</span><span class="src-sym">, </span><span class="src-str">'Ť'</span><span class="src-sym">, </span><span class="src-str">'ť'</span><span class="src-sym">, </span><span class="src-str">'Ŧ'</span><span class="src-sym">, </span><span class="src-str">'ŧ'</span><span class="src-sym">, </span><span class="src-str">'Ũ'</span><span class="src-sym">, </span><span class="src-str">'ũ'</span><span class="src-sym">, </span><span class="src-str">'Ū'</span><span class="src-sym">, </span><span class="src-str">'ū'</span><span class="src-sym">, </span><span class="src-str">'Ŭ'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a29"></a> <span class="src-str">'ŭ'</span><span class="src-sym">, </span><span class="src-str">'Ů'</span><span class="src-sym">, </span><span class="src-str">'ů'</span><span class="src-sym">, </span><span class="src-str">'Ű'</span><span class="src-sym">, </span><span class="src-str">'ű'</span><span class="src-sym">, </span><span class="src-str">'Ų'</span><span class="src-sym">, </span><span class="src-str">'ų'</span><span class="src-sym">, </span><span class="src-str">'Ŵ'</span><span class="src-sym">, </span><span class="src-str">'ŵ'</span><span class="src-sym">, </span><span class="src-str">'Ŷ'</span><span class="src-sym">, </span><span class="src-str">'ŷ'</span><span class="src-sym">, </span><span class="src-str">'Ÿ'</span><span class="src-sym">, </span><span class="src-str">'Ź'</span><span class="src-sym">, </span><span class="src-str">'ź'</span><span class="src-sym">, </span><span class="src-str">'Ż'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a30"></a> <span class="src-str">'ż'</span><span class="src-sym">, </span><span class="src-str">'Ž'</span><span class="src-sym">, </span><span class="src-str">'ž'</span><span class="src-sym">, </span><span class="src-str">'ſ'</span><span class="src-sym">, </span><span class="src-str">'ƒ'</span><span class="src-sym">, </span><span class="src-str">'Ơ'</span><span class="src-sym">, </span><span class="src-str">'ơ'</span><span class="src-sym">, </span><span class="src-str">'Ư'</span><span class="src-sym">, </span><span class="src-str">'ư'</span><span class="src-sym">, </span><span class="src-str">'Ǎ'</span><span class="src-sym">, </span><span class="src-str">'ǎ'</span><span class="src-sym">, </span><span class="src-str">'Ǐ'</span><span class="src-sym">, </span><span class="src-str">'ǐ'</span><span class="src-sym">, </span><span class="src-str">'Ǒ'</span><span class="src-sym">, </span><span class="src-str">'ǒ'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a31"></a> <span class="src-str">'Ǔ'</span><span class="src-sym">, </span><span class="src-str">'ǔ'</span><span class="src-sym">, </span><span class="src-str">'Ǖ'</span><span class="src-sym">, </span><span class="src-str">'ǖ'</span><span class="src-sym">, </span><span class="src-str">'Ǘ'</span><span class="src-sym">, </span><span class="src-str">'ǘ'</span><span class="src-sym">, </span><span class="src-str">'Ǚ'</span><span class="src-sym">, </span><span class="src-str">'ǚ'</span><span class="src-sym">, </span><span class="src-str">'Ǜ'</span><span class="src-sym">, </span><span class="src-str">'ǜ'</span><span class="src-sym">, </span><span class="src-str">'Ǻ'</span><span class="src-sym">, </span><span class="src-str">'ǻ'</span><span class="src-sym">, </span><span class="src-str">'Ǽ'</span><span class="src-sym">, </span><span class="src-str">'ǽ'</span><span class="src-sym">, </span><span class="src-str">'Ǿ'</span><span class="src-sym">, </span><span class="src-str">'ǿ'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a32"></a> </div></li> |
<li><div class="src-line"><a name="a33"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$caracteres_normaux </span>= <span class="src-key">array</span><span class="src-sym">(</span></div></li> |
<li><div class="src-line"><a name="a34"></a> <span class="src-str">'A'</span><span class="src-sym">, </span><span class="src-str">'A'</span><span class="src-sym">, </span><span class="src-str">'A'</span><span class="src-sym">, </span><span class="src-str">'A'</span><span class="src-sym">, </span><span class="src-str">'A'</span><span class="src-sym">, </span><span class="src-str">'A'</span><span class="src-sym">, </span><span class="src-str">'AE'</span><span class="src-sym">, </span><span class="src-str">'C'</span><span class="src-sym">, </span><span class="src-str">'E'</span><span class="src-sym">, </span><span class="src-str">'E'</span><span class="src-sym">, </span><span class="src-str">'E'</span><span class="src-sym">, </span><span class="src-str">'E'</span><span class="src-sym">, </span><span class="src-str">'I'</span><span class="src-sym">, </span><span class="src-str">'I'</span><span class="src-sym">, </span><span class="src-str">'I'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a35"></a> <span class="src-str">'I'</span><span class="src-sym">, </span><span class="src-str">'D'</span><span class="src-sym">, </span><span class="src-str">'N'</span><span class="src-sym">, </span><span class="src-str">'O'</span><span class="src-sym">, </span><span class="src-str">'O'</span><span class="src-sym">, </span><span class="src-str">'O'</span><span class="src-sym">, </span><span class="src-str">'O'</span><span class="src-sym">, </span><span class="src-str">'O'</span><span class="src-sym">, </span><span class="src-str">'O'</span><span class="src-sym">, </span><span class="src-str">'U'</span><span class="src-sym">, </span><span class="src-str">'U'</span><span class="src-sym">, </span><span class="src-str">'U'</span><span class="src-sym">, </span><span class="src-str">'U'</span><span class="src-sym">, </span><span class="src-str">'Y'</span><span class="src-sym">, </span><span class="src-str">'s'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a36"></a> <span class="src-str">'a'</span><span class="src-sym">, </span><span class="src-str">'a'</span><span class="src-sym">, </span><span class="src-str">'a'</span><span class="src-sym">, </span><span class="src-str">'a'</span><span class="src-sym">, </span><span class="src-str">'a'</span><span class="src-sym">, </span><span class="src-str">'a'</span><span class="src-sym">, </span><span class="src-str">'ae'</span><span class="src-sym">, </span><span class="src-str">'c'</span><span class="src-sym">, </span><span class="src-str">'e'</span><span class="src-sym">, </span><span class="src-str">'e'</span><span class="src-sym">, </span><span class="src-str">'e'</span><span class="src-sym">, </span><span class="src-str">'e'</span><span class="src-sym">, </span><span class="src-str">'i'</span><span class="src-sym">, </span><span class="src-str">'i'</span><span class="src-sym">, </span><span class="src-str">'i'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a37"></a> <span class="src-str">'i'</span><span class="src-sym">, </span><span class="src-str">'n'</span><span class="src-sym">, </span><span class="src-str">'o'</span><span class="src-sym">, </span><span class="src-str">'o'</span><span class="src-sym">, </span><span class="src-str">'o'</span><span class="src-sym">, </span><span class="src-str">'o'</span><span class="src-sym">, </span><span class="src-str">'o'</span><span class="src-sym">, </span><span class="src-str">'o'</span><span class="src-sym">, </span><span class="src-str">'u'</span><span class="src-sym">, </span><span class="src-str">'u'</span><span class="src-sym">, </span><span class="src-str">'u'</span><span class="src-sym">, </span><span class="src-str">'u'</span><span class="src-sym">, </span><span class="src-str">'y'</span><span class="src-sym">, </span><span class="src-str">'y'</span><span class="src-sym">, </span><span class="src-str">'A'</span><span class="src-sym">, </span><span class="src-str">'a'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a38"></a> <span class="src-str">'A'</span><span class="src-sym">, </span><span class="src-str">'a'</span><span class="src-sym">, </span><span class="src-str">'A'</span><span class="src-sym">, </span><span class="src-str">'a'</span><span class="src-sym">, </span><span class="src-str">'C'</span><span class="src-sym">, </span><span class="src-str">'c'</span><span class="src-sym">, </span><span class="src-str">'C'</span><span class="src-sym">, </span><span class="src-str">'c'</span><span class="src-sym">, </span><span class="src-str">'C'</span><span class="src-sym">, </span><span class="src-str">'c'</span><span class="src-sym">, </span><span class="src-str">'C'</span><span class="src-sym">, </span><span class="src-str">'c'</span><span class="src-sym">, </span><span class="src-str">'D'</span><span class="src-sym">, </span><span class="src-str">'d'</span><span class="src-sym">, </span><span class="src-str">'D'</span><span class="src-sym">, </span><span class="src-str">'d'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a39"></a> <span class="src-str">'E'</span><span class="src-sym">, </span><span class="src-str">'e'</span><span class="src-sym">, </span><span class="src-str">'E'</span><span class="src-sym">, </span><span class="src-str">'e'</span><span class="src-sym">, </span><span class="src-str">'E'</span><span class="src-sym">, </span><span class="src-str">'e'</span><span class="src-sym">, </span><span class="src-str">'E'</span><span class="src-sym">, </span><span class="src-str">'e'</span><span class="src-sym">, </span><span class="src-str">'E'</span><span class="src-sym">, </span><span class="src-str">'e'</span><span class="src-sym">, </span><span class="src-str">'G'</span><span class="src-sym">, </span><span class="src-str">'g'</span><span class="src-sym">, </span><span class="src-str">'G'</span><span class="src-sym">, </span><span class="src-str">'g'</span><span class="src-sym">, </span><span class="src-str">'G'</span><span class="src-sym">, </span><span class="src-str">'g'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a40"></a> <span class="src-str">'G'</span><span class="src-sym">, </span><span class="src-str">'g'</span><span class="src-sym">, </span><span class="src-str">'H'</span><span class="src-sym">, </span><span class="src-str">'h'</span><span class="src-sym">, </span><span class="src-str">'H'</span><span class="src-sym">, </span><span class="src-str">'h'</span><span class="src-sym">, </span><span class="src-str">'I'</span><span class="src-sym">, </span><span class="src-str">'i'</span><span class="src-sym">, </span><span class="src-str">'I'</span><span class="src-sym">, </span><span class="src-str">'i'</span><span class="src-sym">, </span><span class="src-str">'I'</span><span class="src-sym">, </span><span class="src-str">'i'</span><span class="src-sym">, </span><span class="src-str">'I'</span><span class="src-sym">, </span><span class="src-str">'i'</span><span class="src-sym">, </span><span class="src-str">'I'</span><span class="src-sym">, </span><span class="src-str">'i'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a41"></a> <span class="src-str">'IJ'</span><span class="src-sym">, </span><span class="src-str">'ij'</span><span class="src-sym">, </span><span class="src-str">'J'</span><span class="src-sym">, </span><span class="src-str">'j'</span><span class="src-sym">, </span><span class="src-str">'K'</span><span class="src-sym">, </span><span class="src-str">'k'</span><span class="src-sym">, </span><span class="src-str">'L'</span><span class="src-sym">, </span><span class="src-str">'l'</span><span class="src-sym">, </span><span class="src-str">'L'</span><span class="src-sym">, </span><span class="src-str">'l'</span><span class="src-sym">, </span><span class="src-str">'L'</span><span class="src-sym">, </span><span class="src-str">'l'</span><span class="src-sym">, </span><span class="src-str">'L'</span><span class="src-sym">, </span><span class="src-str">'l'</span><span class="src-sym">, </span><span class="src-str">'l'</span><span class="src-sym">, </span><span class="src-str">'l'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a42"></a> <span class="src-str">'N'</span><span class="src-sym">, </span><span class="src-str">'n'</span><span class="src-sym">, </span><span class="src-str">'N'</span><span class="src-sym">, </span><span class="src-str">'n'</span><span class="src-sym">, </span><span class="src-str">'N'</span><span class="src-sym">, </span><span class="src-str">'n'</span><span class="src-sym">, </span><span class="src-str">'n'</span><span class="src-sym">, </span><span class="src-str">'O'</span><span class="src-sym">, </span><span class="src-str">'o'</span><span class="src-sym">, </span><span class="src-str">'O'</span><span class="src-sym">, </span><span class="src-str">'o'</span><span class="src-sym">, </span><span class="src-str">'O'</span><span class="src-sym">, </span><span class="src-str">'o'</span><span class="src-sym">, </span><span class="src-str">'OE'</span><span class="src-sym">, </span><span class="src-str">'oe'</span><span class="src-sym">, </span><span class="src-str">'R'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a43"></a> <span class="src-str">'r'</span><span class="src-sym">, </span><span class="src-str">'R'</span><span class="src-sym">, </span><span class="src-str">'r'</span><span class="src-sym">, </span><span class="src-str">'R'</span><span class="src-sym">, </span><span class="src-str">'r'</span><span class="src-sym">, </span><span class="src-str">'S'</span><span class="src-sym">, </span><span class="src-str">'s'</span><span class="src-sym">, </span><span class="src-str">'S'</span><span class="src-sym">, </span><span class="src-str">'s'</span><span class="src-sym">, </span><span class="src-str">'S'</span><span class="src-sym">, </span><span class="src-str">'s'</span><span class="src-sym">, </span><span class="src-str">'S'</span><span class="src-sym">, </span><span class="src-str">'s'</span><span class="src-sym">, </span><span class="src-str">'T'</span><span class="src-sym">, </span><span class="src-str">'t'</span><span class="src-sym">, </span><span class="src-str">'T'</span><span class="src-sym">, </span><span class="src-str">'t'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a44"></a> <span class="src-str">'T'</span><span class="src-sym">, </span><span class="src-str">'t'</span><span class="src-sym">, </span><span class="src-str">'U'</span><span class="src-sym">, </span><span class="src-str">'u'</span><span class="src-sym">, </span><span class="src-str">'U'</span><span class="src-sym">, </span><span class="src-str">'u'</span><span class="src-sym">, </span><span class="src-str">'U'</span><span class="src-sym">, </span><span class="src-str">'u'</span><span class="src-sym">, </span><span class="src-str">'U'</span><span class="src-sym">, </span><span class="src-str">'u'</span><span class="src-sym">, </span><span class="src-str">'U'</span><span class="src-sym">, </span><span class="src-str">'u'</span><span class="src-sym">, </span><span class="src-str">'U'</span><span class="src-sym">, </span><span class="src-str">'u'</span><span class="src-sym">, </span><span class="src-str">'W'</span><span class="src-sym">, </span><span class="src-str">'w'</span><span class="src-sym">, </span><span class="src-str">'Y'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a45"></a> <span class="src-str">'y'</span><span class="src-sym">, </span><span class="src-str">'Y'</span><span class="src-sym">, </span><span class="src-str">'Z'</span><span class="src-sym">, </span><span class="src-str">'z'</span><span class="src-sym">, </span><span class="src-str">'Z'</span><span class="src-sym">, </span><span class="src-str">'z'</span><span class="src-sym">, </span><span class="src-str">'Z'</span><span class="src-sym">, </span><span class="src-str">'z'</span><span class="src-sym">, </span><span class="src-str">'s'</span><span class="src-sym">, </span><span class="src-str">'f'</span><span class="src-sym">, </span><span class="src-str">'O'</span><span class="src-sym">, </span><span class="src-str">'o'</span><span class="src-sym">, </span><span class="src-str">'U'</span><span class="src-sym">, </span><span class="src-str">'u'</span><span class="src-sym">, </span><span class="src-str">'A'</span><span class="src-sym">, </span><span class="src-str">'a'</span><span class="src-sym">, </span><span class="src-str">'I'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a46"></a> <span class="src-str">'i'</span><span class="src-sym">, </span><span class="src-str">'O'</span><span class="src-sym">, </span><span class="src-str">'o'</span><span class="src-sym">, </span><span class="src-str">'U'</span><span class="src-sym">, </span><span class="src-str">'u'</span><span class="src-sym">, </span><span class="src-str">'U'</span><span class="src-sym">, </span><span class="src-str">'u'</span><span class="src-sym">, </span><span class="src-str">'U'</span><span class="src-sym">, </span><span class="src-str">'u'</span><span class="src-sym">, </span><span class="src-str">'U'</span><span class="src-sym">, </span><span class="src-str">'u'</span><span class="src-sym">, </span><span class="src-str">'U'</span><span class="src-sym">, </span><span class="src-str">'u'</span><span class="src-sym">, </span><span class="src-str">'A'</span><span class="src-sym">, </span><span class="src-str">'a'</span><span class="src-sym">, </span><span class="src-str">'AE'</span><span class="src-sym">, </span><span class="src-str">'ae'</span><span class="src-sym">, </span><span class="src-str">'O'</span><span class="src-sym">, </span><span class="src-str">'o'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a47"></a> </div></li> |
<li><div class="src-line"><a name="a48"></a> <span class="src-doc">/** </span></div></li> |
<li><div class="src-line"><a name="a49"></a><span class="src-doc"> * Supprime ou remplace les accents d'une chaine en PHP.</span></div></li> |
<li><div class="src-line"><a name="a50"></a><span class="src-doc"> * La solution retenu, provenant du site</span></div></li> |
<li><div class="src-line"><a name="a51"></a><span class="src-doc"> * </span><span class="src-doc-inlinetag">{@link http://www.lecoindunet.com/zone_php/scripts_utiles/remplacer-les-caracteres-accentues-dune-chaine-en-php-72 lecoindunet.com}</span><span class="src-doc">,</span></div></li> |
<li><div class="src-line"><a name="a52"></a><span class="src-doc"> * consiste en deux tableaux (caractères avec et sans accents) car cela permetra éventuellement</span></div></li> |
<li><div class="src-line"><a name="a53"></a><span class="src-doc"> * de fournir des méthodes pour récupérer ces tableaux pour d'autres traitements.</span></div></li> |
<li><div class="src-line"><a name="a54"></a><span class="src-doc"> * Une autre solution aurait été d'utiliser les entités HTML comme proposé par le site</span></div></li> |
<li><div class="src-line"><a name="a55"></a><span class="src-doc"> * </span><span class="src-doc-inlinetag">{@link http://www.weirdog.com/blog/php/supprimer-les-accents-des-caracteres-accentues.html weirdog.com}</span><span class="src-doc">.</span></div></li> |
<li><div class="src-line"><a name="a56"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a57"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">String </span><span class="src-doc-var">$chaine </span><span class="src-doc">la chaine de caractères dans laquelle supprimer les accents.</span></div></li> |
<li><div class="src-line"><a name="a58"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">String </span><span class="src-doc-var">$encodage </span><span class="src-doc">le code d'encodage de la chaine si ce n'est pas de l'UTF-8.</span></div></li> |
<li><div class="src-line"><a name="a59"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">la </span><span class="src-doc">chaine de caractères sans accent.</span></div></li> |
<li><div class="src-line"><a name="a60"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a61"></a> <span class="src-key">function </span><a href="../Utilitaire/Chaine.html#methodsupprimerAccents">supprimerAccents</a><span class="src-sym">(</span><span class="src-var">$chaine</span><span class="src-sym">, </span><span class="src-var">$encodage </span>= <span class="src-str">'UTF-8'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a62"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$encodage </span>!= <span class="src-str">'UTF-8'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a63"></a> <a href="http://www.php.net/mb_convert_variables">mb_convert_variables</a><span class="src-sym">(</span><span class="src-var">$encodage</span><span class="src-sym">, </span><span class="src-str">'UTF-8'</span><span class="src-sym">, </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$caracteres_accentues</span><span class="src-sym">, </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$caracteres_normaux</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a64"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a65"></a> <span class="src-key">return </span><span class="src-id">str_replace</span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$caracteres_accentues</span><span class="src-sym">, </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$caracteres_normaux</span><span class="src-sym">, </span><span class="src-var">$chaine</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a66"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a67"></a><span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a68"></a><span class="src-php">?></span></div></li> |
</ol></div> |
</div> |
<p class="notes" id="credit"> |
Documentation generated on Tue, 18 Jan 2011 15:01:28 +0100 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.3</a> |
</p> |
</body> |
</html> |
/trunk/doc/HTMLframesConverter/__filesource/fsource_Framework__CacheSqlite.php.html |
---|
New file |
0,0 → 1,637 |
<?xml version="1.0" encoding="UTF-8"?> |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
<html xmlns="http://www.w3.org/1999/xhtml"> |
<head> |
<!-- template designed by Marco Von Ballmoos --> |
<title>File Source for CacheSqlite.php</title> |
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'/> |
<link rel="stylesheet" href="../media/stylesheet.css" /> |
</head> |
<body> |
<h1>Source for file CacheSqlite.php</h1> |
<p>Documentation is available at <a href="../Framework/_CacheSqlite.php.html">CacheSqlite.php</a></p> |
<div class="src-code"> |
<div class="src-code"><ol><li><div class="src-line"><a name="a1"></a><span class="src-php"><?php</span></div></li> |
<li><div class="src-line"><a name="a2"></a><span class="src-key">class </span><a href="../Framework/CacheSqlite.html">CacheSqlite</a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a3"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a4"></a><span class="src-doc"> * Options disponibles :</span></div></li> |
<li><div class="src-line"><a name="a5"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a6"></a><span class="src-doc"> * ====> (string) stockage_chemin :</span></div></li> |
<li><div class="src-line"><a name="a7"></a><span class="src-doc"> * Chemin vers le fichier contenant la base SQLite.</span></div></li> |
<li><div class="src-line"><a name="a8"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a9"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a10"></a><span class="src-doc"> * ====> (int) defragmentation_auto :</span></div></li> |
<li><div class="src-line"><a name="a11"></a><span class="src-doc"> * - Désactive / Régler le processus de défragmentation automatique</span></div></li> |
<li><div class="src-line"><a name="a12"></a><span class="src-doc"> * - Le processus de défragmentation automatiques réduit la taille du fichier contenant la base de données</span></div></li> |
<li><div class="src-line"><a name="a13"></a><span class="src-doc"> * quand un ajout ou une suppression de cache est réalisée :</span></div></li> |
<li><div class="src-line"><a name="a14"></a><span class="src-doc"> * 0 => pas de défragmentation automatique</span></div></li> |
<li><div class="src-line"><a name="a15"></a><span class="src-doc"> * 1 => défragmentation automatique systématique</span></div></li> |
<li><div class="src-line"><a name="a16"></a><span class="src-doc"> * x (integer) > 1 => défragmentation automatique toutes les 1 fois (au hasard) sur x ajout ou suppression de cache</span></div></li> |
<li><div class="src-line"><a name="a17"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a18"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">array </span><span class="src-doc">options disponibles</span></div></li> |
<li><div class="src-line"><a name="a19"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a20"></a> <span class="src-key">protected </span><a href="../Framework/CacheSqlite.html#var$options">$options</a> = <span class="src-key">array</span><span class="src-sym">(</span></div></li> |
<li><div class="src-line"><a name="a21"></a> <span class="src-str">'stockage_chemin' </span>=> <span class="src-id">null</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a22"></a> <span class="src-str">'defragmentation_auto' </span>=> <span class="src-num">10</span></div></li> |
<li><div class="src-line"><a name="a23"></a> <span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a24"></a> </div></li> |
<li><div class="src-line"><a name="a25"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a26"></a><span class="src-doc"> * DB ressource</span></div></li> |
<li><div class="src-line"><a name="a27"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a28"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$db </span></div></li> |
<li><div class="src-line"><a name="a29"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a30"></a> <span class="src-key">private </span><span class="src-var">$bdd </span>= <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a31"></a> </div></li> |
<li><div class="src-line"><a name="a32"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a33"></a><span class="src-doc"> * Boolean to store if the structure has benn checked or not</span></div></li> |
<li><div class="src-line"><a name="a34"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a35"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">boolean </span><span class="src-doc-var">$structure_ok </span></div></li> |
<li><div class="src-line"><a name="a36"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a37"></a> <span class="src-key">private </span><span class="src-var">$structure_ok </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a38"></a> </div></li> |
<li><div class="src-line"><a name="a39"></a> <span class="src-key">private </span><span class="src-var">$Cache </span>= <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a40"></a> </div></li> |
<li><div class="src-line"><a name="a41"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a42"></a><span class="src-doc"> * Constructor</span></div></li> |
<li><div class="src-line"><a name="a43"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a44"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">array </span><span class="src-doc-var">$options </span><span class="src-doc">Associative array of options</span></div></li> |
<li><div class="src-line"><a name="a45"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@throws</span><span class="src-doc"> Zend_cache_Exception</span></div></li> |
<li><div class="src-line"><a name="a46"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">void </span></div></li> |
<li><div class="src-line"><a name="a47"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a48"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/CacheSqlite.html#method__construct">__construct</a><span class="src-sym">(</span><span class="src-key">array </span><span class="src-var">$options </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-id">Cache </span><span class="src-var">$cache</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a49"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">Cache </span>= <span class="src-var">$cache</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a50"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/extension_loaded">extension_loaded</a><span class="src-sym">(</span><span class="src-str">'sqlite'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a51"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">initialiserOptionsParConfig</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a52"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">setOptions</span><span class="src-sym">(</span><span class="src-var">$options</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a53"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a54"></a> <span class="src-var">$e </span>= <span class="src-str">"Impossible d'utiliser le cache SQLITE car l'extenssion 'sqlite' n'est pas chargée dans l'environnement PHP courrant."</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a55"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-var">$e</span><span class="src-sym">, </span><span class="src-id">E_USER_ERROR</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a56"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a57"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a58"></a> </div></li> |
<li><div class="src-line"><a name="a59"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">initialiserOptionsParConfig</span><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a60"></a> <span class="src-key">while </span><span class="src-sym">(</span>list<span class="src-sym">(</span><span class="src-var">$nom</span><span class="src-sym">, </span><span class="src-var">$valeur</span><span class="src-sym">) </span>= <a href="http://www.php.net/each">each</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheSqlite.html#var$options">options</a><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a61"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodexiste">existe</a><span class="src-sym">(</span><span class="src-var">$nom</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a62"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheSqlite.html#var$options">options</a><span class="src-sym">[</span><span class="src-var">$nom</span><span class="src-sym">] </span>= <span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-var">$nom</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a63"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a64"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a65"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a66"></a> </div></li> |
<li><div class="src-line"><a name="a67"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a68"></a><span class="src-doc"> * Destructor</span></div></li> |
<li><div class="src-line"><a name="a69"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a70"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">void </span></div></li> |
<li><div class="src-line"><a name="a71"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a72"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/CacheSqlite.html#method__destruct">__destruct</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a73"></a> <span class="src-sym">@</span><a href="http://www.php.net/sqlite_close">sqlite_close</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">getConnexion</span><span class="src-sym">(</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a74"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a75"></a> </div></li> |
<li><div class="src-line"><a name="a76"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">setOptions</span><span class="src-sym">(</span><span class="src-var">$options</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a77"></a> <span class="src-key">while </span><span class="src-sym">(</span>list<span class="src-sym">(</span><span class="src-var">$nom</span><span class="src-sym">, </span><span class="src-var">$valeur</span><span class="src-sym">) </span>= <a href="http://www.php.net/each">each</a><span class="src-sym">(</span><span class="src-var">$options</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a78"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/is_string">is_string</a><span class="src-sym">(</span><span class="src-var">$nom</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a79"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">"</span><span class="src-str">Nom d'option incorecte : <span class="src-var">$nom</span></span><span class="src-str">"</span><span class="src-sym">, </span><span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a80"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a81"></a> <span class="src-var">$nom </span>= <a href="http://www.php.net/strtolower">strtolower</a><span class="src-sym">(</span><span class="src-var">$nom</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a82"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/array_key_exists">array_key_exists</a><span class="src-sym">(</span><span class="src-var">$nom</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheSqlite.html#var$options">options</a><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a83"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheSqlite.html#var$options">options</a><span class="src-sym">[</span><span class="src-var">$nom</span><span class="src-sym">] </span>= <span class="src-var">$valeur</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a84"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a85"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a86"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a87"></a> </div></li> |
<li><div class="src-line"><a name="a88"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/CacheSqlite.html#methodsetEmplacement">setEmplacement</a><span class="src-sym">(</span><span class="src-var">$emplacement</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a89"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/extension_loaded">extension_loaded</a><span class="src-sym">(</span><span class="src-str">'sqlite'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a90"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheSqlite.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'stockage_chemin'</span><span class="src-sym">] </span>= <span class="src-var">$emplacement</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a91"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a92"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">"Impossible d'utiliser le mode de sotckage SQLite car l'extenssion 'sqlite' n'est pas chargé dans "</span>.</div></li> |
<li><div class="src-line"><a name="a93"></a> <span class="src-str">"l'environnement PHP courrant."</span><span class="src-sym">, </span><span class="src-id">E_USER_ERROR</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a94"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a95"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a96"></a> </div></li> |
<li><div class="src-line"><a name="a97"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a98"></a><span class="src-doc"> * Test if a cache is available for the given id and (if yes) return it (false else)</span></div></li> |
<li><div class="src-line"><a name="a99"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a100"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">string </span><span class="src-doc"> </span><span class="src-doc-var">$id </span><span class="src-doc"> Cache id</span></div></li> |
<li><div class="src-line"><a name="a101"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">boolean </span><span class="src-doc-var">$doNotTestCacheValidity </span><span class="src-doc">If set to true, the cache validity won't be tested</span></div></li> |
<li><div class="src-line"><a name="a102"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string</span><span class="src-doc">|</span><span class="src-doc-type">false</span><span class="src-doc">Cached datas</span></div></li> |
<li><div class="src-line"><a name="a103"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a104"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/CacheSqlite.html#methodcharger">charger</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">, </span><span class="src-var">$ne_pas_tester_validiter_du_cache </span>= <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a105"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">verifierEtCreerStructureBdd</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a106"></a> <span class="src-var">$requete </span>= <span class="src-str">"</span><span class="src-str">SELECT content FROM cache WHERE id = '<span class="src-var">$id</span>'</span><span class="src-str">"</span>.</div></li> |
<li><div class="src-line"><a name="a107"></a> <span class="src-sym">((</span><span class="src-var">$ne_pas_tester_validiter_du_cache</span><span class="src-sym">) </span>? <span class="src-str">'' </span>: <span class="src-str">' AND (expire = 0 OR expire > '</span>.<a href="http://www.php.net/time">time</a><span class="src-sym">(</span><span class="src-sym">)</span>.<span class="src-str">')'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a108"></a> <span class="src-var">$resultat </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requeter</span><span class="src-sym">(</span><span class="src-var">$requete</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a109"></a> <span class="src-var">$ligne </span>= <span class="src-sym">@</span><a href="http://www.php.net/sqlite_fetch_array">sqlite_fetch_array</a><span class="src-sym">(</span><span class="src-var">$resultat</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a110"></a> <span class="src-key">return </span><span class="src-sym">(</span><span class="src-var">$ligne</span><span class="src-sym">) </span>? <span class="src-var">$ligne</span><span class="src-sym">[</span><span class="src-str">'content'</span><span class="src-sym">] </span>: <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a111"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a112"></a> </div></li> |
<li><div class="src-line"><a name="a113"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a114"></a><span class="src-doc"> * Test if a cache is available or not (for the given id)</span></div></li> |
<li><div class="src-line"><a name="a115"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a116"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$id </span><span class="src-doc">Cache id</span></div></li> |
<li><div class="src-line"><a name="a117"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">mixed</span><span class="src-doc">|</span><span class="src-doc-type">false</span><span class="src-doc">(a cache is not available) or "last modified" timestamp (int) of the available cache record</span></div></li> |
<li><div class="src-line"><a name="a118"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a119"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/CacheSqlite.html#methodtester">tester</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a120"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">verifierEtCreerStructureBdd</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a121"></a> <span class="src-var">$requete </span>= <span class="src-str">"</span><span class="src-str">SELECT lastModified FROM cache WHERE id = '<span class="src-var">$id</span>' AND (expire = 0 OR expire > </span><span class="src-str">"</span>.<a href="http://www.php.net/time">time</a><span class="src-sym">(</span><span class="src-sym">)</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a122"></a> <span class="src-var">$resultat </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requeter</span><span class="src-sym">(</span><span class="src-var">$requete</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a123"></a> <span class="src-var">$ligne </span>= <span class="src-sym">@</span><a href="http://www.php.net/sqlite_fetch_array">sqlite_fetch_array</a><span class="src-sym">(</span><span class="src-var">$resultat</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a124"></a> <span class="src-key">return </span><span class="src-sym">(</span><span class="src-var">$ligne</span><span class="src-sym">) </span>? <span class="src-sym">(</span>(int) <span class="src-var">$ligne</span><span class="src-sym">[</span><span class="src-str">'lastModified'</span><span class="src-sym">]</span><span class="src-sym">) </span>: <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a125"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a126"></a> </div></li> |
<li><div class="src-line"><a name="a127"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a128"></a><span class="src-doc"> * Save some string datas into a cache record</span></div></li> |
<li><div class="src-line"><a name="a129"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a130"></a><span class="src-doc"> * Note : $data is always "string" (serialization is done by the</span></div></li> |
<li><div class="src-line"><a name="a131"></a><span class="src-doc"> * core not by the backend)</span></div></li> |
<li><div class="src-line"><a name="a132"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a133"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">string </span><span class="src-doc-var">$data </span><span class="src-doc"> Datas to cache</span></div></li> |
<li><div class="src-line"><a name="a134"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">string </span><span class="src-doc-var">$id </span><span class="src-doc"> Cache id</span></div></li> |
<li><div class="src-line"><a name="a135"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">array </span><span class="src-doc"> </span><span class="src-doc-var">$tags </span><span class="src-doc"> Array of strings, the cache record will be tagged by each string entry</span></div></li> |
<li><div class="src-line"><a name="a136"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">int </span><span class="src-doc"> </span><span class="src-doc-var">$specificLifetime </span><span class="src-doc">If != false, set a specific lifetime for this cache record (null => infinite lifetime)</span></div></li> |
<li><div class="src-line"><a name="a137"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@throws</span><span class="src-doc"> Zend_Cache_Exception</span></div></li> |
<li><div class="src-line"><a name="a138"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">boolean </span><span class="src-doc">True if no problem</span></div></li> |
<li><div class="src-line"><a name="a139"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a140"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/CacheSqlite.html#methodsauver">sauver</a><span class="src-sym">(</span><span class="src-var">$donnees</span><span class="src-sym">, </span><span class="src-var">$id</span><span class="src-sym">, </span><span class="src-var">$tags </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$duree_vie_specifique </span>= <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a141"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">verifierEtCreerStructureBdd</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a142"></a> </div></li> |
<li><div class="src-line"><a name="a143"></a> <span class="src-comm">//FIXME : si l'extension n'est pas installée, le cache passe tout de même par cette fonction et s'arrête à cet endroit.</span></div></li> |
<li><div class="src-line"><a name="a144"></a> <span class="src-var">$donnees </span>= <span class="src-sym">@</span><a href="http://www.php.net/sqlite_escape_string">sqlite_escape_string</a><span class="src-sym">(</span><span class="src-var">$donnees</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a145"></a> <span class="src-var">$timestamp_courrant </span>= <a href="http://www.php.net/time">time</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a146"></a> <span class="src-var">$expiration </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">Cache</span><span class="src-sym">-></span><span class="src-id">getTimestampExpiration</span><span class="src-sym">(</span><span class="src-var">$duree_vie_specifique</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a147"></a> </div></li> |
<li><div class="src-line"><a name="a148"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requeter</span><span class="src-sym">(</span><span class="src-str">"</span><span class="src-str">DELETE FROM cache WHERE id = '<span class="src-var">$id</span>'</span><span class="src-str">"</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a149"></a> <span class="src-var">$sql </span>= <span class="src-str">"</span><span class="src-str">INSERT INTO cache (id, content, lastModified, expire) VALUES ('<span class="src-var">$id</span>', '<span class="src-var">$donnees</span>', <span class="src-var">$timestamp_courrant</span>, <span class="src-var">$expiration</span>)</span><span class="src-str">"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a150"></a> <span class="src-var">$resultat </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requeter</span><span class="src-sym">(</span><span class="src-var">$sql</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a151"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-var">$resultat</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a152"></a> <span class="src-comm">// TODO : ajouter un log sauver() : impossible de stocker le cache d'id '$id'</span></div></li> |
<li><div class="src-line"><a name="a153"></a> <span class="src-id"><a href="../Framework/Debug.html">Debug</a></span><span class="src-sym">::</span><a href="../Framework/Debug.html#methodprintr">printr</a><span class="src-sym">(</span><span class="src-str">"</span><span class="src-str">sauver() : impossible de stocker le cache d'id '<span class="src-var">$id</span>'</span><span class="src-str">"</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a154"></a> <span class="src-var">$resultat </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a155"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a156"></a> <span class="src-var">$resultat </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a157"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$tags </span><span class="src-key">as </span><span class="src-var">$tag</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a158"></a> <span class="src-var">$resultat </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">enregisterTag</span><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">, </span><span class="src-var">$tag</span><span class="src-sym">) </span>&& <span class="src-var">$resultat</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a159"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a160"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a161"></a> <span class="src-key">return </span><span class="src-var">$resultat</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a162"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a163"></a> </div></li> |
<li><div class="src-line"><a name="a164"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a165"></a><span class="src-doc"> * Remove a cache record</span></div></li> |
<li><div class="src-line"><a name="a166"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a167"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">string </span><span class="src-doc-var">$id </span><span class="src-doc">Cache id</span></div></li> |
<li><div class="src-line"><a name="a168"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">boolean </span><span class="src-doc">True if no problem</span></div></li> |
<li><div class="src-line"><a name="a169"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a170"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/CacheSqlite.html#methodsupprimer">supprimer</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a171"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">verifierEtCreerStructureBdd</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a172"></a> <span class="src-var">$resultat </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requeter</span><span class="src-sym">(</span><span class="src-str">"</span><span class="src-str">SELECT COUNT(*) AS nbr FROM cache WHERE id = '<span class="src-var">$id</span>'</span><span class="src-str">"</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a173"></a> <span class="src-var">$resultat_nbre </span>= <span class="src-sym">@</span><a href="http://www.php.net/sqlite_fetch_single">sqlite_fetch_single</a><span class="src-sym">(</span><span class="src-var">$resultat</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a174"></a> <span class="src-var">$suppression_cache </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requeter</span><span class="src-sym">(</span><span class="src-str">"</span><span class="src-str">DELETE FROM cache WHERE id = '<span class="src-var">$id</span>'</span><span class="src-str">"</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a175"></a> <span class="src-var">$suppression_tags </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requeter</span><span class="src-sym">(</span><span class="src-str">"</span><span class="src-str">DELETE FROM tag WHERE id = '<span class="src-var">$id</span>'</span><span class="src-str">"</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a176"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">defragmenterAutomatiquement</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a177"></a> <span class="src-key">return </span><span class="src-sym">(</span><span class="src-var">$resultat_nbre </span>&& <span class="src-var">$suppression_cache </span>&& <span class="src-var">$suppression_tags</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a178"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a179"></a> </div></li> |
<li><div class="src-line"><a name="a180"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a181"></a><span class="src-doc"> * Clean some cache records</span></div></li> |
<li><div class="src-line"><a name="a182"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a183"></a><span class="src-doc"> * Available modes are :</span></div></li> |
<li><div class="src-line"><a name="a184"></a><span class="src-doc"> * Zend_Cache::CLEANING_MODE_ALL (default) => remove all cache entries ($tags is not used)</span></div></li> |
<li><div class="src-line"><a name="a185"></a><span class="src-doc"> * Zend_Cache::CLEANING_MODE_OLD => remove too old cache entries ($tags is not used)</span></div></li> |
<li><div class="src-line"><a name="a186"></a><span class="src-doc"> * Zend_Cache::CLEANING_MODE_MATCHING_TAG => remove cache entries matching all given tags</span></div></li> |
<li><div class="src-line"><a name="a187"></a><span class="src-doc"> * ($tags can be an array of strings or a single string)</span></div></li> |
<li><div class="src-line"><a name="a188"></a><span class="src-doc"> * Zend_Cache::CLEANING_MODE_NOT_MATCHING_TAG => remove cache entries not {matching one of the given tags}</span></div></li> |
<li><div class="src-line"><a name="a189"></a><span class="src-doc"> * ($tags can be an array of strings or a single string)</span></div></li> |
<li><div class="src-line"><a name="a190"></a><span class="src-doc"> * Zend_Cache::CLEANING_MODE_MATCHING_ANY_TAG => remove cache entries matching any given tags</span></div></li> |
<li><div class="src-line"><a name="a191"></a><span class="src-doc"> * ($tags can be an array of strings or a single string)</span></div></li> |
<li><div class="src-line"><a name="a192"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a193"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">string </span><span class="src-doc-var">$mode </span><span class="src-doc">Clean mode</span></div></li> |
<li><div class="src-line"><a name="a194"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">array </span><span class="src-doc"> </span><span class="src-doc-var">$tags </span><span class="src-doc">Array of tags</span></div></li> |
<li><div class="src-line"><a name="a195"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">boolean </span><span class="src-doc">True if no problem</span></div></li> |
<li><div class="src-line"><a name="a196"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a197"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/CacheSqlite.html#methodnettoyer">nettoyer</a><span class="src-sym">(</span><span class="src-var">$mode </span>= <span class="src-id">Cache</span><span class="src-sym">::</span><span class="src-id">NETTOYAGE_MODE_TOUS</span><span class="src-sym">, </span><span class="src-var">$tags </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a198"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">verifierEtCreerStructureBdd</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a199"></a> <span class="src-var">$retour </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">nettoyerSqlite</span><span class="src-sym">(</span><span class="src-var">$mode</span><span class="src-sym">, </span><span class="src-var">$tags</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a200"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">defragmenterAutomatiquement</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a201"></a> <span class="src-key">return </span><span class="src-var">$retour</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a202"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a203"></a> </div></li> |
<li><div class="src-line"><a name="a204"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a205"></a><span class="src-doc"> * Return an array of stored cache ids</span></div></li> |
<li><div class="src-line"><a name="a206"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a207"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc">array of stored cache ids (string)</span></div></li> |
<li><div class="src-line"><a name="a208"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a209"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/CacheSqlite.html#methodgetIds">getIds</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a210"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">verifierEtCreerStructureBdd</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a211"></a> <span class="src-var">$resultat </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requeter</span><span class="src-sym">(</span><span class="src-str">'SELECT id FROM cache WHERE (expire = 0 OR expire > '</span>.<a href="http://www.php.net/time">time</a><span class="src-sym">(</span><span class="src-sym">)</span>.<span class="src-str">')'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a212"></a> <span class="src-var">$retour </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a213"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-var">$id </span>= <span class="src-sym">@</span><a href="http://www.php.net/sqlite_fetch_single">sqlite_fetch_single</a><span class="src-sym">(</span><span class="src-var">$resultat</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a214"></a> <span class="src-var">$retour</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$id</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a215"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a216"></a> <span class="src-key">return </span><span class="src-var">$retour</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a217"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a218"></a> </div></li> |
<li><div class="src-line"><a name="a219"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a220"></a><span class="src-doc"> * Return an array of stored tags</span></div></li> |
<li><div class="src-line"><a name="a221"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a222"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc">array of stored tags (string)</span></div></li> |
<li><div class="src-line"><a name="a223"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a224"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/CacheSqlite.html#methodgetTags">getTags</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a225"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">verifierEtCreerStructureBdd</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a226"></a> <span class="src-var">$resultat </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requeter</span><span class="src-sym">(</span><span class="src-str">'SELECT DISTINCT(name) AS name FROM tag'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a227"></a> <span class="src-var">$retour </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a228"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-var">$id </span>= <span class="src-sym">@</span><a href="http://www.php.net/sqlite_fetch_single">sqlite_fetch_single</a><span class="src-sym">(</span><span class="src-var">$resultat</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a229"></a> <span class="src-var">$retour</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$id</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a230"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a231"></a> <span class="src-key">return </span><span class="src-var">$retour</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a232"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a233"></a> </div></li> |
<li><div class="src-line"><a name="a234"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a235"></a><span class="src-doc"> * Return an array of stored cache ids which match given tags</span></div></li> |
<li><div class="src-line"><a name="a236"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a237"></a><span class="src-doc"> * In case of multiple tags, a logical AND is made between tags</span></div></li> |
<li><div class="src-line"><a name="a238"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a239"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$tags </span><span class="src-doc">array of tags</span></div></li> |
<li><div class="src-line"><a name="a240"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc">array of matching cache ids (string)</span></div></li> |
<li><div class="src-line"><a name="a241"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a242"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/CacheSqlite.html#methodgetIdsAvecLesTags">getIdsAvecLesTags</a><span class="src-sym">(</span><span class="src-var">$tags </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a243"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">verifierEtCreerStructureBdd</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a244"></a> <span class="src-var">$premier </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a245"></a> <span class="src-var">$ids </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a246"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$tags </span><span class="src-key">as </span><span class="src-var">$tag</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a247"></a> <span class="src-var">$resultat </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requeter</span><span class="src-sym">(</span><span class="src-str">"</span><span class="src-str">SELECT DISTINCT(id) AS id FROM tag WHERE name='<span class="src-var">$tag</span>'</span><span class="src-str">"</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a248"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$resultat</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a249"></a> <span class="src-var">$lignes </span>= <span class="src-sym">@</span><a href="http://www.php.net/sqlite_fetch_all">sqlite_fetch_all</a><span class="src-sym">(</span><span class="src-var">$resultat</span><span class="src-sym">, </span><span class="src-id">SQLITE_ASSOC</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a250"></a> <span class="src-var">$ids_tmp </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a251"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$lignes </span><span class="src-key">as </span><span class="src-var">$ligne</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a252"></a> <span class="src-var">$ids_tmp</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$ligne</span><span class="src-sym">[</span><span class="src-str">'id'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a253"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a254"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$premier</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a255"></a> <span class="src-var">$ids </span>= <span class="src-var">$ids_tmp</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a256"></a> <span class="src-var">$premier </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a257"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a258"></a> <span class="src-var">$ids </span>= <a href="http://www.php.net/array_intersect">array_intersect</a><span class="src-sym">(</span><span class="src-var">$ids</span><span class="src-sym">, </span><span class="src-var">$ids_tmp</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a259"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a260"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a261"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a262"></a> </div></li> |
<li><div class="src-line"><a name="a263"></a> <span class="src-var">$retour </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a264"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$ids</span><span class="src-sym">) </span>> <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a265"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$ids </span><span class="src-key">as </span><span class="src-var">$id</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a266"></a> <span class="src-var">$retour</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$id</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a267"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a268"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a269"></a> <span class="src-key">return </span><span class="src-var">$retour</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a270"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a271"></a> </div></li> |
<li><div class="src-line"><a name="a272"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a273"></a><span class="src-doc"> * Return an array of stored cache ids which don't match given tags</span></div></li> |
<li><div class="src-line"><a name="a274"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a275"></a><span class="src-doc"> * In case of multiple tags, a logical OR is made between tags</span></div></li> |
<li><div class="src-line"><a name="a276"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a277"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$tags </span><span class="src-doc">array of tags</span></div></li> |
<li><div class="src-line"><a name="a278"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc">array of not matching cache ids (string)</span></div></li> |
<li><div class="src-line"><a name="a279"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a280"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/CacheSqlite.html#methodgetIdsSansLesTags">getIdsSansLesTags</a><span class="src-sym">(</span><span class="src-var">$tags </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a281"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">verifierEtCreerStructureBdd</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a282"></a> <span class="src-var">$resultat </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requeter</span><span class="src-sym">(</span><span class="src-str">'SELECT id FROM cache'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a283"></a> <span class="src-var">$lignes </span>= <span class="src-sym">@</span><a href="http://www.php.net/sqlite_fetch_all">sqlite_fetch_all</a><span class="src-sym">(</span><span class="src-var">$resultat</span><span class="src-sym">, </span><span class="src-id">SQLITE_ASSOC</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a284"></a> <span class="src-var">$retour </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a285"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$lignes </span><span class="src-key">as </span><span class="src-var">$ligne</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a286"></a> <span class="src-var">$id </span>= <span class="src-var">$ligne</span><span class="src-sym">[</span><span class="src-str">'id'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a287"></a> <span class="src-var">$correspondance </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a288"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$tags </span><span class="src-key">as </span><span class="src-var">$tag</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a289"></a> <span class="src-var">$resultat </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requeter</span><span class="src-sym">(</span><span class="src-str">"</span><span class="src-str">SELECT COUNT(*) AS nbr FROM tag WHERE name = '<span class="src-var">$tag</span>' AND id = '<span class="src-var">$id</span>'</span><span class="src-str">"</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a290"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$resultat</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a291"></a> <span class="src-var">$nbre </span>= (int) <span class="src-sym">@</span><a href="http://www.php.net/sqlite_fetch_single">sqlite_fetch_single</a><span class="src-sym">(</span><span class="src-var">$resultat</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a292"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$nbre </span>> <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a293"></a> <span class="src-var">$correspondance </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a294"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a295"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a296"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a297"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-var">$correspondance</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a298"></a> <span class="src-var">$retour</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$id</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a299"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a300"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a301"></a> <span class="src-key">return </span><span class="src-var">$retour</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a302"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a303"></a> </div></li> |
<li><div class="src-line"><a name="a304"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a305"></a><span class="src-doc"> * Return an array of stored cache ids which match any given tags</span></div></li> |
<li><div class="src-line"><a name="a306"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a307"></a><span class="src-doc"> * In case of multiple tags, a logical AND is made between tags</span></div></li> |
<li><div class="src-line"><a name="a308"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a309"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$tags </span><span class="src-doc">array of tags</span></div></li> |
<li><div class="src-line"><a name="a310"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc">array of any matching cache ids (string)</span></div></li> |
<li><div class="src-line"><a name="a311"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a312"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/CacheSqlite.html#methodgetIdsAvecUnTag">getIdsAvecUnTag</a><span class="src-sym">(</span><span class="src-var">$tags </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a313"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">verifierEtCreerStructureBdd</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a314"></a> <span class="src-var">$premier </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a315"></a> <span class="src-var">$ids </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a316"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$tags </span><span class="src-key">as </span><span class="src-var">$tag</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a317"></a> <span class="src-var">$resultat </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requeter</span><span class="src-sym">(</span><span class="src-str">"</span><span class="src-str">SELECT DISTINCT(id) AS id FROM tag WHERE name = '<span class="src-var">$tag</span>'</span><span class="src-str">"</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a318"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$resultat</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a319"></a> <span class="src-var">$lignes </span>= <span class="src-sym">@</span><a href="http://www.php.net/sqlite_fetch_all">sqlite_fetch_all</a><span class="src-sym">(</span><span class="src-var">$resultat</span><span class="src-sym">, </span><span class="src-id">SQLITE_ASSOC</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a320"></a> <span class="src-var">$ids_tmp </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a321"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$lignes </span><span class="src-key">as </span><span class="src-var">$ligne</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a322"></a> <span class="src-var">$ids_tmp</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$ligne</span><span class="src-sym">[</span><span class="src-str">'id'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a323"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a324"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$premier</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a325"></a> <span class="src-var">$ids </span>= <span class="src-var">$ids_tmp</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a326"></a> <span class="src-var">$premier </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a327"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a328"></a> <span class="src-var">$ids </span>= <a href="http://www.php.net/array_merge">array_merge</a><span class="src-sym">(</span><span class="src-var">$ids</span><span class="src-sym">, </span><span class="src-var">$ids_tmp</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a329"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a330"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a331"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a332"></a> </div></li> |
<li><div class="src-line"><a name="a333"></a> <span class="src-var">$retour </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a334"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$ids</span><span class="src-sym">) </span>> <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a335"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$ids </span><span class="src-key">as </span><span class="src-var">$id</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a336"></a> <span class="src-var">$retour</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$id</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a337"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a338"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a339"></a> <span class="src-key">return </span><span class="src-var">$retour</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a340"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a341"></a> </div></li> |
<li><div class="src-line"><a name="a342"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a343"></a><span class="src-doc"> * Return the filling percentage of the backend storage</span></div></li> |
<li><div class="src-line"><a name="a344"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a345"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@throws</span><span class="src-doc"> Zend_Cache_Exception</span></div></li> |
<li><div class="src-line"><a name="a346"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">int </span><span class="src-doc">integer between 0 and 100</span></div></li> |
<li><div class="src-line"><a name="a347"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a348"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/CacheSqlite.html#methodgetPourcentageRemplissage">getPourcentageRemplissage</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a349"></a> <span class="src-var">$dossier </span>= <a href="http://www.php.net/dirname">dirname</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheSqlite.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'stockage_chemin'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a350"></a> <span class="src-var">$libre </span>= <a href="http://www.php.net/disk_free_space">disk_free_space</a><span class="src-sym">(</span><span class="src-var">$dossier</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a351"></a> <span class="src-var">$total </span>= <a href="http://www.php.net/disk_total_space">disk_total_space</a><span class="src-sym">(</span><span class="src-var">$dossier</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a352"></a> </div></li> |
<li><div class="src-line"><a name="a353"></a> <span class="src-var">$pourcentage </span>= <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a354"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$total </span>== <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a355"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">"Impossible d'utiliser la fonction disk_total_space"</span><span class="src-sym">, </span><span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a356"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a357"></a> <span class="src-var">$pourcentage </span>= <span class="src-sym">(</span><span class="src-var">$libre </span>>= <span class="src-var">$total</span><span class="src-sym">) </span>? <span class="src-num">100 </span>: <span class="src-sym">(</span>(int) <span class="src-sym">(</span><span class="src-num">100. </span>* <span class="src-sym">(</span><span class="src-var">$total </span>- <span class="src-var">$libre</span><span class="src-sym">) </span>/ <span class="src-var">$total</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a358"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a359"></a> <span class="src-key">return </span><span class="src-var">$pourcentage</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a360"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a361"></a> </div></li> |
<li><div class="src-line"><a name="a362"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a363"></a><span class="src-doc"> * Return an array of metadatas for the given cache id</span></div></li> |
<li><div class="src-line"><a name="a364"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a365"></a><span class="src-doc"> * The array must include these keys :</span></div></li> |
<li><div class="src-line"><a name="a366"></a><span class="src-doc"> * - expire : the expire timestamp</span></div></li> |
<li><div class="src-line"><a name="a367"></a><span class="src-doc"> * - tags : a string array of tags</span></div></li> |
<li><div class="src-line"><a name="a368"></a><span class="src-doc"> * - mtime : timestamp of last modification time</span></div></li> |
<li><div class="src-line"><a name="a369"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a370"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$id </span><span class="src-doc">cache id</span></div></li> |
<li><div class="src-line"><a name="a371"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc">array of metadatas (false if the cache id is not found)</span></div></li> |
<li><div class="src-line"><a name="a372"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a373"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/CacheSqlite.html#methodgetMetadonnees">getMetadonnees</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a374"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">verifierEtCreerStructureBdd</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a375"></a> <span class="src-var">$tags </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a376"></a> <span class="src-var">$resultat </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requeter</span><span class="src-sym">(</span><span class="src-str">"</span><span class="src-str">SELECT name FROM tag WHERE id = '<span class="src-var">$id</span>'</span><span class="src-str">"</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a377"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$resultat</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a378"></a> <span class="src-var">$lignes </span>= <span class="src-sym">@</span><a href="http://www.php.net/sqlite_fetch_all">sqlite_fetch_all</a><span class="src-sym">(</span><span class="src-var">$resultat</span><span class="src-sym">, </span><span class="src-id">SQLITE_ASSOC</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a379"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$lignes </span><span class="src-key">as </span><span class="src-var">$ligne</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a380"></a> <span class="src-var">$tags</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$ligne</span><span class="src-sym">[</span><span class="src-str">'name'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a381"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a382"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a383"></a> <span class="src-var">$resultat </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requeter</span><span class="src-sym">(</span><span class="src-str">"</span><span class="src-str">SELECT lastModified, expire FROM cache WHERE id = '<span class="src-var">$id</span>'</span><span class="src-str">"</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a384"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$resultat</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a385"></a> <span class="src-var">$ligne </span>= <span class="src-sym">@</span><a href="http://www.php.net/sqlite_fetch_array">sqlite_fetch_array</a><span class="src-sym">(</span><span class="src-var">$resultat</span><span class="src-sym">, </span><span class="src-id">SQLITE_ASSOC</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a386"></a> <span class="src-var">$resultat </span>= <span class="src-key">array</span><span class="src-sym">(</span></div></li> |
<li><div class="src-line"><a name="a387"></a> <span class="src-str">'tags' </span>=> <span class="src-var">$tags</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a388"></a> <span class="src-str">'mtime' </span>=> <span class="src-var">$ligne</span><span class="src-sym">[</span><span class="src-str">'lastModified'</span><span class="src-sym">]</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a389"></a> <span class="src-str">'expiration' </span>=> <span class="src-var">$ligne</span><span class="src-sym">[</span><span class="src-str">'expire'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a390"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a391"></a> <span class="src-var">$resultat </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a392"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a393"></a> <span class="src-key">return </span><span class="src-var">$resultat</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a394"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a395"></a> </div></li> |
<li><div class="src-line"><a name="a396"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a397"></a><span class="src-doc"> * Give (if possible) an extra lifetime to the given cache id</span></div></li> |
<li><div class="src-line"><a name="a398"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a399"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$id </span><span class="src-doc">cache id</span></div></li> |
<li><div class="src-line"><a name="a400"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$extraLifetime </span></div></li> |
<li><div class="src-line"><a name="a401"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">boolean </span><span class="src-doc">true if ok</span></div></li> |
<li><div class="src-line"><a name="a402"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a403"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/CacheSqlite.html#methodajouterSupplementDureeDeVie">ajouterSupplementDureeDeVie</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">, </span><span class="src-var">$supplement_duree_de_vie</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a404"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">verifierEtCreerStructureBdd</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a405"></a> <span class="src-var">$augmentation </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a406"></a> <span class="src-var">$requete </span>= <span class="src-str">"</span><span class="src-str">SELECT expire FROM cache WHERE id = '<span class="src-var">$id</span>' AND (expire = 0 OR expire > </span><span class="src-str">"</span>.<a href="http://www.php.net/time">time</a><span class="src-sym">(</span><span class="src-sym">)</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a407"></a> <span class="src-var">$resultat </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requeter</span><span class="src-sym">(</span><span class="src-var">$requete</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a408"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$resultat</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a409"></a> <span class="src-var">$expiration </span>= <span class="src-sym">@</span><a href="http://www.php.net/sqlite_fetch_single">sqlite_fetch_single</a><span class="src-sym">(</span><span class="src-var">$resultat</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a410"></a> <span class="src-var">$nouvelle_expiration </span>= <span class="src-var">$expiration </span>+ <span class="src-var">$supplement_duree_de_vie</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a411"></a> <span class="src-var">$resultat </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requeter</span><span class="src-sym">(</span><span class="src-str">'UPDATE cache SET lastModified = '</span>.<a href="http://www.php.net/time">time</a><span class="src-sym">(</span><span class="src-sym">)</span>.<span class="src-str">"</span><span class="src-str">, expire = <span class="src-var">$nouvelle_expiration</span> WHERE id = '<span class="src-var">$id</span>'</span><span class="src-str">"</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a412"></a> <span class="src-var">$augmentation </span>= <span class="src-sym">(</span><span class="src-var">$resultat</span><span class="src-sym">) </span>? <span class="src-id">true </span>: <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a413"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a414"></a> <span class="src-key">return </span><span class="src-var">$augmentation</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a415"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a416"></a> </div></li> |
<li><div class="src-line"><a name="a417"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a418"></a><span class="src-doc"> * Return the connection resource</span></div></li> |
<li><div class="src-line"><a name="a419"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a420"></a><span class="src-doc"> * If we are not connected, the connection is made</span></div></li> |
<li><div class="src-line"><a name="a421"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a422"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@throws</span><span class="src-doc"> Zend_Cache_Exception</span></div></li> |
<li><div class="src-line"><a name="a423"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">resource </span><span class="src-doc">Connection resource</span></div></li> |
<li><div class="src-line"><a name="a424"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a425"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">getConnexion</span><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a426"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/is_resource">is_resource</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">bdd</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a427"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheSqlite.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'stockage_chemin'</span><span class="src-sym">] </span>=== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a428"></a> <span class="src-var">$e </span>= <span class="src-str">"L'emplacement du chemin vers le fichier de la base de données SQLite n'a pas été défini"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a429"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-var">$e</span><span class="src-sym">, </span><span class="src-id">E_USER_ERROR</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a430"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a431"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">bdd </span>= <a href="http://www.php.net/sqlite_open">sqlite_open</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheSqlite.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'stockage_chemin'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a432"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-sym">(</span><a href="http://www.php.net/is_resource">is_resource</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">bdd</span><span class="src-sym">))) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a433"></a> <span class="src-var">$e </span>= <span class="src-str">"Impossible d'ouvrir le fichier '"</span>.<span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheSqlite.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'stockage_chemin'</span><span class="src-sym">]</span>.<span class="src-str">"' de la base de données SQLite."</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a434"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-var">$e</span><span class="src-sym">, </span><span class="src-id">E_USER_ERROR</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a435"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">bdd </span>= <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a436"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a437"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a438"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a439"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">bdd</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a440"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a441"></a> </div></li> |
<li><div class="src-line"><a name="a442"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a443"></a><span class="src-doc"> * Execute une requête SQL sans afficher de messages d'erreur.</span></div></li> |
<li><div class="src-line"><a name="a444"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a445"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$requete </span><span class="src-doc">requête SQL</span></div></li> |
<li><div class="src-line"><a name="a446"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">mixed</span><span class="src-doc">|</span><span class="src-doc-type">false</span><span class="src-doc">resultats de la requête</span></div></li> |
<li><div class="src-line"><a name="a447"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a448"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">requeter</span><span class="src-sym">(</span><span class="src-var">$requete</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a449"></a> <span class="src-var">$bdd </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">getConnexion</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a450"></a> <span class="src-comm">//Debug::printr($requete);</span></div></li> |
<li><div class="src-line"><a name="a451"></a> <span class="src-var">$resultat </span>= <span class="src-sym">(</span><a href="http://www.php.net/is_resource">is_resource</a><span class="src-sym">(</span><span class="src-var">$bdd</span><span class="src-sym">)) </span>? <span class="src-sym">@</span><a href="http://www.php.net/sqlite_query">sqlite_query</a><span class="src-sym">(</span><span class="src-var">$bdd</span><span class="src-sym">, </span><span class="src-var">$requete</span><span class="src-sym">, </span><span class="src-id">SQLITE_ASSOC</span><span class="src-sym">, </span><span class="src-var">$e_sqlite</span><span class="src-sym">) </span>: <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a452"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_resource">is_resource</a><span class="src-sym">(</span><span class="src-var">$bdd</span><span class="src-sym">) </span>&& <span class="src-sym">! </span><span class="src-var">$resultat</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a453"></a> <span class="src-id"><a href="../Framework/Debug.html">Debug</a></span><span class="src-sym">::</span><a href="../Framework/Debug.html#methodprintr">printr</a><span class="src-sym">(</span><span class="src-str">"</span><span class="src-str">Erreur SQLITE :\n<span class="src-var">$e_sqlite</span>\nPour la requête :\n<span class="src-var">$requete</span>\nRessource : <span class="src-var">$bdd</span></span><span class="src-str">"</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a454"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a455"></a> <span class="src-key">return </span><span class="src-var">$resultat</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a456"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a457"></a> </div></li> |
<li><div class="src-line"><a name="a458"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a459"></a><span class="src-doc"> * Deal with the automatic vacuum process</span></div></li> |
<li><div class="src-line"><a name="a460"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a461"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">void </span></div></li> |
<li><div class="src-line"><a name="a462"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a463"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">defragmenterAutomatiquement</span><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a464"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheSqlite.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'defragmentation_auto'</span><span class="src-sym">] </span>> <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a465"></a> <span class="src-var">$rand </span>= <a href="http://www.php.net/rand">rand</a><span class="src-sym">(</span><span class="src-num">1</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheSqlite.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'defragmentation_auto'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a466"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$rand </span>== <span class="src-num">1</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a467"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requeter</span><span class="src-sym">(</span><span class="src-str">'VACUUM'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a468"></a> <span class="src-sym">@</span><a href="http://www.php.net/sqlite_close">sqlite_close</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">getConnexion</span><span class="src-sym">(</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a469"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a470"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a471"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a472"></a> </div></li> |
<li><div class="src-line"><a name="a473"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a474"></a><span class="src-doc"> * Register a cache id with the given tag</span></div></li> |
<li><div class="src-line"><a name="a475"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a476"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">string </span><span class="src-doc-var">$id </span><span class="src-doc"> Cache id</span></div></li> |
<li><div class="src-line"><a name="a477"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">string </span><span class="src-doc-var">$tag </span><span class="src-doc">Tag</span></div></li> |
<li><div class="src-line"><a name="a478"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">boolean </span><span class="src-doc">True if no problem</span></div></li> |
<li><div class="src-line"><a name="a479"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a480"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">enregisterTag</span><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">, </span><span class="src-var">$tag</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a481"></a> <span class="src-var">$requete_suppression </span>= <span class="src-str">"</span><span class="src-str">DELETE FROM tag WHERE name = '<span class="src-var">$tag</span>' AND id = '<span class="src-var">$id</span>'</span><span class="src-str">"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a482"></a> <span class="src-var">$resultat </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requeter</span><span class="src-sym">(</span><span class="src-var">$requete_suppression</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a483"></a> <span class="src-var">$requete_insertion </span>= <span class="src-str">"</span><span class="src-str">INSERT INTO tag(name,id) VALUES ('<span class="src-var">$tag</span>','<span class="src-var">$id</span>')</span><span class="src-str">"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a484"></a> <span class="src-var">$resultat </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requeter</span><span class="src-sym">(</span><span class="src-var">$requete_insertion</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a485"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-var">$resultat</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a486"></a> <span class="src-comm">// TODO : ajouter un log -> impossible d'enregistrer le tag=$tag pour le cache id=$id");</span></div></li> |
<li><div class="src-line"><a name="a487"></a> <span class="src-id"><a href="../Framework/Debug.html">Debug</a></span><span class="src-sym">::</span><a href="../Framework/Debug.html#methodprintr">printr</a><span class="src-sym">(</span><span class="src-str">"</span><span class="src-str">Impossible d'enregistrer le tag=<span class="src-var">$tag</span> pour le cache id=<span class="src-var">$id</span></span><span class="src-str">"</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a488"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a489"></a> <span class="src-key">return </span><span class="src-sym">(</span><span class="src-var">$resultat</span><span class="src-sym">) </span>? <span class="src-id">true </span>: <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a490"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a491"></a> </div></li> |
<li><div class="src-line"><a name="a492"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a493"></a><span class="src-doc"> * Build the database structure</span></div></li> |
<li><div class="src-line"><a name="a494"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a495"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">false </span></div></li> |
<li><div class="src-line"><a name="a496"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a497"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">creerStructure</span><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a498"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requeter</span><span class="src-sym">(</span><span class="src-str">'DROP INDEX IF EXISTS tag_id_index'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a499"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requeter</span><span class="src-sym">(</span><span class="src-str">'DROP INDEX IF EXISTS tag_name_index'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a500"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requeter</span><span class="src-sym">(</span><span class="src-str">'DROP INDEX IF EXISTS cache_id_expire_index'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a501"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requeter</span><span class="src-sym">(</span><span class="src-str">'DROP TABLE IF EXISTS version'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a502"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requeter</span><span class="src-sym">(</span><span class="src-str">'DROP TABLE IF EXISTS cache'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a503"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requeter</span><span class="src-sym">(</span><span class="src-str">'DROP TABLE IF EXISTS tag'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a504"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requeter</span><span class="src-sym">(</span><span class="src-str">'CREATE TABLE version (num INTEGER PRIMARY KEY)'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a505"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requeter</span><span class="src-sym">(</span><span class="src-str">'CREATE TABLE cache(id TEXT PRIMARY KEY, content BLOB, lastModified INTEGER, expire INTEGER)'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a506"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requeter</span><span class="src-sym">(</span><span class="src-str">'CREATE TABLE tag (name TEXT, id TEXT)'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a507"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requeter</span><span class="src-sym">(</span><span class="src-str">'CREATE INDEX tag_id_index ON tag(id)'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a508"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requeter</span><span class="src-sym">(</span><span class="src-str">'CREATE INDEX tag_name_index ON tag(name)'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a509"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requeter</span><span class="src-sym">(</span><span class="src-str">'CREATE INDEX cache_id_expire_index ON cache(id, expire)'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a510"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requeter</span><span class="src-sym">(</span><span class="src-str">'INSERT INTO version (num) VALUES (1)'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a511"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a512"></a> </div></li> |
<li><div class="src-line"><a name="a513"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a514"></a><span class="src-doc"> * Check if the database structure is ok (with the good version)</span></div></li> |
<li><div class="src-line"><a name="a515"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a516"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">boolean </span><span class="src-doc">True if ok</span></div></li> |
<li><div class="src-line"><a name="a517"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a518"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">verifierBddStructureVersion</span><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a519"></a> <span class="src-var">$version_ok </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a520"></a> <span class="src-var">$resultat </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requeter</span><span class="src-sym">(</span><span class="src-str">'SELECT num FROM version'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a521"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$resultat</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a522"></a> <span class="src-var">$ligne </span>= <span class="src-sym">@</span><a href="http://www.php.net/sqlite_fetch_array">sqlite_fetch_array</a><span class="src-sym">(</span><span class="src-var">$resultat</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a523"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$ligne</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a524"></a> <span class="src-key">if </span><span class="src-sym">((</span>(int) <span class="src-var">$ligne</span><span class="src-sym">[</span><span class="src-str">'num'</span><span class="src-sym">]</span><span class="src-sym">) </span>== <span class="src-num">1</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a525"></a> <span class="src-var">$version_ok </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a526"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a527"></a> <span class="src-comm">// TODO : ajouter un log CacheSqlite::verifierBddStructureVersion() : vielle version de la structure de la base de données de cache détectée => le cache est entrain d'être supprimé</span></div></li> |
<li><div class="src-line"><a name="a528"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a529"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a530"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a531"></a> <span class="src-key">return </span><span class="src-var">$version_ok</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a532"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a533"></a> </div></li> |
<li><div class="src-line"><a name="a534"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a535"></a><span class="src-doc"> * Clean some cache records</span></div></li> |
<li><div class="src-line"><a name="a536"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a537"></a><span class="src-doc"> * Available modes are :</span></div></li> |
<li><div class="src-line"><a name="a538"></a><span class="src-doc"> * Zend_Cache::CLEANING_MODE_ALL (default) => remove all cache entries ($tags is not used)</span></div></li> |
<li><div class="src-line"><a name="a539"></a><span class="src-doc"> * Zend_Cache::CLEANING_MODE_OLD => remove too old cache entries ($tags is not used)</span></div></li> |
<li><div class="src-line"><a name="a540"></a><span class="src-doc"> * Zend_Cache::CLEANING_MODE_MATCHING_TAG => remove cache entries matching all given tags</span></div></li> |
<li><div class="src-line"><a name="a541"></a><span class="src-doc"> * ($tags can be an array of strings or a single string)</span></div></li> |
<li><div class="src-line"><a name="a542"></a><span class="src-doc"> * Zend_Cache::CLEANING_MODE_NOT_MATCHING_TAG => remove cache entries not {matching one of the given tags}</span></div></li> |
<li><div class="src-line"><a name="a543"></a><span class="src-doc"> * ($tags can be an array of strings or a single string)</span></div></li> |
<li><div class="src-line"><a name="a544"></a><span class="src-doc"> * Zend_Cache::CLEANING_MODE_MATCHING_ANY_TAG => remove cache entries matching any given tags</span></div></li> |
<li><div class="src-line"><a name="a545"></a><span class="src-doc"> * ($tags can be an array of strings or a single string)</span></div></li> |
<li><div class="src-line"><a name="a546"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a547"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">string </span><span class="src-doc-var">$mode </span><span class="src-doc">Clean mode</span></div></li> |
<li><div class="src-line"><a name="a548"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">array </span><span class="src-doc"> </span><span class="src-doc-var">$tags </span><span class="src-doc">Array of tags</span></div></li> |
<li><div class="src-line"><a name="a549"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">boolean </span><span class="src-doc">True if no problem</span></div></li> |
<li><div class="src-line"><a name="a550"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a551"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">nettoyerSqlite</span><span class="src-sym">(</span><span class="src-var">$mode </span>= <span class="src-id">Cache</span><span class="src-sym">::</span><span class="src-id">NETTOYAGE_MODE_TOUS</span><span class="src-sym">, </span><span class="src-var">$tags </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a552"></a> <span class="src-var">$nettoyage_ok </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a553"></a> <span class="src-key">switch </span><span class="src-sym">(</span><span class="src-var">$mode</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a554"></a> <span class="src-key">case </span><span class="src-id"><a href="../Framework/Cache.html">Cache</a></span><span class="src-sym">::</span><span class="src-id">NETTOYAGE_MODE_TOUS</span>:</div></li> |
<li><div class="src-line"><a name="a555"></a> <span class="src-var">$suppression_cache </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requeter</span><span class="src-sym">(</span><span class="src-str">'DELETE FROM cache'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a556"></a> <span class="src-var">$suppression_tag </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requeter</span><span class="src-sym">(</span><span class="src-str">'DELETE FROM tag'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a557"></a> <span class="src-var">$nettoyage_ok </span>= <span class="src-var">$suppression_cache </span>&& <span class="src-var">$suppression_tag</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a558"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a559"></a> <span class="src-key">case </span><span class="src-id"><a href="../Framework/Cache.html">Cache</a></span><span class="src-sym">::</span><span class="src-id">NETTOYAGE_MODE_EXPIRATION</span>:</div></li> |
<li><div class="src-line"><a name="a560"></a> <span class="src-var">$mktime </span>= <a href="http://www.php.net/time">time</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a561"></a> <span class="src-var">$suppression_tag </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requeter</span><span class="src-sym">(</span><span class="src-str">"</span><span class="src-str">DELETE FROM tag WHERE id IN (SELECT id FROM cache WHERE expire > 0 AND expire <= <span class="src-var">$mktime</span>)</span><span class="src-str">"</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a562"></a> <span class="src-var">$suppression_cache </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requeter</span><span class="src-sym">(</span><span class="src-str">"</span><span class="src-str">DELETE FROM cache WHERE expire > 0 AND expire <= <span class="src-var">$mktime</span></span><span class="src-str">"</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a563"></a> <span class="src-key">return </span><span class="src-var">$suppression_tag </span>&& <span class="src-var">$suppression_cache</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a564"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a565"></a> <span class="src-key">case </span><span class="src-id"><a href="../Framework/Cache.html">Cache</a></span><span class="src-sym">::</span><span class="src-id">NETTOYAGE_MODE_AVEC_LES_TAGS</span>:</div></li> |
<li><div class="src-line"><a name="a566"></a> <span class="src-var">$ids </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheSqlite.html#methodgetIdsAvecLesTags">getIdsAvecLesTags</a><span class="src-sym">(</span><span class="src-var">$tags</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a567"></a> <span class="src-var">$resultat </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a568"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$ids </span><span class="src-key">as </span><span class="src-var">$id</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a569"></a> <span class="src-var">$resultat </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheSqlite.html#methodsupprimer">supprimer</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">) </span>&& <span class="src-var">$resultat</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a570"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a571"></a> <span class="src-key">return </span><span class="src-var">$resultat</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a572"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a573"></a> <span class="src-key">case </span><span class="src-id"><a href="../Framework/Cache.html">Cache</a></span><span class="src-sym">::</span><span class="src-id">NETTOYAGE_MODE_SANS_LES_TAGS</span>:</div></li> |
<li><div class="src-line"><a name="a574"></a> <span class="src-var">$ids </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheSqlite.html#methodgetIdsSansLesTags">getIdsSansLesTags</a><span class="src-sym">(</span><span class="src-var">$tags</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a575"></a> <span class="src-var">$resultat </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a576"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$ids </span><span class="src-key">as </span><span class="src-var">$id</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a577"></a> <span class="src-var">$resultat </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheSqlite.html#methodsupprimer">supprimer</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">) </span>&& <span class="src-var">$resultat</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a578"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a579"></a> <span class="src-key">return </span><span class="src-var">$resultat</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a580"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a581"></a> <span class="src-key">case </span><span class="src-id"><a href="../Framework/Cache.html">Cache</a></span><span class="src-sym">::</span><span class="src-id">NETTOYAGE_MODE_AVEC_UN_TAG</span>:</div></li> |
<li><div class="src-line"><a name="a582"></a> <span class="src-var">$ids </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheSqlite.html#methodgetIdsAvecUnTag">getIdsAvecUnTag</a><span class="src-sym">(</span><span class="src-var">$tags</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a583"></a> <span class="src-var">$resultat </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a584"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$ids </span><span class="src-key">as </span><span class="src-var">$id</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a585"></a> <span class="src-var">$resultat </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheSqlite.html#methodsupprimer">supprimer</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">) </span>&& <span class="src-var">$resultat</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a586"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a587"></a> <span class="src-key">return </span><span class="src-var">$resultat</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a588"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a589"></a> <span class="src-key">default</span>:</div></li> |
<li><div class="src-line"><a name="a590"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a591"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a592"></a> <span class="src-key">return </span><span class="src-var">$nettoyage_ok</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a593"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a594"></a> </div></li> |
<li><div class="src-line"><a name="a595"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a596"></a><span class="src-doc"> * Check if the database structure is ok (with the good version), if no : build it</span></div></li> |
<li><div class="src-line"><a name="a597"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a598"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@throws</span><span class="src-doc"> Zend_Cache_Exception</span></div></li> |
<li><div class="src-line"><a name="a599"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">boolean </span><span class="src-doc">True if ok</span></div></li> |
<li><div class="src-line"><a name="a600"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a601"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">verifierEtCreerStructureBdd</span><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a602"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">! </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">structure_ok</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a603"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">! </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">verifierBddStructureVersion</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a604"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">creerStructure</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a605"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">! </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">verifierBddStructureVersion</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a606"></a> <span class="src-var">$e </span>= <span class="src-str">"Impossible de construire la base de données de cache dans "</span>.<span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/CacheSqlite.html#var$options">options</a><span class="src-sym">[</span><span class="src-str">'stockage_chemin'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a607"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-var">$e</span><span class="src-sym">, </span><span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a608"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">structure_ok </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a609"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a610"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a611"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">structure_ok </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a612"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a613"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">structure_ok</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a614"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a615"></a> </div></li> |
<li><div class="src-line"><a name="a616"></a><span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a617"></a><span class="src-php">?></span></div></li> |
</ol></div> |
</div> |
<p class="notes" id="credit"> |
Documentation generated on Tue, 18 Jan 2011 15:01:27 +0100 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.3</a> |
</p> |
</body> |
</html> |
/trunk/doc/HTMLframesConverter/__filesource/fsource_Framework__Debug.php.html |
---|
18,124 → 18,192 |
<li><div class="src-line"><a name="a5"></a><span class="src-doc"> * L'affichage et l'utilisation de ces fonctions sont améliorés via cette classe.</span></div></li> |
<li><div class="src-line"><a name="a6"></a><span class="src-doc"> * Cette classe est inspirée de la classe Zend_Debug.</span></div></li> |
<li><div class="src-line"><a name="a7"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a8"></a><span class="src-doc"> * PHP version 5</span></div></li> |
<li><div class="src-line"><a name="a9"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a10"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@category</span><span class="src-doc"> Debogage</span></div></li> |
<li><div class="src-line"><a name="a11"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@package</span><span class="src-doc"> Framework</span></div></li> |
<li><div class="src-line"><a name="a12"></a><span class="src-doc"> // Auteur principal :</span></div></li> |
<li><div class="src-line"><a name="a13"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@author</span><span class="src-doc"> Jean-Pascal MILCENT <jpm@tela-botanica.org></span></div></li> |
<li><div class="src-line"><a name="a14"></a><span class="src-doc"> // Autres auteurs :</span></div></li> |
<li><div class="src-line"><a name="a15"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> GPL v3 <http://www.gnu.org/licenses/gpl.txt></span></div></li> |
<li><div class="src-line"><a name="a16"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt></span></div></li> |
<li><div class="src-line"><a name="a17"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@version</span><span class="src-doc"> $$Id: Debug.php 153 2010-03-04 10:48:32Z jpm $$</span></div></li> |
<li><div class="src-line"><a name="a18"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@copyright</span><span class="src-doc"> 1999-2009 Tela Botanica (accueil@tela-botanica.org)</span></div></li> |
<li><div class="src-line"><a name="a19"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a20"></a><span class="src-key">class </span><a href="../Framework/Debug.html">Debug</a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a21"></a> </div></li> |
<li><div class="src-line"><a name="a22"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a23"></a><span class="src-doc"> * mode de php (cli ou sapi)</span></div></li> |
<li><div class="src-line"><a name="a24"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a25"></a> <span class="src-key">protected </span><span class="src-key">static </span><span class="src-var">$mode </span>= <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a26"></a> </div></li> |
<li><div class="src-line"><a name="a27"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a28"></a><span class="src-doc"> * Accesseur pour le mode</span></div></li> |
<li><div class="src-line"><a name="a29"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">le mode de php</span></div></li> |
<li><div class="src-line"><a name="a30"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a31"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/Debug.html#methodgetMode">getMode</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a32"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$mode </span>=== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a33"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$mode </span>= <span class="src-id">PHP_SAPI</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a34"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a35"></a> <span class="src-key">return </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$mode</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a36"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a37"></a> </div></li> |
<li><div class="src-line"><a name="a38"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a39"></a><span class="src-doc"> * Equivalent de var_dump</span></div></li> |
<li><div class="src-line"><a name="a40"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$variable </span><span class="src-doc">la variable à dumper</span></div></li> |
<li><div class="src-line"><a name="a41"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$mot_cle </span><span class="src-doc">le mot cle à associer à la variable</span></div></li> |
<li><div class="src-line"><a name="a42"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">boolean </span><span class="src-doc-var">$echo </span><span class="src-doc">si true on affiche le résultat, si false on ne renvoie que la chaine sans l'afficher</span></div></li> |
<li><div class="src-line"><a name="a43"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">la chaine à afficher representant le dump ou null si echo</span></div></li> |
<li><div class="src-line"><a name="a44"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a45"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/Debug.html#methoddump">dump</a><span class="src-sym">(</span><span class="src-var">$variable</span><span class="src-sym">, </span><span class="src-var">$mot_cle </span>= <span class="src-id">null</span><span class="src-sym">, </span><span class="src-var">$echo </span>= <span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a46"></a> <span class="src-comm">// var_dump de la variable dans un buffer et récupération de la sortie</span></div></li> |
<li><div class="src-line"><a name="a47"></a> <span class="src-id">ob_start</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a48"></a> <a href="http://www.php.net/var_dump">var_dump</a><span class="src-sym">(</span><span class="src-var">$variable</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a49"></a> <span class="src-var">$sortie </span>= <a href="http://www.php.net/ob_get_clean">ob_get_clean</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a8"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@category</span><span class="src-doc"> PHP 5.2</span></div></li> |
<li><div class="src-line"><a name="a9"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@package</span><span class="src-doc"> Framework</span></div></li> |
<li><div class="src-line"><a name="a10"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@author</span><span class="src-doc"> Jean-Pascal MILCENT <jpm@tela-botanica.org></span></div></li> |
<li><div class="src-line"><a name="a11"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@copyright</span><span class="src-doc"> Copyright (c) 2009, Tela Botanica (accueil@tela-botanica.org)</span></div></li> |
<li><div class="src-line"><a name="a12"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.gnu.org/licenses/gpl.html Licence GNU-GPL-v3</span></div></li> |
<li><div class="src-line"><a name="a13"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL-v2</span></div></li> |
<li><div class="src-line"><a name="a14"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@version</span><span class="src-doc"> $Id: Debug.php 274 2010-12-28 15:37:22Z jpm $</span></div></li> |
<li><div class="src-line"><a name="a15"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@link</span><span class="src-doc"> /doc/framework/</span></div></li> |
<li><div class="src-line"><a name="a16"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a17"></a><span class="src-key">class </span><a href="../Framework/Debug.html">Debug</a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a18"></a> </div></li> |
<li><div class="src-line"><a name="a19"></a> <span class="src-doc">/** Paramètrer le fichier de config avec "php:Debug::MODE_ECHO" : les messages sont affichés en utilisant echo au moment</span></div></li> |
<li><div class="src-line"><a name="a20"></a><span class="src-doc"> * où ils sont déclenchés dans le code.*/</span></div></li> |
<li><div class="src-line"><a name="a20"></a> </div></li> |
<li><div class="src-line"><a name="a21"></a> <span class="src-key">const </span><span class="src-id">MODE_ECHO </span>= <span class="src-str">'echo'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a22"></a> </div></li> |
<li><div class="src-line"><a name="a23"></a> <span class="src-doc">/** Paramètrer le fichier de config avec "php:Debug::MODE_NOTICE" : les message sont stockés par le gestionnaire</span></div></li> |
<li><div class="src-line"><a name="a24"></a><span class="src-doc"> * d'exception sous forme d'erreur de type E_USER_NOTICE et sont renvoyés sur la sortie standard à la fin de l'execution</span></div></li> |
<li><div class="src-line"><a name="a25"></a><span class="src-doc"> * du programme (via echo).*/</span></div></li> |
<li><div class="src-line"><a name="a25"></a> </div></li> |
<li><div class="src-line"><a name="a26"></a> <span class="src-key">const </span><span class="src-id">MODE_NOTICE </span>= <span class="src-str">'e_user_notice'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a27"></a> </div></li> |
<li><div class="src-line"><a name="a28"></a> <span class="src-doc">/** Paramètrer le fichier de config avec "php:Debug::MODE_ENTETE_HTTP" : les message sont stockés par le gestionnaire</span></div></li> |
<li><div class="src-line"><a name="a29"></a><span class="src-doc"> * d'exception sous forme d'erreur de type E_USER_NOTICE et sont renvoyés dans un entête HTTP (X_REST_DEBOGAGE_MESSAGES)</span></div></li> |
<li><div class="src-line"><a name="a30"></a><span class="src-doc"> * à la fin de l'execution du programme.</span></div></li> |
<li><div class="src-line"><a name="a31"></a><span class="src-doc"> * Surtout utile pour le Serveur REST. */</span></div></li> |
<li><div class="src-line"><a name="a31"></a> </div></li> |
<li><div class="src-line"><a name="a32"></a> <span class="src-key">const </span><span class="src-id">MODE_ENTETE_HTTP </span>= <span class="src-str">'entete_http'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a33"></a> </div></li> |
<li><div class="src-line"><a name="a34"></a> <span class="src-doc">/** Mode de php (cli ou sapi) */</span></div></li> |
<li><div class="src-line"><a name="a35"></a> <span class="src-key">protected </span><span class="src-key">static </span><span class="src-var">$mode </span>= <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a36"></a> </div></li> |
<li><div class="src-line"><a name="a37"></a> <span class="src-doc">/** Tableau des noms des paramètres à définir dans le fichier de config car obligatoirement nécessaire à cette classe.*/</span></div></li> |
<li><div class="src-line"><a name="a38"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$parametres_obligatoires </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'debogage'</span><span class="src-sym">, </span><span class="src-str">'debogage_mode'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a39"></a> </div></li> |
<li><div class="src-line"><a name="a40"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a41"></a><span class="src-doc"> * Accesseur pour le mode</span></div></li> |
<li><div class="src-line"><a name="a42"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">le mode de php</span></div></li> |
<li><div class="src-line"><a name="a43"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a44"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/Debug.html#methodgetMode">getMode</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a45"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$mode </span>=== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a46"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$mode </span>= <span class="src-id">PHP_SAPI</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a47"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a48"></a> <span class="src-key">return </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$mode</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a49"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a50"></a> </div></li> |
<li><div class="src-line"><a name="a51"></a> <span class="src-comm">// Pré-traitement de la sortie</span></div></li> |
<li><div class="src-line"><a name="a52"></a> <span class="src-var">$sortie </span>= <a href="http://www.php.net/preg_replace">preg_replace</a><span class="src-sym">(</span><span class="src-str">"/\]\=\>\n(\s+)/m"</span><span class="src-sym">, </span><span class="src-str">"] => "</span><span class="src-sym">, </span><span class="src-var">$sortie</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a53"></a> </div></li> |
<li><div class="src-line"><a name="a54"></a> <span class="src-comm">// Traitement général du débogage</span></div></li> |
<li><div class="src-line"><a name="a55"></a> <span class="src-key">return </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">traiterDebogage</span><span class="src-sym">(</span><span class="src-var">$mot_cle</span><span class="src-sym">, </span><span class="src-var">$sortie</span><span class="src-sym">, </span><span class="src-var">$echo</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a56"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a57"></a> </div></li> |
<li><div class="src-line"><a name="a58"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a59"></a><span class="src-doc"> * Equivalent de print_r</span></div></li> |
<li><div class="src-line"><a name="a60"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$variable </span><span class="src-doc">la variable à afficher</span></div></li> |
<li><div class="src-line"><a name="a61"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$mot_cle </span><span class="src-doc">le mot cle à associer</span></div></li> |
<li><div class="src-line"><a name="a62"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">boolean </span><span class="src-doc-var">$echo </span><span class="src-doc">faire un echo ou non</span></div></li> |
<li><div class="src-line"><a name="a63"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">la chaine contenant la variable printée ou null si echo</span></div></li> |
<li><div class="src-line"><a name="a64"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a65"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/Debug.html#methodprintr">printr</a><span class="src-sym">(</span><span class="src-var">$variable</span><span class="src-sym">, </span><span class="src-var">$mot_cle </span>= <span class="src-id">null</span><span class="src-sym">, </span><span class="src-var">$echo </span>= <span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a66"></a> <span class="src-comm">// Récupération de la sortie</span></div></li> |
<li><div class="src-line"><a name="a67"></a> <span class="src-var">$sortie </span>= <a href="http://www.php.net/print_r">print_r</a><span class="src-sym">(</span><span class="src-var">$variable</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a68"></a> </div></li> |
<li><div class="src-line"><a name="a69"></a> <span class="src-comm">// Traitement général du débogage</span></div></li> |
<li><div class="src-line"><a name="a70"></a> <span class="src-key">return </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">traiterDebogage</span><span class="src-sym">(</span><span class="src-var">$mot_cle</span><span class="src-sym">, </span><span class="src-var">$sortie</span><span class="src-sym">, </span><span class="src-var">$echo</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a71"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a72"></a> </div></li> |
<li><div class="src-line"><a name="a73"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a74"></a><span class="src-doc"> * Traite une chaine de débogage et les mots clés associés</span></div></li> |
<li><div class="src-line"><a name="a75"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc"> </span><span class="src-doc-var">$mot_cle </span><span class="src-doc">le mot à associer à la chaine</span></div></li> |
<li><div class="src-line"><a name="a76"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc"> </span><span class="src-doc-var">$sortie </span><span class="src-doc">le chaine de debogage</span></div></li> |
<li><div class="src-line"><a name="a77"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">boolean </span><span class="src-doc-var">$echo </span><span class="src-doc">faire un echo du resultat ou non</span></div></li> |
<li><div class="src-line"><a name="a78"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">la chaine de debogage formatée ou bien null si echo</span></div></li> |
<li><div class="src-line"><a name="a79"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a80"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">traiterDebogage</span><span class="src-sym">(</span><span class="src-var">$mot_cle</span><span class="src-sym">, </span><span class="src-var">$sortie</span><span class="src-sym">, </span><span class="src-var">$echo</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a81"></a> <span class="src-comm">// Formate le mot-clé</span></div></li> |
<li><div class="src-line"><a name="a82"></a> <span class="src-var">$mot_cle </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">formaterMotCle</span><span class="src-sym">(</span><span class="src-var">$mot_cle</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a83"></a> </div></li> |
<li><div class="src-line"><a name="a84"></a> <span class="src-comm">// Traitement de la sortie</span></div></li> |
<li><div class="src-line"><a name="a85"></a> <span class="src-var">$sortie </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">traiterSortieSuivantMode</span><span class="src-sym">(</span><span class="src-var">$mot_cle</span><span class="src-sym">, </span><span class="src-var">$sortie</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a86"></a> </div></li> |
<li><div class="src-line"><a name="a87"></a> <span class="src-comm">// Affichage et/ou retour</span></div></li> |
<li><div class="src-line"><a name="a88"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$echo</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a89"></a> echo <span class="src-var">$sortie</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a90"></a> <span class="src-key">return </span><span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a91"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a92"></a> <span class="src-key">return </span><span class="src-var">$sortie</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a93"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a94"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a95"></a> </div></li> |
<li><div class="src-line"><a name="a96"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a97"></a><span class="src-doc"> * formate un mot clé donné</span></div></li> |
<li><div class="src-line"><a name="a98"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$mot_cle </span><span class="src-doc">le mot clé à formaté</span></div></li> |
<li><div class="src-line"><a name="a99"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">le mot clé formaté ou bien un chaine vide le mot clé est null ou vide</span></div></li> |
<li><div class="src-line"><a name="a100"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a101"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">formaterMotCle</span><span class="src-sym">(</span><span class="src-var">$mot_cle</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a102"></a> <span class="src-key">return </span><span class="src-sym">(</span><span class="src-var">$mot_cle </span>=== <span class="src-id">null</span><span class="src-sym">) </span>? <span class="src-str">'' </span>: <a href="http://www.php.net/rtrim">rtrim</a><span class="src-sym">(</span><span class="src-var">$mot_cle</span><span class="src-sym">)</span>.<span class="src-str">' '</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a103"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a104"></a> </div></li> |
<li><div class="src-line"><a name="a105"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a106"></a><span class="src-doc"> * traite la sortie de la chaine de débogage suivant le mode de php</span></div></li> |
<li><div class="src-line"><a name="a107"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$mot_cle </span><span class="src-doc">le mot clé associé à la chaine</span></div></li> |
<li><div class="src-line"><a name="a108"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc"> </span><span class="src-doc-var">$sortie </span><span class="src-doc">la chaine de débogage</span></div></li> |
<li><div class="src-line"><a name="a109"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">la sortie formatée pour le mode en cours</span></div></li> |
<li><div class="src-line"><a name="a110"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a111"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">traiterSortieSuivantMode</span><span class="src-sym">(</span><span class="src-var">$mot_cle</span><span class="src-sym">, </span><span class="src-var">$sortie</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a112"></a> <span class="src-var">$corps </span>= <span class="src-var">$mot_cle</span>.<span class="src-id">PHP_EOL</span>.<span class="src-var">$sortie</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a113"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">getMode</span><span class="src-sym">(</span><span class="src-sym">) </span>== <span class="src-str">'cli'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a114"></a> <span class="src-var">$sortie </span>= <span class="src-id">PHP_EOL</span>.<span class="src-var">$corps</span>.<span class="src-id">PHP_EOL</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a115"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a116"></a> <span class="src-var">$sortie </span>= <span class="src-str">'<pre>'</span>.<span class="src-var">$corps</span>.<span class="src-str">'</pre>'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a117"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a118"></a> <span class="src-key">return </span><span class="src-var">$sortie</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a119"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a120"></a><span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a121"></a><span class="src-php">?></span></div></li> |
<li><div class="src-line"><a name="a51"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a52"></a><span class="src-doc"> * Equivalent de var_dump</span></div></li> |
<li><div class="src-line"><a name="a53"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$variable </span><span class="src-doc">la variable à dumper</span></div></li> |
<li><div class="src-line"><a name="a54"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$mot_cle </span><span class="src-doc">le mot cle à associer à la variable</span></div></li> |
<li><div class="src-line"><a name="a55"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">boolean </span><span class="src-doc-var">$echo </span><span class="src-doc">si true on affiche le résultat, si false on ne renvoie que la chaine sans l'afficher</span></div></li> |
<li><div class="src-line"><a name="a56"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">la chaine à afficher representant le dump ou null si echo</span></div></li> |
<li><div class="src-line"><a name="a57"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a58"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/Debug.html#methoddump">dump</a><span class="src-sym">(</span><span class="src-var">$variable</span><span class="src-sym">, </span><span class="src-var">$mot_cle </span>= <span class="src-id">null</span><span class="src-sym">, </span><span class="src-var">$echo </span>= <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a59"></a> <span class="src-comm">// var_dump de la variable dans un buffer et récupération de la sortie</span></div></li> |
<li><div class="src-line"><a name="a60"></a> <span class="src-id">ob_start</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a61"></a> <a href="http://www.php.net/var_dump">var_dump</a><span class="src-sym">(</span><span class="src-var">$variable</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a62"></a> <span class="src-var">$sortie </span>= <a href="http://www.php.net/ob_get_clean">ob_get_clean</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a63"></a> </div></li> |
<li><div class="src-line"><a name="a64"></a> <span class="src-comm">// Pré-traitement de la sortie</span></div></li> |
<li><div class="src-line"><a name="a65"></a> <span class="src-var">$sortie </span>= <a href="http://www.php.net/preg_replace">preg_replace</a><span class="src-sym">(</span><span class="src-str">"/\]\=\>\n(\s+)/m"</span><span class="src-sym">, </span><span class="src-str">"] => "</span><span class="src-sym">, </span><span class="src-var">$sortie</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a66"></a> </div></li> |
<li><div class="src-line"><a name="a67"></a> <span class="src-comm">// Traitement général du débogage</span></div></li> |
<li><div class="src-line"><a name="a68"></a> <span class="src-key">return </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">traiterDebogage</span><span class="src-sym">(</span><span class="src-var">$mot_cle</span><span class="src-sym">, </span><span class="src-var">$sortie</span><span class="src-sym">, </span><span class="src-var">$echo</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a69"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a70"></a> </div></li> |
<li><div class="src-line"><a name="a71"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a72"></a><span class="src-doc"> * Equivalent de print_r.</span></div></li> |
<li><div class="src-line"><a name="a73"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$variable </span><span class="src-doc">la variable à afficher</span></div></li> |
<li><div class="src-line"><a name="a74"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$mot_cle </span><span class="src-doc">le mot cle à associer</span></div></li> |
<li><div class="src-line"><a name="a75"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">boolean </span><span class="src-doc-var">$echo </span><span class="src-doc">faire un echo ou non</span></div></li> |
<li><div class="src-line"><a name="a76"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">la chaine contenant la variable printée ou null si echo</span></div></li> |
<li><div class="src-line"><a name="a77"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a78"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/Debug.html#methodprintr">printr</a><span class="src-sym">(</span><span class="src-var">$variable</span><span class="src-sym">, </span><span class="src-var">$mot_cle </span>= <span class="src-id">null</span><span class="src-sym">, </span><span class="src-var">$echo </span>= <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a79"></a> <span class="src-comm">// Récupération de la sortie</span></div></li> |
<li><div class="src-line"><a name="a80"></a> <span class="src-var">$sortie </span>= <a href="http://www.php.net/print_r">print_r</a><span class="src-sym">(</span><span class="src-var">$variable</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a81"></a> </div></li> |
<li><div class="src-line"><a name="a82"></a> <span class="src-comm">// Traitement général du débogage</span></div></li> |
<li><div class="src-line"><a name="a83"></a> <span class="src-key">return </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">traiterDebogage</span><span class="src-sym">(</span><span class="src-var">$mot_cle</span><span class="src-sym">, </span><span class="src-var">$sortie</span><span class="src-sym">, </span><span class="src-var">$echo</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a84"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a85"></a> </div></li> |
<li><div class="src-line"><a name="a86"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a87"></a><span class="src-doc"> * Affichage d'informations sur l'espace mémoire occupé par une variable</span></div></li> |
<li><div class="src-line"><a name="a88"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a89"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@link</span><span class="src-doc"> http://forum.webmaster-rank.info/developpement-site/code-taille-memoire-d-une-variable-en-php-t1344.html</span></div></li> |
<li><div class="src-line"><a name="a90"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@since</span><span class="src-doc"> 0.3</span></div></li> |
<li><div class="src-line"><a name="a91"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a92"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$var </span><span class="src-doc">la variable dont on veut connaître l'empreinte mémoire.</span></div></li> |
<li><div class="src-line"><a name="a93"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$mot_cle </span><span class="src-doc">le mot cle à associer</span></div></li> |
<li><div class="src-line"><a name="a94"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">boolean </span><span class="src-doc-var">$echo </span><span class="src-doc">faire un echo ou non</span></div></li> |
<li><div class="src-line"><a name="a95"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a96"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">la chaine d'information sur l'espace mémoire occupé ou bien null si echo</span></div></li> |
<li><div class="src-line"><a name="a97"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a98"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/Debug.html#methodtailleMemoireVar">tailleMemoireVar</a><span class="src-sym">(</span><span class="src-var">$var</span><span class="src-sym">, </span><span class="src-var">$mot_cle </span>= <span class="src-id">null</span><span class="src-sym">, </span><span class="src-var">$echo </span>= <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a99"></a> <span class="src-var">$memoire_depart </span>= <a href="http://www.php.net/memory_get_usage">memory_get_usage</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">; </span></div></li> |
<li><div class="src-line"><a name="a100"></a> <span class="src-var">$temp </span>= <a href="http://www.php.net/unserialize">unserialize</a><span class="src-sym">(</span><a href="http://www.php.net/serialize">serialize</a><span class="src-sym">(</span><span class="src-var">$var</span><span class="src-sym">))</span><span class="src-sym">; </span></div></li> |
<li><div class="src-line"><a name="a101"></a> <span class="src-var">$taille </span>= <a href="http://www.php.net/memory_get_usage">memory_get_usage</a><span class="src-sym">(</span><span class="src-sym">) </span>- <span class="src-var">$memoire_depart</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a102"></a> <span class="src-var">$sortie </span>= <span class="src-id"><a href="../Utilitaire/Fichier.html">Fichier</a></span><span class="src-sym">::</span><a href="../Utilitaire/Fichier.html#methodconvertirTaille">convertirTaille</a><span class="src-sym">(</span><span class="src-var">$taille</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a103"></a> <span class="src-key">return </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">traiterDebogage</span><span class="src-sym">(</span><span class="src-var">$mot_cle</span><span class="src-sym">, </span><span class="src-var">$sortie</span><span class="src-sym">, </span><span class="src-var">$echo</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a104"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a105"></a> </div></li> |
<li><div class="src-line"><a name="a106"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a107"></a><span class="src-doc"> * Affichage d'informations sur l'espace mémoire occupé par le script PHP</span></div></li> |
<li><div class="src-line"><a name="a108"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a109"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@link</span><span class="src-doc"> http://forum.webmaster-rank.info/developpement-site/code-taille-memoire-d-une-variable-en-php-t1344.html</span></div></li> |
<li><div class="src-line"><a name="a110"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@since</span><span class="src-doc"> 0.3</span></div></li> |
<li><div class="src-line"><a name="a111"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a112"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$mot_cle </span><span class="src-doc">le mot cle à associer</span></div></li> |
<li><div class="src-line"><a name="a113"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">boolean </span><span class="src-doc-var">$echo </span><span class="src-doc">faire un echo ou non</span></div></li> |
<li><div class="src-line"><a name="a114"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a115"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">la chaine d'information sur l'espace mémoire occupé ou bien null si echo</span></div></li> |
<li><div class="src-line"><a name="a116"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a117"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/Debug.html#methodtailleMemoireScript">tailleMemoireScript</a><span class="src-sym">(</span><span class="src-var">$mot_cle </span>= <span class="src-id">null</span><span class="src-sym">, </span><span class="src-var">$echo </span>= <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a118"></a> <span class="src-var">$sortie </span>= <span class="src-str">'Mémoire -- Utilisé : '</span>.<span class="src-id"><a href="../Utilitaire/Fichier.html">Fichier</a></span><span class="src-sym">::</span><a href="../Utilitaire/Fichier.html#methodconvertirTaille">convertirTaille</a><span class="src-sym">(</span><a href="http://www.php.net/memory_get_usage">memory_get_usage</a><span class="src-sym">(</span><span class="src-id">false</span><span class="src-sym">))</span>.</div></li> |
<li><div class="src-line"><a name="a119"></a> <span class="src-str">' || Alloué : '</span>.</div></li> |
<li><div class="src-line"><a name="a120"></a> <span class="src-id"><a href="../Utilitaire/Fichier.html">Fichier</a></span><span class="src-sym">::</span><a href="../Utilitaire/Fichier.html#methodconvertirTaille">convertirTaille</a><span class="src-sym">(</span><a href="http://www.php.net/memory_get_usage">memory_get_usage</a><span class="src-sym">(</span><span class="src-id">true</span><span class="src-sym">)) </span>.</div></li> |
<li><div class="src-line"><a name="a121"></a> <span class="src-str">' || MAX Utilisé : '</span>.</div></li> |
<li><div class="src-line"><a name="a122"></a> <span class="src-id"><a href="../Utilitaire/Fichier.html">Fichier</a></span><span class="src-sym">::</span><a href="../Utilitaire/Fichier.html#methodconvertirTaille">convertirTaille</a><span class="src-sym">(</span><a href="http://www.php.net/memory_get_peak_usage">memory_get_peak_usage</a><span class="src-sym">(</span><span class="src-id">false</span><span class="src-sym">))</span>.</div></li> |
<li><div class="src-line"><a name="a123"></a> <span class="src-str">' || MAX Alloué : '</span>.</div></li> |
<li><div class="src-line"><a name="a124"></a> <span class="src-id"><a href="../Utilitaire/Fichier.html">Fichier</a></span><span class="src-sym">::</span><a href="../Utilitaire/Fichier.html#methodconvertirTaille">convertirTaille</a><span class="src-sym">(</span><a href="http://www.php.net/memory_get_peak_usage">memory_get_peak_usage</a><span class="src-sym">(</span><span class="src-id">true</span><span class="src-sym">))</span>.</div></li> |
<li><div class="src-line"><a name="a125"></a> <span class="src-str">' || MAX autorisé : '</span>.</div></li> |
<li><div class="src-line"><a name="a126"></a> <a href="http://www.php.net/ini_get">ini_get</a><span class="src-sym">(</span><span class="src-str">'memory_limit'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a127"></a> </div></li> |
<li><div class="src-line"><a name="a128"></a> <span class="src-comm">// Traitement général du débogage</span></div></li> |
<li><div class="src-line"><a name="a129"></a> <span class="src-key">return </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">traiterDebogage</span><span class="src-sym">(</span><span class="src-var">$mot_cle</span><span class="src-sym">, </span><span class="src-var">$sortie</span><span class="src-sym">, </span><span class="src-var">$echo</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a130"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a131"></a> </div></li> |
<li><div class="src-line"><a name="a132"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a133"></a><span class="src-doc"> * Traite une chaine de débogage et les mots clés associés</span></div></li> |
<li><div class="src-line"><a name="a134"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc"> </span><span class="src-doc-var">$mot_cle </span><span class="src-doc">le mot à associer à la chaine</span></div></li> |
<li><div class="src-line"><a name="a135"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc"> </span><span class="src-doc-var">$sortie </span><span class="src-doc">le chaine de debogage</span></div></li> |
<li><div class="src-line"><a name="a136"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">boolean </span><span class="src-doc-var">$echo </span><span class="src-doc">faire un echo du resultat ou non</span></div></li> |
<li><div class="src-line"><a name="a137"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">la chaine de debogage formatée ou bien null si echo</span></div></li> |
<li><div class="src-line"><a name="a138"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a139"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">traiterDebogage</span><span class="src-sym">(</span><span class="src-var">$mot_cle</span><span class="src-sym">, </span><span class="src-var">$sortie</span><span class="src-sym">, </span><span class="src-var">$echo</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a140"></a> <span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodverifierPresenceParametres">verifierPresenceParametres</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$parametres_obligatoires</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a141"></a> <span class="src-var">$debogage </span>= <span class="src-id">Config</span><span class="src-sym">::</span><span class="src-id">get</span><span class="src-sym">(</span><span class="src-str">'debogage'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a142"></a> <span class="src-var">$mode </span>= <span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'debogage_mode'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a143"></a> </div></li> |
<li><div class="src-line"><a name="a144"></a> <span class="src-var">$mot_cle </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">formaterMotCle</span><span class="src-sym">(</span><span class="src-var">$mot_cle</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a145"></a> <span class="src-var">$sortie </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">traiterSortieSuivantMode</span><span class="src-sym">(</span><span class="src-var">$mot_cle</span><span class="src-sym">, </span><span class="src-var">$sortie</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a146"></a> </div></li> |
<li><div class="src-line"><a name="a147"></a> <span class="src-comm">// Affichage et/ou retour</span></div></li> |
<li><div class="src-line"><a name="a148"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$debogage </span>== <span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a149"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$echo </span>=== <span class="src-id">true </span>|| <span class="src-var">$mode </span>== <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">MODE_ECHO</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a150"></a> echo <span class="src-var">$sortie</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a151"></a> <span class="src-key">return </span><span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a152"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$mode </span>== <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">MODE_NOTICE </span>|| <span class="src-var">$mode </span>== <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">MODE_ENTETE_HTTP</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a153"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-var">$sortie</span><span class="src-sym">, </span><span class="src-id">E_USER_NOTICE</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a154"></a> <span class="src-key">return </span><span class="src-id">null</span><span class="src-sym">; </span></div></li> |
<li><div class="src-line"><a name="a155"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a156"></a> <span class="src-key">return </span><span class="src-var">$sortie</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a157"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a158"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a159"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a160"></a> </div></li> |
<li><div class="src-line"><a name="a161"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a162"></a><span class="src-doc"> * formate un mot clé donné</span></div></li> |
<li><div class="src-line"><a name="a163"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$mot_cle </span><span class="src-doc">le mot clé à formaté</span></div></li> |
<li><div class="src-line"><a name="a164"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">le mot clé formaté ou bien un chaine vide le mot clé est null ou vide</span></div></li> |
<li><div class="src-line"><a name="a165"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a166"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">formaterMotCle</span><span class="src-sym">(</span><span class="src-var">$mot_cle</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a167"></a> <span class="src-key">return </span><span class="src-sym">(</span><span class="src-var">$mot_cle </span>=== <span class="src-id">null</span><span class="src-sym">) </span>? <span class="src-str">'' </span>: <a href="http://www.php.net/rtrim">rtrim</a><span class="src-sym">(</span><span class="src-var">$mot_cle</span><span class="src-sym">)</span>.<span class="src-str">' '</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a168"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a169"></a> </div></li> |
<li><div class="src-line"><a name="a170"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a171"></a><span class="src-doc"> * traite la sortie de la chaine de débogage suivant le mode de php</span></div></li> |
<li><div class="src-line"><a name="a172"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$mot_cle </span><span class="src-doc">le mot clé associé à la chaine</span></div></li> |
<li><div class="src-line"><a name="a173"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc"> </span><span class="src-doc-var">$sortie </span><span class="src-doc">la chaine de débogage</span></div></li> |
<li><div class="src-line"><a name="a174"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">la sortie formatée pour le mode en cours</span></div></li> |
<li><div class="src-line"><a name="a175"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a176"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">traiterSortieSuivantMode</span><span class="src-sym">(</span><span class="src-var">$mot_cle</span><span class="src-sym">, </span><span class="src-var">$sortie</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a177"></a> <span class="src-var">$corps </span>= <span class="src-var">$mot_cle</span>.<span class="src-id">PHP_EOL</span>.<span class="src-var">$sortie</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a178"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">getMode</span><span class="src-sym">(</span><span class="src-sym">) </span>== <span class="src-str">'cli'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a179"></a> <span class="src-var">$sortie </span>= <span class="src-id">PHP_EOL</span>.<span class="src-var">$corps</span>.<span class="src-id">PHP_EOL</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a180"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a181"></a> <span class="src-var">$sortie </span>= <span class="src-str">'<pre>'</span>.<span class="src-var">$corps</span>.<span class="src-str">'</pre>'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a182"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a183"></a> <span class="src-key">return </span><span class="src-var">$sortie</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a184"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a185"></a><span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a186"></a><span class="src-php">?></span></div></li> |
</ol></div> |
</div> |
<p class="notes" id="credit"> |
Documentation generated on Thu, 04 Mar 2010 19:27:21 +0100 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.3</a> |
Documentation generated on Tue, 18 Jan 2011 15:01:30 +0100 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.3</a> |
</p> |
</body> |
</html> |
/trunk/doc/HTMLframesConverter/__filesource/fsource_Framework__Bdd.php.html |
---|
New file |
0,0 → 1,431 |
<?xml version="1.0" encoding="UTF-8"?> |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
<html xmlns="http://www.w3.org/1999/xhtml"> |
<head> |
<!-- template designed by Marco Von Ballmoos --> |
<title>File Source for Bdd.php</title> |
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'/> |
<link rel="stylesheet" href="../media/stylesheet.css" /> |
</head> |
<body> |
<h1>Source for file Bdd.php</h1> |
<p>Documentation is available at <a href="../Framework/_Bdd.php.html">Bdd.php</a></p> |
<div class="src-code"> |
<div class="src-code"><ol><li><div class="src-line"><a name="a1"></a><span class="src-php"><?php</span></div></li> |
<li><div class="src-line"><a name="a2"></a><span class="src-comm">// declare(encoding='UTF-8');</span></div></li> |
<li><div class="src-line"><a name="a3"></a><span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a4"></a><span class="src-doc"> * Classe Bdd, d'accés au base de données.</span></div></li> |
<li><div class="src-line"><a name="a5"></a><span class="src-doc"> * Elle fait office d'abstraction légère de base de données en utilisant diverses possibilités d'accès aux</span></div></li> |
<li><div class="src-line"><a name="a6"></a><span class="src-doc"> * bases de données (PDO, mysql, mysqli, SQLite3).</span></div></li> |
<li><div class="src-line"><a name="a7"></a><span class="src-doc"> * Les valeurs pour le paramètre 'bdd_abstraction' du fichier config.ini sont : pdo, mysql, mysqli, sqlite3</span></div></li> |
<li><div class="src-line"><a name="a8"></a><span class="src-doc"> * Vous pouvez aussi utiliser : "php:Bdd::ABSTRACTION_PDO","php:Bdd::ABSTRACTION_MYSQL", "php:Bdd::ABSTRACTION_MYSQLI",</span></div></li> |
<li><div class="src-line"><a name="a9"></a><span class="src-doc"> * "php:Bdd::ABSTRACTION_SQLITE3".</span></div></li> |
<li><div class="src-line"><a name="a10"></a><span class="src-doc"> * Elle peut être étendue, pour ajouter le support d'autres bases de données où prendre en compte des méthodes spécifique à</span></div></li> |
<li><div class="src-line"><a name="a11"></a><span class="src-doc"> * un type d'abstraction.</span></div></li> |
<li><div class="src-line"><a name="a12"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a13"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@category</span><span class="src-doc"> php 5.2</span></div></li> |
<li><div class="src-line"><a name="a14"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@package</span><span class="src-doc"> Framework</span></div></li> |
<li><div class="src-line"><a name="a15"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@author</span><span class="src-doc"> Aurélien PERONNET <aurelien@tela-botanica.org></span></div></li> |
<li><div class="src-line"><a name="a16"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@author</span><span class="src-doc"> Jean-Pascal MILCENT <jpm@tela-botanica.org></span></div></li> |
<li><div class="src-line"><a name="a17"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@copyright</span><span class="src-doc"> Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org)</span></div></li> |
<li><div class="src-line"><a name="a18"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL</span></div></li> |
<li><div class="src-line"><a name="a19"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.gnu.org/licenses/gpl.html Licence GNU-GPL</span></div></li> |
<li><div class="src-line"><a name="a20"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@version</span><span class="src-doc"> $Id: Bdd.php 247 2010-12-16 16:47:52Z jpm $</span></div></li> |
<li><div class="src-line"><a name="a21"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@link</span><span class="src-doc"> /doc/framework/</span></div></li> |
<li><div class="src-line"><a name="a22"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a23"></a><span class="src-key">class </span><a href="../Framework/Bdd.html">Bdd</a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a24"></a> <span class="src-doc">/** Constante stockant le squelette du message en cas d'erreur de requête sql. */</span></div></li> |
<li><div class="src-line"><a name="a25"></a> <span class="src-key">const </span><span class="src-id">ERREUR_REQUETE_TPL </span>= <span class="src-str">'Requête echec.\nFichier : %s.\nLigne : %s.\nMessage : %s.\nRequête : %s'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a26"></a> </div></li> |
<li><div class="src-line"><a name="a27"></a> <span class="src-doc">/** Constante stockant le squelette du message en cas d'erreur de connexion à la base de données. */</span></div></li> |
<li><div class="src-line"><a name="a28"></a> <span class="src-key">const </span><span class="src-id">ERREUR_CONNEXION_TPL </span>= <span class="src-str">'Erreur de connexion à la base de données, vérifiez les paramètres du fichier de configuration.\nMessage : %S.'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a29"></a> </div></li> |
<li><div class="src-line"><a name="a30"></a> <span class="src-doc">/** Constante stockant le squelette du message en cas d'erreur de sélection de la base de données. */</span></div></li> |
<li><div class="src-line"><a name="a31"></a> <span class="src-key">const </span><span class="src-id">ERREUR_SELECTION_BDD_TPL </span>= <span class="src-str">'Erreur de sélection de la base de données, vérifiez les paramètres du fichier de configuration.\nMessage : %S.'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a32"></a> </div></li> |
<li><div class="src-line"><a name="a33"></a> <span class="src-doc">/** Constante stockant le code pour l'abstraction de PDO. */</span></div></li> |
<li><div class="src-line"><a name="a34"></a> <span class="src-key">const </span><span class="src-id">ABSTRACTION_PDO </span>= <span class="src-str">'pdo'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a35"></a> </div></li> |
<li><div class="src-line"><a name="a36"></a> <span class="src-doc">/** Constante stockant le code pour l'abstraction de mysql. */</span></div></li> |
<li><div class="src-line"><a name="a37"></a> <span class="src-key">const </span><span class="src-id">ABSTRACTION_MYSQL </span>= <span class="src-str">'mysql'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a38"></a> </div></li> |
<li><div class="src-line"><a name="a39"></a> <span class="src-doc">/** Constante stockant le code pour l'abstraction de mysqli. */</span></div></li> |
<li><div class="src-line"><a name="a40"></a> <span class="src-key">const </span><span class="src-id">ABSTRACTION_MYSQLI </span>= <span class="src-str">'mysqli'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a41"></a> </div></li> |
<li><div class="src-line"><a name="a42"></a> <span class="src-doc">/** Constante stockant le code pour l'abstraction de SQLite3. */</span></div></li> |
<li><div class="src-line"><a name="a43"></a> <span class="src-key">const </span><span class="src-id">ABSTRACTION_SQLITE3 </span>= <span class="src-str">'sqlite3'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a44"></a> </div></li> |
<li><div class="src-line"><a name="a45"></a> <span class="src-doc">/** Constante stockant le code pour le mode tableau associatif des résultats des requêtes. */</span></div></li> |
<li><div class="src-line"><a name="a46"></a> <span class="src-key">const </span><span class="src-id">MODE_ASSOC </span>= <span class="src-str">'ASSOC'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a47"></a> </div></li> |
<li><div class="src-line"><a name="a48"></a> <span class="src-doc">/** Constante stockant le code pour le mode objet des résultats des requêtes. */</span></div></li> |
<li><div class="src-line"><a name="a49"></a> <span class="src-key">const </span><span class="src-id">MODE_OBJET </span>= <span class="src-str">'OBJECT'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a50"></a> </div></li> |
<li><div class="src-line"><a name="a51"></a> <span class="src-doc">/** Mode de fetch associatif */</span></div></li> |
<li><div class="src-line"><a name="a52"></a> <span class="src-key">protected </span><a href="../Framework/Bdd.html#var$ASSOC">$ASSOC</a> = <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a53"></a> </div></li> |
<li><div class="src-line"><a name="a54"></a> <span class="src-doc">/** Mode de fetch objet */</span></div></li> |
<li><div class="src-line"><a name="a55"></a> <span class="src-key">protected </span><a href="../Framework/Bdd.html#var$OBJECT">$OBJECT</a> = <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a56"></a> </div></li> |
<li><div class="src-line"><a name="a57"></a> <span class="src-doc">/** abstraction de base de données utilisée */</span></div></li> |
<li><div class="src-line"><a name="a58"></a> <span class="src-key">protected </span><a href="../Framework/Bdd.html#var$abstraction">$abstraction</a><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a59"></a> </div></li> |
<li><div class="src-line"><a name="a60"></a> <span class="src-doc">/** DSN pour accéder à la base de données */</span></div></li> |
<li><div class="src-line"><a name="a61"></a> <span class="src-key">protected </span><a href="../Framework/Bdd.html#var$dsn">$dsn</a><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a62"></a> </div></li> |
<li><div class="src-line"><a name="a63"></a> <span class="src-doc">/** Type de base de données (mysql, mysqli, etc ...) */</span></div></li> |
<li><div class="src-line"><a name="a64"></a> <span class="src-key">protected </span><a href="../Framework/Bdd.html#var$type">$type</a><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a65"></a> </div></li> |
<li><div class="src-line"><a name="a66"></a> <span class="src-doc">/** Hote herbergeant la base de données */</span></div></li> |
<li><div class="src-line"><a name="a67"></a> <span class="src-key">protected </span><a href="../Framework/Bdd.html#var$hote">$hote</a><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a68"></a> </div></li> |
<li><div class="src-line"><a name="a69"></a> <span class="src-doc">/** Nom de la base de données à laquelle le modèle doit se connecter */</span></div></li> |
<li><div class="src-line"><a name="a70"></a> <span class="src-key">protected </span><a href="../Framework/Bdd.html#var$bdd_nom">$bdd_nom</a><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a71"></a> </div></li> |
<li><div class="src-line"><a name="a72"></a> <span class="src-doc">/** Nom d'utilisateur */</span></div></li> |
<li><div class="src-line"><a name="a73"></a> <span class="src-key">protected </span><a href="../Framework/Bdd.html#var$utilisateur">$utilisateur</a><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a74"></a> </div></li> |
<li><div class="src-line"><a name="a75"></a> <span class="src-doc">/** Mot de passe */</span></div></li> |
<li><div class="src-line"><a name="a76"></a> <span class="src-key">protected </span><a href="../Framework/Bdd.html#var$pass">$pass</a><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a77"></a> </div></li> |
<li><div class="src-line"><a name="a78"></a> <span class="src-doc">/** Encodage de la base de données */</span></div></li> |
<li><div class="src-line"><a name="a79"></a> <span class="src-key">protected </span><a href="../Framework/Bdd.html#var$encodage">$encodage</a> = <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a80"></a> </div></li> |
<li><div class="src-line"><a name="a81"></a> <span class="src-doc">/** Connexion à la base de données */</span></div></li> |
<li><div class="src-line"><a name="a82"></a> <span class="src-key">protected </span><a href="../Framework/Bdd.html#var$connexion">$connexion</a> = <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a83"></a> </div></li> |
<li><div class="src-line"><a name="a84"></a> <span class="src-doc">/** Tableau des noms des paramètres à définir dans le fichier de config car obligatoirement nécessaire à cette classe.*/</span></div></li> |
<li><div class="src-line"><a name="a85"></a> <span class="src-key">protected </span><a href="../Framework/Bdd.html#var$parametres_obligatoires">$parametres_obligatoires</a> = <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'bdd_abstraction'</span><span class="src-sym">, </span><span class="src-str">'bdd_protocole'</span><span class="src-sym">, </span><span class="src-str">'bdd_serveur'</span><span class="src-sym">, </span><span class="src-str">'bdd_nom'</span><span class="src-sym">, </span></div></li> |
<li><div class="src-line"><a name="a86"></a> <span class="src-str">'bdd_utilisateur'</span><span class="src-sym">, </span><span class="src-str">'bdd_mot_de_passe'</span><span class="src-sym">, </span><span class="src-str">'bdd_encodage'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a87"></a> </div></li> |
<li><div class="src-line"><a name="a88"></a> <span class="src-doc">/** Constructeur par défaut, appelé à l'initialisation. */</span></div></li> |
<li><div class="src-line"><a name="a89"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Bdd.html#method__construct">__construct</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a90"></a> <span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodverifierPresenceParametres">verifierPresenceParametres</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#var$parametres_obligatoires">parametres_obligatoires</a><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a91"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#var$abstraction">abstraction</a> = <a href="http://www.php.net/strtolower">strtolower</a><span class="src-sym">(</span><span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'bdd_abstraction'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a92"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#var$type">type</a> = <span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'bdd_protocole'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a93"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#var$hote">hote</a> = <span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'bdd_serveur'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a94"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#var$bdd_nom">bdd_nom</a> = <span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'bdd_nom'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a95"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#var$utilisateur">utilisateur</a> = <span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'bdd_utilisateur'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a96"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#var$pass">pass</a> = <span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'bdd_mot_de_passe'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a97"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#var$encodage">encodage</a> = <span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'bdd_encodage'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a98"></a> </div></li> |
<li><div class="src-line"><a name="a99"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#var$dsn">dsn</a> = <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#var$type">type</a>.<span class="src-str">':dbname='</span>.<span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#var$bdd_nom">bdd_nom</a>.<span class="src-str">';host='</span>.<span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#var$hote">hote</a><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a100"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#methodinitialiserProtocole">initialiserProtocole</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a101"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a102"></a> </div></li> |
<li><div class="src-line"><a name="a103"></a> <span class="src-doc">/** Initialise les constantes de classe à leur bonne valeur et déclenche une erreur si le protocole n'est pas bien défini. */</span></div></li> |
<li><div class="src-line"><a name="a104"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Framework/Bdd.html#methodinitialiserProtocole">initialiserProtocole</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a105"></a> <span class="src-key">switch </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#var$abstraction">abstraction</a><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a106"></a> <span class="src-key">case </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">ABSTRACTION_PDO </span>:</div></li> |
<li><div class="src-line"><a name="a107"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#var$ASSOC">ASSOC</a> = <span class="src-id">PDO</span><span class="src-sym">::</span><span class="src-id">FETCH_ASSOC</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a108"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#var$OBJECT">OBJECT</a> = <span class="src-id">PDO</span><span class="src-sym">::</span><span class="src-id">FETCH_CLASS</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a109"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a110"></a> <span class="src-key">case </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">ABSTRACTION_MYSQL </span>:</div></li> |
<li><div class="src-line"><a name="a111"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#var$ASSOC">ASSOC</a> = <span class="src-str">'mysql_fetch_assoc'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a112"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#var$OBJECT">OBJECT</a> = <span class="src-str">'mysql_fetch_object'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a113"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a114"></a> <span class="src-key">case </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">ABSTRACTION_MYSQLI </span>:</div></li> |
<li><div class="src-line"><a name="a115"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#var$ASSOC">ASSOC</a> = <span class="src-str">'fetch_assoc'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a116"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#var$OBJECT">OBJECT</a> = <span class="src-str">'fetch_object'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a117"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a118"></a> <span class="src-key">case </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">ABSTRACTION_SQLITE3 </span>:</div></li> |
<li><div class="src-line"><a name="a119"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#var$ASSOC">ASSOC</a> = <span class="src-str">'SQLITE3_ASSOC'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a120"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#var$OBJECT">OBJECT</a> = <span class="src-str">'SQLITE3_OBJECT'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a121"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a122"></a> <span class="src-key">default</span>:</div></li> |
<li><div class="src-line"><a name="a123"></a> <span class="src-var">$m </span>= <span class="src-str">"</span><span class="src-str">Erreur : l'abstraction '{<span class="src-var">$this</span></span><span class="src-sym">-></span><a href="../Framework/Bdd.html#var$abstraction">abstraction</a><span class="src-sym">}</span>' n'est pas prise en charge</span><span class="src-str"><span class="src-str">"</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a124"></a></span><span class="src-str"> <span class="src-id">trigger_error</span><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">,</span> <span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a125"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a126"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a127"></a></span><span class="src-str"> </span></div></li> |
<li><div class="src-line"><a name="a128"></a></span><span class="src-str"> /**</span></div></li> |
<li><div class="src-line"><a name="a129"></a></span><span class="src-str"> * Connection à la base de données en utilisant les informations fournies par</span></div></li> |
<li><div class="src-line"><a name="a130"></a></span><span class="src-str"> * le fichier de configuration.</span></div></li> |
<li><div class="src-line"><a name="a131"></a></span><span class="src-str"> * Cette méthode est private et final car elle n'a pas vocation a être appelée par l'utilisateur.</span></div></li> |
<li><div class="src-line"><a name="a132"></a></span><span class="src-str"> */</span></div></li> |
<li><div class="src-line"><a name="a133"></a></span><span class="src-str"> <span class="src-key">protected</span> <span class="src-key">function</span> <span class="src-id">connecter</span><span class="src-sym">(</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a134"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#var$connexion">connexion</a> == <span class="src-id">null</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a135"></a></span><span class="src-str"> <span class="src-key">switch</span> <span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#var$abstraction">abstraction</a><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a136"></a></span><span class="src-str"> <span class="src-key">case</span> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">ABSTRACTION_PDO</span> :</span></div></li> |
<li><div class="src-line"><a name="a137"></a></span><span class="src-str"> try <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a138"></a></span><span class="src-str"> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#var$connexion">connexion</a> = <span class="src-key">new</span> <span class="src-id">PDO</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#var$dsn">dsn</a><span class="src-sym">,</span> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#var$utilisateur">utilisateur</a><span class="src-sym">,</span> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#var$pass">pass</a><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a139"></a></span><span class="src-str"> <span class="src-sym">}</span> catch <span class="src-sym">(</span><span class="src-id">PDOException</span> <span class="src-var">$e</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a140"></a></span><span class="src-str"> <span class="src-var">$e</span> = <span class="src-id">sprintf</span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">ERREUR_CONNEXION_TPL</span><span class="src-sym">,</span> <span class="src-var">$e</span><span class="src-sym">-></span><span class="src-id">getMessage</span><span class="src-sym">(</span><span class="src-sym">))</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a141"></a></span><span class="src-str"> <span class="src-id">trigger_error</span><span class="src-sym">(</span><span class="src-var">$e</span><span class="src-sym">,</span> <span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a142"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a143"></a></span><span class="src-str"> <span class="src-key">break</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a144"></a></span><span class="src-str"> <span class="src-key">case</span> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">ABSTRACTION_MYSQL</span> :</span></div></li> |
<li><div class="src-line"><a name="a145"></a></span><span class="src-str"> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#var$connexion">connexion</a> = <span class="src-id">mysql_connect</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#var$hote">hote</a><span class="src-sym">,</span> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#var$utilisateur">utilisateur</a><span class="src-sym">,</span> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#var$pass">pass</a><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a146"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#var$connexion">connexion</a> !== <span class="src-id">false</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a147"></a></span><span class="src-str"> <span class="src-var">$selection</span> = <span class="src-id">mysql_select_db</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#var$bdd_nom">bdd_nom</a><span class="src-sym">,</span> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#var$connexion">connexion</a><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a148"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span><span class="src-var">$selection</span> === <span class="src-id">false</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a149"></a></span><span class="src-str"> <span class="src-var">$e</span> = <span class="src-id">sprintf</span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">ERREUR_SELECTION_BDD_TPL</span><span class="src-sym">,</span> <span class="src-id">mysql_error</span><span class="src-sym">(</span><span class="src-sym">))</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a150"></a></span><span class="src-str"> <span class="src-id">trigger_error</span><span class="src-sym">(</span><span class="src-var">$e</span><span class="src-sym">,</span> <span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a151"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a152"></a></span><span class="src-str"> <span class="src-sym">}</span> <span class="src-key">else</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a153"></a></span><span class="src-str"> <span class="src-var">$e</span> = <span class="src-id">sprintf</span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">ERREUR_CONNEXION_TPL</span><span class="src-sym">,</span> <span class="src-id">mysql_error</span><span class="src-sym">(</span><span class="src-sym">))</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a154"></a></span><span class="src-str"> <span class="src-id">trigger_error</span><span class="src-sym">(</span><span class="src-var">$e</span><span class="src-sym">,</span> <span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a155"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a156"></a></span><span class="src-str"> <span class="src-key">break</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a157"></a></span><span class="src-str"> <span class="src-key">case</span> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">ABSTRACTION_MYSQLI</span> :</span></div></li> |
<li><div class="src-line"><a name="a158"></a></span><span class="src-str"> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#var$connexion">connexion</a> = <span class="src-sym">@</span><span class="src-key">new</span> <span class="src-id">mysqli</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#var$hote">hote</a><span class="src-sym">,</span> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#var$utilisateur">utilisateur</a><span class="src-sym">,</span> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#var$pass">pass</a><span class="src-sym">,</span> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#var$bdd_nom">bdd_nom</a><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a159"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#var$connexion">connexion</a><span class="src-sym">-></span><span class="src-id">connect_errno</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a160"></a></span><span class="src-str"> <span class="src-var">$e</span> = <span class="src-id">sprintf</span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">ERREUR_CONNEXION_TPL</span><span class="src-sym">,</span> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#var$connexion">connexion</a><span class="src-sym">-></span><span class="src-id">connect_error</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a161"></a></span><span class="src-str"> <span class="src-id">trigger_error</span><span class="src-sym">(</span><span class="src-var">$e</span><span class="src-sym">,</span> <span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a162"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a163"></a></span><span class="src-str"> <span class="src-key">break</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a164"></a></span><span class="src-str"> <span class="src-key">case</span> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">ABSTRACTION_SQLITE3</span> :</span></div></li> |
<li><div class="src-line"><a name="a165"></a></span><span class="src-str"> <span class="src-comm">// cas particulier de sqllite, on considère que le nom de la base de données correspond au fichier à ouvrir</span></span></div></li> |
<li><div class="src-line"><a name="a166"></a></span><span class="src-str"><span class="src-comm"></span> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#var$connexion">connexion</a> = <span class="src-key">new</span> <span class="src-id">SQLite3</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#var$bdd_nom">bdd_nom</a><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a167"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span><span class="src-sym">!</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#var$connexion">connexion</a><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a168"></a></span><span class="src-str"> <span class="src-var">$e</span> = <span class="src-id">sprintf</span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">ERREUR_CONNEXION_TPL</span><span class="src-sym">,</span> <span class="src-str">''</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a169"></a></span><span class="src-str"> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-var">$e</span><span class="src-sym">,</span> <span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a170"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a171"></a></span><span class="src-str"> <span class="src-key">break</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a172"></a></span><span class="src-str"> <span class="src-key">default</span>:</span></div></li> |
<li><div class="src-line"><a name="a173"></a></span><span class="src-str"> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#var$connexion">connexion</a> = <span class="src-id">null</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a174"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a175"></a></span><span class="src-str"> </span></div></li> |
<li><div class="src-line"><a name="a176"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">encodage</span> != <span class="src-id">null</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a177"></a></span><span class="src-str"> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requete</span><span class="src-sym">(</span><span class="src-str">"SET names '"</span>.<span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">encodage</span>.<span class="src-str">"'"</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a178"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a179"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a180"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a181"></a></span><span class="src-str"> </span></div></li> |
<li><div class="src-line"><a name="a182"></a><span class="src-doc">/**</span><span class="src-str"> </span></span></div></li> |
<li><div class="src-line"><a name="a183"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@deprecated</span><span class="src-doc"> changement de nom. Disparaîtra dans la version 0.4. Utiliser à la place : @see requeter</span></div></li> |
<li><div class="src-line"><a name="a184"></a><span class="src-doc"> */</span><span class="src-str"></span></span></div></li> |
<li><div class="src-line"><a name="a185"></a></span><span class="src-str"> <span class="src-key">final</span> <span class="src-key">protected</span> <span class="src-key">function</span> <a href="../Framework/Bdd.html#methodrequete">requete</a><span class="src-sym">(</span><span class="src-var">$requete</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a186"></a></span><span class="src-str"> <span class="src-key">return</span> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#methodrequeter">requeter</a><span class="src-sym">(</span><span class="src-var">$requete</span><span class="src-sym">,</span> <span class="src-var">$mode</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a187"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a188"></a></span><span class="src-str"> </span></div></li> |
<li><div class="src-line"><a name="a189"></a><span class="src-doc">/**</span><span class="src-str"> </span></span></div></li> |
<li><div class="src-line"><a name="a190"></a><span class="src-doc"> * Execute une requête et retourne le résultat tel que renvoyé par l'abstraction courante.</span></div></li> |
<li><div class="src-line"><a name="a191"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a192"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc">la requête à effectuer</span></div></li> |
<li><div class="src-line"><a name="a193"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">mixed </span><span class="src-doc">un objet contenant le résultat de la requête</span></div></li> |
<li><div class="src-line"><a name="a194"></a><span class="src-doc"> */</span><span class="src-str"></span></span></div></li> |
<li><div class="src-line"><a name="a195"></a></span><span class="src-str"> <span class="src-key">public</span> <span class="src-key">function</span> <a href="../Framework/Bdd.html#methodrequeter">requeter</a><span class="src-sym">(</span><span class="src-var">$requete</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a196"></a></span><span class="src-str"> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#methodconnecter">connecter</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a197"></a> </div></li> |
<li><div class="src-line"><a name="a198"></a></span><span class="src-str"> <span class="src-var">$retour</span> = <span class="src-id">null</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a199"></a></span><span class="src-str"> <span class="src-key">switch</span> <span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Framework/Bdd.html#var$abstraction">abstraction</a></span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a200"></a></span><span class="src-str"> <span class="src-key">case</span> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">ABSTRACTION_PDO</span> :</span></div></li> |
<li><div class="src-line"><a name="a201"></a></span><span class="src-str"> try <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a202"></a></span><span class="src-str"> <span class="src-var">$retour</span> = <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Framework/Bdd.html#var$connexion">connexion</a></span><span class="src-sym">-></span><span class="src-id">query</span><span class="src-sym">(</span><span class="src-var">$requete</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a203"></a></span><span class="src-str"> <span class="src-sym">}</span> catch <span class="src-sym">(</span><span class="src-id">PDOException</span> <span class="src-var">$e</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a204"></a></span><span class="src-str"> <span class="src-var">$m</span> = <a href="http://www.php.net/sprintf">sprintf</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">ERREUR_REQUETE_TPL</span><span class="src-sym">,</span> <span class="src-var">$e</span><span class="src-sym">-></span><span class="src-id">getFile</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">,</span> <span class="src-var">$e</span><span class="src-sym">-></span><span class="src-id">getLine</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">,</span> <span class="src-var">$e</span><span class="src-sym">-></span><span class="src-id">getMessage</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">,</span> <span class="src-var">$requete</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a205"></a></span><span class="src-str"> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">,</span> <span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a206"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a207"></a></span><span class="src-str"> <span class="src-key">break</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a208"></a></span><span class="src-str"> <span class="src-key">case</span> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">ABSTRACTION_MYSQL</span> :</span></div></li> |
<li><div class="src-line"><a name="a209"></a></span><span class="src-str"> <span class="src-var">$retour</span> = <a href="http://www.php.net/mysql_query">mysql_query</a><span class="src-sym">(</span><span class="src-var">$requete</span><span class="src-sym">,</span> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Framework/Bdd.html#var$connexion">connexion</a></span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a210"></a></span><span class="src-str"> <span class="src-key">break</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a211"></a></span><span class="src-str"> <span class="src-key">case</span> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">ABSTRACTION_MYSQLI</span> :</span></div></li> |
<li><div class="src-line"><a name="a212"></a></span><span class="src-str"> <span class="src-var">$retour</span> = <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Framework/Bdd.html#var$connexion">connexion</a></span><span class="src-sym">-></span><span class="src-id">query</span><span class="src-sym">(</span><span class="src-var">$requete</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a213"></a></span><span class="src-str"> <span class="src-key">break</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a214"></a></span><span class="src-str"> <span class="src-key">case</span> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">ABSTRACTION_SQLITE3</span> :</span></div></li> |
<li><div class="src-line"><a name="a215"></a></span><span class="src-str"> <span class="src-var">$retour</span> = <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Framework/Bdd.html#var$connexion">connexion</a></span><span class="src-sym">-></span><a href="http://www.php.net/exec">exec</a><span class="src-sym">(</span><span class="src-var">$requete</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a216"></a></span><span class="src-str"> <span class="src-key">break</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a217"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a218"></a></span><span class="src-str"> <span class="src-key">return</span> <span class="src-var">$retour</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a219"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a220"></a></span><span class="src-str"> </span></div></li> |
<li><div class="src-line"><a name="a221"></a><span class="src-doc">/**</span><span class="src-str"> </span></span></div></li> |
<li><div class="src-line"><a name="a222"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@deprecated</span><span class="src-doc"> changement de nom. Disparaîtra dans la version 0.4. Utiliser à la place : @see recuperer</span></div></li> |
<li><div class="src-line"><a name="a223"></a><span class="src-doc"> */</span><span class="src-str"></span></span></div></li> |
<li><div class="src-line"><a name="a224"></a></span><span class="src-str"> <span class="src-key">final</span> <span class="src-key">protected</span> <span class="src-key">function</span> <a href="../Framework/Bdd.html#methodrequeteUn">requeteUn</a><span class="src-sym">(</span><span class="src-var">$requete</span><span class="src-sym">,</span> <span class="src-var">$mode</span> = <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">MODE_ASSOC</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a225"></a></span><span class="src-str"> <span class="src-key">return</span> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#methodrecuperer">recuperer</a><span class="src-sym">(</span><span class="src-var">$requete</span><span class="src-sym">,</span> <span class="src-var">$mode</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a226"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a227"></a></span><span class="src-str"> </span></div></li> |
<li><div class="src-line"><a name="a228"></a><span class="src-doc">/**</span><span class="src-str"> </span></span></div></li> |
<li><div class="src-line"><a name="a229"></a><span class="src-doc"> * Execute une requête et retourne le premier résultat sous forme de tableau (par défaut) ou d'objet.</span></div></li> |
<li><div class="src-line"><a name="a230"></a><span class="src-doc"> * Les noms des champs de la base de données correspondent aux noms des clés du tableau ou aux noms des attributs de l'objet.</span></div></li> |
<li><div class="src-line"><a name="a231"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a232"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc">la requête à effectuer</span></div></li> |
<li><div class="src-line"><a name="a233"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc">le mode de retour ASSOC (Bdd::MODE_ASSOC) pour un tableau ou OBJECT (Bdd::MODE_OBJET) pour un objet.</span></div></li> |
<li><div class="src-line"><a name="a234"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">mixed </span><span class="src-doc">un objet ou un tableau contenant le résultat de la requête</span></div></li> |
<li><div class="src-line"><a name="a235"></a><span class="src-doc"> */</span><span class="src-str"></span></span></div></li> |
<li><div class="src-line"><a name="a236"></a></span><span class="src-str"> <span class="src-key">public</span> <span class="src-key">function</span> <a href="../Framework/Bdd.html#methodrecuperer">recuperer</a><span class="src-sym">(</span><span class="src-var">$requete</span><span class="src-sym">,</span> <span class="src-var">$mode</span> = <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">MODE_ASSOC</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a237"></a></span><span class="src-str"> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#methodconnecter">connecter</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a238"></a> </div></li> |
<li><div class="src-line"><a name="a239"></a></span><span class="src-str"> <span class="src-var">$retour</span> = <span class="src-id">null</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a240"></a></span><span class="src-str"> <span class="src-key">switch</span> <span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Framework/Bdd.html#var$abstraction">abstraction</a></span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a241"></a></span><span class="src-str"> <span class="src-key">case</span> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">ABSTRACTION_PDO</span> :</span></div></li> |
<li><div class="src-line"><a name="a242"></a></span><span class="src-str"> try <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a243"></a></span><span class="src-str"> <span class="src-var">$resultat</span> = <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Framework/Bdd.html#var$connexion">connexion</a></span><span class="src-sym">-></span><span class="src-id">query</span><span class="src-sym">(</span><span class="src-var">$requete</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a244"></a></span><span class="src-str"> <span class="src-var">$retour</span> = <span class="src-var">$resultat</span><span class="src-sym">-></span><span class="src-id">fetch</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">$mode</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a245"></a></span><span class="src-str"> <span class="src-sym">}</span> catch <span class="src-sym">(</span><span class="src-id">PDOException</span> <span class="src-var">$e</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a246"></a></span><span class="src-str"> <span class="src-var">$m</span> = <a href="http://www.php.net/sprintf">sprintf</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">ERREUR_REQUETE_TPL</span><span class="src-sym">,</span> <span class="src-var">$e</span><span class="src-sym">-></span><span class="src-id">getFile</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">,</span> <span class="src-var">$e</span><span class="src-sym">-></span><span class="src-id">getLine</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">,</span> <span class="src-var">$e</span><span class="src-sym">-></span><span class="src-id">getMessage</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">,</span> <span class="src-var">$requete</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a247"></a></span><span class="src-str"> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">,</span> <span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a248"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a249"></a></span><span class="src-str"> <span class="src-key">break</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a250"></a></span><span class="src-str"> <span class="src-key">case</span> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">ABSTRACTION_MYSQL</span> :</span></div></li> |
<li><div class="src-line"><a name="a251"></a></span><span class="src-str"> <span class="src-var">$res</span> = <a href="http://www.php.net/mysql_query">mysql_query</a><span class="src-sym">(</span><span class="src-var">$requete</span><span class="src-sym">,</span> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Framework/Bdd.html#var$connexion">connexion</a></span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a252"></a></span><span class="src-str"> <span class="src-var">$fonction_fetch</span> = <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">$mode</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a253"></a></span><span class="src-str"> <span class="src-var">$retour</span> = <span class="src-var">$fonction_fetch</span><span class="src-sym">(</span><span class="src-var">$res</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a254"></a></span><span class="src-str"> <span class="src-key">break</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a255"></a></span><span class="src-str"> <span class="src-key">case</span> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">ABSTRACTION_MYSQLI</span> :</span></div></li> |
<li><div class="src-line"><a name="a256"></a></span><span class="src-str"> <span class="src-var">$res</span> = <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Framework/Bdd.html#var$connexion">connexion</a></span><span class="src-sym">-></span><span class="src-id">query</span><span class="src-sym">(</span><span class="src-var">$requete</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a257"></a></span><span class="src-str"> <span class="src-var">$fonction_fetch</span> = <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">$mode</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a258"></a></span><span class="src-str"> <span class="src-var">$retour</span> = <span class="src-var">$res</span><span class="src-sym">-></span><span class="src-var">$fonction_fetch</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a259"></a></span><span class="src-str"> <span class="src-key">break</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a260"></a></span><span class="src-str"> <span class="src-key">case</span> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">ABSTRACTION_SQLITE3</span> :</span></div></li> |
<li><div class="src-line"><a name="a261"></a></span><span class="src-str"> <span class="src-var">$retour</span> = <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Framework/Bdd.html#var$connexion">connexion</a></span><span class="src-sym">-></span><span class="src-id">querySingle</span><span class="src-sym">(</span><span class="src-var">$requete</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a262"></a></span><span class="src-str"> <span class="src-key">break</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a263"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a264"></a></span><span class="src-str"> <span class="src-key">return</span> <span class="src-var">$retour</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a265"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a266"></a></span><span class="src-str"> </span></div></li> |
<li><div class="src-line"><a name="a267"></a><span class="src-doc">/**</span><span class="src-str"> </span></span></div></li> |
<li><div class="src-line"><a name="a268"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@deprecated</span><span class="src-doc"> changement de nom. Disparaîtra dans la version 0.4. Utiliser à la place : @see recupererTous</span></div></li> |
<li><div class="src-line"><a name="a269"></a><span class="src-doc"> */</span><span class="src-str"></span></span></div></li> |
<li><div class="src-line"><a name="a270"></a></span><span class="src-str"> <span class="src-key">final</span> <span class="src-key">protected</span> <span class="src-key">function</span> <a href="../Framework/Bdd.html#methodrequeteTous">requeteTous</a><span class="src-sym">(</span><span class="src-var">$requete</span><span class="src-sym">,</span> <span class="src-var">$mode</span> = <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">MODE_ASSOC</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a271"></a></span><span class="src-str"> <span class="src-key">return</span> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#methodrecupererTous">recupererTous</a><span class="src-sym">(</span><span class="src-var">$requete</span><span class="src-sym">,</span> <span class="src-var">$mode</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a272"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a273"></a></span><span class="src-str"> </span></div></li> |
<li><div class="src-line"><a name="a274"></a><span class="src-doc">/**</span><span class="src-str"> </span></span></div></li> |
<li><div class="src-line"><a name="a275"></a><span class="src-doc"> * Execute une requête et retourne un tableau de résultats. Un résultat peut être présentés sous forme</span></div></li> |
<li><div class="src-line"><a name="a276"></a><span class="src-doc"> * de tableau (par défaut) ou d'objet.</span></div></li> |
<li><div class="src-line"><a name="a277"></a><span class="src-doc"> * Les noms des champs de la base de données correspondent aux noms des clés du tableau résultat ou</span></div></li> |
<li><div class="src-line"><a name="a278"></a><span class="src-doc"> * aux noms des attributs de l'objet résultat.</span></div></li> |
<li><div class="src-line"><a name="a279"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a280"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc">la requête à effectuer</span></div></li> |
<li><div class="src-line"><a name="a281"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc">le mode de retour des résultats : ASSOC (Bdd::MODE_ASSOC) pour un tableau ou OBJECT (Bdd::MODE_OBJET) pour un objet.</span></div></li> |
<li><div class="src-line"><a name="a282"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc">un tableau contenant les résultats sous forme d'objets ou de tableau (par défaut).</span></div></li> |
<li><div class="src-line"><a name="a283"></a><span class="src-doc"> */</span><span class="src-str"></span></span></div></li> |
<li><div class="src-line"><a name="a284"></a></span><span class="src-str"> <span class="src-key">public</span> <span class="src-key">function</span> <a href="../Framework/Bdd.html#methodrecupererTous">recupererTous</a><span class="src-sym">(</span><span class="src-var">$requete</span><span class="src-sym">,</span> <span class="src-var">$mode</span> = <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">MODE_ASSOC</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a285"></a></span><span class="src-str"> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#methodconnecter">connecter</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a286"></a></span><span class="src-str"> </span></div></li> |
<li><div class="src-line"><a name="a287"></a></span><span class="src-str"> <span class="src-var">$retour</span> = <span class="src-id">null</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a288"></a></span><span class="src-str"> <span class="src-key">switch</span> <span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Framework/Bdd.html#var$abstraction">abstraction</a></span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a289"></a></span><span class="src-str"> <span class="src-key">case</span> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">ABSTRACTION_PDO</span> :</span></div></li> |
<li><div class="src-line"><a name="a290"></a></span><span class="src-str"> try <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a291"></a></span><span class="src-str"> <span class="src-var">$resultat</span> = <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Framework/Bdd.html#var$connexion">connexion</a></span><span class="src-sym">-></span><span class="src-id">query</span><span class="src-sym">(</span><span class="src-var">$requete</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a292"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span><span class="src-var">$resultat</span> !== <span class="src-id">false</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a293"></a></span><span class="src-str"> <span class="src-var">$retour</span> = <span class="src-var">$resultat</span><span class="src-sym">-></span><span class="src-id">fetchAll</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">$mode</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a294"></a></span><span class="src-str"> <span class="src-sym">}</span> <span class="src-key">else</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a295"></a></span><span class="src-str"> <span class="src-var">$retour</span> = <span class="src-id">false</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a296"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a297"></a></span><span class="src-str"> <span class="src-sym">}</span> catch <span class="src-sym">(</span><span class="src-id">PDOException</span> <span class="src-var">$e</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a298"></a></span><span class="src-str"> <span class="src-var">$m</span> = <a href="http://www.php.net/sprintf">sprintf</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">ERREUR_REQUETE_TPL</span><span class="src-sym">,</span> <span class="src-var">$e</span><span class="src-sym">-></span><span class="src-id">getFile</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">,</span> <span class="src-var">$e</span><span class="src-sym">-></span><span class="src-id">getLine</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">,</span> <span class="src-var">$e</span><span class="src-sym">-></span><span class="src-id">getMessage</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">,</span> <span class="src-var">$requete</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a299"></a></span><span class="src-str"> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">,</span> <span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a300"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a301"></a></span><span class="src-str"> <span class="src-key">break</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a302"></a></span><span class="src-str"> <span class="src-key">case</span> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">ABSTRACTION_MYSQL</span> :</span></div></li> |
<li><div class="src-line"><a name="a303"></a></span><span class="src-str"> <span class="src-var">$resultat</span> = <a href="http://www.php.net/mysql_query">mysql_query</a><span class="src-sym">(</span><span class="src-var">$requete</span><span class="src-sym">,</span> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Framework/Bdd.html#var$connexion">connexion</a></span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a304"></a></span><span class="src-str"> <span class="src-var">$fonction_fetch</span> = <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">$mode</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a305"></a></span><span class="src-str"> <span class="src-key">while</span> <span class="src-sym">(</span><span class="src-var">$ligne</span> = <span class="src-var">$fonction_fetch</span><span class="src-sym">(</span><span class="src-var">$resultat</span><span class="src-sym">))</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a306"></a></span><span class="src-str"> <span class="src-var">$retour</span><span class="src-sym">[</span><span class="src-sym">]</span> = <span class="src-var">$ligne</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a307"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a308"></a></span><span class="src-str"> <span class="src-key">break</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a309"></a></span><span class="src-str"> <span class="src-key">case</span> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">ABSTRACTION_MYSQLI</span> :</span></div></li> |
<li><div class="src-line"><a name="a310"></a></span><span class="src-str"> <span class="src-var">$resultat</span> = <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Framework/Bdd.html#var$connexion">connexion</a></span><span class="src-sym">-></span><span class="src-id">query</span><span class="src-sym">(</span><span class="src-var">$requete</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a311"></a></span><span class="src-str"> <span class="src-var">$function_fetch</span> = <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">$mode</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a312"></a></span><span class="src-str"> <span class="src-key">while</span> <span class="src-sym">(</span><span class="src-var">$ligne</span> = <span class="src-var">$resultat</span><span class="src-sym">-></span><span class="src-var">$function_fetch</span><span class="src-sym">(</span><span class="src-sym">))</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a313"></a></span><span class="src-str"> <span class="src-var">$retour</span><span class="src-sym">[</span><span class="src-sym">]</span> = <span class="src-var">$ligne</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a314"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a315"></a></span><span class="src-str"> <span class="src-key">break</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a316"></a></span><span class="src-str"> <span class="src-key">case</span> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">ABSTRACTION_SQLITE3</span> :</span></div></li> |
<li><div class="src-line"><a name="a317"></a></span><span class="src-str"> <span class="src-var">$resultat</span> = <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Framework/Bdd.html#var$connexion">connexion</a></span><span class="src-sym">-></span><span class="src-id">query</span><span class="src-sym">(</span><span class="src-var">$requete</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a318"></a></span><span class="src-str"> <span class="src-key">while</span> <span class="src-sym">(</span><span class="src-var">$ligne</span> = <span class="src-var">$resultat</span><span class="src-sym">-></span><span class="src-id">fetch_array</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Framework/Bdd.html#var$ASSOC">ASSOC</a></span><span class="src-sym">))</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a319"></a></span><span class="src-str"> <span class="src-key">if</span> <span class="src-sym">(</span><span class="src-var">$mode</span> == <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">MODE_OBJET</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a320"></a></span><span class="src-str"> <span class="src-comm">// Cas particulier de sqllite qui n'a pas de fonction fetch_object</span></span></div></li> |
<li><div class="src-line"><a name="a321"></a></span><span class="src-str"><span class="src-comm"></span> <span class="src-var">$ligneObjet</span> = <span class="src-key">new</span> <span class="src-id">stdClass</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a322"></a></span><span class="src-str"> <span class="src-key">foreach</span> <span class="src-sym">(</span><span class="src-var">$ligne</span> <span class="src-key">as</span> <span class="src-var">$colonne</span> => <span class="src-var">$valeur</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a323"></a></span><span class="src-str"> <span class="src-var">$ligneObjet</span><span class="src-sym">-></span><span class="src-var">$colonne</span> = <span class="src-var">$valeur</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a324"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a325"></a></span><span class="src-str"> <span class="src-var">$ligne</span> = <span class="src-var">$ligneObjet</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a326"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a327"></a></span><span class="src-str"> <span class="src-var">$retour</span><span class="src-sym">[</span><span class="src-sym">]</span> = <span class="src-var">$ligne</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a328"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a329"></a></span><span class="src-str"> <span class="src-key">break</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a330"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a331"></a></span><span class="src-str"> <span class="src-key">return</span> <span class="src-var">$retour</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a332"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a333"></a> </div></li> |
<li><div class="src-line"><a name="a334"></a><span class="src-doc">/**</span><span class="src-str"> </span></span></div></li> |
<li><div class="src-line"><a name="a335"></a><span class="src-doc"> * Protège une chaine de caractères avant l'insertion dans la base de données (ajout de quotes ou guillemets).</span></div></li> |
<li><div class="src-line"><a name="a336"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc">la chaine à protéger</span></div></li> |
<li><div class="src-line"><a name="a337"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">la chaine protégée</span></div></li> |
<li><div class="src-line"><a name="a338"></a><span class="src-doc"> */</span><span class="src-str"></span></span></div></li> |
<li><div class="src-line"><a name="a339"></a></span><span class="src-str"> <span class="src-key">public</span> <span class="src-key">function</span> <a href="../Framework/Bdd.html#methodproteger">proteger</a><span class="src-sym">(</span><span class="src-var">$chaine</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a340"></a></span><span class="src-str"> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#methodconnecter">connecter</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a341"></a> </div></li> |
<li><div class="src-line"><a name="a342"></a></span><span class="src-str"> <span class="src-var">$retour</span> = <span class="src-var">$chaine</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a343"></a></span><span class="src-str"> <span class="src-key">switch</span> <span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Framework/Bdd.html#var$abstraction">abstraction</a></span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a344"></a></span><span class="src-str"> <span class="src-key">case</span> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">ABSTRACTION_PDO</span> :</span></div></li> |
<li><div class="src-line"><a name="a345"></a></span><span class="src-str"> <span class="src-var">$retour</span> = <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Framework/Bdd.html#var$connexion">connexion</a></span><span class="src-sym">-></span><span class="src-id">quote</span><span class="src-sym">(</span><span class="src-var">$chaine</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a346"></a></span><span class="src-str"> <span class="src-key">break</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a347"></a></span><span class="src-str"> <span class="src-key">case</span> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">ABSTRACTION_MYSQL</span> :</span></div></li> |
<li><div class="src-line"><a name="a348"></a></span><span class="src-str"> <span class="src-var">$retour</span> = <span class="src-str">'"'</span>.<a href="http://www.php.net/mysql_real_escape_string">mysql_real_escape_string</a><span class="src-sym">(</span><span class="src-var">$chaine</span><span class="src-sym">,</span> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Framework/Bdd.html#var$connexion">connexion</a></span><span class="src-sym">)</span>.<span class="src-str">'"'</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a349"></a></span><span class="src-str"> <span class="src-key">break</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a350"></a></span><span class="src-str"> <span class="src-key">case</span> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">ABSTRACTION_MYSQLI</span> :</span></div></li> |
<li><div class="src-line"><a name="a351"></a></span><span class="src-str"> <span class="src-var">$retour</span> = <span class="src-str">'"'</span>.<span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Framework/Bdd.html#var$connexion">connexion</a></span><span class="src-sym">-></span><span class="src-id">real_escape_string</span><span class="src-sym">(</span><span class="src-var">$chaine</span><span class="src-sym">)</span>.<span class="src-str">'"'</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a352"></a></span><span class="src-str"> <span class="src-key">break</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a353"></a></span><span class="src-str"> <span class="src-key">case</span> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">ABSTRACTION_SQLITE3</span> :</span></div></li> |
<li><div class="src-line"><a name="a354"></a></span><span class="src-str"> <span class="src-var">$retour</span> = <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Framework/Bdd.html#var$connexion">connexion</a></span><span class="src-sym">-></span><span class="src-id">escapeString</span><span class="src-sym">(</span><span class="src-var">$chaine</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a355"></a></span><span class="src-str"> <span class="src-key">break</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a356"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a357"></a></span><span class="src-str"> <span class="src-key">return</span> <span class="src-var">$retour</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a358"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a359"></a> </div></li> |
<li><div class="src-line"><a name="a360"></a><span class="src-doc">/**</span><span class="src-str"> </span></span></div></li> |
<li><div class="src-line"><a name="a361"></a><span class="src-doc"> * Retourne l'identifiant de la dernière ligne insérée, ou la dernière valeur d'une séquence d'objets, dépendamment, dans</span></div></li> |
<li><div class="src-line"><a name="a362"></a><span class="src-doc"> * le cas de PDO, du driver utilisé. Les méthodes utilisées pour retourner l'identifiant peuvent avoir des comportements</span></div></li> |
<li><div class="src-line"><a name="a363"></a><span class="src-doc"> * différent. Consulter la documentation PHP correspondant à l'abstraction choisie avant de l'utiliser :</span></div></li> |
<li><div class="src-line"><a name="a364"></a><span class="src-doc"> * </span><span class="src-doc-tag">@link(http://fr.php.net/manual/fr/pdo.lastinsertid.php,</span><span class="src-doc"> PDO::lastInsertId([ string $name = NULL ]))</span></div></li> |
<li><div class="src-line"><a name="a365"></a><span class="src-doc"> * </span><span class="src-doc-tag">@link(http://php.net/manual/en/mysqli.insert-id.php,</span><span class="src-doc"> mysqli->insert_id())</span></div></li> |
<li><div class="src-line"><a name="a366"></a><span class="src-doc"> * </span><span class="src-doc-tag">@link(http://fr.php.net/manual/fr/function.mysql-insert-id.php,</span><span class="src-doc"> mysql_insert_id())</span></div></li> |
<li><div class="src-line"><a name="a367"></a><span class="src-doc"> * </span><span class="src-doc-tag">@link(http://fr.php.net/manual/fr/sqlite3.lastinsertrowid.php,</span><span class="src-doc"> SQLite3::lastInsertRowID())</span></div></li> |
<li><div class="src-line"><a name="a368"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc">un paramètre éventuel à transmettre (en fonction de l'abstraction de BDD utilisée).</span></div></li> |
<li><div class="src-line"><a name="a369"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">mixed </span><span class="src-doc">le dernier identifiant de clé primaire ajouté dans la base de données (string ou int).</span></div></li> |
<li><div class="src-line"><a name="a370"></a><span class="src-doc"> */</span><span class="src-str"></span></span></div></li> |
<li><div class="src-line"><a name="a371"></a></span><span class="src-str"> <span class="src-key">public</span> <span class="src-key">function</span> <a href="../Framework/Bdd.html#methodrecupererIdDernierAjout">recupererIdDernierAjout</a><span class="src-sym">(</span><span class="src-var">$parametres</span> = <span class="src-id">null</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a372"></a></span><span class="src-str"> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Bdd.html#methodconnecter">connecter</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a373"></a> </div></li> |
<li><div class="src-line"><a name="a374"></a></span><span class="src-str"> <span class="src-var">$retour</span> = <span class="src-var">$chaine</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a375"></a></span><span class="src-str"> <span class="src-key">switch</span> <span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Framework/Bdd.html#var$abstraction">abstraction</a></span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a376"></a></span><span class="src-str"> <span class="src-key">case</span> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">ABSTRACTION_PDO</span> :</span></div></li> |
<li><div class="src-line"><a name="a377"></a></span><span class="src-str"> <span class="src-var">$retour</span> = <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Framework/Bdd.html#var$connexion">connexion</a></span><span class="src-sym">-></span><span class="src-id">lastInsertId</span><span class="src-sym">(</span><span class="src-var">$parametres</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a378"></a></span><span class="src-str"> <span class="src-key">break</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a379"></a></span><span class="src-str"> <span class="src-key">case</span> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">ABSTRACTION_MYSQL</span> :</span></div></li> |
<li><div class="src-line"><a name="a380"></a></span><span class="src-str"> <span class="src-var">$retour</span> = <a href="http://www.php.net/mysql_insert_id">mysql_insert_id</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Framework/Bdd.html#var$connexion">connexion</a></span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a381"></a></span><span class="src-str"> <span class="src-key">break</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a382"></a></span><span class="src-str"> <span class="src-key">case</span> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">ABSTRACTION_MYSQLI</span> :</span></div></li> |
<li><div class="src-line"><a name="a383"></a></span><span class="src-str"> <span class="src-var">$retour</span> = <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Framework/Bdd.html#var$connexion">connexion</a></span><span class="src-sym">-></span><span class="src-id">insert_id</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a384"></a></span><span class="src-str"> <span class="src-key">break</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a385"></a></span><span class="src-str"> <span class="src-key">case</span> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">ABSTRACTION_SQLITE3</span> :</span></div></li> |
<li><div class="src-line"><a name="a386"></a></span><span class="src-str"> <span class="src-var">$retour</span> = <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Framework/Bdd.html#var$connexion">connexion</a></span><span class="src-sym">-></span><span class="src-id">lastInsertRowID</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a387"></a></span><span class="src-str"> <span class="src-key">break</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a388"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a389"></a></span><span class="src-str"> <span class="src-key">return</span> <span class="src-var">$retour</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a390"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a391"></a></span><span class="src-str"> </span></div></li> |
<li><div class="src-line"><a name="a392"></a><span class="src-doc">/**</span><span class="src-str"> </span></span></div></li> |
<li><div class="src-line"><a name="a393"></a><span class="src-doc"> * Destructeur de classe, se contente de fermer explicitement la connexion à la base de donnée.</span></div></li> |
<li><div class="src-line"><a name="a394"></a><span class="src-doc"> */</span><span class="src-str"></span></span></div></li> |
<li><div class="src-line"><a name="a395"></a></span><span class="src-str"> <span class="src-key">public</span> <span class="src-key">function</span> <a href="../Framework/Bdd.html#method__destruct">__destruct</a><span class="src-sym">(</span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a396"></a></span><span class="src-str"> <span class="src-key">switch</span> <span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Framework/Bdd.html#var$abstraction">abstraction</a></span><span class="src-sym">)</span> <span class="src-sym">{</span></span></div></li> |
<li><div class="src-line"><a name="a397"></a></span><span class="src-str"> <span class="src-key">case</span> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">ABSTRACTION_PDO</span> :</span></div></li> |
<li><div class="src-line"><a name="a398"></a></span><span class="src-str"> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Framework/Bdd.html#var$connexion">connexion</a></span> = <span class="src-id">null</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a399"></a></span><span class="src-str"> <span class="src-key">break</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a400"></a></span><span class="src-str"> <span class="src-key">case</span> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">ABSTRACTION_MYSQL</span> :</span></div></li> |
<li><div class="src-line"><a name="a401"></a></span><span class="src-str"> <span class="src-key">return</span> <a href="http://www.php.net/mysql_close">mysql_close</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Framework/Bdd.html#var$connexion">connexion</a></span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a402"></a></span><span class="src-str"> <span class="src-key">break</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a403"></a></span><span class="src-str"> <span class="src-key">case</span> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">ABSTRACTION_MYSQLI</span> :</span></div></li> |
<li><div class="src-line"><a name="a404"></a></span><span class="src-str"> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Framework/Bdd.html#var$connexion">connexion</a></span><span class="src-sym">-></span><span class="src-id">close</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a405"></a></span><span class="src-str"> <span class="src-key">break</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a406"></a></span><span class="src-str"> <span class="src-key">case</span> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">ABSTRACTION_SQLITE3</span> :</span></div></li> |
<li><div class="src-line"><a name="a407"></a></span><span class="src-str"> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Framework/Bdd.html#var$connexion">connexion</a></span><span class="src-sym">-></span><span class="src-id">close</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a408"></a></span><span class="src-str"> <span class="src-key">break</span><span class="src-sym">;</span></span></div></li> |
<li><div class="src-line"><a name="a409"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a410"></a></span><span class="src-str"> <span class="src-sym">}</span></span></div></li> |
<li><div class="src-line"><a name="a411"></a></span><span class="src-str"><span class="src-sym">}</span></span></div></li> |
</ol></div> |
</div> |
<p class="notes" id="credit"> |
Documentation generated on Tue, 18 Jan 2011 15:01:20 +0100 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.3</a> |
</p> |
</body> |
</html> |
/trunk/doc/HTMLframesConverter/__filesource/fsource_Framework__Controleur.php.html |
---|
18,116 → 18,125 |
<li><div class="src-line"><a name="a5"></a><span class="src-doc"> * qui devrait être appelée de l'extérieur.</span></div></li> |
<li><div class="src-line"><a name="a6"></a><span class="src-doc"> * Elle est abstraite donc doit obligatoirement être étendue.</span></div></li> |
<li><div class="src-line"><a name="a7"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a8"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@category</span><span class="src-doc"> php5</span></div></li> |
<li><div class="src-line"><a name="a9"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@package</span><span class="src-doc"> Framework</span></div></li> |
<li><div class="src-line"><a name="a8"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@category</span><span class="src-doc"> php 5.2</span></div></li> |
<li><div class="src-line"><a name="a9"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@package</span><span class="src-doc"> Framework</span></div></li> |
<li><div class="src-line"><a name="a10"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@author</span><span class="src-doc"> Aurélien PERONNET <aurelien@tela-botanica.org></span></div></li> |
<li><div class="src-line"><a name="a11"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@author</span><span class="src-doc"> Jean-Pascal MILCENT <jpm@tela-botanica.org></span></div></li> |
<li><div class="src-line"><a name="a12"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@copyright</span><span class="src-doc"> 2009 Tela-Botanica</span></div></li> |
<li><div class="src-line"><a name="a13"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL</span></div></li> |
<li><div class="src-line"><a name="a14"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.gnu.org/licenses/gpl.html Licence GNU-GPL</span></div></li> |
<li><div class="src-line"><a name="a15"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@version</span><span class="src-doc"> SVN: $$Id: Controleur.php 158 2010-03-04 17:14:36Z jpm $$</span></div></li> |
<li><div class="src-line"><a name="a12"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@copyright</span><span class="src-doc"> Copyright (c) 2009, Tela Botanica (accueil@tela-botanica.org)</span></div></li> |
<li><div class="src-line"><a name="a13"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL</span></div></li> |
<li><div class="src-line"><a name="a14"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.gnu.org/licenses/gpl.html Licence GNU-GPL</span></div></li> |
<li><div class="src-line"><a name="a15"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@version</span><span class="src-doc"> $Id: Controleur.php 241 2010-12-06 15:19:07Z jpm $</span></div></li> |
<li><div class="src-line"><a name="a16"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@link</span><span class="src-doc"> /doc/framework/</span></div></li> |
<li><div class="src-line"><a name="a17"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a18"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a19"></a><span class="src-key">abstract </span><span class="src-key">class </span><a href="../Framework/Controleur.html">Controleur</a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a20"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a21"></a><span class="src-doc"> * Registre global, normalement accessible partout</span></div></li> |
<li><div class="src-line"><a name="a22"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a23"></a> <span class="src-key">private </span><span class="src-var">$registre</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a24"></a> </div></li> |
<li><div class="src-line"><a name="a25"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a26"></a><span class="src-doc"> * Constructeur par défaut</span></div></li> |
<li><div class="src-line"><a name="a27"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a28"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Controleur.html#method__construct">__construct</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a29"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodexiste">existe</a><span class="src-sym">(</span><span class="src-str">'fw_html_errors'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a30"></a> <a href="http://www.php.net/ini_set">ini_set</a><span class="src-sym">(</span><span class="src-str">'html_errors'</span><span class="src-sym">, </span><span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'fw_html_errors'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a31"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a32"></a> </div></li> |
<li><div class="src-line"><a name="a33"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">registre </span>= <span class="src-id"><a href="../Framework/Registre.html">Registre</a></span><span class="src-sym">::</span><a href="../Framework/Registre.html#methodgetInstance">getInstance</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a34"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">registre</span><span class="src-sym">-></span><span class="src-id">set</span><span class="src-sym">(</span><span class="src-str">'base_chemin_modele'</span><span class="src-sym">, </span><span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'chemin_modeles'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a35"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">registre</span><span class="src-sym">-></span><span class="src-id">set</span><span class="src-sym">(</span><span class="src-str">'base_chemin_squelette'</span><span class="src-sym">, </span><span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'chemin_squelettes'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a36"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">registre</span><span class="src-sym">-></span><span class="src-id">set</span><span class="src-sym">(</span><span class="src-str">'base_chemin_controleur'</span><span class="src-sym">, </span><span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'chemin_controleurs'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a37"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">registre</span><span class="src-sym">-></span><span class="src-id">set</span><span class="src-sym">(</span><span class="src-str">'base_url_application'</span><span class="src-sym">, </span><span class="src-key">new </span><span class="src-id"><a href="../Framework/Url.html">Url</a></span><span class="src-sym">(</span><span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'url_base'</span><span class="src-sym">)))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a38"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a39"></a> </div></li> |
<li><div class="src-line"><a name="a40"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a41"></a><span class="src-doc"> * Charge un modele donné et le rend disponible sous la forme $this->nom_modele</span></div></li> |
<li><div class="src-line"><a name="a42"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a43"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$nom_modele </span><span class="src-doc">le nom du modèle à charger</span></div></li> |
<li><div class="src-line"><a name="a44"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a45"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">boolean </span><span class="src-doc">false si le chargement a échoué, sinon true.</span></div></li> |
<li><div class="src-line"><a name="a46"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a47"></a> <span class="src-key">final </span><span class="src-key">protected </span><span class="src-key">function </span><a href="../Framework/Controleur.html#methodchargerModele">chargerModele</a><span class="src-sym">(</span><span class="src-var">$nom_modele</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a48"></a> <span class="src-var">$sortie </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a49"></a> <span class="src-var">$modele </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Controleur.html#methodgetModele">getModele</a><span class="src-sym">(</span><span class="src-var">$nom_modele</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a50"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$modele </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a51"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">$nom_modele </span>= <span class="src-key">new </span><span class="src-var">$nom_modele</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a52"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a53"></a> <span class="src-var">$sortie </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a54"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a55"></a> <span class="src-key">return </span><span class="src-var">$sortie</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a56"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a57"></a> </div></li> |
<li><div class="src-line"><a name="a58"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a59"></a><span class="src-doc"> * Retourne un modele donné</span></div></li> |
<li><div class="src-line"><a name="a60"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a61"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$nom_modele </span><span class="src-doc">le nom du modèle à charger</span></div></li> |
<li><div class="src-line"><a name="a62"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a63"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">mixed </span><span class="src-doc">false si le chargement a échoué, sinon l'objet du modèle demandé.</span></div></li> |
<li><div class="src-line"><a name="a64"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a65"></a> <span class="src-key">final </span><span class="src-key">protected </span><span class="src-key">function </span><a href="../Framework/Controleur.html#methodgetModele">getModele</a><span class="src-sym">(</span><span class="src-var">$nom_modele</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a66"></a> <span class="src-var">$sortie </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a67"></a> <span class="src-var">$chemin_modele </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">registre</span><span class="src-sym">-></span><span class="src-id">get</span><span class="src-sym">(</span><span class="src-str">'base_chemin_modele'</span><span class="src-sym">)</span>.<span class="src-var">$nom_modele</span>.<span class="src-str">'.php'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a68"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/file_exists">file_exists</a><span class="src-sym">(</span><span class="src-var">$chemin_modele</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a69"></a> <span class="src-inc">include_once </span><span class="src-var">$chemin_modele</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a70"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/class_exists">class_exists</a><span class="src-sym">(</span><span class="src-var">$nom_modele</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a71"></a> <span class="src-var">$sortie </span>= <span class="src-key">new </span><span class="src-var">$nom_modele</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a72"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a73"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a74"></a> <span class="src-key">return </span><span class="src-var">$sortie</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a75"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a76"></a> </div></li> |
<li><div class="src-line"><a name="a77"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a78"></a><span class="src-doc"> * Fonction prenant en paramètre le nom d'un squelette et un tableau associatif de données,</span></div></li> |
<li><div class="src-line"><a name="a79"></a><span class="src-doc"> * en extrait les variables, charge le squelette et retourne le résultat des deux combinés.</span></div></li> |
<li><div class="src-line"><a name="a80"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a81"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">String </span><span class="src-doc-var">$nom_squelette </span><span class="src-doc">le nom du squelette</span></div></li> |
<li><div class="src-line"><a name="a82"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">Array </span><span class="src-doc"> </span><span class="src-doc-var">$donnees </span><span class="src-doc"> un tableau associatif contenant les variables a injecter dans la vue</span></div></li> |
<li><div class="src-line"><a name="a83"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a84"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">boolean </span><span class="src-doc">false si la vue n'existe pas, sinon la chaine résultat.</span></div></li> |
<li><div class="src-line"><a name="a85"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a86"></a> <span class="src-key">final </span><span class="src-key">protected </span><span class="src-key">function </span><a href="../Framework/Controleur.html#methodgetVue">getVue</a><span class="src-sym">(</span><span class="src-var">$nom_squelette</span><span class="src-sym">, </span><span class="src-var">$donnees </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a87"></a> <span class="src-var">$chemin_squelette </span>= <span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">registre</span><span class="src-sym">-></span><span class="src-id">get</span><span class="src-sym">(</span><span class="src-str">'base_chemin_squelette'</span><span class="src-sym">))</span>.<span class="src-var">$nom_squelette</span>.<span class="src-str">'.tpl.html'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a88"></a> <span class="src-var">$sortie </span>= <span class="src-id"><a href="../Framework/SquelettePhp.html">SquelettePhp</a></span><span class="src-sym">::</span><a href="../Framework/SquelettePhp.html#methodanalyser">analyser</a><span class="src-sym">(</span><span class="src-var">$chemin_squelette</span><span class="src-sym">, </span><span class="src-var">$donnees</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a89"></a> <span class="src-key">return </span><span class="src-var">$sortie</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a90"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a91"></a> </div></li> |
<li><div class="src-line"><a name="a92"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a93"></a><span class="src-doc"> * Fonction prenant en paramètre le nom d'un squelette et un tableau associatif de données,</span></div></li> |
<li><div class="src-line"><a name="a94"></a><span class="src-doc"> * en extrait les variables, charge le squelette et crée une variable de classe portant le nom du squelette</span></div></li> |
<li><div class="src-line"><a name="a95"></a><span class="src-doc"> * contenant les deux combinés.</span></div></li> |
<li><div class="src-line"><a name="a96"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a97"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">String </span><span class="src-doc-var">$nom_squelette </span><span class="src-doc">le nom du squelette</span></div></li> |
<li><div class="src-line"><a name="a98"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">Array </span><span class="src-doc"> </span><span class="src-doc-var">$donnees </span><span class="src-doc"> un tableau associatif contenant les variables a injecter dans la vue</span></div></li> |
<li><div class="src-line"><a name="a99"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a100"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">boolean </span><span class="src-doc">false si la vue n'existe pas, sinon true.</span></div></li> |
<li><div class="src-line"><a name="a101"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a102"></a> <span class="src-key">final </span><span class="src-key">protected </span><span class="src-key">function </span><a href="../Framework/Controleur.html#methodchargerVue">chargerVue</a><span class="src-sym">(</span><span class="src-var">$nom_squelette</span><span class="src-sym">, </span><span class="src-var">$donnees </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a103"></a> <span class="src-var">$sortie </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a104"></a> <span class="src-var">$rendu </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Controleur.html#methodgetVue">getVue</a><span class="src-sym">(</span><span class="src-var">$nom_squelette</span><span class="src-sym">, </span><span class="src-var">$donnees</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a105"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$rendu </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a106"></a> <span class="src-comm">// Création d'une variable de classe contenant le rendu</span></div></li> |
<li><div class="src-line"><a name="a107"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">$nom_squelette </span>= <span class="src-var">$rendu</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a108"></a> <span class="src-var">$sortie </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a109"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a110"></a> <span class="src-key">return </span><span class="src-var">$sortie</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a111"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a112"></a><span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a113"></a><span class="src-php">?></span></div></li> |
<li><div class="src-line"><a name="a20"></a> <span class="src-doc">/** Variable statique indiquant que les tableaux _GET et _POST ont déjà été encodé au format de l'appli. */</span></div></li> |
<li><div class="src-line"><a name="a21"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$encodage </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a22"></a> </div></li> |
<li><div class="src-line"><a name="a23"></a> <span class="src-doc">/** Chemin de base vers les classes métiers de la partie Modèle de l'application. */</span></div></li> |
<li><div class="src-line"><a name="a24"></a> <span class="src-key">private </span><span class="src-var">$base_chemin_modele </span>= <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a25"></a> </div></li> |
<li><div class="src-line"><a name="a26"></a> <span class="src-doc">/** Chemin de base vers les fichiers squelette de la partie Vue de l'application. */</span></div></li> |
<li><div class="src-line"><a name="a27"></a> <span class="src-key">private </span><span class="src-var">$base_chemin_squelette </span>= <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a28"></a> </div></li> |
<li><div class="src-line"><a name="a29"></a> <span class="src-doc">/** Chemin de base vers les classes controleurs de la partie Controleur de l'application. */</span></div></li> |
<li><div class="src-line"><a name="a30"></a> <span class="src-key">private </span><span class="src-var">$base_chemin_controleur </span>= <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a31"></a> </div></li> |
<li><div class="src-line"><a name="a32"></a> <span class="src-doc">/** Objet URL contant l'url de la base de l'application. */</span></div></li> |
<li><div class="src-line"><a name="a33"></a> <span class="src-key">private </span><span class="src-var">$base_url_applicaton </span>= <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a34"></a> </div></li> |
<li><div class="src-line"><a name="a35"></a> <span class="src-doc">/** Tableau des noms des paramètres à définir dans le fichier de config car obligatoirement nécessaire à cette classe.*/</span></div></li> |
<li><div class="src-line"><a name="a36"></a> <span class="src-key">protected </span><a href="../Framework/Controleur.html#var$parametres_obligatoires">$parametres_obligatoires</a> = <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'chemin_modeles'</span><span class="src-sym">, </span><span class="src-str">'chemin_squelettes'</span><span class="src-sym">, </span><span class="src-str">'chemin_controleurs'</span><span class="src-sym">, </span><span class="src-str">'base_url_application'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a37"></a> </div></li> |
<li><div class="src-line"><a name="a38"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a39"></a><span class="src-doc"> * Constructeur par défaut</span></div></li> |
<li><div class="src-line"><a name="a40"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a41"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Controleur.html#method__construct">__construct</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a42"></a> <span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodverifierPresenceParametres">verifierPresenceParametres</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Controleur.html#var$parametres_obligatoires">parametres_obligatoires</a><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a43"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">base_chemin_modele </span>= <span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'chemin_modeles'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a44"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">base_chemin_squelette </span>= <span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'chemin_squelettes'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a45"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">base_chemin_controleur </span>= <span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'chemin_controleurs'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a46"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">base_url_application </span>= <span class="src-key">new </span><span class="src-id"><a href="../Framework/Url.html">Url</a></span><span class="src-sym">(</span><span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'base_url_application'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a47"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a48"></a> </div></li> |
<li><div class="src-line"><a name="a49"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a50"></a><span class="src-doc"> * Charge un modele donné et le rend disponible sous la forme $this->nom_modele</span></div></li> |
<li><div class="src-line"><a name="a51"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a52"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$nom_modele </span><span class="src-doc">le nom du modèle à charger</span></div></li> |
<li><div class="src-line"><a name="a53"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a54"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">boolean </span><span class="src-doc">false si le chargement a échoué, sinon true.</span></div></li> |
<li><div class="src-line"><a name="a55"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a56"></a> <span class="src-key">final </span><span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Controleur.html#methodchargerModele">chargerModele</a><span class="src-sym">(</span><span class="src-var">$nom_modele</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a57"></a> <span class="src-var">$sortie </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a58"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span>isset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">$nom_modele</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a59"></a> <span class="src-var">$modele </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Controleur.html#methodgetModele">getModele</a><span class="src-sym">(</span><span class="src-var">$nom_modele</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a60"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$modele </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a61"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">$nom_modele </span>= <span class="src-key">new </span><span class="src-var">$nom_modele</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a62"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a63"></a> <span class="src-var">$sortie </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a64"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a65"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a66"></a> <span class="src-key">return </span><span class="src-var">$sortie</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a67"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a68"></a> </div></li> |
<li><div class="src-line"><a name="a69"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a70"></a><span class="src-doc"> * Retourne un modele donné</span></div></li> |
<li><div class="src-line"><a name="a71"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a72"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$nom_modele </span><span class="src-doc"> le nom du fichier modèle à charger sans son extension</span></div></li> |
<li><div class="src-line"><a name="a73"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">String </span><span class="src-doc-var">$ext </span><span class="src-doc"> l'extension du fichier du modèel (par défaut : ".php"</span></div></li> |
<li><div class="src-line"><a name="a74"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a75"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">mixed </span><span class="src-doc">false si le chargement a échoué, sinon l'objet du modèle demandé.</span></div></li> |
<li><div class="src-line"><a name="a76"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a77"></a> <span class="src-key">final </span><span class="src-key">protected </span><span class="src-key">function </span><a href="../Framework/Controleur.html#methodgetModele">getModele</a><span class="src-sym">(</span><span class="src-var">$nom_modele</span><span class="src-sym">, </span><span class="src-var">$ext </span>= <span class="src-str">'.php'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a78"></a> <span class="src-var">$sortie </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a79"></a> </div></li> |
<li><div class="src-line"><a name="a80"></a> <span class="src-var">$chemin_modele </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">registre</span><span class="src-sym">-></span><span class="src-id">get</span><span class="src-sym">(</span><span class="src-str">'base_chemin_modele'</span><span class="src-sym">)</span>.<span class="src-var">$nom_modele</span>.<span class="src-var">$ext</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a81"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/file_exists">file_exists</a><span class="src-sym">(</span><span class="src-var">$chemin_modele</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a82"></a> <span class="src-inc">include_once </span><span class="src-var">$chemin_modele</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a83"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/class_exists">class_exists</a><span class="src-sym">(</span><span class="src-var">$nom_modele</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a84"></a> <span class="src-var">$sortie </span>= <span class="src-key">new </span><span class="src-var">$nom_modele</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a85"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a86"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a87"></a> <span class="src-key">return </span><span class="src-var">$sortie</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a88"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a89"></a> </div></li> |
<li><div class="src-line"><a name="a90"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a91"></a><span class="src-doc"> * Fonction prenant en paramètre le nom d'un squelette et un tableau associatif de données,</span></div></li> |
<li><div class="src-line"><a name="a92"></a><span class="src-doc"> * en extrait les variables, charge le squelette et retourne le résultat des deux combinés.</span></div></li> |
<li><div class="src-line"><a name="a93"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a94"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">String </span><span class="src-doc-var">$nom_squelette </span><span class="src-doc"> le nom du squelette sans son extension</span></div></li> |
<li><div class="src-line"><a name="a95"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">Array </span><span class="src-doc"> </span><span class="src-doc-var">$donnees </span><span class="src-doc"> un tableau associatif contenant les variables a injecter dans la vue</span></div></li> |
<li><div class="src-line"><a name="a96"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">String </span><span class="src-doc-var">$ext </span><span class="src-doc"> l'extension du fichier du squelette (par défaut : ".tpl.html"</span></div></li> |
<li><div class="src-line"><a name="a97"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a98"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">boolean </span><span class="src-doc">false si la vue n'existe pas, sinon la chaine résultat.</span></div></li> |
<li><div class="src-line"><a name="a99"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a100"></a> <span class="src-key">final </span><span class="src-key">protected </span><span class="src-key">function </span><a href="../Framework/Controleur.html#methodgetVue">getVue</a><span class="src-sym">(</span><span class="src-var">$nom_squelette</span><span class="src-sym">, </span><span class="src-sym">&</span><span class="src-var">$donnees </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$ext </span>= <span class="src-str">'.tpl.html'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a101"></a> <span class="src-var">$donnees </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Controleur.html#methodpreTraiterDonnees">preTraiterDonnees</a><span class="src-sym">(</span><span class="src-var">$donnees</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a102"></a> </div></li> |
<li><div class="src-line"><a name="a103"></a> <span class="src-var">$chemin_squelette </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">base_chemin_squelette</span>.<span class="src-var">$nom_squelette</span>.<span class="src-var">$ext</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a104"></a> <span class="src-var">$sortie </span>= <span class="src-id"><a href="../Framework/SquelettePhp.html">SquelettePhp</a></span><span class="src-sym">::</span><a href="../Framework/SquelettePhp.html#methodanalyser">analyser</a><span class="src-sym">(</span><span class="src-var">$chemin_squelette</span><span class="src-sym">, </span><span class="src-var">$donnees</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a105"></a> </div></li> |
<li><div class="src-line"><a name="a106"></a> <span class="src-key">return </span><span class="src-var">$sortie</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a107"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a108"></a> </div></li> |
<li><div class="src-line"><a name="a109"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a110"></a><span class="src-doc"> * Fonction prenant en paramètre un tableau de données et effectuant un traitement dessus.</span></div></li> |
<li><div class="src-line"><a name="a111"></a><span class="src-doc"> * Cette fonction est à surcharger dans les classes filles pour automatiser un traitement</span></div></li> |
<li><div class="src-line"><a name="a112"></a><span class="src-doc"> * avant chaque chargement de vue.</span></div></li> |
<li><div class="src-line"><a name="a113"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a114"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">Array </span><span class="src-doc-var">$donnees </span><span class="src-doc">Le tableau de données à traiter</span></div></li> |
<li><div class="src-line"><a name="a115"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a116"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">Array </span><span class="src-doc">$donnees Le tableau de données traité</span></div></li> |
<li><div class="src-line"><a name="a117"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a118"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Framework/Controleur.html#methodpreTraiterDonnees">preTraiterDonnees</a><span class="src-sym">(</span><span class="src-sym">&</span><span class="src-var">$donnees</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a119"></a> <span class="src-key">return </span><span class="src-var">$donnees</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a120"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a121"></a><span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a122"></a><span class="src-php">?></span></div></li> |
</ol></div> |
</div> |
<p class="notes" id="credit"> |
Documentation generated on Thu, 04 Mar 2010 19:27:20 +0100 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.3</a> |
Documentation generated on Tue, 18 Jan 2011 15:01:30 +0100 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.3</a> |
</p> |
</body> |
</html> |
/trunk/doc/HTMLframesConverter/__filesource/fsource_Framework__Url.php.html |
---|
14,766 → 14,423 |
<div class="src-code"><ol><li><div class="src-line"><a name="a1"></a><span class="src-php"><?php</span></div></li> |
<li><div class="src-line"><a name="a2"></a><span class="src-comm">// declare(encoding='UTF-8');</span></div></li> |
<li><div class="src-line"><a name="a3"></a><span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a4"></a><span class="src-doc">* classe Url, gérant le découpage des paramètres, leurs modification etc...</span></div></li> |
<li><div class="src-line"><a name="a5"></a><span class="src-doc">* Traduction et conversion d'une classe (NET_Url2) issue de Pear</span></div></li> |
<li><div class="src-line"><a name="a6"></a><span class="src-doc">*</span></div></li> |
<li><div class="src-line"><a name="a7"></a><span class="src-doc">* </span><span class="src-doc-coretag">@category</span><span class="src-doc"> Php5</span></div></li> |
<li><div class="src-line"><a name="a8"></a><span class="src-doc">* </span><span class="src-doc-coretag">@package</span><span class="src-doc"> Framework</span></div></li> |
<li><div class="src-line"><a name="a9"></a><span class="src-doc">// Auteur principal</span></div></li> |
<li><div class="src-line"><a name="a10"></a><span class="src-doc">* </span><span class="src-doc-coretag">@author</span><span class="src-doc"> Christian Schmidt <schmidt@php.net></span></div></li> |
<li><div class="src-line"><a name="a11"></a><span class="src-doc">// Autre auteurs</span></div></li> |
<li><div class="src-line"><a name="a12"></a><span class="src-doc">* </span><span class="src-doc-coretag">@author</span><span class="src-doc"> Aurélien PERONNET <aurelien@tela-botanica.org></span></div></li> |
<li><div class="src-line"><a name="a13"></a><span class="src-doc">* </span><span class="src-doc-coretag">@author</span><span class="src-doc"> Jean-Pascal MILCENT <jpm@tela-botanica.org></span></div></li> |
<li><div class="src-line"><a name="a14"></a><span class="src-doc">* </span><span class="src-doc-coretag">@copyright</span><span class="src-doc"> 2009 Tela-Botanica</span></div></li> |
<li><div class="src-line"><a name="a15"></a><span class="src-doc">* </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL</span></div></li> |
<li><div class="src-line"><a name="a16"></a><span class="src-doc">* </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.gnu.org/licenses/gpl.html Licence GNU-GPL</span></div></li> |
<li><div class="src-line"><a name="a17"></a><span class="src-doc">* </span><span class="src-doc-coretag">@version</span><span class="src-doc"> SVN: $Id: Url.php 150 2010-03-03 15:49:06Z jpm $</span></div></li> |
<li><div class="src-line"><a name="a18"></a><span class="src-doc">* </span><span class="src-doc-coretag">@link</span><span class="src-doc"> /doc/framework/</span></div></li> |
<li><div class="src-line"><a name="a19"></a><span class="src-doc">*</span></div></li> |
<li><div class="src-line"><a name="a20"></a><span class="src-doc">*/</span></div></li> |
<li><div class="src-line"><a name="a21"></a><span class="src-key">class </span><a href="../Framework/Url.html">Url</a></div></li> |
<li><div class="src-line"><a name="a22"></a><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a23"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a24"></a><span class="src-doc"> * Parsing strict dans resoudre() (voir RFC 3986, section 5.2.2). Par défaut</span></div></li> |
<li><div class="src-line"><a name="a25"></a><span class="src-doc"> * à true.</span></div></li> |
<li><div class="src-line"><a name="a26"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a27"></a> <span class="src-key">const </span><span class="src-id">OPTION_STRICTE </span>= <span class="src-str">'strict'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a28"></a> </div></li> |
<li><div class="src-line"><a name="a29"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a30"></a><span class="src-doc"> * Répresenter les tableaux dans les requêtes en utilisant la notation php []. Par défaut à true.</span></div></li> |
<li><div class="src-line"><a name="a31"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a32"></a> <span class="src-key">const </span><span class="src-id">OPTION_UTILISER_CROCHETS </span>= <span class="src-str">'use_brackets'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a33"></a> </div></li> |
<li><div class="src-line"><a name="a34"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a35"></a><span class="src-doc"> * URL-encoder les clés des variables dans les requêtes. Par défaut à true.</span></div></li> |
<li><div class="src-line"><a name="a36"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a37"></a> <span class="src-key">const </span><span class="src-id">OPTION_ENCODER_CLES </span>= <span class="src-str">'encode_keys'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a38"></a> </div></li> |
<li><div class="src-line"><a name="a39"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a40"></a><span class="src-doc"> * Séparateurs de variables lors du parsing de la requête. Chaque caractère</span></div></li> |
<li><div class="src-line"><a name="a41"></a><span class="src-doc"> * est considéré comme un séparateur. Par défaut, spécifié par le paramêtre</span></div></li> |
<li><div class="src-line"><a name="a42"></a><span class="src-doc"> * arg_separator.input dans php.ini (par défaut "&").</span></div></li> |
<li><div class="src-line"><a name="a43"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a44"></a> <span class="src-key">const </span><span class="src-id">OPTION_SEPARATEUR_ENTREE </span>= <span class="src-str">'input_separator'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a45"></a> </div></li> |
<li><div class="src-line"><a name="a46"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a47"></a><span class="src-doc"> * Séparateur de variables lors de la génération de la requête. Par défaut, spécifié</span></div></li> |
<li><div class="src-line"><a name="a48"></a><span class="src-doc"> * par le paramètre arg_separator.output dans php.ini (par défaut "&").</span></div></li> |
<li><div class="src-line"><a name="a49"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a50"></a> <span class="src-key">const </span><span class="src-id">OPTION_SEPARATEUR_SORTIE </span>= <span class="src-str">'output_separator'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a51"></a> </div></li> |
<li><div class="src-line"><a name="a52"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a53"></a><span class="src-doc"> * Options par défaut correspondant au comportement de php</span></div></li> |
<li><div class="src-line"><a name="a54"></a><span class="src-doc"> * vis à vis de $_GET</span></div></li> |
<li><div class="src-line"><a name="a4"></a><span class="src-doc"> * Classe Url, gérant le découpage des paramètres, leurs modification etc...</span></div></li> |
<li><div class="src-line"><a name="a5"></a><span class="src-doc"> * Traduction et conversion d'une classe (NET_Url2) issue de Pear</span></div></li> |
<li><div class="src-line"><a name="a6"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a7"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@category</span><span class="src-doc"> Php 5.2</span></div></li> |
<li><div class="src-line"><a name="a8"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@package</span><span class="src-doc"> Framework</span></div></li> |
<li><div class="src-line"><a name="a9"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@author</span><span class="src-doc"> Christian SCHMIDT <schmidt@php.net> (Auteur classe originale)</span></div></li> |
<li><div class="src-line"><a name="a10"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@author</span><span class="src-doc"> Aurélien PERONNET <aurelien@tela-botanica.org></span></div></li> |
<li><div class="src-line"><a name="a11"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@author</span><span class="src-doc"> Jean-Pascal MILCENT <jpm@tela-botanica.org></span></div></li> |
<li><div class="src-line"><a name="a12"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@copyright</span><span class="src-doc"> Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org)</span></div></li> |
<li><div class="src-line"><a name="a13"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL</span></div></li> |
<li><div class="src-line"><a name="a14"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.gnu.org/licenses/gpl.html Licence GNU-GPL</span></div></li> |
<li><div class="src-line"><a name="a15"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@version</span><span class="src-doc"> SVN: $Id: Url.php 286 2011-01-05 11:37:57Z jpm $</span></div></li> |
<li><div class="src-line"><a name="a16"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@link</span><span class="src-doc"> /doc/framework/</span></div></li> |
<li><div class="src-line"><a name="a17"></a><span class="src-doc">*/</span></div></li> |
<li><div class="src-line"><a name="a18"></a><span class="src-key">class </span><a href="../Framework/Url.html">Url</a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a19"></a> </div></li> |
<li><div class="src-line"><a name="a20"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a21"></a><span class="src-doc"> * Répresenter les tableaux dans les requêtes en utilisant la notation php []. Par défaut à true.</span></div></li> |
<li><div class="src-line"><a name="a22"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a23"></a> <span class="src-key">const </span><span class="src-id">OPTION_UTILISER_CROCHETS </span>= <span class="src-str">'utiliser_crochets'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a24"></a> </div></li> |
<li><div class="src-line"><a name="a25"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a26"></a><span class="src-doc"> * URL-encoder les clés des variables dans les requêtes. Par défaut à true.</span></div></li> |
<li><div class="src-line"><a name="a27"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a28"></a> <span class="src-key">const </span><span class="src-id">OPTION_ENCODER_CLES </span>= <span class="src-str">'encoder_cles'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a29"></a> </div></li> |
<li><div class="src-line"><a name="a30"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a31"></a><span class="src-doc"> * Séparateurs de variables lors du parsing de la requête. Chaque caractère</span></div></li> |
<li><div class="src-line"><a name="a32"></a><span class="src-doc"> * est considéré comme un séparateur. Par défaut, spécifié par le paramêtre</span></div></li> |
<li><div class="src-line"><a name="a33"></a><span class="src-doc"> * arg_separator.input dans php.ini (par défaut "&").</span></div></li> |
<li><div class="src-line"><a name="a34"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a35"></a> <span class="src-key">const </span><span class="src-id">OPTION_SEPARATEUR_ENTREE </span>= <span class="src-str">'separateur_entree'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a36"></a> </div></li> |
<li><div class="src-line"><a name="a37"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a38"></a><span class="src-doc"> * Séparateur de variables lors de la génération de la requête. Par défaut, spécifié</span></div></li> |
<li><div class="src-line"><a name="a39"></a><span class="src-doc"> * par le paramètre arg_separator.output dans php.ini (par défaut "&").</span></div></li> |
<li><div class="src-line"><a name="a40"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a41"></a> <span class="src-key">const </span><span class="src-id">OPTION_SEPARATEUR_SORTIE </span>= <span class="src-str">'separateur_sortie'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a42"></a> </div></li> |
<li><div class="src-line"><a name="a43"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a44"></a><span class="src-doc"> * Options par défaut correspondant au comportement de php</span></div></li> |
<li><div class="src-line"><a name="a45"></a><span class="src-doc"> * vis à vis de $_GET</span></div></li> |
<li><div class="src-line"><a name="a46"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a47"></a> <span class="src-key">private </span><span class="src-var">$options </span>= <span class="src-key">array</span><span class="src-sym">(</span></div></li> |
<li><div class="src-line"><a name="a48"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">OPTION_UTILISER_CROCHETS </span>=> <span class="src-id">true</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a49"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">OPTION_ENCODER_CLES </span>=> <span class="src-id">true</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a50"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">OPTION_SEPARATEUR_ENTREE </span>=> <span class="src-str">'&'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a51"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">OPTION_SEPARATEUR_SORTIE </span>=> <span class="src-str">'&'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a52"></a> </div></li> |
<li><div class="src-line"><a name="a53"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a54"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc"> </span><span class="src-doc-type">string</span><span class="src-doc">|</span><span class="src-doc-type">bool</span></div></li> |
<li><div class="src-line"><a name="a55"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a56"></a> <span class="src-key">private </span><span class="src-var">$options </span>= <span class="src-key">array</span><span class="src-sym">(</span></div></li> |
<li><div class="src-line"><a name="a57"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">OPTION_STRICTE </span>=> <span class="src-id">true</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a58"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">OPTION_UTILISER_CROCHETS </span>=> <span class="src-id">true</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a59"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">OPTION_ENCODER_CLES </span>=> <span class="src-id">true</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a60"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">OPTION_SEPARATEUR_ENTREE </span>=> <span class="src-str">'x&'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a61"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">OPTION_SEPARATEUR_SORTIE </span>=> <span class="src-str">'x&'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a56"></a> <span class="src-key">private </span><span class="src-var">$schema </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a57"></a> </div></li> |
<li><div class="src-line"><a name="a58"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a59"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc"> </span><span class="src-doc-type">string</span><span class="src-doc">|</span><span class="src-doc-type">bool</span></div></li> |
<li><div class="src-line"><a name="a60"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a61"></a> <span class="src-key">private </span><span class="src-var">$infoUtilisateur </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a62"></a> </div></li> |
<li><div class="src-line"><a name="a63"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a64"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc"> </span><span class="src-doc-type">string</span><span class="src-doc">|</span><span class="src-doc-type">bool</span></div></li> |
<li><div class="src-line"><a name="a65"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a66"></a> <span class="src-key">private </span><span class="src-var">$schema </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a66"></a> <span class="src-key">private </span><span class="src-var">$hote </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a67"></a> </div></li> |
<li><div class="src-line"><a name="a68"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a69"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc"> </span><span class="src-doc-type">string</span><span class="src-doc">|</span><span class="src-doc-type">bool</span></div></li> |
<li><div class="src-line"><a name="a69"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc"> </span><span class="src-doc-type">int</span><span class="src-doc">|</span><span class="src-doc-type">bool</span></div></li> |
<li><div class="src-line"><a name="a70"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a71"></a> <span class="src-key">private </span><span class="src-var">$infoUtilisateur </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a71"></a> <span class="src-key">private </span><span class="src-var">$port </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a72"></a> </div></li> |
<li><div class="src-line"><a name="a73"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a74"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc"> </span><span class="src-doc-type">string</span><span class="src-doc">|</span><span class="src-doc-type">bool</span></div></li> |
<li><div class="src-line"><a name="a74"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc"> </span><span class="src-doc-type">string </span></div></li> |
<li><div class="src-line"><a name="a75"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a76"></a> <span class="src-key">private </span><span class="src-var">$hote </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a76"></a> <span class="src-key">private </span><span class="src-var">$chemin </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a77"></a> </div></li> |
<li><div class="src-line"><a name="a78"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a79"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc"> </span><span class="src-doc-type">int</span><span class="src-doc">|</span><span class="src-doc-type">bool</span></div></li> |
<li><div class="src-line"><a name="a79"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc"> </span><span class="src-doc-type">string</span><span class="src-doc">|</span><span class="src-doc-type">bool</span></div></li> |
<li><div class="src-line"><a name="a80"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a81"></a> <span class="src-key">private </span><span class="src-var">$port </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a81"></a> <span class="src-key">private </span><span class="src-var">$requete </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a82"></a> </div></li> |
<li><div class="src-line"><a name="a83"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a84"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc"> </span><span class="src-doc-type">string </span></div></li> |
<li><div class="src-line"><a name="a84"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc"> </span><span class="src-doc-type">string</span><span class="src-doc">|</span><span class="src-doc-type">bool</span></div></li> |
<li><div class="src-line"><a name="a85"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a86"></a> <span class="src-key">private </span><span class="src-var">$chemin </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a86"></a> <span class="src-key">private </span><span class="src-var">$fragment </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a87"></a> </div></li> |
<li><div class="src-line"><a name="a88"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a89"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc"> </span><span class="src-doc-type">string</span><span class="src-doc">|</span><span class="src-doc-type">bool</span></div></li> |
<li><div class="src-line"><a name="a90"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a91"></a> <span class="src-key">private </span><span class="src-var">$requete </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a92"></a> </div></li> |
<li><div class="src-line"><a name="a93"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a94"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc"> </span><span class="src-doc-type">string</span><span class="src-doc">|</span><span class="src-doc-type">bool</span></div></li> |
<li><div class="src-line"><a name="a95"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a96"></a> <span class="src-key">private </span><span class="src-var">$fragment </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a97"></a> </div></li> |
<li><div class="src-line"><a name="a98"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a99"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$url </span><span class="src-doc"> une URL relative ou absolue</span></div></li> |
<li><div class="src-line"><a name="a100"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc"> </span><span class="src-doc-var">$options </span></div></li> |
<li><div class="src-line"><a name="a101"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a102"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Url.html#method__construct">__construct</a><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">, </span><span class="src-var">$options </span>= <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a103"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Url.html#methodsetOption">setOption</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">OPTION_SEPARATEUR_ENTREE</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a104"></a> <span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'fw_url_arg_separateur_entree'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a105"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Url.html#methodsetOption">setOption</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">OPTION_SEPARATEUR_SORTIE</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a106"></a> <span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'fw_url_arg_separateur_sortie'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a107"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$options</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a108"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$options </span><span class="src-key">as </span><span class="src-var">$nomOption </span>=> <span class="src-var">$valeur</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a109"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Url.html#methodsetOption">setOption</a><span class="src-sym">(</span><span class="src-var">$nomOption</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a110"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a111"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a112"></a> </div></li> |
<li><div class="src-line"><a name="a113"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'@^([a-z][a-z0-9.+-]*):@i'</span><span class="src-sym">, </span><span class="src-var">$url</span><span class="src-sym">, </span><span class="src-var">$reg</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a114"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">schema </span>= <span class="src-var">$reg</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a115"></a> <span class="src-var">$url </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$reg</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a116"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a117"></a> </div></li> |
<li><div class="src-line"><a name="a118"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'@^//([^/#?]+)@'</span><span class="src-sym">, </span><span class="src-var">$url</span><span class="src-sym">, </span><span class="src-var">$reg</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a119"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Url.html#methodsetAutorite">setAutorite</a><span class="src-sym">(</span><span class="src-var">$reg</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a120"></a> <span class="src-var">$url </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$reg</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a121"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a122"></a> </div></li> |
<li><div class="src-line"><a name="a123"></a> <span class="src-var">$i </span>= <a href="http://www.php.net/strcspn">strcspn</a><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">, </span><span class="src-str">'?#'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a124"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">chemin </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-var">$i</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a125"></a> <span class="src-var">$url </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">, </span><span class="src-var">$i</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a126"></a> </div></li> |
<li><div class="src-line"><a name="a127"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'@^\?([^#]*)@'</span><span class="src-sym">, </span><span class="src-var">$url</span><span class="src-sym">, </span><span class="src-var">$reg</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a128"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">requete </span>= <span class="src-var">$reg</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a129"></a> <span class="src-var">$url </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$reg</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a130"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a131"></a> </div></li> |
<li><div class="src-line"><a name="a132"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a133"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">fragment </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a134"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a135"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a136"></a> </div></li> |
<li><div class="src-line"><a name="a137"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a138"></a><span class="src-doc"> * Retourne le schéma, c.a.d. "http" ou "urn", ou false si aucun schéma n'est</span></div></li> |
<li><div class="src-line"><a name="a139"></a><span class="src-doc"> * spécifié, i.e. l'url est une url relative</span></div></li> |
<li><div class="src-line"><a name="a140"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a141"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc"> </span><span class="src-doc-type">string</span><span class="src-doc">|</span><span class="src-doc-type">bool</span></div></li> |
<li><div class="src-line"><a name="a142"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a143"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Url.html#methodgetSchema">getSchema</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a144"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">schema</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a145"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a146"></a> </div></li> |
<li><div class="src-line"><a name="a147"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a148"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string</span><span class="src-doc">|</span><span class="src-doc-type">bool</span><span class="src-doc-var">$schema </span></div></li> |
<li><div class="src-line"><a name="a149"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a150"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">void </span></div></li> |
<li><div class="src-line"><a name="a151"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@see</span><span class="src-doc"> getSchema()</span></div></li> |
<li><div class="src-line"><a name="a152"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a153"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Url.html#methodsetSchema">setSchema</a><span class="src-sym">(</span><span class="src-var">$schema</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a154"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">schema </span>= <span class="src-var">$schema</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a155"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a156"></a> </div></li> |
<li><div class="src-line"><a name="a157"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a158"></a><span class="src-doc"> * renvoie la partie user de la partie infoUtilisateur (partie précédant le premier</span></div></li> |
<li><div class="src-line"><a name="a159"></a><span class="src-doc"> * ":"), ou false si aucune partie infoUtilisateur n'est définie.</span></div></li> |
<li><div class="src-line"><a name="a160"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a161"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc"> </span><span class="src-doc-type">string</span><span class="src-doc">|</span><span class="src-doc-type">bool</span></div></li> |
<li><div class="src-line"><a name="a162"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a163"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Url.html#methodgetUtilisateur">getUtilisateur</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a164"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">infoUtilisateur </span>!== <span class="src-id">false </span>? <a href="http://www.php.net/preg_replace">preg_replace</a><span class="src-sym">(</span><span class="src-str">'@:.*$@'</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">infoUtilisateur</span><span class="src-sym">) </span>: <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a165"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a166"></a> </div></li> |
<li><div class="src-line"><a name="a167"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a168"></a><span class="src-doc"> * renvoie la partie mot de passe de la partie infoUtilisateur (partie après le premier</span></div></li> |
<li><div class="src-line"><a name="a169"></a><span class="src-doc"> * ":"), , ou false si aucune partie infoUtilisateur n'est définie (i.e. l'URL ne contient</span></div></li> |
<li><div class="src-line"><a name="a170"></a><span class="src-doc"> * pas de "@" en face du nom d'hôte) ou si la partie infoUtilisateur ne contient pas de ":".</span></div></li> |
<li><div class="src-line"><a name="a171"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a172"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc"> </span><span class="src-doc-type">string</span><span class="src-doc">|</span><span class="src-doc-type">bool</span></div></li> |
<li><div class="src-line"><a name="a173"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a174"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Url.html#methodgetMotDePasse">getMotDePasse</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a175"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">infoUtilisateur </span>!== <span class="src-id">false </span>? <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><a href="http://www.php.net/strstr">strstr</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">infoUtilisateur</span><span class="src-sym">, </span><span class="src-str">':'</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">) </span>: <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a176"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a88"></a> <span class="src-doc">/** Tableau des noms des paramètres à définir dans le fichier de config car obligatoirement nécessaire à cette classe.*/</span></div></li> |
<li><div class="src-line"><a name="a89"></a> <span class="src-key">private </span><span class="src-var">$parametres_obligatoires </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'url_arg_separateur_entree'</span><span class="src-sym">, </span><span class="src-str">'url_arg_separateur_sortie'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a90"></a> </div></li> |
<li><div class="src-line"><a name="a91"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a92"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$url </span><span class="src-doc"> une URL relative ou absolue</span></div></li> |
<li><div class="src-line"><a name="a93"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc"> </span><span class="src-doc-var">$options </span></div></li> |
<li><div class="src-line"><a name="a94"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a95"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Url.html#method__construct">__construct</a><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">, </span><span class="src-var">$options </span>= <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a96"></a> <span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodverifierPresenceParametres">verifierPresenceParametres</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">parametres_obligatoires</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a97"></a> </div></li> |
<li><div class="src-line"><a name="a98"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Url.html#methodsetOption">setOption</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">OPTION_SEPARATEUR_ENTREE</span><span class="src-sym">, </span><span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'url_arg_separateur_entree'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a99"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Url.html#methodsetOption">setOption</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">OPTION_SEPARATEUR_SORTIE</span><span class="src-sym">, </span><span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'url_arg_separateur_sortie'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a100"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$options</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a101"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$options </span><span class="src-key">as </span><span class="src-var">$nomOption </span>=> <span class="src-var">$valeur</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a102"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Url.html#methodsetOption">setOption</a><span class="src-sym">(</span><span class="src-var">$nomOption</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a103"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a104"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a105"></a> </div></li> |
<li><div class="src-line"><a name="a106"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'@^([a-z][a-z0-9.+-]*):@i'</span><span class="src-sym">, </span><span class="src-var">$url</span><span class="src-sym">, </span><span class="src-var">$reg</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a107"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">schema </span>= <span class="src-var">$reg</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a108"></a> <span class="src-var">$url </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$reg</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a109"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a110"></a> </div></li> |
<li><div class="src-line"><a name="a111"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'@^//([^/#?]+)@'</span><span class="src-sym">, </span><span class="src-var">$url</span><span class="src-sym">, </span><span class="src-var">$reg</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a112"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">setAutorite</span><span class="src-sym">(</span><span class="src-var">$reg</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a113"></a> <span class="src-var">$url </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$reg</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a114"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a115"></a> </div></li> |
<li><div class="src-line"><a name="a116"></a> <span class="src-var">$i </span>= <a href="http://www.php.net/strcspn">strcspn</a><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">, </span><span class="src-str">'?#'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a117"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">chemin </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-var">$i</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a118"></a> <span class="src-var">$url </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">, </span><span class="src-var">$i</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a119"></a> </div></li> |
<li><div class="src-line"><a name="a120"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'@^\?([^#]*)@'</span><span class="src-sym">, </span><span class="src-var">$url</span><span class="src-sym">, </span><span class="src-var">$reg</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a121"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">requete </span>= <span class="src-var">$reg</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a122"></a> <span class="src-var">$url </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$reg</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a123"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a124"></a> </div></li> |
<li><div class="src-line"><a name="a125"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a126"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">fragment </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a127"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a128"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a129"></a> </div></li> |
<li><div class="src-line"><a name="a130"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a131"></a><span class="src-doc"> * Renvoie la valeur de l'option specifiée.</span></div></li> |
<li><div class="src-line"><a name="a132"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a133"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$nomOption </span><span class="src-doc">Nom de l'option demandée</span></div></li> |
<li><div class="src-line"><a name="a134"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a135"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc"> </span><span class="src-doc-type">mixed </span></div></li> |
<li><div class="src-line"><a name="a136"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a137"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Url.html#methodgetOption">getOption</a><span class="src-sym">(</span><span class="src-var">$nomOption</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a138"></a> <span class="src-key">return </span>isset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">options</span><span class="src-sym">[</span><span class="src-var">$nomOption</span><span class="src-sym">]</span><span class="src-sym">) </span>? <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">options</span><span class="src-sym">[</span><span class="src-var">$nomOption</span><span class="src-sym">] </span>: <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a139"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a140"></a> </div></li> |
<li><div class="src-line"><a name="a141"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a142"></a><span class="src-doc"> * Met à jour la valeur de l'option spécifiée.</span></div></li> |
<li><div class="src-line"><a name="a143"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a144"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$nomOption </span><span class="src-doc">une des constantes commençant par self::OPTION_</span></div></li> |
<li><div class="src-line"><a name="a145"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc"> </span><span class="src-doc-var">$valeur </span><span class="src-doc"> valeur de l'option</span></div></li> |
<li><div class="src-line"><a name="a146"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a147"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">void </span></div></li> |
<li><div class="src-line"><a name="a148"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@see</span><span class="src-doc"> self::OPTION_STRICTE</span></div></li> |
<li><div class="src-line"><a name="a149"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@see</span><span class="src-doc"> self::OPTION_UTILISER_CROCHETS</span></div></li> |
<li><div class="src-line"><a name="a150"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@see</span><span class="src-doc"> self::OPTION_ENCODER_CLES</span></div></li> |
<li><div class="src-line"><a name="a151"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a152"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Url.html#methodsetOption">setOption</a><span class="src-sym">(</span><span class="src-var">$nomOption</span><span class="src-sym">, </span><span class="src-var">$valeur</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a153"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/array_key_exists">array_key_exists</a><span class="src-sym">(</span><span class="src-var">$nomOption</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">options</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a154"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a155"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a156"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">options</span><span class="src-sym">[</span><span class="src-var">$nomOption</span><span class="src-sym">] </span>= <span class="src-var">$valeur</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a157"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a158"></a> </div></li> |
<li><div class="src-line"><a name="a159"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a160"></a><span class="src-doc"> * Renvoie la partie autorité, i.e. [ infoUtilisateur "@" ] hote [ ":" port ], ou</span></div></li> |
<li><div class="src-line"><a name="a161"></a><span class="src-doc"> * false si celle-ci est absente.</span></div></li> |
<li><div class="src-line"><a name="a162"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a163"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string</span><span class="src-doc">|</span><span class="src-doc-type">bool</span></div></li> |
<li><div class="src-line"><a name="a164"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a165"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">getAutorite</span><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a166"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">hote</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a167"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a168"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a169"></a> </div></li> |
<li><div class="src-line"><a name="a170"></a> <span class="src-var">$autorite </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a171"></a> </div></li> |
<li><div class="src-line"><a name="a172"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">infoUtilisateur </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a173"></a> <span class="src-var">$autorite </span>.= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">infoUtilisateur </span>. <span class="src-str">'@'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a174"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a175"></a> </div></li> |
<li><div class="src-line"><a name="a176"></a> <span class="src-var">$autorite </span>.= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">hote</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a177"></a> </div></li> |
<li><div class="src-line"><a name="a178"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a179"></a><span class="src-doc"> * Renvoie la partie userinfio, ou false si celle-ci n'existe pas, i.e. si la partie</span></div></li> |
<li><div class="src-line"><a name="a180"></a><span class="src-doc"> * autorité ne contient pas de "@"</span></div></li> |
<li><div class="src-line"><a name="a181"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a182"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc"> </span><span class="src-doc-type">string</span><span class="src-doc">|</span><span class="src-doc-type">bool</span></div></li> |
<li><div class="src-line"><a name="a183"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a184"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Url.html#methodgetInfoUtilisateur">getInfoUtilisateur</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a185"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">infoUtilisateur</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a186"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a187"></a> </div></li> |
<li><div class="src-line"><a name="a188"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a189"></a><span class="src-doc"> * Setteur pour la partie infoUtilisateur. Si deux argument sont passé, ils sont combinés</span></div></li> |
<li><div class="src-line"><a name="a190"></a><span class="src-doc"> * dans la partie infoUtilisateur de cette manière username ":" password.</span></div></li> |
<li><div class="src-line"><a name="a191"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a192"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string</span><span class="src-doc">|</span><span class="src-doc-type">bool</span><span class="src-doc-var">$infoUtilisateur </span><span class="src-doc">infoUtilisateur ou username</span></div></li> |
<li><div class="src-line"><a name="a193"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string</span><span class="src-doc">|</span><span class="src-doc-type">bool</span><span class="src-doc-var">$motDePasse </span></div></li> |
<li><div class="src-line"><a name="a194"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a195"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">void </span></div></li> |
<li><div class="src-line"><a name="a196"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a197"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Url.html#methodsetInfoUtilisateur">setInfoUtilisateur</a><span class="src-sym">(</span><span class="src-var">$infoUtilisateur</span><span class="src-sym">, </span><span class="src-var">$motDePasse </span>= <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a198"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">infoUtilisateur </span>= <span class="src-var">$infoUtilisateur</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a199"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$motDePasse </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a200"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">infoUtilisateur </span>.= <span class="src-str">':' </span>. <span class="src-var">$motDePasse</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a201"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a202"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a203"></a> </div></li> |
<li><div class="src-line"><a name="a204"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a205"></a><span class="src-doc"> * Renvoie la partie hôte, ou false s'il n'y a pas de partie autorité, c.a.d.</span></div></li> |
<li><div class="src-line"><a name="a206"></a><span class="src-doc"> * l'URL est relative.</span></div></li> |
<li><div class="src-line"><a name="a207"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a208"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc"> </span><span class="src-doc-type">string</span><span class="src-doc">|</span><span class="src-doc-type">bool</span></div></li> |
<li><div class="src-line"><a name="a209"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a210"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Url.html#methodgetHote">getHote</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a211"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">hote</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a212"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a213"></a> </div></li> |
<li><div class="src-line"><a name="a214"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a215"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string</span><span class="src-doc">|</span><span class="src-doc-type">bool</span><span class="src-doc-var">$hote </span></div></li> |
<li><div class="src-line"><a name="a216"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a217"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">void </span></div></li> |
<li><div class="src-line"><a name="a218"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a219"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Url.html#methodsetHote">setHote</a><span class="src-sym">(</span><span class="src-var">$hote</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a220"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">hote </span>= <span class="src-var">$hote</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a221"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a222"></a> </div></li> |
<li><div class="src-line"><a name="a223"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a224"></a><span class="src-doc"> * Renvoie le numéro de port, ou false si aucun numéro de port n'est spécifié,</span></div></li> |
<li><div class="src-line"><a name="a225"></a><span class="src-doc"> * i.e. le port par défaut doit utilisé.</span></div></li> |
<li><div class="src-line"><a name="a226"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a227"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc"> </span><span class="src-doc-type">int</span><span class="src-doc">|</span><span class="src-doc-type">bool</span></div></li> |
<li><div class="src-line"><a name="a228"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a229"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Url.html#methodgetPort">getPort</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a230"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">port</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a231"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a232"></a> </div></li> |
<li><div class="src-line"><a name="a233"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a234"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int</span><span class="src-doc">|</span><span class="src-doc-type">bool</span><span class="src-doc-var">$port </span></div></li> |
<li><div class="src-line"><a name="a235"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a236"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">void </span></div></li> |
<li><div class="src-line"><a name="a237"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a238"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Url.html#methodsetPort">setPort</a><span class="src-sym">(</span><span class="src-var">$port</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a239"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">port </span>= <a href="http://www.php.net/intval">intval</a><span class="src-sym">(</span><span class="src-var">$port</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a240"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a241"></a> </div></li> |
<li><div class="src-line"><a name="a242"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a243"></a><span class="src-doc"> * Renvoie la partie autorité, i.e. [ infoUtilisateur "@" ] hote [ ":" port ], ou</span></div></li> |
<li><div class="src-line"><a name="a244"></a><span class="src-doc"> * false si celle-ci est absente.</span></div></li> |
<li><div class="src-line"><a name="a245"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a246"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string</span><span class="src-doc">|</span><span class="src-doc-type">bool</span></div></li> |
<li><div class="src-line"><a name="a247"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a248"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Url.html#methodgetAutorite">getAutorite</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a249"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">hote</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a250"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a251"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a252"></a> </div></li> |
<li><div class="src-line"><a name="a253"></a> <span class="src-var">$autorite </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a178"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">port </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a179"></a> <span class="src-var">$autorite </span>.= <span class="src-str">':' </span>. <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">port</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a180"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a181"></a> </div></li> |
<li><div class="src-line"><a name="a182"></a> <span class="src-key">return </span><span class="src-var">$autorite</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a183"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a184"></a> </div></li> |
<li><div class="src-line"><a name="a185"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a186"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string</span><span class="src-doc">|</span><span class="src-doc-type">false</span><span class="src-doc-var">$autorite </span></div></li> |
<li><div class="src-line"><a name="a187"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a188"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">void </span></div></li> |
<li><div class="src-line"><a name="a189"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a190"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">setAutorite</span><span class="src-sym">(</span><span class="src-var">$autorite</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a191"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">user </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a192"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">pass </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a193"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">hote </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a194"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">port </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a195"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'@^(([^\@]+)\@)?([^:]+)(:(\d*))?$@'</span><span class="src-sym">, </span><span class="src-var">$autorite</span><span class="src-sym">, </span><span class="src-var">$reg</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a196"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$reg</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a197"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">infoUtilisateur </span>= <span class="src-var">$reg</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a198"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a199"></a> </div></li> |
<li><div class="src-line"><a name="a200"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">hote </span>= <span class="src-var">$reg</span><span class="src-sym">[</span><span class="src-num">3</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a201"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$reg</span><span class="src-sym">[</span><span class="src-num">5</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a202"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">port </span>= <a href="http://www.php.net/intval">intval</a><span class="src-sym">(</span><span class="src-var">$reg</span><span class="src-sym">[</span><span class="src-num">5</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a203"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a204"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a205"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a206"></a> </div></li> |
<li><div class="src-line"><a name="a207"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a208"></a><span class="src-doc"> * Renvoie vrai ou faux suivant que l'instance en cours représente une URL relative ou absolue.</span></div></li> |
<li><div class="src-line"><a name="a209"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a210"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc"> </span><span class="src-doc-type">bool </span></div></li> |
<li><div class="src-line"><a name="a211"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a212"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">etreAbsolue</span><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a213"></a> <span class="src-key">return </span>(bool) <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">schema</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a214"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a215"></a> </div></li> |
<li><div class="src-line"><a name="a216"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a217"></a><span class="src-doc"> * La suppression des segments à points est décrite dans la RFC 3986, section 5.2.4, e.g.</span></div></li> |
<li><div class="src-line"><a name="a218"></a><span class="src-doc"> * "/foo/../bar/baz" => "/bar/baz"</span></div></li> |
<li><div class="src-line"><a name="a219"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a220"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$chemin </span><span class="src-doc">un chemin</span></div></li> |
<li><div class="src-line"><a name="a221"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a222"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">un chemin</span></div></li> |
<li><div class="src-line"><a name="a223"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a224"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">supprimerSegmentsAPoints</span><span class="src-sym">(</span><span class="src-var">$chemin</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a225"></a> <span class="src-var">$sortie </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a226"></a> </div></li> |
<li><div class="src-line"><a name="a227"></a> <span class="src-comm">// Assurons nous de ne pas nous retrouver piégés dans une boucle infinie due à un bug de cette méthode</span></div></li> |
<li><div class="src-line"><a name="a228"></a> <span class="src-var">$j </span>= <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a229"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-var">$chemin </span>&& <span class="src-var">$j</span>++ < <span class="src-num">100</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a230"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$chemin</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-num">2</span><span class="src-sym">) </span>== <span class="src-str">'./'</span><span class="src-sym">) </span><span class="src-sym">{</span><span class="src-comm">// Étape A</span></div></li> |
<li><div class="src-line"><a name="a231"></a> <span class="src-var">$chemin </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$chemin</span><span class="src-sym">, </span><span class="src-num">2</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a232"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$chemin</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-num">3</span><span class="src-sym">) </span>== <span class="src-str">'../'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a233"></a> <span class="src-var">$chemin </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$chemin</span><span class="src-sym">, </span><span class="src-num">3</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a234"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$chemin</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-num">3</span><span class="src-sym">) </span>== <span class="src-str">'/./' </span>|| <span class="src-var">$chemin </span>== <span class="src-str">'/.'</span><span class="src-sym">) </span><span class="src-sym">{</span><span class="src-comm">// Étape B</span></div></li> |
<li><div class="src-line"><a name="a235"></a> <span class="src-var">$chemin </span>= <span class="src-str">'/' </span>. <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$chemin</span><span class="src-sym">, </span><span class="src-num">3</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a236"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$chemin</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-num">4</span><span class="src-sym">) </span>== <span class="src-str">'/../' </span>|| <span class="src-var">$chemin </span>== <span class="src-str">'/..'</span><span class="src-sym">) </span><span class="src-sym">{</span><span class="src-comm">// Étape C</span></div></li> |
<li><div class="src-line"><a name="a237"></a> <span class="src-var">$chemin </span>= <span class="src-str">'/' </span>. <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$chemin</span><span class="src-sym">, </span><span class="src-num">4</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a238"></a> <span class="src-var">$i </span>= <a href="http://www.php.net/strrpos">strrpos</a><span class="src-sym">(</span><span class="src-var">$sortie</span><span class="src-sym">, </span><span class="src-str">'/'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a239"></a> <span class="src-var">$sortie </span>= <span class="src-var">$i </span>=== <span class="src-id">false </span>? <span class="src-str">'' </span>: <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$sortie</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-var">$i</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a240"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$chemin </span>== <span class="src-str">'.' </span>|| <span class="src-var">$chemin </span>== <span class="src-str">'..'</span><span class="src-sym">) </span><span class="src-sym">{</span><span class="src-comm">// Étape D</span></div></li> |
<li><div class="src-line"><a name="a241"></a> <span class="src-var">$chemin </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a242"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span><span class="src-comm">// Étape E</span></div></li> |
<li><div class="src-line"><a name="a243"></a> <span class="src-var">$i </span>= <a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$chemin</span><span class="src-sym">, </span><span class="src-str">'/'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a244"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$i </span>=== <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a245"></a> <span class="src-var">$i </span>= <a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$chemin</span><span class="src-sym">, </span><span class="src-str">'/'</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a246"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a247"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$i </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a248"></a> <span class="src-var">$i </span>= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$chemin</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a249"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a250"></a> <span class="src-var">$sortie </span>.= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$chemin</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-var">$i</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a251"></a> <span class="src-var">$chemin </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$chemin</span><span class="src-sym">, </span><span class="src-var">$i</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a252"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a253"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a254"></a> </div></li> |
<li><div class="src-line"><a name="a255"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">infoUtilisateur </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a256"></a> <span class="src-var">$autorite </span>.= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">infoUtilisateur </span>. <span class="src-str">'@'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a257"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a258"></a> </div></li> |
<li><div class="src-line"><a name="a259"></a> <span class="src-var">$autorite </span>.= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">hote</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a260"></a> </div></li> |
<li><div class="src-line"><a name="a261"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">port </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a262"></a> <span class="src-var">$autorite </span>.= <span class="src-str">':' </span>. <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">port</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a263"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a264"></a> </div></li> |
<li><div class="src-line"><a name="a265"></a> <span class="src-key">return </span><span class="src-var">$autorite</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a266"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a267"></a> </div></li> |
<li><div class="src-line"><a name="a268"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a269"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string</span><span class="src-doc">|</span><span class="src-doc-type">false</span><span class="src-doc-var">$autorite </span></div></li> |
<li><div class="src-line"><a name="a270"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a271"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">void </span></div></li> |
<li><div class="src-line"><a name="a272"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a273"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Url.html#methodsetAutorite">setAutorite</a><span class="src-sym">(</span><span class="src-var">$autorite</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a274"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">user </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a275"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">pass </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a276"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">hote </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a277"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">port </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a278"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'@^(([^\@]+)\@)?([^:]+)(:(\d*))?$@'</span><span class="src-sym">, </span><span class="src-var">$autorite</span><span class="src-sym">, </span><span class="src-var">$reg</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a279"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$reg</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a280"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">infoUtilisateur </span>= <span class="src-var">$reg</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a281"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a282"></a> </div></li> |
<li><div class="src-line"><a name="a283"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">hote </span>= <span class="src-var">$reg</span><span class="src-sym">[</span><span class="src-num">3</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a284"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$reg</span><span class="src-sym">[</span><span class="src-num">5</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a285"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">port </span>= <a href="http://www.php.net/intval">intval</a><span class="src-sym">(</span><span class="src-var">$reg</span><span class="src-sym">[</span><span class="src-num">5</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a255"></a> <span class="src-key">return </span><span class="src-var">$sortie</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a256"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a257"></a> </div></li> |
<li><div class="src-line"><a name="a258"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a259"></a><span class="src-doc"> * (Re-)Création de la partie requête de l'URL à partir des données du tableau (passé en paramètre).</span></div></li> |
<li><div class="src-line"><a name="a260"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a261"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc">(nom => valeur) tableau de clés & valeurs pour la partie requête de l'url.</span></div></li> |
<li><div class="src-line"><a name="a262"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">void </span><span class="src-doc">(Re-)Création de la partie requête.</span></div></li> |
<li><div class="src-line"><a name="a263"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a264"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Url.html#methodsetRequete">setRequete</a><span class="src-sym">(</span><span class="src-key">Array </span><span class="src-var">$parametres</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a265"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-var">$parametres</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a266"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">requete </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a267"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a268"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$parametres </span><span class="src-key">as </span><span class="src-var">$nom </span>=> <span class="src-var">$valeur</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a269"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">getOption</span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">OPTION_ENCODER_CLES</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a270"></a> <span class="src-var">$nom </span>= <span class="src-id">rawurlencode</span><span class="src-sym">(</span><span class="src-var">$nom</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a271"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a272"></a> </div></li> |
<li><div class="src-line"><a name="a273"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$valeur</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a274"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$valeur </span><span class="src-key">as </span><span class="src-var">$k </span>=> <span class="src-var">$v</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a275"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Url.html#methodgetOption">getOption</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">OPTION_UTILISER_CROCHETS</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a276"></a> <span class="src-var">$parties</span><span class="src-sym">[</span><span class="src-sym">] </span>= <a href="http://www.php.net/sprintf">sprintf</a><span class="src-sym">(</span><span class="src-str">'%s[%s]=%s'</span><span class="src-sym">, </span><span class="src-var">$nom</span><span class="src-sym">, </span><span class="src-var">$k</span><span class="src-sym">, </span><span class="src-var">$v</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a277"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a278"></a> <span class="src-var">$parties</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$nom</span>.<span class="src-str">'='</span>.<span class="src-var">$v</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a279"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a280"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a281"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/is_null">is_null</a><span class="src-sym">(</span><span class="src-var">$valeur</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a282"></a> <span class="src-var">$parties</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$nom </span>. <span class="src-str">'=' </span>. <span class="src-var">$valeur</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a283"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a284"></a> <span class="src-var">$parties</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$nom</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a285"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a286"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a287"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a288"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a289"></a> </div></li> |
<li><div class="src-line"><a name="a290"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a291"></a><span class="src-doc"> * Renvoie la partie chemin (chemin) (éventuellement vide).</span></div></li> |
<li><div class="src-line"><a name="a292"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a293"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span></div></li> |
<li><div class="src-line"><a name="a294"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a295"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Url.html#methodgetChemin">getChemin</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a296"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">chemin</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a297"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a298"></a> </div></li> |
<li><div class="src-line"><a name="a299"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a300"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$chemin </span></div></li> |
<li><div class="src-line"><a name="a301"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a302"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">void </span></div></li> |
<li><div class="src-line"><a name="a303"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a304"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Url.html#methodsetChemin">setChemin</a><span class="src-sym">(</span><span class="src-var">$chemin</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a305"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">chemin </span>= <span class="src-var">$chemin</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a306"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a307"></a> </div></li> |
<li><div class="src-line"><a name="a308"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a309"></a><span class="src-doc"> * renvoie la chaine de requête (requete string) (sans le premier "?"), ou false si "?"</span></div></li> |
<li><div class="src-line"><a name="a310"></a><span class="src-doc"> * n'est pas présent dans l'url.</span></div></li> |
<li><div class="src-line"><a name="a311"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a312"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc"> </span><span class="src-doc-type">string</span><span class="src-doc">|</span><span class="src-doc-type">bool</span></div></li> |
<li><div class="src-line"><a name="a313"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@see</span><span class="src-doc"> self::getVariablesRequete()</span></div></li> |
<li><div class="src-line"><a name="a314"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a315"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Url.html#methodgetRequete">getRequete</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a316"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">requete</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a317"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a318"></a> </div></li> |
<li><div class="src-line"><a name="a319"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a320"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string</span><span class="src-doc">|</span><span class="src-doc-type">bool</span><span class="src-doc-var">$requete </span></div></li> |
<li><div class="src-line"><a name="a321"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a322"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">void </span></div></li> |
<li><div class="src-line"><a name="a323"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@see</span><span class="src-doc"> self::setVariablesRequete()</span></div></li> |
<li><div class="src-line"><a name="a324"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a325"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Url.html#methodsetRequete">setRequete</a><span class="src-sym">(</span><span class="src-var">$requete</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a326"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">requete </span>= <span class="src-var">$requete</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a327"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a328"></a> </div></li> |
<li><div class="src-line"><a name="a329"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a330"></a><span class="src-doc"> * Renvoie le nom du fragment, ou false si "#" n'est pas present dans l'URL.</span></div></li> |
<li><div class="src-line"><a name="a331"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a332"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc"> </span><span class="src-doc-type">string</span><span class="src-doc">|</span><span class="src-doc-type">bool</span></div></li> |
<li><div class="src-line"><a name="a333"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a334"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Url.html#methodgetFragment">getFragment</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a335"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">fragment</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a336"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a287"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requete </span>= <a href="http://www.php.net/implode">implode</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Url.html#methodgetOption">getOption</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">OPTION_SEPARATEUR_SORTIE</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$parties</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a288"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a289"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a290"></a> </div></li> |
<li><div class="src-line"><a name="a291"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a292"></a><span class="src-doc"> * (Re-)Création de la partie requête de l'URL à partir de la fusion du tableau (passé en paramètre) et</span></div></li> |
<li><div class="src-line"><a name="a293"></a><span class="src-doc"> * les valeurs présentes dans $_GET.</span></div></li> |
<li><div class="src-line"><a name="a294"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a295"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc">(nom => valeur) tableau de clés & valeurs pour la partie requête de l'url.</span></div></li> |
<li><div class="src-line"><a name="a296"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">void </span><span class="src-doc">(Re-)Création de la partie requête.</span></div></li> |
<li><div class="src-line"><a name="a297"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a298"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Url.html#methodfusionnerRequete">fusionnerRequete</a><span class="src-sym">(</span><span class="src-key">Array </span><span class="src-var">$parametres</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a299"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$parametres</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a300"></a> <span class="src-var">$requete </span>= <span class="src-var">$parametres </span>+ <span class="src-var">$_GET</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a301"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Url.html#methodsetRequete">setRequete</a><span class="src-sym">(</span><span class="src-var">$requete</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a302"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a303"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a304"></a> </div></li> |
<li><div class="src-line"><a name="a305"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a306"></a><span class="src-doc"> * Normalise les données de l'instance d'Url faisant appel à cette méthode.</span></div></li> |
<li><div class="src-line"><a name="a307"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a308"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc"> </span><span class="src-doc-type">void </span><span class="src-doc">l'instance d'Url courrante est normalisée.</span></div></li> |
<li><div class="src-line"><a name="a309"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a310"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Url.html#methodnormaliser">normaliser</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a311"></a> <span class="src-comm">// Voir RFC 3886, section 6</span></div></li> |
<li><div class="src-line"><a name="a312"></a> </div></li> |
<li><div class="src-line"><a name="a313"></a> <span class="src-comm">// les cchémas sont insesibles à la casse</span></div></li> |
<li><div class="src-line"><a name="a314"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">schema</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a315"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">schema </span>= <a href="http://www.php.net/strtolower">strtolower</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">schema</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a316"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a317"></a> </div></li> |
<li><div class="src-line"><a name="a318"></a> <span class="src-comm">// les noms d'hotes sont insensibles à la casse</span></div></li> |
<li><div class="src-line"><a name="a319"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">hote</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a320"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">hote </span>= <a href="http://www.php.net/strtolower">strtolower</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">hote</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a321"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a322"></a> </div></li> |
<li><div class="src-line"><a name="a323"></a> <span class="src-comm">// Supprimer le numéro de port par défaut pour les schemas connus (RFC 3986, section 6.2.3)</span></div></li> |
<li><div class="src-line"><a name="a324"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">port </span>&& <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">schema </span>&& <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">port </span>== <a href="http://www.php.net/getservbyname">getservbyname</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">schema</span><span class="src-sym">, </span><span class="src-str">'tcp'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a325"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">port </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a326"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a327"></a> </div></li> |
<li><div class="src-line"><a name="a328"></a> <span class="src-comm">// normalisation dans le cas d'un encodage avec %XX pourcentage (RFC 3986, section 6.2.2.1)</span></div></li> |
<li><div class="src-line"><a name="a329"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'infoUtilisateur'</span><span class="src-sym">, </span><span class="src-str">'hote'</span><span class="src-sym">, </span><span class="src-str">'chemin'</span><span class="src-sym">) </span><span class="src-key">as </span><span class="src-var">$partie</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a330"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">$partie</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a331"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">$partie </span>= <a href="http://www.php.net/preg_replace">preg_replace</a><span class="src-sym">(</span><span class="src-str">'/%[0-9a-f]{2}/ie'</span><span class="src-sym">, </span><span class="src-str">'strtoupper("\0")'</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">$partie</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a332"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a333"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a334"></a> </div></li> |
<li><div class="src-line"><a name="a335"></a> <span class="src-comm">// normalisation des segments du chemin (RFC 3986, section 6.2.2.3)</span></div></li> |
<li><div class="src-line"><a name="a336"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">chemin </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">supprimerSegmentsAPoints</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">chemin</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a337"></a> </div></li> |
<li><div class="src-line"><a name="a338"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a339"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string</span><span class="src-doc">|</span><span class="src-doc-type">bool</span><span class="src-doc-var">$fragment </span></div></li> |
<li><div class="src-line"><a name="a340"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a341"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">void </span></div></li> |
<li><div class="src-line"><a name="a342"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a343"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Url.html#methodsetFragment">setFragment</a><span class="src-sym">(</span><span class="src-var">$fragment</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a344"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">fragment </span>= <span class="src-var">$fragment</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a345"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a346"></a> </div></li> |
<li><div class="src-line"><a name="a347"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a348"></a><span class="src-doc"> * Renvoie la requete string sous forme d'un tableau de variables telles qu'elles apparaitraient</span></div></li> |
<li><div class="src-line"><a name="a349"></a><span class="src-doc"> * dans le $_GET d'un script PHP</span></div></li> |
<li><div class="src-line"><a name="a350"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a351"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc"> </span><span class="src-doc-type">array </span></div></li> |
<li><div class="src-line"><a name="a352"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a353"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Url.html#methodgetVariablesRequete">getVariablesRequete</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a354"></a> <span class="src-var">$pattern </span>= <span class="src-str">'/' </span>.</div></li> |
<li><div class="src-line"><a name="a355"></a> <a href="http://www.php.net/preg_quote">preg_quote</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Url.html#methodgetOption">getOption</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">OPTION_SEPARATEUR_ENTREE</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-str">'/'</span><span class="src-sym">) </span>.</div></li> |
<li><div class="src-line"><a name="a356"></a> <span class="src-str">'/'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a357"></a> <span class="src-var">$parties </span>= <a href="http://www.php.net/preg_split">preg_split</a><span class="src-sym">(</span><span class="src-var">$pattern</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">requete</span><span class="src-sym">, </span>-<span class="src-num">1</span><span class="src-sym">, </span><span class="src-id">PREG_SPLIT_NO_EMPTY</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a358"></a> <span class="src-var">$retour </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a359"></a> </div></li> |
<li><div class="src-line"><a name="a360"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$parties </span><span class="src-key">as </span><span class="src-var">$partie</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a361"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$partie</span><span class="src-sym">, </span><span class="src-str">'='</span><span class="src-sym">) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a362"></a> list<span class="src-sym">(</span><span class="src-var">$cle</span><span class="src-sym">, </span><span class="src-var">$valeur</span><span class="src-sym">) </span>= <a href="http://www.php.net/explode">explode</a><span class="src-sym">(</span><span class="src-str">'='</span><span class="src-sym">, </span><span class="src-var">$partie</span><span class="src-sym">, </span><span class="src-num">2</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a363"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a364"></a> <span class="src-var">$cle </span>= <span class="src-var">$partie</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a365"></a> <span class="src-var">$valeur </span>= <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a366"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a367"></a> </div></li> |
<li><div class="src-line"><a name="a368"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Url.html#methodgetOption">getOption</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">OPTION_ENCODER_CLES</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a369"></a> <span class="src-var">$cle </span>= <a href="http://www.php.net/rawurldecode">rawurldecode</a><span class="src-sym">(</span><span class="src-var">$cle</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a370"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a371"></a> <span class="src-var">$valeur </span>= <a href="http://www.php.net/rawurldecode">rawurldecode</a><span class="src-sym">(</span><span class="src-var">$valeur</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a372"></a> </div></li> |
<li><div class="src-line"><a name="a373"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Url.html#methodgetOption">getOption</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">OPTION_UTILISER_CROCHETS</span><span class="src-sym">) </span>&&</div></li> |
<li><div class="src-line"><a name="a374"></a> <a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'#^(.*)\[([0-9a-z_-]*)\]#i'</span><span class="src-sym">, </span><span class="src-var">$cle</span><span class="src-sym">, </span><span class="src-var">$matches</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a375"></a> </div></li> |
<li><div class="src-line"><a name="a376"></a> <span class="src-var">$cle </span>= <span class="src-var">$matches</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a377"></a> <span class="src-var">$idx </span>= <span class="src-var">$matches</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a378"></a> </div></li> |
<li><div class="src-line"><a name="a379"></a> <span class="src-comm">// On s'assure que c'est bien un tableau</span></div></li> |
<li><div class="src-line"><a name="a380"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$retour</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">]</span><span class="src-sym">) </span>|| <span class="src-sym">!</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$retour</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a381"></a> <span class="src-var">$retour</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a382"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a383"></a> </div></li> |
<li><div class="src-line"><a name="a384"></a> <span class="src-comm">// Ajout des données</span></div></li> |
<li><div class="src-line"><a name="a385"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$idx </span>=== <span class="src-str">''</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a386"></a> <span class="src-var">$retour</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$valeur</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a387"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a388"></a> <span class="src-var">$retour</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$idx</span><span class="src-sym">] </span>= <span class="src-var">$valeur</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a389"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a390"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Url.html#methodgetOption">getOption</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">OPTION_UTILISER_CROCHETS</span><span class="src-sym">)</span></div></li> |
<li><div class="src-line"><a name="a391"></a> && <span class="src-sym">!</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$retour</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">]</span><span class="src-sym">)</span></div></li> |
<li><div class="src-line"><a name="a392"></a> <span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a393"></a> <span class="src-var">$retour</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">] </span>= (array) <span class="src-var">$retour</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a394"></a> <span class="src-var">$retour</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$valeur</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a395"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a396"></a> <span class="src-var">$retour</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">] </span>= <span class="src-var">$valeur</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a397"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a398"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a399"></a> </div></li> |
<li><div class="src-line"><a name="a400"></a> <span class="src-key">return </span><span class="src-var">$retour</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a401"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a402"></a> </div></li> |
<li><div class="src-line"><a name="a403"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a404"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$tableau </span><span class="src-doc">(nom => valeur) tableau</span></div></li> |
<li><div class="src-line"><a name="a405"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a406"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">void </span></div></li> |
<li><div class="src-line"><a name="a407"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a408"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Url.html#methodsetVariablesRequete">setVariablesRequete</a><span class="src-sym">(</span><span class="src-key">array </span><span class="src-var">$tableau</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a409"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-var">$tableau</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a410"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">requete </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a411"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a412"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$tableau </span><span class="src-key">as </span><span class="src-var">$nom </span>=> <span class="src-var">$valeur</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a413"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">getOption</span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">OPTION_ENCODER_CLES</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a414"></a> <span class="src-var">$nom </span>= <span class="src-id">rawurlencode</span><span class="src-sym">(</span><span class="src-var">$nom</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a415"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a416"></a> </div></li> |
<li><div class="src-line"><a name="a417"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$valeur</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a418"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$valeur </span><span class="src-key">as </span><span class="src-var">$k </span>=> <span class="src-var">$v</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a419"></a> <span class="src-var">$parties</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Url.html#methodgetOption">getOption</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">OPTION_UTILISER_CROCHETS</span><span class="src-sym">)</span></div></li> |
<li><div class="src-line"><a name="a420"></a> ? <a href="http://www.php.net/sprintf">sprintf</a><span class="src-sym">(</span><span class="src-str">'%s[%s]=%s'</span><span class="src-sym">, </span><span class="src-var">$nom</span><span class="src-sym">, </span><span class="src-var">$k</span><span class="src-sym">, </span><span class="src-var">$v</span><span class="src-sym">)</span></div></li> |
<li><div class="src-line"><a name="a421"></a> : <span class="src-sym">(</span><span class="src-var">$nom </span>. <span class="src-str">'=' </span>. <span class="src-var">$v</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a422"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a423"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/is_null">is_null</a><span class="src-sym">(</span><span class="src-var">$valeur</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a424"></a> <span class="src-var">$parties</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$nom </span>. <span class="src-str">'=' </span>. <span class="src-var">$valeur</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a425"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a426"></a> <span class="src-var">$parties</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$nom</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a427"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a428"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a429"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requete </span>= <a href="http://www.php.net/implode">implode</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Url.html#methodgetOption">getOption</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">OPTION_SEPARATEUR_SORTIE</span><span class="src-sym">)</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a430"></a> <span class="src-var">$parties</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a431"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a432"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a433"></a> </div></li> |
<li><div class="src-line"><a name="a434"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a435"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$nom </span></div></li> |
<li><div class="src-line"><a name="a436"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc"> </span><span class="src-doc-var">$valeur </span></div></li> |
<li><div class="src-line"><a name="a437"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a438"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc"> </span><span class="src-doc-type">array </span></div></li> |
<li><div class="src-line"><a name="a439"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a440"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Url.html#methodsetVariableRequete">setVariableRequete</a><span class="src-sym">(</span><span class="src-var">$nom</span><span class="src-sym">, </span><span class="src-var">$valeur</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a441"></a> <span class="src-var">$tableau </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Url.html#methodgetVariablesRequete">getVariablesRequete</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a442"></a> <span class="src-var">$tableau</span><span class="src-sym">[</span><span class="src-var">$nom</span><span class="src-sym">] </span>= <span class="src-var">$valeur</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a443"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Url.html#methodsetVariablesRequete">setVariablesRequete</a><span class="src-sym">(</span><span class="src-var">$tableau</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a444"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a445"></a> </div></li> |
<li><div class="src-line"><a name="a446"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a447"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$nom </span></div></li> |
<li><div class="src-line"><a name="a448"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a449"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">void </span></div></li> |
<li><div class="src-line"><a name="a450"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a451"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Url.html#methodunsetVariableRequete">unsetVariableRequete</a><span class="src-sym">(</span><span class="src-var">$nom</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a452"></a> <span class="src-var">$tableau </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Url.html#methodgetVariablesRequete">getVariablesRequete</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a453"></a> unset<span class="src-sym">(</span><span class="src-var">$tableau</span><span class="src-sym">[</span><span class="src-var">$nom</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a454"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Url.html#methodsetVariablesRequete">setVariablesRequete</a><span class="src-sym">(</span><span class="src-var">$tableau</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a455"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a456"></a> </div></li> |
<li><div class="src-line"><a name="a457"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a458"></a><span class="src-doc"> * Renvoie un représentation sous forme de chaine de l'URL</span></div></li> |
<li><div class="src-line"><a name="a459"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a460"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc"> </span><span class="src-doc-type">string </span></div></li> |
<li><div class="src-line"><a name="a461"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a462"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Url.html#methodgetURL">getURL</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a463"></a> <span class="src-comm">// Voir RFC 3986, section 5.3</span></div></li> |
<li><div class="src-line"><a name="a464"></a> <span class="src-var">$url </span>= <span class="src-str">""</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a465"></a> </div></li> |
<li><div class="src-line"><a name="a466"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">schema </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a467"></a> <span class="src-var">$url </span>.= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">schema </span>. <span class="src-str">':'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a468"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a469"></a> </div></li> |
<li><div class="src-line"><a name="a470"></a> <span class="src-var">$autorite </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Url.html#methodgetAutorite">getAutorite</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a471"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$autorite </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a472"></a> <span class="src-var">$url </span>.= <span class="src-str">'//' </span>. <span class="src-var">$autorite</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a473"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a474"></a> <span class="src-var">$url </span>.= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">chemin</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a475"></a> </div></li> |
<li><div class="src-line"><a name="a476"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requete </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a477"></a> <span class="src-var">$url </span>.= <span class="src-str">'?' </span>. <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requete</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a478"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a479"></a> </div></li> |
<li><div class="src-line"><a name="a480"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">fragment </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a481"></a> <span class="src-var">$url </span>.= <span class="src-str">'#' </span>. <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">fragment</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a482"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a483"></a> </div></li> |
<li><div class="src-line"><a name="a484"></a> <span class="src-key">return </span><span class="src-var">$url</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a485"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a486"></a> </div></li> |
<li><div class="src-line"><a name="a487"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a488"></a><span class="src-doc"> * Renvoie une représentation de cette URL sous forme de chaine normalisée. Utile pour la</span></div></li> |
<li><div class="src-line"><a name="a489"></a><span class="src-doc"> * comparaison d'URLs</span></div></li> |
<li><div class="src-line"><a name="a490"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a491"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc"> </span><span class="src-doc-type">string </span></div></li> |
<li><div class="src-line"><a name="a492"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a493"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Url.html#methodgetURLNormalisee">getURLNormalisee</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a494"></a> <span class="src-var">$url </span>= <span class="src-key">clone </span><span class="src-var">$this</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a495"></a> <span class="src-var">$url</span><span class="src-sym">-></span><a href="../Framework/Url.html#methodnormaliser">normaliser</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a496"></a> <span class="src-key">return </span><span class="src-var">$url</span><span class="src-sym">-></span><span class="src-id">getUrl</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a497"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a498"></a> </div></li> |
<li><div class="src-line"><a name="a499"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a500"></a><span class="src-doc"> * Renvoie une instance normalisée de Url</span></div></li> |
<li><div class="src-line"><a name="a501"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a502"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc"> </span><span class="src-doc-type">Url </span></div></li> |
<li><div class="src-line"><a name="a503"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a504"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Url.html#methodnormaliser">normaliser</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a505"></a> <span class="src-comm">// See RFC 3886, section 6</span></div></li> |
<li><div class="src-line"><a name="a506"></a> </div></li> |
<li><div class="src-line"><a name="a507"></a> <span class="src-comm">// les cchémas sont insesibles à la casse</span></div></li> |
<li><div class="src-line"><a name="a508"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">schema</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a509"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">schema </span>= <a href="http://www.php.net/strtolower">strtolower</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">schema</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a510"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a511"></a> </div></li> |
<li><div class="src-line"><a name="a512"></a> <span class="src-comm">// les noms d'hotes sont insensibles à la casse</span></div></li> |
<li><div class="src-line"><a name="a513"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">hote</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a514"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">hote </span>= <a href="http://www.php.net/strtolower">strtolower</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">hote</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a515"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a516"></a> </div></li> |
<li><div class="src-line"><a name="a517"></a> <span class="src-comm">// Supprimer le numéro de port par défaut pour les schemas connus (RFC 3986, section 6.2.3)</span></div></li> |
<li><div class="src-line"><a name="a518"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">port </span>&&</div></li> |
<li><div class="src-line"><a name="a519"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">schema </span>&&</div></li> |
<li><div class="src-line"><a name="a520"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">port </span>== <a href="http://www.php.net/getservbyname">getservbyname</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">schema</span><span class="src-sym">, </span><span class="src-str">'tcp'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a521"></a> </div></li> |
<li><div class="src-line"><a name="a522"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">port </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a523"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a524"></a> </div></li> |
<li><div class="src-line"><a name="a525"></a> <span class="src-comm">// normalisation dans le cas d'un encodage avec %XX pourcentage (RFC 3986, section 6.2.2.1)</span></div></li> |
<li><div class="src-line"><a name="a526"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'infoUtilisateur'</span><span class="src-sym">, </span><span class="src-str">'hote'</span><span class="src-sym">, </span><span class="src-str">'chemin'</span><span class="src-sym">) </span><span class="src-key">as </span><span class="src-var">$partie</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a527"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">$partie</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a528"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">$partie </span>= <a href="http://www.php.net/preg_replace">preg_replace</a><span class="src-sym">(</span><span class="src-str">'/%[0-9a-f]{2}/ie'</span><span class="src-sym">, </span><span class="src-str">'strtoupper("\0")'</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">$partie</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a529"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a530"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a531"></a> </div></li> |
<li><div class="src-line"><a name="a532"></a> <span class="src-comm">// normalisation des segments du chemin (RFC 3986, section 6.2.2.3)</span></div></li> |
<li><div class="src-line"><a name="a533"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">chemin </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">supprimerSegmentsAPoints</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">chemin</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a534"></a> </div></li> |
<li><div class="src-line"><a name="a535"></a> <span class="src-comm">// normalisation basée sur le schéma (RFC 3986, section 6.2.3)</span></div></li> |
<li><div class="src-line"><a name="a536"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">hote </span>&& <span class="src-sym">!</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">chemin</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a537"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">chemin </span>= <span class="src-str">'/'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a538"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a539"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a540"></a> </div></li> |
<li><div class="src-line"><a name="a541"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a542"></a><span class="src-doc"> * Renvoie vrai ou faux suivant que l'instance en cours représente une URL relative ou absolue.</span></div></li> |
<li><div class="src-line"><a name="a543"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a544"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc"> </span><span class="src-doc-type">bool </span></div></li> |
<li><div class="src-line"><a name="a545"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a546"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Url.html#methodetreAbsolue">etreAbsolue</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a547"></a> <span class="src-key">return </span>(bool) <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">schema</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a548"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a549"></a> </div></li> |
<li><div class="src-line"><a name="a550"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a551"></a><span class="src-doc"> * Renvoie une instance de Url représentant une URL absolue relative à</span></div></li> |
<li><div class="src-line"><a name="a552"></a><span class="src-doc"> * cette URL.</span></div></li> |
<li><div class="src-line"><a name="a553"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a554"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">Url</span><span class="src-doc">|</span><span class="src-doc-type">string</span><span class="src-doc-var">$reference </span><span class="src-doc">URL relative</span></div></li> |
<li><div class="src-line"><a name="a555"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a556"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">Url </span></div></li> |
<li><div class="src-line"><a name="a557"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a558"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Url.html#methodresoudre">resoudre</a><span class="src-sym">(</span><span class="src-var">$reference</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a559"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_string">is_string</a><span class="src-sym">(</span><span class="src-var">$reference</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a560"></a> <span class="src-var">$reference </span>= <span class="src-key">new </span><span class="src-id">self</span><span class="src-sym">(</span><span class="src-var">$reference</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a561"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a562"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Url.html#methodetreAbsolue">etreAbsolue</a><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a563"></a> throw <span class="src-key">new </span><span class="src-id">Exception</span><span class="src-sym">(</span><span class="src-str">'L\'URL de base doit être absolue !'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a564"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a565"></a> </div></li> |
<li><div class="src-line"><a name="a566"></a> <span class="src-comm">// Un parseur non strict peut choisir d'ignorer un schema dans la référence</span></div></li> |
<li><div class="src-line"><a name="a567"></a> <span class="src-comm">// si celui ci est identique au schéma de base de l'URI.</span></div></li> |
<li><div class="src-line"><a name="a568"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Url.html#methodgetOption">getOption</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">OPTION_STRICTE</span><span class="src-sym">) </span>&& <span class="src-var">$reference</span><span class="src-sym">-></span><span class="src-id">schema </span>== <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">schema</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a569"></a> <span class="src-var">$reference</span><span class="src-sym">-></span><span class="src-id">schema </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a570"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a571"></a> </div></li> |
<li><div class="src-line"><a name="a572"></a> <span class="src-var">$cible </span>= <span class="src-key">new </span><span class="src-id">self</span><span class="src-sym">(</span><span class="src-str">''</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a573"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$reference</span><span class="src-sym">-></span><span class="src-id">schema </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a574"></a> <span class="src-var">$cible</span><span class="src-sym">-></span><span class="src-id">schema </span>= <span class="src-var">$reference</span><span class="src-sym">-></span><span class="src-id">schema</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a575"></a> <span class="src-var">$cible</span><span class="src-sym">-></span><a href="../Framework/Url.html#methodsetAutorite">setAutorite</a><span class="src-sym">(</span><span class="src-var">$reference</span><span class="src-sym">-></span><a href="../Framework/Url.html#methodgetAutorite">getAutorite</a><span class="src-sym">(</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a576"></a> <span class="src-var">$cible</span><span class="src-sym">-></span><span class="src-id">chemin </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">supprimerSegmentsAPoints</span><span class="src-sym">(</span><span class="src-var">$reference</span><span class="src-sym">-></span><span class="src-id">chemin</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a577"></a> <span class="src-var">$cible</span><span class="src-sym">-></span><span class="src-id">requete </span>= <span class="src-var">$reference</span><span class="src-sym">-></span><span class="src-id">requete</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a578"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a579"></a> <span class="src-var">$autorite </span>= <span class="src-var">$reference</span><span class="src-sym">-></span><a href="../Framework/Url.html#methodgetAutorite">getAutorite</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a580"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$autorite </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a581"></a> <span class="src-var">$cible</span><span class="src-sym">-></span><a href="../Framework/Url.html#methodsetAutorite">setAutorite</a><span class="src-sym">(</span><span class="src-var">$autorite</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a582"></a> <span class="src-var">$cible</span><span class="src-sym">-></span><span class="src-id">chemin </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">supprimerSegmentsAPoints</span><span class="src-sym">(</span><span class="src-var">$reference</span><span class="src-sym">-></span><span class="src-id">chemin</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a583"></a> <span class="src-var">$cible</span><span class="src-sym">-></span><span class="src-id">requete </span>= <span class="src-var">$reference</span><span class="src-sym">-></span><span class="src-id">requete</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a584"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a585"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$reference</span><span class="src-sym">-></span><span class="src-id">chemin </span>== <span class="src-str">''</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a586"></a> <span class="src-var">$cible</span><span class="src-sym">-></span><span class="src-id">chemin </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">chemin</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a587"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$reference</span><span class="src-sym">-></span><span class="src-id">requete </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a588"></a> <span class="src-var">$cible</span><span class="src-sym">-></span><span class="src-id">requete </span>= <span class="src-var">$reference</span><span class="src-sym">-></span><span class="src-id">requete</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a589"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a590"></a> <span class="src-var">$cible</span><span class="src-sym">-></span><span class="src-id">requete </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requete</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a591"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a592"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a593"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$reference</span><span class="src-sym">-></span><span class="src-id">chemin</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">) </span>== <span class="src-str">'/'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a594"></a> <span class="src-var">$cible</span><span class="src-sym">-></span><span class="src-id">chemin </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">supprimerSegmentsAPoints</span><span class="src-sym">(</span><span class="src-var">$reference</span><span class="src-sym">-></span><span class="src-id">chemin</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a595"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a596"></a> <span class="src-comm">// Concaténation chemins (RFC 3986, section 5.2.3)</span></div></li> |
<li><div class="src-line"><a name="a597"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">hote </span>!== <span class="src-id">false </span>&& <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">chemin </span>== <span class="src-str">''</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a598"></a> <span class="src-var">$cible</span><span class="src-sym">-></span><span class="src-id">chemin </span>= <span class="src-str">'/' </span>. <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">chemin</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a599"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a600"></a> <span class="src-var">$i </span>= <a href="http://www.php.net/strrpos">strrpos</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">chemin</span><span class="src-sym">, </span><span class="src-str">'/'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a601"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$i </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a602"></a> <span class="src-var">$cible</span><span class="src-sym">-></span><span class="src-id">chemin </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">chemin</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-var">$i </span>+ <span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a603"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a604"></a> <span class="src-var">$cible</span><span class="src-sym">-></span><span class="src-id">chemin </span>.= <span class="src-var">$reference</span><span class="src-sym">-></span><span class="src-id">chemin</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a605"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a606"></a> <span class="src-var">$cible</span><span class="src-sym">-></span><span class="src-id">chemin </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">supprimerSegmentsAPoints</span><span class="src-sym">(</span><span class="src-var">$cible</span><span class="src-sym">-></span><span class="src-id">chemin</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a607"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a608"></a> <span class="src-var">$cible</span><span class="src-sym">-></span><span class="src-id">requete </span>= <span class="src-var">$reference</span><span class="src-sym">-></span><span class="src-id">requete</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a609"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a610"></a> <span class="src-var">$cible</span><span class="src-sym">-></span><a href="../Framework/Url.html#methodsetAutorite">setAutorite</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Url.html#methodgetAutorite">getAutorite</a><span class="src-sym">(</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a611"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a612"></a> <span class="src-var">$cible</span><span class="src-sym">-></span><span class="src-id">schema </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">schema</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a613"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a614"></a> </div></li> |
<li><div class="src-line"><a name="a615"></a> <span class="src-var">$cible</span><span class="src-sym">-></span><span class="src-id">fragment </span>= <span class="src-var">$reference</span><span class="src-sym">-></span><span class="src-id">fragment</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a616"></a> </div></li> |
<li><div class="src-line"><a name="a617"></a> <span class="src-key">return </span><span class="src-var">$cible</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a618"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a619"></a> </div></li> |
<li><div class="src-line"><a name="a620"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a621"></a><span class="src-doc"> * La suppression des segments à points est décrite dans la RFC 3986, section 5.2.4, e.g.</span></div></li> |
<li><div class="src-line"><a name="a622"></a><span class="src-doc"> * "/foo/../bar/baz" => "/bar/baz"</span></div></li> |
<li><div class="src-line"><a name="a623"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a624"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$chemin </span><span class="src-doc">un chemin</span></div></li> |
<li><div class="src-line"><a name="a625"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a626"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">un chemin</span></div></li> |
<li><div class="src-line"><a name="a627"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a628"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">supprimerSegmentsAPoints</span><span class="src-sym">(</span><span class="src-var">$chemin</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a629"></a> <span class="src-var">$sortie </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a630"></a> </div></li> |
<li><div class="src-line"><a name="a631"></a> <span class="src-comm">// Assurons de ne pas nous retrouver piégés dans une boucle infinie due à un bug de</span></div></li> |
<li><div class="src-line"><a name="a632"></a> <span class="src-comm">// cette méthode</span></div></li> |
<li><div class="src-line"><a name="a633"></a> <span class="src-var">$j </span>= <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a634"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-var">$chemin </span>&& <span class="src-var">$j</span>++ < <span class="src-num">100</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a635"></a> <span class="src-comm">// Étape A</span></div></li> |
<li><div class="src-line"><a name="a636"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$chemin</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-num">2</span><span class="src-sym">) </span>== <span class="src-str">'./'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a637"></a> <span class="src-var">$chemin </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$chemin</span><span class="src-sym">, </span><span class="src-num">2</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a638"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$chemin</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-num">3</span><span class="src-sym">) </span>== <span class="src-str">'../'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a639"></a> <span class="src-var">$chemin </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$chemin</span><span class="src-sym">, </span><span class="src-num">3</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a640"></a> </div></li> |
<li><div class="src-line"><a name="a641"></a> <span class="src-comm">// Étape B</span></div></li> |
<li><div class="src-line"><a name="a642"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$chemin</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-num">3</span><span class="src-sym">) </span>== <span class="src-str">'/./' </span>|| <span class="src-var">$chemin </span>== <span class="src-str">'/.'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a643"></a> <span class="src-var">$chemin </span>= <span class="src-str">'/' </span>. <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$chemin</span><span class="src-sym">, </span><span class="src-num">3</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a644"></a> </div></li> |
<li><div class="src-line"><a name="a645"></a> <span class="src-comm">// Étape C</span></div></li> |
<li><div class="src-line"><a name="a646"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$chemin</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-num">4</span><span class="src-sym">) </span>== <span class="src-str">'/../' </span>|| <span class="src-var">$chemin </span>== <span class="src-str">'/..'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a647"></a> <span class="src-var">$chemin </span>= <span class="src-str">'/' </span>. <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$chemin</span><span class="src-sym">, </span><span class="src-num">4</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a648"></a> <span class="src-var">$i </span>= <a href="http://www.php.net/strrpos">strrpos</a><span class="src-sym">(</span><span class="src-var">$sortie</span><span class="src-sym">, </span><span class="src-str">'/'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a649"></a> <span class="src-var">$sortie </span>= <span class="src-var">$i </span>=== <span class="src-id">false </span>? <span class="src-str">'' </span>: <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$sortie</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-var">$i</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a650"></a> </div></li> |
<li><div class="src-line"><a name="a651"></a> <span class="src-comm">// Étape D</span></div></li> |
<li><div class="src-line"><a name="a652"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$chemin </span>== <span class="src-str">'.' </span>|| <span class="src-var">$chemin </span>== <span class="src-str">'..'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a653"></a> <span class="src-var">$chemin </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a654"></a> </div></li> |
<li><div class="src-line"><a name="a655"></a> <span class="src-comm">// Étape E</span></div></li> |
<li><div class="src-line"><a name="a656"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a657"></a> <span class="src-var">$i </span>= <a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$chemin</span><span class="src-sym">, </span><span class="src-str">'/'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a658"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$i </span>=== <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a659"></a> <span class="src-var">$i </span>= <a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$chemin</span><span class="src-sym">, </span><span class="src-str">'/'</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a660"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a661"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$i </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a662"></a> <span class="src-var">$i </span>= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$chemin</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a663"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a664"></a> <span class="src-var">$sortie </span>.= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$chemin</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-var">$i</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a665"></a> <span class="src-var">$chemin </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$chemin</span><span class="src-sym">, </span><span class="src-var">$i</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a666"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a667"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a668"></a> </div></li> |
<li><div class="src-line"><a name="a669"></a> <span class="src-key">return </span><span class="src-var">$sortie</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a670"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a671"></a> </div></li> |
<li><div class="src-line"><a name="a672"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a673"></a><span class="src-doc"> * Renvoie une instance de Url representant l'URL canonique du script PHP</span></div></li> |
<li><div class="src-line"><a name="a674"></a><span class="src-doc"> * en cours d'éxécution</span></div></li> |
<li><div class="src-line"><a name="a675"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a676"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc"> </span><span class="src-doc-type">string </span></div></li> |
<li><div class="src-line"><a name="a677"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a678"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/Url.html#methodgetCanonique">getCanonique</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a679"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span>isset<span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'REQUEST_METHOD'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a680"></a> <span class="src-comm">// ALERT - pas d'URL en cours</span></div></li> |
<li><div class="src-line"><a name="a681"></a> throw <span class="src-key">new </span><span class="src-id">Exception</span><span class="src-sym">(</span><span class="src-str">'Le script n\'a pas été appellé à travers un serveur web'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a682"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a683"></a> </div></li> |
<li><div class="src-line"><a name="a684"></a> <span class="src-comm">// on part d'une URL relative</span></div></li> |
<li><div class="src-line"><a name="a685"></a> <span class="src-var">$url </span>= <span class="src-key">new </span><span class="src-id">self</span><span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'PHP_SELF'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a686"></a> <span class="src-var">$url</span><span class="src-sym">-></span><span class="src-id">schema </span>= isset<span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'HTTPS'</span><span class="src-sym">]</span><span class="src-sym">) </span>? <span class="src-str">'https' </span>: <span class="src-str">'http'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a687"></a> <span class="src-var">$url</span><span class="src-sym">-></span><span class="src-id">hote </span>= <span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'SERVER_NAME'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a688"></a> <span class="src-var">$port </span>= <a href="http://www.php.net/intval">intval</a><span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'SERVER_PORT'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a689"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">-></span><span class="src-id">schema </span>== <span class="src-str">'http' </span>&& <span class="src-var">$port </span>!= <span class="src-num">80 </span>||</div></li> |
<li><div class="src-line"><a name="a690"></a> <span class="src-var">$url</span><span class="src-sym">-></span><span class="src-id">schema </span>== <span class="src-str">'https' </span>&& <span class="src-var">$port </span>!= <span class="src-num">443</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a691"></a> </div></li> |
<li><div class="src-line"><a name="a692"></a> <span class="src-var">$url</span><span class="src-sym">-></span><span class="src-id">port </span>= <span class="src-var">$port</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a693"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a694"></a> <span class="src-key">return </span><span class="src-var">$url</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a695"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a696"></a> </div></li> |
<li><div class="src-line"><a name="a697"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a698"></a><span class="src-doc"> * Renvoie l'URL utilisée pour récupérer la requête en cours</span></div></li> |
<li><div class="src-line"><a name="a699"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a700"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc"> </span><span class="src-doc-type">string </span></div></li> |
<li><div class="src-line"><a name="a701"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a702"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/Url.html#methodgetURLDemande">getURLDemande</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a703"></a> <span class="src-key">return </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">getDemande</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><span class="src-id">getUrl</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a704"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a705"></a> </div></li> |
<li><div class="src-line"><a name="a706"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a707"></a><span class="src-doc"> * Renvoie une instance de Url representant l'URL utilisée pour</span></div></li> |
<li><div class="src-line"><a name="a708"></a><span class="src-doc"> * récupérer la requête en cours</span></div></li> |
<li><div class="src-line"><a name="a709"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a710"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc"> </span><span class="src-doc-type">Url </span></div></li> |
<li><div class="src-line"><a name="a711"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a712"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/Url.html#methodgetDemande">getDemande</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a713"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span>isset<span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'REQUEST_METHOD'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a714"></a> <span class="src-comm">// ALERTE - pas d'URL en cours</span></div></li> |
<li><div class="src-line"><a name="a715"></a> throw <span class="src-key">new </span><span class="src-id">Exception</span><span class="src-sym">(</span><span class="src-str">'Le script n\'a pas été appellé à travers un serveur web'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a716"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a717"></a> </div></li> |
<li><div class="src-line"><a name="a718"></a> <span class="src-comm">// On part d'une URL relative</span></div></li> |
<li><div class="src-line"><a name="a719"></a> <span class="src-var">$url </span>= <span class="src-key">new </span><span class="src-id">self</span><span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'REQUEST_URI'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a720"></a> <span class="src-var">$url</span><span class="src-sym">-></span><span class="src-id">schema </span>= isset<span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'HTTPS'</span><span class="src-sym">]</span><span class="src-sym">) </span>? <span class="src-str">'https' </span>: <span class="src-str">'http'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a721"></a> <span class="src-comm">// On met à jour les valeurs de l'hote et si possible du port</span></div></li> |
<li><div class="src-line"><a name="a722"></a> <span class="src-var">$url</span><span class="src-sym">-></span><a href="../Framework/Url.html#methodsetAutorite">setAutorite</a><span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'HTTP_hote'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a723"></a> <span class="src-key">return </span><span class="src-var">$url</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a724"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a725"></a> </div></li> |
<li><div class="src-line"><a name="a726"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a727"></a><span class="src-doc"> * Met à jour la valeur de l'option spécifiée.</span></div></li> |
<li><div class="src-line"><a name="a728"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a729"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$nomOption </span><span class="src-doc">une des constantes commençant par self::OPTION_</span></div></li> |
<li><div class="src-line"><a name="a730"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc"> </span><span class="src-doc-var">$valeur </span><span class="src-doc"> valeur de l'option</span></div></li> |
<li><div class="src-line"><a name="a731"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a732"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">void </span></div></li> |
<li><div class="src-line"><a name="a733"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@see</span><span class="src-doc"> self::OPTION_STRICTE</span></div></li> |
<li><div class="src-line"><a name="a734"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@see</span><span class="src-doc"> self::OPTION_UTILISER_CROCHETS</span></div></li> |
<li><div class="src-line"><a name="a735"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@see</span><span class="src-doc"> self::OPTION_ENCODER_CLES</span></div></li> |
<li><div class="src-line"><a name="a736"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a737"></a> <span class="src-key">function </span><a href="../Framework/Url.html#methodsetOption">setOption</a><span class="src-sym">(</span><span class="src-var">$nomOption</span><span class="src-sym">, </span><span class="src-var">$valeur</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a738"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/array_key_exists">array_key_exists</a><span class="src-sym">(</span><span class="src-var">$nomOption</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">options</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a739"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a740"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a741"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">options</span><span class="src-sym">[</span><span class="src-var">$nomOption</span><span class="src-sym">] </span>= <span class="src-var">$valeur</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a742"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a743"></a> </div></li> |
<li><div class="src-line"><a name="a744"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a745"></a><span class="src-doc"> * Renvoie la valeur de l'option specifiée.</span></div></li> |
<li><div class="src-line"><a name="a746"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a747"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$nomOption </span><span class="src-doc">Nom de l'option demandée</span></div></li> |
<li><div class="src-line"><a name="a748"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a749"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc"> </span><span class="src-doc-type">mixed </span></div></li> |
<li><div class="src-line"><a name="a750"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a751"></a> <span class="src-key">function </span><a href="../Framework/Url.html#methodgetOption">getOption</a><span class="src-sym">(</span><span class="src-var">$nomOption</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a752"></a> <span class="src-key">return </span>isset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">options</span><span class="src-sym">[</span><span class="src-var">$nomOption</span><span class="src-sym">]</span><span class="src-sym">)</span></div></li> |
<li><div class="src-line"><a name="a753"></a> ? <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">options</span><span class="src-sym">[</span><span class="src-var">$nomOption</span><span class="src-sym">] </span>: <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a754"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a755"></a> </div></li> |
<li><div class="src-line"><a name="a756"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Url.html#method__toString">__toString</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a757"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Framework/Url.html#methodgetURL">getURL</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a758"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a759"></a><span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a338"></a> <span class="src-comm">// normalisation basée sur le schéma (RFC 3986, section 6.2.3)</span></div></li> |
<li><div class="src-line"><a name="a339"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">hote </span>&& <span class="src-sym">!</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">chemin</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a340"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">chemin </span>= <span class="src-str">'/'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a341"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a342"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a343"></a> </div></li> |
<li><div class="src-line"><a name="a344"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a345"></a><span class="src-doc"> * Renvoie une instance d'objet Url representant l'URL canonique du script PHP en cours d'éxécution.</span></div></li> |
<li><div class="src-line"><a name="a346"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a347"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">Url </span><span class="src-doc">retourne un objet Url ou null en cas d'erreur.</span></div></li> |
<li><div class="src-line"><a name="a348"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a349"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/Url.html#methodgetCanonique">getCanonique</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a350"></a> <span class="src-var">$url </span>= <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a351"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span>isset<span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'REQUEST_METHOD'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a352"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">"Le script n'a pas été appellé à travers un serveur web"</span><span class="src-sym">, </span><span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a353"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a354"></a> <span class="src-comm">// À partir d'une URL relative</span></div></li> |
<li><div class="src-line"><a name="a355"></a> <span class="src-var">$url </span>= <span class="src-key">new </span><span class="src-id">self</span><span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'PHP_SELF'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a356"></a> <span class="src-var">$url</span><span class="src-sym">-></span><span class="src-id">schema </span>= isset<span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'HTTPS'</span><span class="src-sym">]</span><span class="src-sym">) </span>? <span class="src-str">'https' </span>: <span class="src-str">'http'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a357"></a> <span class="src-var">$url</span><span class="src-sym">-></span><span class="src-id">hote </span>= <span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'SERVER_NAME'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a358"></a> <span class="src-var">$port </span>= <a href="http://www.php.net/intval">intval</a><span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'SERVER_PORT'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a359"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$url</span><span class="src-sym">-></span><span class="src-id">schema </span>== <span class="src-str">'http' </span>&& <span class="src-var">$port </span>!= <span class="src-num">80 </span>|| <span class="src-var">$url</span><span class="src-sym">-></span><span class="src-id">schema </span>== <span class="src-str">'https' </span>&& <span class="src-var">$port </span>!= <span class="src-num">443</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a360"></a> <span class="src-var">$url</span><span class="src-sym">-></span><span class="src-id">port </span>= <span class="src-var">$port</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a361"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a362"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a363"></a> <span class="src-key">return </span><span class="src-var">$url</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a364"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a365"></a> </div></li> |
<li><div class="src-line"><a name="a366"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a367"></a><span class="src-doc"> * Renvoie une instance d'objet Url representant l'URL utilisée pour récupérer la requête en cours.</span></div></li> |
<li><div class="src-line"><a name="a368"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a369"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">Url </span><span class="src-doc">retourne un objet Url ou null en cas d'erreur.</span></div></li> |
<li><div class="src-line"><a name="a370"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a371"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/Url.html#methodgetDemande">getDemande</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a372"></a> <span class="src-var">$url </span>= <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a373"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span>isset<span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'REQUEST_METHOD'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a374"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">"Le script n'a pas été appellé à travers un serveur web"</span><span class="src-sym">, </span><span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a375"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a376"></a> <span class="src-comm">// On part d'une URL relative</span></div></li> |
<li><div class="src-line"><a name="a377"></a> <span class="src-var">$url </span>= <span class="src-key">new </span><span class="src-id">self</span><span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'REQUEST_URI'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a378"></a> <span class="src-var">$url</span><span class="src-sym">-></span><span class="src-id">schema </span>= isset<span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'HTTPS'</span><span class="src-sym">]</span><span class="src-sym">) </span>? <span class="src-str">'https' </span>: <span class="src-str">'http'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a379"></a> <span class="src-comm">// On met à jour les valeurs de l'hôte et si possible du port</span></div></li> |
<li><div class="src-line"><a name="a380"></a> <span class="src-var">$url</span><span class="src-sym">-></span><span class="src-id">setAutorite</span><span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'HTTP_hote'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a381"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a382"></a> <span class="src-key">return </span><span class="src-var">$url</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a383"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a384"></a> </div></li> |
<li><div class="src-line"><a name="a385"></a> </div></li> |
<li><div class="src-line"><a name="a386"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a387"></a><span class="src-doc"> * Renvoie un représentation sous forme de chaine de l'URL.</span></div></li> |
<li><div class="src-line"><a name="a388"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a389"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc"> </span><span class="src-doc-type">string </span><span class="src-doc">l'url</span></div></li> |
<li><div class="src-line"><a name="a390"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a391"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/Url.html#methodgetURL">getURL</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a392"></a> <span class="src-comm">// Voir RFC 3986, section 5.3</span></div></li> |
<li><div class="src-line"><a name="a393"></a> <span class="src-var">$url </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a394"></a> </div></li> |
<li><div class="src-line"><a name="a395"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">schema </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a396"></a> <span class="src-var">$url </span>.= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">schema </span>. <span class="src-str">':'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a397"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a398"></a> </div></li> |
<li><div class="src-line"><a name="a399"></a> <span class="src-var">$autorite </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">getAutorite</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a400"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$autorite </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a401"></a> <span class="src-var">$url </span>.= <span class="src-str">'//' </span>. <span class="src-var">$autorite</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a402"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a403"></a> <span class="src-var">$url </span>.= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">chemin</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a404"></a> </div></li> |
<li><div class="src-line"><a name="a405"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requete </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a406"></a> <span class="src-var">$url </span>.= <span class="src-str">'?' </span>. <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">requete</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a407"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a408"></a> </div></li> |
<li><div class="src-line"><a name="a409"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">fragment </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a410"></a> <span class="src-var">$url </span>.= <span class="src-str">'#' </span>. <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">fragment</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a411"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a412"></a> </div></li> |
<li><div class="src-line"><a name="a413"></a> <span class="src-key">return </span><span class="src-var">$url</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a414"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a415"></a><span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a416"></a><span class="src-php">?></span></div></li> |
</ol></div> |
</div> |
<p class="notes" id="credit"> |
Documentation generated on Thu, 04 Mar 2010 19:27:28 +0100 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.3</a> |
Documentation generated on Tue, 18 Jan 2011 15:01:47 +0100 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.3</a> |
</p> |
</body> |
</html> |
/trunk/doc/HTMLframesConverter/__filesource/fsource_Framework__utilitairesDiffieHellmanUtil.php.html |
---|
New file |
0,0 → 1,245 |
<?xml version="1.0" encoding="UTF-8"?> |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
<html xmlns="http://www.w3.org/1999/xhtml"> |
<head> |
<!-- template designed by Marco Von Ballmoos --> |
<title>File Source for DiffieHellmanUtil.php</title> |
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'/> |
<link rel="stylesheet" href="../media/stylesheet.css" /> |
</head> |
<body> |
<h1>Source for file DiffieHellmanUtil.php</h1> |
<p>Documentation is available at <a href="../Framework/_utilitaires---DiffieHellmanUtil.php.html">DiffieHellmanUtil.php</a></p> |
<div class="src-code"> |
<div class="src-code"><ol><li><div class="src-line"><a name="a1"></a><span class="src-php"><?php</span></div></li> |
<li><div class="src-line"><a name="a2"></a> </div></li> |
<li><div class="src-line"><a name="a3"></a><span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a4"></a><span class="src-doc"> * Classe utilitaire proposant des fonctions permettant la réalisation d'un</span></div></li> |
<li><div class="src-line"><a name="a5"></a><span class="src-doc"> * échange de clé Diffie Hellman</span></div></li> |
<li><div class="src-line"><a name="a6"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a7"></a><span class="src-doc"> * "En cryptographie, l'échange de clés Diffie-Hellman, du nom de ses auteurs</span></div></li> |
<li><div class="src-line"><a name="a8"></a><span class="src-doc"> * Whitfield Diffie et Martin Hellman, est une méthode par laquelle deux</span></div></li> |
<li><div class="src-line"><a name="a9"></a><span class="src-doc"> * personnes peuvent se mettre d'accord sur un nombre (qu'ils peuvent utiliser</span></div></li> |
<li><div class="src-line"><a name="a10"></a><span class="src-doc"> * comme clé pour chiffrer la conversation suivante) sans qu'une troisième</span></div></li> |
<li><div class="src-line"><a name="a11"></a><span class="src-doc"> * personne appelée Ève puisse découvrir le nombre, même en ayant écouté tous</span></div></li> |
<li><div class="src-line"><a name="a12"></a><span class="src-doc"> * leurs échanges."</span></div></li> |
<li><div class="src-line"><a name="a13"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a14"></a><span class="src-doc"> * Voir http://fr.wikipedia.org/wiki/%C3%89change_de_cl%C3%A9s_Diffie-Hellman</span></div></li> |
<li><div class="src-line"><a name="a15"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a16"></a><span class="src-doc"> * */</span></div></li> |
<li><div class="src-line"><a name="a16"></a> </div></li> |
<li><div class="src-line"><a name="a17"></a><span class="src-key">class </span><a href="../Framework/DiffieHellmanUtil.html">DiffieHellmanUtil</a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a18"></a> </div></li> |
<li><div class="src-line"><a name="a19"></a> <span class="src-comm">// Default Diffie-Hellman key generator (1024 bit) </span></div></li> |
<li><div class="src-line"><a name="a20"></a> <span class="src-key">const </span><span class="src-id">DH_P </span>= <span class="src-str">'dcf93a0b883972ec0e19989ac5a2ce310e1d37717e8d9571bb7623731866e61ef75a2e27898b057f9891c2e27a639c3f29b60814581cd3b2ca3986d2683705577d45c2e7e52dc81c7a171876e5cea74b1448bfdfaf18828efd2519f14e45e3826634af1949e5b535cc829a483b8a76223e5d490a257f05bdff16f2fb22c583ab'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a21"></a> </div></li> |
<li><div class="src-line"><a name="a22"></a> <span class="src-comm">//Default Diffie-Hellman prime number (should be 2 or 5)</span></div></li> |
<li><div class="src-line"><a name="a23"></a> <span class="src-key">const </span><span class="src-id">DH_G </span>= <span class="src-str">'02'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a24"></a> </div></li> |
<li><div class="src-line"><a name="a25"></a> </div></li> |
<li><div class="src-line"><a name="a26"></a> </div></li> |
<li><div class="src-line"><a name="a27"></a> </div></li> |
<li><div class="src-line"><a name="a28"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a29"></a><span class="src-doc"> * Performs the first step of a Diffie-Hellman key exchange by generating</span></div></li> |
<li><div class="src-line"><a name="a30"></a><span class="src-doc"> * private and public DH values based on given prime number $p and</span></div></li> |
<li><div class="src-line"><a name="a31"></a><span class="src-doc"> * generator $g. Both sides of key exchange MUST have the same prime number</span></div></li> |
<li><div class="src-line"><a name="a32"></a><span class="src-doc"> * and generator. In this case they will able to create a random shared</span></div></li> |
<li><div class="src-line"><a name="a33"></a><span class="src-doc"> * secret that is never send from one to the other.</span></div></li> |
<li><div class="src-line"><a name="a34"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a35"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$p </span><span class="src-doc">prime number in binary representation</span></div></li> |
<li><div class="src-line"><a name="a36"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$g </span><span class="src-doc">generator in binary representation</span></div></li> |
<li><div class="src-line"><a name="a37"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$priv_key </span><span class="src-doc">private key in binary representation</span></div></li> |
<li><div class="src-line"><a name="a38"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">mixed </span></div></li> |
<li><div class="src-line"><a name="a39"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a40"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/DiffieHellmanUtil.html#methodcreateDhKey">createDhKey</a><span class="src-sym">(</span><span class="src-var">$p</span><span class="src-sym">, </span><span class="src-var">$g</span><span class="src-sym">, </span><span class="src-var">$priv_key </span>= <span class="src-id">null</span><span class="src-sym">)</span></div></li> |
<li><div class="src-line"><a name="a41"></a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a42"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/function_exists">function_exists</a><span class="src-sym">(</span><span class="src-str">'openssl_dh_compute_key'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a43"></a> <span class="src-var">$dh_details </span>= <span class="src-key">array</span><span class="src-sym">(</span></div></li> |
<li><div class="src-line"><a name="a44"></a> <span class="src-str">'p' </span>=> <span class="src-var">$p</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a45"></a> <span class="src-str">'g' </span>=> <span class="src-var">$g</span></div></li> |
<li><div class="src-line"><a name="a46"></a> <span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a47"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$priv_key </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a48"></a> <span class="src-var">$dh_details</span><span class="src-sym">[</span><span class="src-str">'priv_key'</span><span class="src-sym">] </span>= <span class="src-var">$priv_key</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a49"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a50"></a> <span class="src-key">return </span><a href="http://www.php.net/openssl_pkey_new">openssl_pkey_new</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'dh'</span>=><span class="src-var">$dh_details</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a51"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a52"></a> <span class="src-var">$bn_p </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">binToBigNum</span><span class="src-sym">(</span><span class="src-var">$p</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a53"></a> <span class="src-var">$bn_g </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">binToBigNum</span><span class="src-sym">(</span><span class="src-var">$g</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a54"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$priv_key </span>=== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a55"></a> <span class="src-var">$priv_key </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">randomBytes</span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">strlen</span><span class="src-sym">(</span><span class="src-var">$p</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a56"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a57"></a> <span class="src-var">$bn_priv_key </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">binToBigNum</span><span class="src-sym">(</span><span class="src-var">$priv_key</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a58"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/extension_loaded">extension_loaded</a><span class="src-sym">(</span><span class="src-str">'gmp'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a59"></a> <span class="src-var">$bn_pub_key </span>= <span class="src-id">gmp_powm</span><span class="src-sym">(</span><span class="src-var">$bn_g</span><span class="src-sym">, </span><span class="src-var">$bn_priv_key</span><span class="src-sym">, </span><span class="src-var">$bn_p</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a60"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/extension_loaded">extension_loaded</a><span class="src-sym">(</span><span class="src-str">'bcmath'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a61"></a> <span class="src-var">$bn_pub_key </span>= <a href="http://www.php.net/bcpowmod">bcpowmod</a><span class="src-sym">(</span><span class="src-var">$bn_g</span><span class="src-sym">, </span><span class="src-var">$bn_priv_key</span><span class="src-sym">, </span><span class="src-var">$bn_p</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a62"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a63"></a> <span class="src-var">$pub_key </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">bigNumToBin</span><span class="src-sym">(</span><span class="src-var">$bn_pub_key</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a64"></a> </div></li> |
<li><div class="src-line"><a name="a65"></a> <span class="src-key">return </span><span class="src-key">array</span><span class="src-sym">(</span></div></li> |
<li><div class="src-line"><a name="a66"></a> <span class="src-str">'p' </span>=> <span class="src-var">$bn_p</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a67"></a> <span class="src-str">'g' </span>=> <span class="src-var">$bn_g</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a68"></a> <span class="src-str">'priv_key' </span>=> <span class="src-var">$bn_priv_key</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a69"></a> <span class="src-str">'pub_key' </span>=> <span class="src-var">$bn_pub_key</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a70"></a> <span class="src-str">'details' </span>=> <span class="src-key">array</span><span class="src-sym">(</span></div></li> |
<li><div class="src-line"><a name="a71"></a> <span class="src-str">'p' </span>=> <span class="src-var">$p</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a72"></a> <span class="src-str">'g' </span>=> <span class="src-var">$g</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a73"></a> <span class="src-str">'priv_key' </span>=> <span class="src-var">$priv_key</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a74"></a> <span class="src-str">'pub_key' </span>=> <span class="src-var">$pub_key</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a75"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a76"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a77"></a> </div></li> |
<li><div class="src-line"><a name="a78"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a79"></a><span class="src-doc"> * Returns an associative array with Diffie-Hellman key components in</span></div></li> |
<li><div class="src-line"><a name="a80"></a><span class="src-doc"> * binary representation. The array includes original prime number 'p' and</span></div></li> |
<li><div class="src-line"><a name="a81"></a><span class="src-doc"> * generator 'g', random private key 'priv_key' and corresponding public</span></div></li> |
<li><div class="src-line"><a name="a82"></a><span class="src-doc"> * key 'pub_key'.</span></div></li> |
<li><div class="src-line"><a name="a83"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a84"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$dh </span><span class="src-doc">Diffie-Hellman key</span></div></li> |
<li><div class="src-line"><a name="a85"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span></div></li> |
<li><div class="src-line"><a name="a86"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a87"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/DiffieHellmanUtil.html#methodgetDhKeyDetails">getDhKeyDetails</a><span class="src-sym">(</span><span class="src-var">$dh</span><span class="src-sym">)</span></div></li> |
<li><div class="src-line"><a name="a88"></a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a89"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/function_exists">function_exists</a><span class="src-sym">(</span><span class="src-str">'openssl_dh_compute_key'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a90"></a> <span class="src-var">$details </span>= <a href="http://www.php.net/openssl_pkey_get_details">openssl_pkey_get_details</a><span class="src-sym">(</span><span class="src-var">$dh</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a91"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$details</span><span class="src-sym">[</span><span class="src-str">'dh'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a92"></a> <span class="src-key">return </span><span class="src-var">$details</span><span class="src-sym">[</span><span class="src-str">'dh'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a93"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a94"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a95"></a> <span class="src-key">return </span><span class="src-var">$dh</span><span class="src-sym">[</span><span class="src-str">'details'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a96"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a97"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a98"></a> </div></li> |
<li><div class="src-line"><a name="a99"></a> </div></li> |
<li><div class="src-line"><a name="a100"></a> </div></li> |
<li><div class="src-line"><a name="a101"></a><span class="src-comm">// Depuis OpenId.php, les fonctions de Diffie-Hellman</span></div></li> |
<li><div class="src-line"><a name="a102"></a> <span class="src-comm">// TODO : voir si ça peut être externaliser pour être réutilisé ? => dans utilitaires</span></div></li> |
<li><div class="src-line"><a name="a103"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a104"></a><span class="src-doc"> * Computes the shared secret from the private DH value $dh and the other</span></div></li> |
<li><div class="src-line"><a name="a105"></a><span class="src-doc"> * party's public value in $pub_key</span></div></li> |
<li><div class="src-line"><a name="a106"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a107"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$pub_key </span><span class="src-doc">other party's public value</span></div></li> |
<li><div class="src-line"><a name="a108"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$dh </span><span class="src-doc">Diffie-Hellman key</span></div></li> |
<li><div class="src-line"><a name="a109"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span></div></li> |
<li><div class="src-line"><a name="a110"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@throws</span><span class="src-doc"> Zend_OpenId_Exception</span></div></li> |
<li><div class="src-line"><a name="a111"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a112"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/DiffieHellmanUtil.html#methodcomputeDhSecret">computeDhSecret</a><span class="src-sym">(</span><span class="src-var">$pub_key</span><span class="src-sym">, </span><span class="src-var">$dh</span><span class="src-sym">)</span></div></li> |
<li><div class="src-line"><a name="a113"></a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a114"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/function_exists">function_exists</a><span class="src-sym">(</span><span class="src-str">'openssl_dh_compute_key'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a115"></a> <span class="src-var">$ret </span>= <span class="src-id">openssl_dh_compute_key</span><span class="src-sym">(</span><span class="src-var">$pub_key</span><span class="src-sym">, </span><span class="src-var">$dh</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a116"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/ord">ord</a><span class="src-sym">(</span><span class="src-var">$ret</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">) </span>> <span class="src-num">127</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a117"></a> <span class="src-var">$ret </span>= <span class="src-str">"\0" </span>. <span class="src-var">$ret</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a118"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a119"></a> <span class="src-key">return </span><span class="src-var">$ret</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a120"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/extension_loaded">extension_loaded</a><span class="src-sym">(</span><span class="src-str">'gmp'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a121"></a> <span class="src-var">$bn_pub_key </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">binToBigNum</span><span class="src-sym">(</span><span class="src-var">$pub_key</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a122"></a> <span class="src-var">$bn_secret </span>= <span class="src-id">gmp_powm</span><span class="src-sym">(</span><span class="src-var">$bn_pub_key</span><span class="src-sym">, </span><span class="src-var">$dh</span><span class="src-sym">[</span><span class="src-str">'priv_key'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$dh</span><span class="src-sym">[</span><span class="src-str">'p'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a123"></a> <span class="src-key">return </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">bigNumToBin</span><span class="src-sym">(</span><span class="src-var">$bn_secret</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a124"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/extension_loaded">extension_loaded</a><span class="src-sym">(</span><span class="src-str">'bcmath'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a125"></a> <span class="src-var">$bn_pub_key </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">binToBigNum</span><span class="src-sym">(</span><span class="src-var">$pub_key</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a126"></a> <span class="src-var">$bn_secret </span>= <a href="http://www.php.net/bcpowmod">bcpowmod</a><span class="src-sym">(</span><span class="src-var">$bn_pub_key</span><span class="src-sym">, </span><span class="src-var">$dh</span><span class="src-sym">[</span><span class="src-str">'priv_key'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$dh</span><span class="src-sym">[</span><span class="src-str">'p'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a127"></a> <span class="src-key">return </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">bigNumToBin</span><span class="src-sym">(</span><span class="src-var">$bn_secret</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a128"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a129"></a> <span class="src-comm">/*require_once "Zend/OpenId/Exception.php";</span></div></li> |
<li><div class="src-line"><a name="a130"></a><span class="src-comm"> throw new Zend_OpenId_Exception(</span></div></li> |
<li><div class="src-line"><a name="a131"></a><span class="src-comm"> 'The system doesn\'t have proper big integer extension',</span></div></li> |
<li><div class="src-line"><a name="a132"></a><span class="src-comm"> Zend_OpenId_Exception::UNSUPPORTED_LONG_MATH);*/</span></div></li> |
<li><div class="src-line"><a name="a133"></a> </div></li> |
<li><div class="src-line"><a name="a134"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">'Le système ne gère pas les nombre de taille arbitraire'</span><span class="src-sym">, </span><span class="src-id">E_STRICT</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a135"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a136"></a> </div></li> |
<li><div class="src-line"><a name="a137"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a138"></a><span class="src-doc"> * Takes an arbitrary precision integer and returns its shortest big-endian</span></div></li> |
<li><div class="src-line"><a name="a139"></a><span class="src-doc"> * two's complement representation.</span></div></li> |
<li><div class="src-line"><a name="a140"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a141"></a><span class="src-doc"> * Arbitrary precision integers MUST be encoded as big-endian signed two's</span></div></li> |
<li><div class="src-line"><a name="a142"></a><span class="src-doc"> * complement binary strings. Henceforth, "btwoc" is a function that takes</span></div></li> |
<li><div class="src-line"><a name="a143"></a><span class="src-doc"> * an arbitrary precision integer and returns its shortest big-endian two's</span></div></li> |
<li><div class="src-line"><a name="a144"></a><span class="src-doc"> * complement representation. All integers that are used with</span></div></li> |
<li><div class="src-line"><a name="a145"></a><span class="src-doc"> * Diffie-Hellman Key Exchange are positive. This means that the left-most</span></div></li> |
<li><div class="src-line"><a name="a146"></a><span class="src-doc"> * bit of the two's complement representation MUST be zero. If it is not,</span></div></li> |
<li><div class="src-line"><a name="a147"></a><span class="src-doc"> * implementations MUST add a zero byte at the front of the string.</span></div></li> |
<li><div class="src-line"><a name="a148"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a149"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$str </span><span class="src-doc">binary representation of arbitrary precision integer</span></div></li> |
<li><div class="src-line"><a name="a150"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">big-endian signed representation</span></div></li> |
<li><div class="src-line"><a name="a151"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a152"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/DiffieHellmanUtil.html#methodbtwoc">btwoc</a><span class="src-sym">(</span><span class="src-var">$str</span><span class="src-sym">)</span></div></li> |
<li><div class="src-line"><a name="a153"></a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a154"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/ord">ord</a><span class="src-sym">(</span><span class="src-var">$str</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">) </span>> <span class="src-num">127</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a155"></a> <span class="src-key">return </span><span class="src-str">"\0" </span>. <span class="src-var">$str</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a156"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a157"></a> <span class="src-key">return </span><span class="src-var">$str</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a158"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a159"></a> </div></li> |
<li><div class="src-line"><a name="a160"></a> </div></li> |
<li><div class="src-line"><a name="a161"></a> </div></li> |
<li><div class="src-line"><a name="a162"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a163"></a><span class="src-doc"> * Produces string of random byte of given length.</span></div></li> |
<li><div class="src-line"><a name="a164"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a165"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">integer </span><span class="src-doc-var">$len </span><span class="src-doc">length of requested string</span></div></li> |
<li><div class="src-line"><a name="a166"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">RAW random binary string</span></div></li> |
<li><div class="src-line"><a name="a167"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a168"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/DiffieHellmanUtil.html#methodrandomBytes">randomBytes</a><span class="src-sym">(</span><span class="src-var">$len</span><span class="src-sym">)</span></div></li> |
<li><div class="src-line"><a name="a169"></a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a170"></a> <span class="src-var">$key </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a171"></a> <span class="src-key">for</span><span class="src-sym">(</span><span class="src-var">$i</span>=<span class="src-num">0</span><span class="src-sym">; </span><span class="src-var">$i </span>< <span class="src-var">$len</span><span class="src-sym">; </span><span class="src-var">$i</span>++<span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a172"></a> <span class="src-var">$key </span>.= <a href="http://www.php.net/chr">chr</a><span class="src-sym">(</span><a href="http://www.php.net/mt_rand">mt_rand</a><span class="src-sym">(</span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-num">255</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a173"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a174"></a> <span class="src-key">return </span><span class="src-var">$key</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a175"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a176"></a> </div></li> |
<li><div class="src-line"><a name="a177"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a178"></a><span class="src-doc"> * Returns lenght of binary string in bytes</span></div></li> |
<li><div class="src-line"><a name="a179"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a180"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$str </span></div></li> |
<li><div class="src-line"><a name="a181"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">int </span><span class="src-doc">the string lenght</span></div></li> |
<li><div class="src-line"><a name="a182"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a183"></a> <span class="src-key">static </span><span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/DiffieHellmanUtil.html#methodstrlen">strlen</a><span class="src-sym">(</span><span class="src-var">$str</span><span class="src-sym">)</span></div></li> |
<li><div class="src-line"><a name="a184"></a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a185"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/extension_loaded">extension_loaded</a><span class="src-sym">(</span><span class="src-str">'mbstring'</span><span class="src-sym">) </span>&&</div></li> |
<li><div class="src-line"><a name="a186"></a> <span class="src-sym">((</span>(int)<a href="http://www.php.net/ini_get">ini_get</a><span class="src-sym">(</span><span class="src-str">'mbstring.func_overload'</span><span class="src-sym">)) </span><span class="src-sym">& </span><span class="src-num">2</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a187"></a> <span class="src-key">return </span><a href="http://www.php.net/mb_strlen">mb_strlen</a><span class="src-sym">(</span><span class="src-var">$str</span><span class="src-sym">, </span><span class="src-str">'latin1'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a188"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a189"></a> <span class="src-key">return </span><a href="../Framework/DiffieHellmanUtil.html#methodstrlen">strlen</a><span class="src-sym">(</span><span class="src-var">$str</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a190"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a191"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a192"></a> </div></li> |
<li><div class="src-line"><a name="a193"></a> </div></li> |
<li><div class="src-line"><a name="a194"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a195"></a><span class="src-doc"> * Converts binary representation into ext/gmp or ext/bcmath big integer</span></div></li> |
<li><div class="src-line"><a name="a196"></a><span class="src-doc"> * representation.</span></div></li> |
<li><div class="src-line"><a name="a197"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a198"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$bin </span><span class="src-doc">binary representation of big number</span></div></li> |
<li><div class="src-line"><a name="a199"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">mixed </span></div></li> |
<li><div class="src-line"><a name="a200"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@throws</span><span class="src-doc"> Zend_OpenId_Exception</span></div></li> |
<li><div class="src-line"><a name="a201"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a202"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Framework/DiffieHellmanUtil.html#methodbinToBigNum">binToBigNum</a><span class="src-sym">(</span><span class="src-var">$bin</span><span class="src-sym">)</span></div></li> |
<li><div class="src-line"><a name="a203"></a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a204"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/extension_loaded">extension_loaded</a><span class="src-sym">(</span><span class="src-str">'gmp'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a205"></a> <span class="src-key">return </span><span class="src-id">gmp_init</span><span class="src-sym">(</span><a href="http://www.php.net/bin2hex">bin2hex</a><span class="src-sym">(</span><span class="src-var">$bin</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-num">16</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a206"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/extension_loaded">extension_loaded</a><span class="src-sym">(</span><span class="src-str">'bcmath'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a207"></a> <span class="src-var">$bn </span>= <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a208"></a> <span class="src-var">$len </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">strlen</span><span class="src-sym">(</span><span class="src-var">$bin</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a209"></a> <span class="src-key">for </span><span class="src-sym">(</span><span class="src-var">$i </span>= <span class="src-num">0</span><span class="src-sym">; </span><span class="src-var">$i </span>< <span class="src-var">$len</span><span class="src-sym">; </span><span class="src-var">$i</span>++<span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a210"></a> <span class="src-var">$bn </span>= <a href="http://www.php.net/bcmul">bcmul</a><span class="src-sym">(</span><span class="src-var">$bn</span><span class="src-sym">, </span><span class="src-num">256</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a211"></a> <span class="src-var">$bn </span>= <a href="http://www.php.net/bcadd">bcadd</a><span class="src-sym">(</span><span class="src-var">$bn</span><span class="src-sym">, </span><a href="http://www.php.net/ord">ord</a><span class="src-sym">(</span><span class="src-var">$bin</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">]</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a212"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a213"></a> <span class="src-key">return </span><span class="src-var">$bn</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a214"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a215"></a> <span class="src-comm">/*require_once "Zend/OpenId/Exception.php";</span></div></li> |
<li><div class="src-line"><a name="a216"></a><span class="src-comm"> throw new Zend_OpenId_Exception(</span></div></li> |
<li><div class="src-line"><a name="a217"></a><span class="src-comm"> 'The system doesn\'t have proper big integer extension',</span></div></li> |
<li><div class="src-line"><a name="a218"></a><span class="src-comm"> Zend_OpenId_Exception::UNSUPPORTED_LONG_MATH);*/</span></div></li> |
<li><div class="src-line"><a name="a219"></a> </div></li> |
<li><div class="src-line"><a name="a220"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">'Le système ne gère pas les nombre de taille arbitraire'</span><span class="src-sym">, </span><span class="src-id">E_STRICT</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a221"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a222"></a> </div></li> |
<li><div class="src-line"><a name="a223"></a><span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a224"></a><span class="src-php">?></span></div></li> |
</ol></div> |
</div> |
<p class="notes" id="credit"> |
Documentation generated on Tue, 18 Jan 2011 15:01:31 +0100 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.3</a> |
</p> |
</body> |
</html> |
/trunk/doc/HTMLframesConverter/__filesource/fsource_Framework__Config.php.html |
---|
17,273 → 17,285 |
<li><div class="src-line"><a name="a4"></a><span class="src-doc"> * Config permet de charger automatiquement les fichiers ini du Framework et de l'application.</span></div></li> |
<li><div class="src-line"><a name="a5"></a><span class="src-doc"> * Elle offre l'accès en lecture seule aux paramètres de config.</span></div></li> |
<li><div class="src-line"><a name="a6"></a><span class="src-doc"> * C'est une Singleton.</span></div></li> |
<li><div class="src-line"><a name="a7"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a8"></a><span class="src-doc"> * PHP Version 5</span></div></li> |
<li><div class="src-line"><a name="a9"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a10"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@category</span><span class="src-doc"> PHP</span></div></li> |
<li><div class="src-line"><a name="a11"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@package</span><span class="src-doc"> Framework</span></div></li> |
<li><div class="src-line"><a name="a12"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@author</span><span class="src-doc"> Jean-Pascal MILCENT <jpm@tela-botanica.org></span></div></li> |
<li><div class="src-line"><a name="a13"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@copyright</span><span class="src-doc"> 2009 Tela-Botanica</span></div></li> |
<li><div class="src-line"><a name="a14"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> GPL-v3 et CECILL-v2</span></div></li> |
<li><div class="src-line"><a name="a15"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@version</span><span class="src-doc"> SVN: <svn_id></span></div></li> |
<li><div class="src-line"><a name="a16"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@link</span><span class="src-doc"> /doc/framework/</span></div></li> |
<li><div class="src-line"><a name="a7"></a><span class="src-doc"> * Si vous avez besoin de modifier dynamiquement des paramètres de configuration, utiliser le @see Registe, il est fait pour ça.</span></div></li> |
<li><div class="src-line"><a name="a8"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a9"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@category</span><span class="src-doc"> PHP 5.2</span></div></li> |
<li><div class="src-line"><a name="a10"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@package</span><span class="src-doc"> Framework</span></div></li> |
<li><div class="src-line"><a name="a11"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@author</span><span class="src-doc"> Jean-Pascal MILCENT <jpm@tela-botanica.org></span></div></li> |
<li><div class="src-line"><a name="a12"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@copyright</span><span class="src-doc"> Copyright (c) 2009, Tela Botanica (accueil@tela-botanica.org)</span></div></li> |
<li><div class="src-line"><a name="a13"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.gnu.org/licenses/gpl.html Licence GNU-GPL-v3</span></div></li> |
<li><div class="src-line"><a name="a14"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL-v2</span></div></li> |
<li><div class="src-line"><a name="a15"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@version</span><span class="src-doc"> $Id: Config.php 274 2010-12-28 15:37:22Z jpm $</span></div></li> |
<li><div class="src-line"><a name="a16"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@link</span><span class="src-doc"> /doc/framework/</span></div></li> |
<li><div class="src-line"><a name="a17"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a18"></a> </div></li> |
<li><div class="src-line"><a name="a19"></a><span class="src-key">class </span><a href="../Framework/Config.html">Config</a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a20"></a> </div></li> |
<li><div class="src-line"><a name="a21"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a22"></a><span class="src-doc"> * instance de la classe pointant sur elle même (pour le pattern singleton)</span></div></li> |
<li><div class="src-line"><a name="a23"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a24"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$instance </span>= <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a25"></a> </div></li> |
<li><div class="src-line"><a name="a26"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a27"></a><span class="src-doc"> * paramètres de configuration</span></div></li> |
<li><div class="src-line"><a name="a28"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a29"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$parametres </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a30"></a> </div></li> |
<li><div class="src-line"><a name="a31"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a32"></a><span class="src-doc"> * Constructeur vide</span></div></li> |
<li><div class="src-line"><a name="a33"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a34"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">__construct</span><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a35"></a> <span class="src-comm">// Définition de paramètres avant chargement du config.ini</span></div></li> |
<li><div class="src-line"><a name="a36"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$parametres </span>= <span class="src-key">array</span><span class="src-sym">(</span></div></li> |
<li><div class="src-line"><a name="a37"></a> <span class="src-str">'fw_fichier_config' </span>=> <span class="src-str">'config%s.ini'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a38"></a> <span class="src-str">'fw_chemin' </span>=> <span class="src-id">dirname</span><span class="src-sym">(</span>__FILE__<span class="src-sym">)</span>.<span class="src-id"><a href="../Framework/_autoload.inc.php.html#defineDS">DS</a></span></div></li> |
<li><div class="src-line"><a name="a39"></a> <span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a40"></a> </div></li> |
<li><div class="src-line"><a name="a41"></a> <span class="src-comm">// Chargement du fichier config.ini du Framework</span></div></li> |
<li><div class="src-line"><a name="a42"></a> <span class="src-var">$existe </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">parserFichierIni</span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$parametres</span><span class="src-sym">[</span><span class="src-str">'fw_chemin'</span><span class="src-sym">]</span>.<span class="src-id">sprintf</span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$parametres</span><span class="src-sym">[</span><span class="src-str">'fw_fichier_config'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a43"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$existe </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a44"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">"Veuillez configurer le Framework en renommant le fichier config.defaut.ini en config.ini."</span><span class="src-sym">, </span><span class="src-id">E_USER_ERROR</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a45"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a46"></a> </div></li> |
<li><div class="src-line"><a name="a47"></a> <span class="src-comm">// Chargement du fichier config.ini par défaut de l'application</span></div></li> |
<li><div class="src-line"><a name="a48"></a> <span class="src-var">$chemin_config_defaut_appli </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$parametres</span><span class="src-sym">[</span><span class="src-str">'chemin_configurations'</span><span class="src-sym">]</span>.<span class="src-id">sprintf</span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$parametres</span><span class="src-sym">[</span><span class="src-str">'fw_fichier_config'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a49"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">parserFichierIni</span><span class="src-sym">(</span><span class="src-var">$chemin_config_defaut_appli</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a50"></a> </div></li> |
<li><div class="src-line"><a name="a51"></a> <span class="src-comm">// Chargement des fichiers config.ini contextuels</span></div></li> |
<li><div class="src-line"><a name="a52"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">PHP_SAPI </span>== <span class="src-str">'cli'</span><span class="src-sym">) </span><span class="src-sym">{</span><span class="src-comm">// mode console</span></div></li> |
<li><div class="src-line"><a name="a53"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'argv'</span><span class="src-sym">] </span><span class="src-key">as </span><span class="src-var">$cle </span>=> <span class="src-var">$valeur</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a54"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$valeur </span>== <span class="src-str">'-contexte'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a55"></a> <span class="src-id">chargerFichierContexte</span><span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'argv'</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-sym">(</span><span class="src-var">$cle</span>+<span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a56"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a57"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a58"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a59"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span><span class="src-comm">// mode web</span></div></li> |
<li><div class="src-line"><a name="a60"></a> <span class="src-comm">// Pour Papyrus</span></div></li> |
<li><div class="src-line"><a name="a61"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/defined">defined</a><span class="src-sym">(</span><span class="src-str">'PAP_VERSION'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a62"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">chargerFichierContexte</span><span class="src-sym">(</span><span class="src-str">'papyrus'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a63"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a64"></a> <span class="src-comm">// Via le fichie .ini par défaut de l'appli</span></div></li> |
<li><div class="src-line"><a name="a65"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><span class="src-id">existeValeur</span><span class="src-sym">(</span><span class="src-str">'info.contexte'</span><span class="src-sym">, </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$parametres</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a66"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">chargerFichierContexte</span><span class="src-sym">(</span><span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'info.contexte'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a67"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a68"></a> </div></li> |
<li><div class="src-line"><a name="a69"></a> <span class="src-comm">// Chargement du contexte présent dans le GET</span></div></li> |
<li><div class="src-line"><a name="a70"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$_GET</span><span class="src-sym">[</span><span class="src-str">'contexte'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a71"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">chargerFichierContexte</span><span class="src-sym">(</span><span class="src-var">$_GET</span><span class="src-sym">[</span><span class="src-str">'contexte'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a21"></a> <span class="src-doc">/** Instance de la classe pointant sur elle même (pour le pattern singleton). */</span></div></li> |
<li><div class="src-line"><a name="a22"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$instance </span>= <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a23"></a> </div></li> |
<li><div class="src-line"><a name="a24"></a> <span class="src-doc">/** Paramètres de configuration. */</span></div></li> |
<li><div class="src-line"><a name="a25"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$parametres </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a26"></a> </div></li> |
<li><div class="src-line"><a name="a27"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">__construct</span><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a28"></a> <span class="src-comm">// Définition de paramètres avant chargement du config.ini</span></div></li> |
<li><div class="src-line"><a name="a29"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$parametres </span>= <span class="src-key">array</span><span class="src-sym">(</span></div></li> |
<li><div class="src-line"><a name="a30"></a> <span class="src-str">'fichier_config' </span>=> <span class="src-str">'config%s.ini'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a31"></a> <span class="src-str">'chemin_framework' </span>=> <span class="src-id">dirname</span><span class="src-sym">(</span>__FILE__<span class="src-sym">)</span>.<span class="src-id">DS</span></div></li> |
<li><div class="src-line"><a name="a32"></a> <span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a33"></a> </div></li> |
<li><div class="src-line"><a name="a34"></a> <span class="src-comm">// Chargement du fichier config.ini du Framework</span></div></li> |
<li><div class="src-line"><a name="a35"></a> <span class="src-var">$existe </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">parserFichierIni</span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$parametres</span><span class="src-sym">[</span><span class="src-str">'chemin_framework'</span><span class="src-sym">]</span>.<span class="src-id">sprintf</span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$parametres</span><span class="src-sym">[</span><span class="src-str">'fichier_config'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a36"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$existe </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a37"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">"Veuillez configurer le Framework en renommant le fichier config.defaut.ini en config.ini."</span><span class="src-sym">, </span><span class="src-id">E_USER_ERROR</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a38"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a39"></a> </div></li> |
<li><div class="src-line"><a name="a40"></a> <span class="src-comm">// Chargement du fichier config.ini par défaut de l'application</span></div></li> |
<li><div class="src-line"><a name="a41"></a> <span class="src-var">$chemin_config_defaut_appli </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$parametres</span><span class="src-sym">[</span><span class="src-str">'chemin_configurations'</span><span class="src-sym">]</span>.<span class="src-id">sprintf</span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$parametres</span><span class="src-sym">[</span><span class="src-str">'fichier_config'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a42"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">parserFichierIni</span><span class="src-sym">(</span><span class="src-var">$chemin_config_defaut_appli</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a43"></a> </div></li> |
<li><div class="src-line"><a name="a44"></a> <span class="src-comm">// Chargement des fichiers config.ini contextuels</span></div></li> |
<li><div class="src-line"><a name="a45"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">PHP_SAPI </span>== <span class="src-str">'cli'</span><span class="src-sym">) </span><span class="src-sym">{</span><span class="src-comm">// mode console</span></div></li> |
<li><div class="src-line"><a name="a46"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'argv'</span><span class="src-sym">] </span><span class="src-key">as </span><span class="src-var">$cle </span>=> <span class="src-var">$valeur</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a47"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$valeur </span>== <span class="src-str">'-contexte'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a48"></a> <span class="src-id">chargerFichierContexte</span><span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'argv'</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-sym">(</span><span class="src-var">$cle</span>+<span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a49"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a50"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a51"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a52"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span><span class="src-comm">// mode web</span></div></li> |
<li><div class="src-line"><a name="a53"></a> <span class="src-comm">// Pour Papyrus</span></div></li> |
<li><div class="src-line"><a name="a54"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/defined">defined</a><span class="src-sym">(</span><span class="src-str">'PAP_VERSION'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a55"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">chargerFichierContexte</span><span class="src-sym">(</span><span class="src-str">'papyrus'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a56"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a57"></a> <span class="src-comm">// Via le fichie .ini par défaut de l'appli</span></div></li> |
<li><div class="src-line"><a name="a58"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><span class="src-id">existeValeur</span><span class="src-sym">(</span><span class="src-str">'info.contexte'</span><span class="src-sym">, </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$parametres</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a59"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">chargerFichierContexte</span><span class="src-sym">(</span><span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'info.contexte'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a60"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a61"></a> </div></li> |
<li><div class="src-line"><a name="a62"></a> <span class="src-comm">// Chargement du contexte présent dans le GET</span></div></li> |
<li><div class="src-line"><a name="a63"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$_GET</span><span class="src-sym">[</span><span class="src-str">'contexte'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a64"></a> <span class="src-var">$_GET</span><span class="src-sym">[</span><span class="src-str">'contexte'</span><span class="src-sym">] </span>= <a href="http://www.php.net/strip_tags">strip_tags</a><span class="src-sym">(</span><span class="src-var">$_GET</span><span class="src-sym">[</span><span class="src-str">'contexte'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a65"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">chargerFichierContexte</span><span class="src-sym">(</span><span class="src-var">$_GET</span><span class="src-sym">[</span><span class="src-str">'contexte'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a66"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a67"></a> </div></li> |
<li><div class="src-line"><a name="a68"></a> <span class="src-comm">// Chargement du contexte présent dans le POST</span></div></li> |
<li><div class="src-line"><a name="a69"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$_POST</span><span class="src-sym">[</span><span class="src-str">'contexte'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a70"></a> <span class="src-var">$_POST</span><span class="src-sym">[</span><span class="src-str">'contexte'</span><span class="src-sym">] </span>= <a href="http://www.php.net/strip_tags">strip_tags</a><span class="src-sym">(</span><span class="src-var">$_POST</span><span class="src-sym">[</span><span class="src-str">'contexte'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a71"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">chargerFichierContexte</span><span class="src-sym">(</span><span class="src-var">$_POST</span><span class="src-sym">[</span><span class="src-str">'contexte'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a72"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a73"></a> </div></li> |
<li><div class="src-line"><a name="a74"></a> <span class="src-comm">// Chargement du contexte présent dans le POST</span></div></li> |
<li><div class="src-line"><a name="a75"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$_POST</span><span class="src-sym">[</span><span class="src-str">'contexte'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a76"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">chargerFichierContexte</span><span class="src-sym">(</span><span class="src-var">$_POST</span><span class="src-sym">[</span><span class="src-str">'contexte'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a77"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a78"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a79"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a80"></a> </div></li> |
<li><div class="src-line"><a name="a81"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a82"></a><span class="src-doc"> * Charge le fichier de config correspondant au contexte</span></div></li> |
<li><div class="src-line"><a name="a83"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$contexte </span><span class="src-doc">le contexte</span></div></li> |
<li><div class="src-line"><a name="a84"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a85"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">chargerFichierContexte</span><span class="src-sym">(</span><span class="src-var">$contexte</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a86"></a> <span class="src-var">$chemin_config_appli_contextuel </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$parametres</span><span class="src-sym">[</span><span class="src-str">'chemin_configurations'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a87"></a> <span class="src-var">$chemin_config_appli_contextuel </span>.= <span class="src-id">sprintf</span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$parametres</span><span class="src-sym">[</span><span class="src-str">'fw_fichier_config'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-str">'_'</span>.<span class="src-var">$contexte</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a88"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">parserFichierIni</span><span class="src-sym">(</span><span class="src-var">$chemin_config_appli_contextuel</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a89"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a90"></a> </div></li> |
<li><div class="src-line"><a name="a91"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a92"></a><span class="src-doc"> * Parse le fichier ini donné en paramètre</span></div></li> |
<li><div class="src-line"><a name="a93"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$fichier_ini </span><span class="src-doc">nom du fichier ini à parser</span></div></li> |
<li><div class="src-line"><a name="a94"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc">tableau contenant les paramètres du fichier ini</span></div></li> |
<li><div class="src-line"><a name="a95"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a96"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">parserFichierIni</span><span class="src-sym">(</span><span class="src-var">$fichier_ini</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a97"></a> <span class="src-var">$retour </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a98"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/file_exists">file_exists</a><span class="src-sym">(</span><span class="src-var">$fichier_ini</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a99"></a> <span class="src-var">$ini </span>= <a href="http://www.php.net/parse_ini_file">parse_ini_file</a><span class="src-sym">(</span><span class="src-var">$fichier_ini</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a100"></a> <span class="src-var">$ini </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">analyserTableauIni</span><span class="src-sym">(</span><span class="src-var">$ini</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a101"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">fusionner</span><span class="src-sym">(</span><span class="src-var">$ini</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a102"></a> <span class="src-var">$retour </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a103"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a104"></a> <span class="src-key">return </span><span class="src-var">$retour</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a105"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a106"></a> </div></li> |
<li><div class="src-line"><a name="a107"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a108"></a><span class="src-doc"> * fusionne un tableau de paramètres avec le tableau de paramètres global</span></div></li> |
<li><div class="src-line"><a name="a109"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$ini </span><span class="src-doc">le tableau à fusionner</span></div></li> |
<li><div class="src-line"><a name="a110"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a111"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">fusionner</span><span class="src-sym">(</span><span class="src-key">array </span><span class="src-var">$ini</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a112"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$parametres </span>= <span class="src-id">array_merge</span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$parametres</span><span class="src-sym">, </span><span class="src-var">$ini</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a113"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a114"></a> </div></li> |
<li><div class="src-line"><a name="a115"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a116"></a><span class="src-doc"> * renvoie la valeur demandé grâce une chaine de paramètres</span></div></li> |
<li><div class="src-line"><a name="a117"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$param </span><span class="src-doc">la chaine de paramètres</span></div></li> |
<li><div class="src-line"><a name="a118"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$config </span><span class="src-doc">le tableau de paramètre</span></div></li> |
<li><div class="src-line"><a name="a119"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">la valeur de la chaine demandée</span></div></li> |
<li><div class="src-line"><a name="a120"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a121"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">getValeur</span><span class="src-sym">(</span><span class="src-var">$param</span><span class="src-sym">, </span><span class="src-var">$config</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a122"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$param </span>=== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a123"></a> <span class="src-key">return </span><span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a124"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a125"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$param</span><span class="src-sym">, </span><span class="src-str">'.'</span><span class="src-sym">) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a126"></a> <span class="src-var">$pieces </span>= <a href="http://www.php.net/explode">explode</a><span class="src-sym">(</span><span class="src-str">'.'</span><span class="src-sym">, </span><span class="src-var">$param</span><span class="src-sym">, </span><span class="src-num">2</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a127"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">) </span>&& <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a128"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$config</span><span class="src-sym">[</span><span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a129"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$config</span><span class="src-sym">[</span><span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a130"></a> <span class="src-key">return </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">getValeur</span><span class="src-sym">(</span><span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$config</span><span class="src-sym">[</span><span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a131"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a132"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a133"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a134"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a135"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$config</span><span class="src-sym">[</span><span class="src-var">$param</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a136"></a> <span class="src-key">return </span><span class="src-var">$config</span><span class="src-sym">[</span><span class="src-var">$param</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a137"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a138"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a139"></a> <span class="src-key">return </span><span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a140"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a141"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a142"></a> </div></li> |
<li><div class="src-line"><a name="a143"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a144"></a><span class="src-doc"> * Teste si param existe dans le tableau config</span></div></li> |
<li><div class="src-line"><a name="a145"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$param </span><span class="src-doc">nom du paramètre</span></div></li> |
<li><div class="src-line"><a name="a146"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc">tableau de configuration</span></div></li> |
<li><div class="src-line"><a name="a147"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a148"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">existeValeur</span><span class="src-sym">(</span><span class="src-var">$param</span><span class="src-sym">, </span><span class="src-var">$config</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a149"></a> <span class="src-var">$retour </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a150"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">getValeur</span><span class="src-sym">(</span><span class="src-var">$param</span><span class="src-sym">, </span><span class="src-var">$config</span><span class="src-sym">) </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a151"></a> <span class="src-var">$retour </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a152"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a153"></a> <span class="src-key">return </span><span class="src-var">$retour</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a154"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a155"></a> </div></li> |
<li><div class="src-line"><a name="a156"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a157"></a><span class="src-doc"> * Vérifie si l'instance de classe à été crée, si non la crée</span></div></li> |
<li><div class="src-line"><a name="a158"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a159"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">verifierCreationInstance</span><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a160"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$instance</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a161"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$instance </span>= <span class="src-key">new </span><span class="src-id">Config</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a162"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a163"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a164"></a> </div></li> |
<li><div class="src-line"><a name="a165"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a166"></a><span class="src-doc"> * analyse un tableau de paramètres</span></div></li> |
<li><div class="src-line"><a name="a167"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$config </span><span class="src-doc">le tableau de paramètres</span></div></li> |
<li><div class="src-line"><a name="a168"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc">le tableau analysé</span></div></li> |
<li><div class="src-line"><a name="a169"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a170"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">analyserTableauIni</span><span class="src-sym">(</span><span class="src-var">$config </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a171"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$config </span><span class="src-key">as </span><span class="src-var">$cle </span>=> <span class="src-var">$valeur</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a172"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$valeur</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a173"></a> <span class="src-var">$config</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">] </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">analyserTableauIni</span><span class="src-sym">(</span><span class="src-var">$valeur</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a174"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a175"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">evaluerReferences</span><span class="src-sym">(</span><span class="src-var">$config</span><span class="src-sym">, </span><span class="src-var">$cle</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a176"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">evaluerPhp</span><span class="src-sym">(</span><span class="src-var">$config</span><span class="src-sym">, </span><span class="src-var">$cle</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a177"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">evaluerCle</span><span class="src-sym">(</span><span class="src-var">$config</span><span class="src-sym">, </span><span class="src-var">$cle</span><span class="src-sym">, </span><span class="src-var">$config</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a178"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a179"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a180"></a> <span class="src-key">return </span><span class="src-var">$config</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a181"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a182"></a> </div></li> |
<li><div class="src-line"><a name="a183"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a184"></a><span class="src-doc"> * dans le cas des chaine de configuration à sous clé (ex.: cle.souscle)</span></div></li> |
<li><div class="src-line"><a name="a185"></a><span class="src-doc"> * evalue les valeurs correspondantes et crée les sous tableaux associés</span></div></li> |
<li><div class="src-line"><a name="a186"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$config </span><span class="src-doc">tableau de configuration (par référence)</span></div></li> |
<li><div class="src-line"><a name="a187"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$cle </span><span class="src-doc">la cle dans le tableau</span></div></li> |
<li><div class="src-line"><a name="a188"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$valeur </span><span class="src-doc">la valeur à affecter</span></div></li> |
<li><div class="src-line"><a name="a189"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a190"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">evaluerCle</span><span class="src-sym">(</span><span class="src-sym">&</span><span class="src-var">$config</span><span class="src-sym">, </span><span class="src-var">$cle</span><span class="src-sym">, </span><span class="src-var">$valeur</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a191"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$cle</span><span class="src-sym">, </span><span class="src-str">'.'</span><span class="src-sym">) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a192"></a> unset<span class="src-sym">(</span><span class="src-var">$config</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a193"></a> <span class="src-var">$pieces </span>= <a href="http://www.php.net/explode">explode</a><span class="src-sym">(</span><span class="src-str">'.'</span><span class="src-sym">, </span><span class="src-var">$cle</span><span class="src-sym">, </span><span class="src-num">2</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a194"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">) </span>&& <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a195"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span>isset<span class="src-sym">(</span><span class="src-var">$config</span><span class="src-sym">[</span><span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a196"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>=== <span class="src-str">'0' </span>&& <span class="src-sym">!</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$config</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a197"></a> <span class="src-comm">// convert the current values in $config into an array</span></div></li> |
<li><div class="src-line"><a name="a198"></a> <span class="src-var">$config </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>=> <span class="src-var">$config</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a199"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a200"></a> <span class="src-var">$config</span><span class="src-sym">[</span><span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a201"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a202"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$config</span><span class="src-sym">[</span><span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a203"></a> throw <span class="src-key">new </span><span class="src-id">ErrorException</span><span class="src-sym">(</span><span class="src-str">"</span><span class="src-str">Ne peut pas créer de sous-clé pour '{<span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">}</span>' car la clé existe déjà</span><span class="src-str">"</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a204"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a205"></a> <span class="src-var">$config</span><span class="src-sym">[</span><span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]] </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">evaluerCle</span><span class="src-sym">(</span><span class="src-var">$config</span><span class="src-sym">[</span><span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]]</span><span class="src-sym">, </span><span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$valeur</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a206"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a207"></a> throw <span class="src-key">new </span><span class="src-id">ErrorException</span><span class="src-sym">(</span><span class="src-str">"</span><span class="src-str">Clé invalide '<span class="src-var">$cle</span>'</span><span class="src-str">"</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a208"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a209"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a210"></a> <span class="src-var">$config</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">] </span>= <span class="src-var">$valeur</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a211"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a212"></a> <span class="src-key">return </span><span class="src-var">$config</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a213"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a214"></a> </div></li> |
<li><div class="src-line"><a name="a215"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a216"></a><span class="src-doc"> * Evalue les valeurs de références à une clé dans le tableau config (cas du ref:cle)</span></div></li> |
<li><div class="src-line"><a name="a217"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$config </span><span class="src-doc">tableau de configuration</span></div></li> |
<li><div class="src-line"><a name="a218"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$cle </span><span class="src-doc">la clé dont il faut évaluer les références</span></div></li> |
<li><div class="src-line"><a name="a219"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a220"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">evaluerReferences</span><span class="src-sym">(</span><span class="src-sym">&</span><span class="src-var">$config</span><span class="src-sym">, </span><span class="src-var">$cle</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a221"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/preg_match_all">preg_match_all</a><span class="src-sym">(</span><span class="src-str">'/{ref:([A-Za-z0-9_-]+)}/'</span><span class="src-sym">, </span><span class="src-var">$config</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$correspondances</span><span class="src-sym">, </span><span class="src-id">PREG_SET_ORDER</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a222"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$correspondances </span><span class="src-key">as </span><span class="src-var">$ref</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a223"></a> <span class="src-var">$config</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">] </span>= <a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-var">$ref</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">getValeur</span><span class="src-sym">(</span><span class="src-var">$ref</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$config</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$config</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a224"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a225"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a226"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a227"></a> </div></li> |
<li><div class="src-line"><a name="a228"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a229"></a><span class="src-doc"> * Evalue le code php contenu dans un clé tu tableau config</span></div></li> |
<li><div class="src-line"><a name="a230"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$config </span><span class="src-doc">tableau de configuration (par référence)</span></div></li> |
<li><div class="src-line"><a name="a231"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$cle </span><span class="src-doc">le clé du tableau dont il faut évaluer la valeur</span></div></li> |
<li><div class="src-line"><a name="a232"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a233"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">evaluerPhp</span><span class="src-sym">(</span><span class="src-sym">&</span><span class="src-var">$config</span><span class="src-sym">, </span><span class="src-var">$cle</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a234"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'/^php:(.+)$/'</span><span class="src-sym">, </span><span class="src-var">$config</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$correspondances</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a235"></a> eval<span class="src-sym">(</span><span class="src-str">'$config["'</span>.<span class="src-var">$cle</span>.<span class="src-str">'"] = '</span>.<span class="src-var">$correspondances</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span>.<span class="src-str">';'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a236"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a237"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a238"></a> </div></li> |
<li><div class="src-line"><a name="a239"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a240"></a><span class="src-doc"> * Charge un fichier ini dans le tableau des paramètres de l'appli</span></div></li> |
<li><div class="src-line"><a name="a241"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$fichier_ini </span><span class="src-doc">le nom du fichier à charger</span></div></li> |
<li><div class="src-line"><a name="a242"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc">le fichier ini parsé</span></div></li> |
<li><div class="src-line"><a name="a243"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a244"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/Config.html#methodcharger">charger</a><span class="src-sym">(</span><span class="src-var">$fichier_ini</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a245"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">verifierCreationInstance</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a246"></a> <span class="src-key">return </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">parserFichierIni</span><span class="src-sym">(</span><span class="src-var">$fichier_ini</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a247"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a248"></a> </div></li> |
<li><div class="src-line"><a name="a249"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a250"></a><span class="src-doc"> * Acesseur pour la valeur d'un paramètre</span></div></li> |
<li><div class="src-line"><a name="a251"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$param </span><span class="src-doc">le nom du paramètre</span></div></li> |
<li><div class="src-line"><a name="a252"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">la valeur du paramètre</span></div></li> |
<li><div class="src-line"><a name="a253"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a254"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-var">$param </span>= <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a255"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">verifierCreationInstance</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a256"></a> <span class="src-key">return </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">getValeur</span><span class="src-sym">(</span><span class="src-var">$param</span><span class="src-sym">, </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$parametres</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a257"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a258"></a> </div></li> |
<li><div class="src-line"><a name="a259"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a260"></a><span class="src-doc"> * Vérifie si la valeur d'un paramètre existe</span></div></li> |
<li><div class="src-line"><a name="a261"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$param </span><span class="src-doc">le nom du paramètre</span></div></li> |
<li><div class="src-line"><a name="a262"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">boolean </span><span class="src-doc">vrai si le paramètre existe, false sinon</span></div></li> |
<li><div class="src-line"><a name="a263"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a264"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">existe</span><span class="src-sym">(</span><span class="src-var">$param</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a265"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">verifierCreationInstance</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a266"></a> <span class="src-key">return </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">existeValeur</span><span class="src-sym">(</span><span class="src-var">$param</span><span class="src-sym">, </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$parametres</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a267"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a268"></a><span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a269"></a><span class="src-php">?></span></div></li> |
<li><div class="src-line"><a name="a73"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a74"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a75"></a> </div></li> |
<li><div class="src-line"><a name="a76"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a77"></a><span class="src-doc"> * Charge le fichier de config correspondant au contexte</span></div></li> |
<li><div class="src-line"><a name="a78"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$contexte </span><span class="src-doc">le contexte</span></div></li> |
<li><div class="src-line"><a name="a79"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a80"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">chargerFichierContexte</span><span class="src-sym">(</span><span class="src-var">$contexte</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a81"></a> <span class="src-var">$chemin_config_appli_contextuel </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$parametres</span><span class="src-sym">[</span><span class="src-str">'chemin_configurations'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a82"></a> <span class="src-var">$chemin_config_appli_contextuel </span>.= <span class="src-id">sprintf</span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$parametres</span><span class="src-sym">[</span><span class="src-str">'ffichier_config'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-str">'_'</span>.<span class="src-var">$contexte</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a83"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">parserFichierIni</span><span class="src-sym">(</span><span class="src-var">$chemin_config_appli_contextuel</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a84"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a85"></a> </div></li> |
<li><div class="src-line"><a name="a86"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a87"></a><span class="src-doc"> * Parse le fichier ini donné en paramètre</span></div></li> |
<li><div class="src-line"><a name="a88"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$fichier_ini </span><span class="src-doc">nom du fichier ini à parser</span></div></li> |
<li><div class="src-line"><a name="a89"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc">tableau contenant les paramètres du fichier ini</span></div></li> |
<li><div class="src-line"><a name="a90"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a91"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">parserFichierIni</span><span class="src-sym">(</span><span class="src-var">$fichier_ini</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a92"></a> <span class="src-var">$retour </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a93"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/file_exists">file_exists</a><span class="src-sym">(</span><span class="src-var">$fichier_ini</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a94"></a> <span class="src-var">$ini </span>= <a href="http://www.php.net/parse_ini_file">parse_ini_file</a><span class="src-sym">(</span><span class="src-var">$fichier_ini</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a95"></a> <span class="src-var">$ini </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">analyserTableauIni</span><span class="src-sym">(</span><span class="src-var">$ini</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a96"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">fusionner</span><span class="src-sym">(</span><span class="src-var">$ini</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a97"></a> <span class="src-var">$retour </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a98"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a99"></a> <span class="src-key">return </span><span class="src-var">$retour</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a100"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a101"></a> </div></li> |
<li><div class="src-line"><a name="a102"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a103"></a><span class="src-doc"> * Fusionne un tableau de paramètres avec le tableau de paramètres global</span></div></li> |
<li><div class="src-line"><a name="a104"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$ini </span><span class="src-doc">le tableau à fusionner</span></div></li> |
<li><div class="src-line"><a name="a105"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a106"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">fusionner</span><span class="src-sym">(</span><span class="src-key">array </span><span class="src-var">$ini</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a107"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$parametres </span>= <span class="src-id">array_merge</span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$parametres</span><span class="src-sym">, </span><span class="src-var">$ini</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a108"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a109"></a> </div></li> |
<li><div class="src-line"><a name="a110"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a111"></a><span class="src-doc"> * Renvoie la valeur demandée grâce une chaîne de paramètres</span></div></li> |
<li><div class="src-line"><a name="a112"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$param </span><span class="src-doc">la chaine de paramètres</span></div></li> |
<li><div class="src-line"><a name="a113"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$config </span><span class="src-doc">le tableau de paramètre</span></div></li> |
<li><div class="src-line"><a name="a114"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">la valeur de la chaine demandée</span></div></li> |
<li><div class="src-line"><a name="a115"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a116"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">getValeur</span><span class="src-sym">(</span><span class="src-var">$param</span><span class="src-sym">, </span><span class="src-var">$config</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a117"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$param </span>=== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a118"></a> <span class="src-key">return </span><span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a119"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a120"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$config</span><span class="src-sym">[</span><span class="src-var">$param</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a121"></a> <span class="src-key">return </span><span class="src-var">$config</span><span class="src-sym">[</span><span class="src-var">$param</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a122"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$param</span><span class="src-sym">, </span><span class="src-str">'.'</span><span class="src-sym">) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a123"></a> <span class="src-var">$pieces </span>= <a href="http://www.php.net/explode">explode</a><span class="src-sym">(</span><span class="src-str">'.'</span><span class="src-sym">, </span><span class="src-var">$param</span><span class="src-sym">, </span><span class="src-num">2</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a124"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">) </span>&& <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a125"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$config</span><span class="src-sym">[</span><span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a126"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$config</span><span class="src-sym">[</span><span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a127"></a> <span class="src-key">return </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">getValeur</span><span class="src-sym">(</span><span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$config</span><span class="src-sym">[</span><span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a128"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a129"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a130"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a131"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a132"></a> <span class="src-key">return </span><span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a133"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a134"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a135"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a136"></a> </div></li> |
<li><div class="src-line"><a name="a137"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a138"></a><span class="src-doc"> * Teste si param existe dans le tableau config</span></div></li> |
<li><div class="src-line"><a name="a139"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$param </span><span class="src-doc">nom du paramètre</span></div></li> |
<li><div class="src-line"><a name="a140"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc">tableau de configuration</span></div></li> |
<li><div class="src-line"><a name="a141"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a142"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">existeValeur</span><span class="src-sym">(</span><span class="src-var">$param</span><span class="src-sym">, </span><span class="src-var">$config</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a143"></a> <span class="src-var">$retour </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a144"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">getValeur</span><span class="src-sym">(</span><span class="src-var">$param</span><span class="src-sym">, </span><span class="src-var">$config</span><span class="src-sym">) </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a145"></a> <span class="src-var">$retour </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a146"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a147"></a> <span class="src-key">return </span><span class="src-var">$retour</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a148"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a149"></a> </div></li> |
<li><div class="src-line"><a name="a150"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a151"></a><span class="src-doc"> * Vérifie si l'instance de classe à été crée, si non la crée</span></div></li> |
<li><div class="src-line"><a name="a152"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a153"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">verifierCreationInstance</span><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a154"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$instance</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a155"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$instance </span>= <span class="src-key">new </span><span class="src-id">Config</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a156"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a157"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a158"></a> </div></li> |
<li><div class="src-line"><a name="a159"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a160"></a><span class="src-doc"> * Analyse un tableau de paramètres.</span></div></li> |
<li><div class="src-line"><a name="a161"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$config </span><span class="src-doc">le tableau de paramètres</span></div></li> |
<li><div class="src-line"><a name="a162"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc">le tableau analysé</span></div></li> |
<li><div class="src-line"><a name="a163"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a164"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">analyserTableauIni</span><span class="src-sym">(</span><span class="src-var">$config </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a165"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$config </span><span class="src-key">as </span><span class="src-var">$cle </span>=> <span class="src-sym">&</span><span class="src-var">$valeur</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a166"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$valeur</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a167"></a> <span class="src-var">$config</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">] </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">analyserTableauIni</span><span class="src-sym">(</span><span class="src-var">$valeur</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a168"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a169"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">evaluerReferences</span><span class="src-sym">(</span><span class="src-var">$config</span><span class="src-sym">, </span><span class="src-var">$cle</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a170"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">evaluerPhp</span><span class="src-sym">(</span><span class="src-var">$config</span><span class="src-sym">, </span><span class="src-var">$cle</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a171"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">evaluerCle</span><span class="src-sym">(</span><span class="src-var">$config</span><span class="src-sym">, </span><span class="src-var">$cle</span><span class="src-sym">, </span><span class="src-var">$config</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a172"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a173"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a174"></a> <span class="src-key">return </span><span class="src-var">$config</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a175"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a176"></a> </div></li> |
<li><div class="src-line"><a name="a177"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a178"></a><span class="src-doc"> * Dans le cas des chaine de configuration à sous clé (ex.: cle.souscle)</span></div></li> |
<li><div class="src-line"><a name="a179"></a><span class="src-doc"> * évalue les valeurs correspondantes et crée les sous tableaux associés.</span></div></li> |
<li><div class="src-line"><a name="a180"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$config </span><span class="src-doc">tableau de configuration (par référence)</span></div></li> |
<li><div class="src-line"><a name="a181"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$cle </span><span class="src-doc">la cle dans le tableau</span></div></li> |
<li><div class="src-line"><a name="a182"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$valeur </span><span class="src-doc">la valeur à affecter</span></div></li> |
<li><div class="src-line"><a name="a183"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a184"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">evaluerCle</span><span class="src-sym">(</span><span class="src-sym">&</span><span class="src-var">$config</span><span class="src-sym">, </span><span class="src-var">$cle</span><span class="src-sym">, </span><span class="src-var">$valeur</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a185"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$cle</span><span class="src-sym">, </span><span class="src-str">'.'</span><span class="src-sym">) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a186"></a> unset<span class="src-sym">(</span><span class="src-var">$config</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a187"></a> <span class="src-var">$pieces </span>= <a href="http://www.php.net/explode">explode</a><span class="src-sym">(</span><span class="src-str">'.'</span><span class="src-sym">, </span><span class="src-var">$cle</span><span class="src-sym">, </span><span class="src-num">2</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a188"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">) </span>&& <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a189"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$config</span><span class="src-sym">[</span><span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]]</span><span class="src-sym">) </span>&& <span class="src-sym">!</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$config</span><span class="src-sym">[</span><span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a190"></a> <span class="src-var">$m </span>= <span class="src-str">"</span><span class="src-str">Ne peut pas créer de sous-clé pour '{<span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">}</span>' car la clé existe déjà</span><span class="src-str">"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a191"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">, </span><span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a192"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a193"></a> <span class="src-var">$config</span><span class="src-sym">[</span><span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]]</span><span class="src-sym">[</span><span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]] </span>= <span class="src-var">$valeur</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a194"></a> <span class="src-var">$config</span><span class="src-sym">[</span><span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]] </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">evaluerCle</span><span class="src-sym">(</span><span class="src-var">$config</span><span class="src-sym">[</span><span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]]</span><span class="src-sym">, </span><span class="src-var">$pieces</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$valeur</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a195"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a196"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a197"></a> <span class="src-var">$m </span>= <span class="src-str">"</span><span class="src-str">Clé invalide '<span class="src-var">$cle</span>'</span><span class="src-str">"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a198"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">, </span><span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a199"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a200"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a201"></a> <span class="src-var">$config</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">] </span>= <span class="src-var">$valeur</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a202"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a203"></a> <span class="src-key">return </span><span class="src-var">$config</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a204"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a205"></a> </div></li> |
<li><div class="src-line"><a name="a206"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a207"></a><span class="src-doc"> * Évalue les valeurs de références à une clé dans le tableau config (cas du ref:cle).</span></div></li> |
<li><div class="src-line"><a name="a208"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$config </span><span class="src-doc">tableau de configuration</span></div></li> |
<li><div class="src-line"><a name="a209"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$cle </span><span class="src-doc">la clé dont il faut évaluer les références</span></div></li> |
<li><div class="src-line"><a name="a210"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a211"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">evaluerReferences</span><span class="src-sym">(</span><span class="src-sym">&</span><span class="src-var">$config</span><span class="src-sym">, </span><span class="src-var">$cle</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a212"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/preg_match_all">preg_match_all</a><span class="src-sym">(</span><span class="src-str">'/{ref:([A-Za-z0-9_.-]+)}/'</span><span class="src-sym">, </span><span class="src-var">$config</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$correspondances</span><span class="src-sym">, </span><span class="src-id">PREG_SET_ORDER</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a213"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$correspondances </span><span class="src-key">as </span><span class="src-var">$ref</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a214"></a> <span class="src-var">$config</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">] </span>= <a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-var">$ref</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">getValeur</span><span class="src-sym">(</span><span class="src-var">$ref</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$config</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$config</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a215"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a216"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a217"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a218"></a> </div></li> |
<li><div class="src-line"><a name="a219"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a220"></a><span class="src-doc"> * Évalue le code php contenu dans un clé tu tableau config.</span></div></li> |
<li><div class="src-line"><a name="a221"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$config </span><span class="src-doc">tableau de configuration (par référence)</span></div></li> |
<li><div class="src-line"><a name="a222"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$cle </span><span class="src-doc">le clé du tableau dont il faut évaluer la valeur</span></div></li> |
<li><div class="src-line"><a name="a223"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a224"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">evaluerPhp</span><span class="src-sym">(</span><span class="src-sym">&</span><span class="src-var">$config</span><span class="src-sym">, </span><span class="src-var">$cle</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a225"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'/^php:(.+)$/'</span><span class="src-sym">, </span><span class="src-var">$config</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$correspondances</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a226"></a> eval<span class="src-sym">(</span><span class="src-str">'$config["'</span>.<span class="src-var">$cle</span>.<span class="src-str">'"] = '</span>.<span class="src-var">$correspondances</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span>.<span class="src-str">';'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a227"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a228"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a229"></a> </div></li> |
<li><div class="src-line"><a name="a230"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a231"></a><span class="src-doc"> * Charge un fichier ini dans le tableau des paramètres de l'appli.</span></div></li> |
<li><div class="src-line"><a name="a232"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$fichier_ini </span><span class="src-doc">le nom du fichier à charger</span></div></li> |
<li><div class="src-line"><a name="a233"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc">le fichier ini parsé</span></div></li> |
<li><div class="src-line"><a name="a234"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a235"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/Config.html#methodcharger">charger</a><span class="src-sym">(</span><span class="src-var">$fichier_ini</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a236"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">verifierCreationInstance</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a237"></a> <span class="src-key">return </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">parserFichierIni</span><span class="src-sym">(</span><span class="src-var">$fichier_ini</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a238"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a239"></a> </div></li> |
<li><div class="src-line"><a name="a240"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a241"></a><span class="src-doc"> * Accesseur pour la valeur d'un paramètre.</span></div></li> |
<li><div class="src-line"><a name="a242"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$param </span><span class="src-doc">le nom du paramètre</span></div></li> |
<li><div class="src-line"><a name="a243"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">la valeur du paramètre</span></div></li> |
<li><div class="src-line"><a name="a244"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a245"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-var">$param </span>= <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a246"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">verifierCreationInstance</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a247"></a> <span class="src-key">return </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">getValeur</span><span class="src-sym">(</span><span class="src-var">$param</span><span class="src-sym">, </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$parametres</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a248"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a249"></a> </div></li> |
<li><div class="src-line"><a name="a250"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a251"></a><span class="src-doc"> * Vérifie si la valeur d'un paramètre existe.</span></div></li> |
<li><div class="src-line"><a name="a252"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$param </span><span class="src-doc">le nom du paramètre</span></div></li> |
<li><div class="src-line"><a name="a253"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">boolean </span><span class="src-doc">vrai si le paramètre existe, false sinon</span></div></li> |
<li><div class="src-line"><a name="a254"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a255"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">existe</span><span class="src-sym">(</span><span class="src-var">$param</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a256"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">verifierCreationInstance</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a257"></a> <span class="src-key">return </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">existeValeur</span><span class="src-sym">(</span><span class="src-var">$param</span><span class="src-sym">, </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$parametres</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a258"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a259"></a> </div></li> |
<li><div class="src-line"><a name="a260"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a261"></a><span class="src-doc"> * Vérifie que tous les paramêtres de config nécessaires au fonctionnement d'une classe existe dans les fichiers</span></div></li> |
<li><div class="src-line"><a name="a262"></a><span class="src-doc"> * de configurations.</span></div></li> |
<li><div class="src-line"><a name="a263"></a><span class="src-doc"> * L'utilisation de cette méthode depuis la classe Config évite de faire appel à une classe supplémentaire.</span></div></li> |
<li><div class="src-line"><a name="a264"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a265"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$parametres </span><span class="src-doc">tableau des noms des paramètres de la config à verifier.</span></div></li> |
<li><div class="src-line"><a name="a266"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">boolean </span><span class="src-doc">true si tous les paramétres sont présents sinon false.</span></div></li> |
<li><div class="src-line"><a name="a267"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a268"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">verifierPresenceParametres</span><span class="src-sym">(</span><span class="src-key">Array </span><span class="src-var">$parametres</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a269"></a> <span class="src-var">$ok </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a270"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$parametres </span><span class="src-key">as </span><span class="src-var">$param</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a271"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_null">is_null</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">get</span><span class="src-sym">(</span><span class="src-var">$param</span><span class="src-sym">))) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a272"></a> <span class="src-var">$classe </span>= <a href="http://www.php.net/get_class">get_class</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a273"></a> <span class="src-var">$m </span>= <span class="src-str">"</span><span class="src-str">L'utilisation de la classe <span class="src-var">$classe</span> nécessite de définir '<span class="src-var">$param</span>' dans un fichier de configuration.</span><span class="src-str">"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a274"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">, </span><span class="src-id">E_USER_ERROR</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a275"></a> <span class="src-var">$ok </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a276"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a277"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a278"></a> <span class="src-key">return </span><span class="src-var">$ok</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a279"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a280"></a><span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a281"></a><span class="src-php">?></span></div></li> |
</ol></div> |
</div> |
<p class="notes" id="credit"> |
Documentation generated on Thu, 04 Mar 2010 19:27:16 +0100 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.3</a> |
Documentation generated on Tue, 18 Jan 2011 15:01:30 +0100 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.3</a> |
</p> |
</body> |
</html> |
/trunk/doc/HTMLframesConverter/__filesource/fsource_Utilitaire__utilitairesFichier.php.html |
---|
New file |
0,0 → 1,222 |
<?xml version="1.0" encoding="UTF-8"?> |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
<html xmlns="http://www.w3.org/1999/xhtml"> |
<head> |
<!-- template designed by Marco Von Ballmoos --> |
<title>File Source for Fichier.php</title> |
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'/> |
<link rel="stylesheet" href="../media/stylesheet.css" /> |
</head> |
<body> |
<h1>Source for file Fichier.php</h1> |
<p>Documentation is available at <a href="../Utilitaire/_utilitaires---Fichier.php.html">Fichier.php</a></p> |
<div class="src-code"> |
<div class="src-code"><ol><li><div class="src-line"><a name="a1"></a><span class="src-php"><?php</span></div></li> |
<li><div class="src-line"><a name="a2"></a><span class="src-comm">// declare(encoding='UTF-8');</span></div></li> |
<li><div class="src-line"><a name="a3"></a><span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a4"></a><span class="src-doc"> * Classe fournissant des méthodes statiques de manipulation des fichiers.</span></div></li> |
<li><div class="src-line"><a name="a5"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a6"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@category</span><span class="src-doc"> PHP 5.2</span></div></li> |
<li><div class="src-line"><a name="a7"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@package</span><span class="src-doc"> Utilitaire</span></div></li> |
<li><div class="src-line"><a name="a8"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@author</span><span class="src-doc"> Jean-Pascal MILCENT <jpm@tela-botanica.org></span></div></li> |
<li><div class="src-line"><a name="a9"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@copyright</span><span class="src-doc"> Copyright (c) 2009, Tela Botanica (accueil@tela-botanica.org)</span></div></li> |
<li><div class="src-line"><a name="a10"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.gnu.org/licenses/gpl.html Licence GNU-GPL-v3</span></div></li> |
<li><div class="src-line"><a name="a11"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL-v2</span></div></li> |
<li><div class="src-line"><a name="a12"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@version</span><span class="src-doc"> $Id$</span></div></li> |
<li><div class="src-line"><a name="a13"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@link</span><span class="src-doc"> /doc/framework/</span></div></li> |
<li><div class="src-line"><a name="a14"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a15"></a><span class="src-key">class </span><a href="../Utilitaire/Fichier.html">Fichier</a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a16"></a> <span class="src-doc">/** </span></div></li> |
<li><div class="src-line"><a name="a17"></a><span class="src-doc"> * Créer et stocke du contenu dans un fichier.</span></div></li> |
<li><div class="src-line"><a name="a18"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a19"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc">le chemin et le nom du fichier.</span></div></li> |
<li><div class="src-line"><a name="a20"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc">le contenu à stocker dans le fichier.</span></div></li> |
<li><div class="src-line"><a name="a21"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">true en cas de succès sinon false.</span></div></li> |
<li><div class="src-line"><a name="a22"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a23"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Utilitaire/Fichier.html#methodcreerFichier">creerFichier</a><span class="src-sym">(</span><span class="src-var">$fichier</span><span class="src-sym">, </span><span class="src-var">$contenu</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a24"></a> <span class="src-var">$erreur </span>= <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a25"></a> </div></li> |
<li><div class="src-line"><a name="a26"></a> <span class="src-comm">// Début de l'écriture du fichier</span></div></li> |
<li><div class="src-line"><a name="a27"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$resource </span>= <a href="http://www.php.net/fopen">fopen</a><span class="src-sym">(</span><span class="src-var">$fichier</span><span class="src-sym">, </span><span class="src-str">'w'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a28"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/fwrite">fwrite</a><span class="src-sym">(</span><span class="src-var">$resource</span><span class="src-sym">, </span><span class="src-var">$contenu</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a29"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$resource</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a30"></a> <span class="src-var">$erreur </span>= <span class="src-str">"</span><span class="src-str">Le fichier '<span class="src-var">$fichier</span>' n'a pas pu être fermé.</span><span class="src-str">"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a31"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a32"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a33"></a> <span class="src-var">$erreur </span>= <span class="src-str">"</span><span class="src-str">Le contenu texte n'a pas pu être écrit dans le fichier '<span class="src-var">$fichier</span>'.</span><span class="src-str">"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a34"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a35"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a36"></a> <span class="src-var">$erreur </span>= <span class="src-str">"</span><span class="src-str">Le fichier '<span class="src-var">$fichier</span>' n'a pas pu être ouvert.</span><span class="src-str">"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a37"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a38"></a> </div></li> |
<li><div class="src-line"><a name="a39"></a> <span class="src-comm">// Gestion des erreurs et du retour</span></div></li> |
<li><div class="src-line"><a name="a40"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_null">is_null</a><span class="src-sym">(</span><span class="src-var">$erreur</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a41"></a> <span class="src-key">return </span><span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a42"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a43"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-var">$erreur</span><span class="src-sym">, </span><span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a44"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a45"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a46"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a47"></a> </div></li> |
<li><div class="src-line"><a name="a48"></a> <span class="src-doc">/** </span></div></li> |
<li><div class="src-line"><a name="a49"></a><span class="src-doc"> * Créer et stocke du contenu dans un fichier compressé en Gzip.</span></div></li> |
<li><div class="src-line"><a name="a50"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a51"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc">le chemin et le nom du fichier.</span></div></li> |
<li><div class="src-line"><a name="a52"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc">le contenu à stocker dans le fichier.</span></div></li> |
<li><div class="src-line"><a name="a53"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">true en cas de succès sinon false.</span></div></li> |
<li><div class="src-line"><a name="a54"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a55"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Utilitaire/Fichier.html#methodcreerFichierGzip">creerFichierGzip</a><span class="src-sym">(</span><span class="src-var">$fichier</span><span class="src-sym">, </span><span class="src-var">$contenu</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a56"></a> <span class="src-var">$erreur </span>= <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a57"></a> </div></li> |
<li><div class="src-line"><a name="a58"></a> <span class="src-comm">// Ajout de l'extension gz</span></div></li> |
<li><div class="src-line"><a name="a59"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$fichier</span><span class="src-sym">, </span>-<span class="src-num">3</span><span class="src-sym">) </span>!= <span class="src-str">'.gz'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a60"></a> <span class="src-var">$fichier </span>= <span class="src-var">$fichier</span>.<span class="src-str">'.gz'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a61"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a62"></a> </div></li> |
<li><div class="src-line"><a name="a63"></a> <span class="src-comm">// Début de l'écriture du fichier compressé</span></div></li> |
<li><div class="src-line"><a name="a64"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$resource </span>= <a href="http://www.php.net/gzopen">gzopen</a><span class="src-sym">(</span><span class="src-var">$fichier</span><span class="src-sym">, </span><span class="src-str">'w9'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a65"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/gzwrite">gzwrite</a><span class="src-sym">(</span><span class="src-var">$resource</span><span class="src-sym">, </span><span class="src-var">$contenu</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a66"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/gzclose">gzclose</a><span class="src-sym">(</span><span class="src-var">$resource</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a67"></a> <span class="src-var">$erreur </span>= <span class="src-str">"</span><span class="src-str">Le fichier compressé '<span class="src-var">$fichier</span>' n'a pas pu être fermé.</span><span class="src-str">"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a68"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a69"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a70"></a> <span class="src-var">$erreur </span>= <span class="src-str">"</span><span class="src-str">Le contenu texte n'a pas pu être écrit dans le fichier compressé '<span class="src-var">$fichier</span>'.</span><span class="src-str">"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a71"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a72"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a73"></a> <span class="src-var">$erreur </span>= <span class="src-str">"</span><span class="src-str">Le fichier compressé '<span class="src-var">$fichier</span>' n'a pas pu être ouvert.</span><span class="src-str">"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a74"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a75"></a> </div></li> |
<li><div class="src-line"><a name="a76"></a> <span class="src-comm">// Gestion des erreurs et du retour</span></div></li> |
<li><div class="src-line"><a name="a77"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_null">is_null</a><span class="src-sym">(</span><span class="src-var">$erreur</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a78"></a> <span class="src-key">return </span><span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a79"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a80"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-var">$erreur</span><span class="src-sym">, </span><span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a81"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a82"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a83"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a84"></a> </div></li> |
<li><div class="src-line"><a name="a85"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a86"></a><span class="src-doc"> * Supprime récursivement un dossier et tout son contenu.</span></div></li> |
<li><div class="src-line"><a name="a87"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a88"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$dossier </span><span class="src-doc">le chemin vers le dossier à supprimer.</span></div></li> |
<li><div class="src-line"><a name="a89"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">void </span></div></li> |
<li><div class="src-line"><a name="a90"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a91"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Utilitaire/Fichier.html#methodsupprimerDossier">supprimerDossier</a><span class="src-sym">(</span><span class="src-var">$dossier</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a92"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_dir">is_dir</a><span class="src-sym">(</span><span class="src-var">$dossier</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a93"></a> <span class="src-var">$objets </span>= <a href="http://www.php.net/scandir">scandir</a><span class="src-sym">(</span><span class="src-var">$dossier</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a94"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$objets </span><span class="src-key">as </span><span class="src-var">$objet</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a95"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$objet </span>!= <span class="src-str">'.' </span>&& <span class="src-var">$objet </span>!= <span class="src-str">'..'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a96"></a> <span class="src-var">$chemin </span>= <span class="src-var">$dossier</span>.<span class="src-str">'/'</span>.<span class="src-var">$objet</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a97"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/filetype">filetype</a><span class="src-sym">(</span><span class="src-var">$chemin</span><span class="src-sym">) </span>== <span class="src-str">'dir'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a98"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Utilitaire/Fichier.html#methodsupprimerDossier">supprimerDossier</a><span class="src-sym">(</span><span class="src-var">$chemin</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a99"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a100"></a> <a href="http://www.php.net/unlink">unlink</a><span class="src-sym">(</span><span class="src-var">$chemin</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a101"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a102"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a103"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a104"></a> <a href="http://www.php.net/reset">reset</a><span class="src-sym">(</span><span class="src-var">$objets</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a105"></a> <a href="http://www.php.net/rmdir">rmdir</a><span class="src-sym">(</span><span class="src-var">$dossier</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a106"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a107"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a108"></a> </div></li> |
<li><div class="src-line"><a name="a109"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a110"></a><span class="src-doc"> * Convertion d'un nombre d'octet en kB, MB, GB.</span></div></li> |
<li><div class="src-line"><a name="a111"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@link</span><span class="src-doc"> http://forum.webmaster-rank.info/developpement-site/code-taille-memoire-d-une-variable-en-php-t1344.html</span></div></li> |
<li><div class="src-line"><a name="a112"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">integer </span><span class="src-doc-var">$taille </span><span class="src-doc">la taille en octet à convertir</span></div></li> |
<li><div class="src-line"><a name="a113"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a114"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">la chaine représentant la taille en octets.</span></div></li> |
<li><div class="src-line"><a name="a115"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a116"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Utilitaire/Fichier.html#methodconvertirTaille">convertirTaille</a><span class="src-sym">(</span><span class="src-var">$taille</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a117"></a> <span class="src-var">$unite </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'B'</span><span class="src-sym">, </span><span class="src-str">'kB'</span><span class="src-sym">, </span><span class="src-str">'MB'</span><span class="src-sym">, </span><span class="src-str">'GB'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a118"></a> <span class="src-key">return </span><span class="src-sym">@</span><a href="http://www.php.net/round">round</a><span class="src-sym">(</span><span class="src-var">$taille </span>/ <a href="http://www.php.net/pow">pow</a><span class="src-sym">(</span><span class="src-num">1024</span><span class="src-sym">, </span><span class="src-sym">(</span><span class="src-var">$i </span>= <a href="http://www.php.net/floor">floor</a><span class="src-sym">(</span><a href="http://www.php.net/log">log</a><span class="src-sym">(</span><span class="src-var">$taille</span><span class="src-sym">,</span><span class="src-num">1024</span><span class="src-sym">))))</span><span class="src-sym">, </span><span class="src-num">2</span><span class="src-sym">)</span>.<span class="src-str">' '</span>.<span class="src-var">$unite</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a119"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a120"></a> </div></li> |
<li><div class="src-line"><a name="a121"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a122"></a><span class="src-doc"> * Détermine le dossier système temporaire et détecte si nous y avons accès en lecture et écriture.</span></div></li> |
<li><div class="src-line"><a name="a123"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a124"></a><span class="src-doc"> * Inspiré de Zend_File_Transfer_Adapter_Abstract & Zend_Cache</span></div></li> |
<li><div class="src-line"><a name="a125"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a126"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string</span><span class="src-doc">|</span><span class="src-doc-type">false</span><span class="src-doc">le chemine vers le dossier temporaire ou false en cas d'échec.</span></div></li> |
<li><div class="src-line"><a name="a127"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a128"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Utilitaire/Fichier.html#methodgetDossierTmp">getDossierTmp</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a129"></a> <span class="src-var">$dossier_tmp </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a130"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$_ENV</span><span class="src-sym">, </span><span class="src-var">$_SERVER</span><span class="src-sym">) </span><span class="src-key">as </span><span class="src-var">$environnement</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a131"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'TMPDIR'</span><span class="src-sym">, </span><span class="src-str">'TEMP'</span><span class="src-sym">, </span><span class="src-str">'TMP'</span><span class="src-sym">, </span><span class="src-str">'windir'</span><span class="src-sym">, </span><span class="src-str">'SystemRoot'</span><span class="src-sym">) </span><span class="src-key">as </span><span class="src-var">$cle</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a132"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$environnement</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a133"></a> <span class="src-key">if </span><span class="src-sym">((</span><span class="src-var">$cle </span>== <span class="src-str">'windir'</span><span class="src-sym">) </span><span class="src-key">or </span><span class="src-sym">(</span><span class="src-var">$cle </span>== <span class="src-str">'SystemRoot'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a134"></a> <span class="src-var">$dossier </span>= <a href="http://www.php.net/realpath">realpath</a><span class="src-sym">(</span><span class="src-var">$environnement</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">] </span>. <span class="src-str">'\\temp'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a135"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a136"></a> <span class="src-var">$dossier </span>= <a href="http://www.php.net/realpath">realpath</a><span class="src-sym">(</span><span class="src-var">$environnement</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a137"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a138"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">etreAccessibleEnLectureEtEcriture</span><span class="src-sym">(</span><span class="src-var">$dossier</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a139"></a> <span class="src-var">$dossier_tmp </span>= <span class="src-var">$dossier</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a140"></a> <span class="src-key">break </span><span class="src-num">2</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a141"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a142"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a143"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a144"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a145"></a> </div></li> |
<li><div class="src-line"><a name="a146"></a> <span class="src-key">if </span><span class="src-sym">( </span><span class="src-sym">! </span><span class="src-var">$dossier_tmp</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a147"></a> <span class="src-var">$dossier_televersement_tmp </span>= <a href="http://www.php.net/ini_get">ini_get</a><span class="src-sym">(</span><span class="src-str">'upload_tmp_dir'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a148"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$dossier_televersement_tmp</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a149"></a> <span class="src-var">$dossier </span>= <a href="http://www.php.net/realpath">realpath</a><span class="src-sym">(</span><span class="src-var">$dossier_televersement_tmp</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a150"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">etreAccessibleEnLectureEtEcriture</span><span class="src-sym">(</span><span class="src-var">$dossier</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a151"></a> <span class="src-var">$dossier_tmp </span>= <span class="src-var">$dossier</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a152"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a153"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a154"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a155"></a> </div></li> |
<li><div class="src-line"><a name="a156"></a> <span class="src-key">if </span><span class="src-sym">( </span><span class="src-sym">! </span><span class="src-var">$dossier_tmp</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a157"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/function_exists">function_exists</a><span class="src-sym">(</span><span class="src-str">'sys_get_temp_dir'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a158"></a> <span class="src-var">$dossier </span>= <a href="http://www.php.net/sys_get_temp_dir">sys_get_temp_dir</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a159"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">etreAccessibleEnLectureEtEcriture</span><span class="src-sym">(</span><span class="src-var">$dossier</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a160"></a> <span class="src-var">$dossier_tmp </span>= <span class="src-var">$dossier</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a161"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a162"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a163"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a164"></a> </div></li> |
<li><div class="src-line"><a name="a165"></a> <span class="src-key">if </span><span class="src-sym">( </span><span class="src-sym">! </span><span class="src-var">$dossier_tmp</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a166"></a> <span class="src-comm">// Tentative de création d'un fichier temporaire</span></div></li> |
<li><div class="src-line"><a name="a167"></a> <span class="src-var">$fichier_tmp </span>= <a href="http://www.php.net/tempnam">tempnam</a><span class="src-sym">(</span><a href="http://www.php.net/md5">md5</a><span class="src-sym">(</span><a href="http://www.php.net/uniqid">uniqid</a><span class="src-sym">(</span><a href="http://www.php.net/rand">rand</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-id">TRUE</span><span class="src-sym">))</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a168"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$fichier_tmp</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a169"></a> <span class="src-var">$dossier </span>= <a href="http://www.php.net/realpath">realpath</a><span class="src-sym">(</span><a href="http://www.php.net/dirname">dirname</a><span class="src-sym">(</span><span class="src-var">$fichier_tmp</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a170"></a> <a href="http://www.php.net/unlink">unlink</a><span class="src-sym">(</span><span class="src-var">$fichier_tmp</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a171"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">etreAccessibleEnLectureEtEcriture</span><span class="src-sym">(</span><span class="src-var">$dossier</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a172"></a> <span class="src-var">$dossier_tmp </span>= <span class="src-var">$dossier</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a173"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a174"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a175"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a176"></a> </div></li> |
<li><div class="src-line"><a name="a177"></a> <span class="src-key">if </span><span class="src-sym">( </span><span class="src-sym">! </span><span class="src-var">$dossier_tmp </span>&& <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">etreAccessibleEnLectureEtEcriture</span><span class="src-sym">(</span><span class="src-str">'/tmp'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a178"></a> <span class="src-var">$dossier_tmp </span>= <span class="src-str">'/tmp'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a179"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a180"></a> </div></li> |
<li><div class="src-line"><a name="a181"></a> <span class="src-key">if </span><span class="src-sym">( </span><span class="src-sym">! </span><span class="src-var">$dossier_tmp </span>&& <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">etreAccessibleEnLectureEtEcriture</span><span class="src-sym">(</span><span class="src-str">'\\temp'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a182"></a> <span class="src-var">$dossier_tmp </span>= <span class="src-str">'\\temp'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a183"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a184"></a> </div></li> |
<li><div class="src-line"><a name="a185"></a> <span class="src-key">return </span><span class="src-var">$dossier_tmp</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a186"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a187"></a> </div></li> |
<li><div class="src-line"><a name="a188"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a189"></a><span class="src-doc"> * Vérifie si le fichier ou dossier est accessible en lecture et écriture.</span></div></li> |
<li><div class="src-line"><a name="a190"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a191"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">$ressource </span><span class="src-doc">chemin vers le dossier ou fichier à tester</span></div></li> |
<li><div class="src-line"><a name="a192"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">boolean </span><span class="src-doc">true si la ressource est accessible en lecture et écriture.</span></div></li> |
<li><div class="src-line"><a name="a193"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a194"></a> <span class="src-key">protected </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Utilitaire/Fichier.html#methodetreAccessibleEnLectureEtEcriture">etreAccessibleEnLectureEtEcriture</a><span class="src-sym">(</span><span class="src-var">$ressource</span><span class="src-sym">)</span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a195"></a> <span class="src-var">$accessible </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a196"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_readable">is_readable</a><span class="src-sym">(</span><span class="src-var">$ressource</span><span class="src-sym">) </span>&& <a href="http://www.php.net/is_writable">is_writable</a><span class="src-sym">(</span><span class="src-var">$ressource</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a197"></a> <span class="src-var">$accessible </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a198"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a199"></a> <span class="src-key">return </span><span class="src-var">$accessible</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a200"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a201"></a><span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a202"></a><span class="src-php">?></span></div></li> |
</ol></div> |
</div> |
<p class="notes" id="credit"> |
Documentation generated on Tue, 18 Jan 2011 15:01:32 +0100 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.3</a> |
</p> |
</body> |
</html> |
/trunk/doc/HTMLframesConverter/__filesource/fsource_Framework__Cli.php.html |
---|
New file |
0,0 → 1,121 |
<?xml version="1.0" encoding="UTF-8"?> |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
<html xmlns="http://www.w3.org/1999/xhtml"> |
<head> |
<!-- template designed by Marco Von Ballmoos --> |
<title>File Source for Cli.php</title> |
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'/> |
<link rel="stylesheet" href="../media/stylesheet.css" /> |
</head> |
<body> |
<h1>Source for file Cli.php</h1> |
<p>Documentation is available at <a href="../Framework/_Cli.php.html">Cli.php</a></p> |
<div class="src-code"> |
<div class="src-code"><ol><li><div class="src-line"><a name="a1"></a><span class="src-php"><?php</span></div></li> |
<li><div class="src-line"><a name="a2"></a><span class="src-comm">// declare(encoding='UTF-8');</span></div></li> |
<li><div class="src-line"><a name="a3"></a><span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a4"></a><span class="src-doc"> * CLI permet de récupérer les paramètres passés en ligne de commande pour instancier une classe héritant de la classe abstraite</span></div></li> |
<li><div class="src-line"><a name="a5"></a><span class="src-doc"> * Script.</span></div></li> |
<li><div class="src-line"><a name="a6"></a><span class="src-doc"> * Elle va déclencher l'éxecution du script via l'appel de la méthode executer().</span></div></li> |
<li><div class="src-line"><a name="a7"></a><span class="src-doc"> * C'est une Singleton.</span></div></li> |
<li><div class="src-line"><a name="a8"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a9"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@category</span><span class="src-doc"> PHP 5.2</span></div></li> |
<li><div class="src-line"><a name="a10"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@package</span><span class="src-doc"> Framework</span></div></li> |
<li><div class="src-line"><a name="a11"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@author</span><span class="src-doc"> Jean-Pascal MILCENT <jpm@tela-botanica.org></span></div></li> |
<li><div class="src-line"><a name="a12"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@author</span><span class="src-doc"> Delphine CAUQUIL <delphine@tela-botanica.org></span></div></li> |
<li><div class="src-line"><a name="a13"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@copyright</span><span class="src-doc"> Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org)</span></div></li> |
<li><div class="src-line"><a name="a14"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.gnu.org/licenses/gpl.html Licence GNU-GPL-v3</span></div></li> |
<li><div class="src-line"><a name="a15"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL-v2</span></div></li> |
<li><div class="src-line"><a name="a16"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@since</span><span class="src-doc"> 0.3</span></div></li> |
<li><div class="src-line"><a name="a17"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@version</span><span class="src-doc"> $Id$</span></div></li> |
<li><div class="src-line"><a name="a18"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@link</span><span class="src-doc"> /doc/framework/</span></div></li> |
<li><div class="src-line"><a name="a19"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a20"></a> </div></li> |
<li><div class="src-line"><a name="a21"></a><span class="src-key">class </span><a href="../Framework/Cli.html">Cli</a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a22"></a> </div></li> |
<li><div class="src-line"><a name="a23"></a> <span class="src-doc">/** Tableau des noms des paramètres à définir dans le fichier de config car obligatoirement nécessaire à cette classe.*/</span></div></li> |
<li><div class="src-line"><a name="a24"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-var">$parametres_obligatoires </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'chemin_modules'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a25"></a> </div></li> |
<li><div class="src-line"><a name="a26"></a> </div></li> |
<li><div class="src-line"><a name="a27"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a28"></a><span class="src-doc"> * Execute la ligne de commande en récupérant le nom du script à lancer et ses paramètres.</span></div></li> |
<li><div class="src-line"><a name="a29"></a><span class="src-doc"> * Instancie la classe du script à lancer et appelle la méthode executer().</span></div></li> |
<li><div class="src-line"><a name="a30"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">void </span></div></li> |
<li><div class="src-line"><a name="a31"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a32"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Framework/Cli.html#methodexecuter">executer</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a33"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'argc'</span><span class="src-sym">] </span>< <span class="src-num">2</span><span class="src-sym">)</span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a34"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">"Erreur: vous n'avez pas indiqué le nom du script. Voir '"</span>.<span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'argv'</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span>.<span class="src-str">" help'.\n"</span><span class="src-sym">, </span><span class="src-id">E_USER_ERROR</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a35"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a36"></a> </div></li> |
<li><div class="src-line"><a name="a37"></a> <span class="src-comm">// Récupération de la ligne de commande</span></div></li> |
<li><div class="src-line"><a name="a38"></a> <span class="src-var">$argv </span>= <span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'argv'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a39"></a> <span class="src-comm">// Nous dépilons le nom du fichier qui initialise le framework et appele cette méthode.</span></div></li> |
<li><div class="src-line"><a name="a40"></a> <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$argv</span><span class="src-sym">)</span><span class="src-sym">; </span></div></li> |
<li><div class="src-line"><a name="a41"></a> <span class="src-comm">// Nous dépilons le nom du script à lancer</span></div></li> |
<li><div class="src-line"><a name="a42"></a> <span class="src-var">$script </span>= <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$argv</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a43"></a> <span class="src-comm">// Récupération des paramètres d'execution du script</span></div></li> |
<li><div class="src-line"><a name="a44"></a> <span class="src-var">$parametres </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">getParametres</span><span class="src-sym">(</span><span class="src-var">$argv</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a45"></a> </div></li> |
<li><div class="src-line"><a name="a46"></a> <span class="src-comm">// Chargement du script à lancer</span></div></li> |
<li><div class="src-line"><a name="a47"></a> <span class="src-var">$Script </span>= <span class="src-id"><a href="../Framework/Cli.html">Cli</a></span><span class="src-sym">::</span><span class="src-id">charger</span><span class="src-sym">(</span><span class="src-var">$script</span><span class="src-sym">, </span><span class="src-var">$parametres</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a48"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/is_null">is_null</a><span class="src-sym">(</span><span class="src-var">$Script</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a49"></a> <span class="src-var">$Script</span><span class="src-sym">-></span><span class="src-id">executer</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a50"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a51"></a> </div></li> |
<li><div class="src-line"><a name="a52"></a> <span class="src-comm">// Affichage des exceptions et erreurs générées par le script</span></div></li> |
<li><div class="src-line"><a name="a53"></a> echo <span class="src-id"><a href="../Framework/GestionnaireException.html">GestionnaireException</a></span><span class="src-sym">::</span><a href="../Framework/GestionnaireException.html#methodgetExceptions">getExceptions</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a54"></a> </div></li> |
<li><div class="src-line"><a name="a55"></a> <span class="src-comm">// Fin d'execution</span></div></li> |
<li><div class="src-line"><a name="a56"></a> <span class="src-key">exit</span><span class="src-sym">(</span><span class="src-num">0</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a57"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a58"></a> </div></li> |
<li><div class="src-line"><a name="a59"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">charger</span><span class="src-sym">(</span><span class="src-var">$script_nom</span><span class="src-sym">, </span><span class="src-var">$parametres</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a60"></a> <span class="src-var">$Script </span>= <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a61"></a> <span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodverifierPresenceParametres">verifierPresenceParametres</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$parametres_obligatoires</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a62"></a> </div></li> |
<li><div class="src-line"><a name="a63"></a> <span class="src-var">$classe_nom </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">obtenirNomClasse</span><span class="src-sym">(</span><span class="src-var">$script_nom</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a64"></a> <span class="src-var">$dossier_nom </span>= <a href="http://www.php.net/strtolower">strtolower</a><span class="src-sym">(</span><span class="src-var">$script_nom</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a65"></a> <span class="src-var">$fichier_script </span>= <span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-str">'chemin_modules'</span><span class="src-sym">)</span>.<span class="src-var">$dossier_nom</span>.<span class="src-id">DS</span>.<span class="src-var">$classe_nom</span>.<span class="src-str">'.php'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a66"></a> </div></li> |
<li><div class="src-line"><a name="a67"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/file_exists">file_exists</a><span class="src-sym">(</span><span class="src-var">$fichier_script</span><span class="src-sym">))</span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a68"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">"</span><span class="src-str">Erreur : script '<span class="src-var">$fichier_script</span>' inconnu!\n</span><span class="src-str">"</span><span class="src-sym">, </span><span class="src-id">E_USER_ERROR</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a69"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a70"></a> <span class="src-inc">require_once </span><span class="src-var">$fichier_script</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a71"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/class_exists">class_exists</a><span class="src-sym">( </span><span class="src-var">$classe_nom</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a72"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">"</span><span class="src-str">Erreur: impossible de trouver la classe de la commande : <span class="src-var">$classe_nom</span>\n</span><span class="src-str">"</span><span class="src-sym">, </span><span class="src-id">E_USER_ERROR</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a73"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a74"></a> <span class="src-var">$Script </span>= <span class="src-key">new </span><span class="src-var">$classe_nom</span><span class="src-sym">(</span><span class="src-var">$script_nom</span><span class="src-sym">, </span><span class="src-var">$parametres</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a75"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a76"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a77"></a> <span class="src-key">return </span><span class="src-var">$Script</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a78"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a79"></a> </div></li> |
<li><div class="src-line"><a name="a80"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">obtenirNomClasse</span><span class="src-sym">(</span><span class="src-var">$script_nom</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a81"></a> <span class="src-var">$nom_classe </span>= <a href="http://www.php.net/implode">implode</a><span class="src-sym">(</span><span class="src-str">''</span><span class="src-sym">, </span><a href="http://www.php.net/array_map">array_map</a><span class="src-sym">(</span><span class="src-str">'ucfirst'</span><span class="src-sym">, </span><a href="http://www.php.net/explode">explode</a><span class="src-sym">(</span><span class="src-str">'_'</span><span class="src-sym">, </span><a href="http://www.php.net/strtolower">strtolower</a><span class="src-sym">(</span><span class="src-var">$script_nom</span><span class="src-sym">))))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a82"></a> <span class="src-key">return </span><span class="src-var">$nom_classe</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a83"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a84"></a> </div></li> |
<li><div class="src-line"><a name="a85"></a> <span class="src-key">private </span><span class="src-key">static </span><span class="src-key">function </span><span class="src-id">getParametres</span><span class="src-sym">(</span><span class="src-var">$argv</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a86"></a> <span class="src-var">$parametres </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a87"></a> <span class="src-comm">// Récupération des options</span></div></li> |
<li><div class="src-line"><a name="a88"></a> <span class="src-key">while </span><span class="src-sym">(</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$argv</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a89"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$argv</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">) </span>&& <span class="src-var">$argv</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">{</span><span class="src-num">0</span><span class="src-sym">} </span>!= <span class="src-str">'-'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a90"></a> <span class="src-var">$param </span>= <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$argv</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a91"></a> <span class="src-var">$parametres</span><span class="src-sym">[</span><span class="src-var">$param</span><span class="src-sym">] </span>= <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$argv</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a92"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-sym">!</span>isset<span class="src-sym">(</span><span class="src-var">$argv</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">) </span>|| <span class="src-var">$argv</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">{</span><span class="src-num">0</span><span class="src-sym">} </span>== <span class="src-str">'-'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a93"></a> <span class="src-var">$parametres</span><span class="src-sym">[</span><a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$argv</span><span class="src-sym">)</span><span class="src-sym">] </span>= <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a94"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a95"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">"Erreur: valeur manquante pour le paramêtre '"</span>.<span class="src-var">$argv</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span>.<span class="src-str">"' \n"</span><span class="src-sym">, </span><span class="src-id">E_USER_ERROR</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a96"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a97"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a98"></a> <span class="src-key">return </span><span class="src-var">$parametres</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a99"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a100"></a><span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a101"></a><span class="src-php">?></span></div></li> |
</ol></div> |
</div> |
<p class="notes" id="credit"> |
Documentation generated on Tue, 18 Jan 2011 15:01:28 +0100 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.3</a> |
</p> |
</body> |
</html> |
/trunk/doc/HTMLframesConverter/__filesource/fsource_Utilitaire__utilitairesPattern.php.html |
---|
New file |
0,0 → 1,44 |
<?xml version="1.0" encoding="UTF-8"?> |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
<html xmlns="http://www.w3.org/1999/xhtml"> |
<head> |
<!-- template designed by Marco Von Ballmoos --> |
<title>File Source for Pattern.php</title> |
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'/> |
<link rel="stylesheet" href="../media/stylesheet.css" /> |
</head> |
<body> |
<h1>Source for file Pattern.php</h1> |
<p>Documentation is available at <a href="../Utilitaire/_utilitaires---Pattern.php.html">Pattern.php</a></p> |
<div class="src-code"> |
<div class="src-code"><ol><li><div class="src-line"><a name="a1"></a><span class="src-php"><?php</span></div></li> |
<li><div class="src-line"><a name="a2"></a><span class="src-comm">// declare(encoding='UTF-8');</span></div></li> |
<li><div class="src-line"><a name="a3"></a><span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a4"></a><span class="src-doc"> * Classe fournissant des constantes correspondant à des expressions régulières de vérification très courrantes.</span></div></li> |
<li><div class="src-line"><a name="a5"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a6"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@category</span><span class="src-doc"> PHP 5.2</span></div></li> |
<li><div class="src-line"><a name="a7"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@package</span><span class="src-doc"> Utilitaire</span></div></li> |
<li><div class="src-line"><a name="a8"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@author</span><span class="src-doc"> Jean-Pascal MILCENT <jpm@tela-botanica.org></span></div></li> |
<li><div class="src-line"><a name="a9"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@copyright</span><span class="src-doc"> Copyright (c) 2009, Tela Botanica (accueil@tela-botanica.org)</span></div></li> |
<li><div class="src-line"><a name="a10"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.gnu.org/licenses/gpl.html Licence GNU-GPL-v3</span></div></li> |
<li><div class="src-line"><a name="a11"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL-v2</span></div></li> |
<li><div class="src-line"><a name="a12"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@version</span><span class="src-doc"> $Id$</span></div></li> |
<li><div class="src-line"><a name="a13"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@link</span><span class="src-doc"> /doc/framework/</span></div></li> |
<li><div class="src-line"><a name="a14"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a15"></a><span class="src-key">class </span><a href="../Utilitaire/Pattern.html">Pattern</a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a16"></a> <span class="src-key">const </span><span class="src-id">PRENOM </span>= <span class="src-str">"[\p{L}-]+"</span><span class="src-sym">;</span><span class="src-comm">// Pattern prénom</span></div></li> |
<li><div class="src-line"><a name="a17"></a> <span class="src-key">const </span><span class="src-id">NOM </span>= <span class="src-str">"[\p{Lu}]+"</span><span class="src-sym">;</span><span class="src-comm">// Pattern nom</span></div></li> |
<li><div class="src-line"><a name="a18"></a> <span class="src-key">const </span><span class="src-id">COURRIEL </span>= <span class="src-str">"[a-z0-9!#$%&'*+=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?"</span><span class="src-sym">;</span><span class="src-comm">// Pattern courriel</span></div></li> |
<li><div class="src-line"><a name="a19"></a> <span class="src-key">const </span><span class="src-id">URL </span>= <span class="src-str">"^(?:(?:ht|f)tp(?:s?)\\:\\/\\/|~/|/)?(?:\\w+:\\w+@)?(?:(?:[-\\w]+\\.)+(?:com|org|net|gov|mil|biz|info|mobi|name|aero|jobs|museum|travel|[a-z]{2}))(?::[\\d]{1,5})?(?:(?:(?:/(?:[-\\w~!$+|.,=]|%[a-f\\d]{2})+)+|/)+|\\?|#)?(?:(?:\\?(?:[-\\w~!$+|.,*:]|%[a-f\\d{2}])+=(?:[-\\w~!$+|.,*:=]|%[a-f\\d]{2})*)(?:&(?:[-\\w~!$+|.,*:]|%[a-f\\d{2}])+=(?:[-\\w~!$+|.,*:=]|%[a-f\\d]{2})*)*)*(?:#(?:[-\\w~!$+|.,*:=]|%[a-f\\d]{2})*)?$"</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a20"></a> <span class="src-key">const </span><span class="src-id">HEURE_MINUTE </span>= <span class="src-str">"^(?:[0-1][0-9]|2[0-4]):(?:[0-5][0-9]|60)$"</span><span class="src-sym">;</span><span class="src-comm">// Heure au format 24h avec séparateur d'heure et minute ':' </span></div></li> |
<li><div class="src-line"><a name="a21"></a> <span class="src-key">const </span><span class="src-id">LATITUDE </span>= <span class="src-str">"^-?([0-8]?[0-9]([.,][0-9]*)?|90)$"</span><span class="src-sym">; </span><span class="src-comm">// Nombre décimal positif ou négatif allant de 0 à 89 ou nombre entier valant 90 avec pour séparateur des décimales "." ou ","</span></div></li> |
<li><div class="src-line"><a name="a22"></a> <span class="src-key">const </span><span class="src-id">LONGITUDE </span>= <span class="src-str">"^-?((1[0-7][0-9]|[1-9]?[0-9])([.,][0-9]*)?|180)$"</span><span class="src-sym">; </span><span class="src-comm">// Nombre décimal positif ou négatif allant de 0 à 179 ou nombre entier valant 180 avec pour séparateur des décimales "." ou ","</span></div></li> |
<li><div class="src-line"><a name="a23"></a><span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a24"></a><span class="src-php">?></span></div></li> |
</ol></div> |
</div> |
<p class="notes" id="credit"> |
Documentation generated on Tue, 18 Jan 2011 15:01:39 +0100 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.3</a> |
</p> |
</body> |
</html> |
/trunk/doc/HTMLframesConverter/__filesource/fsource_Utilitaire__utilitairesTableau.php.html |
---|
New file |
0,0 → 1,63 |
<?xml version="1.0" encoding="UTF-8"?> |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
<html xmlns="http://www.w3.org/1999/xhtml"> |
<head> |
<!-- template designed by Marco Von Ballmoos --> |
<title>File Source for Tableau.php</title> |
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'/> |
<link rel="stylesheet" href="../media/stylesheet.css" /> |
</head> |
<body> |
<h1>Source for file Tableau.php</h1> |
<p>Documentation is available at <a href="../Utilitaire/_utilitaires---Tableau.php.html">Tableau.php</a></p> |
<div class="src-code"> |
<div class="src-code"><ol><li><div class="src-line"><a name="a1"></a><span class="src-php"><?php</span></div></li> |
<li><div class="src-line"><a name="a2"></a><span class="src-comm">// declare(encoding='UTF-8');</span></div></li> |
<li><div class="src-line"><a name="a3"></a><span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a4"></a><span class="src-doc"> * Classe fournissant des méthodes statiques de manipulation des tableaux (Array).</span></div></li> |
<li><div class="src-line"><a name="a5"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a6"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@category</span><span class="src-doc"> PHP 5.2</span></div></li> |
<li><div class="src-line"><a name="a7"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@package</span><span class="src-doc"> Utilitaire</span></div></li> |
<li><div class="src-line"><a name="a8"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@author</span><span class="src-doc"> Jean-Pascal MILCENT <jpm@tela-botanica.org></span></div></li> |
<li><div class="src-line"><a name="a9"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@copyright</span><span class="src-doc"> Copyright (c) 2009, Tela Botanica (accueil@tela-botanica.org)</span></div></li> |
<li><div class="src-line"><a name="a10"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.gnu.org/licenses/gpl.html Licence GNU-GPL-v3</span></div></li> |
<li><div class="src-line"><a name="a11"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL-v2</span></div></li> |
<li><div class="src-line"><a name="a12"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@version</span><span class="src-doc"> $Id$</span></div></li> |
<li><div class="src-line"><a name="a13"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@link</span><span class="src-doc"> /doc/framework/</span></div></li> |
<li><div class="src-line"><a name="a14"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a15"></a><span class="src-key">class </span><a href="../Utilitaire/Tableau.html">Tableau</a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a16"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a17"></a><span class="src-doc"> * Etend le tableau à étendre avec les données du tableau à copier. Si des clés sont identiques entre les deux tableaux</span></div></li> |
<li><div class="src-line"><a name="a18"></a><span class="src-doc"> * une erreur est déclenchée et la valeur du tableau à étendre est gardée. Si les deux tableaux ont des clés numériques</span></div></li> |
<li><div class="src-line"><a name="a19"></a><span class="src-doc"> * leurs valeurs sont gardées (à la différence de array_merge).</span></div></li> |
<li><div class="src-line"><a name="a20"></a><span class="src-doc"> * Les tableaux sont passés par références et le tableau à copier est progressivement détruit pour éviter la consomation</span></div></li> |
<li><div class="src-line"><a name="a21"></a><span class="src-doc"> * de mémoire.</span></div></li> |
<li><div class="src-line"><a name="a22"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a23"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$tableau_a_etendre </span></div></li> |
<li><div class="src-line"><a name="a24"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$tableau_a_copier </span></div></li> |
<li><div class="src-line"><a name="a25"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">void </span></div></li> |
<li><div class="src-line"><a name="a26"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a27"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Utilitaire/Tableau.html#methodetendre">etendre</a><span class="src-sym">(</span><span class="src-key">Array </span><span class="src-sym">&</span><span class="src-var">$tableau_a_etendre</span><span class="src-sym">, </span><span class="src-key">Array </span><span class="src-sym">&</span><span class="src-var">$tableau_a_copier</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a28"></a> <span class="src-var">$cles_existantes </span>= <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a29"></a> <span class="src-key">foreach</span><span class="src-sym">(</span><span class="src-var">$tableau_a_copier </span><span class="src-key">as </span><span class="src-var">$cle </span>=> <span class="src-var">$val</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a30"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span>isset<span class="src-sym">(</span><span class="src-var">$tableau_a_etendre</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a31"></a> <span class="src-var">$tableau_a_etendre</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">] </span>= <span class="src-var">$val</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a32"></a> unset<span class="src-sym">(</span><span class="src-var">$tableau_a_copier</span><span class="src-sym">[</span><span class="src-var">$cle</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a33"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a34"></a> <span class="src-var">$cles_existantes </span>= <span class="src-var">$cle</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a35"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a36"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a37"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">is_array</span><span class="src-sym">(</span><span class="src-var">$cles_existantes</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a38"></a> <span class="src-var">$e </span>= <span class="src-str">"Le tableau a étendre contenait déjà les clés suivantes : "</span>.<span class="src-id">implode</span><span class="src-sym">(</span><span class="src-str">', '</span><span class="src-sym">, </span><span class="src-var">$cles_existantes</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a39"></a> <span class="src-id">trigger_error</span><span class="src-sym">(</span><span class="src-var">$e</span><span class="src-sym">, </span><span class="src-id">E_USER_WARNING</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a40"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a41"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a42"></a><span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a43"></a><span class="src-php">?></span></div></li> |
</ol></div> |
</div> |
<p class="notes" id="credit"> |
Documentation generated on Tue, 18 Jan 2011 15:01:45 +0100 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.3</a> |
</p> |
</body> |
</html> |
/trunk/doc/HTMLframesConverter/__filesource/fsource_Framework__CacheSimple.php.html |
---|
New file |
0,0 → 1,119 |
<?xml version="1.0" encoding="UTF-8"?> |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
<html xmlns="http://www.w3.org/1999/xhtml"> |
<head> |
<!-- template designed by Marco Von Ballmoos --> |
<title>File Source for CacheSimple.php</title> |
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'/> |
<link rel="stylesheet" href="../media/stylesheet.css" /> |
</head> |
<body> |
<h1>Source for file CacheSimple.php</h1> |
<p>Documentation is available at <a href="../Framework/_CacheSimple.php.html">CacheSimple.php</a></p> |
<div class="src-code"> |
<div class="src-code"><ol><li><div class="src-line"><a name="a1"></a><span class="src-php"><?php</span></div></li> |
<li><div class="src-line"><a name="a2"></a><span class="src-comm">// declare(encoding='UTF-8');</span></div></li> |
<li><div class="src-line"><a name="a3"></a><span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a4"></a><span class="src-doc"> * Classe Cache permettant de mettre en cache des données de façon extremement simple.</span></div></li> |
<li><div class="src-line"><a name="a5"></a><span class="src-doc"> * Le cache est stocker dans des fichiers textes.</span></div></li> |
<li><div class="src-line"><a name="a6"></a><span class="src-doc"> * Le contrôle de la durée de vie du cache se fait avec la fonction PHP filemtime.</span></div></li> |
<li><div class="src-line"><a name="a7"></a><span class="src-doc"> * Si la durée de vie du cache est modifiée dans le constructeur ou le fichier de config, alors la durée de vie de l'ensemble</span></div></li> |
<li><div class="src-line"><a name="a8"></a><span class="src-doc"> * des fichiers de cache est modifiée en conséquence.</span></div></li> |
<li><div class="src-line"><a name="a9"></a><span class="src-doc"> * Les clés pour le tableau des options et les valeurs par défaut sont indiquées dans l'attribut options de la classe.</span></div></li> |
<li><div class="src-line"><a name="a10"></a><span class="src-doc"> * </span></div></li> |
<li><div class="src-line"><a name="a11"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@category</span><span class="src-doc"> php 5.2</span></div></li> |
<li><div class="src-line"><a name="a12"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@package</span><span class="src-doc"> Framework</span></div></li> |
<li><div class="src-line"><a name="a13"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@author</span><span class="src-doc"> Jean-Pascal MILCENT <jpm@tela-botanica.org></span></div></li> |
<li><div class="src-line"><a name="a14"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@author</span><span class="src-doc"> Aurélien PERONNET <aurelien@tela-botanica.org></span></div></li> |
<li><div class="src-line"><a name="a15"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@copyright</span><span class="src-doc"> Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org)</span></div></li> |
<li><div class="src-line"><a name="a16"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://framework.zend.com/license/new-bsd Licence New BSD</span></div></li> |
<li><div class="src-line"><a name="a17"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL</span></div></li> |
<li><div class="src-line"><a name="a18"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.gnu.org/licenses/gpl.html Licence GNU-GPL</span></div></li> |
<li><div class="src-line"><a name="a19"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@version</span><span class="src-doc"> $Id$</span></div></li> |
<li><div class="src-line"><a name="a20"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@link</span><span class="src-doc"> /doc/framework/</span></div></li> |
<li><div class="src-line"><a name="a21"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a22"></a><span class="src-key">class </span><a href="../Framework/CacheSimple.html">CacheSimple</a> <span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a23"></a> </div></li> |
<li><div class="src-line"><a name="a24"></a> <span class="src-key">private </span><span class="src-var">$mise_en_cache </span>= <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a25"></a> <span class="src-key">private </span><span class="src-var">$stockage_chemin </span>= <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a26"></a> <span class="src-key">private </span><span class="src-var">$duree_de_vie </span>= <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a27"></a> </div></li> |
<li><div class="src-line"><a name="a28"></a> <span class="src-key">private </span><span class="src-var">$options </span>= <span class="src-key">array</span><span class="src-sym">(</span></div></li> |
<li><div class="src-line"><a name="a29"></a> <span class="src-str">'mise_en_cache' </span>=> <span class="src-str">'true'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a30"></a> <span class="src-str">'stockage_chemin' </span>=> <span class="src-str">'Fichier::getDossierTmp()'</span><span class="src-sym">,</span></div></li> |
<li><div class="src-line"><a name="a31"></a> <span class="src-str">'duree_de_vie' </span>=> <span class="src-str">'3600*24'</span></div></li> |
<li><div class="src-line"><a name="a32"></a> <span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a33"></a> </div></li> |
<li><div class="src-line"><a name="a34"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/CacheSimple.html#method__construct">__construct</a><span class="src-sym">(</span><span class="src-var">$options </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a35"></a> <a href="http://www.php.net/extract">extract</a><span class="src-sym">(</span><span class="src-var">$options</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a36"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">mise_en_cache </span>= <a href="http://www.php.net/is_bool">is_bool</a><span class="src-sym">(</span><span class="src-var">$mise_en_cache</span><span class="src-sym">) </span>? <span class="src-var">$mise_en_cache </span>: <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a37"></a> </div></li> |
<li><div class="src-line"><a name="a38"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">mise_en_cache</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a39"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">stockage_chemin </span>= isset<span class="src-sym">(</span><span class="src-var">$stockage_chemin</span><span class="src-sym">) </span>? <a href="http://www.php.net/realpath">realpath</a><span class="src-sym">(</span><span class="src-var">$stockage_chemin</span><span class="src-sym">) </span>: <span class="src-id"><a href="../Utilitaire/Fichier.html">Fichier</a></span><span class="src-sym">::</span><a href="../Utilitaire/Fichier.html#methodgetDossierTmp">getDossierTmp</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a40"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">duree_de_vie </span>= isset<span class="src-sym">(</span><span class="src-var">$duree_de_vie</span><span class="src-sym">) </span>? <span class="src-var">$duree_de_vie </span>: <span class="src-num">3600</span>*<span class="src-num">24</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a41"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a42"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a43"></a> </div></li> |
<li><div class="src-line"><a name="a44"></a> <span class="src-key">private </span><span class="src-key">function </span><span class="src-id">initialiserOptionsParConfig</span><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a45"></a> <span class="src-key">while </span><span class="src-sym">(</span>list<span class="src-sym">(</span><span class="src-var">$nom</span><span class="src-sym">, </span><span class="src-var">$valeur</span><span class="src-sym">) </span>= <a href="http://www.php.net/each">each</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">options</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a46"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodexiste">existe</a><span class="src-sym">(</span><span class="src-var">$nom</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a47"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">$nom </span>= <span class="src-id"><a href="../Framework/Config.html">Config</a></span><span class="src-sym">::</span><a href="../Framework/Config.html#methodget">get</a><span class="src-sym">(</span><span class="src-var">$nom</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a48"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a49"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a50"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a51"></a> </div></li> |
<li><div class="src-line"><a name="a52"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a53"></a><span class="src-doc"> * Teste si le cache est disponible pour l'id donné et (si oui) le retourne (sinon renvoie false)</span></div></li> |
<li><div class="src-line"><a name="a54"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a55"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">string </span><span class="src-doc"> </span><span class="src-doc-var">$id </span><span class="src-doc">l'identifiant du Cache.</span></div></li> |
<li><div class="src-line"><a name="a56"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string</span><span class="src-doc">|</span><span class="src-doc-type">false</span><span class="src-doc">les données en cache.</span></div></li> |
<li><div class="src-line"><a name="a57"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a58"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/CacheSimple.html#methodcharger">charger</a><span class="src-sym">(</span><span class="src-var">$id</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a59"></a> <span class="src-var">$contenu </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a60"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">mise_en_cache</span><span class="src-sym">) </span><span class="src-sym">{ </span></div></li> |
<li><div class="src-line"><a name="a61"></a> <span class="src-var">$chemin_fichier_cache </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">stockage_chemin</span>.<span class="src-id">DS</span>.<span class="src-var">$id</span>.<span class="src-str">'.txt'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a62"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/file_exists">file_exists</a><span class="src-sym">(</span><span class="src-var">$chemin_fichier_cache </span><span class="src-sym">) </span>&& <span class="src-sym">(</span><a href="http://www.php.net/time">time</a><span class="src-sym">(</span><span class="src-sym">) </span>- <span class="src-sym">@</span><a href="http://www.php.net/filemtime">filemtime</a><span class="src-sym">(</span><span class="src-var">$chemin_fichier_cache</span><span class="src-sym">) </span>< <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">duree_de_vie</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a63"></a> <span class="src-var">$contenu </span>= <a href="http://www.php.net/file_get_contents">file_get_contents</a><span class="src-sym">(</span><span class="src-var">$chemin_fichier_cache</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a64"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a65"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a66"></a> <span class="src-key">return </span><span class="src-var">$contenu</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a67"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a68"></a> </div></li> |
<li><div class="src-line"><a name="a69"></a> <span class="src-doc">/**</span></div></li> |
<li><div class="src-line"><a name="a70"></a><span class="src-doc"> * Sauvegarde la chaine de données dans un fichier texte.</span></div></li> |
<li><div class="src-line"><a name="a71"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a72"></a><span class="src-doc"> * Note : $contenu est toujours de type "string". C'est à vous de gérer la sérialisation.</span></div></li> |
<li><div class="src-line"><a name="a73"></a><span class="src-doc"> *</span></div></li> |
<li><div class="src-line"><a name="a74"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">string </span><span class="src-doc-var">$contenu </span><span class="src-doc">les données à mettre en cache.</span></div></li> |
<li><div class="src-line"><a name="a75"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc"> </span><span class="src-doc-type">string </span><span class="src-doc-var">$id </span><span class="src-doc"> l'identifiant du Cache.</span></div></li> |
<li><div class="src-line"><a name="a76"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">boolean </span><span class="src-doc">true si aucun problème</span></div></li> |
<li><div class="src-line"><a name="a77"></a><span class="src-doc"> */</span></div></li> |
<li><div class="src-line"><a name="a78"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Framework/CacheSimple.html#methodsauver">sauver</a><span class="src-sym">(</span><span class="src-var">$contenu</span><span class="src-sym">, </span><span class="src-var">$id</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a79"></a> <span class="src-var">$ok </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a80"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">mise_en_cache</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a81"></a> <span class="src-var">$chemin_fichier_cache </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">stockage_chemin</span>.<span class="src-id">DS</span>.<span class="src-var">$id</span>.<span class="src-str">'.txt'</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a82"></a> </div></li> |
<li><div class="src-line"><a name="a83"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/file_exists">file_exists</a><span class="src-sym">(</span><span class="src-var">$chemin_fichier_cache</span><span class="src-sym">) </span>|| <span class="src-sym">(</span><a href="http://www.php.net/time">time</a><span class="src-sym">(</span><span class="src-sym">) </span>- <span class="src-sym">@</span><a href="http://www.php.net/filemtime">filemtime</a><span class="src-sym">(</span><span class="src-var">$chemin_fichier_cache</span><span class="src-sym">) </span>> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">duree_de_vie</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a84"></a> <span class="src-var">$fh </span>= <a href="http://www.php.net/fopen">fopen</a><span class="src-sym">(</span><span class="src-var">$chemin_fichier_cache</span><span class="src-sym">,</span><span class="src-str">'w+'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a85"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$fh</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a86"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/fwrite">fwrite</a><span class="src-sym">(</span><span class="src-var">$fh</span><span class="src-sym">, </span><span class="src-var">$contenu</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a87"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/fclose">fclose</a><span class="src-sym">(</span><span class="src-var">$fh</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
<li><div class="src-line"><a name="a88"></a> <span class="src-var">$ok </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a89"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a90"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a91"></a> <span class="src-comm">// Voir #ZF-4422 pour la raison de l'utilisation de octdec()</span></div></li> |
<li><div class="src-line"><a name="a92"></a> <span class="src-sym">@</span><a href="http://www.php.net/chmod">chmod</a><span class="src-sym">(</span><span class="src-var">$chemin_fichier_cache</span><span class="src-sym">, </span><a href="http://www.php.net/octdec">octdec</a><span class="src-sym">(</span><span class="src-str">'0777'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a93"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a94"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a95"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a96"></a> <span class="src-key">return </span><span class="src-var">$ok</span><span class="src-sym">;</span></div></li> |
<li><div class="src-line"><a name="a97"></a> <span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a98"></a><span class="src-sym">}</span></div></li> |
<li><div class="src-line"><a name="a99"></a><span class="src-php">?></span></div></li> |
</ol></div> |
</div> |
<p class="notes" id="credit"> |
Documentation generated on Tue, 18 Jan 2011 15:01:25 +0100 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.3</a> |
</p> |
</body> |
</html> |