/** * 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; }
/** * 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; }