diff --git a/automate.php b/automate.php index dd42f21..9a27f5a 100755 --- a/automate.php +++ b/automate.php @@ -82,4 +82,5 @@ // )); // var_dump($response); + ?> \ No newline at end of file diff --git a/css/font.css b/css/font.css new file mode 100755 index 0000000..af130f3 --- /dev/null +++ b/css/font.css @@ -0,0 +1,21 @@ +@font-face { + font-family: 'Proxima Nova'; + font-style: normal; + font-weight: 100; + + src: url("/css/fonts/proxima-nova/thin.eot"); + src: url(/css/fonts/proxima-nova/thin#iefix.eot) format("embedded-opentype"), + url(/css/fonts/proxima-nova/thin.woff) format("woff"), + url(/css/fonts/proxima-nova/thin.ttf) format("truetype"); +} + +@font-face { + font-family: 'Proxima Nova'; + font-style: normal; + font-weight: normal; + + src: url("/css/fonts/proxima-nova/regular.eot"); + src: url(/css/fonts/proxima-nova/regular#iefix.eot) format("embedded-opentype"), + url(/css/fonts/proxima-nova/regular.woff) format("woff"), + url(/css/fonts/proxima-nova/regular.ttf) format("truetype"); +} \ No newline at end of file diff --git a/css/fonts.css b/css/fonts.css deleted file mode 100755 index e69de29..0000000 diff --git a/css/fonts/proxima-nova/regular#iefix.eot b/css/fonts/proxima-nova/regular#iefix.eot new file mode 100644 index 0000000..30d0ac5 Binary files /dev/null and b/css/fonts/proxima-nova/regular#iefix.eot differ diff --git a/css/fonts/proxima-nova/regular.eot b/css/fonts/proxima-nova/regular.eot new file mode 100644 index 0000000..30d0ac5 Binary files /dev/null and b/css/fonts/proxima-nova/regular.eot differ diff --git a/css/fonts/proxima-nova/regular.ttf b/css/fonts/proxima-nova/regular.ttf new file mode 100644 index 0000000..6690afd Binary files /dev/null and b/css/fonts/proxima-nova/regular.ttf differ diff --git a/css/fonts/proxima-nova/regular.woff b/css/fonts/proxima-nova/regular.woff new file mode 100644 index 0000000..38a81be Binary files /dev/null and b/css/fonts/proxima-nova/regular.woff differ diff --git a/css/fonts/proxima-nova/thin#iefix.eot b/css/fonts/proxima-nova/thin#iefix.eot new file mode 100644 index 0000000..0d59619 Binary files /dev/null and b/css/fonts/proxima-nova/thin#iefix.eot differ diff --git a/css/fonts/proxima-nova/thin.eot b/css/fonts/proxima-nova/thin.eot new file mode 100644 index 0000000..0d59619 Binary files /dev/null and b/css/fonts/proxima-nova/thin.eot differ diff --git a/css/fonts/proxima-nova/thin.ttf b/css/fonts/proxima-nova/thin.ttf new file mode 100644 index 0000000..acdc7f3 Binary files /dev/null and b/css/fonts/proxima-nova/thin.ttf differ diff --git a/css/fonts/proxima-nova/thin.woff b/css/fonts/proxima-nova/thin.woff new file mode 100644 index 0000000..ae6fde2 Binary files /dev/null and b/css/fonts/proxima-nova/thin.woff differ diff --git a/manager/MenuManager.php b/manager/MenuManager.php index 3fca85c..48d0a7e 100644 --- a/manager/MenuManager.php +++ b/manager/MenuManager.php @@ -69,10 +69,17 @@ foreach($this->categories as $category){ // On met les attributs $render .= 'parseAttributes($category['attributes']).'>'; + // On met l'icone associee - $render .= ResourceDispatcher::getResource($category['icon']); - // On met le texte de la categorie et on ferme la balise - $render .= $category['text'].''; + if( isset($category['icon']) ) + $render .= ResourceDispatcher::getResource($category['icon']); + + // On met le texte de la categorie + if( isset($category['text']) ) + $render .= $category['text']; + + // On ferme la balise + $render .= ''; // On ouvre la liste des sous-parties @@ -138,9 +145,11 @@ /* [2] Pour chaque sous-partie =========================================================*/ + if( !isset($category['children']) ) continue; + foreach($category['children'] as $b=>$children){ /* (1) On verifie les permissions */ - $canView = $this->checkPermissions($children['permissions']); + $canView = $this->checkPermissions( isset($children['permissions']) ? $children['permissions'] : array() ); /* (2) Si on a l'acces, ajout au tableau */ if( $canView ) diff --git a/phpunit/coverage/Database.php.html b/phpunit/coverage/Database.php.html index 521e6ce..70b4186 100755 --- a/phpunit/coverage/Database.php.html +++ b/phpunit/coverage/Database.php.html @@ -559,7 +559,7 @@ Dead Code

