Vous êtes connecté en tant que anonymous Se Deconnecter
Browse code

ajout d'un test sur le routage Symfony afin de permettre son utilisation dans le cadre du chargement de page cms (une page un routing ou une page standard)

TODO: ajouter les modules gestionMedia gestionMenu gestionPage (gestionBackendCms)

FIXME: appel curl ou fopen d'une methode http depuis une action ou un controlleur.

TODO: sécuriser les accès HTTP1.1 par un fichier config similaire a l'applet Discourse faite pour Tinternet

TODO: ajouter un plug-in symfony permettant de charger un utilisateur dans les apps a partir de l'authentification multiple

TODO: lire les documentation officielles provenant des 4 plate-formes tranquillement afin de comprendre commet doit on tester ces type d'auth quitte a créé un sous domaine particulier directement hebergé sur gittea
-->Sécuriser le serveur de dev

Emmanuel ROY authored on 05/12/2019 00:50:23
Showing 1 changed files
... ...
@@ -101,9 +101,9 @@ class Url
101 101
 
102 102
         if (!file_exists($pageFile)) {
103 103
             if ($appRequest) {
104
-                $page['name'] = 'error';
105
-            } else {
106 104
                 $page['name'] = 'Error';
105
+            } else {
106
+                $page['name'] = 'error';
107 107
             }
108 108
         }
109 109
         $this->page = $page;
Browse code

mise en place des actions de vue, du loggeur du MVC test des resultat des reponse Rest avec les methode GET PUT DELETE POST avec curl

FIXME: appel curl ou fopen d'une methode http depuis une action ou un controlleur.

TODO: sécuriser les accès HTTP1.1 par un fichier config similaire a l'applet Discourse faite pour Tinternet

TODO: ajouter un plug-in symfony permettant de charger un utilisateur dans les apps a partir de l'authentification multiple

TODO: lire les documentation officielles provenant des 4 plate-formes tranquillement afin de comprendre commet doit on tester ces type d'auth quitte a créé un sous domaine particulier directement hebergé sur gittea
-->Sécuriser le serveur de dev

Emmanuel ROY authored on 04/12/2019 15:21:19
Showing 1 changed files
... ...
@@ -10,7 +10,8 @@ class Url
10 10
     public $registre;
11 11
 
12 12
 
