Beispiel #1
0
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";
}
Beispiel #2
0
 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");
     }
 }
Beispiel #3
0
 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';
             }
         }
     }
 }
Beispiel #4
0
 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.");
     }
 }
Beispiel #5
0
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";
}
Beispiel #6
0
function exit_if_running_secondary()
{
    if (is_running_secondary()) {
        print "This is Running secondary\n";
        exit;
    }
}
Beispiel #7
0
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}"));
}