function update_main() { global $argc, $argv; global $gbl, $sgbl, $login, $ghtml; debug_for_backend(); $program = $sgbl->__var_program_name; $login = new Client(null, null, 'upgrade'); $opt = parse_opt($argv); print "Getting Version Info from the Server...\n"; if (isset($opt['till-version']) && $opt['till-version'] || lxfile_exists("__path_slave_db")) { $sgbl->slave = true; $upversion = findNextVersion($opt['till-version']); $type = 'slave'; } else { $sgbl->slave = false; $upversion = findNextVersion(); $type = 'master'; } print "Connecting... Please wait....\n"; if ($upversion) { do_upgrade($upversion); print "Upgrade Done.. Executing Cleanup....\n"; flush(); } else { print "{$program} is the latest version\n"; } if (is_running_secondary()) { print "Not running Update Cleanup, because this is running secondary \n"; exit; } lxfile_cp("htmllib/filecore/php.ini", "/usr/local/lxlabs/ext/php/etc/php.ini"); $res = pcntl_exec("/bin/sh", array("../bin/common/updatecleanup.sh", "--type={$type}")); print "Done......\n"; }
function __construct($readserver, $table, $force = false) { global $gbl, $sgbl, $ghtml; $name = $sgbl->__var_program_name; $this->__sqtable = $table; $this->__readserver = 'localhost'; $readserver = $this->__readserver; $fdbvar = "__fdb_{$this->__readserver}"; if (!isset($gbl->{$fdbvar}) || $force) { if (is_running_secondary()) { throw new lxexception("this_is_a_running_secondary_master", '', ""); } $user = $sgbl->__var_admin_user; $db = $sgbl->__var_dbf; $pass = getAdminDbPass(); if ($sgbl->__var_database_type === 'mysql') { $gbl->{$fdbvar} = mysql_connect($readserver, $user, $pass); mysql_select_db($db); self::$__database = 'mysql'; } else { if ($sgbl->__var_database_type === 'mssql') { //print("$user, $pass <br> \n"); //$gbl->$fdbvar = mssql_connect('\\.\pipe\MSSQL$LXLABS\sql\query'); $gbl->{$fdbvar} = mssql_pconnect("{$readserver},{$sgbl->__var_mssqlport}"); mssql_select_db($db); self::$__database = 'mssql'; } else { $gbl->{$fdbvar} = new PDO("sqlite:{$db}"); self::$__database = 'sqlite'; } } } if (!$gbl->{$fdbvar}) { print "Could not connect to Mysql server... <br> "; //rl_exec_get("localhost", "localhost", "restart_mysql", null); //sleep(8); //print("<script> window.location.reload(false); </script>"); exit; } if (!$gbl->{$fdbvar}) { die("could not Open Database Connection.... Exiting... <br> \n\n"); } }
function __construct($readserver, $table, $force = false) { global $gbl, $sgbl, $ghtml; $name = $sgbl->__var_program_name; $this->__sqtable = $table; $this->__readserver = 'localhost'; $readserver = $this->__readserver; $fdbvar = "__fdb_{$this->__readserver}"; if (!isset($gbl->{$fdbvar}) || $force) { if (is_running_secondary()) { throw new lxexception("this_is_a_running_secondary_master", '', ""); } $user = $sgbl->__var_admin_user; $db = $sgbl->__var_dbf; $pass = getAdminDbPass(); // TODO: REPLACE MYSQL_CONNECT if ($sgbl->__var_database_type === 'mysql') { $gbl->{$fdbvar} = mysqli_connect($readserver, $user, $pass, $db); if (!$gbl->{$fdbvar}) { print "\nMySQL-ERROR: Can not connect to the MySQL server at ({$readserver}): " . mysqli_connect_error() . ".\n"; exit; } mysqli_query($gbl->{$fdbvar}, "SET CHARACTER SET 'utf8'"); mysqli_query($gbl->{$fdbvar}, "SET character_set_connection= 'utf8'"); mysqli_select_db($gbl->{$fdbvar}, $db); self::$__database = 'mysql'; } else { if ($sgbl->__var_database_type === 'mssql') { $gbl->{$fdbvar} = mssql_pconnect("{$readserver},{$sgbl->__var_mssqlport}"); mssql_select_db($db); self::$__database = 'mssql'; } else { $gbl->{$fdbvar} = new PDO("sqlite:{$db}"); self::$__database = 'sqlite'; } } } }
function connect() { global $gbl, $sgbl; $fdbvar = "__fdb_{$this->__readserver}"; if (!isset($gbl->{$fdbvar}) || $this->__force) { if (is_running_secondary()) { throw new lxexception("this_is_a_running_secondary_master", '', ""); } } $user = $sgbl->__var_admin_user; $db = $sgbl->__var_dbf; $pass = getAdminDbPass(); if ($sgbl->__var_database_type === 'mysql') { $gbl->{$fdbvar} = mysql_connect($this->__readserver, $user, $pass) or dprint("Could not connect to the MySql server.\n"); mysql_select_db($db) or dprint("Could not select {$db} MySQL database.\n"); self::$__database = 'mysql'; } else { if ($sgbl->__var_database_type === 'mssql') { //print("$user, $pass <br> \n"); //$gbl->$fdbvar = mssql_connect('\\.\pipe\MSSQL$LXLABS\sql\query'); $gbl->{$fdbvar} = mssql_pconnect("{$this->__readserver},{$sgbl->__var_mssqlport}") or dprint("Could not connect to the MSSQL server.\n"); mssql_select_db($db) or dprint("Could not select {$db} MSSQL database.\n"); self::$__database = 'mssql'; } else { try { $gbl->{$fdbvar} = new PDO("sqlite:{$db}"); self::$__database = 'sqlite'; } catch (PDOException $e) { dprint("PDO Error: " . $e->getMessage() . "\n"); } } } if (!$gbl->{$fdbvar}) { die("Could not open database connection."); } }
function update_main() { global $argc, $argv; global $gbl, $sgbl, $login, $ghtml; debug_for_backend(); $prognameNice = $sgbl->__var_program_name_nice; $login = new Client(null, null, 'upgrade'); $opt = parse_opt($argv); print "Getting Version Info from the Server...\n"; print "Connecting... Please wait....\n"; if (isset($opt['till-version']) && $opt['till-version'] || lxfile_exists("__path_slave_db")) { $sgbl->slave = true; $upversion = findNextVersion($opt['till-version']); $type = 'slave'; } else { $sgbl->slave = false; $upversion = findNextVersion(); $type = 'master'; } $thisversion = $sgbl->__ver_major_minor_release; if ($upversion) { do_upgrade($upversion); print "Upgrade Done!\nStarting the Cleanup.\n"; flush(); } else { print "{$prognameNice} is the latest version ({$thisversion})\n"; print "Run 'sh /script/cleanup' if you want restore/fix possible issues.\n"; exit; } if (is_running_secondary()) { print "Not running the Update Cleanup, because this server is a secondary.\n"; exit; } // Needs to be here. So any php.ini change takes immediately effect. print "Copy Core PHP.ini\n"; lxfile_cp("htmllib/filecore/php.ini", "/usr/local/lxlabs/ext/php/etc/php.ini"); pcntl_exec("/bin/sh", array("../bin/common/updatecleanup-core.sh", "--type={$type}")); print "{$prognameNice} is Ready!\n\n"; }
function exit_if_running_secondary() { if (is_running_secondary()) { print "This is Running secondary\n"; exit; } }
function update_main() { global $argc, $argv; global $gbl, $sgbl, $login, $ghtml; log_cleanup("*** Executing Update (upcp) - BEGIN ***"); debug_for_backend(); $login = new Client(null, null, 'upgrade'); $DoUpdate = false; $opt = parse_opt($argv); log_cleanup("Kloxo Install/Update"); if (lxfile_exists("/var/cache/kloxo/kloxo-install-firsttime.flg")) { log_cleanup("- Installing Kloxo packages at the first time"); $DoUpdate = true; } else { log_cleanup("- Getting Version Info from the LxCenter download Server"); $upversion = false; if (isset($opt['till-version']) && $opt['till-version'] || lxfile_exists("__path_slave_db")) { $sgbl->slave = true; $upversion = findNextVersion($opt['till-version']); $type = 'slave'; } else { $sgbl->slave = false; $upversion = findNextVersion(); $type = 'master'; } if ($upversion) { log_cleanup("- Connecting LxCenter download server"); do_upgrade($upversion); log_cleanup("- Upgrade Done. Cleanup...."); flush(); } else { $localversion = $sgbl->__ver_major_minor_release; log_cleanup("- Kloxo is the latest version ({$localversion})"); } // Thirdparty/Webmail/AWstats checks $verWM = getVersionNumber(get_package_version("lxwebmail")); $verAW = getVersionNumber(get_package_version("lxawstats")); $ver = file_get_contents("http://download.lxcenter.org/download/thirdparty/kloxo-version.list"); $verTP = getVersionNumber($ver); if (!lxfile_exists("/var/cache/kloxo/lxwebmail{$verWM}.tar.gz")) { $retWM = true; } else { $retWM = false; } if (!lxfile_exists("/var/cache/kloxo/lxawstats{$verAW}.tar.gz")) { $retAW = true; } else { $retAW = false; } if (!lxfile_exists("/var/cache/kloxo/kloxo-thirdparty.{$verTP}.zip")) { $retTP = true; } else { $retTP = false; } installThirdparty(); installWebmail(); installAwstats(); // Run cleanups or not if ($retTP || $retWM || $retAW || $upversion) { $DoUpdate = true; } else { $DoUpdate = false; } } log_cleanup("*** Executing Update (upcp) - END ***"); if ($DoUpdate == false) { log_cleanup("Run /script/cleanup if you want to fix/restore/(re)install non-working components."); exit; } if (is_running_secondary()) { log_cleanup("Not running Update cleanup, because this is running as secondary\n"); exit; } // // Executing update/cleanup process // lxfile_cp("htmllib/filecore/php.ini", "/usr/local/lxlabs/ext/php/etc/php.ini"); $res = pcntl_exec("/bin/sh", array("../bin/common/updatecleanup.sh", "--type={$type}")); }