/**
  *	Init Now
  *
  *	@return	void
  */
 public static function initNow()
 {
     require_once CTM_ROOT_PATH . "cache/server_cache/db_php/core_sources/installation_info.php";
     $_SERVER['REQUEST_URI'] = str_replace("&ajaxLoadSet", "/&ajaxLoadSet", CTM_URLEngine::URIString());
     CTM_Controller::PHPErrors();
     CTM_LoadTime::startTime();
     date_default_timezone_set("America/Sao_Paulo");
     if ($installation['is_installed'] == false) {
         if (CTM_ROOT_AREA == "admin") {
             header("Location: " . CTM_URLEngine::URLBase() . "installer/?app=install");
             exit;
         } else {
             CTM_Error::kernelError("The board is not installed");
         }
     } elseif (EW_THIS_VERSION > str_pad($installation['current_version'], 5, 0, STR_PAD_RIGHT)) {
         if (CTM_ROOT_AREA == "admin") {
             header("Location: " . CTM_URLEngine::URLBase() . "installer/?app=upgrade");
             exit;
         } else {
             CTM_Error::kernelError("The board is in update process");
         }
     }
     CTM_Cookies::$cookiePath = COOKIE_PATH;
     CTM_Cookies::$cookieDomain = COOKIE_DOMAIN;
     CTM_Registry::init();
     CTM_Command::instance()->registry();
     CTM_Registry::fetchDriver()->settings['mssql']['hostname'] = MSSQL_HOSTNAME;
     CTM_Registry::fetchDriver()->settings['mssql']['hostport'] = MSSQL_HOSTPORT;
     CTM_Registry::fetchDriver()->settings['mssql']['username'] = MSSQL_USERNAME;
     CTM_Registry::fetchDriver()->settings['mssql']['password'] = MSSQL_PASSWORD;
     CTM_Registry::fetchDriver()->settings['mssql']['database'] = CTMEW_CORE;
     CTM_Registry::fetchDriver()->settings['mssql']['persistent'] = MSSQL_PERSISTENT;
     CTM_Registry::fetchDriver()->settings['mssql']['debug'] = in_array("mssql", explode(",", CTM_SQL_DEBUG_MODE));
     CTM_Registry::fetchDriver()->settings['mssql']['log_folder'] = "MSSQL";
     CTM_Registry::fetchDriver()->Connect("mssql");
     if (CTM_Command::instance()->settings['CRONJOB']['ENABLE'] == TRUE) {
         $CronJob = new CronJob();
         $CronJob->Start(CTM_Command::instance()->settings['CRONJOB']['DEBUG']);
         $CronJob->RunAllTasks();
         $CronJob->Finish();
     }
     Authentication::init();
     CTM_Controller::Setup();
     CTM_Dashboard::init();
     CTM_Registry::setSetup("application", CTM_Dashboard::$application);
     if (CTM_ROOT_AREA == "public") {
         print self::GetContent();
         print "\r\n<!-- Effect Web " . EW_PUBLIC_VERSION . " / Powered by Erick-Master & Litlle / (c) 2012 -->";
     } else {
         CTM_ACPBoard::init(ACP_LOAD_MODULE);
     }
     exit;
 }
 public function runTask()
 {
     //------------------------------------------
     // Well... gerate the rankings, right?
     //------------------------------------------
     $time = CTM_LoadTime::startTime();
     $this->time = time();
     $this->loadWrite("Starting the procedure...");
     //------------------------------------------
     // Resets General
     //------------------------------------------
     $this->loadWrite("Updating: Resets General");
     $this->loadSetCharRanking("RESETS", $this->settings['WEBCACHE']['RANKINGS']['LIMIT'], COLUMN_RESET);
     //------------------------------------------
     // Resets Daily
     //------------------------------------------
     $this->loadWrite("Updating: Resets Daily");
     $this->loadSetCharRanking("RDAILY", $this->settings['WEBCACHE']['RANKINGS']['LIMIT'], COLUMN_RDAILY);
     //------------------------------------------
     // Resets Week
     //------------------------------------------
     $this->loadWrite("Updating: Resets Weekly");
     $this->loadSetCharRanking("RWEEKLY", $this->settings['WEBCACHE']['RANKINGS']['LIMIT'], COLUMN_RWEEKLY);
     //------------------------------------------
     // Resets Month
     //------------------------------------------
     $this->loadWrite("Updating: Resets Monthly");
     $this->loadSetCharRanking("RMONTHLY", $this->settings['WEBCACHE']['RANKINGS']['LIMIT'], COLUMN_RMONTHLY);
     //------------------------------------------
     // Master Resets
     //------------------------------------------
     $this->loadWrite("Updating: Master Resets");
     $this->loadSetCharRanking("MRESETS", $this->settings['WEBCACHE']['RANKINGS']['LIMIT'], COLUMN_MRESET);
     //------------------------------------------
     // Master Resets Daily
     //------------------------------------------
     $this->loadWrite("Updating: Master Resets Daily");
     $this->loadSetCharRanking("MRDAILY", $this->settings['WEBCACHE']['RANKINGS']['LIMIT'], COLUMN_MRDAILY);
     //------------------------------------------
     // Master Resets Week
     //------------------------------------------
     $this->loadWrite("Updating: Master Resets Weekly");
     $this->loadSetCharRanking("MRWEEKLY", $this->settings['WEBCACHE']['RANKINGS']['LIMIT'], COLUMN_MRWEEKLY);
     //------------------------------------------
     // Master Resets Month
     //------------------------------------------
     $this->loadWrite("Updating: Master Resets Monthly");
     $this->loadSetCharRanking("MRMONTHLY", $this->settings['WEBCACHE']['RANKINGS']['LIMIT'], COLUMN_MRMONTHLY);
     //------------------------------------------
     // Level
     //------------------------------------------
     $this->loadWrite("Updating: Level");
     $this->loadSetCharRanking("LEVEL", $this->settings['WEBCACHE']['RANKINGS']['LIMIT'], "cLevel");
     //------------------------------------------
     // Master Level
     // If MUSERVER_VERSION >= 4 (xD)
     //------------------------------------------
     if (MUSERVER_VERSION >= 4) {
         $ML = $this->functions->GetMasterLevelData();
         $db['TABLE'] = $ML['DATA']['TABLE'];
         $db['COLUMN_NAME'] = $ML['DATA']['NAME'];
         $this->loadWrite("Updating: Master Level");
         $this->loadSetCharRanking("MASTER_LEVEL", $this->settings['WEBCACHE']['RANKINGS']['LIMIT'], $ML['DATA']['LEVEL'], $db);
     }
     //------------------------------------------
     // Pk Kills
     //------------------------------------------
     $this->loadWrite("Updating: Pk Kills");
     $this->loadSetCharRanking("PK_KILLS", $this->settings['WEBCACHE']['RANKINGS']['LIMIT'], COLUMN_PKCOUNT);
     //------------------------------------------
     // Hero Kills
     //------------------------------------------
     $this->loadWrite("Updating: Hero Kills");
     $this->loadSetCharRanking("HERO_KILLS", $this->settings['WEBCACHE']['RANKINGS']['LIMIT'], COLUMN_HEROCOUNT);
     //------------------------------------------
     // Guild Score
     //------------------------------------------
     $this->loadWrite("Updating: Guild Score");
     $this->loadSetGuildRanking("GUILD_SCORE", $this->settings['WEBCACHE']['RANKINGS']['LIMIT'], "G_Score");
     //------------------------------------------
     // That's it
     //------------------------------------------
     $this->loadWrite("Updating XML Cache");
     if ($fp = fopen(CTM_CACHE_PATH . "server_cache/db_xml/mu_rankings.xml", "wb")) {
         fwrite($fp, $this->loadCacheXML());
         fclose($fp);
         $this->loadWrite("Finished! Updated " . $this->count . " results in " . CTM_LoadTime::resultTime($time) . " seconds");
         $this->loadWrite("Next Update: " . date("d/m/Y - H:i:s", strtotime("+ " . $this->settings['WEBCACHE']['RANKINGS']['MINUTES'] . " minutes")));
     } else {
         //------------------------------------------
         // Failed?
         //------------------------------------------
         $this->loadWrite("Failure to update the XML Cache");
         return $this->setTaskResult($this->taskKey, "ERROR");
     }
     //------------------------------------------
     // End?
     //------------------------------------------
     $this->setTaskOptions($this->taskKey, array(0, 0, 0, 0, $this->settings['WEBCACHE']['RANKINGS']['MINUTES']));
     #this->setTaskOptions($this->taskKey, array(Days, Weeks, Months, Hours, Minutes));
     return NULL;
 }
