コード例 #1
0
 function ping_check_extensions_update($data)
 {
     $theme_info = $this->get_theme_info('extensions');
     $theme = wp_get_theme();
     $response = wp_remote_post($this->url_update_exts . '/wp-admin/admin-ajax.php?action=sync_downloads', $theme_info['post_args']);
     if (is_a($response, 'WP_Error')) {
         return $data;
     }
     if ($response['response']['code'] != '200' || $theme_info['type'] != 'child') {
         return $data;
     }
     $response_json = json_decode($response['body']);
     if (is_array($response_json) && !empty($response_json)) {
         foreach ($theme_info['post_args']['body']['extensions'] as $key => $current_extension) {
             foreach ($response_json as $response_extension) {
                 if ($current_extension['Name'] == $response_extension->Name) {
                     $has_update = runway_check_versions($response_extension->Version, $current_extension['Version']);
                     if (!$has_update) {
                         break;
                     }
                     $package = "";
                     foreach ($response_extension->Files as $response_package) {
                         $package = $response_package->file;
                         break;
                     }
                     $update = array();
                     $update['theme'] = $response_extension->Name;
                     $update['name'] = $response_extension->Name;
                     $update['rw_extension'] = true;
                     $update['rw_extension_core'] = $key;
                     $update['screenshot'] = isset($response_extension->Screenshot) ? $response_extension->Screenshot : esc_url($theme->get_screenshot());
                     $update['new_version'] = $response_extension->Version;
                     $update['old_version'] = $current_extension['Version'];
                     $update['package'] = $package;
                     $data->extensions[$response_extension->Name] = $update;
                 }
             }
         }
     }
     return $data;
 }
コード例 #2
0
ファイル: admin.php プロジェクト: ArnaudGuillou/SiteESBVolley
        }
    }
}
// Load the content
switch ($tab) {
    default:
        $response_exts = $response_pre->extensions;
        $response = $response_pre;
        unset($response->extensions);
        if (isset($response_exts)) {
            foreach ($response_exts as $key => $resp_ext) {
                if (isset($this->extensions_Paid) && !empty($this->extensions_Paid)) {
                    foreach ($this->extensions_Paid as $exts) {
                        // Overwrite if also exists as product entery.
                        $response->extensions[$key] = $resp_ext;
                        $response->extensions[$key]->Version = $resp_ext->Version;
                        if ($key == sanitize_title($exts->Name) && runway_check_versions($exts->Version, $resp_ext->Version)) {
                            $response->extensions[$key] = $resp_ext;
                            $response->extensions[$key]->Version = $exts->Version;
                        }
                    }
                } else {
                    // From Directory/Download Server
                    $response->extensions[$key] = $resp_ext;
                    $response->extensions[$key]->Version = $resp_ext->Version;
                }
            }
        }
        include_once 'views/browse.php';
        break;
}