13
-    public function __construct(){
13
+    public function __construct($method, $appRequest)
14
+    {
14 15
 
15 16
         //on créé le registre des modules symfony
16 17
         $this->registre = new \MVC\Classe\ModularRegister();
... ...
@@ -77,11 +78,33 @@ class Url
77 78
         if($page['control']){
78 79
             $pageFile = TRAITEMENT_PATH . DIRECTORY_SEPARATOR . $page['name'] . '.php';
79 80
         }else {
80
-            $pageFile = CONTROLLERS_PATH . DIRECTORY_SEPARATOR . $page['name'] . '.php';
81
+            //recherche du fichier controlleur correpondant HTTP1.1 ou HTTP1.0
82
+            switch ($method) {
83
+                //cas des requètes HTTP1.1
84
+                case 'PUT':
85
+                case 'DELETE':
86
+                case 'GET':
87
+                case 'POST':
88
+                    if ($appRequest) {
89
+                        $page['name'] = ucfirst($page['name']);
90
+                        $pageFile = CONTROLLER_PATH . DIRECTORY_SEPARATOR . $page['name'] . 'HttpReponse.php';
91
+                    } else {
92
+                        $page['name'] = lcfirst($page['name']);
93
+                        $pageFile = CONTROLLERS_PATH . DIRECTORY_SEPARATOR . $page['name'] . '.php';
94
+                        if (!file_exists($pageFile)) {
95
+                            $page['name'] = ucfirst($page['name']);
96
+                            $pageFile = CONTROLLER_PATH . DIRECTORY_SEPARATOR . $page['name'] . 'HttpReponse.php';
97
+                        }
98
+                    }
99
+            }
81 100
         }
82 101
 
83
-        if(!file_exists($pageFile)){
84
-            $page['name'] = 'error';
102
+        if (!file_exists($pageFile)) {
103
+            if ($appRequest) {
104
+                $page['name'] = 'error';
105
+            } else {
106
+                $page['name'] = 'Error';
107
+            }
85 108
         }
86 109
         $this->page = $page;
87 110
 
... ...
@@ -115,4 +138,22 @@ class Url
115 138
         return '/' . 'control' . '/' . $page . $stringParams;
116 139
     }
117 140
 
141
+    static public function absolute_link_rewrite($isControlPatern, $page, $params = array())
142
+    {
143
+        $url = $_SERVER['HTTP_HOST'];
144
+        if ($isControlPatern) {
145
+            $uri = self::controlLink_rewrite($page, $params);
146
+        } else {
147
+            $uri = self::link_rewrite_slashParam($page, $params);
148
+        }
149
+        if (isset($_SERVER['REQUEST_SCHEME'])) {
150
+            $scheme = $_SERVER['REQUEST_SCHEME'];
151
+        } else {
152
+            $scheme = 'http';
153
+        }
154
+
155
+        return ($scheme . "://" . $url . $uri);
156
+
157
+    }
158
+
118 159
 }
Browse code

Ajout des token et pasphrase des 4 hybrid authentifaction choisie: Github,Facebook,Google,Twitter Fonctionne partiellement pour des raisons obscure lié a cette authentification partagée par des grands groupe.

TODO: lire les documentation officielles provenant des 4 plate-formes tranquillement afin de ccomprendre commet doit on tester ces type d'auth quitte a créé un sous domaine particulier directement hebergé sur gittea
-->Sécuriser le serveur de dev

Emmanuel ROY authored on 11/10/2019 15:26:22
Showing 1 changed files
... ...
@@ -2,18 +2,20 @@
2 2
 
3 3
 namespace MVC\Classe;
4 4
 
5
+//require_once dirname(dirname(__FILE__)).DIRECTORY_SEPARATOR."config".DIRECTORY_SEPARATOR."define-constantes.php";
6
+
5 7
 class Url
6 8
 {
7
-	public $page;
8
-	public $registre;
9
-	
10
-	
11
-	public function __construct(){
9
+    public $page;
10
+    public $registre;
11
+
12 12
 
13
-	    //on créé le registre des modules symfony
14
-	    $this->registre = new \MVC\Classe\ModularRegister();
13
+    public function __construct(){
15 14
 
16
-	    //définition des parametres de base
15
+        //on créé le registre des modules symfony
16
+        $this->registre = new \MVC\Classe\ModularRegister();
17
+
18
+        //définition des parametres de base
17 19
         $page = array();
18 20
         $page['name'] = 'accueil';
19 21
         $page['description'] = "";
... ...
@@ -21,7 +23,6 @@ class Url
21 23
         $page['control'] = false;
22 24
 
23 25
 
24
-
25 26
         $url = parse_url($_SERVER['REQUEST_URI']);
26 27
         $urlTrim = trim( $url['path'] , '/' );
27 28
         $urlParts = explode('/' , $urlTrim );
... ...
@@ -55,11 +56,11 @@ class Url
55 56
                 $this->page = $page;
56 57
                 return;
57 58
             }
58
-        //cas d'utilisation normal : il existe autant de clé que de valeurs
59
+            //cas d'utilisation normal : il existe autant de clé que de valeurs
59 60
         } else if ( $numParts != 0 ) {
60 61
             $values = array();
61 62
             $keys = array();
62
-            foreach( $urlParts as $key => $value ){
63
+            foreach($urlParts as $key => $value ){
63 64
                 if($key%2 == 0) {
64 65
                     $values[] = $value;
65 66
                 } else {
Browse code

Ajout intégration de l'hybridAuthentification encore en état de code brut Pas de tests

TODO: aller chercher les token et les id des authentifcation pour google, github, facebook, twitter ... Reste a tester et à décider pour les autres types d'authentification.

Emmanuel ROY authored on 26/09/2019 04:27:05
Showing 1 changed files
... ...
@@ -85,4 +85,33 @@ class Url
85 85
         $this->page = $page;
86 86
 
87 87
     }
88
+
89
+    static public function link_rewrite($isControlPatern, $page, $params = array())
90
+    {
91
+        if ($isControlPatern) {
92
+            return self::controlLink_rewrite($page, $params);
93
+        } else {
94
+            return self::link_rewrite_slashParam($page, $params);
95
+        }
96
+    }
97
+
98
+    static private function link_rewrite_slashParam($page, $params = array())
99
+    {
100
+        $stringParams = '';
101
+        foreach ($params as $key => $values) {
102
+            $stringParams .= "/" . $key . "/" . $values;
103
+        }
104
+        return '/' . $page . $stringParams;
105
+
106
+    }
107
+
108
+    static private function controlLink_rewrite($page, $params = array())
109
+    {
110
+        $stringParams = '';
111
+        foreach ($params as $key => $values) {
112
+            $stringParams .= "/" . $key . "/" . $values;
113
+        }
114
+        return '/' . 'control' . '/' . $page . $stringParams;
115
+    }
116
+
88 117
 }
Browse code

Application nettoyé, Ajout de la lib composer hybridauth/hybridauth TODO: integrer hybrid auth sur une page simple d'authentification

Emmanuel ROY authored on 09/09/2019 22:37:17
Showing 1 changed files
... ...
@@ -10,8 +10,10 @@ class Url
10 10
 	
11 11
 	public function __construct(){
12 12
 
13
+	    //on créé le registre des modules symfony
13 14
 	    $this->registre = new \MVC\Classe\ModularRegister();
14 15
 
16
+	    //définition des parametres de base
15 17
         $page = array();
16 18
         $page['name'] = 'accueil';
17 19
         $page['description'] = "";
... ...
@@ -42,18 +44,19 @@ class Url
42 44
 
43 45
         }
44 46
 
45
-        //vérification du nombre de parametres: s'il n'existe pas autant de clé que
46
-        // de valeurs on sort de la fonction et on renvoie une page d'erreur.
47
+        //vérification du nombre de parametres:
47 48
         $numParts = count($urlParts);
48
-
49
+        //s'il n'existe pas autant de clé que de valeurs, ce peut ^etre un module symfony
49 50
         if ( $numParts%2 != 0 ) {
51
+            //si un module symfony n'est pas reférencé avec le nom de la page, on renvoi un erreur
50 52
             if( !in_array($page['name'], $this->registre->getIndex()) ){
51 53
                 $page['name'] = 'error';
52 54
                 $page['params'] = array();
53 55
                 $this->page = $page;
54 56
                 return;
55 57
             }
56
-        }else if ( $numParts != 0 ){
58
+        //cas d'utilisation normal : il existe autant de clé que de valeurs
59
+        } else if ( $numParts != 0 ) {
57 60
             $values = array();
58 61
             $keys = array();
59 62
             foreach( $urlParts as $key => $value ){
Browse code

Application modulaire fonctionnelle !

Emmanuel ROY authored on 12/08/2019 15:10:25
Showing 1 changed files
... ...
@@ -45,11 +45,13 @@ class Url
45 45
         //vérification du nombre de parametres: s'il n'existe pas autant de clé que
46 46
         // de valeurs on sort de la fonction et on renvoie une page d'erreur.
47 47
         $numParts = count($urlParts);
48
+
48 49
         if ( $numParts%2 != 0 ) {
49 50
             if( !in_array($page['name'], $this->registre->getIndex()) ){
50 51
                 $page['name'] = 'error';
51 52
                 $page['params'] = array();
52
-                return $page;
53
+                $this->page = $page;
54
+                return;
53 55
             }
54 56
         }else if ( $numParts != 0 ){
55 57
             $values = array();
... ...
@@ -67,7 +69,6 @@ class Url
67 69
                 $page['params'] = array_combine($keys, $values);
68 70
             }
69 71
         }
70
-
71 72
         //verification de l'existence de la page dans les controlleurs
72 73
         if($page['control']){
73 74
             $pageFile = TRAITEMENT_PATH . DIRECTORY_SEPARATOR . $page['name'] . '.php';
Browse code

ajout d'un registre pour les applications modulaires

Emmanuel ROY authored on 09/08/2019 09:48:21
Showing 1 changed files
... ...
@@ -5,74 +5,80 @@ namespace MVC\Classe;
5 5
 class Url
6 6
 {
7 7
 	public $page;
8
+	public $registre;
8 9
 	
9 10
 	
10 11
 	public function __construct(){
11 12
 
12
-	$page = array();
13
-	$page['name'] = 'accueil';
14
-	$page['description'] = "";
15
-	$page['params'] = array();
16
-	$page['control'] = false;
13
+	    $this->registre = new \MVC\Classe\ModularRegister();
17 14
 
15
+        $page = array();
16
+        $page['name'] = 'accueil';
17
+        $page['description'] = "";
18
+        $page['params'] = array();
19
+        $page['control'] = false;
18 20
 
19 21
 
20
-	$url = parse_url($_SERVER['REQUEST_URI']);
21
-	$urlTrim = trim( $url['path'] , '/' );
22
-	$urlParts = explode('/' , $urlTrim );
23 22
 
24
-	//print_r($urlParts);
25
-    if(isset($urlParts[0])) {
26
-        //Récupération du nom de la page
27
-        ($urlParts[0] == 'index' || $urlParts[0] == '') ? $page['name'] = 'accueil' : $page['name'] = $urlParts[0];
28
-        //array_shift($urlParts);
29
-        unset($urlParts[0]);
30
-    }else{
31
-        $page['name'] = 'accueil';
32
-    }
23
+        $url = parse_url($_SERVER['REQUEST_URI']);
24
+        $urlTrim = trim( $url['path'] , '/' );
25
+        $urlParts = explode('/' , $urlTrim );
26
+
27
+        //print_r($urlParts);
28
+        if(isset($urlParts[0])) {
29
+            //Récupération du nom de la page
30
+            ($urlParts[0] == 'index' || $urlParts[0] == '') ? $page['name'] = 'accueil' : $page['name'] = $urlParts[0];
31
+            //array_shift($urlParts);
32
+            unset($urlParts[0]);
33
+        }else{
34
+            $page['name'] = 'accueil';
35
+        }
33 36
 
34
-	if($page['name'] == 'control'){
35
-	    $page['control'] = true;
36
-        ($urlParts[1] == 'index' || $urlParts[1] == '' ) ? $page['name']='accueil' : $page['name']=$urlParts[1];
37
-        //array_shift($urlParts);
38
-        unset($urlParts[1]);
37
+        if($page['name'] == 'control'){
38
+            $page['control'] = true;
39
+            ($urlParts[1] == 'index' || $urlParts[1] == '' ) ? $page['name']='accueil' : $page['name']=$urlParts[1];
40
+            //array_shift($urlParts);
41
+            unset($urlParts[1]);
39 42
 
40
-    }
43
+        }
41 44
 
42
-	//vérification du nombre de parametres: s'il n'existe pas autant de clé que
43
-	// de valeurs on sort de la fonction et on renvoie une page d'erreur.
44
-	$numParts = count($urlParts);
45
-	if ( $numParts%2 != 0 ) {
46
-		$page['name'] = 'error';
47
-		$page['params'] = array();
48
-		return $page;
49
-	}else if ( $numParts != 0 ){
50
-		$values = array();
51
-		$keys = array();
52
-		foreach( $urlParts as $key => $value ){
53
-			if($key%2 == 0) {
54
-				$values[] = $value;
55
-			} else {
56
-				$keys[] = $value;
57
-			}
58
-		}
59
-		if($page['control']){
60
-            $page['params'] = array_combine($values, $keys);
45
+        //vérification du nombre de parametres: s'il n'existe pas autant de clé que
46
+        // de valeurs on sort de la fonction et on renvoie une page d'erreur.
47
+        $numParts = count($urlParts);
48
+        if ( $numParts%2 != 0 ) {
49
+            if( !in_array($page['name'], $this->registre->getIndex()) ){
50
+                $page['name'] = 'error';
51
+                $page['params'] = array();
52
+                return $page;
53
+            }
54
+        }else if ( $numParts != 0 ){
55
+            $values = array();
56
+            $keys = array();
57
+            foreach( $urlParts as $key => $value ){
58
+                if($key%2 == 0) {
59
+                    $values[] = $value;
60
+                } else {
61
+                    $keys[] = $value;
62
+                }
63
+            }
64
+            if($page['control']){
65
+                $page['params'] = array_combine($values, $keys);
66
+            }else {
67
+                $page['params'] = array_combine($keys, $values);
68
+            }
69
+        }
70
+
71
+        //verification de l'existence de la page dans les controlleurs
72
+        if($page['control']){
73
+            $pageFile = TRAITEMENT_PATH . DIRECTORY_SEPARATOR . $page['name'] . '.php';
61 74
         }else {
62
-            $page['params'] = array_combine($keys, $values);
75
+            $pageFile = CONTROLLERS_PATH . DIRECTORY_SEPARATOR . $page['name'] . '.php';
63 76
         }
64
-	}
65
-	
66
-	//verification de l'existence de la page dans les controlleurs
67
-    if($page['control']){
68
-        $pageFile = TRAITEMENT_PATH . DIRECTORY_SEPARATOR . $page['name'] . '.php';
69
-    }else {
70
-        $pageFile = CONTROLLERS_PATH . DIRECTORY_SEPARATOR . $page['name'] . '.php';
71
-	}
72
-	
73
-	if(!file_exists($pageFile)){
74
-		$page['name'] = 'error';
75
-	}
76
-	$this->page = $page;
77
-	}
77
+
78
+        if(!file_exists($pageFile)){
79
+            $page['name'] = 'error';
80
+        }
81
+        $this->page = $page;
82
+
83
+    }
78 84
 }
Browse code

initial commmit de la branche Nude with composer

git authored on 14/03/2019 16:48:02
Showing 1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,78 @@
1
+<?php
2
+
3
+namespace MVC\Classe;
4
+
5
+class Url
6
+{
7
+	public $page;
8
+	
9
+	
10
+	public function __construct(){
11
+
12
+	$page = array();
13
+	$page['name'] = 'accueil';
14
+	$page['description'] = "";
15
+	$page['params'] = array();
16
+	$page['control'] = false;
17
+
18
+
19
+
20
+	$url = parse_url($_SERVER['REQUEST_URI']);
21
+	$urlTrim = trim( $url['path'] , '/' );
22
+	$urlParts = explode('/' , $urlTrim );
23
+
24
+	//print_r($urlParts);
25
+    if(isset($urlParts[0])) {
26
+        //Récupération du nom de la page
27
+        ($urlParts[0] == 'index' || $urlParts[0] == '') ? $page['name'] = 'accueil' : $page['name'] = $urlParts[0];
28
+        //array_shift($urlParts);
29
+        unset($urlParts[0]);
30
+    }else{
31
+        $page['name'] = 'accueil';
32
+    }
33
+
34
+	if($page['name'] == 'control'){
35
+	    $page['control'] = true;
36
+        ($urlParts[1] == 'index' || $urlParts[1] == '' ) ? $page['name']='accueil' : $page['name']=$urlParts[1];
37
+        //array_shift($urlParts);
38
+        unset($urlParts[1]);
39
+
40
+    }
41
+
42
+	//vérification du nombre de parametres: s'il n'existe pas autant de clé que
43
+	// de valeurs on sort de la fonction et on renvoie une page d'erreur.
44
+	$numParts = count($urlParts);
45
+	if ( $numParts%2 != 0 ) {
46
+		$page['name'] = 'error';
47
+		$page['params'] = array();
48
+		return $page;
49
+	}else if ( $numParts != 0 ){
50
+		$values = array();
51
+		$keys = array();
52
+		foreach( $urlParts as $key => $value ){
53
+			if($key%2 == 0) {
54
+				$values[] = $value;
55
+			} else {
56
+				$keys[] = $value;
57
+			}
58
+		}
59
+		if($page['control']){
60
+            $page['params'] = array_combine($values, $keys);
61
+        }else {
62
+            $page['params'] = array_combine($keys, $values);
63
+        }
64
+	}
65
+	
66
+	//verification de l'existence de la page dans les controlleurs
67
+    if($page['control']){
68
+        $pageFile = TRAITEMENT_PATH . DIRECTORY_SEPARATOR . $page['name'] . '.php';
69
+    }else {
70
+        $pageFile = CONTROLLERS_PATH . DIRECTORY_SEPARATOR . $page['name'] . '.php';
71
+	}
72
+	
73
+	if(!file_exists($pageFile)){
74
+		$page['name'] = 'error';
75
+	}
76
+	$this->page = $page;
77
+	}
78
+}