12 ) { return -1; } elseif ($latest == $hesk_settings['hesk_version']) { return true; } else { return $latest; } } else { return -1; } } // END hesk_checkVersion() function hesk_getLatestVersion() { global $hesk_settings; // Do we have a cached version file? if ( file_exists(HESK_PATH . $hesk_settings['cache_dir'] . '/__latest.txt') ) { if ( preg_match('/^(\d+)\|([\d.]+)+$/', @file_get_contents(HESK_PATH . $hesk_settings['cache_dir'] . '/__latest.txt'), $matches) && (time() - intval($matches[1])) < 3600 ) { return $matches[2]; } } // No cached file or older than 3600 seconds, try to get an update $hesk_version_url = 'http://hesk.com/version'; // Try using cURL if ( function_exists('curl_init') ) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $hesk_version_url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 6); $latest = curl_exec($ch); curl_close($ch); return hesk_cacheLatestVersion($latest); } // Try using a simple PHP function instead if ($latest = @file_get_contents($hesk_version_url) ) { return hesk_cacheLatestVersion($latest); } // Can't check automatically, will need a manual check return false; } // END hesk_getLatestVersion() function hesk_cacheLatestVersion($latest) { global $hesk_settings; @file_put_contents(HESK_PATH . $hesk_settings['cache_dir'] . '/__latest.txt', time() . '|' . $latest); return $latest; } // END hesk_cacheLatestVersion()