diff options
Diffstat (limited to 'src/service/Installation.php')
| -rw-r--r-- | src/service/Installation.php | 107 |
1 files changed, 0 insertions, 107 deletions
diff --git a/src/service/Installation.php b/src/service/Installation.php deleted file mode 100644 index f7de2cf..0000000 --- a/src/service/Installation.php +++ /dev/null | |||
| @@ -1,107 +0,0 @@ | |||
| 1 | <?php | ||
| 2 | // src/service/Installation.php | ||
| 3 | |||
| 4 | declare(strict_types=1); | ||
| 5 | |||
| 6 | class Installation | ||
| 7 | { | ||
| 8 | static public function phpDependancies(): void | ||
| 9 | { | ||
| 10 | $flag = false; | ||
| 11 | $extensions = ['pdo_mysql', 'mbstring', 'ctype', 'json', 'tokenizer', 'imagick', 'zip']; // les 5 premières sont pour doctrine | ||
| 12 | // ajouter plus tard zlib pour la compression des backups | ||
| 13 | foreach($extensions as $extension){ | ||
| 14 | if(!extension_loaded($extension)){ | ||
| 15 | echo("<p>L'extension <b>" . $extension . "</b> est manquante.</p>"); | ||
| 16 | $flag = true; | ||
| 17 | } | ||
| 18 | } | ||
| 19 | if(!class_exists(DOMDocument::class)){ // théoriquement plus fiable que extension_loaded() | ||
| 20 | echo("<p>L'extension <b>dom</b> est manquante.</p>"); | ||
| 21 | $flag = true; | ||
| 22 | } | ||
| 23 | |||
| 24 | /*if(!extension_loaded('imagick') && !extension_loaded('gd')){ | ||
| 25 | echo("<p>il manque une de ces extensions au choix pour le traitement des images: <b>imagick</b> (de préférence) ou <b>gd</b>.</p>"); | ||
| 26 | $flag = true; | ||
| 27 | }*/ | ||
| 28 | // si imagick n'est pas disponible, essayer gd (reste encore à coder) | ||
| 29 | |||
| 30 | if($flag){ | ||
| 31 | echo '<p>Réalisez les actions nécéssaires sur le serveur ou contactez l\'administrateur du site.<br> | ||
| 32 | Quand le problème sera résolu, il vous suffira de <a href="#">recharger la page<a>.</p>'; | ||
| 33 | die; | ||
| 34 | } | ||
| 35 | } | ||
| 36 | |||
| 37 | static public function checkFilesAndFoldersRights(): void | ||
| 38 | { | ||
| 39 | // -- droits des fichiers et dossiers -- | ||
| 40 | $droits_dossiers = 0777; | ||
| 41 | |||
| 42 | $flag = false; | ||
| 43 | if(!file_exists('user_data')){ | ||
| 44 | try{ | ||
| 45 | mkdir('user_data/'); | ||
| 46 | chmod('user_data/', $droits_dossiers); | ||
| 47 | } | ||
| 48 | catch(Exception $e){ | ||
| 49 | echo '<p style="color: red;">Le dossier public/user_data introuvable et le serveur n\'a pas la permission de le créer.<br> | ||
| 50 | Pour faire ça bien:<br>sudo -u "serveur web" mkdir /chemin/du/site/public/user_data</p>'; | ||
| 51 | echo $e; | ||
| 52 | $flag = true; | ||
| 53 | } | ||
| 54 | } | ||
| 55 | if(!file_exists('../var')){ | ||
| 56 | try{ | ||
| 57 | mkdir('../var'); | ||
| 58 | chmod('../var', $droits_dossiers); | ||
| 59 | } | ||
| 60 | catch(Exception $e){ | ||
| 61 | echo $e; | ||
| 62 | $flag = true; | ||
| 63 | } | ||
| 64 | } | ||
| 65 | if(!file_exists('../var/backups')){ | ||
| 66 | try{ | ||
| 67 | mkdir('../var/backups'); | ||
| 68 | chmod('../var/backups', $droits_dossiers); // autoriser à la fois le serveur et les scripts dans bin/ | ||
| 69 | } | ||
| 70 | catch(Exception $e){ | ||
| 71 | echo $e; | ||
| 72 | $flag = true; | ||
| 73 | } | ||
| 74 | } | ||
| 75 | |||
| 76 | // droits 600 pour celui-ci | ||
| 77 | if(!file_exists('../config/config.ini')){ | ||
| 78 | // aide à la création du config.ini | ||
| 79 | echo '<p>Le fichier config/config.ini est introuvable.</p>'; | ||
| 80 | echo '<p>Il doit obligatoirement contenir les codes de la base de données, le protocole http ou https (et éventuellement le port) utilisé pour créer les liens internes.<br> | ||
| 81 | Un modèle est disponible, il s\'agit du fichier config/config-template.ini</p> | ||
| 82 | <p>Ce fichier a une importance critique. Si vous le pouvez faites en sorte que le serveur en soit le propriétaire et donner lui des droits 600.</p>'; | ||
| 83 | $flag = true; | ||
| 84 | } | ||
| 85 | /*else{ | ||
| 86 | // propriétaire du fichier | ||
| 87 | if(fileowner('../config/config.ini') != posix_geteuid()){ | ||
| 88 | echo "<p>le fichier config/config.ini n'appartient pas au serveur.</p>"; | ||
| 89 | } | ||
| 90 | else{ | ||
| 91 | // droits du config.ini | ||
| 92 | if(substr(sprintf('%o', fileperms('../config/config.ini')), -4) != 600){ | ||
| 93 | echo '<p>Attention, le </p>'; | ||
| 94 | //chmod('../config/config.ini', $droits_fichiers); | ||
| 95 | } | ||
| 96 | } | ||
| 97 | }*/ | ||
| 98 | if($flag){ | ||
| 99 | die; | ||
| 100 | } | ||
| 101 | |||
| 102 | // tester les liens internes | ||
| 103 | // | ||
| 104 | |||
| 105 | // le test de connexion à la BDD est dans le doctrine bootstrap | ||
| 106 | } | ||
| 107 | } \ No newline at end of file | ||
