示例#1
0
 public static function run_update()
 {
     // Prevent the code from running if the code was loaded by an older updater version.
     if (!isset($GLOBALS['ithemes_updater_path'])) {
         return;
     }
     require_once $GLOBALS['ithemes_updater_path'] . '/api.php';
     require_once $GLOBALS['ithemes_updater_path'] . '/packages.php';
     require_once $GLOBALS['ithemes_updater_path'] . '/keys.php';
     $keys = Ithemes_Updater_Keys::get();
     $legacy_keys = Ithemes_Updater_Keys::get_legacy();
     if (empty($keys) && empty($legacy_keys)) {
         return;
     }
     Ithemes_Updater_API::get_package_details(false);
 }
示例#2
0
 public static function get_full_details($response = false)
 {
     if (false === $response) {
         require_once $GLOBALS['ithemes_updater_path'] . '/api.php';
         $response = Ithemes_Updater_API::get_package_details();
     }
     $packages = self::get_local_details();
     if (is_wp_error($response)) {
         $expiration = time() + 600;
         foreach ($packages as $path => $data) {
             $packages[$path]['status'] = 'error';
             $packages[$path]['error'] = array('code' => 'unknown', 'type' => $response->get_error_code(), 'message' => $response->get_error_message());
         }
     } else {
         $expiration = time() + 12 * 3600;
         foreach ($packages as $path => $data) {
             if (empty($response['packages'][$data['package']])) {
                 continue;
             }
             $package = $response['packages'][$data['package']];
             if (!empty($package['error'])) {
                 if (in_array($package['error']['type'], array('ITXAPI_License_Key_Unknown', 'ITXAPI_Updater_Missing_Legacy_Key'))) {
                     $packages[$path]['status'] = 'unlicensed';
                 } else {
                     $packages[$path]['status'] = 'error';
                     $packages[$path]['error'] = $package['error'];
                 }
                 continue;
             }
             $key_map = array('status' => 'status', 'link' => 'package-url', 'ver' => 'available', 'used' => 'used', 'total' => 'total', 'user' => 'user', 'sub_expire' => 'expiration', 'upgrade' => 'upgrade');
             foreach ($key_map as $old => $new) {
                 if (isset($package[$old])) {
                     $packages[$path][$new] = $package[$old];
                 } else {
                     $packages[$path][$new] = null;
                 }
             }
             if (isset($package['link_expire'])) {
                 $expiration = min($expiration, $package['link_expire']);
             }
         }
     }
     $details = compact('packages', 'expiration');
     return $details;
 }