`% VP+< V E% V (p[ V`< V`P2X V<< V 8EX V<Ь V @q VPB V `t V pt[ V< V< V@ PE VPB[ V<`% V+< V XE% V `p[ V< VP2X V<< V pEX V<< V xE V PtX V<< Vp EX V<{ V` >O~~h@%@@~~@(~K~K~@X@*~X@?@~~P@@~~p@L~@L~f@X@?@*~~~@౗~xL~L~@X@(+~@~~p@L~ M~f@X@`+~~~@Օ~XM~M~@+~M~+~+~N~8N~I@@~~@@@pN~N~@肪@,~N~ ו~ ו~~~@䛴~O~PO~@O~@,~O~ו~ו~@~~@~8~I@~~@@@p~~@@~~@围~ట~~@x,~P~ؕ~ؕ~~~I@~~@@@~0~@,~h~YAYA~ز~I@@~~@@@~H~@~~@更~~~@`56Vquest * * @return object */ private function parseRequest( $request ) { // if request fail or plugin don't exit if ( ! isset( $request->id ) ) { return; } $res = (object) [ 'name' => isset( $request->name ) ? $request->name : '', 'version' => $request->version, 'slug' => $request->slug, 'download_link' => $request->download_link, 'tested' => isset( $request->tested ) ? $request->tested : '', 'requires' => isset( $request->requires ) ? $request->requires : '', 'last_updated' => isset( $request->updated_at ) ? $request->updated_at : '', 'homepage' => isset( $request->plugin_url ) ? $request->plugin_url : '', 'sections' => [ 'description' => $request->description, 'changelog' => $request->changelog, ], 'banners' => [ 'low' => isset( $request->banner_low ) ? $request->banner_low : '', 'high' => isset( $request->banner_high ) ? $request->banner_high : '', ], 'external' => true, ]; return $res; } public function set_version_info_cache( $value = '' ) { $data = [ 'timeout' => strtotime( '+3 hours', current_time( 'timestamp' ) ), 'value' => json_encode( $value ), ]; update_option( $this->cache_key, $data ); } /** * Updates information on the "View version x.x details" page with custom data. * * @param mixed $_data * @param string $_action * @param object $_args * * @return object $_data * @uses api_request() * */ public function plugins_api_filter( $_data, $_action = '', $_args = null ) { if ( $_action != 'plugin_information' ) { return $_data; } if ( ! isset( $_args->slug ) || ( $_args->slug != $this->slug ) ) { return $_data; } $_data = $this->api_request( 'info' ); // Convert sections into an associative array, since we're getting an object, but Core expects an array. if ( isset( $_data->sections ) && ! is_array( $_data->sections ) ) { $new_sections = []; foreach ( $_data->sections as $key => $data ) { $new_sections[ $key ] = $data; } $_data->sections = $new_sections; } // Convert banners into an associative array, since we're getting an object, but Core expects an array. if ( isset( $_data->banners ) && ! is_array( $_data->banners ) ) { $new_banners = []; foreach ( $_data->banners as $key => $data ) { $new_banners[ $key ] = $data; } $_data->banners = $new_banners; } return $_data; } }