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; }
} } } // 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; }