$current_version, 'latest' => '0.0', 'checked' => 0, 'url' => ''); file_put_contents($cache_file, serialize($version)); } else { // Get update information $version = unserialize(file_get_contents($cache_file)); } // TODO: Remove in a future version if(!isset($version['current'])) $version['current'] = "1.5.1"; // Update check, every week if($version['checked'] < time() - 604800) { $response = do_curl_request( 'https://api.github.com/repos/adegans/goosle/releases/latest', // (string) Where? array('Accept: application/json, */*;q=0.7', 'User-Agent: goosle/'.$version['current'].';'), // (array) User agent + Headers 'get', // (string) post/get null // (assoc array|null) Post body ); $json_response = json_decode($response, true); // Got a response? Store it! if(!empty($json_response)) { // Update version info $version = array('current' => $version['current'], 'latest' => $json_response['tag_name'], 'checked' => time(), 'url' => $json_response['html_url']); file_put_contents($cache_file, serialize($version)); } } } /*-------------------------------------- // Show version in footer --------------------------------------*/ function show_version() { $cache_file = ABSPATH.'cache/version.data'; if(is_file($cache_file)) { // Get update information $version = unserialize(file_get_contents($cache_file)); // TODO: Remove in a future version if(!isset($version['current'])) $version['current'] = "1.5.1"; // Format current version for footer $show_version = "Goosle ".$version['current']."."; // Check if a newer version is available and add it to the version display if(version_compare($version['current'], $version['latest'], '<')) { $show_version .= " Version ".$version['latest']." is available!"; } } else { // If the update cache doesn't exist... $show_version = "Goosle."; } return $show_version; } ?>