function Get_owncloud() { $unix = new unix(); $pidfile = "/etc/artica-postfix/pids/" . basename(__FILE__) . ".pid"; $pidtime = "/etc/artica-postfix/pids/" . basename(__FILE__) . ".time"; $pid = @file_get_contents($pidfile); $unix = new unix(); if ($unix->process_exists($pid, basename(__FILE__))) { $time = $unix->PROCCESS_TIME_MIN($pid); if ($GLOBALS["VERBOSE"]) { echo "Already executed pid {$pid} since {$time}mn\n"; } die; } $uri = download(); if ($uri == null) { return; } $curl = new ccurl($uri); $curl->NoHTTP_POST = true; $cp = $unix->find_program("cp"); $rm = $unix->find_program("rm"); progress("Downloading Owncloud package...", 25); if (!$curl->GetFile("/root/owncloud.tar.gz")) { progress("Failed download owncloud package", 110); return; } if (is_dir("/usr/share/owncloud")) { shell_exec("{$rm} -rf /usr/share/owncloud"); } @mkdir("/usr/share/owncloud", 0755, true); if (!is_dir("/usr/share/owncloud")) { progress("/usr/share/owncloud permission denied", 110); @unlink("/root/owncloud.tar.gz"); return; } $tar = $unix->find_program("tar"); progress("Extracting package...", 35); shell_exec("{$tar} xf /root/owncloud.tar.gz -C /usr/share/owncloud/"); @unlink("/root/owncloud.tar.gz"); if (is_dir("/usr/share/owncloud/owncloud")) { shell_exec("{$cp} -rf /usr/share/owncloud/owncloud/* /usr/share/owncloud/"); shell_exec("{$rm} -rf /usr/share/owncloud/owncloud"); } if (is_file("/usr/share/owncloud/settings/settings.php")) { progress("Success...", 100); $unix->Process1(true); return; } progress("Failed...", 110); }
function process1() { $unix = new unix(); $unix->Process1(true); }
function ArticaSettingsrestore() { $unix = new unix(); $tmp = $unix->FILE_TEMP(); events("restore Artica settings operations"); events("restore Artica settings operations"); $size = $unix->DIRSIZE_KO("{$_GET["PATH_RESTORE"]}/etc-artica-postfix"); events("restore Artica settingssize={$size} Ko"); if ($size == 0) { events("restore Artica settings failed, directory {$_GET["PATH_RESTORE"]}/etc-artica-postfix..."); return null; } shell_exec("/bin/cp -rf {$_GET["PATH_RESTORE"]}/etc-artica-postfix/artica-postfix/* /etc/artica-postfix/"); $unix->Process1(true); @unlink("/etc/artica-postfix/artica-postfix.pid"); @unlink("/etc/artica-postfix/mon.pid"); shell_exec("/etc/init.d/artica-postfix restart daemon"); @unlink("/etc/artica-postfix/settings/Daemons/SystemCpuNumber"); events("restore Artica settings done..."); }
function SYNC_PACKAGES() { $pidfile = "/etc/artica-postfix/pids/" . basename(__FILE__) . "." . __FUNCTION__ . ".pid"; $unix = new unix(); $aptget = $unix->find_program("apt-get"); $pid = @file_get_contents($pidfile); if ($unix->process_exists($pid)) { echo "Already exists PID {$pid}\n"; return; } @file_put_contents($pidfile, getmypid()); $time = time(); exec("/usr/share/artica-postfix/bin/setup-ubuntu --check-base-system 2>&1", $results); while (list($key, $line) = each($results)) { if (preg_match("#Use.+?apt-get autoremove.+?to remove them#")) { exec("{$aptget} autoremove -y -q 2>&1", $autoremove); } } $message_text = @implode("\n", $results); if (count($autoremove) > 0) { $message_text = $message_text . " Auto-remove task:\n" . @implode("\n", $autoremove); } $time_text = $unix->distanceOfTimeInWords($time, time(), true); $unix->send_email_events("Synchronize paquages done ({$time_text})", @implode("\n", $message_text), "system"); shell_exec('/bin/rm -f /usr/share/artica-postfix/ressources/logs/cache/*'); shell_exec('/bin/rm -f /usr/share/artica-postfix/ressources/logs/jGrowl-new-versions.txt'); shell_exec('/bin/rm -f /etc/artica-postfix/versions.cache'); shell_exec('/bin/rm -f /usr/share/artica-postfix/ressources/logs/global.versions.conf'); shell_exec('/usr/share/artica-postfix/bin/artica-install --write-versions'); $unix->Process1(true); shell_exec('/etc/init.d/artica-status reload &'); shell_exec('/etc/init.d/artica-postfix restart artica-exec &'); shell_exec('rm -rf /usr/share/artica-postfix/ressources/web/logs/*.cache'); }
function APPLY_SOFT() { $filename = "/usr/share/artica-postfix/ressources/conf/upload/{$_GET["apply-soft"]}"; if (!is_file($filename)) { echo "<articadatascgi>" . base64_encode(serialize(array("{$filename} no such file"))) . "</articadatascgi>"; return; } $unix = new unix(); $nohup = $unix->find_program("nohup"); $tar = $unix->find_program("tar"); $results[] = "Copy to {$filename} to /root "; @copy($filename, "/root/" . basename($filename)); @unlink($filename); chdir("/root"); exec("{$tar} -xvf /root/" . basename($filename) . " -C / 2>&1", $results); $results[] = "Done..."; if (preg_match("#^nginx-#", $filename)) { $results[] = "Ask to restarting nginx"; shell_exec("{$nohup} /etc/init.d/nginx restart >/dev/null 2>&1 &"); } @unlink($filename); echo "<articadatascgi>" . base64_encode(serialize($results)) . "</articadatascgi>"; shell_exec("{$nohup} /etc/init.d/artica-status reload >/dev/null 2>&1 &"); shell_exec("{$nohup} /etc/init.d/monit restart >/dev/null 2>&1 &"); $unix->Process1(true); }
function CheckSettingsInc() { $unix = new unix(); $unix->Process1(); }
function register_lic() { ini_set('html_errors', 0); ini_set('display_errors', 1); ini_set('error_reporting', E_ALL); $sock = new sockets(); $unix = new unix(); $ini = new Bs_IniHandler(); $function_ghost = base64_decode("Y2hlY2tsaWNlbnNlLmJpbg=="); $error1 = base64_decode("e2dlbmVyaWNfaHR0cF9lcnJvcn0="); $textGhost = base64_decode("Q29ycG9yYXRlIExpY2Vuc2UgZXhwaXJlZCAtIHJldHVybiBiYWNrIHRvIENvbW11bml0eSBsaWNlbnNl"); $verifailed = base64_decode("Q29ycG9yYXRlIExpY2Vuc2UgZXhwaXJlZCAtIHJldHVybiBiYWNrIHRvIENvbW11bml0eSBsaWNlbnNl"); $licexpir = base64_decode("e2xpY2Vuc2VfZXhwaXJlZH0="); $line_ghost = base64_decode("MTA4NDM="); $datas = $sock->GET_INFO("ArticaProxySettings"); $squidbin = $unix->LOCATE_SQUID_BIN(); $php = $unix->LOCATE_PHP5_BIN(); $ArticaProxyServerEnabled = null; if (trim($datas) != null) { $ini->loadString($datas); $ArticaProxyServerEnabled = $ini->_params["PROXY"]["ArticaProxyServerEnabled"]; if ($ArticaProxyServerEnabled == 1) { $ArticaProxyServerEnabled == "yes"; } } echo "Use a Proxy server: {$ArticaProxyServerEnabled}\n"; $WORKDIR = base64_decode("L3Vzci9sb2NhbC9zaGFyZS9hcnRpY2E="); $WORKFILE = base64_decode('LmxpYw=='); $WORKPATH = "{$WORKDIR}/{$WORKFILE}"; $nohup = $unix->find_program("nohup"); if ($GLOBALS["VERBOSE"]) { echo __FUNCTION__ . "::" . __LINE__ . "\n"; } $pidfile = "/etc/artica-postfix/pids/" . basename(__FILE__) . "." . __FUNCTION__ . ".pid"; $cachetime = "/etc/artica-postfix/pids/" . basename(__FILE__) . "." . __FUNCTION__ . ".time"; $pid = @file_get_contents($pidfile); if ($unix->process_exists($pid)) { build_progress("License information: Already executed PID:{$pid}, die()", 100); die; } build_progress("Building informations...", 10); $EnableRemoteStatisticsAppliance = $sock->GET_INFO("EnableRemoteStatisticsAppliance"); if (!is_numeric($EnableRemoteStatisticsAppliance)) { $EnableRemoteStatisticsAppliance = 0; } $cmdADD = null; if ($EnableRemoteStatisticsAppliance == 1) { $cmdADD = "{$nohup} " . $unix->LOCATE_PHP5_BIN() . " " . dirname(__FILE__) . "/exec.netagent.php >/dev/null 2>&1 &"; } $WizardSavedSettings = unserialize(base64_decode($sock->GET_INFO("WizardSavedSettings"))); if ($GLOBALS["VERBOSE"]) { echo __FUNCTION__ . "::" . __LINE__ . "\n"; } $LicenseInfos = unserialize(base64_decode($sock->GET_INFO("LicenseInfos"))); if (!isset($LicenseInfos["COMPANY"])) { $LicenseInfos["COMPANY"] = null; } if (!isset($LicenseInfos["GoldKey"])) { $LicenseInfos["GoldKey"] = null; } if (!isset($LicenseInfos["REGISTER"])) { $LicenseInfos["REGISTER"] = null; } if (!isset($LicenseInfos["GoldKey"])) { $LicenseInfos["GoldKey"] = null; } if (!isset($WizardSavedSettings["GoldKey"])) { $WizardSavedSettings["GoldKey"] = null; } $LicenseInfos["STATS_APPLIANCE"] = 0; $LicenseInfos["COMPANY"] = str_replace("%uFFFD", "é", $LicenseInfos["COMPANY"]); if ($WizardSavedSettings["GoldKey"] != null) { if ($sock->IsGoldKey($WizardSavedSettings["GoldKey"])) { if ($LicenseInfos["GoldKey"] == null) { echo "Gold Key: {$WizardSavedSettings["GoldKey"]}\n"; $LicenseInfos["GoldKey"] = $WizardSavedSettings["GoldKey"]; } } } build_progress("Check information {$LicenseInfos["COMPANY"]}", 20); if ($GLOBALS["VERBOSE"]) { echo __FUNCTION__ . "::" . __LINE__ . "\n"; } $uuid = $unix->GetUniqueID(); build_progress("Check information {$uuid}", 30); echo " *************** \n\n UUID : {$uuid} \n\n ***************\n"; if ($uuid == null) { build_progress("No system ID !", 110); return; } if (!is_numeric($LicenseInfos["REGISTER"])) { echo "License information: server is not registered\n"; } if ($LicenseInfos["REGISTER"] != 1) { echo "License information: server is not registered\n"; register(); build_progress("License information: server is not registered", 110); echo "Please, restart again..."; die; } $LicenseInfos["UUID"] = $uuid; $LicenseInfos["ARTICAVERSION"] = @file_get_contents("/usr/share/artica-postfix/VERSION"); if (is_file("/etc/artica-postfix/STATS_APPLIANCE")) { $LicenseInfos["STATS_APPLIANCE"] = 1; } //if($GLOBALS["VERBOSE"]){$curl->parms["VERBOSE"]="yes";} if ($GLOBALS["VERBOSE"]) { echo __FUNCTION__ . "::" . __LINE__ . "\n"; } if (!isset($LicenseInfos["license_number"])) { $LicenseInfos["license_number"] = null; } if ($LicenseInfos["license_number"] == "--") { $LicenseInfos["license_number"] = null; } if (strpos($LicenseInfos["license_number"], "(") > 0) { $LicenseInfos["license_number"] = null; } echo "License number:{$LicenseInfos["license_number"]}\n"; @mkdir($WORKDIR, 640, true); if (isset($LicenseInfos["UNLOCKLIC"])) { if (strlen($LicenseInfos["UNLOCKLIC"]) > 4) { if (isset($LicenseInfos["license_number"])) { if (strlen($LicenseInfos["license_number"]) > 4) { $manulic = aef00vh567($uuid) . "-" . aef00vh567($LicenseInfos["license_number"]); if ($manulic == $LicenseInfos["UNLOCKLIC"]) { @file_put_contents($WORKPATH, "TRUE"); $LicenseInfos["license_status"] = "{license_active}"; $LicenseInfos["TIME"] = time(); $sock->SaveConfigFile(base64_encode(serialize($LicenseInfos)), "LicenseInfos"); if ($cmdADD != null) { shell_exec($cmdADD); } build_progress("{license_active}", 80); CheckLic($LicenseInfos, $WizardSavedSettings); return; } } } } } $unix = new unix(); $URIBASE = $unix->MAIN_URI(); $URIBASE = str_replace("articatech.net", "artica.fr", $URIBASE); $verbosed = "?VERBOSE=yes&time=" . time(); build_progress("Checking license on the cloud server...", 40); echo "Contacting {$URIBASE}\n"; $curl = new ccurl("{$URIBASE}/shalla-orders.php", false, null); if ($ArticaProxyServerEnabled != "yes") { echo "* * * Set to not use Local proxy * * *\n"; $curl->NoLocalProxy(); } if ($GLOBALS["VERBOSE"]) { $curl->parms["VERBOSE"] = yes; } $curl->parms["REGISTER-LIC"] = base64_encode(serialize($LicenseInfos)); $curl->parms["REGISTER-OLD"] = base64_encode(serialize($WizardSavedSettings)); echo "Send request... please wait...\n"; if (!$curl->get()) { build_progress("Failed to contact cloud server", 110); echo "Error: " . $curl->error . "\n"; echo @implode("\n", $curl->errors); $LicenseInfos["TIME"] = time(); $LicenseInfos["license_status"] = "{registration_failed} {$curl->error}"; $sock->SaveConfigFile(base64_encode(serialize($LicenseInfos)), "LicenseInfos"); if (!is_file("/etc/artica-postfix/REGISTRATION_FAILED_TIME")) { @file_put_contents("/etc/artica-postfix/REGISTRATION_FAILED_TIME", time()); $sock->SaveConfigFile(base64_encode(serialize($LicenseInfos)), "LicenseInfos"); return; } $LastTime = intval(@file_get_contents("/etc/artica-postfix/REGISTRATION_FAILED_TIME")); if ($LastTime == 0) { @file_put_contents("/etc/artica-postfix/REGISTRATION_FAILED_TIME", time()); $sock->SaveConfigFile(base64_encode(serialize($LicenseInfos)), "LicenseInfos"); return; } $TimeMin = $unix->time_min($LastTime); if ($TimeMin > 10080) { if (is_file($WORKPATH)) { @unlink($WORKPATH); squid_admin_mysql(0, base64_decode("Q2Fubm90IGNvbnRhY3QgY2xvdWQgc2VydmVyIHNpbmNlIDcgZGF5cywgdHVybiB0byBDb21tdW5pdHkgRWRpdGlvbg=="), $function_ghost, $line_ghost); $LicenseInfos["license_status"] = $error1; $LicenseInfos["license_number"] = ""; $LicenseInfos["TIME"] = time(); $sock->SaveConfigFile(base64_encode(serialize($LicenseInfos)), "LicenseInfos"); shell_exec("/usr/share/artica-postfix/bin/process1 --force --verbose " . time() . " >/dev/null 2>&1"); } } return; } @file_put_contents("/etc/artica-postfix/REGISTRATION_FAILED_TIME", 0); echo "OK....\n"; build_progress("{checkiccloud1}", 50); //if($GLOBALS["VERBOSE"]){echo "***** $curl->data ****\n";} $finaltime = 0; if (preg_match("#<FINALTIME>([0-9]+)</FINALTIME>#s", $curl->data, $re)) { $finaltime = $re[1]; } if ($finaltime > 0) { if (time() > $finaltime) { if (is_file($WORKPATH)) { @unlink($WORKPATH); build_progress($verifailed, 110); $array1["license_status"] = $licexpir; $array1["license_number"] = null; $array1["UNLOCKLIC"] = null; $array1["TIME"] = time(); if ($finaltime > 0) { $LicenseInfos["FINAL_TIME"] = $finaltime; } $sock->SaveConfigFile(base64_encode(serialize($LicenseInfos)), "LicenseInfos"); squid_admin_mysql(0, $textGhost, null, $function_ghost, $line_ghost); shell_exec("/usr/share/artica-postfix/bin/process1 --force --verbose"); if (is_file($squidbin)) { shell_exec("{$php} /usr/share/artica-postfix/exec.squid.php --build"); shell_exec("{$php} /usr/share/artica-postfix/exec.kerbauth.php --disconnect"); shell_exec("/etc/init.d/squid restart {$GLOBALS["SCRIPT_SUFFIX"]}"); } $sock->SaveConfigFile(base64_encode(serialize($array1)), "LicenseInfos"); } return; } } if (preg_match("#<BADMAIL>(0|1)</BADMAIL>#s", $curl->data, $re)) { echo "***** EMAIL *****\n"; $sock->SET_INFO("RegisterCloudBadEmail", $re[1]); } if (preg_match("#REGISTRATION_OK:\\[(.+?)\\]#s", $curl->data, $re)) { build_progress("{waiting_approval} {success}", 100); $LicenseInfos["license_status"] = "{waiting_approval}"; $LicenseInfos["license_number"] = $re[1]; $LicenseInfos["TIME"] = time(); if ($finaltime > 0) { $LicenseInfos["FINAL_TIME"] = $finaltime; } $sock->SaveConfigFile(base64_encode(serialize($LicenseInfos)), "LicenseInfos"); @unlink($WORKPATH); if ($cmdADD != null) { shell_exec($cmdADD); } shell_exec("/usr/share/artica-postfix/bin/process1 --force --verbose " . time() . " >/dev/null 2>&1"); return; } if (preg_match("#LICENSE_OK:\\[(.+?)\\]#s", $curl->data, $re)) { echo "***** LICENSE_OK ****\n"; @file_put_contents($WORKPATH, "TRUE"); if ($finaltime > 0) { $LicenseInfos["FINAL_TIME"] = $finaltime; } $LicenseInfos["license_status"] = "{license_active}"; $LicenseInfos["TIME"] = time(); $sock->SaveConfigFile(base64_encode(serialize($LicenseInfos)), "LicenseInfos"); if ($cmdADD != null) { shell_exec($cmdADD); } build_progress("{license_active} {refresh}", 100); system("/usr/share/artica-postfix/bin/process1 --force --verbose --" . time()); build_progress("{license_active} {success}", 100); return; } if (preg_match("#REGISTRATION_INVALID#s", $curl->data, $re)) { @unlink($WORKPATH); echo "***** REGISTRATION_INVALID ****\n"; $LicenseInfos["license_status"] = "{community_license}"; $LicenseInfos["license_number"] = null; $LicenseInfos["UNLOCKLIC"] = null; $LicenseInfos["TIME"] = time(); if ($finaltime > 0) { $LicenseInfos["FINAL_TIME"] = $finaltime; } build_progress("Community Edition - limited...", 100); $sock->SaveConfigFile(base64_encode(serialize($LicenseInfos)), "LicenseInfos"); if ($cmdADD != null) { shell_exec($cmdADD); } $unix->Process1(true); return; } if (preg_match("#REGISTRATION_DELETE_NOW#s", $curl->data, $re)) { echo "***** REGISTRATION_DELETE_NOW ****\n"; @unlink($WORKPATH); $LicenseInfos["license_status"] = "Community Edition - limited"; $LicenseInfos["license_number"] = null; $LicenseInfos["UNLOCKLIC"] = null; $LicenseInfos["TIME"] = time(); if ($finaltime > 0) { $LicenseInfos["FINAL_TIME"] = $finaltime; } $unix->Process1(true); $sock->SaveConfigFile(base64_encode(serialize($LicenseInfos)), "LicenseInfos"); shell_exec("/usr/share/artica-postfix/bin/process1 --force --verbose " . time() . " >/dev/null 2>&1"); build_progress("Community Edition - limited", 110); return; } if ($curl->error != null) { system_admin_events("License registration failed with error {$curl->error}", "GetLicense", "license", 0, "license"); } build_progress("Unknown registration?", 110); if (!is_file($WORKPATH)) { build_progress("{waiting_order}", 110); echo "***** Registration_failed ****\n"; $LicenseInfos["TIME"] = time(); if ($LicenseInfos["license_number"] == null) { $LicenseInfos["license_status"] = "{registration_failed} {$curl->error}"; } $sock->SaveConfigFile(base64_encode(serialize($LicenseInfos)), "LicenseInfos"); } if ($cmdADD != null) { shell_exec($cmdADD); } }
function register_lic() { ini_set('html_errors', 0); ini_set('display_errors', 1); ini_set('error_reporting', E_ALL); $sock = new sockets(); $unix = new unix(); $WORKDIR = base64_decode("L3Vzci9sb2NhbC9zaGFyZS9hcnRpY2E="); $WORKFILE = base64_decode('LmxpYw=='); $WORKPATH = "{$WORKDIR}/{$WORKFILE}"; $nohup = $unix->find_program("nohup"); if ($GLOBALS["VERBOSE"]) { echo __FUNCTION__ . "::" . __LINE__ . "\n"; } $pidfile = "/etc/artica-postfix/pids/" . basename(__FILE__) . "." . __FUNCTION__ . ".pid"; $cachetime = "/etc/artica-postfix/pids/" . basename(__FILE__) . "." . __FUNCTION__ . ".time"; $pid = @file_get_contents($pidfile); if ($unix->process_exists($pid)) { build_progress("License information: Already executed PID:{$pid}, die()", 100); die; } build_progress("Building informations...", 10); $EnableRemoteStatisticsAppliance = $sock->GET_INFO("EnableRemoteStatisticsAppliance"); if (!is_numeric($EnableRemoteStatisticsAppliance)) { $EnableRemoteStatisticsAppliance = 0; } $cmdADD = null; if ($EnableRemoteStatisticsAppliance == 1) { $cmdADD = "{$nohup} " . $unix->LOCATE_PHP5_BIN() . " " . dirname(__FILE__) . "/exec.netagent.php >/dev/null 2>&1 &"; } $WizardSavedSettings = unserialize(base64_decode($sock->GET_INFO("WizardSavedSettings"))); if ($GLOBALS["VERBOSE"]) { echo __FUNCTION__ . "::" . __LINE__ . "\n"; } $LicenseInfos = unserialize(base64_decode($sock->GET_INFO("LicenseInfos"))); if (!isset($LicenseInfos["GoldKey"])) { $LicenseInfos["GoldKey"] = null; } $LicenseInfos["COMPANY"] = str_replace("%uFFFD", "é", $LicenseInfos["COMPANY"]); if ($WizardSavedSettings["GoldKey"] != null) { if ($sock->IsGoldKey($WizardSavedSettings["GoldKey"])) { if ($LicenseInfos["GoldKey"] == null) { echo "Gold Key: {$WizardSavedSettings["GoldKey"]}\n"; $LicenseInfos["GoldKey"] = $WizardSavedSettings["GoldKey"]; } } } build_progress("Check information {$LicenseInfos["COMPANY"]}", 20); if ($GLOBALS["VERBOSE"]) { echo __FUNCTION__ . "::" . __LINE__ . "\n"; } $uuid = $unix->GetUniqueID(); build_progress("Check information {$uuid}", 30); echo " *************** \n\n UUID : {$uuid} \n\n ***************\n"; if ($uuid == null) { build_progress("No system ID !", 110); return; } if (!is_numeric($LicenseInfos["REGISTER"])) { echo "License information: server is not registered\n"; } if ($LicenseInfos["REGISTER"] != 1) { echo "License information: server is not registered\n"; build_progress("License information: server is not registered", 110); die; } $LicenseInfos["UUID"] = $uuid; //if($GLOBALS["VERBOSE"]){$curl->parms["VERBOSE"]="yes";} if ($GLOBALS["VERBOSE"]) { echo __FUNCTION__ . "::" . __LINE__ . "\n"; } if (!isset($LicenseInfos["license_number"])) { $LicenseInfos["license_number"] = null; } if ($LicenseInfos["license_number"] == "--") { $LicenseInfos["license_number"] = null; } if (strpos($LicenseInfos["license_number"], "(") > 0) { $LicenseInfos["license_number"] = null; } echo "License number:{$LicenseInfos["license_number"]}\n"; @mkdir($WORKDIR, 640, true); if (isset($LicenseInfos["UNLOCKLIC"])) { if (strlen($LicenseInfos["UNLOCKLIC"]) > 4) { if (isset($LicenseInfos["license_number"])) { if (strlen($LicenseInfos["license_number"]) > 4) { $manulic = aef00vh567($uuid) . "-" . aef00vh567($LicenseInfos["license_number"]); if ($manulic == $LicenseInfos["UNLOCKLIC"]) { @file_put_contents($WORKPATH, "TRUE"); $LicenseInfos["license_status"] = "{license_active}"; $LicenseInfos["TIME"] = time(); $sock->SaveConfigFile(base64_encode(serialize($LicenseInfos)), "LicenseInfos"); if ($cmdADD != null) { shell_exec($cmdADD); } build_progress("{license_active}", 80); CheckLic($LicenseInfos, $WizardSavedSettings); return; } } } } } $unix = new unix(); $URIBASE = $unix->MAIN_URI(); $URIBASE = str_replace("articatech.net", "artica.fr", $URIBASE); $verbosed = "?VERBOSE=yes&time=" . time(); build_progress("Checking license on the cloud server...", 40); echo "Contacting {$URIBASE}\n"; $curl = new ccurl("{$URIBASE}/shalla-orders.php", false, null, true); echo "Set to not use Local proxy\n"; $curl->NoLocalProxy(); if ($GLOBALS["VERBOSE"]) { $curl->parms["VERBOSE"] = yes; } $curl->parms["REGISTER-LIC"] = base64_encode(serialize($LicenseInfos)); $curl->parms["REGISTER-OLD"] = base64_encode(serialize($WizardSavedSettings)); echo "Send request... please wait...\n"; if (!$curl->get()) { build_progress("Failed to contact cloud server", 110); echo "Error: " . $curl->error . "\n"; echo @implode("\n", $curl->errors); $LicenseInfos["TIME"] = time(); $LicenseInfos["license_status"] = "{registration_failed} {$curl->error}"; $sock->SaveConfigFile(base64_encode(serialize($LicenseInfos)), "LicenseInfos"); return; } echo "Request passed\n"; build_progress("Cheking license on the cloud server done.", 50); if ($GLOBALS["VERBOSE"]) { echo "***** {$curl->data} ****\n"; } if (preg_match("#REGISTRATION_OK:\\[(.+?)\\]#s", $curl->data, $re)) { build_progress("{waiting_approval} {success}", 100); $LicenseInfos["license_status"] = "{waiting_approval}"; $LicenseInfos["license_number"] = $re[1]; $LicenseInfos["TIME"] = time(); $sock->SaveConfigFile(base64_encode(serialize($LicenseInfos)), "LicenseInfos"); @unlink($WORKPATH); if ($cmdADD != null) { shell_exec($cmdADD); } shell_exec("/usr/share/artica-postfix/bin/process1 --force --verbose " . time() . " >/dev/null 2>&1"); return; } if (preg_match("#LICENSE_OK:\\[(.+?)\\]#s", $curl->data, $re)) { echo "***** LICENSE_OK ****\n"; @file_put_contents($WORKPATH, "TRUE"); $LicenseInfos["license_status"] = "{license_active}"; $LicenseInfos["TIME"] = time(); $sock->SaveConfigFile(base64_encode(serialize($LicenseInfos)), "LicenseInfos"); if ($cmdADD != null) { shell_exec($cmdADD); } build_progress("{license_active} {refresh}", 100); system("/usr/share/artica-postfix/bin/process1 --force --verbose --" . time()); build_progress("{license_active} {success}", 100); return; } if (preg_match("#REGISTRATION_INVALID#s", $curl->data, $re)) { @unlink($WORKPATH); echo "***** REGISTRATION_INVALID ****\n"; $LicenseInfos["license_status"] = "{community_license}"; $LicenseInfos["license_number"] = null; $LicenseInfos["UNLOCKLIC"] = null; $LicenseInfos["TIME"] = time(); build_progress("Community Edition - limited...", 100); $sock->SaveConfigFile(base64_encode(serialize($LicenseInfos)), "LicenseInfos"); if ($cmdADD != null) { shell_exec($cmdADD); } $unix->Process1(true); return; } if (preg_match("#REGISTRATION_DELETE_NOW#s", $curl->data, $re)) { echo "***** REGISTRATION_DELETE_NOW ****\n"; @unlink($WORKPATH); $LicenseInfos["license_status"] = "Community Edition - limited"; $LicenseInfos["license_number"] = null; $LicenseInfos["UNLOCKLIC"] = null; $LicenseInfos["TIME"] = time(); $unix->Process1(true); $sock->SaveConfigFile(base64_encode(serialize($LicenseInfos)), "LicenseInfos"); shell_exec("/usr/share/artica-postfix/bin/process1 --force --verbose " . time() . " >/dev/null 2>&1"); build_progress("Community Edition - limited", 110); return; } if ($curl->error != null) { system_admin_events("License registration failed with error {$curl->error}", "GetLicense", "license", 0, "license"); } build_progress("Unknown registration?", 110); if (!is_file($WORKPATH)) { build_progress("{registration_failed} {failed}", 110); echo "***** Registration_failed ****\n"; $LicenseInfos["TIME"] = time(); if ($LicenseInfos["license_number"] == null) { $LicenseInfos["license_status"] = "{registration_failed} {$curl->error}"; } $sock->SaveConfigFile(base64_encode(serialize($LicenseInfos)), "LicenseInfos"); } if ($cmdADD != null) { shell_exec($cmdADD); } }