tbrehm
2013-05-27 15e982543e1d25832ad5f47b07f1564b54d3fd7a
server/mods-available/remoteaction_core_module.inc.php
@@ -1,6 +1,6 @@
<?php
/*
Copyright (c) 2007-2010, Till Brehm, projektfarm Gmbh and Oliver Vogel www.muv.com
Copyright (c) 2007-2010, Till Brehm, projektfarm Gmbh, Oliver Vogel www.muv.com
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
@@ -35,7 +35,7 @@
   //* This function is called during ispconfig installation to determine
   //  if a symlink shall be created for this plugin.
   function onInstall() {
      return true;
      return false;
   }
   /*
@@ -45,7 +45,8 @@
      /*
           * Check for actions to execute
      */
      $this->_execActions();
      //* This module has been replaced by the new action framework.
      // $this->_execActions();
   }
   /*
@@ -95,7 +96,7 @@
       * stop a service, a admin stopped some days before! To avoid this, we ignore
       * the status (it is only for the interface to show) and use our own maxid
      */
      include_once (dirname(__FILE__) .  "/../lib/remote_action.inc.php");
      include_once (SCRIPT_PATH."/lib/remote_action.inc.php");
      /*
       * Get all actions this server should execute
@@ -119,13 +120,54 @@
               * we stop executing the actions not to waste more time */
               return;
            }
            if ($action['action_type'] == 'ispc_update') {
               /* do the update */
               $this->_doIspCUpdate($action);
               // Update function has been removed
               // $this->_doIspCUpdate($action);
               /* this action takes so much time,
               * we stop executing the actions not to waste more time */
               $this->_actionDone($action['action_id'], 'ok');
            }
            if ($action['action_type'] == 'openvz_start_vm') {
               $veid = intval($action['action_param']);
               if($veid > 0) {
                  exec("vzctl start $veid");
               }
               $this->_actionDone($action['action_id'], 'ok');
            }
            if ($action['action_type'] == 'openvz_stop_vm') {
               $veid = intval($action['action_param']);
               if($veid > 0) {
                  exec("vzctl stop $veid");
               }
               $this->_actionDone($action['action_id'], 'ok');
            }
            if ($action['action_type'] == 'openvz_restart_vm') {
               $veid = intval($action['action_param']);
               if($veid > 0) {
                  exec("vzctl restart $veid");
               }
               $this->_actionDone($action['action_id'], 'ok');
            }
            if ($action['action_type'] == 'openvz_create_ostpl') {
               $parts = explode(':',$action['action_param']);
               $veid = intval($parts[0]);
               $template_cache_dir = '/vz/template/cache/';
               $template_name = escapeshellcmd($parts[1]);
               if($veid > 0 && $template_name != '' && is_dir($template_cache_dir)) {
                  $command = "vzdump --suspend --compress --stdexcludes --dumpdir $template_cache_dir $veid";
                  exec($command);
                  exec("mv ".$template_cache_dir."vzdump-openvz-".$veid."*.tgz ".$template_cache_dir.$template_name.".tar.gz");
                  exec("rm -f ".$template_cache_dir."vzdump-openvz-".$veid."*.log");
               }
               $this->_actionDone($action['action_id'], 'ok');
               /* this action takes so much time,
               * we stop executing the actions not to waste more time */
               return;
            }
         }
      }
   }
@@ -134,13 +176,16 @@
      /*
       * Do the update
       */
      exec("aptitude update");
      exec("aptitude safe-upgrade -y");
      //TODO : change this when distribution information has been integrated into server record
      if(file_exists('/etc/gentoo-release')) {
         exec("glsa-check -f --nocolor affected");
      }
      else {
         exec("aptitude update");
         exec("aptitude upgrade -y");
         exec("aptitude safe-upgrade -y");
      }
      
      /*
@@ -201,4 +246,4 @@
      //$this->_actionDone($action['action_id'], 'ok');
   }
}
?>
?>