Phpunit 1

This commit is contained in:
xdrm-brackets 2017-05-12 22:40:51 +02:00
parent 7182be076c
commit bcc35f32dc
25 changed files with 357 additions and 12134 deletions

1
.gitignore vendored
View File

@ -5,3 +5,4 @@
/lib/vendor
*.lock
/vendor/
/phpunit/coverage

View File

@ -12,5 +12,16 @@
"phpro/grumphp": "^0.11.5",
"jakub-onderka/php-parallel-lint": "^0.9.2",
"phpunit/phpunit": "^6.1"
},
"autoload": {
"psr-4": {
"database\\": "build/database",
"api\\": "build/api",
"error\\": "build/error",
"orm\\": "build/orm",
"http\\": "build/http",
"router\\": "build/router",
"viewer\\": "build/viewer"
}
}
}

70
phpunit/bootstrap.php Executable file → Normal file
View File

@ -1,11 +1,69 @@
<?php define('__ROOT__', dirname(dirname(__FILE__)) );
<?php
require_once './vendor/autoload.php';
// On definit les constantes inexistantes dans PHPUnit
$_SERVER['HTTP_HOST'] = 'stefproject';
$_SERVER['REMOTE_ADDR'] = '127.0.0.1';
$_SERVER['HTTP_USER_AGENT'] = 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:44.0) Gecko/20100101 Firefox/44.0';
/* [0] On definit la racine __ROOT__ si c'est pas deja fait
=========================================================*/
if( !defined('__ROOT__') ) define('__ROOT__', dirname(dirname(__FILE__)) );
if( !defined('__CONFIG__') ) define('__CONFIG__', __ROOT__.'/config' );
if( !defined('__BUILD__') ) define('__BUILD__', __ROOT__.'/build' );
if( !defined('__PUBLIC__') ) define('__PUBLIC__', __ROOT__.'/public_html' );
require_once __ROOT__.'/autoloader.php';
/* [1] On définit __SERVER_HOST__ et __SERVER_ROOT__ si c'est pas déja fait
=========================================================*/
if( !defined('__SERVER_HOST__') || !defined('__SERVER_ROOT__') ){
/* (1) On charge le fichier de configuration */
$json = json_decode( file_get_contents(__ROOT__.'/config/server.json'), true );
// Si pas d'erreur, on définit
if( !is_null($json) ){
/* (2) Gestion de la config si server local ou remote */
if( !isset($_SERVER['SERVER_NAME']) || !checkdnsrr($_SERVER['SERVER_NAME'], 'NS') )
$config = $json['local'];
else
$config = $json['remote'];
/* (3) Création des constantes */
define('__SERVER_HOST__', $config['host']);
define('__SERVER_ROOT__', $config['root']);
}
}
/* ACTIVE LE DEBUGGAGE (WARNING + EXCEPTION)
*
*/
function debug(){
ini_set('display_errors',1);
ini_set('display_startup_errors',1);
error_reporting(-1);
}
/*************************/
/* SECURE SHA1 ALGORITHM */
/*************************/
function secure_hash($data, $salt='">\[..|{@#))', $depth=1){
/* (1) On hash @depth fois
---------------------------------------------------------*/
$hash = $data;
$c = 0;
for( $h = 0 ; $h < $depth ; $h++ ){
$hash = hash('sha512', $salt.hash('sha512', $hash.'_)Q@#((%*_$%(@#') );
$c++;
}
/* (2) On renvoie le résultat
---------------------------------------------------------*/
return $hash;
}

File diff suppressed because one or more lines are too long

View File

@ -1,231 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Code Coverage for /var/www/stefproject/manager/Error.php</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/bootstrap-responsive.min.css" rel="stylesheet">
<link href="css/style.css" rel="stylesheet">
<!--[if lt IE 9]>
<script src="js/html5shiv.js"></script>
<![endif]-->
</head>
<body>
<header>
<div class="container">
<div class="row">
<div class="span12">
<ul class="breadcrumb">
<li><a href="index.html">/var/www/stefproject/manager</a> <span class="divider">/</span></li>
<li class="active">Error.php</li>
</ul>
</div>
</div>
</div>
</header>
<div class="container">
<table class="table table-bordered">
<thead>
<tr>
<td>&nbsp;</td>
<td colspan="10"><div align="center"><strong>Code Coverage</strong></div></td>
</tr>
<tr>
<td>&nbsp;</td>
<td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td>
<td colspan="4"><div align="center"><strong>Functions and Methods</strong></div></td>
<td colspan="3"><div align="center"><strong>Lines</strong></div></td>
</tr>
</thead>
<tbody>
<tr>
<td class="success">Total</td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
<td class="success small"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">16&nbsp;/&nbsp;16</div></td>
</tr>
<tr>
<td class="success">Error</td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
<td class="success small">16</td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">16&nbsp;/&nbsp;16</div></td>
</tr>
<tr>
<td class="success" colspan="4">&nbsp;<a href="#71">explicit($error)</a></td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
<td class="success small">16</td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">16&nbsp;/&nbsp;16</div></td>
</tr>
</tbody>
</table>
<table class="table table-borderless table-condensed">
<tbody>
<tr><td><div align="right"><a name="1"></a><a href="#1">1</a></div></td><td class="codeLine">&lt;?php</td></tr>
<tr><td><div align="right"><a name="2"></a><a href="#2">2</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="3"></a><a href="#3">3</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="4"></a><a href="#4">4</a></div></td><td class="codeLine"> namespace manager;</td></tr>
<tr><td><div align="right"><a name="5"></a><a href="#5">5</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="6"></a><a href="#6">6</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="7"></a><a href="#7">7</a></div></td><td class="codeLine"> class Error{</td></tr>
<tr><td><div align="right"><a name="8"></a><a href="#8">8</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="9"></a><a href="#9">9</a></div></td><td class="codeLine"> /* SUCCESS */</td></tr>
<tr><td><div align="right"><a name="10"></a><a href="#10">10</a></div></td><td class="codeLine"> const Success = 0;</td></tr>
<tr><td><div align="right"><a name="11"></a><a href="#11">11</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="12"></a><a href="#12">12</a></div></td><td class="codeLine"> /* Parsage json */</td></tr>
<tr><td><div align="right"><a name="13"></a><a href="#13">13</a></div></td><td class="codeLine"> const ParsingFailed = 1;</td></tr>
<tr><td><div align="right"><a name="14"></a><a href="#14">14</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="15"></a><a href="#15">15</a></div></td><td class="codeLine"> /* ResourceDispatcher */</td></tr>
<tr><td><div align="right"><a name="16"></a><a href="#16">16</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="17"></a><a href="#17">17</a></div></td><td class="codeLine"> // Drapeaux invalides</td></tr>
<tr><td><div align="right"><a name="18"></a><a href="#18">18</a></div></td><td class="codeLine"> const InvalidFlags = 2;</td></tr>
<tr><td><div align="right"><a name="19"></a><a href="#19">19</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="20"></a><a href="#20">20</a></div></td><td class="codeLine"> // Fichier inexistant</td></tr>
<tr><td><div align="right"><a name="21"></a><a href="#21">21</a></div></td><td class="codeLine"> const UnreachableResource = 3;</td></tr>
<tr><td><div align="right"><a name="22"></a><a href="#22">22</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="23"></a><a href="#23">23</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="24"></a><a href="#24">24</a></div></td><td class="codeLine"> /* ModuleRequest */</td></tr>
<tr><td><div align="right"><a name="25"></a><a href="#25">25</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="26"></a><a href="#26">26</a></div></td><td class="codeLine"> // Le @path n'est pas renseigne</td></tr>
<tr><td><div align="right"><a name="27"></a><a href="#27">27</a></div></td><td class="codeLine"> const MissingPath = 4;</td></tr>
<tr><td><div align="right"><a name="28"></a><a href="#28">28</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="29"></a><a href="#29">29</a></div></td><td class="codeLine"> // Verification de la coherence du chemin (existe dans la conf)</td></tr>
<tr><td><div align="right"><a name="30"></a><a href="#30">30</a></div></td><td class="codeLine"> const WrongPathModule = 5;</td></tr>
<tr><td><div align="right"><a name="31"></a><a href="#31">31</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="32"></a><a href="#32">32</a></div></td><td class="codeLine"> // Module non specifie dans la conf</td></tr>
<tr><td><div align="right"><a name="33"></a><a href="#33">33</a></div></td><td class="codeLine"> const UnknownModule = 6;</td></tr>
<tr><td><div align="right"><a name="34"></a><a href="#34">34</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="35"></a><a href="#35">35</a></div></td><td class="codeLine"> // Methode non specifie pour ce Module dans la conf</td></tr>
<tr><td><div align="right"><a name="36"></a><a href="#36">36</a></div></td><td class="codeLine"> const UnknownMethod = 7;</td></tr>
<tr><td><div align="right"><a name="37"></a><a href="#37">37</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="38"></a><a href="#38">38</a></div></td><td class="codeLine"> // Methode inamorcable</td></tr>
<tr><td><div align="right"><a name="39"></a><a href="#39">39</a></div></td><td class="codeLine"> const UncallableMethod = 8;</td></tr>
<tr><td><div align="right"><a name="40"></a><a href="#40">40</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="41"></a><a href="#41">41</a></div></td><td class="codeLine"> // Erreur de parametre(s)</td></tr>
<tr><td><div align="right"><a name="42"></a><a href="#42">42</a></div></td><td class="codeLine"> const ParamError = 9;</td></tr>
<tr><td><div align="right"><a name="43"></a><a href="#43">43</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="44"></a><a href="#44">44</a></div></td><td class="codeLine"> // Erreur dans le traitement</td></tr>
<tr><td><div align="right"><a name="45"></a><a href="#45">45</a></div></td><td class="codeLine"> const ModuleError = 10;</td></tr>
<tr><td><div align="right"><a name="46"></a><a href="#46">46</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="47"></a><a href="#47">47</a></div></td><td class="codeLine"> /* Repo */</td></tr>
<tr><td><div align="right"><a name="48"></a><a href="#48">48</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="49"></a><a href="#49">49</a></div></td><td class="codeLine"> // Verification de la coherence du chemin (existe dans la conf)</td></tr>
<tr><td><div align="right"><a name="50"></a><a href="#50">50</a></div></td><td class="codeLine"> const WrongPathRepo = 11;</td></tr>
<tr><td><div align="right"><a name="51"></a><a href="#51">51</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="52"></a><a href="#52">52</a></div></td><td class="codeLine"> // Module non specifie dans la conf</td></tr>
<tr><td><div align="right"><a name="53"></a><a href="#53">53</a></div></td><td class="codeLine"> const UnknownRepo = 12;</td></tr>
<tr><td><div align="right"><a name="54"></a><a href="#54">54</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="55"></a><a href="#55">55</a></div></td><td class="codeLine"> // Erreur dans le traitement</td></tr>
<tr><td><div align="right"><a name="56"></a><a href="#56">56</a></div></td><td class="codeLine"> const RepoError = 13;</td></tr>
<tr><td><div align="right"><a name="57"></a><a href="#57">57</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="58"></a><a href="#58">58</a></div></td><td class="codeLine"> /* Database */</td></tr>
<tr><td><div align="right"><a name="59"></a><a href="#59">59</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="60"></a><a href="#60">60</a></div></td><td class="codeLine"> // Erreur lors de la creation d'un objet PDO (connection)</td></tr>
<tr><td><div align="right"><a name="61"></a><a href="#61">61</a></div></td><td class="codeLine"> const PDOConnection = 14;</td></tr>
<tr><td><div align="right"><a name="62"></a><a href="#62">62</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="63"></a><a href="#63">63</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="64"></a><a href="#64">64</a></div></td><td class="codeLine"> /* EXPLICITE UN CODE D'ERREUR</td></tr>
<tr><td><div align="right"><a name="65"></a><a href="#65">65</a></div></td><td class="codeLine"> *</td></tr>
<tr><td><div align="right"><a name="66"></a><a href="#66">66</a></div></td><td class="codeLine"> * @error&lt;Integer&gt; Code d'erreur</td></tr>
<tr><td><div align="right"><a name="67"></a><a href="#67">67</a></div></td><td class="codeLine"> *</td></tr>
<tr><td><div align="right"><a name="68"></a><a href="#68">68</a></div></td><td class="codeLine"> * @return explicit&lt;String&gt; Description explicite du code d'erreur</td></tr>
<tr><td><div align="right"><a name="69"></a><a href="#69">69</a></div></td><td class="codeLine"> *</td></tr>
<tr><td><div align="right"><a name="70"></a><a href="#70">70</a></div></td><td class="codeLine"> */</td></tr>
<tr><td><div align="right"><a name="71"></a><a href="#71">71</a></div></td><td class="codeLine"> public static function explicit($error){</td></tr>
<tr><td><div align="right"><a name="72"></a><a href="#72">72</a></div></td><td class="codeLine"> switch($error){</td></tr>
<tr class="success popin" data-title="16 tests cover line 73" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorSuccess&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorParsingFailed&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorInvalidFlags&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorUnreachableResource&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorMissingPath&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorWrongPathModule&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorUnknownModule&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorUnknownMethod&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorUncallableMethod&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorParamError&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorModuleError&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorWrongPathRepo&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorUnknownRepo&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorRepoError&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorPDOConnection&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorNotKnown&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="73"></a><a href="#73">73</a></div></td><td class="codeLine"> case self::Success: return &quot;Tout s'est bien deroule&quot;; break;</td></tr>
<tr><td><div align="right"><a name="74"></a><a href="#74">74</a></div></td><td class="codeLine"></td></tr>
<tr class="success popin" data-title="15 tests cover line 75" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorParsingFailed&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorInvalidFlags&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorUnreachableResource&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorMissingPath&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorWrongPathModule&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorUnknownModule&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorUnknownMethod&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorUncallableMethod&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorParamError&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorModuleError&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorWrongPathRepo&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorUnknownRepo&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorRepoError&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorPDOConnection&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorNotKnown&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="75"></a><a href="#75">75</a></div></td><td class="codeLine"> case self::ParsingFailed: return &quot;La lecture du fichier JSON a echoue&quot;; break;</td></tr>
<tr><td><div align="right"><a name="76"></a><a href="#76">76</a></div></td><td class="codeLine"></td></tr>
<tr class="success popin" data-title="14 tests cover line 77" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorInvalidFlags&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorUnreachableResource&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorMissingPath&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorWrongPathModule&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorUnknownModule&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorUnknownMethod&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorUncallableMethod&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorParamError&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorModuleError&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorWrongPathRepo&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorUnknownRepo&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorRepoError&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorPDOConnection&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorNotKnown&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="77"></a><a href="#77">77</a></div></td><td class="codeLine"> case self::InvalidFlags: return &quot;Les specifications (drapeaux) sont incorrects&quot;; break;</td></tr>
<tr class="success popin" data-title="13 tests cover line 78" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorUnreachableResource&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorMissingPath&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorWrongPathModule&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorUnknownModule&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorUnknownMethod&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorUncallableMethod&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorParamError&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorModuleError&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorWrongPathRepo&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorUnknownRepo&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorRepoError&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorPDOConnection&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorNotKnown&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="78"></a><a href="#78">78</a></div></td><td class="codeLine"> case self::UnreachableResource: return &quot;La ressource n'existe pas (404)&quot;; break;</td></tr>
<tr class="success popin" data-title="12 tests cover line 79" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorMissingPath&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorWrongPathModule&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorUnknownModule&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorUnknownMethod&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorUncallableMethod&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorParamError&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorModuleError&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorWrongPathRepo&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorUnknownRepo&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorRepoError&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorPDOConnection&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorNotKnown&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="79"></a><a href="#79">79</a></div></td><td class="codeLine"> case self::MissingPath: return &quot;Le chemin de delegation n'a pas ete renseigne&quot;; break;</td></tr>
<tr class="success popin" data-title="11 tests cover line 80" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorWrongPathModule&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorUnknownModule&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorUnknownMethod&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorUncallableMethod&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorParamError&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorModuleError&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorWrongPathRepo&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorUnknownRepo&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorRepoError&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorPDOConnection&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorNotKnown&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="80"></a><a href="#80">80</a></div></td><td class="codeLine"> case self::WrongPathModule: return &quot;Le chemin de delegation est incorrect ('nomModule/nomMethode')&quot;; break;</td></tr>
<tr class="success popin" data-title="10 tests cover line 81" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorUnknownModule&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorUnknownMethod&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorUncallableMethod&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorParamError&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorModuleError&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorWrongPathRepo&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorUnknownRepo&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorRepoError&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorPDOConnection&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorNotKnown&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="81"></a><a href="#81">81</a></div></td><td class="codeLine"> case self::WrongPathRepo: return &quot;Le chemin de delegation est incorrect ('nomRepo/nomMethode')&quot;; break;</td></tr>
<tr class="success popin" data-title="9 tests cover line 82" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorUnknownModule&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorUnknownMethod&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorUncallableMethod&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorParamError&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorModuleError&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorUnknownRepo&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorRepoError&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorPDOConnection&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorNotKnown&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="82"></a><a href="#82">82</a></div></td><td class="codeLine"> case self::UnknownModule: return &quot;Le module n'existe pas&quot;; break;</td></tr>
<tr class="success popin" data-title="8 tests cover line 83" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorUnknownMethod&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorUncallableMethod&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorParamError&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorModuleError&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorUnknownRepo&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorRepoError&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorPDOConnection&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorNotKnown&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="83"></a><a href="#83">83</a></div></td><td class="codeLine"> case self::UnknownRepo: return &quot;Le repo n'existe pas&quot;; break;</td></tr>
<tr class="success popin" data-title="7 tests cover line 84" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorUnknownMethod&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorUncallableMethod&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorParamError&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorModuleError&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorRepoError&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorPDOConnection&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorNotKnown&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="84"></a><a href="#84">84</a></div></td><td class="codeLine"> case self::UnknownMethod: return &quot;Le methode n'existe pas&quot;; break;</td></tr>
<tr class="success popin" data-title="6 tests cover line 85" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorUncallableMethod&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorParamError&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorModuleError&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorRepoError&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorPDOConnection&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorNotKnown&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="85"></a><a href="#85">85</a></div></td><td class="codeLine"> case self::UncallableMethod: return &quot;Le methode n'est pas amorcable&quot;; break;</td></tr>
<tr><td><div align="right"><a name="86"></a><a href="#86">86</a></div></td><td class="codeLine"></td></tr>
<tr class="success popin" data-title="5 tests cover line 87" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorParamError&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorModuleError&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorRepoError&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorPDOConnection&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorNotKnown&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="87"></a><a href="#87">87</a></div></td><td class="codeLine"> case self::ParamError: return &quot;Un ou plusieurs parametres sont manquants ou incorrects&quot;; break;</td></tr>
<tr class="success popin" data-title="4 tests cover line 88" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorModuleError&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorRepoError&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorPDOConnection&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorNotKnown&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="88"></a><a href="#88">88</a></div></td><td class="codeLine"> case self::ModuleError: return &quot;Erreur lors du traitement du module&quot;; break;</td></tr>
<tr class="success popin" data-title="3 tests cover line 89" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorRepoError&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorPDOConnection&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorNotKnown&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="89"></a><a href="#89">89</a></div></td><td class="codeLine"> case self::RepoError: return &quot;Erreur lors du traitement du repo&quot;; break;</td></tr>
<tr><td><div align="right"><a name="90"></a><a href="#90">90</a></div></td><td class="codeLine"></td></tr>
<tr class="success popin" data-title="2 tests cover line 91" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorPDOConnection&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorNotKnown&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="91"></a><a href="#91">91</a></div></td><td class="codeLine"> case self::PDOConnection: return &quot;La connexion avec la base de donnees a echoue&quot;; break;</td></tr>
<tr><td><div align="right"><a name="92"></a><a href="#92">92</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="93"></a><a href="#93">93</a></div></td><td class="codeLine"> // default: return &quot;Erreur inconnue...&quot;; break;</td></tr>
<tr><td><div align="right"><a name="94"></a><a href="#94">94</a></div></td><td class="codeLine"> }</td></tr>
<tr><td><div align="right"><a name="95"></a><a href="#95">95</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="96"></a><a href="#96">96</a></div></td><td class="codeLine"> // Erreur inconnue</td></tr>
<tr class="success popin" data-title="1 test covers line 97" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorNotKnown&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="97"></a><a href="#97">97</a></div></td><td class="codeLine"> return null;</td></tr>
<tr><td><div align="right"><a name="98"></a><a href="#98">98</a></div></td><td class="codeLine"> }</td></tr>
<tr><td><div align="right"><a name="99"></a><a href="#99">99</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="100"></a><a href="#100">100</a></div></td><td class="codeLine"> }</td></tr>
<tr><td><div align="right"><a name="101"></a><a href="#101">101</a></div></td><td class="codeLine"></td></tr>
</tbody>
</table>
<footer>
<h4>Legend</h4>
<p>
<span class="success"><strong>Executed</strong></span>
<span class="danger"><strong>Not Executed</strong></span>
<span class="warning"><strong>Dead Code</strong></span>
</p>
<p>
<small>Generated by <a href="http://github.com/sebastianbergmann/php-code-coverage" target="_top">PHP_CodeCoverage 1.2.13</a> using <a href="http://www.php.net/" target="_top">PHP 5.5.9-1ubuntu4.14</a> and <a href="http://phpunit.de/">PHPUnit 3.7.28</a> at Sun Feb 14 13:13:13 CET 2016.</small>
</p>
</footer>
</div>
<script src="js/jquery.min.js" type="text/javascript"></script>
<script src="js/bootstrap.min.js" type="text/javascript"></script>
<script type="text/javascript">$('.popin').popover({trigger: 'hover'});</script>
</body>
</html>

