tbrehm
2010-10-22 813a79d6e734f1b46fec6b09c892d19aa1f8dcdc
server/mods-available/remoteaction_core_module.inc.php
@@ -110,13 +110,22 @@
      /*
       * process all actions
      */
      foreach ($actions as $action) {
         if ($action['action_type'] == 'os_update') {
            /* do the update */
            $this->_doOsUpdate($action);
            /* this action takes so much time,
              * we stop executing the actions not to waste more time */
            return;
      if(is_array($actions)) {
         foreach ($actions as $action) {
            if ($action['action_type'] == 'os_update') {
               /* do the update */
               $this->_doOsUpdate($action);
               /* this action takes so much time,
               * we stop executing the actions not to waste more time */
               return;
            }
            if ($action['action_type'] == 'ispc_update') {
               /* do the update */
               $this->_doIspCUpdate($action);
               /* this action takes so much time,
               * we stop executing the actions not to waste more time */
               return;
            }
         }
      }
   }
@@ -134,5 +143,53 @@
      $this->_actionDone($action['action_id'], 'ok');
   }
   private function _doIspCUpdate($action) {
      /*
       * Get the version-number of the newest version
       */
      $new_version = @file_get_contents('http://www.ispconfig.org/downloads/ispconfig3_version.txt');
      $new_version = trim($new_version);
      /*
       * Do the update
       */
      /* jump into the temporary dir */
      $oldDir = getcwd();
      chdir("/tmp");
      /* delete the old files (if there are any...) */
      exec("rm /tmp/ISPConfig-" . $new_version . ".tar.gz");
      exec("rm /tmp/ispconfig3_install -R");
      /* get the newest version */
      exec("wget http://www.ispconfig.org/downloads/ISPConfig-" . $new_version . ".tar.gz");
      /* extract the files */
      exec("tar xvfz ISPConfig-" . $new_version . ".tar.gz");
      /*
       * Start the automated update
       */
      chdir("/tmp/ispconfig3_install/install");
      exec("touch autoupdate");
      exec("php -q autoupdate.php");
      /*
       * do some clean-up
       */
      exec("rm /tmp/ISPConfig-" . $new_version . ".tar.gz");
      exec("rm /tmp/ispconfig3_install -R");
      /*
       * go back to the "old path"
       */
      chdir($oldDir);
      /*
       * All well done!
       */
      $this->_actionDone($action['action_id'], 'ok');
   }
}
?>