Beispiel #3
0
 /**
  *	Private: Execute Task
  *	Execute the CronTask
  *
  *	@param	string	Task key
  *	@param	string	Task file name
  *	@return	void
  */
 private function loadExecuteTask($taskKey, $TaskFile)
 {
     $time = CTM_LoadTime::startTime();
     $scriptSource = file_get_contents(CTM_ROOT_PATH . "modules/tasks/" . $TaskFile . ".task.php");
     $dataSource = trim($scriptSource);
     $endSource = substr($dataSource, strlen($dataSource) - 2) == "?>" ? "<?" : NULL;
     if (substr($dataSource, 0, 2) == "<?") {
         require_once CTM_ROOT_PATH . "modules/tasks/" . $TaskFile . ".task.php";
     } else {
         @eval($scriptSource . $endSource);
     }
     $className = "TaskClass_";
     $className .= strtoupper(substr($TaskFile, 0, 1));
     $className .= substr($TaskFile, 1);
     if (class_exists($className)) {
         $LoadTaskClass = new $className($taskKey);
         $LoadTaskClass->registry();
         $LoadTaskClass->SetDB();
         $LoadTaskClass->runTask();
     } else {
         $taskResult = "error";
     }
     if ($scriptError) {
         $taskResult = "error";
     } elseif (self::$tasks[$taskKey]['result']) {
         $taskResult = self::$tasks[$taskKey]['result'];
     } else {
         $taskResult = "success";
     }
     self::$tasks[$taskKey]['result'] = $taskResult;
     self::$tasks[$taskKey]['time'] = CTM_LoadTime::resultTime($time);
     return NULL;
 }