$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;
}
?>