install.php 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. <?php require_once('common.php'); ?>
  2. <!doctype html>
  3. <!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
  4. <!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8" lang="en"> <![endif]-->
  5. <!--[if IE 8]> <html class="no-js lt-ie9" lang="en"> <![endif]-->
  6. <!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
  7. <head>
  8. <meta charset="utf-8">
  9. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  10. <title></title>
  11. <meta name="description" content="">
  12. <meta name="author" content="">
  13. <meta name="viewport" content="width=device-width">
  14. <link rel="stylesheet" href="css/style.css">
  15. <script src="js/libs/modernizr-2.5.3-respond-1.1.0.min.js"></script>
  16. </head>
  17. <body>
  18. <div id="header-container">
  19. <header class="wrapper clearfix">
  20. <h1 class="logo" id="title"><a href="./index.php">L<i>eed</i></a></h1>
  21. <nav>
  22. </nav>
  23. </header>
  24. </div>
  25. <div id="main-container">
  26. <div id="main" class="wrapper clearfix">
  27. <?php
  28. if(isset($_['installButton'])){
  29. //Création de la base et des tables
  30. $feedManager->create();
  31. $eventManager->create();
  32. $userManager->create();
  33. $folderManager->create();
  34. $configurationManager->create();
  35. //Ajout de l'administrateur
  36. $admin = new User();
  37. $admin->setLogin($_['login']);
  38. $admin->setPassword($_['password']);
  39. $admin->save();
  40. //Identification de l'utilisateur en session
  41. $_SESSION['currentUser'] = serialize($admin);
  42. //Ajout des préférences et reglages
  43. $configurationManager->put('root',$_['root']);
  44. //$configurationManager->put('view',$_['view']);
  45. $configurationManager->put('articleView',$_['articleView']);
  46. $configurationManager->put('articlePerPages',$_['articlePerPages']);
  47. $configurationManager->put('articleDisplayLink',$_['articleDisplayLink']);
  48. $configurationManager->put('articleDisplayDate',$_['articleDisplayDate']);
  49. $configurationManager->put('articleDisplayAuthor',$_['articleDisplayAuthor']);
  50. //Création du dossier de base
  51. $folder = new Folder();
  52. $folder->setName($_['category']);
  53. $folder->setParent(-1);
  54. $folder->setIsopen(1);
  55. $folder->save();
  56. ?>
  57. <article style="width:100%;">
  58. <header>
  59. <h1>Installation de Leed termin&eacute;e</h1>
  60. <p>L'installation de Leed est termin&eacute;e, n'oubliez pas de mettre en place le CRON adapt&eacute; pour que vos flux se mettent &agrave; jour, exemple :</p>
  61. <code>sudo crontab -e</code>
  62. <p>Dans le fichier qui s'ouvre ajoutez la ligne :</p>
  63. <code>0 * * * * wget -q -O /var/www/leed/logsCron http://127.0.0.1/leed/action.php?action=synchronize</code>
  64. <p>Quittez et sauvegardez le fichier.</p>
  65. <p>Cet exemple mettra &agrave; jour vos flux toutes les heures et ajoutera le rapport de mise a jour sous le nom "logsCron" dans votre dossier leed</p>
  66. <p>N'oubliez pas de supprimer la page install.php par mesure de s&eacute;curit&eacute;</p>
  67. <p>Cliquez <a style="color:#F16529;" href="index.php">ici</a> pour acceder au script</p>
  68. <?php
  69. }else{
  70. ?>
  71. <aside>
  72. <h3 class="left">Verifications</h3>
  73. <ul class="clear" style="margin:0">
  74. <?php
  75. if(!is_writable('./')){
  76. $test['Erreur'][]='Ecriture impossible dans le repertoire Leed, veuillez ajouter les permissions en ecriture sur tous le dossier (sudo chmod 777 -R /var/www/leed/)';
  77. }else{
  78. $test['Succ&egrave;s'][]='Permissions sur le dossier courant : OK';
  79. }
  80. if (!@function_exists('file_get_contents')){
  81. $test['Erreur'][] = 'La fonction requise "file_get_contents" est inaccessible sur votre serveur, verifiez votre version de PHP.';
  82. }else{
  83. $test['Succ&egrave;s'][] = 'Fonction requise "file_get_contents" : OK';
  84. }
  85. if (!@function_exists('file_put_contents')){
  86. $test['Erreur'][] = 'La fonction requise "file_put_contents" est inaccessible sur votre serveur, verifiez votre version de PHP.';
  87. }else{
  88. $test['Succ&egrave;s'][] = 'Fonction requise "file_put_contents" : OK';
  89. }
  90. if (@version_compare(PHP_VERSION, '4.3.0') <= 0){
  91. $test['Erreur'][] = 'Votre version de PHP ('.PHP_VERSION.') est trop ancienne, il est possible que certaines fonctionalitees du script comportent des disfonctionnements.';
  92. }else{
  93. $test['Succ&egrave;s'][] = 'Compabilit&eacute; de version PHP ('.PHP_VERSION.') : OK';
  94. }
  95. if (!@extension_loaded('sqlite3')){
  96. $test['Erreur'][] = 'L\'Extension Sqlite3 n\'est pas activ&eacute;e sur votre serveur, merci de bien vouloir l\'installer';
  97. }else{
  98. $test['Succ&egrave;s'][] = 'Extension Sqlite3 : OK';
  99. }
  100. foreach($test as $type=>$messages){
  101. ?>
  102. <li style="font-size:10px;color:#ffffff;background-color:<?php echo ($type=='Erreur'?'#F16529':'#008000'); ?>"><?php echo $type; ?> :<ul><?php foreach($messages as $message){?><li style="border:1px solid #212121"><?php echo $message; ?></li><?php } ?></ul></li><li>&nbsp;</li>
  103. <?php } ?>
  104. </ul>
  105. </aside>
  106. <?php if(!isset($test['Erreur'])){ ?>
  107. <form action="install.php" method="POST">
  108. <article>
  109. <header>
  110. <h1>Installation de Leed</h1>
  111. <p>Merci de prendre quelques instants pour v&eacute;rifier les infos ci dessous :</p>
  112. </header>
  113. <section>
  114. <h2>G&eacute;n&eacute;ral</h2>
  115. <p>Racine du projet : <input type="text" name="root" value="<?php echo str_replace(basename(__FILE__),'','http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']); ?>"></p>
  116. <h3>Laissez bien un "/" en fin de chaine ex : http://monsite.com/leed/</h3>
  117. </section>
  118. <section>
  119. <h2>Administrateur</h2>
  120. <p>Identifiant de l'administrateur: <input type="text" name="login" placeholder="Identifiant"></p>
  121. <p>Mot de passe de l'administrateur: <input type="text" name="password" placeholder="Mot de passe"></p>
  122. <h3>Si vous perdez vos identifiants admin, supprimez le fichier database.db pour reinitialiser le script (nb: l'ensemble des donn&eacute;es seront perdues)</h3>
  123. </section>
  124. <section>
  125. <h2>Pr&eacute;ferences</h2>
  126. <!--<p>Vue des flux: <input type="radio" value="list" name="view">Liste <input type="radio" value="mosaic" name="view">Mosaique</p>
  127. <h3>Mosaic : affichage par bloc, style netvives, liste: affichage en liste style rssLounge</h3>-->
  128. <p>Affichage des articles: <input type="radio" checked="checked" value="partial" name="articleView">Partiel <input type="radio" value="complete" name="articleView">Complet</p>
  129. <h3>Nb: si vous choissisez un affichage partiel des articles, un click sur ces derniers menera à l'article sur le blog de l'auteur.</h3>
  130. <p>Nombre d'articles par pages: <input type="text" value="5" name="articlePerPages"></p>
  131. <p>Affichage du lien direct de l'article: <input type="radio" checked="checked" value="1" name="articleDisplayLink">Oui <input type="radio" value="0" name="articleDisplayLink">Non</p>
  132. <p>Affichage de la date de l'article: <input type="radio" checked="checked" value="1" name="articleDisplayDate">Oui <input type="radio" value="0" name="articleDisplayDate">Non</p>
  133. <p>Affichage de l'auteur de l'article: <input type="radio" checked="checked" value="1" name="articleDisplayAuthor">Oui <input type="radio" value="0" name="articleDisplayAuthor">Non</p>
  134. <p>Cat&eacute;gorie par defaut: <input type="text" value="General" name="category"></p>
  135. </section>
  136. <button name="installButton">Lancer l'installation</button>
  137. </article>
  138. </form>
  139. <?php }else{ ?>
  140. <p>Il vous manque des pr&eacute;requis pour continuer l'installation, r&eacute;f&eacute;rez vous au panneau de droite.</p>
  141. <?php }?>
  142. <?php } ?>
  143. </div> <!-- #main -->
  144. </div> <!-- #main-container -->
  145. <div id="footer-container">
  146. <footer class="wrapper">
  147. <p>Leed "Light Feed" by <a target="_blank" href="http://blog.idleman.fr">Idleman</a></p>
  148. </footer>
  149. </div>
  150. <script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
  151. <script>window.jQuery || document.write('<script src="js/libs/jquery-1.7.2.min.js"><\/script>')</script>
  152. <script src="js/script.js"></script>
  153. </body>
  154. </html>