tbrehm
2009-03-31 310ec5c934b7d8c2ea64a19408a9f49d6433cbf3
install/update.php
@@ -101,6 +101,7 @@
$conf['ispconfig_log_priority'] = $conf_old["log_priority"];
$inst = new installer();
$inst->is_update = true;
//** Detect the installed applications
$inst->find_installed_apps();
@@ -121,11 +122,11 @@
//** export the current database data
if( !empty($conf["mysql"]["admin_password"]) ) {
   system("mysqldump -h ".$conf['mysql']['host']." -u ".$conf['mysql']['admin_user']." -p".$conf['mysql']['admin_password']." -c -t --add-drop-table --all --quick ".$conf['mysql']['database']." > existing_db.sql");
   system("mysqldump -h '".$conf['mysql']['host']."' -u '".$conf['mysql']['admin_user']."' -p'".$conf['mysql']['admin_password']."' -c -t --add-drop-table --all --quick ".$conf['mysql']['database']." > existing_db.sql");
}
else {
   system("mysqldump -h ".$conf['mysql']['host']." -u ".$conf['mysql']['admin_user']." -c -t --add-drop-table --all --quick ".$conf['mysql']['database']." > existing_db.sql");
   system("mysqldump -h '".$conf['mysql']['host']."' -u '".$conf['mysql']['admin_user']."' -c -t --add-drop-table --all --quick ".$conf['mysql']['database']." > existing_db.sql");
}
@@ -164,10 +165,10 @@
//** load old data back into database
if( !empty($conf["mysql"]["admin_password"]) ) {
   system("mysql --default-character-set=".$conf['mysql']['charset']." -h ".$conf['mysql']['host']." -u ".$conf['mysql']['admin_user']." -p".$conf['mysql']['admin_password']." ".$conf['mysql']['database']." < existing_db.sql");
   system("mysql --default-character-set=".$conf['mysql']['charset']." -h '".$conf['mysql']['host']."' -u '".$conf['mysql']['admin_user']."' -p'".$conf['mysql']['admin_password']."' ".$conf['mysql']['database']." < existing_db.sql");
} else {
   system("mysql --default-character-set=".$conf['mysql']['charset']." -h ".$conf['mysql']['host']." -u ".$conf['mysql']['admin_user']." ".$conf['mysql']['database']." < existing_db.sql");
   system("mysql --default-character-set=".$conf['mysql']['charset']." -h '".$conf['mysql']['host']."' -u '".$conf['mysql']['admin_user']."' ".$conf['mysql']['database']." < existing_db.sql");
}
// create a backup copy of the ispconfig database in the root folder
@@ -199,6 +200,33 @@
unset($new_ini);
//** Update system ini
$tmp_server_rec = $inst->db->queryOneRecord("SELECT config FROM sys_ini WHERE sysini_id = 1");
$old_ini_array = ini_to_array(stripslashes($tmp_server_rec['config']));
unset($tmp_server_rec);
$tpl_ini_array = ini_to_array(rf('tpl/system.ini.master'));
// update the new template with the old values
if(is_array($old_ini_array)) {
   foreach($old_ini_array as $tmp_section_name => $tmp_section_content) {
      foreach($tmp_section_content as $tmp_var_name => $tmp_var_content) {
         $tpl_ini_array[$tmp_section_name][$tmp_var_name] = $tmp_var_content;
      }
   }
}
$new_ini = array_to_ini($tpl_ini_array);
$tmp = $inst->db->queryOneRecord('SELECT count(sysini_id) as number FROM sys_ini WHERE 1');
if($tmp['number'] == 0) {
   $inst->db->query("INSERT INTO sys_ini (sysini_id, config) VALUES (1,'".mysql_real_escape_string($new_ini)."')");
} else {
   $inst->db->query("UPDATE sys_ini SET config = '".mysql_real_escape_string($new_ini)."' WHERE sysini_id = 1");
}
unset($old_ini_array);
unset($tpl_ini_array);
unset($new_ini);
//** Shall the services be reconfigured during update
$reconfigure_services_answer = $inst->simple_query('Reconfigure Services?', array('yes','no'),'yes');
@@ -206,9 +234,10 @@
   
   if($conf['services']['mail']) {
      //** Configure postfix
      swriteln('Configuring Postfix');
      $inst->configure_postfix('dont-create-certs');
   
      //* Configure postfix
      //* Configure Jailkit
      swriteln('Configuring Jailkit');
      $inst->configure_jailkit();
   
@@ -287,24 +316,24 @@
//** Restart services:
if($reconfigure_services_answer == 'yes') {
   swriteln('Restarting services ...');
   if($conf['mysql']['init_script'] != '' && is_file($conf['mysql']['init_script']))               system($conf['init_scripts'].'/'.$conf['mysql']['init_script'].' restart');
   if($conf['mysql']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['mysql']['init_script']))               system($conf['init_scripts'].'/'.$conf['mysql']['init_script'].' restart');
   if($conf['services']['mail']) {
      if($conf['postfix']['init_script'] != '' && is_file($conf['postfix']['init_script']))            system($conf['init_scripts'].'/'.$conf['postfix']['init_script'].' restart');
      if($conf['saslauthd']['init_script'] != '' && is_file($conf['saslauthd']['init_script']))         system($conf['init_scripts'].'/'.$conf['saslauthd']['init_script'].' restart');
      if($conf['amavis']['init_script'] != '' && is_file($conf['amavis']['init_script']))               system($conf['init_scripts'].'/'.$conf['amavis']['init_script'].' restart');
      if($conf['clamav']['init_script'] != '' && is_file($conf['clamav']['init_script']))               system($conf['init_scripts'].'/'.$conf['clamav']['init_script'].' restart');
      if($conf['courier']['courier-authdaemon'] != '' && is_file($conf['courier']['courier-authdaemon'])) system($conf['init_scripts'].'/'.$conf['courier']['courier-authdaemon'].' restart');
      if($conf['courier']['courier-imap'] != '' && is_file($conf['courier']['courier-imap']))          system($conf['init_scripts'].'/'.$conf['courier']['courier-imap'].' restart');
      if($conf['courier']['courier-imap-ssl'] != '' && is_file($conf['courier']['courier-imap-ssl']))    system($conf['init_scripts'].'/'.$conf['courier']['courier-imap-ssl'].' restart');
      if($conf['courier']['courier-pop'] != '' && is_file($conf['courier']['courier-pop']))             system($conf['init_scripts'].'/'.$conf['courier']['courier-pop'].' restart');
      if($conf['courier']['courier-pop-ssl'] != '' && is_file($conf['courier']['courier-pop-ssl']))       system($conf['init_scripts'].'/'.$conf['courier']['courier-pop-ssl'].' restart');
      if($conf['postfix']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['postfix']['init_script']))            system($conf['init_scripts'].'/'.$conf['postfix']['init_script'].' restart');
      if($conf['saslauthd']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['saslauthd']['init_script']))         system($conf['init_scripts'].'/'.$conf['saslauthd']['init_script'].' restart');
      if($conf['amavis']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['amavis']['init_script']))               system($conf['init_scripts'].'/'.$conf['amavis']['init_script'].' restart');
      if($conf['clamav']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['clamav']['init_script']))               system($conf['init_scripts'].'/'.$conf['clamav']['init_script'].' restart');
      if($conf['courier']['courier-authdaemon'] != '' && is_file($conf['init_scripts'].'/'.$conf['courier']['courier-authdaemon'])) system($conf['init_scripts'].'/'.$conf['courier']['courier-authdaemon'].' restart');
      if($conf['courier']['courier-imap'] != '' && is_file($conf['init_scripts'].'/'.$conf['courier']['courier-imap']))          system($conf['init_scripts'].'/'.$conf['courier']['courier-imap'].' restart');
      if($conf['courier']['courier-imap-ssl'] != '' && is_file($conf['init_scripts'].'/'.$conf['courier']['courier-imap-ssl']))    system($conf['init_scripts'].'/'.$conf['courier']['courier-imap-ssl'].' restart');
      if($conf['courier']['courier-pop'] != '' && is_file($conf['init_scripts'].'/'.$conf['courier']['courier-pop']))             system($conf['init_scripts'].'/'.$conf['courier']['courier-pop'].' restart');
      if($conf['courier']['courier-pop-ssl'] != '' && is_file($conf['init_scripts'].'/'.$conf['courier']['courier-pop-ssl']))       system($conf['init_scripts'].'/'.$conf['courier']['courier-pop-ssl'].' restart');
   }
   if($conf['services']['web']) {
      if($conf['apache']['init_script'] != '' && is_file($conf['apache']['init_script']))             system($conf['init_scripts'].'/'.$conf['apache']['init_script'].' restart');
      if($conf['pureftpd']['init_script'] != '' && is_file($conf['pureftpd']['init_script']))            system($conf['init_scripts'].'/'.$conf['pureftpd']['init_script'].' restart');
      if($conf['apache']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['apache']['init_script']))             system($conf['init_scripts'].'/'.$conf['apache']['init_script'].' restart');
      if($conf['pureftpd']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['pureftpd']['init_script']))            system($conf['init_scripts'].'/'.$conf['pureftpd']['init_script'].' restart');
   }
   if($conf['services']['dns']) {
      if($conf['mydns']['init_script'] != '' && is_file($conf['mydns']['init_script']))               system($conf['init_scripts'].'/'.$conf['mydns']['init_script'].' restart &> /dev/null');
      if($conf['mydns']['init_script'] != '' && is_file($conf['init_scripts'].'/'.$conf['mydns']['init_script']))               system($conf['init_scripts'].'/'.$conf['mydns']['init_script'].' restart &> /dev/null');
   }
}