- Generated by PHP_CodeCoverage 2.1.7 using PHP 5.6.11-1ubuntu3.1 and PHPUnit 4.7.6 at Sun Apr 17 10:48:24 UTC 2016. + Generated by PHP_CodeCoverage 2.1.7 using PHP 5.6.11-1ubuntu3.1 and PHPUnit 4.7.6 at Sun Apr 17 14:38:12 UTC 2016.

diff --git a/phpunit/coverage/ManagerError.php.html b/phpunit/coverage/ManagerError.php.html index 60b50b6..4e432ee 100755 --- a/phpunit/coverage/ManagerError.php.html +++ b/phpunit/coverage/ManagerError.php.html @@ -247,7 +247,7 @@ Dead Code

- Generated by PHP_CodeCoverage 2.1.7 using PHP 5.6.11-1ubuntu3.1 and PHPUnit 4.7.6 at Sun Apr 17 10:48:24 UTC 2016. + Generated by PHP_CodeCoverage 2.1.7 using PHP 5.6.11-1ubuntu3.1 and PHPUnit 4.7.6 at Sun Apr 17 14:38:12 UTC 2016.

diff --git a/phpunit/coverage/ResourceDispatcher.php.html b/phpunit/coverage/ResourceDispatcher.php.html index 6289f3c..cbf5b8b 100755 --- a/phpunit/coverage/ResourceDispatcher.php.html +++ b/phpunit/coverage/ResourceDispatcher.php.html @@ -517,7 +517,7 @@ Dead Code

- Generated by PHP_CodeCoverage 2.1.7 using PHP 5.6.11-1ubuntu3.1 and PHPUnit 4.7.6 at Sun Apr 17 10:48:24 UTC 2016. + Generated by PHP_CodeCoverage 2.1.7 using PHP 5.6.11-1ubuntu3.1 and PHPUnit 4.7.6 at Sun Apr 17 14:38:12 UTC 2016.

diff --git a/phpunit/coverage/autoloader.php.html b/phpunit/coverage/autoloader.php.html index 3093c19..076a53f 100755 --- a/phpunit/coverage/autoloader.php.html +++ b/phpunit/coverage/autoloader.php.html @@ -214,7 +214,7 @@ Dead Code

- Generated by PHP_CodeCoverage 2.1.7 using PHP 5.6.11-1ubuntu3.1 and PHPUnit 4.7.6 at Sun Apr 17 10:48:24 UTC 2016. + Generated by PHP_CodeCoverage 2.1.7 using PHP 5.6.11-1ubuntu3.1 and PHPUnit 4.7.6 at Sun Apr 17 14:38:12 UTC 2016.

diff --git a/phpunit/coverage/index.html b/phpunit/coverage/index.html index 1394ca1..c68c6cc 100755 --- a/phpunit/coverage/index.html +++ b/phpunit/coverage/index.html @@ -210,7 +210,7 @@ High: 90% to 100%

- Generated by PHP_CodeCoverage 2.1.7 using PHP 5.6.11-1ubuntu3.1 and PHPUnit 4.7.6 at Sun Apr 17 10:48:24 UTC 2016. + Generated by PHP_CodeCoverage 2.1.7 using PHP 5.6.11-1ubuntu3.1 and PHPUnit 4.7.6 at Sun Apr 17 14:38:12 UTC 2016.

diff --git a/phpunit/coverage/sessionManager.php.html b/phpunit/coverage/sessionManager.php.html index 62e6983..170be81 100755 --- a/phpunit/coverage/sessionManager.php.html +++ b/phpunit/coverage/sessionManager.php.html @@ -315,7 +315,7 @@ Dead Code