View File

@ -1,461 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Code Coverage for /var/www/stefproject/manager/ResourceDispatcher.php</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/bootstrap-responsive.min.css" rel="stylesheet">
<link href="css/style.css" rel="stylesheet">
<!--[if lt IE 9]>
<script src="js/html5shiv.js"></script>
<![endif]-->
</head>
<body>
<header>
<div class="container">
<div class="row">
<div class="span12">
<ul class="breadcrumb">
<li><a href="index.html">/var/www/stefproject/manager</a> <span class="divider">/</span></li>
<li class="active">ResourceDispatcher.php</li>
</ul>
</div>
</div>
</div>
</header>
<div class="container">
<table class="table table-bordered">
<thead>
<tr>
<td>&nbsp;</td>
<td colspan="10"><div align="center"><strong>Code Coverage</strong></div></td>
</tr>
<tr>
<td>&nbsp;</td>
<td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td>
<td colspan="4"><div align="center"><strong>Functions and Methods</strong></div></td>
<td colspan="3"><div align="center"><strong>Lines</strong></div></td>
</tr>
</thead>
<tbody>
<tr>
<td class="danger">Total</td>
<td class="danger big"> <div class="progress progress-danger" style="width: 100px;">
<div class="bar" style="width: 0.00%;"></div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
<td class="warning big"> <div class="progress progress-warning" style="width: 100px;">
<div class="bar" style="width: 66.67%;"></div>
</div>
</td>
<td class="warning small"><div align="right">66.67%</div></td>
<td class="warning small"><div align="right">4&nbsp;/&nbsp;6</div></td>
<td class="warning small"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 75.93%;"></div>
</div>
</td>
<td class="success small"><div align="right">75.93%</div></td>
<td class="success small"><div align="right">41&nbsp;/&nbsp;54</div></td>
</tr>
<tr>
<td class="danger">ResourceDispatcher</td>
<td class="danger big"> <div class="progress progress-danger" style="width: 100px;">
<div class="bar" style="width: 0.00%;"></div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
<td class="warning big"> <div class="progress progress-warning" style="width: 100px;">
<div class="bar" style="width: 66.67%;"></div>
</div>
</td>
<td class="warning small"><div align="right">66.67%</div></td>
<td class="warning small"><div align="right">4&nbsp;/&nbsp;6</div></td>
<td class="warning small">32.04</td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 75.93%;"></div>
</div>
</td>
<td class="success small"><div align="right">75.93%</div></td>
<td class="success small"><div align="right">41&nbsp;/&nbsp;54</div></td>
</tr>
<tr>
<td class="danger" colspan="4">&nbsp;<a href="#30">__construct($url, $view=false)</a></td>
<td class="danger big"> <div class="progress progress-danger" style="width: 100px;">
<div class="bar" style="width: 0.00%;"></div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
<td class="danger small">8.30</td>
<td class="warning big"> <div class="progress progress-warning" style="width: 100px;">
<div class="bar" style="width: 60.00%;"></div>
</div>
</td>
<td class="warning small"><div align="right">60.00%</div></td>
<td class="warning small"><div align="right">12&nbsp;/&nbsp;20</div></td>
</tr>
<tr>
<td class="success" colspan="4">&nbsp;<a href="#97">getResource($route)</a></td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
<td class="success small">1</td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">2&nbsp;/&nbsp;2</div></td>
</tr>
<tr>
<td class="success" colspan="4">&nbsp;<a href="#111">createFlags($serialFlags)</a></td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
<td class="success small">9</td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">16&nbsp;/&nbsp;16</div></td>
</tr>
<tr>
<td class="success" colspan="4">&nbsp;<a href="#169">buildPath()</a></td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
<td class="success small">4</td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">8&nbsp;/&nbsp;8</div></td>
</tr>
<tr>
<td class="danger" colspan="4">&nbsp;<a href="#216">view()</a></td>
<td class="danger big"> <div class="progress progress-danger" style="width: 100px;">
<div class="bar" style="width: 0.00%;"></div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
<td class="danger small">6</td>
<td class="danger big"> <div class="progress progress-danger" style="width: 100px;">
<div class="bar" style="width: 0.00%;"></div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;5</div></td>
</tr>
<tr>
<td class="success" colspan="4">&nbsp;<a href="#233">getContent()</a></td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
<td class="success small">2</td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">3&nbsp;/&nbsp;3</div></td>
</tr>
</tbody>
</table>
<table class="table table-borderless table-condensed">
<tbody>
<tr><td><div align="right"><a name="1"></a><a href="#1">1</a></div></td><td class="codeLine">&lt;?php</td></tr>
<tr><td><div align="right"><a name="2"></a><a href="#2">2</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="3"></a><a href="#3">3</a></div></td><td class="codeLine"> namespace manager;</td></tr>
<tr><td><div align="right"><a name="4"></a><a href="#4">4</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="5"></a><a href="#5">5</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="6"></a><a href="#6">6</a></div></td><td class="codeLine"> class ResourceDispatcher{</td></tr>
<tr><td><div align="right"><a name="7"></a><a href="#7">7</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="8"></a><a href="#8">8</a></div></td><td class="codeLine"> // Constantes</td></tr>
<tr><td><div align="right"><a name="9"></a><a href="#9">9</a></div></td><td class="codeLine"> public static $extension_config_path = '/config/dispatcher-extensions.json';</td></tr>
<tr><td><div align="right"><a name="10"></a><a href="#10">10</a></div></td><td class="codeLine"> public static $parents_config_path = '/config/dispatcher-tree.json';</td></tr>
<tr><td><div align="right"><a name="11"></a><a href="#11">11</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="12"></a><a href="#12">12</a></div></td><td class="codeLine"> public static $supported_extensions;</td></tr>
<tr><td><div align="right"><a name="13"></a><a href="#13">13</a></div></td><td class="codeLine"> public static $supported_parents;</td></tr>
<tr><td><div align="right"><a name="14"></a><a href="#14">14</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="15"></a><a href="#15">15</a></div></td><td class="codeLine"> // Attributs prives utiles (initialisation)</td></tr>
<tr><td><div align="right"><a name="16"></a><a href="#16">16</a></div></td><td class="codeLine"> private $header;</td></tr>
<tr><td><div align="right"><a name="17"></a><a href="#17">17</a></div></td><td class="codeLine"> private $path;</td></tr>
<tr><td><div align="right"><a name="18"></a><a href="#18">18</a></div></td><td class="codeLine"> private $flags;</td></tr>
<tr><td><div align="right"><a name="19"></a><a href="#19">19</a></div></td><td class="codeLine"> public $error;</td></tr>
<tr><td><div align="right"><a name="20"></a><a href="#20">20</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="21"></a><a href="#21">21</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="22"></a><a href="#22">22</a></div></td><td class="codeLine"> /* CONSTRUCTEUR &amp; AMORCAGE DU DISPATCHER</td></tr>
<tr><td><div align="right"><a name="23"></a><a href="#23">23</a></div></td><td class="codeLine"> *</td></tr>
<tr><td><div align="right"><a name="24"></a><a href="#24">24</a></div></td><td class="codeLine"> * @url&lt;String&gt; L'url courante</td></tr>
<tr><td><div align="right"><a name="25"></a><a href="#25">25</a></div></td><td class="codeLine"> * @view&lt;Boolean&gt; Si VRAI, retourne header+contenu, sinon cree juste l'objet</td></tr>
<tr><td><div align="right"><a name="26"></a><a href="#26">26</a></div></td><td class="codeLine"> *</td></tr>
<tr><td><div align="right"><a name="27"></a><a href="#27">27</a></div></td><td class="codeLine"> * @return status&lt;Boolean&gt; Retourne si oui ou non tout s'est bien passe</td></tr>
<tr><td><div align="right"><a name="28"></a><a href="#28">28</a></div></td><td class="codeLine"> *</td></tr>
<tr><td><div align="right"><a name="29"></a><a href="#29">29</a></div></td><td class="codeLine"> */</td></tr>
<tr><td><div align="right"><a name="30"></a><a href="#30">30</a></div></td><td class="codeLine"> public function __construct($url, $view=false){</td></tr>
<tr class="success popin" data-title="4 tests cover line 31" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithNoSERVER&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithSERVERLocal&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistence&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistenceRefutation&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="31"></a><a href="#31">31</a></div></td><td class="codeLine"> $this-&gt;error = Error::Success;</td></tr>
<tr><td><div align="right"><a name="32"></a><a href="#32">32</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="33"></a><a href="#33">33</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="34"></a><a href="#34">34</a></div></td><td class="codeLine"> /* [0] On met a jour la configuration</td></tr>
<tr><td><div align="right"><a name="35"></a><a href="#35">35</a></div></td><td class="codeLine"> =====================================================*/</td></tr>
<tr><td><div align="right"><a name="36"></a><a href="#36">36</a></div></td><td class="codeLine"> // Extensions supportees</td></tr>
<tr class="success popin" data-title="4 tests cover line 37" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithNoSERVER&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithSERVERLocal&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistence&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistenceRefutation&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="37"></a><a href="#37">37</a></div></td><td class="codeLine"> $extensions_conf = json_decode( file_get_contents(__ROOT__.self::$extension_config_path), true );</td></tr>
<tr><td><div align="right"><a name="38"></a><a href="#38">38</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="39"></a><a href="#39">39</a></div></td><td class="codeLine"> // Gestion de l'erreur de parsage</td></tr>
<tr class="success popin" data-title="4 tests cover line 40" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithNoSERVER&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithSERVERLocal&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistence&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistenceRefutation&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="40"></a><a href="#40">40</a></div></td><td class="codeLine"> if( $extensions_conf == null ){</td></tr>
<tr class="danger"><td><div align="right"><a name="41"></a><a href="#41">41</a></div></td><td class="codeLine"> $this-&gt;error = Error::ParsingFailed;</td></tr>
<tr class="danger"><td><div align="right"><a name="42"></a><a href="#42">42</a></div></td><td class="codeLine"> return false;</td></tr>
<tr><td><div align="right"><a name="43"></a><a href="#43">43</a></div></td><td class="codeLine"> }</td></tr>
<tr><td><div align="right"><a name="44"></a><a href="#44">44</a></div></td><td class="codeLine"></td></tr>
<tr class="success popin" data-title="4 tests cover line 45" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithNoSERVER&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithSERVERLocal&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistence&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistenceRefutation&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="45"></a><a href="#45">45</a></div></td><td class="codeLine"> self::$supported_extensions = $extensions_conf;</td></tr>
<tr><td><div align="right"><a name="46"></a><a href="#46">46</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="47"></a><a href="#47">47</a></div></td><td class="codeLine"> // Dossiers supportes</td></tr>
<tr class="success popin" data-title="4 tests cover line 48" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithNoSERVER&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithSERVERLocal&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistence&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistenceRefutation&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="48"></a><a href="#48">48</a></div></td><td class="codeLine"> $parents_conf = json_decode( file_get_contents(__ROOT__.self::$parents_config_path), true );</td></tr>
<tr><td><div align="right"><a name="49"></a><a href="#49">49</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="50"></a><a href="#50">50</a></div></td><td class="codeLine"> // Gestion de l'erreur de parsage</td></tr>
<tr class="success popin" data-title="4 tests cover line 51" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithNoSERVER&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithSERVERLocal&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistence&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistenceRefutation&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="51"></a><a href="#51">51</a></div></td><td class="codeLine"> if( $parents_conf == null ){</td></tr>
<tr class="danger"><td><div align="right"><a name="52"></a><a href="#52">52</a></div></td><td class="codeLine"> $this-&gt;error = Error::ParsingFailed;</td></tr>
<tr class="danger"><td><div align="right"><a name="53"></a><a href="#53">53</a></div></td><td class="codeLine"> return false;</td></tr>
<tr><td><div align="right"><a name="54"></a><a href="#54">54</a></div></td><td class="codeLine"> }</td></tr>
<tr><td><div align="right"><a name="55"></a><a href="#55">55</a></div></td><td class="codeLine"></td></tr>
<tr class="success popin" data-title="4 tests cover line 56" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithNoSERVER&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithSERVERLocal&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistence&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistenceRefutation&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="56"></a><a href="#56">56</a></div></td><td class="codeLine"> self::$supported_parents = $parents_conf;</td></tr>
<tr><td><div align="right"><a name="57"></a><a href="#57">57</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="58"></a><a href="#58">58</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="59"></a><a href="#59">59</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="60"></a><a href="#60">60</a></div></td><td class="codeLine"> /* [1] On recupere les donnees de l'URL</td></tr>
<tr><td><div align="right"><a name="61"></a><a href="#61">61</a></div></td><td class="codeLine"> ==================================================*/</td></tr>
<tr class="success popin" data-title="4 tests cover line 62" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithNoSERVER&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithSERVERLocal&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistence&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistenceRefutation&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="62"></a><a href="#62">62</a></div></td><td class="codeLine"> $serialFlags = array_slice( explode('/',$url), 1 );</td></tr>
<tr><td><div align="right"><a name="63"></a><a href="#63">63</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="64"></a><a href="#64">64</a></div></td><td class="codeLine"> /* [2] On check/cree les drapeaux avec ces donnees</td></tr>
<tr><td><div align="right"><a name="65"></a><a href="#65">65</a></div></td><td class="codeLine"> ==================================================*/</td></tr>
<tr class="success popin" data-title="4 tests cover line 66" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithNoSERVER&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithSERVERLocal&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistence&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistenceRefutation&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="66"></a><a href="#66">66</a></div></td><td class="codeLine"> if( !$this-&gt;createFlags($serialFlags) ){ // Creation des drapeaux</td></tr>
<tr class="danger"><td><div align="right"><a name="67"></a><a href="#67">67</a></div></td><td class="codeLine"> $this-&gt;error = Error::InvalidFlags;</td></tr>
<tr class="danger"><td><div align="right"><a name="68"></a><a href="#68">68</a></div></td><td class="codeLine"> return false;</td></tr>
<tr><td><div align="right"><a name="69"></a><a href="#69">69</a></div></td><td class="codeLine"> }</td></tr>
<tr><td><div align="right"><a name="70"></a><a href="#70">70</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="71"></a><a href="#71">71</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="72"></a><a href="#72">72</a></div></td><td class="codeLine"> /* [3] On construit le chemin a partir des tags</td></tr>
<tr><td><div align="right"><a name="73"></a><a href="#73">73</a></div></td><td class="codeLine"> ==================================================*/</td></tr>
<tr class="success popin" data-title="4 tests cover line 74" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithNoSERVER&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithSERVERLocal&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistence&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistenceRefutation&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="74"></a><a href="#74">74</a></div></td><td class="codeLine"> if( !$this-&gt;buildPath() ){ // Construction du chemin</td></tr>
<tr class="danger"><td><div align="right"><a name="75"></a><a href="#75">75</a></div></td><td class="codeLine"> $this-&gt;error = Error::UnreachableResource;</td></tr>
<tr class="danger"><td><div align="right"><a name="76"></a><a href="#76">76</a></div></td><td class="codeLine"> return false;</td></tr>
<tr><td><div align="right"><a name="77"></a><a href="#77">77</a></div></td><td class="codeLine"> }</td></tr>
<tr><td><div align="right"><a name="78"></a><a href="#78">78</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="79"></a><a href="#79">79</a></div></td><td class="codeLine"> /* [4] On gere l'affichage pour l'appel externe/interne</td></tr>
<tr><td><div align="right"><a name="80"></a><a href="#80">80</a></div></td><td class="codeLine"> ==================================================*/</td></tr>
<tr><td><div align="right"><a name="81"></a><a href="#81">81</a></div></td><td class="codeLine"> if( $view ) // Appel externe</td></tr>
<tr class="success popin" data-title="4 tests cover line 82" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithNoSERVER&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithSERVERLocal&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistence&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistenceRefutation&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="82"></a><a href="#82">82</a></div></td><td class="codeLine"> $this-&gt;view();</td></tr>
<tr><td><div align="right"><a name="83"></a><a href="#83">83</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="84"></a><a href="#84">84</a></div></td><td class="codeLine"></td></tr>
<tr class="success popin" data-title="4 tests cover line 85" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithNoSERVER&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithSERVERLocal&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistence&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistenceRefutation&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="85"></a><a href="#85">85</a></div></td><td class="codeLine"> return true;</td></tr>
<tr><td><div align="right"><a name="86"></a><a href="#86">86</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="87"></a><a href="#87">87</a></div></td><td class="codeLine"> }</td></tr>
<tr><td><div align="right"><a name="88"></a><a href="#88">88</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="89"></a><a href="#89">89</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="90"></a><a href="#90">90</a></div></td><td class="codeLine"> /* INCLUSION PHP D'UNE RESSOURCE UTILISANT LE DISPATCHER</td></tr>
<tr><td><div align="right"><a name="91"></a><a href="#91">91</a></div></td><td class="codeLine"> *</td></tr>
<tr><td><div align="right"><a name="92"></a><a href="#92">92</a></div></td><td class="codeLine"> * @route&lt;String&gt; Route associee a une ressource</td></tr>
<tr><td><div align="right"><a name="93"></a><a href="#93">93</a></div></td><td class="codeLine"> *</td></tr>
<tr><td><div align="right"><a name="94"></a><a href="#94">94</a></div></td><td class="codeLine"> * @return content&lt;*&gt; Retourne le contenu de la ressource</td></tr>
<tr><td><div align="right"><a name="95"></a><a href="#95">95</a></div></td><td class="codeLine"> *</td></tr>
<tr><td><div align="right"><a name="96"></a><a href="#96">96</a></div></td><td class="codeLine"> */</td></tr>
<tr><td><div align="right"><a name="97"></a><a href="#97">97</a></div></td><td class="codeLine"> public static function getResource($route){</td></tr>
<tr class="success popin" data-title="4 tests cover line 98" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithNoSERVER&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithSERVERLocal&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistence&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistenceRefutation&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="98"></a><a href="#98">98</a></div></td><td class="codeLine"> $instance = new ResourceDispatcher($route);</td></tr>
<tr class="success popin" data-title="4 tests cover line 99" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithNoSERVER&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithSERVERLocal&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistence&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistenceRefutation&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="99"></a><a href="#99">99</a></div></td><td class="codeLine"> return $instance-&gt;getContent();</td></tr>
<tr><td><div align="right"><a name="100"></a><a href="#100">100</a></div></td><td class="codeLine"> }</td></tr>
<tr><td><div align="right"><a name="101"></a><a href="#101">101</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="102"></a><a href="#102">102</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="103"></a><a href="#103">103</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="104"></a><a href="#104">104</a></div></td><td class="codeLine"> /* FONCTION QUI VERIFIE LES DRAPEAUX</td></tr>
<tr><td><div align="right"><a name="105"></a><a href="#105">105</a></div></td><td class="codeLine"> *</td></tr>
<tr><td><div align="right"><a name="106"></a><a href="#106">106</a></div></td><td class="codeLine"> * @serialFlags&lt;Array&gt; Tableau a indice numerique</td></tr>
<tr><td><div align="right"><a name="107"></a><a href="#107">107</a></div></td><td class="codeLine"> *</td></tr>
<tr><td><div align="right"><a name="108"></a><a href="#108">108</a></div></td><td class="codeLine"> * @return correct&lt;Boolean&gt; Retourne si oui ou non les drapeaux sont corrects</td></tr>
<tr><td><div align="right"><a name="109"></a><a href="#109">109</a></div></td><td class="codeLine"> *</td></tr>
<tr><td><div align="right"><a name="110"></a><a href="#110">110</a></div></td><td class="codeLine"> */</td></tr>
<tr><td><div align="right"><a name="111"></a><a href="#111">111</a></div></td><td class="codeLine"> private function createFlags($serialFlags){</td></tr>
<tr><td><div align="right"><a name="112"></a><a href="#112">112</a></div></td><td class="codeLine"> /* [1] Verification des flags (version serialisee)</td></tr>
<tr><td><div align="right"><a name="113"></a><a href="#113">113</a></div></td><td class="codeLine"> ======================================================*/</td></tr>
<tr><td><div align="right"><a name="114"></a><a href="#114">114</a></div></td><td class="codeLine"></td></tr>
<tr class="success popin" data-title="4 tests cover line 115" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithNoSERVER&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithSERVERLocal&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistence&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistenceRefutation&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="115"></a><a href="#115">115</a></div></td><td class="codeLine"> $correct = true;</td></tr>
<tr><td><div align="right"><a name="116"></a><a href="#116">116</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="117"></a><a href="#117">117</a></div></td><td class="codeLine"> // Verification du nombre de drapeaux () au moins 3</td></tr>
<tr class="success popin" data-title="4 tests cover line 118" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithNoSERVER&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithSERVERLocal&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistence&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistenceRefutation&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="118"></a><a href="#118">118</a></div></td><td class="codeLine"> $correct = $correct &amp;&amp; count($serialFlags) &gt;= 3;</td></tr>
<tr><td><div align="right"><a name="119"></a><a href="#119">119</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="120"></a><a href="#120">120</a></div></td><td class="codeLine"> // Verification que l'extension est correcte</td></tr>
<tr class="success popin" data-title="4 tests cover line 121" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithNoSERVER&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithSERVERLocal&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistence&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistenceRefutation&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="121"></a><a href="#121">121</a></div></td><td class="codeLine"> $correct = $correct &amp;&amp; array_key_exists($serialFlags[0], self::$supported_extensions);</td></tr>
<tr><td><div align="right"><a name="122"></a><a href="#122">122</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="123"></a><a href="#123">123</a></div></td><td class="codeLine"> // Verification du filename</td></tr>
<tr class="success popin" data-title="4 tests cover line 124" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithNoSERVER&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithSERVERLocal&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistence&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistenceRefutation&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="124"></a><a href="#124">124</a></div></td><td class="codeLine"> $correct = $correct &amp;&amp; preg_match('#^[\w_-]+$#i', $serialFlags[1]);</td></tr>
<tr><td><div align="right"><a name="125"></a><a href="#125">125</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="126"></a><a href="#126">126</a></div></td><td class="codeLine"> // Verification du parent</td></tr>
<tr class="success popin" data-title="4 tests cover line 127" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithNoSERVER&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithSERVERLocal&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistence&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistenceRefutation&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="127"></a><a href="#127">127</a></div></td><td class="codeLine"> $correct = $correct &amp;&amp; array_key_exists($serialFlags[2], self::$supported_parents);</td></tr>
<tr><td><div align="right"><a name="128"></a><a href="#128">128</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="129"></a><a href="#129">129</a></div></td><td class="codeLine"> // Verification du sous-parent (optionnel)</td></tr>
<tr class="success popin" data-title="4 tests cover line 130" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithNoSERVER&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithSERVERLocal&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistence&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistenceRefutation&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="130"></a><a href="#130">130</a></div></td><td class="codeLine"> $opt_subParent = count($serialFlags) &gt;= 4;</td></tr>
<tr><td><div align="right"><a name="131"></a><a href="#131">131</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="132"></a><a href="#132">132</a></div></td><td class="codeLine"> if( $opt_subParent )</td></tr>
<tr class="success popin" data-title="4 tests cover line 133" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithNoSERVER&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithSERVERLocal&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistence&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistenceRefutation&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="133"></a><a href="#133">133</a></div></td><td class="codeLine"> $correct = $correct &amp;&amp; preg_match('#^[\w_-]+$#i', $serialFlags[3]);</td></tr>
<tr><td><div align="right"><a name="134"></a><a href="#134">134</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="135"></a><a href="#135">135</a></div></td><td class="codeLine"></td></tr>
<tr class="success popin" data-title="4 tests cover line 136" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithNoSERVER&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithSERVERLocal&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistence&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistenceRefutation&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="136"></a><a href="#136">136</a></div></td><td class="codeLine"> if( !$correct )</td></tr>
<tr class="success popin" data-title="4 tests cover line 137" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithNoSERVER&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithSERVERLocal&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistence&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistenceRefutation&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="137"></a><a href="#137">137</a></div></td><td class="codeLine"> return false;</td></tr>
<tr><td><div align="right"><a name="138"></a><a href="#138">138</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="139"></a><a href="#139">139</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="140"></a><a href="#140">140</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="141"></a><a href="#141">141</a></div></td><td class="codeLine"> /* [2] Creation (non serialisee) des flags</td></tr>
<tr><td><div align="right"><a name="142"></a><a href="#142">142</a></div></td><td class="codeLine"> ======================================================*/</td></tr>
<tr><td><div align="right"><a name="143"></a><a href="#143">143</a></div></td><td class="codeLine"> // Si tout se deroule bien, on cree les flags</td></tr>
<tr class="success popin" data-title="4 tests cover line 144" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithNoSERVER&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithSERVERLocal&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistence&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistenceRefutation&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="144"></a><a href="#144">144</a></div></td><td class="codeLine"> $this-&gt;flags = array(</td></tr>
<tr class="success popin" data-title="4 tests cover line 145" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithNoSERVER&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithSERVERLocal&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistence&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistenceRefutation&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="145"></a><a href="#145">145</a></div></td><td class="codeLine"> 'extension' =&gt; $serialFlags[0],</td></tr>
<tr class="success popin" data-title="4 tests cover line 146" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithNoSERVER&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithSERVERLocal&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistence&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistenceRefutation&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="146"></a><a href="#146">146</a></div></td><td class="codeLine"> 'filename' =&gt; $serialFlags[1],</td></tr>
<tr class="success popin" data-title="4 tests cover line 147" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithNoSERVER&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithSERVERLocal&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistence&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistenceRefutation&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="147"></a><a href="#147">147</a></div></td><td class="codeLine"> 'parent' =&gt; $serialFlags[2]</td></tr>
<tr class="success popin" data-title="4 tests cover line 148" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithNoSERVER&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithSERVERLocal&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistence&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistenceRefutation&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="148"></a><a href="#148">148</a></div></td><td class="codeLine"> );</td></tr>
<tr><td><div align="right"><a name="149"></a><a href="#149">149</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="150"></a><a href="#150">150</a></div></td><td class="codeLine"> // Ajout du sous-parent optionnel</td></tr>
<tr><td><div align="right"><a name="151"></a><a href="#151">151</a></div></td><td class="codeLine"> if( $opt_subParent )</td></tr>
<tr class="success popin" data-title="4 tests cover line 152" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithNoSERVER&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithSERVERLocal&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistence&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistenceRefutation&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="152"></a><a href="#152">152</a></div></td><td class="codeLine"> $this-&gt;flags['subparent'] = $serialFlags[3];</td></tr>
<tr><td><div align="right"><a name="153"></a><a href="#153">153</a></div></td><td class="codeLine"></td></tr>
<tr class="success popin" data-title="4 tests cover line 154" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithNoSERVER&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithSERVERLocal&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistence&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistenceRefutation&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="154"></a><a href="#154">154</a></div></td><td class="codeLine"> return true;</td></tr>
<tr><td><div align="right"><a name="155"></a><a href="#155">155</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="156"></a><a href="#156">156</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="157"></a><a href="#157">157</a></div></td><td class="codeLine"> }</td></tr>
<tr><td><div align="right"><a name="158"></a><a href="#158">158</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="159"></a><a href="#159">159</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="160"></a><a href="#160">160</a></div></td><td class="codeLine"> /* FONCTION QUI CONSTRUIT LE CHEMIN A PARTIR DU PATH</td></tr>
<tr><td><div align="right"><a name="161"></a><a href="#161">161</a></div></td><td class="codeLine"> *</td></tr>
<tr><td><div align="right"><a name="162"></a><a href="#162">162</a></div></td><td class="codeLine"> * @return fileExists&lt;Boolean&gt; Retourne si oui ou non le fichier cible existe</td></tr>
<tr><td><div align="right"><a name="163"></a><a href="#163">163</a></div></td><td class="codeLine"> *</td></tr>
<tr><td><div align="right"><a name="164"></a><a href="#164">164</a></div></td><td class="codeLine"> * @format</td></tr>
<tr><td><div align="right"><a name="165"></a><a href="#165">165</a></div></td><td class="codeLine"> *</td></tr>
<tr><td><div align="right"><a name="166"></a><a href="#166">166</a></div></td><td class="codeLine"> * f/extension/filename/parent/:subparent:/ (:OPT:)</td></tr>
<tr><td><div align="right"><a name="167"></a><a href="#167">167</a></div></td><td class="codeLine"> *</td></tr>
<tr><td><div align="right"><a name="168"></a><a href="#168">168</a></div></td><td class="codeLine"> */</td></tr>
<tr><td><div align="right"><a name="169"></a><a href="#169">169</a></div></td><td class="codeLine"> private function buildPath(){</td></tr>
<tr><td><div align="right"><a name="170"></a><a href="#170">170</a></div></td><td class="codeLine"> /* [1] On recupere le HEADER associe a l'extension</td></tr>
<tr><td><div align="right"><a name="171"></a><a href="#171">171</a></div></td><td class="codeLine"> ==========================================================*/</td></tr>
<tr><td><div align="right"><a name="172"></a><a href="#172">172</a></div></td><td class="codeLine"> // Si aucun header pour cet cle, on retourne une erreur</td></tr>
<tr class="success popin" data-title="4 tests cover line 173" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithNoSERVER&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithSERVERLocal&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistence&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistenceRefutation&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="173"></a><a href="#173">173</a></div></td><td class="codeLine"> if( !isset(self::$supported_extensions[$this-&gt;flags['extension']]) ) return false;</td></tr>
<tr><td><div align="right"><a name="174"></a><a href="#174">174</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="175"></a><a href="#175">175</a></div></td><td class="codeLine"> // On recupere le header associe</td></tr>
<tr class="success popin" data-title="4 tests cover line 176" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithNoSERVER&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithSERVERLocal&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistence&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistenceRefutation&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="176"></a><a href="#176">176</a></div></td><td class="codeLine"> $header = self::$supported_extensions[$this-&gt;flags['extension']];</td></tr>
<tr><td><div align="right"><a name="177"></a><a href="#177">177</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="178"></a><a href="#178">178</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="179"></a><a href="#179">179</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="180"></a><a href="#180">180</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="181"></a><a href="#181">181</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="182"></a><a href="#182">182</a></div></td><td class="codeLine"> /* [2] On recupere le chemin associe au parent</td></tr>
<tr><td><div align="right"><a name="183"></a><a href="#183">183</a></div></td><td class="codeLine"> ==========================================================*/</td></tr>
<tr><td><div align="right"><a name="184"></a><a href="#184">184</a></div></td><td class="codeLine"> // Si aucun dossier pour cet indice, on retourne une erreur</td></tr>
<tr class="success popin" data-title="4 tests cover line 185" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithNoSERVER&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithSERVERLocal&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistence&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistenceRefutation&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="185"></a><a href="#185">185</a></div></td><td class="codeLine"> if( !isset(self::$supported_parents[$this-&gt;flags['parent']]) ) return false;</td></tr>
<tr><td><div align="right"><a name="186"></a><a href="#186">186</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="187"></a><a href="#187">187</a></div></td><td class="codeLine"> // On recupere le dossier associe</td></tr>
<tr class="success popin" data-title="4 tests cover line 188" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithNoSERVER&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithSERVERLocal&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistence&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistenceRefutation&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="188"></a><a href="#188">188</a></div></td><td class="codeLine"> $parent = self::$supported_parents[$this-&gt;flags['parent']];</td></tr>
<tr><td><div align="right"><a name="189"></a><a href="#189">189</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="190"></a><a href="#190">190</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="191"></a><a href="#191">191</a></div></td><td class="codeLine"> /* [3] Gestion du sous-parent optionnel</td></tr>
<tr><td><div align="right"><a name="192"></a><a href="#192">192</a></div></td><td class="codeLine"> ==========================================================*/</td></tr>
<tr class="success popin" data-title="4 tests cover line 193" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithNoSERVER&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithSERVERLocal&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistence&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistenceRefutation&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="193"></a><a href="#193">193</a></div></td><td class="codeLine"> $opt_subParent = (isset($this-&gt;flags['subparent'])) ? $this-&gt;flags['subparent'].'/' : '';</td></tr>
<tr><td><div align="right"><a name="194"></a><a href="#194">194</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="195"></a><a href="#195">195</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="196"></a><a href="#196">196</a></div></td><td class="codeLine"> /* [4] On definit le header</td></tr>
<tr><td><div align="right"><a name="197"></a><a href="#197">197</a></div></td><td class="codeLine"> ==========================================================*/</td></tr>
<tr class="success popin" data-title="4 tests cover line 198" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithNoSERVER&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithSERVERLocal&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistence&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistenceRefutation&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="198"></a><a href="#198">198</a></div></td><td class="codeLine"> $this-&gt;header = $header;</td></tr>
<tr><td><div align="right"><a name="199"></a><a href="#199">199</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="200"></a><a href="#200">200</a></div></td><td class="codeLine"> /* [5] On construit le chemin</td></tr>
<tr><td><div align="right"><a name="201"></a><a href="#201">201</a></div></td><td class="codeLine"> ==========================================================*/</td></tr>
<tr class="success popin" data-title="4 tests cover line 202" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithNoSERVER&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithSERVERLocal&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistence&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistenceRefutation&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="202"></a><a href="#202">202</a></div></td><td class="codeLine"> $this-&gt;path = __ROOT__.$parent.'/'.$opt_subParent.$this-&gt;flags['filename'].'.'.$this-&gt;flags['extension'];</td></tr>
<tr><td><div align="right"><a name="203"></a><a href="#203">203</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="204"></a><a href="#204">204</a></div></td><td class="codeLine"> /* [6] On retourne si le fichier existe ou non</td></tr>
<tr><td><div align="right"><a name="205"></a><a href="#205">205</a></div></td><td class="codeLine"> ==========================================================*/</td></tr>
<tr class="success popin" data-title="4 tests cover line 206" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithNoSERVER&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithSERVERLocal&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistence&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistenceRefutation&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="206"></a><a href="#206">206</a></div></td><td class="codeLine"> return @file_get_contents( $this-&gt;path ) != false;</td></tr>
<tr><td><div align="right"><a name="207"></a><a href="#207">207</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="208"></a><a href="#208">208</a></div></td><td class="codeLine"> }</td></tr>
<tr><td><div align="right"><a name="209"></a><a href="#209">209</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="210"></a><a href="#210">210</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="211"></a><a href="#211">211</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="212"></a><a href="#212">212</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="213"></a><a href="#213">213</a></div></td><td class="codeLine"> /* FUNCTION QUI AFFICHE LA RESSOURCE EN QUESTION</td></tr>
<tr><td><div align="right"><a name="214"></a><a href="#214">214</a></div></td><td class="codeLine"> *</td></tr>
<tr><td><div align="right"><a name="215"></a><a href="#215">215</a></div></td><td class="codeLine"> */</td></tr>
<tr><td><div align="right"><a name="216"></a><a href="#216">216</a></div></td><td class="codeLine"> public function view(){</td></tr>
<tr><td><div align="right"><a name="217"></a><a href="#217">217</a></div></td><td class="codeLine"> // S'il y a eu une erreur en amont</td></tr>
<tr class="danger"><td><div align="right"><a name="218"></a><a href="#218">218</a></div></td><td class="codeLine"> if( $this-&gt;error != Error::Success )</td></tr>
<tr class="danger"><td><div align="right"><a name="219"></a><a href="#219">219</a></div></td><td class="codeLine"> return false; // on retourne faux</td></tr>
<tr><td><div align="right"><a name="220"></a><a href="#220">220</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="221"></a><a href="#221">221</a></div></td><td class="codeLine"> // On definit le header</td></tr>
<tr class="danger"><td><div align="right"><a name="222"></a><a href="#222">222</a></div></td><td class="codeLine"> header('Content-Type: '.$this-&gt;header);</td></tr>
<tr><td><div align="right"><a name="223"></a><a href="#223">223</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="224"></a><a href="#224">224</a></div></td><td class="codeLine"> // On inclut le contenu</td></tr>
<tr class="danger"><td><div align="right"><a name="225"></a><a href="#225">225</a></div></td><td class="codeLine"> echo file_get_contents($this-&gt;path);</td></tr>
<tr class="danger"><td><div align="right"><a name="226"></a><a href="#226">226</a></div></td><td class="codeLine"> }</td></tr>
<tr><td><div align="right"><a name="227"></a><a href="#227">227</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="228"></a><a href="#228">228</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="229"></a><a href="#229">229</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="230"></a><a href="#230">230</a></div></td><td class="codeLine"> /* FUNCTION QUI RETOURNE LE CONTENU DE LA RESSOURCE EN QUESTION</td></tr>
<tr><td><div align="right"><a name="231"></a><a href="#231">231</a></div></td><td class="codeLine"> *</td></tr>
<tr><td><div align="right"><a name="232"></a><a href="#232">232</a></div></td><td class="codeLine"> */</td></tr>
<tr><td><div align="right"><a name="233"></a><a href="#233">233</a></div></td><td class="codeLine"> public function getContent(){</td></tr>
<tr><td><div align="right"><a name="234"></a><a href="#234">234</a></div></td><td class="codeLine"> // S'il y a eu une erreur en amont</td></tr>
<tr class="success popin" data-title="4 tests cover line 235" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithNoSERVER&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithSERVERLocal&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistence&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistenceRefutation&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="235"></a><a href="#235">235</a></div></td><td class="codeLine"> if( $this-&gt;error != Error::Success )</td></tr>
<tr class="success popin" data-title="4 tests cover line 236" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithNoSERVER&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithSERVERLocal&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistence&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistenceRefutation&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="236"></a><a href="#236">236</a></div></td><td class="codeLine"> return false; // on retourne faux</td></tr>
<tr><td><div align="right"><a name="237"></a><a href="#237">237</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="238"></a><a href="#238">238</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="239"></a><a href="#239">239</a></div></td><td class="codeLine"> // On inclut le contenu</td></tr>
<tr class="success popin" data-title="4 tests cover line 240" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithNoSERVER&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithSERVERLocal&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistence&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistenceRefutation&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="240"></a><a href="#240">240</a></div></td><td class="codeLine"> return file_get_contents($this-&gt;path);</td></tr>
<tr><td><div align="right"><a name="241"></a><a href="#241">241</a></div></td><td class="codeLine"> }</td></tr>
<tr><td><div align="right"><a name="242"></a><a href="#242">242</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="243"></a><a href="#243">243</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="244"></a><a href="#244">244</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="245"></a><a href="#245">245</a></div></td><td class="codeLine"> }</td></tr>
<tr><td><div align="right"><a name="246"></a><a href="#246">246</a></div></td><td class="codeLine"></td></tr>
</tbody>
</table>
<footer>
<h4>Legend</h4>
<p>
<span class="success"><strong>Executed</strong></span>
<span class="danger"><strong>Not Executed</strong></span>
<span class="warning"><strong>Dead Code</strong></span>
</p>
<p>
<small>Generated by <a href="http://github.com/sebastianbergmann/php-code-coverage" target="_top">PHP_CodeCoverage 1.2.13</a> using <a href="http://www.php.net/" target="_top">PHP 5.5.9-1ubuntu4.14</a> and <a href="http://phpunit.de/">PHPUnit 3.7.28</a> at Sun Feb 14 13:13:13 CET 2016.</small>
</p>
</footer>
</div>
<script src="js/jquery.min.js" type="text/javascript"></script>
<script src="js/bootstrap.min.js" type="text/javascript"></script>
<script type="text/javascript">$('.popin').popover({trigger: 'hover'});</script>
</body>
</html>

