Logo: Marc Harnist

N° 395 - Travaux en cours (auto formation de veille)
 - Le 17/06/2020 Catégorie: news


Install.php



Création d'un programme d'installation rapide du CMS Light comme le fait Wordpress. Ce projet permettra aussi les réinstallations en cas de perte des données pour raisons diverses: hacking, défaillance de serveurs, erreur humaine, etc.

 - Le formulaire d'écriture dans le fichier config existe dans le sandbox: c'est un modèle.



Création de trois rooters qui réduira le nombre de controllers et de views




  1. public,


  2. private,


  3. admin



Il suffira de placer des fichiers existants dans un repertoire parent public, private et admin pour déclencher l'ouverture de la page de connexion si l'user "try to open". C'est root/index.php, en créant l'objet Page, qui va chercher "espace" (index.php?espace=private&action=creation) comme il le fait déjà en cherchant "page" dans l'url "index.php?page=accueil". S'il trouve "espace" dans l'url, il vérifie les droits de l'user en fonction de la valeur, public, private et admin de "espace". Exemple: index.php?espace=admin&page=accueil. Ici, root/index.php va ouvrir la page d'accueil de root/admin/. Cette page serait

"root/admin/controlers/accueil.php" par exemple. Si une vue existe pour cette page, toujours root/index.php ouvre alors "root/admin/view/accueil.php", sinon, une page par defaut est ouverte...



Le simple fait de déplacer ensuite une page (controller) d'un répertoire privé vers public par exemple, modifiera ses droits.



Il faudra simplement lire l'url pour voir les droits qu'il faut et les comparer aux données de l'user stockés dans la db.



Contenu des rooters: 





  1. "Check user's permissions" . If permission = ko, redirect to "page error" which displays Exception $e->getMessage() and backward link, else, go to 2 :

    If the user open a page that content "private" in url, check his permissions to access to this page.





  2. Get view if exists ; If view do not exists = ko, redirect to "page error" which displays Exception $e->getMessage() and backward link, else go to 3 :





  3. Get the "action" from url : index.php?space=private&action=create. In this example, open the member creation formular.

     





Action with CRUD in mind



smiley.png