From f4038a2160d55a7f519a3b42be1aa96e29e9a908 Mon Sep 17 00:00:00 2001 From: ftimme <ft@falkotimme.com> Date: Wed, 27 Feb 2013 09:01:40 -0500 Subject: [PATCH] - Fixed "FUNCTION databasename.CONCAT does not exist" error for older MySQL versions. --- server/plugins-available/software_update_plugin.inc.php | 34 ++++++++++++++++++++++++++++------ 1 files changed, 28 insertions(+), 6 deletions(-) diff --git a/server/plugins-available/software_update_plugin.inc.php b/server/plugins-available/software_update_plugin.inc.php index 55feaee..a6b7162 100644 --- a/server/plugins-available/software_update_plugin.inc.php +++ b/server/plugins-available/software_update_plugin.inc.php @@ -1,7 +1,7 @@ <?php /* -Copyright (c) 2007, Till Brehm, projektfarm Gmbh +Copyright (c) 2007-2012, 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() { + public function onInstall() { global $conf; return true; @@ -47,29 +47,31 @@ This function is called when the plugin is loaded */ - function onLoad() { + public function onLoad() { global $app; /* Register for the events */ - //* Mailboxes $app->plugins->registerEvent('software_update_inst_insert',$this->plugin_name,'process'); //$app->plugins->registerEvent('software_update_inst_update',$this->plugin_name,'process'); //$app->plugins->registerEvent('software_update_inst_delete',$this->plugin_name,'process'); + //* Register for actions + $app->plugins->registerAction('os_update',$this->plugin_name,'os_update'); + } - function set_install_status($inst_id, $status) { + private function set_install_status($inst_id, $status) { global $app; $app->db->query("UPDATE software_update_inst SET status = '{$status}' WHERE software_update_inst_id = '{$inst_id}'"); $app->dbmaster->query("UPDATE software_update_inst SET status = '{$status}' WHERE software_update_inst_id = '{$inst_id}'"); } - function process($event_name,$data) { + public function process($event_name,$data) { global $app, $conf; //* Get the info of the package: @@ -271,6 +273,26 @@ } } + + //* Operating system update + public function os_update($action_name,$data) { + global $app; + + //** Debian and compatible Linux distributions + if(file_exists('/etc/debian_version')) { + exec("aptitude update"); + exec("aptitude safe-upgrade -y"); + $app->log('Execeuted Debian / Ubuntu update',LOGLEVEL_DEBUG); + } + + //** Gentoo Linux + if(file_exists('/etc/gentoo-release')) { + exec("glsa-check -f --nocolor affected"); + $app->log('Execeuted Gentoo update',LOGLEVEL_DEBUG); + } + + return 'ok'; + } } // end class -- Gitblit v1.9.1