/** * Checks latest version data * * @return stdClass {version, date, } */ public static function check($force = false) { $upgrade = Wpjb_Project::getInstance()->conf("upgrade"); if (time() - $upgrade->lastcheck < self::CHECK && !$force) { return $upgrade; } $id = Wpjb_Utility_Seal::id(); $ck = Wpjb_Utility_Seal::checksum(); $version = Wpjb_Project::getInstance()->conf("version"); $url = self::URL . "release/id/" . $id . "/checksum/" . $ck; if (!function_exists("curl_init")) { return new stdClass(); } $json = json_decode(self::_download($url)); if (isset($json->error)) { // fail silently return new stdClass(); } if (!is_array($json)) { // fail silently return new stdClass(); } $available = array(); $key = null; foreach ($json as $k => $ver) { if (version_compare($ver->version, $version) == 1) { $version = $ver->version; $key = $k; } } if ($key !== null) { $available = $json[$key]; } $upgrade = new stdClass(); $upgrade->lastcheck = time(); $upgrade->available = $available; $instance = Wpjb_Project::getInstance(); $instance->setConfigParam("upgrade", $upgrade); $instance->saveConfig(); return $upgrade; }