コード例 #1
0
ファイル: core.php プロジェクト: bunnywong/freshlinker
 public static function determineLatestVersion($bypassCache = false)
 {
     $latest_backupbuddy_version_cache_minutes = 60 * 12;
     // Define how many minutes to cache the latest backupbuddy version number.
     function pb_backupbuddy_split2($string, $needle, $nth)
     {
         $max = strlen($string);
         $n = 0;
         for ($i = 0; $i < $max; $i++) {
             if ($string[$i] == $needle) {
                 $n++;
                 if ($n >= $nth) {
                     break;
                 }
             }
         }
         $arr[] = substr($string, 0, $i);
         $arr[] = substr($string, $i + 1, $max);
         return $arr;
     }
     if (true === $bypassCache) {
         $latest_backupbuddy_version = false;
     } else {
         $latest_backupbuddy_version = get_transient('pb_backupbuddy_latest_version');
     }
     if (false === $latest_backupbuddy_version || !is_array($latest_backupbuddy_version)) {
         $response = wp_remote_get('http://api.ithemes.com/product/version?apikey=ixho7dk0p244n0ob&package=backupbuddy&channel=stable', array('method' => 'GET', 'timeout' => 7, 'redirection' => 3, 'httpversion' => '1.0', 'headers' => array(), 'body' => null, 'cookies' => array()));
         if (is_wp_error($response)) {
             $latest_backupbuddy_version = array(0, 0);
             // Set to 0 for transient to prevent hitting server again for a bit since something went wrong.
         } else {
             $minorVersion = $response['body'];
             $majorVersion = pb_backupbuddy_split2($minorVersion, '.', 3);
             $majorVersion = $majorVersion[0];
             $latest_backupbuddy_version = array($minorVersion, $majorVersion);
         }
         set_transient('pb_backupbuddy_latest_version', $latest_backupbuddy_version, 60 * $latest_backupbuddy_version_cache_minutes);
     }
     // end not cached.
     if (0 == $latest_backupbuddy_version[0] && 0 == $latest_backupbuddy_version[1]) {
         // Server not responding.
         return false;
     }
     return $latest_backupbuddy_version;
 }
コード例 #2
0
ファイル: server.php プロジェクト: jimlongo56/bhouse
     $arr[] = substr($string, 0, $i);
     $arr[] = substr($string, $i + 1, $max);
     return $arr;
 }
 $latest_backupbuddy_version = get_transient('pb_backupbuddy_latest_version');
 if (false === $latest_backupbuddy_version) {
     $response = wp_remote_get('http://api.ithemes.com/product/version?apikey=ixho7dk0p244n0ob&package=backupbuddy&channel=stable', array('method' => 'GET', 'timeout' => 15, 'redirection' => 3, 'httpversion' => '1.0', 'headers' => array(), 'body' => null, 'cookies' => array()));
     if (is_wp_error($response)) {
         $latest_backupbuddy_version = '{Err:' . $response->get_error_message() . '}';
     } else {
         $latest_backupbuddy_version = $response['body'];
         set_transient('pb_backupbuddy_latest_version', $response['body'], 60 * $latest_backupbuddy_version_cache_minutes);
     }
 }
 // end not cached.
 $latest_backupbuddy_nonminor_version = pb_backupbuddy_split2($latest_backupbuddy_version, '.', 3);
 $latest_backupbuddy_nonminor_version = $latest_backupbuddy_nonminor_version[0];
 $suggestion_text = $latest_backupbuddy_nonminor_version;
 if ($latest_backupbuddy_nonminor_version != $latest_backupbuddy_version) {
     // Minor version available that is newer than latest major.
     $suggestion_text .= ' (major) or ' . $latest_backupbuddy_version . ' (minor)';
 } else {
     $suggestion_text .= ' (latest)';
 }
 $parent_class_test = array('title' => 'BackupBuddy Version', 'suggestion' => $suggestion_text, 'value' => pb_backupbuddy::settings('version'), 'tip' => __('Version of BackupBuddy currently running on this site.', 'it-l10n-backupbuddy'));
 if (version_compare(pb_backupbuddy::settings('version'), $latest_backupbuddy_nonminor_version, '<')) {
     $parent_class_test['status'] = __('WARNING', 'it-l10n-backupbuddy');
 } else {
     $parent_class_test['status'] = __('OK', 'it-l10n-backupbuddy');
 }
 array_push($tests, $parent_class_test);