View File

@ -1,210 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Code Coverage for /var/www/stefproject/manager/autoloader.php</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/bootstrap-responsive.min.css" rel="stylesheet">
<link href="css/style.css" rel="stylesheet">
<!--[if lt IE 9]>
<script src="js/html5shiv.js"></script>
<![endif]-->
</head>
<body>
<header>
<div class="container">
<div class="row">
<div class="span12">
<ul class="breadcrumb">
<li><a href="index.html">/var/www/stefproject/manager</a> <span class="divider">/</span></li>
<li class="active">autoloader.php</li>
</ul>
</div>
</div>
</div>
</header>
<div class="container">
<table class="table table-bordered">
<thead>
<tr>
<td>&nbsp;</td>
<td colspan="10"><div align="center"><strong>Code Coverage</strong></div></td>
</tr>
<tr>
<td>&nbsp;</td>
<td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td>
<td colspan="4"><div align="center"><strong>Functions and Methods</strong></div></td>
<td colspan="3"><div align="center"><strong>Lines</strong></div></td>
</tr>
</thead>
<tbody>
<tr>
<td class="None">Total</td>
<td class="None big">&nbsp;</td>
<td class="None small"><div align="right"></div></td>
<td class="None small"><div align="right">&nbsp;</div></td>
<td class="None big">&nbsp;</td>
<td class="None small"><div align="right"></div></td>
<td class="None small"><div align="right">&nbsp;</div></td>
<td class="None small"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></td>
<td class="warning big"> <div class="progress progress-warning" style="width: 100px;">
<div class="bar" style="width: 37.50%;"></div>
</div>
</td>
<td class="warning small"><div align="right">37.50%</div></td>
<td class="warning small"><div align="right">6&nbsp;/&nbsp;16</div></td>
</tr>
<tr>
<td class="danger" colspan="4"><a href="#15">debug()</a></td>
<td class="danger big"> <div class="progress progress-danger" style="width: 100px;">
<div class="bar" style="width: 0.00%;"></div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
<td class="danger small">0</td>
<td class="danger big"> <div class="progress progress-danger" style="width: 100px;">
<div class="bar" style="width: 0.00%;"></div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;4</div></td>
</tr>
<tr>
<td class="danger" colspan="4"><a href="#31">autoload($classes)</a></td>
<td class="danger big"> <div class="progress progress-danger" style="width: 100px;">
<div class="bar" style="width: 0.00%;"></div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
<td class="danger small">0</td>
<td class="danger big"> <div class="progress progress-danger" style="width: 100px;">
<div class="bar" style="width: 0.00%;"></div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;6</div></td>
</tr>
<tr>
<td class="success" colspan="4"><a href="#52">autoloader($className)</a></td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
<td class="success small">0</td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">6&nbsp;/&nbsp;6</div></td>
</tr>
</tbody>
</table>
<table class="table table-borderless table-condensed">
<tbody>
<tr><td><div align="right"><a name="1"></a><a href="#1">1</a></div></td><td class="codeLine">&lt;?php</td></tr>
<tr><td><div align="right"><a name="2"></a><a href="#2">2</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="3"></a><a href="#3">3</a></div></td><td class="codeLine"> // On definit la racine __ROOT__ si c'est pas deja fait</td></tr>
<tr><td><div align="right"><a name="4"></a><a href="#4">4</a></div></td><td class="codeLine"> if( !defined('__ROOT__') ) define('__ROOT__', dirname(dirname(__FILE__)) );</td></tr>
<tr><td><div align="right"><a name="5"></a><a href="#5">5</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="6"></a><a href="#6">6</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="7"></a><a href="#7">7</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="8"></a><a href="#8">8</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="9"></a><a href="#9">9</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="10"></a><a href="#10">10</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="11"></a><a href="#11">11</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="12"></a><a href="#12">12</a></div></td><td class="codeLine"> /* ACTIVE LE DEBUGGAGE (WARNING + EXCEPTION)</td></tr>
<tr><td><div align="right"><a name="13"></a><a href="#13">13</a></div></td><td class="codeLine"> *</td></tr>
<tr><td><div align="right"><a name="14"></a><a href="#14">14</a></div></td><td class="codeLine"> */</td></tr>
<tr><td><div align="right"><a name="15"></a><a href="#15">15</a></div></td><td class="codeLine"> function debug(){</td></tr>
<tr class="danger"><td><div align="right"><a name="16"></a><a href="#16">16</a></div></td><td class="codeLine"> ini_set('display_errors',1);</td></tr>
<tr class="danger"><td><div align="right"><a name="17"></a><a href="#17">17</a></div></td><td class="codeLine"> ini_set('display_startup_errors',1);</td></tr>
<tr class="danger"><td><div align="right"><a name="18"></a><a href="#18">18</a></div></td><td class="codeLine"> error_reporting(-1);</td></tr>
<tr class="danger"><td><div align="right"><a name="19"></a><a href="#19">19</a></div></td><td class="codeLine"> }</td></tr>
<tr><td><div align="right"><a name="20"></a><a href="#20">20</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="21"></a><a href="#21">21</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="22"></a><a href="#22">22</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="23"></a><a href="#23">23</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="24"></a><a href="#24">24</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="25"></a><a href="#25">25</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="26"></a><a href="#26">26</a></div></td><td class="codeLine"> /* APPEL DYNAMIQUE DES CLASSES PASSEES EN PARAMETRE</td></tr>
<tr><td><div align="right"><a name="27"></a><a href="#27">27</a></div></td><td class="codeLine"> *</td></tr>
<tr><td><div align="right"><a name="28"></a><a href="#28">28</a></div></td><td class="codeLine"> * @classes&lt;Array&gt; Tableau contenant le nom des classes</td></tr>
<tr><td><div align="right"><a name="29"></a><a href="#29">29</a></div></td><td class="codeLine"> *</td></tr>
<tr><td><div align="right"><a name="30"></a><a href="#30">30</a></div></td><td class="codeLine"> */</td></tr>
<tr><td><div align="right"><a name="31"></a><a href="#31">31</a></div></td><td class="codeLine"> function autoload($classes){</td></tr>
<tr class="danger"><td><div align="right"><a name="32"></a><a href="#32">32</a></div></td><td class="codeLine"> foreach($classes as $class){</td></tr>
<tr class="danger"><td><div align="right"><a name="33"></a><a href="#33">33</a></div></td><td class="codeLine"> $name_only = substr(strrchr($class, '\\'), 1);</td></tr>
<tr class="danger"><td><div align="right"><a name="34"></a><a href="#34">34</a></div></td><td class="codeLine"> var_dump('use '.$class.' as '.$name_only.';');</td></tr>
<tr class="danger"><td><div align="right"><a name="35"></a><a href="#35">35</a></div></td><td class="codeLine"> eval('use '.$class.' as '.$name_only.';');</td></tr>
<tr class="danger"><td><div align="right"><a name="36"></a><a href="#36">36</a></div></td><td class="codeLine"> }</td></tr>
<tr class="danger"><td><div align="right"><a name="37"></a><a href="#37">37</a></div></td><td class="codeLine"> }</td></tr>
<tr><td><div align="right"><a name="38"></a><a href="#38">38</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="39"></a><a href="#39">39</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="40"></a><a href="#40">40</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="41"></a><a href="#41">41</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="42"></a><a href="#42">42</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="43"></a><a href="#43">43</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="44"></a><a href="#44">44</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="45"></a><a href="#45">45</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="46"></a><a href="#46">46</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="47"></a><a href="#47">47</a></div></td><td class="codeLine"> /* AUTOLOADER</td></tr>
<tr><td><div align="right"><a name="48"></a><a href="#48">48</a></div></td><td class="codeLine"> *</td></tr>
<tr><td><div align="right"><a name="49"></a><a href="#49">49</a></div></td><td class="codeLine"> * @className&lt;String&gt; Nom de la classe appelee</td></tr>
<tr><td><div align="right"><a name="50"></a><a href="#50">50</a></div></td><td class="codeLine"> *</td></tr>
<tr><td><div align="right"><a name="51"></a><a href="#51">51</a></div></td><td class="codeLine"> */</td></tr>
<tr><td><div align="right"><a name="52"></a><a href="#52">52</a></div></td><td class="codeLine"> function autoloader($className){</td></tr>
<tr class="success popin" data-title="12 tests cover line 53" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_check::testAutoIncrementSizeInfCorrect&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_check::testAutoIncrementSizeLtInfIncorrect&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_check::testUsernameSize3Correct&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_check::testUsernameSizeLt3Incorrect&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_check::testUsernameSizeGt30Incorrect&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_check::testMailSizeEqCorrect&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_check::testPasswordContentIncorrect&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithNoSERVER&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistence&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistenceRefutation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_delNumeric::testGlobal2Dim&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorSuccess&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="53"></a><a href="#53">53</a></div></td><td class="codeLine"> $path = '';</td></tr>
<tr><td><div align="right"><a name="54"></a><a href="#54">54</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="55"></a><a href="#55">55</a></div></td><td class="codeLine"> /* [1] On utilise le namespace pour localiser</td></tr>
<tr><td><div align="right"><a name="56"></a><a href="#56">56</a></div></td><td class="codeLine"> ===============================================*/</td></tr>
<tr><td><div align="right"><a name="57"></a><a href="#57">57</a></div></td><td class="codeLine"> // On remplace les '\' par des '/'</td></tr>
<tr class="success popin" data-title="12 tests cover line 58" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_check::testAutoIncrementSizeInfCorrect&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_check::testAutoIncrementSizeLtInfIncorrect&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_check::testUsernameSize3Correct&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_check::testUsernameSizeLt3Incorrect&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_check::testUsernameSizeGt30Incorrect&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_check::testMailSizeEqCorrect&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_check::testPasswordContentIncorrect&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithNoSERVER&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistence&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistenceRefutation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_delNumeric::testGlobal2Dim&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorSuccess&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="58"></a><a href="#58">58</a></div></td><td class="codeLine"> $path = str_replace('\\', '/', $className) . '.php';</td></tr>
<tr class="success popin" data-title="12 tests cover line 59" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_check::testAutoIncrementSizeInfCorrect&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_check::testAutoIncrementSizeLtInfIncorrect&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_check::testUsernameSize3Correct&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_check::testUsernameSizeLt3Incorrect&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_check::testUsernameSizeGt30Incorrect&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_check::testMailSizeEqCorrect&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_check::testPasswordContentIncorrect&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithNoSERVER&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistence&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistenceRefutation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_delNumeric::testGlobal2Dim&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorSuccess&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="59"></a><a href="#59">59</a></div></td><td class="codeLine"> $path = __ROOT__.'/'.$path;</td></tr>
<tr><td><div align="right"><a name="60"></a><a href="#60">60</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="61"></a><a href="#61">61</a></div></td><td class="codeLine"> // Si le fichier existe</td></tr>
<tr class="success popin" data-title="12 tests cover line 62" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_check::testAutoIncrementSizeInfCorrect&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_check::testAutoIncrementSizeLtInfIncorrect&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_check::testUsernameSize3Correct&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_check::testUsernameSizeLt3Incorrect&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_check::testUsernameSizeGt30Incorrect&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_check::testMailSizeEqCorrect&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_check::testPasswordContentIncorrect&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithNoSERVER&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistence&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistenceRefutation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_delNumeric::testGlobal2Dim&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorSuccess&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="62"></a><a href="#62">62</a></div></td><td class="codeLine"> if( file_exists($path) )</td></tr>
<tr class="success popin" data-title="12 tests cover line 63" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_check::testAutoIncrementSizeInfCorrect&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_check::testAutoIncrementSizeLtInfIncorrect&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_check::testUsernameSize3Correct&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_check::testUsernameSizeLt3Incorrect&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_check::testUsernameSizeGt30Incorrect&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_check::testMailSizeEqCorrect&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_check::testPasswordContentIncorrect&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithNoSERVER&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistence&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistenceRefutation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_delNumeric::testGlobal2Dim&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorSuccess&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="63"></a><a href="#63">63</a></div></td><td class="codeLine"> require_once $path; // on inclue le fichier</td></tr>
<tr><td><div align="right"><a name="64"></a><a href="#64">64</a></div></td><td class="codeLine"></td></tr>
<tr class="success popin" data-title="12 tests cover line 65" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_check::testAutoIncrementSizeInfCorrect&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_check::testAutoIncrementSizeLtInfIncorrect&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_check::testUsernameSize3Correct&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_check::testUsernameSizeLt3Incorrect&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_check::testUsernameSizeGt30Incorrect&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_check::testMailSizeEqCorrect&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_check::testPasswordContentIncorrect&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testGetInstanceWithNoSERVER&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistence&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_construct::testInstancePersistenceRefutation&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_delNumeric::testGlobal2Dim&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\Error::testErrorSuccess&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="65"></a><a href="#65">65</a></div></td><td class="codeLine"> }</td></tr>
<tr><td><div align="right"><a name="66"></a><a href="#66">66</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="67"></a><a href="#67">67</a></div></td><td class="codeLine"> // On definit l'autoloader comme autoloader (obvious)</td></tr>
<tr><td><div align="right"><a name="68"></a><a href="#68">68</a></div></td><td class="codeLine"> spl_autoload_register('autoloader', false, true);</td></tr>
<tr><td><div align="right"><a name="69"></a><a href="#69">69</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="70"></a><a href="#70">70</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="71"></a><a href="#71">71</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="72"></a><a href="#72">72</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="73"></a><a href="#73">73</a></div></td><td class="codeLine"> /* On demarre la session securisee PHP</td></tr>
<tr><td><div align="right"><a name="74"></a><a href="#74">74</a></div></td><td class="codeLine"> =========================================================*/</td></tr>
<tr><td><div align="right"><a name="75"></a><a href="#75">75</a></div></td><td class="codeLine"> \manager\sessionManager::session_start();</td></tr>
</tbody>
</table>
<footer>
<h4>Legend</h4>
<p>
<span class="success"><strong>Executed</strong></span>
<span class="danger"><strong>Not Executed</strong></span>
<span class="warning"><strong>Dead Code</strong></span>
</p>
<p>
<small>Generated by <a href="http://github.com/sebastianbergmann/php-code-coverage" target="_top">PHP_CodeCoverage 1.2.13</a> using <a href="http://www.php.net/" target="_top">PHP 5.5.9-1ubuntu4.14</a> and <a href="http://phpunit.de/">PHPUnit 3.7.28</a> at Sun Feb 14 13:13:13 CET 2016.</small>
</p>
</footer>
</div>
<script src="js/jquery.min.js" type="text/javascript"></script>
<script src="js/bootstrap.min.js" type="text/javascript"></script>
<script type="text/javascript">$('.popin').popover({trigger: 'hover'});</script>
</body>
</html>

