Marius Burkard
2016-03-02 01c6f9032792898c22b718f100ec88e4d8155ecf
server/lib/classes/cron.d/100-monitor_system_update.inc.php
@@ -53,6 +53,10 @@
   public function onRunJob() {
      global $app, $conf;
      $app->uses('getconf');
      $server_config = $app->getconf->get_server_config($conf['server_id'], 'server');
      if($server_config['monitor_system_updates'] == 'n') return;
      /* used for all monitor cronjobs */
      $app->load('monitor_tools');
      $this->_tools = new monitor_tools();
@@ -72,13 +76,13 @@
         /*
          * first update the "apt database"
          */
         shell_exec('apt-get update');
         shell_exec('while fuser /var/lib/apt/lists/lock >/dev/null 2>&1 ; do sleep 2; done; apt-get update');
         /*
          * Then test the upgrade.
          * if there is any output, then there is a needed update
          */
         $aptData = shell_exec('apt-get -s -qq dist-upgrade');
         $aptData = shell_exec('while fuser /var/lib/dpkg/lock >/dev/null 2>&1 || fuser /var/lib/apt/lists/lock >/dev/null 2>&1 ; do sleep 2; done; apt-get -s -qq dist-upgrade');
         if ($aptData == '') {
            /* There is nothing to update! */
            $state = 'ok';
@@ -183,14 +187,8 @@
       * Insert the data into the database
       */
      $sql = 'REPLACE INTO monitor_data (server_id, type, created, data, state) ' .
         'VALUES (' .
         $res['server_id'] . ', ' .
         "'" . $app->dbmaster->quote($res['type']) . "', " .
         'UNIX_TIMESTAMP(), ' .
         "'" . $app->dbmaster->quote(serialize($res['data'])) . "', " .
         "'" . $res['state'] . "'" .
         ')';
      $app->dbmaster->query($sql);
         'VALUES (?, ?, UNIX_TIMESTAMP(), ?, ?)';
      $app->dbmaster->query($sql, $res['server_id'], $res['type'], serialize($res['data']), $res['state']);
      /* The new data is written, now we can delete the old one */
      $this->_tools->delOldRecords($res['type'], $res['server_id']);