- Generated by PHP_CodeCoverage 2.1.7 using PHP 5.6.11-1ubuntu3.1 and PHPUnit 4.7.6 at Sun Apr 17 10:48:24 UTC 2016. + Generated by PHP_CodeCoverage 2.1.7 using PHP 5.6.11-1ubuntu3.1 and PHPUnit 4.7.6 at Sun Apr 17 14:38:12 UTC 2016.

diff --git a/phpunit/phpunit.xml b/phpunit/phpunit.xml index c551a1b..2b70fd8 100755 --- a/phpunit/phpunit.xml +++ b/phpunit/phpunit.xml @@ -10,6 +10,10 @@ ./tests/ManagerError.php + + ./tests/config.php + + diff --git a/phpunit/tests/config.php b/phpunit/tests/config.php new file mode 100644 index 0000000..16e5c26 --- /dev/null +++ b/phpunit/tests/config.php @@ -0,0 +1,133 @@ + '../config/database-local.json', + 'database' => '../config/database.json', + 'dispatcher-extensions' => '../config/dispatcher-extensions.json', + 'dispatcher-tree' => '../config/dispatcher-tree.json', + 'menu' => '../config/menu.json', + 'modules' => '../config/modules.json', + 'repositories' => '../config/repositories.json', + 'views' => '../config/views.json' + ); + + /* [1] config/database-local.json + =========================================================*/ + public function testDatabaseLocal(){ + /* (1) Lecture du fichier */ + $file_content = file_get_contents( self::$config['database-local'] ); + $this->assertNotFalse( $file_content ); + + /* (2) Parsage en JSON */ + $json_content = json_decode( $file_content, true ); + $this->assertNotNull( $json_content ); + + /* (3) Contenu */ + $this->assertArrayHasKey('host', $json_content); + $this->assertArrayHasKey('dbname', $json_content); + $this->assertArrayHasKey('user', $json_content); + $this->assertArrayHasKey('password', $json_content); + } + + + + /* [2] config/database.json + =========================================================*/ + public function testDatabaseRemote(){ + /* (1) Lecture du fichier */ + $file_content = file_get_contents( self::$config['database'] ); + $this->assertNotFalse( $file_content ); + + /* (2) Parsage en JSON */ + $json_content = json_decode( $file_content, true ); + $this->assertNotNull( $json_content ); + + /* (3) Contenu */ + $this->assertArrayHasKey('host', $json_content); + $this->assertArrayHasKey('dbname', $json_content); + $this->assertArrayHasKey('user', $json_content); + $this->assertArrayHasKey('password', $json_content); + } + + + + /* [3] config/dispatcher-extensions.json + =========================================================*/ + public function testDispatcherExtensions(){ + /* (1) Lecture du fichier */ + $file_content = file_get_contents( self::$config['dispatcher-extensions'] ); + $this->assertNotFalse( $file_content ); + + /* (2) Parsage en JSON */ + $json_content = json_decode( $file_content, true ); + $this->assertNotNull( $json_content ); + + + + /* (3) Contenu */ + foreach($json_content as $ext=>$mime){ + // On verifie les extensions + $this->assertTrue( preg_match('/^\w+$/i', $ext) == true ); + + // On verifie les mime/type + $this->assertTrue( preg_match('/^\w+\/[\+\w]+$/i', $mime) == true ); + } + } + + + + /* [3] config/dispatcher-tree.json + =========================================================*/ + public function testDispatcherTree(){ + /* (1) Lecture du fichier */ + $file_content = file_get_contents( self::$config['dispatcher-tree'] ); + $this->assertNotFalse( $file_content ); + + /* (2) Parsage en JSON */ + $json_content = json_decode( $file_content, true ); + $this->assertNotNull( $json_content ); + + + + /* (3) Contenu */ + foreach($json_content as $name=>$path){ + // On verifie les extensions + $this->assertTrue( preg_match('/^\w+$/i', $name) == true ); + + // On verifie les mime/type + $this->assertTrue( preg_match('/^[\w\/]+$/i', $path) == true ); + } + } + + + + /* [3] config/menu.json + =========================================================*/ + public function testMenu(){ + /* (1) Lecture du fichier */ + $file_content = file_get_contents( self::$config['menu'] ); + $this->assertNotFalse( $file_content ); + + /* (2) Parsage en JSON */ + $json_content = json_decode( $file_content, true ); + $this->assertNotNull( $json_content ); + + + + /* (3) Contenu */ + foreach($json_content as $category){ + continue; + } + } + + + + } + +?> \ No newline at end of file