File diff suppressed because one or more lines are too long

10
phpunit/coverage/css/bootstrap.min.css vendored Executable file → Normal file

File diff suppressed because one or more lines are too long

46
phpunit/coverage/css/style.css Executable file → Normal file
View File

@ -3,15 +3,23 @@ body {
}
.popover {
width: 600px;
max-width: none;
}
.table td {
.glyphicon {
margin-right:.25em;
}
.table-bordered>thead>tr>td {
border-bottom-width: 1px;
}
.table tbody>tr>td, .table thead>tr>td {
padding-top: 3px;
padding-bottom: 3px;
}
.table-condensed td {
.table-condensed tbody>tr>td {
padding-top: 0;
padding-bottom: 0;
}
@ -24,10 +32,18 @@ body {
border: 0 !important;
}
.table tbody td.success, li.success, span.success {
.table tbody tr.covered-by-large-tests, li.covered-by-large-tests, tr.success, td.success, li.success, span.success {
background-color: #dff0d8;
}
.table tbody tr.covered-by-medium-tests, li.covered-by-medium-tests {
background-color: #c3e3b5;
}
.table tbody tr.covered-by-small-tests, li.covered-by-small-tests {
background-color: #99cb84;
}
.table tbody tr.danger, .table tbody td.danger, li.danger, span.danger {
background-color: #f2dede;
}
@ -41,7 +57,7 @@ body {
}
td.big {
width: 100px;
width: 117px;
}
td.small {
@ -84,3 +100,23 @@ span.success, span.warning, span.danger {
height: 200px;
width: 475px;
}
#toplink {
position: fixed;
left: 5px;
bottom: 5px;
outline: 0;
}
svg text {
font-family: "Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif;
font-size: 11px;
color: #666;
fill: #666;
}
.scrollbox {
height:245px;
overflow-x:hidden;
overflow-y:scroll;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

View File

@ -1,130 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Dashboard for /var/www/stefproject/manager</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/bootstrap-responsive.min.css" rel="stylesheet">
<link href="css/style.css" rel="stylesheet">
<!--[if lt IE 9]>
<script src="js/html5shiv.js"></script>
<![endif]-->
</head>
<body>
<header>
<div class="container">
<div class="row">
<div class="span12">
<ul class="breadcrumb">
<li><a href="index.html">/var/www/stefproject/manager</a></li>
<li class="active">(Dashboard)</li>
</ul>
</div>
</div>
</div>
</header>
<div class="container">
<div class="row">
<div class="span6">
<h2>Class Coverage Distribution</h2>
<div id="classCoverageDistribution"></div>
</div>
<div class="span6">
<h2>Class Complexity</h2>
<div id="classComplexity"></div>
</div>
</div>
<div class="row">
<div class="span6">
<h2>Top Project Risks</h2>
<ul>
<li><a href="Database.php.html#6">DataBase</a> (54)</li>
<li><a href="ResourceDispatcher.php.html#6">ResourceDispatcher</a> (32)</li>
</ul>
</div>
<div class="span6">
<h2>Least Tested Methods</h2>
<ul>
<li><a href="ResourceDispatcher.php.html#216">ResourceDispatcher::view</a> (0%)</li>
<li><a href="ResourceDispatcher.php.html#30">ResourceDispatcher::__construct</a> (60%)</li>
<li><a href="Database.php.html#47">DataBase::getInstance</a> (85%)</li>
<li><a href="Database.php.html#27">DataBase::__construct</a> (88%)</li>
<li><a href="Database.php.html#185">DataBase::check</a> (95%)</li>
</ul>
</div>
</div>
<footer>
<p>
<small>Generated by <a href="http://github.com/sebastianbergmann/php-code-coverage" target="_top">PHP_CodeCoverage 1.2.13</a> using <a href="http://www.php.net/" target="_top">PHP 5.5.9-1ubuntu4.14</a> and <a href="http://phpunit.de/">PHPUnit 3.7.28</a> at Sun Feb 14 13:13:13 CET 2016.</small>
</p>
</footer>
</div>
<script src="js/jquery.min.js" type="text/javascript"></script>
<script src="js/bootstrap.min.js" type="text/javascript"></script>
<!-- <script src="js/highcharts.js" type="text/javascript"></script> -->
<script type="text/javascript">
$(document).ready(function() {
var classCoverageDistribution = new Highcharts.Chart({
chart: {
renderTo: 'classCoverageDistribution',
type: 'column'
},
title: {text: ''},
legend: {enabled: false},
credits: {enabled: false},
tooltip: {enabled: false},
xAxis: {
labels: {style: {fontSize: '8px'}},
categories: [
'0%','0-10%','10-20%','20-30%','30-40%','40-50%','50-60%','60-70%','70-80%','80-90%','90-100%','100%'
],
min: 0
},
yAxis: {
title: '',
labels: {style: {fontSize: '8px'}},
min: 0
},
series: [{
data: [0,0,0,0,0,0,0,0,1,0,1,2]
}],
});
var classComplexity = new Highcharts.Chart({
chart: {
renderTo: 'classComplexity',
type: 'scatter'
},
title: {text: ''},
legend: {enabled: false},
credits: {enabled: false},
xAxis: {
title: {text: 'Code Coverage (in percent)'},
labels: {enabled: true},
min: 0
},
yAxis: {
title: {text: 'Cyclomatic Complexity'},
labels: {enabled: true},
min: 0
},
tooltip: {
formatter: function() {
return this.point.config[2];
}
},
series: [{
data: [[95.454545454545,54,"<a href=\"Database.php.html#6\">DataBase<\/a>"],[100,16,"<a href=\"Error.php.html#7\">Error<\/a>"],[75.925925925926,24,"<a href=\"ResourceDispatcher.php.html#6\">ResourceDispatcher<\/a>"],[100,11,"<a href=\"sessionManager.php.html#6\">sessionManager<\/a>"]],
marker: {
symbol: 'diamond'
}
}],
});
});
</script>
</body>
</html>

294
phpunit/coverage/index.html Executable file → Normal file
View File

@ -2,25 +2,25 @@
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Code Coverage for /var/www/stefproject/manager</title>
<title>Code Coverage for /vhost/logauth/build</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/bootstrap-responsive.min.css" rel="stylesheet">
<link href="css/style.css" rel="stylesheet">
<link href=".css/bootstrap.min.css" rel="stylesheet">
<link href=".css/style.css" rel="stylesheet">
<!--[if lt IE 9]>
<script src="js/html5shiv.js"></script>
<script src=".js/html5shiv.min.js"></script>
<script src=".js/respond.min.js"></script>
<![endif]-->
</head>
<body>
<header>
<div class="container">
<div class="row">
<div class="span12">
<ul class="breadcrumb">
<li class="active">/var/www/stefproject/manager</li>
<li>(<a href="index.dashboard.html">Dashboard</a>)</li>
<div class="col-md-12">
<ol class="breadcrumb">
<li class="active">/vhost/logauth/build</li>
<li>(<a href="dashboard.html">Dashboard</a>)</li>
</ul>
</ol>
</div>
</div>
</div>
@ -41,43 +41,111 @@
</thead>
<tbody>
<tr>
<td class="success">Total</td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 85.71%;"></div>
<td class="danger">Total</td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="success small"><div align="right">85.71%</div></td>
<td class="success small"><div align="right">156&nbsp;/&nbsp;182</div></td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 70.59%;"></div>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;3248</div></td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="success small"><div align="right">70.59%</div></td>
<td class="success small"><div align="right">12&nbsp;/&nbsp;17</div></td>
<td class="warning big"> <div class="progress progress-warning" style="width: 100px;">
<div class="bar" style="width: 50.00%;"></div>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;219</div></td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="warning small"><div align="right">50.00%</div></td>
<td class="warning small"><div align="right">2&nbsp;/&nbsp;4</div></td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;41</div></td>
</tr>
<tr>
<td class="success"><i class="icon-file"></i> <a href="Database.php.html">Database.php</a></td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 95.45%;"></div>
<td class="danger"><span class="glyphicon glyphicon-folder-open"></span> <a href="api/index.html">api</a></td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="success small"><div align="right">95.45%</div></td>
<td class="success small"><div align="right">63&nbsp;/&nbsp;66</div></td>
<td class="warning big"> <div class="progress progress-warning" style="width: 100px;">
<div class="bar" style="width: 50.00%;"></div>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;1139</div></td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="warning small"><div align="right">50.00%</div></td>
<td class="warning small"><div align="right">3&nbsp;/&nbsp;6</div></td>
<td class="danger big"> <div class="progress progress-danger" style="width: 100px;">
<div class="bar" style="width: 0.00%;"></div>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;72</div></td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;11</div></td>
</tr>
<tr>
<td class="danger"><span class="glyphicon glyphicon-folder-open"></span> <a href="database/index.html">database</a></td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;952</div></td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;84</div></td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;13</div></td>
</tr>
<tr>
<td class="danger"><span class="glyphicon glyphicon-folder-open"></span> <a href="error/index.html">error</a></td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;99</div></td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;5</div></td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
@ -85,43 +153,27 @@
</tr>
<tr>
<td class="success"><i class="icon-file"></i> <a href="Error.php.html">Error.php</a></td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
<td class="danger"><span class="glyphicon glyphicon-folder-open"></span> <a href="http/index.html">http</a></td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">16&nbsp;/&nbsp;16</div></td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;57</div></td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
</tr>
<tr>
<td class="success"><i class="icon-file"></i> <a href="ResourceDispatcher.php.html">ResourceDispatcher.php</a></td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 75.93%;"></div>
</div>
</td>
<td class="success small"><div align="right">75.93%</div></td>
<td class="success small"><div align="right">41&nbsp;/&nbsp;54</div></td>
<td class="warning big"> <div class="progress progress-warning" style="width: 100px;">
<div class="bar" style="width: 66.67%;"></div>
</div>
</td>
<td class="warning small"><div align="right">66.67%</div></td>
<td class="warning small"><div align="right">4&nbsp;/&nbsp;6</div></td>
<td class="danger big"> <div class="progress progress-danger" style="width: 100px;">
<div class="bar" style="width: 0.00%;"></div>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;3</div></td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
@ -129,59 +181,107 @@
</tr>
<tr>
<td class="warning"><i class="icon-file"></i> <a href="autoloader.php.html">autoloader.php</a></td>
<td class="warning big"> <div class="progress progress-warning" style="width: 100px;">
<div class="bar" style="width: 37.50%;"></div>
<td class="danger"><span class="glyphicon glyphicon-folder-open"></span> <a href="orm/index.html">orm</a></td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="warning small"><div align="right">37.50%</div></td>
<td class="warning small"><div align="right">6&nbsp;/&nbsp;16</div></td>
<td class="None big">&nbsp;</td>
<td class="None small"><div align="right"></div></td>
<td class="None small"><div align="right">&nbsp;</div></td>
<td class="None big">&nbsp;</td>
<td class="None small"><div align="right"></div></td>
<td class="None small"><div align="right">&nbsp;</div></td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;582</div></td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;25</div></td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;3</div></td>
</tr>
<tr>
<td class="success"><i class="icon-file"></i> <a href="sessionManager.php.html">sessionManager.php</a></td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
<td class="danger"><span class="glyphicon glyphicon-folder-open"></span> <a href="router/index.html">router</a></td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">30&nbsp;/&nbsp;30</div></td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;40</div></td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">4&nbsp;/&nbsp;4</div></td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;7</div></td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;2</div></td>
</tr>
<tr>
<td class="danger"><span class="glyphicon glyphicon-folder-open"></span> <a href="viewer/index.html">viewer</a></td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;379</div></td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;23</div></td>
<td class="danger big"> <div class="progress">
<div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
<span class="sr-only">0.00% covered (danger)</span>
</div>
</div>
</td>
<td class="danger small"><div align="right">0.00%</div></td>
<td class="danger small"><div align="right">0&nbsp;/&nbsp;10</div></td>
</tr>
</tbody>
</table>
<footer>
<hr/>
<h4>Legend</h4>
<p>
<span class="danger"><strong>Low</strong>: 0% to 35%</span>
<span class="warning"><strong>Medium</strong>: 35% to 70%</span>
<span class="success"><strong>High</strong>: 70% to 100%</span>
<span class="danger"><strong>Low</strong>: 0% to 50%</span>
<span class="warning"><strong>Medium</strong>: 50% to 90%</span>
<span class="success"><strong>High</strong>: 90% to 100%</span>
</p>
<p>
<small>Generated by <a href="http://github.com/sebastianbergmann/php-code-coverage" target="_top">PHP_CodeCoverage 1.2.13</a> using <a href="http://www.php.net/" target="_top">PHP 5.5.9-1ubuntu4.14</a> and <a href="http://phpunit.de/">PHPUnit 3.7.28</a> at Sun Feb 14 13:13:13 CET 2016.</small>
<small>Generated by <a href="https://github.com/sebastianbergmann/php-code-coverage" target="_top">php-code-coverage 5.2.1</a> using <a href="https://secure.php.net/" target="_top">PHP 7.0.15-0ubuntu0.16.04.4</a> with <a href="https://xdebug.org/">Xdebug 2.4.0</a> and <a href="https://phpunit.de/">PHPUnit 6.1.3</a> at Fri May 12 16:15:58 UTC 2017.</small>
</p>
</footer>
</div>
<script src="js/jquery.min.js" type="text/javascript"></script>
<script src="js/bootstrap.min.js" type="text/javascript"></script>
<script src=".js/jquery.min.js" type="text/javascript"></script>
<script src=".js/bootstrap.min.js" type="text/javascript"></script>
<script src=".js/holder.min.js" type="text/javascript"></script>
</body>
</html>

8
phpunit/coverage/js/bootstrap.min.js vendored Executable file → Normal file

File diff suppressed because one or more lines are too long

View File

@ -1,8 +0,0 @@
/*
HTML5 Shiv v3.6.2pre | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
*/
(function(l,f){function m(){var a=e.elements;return"string"==typeof a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag();
a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/\w+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x<style>article,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}mark{background:#FF0;color:#000}</style>";
c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="<xyz></xyz>";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode||
"undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",version:"3.6.2pre",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f);if(g)return a.createDocumentFragment();
for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d<h;d++)c.createElement(e[d]);return c}};l.html5=e;q(f)})(this,document);

9409
phpunit/coverage/js/jquery.min.js vendored Executable file → Normal file

File diff suppressed because one or more lines are too long

View File

@ -1,295 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Code Coverage for /var/www/stefproject/manager/sessionManager.php</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/bootstrap-responsive.min.css" rel="stylesheet">
<link href="css/style.css" rel="stylesheet">
<!--[if lt IE 9]>
<script src="js/html5shiv.js"></script>
<![endif]-->
</head>
<body>
<header>
<div class="container">
<div class="row">
<div class="span12">
<ul class="breadcrumb">
<li><a href="index.html">/var/www/stefproject/manager</a> <span class="divider">/</span></li>
<li class="active">sessionManager.php</li>
</ul>
</div>
</div>
</div>
</header>
<div class="container">
<table class="table table-bordered">
<thead>
<tr>
<td>&nbsp;</td>
<td colspan="10"><div align="center"><strong>Code Coverage</strong></div></td>
</tr>
<tr>
<td>&nbsp;</td>
<td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td>
<td colspan="4"><div align="center"><strong>Functions and Methods</strong></div></td>
<td colspan="3"><div align="center"><strong>Lines</strong></div></td>
</tr>
</thead>
<tbody>
<tr>
<td class="success">Total</td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">4&nbsp;/&nbsp;4</div></td>
<td class="success small"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">30&nbsp;/&nbsp;30</div></td>
</tr>
<tr>
<td class="success">sessionManager</td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">4&nbsp;/&nbsp;4</div></td>
<td class="success small">11</td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">30&nbsp;/&nbsp;30</div></td>
</tr>
<tr>
<td class="success" colspan="4">&nbsp;<a href="#14">secure_sha1($data)</a></td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
<td class="success small">1</td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
</tr>
<tr>
<td class="success" colspan="4">&nbsp;<a href="#22">reset_session($session_id=null)</a></td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
<td class="success small">2</td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">8&nbsp;/&nbsp;8</div></td>
</tr>
<tr>
<td class="success" colspan="4">&nbsp;<a href="#46">update_token()</a></td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
<td class="success small">1</td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">5&nbsp;/&nbsp;5</div></td>
</tr>
<tr>
<td class="success" colspan="4">&nbsp;<a href="#60">session_start()</a></td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
<td class="success small">7</td>
<td class="success big"> <div class="progress progress-success" style="width: 100px;">
<div class="bar" style="width: 100.00%;"></div>
</div>
</td>
<td class="success small"><div align="right">100.00%</div></td>
<td class="success small"><div align="right">16&nbsp;/&nbsp;16</div></td>
</tr>
</tbody>
</table>
<table class="table table-borderless table-condensed">
<tbody>
<tr><td><div align="right"><a name="1"></a><a href="#1">1</a></div></td><td class="codeLine">&lt;?php</td></tr>
<tr><td><div align="right"><a name="2"></a><a href="#2">2</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="3"></a><a href="#3">3</a></div></td><td class="codeLine"> namespace manager;</td></tr>
<tr><td><div align="right"><a name="4"></a><a href="#4">4</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="5"></a><a href="#5">5</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="6"></a><a href="#6">6</a></div></td><td class="codeLine"> class sessionManager{</td></tr>
<tr><td><div align="right"><a name="7"></a><a href="#7">7</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="8"></a><a href="#8">8</a></div></td><td class="codeLine"> private static $prefix;</td></tr>
<tr><td><div align="right"><a name="9"></a><a href="#9">9</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="10"></a><a href="#10">10</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="11"></a><a href="#11">11</a></div></td><td class="codeLine"> /*************************/</td></tr>
<tr><td><div align="right"><a name="12"></a><a href="#12">12</a></div></td><td class="codeLine"> /* SECURE SHA1 ALGORITHM */</td></tr>
<tr><td><div align="right"><a name="13"></a><a href="#13">13</a></div></td><td class="codeLine"> /*************************/</td></tr>
<tr><td><div align="right"><a name="14"></a><a href="#14">14</a></div></td><td class="codeLine"> public static function secure_sha1($data){</td></tr>
<tr class="success popin" data-title="14 tests cover line 15" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_check::testPasswordSizeEqCorrect&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\DatabaseDriver_check::testPasswordSizeSupIncorrect&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSecureSHA1&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdSessionUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdenticalPrefix&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testCookieUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIpThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgentThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testRegeneratedToken&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSamePrefixToken&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="15"></a><a href="#15">15</a></div></td><td class="codeLine"> return sha1( '&quot;&gt;\[..|{@#))'.sha1($data.'_)Q@#((%*_$%(@#') );</td></tr>
<tr><td><div align="right"><a name="16"></a><a href="#16">16</a></div></td><td class="codeLine"> }</td></tr>
<tr><td><div align="right"><a name="17"></a><a href="#17">17</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="18"></a><a href="#18">18</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="19"></a><a href="#19">19</a></div></td><td class="codeLine"> /*****************************/</td></tr>
<tr><td><div align="right"><a name="20"></a><a href="#20">20</a></div></td><td class="codeLine"> /* INITIALISATION DE SESSION */</td></tr>
<tr><td><div align="right"><a name="21"></a><a href="#21">21</a></div></td><td class="codeLine"> /*****************************/</td></tr>
<tr><td><div align="right"><a name="22"></a><a href="#22">22</a></div></td><td class="codeLine"> private static function reset_session($session_id=null){</td></tr>
<tr><td><div align="right"><a name="23"></a><a href="#23">23</a></div></td><td class="codeLine"> // On ferme la session</td></tr>
<tr class="success popin" data-title="11 tests cover line 24" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdSessionUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdenticalPrefix&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testCookieUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIpThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgentThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testRegeneratedToken&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSamePrefixToken&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="24"></a><a href="#24">24</a></div></td><td class="codeLine"> session_destroy();</td></tr>
<tr><td><div align="right"><a name="25"></a><a href="#25">25</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="26"></a><a href="#26">26</a></div></td><td class="codeLine"> // On definit l'id session si donne en argument</td></tr>
<tr class="success popin" data-title="11 tests cover line 27" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdSessionUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdenticalPrefix&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testCookieUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIpThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgentThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testRegeneratedToken&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSamePrefixToken&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="27"></a><a href="#27">27</a></div></td><td class="codeLine"> if( $session_id != null )</td></tr>
<tr class="success popin" data-title="11 tests cover line 28" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdSessionUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdenticalPrefix&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testCookieUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIpThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgentThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testRegeneratedToken&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSamePrefixToken&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="28"></a><a href="#28">28</a></div></td><td class="codeLine"> session_id( $session_id );</td></tr>
<tr><td><div align="right"><a name="29"></a><a href="#29">29</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="30"></a><a href="#30">30</a></div></td><td class="codeLine"> // Precaution: on met a jour le cookie</td></tr>
<tr class="success popin" data-title="11 tests cover line 31" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdSessionUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdenticalPrefix&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testCookieUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIpThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgentThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testRegeneratedToken&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSamePrefixToken&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="31"></a><a href="#31">31</a></div></td><td class="codeLine"> setcookie('PHPSESSID', session_id(), time()+60*30 );</td></tr>
<tr><td><div align="right"><a name="32"></a><a href="#32">32</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="33"></a><a href="#33">33</a></div></td><td class="codeLine"> // On redemarre la session avec le bon id session</td></tr>
<tr class="success popin" data-title="11 tests cover line 34" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdSessionUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdenticalPrefix&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testCookieUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIpThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgentThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testRegeneratedToken&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSamePrefixToken&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="34"></a><a href="#34">34</a></div></td><td class="codeLine"> \session_start();</td></tr>
<tr><td><div align="right"><a name="35"></a><a href="#35">35</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="36"></a><a href="#36">36</a></div></td><td class="codeLine"> // On met a jour le token</td></tr>
<tr class="success popin" data-title="11 tests cover line 37" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdSessionUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdenticalPrefix&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testCookieUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIpThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgentThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testRegeneratedToken&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSamePrefixToken&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="37"></a><a href="#37">37</a></div></td><td class="codeLine"> self::update_token();</td></tr>
<tr><td><div align="right"><a name="38"></a><a href="#38">38</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="39"></a><a href="#39">39</a></div></td><td class="codeLine"></td></tr>
<tr class="success popin" data-title="11 tests cover line 40" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdSessionUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdenticalPrefix&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testCookieUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIpThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgentThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testRegeneratedToken&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSamePrefixToken&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="40"></a><a href="#40">40</a></div></td><td class="codeLine"> header('Refresh: 0');</td></tr>
<tr class="success popin" data-title="11 tests cover line 41" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdSessionUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdenticalPrefix&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testCookieUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIpThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgentThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testRegeneratedToken&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSamePrefixToken&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="41"></a><a href="#41">41</a></div></td><td class="codeLine"> }</td></tr>
<tr><td><div align="right"><a name="42"></a><a href="#42">42</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="43"></a><a href="#43">43</a></div></td><td class="codeLine"> /*******************/</td></tr>
<tr><td><div align="right"><a name="44"></a><a href="#44">44</a></div></td><td class="codeLine"> /* GENERE UN TOKEN */</td></tr>
<tr><td><div align="right"><a name="45"></a><a href="#45">45</a></div></td><td class="codeLine"> /*******************/</td></tr>
<tr><td><div align="right"><a name="46"></a><a href="#46">46</a></div></td><td class="codeLine"> private static function update_token(){</td></tr>
<tr class="success popin" data-title="11 tests cover line 47" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdSessionUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdenticalPrefix&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testCookieUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIpThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgentThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testRegeneratedToken&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSamePrefixToken&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="47"></a><a href="#47">47</a></div></td><td class="codeLine"> $token = self::$prefix.self::secure_sha1(uniqid());</td></tr>
<tr><td><div align="right"><a name="48"></a><a href="#48">48</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="49"></a><a href="#49">49</a></div></td><td class="codeLine"> // On definit le token en session</td></tr>
<tr class="success popin" data-title="11 tests cover line 50" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdSessionUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdenticalPrefix&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testCookieUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIpThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgentThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testRegeneratedToken&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSamePrefixToken&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="50"></a><a href="#50">50</a></div></td><td class="codeLine"> $_SESSION['session_token'] = $token;</td></tr>
<tr><td><div align="right"><a name="51"></a><a href="#51">51</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="52"></a><a href="#52">52</a></div></td><td class="codeLine"> // On definit le token en cookie</td></tr>
<tr class="success popin" data-title="11 tests cover line 53" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdSessionUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdenticalPrefix&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testCookieUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIpThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgentThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testRegeneratedToken&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSamePrefixToken&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="53"></a><a href="#53">53</a></div></td><td class="codeLine"> $_COOKIE['session_token'] = $_SESSION['session_token'];</td></tr>
<tr class="success popin" data-title="11 tests cover line 54" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdSessionUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdenticalPrefix&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testCookieUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIpThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgentThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testRegeneratedToken&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSamePrefixToken&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="54"></a><a href="#54">54</a></div></td><td class="codeLine"> setcookie('session_token', $_COOKIE['session_token'], time()+60*30 );</td></tr>
<tr class="success popin" data-title="11 tests cover line 55" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdSessionUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdenticalPrefix&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testCookieUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIpThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgentThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testRegeneratedToken&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSamePrefixToken&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="55"></a><a href="#55">55</a></div></td><td class="codeLine"> }</td></tr>
<tr><td><div align="right"><a name="56"></a><a href="#56">56</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="57"></a><a href="#57">57</a></div></td><td class="codeLine"> /************/</td></tr>
<tr><td><div align="right"><a name="58"></a><a href="#58">58</a></div></td><td class="codeLine"> /* AMORCEUR */</td></tr>
<tr><td><div align="right"><a name="59"></a><a href="#59">59</a></div></td><td class="codeLine"> /************/</td></tr>
<tr><td><div align="right"><a name="60"></a><a href="#60">60</a></div></td><td class="codeLine"> public static function session_start(){</td></tr>
<tr><td><div align="right"><a name="61"></a><a href="#61">61</a></div></td><td class="codeLine"> /* [1] Génération et Gestion des donnees a utiliser</td></tr>
<tr><td><div align="right"><a name="62"></a><a href="#62">62</a></div></td><td class="codeLine"> ==============================================================*/</td></tr>
<tr><td><div align="right"><a name="63"></a><a href="#63">63</a></div></td><td class="codeLine"> // On genere le hash a partir des donnees personnelles</td></tr>
<tr class="success popin" data-title="11 tests cover line 64" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdSessionUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdenticalPrefix&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testCookieUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIpThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgentThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testRegeneratedToken&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSamePrefixToken&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="64"></a><a href="#64">64</a></div></td><td class="codeLine"> self::$prefix = self::secure_sha1( $_SERVER['REMOTE_ADDR'].$_SERVER['HTTP_USER_AGENT'] );</td></tr>
<tr><td><div align="right"><a name="65"></a><a href="#65">65</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="66"></a><a href="#66">66</a></div></td><td class="codeLine"> // On cree un id session associe a ces donnees personnelles</td></tr>
<tr class="success popin" data-title="11 tests cover line 67" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdSessionUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdenticalPrefix&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testCookieUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIpThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgentThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testRegeneratedToken&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSamePrefixToken&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="67"></a><a href="#67">67</a></div></td><td class="codeLine"> $sessid = substr(self::$prefix,0,5) . substr(self::secure_sha1(uniqid()),0,24);</td></tr>
<tr><td><div align="right"><a name="68"></a><a href="#68">68</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="69"></a><a href="#69">69</a></div></td><td class="codeLine"> // On genere un token pour l'execution suivante</td></tr>
<tr class="success popin" data-title="11 tests cover line 70" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdSessionUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdenticalPrefix&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testCookieUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIpThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgentThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testRegeneratedToken&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSamePrefixToken&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="70"></a><a href="#70">70</a></div></td><td class="codeLine"> $token = self::$prefix.self::secure_sha1(uniqid());</td></tr>
<tr><td><div align="right"><a name="71"></a><a href="#71">71</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="72"></a><a href="#72">72</a></div></td><td class="codeLine"> // On definit/recupere le token</td></tr>
<tr class="success popin" data-title="11 tests cover line 73" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdSessionUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdenticalPrefix&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testCookieUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIpThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgentThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testRegeneratedToken&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSamePrefixToken&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="73"></a><a href="#73">73</a></div></td><td class="codeLine"> $session_token = (isset($_COOKIE['session_token'])) ? $_COOKIE['session_token'] : null;</td></tr>
<tr><td><div align="right"><a name="74"></a><a href="#74">74</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="75"></a><a href="#75">75</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="76"></a><a href="#76">76</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="77"></a><a href="#77">77</a></div></td><td class="codeLine"> /* [2] Verification de l'id session</td></tr>
<tr><td><div align="right"><a name="78"></a><a href="#78">78</a></div></td><td class="codeLine"> ==============================================================*/</td></tr>
<tr class="success popin" data-title="11 tests cover line 79" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdSessionUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdenticalPrefix&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testCookieUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIpThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgentThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testRegeneratedToken&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSamePrefixToken&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="79"></a><a href="#79">79</a></div></td><td class="codeLine"> \session_start();</td></tr>
<tr><td><div align="right"><a name="80"></a><a href="#80">80</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="81"></a><a href="#81">81</a></div></td><td class="codeLine"> // On verifie l'id session (5 premiers chars du hash des donnees perso)</td></tr>
<tr class="success popin" data-title="11 tests cover line 82" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdSessionUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdenticalPrefix&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testCookieUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIpThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgentThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testRegeneratedToken&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSamePrefixToken&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="82"></a><a href="#82">82</a></div></td><td class="codeLine"> $valid_sessid = strpos( session_id(), substr(self::$prefix,0,5) ) === 0;</td></tr>
<tr><td><div align="right"><a name="83"></a><a href="#83">83</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="84"></a><a href="#84">84</a></div></td><td class="codeLine"> // Si id session incorrect ou pas de token</td></tr>
<tr class="success popin" data-title="11 tests cover line 85" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdSessionUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdenticalPrefix&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testCookieUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIpThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgentThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testRegeneratedToken&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSamePrefixToken&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="85"></a><a href="#85">85</a></div></td><td class="codeLine"> if( !$valid_sessid )</td></tr>
<tr class="success popin" data-title="11 tests cover line 86" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdSessionUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdenticalPrefix&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testCookieUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIpThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgentThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testRegeneratedToken&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSamePrefixToken&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="86"></a><a href="#86">86</a></div></td><td class="codeLine"> self::reset_session( $sessid ); // On initialise la session (bon id session)</td></tr>
<tr><td><div align="right"><a name="87"></a><a href="#87">87</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="88"></a><a href="#88">88</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="89"></a><a href="#89">89</a></div></td><td class="codeLine"> // si id session invalide</td></tr>
<tr><td><div align="right"><a name="90"></a><a href="#90">90</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="91"></a><a href="#91">91</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="92"></a><a href="#92">92</a></div></td><td class="codeLine"> /* [3] Verification du token</td></tr>
<tr><td><div align="right"><a name="93"></a><a href="#93">93</a></div></td><td class="codeLine"> ==============================================================*/</td></tr>
<tr><td><div align="right"><a name="94"></a><a href="#94">94</a></div></td><td class="codeLine"> // On verifie que le token est valide</td></tr>
<tr class="success popin" data-title="11 tests cover line 95" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdSessionUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdenticalPrefix&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testCookieUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIpThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgentThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testRegeneratedToken&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSamePrefixToken&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="95"></a><a href="#95">95</a></div></td><td class="codeLine"> $valid_token = $session_token != null; // verification de l'existence du cookie</td></tr>
<tr class="success popin" data-title="11 tests cover line 96" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdSessionUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdenticalPrefix&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testCookieUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIpThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgentThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testRegeneratedToken&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSamePrefixToken&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="96"></a><a href="#96">96</a></div></td><td class="codeLine"> $valid_token = $valid_token &amp;&amp; strpos($session_token, self::$prefix) === 0; // verification des donnes personnelles</td></tr>
<tr class="success popin" data-title="11 tests cover line 97" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdSessionUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdenticalPrefix&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testCookieUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIpThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgentThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testRegeneratedToken&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSamePrefixToken&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="97"></a><a href="#97">97</a></div></td><td class="codeLine"> $valid_token = $valid_token &amp;&amp; isset($_SESSION['session_token']); // verification que la variable session associee existe</td></tr>
<tr class="success popin" data-title="11 tests cover line 98" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdSessionUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdenticalPrefix&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testCookieUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIpThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgentThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testRegeneratedToken&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSamePrefixToken&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="98"></a><a href="#98">98</a></div></td><td class="codeLine"> $valid_token = $valid_token &amp;&amp; $_SESSION['session_token'] == $_COOKIE['session_token']; // verification que la session est coherente</td></tr>
<tr><td><div align="right"><a name="99"></a><a href="#99">99</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="100"></a><a href="#100">100</a></div></td><td class="codeLine"> /* [4] Si token inexistant</td></tr>
<tr><td><div align="right"><a name="101"></a><a href="#101">101</a></div></td><td class="codeLine"> ==============================================================*/</td></tr>
<tr class="success popin" data-title="11 tests cover line 102" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdSessionUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdenticalPrefix&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testCookieUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIpThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgentThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testRegeneratedToken&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSamePrefixToken&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="102"></a><a href="#102">102</a></div></td><td class="codeLine"> if( !$valid_token )</td></tr>
<tr class="success popin" data-title="11 tests cover line 103" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdSessionUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdenticalPrefix&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testCookieUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIpThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgentThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testRegeneratedToken&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSamePrefixToken&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="103"></a><a href="#103">103</a></div></td><td class="codeLine"> self::reset_session($sessid); // On initialise la session</td></tr>
<tr><td><div align="right"><a name="104"></a><a href="#104">104</a></div></td><td class="codeLine"> else</td></tr>
<tr class="success popin" data-title="5 tests cover line 105" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdSessionUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdenticalPrefix&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testCookieUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testRegeneratedToken&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSamePrefixToken&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="105"></a><a href="#105">105</a></div></td><td class="codeLine"> self::update_token(); // Dans tous les cas, on cree un nouveau token</td></tr>
<tr><td><div align="right"><a name="106"></a><a href="#106">106</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="107"></a><a href="#107">107</a></div></td><td class="codeLine"></td></tr>
<tr class="success popin" data-title="11 tests cover line 108" data-content="&lt;ul&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdSessionUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testIdenticalPrefix&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testCookieUniq&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIp&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongIpThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionIdTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgent&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSessionTokenTheftWithWrongUserAgentThenWell&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testRegeneratedToken&lt;/li&gt;&lt;li class=&quot;success&quot;&gt;phpunit\sessionManager::testSamePrefixToken&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="108"></a><a href="#108">108</a></div></td><td class="codeLine"> }</td></tr>
<tr><td><div align="right"><a name="109"></a><a href="#109">109</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="110"></a><a href="#110">110</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="111"></a><a href="#111">111</a></div></td><td class="codeLine"> }</td></tr>
<tr><td><div align="right"><a name="112"></a><a href="#112">112</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="113"></a><a href="#113">113</a></div></td><td class="codeLine"></td></tr>
<tr><td><div align="right"><a name="114"></a><a href="#114">114</a></div></td><td class="codeLine">?&gt;</td></tr>
</tbody>
</table>
<footer>
<h4>Legend</h4>
<p>
<span class="success"><strong>Executed</strong></span>
<span class="danger"><strong>Not Executed</strong></span>
<span class="warning"><strong>Dead Code</strong></span>
</p>
<p>
<small>Generated by <a href="http://github.com/sebastianbergmann/php-code-coverage" target="_top">PHP_CodeCoverage 1.2.13</a> using <a href="http://www.php.net/" target="_top">PHP 5.5.9-1ubuntu4.14</a> and <a href="http://phpunit.de/">PHPUnit 3.7.28</a> at Sun Feb 14 13:13:13 CET 2016.</small>
</p>
</footer>
</div>
<script src="js/jquery.min.js" type="text/javascript"></script>
<script src="js/bootstrap.min.js" type="text/javascript"></script>
<script type="text/javascript">$('.popin').popover({trigger: 'hover'});</script>
</body>
</html>

View File

@ -1,22 +1,20 @@
<phpunit bootstrap="./bootstrap.php">
<phpunit bootstrap="bootstrap.php">
<testsuites>
<testsuite name="manager/Database">
<directory prefix="Database_" suffix=".php">./tests/</directory>
</testsuite>
<testsuite name="manager/Error">
<file>./tests/Error.php</file>
</testsuite>
<testsuite name="manager/sessionManager">
<file>./tests/sessionManager.php</file>
<testsuite name="api/config">
<directory prefix="api">./tests</directory>
</testsuite>
</testsuites>
<filter>
<whitelist>
<directory>../build/</directory>
</whitelist>
</filter>
<logging>
<log type="coverage-html" target="coverage"/>
</logging>

View File

@ -1,267 +0,0 @@
<?php namespace phpunit;
class Database_check extends \PHPUnit_Framework_TestCase{
/* [1] AUTO_INCREMENT
=========================================================*/
public function testAutoIncrementSizeInfCorrect(){
$this->assertTrue( \api\core\Checker::run('auto_increment_id', -2147483647) );
}
public function testAutoIncrementSizeInfStringCorrect(){
$this->assertTrue( \api\core\Checker::run('auto_increment_id', '-2147483647') );
}
public function testAutoIncrementSizeSupCorrect(){
$this->assertTrue( \api\core\Checker::run('auto_increment_id', 2147483647) );
}
public function testAutoIncrementSizeSupStringCorrect(){
$this->assertTrue( \api\core\Checker::run('auto_increment_id', '2147483647') );
}
public function testAutoIncrementSizeLtInfIncorrect(){
$this->assertFalse( \api\core\Checker::run('auto_increment_id', -2147483647-1) );
}
public function testAutoIncrementSizeLtInfStringIncorrect(){
$this->assertFalse( \api\core\Checker::run('auto_increment_id', '-2147483648') );
}
public function testAutoIncrementSizeGtSupIncorrect(){
$this->assertFalse( \api\core\Checker::run('auto_increment_id', 2147483647+1) );
}
public function testAutoIncrementSizeGtSupStringIncorrect(){
$this->assertFalse( \api\core\Checker::run('auto_increment_id', '2147483648') );
}
/* [1] Code RFID
=========================================================*/
public function testUserCodeSize4(){
$this->assertTrue( \api\core\Checker::run('user.code', '01-23-AB-CD') );
}
public function testUserCodeSize6(){
$this->assertTrue( \api\core\Checker::run('user.code', '01-23-45-67-89-AB') );
}
public function testUserCodeSize4WrongCharacter(){
$this->assertFalse( \api\core\Checker::run('user.code', '01-23-AB-CG') );
}
public function testUserCodeSizeGreaterThan6(){
$this->assertFalse( \api\core\Checker::run('user.code', '01-23-45-67-89-AB-CD') );
}
public function testUserCodeSize6WrongCharacter(){
$this->assertFalse( \api\core\Checker::run('user.code', '01-23-45-67-89-AG') );
}
/* [2] user.username ; machine.name ; group.name
=========================================================*/
/* (1) Type */
public function testUsernameTypeStringCorrect(){
$this->assertTrue( \api\core\Checker::run('user.username', '012') );
}
public function testUsernameTypeIntIncorrect(){
$this->assertFalse( \api\core\Checker::run('user.username', 012) );
}
/* (2) Content */
public function testUsernameContentCorrect(){
$this->assertTrue( \api\core\Checker::run('user.username', '0123456789_-') );
$this->assertTrue( \api\core\Checker::run('user.username', 'abcdefghijklmnopqrstuvwxyz') );
$this->assertTrue( \api\core\Checker::run('user.username', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ') );
}
public function testUsernameContentIncorrect(){
$illegal_chars = '{}[]()=+.,\'\\"/:;|!@#$%^&* ';
foreach(str_split($illegal_chars) as $char) // Teste les caracteres enonces plus haut
$this->assertFalse( \api\core\Checker::run('user.username', 'abc'.$char) );
}
/* (3) Size */
public function testUsernameSize3Correct(){
$this->assertEquals( 3, strlen('012') );
$this->assertTrue( \api\core\Checker::run('user.username', '012') );
}
public function testUsernameSize30Correct(){
$this->assertEquals( 30, strlen('0123456789abcdefghijklmno_-sda') );
$this->assertTrue( \api\core\Checker::run('user.username', '0123456789abcdefghijklmno_-sda') );
}
public function testUsernameSizeLt3Incorrect(){
$this->assertLessThan( 3, strlen('') );
$this->assertFalse( \api\core\Checker::run('user.username', '') );
}
public function testUsernameSizeGt30Incorrect(){
$this->assertGreaterThan( 30, strlen('0123456789abcdefghijklmno_-sdaa') );
$this->assertFalse( \api\core\Checker::run('user.username', '0123456789abcdefghijklmno_-sdaa') );
}
/* [3] firstname / lastname
=========================================================*/
/* (1) Type */
public function testFirstnameTypeStringCorrect(){
$this->assertTrue( \api\core\Checker::run('user.firstname', 'abc') );
}
public function testFirstnameTypeIntIncorrect(){
$this->assertFalse( \api\core\Checker::run('user.firstname', 01932) );
}
/* (2) Content */
public function testFirstnameContentCorrect(){
$this->assertTrue( \api\core\Checker::run('user.firstname', 'abcdefghijklmnopqrstuvwxyz') );
$this->assertTrue( \api\core\Checker::run('user.firstname', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ') );
}
public function testFirstnameContentIncorrect(){
$illegal_chars = '{}[]()=_+.,\'\\"/:;|!@#$%^&*0123456789';
foreach(str_split($illegal_chars) as $char) // Teste les caracteres enonces plus haut
$this->assertFalse( \api\core\Checker::run('user.firstname', 'abc'.$char) );
}
/* (3) Size */
public function testFirstnameSize3Correct(){
$this->assertEquals( 3, strlen('abc') );
$this->assertTrue( \api\core\Checker::run('user.firstname', 'abc') );
}
public function testFirstnameSize30Correct(){
$this->assertEquals( 30, strlen('abcdefghijklmnopqrstuvwxyz-k s') );
$this->assertTrue( \api\core\Checker::run('user.firstname', 'abcdefghijklmnopqrstuvwxyz-k s') );
}
public function testFirstnameSizeLt3Incorrect(){
$this->assertLessThan( 3, strlen('ab') );
$this->assertFalse( \api\core\Checker::run('user.firstname', 'ab') );
}
public function testFirstnameSizeGt30Incorrect(){
$this->assertGreaterThan( 30, strlen('abcdefghijklmnopqrstuvwxyz-k ss') );
$this->assertFalse( \api\core\Checker::run('user.firstname', 'abcdefghijklmnopqrstuvwxyz-k ss') );
}
/* [4] Adresse mail
=========================================================*/
/* (1) Size */
public function testMailSizeEqCorrect(){
$this->assertLessThanOrEqual( 50, 'nom-prenom.mot@domaine-d.gouv' );
$this->assertTrue( \api\core\Checker::run('user.mail', 'nom-prenom.mot@domaine-d.gouv') );
}
public function testMailSizeSupCorrect(){
$this->assertGreaterThan( 50, strlen('ab12345678901234567890nom-prenom.mot@domaine-d.gouv') );
$this->assertFalse( \api\core\Checker::run('user.mail', 'ab12345678901234567890nom-prenom.mot@domaine-d.gouv') );
}
/* (2) Content */
public function testMailContentCorrect(){
$this->assertTrue( \api\core\Checker::run('user.mail', '0nom-prenom.mot@domaine-d.gouv') );
}
public function testMailContentIncorrect1(){
$this->assertFalse( \api\core\Checker::run('user.mail', '0nom-prenom.mot@domaine-d.gouve') );
}
public function testMailContentIncorrect2(){
$this->assertFalse( \api\core\Checker::run('user.mail', '0nom-prenom.mot@domaine-d.g') );
}
/* [5] Mot de passe
=========================================================*/
public function testPasswordSizeEqCorrect(){
$password_hash = \manager\sessionManager::secure_hash('monmotdepasse');
$this->assertEquals( 40, strlen($password_hash) );
$this->assertTrue( \api\core\Checker::run('user.password', $password_hash) );
}
public function testPasswordSizeInfIncorrect(){
$password_hash = 'a';
$this->assertLessThan( 40, strlen($password_hash) );
$this->assertFalse( \api\core\Checker::run('user.password', $password_hash) );
}
public function testPasswordSizeSupIncorrect(){
$password_hash = \manager\sessionManager::secure_hash('monmotdepasse').'a';
$this->assertGreaterThan( 40, strlen($password_hash) );
$this->assertFalse( \api\core\Checker::run('user.password', $password_hash) );
}
public function testPasswordContentCorrect(){
$this->assertTrue( \api\core\Checker::run('user.password', 'dd629d39c4576731a2bef003c72ff89d6fc2a99a') );
}
public function testPasswordContentIncorrect(){
$this->assertContains( 'g', 'dd629d39c4576731a2bef003c72ff89d6fc2a9g' );
$this->assertFalse( \api\core\Checker::run('user.password', 'dd629d39c4576731a2bef003c72ff89d6fc2a9g') );
}
/* [6] Status de l'utilisateur
=========================================================*/
/* (1) Type */
public function testStatusTypeIntCorrect(){
$this->assertTrue( \api\core\Checker::run('user.status', 1) );
}
public function testStatusTypeStringCorrect(){
$this->assertTrue( \api\core\Checker::run('user.status', '1') );
}
public function testStatusTypeIntIncorrect(){
$this->assertFalse( \api\core\Checker::run('user.status', 1.03) );
}
public function testStatusTypeStringIncorrect(){
$this->assertFalse( \api\core\Checker::run('user.status', '1.03') );
}
/* (2) Size */
public function testStatusSizeInfCorrect(){
$this->assertGreaterThanOrEqual( 0, 0 );
$this->assertTrue( \api\core\Checker::run('user.status', 0) );
}
public function testStatusSizeSupCorrect(){
$this->assertLessThanOrEqual( 100, 100 );
$this->assertTrue( \api\core\Checker::run('user.status', 100) );
}
public function testStatusSizeInfIncorrect(){
$this->assertLessThan( 0, -1 );
$this->assertFalse( \api\core\Checker::run('user.status', -1) );
}
public function testStatusSizeSupIncorrect(){
$this->assertGreaterThan( 100, 101 );
$this->assertFalse( \api\core\Checker::run('user.status', 101) );
}
}
?>

View File

@ -1,63 +0,0 @@
<?php namespace phpunit;
class Database_construct extends \PHPUnit_Framework_TestCase{
/* [1] Verification du chargement de la config
=========================================================*/
public function testGetInstanceWithNoSERVER(){
$instance = \database\core\DatabaseDriver::get();
$this->assertEquals( 'localhost', $instance->getConfig()['host'] );
}
public function testGetInstanceWithSERVERLocal(){
// Pour regenerer une instance, on definit une erreur
\database\core\DatabaseDriver::$error = \error\core\Error::PDOConnection;
$instance = \database\core\DatabaseDriver::get();
$this->assertEquals( 'localhost', $instance->getConfig()['host'] );
}
/* [2] Verification du singleton (getInstance)
=========================================================*/
public function testInstancePersistence(){
\database\core\DatabaseDriver::$error = \error\core\Error::PDOConnection;
$instance_construct = \database\core\DatabaseDriver::get();
$instance_nextuse = \database\core\DatabaseDriver::get();
$this->assertSame( $instance_construct, $instance_nextuse );
}
public function testInstancePersistenceRefutation(){
\database\core\DatabaseDriver::$error = \error\core\Error::PDOConnection;
$instance_construct = \database\core\DatabaseDriver::get();
\database\core\DatabaseDriver::$error = \error\core\Error::PDOConnection;
$instance_nextuse = \database\core\DatabaseDriver::get();
$this->assertNotSame( $instance_construct, $instance_nextuse );
}
/* [3] Verification de l'objet PDO
=========================================================*/
public function testPDO(){
$pdo = \database\core\DatabaseDriver::getPDO();
$this->assertGreaterThan( 10, count($pdo->query('SELECT * FROM user')->fetchAll()), '[!] Moins de 10 utilisateurs trouves.');
}
}
?>

View File

@ -1,116 +0,0 @@
<?php namespace phpunit;
class Database_delNumeric extends \PHPUnit_Framework_TestCase{
/* [0] Verification du type
=========================================================*/
public function testTypeInt(){
$this->assertEquals( [], \database\core\DatabaseDriver::delNumeric(10) );
}
public function testTypeString(){
$this->assertEquals( [], \database\core\DatabaseDriver::delNumeric('notarray') );
}
/* [1] Verification pour 2 dimensions
=========================================================*/
/* (1) Global */
public function testGlobal2Dim(){
$fetchData = [[
'id' => '000001',
0 => '000001',
'nom' => 'Jean Dupont',
1 => 'Jean Dupont',
]];
$computed_array = \database\core\DatabaseDriver::delNumeric( $fetchData );
$this->assertArrayHasKey( 'id', $computed_array[0] );
$this->assertArrayHasKey( 'nom', $computed_array[0] );
$this->assertArrayNotHasKey( 0, $computed_array[0] );
$this->assertArrayNotHasKey( 1, $computed_array[0] );
}
/* (2) Verification d'indices numeriques dans les donnees */
public function testGlobal2DimWithNumericIndexes(){
$fetchData = [[
'id' => '000001',
0 => '000001',
'nom' => 'Jean Dupont',
1 => 'Jean Dupont',
2 => 'Bla',
3 => 'Bla',
4 => 'Bla',
5 => 'Bla',
6 => 'Bla',
7 => 'Bla'
]];
$computed_array = \database\core\DatabaseDriver::delNumeric( $fetchData );
$this->assertArrayHasKey( 'id', $computed_array[0] );
$this->assertArrayHasKey( 'nom', $computed_array[0] );
$this->assertArrayNotHasKey( 0, $computed_array[0] );
$this->assertArrayNotHasKey( 1, $computed_array[0] );
$this->assertArrayHasKey( 2, $computed_array[0] );
$this->assertArrayHasKey( 3, $computed_array[0] );
$this->assertArrayHasKey( 4, $computed_array[0] );
$this->assertArrayHasKey( 5, $computed_array[0] );
$this->assertArrayHasKey( 6, $computed_array[0] );
$this->assertArrayHasKey( 7, $computed_array[0] );
}
/* [2] Verification pour 1 dimensions
=========================================================*/
/* (1) Global */
public function testGlobal1Dim(){
$fetchData = [
'id' => '000001',
0 => '000001',
'nom' => 'Jean Dupont',
1 => 'Jean Dupont'
];
$computed_array = \database\core\DatabaseDriver::delNumeric( $fetchData );
$this->assertArrayHasKey( 'id', $computed_array );
$this->assertArrayHasKey( 'nom', $computed_array );
$this->assertArrayNotHasKey( 0, $computed_array );
$this->assertArrayNotHasKey( 1, $computed_array );
}
/* (2) Verification d'indices numeriques dans les donnees */
public function testGlobal1DimWithNumericIndexes(){
$fetchData = [
'id' => '000001',
0 => '000001',
'nom' => 'Jean Dupont',
1 => 'Jean Dupont',
2 => 'Bla',
3 => 'Bla',
4 => 'Bla',
5 => 'Bla',
6 => 'Bla',
7 => 'Bla'
];
$computed_array = \database\core\DatabaseDriver::delNumeric( $fetchData );
$this->assertArrayHasKey( 'id', $computed_array );
$this->assertArrayHasKey( 'nom', $computed_array );
$this->assertArrayNotHasKey( 0, $computed_array );
$this->assertArrayNotHasKey( 1, $computed_array );
$this->assertArrayHasKey( 2, $computed_array );
$this->assertArrayHasKey( 3, $computed_array );
$this->assertArrayHasKey( 4, $computed_array );
$this->assertArrayHasKey( 5, $computed_array );
$this->assertArrayHasKey( 6, $computed_array );
$this->assertArrayHasKey( 7, $computed_array );
}
}
?>

View File

@ -1,107 +0,0 @@
<?php namespace phpunit;
class Error extends \PHPUnit_Framework_TestCase{
/* [1] Test de toutes les erreurs
=========================================================*/
public function testErrorSuccess(){
$error = \error\core\Error::Success;
$this->assertNotNull( \error\core\Error::explicit($error) );
}
public function testErrorParsingFailed(){
$error = \error\core\Error::ParsingFailed;
$this->assertNotNull( \error\core\Error::explicit($error) );
}
public function testErrorInvalidFlags(){
$error = \error\core\Error::InvalidFlags;
$this->assertNotNull( \error\core\Error::explicit($error) );
}
public function testErrorUnreachableResource(){
$error = \error\core\Error::UnreachableResource;
$this->assertNotNull( \error\core\Error::explicit($error) );
}
public function testErrorMissingPath(){
$error = \error\core\Error::MissingPath;
$this->assertNotNull( \error\core\Error::explicit($error) );
}
public function testErrorWrongPathModule(){
$error = \error\core\Error::WrongPathModule;
$this->assertNotNull( \error\core\Error::explicit($error) );
}
public function testErrorUnknownModule(){
$error = \error\core\Error::UnknownModule;
$this->assertNotNull( \error\core\Error::explicit($error) );
}
public function testErrorUnknownMethod(){
$error = \error\core\Error::UnknownMethod;
$this->assertNotNull( \error\core\Error::explicit($error) );
}
public function testErrorUncallableMethod(){
$error = \error\core\Error::UncallableMethod;
$this->assertNotNull( \error\core\Error::explicit($error) );
}
public function testErrorParamError(){
$error = \error\core\Error::ParamError;
$this->assertNotNull( \error\core\Error::explicit($error) );
}
public function testErrorModuleError(){
$error = \error\core\Error::ModuleError;
$this->assertNotNull( \error\core\Error::explicit($error) );
}
public function testErrorWrongPathRepo(){
$error = \error\core\Error::WrongPathRepo;
$this->assertNotNull( \error\core\Error::explicit($error) );
}
public function testErrorUnknownRepo(){
$error = \error\core\Error::UnknownRepo;
$this->assertNotNull( \error\core\Error::explicit($error) );
}
public function testErrorRepoError(){
$error = \error\core\Error::RepoError;
$this->assertNotNull( \error\core\Error::explicit($error) );
}
public function testErrorPDOConnection(){
$error = \error\core\Error::PDOConnection;
$this->assertNotNull( \error\core\Error::explicit($error) );
}
public function testErrorNotKnown(){
$error = 1239;
$this->assertNull( \error\core\Error::explicit($error) );
}
}
?>

View File

@ -0,0 +1,24 @@
<?php
use PHPUnit\Framework\TestCase;
class apiconfig extends TestCase{
public function checkConfig(){
/* [1] Check configuration
=========================================================*/
/* (1) Check file */
$path = __CONFIG__.'/modules.json';
$this->assertFileExists($path);
/* (2) Checks json */
$config = json_decode( file_get_contents($path), true );
$this->assertNotNull($config);
}
}
?>

View File

@ -1,251 +0,0 @@
<?php namespace phpunit;
class sessionManager extends \PHPUnit_Framework_TestCase{
/* [1] Test de toutes les fonctions utilitaires
=========================================================*/
public function testSecureSHA1(){
$plain = 'montexteclair';
$hash = \manager\sessionManager::secure_hash($plain);
// Verification desuiee
$this->assertEquals(40, strlen($hash) );
$this->assertNotContains( $plain, $hash );
}
/* [2] Test de l'unicite et du prefix
=========================================================*/
public function testIdSessionUniq(){
// Premiere session
session_destroy();
@\manager\sessionManager::session_start();
$id_first = session_id();
// Seconde session
session_destroy();
@\manager\sessionManager::session_start();
$id_second = session_id();
$this->assertNotEquals( $id_first, $id_second );
}
public function testIdenticalPrefix(){
// Premiere session
session_destroy();
@\manager\sessionManager::session_start();
$first_prefix = substr(session_id(), 0, 5);
// Seconde session
session_destroy();
@\manager\sessionManager::session_start();
$second_prefix = substr(session_id(), 0, 5);
$this->assertEquals( $first_prefix, $second_prefix );
}
public function testCookieUniq(){
// Premiere session
session_destroy();
@\manager\sessionManager::session_start();
$token_first = $_COOKIE['session_token'];
// Seconde session
session_destroy();
@\manager\sessionManager::session_start();
$token_second = $_COOKIE['session_token'];
$this->assertNotEquals( $token_first, $token_second );
}
/* [3] REMOTE_ADDR different
=========================================================*/
public function testSessionIdTheftWithWrongIp(){
$default_remote_addr = $_SERVER['REMOTE_ADDR'];
// Hote n.1
$_SERVER['REMOTE_ADDR'] = 'a';
session_destroy();
@\manager\sessionManager::session_start();
$first_prefix = substr(session_id(), 0, 5);
// Hote n.2
$_SERVER['REMOTE_ADDR'] = 'b';
session_destroy();
@\manager\sessionManager::session_start();
$second_prefix = substr(session_id(), 0, 5);
$this->assertNotEquals( $first_prefix, $second_prefix );
$_SERVER['REMOTE_ADDR'] = $default_remote_addr;
}
public function testSessionTokenTheftWithWrongIp(){
$default_remote_addr = $_SERVER['REMOTE_ADDR'];
// Hote n.1
$_SERVER['REMOTE_ADDR'] = 'a';
session_destroy();
@\manager\sessionManager::session_start();
$first_prefix = substr($_COOKIE['session_token'], 0, 5);
// Hote n.2
$_SERVER['REMOTE_ADDR'] = 'b';
session_destroy();
@\manager\sessionManager::session_start();
$second_prefix = substr($_COOKIE['session_token'], 0, 5);
$this->assertNotEquals( $first_prefix, $second_prefix );
$_SERVER['REMOTE_ADDR'] = $default_remote_addr;
}
public function testSessionTokenTheftWithWrongIpThenWell(){
$default_remote_addr = $_SERVER['REMOTE_ADDR'];
// Hote n.1
$_SERVER['REMOTE_ADDR'] = 'a';
session_destroy();
@\manager\sessionManager::session_start();
$first_prefix = substr($_COOKIE['session_token'], 0, 40);
// Hote n.2
$_SERVER['REMOTE_ADDR'] = 'b';
session_destroy();
@\manager\sessionManager::session_start();
$second_prefix = substr($_COOKIE['session_token'], 0, 40);
// Hote n.1
$_SERVER['REMOTE_ADDR'] = 'a';
session_destroy();
@\manager\sessionManager::session_start();
$third_prefix = substr($_COOKIE['session_token'], 0, 40);
$this->assertEquals( $first_prefix, $third_prefix );
$this->assertNotEquals( $first_prefix, $second_prefix );
$_SERVER['REMOTE_ADDR'] = $default_remote_addr;
}
/* [4] HTTP_USER_AGENT different
=========================================================*/
public function testSessionIdTheftWithWrongUserAgent(){
$default_http_user_agent = $_SERVER['HTTP_USER_AGENT'];
// Hote n.1
$_SERVER['HTTP_USER_AGENT'] = 'a';
session_destroy();
@\manager\sessionManager::session_start();
$first_prefix = substr(session_id(), 0, 5);
// Hote n.2
$_SERVER['HTTP_USER_AGENT'] = 'b';
session_destroy();
@\manager\sessionManager::session_start();
$second_prefix = substr(session_id(), 0, 5);
$this->assertNotEquals( $first_prefix, $second_prefix );
$_SERVER['HTTP_USER_AGENT'] = $default_http_user_agent;
}
public function testSessionTokenTheftWithWrongUserAgent(){
$default_http_user_agent = $_SERVER['HTTP_USER_AGENT'];
// Hote n.1
$_SERVER['HTTP_USER_AGENT'] = 'a';
session_destroy();
@\manager\sessionManager::session_start();
$first_prefix = substr($_COOKIE['session_token'], 0, 40);
// Hote n.2
$_SERVER['HTTP_USER_AGENT'] = 'b';
session_destroy();
@\manager\sessionManager::session_start();
$second_prefix = substr($_COOKIE['session_token'], 0, 40);
$this->assertNotEquals( $first_prefix, $second_prefix );
$_SERVER['HTTP_USER_AGENT'] = $default_http_user_agent;
}
public function testSessionTokenTheftWithWrongUserAgentThenWell(){
$default_http_user_agent = $_SERVER['HTTP_USER_AGENT'];
// Hote n.1
$_SERVER['HTTP_USER_AGENT'] = 'a';
session_destroy();
@\manager\sessionManager::session_start();
$first_prefix = substr($_COOKIE['session_token'], 0, 40);
// Hote n.2
$_SERVER['HTTP_USER_AGENT'] = 'b';
session_destroy();
@\manager\sessionManager::session_start();
$second_prefix = substr($_COOKIE['session_token'], 0, 40);
// Hote n.1
$_SERVER['HTTP_USER_AGENT'] = 'a';
session_destroy();
@\manager\sessionManager::session_start();
$third_prefix = substr($_COOKIE['session_token'], 0, 40);
$this->assertEquals( $first_prefix, $third_prefix );
$this->assertNotEquals( $first_prefix, $second_prefix );
$_SERVER['HTTP_USER_AGENT'] = $default_http_user_agent;
}
/* [5] Regeneration du cookie 'session_token'
=========================================================*/
public function testRegeneratedToken(){
// Connection 1
session_destroy();
@\manager\sessionManager::session_start();
$first_token = $_COOKIE['session_token'];
// Connection 2
session_destroy();
@\manager\sessionManager::session_start();
$second_token = $_COOKIE['session_token'];
$this->assertNotEquals( $first_token, $second_token );
}
public function testSamePrefixToken(){
// Connection 1
session_destroy();
@\manager\sessionManager::session_start();
$first_token_prefix = substr($_COOKIE['session_token'], 0, 40);
// Connection 2
session_destroy();
@\manager\sessionManager::session_start();
$second_token_prefix = substr($_COOKIE['session_token'], 0, 40);
$this->assertEquals( $first_token_prefix, $second_token_prefix );
}
}
?>