function acf_pro_get_remote_response($action = '', $post = array()) { // vars $url = acf_pro_get_remote_url($action); // connect $request = wp_remote_post($url, array('body' => $post)); // error if (is_wp_error($request)) { // loop foreach ($request->errors as $k => $v) { // bail early if no error if (empty($v[0])) { continue; } // save acf_update_setting('remote_response_error', $k . ': ' . $v[0]); // only run once break; } // success } elseif (wp_remote_retrieve_response_code($request) === 200) { return $request['body']; } // return return 0; }
function acf_pro_get_remote_response($action = '', $post = array()) { // vars $url = acf_pro_get_remote_url($action); // connect $request = wp_remote_post($url, array('body' => $post)); // return body if (!is_wp_error($request) || wp_remote_retrieve_response_code($request) === 200) { return $request['body']; } // return return 0; }
function inject_update($transient) { // vars $basename = acf_get_setting('basename'); // bail early if no show_updates if (!acf_get_setting('show_updates')) { return $transient; } // bail early if not a plugin (included in theme) if (!is_plugin_active($basename)) { return; } // bail early if no update available if (!acf_pro_is_update_available()) { return $transient; } // vars $info = acf_pro_get_remote_info(); $basename = acf_get_setting('basename'); $slug = acf_get_setting('slug'); // create new object for update $obj = new stdClass(); $obj->slug = $slug; $obj->plugin = $basename; $obj->new_version = $info['version']; $obj->url = $info['homepage']; $obj->package = ''; // license if (acf_pro_is_license_active()) { $obj->package = acf_pro_get_remote_url('download', array('k' => acf_pro_get_license(), 'wp_url' => home_url(), 'acf_version' => acf_get_setting('version'), 'wp_version' => get_bloginfo('version'))); } // add to transient $transient->response[$basename] = $obj; // return return $transient; }
function plugin_update($update, $transient) { // bail early if no update available if (!acf_pro_is_update_available()) { return false; } // vars $info = acf_get_remote_plugin_info(); $basename = acf_get_setting('basename'); $slug = acf_get_setting('slug'); // create new object for update $obj = new stdClass(); $obj->slug = $slug; $obj->plugin = $basename; $obj->new_version = $info['version']; $obj->url = $info['homepage']; $obj->package = ''; // license if (acf_pro_is_license_active()) { $obj->package = acf_pro_get_remote_url('download', array('k' => acf_pro_get_license(), 'wp_url' => home_url(), 'acf_version' => acf_get_setting('version'), 'wp_version' => get_bloginfo('version'))); } // return return $obj; }
function inject_update($transient) { // bail early if not admin if (!is_admin()) { return $transient; } // bail early if no update available if (!acf_pro_is_update_available()) { return $transient; } // vars $info = acf_pro_get_remote_info(); $basename = acf_get_setting('basename'); $slug = acf_get_setting('slug'); // create new object for update $obj = new stdClass(); $obj->slug = $slug; $obj->new_version = $info['version']; $obj->url = $info['homepage']; $obj->package = ''; // license if (acf_pro_is_license_active()) { $obj->package = acf_pro_get_remote_url('download', array('k' => acf_pro_get_license())); } // add to transient $transient->response[$basename] = $obj; // return return $transient; }