linea21-externals
[ class tree: linea21-externals ] [ index: linea21-externals ] [ all elements ]

Source for file update.php

Documentation is available at update.php

  1. <?php
  2. /**
  3.  * @package linea21.externals
  4.  * @subpackage Class Installer
  5.  * @author Simon Georget
  6.  * @license GNU Lesser General Public License
  7.  */
  8. $installation_process true// necessary for test in /config/define.php
  9. include_once("../config/define.php");
  10. include_once('../lib/input_helpers.php');
  11.  
  12.  
  13. if(!is_writable ('../config/')) die("'config/' folder is not writable. Please change permissions and refresh the page.");
  14.  
  15. if(file_exists('../config/define_release.ini')) {
  16.     
  17.     // config.ini file does not exists, we take values from config.ini.default - $installation_process set to true
  18.     
  19.     // update main ini file
  20.     $ini_r array();
  21.     
  22.     // we parse the old DB ini file
  23.     $ini_db parse_ini_file("../config/define_db.ini");
  24.     
  25.     // we set database values into the new config.ini file
  26.     $ini_r['DB_HOST'$ini_db['DB_HOST'];
  27.     $ini_r['DB_USER'$ini_db['DB_USER'];
  28.     $ini_r['DB_PASS'$ini_db['DB_PASS'];
  29.     $ini_r['DB_NAME'$ini_db['DB_NAME'];
  30.     $ini_r['DB_ADMINMAIL'$ini_db['DB_ADMINMAIL'];
  31.     
  32.     
  33.     // we parse the old ini file
  34.     $ini_release parse_ini_file("../config/define_release.ini");
  35.     
  36.     // we parse the new ini file to check if keys exists
  37.     $ini_config parse_ini_file("../config/config.ini.default");
  38.  
  39.     foreach ($ini_release as $key => $value{
  40.         
  41.         // if the key exists in the default ini file, we overwrite the default value by the previous
  42.         if(isset($ini_config[$key])) $ini_r[$key$value;
  43.     }
  44.     
  45.     $l21config->setParams($ini_r);
  46.     
  47.     // var_dump($ini_r);
  48.  
  49.  
  50.  
  51.     // we write the new file
  52.     if($l21config->writeReleaseParams()) {
  53.         echo "Writing new configuration file : /config/config.ini</br>";
  54.     else {
  55.         echo "Problem writing new configuration file : /config/config.ini</br>";
  56.     }
  57.  
  58.     // we backup old config files before removing them
  59.     $dest '../tmp/backup/config/';
  60.     
  61.     if(!file_exists($dest)) mkdir($dest0755true);
  62.  
  63.     if (!copy("../config/define_release.ini"$dest "define_release.ini")) {
  64.         echo "Failed to backup define_release.ini file.</br>";
  65.     else {
  66.         echo "Backup define_release.ini file : ok.</br>";
  67.         
  68.         if(unlink("../config/define_release.ini")) {
  69.             echo "Removing define_release.ini file form /config/ folder.</br>";
  70.         }
  71.     }
  72.     
  73.         if (!copy("../config/define_db.ini"$dest "define_db.ini")) {
  74.         echo "Failed to backup define_db.ini file.</br>";
  75.     else {
  76.         echo "Backup define_db.ini file : ok.</br>";
  77.         
  78.         if(unlink("../config/define_db.ini")) {
  79.             echo "Removing define_db.ini file form /config/ folder.</br>";
  80.         }
  81.     }
  82.     
  83.     // we also remove old files
  84.     @unlink('../newsletter/x7iYhD98w_sendmail.php');
  85.     
  86.     echo '<p>Update from v 1.6 is done!</p>';
  87.  
  88. }
  89.  
  90. echo '<p>Please go to the <a href="../admin/">admin page to log-in</a>.</p>';

Documentation generated on Thu, 20 Mar 2014 16:49:44 +0100 by phpDocumentor 1.4.1