Server IP : 213.176.29.180 / Your IP : 18.216.92.5 Web Server : Apache System : Linux 213.176.29.180.hostiran.name 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64 User : webtaragh ( 1001) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0750) : /home/webtaragh/public_html/wp-includes/customize/../../ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
class-wp-posts-list-table.php 0000644 00000174712 14735706075 0012244 0 ustar 00 <?php /** * List Table API: WP_Posts_List_Table class * * @package WordPress * @subpackage Administration * @since 3.1.0 */ /** * Core class used to implement displaying posts in a list table. * * @since 3.1.0 * * @see WP_List_Table */ class WP_Posts_List_Table extends WP_List_Table { /** * Whether the items should be displayed hierarchically or linearly. * * @since 3.1.0 * @var bool */ protected $hierarchical_display; /** * Holds the number of pending comments for each post. * * @since 3.1.0 * @var array */ protected $comment_pending_count; /** * Holds the number of posts for this user. * * @since 3.1.0 * @var int */ private $user_posts_count; /** * Holds the number of posts which are sticky. * * @since 3.1.0 * @var int */ private $sticky_posts_count = 0; private $is_trash; /** * Current level for output. * * @since 4.3.0 * @var int */ protected $current_level = 0; /** * Constructor. * * @since 3.1.0 * * @see WP_List_Table::__construct() for more information on default arguments. * * @global WP_Post_Type $post_type_object Global post type object. * @global wpdb $wpdb WordPress database abstraction object. * * @param array $args An associative array of arguments. */ public function __construct( $args = array() ) { global $post_type_object, $wpdb; parent::__construct( array( 'plural' => 'posts', 'screen' => isset( $args['screen'] ) ? $args['screen'] : null, ) ); $post_type = $this->screen->post_type; $post_type_object = get_post_type_object( $post_type ); $exclude_states = get_post_stati( array( 'show_in_admin_all_list' => false, ) ); $this->user_posts_count = (int) $wpdb->get_var( $wpdb->prepare( "SELECT COUNT( 1 ) FROM $wpdb->posts WHERE post_type = %s AND post_status NOT IN ( '" . implode( "','", $exclude_states ) . "' ) AND post_author = %d", $post_type, get_current_user_id() ) ); if ( $this->user_posts_count && ! current_user_can( $post_type_object->cap->edit_others_posts ) && empty( $_REQUEST['post_status'] ) && empty( $_REQUEST['all_posts'] ) && empty( $_REQUEST['author'] ) && empty( $_REQUEST['show_sticky'] ) ) { $_GET['author'] = get_current_user_id(); } $sticky_posts = get_option( 'sticky_posts' ); if ( 'post' === $post_type && $sticky_posts ) { $sticky_posts = implode( ', ', array_map( 'absint', (array) $sticky_posts ) ); $this->sticky_posts_count = (int) $wpdb->get_var( $wpdb->prepare( "SELECT COUNT( 1 ) FROM $wpdb->posts WHERE post_type = %s AND post_status NOT IN ('trash', 'auto-draft') AND ID IN ($sticky_posts)", $post_type ) ); } } /** * Sets whether the table layout should be hierarchical or not. * * @since 4.2.0 * * @param bool $display Whether the table layout should be hierarchical. */ public function set_hierarchical_display( $display ) { $this->hierarchical_display = $display; } /** * @return bool */ public function ajax_user_can() { return current_user_can( get_post_type_object( $this->screen->post_type )->cap->edit_posts ); } /** * @global string $mode List table view mode. * @global array $avail_post_stati * @global WP_Query $wp_query WordPress Query object. * @global int $per_page */ public function prepare_items() { global $mode, $avail_post_stati, $wp_query, $per_page; if ( ! empty( $_REQUEST['mode'] ) ) { $mode = 'excerpt' === $_REQUEST['mode'] ? 'excerpt' : 'list'; set_user_setting( 'posts_list_mode', $mode ); } else { $mode = get_user_setting( 'posts_list_mode', 'list' ); } // Is going to call wp(). $avail_post_stati = wp_edit_posts_query(); $this->set_hierarchical_display( is_post_type_hierarchical( $this->screen->post_type ) && 'menu_order title' === $wp_query->query['orderby'] ); $post_type = $this->screen->post_type; $per_page = $this->get_items_per_page( 'edit_' . $post_type . '_per_page' ); /** This filter is documented in wp-admin/includes/post.php */ $per_page = apply_filters( 'edit_posts_per_page', $per_page, $post_type ); if ( $this->hierarchical_display ) { $total_items = $wp_query->post_count; } elseif ( $wp_query->found_posts || $this->get_pagenum() === 1 ) { $total_items = $wp_query->found_posts; } else { $post_counts = (array) wp_count_posts( $post_type, 'readable' ); if ( isset( $_REQUEST['post_status'] ) && in_array( $_REQUEST['post_status'], $avail_post_stati, true ) ) { $total_items = $post_counts[ $_REQUEST['post_status'] ]; } elseif ( isset( $_REQUEST['show_sticky'] ) && $_REQUEST['show_sticky'] ) { $total_items = $this->sticky_posts_count; } elseif ( isset( $_GET['author'] ) && get_current_user_id() === (int) $_GET['author'] ) { $total_items = $this->user_posts_count; } else { $total_items = array_sum( $post_counts ); // Subtract post types that are not included in the admin all list. foreach ( get_post_stati( array( 'show_in_admin_all_list' => false ) ) as $state ) { $total_items -= $post_counts[ $state ]; } } } $this->is_trash = isset( $_REQUEST['post_status'] ) && 'trash' === $_REQUEST['post_status']; $this->set_pagination_args( array( 'total_items' => $total_items, 'per_page' => $per_page, ) ); } /** * @return bool */ public function has_items() { return have_posts(); } /** */ public function no_items() { if ( isset( $_REQUEST['post_status'] ) && 'trash' === $_REQUEST['post_status'] ) { echo get_post_type_object( $this->screen->post_type )->labels->not_found_in_trash; } else { echo get_post_type_object( $this->screen->post_type )->labels->not_found; } } /** * Determines if the current view is the "All" view. * * @since 4.2.0 * * @return bool Whether the current view is the "All" view. */ protected function is_base_request() { $vars = $_GET; unset( $vars['paged'] ); if ( empty( $vars ) ) { return true; } elseif ( 1 === count( $vars ) && ! empty( $vars['post_type'] ) ) { return $this->screen->post_type === $vars['post_type']; } return 1 === count( $vars ) && ! empty( $vars['mode'] ); } /** * Creates a link to edit.php with params. * * @since 4.4.0 * * @param string[] $args Associative array of URL parameters for the link. * @param string $link_text Link text. * @param string $css_class Optional. Class attribute. Default empty string. * @return string The formatted link string. */ protected function get_edit_link( $args, $link_text, $css_class = '' ) { $url = add_query_arg( $args, 'edit.php' ); $class_html = ''; $aria_current = ''; if ( ! empty( $css_class ) ) { $class_html = sprintf( ' class="%s"', esc_attr( $css_class ) ); if ( 'current' === $css_class ) { $aria_current = ' aria-current="page"'; } } return sprintf( '<a href="%s"%s%s>%s</a>', esc_url( $url ), $class_html, $aria_current, $link_text ); } /** * @global array $locked_post_status This seems to be deprecated. * @global array $avail_post_stati * @return array */ protected function get_views() { global $locked_post_status, $avail_post_stati; $post_type = $this->screen->post_type; if ( ! empty( $locked_post_status ) ) { return array(); } $status_links = array(); $num_posts = wp_count_posts( $post_type, 'readable' ); $total_posts = array_sum( (array) $num_posts ); $class = ''; $current_user_id = get_current_user_id(); $all_args = array( 'post_type' => $post_type ); $mine = ''; // Subtract post types that are not included in the admin all list. foreach ( get_post_stati( array( 'show_in_admin_all_list' => false ) ) as $state ) { $total_posts -= $num_posts->$state; } if ( $this->user_posts_count && $this->user_posts_count !== $total_posts ) { if ( isset( $_GET['author'] ) && ( $current_user_id === (int) $_GET['author'] ) ) { $class = 'current'; } $mine_args = array( 'post_type' => $post_type, 'author' => $current_user_id, ); $mine_inner_html = sprintf( /* translators: %s: Number of posts. */ _nx( 'Mine <span class="count">(%s)</span>', 'Mine <span class="count">(%s)</span>', $this->user_posts_count, 'posts' ), number_format_i18n( $this->user_posts_count ) ); $mine = array( 'url' => esc_url( add_query_arg( $mine_args, 'edit.php' ) ), 'label' => $mine_inner_html, 'current' => isset( $_GET['author'] ) && ( $current_user_id === (int) $_GET['author'] ), ); $all_args['all_posts'] = 1; $class = ''; } $all_inner_html = sprintf( /* translators: %s: Number of posts. */ _nx( 'All <span class="count">(%s)</span>', 'All <span class="count">(%s)</span>', $total_posts, 'posts' ), number_format_i18n( $total_posts ) ); $status_links['all'] = array( 'url' => esc_url( add_query_arg( $all_args, 'edit.php' ) ), 'label' => $all_inner_html, 'current' => empty( $class ) && ( $this->is_base_request() || isset( $_REQUEST['all_posts'] ) ), ); if ( $mine ) { $status_links['mine'] = $mine; } foreach ( get_post_stati( array( 'show_in_admin_status_list' => true ), 'objects' ) as $status ) { $class = ''; $status_name = $status->name; if ( ! in_array( $status_name, $avail_post_stati, true ) || empty( $num_posts->$status_name ) ) { continue; } if ( isset( $_REQUEST['post_status'] ) && $status_name === $_REQUEST['post_status'] ) { $class = 'current'; } $status_args = array( 'post_status' => $status_name, 'post_type' => $post_type, ); $status_label = sprintf( translate_nooped_plural( $status->label_count, $num_posts->$status_name ), number_format_i18n( $num_posts->$status_name ) ); $status_links[ $status_name ] = array( 'url' => esc_url( add_query_arg( $status_args, 'edit.php' ) ), 'label' => $status_label, 'current' => isset( $_REQUEST['post_status'] ) && $status_name === $_REQUEST['post_status'], ); } if ( ! empty( $this->sticky_posts_count ) ) { $class = ! empty( $_REQUEST['show_sticky'] ) ? 'current' : ''; $sticky_args = array( 'post_type' => $post_type, 'show_sticky' => 1, ); $sticky_inner_html = sprintf( /* translators: %s: Number of posts. */ _nx( 'Sticky <span class="count">(%s)</span>', 'Sticky <span class="count">(%s)</span>', $this->sticky_posts_count, 'posts' ), number_format_i18n( $this->sticky_posts_count ) ); $sticky_link = array( 'sticky' => array( 'url' => esc_url( add_query_arg( $sticky_args, 'edit.php' ) ), 'label' => $sticky_inner_html, 'current' => ! empty( $_REQUEST['show_sticky'] ), ), ); // Sticky comes after Publish, or if not listed, after All. $split = 1 + array_search( ( isset( $status_links['publish'] ) ? 'publish' : 'all' ), array_keys( $status_links ), true ); $status_links = array_merge( array_slice( $status_links, 0, $split ), $sticky_link, array_slice( $status_links, $split ) ); } return $this->get_views_links( $status_links ); } /** * @return array */ protected function get_bulk_actions() { $actions = array(); $post_type_obj = get_post_type_object( $this->screen->post_type ); if ( current_user_can( $post_type_obj->cap->edit_posts ) ) { if ( $this->is_trash ) { $actions['untrash'] = __( 'Restore' ); } else { $actions['edit'] = __( 'Edit' ); } } if ( current_user_can( $post_type_obj->cap->delete_posts ) ) { if ( $this->is_trash || ! EMPTY_TRASH_DAYS ) { $actions['delete'] = __( 'Delete permanently' ); } else { $actions['trash'] = __( 'Move to Trash' ); } } return $actions; } /** * Displays a categories drop-down for filtering on the Posts list table. * * @since 4.6.0 * * @global int $cat Currently selected category. * * @param string $post_type Post type slug. */ protected function categories_dropdown( $post_type ) { global $cat; /** * Filters whether to remove the 'Categories' drop-down from the post list table. * * @since 4.6.0 * * @param bool $disable Whether to disable the categories drop-down. Default false. * @param string $post_type Post type slug. */ if ( false !== apply_filters( 'disable_categories_dropdown', false, $post_type ) ) { return; } if ( is_object_in_taxonomy( $post_type, 'category' ) ) { $dropdown_options = array( 'show_option_all' => get_taxonomy( 'category' )->labels->all_items, 'hide_empty' => 0, 'hierarchical' => 1, 'show_count' => 0, 'orderby' => 'name', 'selected' => $cat, ); echo '<label class="screen-reader-text" for="cat">' . get_taxonomy( 'category' )->labels->filter_by_item . '</label>'; wp_dropdown_categories( $dropdown_options ); } } /** * Displays a formats drop-down for filtering items. * * @since 5.2.0 * @access protected * * @param string $post_type Post type slug. */ protected function formats_dropdown( $post_type ) { /** * Filters whether to remove the 'Formats' drop-down from the post list table. * * @since 5.2.0 * @since 5.5.0 The `$post_type` parameter was added. * * @param bool $disable Whether to disable the drop-down. Default false. * @param string $post_type Post type slug. */ if ( apply_filters( 'disable_formats_dropdown', false, $post_type ) ) { return; } // Return if the post type doesn't have post formats or if we're in the Trash. if ( ! is_object_in_taxonomy( $post_type, 'post_format' ) || $this->is_trash ) { return; } // Make sure the dropdown shows only formats with a post count greater than 0. $used_post_formats = get_terms( array( 'taxonomy' => 'post_format', 'hide_empty' => true, ) ); // Return if there are no posts using formats. if ( ! $used_post_formats ) { return; } $displayed_post_format = isset( $_GET['post_format'] ) ? $_GET['post_format'] : ''; ?> <label for="filter-by-format" class="screen-reader-text"> <?php /* translators: Hidden accessibility text. */ _e( 'Filter by post format' ); ?> </label> <select name="post_format" id="filter-by-format"> <option<?php selected( $displayed_post_format, '' ); ?> value=""><?php _e( 'All formats' ); ?></option> <?php foreach ( $used_post_formats as $used_post_format ) { // Post format slug. $slug = str_replace( 'post-format-', '', $used_post_format->slug ); // Pretty, translated version of the post format slug. $pretty_name = get_post_format_string( $slug ); // Skip the standard post format. if ( 'standard' === $slug ) { continue; } ?> <option<?php selected( $displayed_post_format, $slug ); ?> value="<?php echo esc_attr( $slug ); ?>"><?php echo esc_html( $pretty_name ); ?></option> <?php } ?> </select> <?php } /** * @param string $which */ protected function extra_tablenav( $which ) { ?> <div class="alignleft actions"> <?php if ( 'top' === $which ) { ob_start(); $this->months_dropdown( $this->screen->post_type ); $this->categories_dropdown( $this->screen->post_type ); $this->formats_dropdown( $this->screen->post_type ); /** * Fires before the Filter button on the Posts and Pages list tables. * * The Filter button allows sorting by date and/or category on the * Posts list table, and sorting by date on the Pages list table. * * @since 2.1.0 * @since 4.4.0 The `$post_type` parameter was added. * @since 4.6.0 The `$which` parameter was added. * * @param string $post_type The post type slug. * @param string $which The location of the extra table nav markup: * 'top' or 'bottom' for WP_Posts_List_Table, * 'bar' for WP_Media_List_Table. */ do_action( 'restrict_manage_posts', $this->screen->post_type, $which ); $output = ob_get_clean(); if ( ! empty( $output ) ) { echo $output; submit_button( __( 'Filter' ), '', 'filter_action', false, array( 'id' => 'post-query-submit' ) ); } } if ( $this->is_trash && $this->has_items() && current_user_can( get_post_type_object( $this->screen->post_type )->cap->edit_others_posts ) ) { submit_button( __( 'Empty Trash' ), 'apply', 'delete_all', false ); } ?> </div> <?php /** * Fires immediately following the closing "actions" div in the tablenav for the posts * list table. * * @since 4.4.0 * * @param string $which The location of the extra table nav markup: 'top' or 'bottom'. */ do_action( 'manage_posts_extra_tablenav', $which ); } /** * @return string */ public function current_action() { if ( isset( $_REQUEST['delete_all'] ) || isset( $_REQUEST['delete_all2'] ) ) { return 'delete_all'; } return parent::current_action(); } /** * @global string $mode List table view mode. * * @return array */ protected function get_table_classes() { global $mode; $mode_class = esc_attr( 'table-view-' . $mode ); return array( 'widefat', 'fixed', 'striped', $mode_class, is_post_type_hierarchical( $this->screen->post_type ) ? 'pages' : 'posts', ); } /** * @return string[] Array of column titles keyed by their column name. */ public function get_columns() { $post_type = $this->screen->post_type; $posts_columns = array(); $posts_columns['cb'] = '<input type="checkbox" />'; /* translators: Posts screen column name. */ $posts_columns['title'] = _x( 'Title', 'column name' ); if ( post_type_supports( $post_type, 'author' ) ) { $posts_columns['author'] = __( 'Author' ); } $taxonomies = get_object_taxonomies( $post_type, 'objects' ); $taxonomies = wp_filter_object_list( $taxonomies, array( 'show_admin_column' => true ), 'and', 'name' ); /** * Filters the taxonomy columns in the Posts list table. * * The dynamic portion of the hook name, `$post_type`, refers to the post * type slug. * * Possible hook names include: * * - `manage_taxonomies_for_post_columns` * - `manage_taxonomies_for_page_columns` * * @since 3.5.0 * * @param string[] $taxonomies Array of taxonomy names to show columns for. * @param string $post_type The post type. */ $taxonomies = apply_filters( "manage_taxonomies_for_{$post_type}_columns", $taxonomies, $post_type ); $taxonomies = array_filter( $taxonomies, 'taxonomy_exists' ); foreach ( $taxonomies as $taxonomy ) { if ( 'category' === $taxonomy ) { $column_key = 'categories'; } elseif ( 'post_tag' === $taxonomy ) { $column_key = 'tags'; } else { $column_key = 'taxonomy-' . $taxonomy; } $posts_columns[ $column_key ] = get_taxonomy( $taxonomy )->labels->name; } $post_status = ! empty( $_REQUEST['post_status'] ) ? $_REQUEST['post_status'] : 'all'; if ( post_type_supports( $post_type, 'comments' ) && ! in_array( $post_status, array( 'pending', 'draft', 'future' ), true ) ) { $posts_columns['comments'] = sprintf( '<span class="vers comment-grey-bubble" title="%1$s" aria-hidden="true"></span><span class="screen-reader-text">%2$s</span>', esc_attr__( 'Comments' ), /* translators: Hidden accessibility text. */ __( 'Comments' ) ); } $posts_columns['date'] = __( 'Date' ); if ( 'page' === $post_type ) { /** * Filters the columns displayed in the Pages list table. * * @since 2.5.0 * * @param string[] $posts_columns An associative array of column headings. */ $posts_columns = apply_filters( 'manage_pages_columns', $posts_columns ); } else { /** * Filters the columns displayed in the Posts list table. * * @since 1.5.0 * * @param string[] $posts_columns An associative array of column headings. * @param string $post_type The post type slug. */ $posts_columns = apply_filters( 'manage_posts_columns', $posts_columns, $post_type ); } /** * Filters the columns displayed in the Posts list table for a specific post type. * * The dynamic portion of the hook name, `$post_type`, refers to the post type slug. * * Possible hook names include: * * - `manage_post_posts_columns` * - `manage_page_posts_columns` * * @since 3.0.0 * * @param string[] $posts_columns An associative array of column headings. */ return apply_filters( "manage_{$post_type}_posts_columns", $posts_columns ); } /** * @return array */ protected function get_sortable_columns() { $post_type = $this->screen->post_type; if ( 'page' === $post_type ) { if ( isset( $_GET['orderby'] ) ) { $title_orderby_text = __( 'Table ordered by Title.' ); } else { $title_orderby_text = __( 'Table ordered by Hierarchical Menu Order and Title.' ); } $sortables = array( 'title' => array( 'title', false, __( 'Title' ), $title_orderby_text, 'asc' ), 'parent' => array( 'parent', false ), 'comments' => array( 'comment_count', false, __( 'Comments' ), __( 'Table ordered by Comments.' ) ), 'date' => array( 'date', true, __( 'Date' ), __( 'Table ordered by Date.' ) ), ); } else { $sortables = array( 'title' => array( 'title', false, __( 'Title' ), __( 'Table ordered by Title.' ) ), 'parent' => array( 'parent', false ), 'comments' => array( 'comment_count', false, __( 'Comments' ), __( 'Table ordered by Comments.' ) ), 'date' => array( 'date', true, __( 'Date' ), __( 'Table ordered by Date.' ), 'desc' ), ); } // Custom Post Types: there's a filter for that, see get_column_info(). return $sortables; } /** * Generates the list table rows. * * @since 3.1.0 * * @global WP_Query $wp_query WordPress Query object. * @global int $per_page * * @param array $posts * @param int $level */ public function display_rows( $posts = array(), $level = 0 ) { global $wp_query, $per_page; if ( empty( $posts ) ) { $posts = $wp_query->posts; } add_filter( 'the_title', 'esc_html' ); if ( $this->hierarchical_display ) { $this->_display_rows_hierarchical( $posts, $this->get_pagenum(), $per_page ); } else { $this->_display_rows( $posts, $level ); } } /** * @param array $posts * @param int $level */ private function _display_rows( $posts, $level = 0 ) { $post_type = $this->screen->post_type; // Create array of post IDs. $post_ids = array(); foreach ( $posts as $a_post ) { $post_ids[] = $a_post->ID; } if ( post_type_supports( $post_type, 'comments' ) ) { $this->comment_pending_count = get_pending_comments_num( $post_ids ); } update_post_author_caches( $posts ); foreach ( $posts as $post ) { $this->single_row( $post, $level ); } } /** * @global wpdb $wpdb WordPress database abstraction object. * @global WP_Post $post Global post object. * @param array $pages * @param int $pagenum * @param int $per_page */ private function _display_rows_hierarchical( $pages, $pagenum = 1, $per_page = 20 ) { global $wpdb; $level = 0; if ( ! $pages ) { $pages = get_pages( array( 'sort_column' => 'menu_order' ) ); if ( ! $pages ) { return; } } /* * Arrange pages into two parts: top level pages and children_pages. * children_pages is two dimensional array. Example: * children_pages[10][] contains all sub-pages whose parent is 10. * It only takes O( N ) to arrange this and it takes O( 1 ) for subsequent lookup operations * If searching, ignore hierarchy and treat everything as top level */ if ( empty( $_REQUEST['s'] ) ) { $top_level_pages = array(); $children_pages = array(); foreach ( $pages as $page ) { // Catch and repair bad pages. if ( $page->post_parent === $page->ID ) { $page->post_parent = 0; $wpdb->update( $wpdb->posts, array( 'post_parent' => 0 ), array( 'ID' => $page->ID ) ); clean_post_cache( $page ); } if ( $page->post_parent > 0 ) { $children_pages[ $page->post_parent ][] = $page; } else { $top_level_pages[] = $page; } } $pages = &$top_level_pages; } $count = 0; $start = ( $pagenum - 1 ) * $per_page; $end = $start + $per_page; $to_display = array(); foreach ( $pages as $page ) { if ( $count >= $end ) { break; } if ( $count >= $start ) { $to_display[ $page->ID ] = $level; } ++$count; if ( isset( $children_pages ) ) { $this->_page_rows( $children_pages, $count, $page->ID, $level + 1, $pagenum, $per_page, $to_display ); } } // If it is the last pagenum and there are orphaned pages, display them with paging as well. if ( isset( $children_pages ) && $count < $end ) { foreach ( $children_pages as $orphans ) { foreach ( $orphans as $op ) { if ( $count >= $end ) { break; } if ( $count >= $start ) { $to_display[ $op->ID ] = 0; } ++$count; } } } $ids = array_keys( $to_display ); _prime_post_caches( $ids ); $_posts = array_map( 'get_post', $ids ); update_post_author_caches( $_posts ); if ( ! isset( $GLOBALS['post'] ) ) { $GLOBALS['post'] = reset( $ids ); } foreach ( $to_display as $page_id => $level ) { echo "\t"; $this->single_row( $page_id, $level ); } } /** * Displays the nested hierarchy of sub-pages together with paging * support, based on a top level page ID. * * @since 3.1.0 (Standalone function exists since 2.6.0) * @since 4.2.0 Added the `$to_display` parameter. * * @param array $children_pages * @param int $count * @param int $parent_page * @param int $level * @param int $pagenum * @param int $per_page * @param array $to_display List of pages to be displayed. Passed by reference. */ private function _page_rows( &$children_pages, &$count, $parent_page, $level, $pagenum, $per_page, &$to_display ) { if ( ! isset( $children_pages[ $parent_page ] ) ) { return; } $start = ( $pagenum - 1 ) * $per_page; $end = $start + $per_page; foreach ( $children_pages[ $parent_page ] as $page ) { if ( $count >= $end ) { break; } // If the page starts in a subtree, print the parents. if ( $count === $start && $page->post_parent > 0 ) { $my_parents = array(); $my_parent = $page->post_parent; while ( $my_parent ) { // Get the ID from the list or the attribute if my_parent is an object. $parent_id = $my_parent; if ( is_object( $my_parent ) ) { $parent_id = $my_parent->ID; } $my_parent = get_post( $parent_id ); $my_parents[] = $my_parent; if ( ! $my_parent->post_parent ) { break; } $my_parent = $my_parent->post_parent; } $num_parents = count( $my_parents ); while ( $my_parent = array_pop( $my_parents ) ) { $to_display[ $my_parent->ID ] = $level - $num_parents; --$num_parents; } } if ( $count >= $start ) { $to_display[ $page->ID ] = $level; } ++$count; $this->_page_rows( $children_pages, $count, $page->ID, $level + 1, $pagenum, $per_page, $to_display ); } unset( $children_pages[ $parent_page ] ); // Required in order to keep track of orphans. } /** * Handles the checkbox column output. * * @since 4.3.0 * @since 5.9.0 Renamed `$post` to `$item` to match parent class for PHP 8 named parameter support. * * @param WP_Post $item The current WP_Post object. */ public function column_cb( $item ) { // Restores the more descriptive, specific name for use within this method. $post = $item; $show = current_user_can( 'edit_post', $post->ID ); /** * Filters whether to show the bulk edit checkbox for a post in its list table. * * By default the checkbox is only shown if the current user can edit the post. * * @since 5.7.0 * * @param bool $show Whether to show the checkbox. * @param WP_Post $post The current WP_Post object. */ if ( apply_filters( 'wp_list_table_show_post_checkbox', $show, $post ) ) : ?> <input id="cb-select-<?php the_ID(); ?>" type="checkbox" name="post[]" value="<?php the_ID(); ?>" /> <label for="cb-select-<?php the_ID(); ?>"> <span class="screen-reader-text"> <?php /* translators: %s: Post title. */ printf( __( 'Select %s' ), _draft_or_post_title() ); ?> </span> </label> <div class="locked-indicator"> <span class="locked-indicator-icon" aria-hidden="true"></span> <span class="screen-reader-text"> <?php printf( /* translators: Hidden accessibility text. %s: Post title. */ __( '“%s” is locked' ), _draft_or_post_title() ); ?> </span> </div> <?php endif; } /** * @since 4.3.0 * * @param WP_Post $post * @param string $classes * @param string $data * @param string $primary */ protected function _column_title( $post, $classes, $data, $primary ) { echo '<td class="' . $classes . ' page-title" ', $data, '>'; echo $this->column_title( $post ); echo $this->handle_row_actions( $post, 'title', $primary ); echo '</td>'; } /** * Handles the title column output. * * @since 4.3.0 * * @global string $mode List table view mode. * * @param WP_Post $post The current WP_Post object. */ public function column_title( $post ) { global $mode; if ( $this->hierarchical_display ) { if ( 0 === $this->current_level && (int) $post->post_parent > 0 ) { // Sent level 0 by accident, by default, or because we don't know the actual level. $find_main_page = (int) $post->post_parent; while ( $find_main_page > 0 ) { $parent = get_post( $find_main_page ); if ( is_null( $parent ) ) { break; } ++$this->current_level; $find_main_page = (int) $parent->post_parent; if ( ! isset( $parent_name ) ) { /** This filter is documented in wp-includes/post-template.php */ $parent_name = apply_filters( 'the_title', $parent->post_title, $parent->ID ); } } } } $can_edit_post = current_user_can( 'edit_post', $post->ID ); if ( $can_edit_post && 'trash' !== $post->post_status ) { $lock_holder = wp_check_post_lock( $post->ID ); if ( $lock_holder ) { $lock_holder = get_userdata( $lock_holder ); $locked_avatar = get_avatar( $lock_holder->ID, 18 ); /* translators: %s: User's display name. */ $locked_text = esc_html( sprintf( __( '%s is currently editing' ), $lock_holder->display_name ) ); } else { $locked_avatar = ''; $locked_text = ''; } echo '<div class="locked-info"><span class="locked-avatar">' . $locked_avatar . '</span> <span class="locked-text">' . $locked_text . "</span></div>\n"; } $pad = str_repeat( '— ', $this->current_level ); echo '<strong>'; $title = _draft_or_post_title(); if ( $can_edit_post && 'trash' !== $post->post_status ) { printf( '<a class="row-title" href="%s" aria-label="%s">%s%s</a>', get_edit_post_link( $post->ID ), /* translators: %s: Post title. */ esc_attr( sprintf( __( '“%s” (Edit)' ), $title ) ), $pad, $title ); } else { printf( '<span>%s%s</span>', $pad, $title ); } _post_states( $post ); if ( isset( $parent_name ) ) { $post_type_object = get_post_type_object( $post->post_type ); echo ' | ' . $post_type_object->labels->parent_item_colon . ' ' . esc_html( $parent_name ); } echo "</strong>\n"; if ( 'excerpt' === $mode && ! is_post_type_hierarchical( $this->screen->post_type ) && current_user_can( 'read_post', $post->ID ) ) { if ( post_password_required( $post ) ) { echo '<span class="protected-post-excerpt">' . esc_html( get_the_excerpt() ) . '</span>'; } else { echo esc_html( get_the_excerpt() ); } } /** This filter is documented in wp-admin/includes/class-wp-posts-list-table.php */ $quick_edit_enabled = apply_filters( 'quick_edit_enabled_for_post_type', true, $post->post_type ); if ( $quick_edit_enabled ) { get_inline_data( $post ); } } /** * Handles the post date column output. * * @since 4.3.0 * * @global string $mode List table view mode. * * @param WP_Post $post The current WP_Post object. */ public function column_date( $post ) { global $mode; if ( '0000-00-00 00:00:00' === $post->post_date ) { $t_time = __( 'Unpublished' ); $time_diff = 0; } else { $t_time = sprintf( /* translators: 1: Post date, 2: Post time. */ __( '%1$s at %2$s' ), /* translators: Post date format. See https://www.php.net/manual/datetime.format.php */ get_the_time( __( 'Y/m/d' ), $post ), /* translators: Post time format. See https://www.php.net/manual/datetime.format.php */ get_the_time( __( 'g:i a' ), $post ) ); $time = get_post_timestamp( $post ); $time_diff = time() - $time; } if ( 'publish' === $post->post_status ) { $status = __( 'Published' ); } elseif ( 'future' === $post->post_status ) { if ( $time_diff > 0 ) { $status = '<strong class="error-message">' . __( 'Missed schedule' ) . '</strong>'; } else { $status = __( 'Scheduled' ); } } else { $status = __( 'Last Modified' ); } /** * Filters the status text of the post. * * @since 4.8.0 * * @param string $status The status text. * @param WP_Post $post Post object. * @param string $column_name The column name. * @param string $mode The list display mode ('excerpt' or 'list'). */ $status = apply_filters( 'post_date_column_status', $status, $post, 'date', $mode ); if ( $status ) { echo $status . '<br />'; } /** * Filters the published, scheduled, or unpublished time of the post. * * @since 2.5.1 * @since 5.5.0 Removed the difference between 'excerpt' and 'list' modes. * The published time and date are both displayed now, * which is equivalent to the previous 'excerpt' mode. * * @param string $t_time The published time. * @param WP_Post $post Post object. * @param string $column_name The column name. * @param string $mode The list display mode ('excerpt' or 'list'). */ echo apply_filters( 'post_date_column_time', $t_time, $post, 'date', $mode ); } /** * Handles the comments column output. * * @since 4.3.0 * * @param WP_Post $post The current WP_Post object. */ public function column_comments( $post ) { ?> <div class="post-com-count-wrapper"> <?php $pending_comments = isset( $this->comment_pending_count[ $post->ID ] ) ? $this->comment_pending_count[ $post->ID ] : 0; $this->comments_bubble( $post->ID, $pending_comments ); ?> </div> <?php } /** * Handles the post author column output. * * @since 4.3.0 * * @param WP_Post $post The current WP_Post object. */ public function column_author( $post ) { $args = array( 'post_type' => $post->post_type, 'author' => get_the_author_meta( 'ID' ), ); echo $this->get_edit_link( $args, get_the_author() ); } /** * Handles the default column output. * * @since 4.3.0 * @since 5.9.0 Renamed `$post` to `$item` to match parent class for PHP 8 named parameter support. * * @param WP_Post $item The current WP_Post object. * @param string $column_name The current column name. */ public function column_default( $item, $column_name ) { // Restores the more descriptive, specific name for use within this method. $post = $item; if ( 'categories' === $column_name ) { $taxonomy = 'category'; } elseif ( 'tags' === $column_name ) { $taxonomy = 'post_tag'; } elseif ( str_starts_with( $column_name, 'taxonomy-' ) ) { $taxonomy = substr( $column_name, 9 ); } else { $taxonomy = false; } if ( $taxonomy ) { $taxonomy_object = get_taxonomy( $taxonomy ); $terms = get_the_terms( $post->ID, $taxonomy ); if ( is_array( $terms ) ) { $term_links = array(); foreach ( $terms as $t ) { $posts_in_term_qv = array(); if ( 'post' !== $post->post_type ) { $posts_in_term_qv['post_type'] = $post->post_type; } if ( $taxonomy_object->query_var ) { $posts_in_term_qv[ $taxonomy_object->query_var ] = $t->slug; } else { $posts_in_term_qv['taxonomy'] = $taxonomy; $posts_in_term_qv['term'] = $t->slug; } $label = esc_html( sanitize_term_field( 'name', $t->name, $t->term_id, $taxonomy, 'display' ) ); $term_links[] = $this->get_edit_link( $posts_in_term_qv, $label ); } /** * Filters the links in `$taxonomy` column of edit.php. * * @since 5.2.0 * * @param string[] $term_links Array of term editing links. * @param string $taxonomy Taxonomy name. * @param WP_Term[] $terms Array of term objects appearing in the post row. */ $term_links = apply_filters( 'post_column_taxonomy_links', $term_links, $taxonomy, $terms ); echo implode( wp_get_list_item_separator(), $term_links ); } else { echo '<span aria-hidden="true">—</span><span class="screen-reader-text">' . $taxonomy_object->labels->no_terms . '</span>'; } return; } if ( is_post_type_hierarchical( $post->post_type ) ) { /** * Fires in each custom column on the Posts list table. * * This hook only fires if the current post type is hierarchical, * such as pages. * * @since 2.5.0 * * @param string $column_name The name of the column to display. * @param int $post_id The current post ID. */ do_action( 'manage_pages_custom_column', $column_name, $post->ID ); } else { /** * Fires in each custom column in the Posts list table. * * This hook only fires if the current post type is non-hierarchical, * such as posts. * * @since 1.5.0 * * @param string $column_name The name of the column to display. * @param int $post_id The current post ID. */ do_action( 'manage_posts_custom_column', $column_name, $post->ID ); } /** * Fires for each custom column of a specific post type in the Posts list table. * * The dynamic portion of the hook name, `$post->post_type`, refers to the post type. * * Possible hook names include: * * - `manage_post_posts_custom_column` * - `manage_page_posts_custom_column` * * @since 3.1.0 * * @param string $column_name The name of the column to display. * @param int $post_id The current post ID. */ do_action( "manage_{$post->post_type}_posts_custom_column", $column_name, $post->ID ); } /** * @global WP_Post $post Global post object. * * @param int|WP_Post $post * @param int $level */ public function single_row( $post, $level = 0 ) { $global_post = get_post(); $post = get_post( $post ); $this->current_level = $level; $GLOBALS['post'] = $post; setup_postdata( $post ); $classes = 'iedit author-' . ( get_current_user_id() === (int) $post->post_author ? 'self' : 'other' ); $lock_holder = wp_check_post_lock( $post->ID ); if ( $lock_holder ) { $classes .= ' wp-locked'; } if ( $post->post_parent ) { $count = count( get_post_ancestors( $post->ID ) ); $classes .= ' level-' . $count; } else { $classes .= ' level-0'; } ?> <tr id="post-<?php echo $post->ID; ?>" class="<?php echo implode( ' ', get_post_class( $classes, $post->ID ) ); ?>"> <?php $this->single_row_columns( $post ); ?> </tr> <?php $GLOBALS['post'] = $global_post; } /** * Gets the name of the default primary column. * * @since 4.3.0 * * @return string Name of the default primary column, in this case, 'title'. */ protected function get_default_primary_column_name() { return 'title'; } /** * Generates and displays row action links. * * @since 4.3.0 * @since 5.9.0 Renamed `$post` to `$item` to match parent class for PHP 8 named parameter support. * * @param WP_Post $item Post being acted upon. * @param string $column_name Current column name. * @param string $primary Primary column name. * @return string Row actions output for posts, or an empty string * if the current column is not the primary column. */ protected function handle_row_actions( $item, $column_name, $primary ) { if ( $primary !== $column_name ) { return ''; } // Restores the more descriptive, specific name for use within this method. $post = $item; $post_type_object = get_post_type_object( $post->post_type ); $can_edit_post = current_user_can( 'edit_post', $post->ID ); $actions = array(); $title = _draft_or_post_title(); if ( $can_edit_post && 'trash' !== $post->post_status ) { $actions['edit'] = sprintf( '<a href="%s" aria-label="%s">%s</a>', get_edit_post_link( $post->ID ), /* translators: %s: Post title. */ esc_attr( sprintf( __( 'Edit “%s”' ), $title ) ), __( 'Edit' ) ); /** * Filters whether Quick Edit should be enabled for the given post type. * * @since 6.4.0 * * @param bool $enable Whether to enable the Quick Edit functionality. Default true. * @param string $post_type Post type name. */ $quick_edit_enabled = apply_filters( 'quick_edit_enabled_for_post_type', true, $post->post_type ); if ( $quick_edit_enabled && 'wp_block' !== $post->post_type ) { $actions['inline hide-if-no-js'] = sprintf( '<button type="button" class="button-link editinline" aria-label="%s" aria-expanded="false">%s</button>', /* translators: %s: Post title. */ esc_attr( sprintf( __( 'Quick edit “%s” inline' ), $title ) ), __( 'Quick Edit' ) ); } } if ( current_user_can( 'delete_post', $post->ID ) ) { if ( 'trash' === $post->post_status ) { $actions['untrash'] = sprintf( '<a href="%s" aria-label="%s">%s</a>', wp_nonce_url( admin_url( sprintf( $post_type_object->_edit_link . '&action=untrash', $post->ID ) ), 'untrash-post_' . $post->ID ), /* translators: %s: Post title. */ esc_attr( sprintf( __( 'Restore “%s” from the Trash' ), $title ) ), __( 'Restore' ) ); } elseif ( EMPTY_TRASH_DAYS ) { $actions['trash'] = sprintf( '<a href="%s" class="submitdelete" aria-label="%s">%s</a>', get_delete_post_link( $post->ID ), /* translators: %s: Post title. */ esc_attr( sprintf( __( 'Move “%s” to the Trash' ), $title ) ), _x( 'Trash', 'verb' ) ); } if ( 'trash' === $post->post_status || ! EMPTY_TRASH_DAYS ) { $actions['delete'] = sprintf( '<a href="%s" class="submitdelete" aria-label="%s">%s</a>', get_delete_post_link( $post->ID, '', true ), /* translators: %s: Post title. */ esc_attr( sprintf( __( 'Delete “%s” permanently' ), $title ) ), __( 'Delete Permanently' ) ); } } if ( is_post_type_viewable( $post_type_object ) ) { if ( in_array( $post->post_status, array( 'pending', 'draft', 'future' ), true ) ) { if ( $can_edit_post ) { $preview_link = get_preview_post_link( $post ); $actions['view'] = sprintf( '<a href="%s" rel="bookmark" aria-label="%s">%s</a>', esc_url( $preview_link ), /* translators: %s: Post title. */ esc_attr( sprintf( __( 'Preview “%s”' ), $title ) ), __( 'Preview' ) ); } } elseif ( 'trash' !== $post->post_status ) { $actions['view'] = sprintf( '<a href="%s" rel="bookmark" aria-label="%s">%s</a>', get_permalink( $post->ID ), /* translators: %s: Post title. */ esc_attr( sprintf( __( 'View “%s”' ), $title ) ), __( 'View' ) ); } } if ( 'wp_block' === $post->post_type ) { $actions['export'] = sprintf( '<button type="button" class="wp-list-reusable-blocks__export button-link" data-id="%s" aria-label="%s">%s</button>', $post->ID, /* translators: %s: Post title. */ esc_attr( sprintf( __( 'Export “%s” as JSON' ), $title ) ), __( 'Export as JSON' ) ); } if ( is_post_type_hierarchical( $post->post_type ) ) { /** * Filters the array of row action links on the Pages list table. * * The filter is evaluated only for hierarchical post types. * * @since 2.8.0 * * @param string[] $actions An array of row action links. Defaults are * 'Edit', 'Quick Edit', 'Restore', 'Trash', * 'Delete Permanently', 'Preview', and 'View'. * @param WP_Post $post The post object. */ $actions = apply_filters( 'page_row_actions', $actions, $post ); } else { /** * Filters the array of row action links on the Posts list table. * * The filter is evaluated only for non-hierarchical post types. * * @since 2.8.0 * * @param string[] $actions An array of row action links. Defaults are * 'Edit', 'Quick Edit', 'Restore', 'Trash', * 'Delete Permanently', 'Preview', and 'View'. * @param WP_Post $post The post object. */ $actions = apply_filters( 'post_row_actions', $actions, $post ); } return $this->row_actions( $actions ); } /** * Outputs the hidden row displayed when inline editing * * @since 3.1.0 * * @global string $mode List table view mode. */ public function inline_edit() { global $mode; $screen = $this->screen; $post = get_default_post_to_edit( $screen->post_type ); $post_type_object = get_post_type_object( $screen->post_type ); $taxonomy_names = get_object_taxonomies( $screen->post_type ); $hierarchical_taxonomies = array(); $flat_taxonomies = array(); foreach ( $taxonomy_names as $taxonomy_name ) { $taxonomy = get_taxonomy( $taxonomy_name ); $show_in_quick_edit = $taxonomy->show_in_quick_edit; /** * Filters whether the current taxonomy should be shown in the Quick Edit panel. * * @since 4.2.0 * * @param bool $show_in_quick_edit Whether to show the current taxonomy in Quick Edit. * @param string $taxonomy_name Taxonomy name. * @param string $post_type Post type of current Quick Edit post. */ if ( ! apply_filters( 'quick_edit_show_taxonomy', $show_in_quick_edit, $taxonomy_name, $screen->post_type ) ) { continue; } if ( $taxonomy->hierarchical ) { $hierarchical_taxonomies[] = $taxonomy; } else { $flat_taxonomies[] = $taxonomy; } } $m = ( isset( $mode ) && 'excerpt' === $mode ) ? 'excerpt' : 'list'; $can_publish = current_user_can( $post_type_object->cap->publish_posts ); $core_columns = array( 'cb' => true, 'date' => true, 'title' => true, 'categories' => true, 'tags' => true, 'comments' => true, 'author' => true, ); ?> <form method="get"> <table style="display: none"><tbody id="inlineedit"> <?php $hclass = count( $hierarchical_taxonomies ) ? 'post' : 'page'; $inline_edit_classes = "inline-edit-row inline-edit-row-$hclass"; $bulk_edit_classes = "bulk-edit-row bulk-edit-row-$hclass bulk-edit-{$screen->post_type}"; $quick_edit_classes = "quick-edit-row quick-edit-row-$hclass inline-edit-{$screen->post_type}"; $bulk = 0; while ( $bulk < 2 ) : $classes = $inline_edit_classes . ' '; $classes .= $bulk ? $bulk_edit_classes : $quick_edit_classes; ?> <tr id="<?php echo $bulk ? 'bulk-edit' : 'inline-edit'; ?>" class="<?php echo $classes; ?>" style="display: none"> <td colspan="<?php echo $this->get_column_count(); ?>" class="colspanchange"> <div class="inline-edit-wrapper" role="region" aria-labelledby="<?php echo $bulk ? 'bulk' : 'quick'; ?>-edit-legend"> <fieldset class="inline-edit-col-left"> <legend class="inline-edit-legend" id="<?php echo $bulk ? 'bulk' : 'quick'; ?>-edit-legend"><?php echo $bulk ? __( 'Bulk Edit' ) : __( 'Quick Edit' ); ?></legend> <div class="inline-edit-col"> <?php if ( post_type_supports( $screen->post_type, 'title' ) ) : ?> <?php if ( $bulk ) : ?> <div id="bulk-title-div"> <div id="bulk-titles"></div> </div> <?php else : // $bulk ?> <label> <span class="title"><?php _e( 'Title' ); ?></span> <span class="input-text-wrap"><input type="text" name="post_title" class="ptitle" value="" /></span> </label> <?php if ( is_post_type_viewable( $screen->post_type ) ) : ?> <label> <span class="title"><?php _e( 'Slug' ); ?></span> <span class="input-text-wrap"><input type="text" name="post_name" value="" autocomplete="off" spellcheck="false" /></span> </label> <?php endif; // is_post_type_viewable() ?> <?php endif; // $bulk ?> <?php endif; // post_type_supports( ... 'title' ) ?> <?php if ( ! $bulk ) : ?> <fieldset class="inline-edit-date"> <legend><span class="title"><?php _e( 'Date' ); ?></span></legend> <?php touch_time( 1, 1, 0, 1 ); ?> </fieldset> <br class="clear" /> <?php endif; // $bulk ?> <?php if ( post_type_supports( $screen->post_type, 'author' ) ) { $authors_dropdown = ''; if ( current_user_can( $post_type_object->cap->edit_others_posts ) ) { $dropdown_name = 'post_author'; $dropdown_class = 'authors'; if ( wp_is_large_user_count() ) { $authors_dropdown = sprintf( '<select name="%s" class="%s hidden"></select>', esc_attr( $dropdown_name ), esc_attr( $dropdown_class ) ); } else { $users_opt = array( 'hide_if_only_one_author' => false, 'capability' => array( $post_type_object->cap->edit_posts ), 'name' => $dropdown_name, 'class' => $dropdown_class, 'multi' => 1, 'echo' => 0, 'show' => 'display_name_with_login', ); if ( $bulk ) { $users_opt['show_option_none'] = __( '— No Change —' ); } /** * Filters the arguments used to generate the Quick Edit authors drop-down. * * @since 5.6.0 * * @see wp_dropdown_users() * * @param array $users_opt An array of arguments passed to wp_dropdown_users(). * @param bool $bulk A flag to denote if it's a bulk action. */ $users_opt = apply_filters( 'quick_edit_dropdown_authors_args', $users_opt, $bulk ); $authors = wp_dropdown_users( $users_opt ); if ( $authors ) { $authors_dropdown = '<label class="inline-edit-author">'; $authors_dropdown .= '<span class="title">' . __( 'Author' ) . '</span>'; $authors_dropdown .= $authors; $authors_dropdown .= '</label>'; } } } // current_user_can( 'edit_others_posts' ) if ( ! $bulk ) { echo $authors_dropdown; } } // post_type_supports( ... 'author' ) ?> <?php if ( ! $bulk && $can_publish ) : ?> <div class="inline-edit-group wp-clearfix"> <label class="alignleft"> <span class="title"><?php _e( 'Password' ); ?></span> <span class="input-text-wrap"><input type="text" name="post_password" class="inline-edit-password-input" value="" /></span> </label> <span class="alignleft inline-edit-or"> <?php /* translators: Between password field and private checkbox on post quick edit interface. */ _e( '–OR–' ); ?> </span> <label class="alignleft inline-edit-private"> <input type="checkbox" name="keep_private" value="private" /> <span class="checkbox-title"><?php _e( 'Private' ); ?></span> </label> </div> <?php endif; ?> </div> </fieldset> <?php if ( count( $hierarchical_taxonomies ) && ! $bulk ) : ?> <fieldset class="inline-edit-col-center inline-edit-categories"> <div class="inline-edit-col"> <?php foreach ( $hierarchical_taxonomies as $taxonomy ) : ?> <span class="title inline-edit-categories-label"><?php echo esc_html( $taxonomy->labels->name ); ?></span> <input type="hidden" name="<?php echo ( 'category' === $taxonomy->name ) ? 'post_category[]' : 'tax_input[' . esc_attr( $taxonomy->name ) . '][]'; ?>" value="0" /> <ul class="cat-checklist <?php echo esc_attr( $taxonomy->name ); ?>-checklist"> <?php wp_terms_checklist( 0, array( 'taxonomy' => $taxonomy->name ) ); ?> </ul> <?php endforeach; // $hierarchical_taxonomies as $taxonomy ?> </div> </fieldset> <?php endif; // count( $hierarchical_taxonomies ) && ! $bulk ?> <fieldset class="inline-edit-col-right"> <div class="inline-edit-col"> <?php if ( post_type_supports( $screen->post_type, 'author' ) && $bulk ) { echo $authors_dropdown; } ?> <?php if ( post_type_supports( $screen->post_type, 'page-attributes' ) ) : ?> <?php if ( $post_type_object->hierarchical ) : ?> <label> <span class="title"><?php _e( 'Parent' ); ?></span> <?php $dropdown_args = array( 'post_type' => $post_type_object->name, 'selected' => $post->post_parent, 'name' => 'post_parent', 'show_option_none' => __( 'Main Page (no parent)' ), 'option_none_value' => 0, 'sort_column' => 'menu_order, post_title', ); if ( $bulk ) { $dropdown_args['show_option_no_change'] = __( '— No Change —' ); $dropdown_args['id'] = 'bulk_edit_post_parent'; } /** * Filters the arguments used to generate the Quick Edit page-parent drop-down. * * @since 2.7.0 * @since 5.6.0 The `$bulk` parameter was added. * * @see wp_dropdown_pages() * * @param array $dropdown_args An array of arguments passed to wp_dropdown_pages(). * @param bool $bulk A flag to denote if it's a bulk action. */ $dropdown_args = apply_filters( 'quick_edit_dropdown_pages_args', $dropdown_args, $bulk ); wp_dropdown_pages( $dropdown_args ); ?> </label> <?php endif; // hierarchical ?> <?php if ( ! $bulk ) : ?> <label> <span class="title"><?php _e( 'Order' ); ?></span> <span class="input-text-wrap"><input type="text" name="menu_order" class="inline-edit-menu-order-input" value="<?php echo $post->menu_order; ?>" /></span> </label> <?php endif; // ! $bulk ?> <?php endif; // post_type_supports( ... 'page-attributes' ) ?> <?php if ( 0 < count( get_page_templates( null, $screen->post_type ) ) ) : ?> <label> <span class="title"><?php _e( 'Template' ); ?></span> <select name="page_template"> <?php if ( $bulk ) : ?> <option value="-1"><?php _e( '— No Change —' ); ?></option> <?php endif; // $bulk ?> <?php /** This filter is documented in wp-admin/includes/meta-boxes.php */ $default_title = apply_filters( 'default_page_template_title', __( 'Default template' ), 'quick-edit' ); ?> <option value="default"><?php echo esc_html( $default_title ); ?></option> <?php page_template_dropdown( '', $screen->post_type ); ?> </select> </label> <?php endif; ?> <?php if ( count( $flat_taxonomies ) && ! $bulk ) : ?> <?php foreach ( $flat_taxonomies as $taxonomy ) : ?> <?php if ( current_user_can( $taxonomy->cap->assign_terms ) ) : ?> <?php $taxonomy_name = esc_attr( $taxonomy->name ); ?> <div class="inline-edit-tags-wrap"> <label class="inline-edit-tags"> <span class="title"><?php echo esc_html( $taxonomy->labels->name ); ?></span> <textarea data-wp-taxonomy="<?php echo $taxonomy_name; ?>" cols="22" rows="1" name="tax_input[<?php echo esc_attr( $taxonomy->name ); ?>]" class="tax_input_<?php echo esc_attr( $taxonomy->name ); ?>" aria-describedby="inline-edit-<?php echo esc_attr( $taxonomy->name ); ?>-desc"></textarea> </label> <p class="howto" id="inline-edit-<?php echo esc_attr( $taxonomy->name ); ?>-desc"><?php echo esc_html( $taxonomy->labels->separate_items_with_commas ); ?></p> </div> <?php endif; // current_user_can( 'assign_terms' ) ?> <?php endforeach; // $flat_taxonomies as $taxonomy ?> <?php endif; // count( $flat_taxonomies ) && ! $bulk ?> <?php if ( post_type_supports( $screen->post_type, 'comments' ) || post_type_supports( $screen->post_type, 'trackbacks' ) ) : ?> <?php if ( $bulk ) : ?> <div class="inline-edit-group wp-clearfix"> <?php if ( post_type_supports( $screen->post_type, 'comments' ) ) : ?> <label class="alignleft"> <span class="title"><?php _e( 'Comments' ); ?></span> <select name="comment_status"> <option value=""><?php _e( '— No Change —' ); ?></option> <option value="open"><?php _e( 'Allow' ); ?></option> <option value="closed"><?php _e( 'Do not allow' ); ?></option> </select> </label> <?php endif; ?> <?php if ( post_type_supports( $screen->post_type, 'trackbacks' ) ) : ?> <label class="alignright"> <span class="title"><?php _e( 'Pings' ); ?></span> <select name="ping_status"> <option value=""><?php _e( '— No Change —' ); ?></option> <option value="open"><?php _e( 'Allow' ); ?></option> <option value="closed"><?php _e( 'Do not allow' ); ?></option> </select> </label> <?php endif; ?> </div> <?php else : // $bulk ?> <div class="inline-edit-group wp-clearfix"> <?php if ( post_type_supports( $screen->post_type, 'comments' ) ) : ?> <label class="alignleft"> <input type="checkbox" name="comment_status" value="open" /> <span class="checkbox-title"><?php _e( 'Allow Comments' ); ?></span> </label> <?php endif; ?> <?php if ( post_type_supports( $screen->post_type, 'trackbacks' ) ) : ?> <label class="alignleft"> <input type="checkbox" name="ping_status" value="open" /> <span class="checkbox-title"><?php _e( 'Allow Pings' ); ?></span> </label> <?php endif; ?> </div> <?php endif; // $bulk ?> <?php endif; // post_type_supports( ... comments or pings ) ?> <div class="inline-edit-group wp-clearfix"> <label class="inline-edit-status alignleft"> <span class="title"><?php _e( 'Status' ); ?></span> <select name="_status"> <?php if ( $bulk ) : ?> <option value="-1"><?php _e( '— No Change —' ); ?></option> <?php endif; // $bulk ?> <?php if ( $can_publish ) : // Contributors only get "Unpublished" and "Pending Review". ?> <option value="publish"><?php _e( 'Published' ); ?></option> <option value="future"><?php _e( 'Scheduled' ); ?></option> <?php if ( $bulk ) : ?> <option value="private"><?php _e( 'Private' ); ?></option> <?php endif; // $bulk ?> <?php endif; ?> <option value="pending"><?php _e( 'Pending Review' ); ?></option> <option value="draft"><?php _e( 'Draft' ); ?></option> </select> </label> <?php if ( 'post' === $screen->post_type && $can_publish && current_user_can( $post_type_object->cap->edit_others_posts ) ) : ?> <?php if ( $bulk ) : ?> <label class="alignright"> <span class="title"><?php _e( 'Sticky' ); ?></span> <select name="sticky"> <option value="-1"><?php _e( '— No Change —' ); ?></option> <option value="sticky"><?php _e( 'Sticky' ); ?></option> <option value="unsticky"><?php _e( 'Not Sticky' ); ?></option> </select> </label> <?php else : // $bulk ?> <label class="alignleft"> <input type="checkbox" name="sticky" value="sticky" /> <span class="checkbox-title"><?php _e( 'Make this post sticky' ); ?></span> </label> <?php endif; // $bulk ?> <?php endif; // 'post' && $can_publish && current_user_can( 'edit_others_posts' ) ?> </div> <?php if ( $bulk && current_theme_supports( 'post-formats' ) && post_type_supports( $screen->post_type, 'post-formats' ) ) : ?> <?php $post_formats = get_theme_support( 'post-formats' ); ?> <label class="alignleft"> <span class="title"><?php _ex( 'Format', 'post format' ); ?></span> <select name="post_format"> <option value="-1"><?php _e( '— No Change —' ); ?></option> <option value="0"><?php echo get_post_format_string( 'standard' ); ?></option> <?php if ( is_array( $post_formats[0] ) ) : ?> <?php foreach ( $post_formats[0] as $format ) : ?> <option value="<?php echo esc_attr( $format ); ?>"><?php echo esc_html( get_post_format_string( $format ) ); ?></option> <?php endforeach; ?> <?php endif; ?> </select> </label> <?php endif; ?> </div> </fieldset> <?php list( $columns ) = $this->get_column_info(); foreach ( $columns as $column_name => $column_display_name ) { if ( isset( $core_columns[ $column_name ] ) ) { continue; } if ( $bulk ) { /** * Fires once for each column in Bulk Edit mode. * * @since 2.7.0 * * @param string $column_name Name of the column to edit. * @param string $post_type The post type slug. */ do_action( 'bulk_edit_custom_box', $column_name, $screen->post_type ); } else { /** * Fires once for each column in Quick Edit mode. * * @since 2.7.0 * * @param string $column_name Name of the column to edit. * @param string $post_type The post type slug, or current screen name if this is a taxonomy list table. * @param string $taxonomy The taxonomy name, if any. */ do_action( 'quick_edit_custom_box', $column_name, $screen->post_type, '' ); } } ?> <div class="submit inline-edit-save"> <?php if ( ! $bulk ) : ?> <?php wp_nonce_field( 'inlineeditnonce', '_inline_edit', false ); ?> <button type="button" class="button button-primary save"><?php _e( 'Update' ); ?></button> <?php else : ?> <?php submit_button( __( 'Update' ), 'primary', 'bulk_edit', false ); ?> <?php endif; ?> <button type="button" class="button cancel"><?php _e( 'Cancel' ); ?></button> <?php if ( ! $bulk ) : ?> <span class="spinner"></span> <?php endif; ?> <input type="hidden" name="post_view" value="<?php echo esc_attr( $m ); ?>" /> <input type="hidden" name="screen" value="<?php echo esc_attr( $screen->id ); ?>" /> <?php if ( ! $bulk && ! post_type_supports( $screen->post_type, 'author' ) ) : ?> <input type="hidden" name="post_author" value="<?php echo esc_attr( $post->post_author ); ?>" /> <?php endif; ?> <?php wp_admin_notice( '<p class="error"></p>', array( 'type' => 'error', 'additional_classes' => array( 'notice-alt', 'inline', 'hidden' ), 'paragraph_wrap' => false, ) ); ?> </div> </div> <!-- end of .inline-edit-wrapper --> </td></tr> <?php ++$bulk; endwhile; ?> </tbody></table> </form> <?php } } privacy-tools.php 0000644 00000101266 14735706075 0010114 0 ustar 00 <?php /** * WordPress Administration Privacy Tools API. * * @package WordPress * @subpackage Administration */ /** * Resend an existing request and return the result. * * @since 4.9.6 * @access private * * @param int $request_id Request ID. * @return true|WP_Error Returns true if sending the email was successful, or a WP_Error object. */ function _wp_privacy_resend_request( $request_id ) { $request_id = absint( $request_id ); $request = get_post( $request_id ); if ( ! $request || 'user_request' !== $request->post_type ) { return new WP_Error( 'privacy_request_error', __( 'Invalid personal data request.' ) ); } $result = wp_send_user_request( $request_id ); if ( is_wp_error( $result ) ) { return $result; } elseif ( ! $result ) { return new WP_Error( 'privacy_request_error', __( 'Unable to initiate confirmation for personal data request.' ) ); } return true; } /** * Marks a request as completed by the admin and logs the current timestamp. * * @since 4.9.6 * @access private * * @param int $request_id Request ID. * @return int|WP_Error Request ID on success, or a WP_Error on failure. */ function _wp_privacy_completed_request( $request_id ) { // Get the request. $request_id = absint( $request_id ); $request = wp_get_user_request( $request_id ); if ( ! $request ) { return new WP_Error( 'privacy_request_error', __( 'Invalid personal data request.' ) ); } update_post_meta( $request_id, '_wp_user_request_completed_timestamp', time() ); $result = wp_update_post( array( 'ID' => $request_id, 'post_status' => 'request-completed', ) ); return $result; } /** * Handle list table actions. * * @since 4.9.6 * @access private */ function _wp_personal_data_handle_actions() { if ( isset( $_POST['privacy_action_email_retry'] ) ) { check_admin_referer( 'bulk-privacy_requests' ); $request_id = absint( current( array_keys( (array) wp_unslash( $_POST['privacy_action_email_retry'] ) ) ) ); $result = _wp_privacy_resend_request( $request_id ); if ( is_wp_error( $result ) ) { add_settings_error( 'privacy_action_email_retry', 'privacy_action_email_retry', $result->get_error_message(), 'error' ); } else { add_settings_error( 'privacy_action_email_retry', 'privacy_action_email_retry', __( 'Confirmation request sent again successfully.' ), 'success' ); } } elseif ( isset( $_POST['action'] ) ) { $action = ! empty( $_POST['action'] ) ? sanitize_key( wp_unslash( $_POST['action'] ) ) : ''; switch ( $action ) { case 'add_export_personal_data_request': case 'add_remove_personal_data_request': check_admin_referer( 'personal-data-request' ); if ( ! isset( $_POST['type_of_action'], $_POST['username_or_email_for_privacy_request'] ) ) { add_settings_error( 'action_type', 'action_type', __( 'Invalid personal data action.' ), 'error' ); } $action_type = sanitize_text_field( wp_unslash( $_POST['type_of_action'] ) ); $username_or_email_address = sanitize_text_field( wp_unslash( $_POST['username_or_email_for_privacy_request'] ) ); $email_address = ''; $status = 'pending'; if ( ! isset( $_POST['send_confirmation_email'] ) ) { $status = 'confirmed'; } if ( ! in_array( $action_type, _wp_privacy_action_request_types(), true ) ) { add_settings_error( 'action_type', 'action_type', __( 'Invalid personal data action.' ), 'error' ); } if ( ! is_email( $username_or_email_address ) ) { $user = get_user_by( 'login', $username_or_email_address ); if ( ! $user instanceof WP_User ) { add_settings_error( 'username_or_email_for_privacy_request', 'username_or_email_for_privacy_request', __( 'Unable to add this request. A valid email address or username must be supplied.' ), 'error' ); } else { $email_address = $user->user_email; } } else { $email_address = $username_or_email_address; } if ( empty( $email_address ) ) { break; } $request_id = wp_create_user_request( $email_address, $action_type, array(), $status ); $message = ''; if ( is_wp_error( $request_id ) ) { $message = $request_id->get_error_message(); } elseif ( ! $request_id ) { $message = __( 'Unable to initiate confirmation request.' ); } if ( $message ) { add_settings_error( 'username_or_email_for_privacy_request', 'username_or_email_for_privacy_request', $message, 'error' ); break; } if ( 'pending' === $status ) { wp_send_user_request( $request_id ); $message = __( 'Confirmation request initiated successfully.' ); } elseif ( 'confirmed' === $status ) { $message = __( 'Request added successfully.' ); } if ( $message ) { add_settings_error( 'username_or_email_for_privacy_request', 'username_or_email_for_privacy_request', $message, 'success' ); break; } } } } /** * Cleans up failed and expired requests before displaying the list table. * * @since 4.9.6 * @access private */ function _wp_personal_data_cleanup_requests() { /** This filter is documented in wp-includes/user.php */ $expires = (int) apply_filters( 'user_request_key_expiration', DAY_IN_SECONDS ); $requests_query = new WP_Query( array( 'post_type' => 'user_request', 'posts_per_page' => -1, 'post_status' => 'request-pending', 'fields' => 'ids', 'date_query' => array( array( 'column' => 'post_modified_gmt', 'before' => $expires . ' seconds ago', ), ), ) ); $request_ids = $requests_query->posts; foreach ( $request_ids as $request_id ) { wp_update_post( array( 'ID' => $request_id, 'post_status' => 'request-failed', 'post_password' => '', ) ); } } /** * Generate a single group for the personal data export report. * * @since 4.9.6 * @since 5.4.0 Added the `$group_id` and `$groups_count` parameters. * * @param array $group_data { * The group data to render. * * @type string $group_label The user-facing heading for the group, e.g. 'Comments'. * @type array $items { * An array of group items. * * @type array $group_item_data { * An array of name-value pairs for the item. * * @type string $name The user-facing name of an item name-value pair, e.g. 'IP Address'. * @type string $value The user-facing value of an item data pair, e.g. '50.60.70.0'. * } * } * } * @param string $group_id The group identifier. * @param int $groups_count The number of all groups * @return string The HTML for this group and its items. */ function wp_privacy_generate_personal_data_export_group_html( $group_data, $group_id = '', $groups_count = 1 ) { $group_id_attr = sanitize_title_with_dashes( $group_data['group_label'] . '-' . $group_id ); $group_html = '<h2 id="' . esc_attr( $group_id_attr ) . '">'; $group_html .= esc_html( $group_data['group_label'] ); $items_count = count( (array) $group_data['items'] ); if ( $items_count > 1 ) { $group_html .= sprintf( ' <span class="count">(%d)</span>', $items_count ); } $group_html .= '</h2>'; if ( ! empty( $group_data['group_description'] ) ) { $group_html .= '<p>' . esc_html( $group_data['group_description'] ) . '</p>'; } $group_html .= '<div>'; foreach ( (array) $group_data['items'] as $group_item_id => $group_item_data ) { $group_html .= '<table>'; $group_html .= '<tbody>'; foreach ( (array) $group_item_data as $group_item_datum ) { $value = $group_item_datum['value']; // If it looks like a link, make it a link. if ( ! str_contains( $value, ' ' ) && ( str_starts_with( $value, 'http://' ) || str_starts_with( $value, 'https://' ) ) ) { $value = '<a href="' . esc_url( $value ) . '">' . esc_html( $value ) . '</a>'; } $group_html .= '<tr>'; $group_html .= '<th>' . esc_html( $group_item_datum['name'] ) . '</th>'; $group_html .= '<td>' . wp_kses( $value, 'personal_data_export' ) . '</td>'; $group_html .= '</tr>'; } $group_html .= '</tbody>'; $group_html .= '</table>'; } if ( $groups_count > 1 ) { $group_html .= '<div class="return-to-top">'; $group_html .= '<a href="#top"><span aria-hidden="true">↑ </span> ' . esc_html__( 'Go to top' ) . '</a>'; $group_html .= '</div>'; } $group_html .= '</div>'; return $group_html; } /** * Generate the personal data export file. * * @since 4.9.6 * * @param int $request_id The export request ID. */ function wp_privacy_generate_personal_data_export_file( $request_id ) { if ( ! class_exists( 'ZipArchive' ) ) { wp_send_json_error( __( 'Unable to generate personal data export file. ZipArchive not available.' ) ); } // Get the request. $request = wp_get_user_request( $request_id ); if ( ! $request || 'export_personal_data' !== $request->action_name ) { wp_send_json_error( __( 'Invalid request ID when generating personal data export file.' ) ); } $email_address = $request->email; if ( ! is_email( $email_address ) ) { wp_send_json_error( __( 'Invalid email address when generating personal data export file.' ) ); } // Create the exports folder if needed. $exports_dir = wp_privacy_exports_dir(); $exports_url = wp_privacy_exports_url(); if ( ! wp_mkdir_p( $exports_dir ) ) { wp_send_json_error( __( 'Unable to create personal data export folder.' ) ); } // Protect export folder from browsing. $index_pathname = $exports_dir . 'index.php'; if ( ! file_exists( $index_pathname ) ) { $file = fopen( $index_pathname, 'w' ); if ( false === $file ) { wp_send_json_error( __( 'Unable to protect personal data export folder from browsing.' ) ); } fwrite( $file, "<?php\n// Silence is golden.\n" ); fclose( $file ); } $obscura = wp_generate_password( 32, false, false ); $file_basename = 'wp-personal-data-file-' . $obscura; $html_report_filename = wp_unique_filename( $exports_dir, $file_basename . '.html' ); $html_report_pathname = wp_normalize_path( $exports_dir . $html_report_filename ); $json_report_filename = $file_basename . '.json'; $json_report_pathname = wp_normalize_path( $exports_dir . $json_report_filename ); /* * Gather general data needed. */ // Title. $title = sprintf( /* translators: %s: User's email address. */ __( 'Personal Data Export for %s' ), $email_address ); // First, build an "About" group on the fly for this report. $about_group = array( /* translators: Header for the About section in a personal data export. */ 'group_label' => _x( 'About', 'personal data group label' ), /* translators: Description for the About section in a personal data export. */ 'group_description' => _x( 'Overview of export report.', 'personal data group description' ), 'items' => array( 'about-1' => array( array( 'name' => _x( 'Report generated for', 'email address' ), 'value' => $email_address, ), array( 'name' => _x( 'For site', 'website name' ), 'value' => get_bloginfo( 'name' ), ), array( 'name' => _x( 'At URL', 'website URL' ), 'value' => get_bloginfo( 'url' ), ), array( 'name' => _x( 'On', 'date/time' ), 'value' => current_time( 'mysql' ), ), ), ), ); // And now, all the Groups. $groups = get_post_meta( $request_id, '_export_data_grouped', true ); if ( is_array( $groups ) ) { // Merge in the special "About" group. $groups = array_merge( array( 'about' => $about_group ), $groups ); $groups_count = count( $groups ); } else { if ( false !== $groups ) { _doing_it_wrong( __FUNCTION__, /* translators: %s: Post meta key. */ sprintf( __( 'The %s post meta must be an array.' ), '<code>_export_data_grouped</code>' ), '5.8.0' ); } $groups = null; $groups_count = 0; } // Convert the groups to JSON format. $groups_json = wp_json_encode( $groups ); if ( false === $groups_json ) { $error_message = sprintf( /* translators: %s: Error message. */ __( 'Unable to encode the personal data for export. Error: %s' ), json_last_error_msg() ); wp_send_json_error( $error_message ); } /* * Handle the JSON export. */ $file = fopen( $json_report_pathname, 'w' ); if ( false === $file ) { wp_send_json_error( __( 'Unable to open personal data export file (JSON report) for writing.' ) ); } fwrite( $file, '{' ); fwrite( $file, '"' . $title . '":' ); fwrite( $file, $groups_json ); fwrite( $file, '}' ); fclose( $file ); /* * Handle the HTML export. */ $file = fopen( $html_report_pathname, 'w' ); if ( false === $file ) { wp_send_json_error( __( 'Unable to open personal data export (HTML report) for writing.' ) ); } fwrite( $file, "<!DOCTYPE html>\n" ); fwrite( $file, "<html>\n" ); fwrite( $file, "<head>\n" ); fwrite( $file, "<meta http-equiv='Content-Type' content='text/html; charset=UTF-8' />\n" ); fwrite( $file, "<style type='text/css'>" ); fwrite( $file, 'body { color: black; font-family: Arial, sans-serif; font-size: 11pt; margin: 15px auto; width: 860px; }' ); fwrite( $file, 'table { background: #f0f0f0; border: 1px solid #ddd; margin-bottom: 20px; width: 100%; }' ); fwrite( $file, 'th { padding: 5px; text-align: left; width: 20%; }' ); fwrite( $file, 'td { padding: 5px; }' ); fwrite( $file, 'tr:nth-child(odd) { background-color: #fafafa; }' ); fwrite( $file, '.return-to-top { text-align: right; }' ); fwrite( $file, '</style>' ); fwrite( $file, '<title>' ); fwrite( $file, esc_html( $title ) ); fwrite( $file, '</title>' ); fwrite( $file, "</head>\n" ); fwrite( $file, "<body>\n" ); fwrite( $file, '<h1 id="top">' . esc_html__( 'Personal Data Export' ) . '</h1>' ); // Create TOC. if ( $groups_count > 1 ) { fwrite( $file, '<div id="table_of_contents">' ); fwrite( $file, '<h2>' . esc_html__( 'Table of Contents' ) . '</h2>' ); fwrite( $file, '<ul>' ); foreach ( (array) $groups as $group_id => $group_data ) { $group_label = esc_html( $group_data['group_label'] ); $group_id_attr = sanitize_title_with_dashes( $group_data['group_label'] . '-' . $group_id ); $group_items_count = count( (array) $group_data['items'] ); if ( $group_items_count > 1 ) { $group_label .= sprintf( ' <span class="count">(%d)</span>', $group_items_count ); } fwrite( $file, '<li>' ); fwrite( $file, '<a href="#' . esc_attr( $group_id_attr ) . '">' . $group_label . '</a>' ); fwrite( $file, '</li>' ); } fwrite( $file, '</ul>' ); fwrite( $file, '</div>' ); } // Now, iterate over every group in $groups and have the formatter render it in HTML. foreach ( (array) $groups as $group_id => $group_data ) { fwrite( $file, wp_privacy_generate_personal_data_export_group_html( $group_data, $group_id, $groups_count ) ); } fwrite( $file, "</body>\n" ); fwrite( $file, "</html>\n" ); fclose( $file ); /* * Now, generate the ZIP. * * If an archive has already been generated, then remove it and reuse the filename, * to avoid breaking any URLs that may have been previously sent via email. */ $error = false; // This meta value is used from version 5.5. $archive_filename = get_post_meta( $request_id, '_export_file_name', true ); // This one stored an absolute path and is used for backward compatibility. $archive_pathname = get_post_meta( $request_id, '_export_file_path', true ); // If a filename meta exists, use it. if ( ! empty( $archive_filename ) ) { $archive_pathname = $exports_dir . $archive_filename; } elseif ( ! empty( $archive_pathname ) ) { // If a full path meta exists, use it and create the new meta value. $archive_filename = basename( $archive_pathname ); update_post_meta( $request_id, '_export_file_name', $archive_filename ); // Remove the back-compat meta values. delete_post_meta( $request_id, '_export_file_url' ); delete_post_meta( $request_id, '_export_file_path' ); } else { // If there's no filename or full path stored, create a new file. $archive_filename = $file_basename . '.zip'; $archive_pathname = $exports_dir . $archive_filename; update_post_meta( $request_id, '_export_file_name', $archive_filename ); } $archive_url = $exports_url . $archive_filename; if ( ! empty( $archive_pathname ) && file_exists( $archive_pathname ) ) { wp_delete_file( $archive_pathname ); } $zip = new ZipArchive(); if ( true === $zip->open( $archive_pathname, ZipArchive::CREATE ) ) { if ( ! $zip->addFile( $json_report_pathname, 'export.json' ) ) { $error = __( 'Unable to archive the personal data export file (JSON format).' ); } if ( ! $zip->addFile( $html_report_pathname, 'index.html' ) ) { $error = __( 'Unable to archive the personal data export file (HTML format).' ); } $zip->close(); if ( ! $error ) { /** * Fires right after all personal data has been written to the export file. * * @since 4.9.6 * @since 5.4.0 Added the `$json_report_pathname` parameter. * * @param string $archive_pathname The full path to the export file on the filesystem. * @param string $archive_url The URL of the archive file. * @param string $html_report_pathname The full path to the HTML personal data report on the filesystem. * @param int $request_id The export request ID. * @param string $json_report_pathname The full path to the JSON personal data report on the filesystem. */ do_action( 'wp_privacy_personal_data_export_file_created', $archive_pathname, $archive_url, $html_report_pathname, $request_id, $json_report_pathname ); } } else { $error = __( 'Unable to open personal data export file (archive) for writing.' ); } // Remove the JSON file. unlink( $json_report_pathname ); // Remove the HTML file. unlink( $html_report_pathname ); if ( $error ) { wp_send_json_error( $error ); } } /** * Send an email to the user with a link to the personal data export file * * @since 4.9.6 * * @param int $request_id The request ID for this personal data export. * @return true|WP_Error True on success or `WP_Error` on failure. */ function wp_privacy_send_personal_data_export_email( $request_id ) { // Get the request. $request = wp_get_user_request( $request_id ); if ( ! $request || 'export_personal_data' !== $request->action_name ) { return new WP_Error( 'invalid_request', __( 'Invalid request ID when sending personal data export email.' ) ); } // Localize message content for user; fallback to site default for visitors. if ( ! empty( $request->user_id ) ) { $switched_locale = switch_to_user_locale( $request->user_id ); } else { $switched_locale = switch_to_locale( get_locale() ); } /** This filter is documented in wp-includes/functions.php */ $expiration = apply_filters( 'wp_privacy_export_expiration', 3 * DAY_IN_SECONDS ); $expiration_date = date_i18n( get_option( 'date_format' ), time() + $expiration ); $exports_url = wp_privacy_exports_url(); $export_file_name = get_post_meta( $request_id, '_export_file_name', true ); $export_file_url = $exports_url . $export_file_name; $site_name = wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES ); $site_url = home_url(); /** * Filters the recipient of the personal data export email notification. * Should be used with great caution to avoid sending the data export link to wrong emails. * * @since 5.3.0 * * @param string $request_email The email address of the notification recipient. * @param WP_User_Request $request The request that is initiating the notification. */ $request_email = apply_filters( 'wp_privacy_personal_data_email_to', $request->email, $request ); $email_data = array( 'request' => $request, 'expiration' => $expiration, 'expiration_date' => $expiration_date, 'message_recipient' => $request_email, 'export_file_url' => $export_file_url, 'sitename' => $site_name, 'siteurl' => $site_url, ); /* translators: Personal data export notification email subject. %s: Site title. */ $subject = sprintf( __( '[%s] Personal Data Export' ), $site_name ); /** * Filters the subject of the email sent when an export request is completed. * * @since 5.3.0 * * @param string $subject The email subject. * @param string $sitename The name of the site. * @param array $email_data { * Data relating to the account action email. * * @type WP_User_Request $request User request object. * @type int $expiration The time in seconds until the export file expires. * @type string $expiration_date The localized date and time when the export file expires. * @type string $message_recipient The address that the email will be sent to. Defaults * to the value of `$request->email`, but can be changed * by the `wp_privacy_personal_data_email_to` filter. * @type string $export_file_url The export file URL. * @type string $sitename The site name sending the mail. * @type string $siteurl The site URL sending the mail. * } */ $subject = apply_filters( 'wp_privacy_personal_data_email_subject', $subject, $site_name, $email_data ); /* translators: Do not translate EXPIRATION, LINK, SITENAME, SITEURL: those are placeholders. */ $email_text = __( 'Howdy, Your request for an export of personal data has been completed. You may download your personal data by clicking on the link below. For privacy and security, we will automatically delete the file on ###EXPIRATION###, so please download it before then. ###LINK### Regards, All at ###SITENAME### ###SITEURL###' ); /** * Filters the text of the email sent with a personal data export file. * * The following strings have a special meaning and will get replaced dynamically: * ###EXPIRATION### The date when the URL will be automatically deleted. * ###LINK### URL of the personal data export file for the user. * ###SITENAME### The name of the site. * ###SITEURL### The URL to the site. * * @since 4.9.6 * @since 5.3.0 Introduced the `$email_data` array. * * @param string $email_text Text in the email. * @param int $request_id The request ID for this personal data export. * @param array $email_data { * Data relating to the account action email. * * @type WP_User_Request $request User request object. * @type int $expiration The time in seconds until the export file expires. * @type string $expiration_date The localized date and time when the export file expires. * @type string $message_recipient The address that the email will be sent to. Defaults * to the value of `$request->email`, but can be changed * by the `wp_privacy_personal_data_email_to` filter. * @type string $export_file_url The export file URL. * @type string $sitename The site name sending the mail. * @type string $siteurl The site URL sending the mail. */ $content = apply_filters( 'wp_privacy_personal_data_email_content', $email_text, $request_id, $email_data ); $content = str_replace( '###EXPIRATION###', $expiration_date, $content ); $content = str_replace( '###LINK###', sanitize_url( $export_file_url ), $content ); $content = str_replace( '###EMAIL###', $request_email, $content ); $content = str_replace( '###SITENAME###', $site_name, $content ); $content = str_replace( '###SITEURL###', sanitize_url( $site_url ), $content ); $headers = ''; /** * Filters the headers of the email sent with a personal data export file. * * @since 5.4.0 * * @param string|array $headers The email headers. * @param string $subject The email subject. * @param string $content The email content. * @param int $request_id The request ID. * @param array $email_data { * Data relating to the account action email. * * @type WP_User_Request $request User request object. * @type int $expiration The time in seconds until the export file expires. * @type string $expiration_date The localized date and time when the export file expires. * @type string $message_recipient The address that the email will be sent to. Defaults * to the value of `$request->email`, but can be changed * by the `wp_privacy_personal_data_email_to` filter. * @type string $export_file_url The export file URL. * @type string $sitename The site name sending the mail. * @type string $siteurl The site URL sending the mail. * } */ $headers = apply_filters( 'wp_privacy_personal_data_email_headers', $headers, $subject, $content, $request_id, $email_data ); $mail_success = wp_mail( $request_email, $subject, $content, $headers ); if ( $switched_locale ) { restore_previous_locale(); } if ( ! $mail_success ) { return new WP_Error( 'privacy_email_error', __( 'Unable to send personal data export email.' ) ); } return true; } /** * Intercept personal data exporter page Ajax responses in order to assemble the personal data export file. * * @since 4.9.6 * * @see 'wp_privacy_personal_data_export_page' * * @param array $response The response from the personal data exporter for the given page. * @param int $exporter_index The index of the personal data exporter. Begins at 1. * @param string $email_address The email address of the user whose personal data this is. * @param int $page The page of personal data for this exporter. Begins at 1. * @param int $request_id The request ID for this personal data export. * @param bool $send_as_email Whether the final results of the export should be emailed to the user. * @param string $exporter_key The slug (key) of the exporter. * @return array The filtered response. */ function wp_privacy_process_personal_data_export_page( $response, $exporter_index, $email_address, $page, $request_id, $send_as_email, $exporter_key ) { /* Do some simple checks on the shape of the response from the exporter. * If the exporter response is malformed, don't attempt to consume it - let it * pass through to generate a warning to the user by default Ajax processing. */ if ( ! is_array( $response ) ) { return $response; } if ( ! array_key_exists( 'done', $response ) ) { return $response; } if ( ! array_key_exists( 'data', $response ) ) { return $response; } if ( ! is_array( $response['data'] ) ) { return $response; } // Get the request. $request = wp_get_user_request( $request_id ); if ( ! $request || 'export_personal_data' !== $request->action_name ) { wp_send_json_error( __( 'Invalid request ID when merging personal data to export.' ) ); } $export_data = array(); // First exporter, first page? Reset the report data accumulation array. if ( 1 === $exporter_index && 1 === $page ) { update_post_meta( $request_id, '_export_data_raw', $export_data ); } else { $accumulated_data = get_post_meta( $request_id, '_export_data_raw', true ); if ( $accumulated_data ) { $export_data = $accumulated_data; } } // Now, merge the data from the exporter response into the data we have accumulated already. $export_data = array_merge( $export_data, $response['data'] ); update_post_meta( $request_id, '_export_data_raw', $export_data ); // If we are not yet on the last page of the last exporter, return now. /** This filter is documented in wp-admin/includes/ajax-actions.php */ $exporters = apply_filters( 'wp_privacy_personal_data_exporters', array() ); $is_last_exporter = count( $exporters ) === $exporter_index; $exporter_done = $response['done']; if ( ! $is_last_exporter || ! $exporter_done ) { return $response; } // Last exporter, last page - let's prepare the export file. // First we need to re-organize the raw data hierarchically in groups and items. $groups = array(); foreach ( (array) $export_data as $export_datum ) { $group_id = $export_datum['group_id']; $group_label = $export_datum['group_label']; $group_description = ''; if ( ! empty( $export_datum['group_description'] ) ) { $group_description = $export_datum['group_description']; } if ( ! array_key_exists( $group_id, $groups ) ) { $groups[ $group_id ] = array( 'group_label' => $group_label, 'group_description' => $group_description, 'items' => array(), ); } $item_id = $export_datum['item_id']; if ( ! array_key_exists( $item_id, $groups[ $group_id ]['items'] ) ) { $groups[ $group_id ]['items'][ $item_id ] = array(); } $old_item_data = $groups[ $group_id ]['items'][ $item_id ]; $merged_item_data = array_merge( $export_datum['data'], $old_item_data ); $groups[ $group_id ]['items'][ $item_id ] = $merged_item_data; } // Then save the grouped data into the request. delete_post_meta( $request_id, '_export_data_raw' ); update_post_meta( $request_id, '_export_data_grouped', $groups ); /** * Generate the export file from the collected, grouped personal data. * * @since 4.9.6 * * @param int $request_id The export request ID. */ do_action( 'wp_privacy_personal_data_export_file', $request_id ); // Clear the grouped data now that it is no longer needed. delete_post_meta( $request_id, '_export_data_grouped' ); // If the destination is email, send it now. if ( $send_as_email ) { $mail_success = wp_privacy_send_personal_data_export_email( $request_id ); if ( is_wp_error( $mail_success ) ) { wp_send_json_error( $mail_success->get_error_message() ); } // Update the request to completed state when the export email is sent. _wp_privacy_completed_request( $request_id ); } else { // Modify the response to include the URL of the export file so the browser can fetch it. $exports_url = wp_privacy_exports_url(); $export_file_name = get_post_meta( $request_id, '_export_file_name', true ); $export_file_url = $exports_url . $export_file_name; if ( ! empty( $export_file_url ) ) { $response['url'] = $export_file_url; } } return $response; } /** * Mark erasure requests as completed after processing is finished. * * This intercepts the Ajax responses to personal data eraser page requests, and * monitors the status of a request. Once all of the processing has finished, the * request is marked as completed. * * @since 4.9.6 * * @see 'wp_privacy_personal_data_erasure_page' * * @param array $response The response from the personal data eraser for * the given page. * @param int $eraser_index The index of the personal data eraser. Begins * at 1. * @param string $email_address The email address of the user whose personal * data this is. * @param int $page The page of personal data for this eraser. * Begins at 1. * @param int $request_id The request ID for this personal data erasure. * @return array The filtered response. */ function wp_privacy_process_personal_data_erasure_page( $response, $eraser_index, $email_address, $page, $request_id ) { /* * If the eraser response is malformed, don't attempt to consume it; let it * pass through, so that the default Ajax processing will generate a warning * to the user. */ if ( ! is_array( $response ) ) { return $response; } if ( ! array_key_exists( 'done', $response ) ) { return $response; } if ( ! array_key_exists( 'items_removed', $response ) ) { return $response; } if ( ! array_key_exists( 'items_retained', $response ) ) { return $response; } if ( ! array_key_exists( 'messages', $response ) ) { return $response; } // Get the request. $request = wp_get_user_request( $request_id ); if ( ! $request || 'remove_personal_data' !== $request->action_name ) { wp_send_json_error( __( 'Invalid request ID when processing personal data to erase.' ) ); } /** This filter is documented in wp-admin/includes/ajax-actions.php */ $erasers = apply_filters( 'wp_privacy_personal_data_erasers', array() ); $is_last_eraser = count( $erasers ) === $eraser_index; $eraser_done = $response['done']; if ( ! $is_last_eraser || ! $eraser_done ) { return $response; } _wp_privacy_completed_request( $request_id ); /** * Fires immediately after a personal data erasure request has been marked completed. * * @since 4.9.6 * * @param int $request_id The privacy request post ID associated with this request. */ do_action( 'wp_privacy_personal_data_erased', $request_id ); return $response; } class-wp-ajax-upgrader-skin.php 0000644 00000010141 14735706075 0012513 0 ustar 00 <?php /** * Upgrader API: WP_Ajax_Upgrader_Skin class * * @package WordPress * @subpackage Upgrader * @since 4.6.0 */ /** * Upgrader Skin for Ajax WordPress upgrades. * * This skin is designed to be used for Ajax updates. * * @since 4.6.0 * * @see Automatic_Upgrader_Skin */ class WP_Ajax_Upgrader_Skin extends Automatic_Upgrader_Skin { /** * Plugin info. * * The Plugin_Upgrader::bulk_upgrade() method will fill this in * with info retrieved from the get_plugin_data() function. * * @var array Plugin data. Values will be empty if not supplied by the plugin. */ public $plugin_info = array(); /** * Theme info. * * The Theme_Upgrader::bulk_upgrade() method will fill this in * with info retrieved from the Theme_Upgrader::theme_info() method, * which in turn calls the wp_get_theme() function. * * @var WP_Theme|false The theme's info object, or false. */ public $theme_info = false; /** * Holds the WP_Error object. * * @since 4.6.0 * * @var null|WP_Error */ protected $errors = null; /** * Constructor. * * Sets up the WordPress Ajax upgrader skin. * * @since 4.6.0 * * @see WP_Upgrader_Skin::__construct() * * @param array $args Optional. The WordPress Ajax upgrader skin arguments to * override default options. See WP_Upgrader_Skin::__construct(). * Default empty array. */ public function __construct( $args = array() ) { parent::__construct( $args ); $this->errors = new WP_Error(); } /** * Retrieves the list of errors. * * @since 4.6.0 * * @return WP_Error Errors during an upgrade. */ public function get_errors() { return $this->errors; } /** * Retrieves a string for error messages. * * @since 4.6.0 * * @return string Error messages during an upgrade. */ public function get_error_messages() { $messages = array(); foreach ( $this->errors->get_error_codes() as $error_code ) { $error_data = $this->errors->get_error_data( $error_code ); if ( $error_data && is_string( $error_data ) ) { $messages[] = $this->errors->get_error_message( $error_code ) . ' ' . esc_html( strip_tags( $error_data ) ); } else { $messages[] = $this->errors->get_error_message( $error_code ); } } return implode( ', ', $messages ); } /** * Stores an error message about the upgrade. * * @since 4.6.0 * @since 5.3.0 Formalized the existing `...$args` parameter by adding it * to the function signature. * * @param string|WP_Error $errors Errors. * @param mixed ...$args Optional text replacements. */ public function error( $errors, ...$args ) { if ( is_string( $errors ) ) { $string = $errors; if ( ! empty( $this->upgrader->strings[ $string ] ) ) { $string = $this->upgrader->strings[ $string ]; } if ( str_contains( $string, '%' ) ) { if ( ! empty( $args ) ) { $string = vsprintf( $string, $args ); } } // Count existing errors to generate a unique error code. $errors_count = count( $this->errors->get_error_codes() ); $this->errors->add( 'unknown_upgrade_error_' . ( $errors_count + 1 ), $string ); } elseif ( is_wp_error( $errors ) ) { foreach ( $errors->get_error_codes() as $error_code ) { $this->errors->add( $error_code, $errors->get_error_message( $error_code ), $errors->get_error_data( $error_code ) ); } } parent::error( $errors, ...$args ); } /** * Stores a message about the upgrade. * * @since 4.6.0 * @since 5.3.0 Formalized the existing `...$args` parameter by adding it * to the function signature. * @since 5.9.0 Renamed `$data` to `$feedback` for PHP 8 named parameter support. * * @param string|array|WP_Error $feedback Message data. * @param mixed ...$args Optional text replacements. */ public function feedback( $feedback, ...$args ) { if ( is_wp_error( $feedback ) ) { foreach ( $feedback->get_error_codes() as $error_code ) { $this->errors->add( $error_code, $feedback->get_error_message( $error_code ), $feedback->get_error_data( $error_code ) ); } } parent::feedback( $feedback, ...$args ); } } class-wp-upgrader-skin.php 0000644 00000015706 14735706075 0011606 0 ustar 00 <?php /** * Upgrader API: WP_Upgrader_Skin class * * @package WordPress * @subpackage Upgrader * @since 4.6.0 */ /** * Generic Skin for the WordPress Upgrader classes. This skin is designed to be extended for specific purposes. * * @since 2.8.0 * @since 4.6.0 Moved to its own file from wp-admin/includes/class-wp-upgrader-skins.php. */ #[AllowDynamicProperties] class WP_Upgrader_Skin { /** * Holds the upgrader data. * * @since 2.8.0 * @var WP_Upgrader */ public $upgrader; /** * Whether header is done. * * @since 2.8.0 * @var bool */ public $done_header = false; /** * Whether footer is done. * * @since 2.8.0 * @var bool */ public $done_footer = false; /** * Holds the result of an upgrade. * * @since 2.8.0 * @var string|bool|WP_Error */ public $result = false; /** * Holds the options of an upgrade. * * @since 2.8.0 * @var array */ public $options = array(); /** * Constructor. * * Sets up the generic skin for the WordPress Upgrader classes. * * @since 2.8.0 * * @param array $args Optional. The WordPress upgrader skin arguments to * override default options. Default empty array. */ public function __construct( $args = array() ) { $defaults = array( 'url' => '', 'nonce' => '', 'title' => '', 'context' => false, ); $this->options = wp_parse_args( $args, $defaults ); } /** * Sets the relationship between the skin being used and the upgrader. * * @since 2.8.0 * * @param WP_Upgrader $upgrader */ public function set_upgrader( &$upgrader ) { if ( is_object( $upgrader ) ) { $this->upgrader =& $upgrader; } $this->add_strings(); } /** * Sets up the strings used in the update process. * * @since 3.0.0 */ public function add_strings() { } /** * Sets the result of an upgrade. * * @since 2.8.0 * * @param string|bool|WP_Error $result The result of an upgrade. */ public function set_result( $result ) { $this->result = $result; } /** * Displays a form to the user to request for their FTP/SSH details in order * to connect to the filesystem. * * @since 2.8.0 * @since 4.6.0 The `$context` parameter default changed from `false` to an empty string. * * @see request_filesystem_credentials() * * @param bool|WP_Error $error Optional. Whether the current request has failed to connect, * or an error object. Default false. * @param string $context Optional. Full path to the directory that is tested * for being writable. Default empty. * @param bool $allow_relaxed_file_ownership Optional. Whether to allow Group/World writable. Default false. * @return bool True on success, false on failure. */ public function request_filesystem_credentials( $error = false, $context = '', $allow_relaxed_file_ownership = false ) { $url = $this->options['url']; if ( ! $context ) { $context = $this->options['context']; } if ( ! empty( $this->options['nonce'] ) ) { $url = wp_nonce_url( $url, $this->options['nonce'] ); } $extra_fields = array(); return request_filesystem_credentials( $url, '', $error, $context, $extra_fields, $allow_relaxed_file_ownership ); } /** * Displays the header before the update process. * * @since 2.8.0 */ public function header() { if ( $this->done_header ) { return; } $this->done_header = true; echo '<div class="wrap">'; echo '<h1>' . $this->options['title'] . '</h1>'; } /** * Displays the footer following the update process. * * @since 2.8.0 */ public function footer() { if ( $this->done_footer ) { return; } $this->done_footer = true; echo '</div>'; } /** * Displays an error message about the update. * * @since 2.8.0 * * @param string|WP_Error $errors Errors. */ public function error( $errors ) { if ( ! $this->done_header ) { $this->header(); } if ( is_string( $errors ) ) { $this->feedback( $errors ); } elseif ( is_wp_error( $errors ) && $errors->has_errors() ) { foreach ( $errors->get_error_messages() as $message ) { if ( $errors->get_error_data() && is_string( $errors->get_error_data() ) ) { $this->feedback( $message . ' ' . esc_html( strip_tags( $errors->get_error_data() ) ) ); } else { $this->feedback( $message ); } } } } /** * Displays a message about the update. * * @since 2.8.0 * @since 5.9.0 Renamed `$string` (a PHP reserved keyword) to `$feedback` for PHP 8 named parameter support. * * @param string $feedback Message data. * @param mixed ...$args Optional text replacements. */ public function feedback( $feedback, ...$args ) { if ( isset( $this->upgrader->strings[ $feedback ] ) ) { $feedback = $this->upgrader->strings[ $feedback ]; } if ( str_contains( $feedback, '%' ) ) { if ( $args ) { $args = array_map( 'strip_tags', $args ); $args = array_map( 'esc_html', $args ); $feedback = vsprintf( $feedback, $args ); } } if ( empty( $feedback ) ) { return; } show_message( $feedback ); } /** * Performs an action before an update. * * @since 2.8.0 */ public function before() {} /** * Performs an action following an update. * * @since 2.8.0 */ public function after() {} /** * Outputs JavaScript that calls function to decrement the update counts. * * @since 3.9.0 * * @param string $type Type of update count to decrement. Likely values include 'plugin', * 'theme', 'translation', etc. */ protected function decrement_update_count( $type ) { if ( ! $this->result || is_wp_error( $this->result ) || 'up_to_date' === $this->result ) { return; } if ( defined( 'IFRAME_REQUEST' ) ) { echo '<script type="text/javascript"> if ( window.postMessage && JSON ) { window.parent.postMessage( JSON.stringify( { action: "decrementUpdateCount", upgradeType: "' . $type . '" } ), window.location.protocol + "//" + window.location.hostname + ( "" !== window.location.port ? ":" + window.location.port : "" ) ); } </script>'; } else { echo '<script type="text/javascript"> (function( wp ) { if ( wp && wp.updates && wp.updates.decrementCount ) { wp.updates.decrementCount( "' . $type . '" ); } })( window.wp ); </script>'; } } /** * Displays the header before the bulk update process. * * @since 3.0.0 */ public function bulk_header() {} /** * Displays the footer following the bulk update process. * * @since 3.0.0 */ public function bulk_footer() {} /** * Hides the `process_failed` error message when updating by uploading a zip file. * * @since 5.5.0 * * @param WP_Error $wp_error WP_Error object. * @return bool True if the error should be hidden, false otherwise. */ public function hide_process_failed( $wp_error ) { return false; } } class-bulk-upgrader-skin.php 0000644 00000015141 14735706075 0012106 0 ustar 00 <?php /** * Upgrader API: Bulk_Upgrader_Skin class * * @package WordPress * @subpackage Upgrader * @since 4.6.0 */ /** * Generic Bulk Upgrader Skin for WordPress Upgrades. * * @since 3.0.0 * @since 4.6.0 Moved to its own file from wp-admin/includes/class-wp-upgrader-skins.php. * * @see WP_Upgrader_Skin */ class Bulk_Upgrader_Skin extends WP_Upgrader_Skin { /** * Whether the bulk update process has started. * * @since 3.0.0 * @var bool */ public $in_loop = false; /** * Stores an error message about the update. * * @since 3.0.0 * @var string|false */ public $error = false; /** * Constructor. * * Sets up the generic skin for the Bulk Upgrader classes. * * @since 3.0.0 * * @param array $args */ public function __construct( $args = array() ) { $defaults = array( 'url' => '', 'nonce' => '', ); $args = wp_parse_args( $args, $defaults ); parent::__construct( $args ); } /** * Sets up the strings used in the update process. * * @since 3.0.0 */ public function add_strings() { $this->upgrader->strings['skin_upgrade_start'] = __( 'The update process is starting. This process may take a while on some hosts, so please be patient.' ); /* translators: 1: Title of an update, 2: Error message. */ $this->upgrader->strings['skin_update_failed_error'] = __( 'An error occurred while updating %1$s: %2$s' ); /* translators: %s: Title of an update. */ $this->upgrader->strings['skin_update_failed'] = __( 'The update of %s failed.' ); /* translators: %s: Title of an update. */ $this->upgrader->strings['skin_update_successful'] = __( '%s updated successfully.' ); $this->upgrader->strings['skin_upgrade_end'] = __( 'All updates have been completed.' ); } /** * Displays a message about the update. * * @since 3.0.0 * @since 5.9.0 Renamed `$string` (a PHP reserved keyword) to `$feedback` for PHP 8 named parameter support. * * @param string $feedback Message data. * @param mixed ...$args Optional text replacements. */ public function feedback( $feedback, ...$args ) { if ( isset( $this->upgrader->strings[ $feedback ] ) ) { $feedback = $this->upgrader->strings[ $feedback ]; } if ( str_contains( $feedback, '%' ) ) { if ( $args ) { $args = array_map( 'strip_tags', $args ); $args = array_map( 'esc_html', $args ); $feedback = vsprintf( $feedback, $args ); } } if ( empty( $feedback ) ) { return; } if ( $this->in_loop ) { echo "$feedback<br />\n"; } else { echo "<p>$feedback</p>\n"; } } /** * Displays the header before the update process. * * @since 3.0.0 */ public function header() { // Nothing. This will be displayed within an iframe. } /** * Displays the footer following the update process. * * @since 3.0.0 */ public function footer() { // Nothing. This will be displayed within an iframe. } /** * Displays an error message about the update. * * @since 3.0.0 * @since 5.9.0 Renamed `$error` to `$errors` for PHP 8 named parameter support. * * @param string|WP_Error $errors Errors. */ public function error( $errors ) { if ( is_string( $errors ) && isset( $this->upgrader->strings[ $errors ] ) ) { $this->error = $this->upgrader->strings[ $errors ]; } if ( is_wp_error( $errors ) ) { $messages = array(); foreach ( $errors->get_error_messages() as $emessage ) { if ( $errors->get_error_data() && is_string( $errors->get_error_data() ) ) { $messages[] = $emessage . ' ' . esc_html( strip_tags( $errors->get_error_data() ) ); } else { $messages[] = $emessage; } } $this->error = implode( ', ', $messages ); } echo '<script type="text/javascript">jQuery(\'.waiting-' . esc_js( $this->upgrader->update_current ) . '\').hide();</script>'; } /** * Displays the header before the bulk update process. * * @since 3.0.0 */ public function bulk_header() { $this->feedback( 'skin_upgrade_start' ); } /** * Displays the footer following the bulk update process. * * @since 3.0.0 */ public function bulk_footer() { $this->feedback( 'skin_upgrade_end' ); } /** * Performs an action before a bulk update. * * @since 3.0.0 * * @param string $title */ public function before( $title = '' ) { $this->in_loop = true; printf( '<h2>' . $this->upgrader->strings['skin_before_update_header'] . ' <span class="spinner waiting-' . $this->upgrader->update_current . '"></span></h2>', $title, $this->upgrader->update_current, $this->upgrader->update_count ); echo '<script type="text/javascript">jQuery(\'.waiting-' . esc_js( $this->upgrader->update_current ) . '\').css("display", "inline-block");</script>'; // This progress messages div gets moved via JavaScript when clicking on "More details.". echo '<div class="update-messages hide-if-js" id="progress-' . esc_attr( $this->upgrader->update_current ) . '"><p>'; $this->flush_output(); } /** * Performs an action following a bulk update. * * @since 3.0.0 * * @param string $title */ public function after( $title = '' ) { echo '</p></div>'; if ( $this->error || ! $this->result ) { if ( $this->error ) { $after_error_message = sprintf( $this->upgrader->strings['skin_update_failed_error'], $title, '<strong>' . $this->error . '</strong>' ); } else { $after_error_message = sprintf( $this->upgrader->strings['skin_update_failed'], $title ); } wp_admin_notice( $after_error_message, array( 'additional_classes' => array( 'error' ), ) ); echo '<script type="text/javascript">jQuery(\'#progress-' . esc_js( $this->upgrader->update_current ) . '\').show();</script>'; } if ( $this->result && ! is_wp_error( $this->result ) ) { if ( ! $this->error ) { echo '<div class="updated js-update-details" data-update-details="progress-' . esc_attr( $this->upgrader->update_current ) . '">' . '<p>' . sprintf( $this->upgrader->strings['skin_update_successful'], $title ) . ' <button type="button" class="hide-if-no-js button-link js-update-details-toggle" aria-expanded="false">' . __( 'More details.' ) . '<span class="dashicons dashicons-arrow-down" aria-hidden="true"></span></button>' . '</p></div>'; } echo '<script type="text/javascript">jQuery(\'.waiting-' . esc_js( $this->upgrader->update_current ) . '\').hide();</script>'; } $this->reset(); $this->flush_output(); } /** * Resets the properties used in the update process. * * @since 3.0.0 */ public function reset() { $this->in_loop = false; $this->error = false; } /** * Flushes all output buffers. * * @since 3.0.0 */ public function flush_output() { wp_ob_end_flush_all(); flush(); } } class-language-pack-upgrader-skin.php 0000644 00000005466 14735706075 0013661 0 ustar 00 <?php /** * Upgrader API: Language_Pack_Upgrader_Skin class * * @package WordPress * @subpackage Upgrader * @since 4.6.0 */ /** * Translation Upgrader Skin for WordPress Translation Upgrades. * * @since 3.7.0 * @since 4.6.0 Moved to its own file from wp-admin/includes/class-wp-upgrader-skins.php. * * @see WP_Upgrader_Skin */ class Language_Pack_Upgrader_Skin extends WP_Upgrader_Skin { public $language_update = null; public $done_header = false; public $done_footer = false; public $display_footer_actions = true; /** * Constructor. * * Sets up the language pack upgrader skin. * * @since 3.7.0 * * @param array $args */ public function __construct( $args = array() ) { $defaults = array( 'url' => '', 'nonce' => '', 'title' => __( 'Update Translations' ), 'skip_header_footer' => false, ); $args = wp_parse_args( $args, $defaults ); if ( $args['skip_header_footer'] ) { $this->done_header = true; $this->done_footer = true; $this->display_footer_actions = false; } parent::__construct( $args ); } /** * Performs an action before a language pack update. * * @since 3.7.0 */ public function before() { $name = $this->upgrader->get_name_for_update( $this->language_update ); echo '<div class="update-messages lp-show-latest">'; /* translators: 1: Project name (plugin, theme, or WordPress), 2: Language. */ printf( '<h2>' . __( 'Updating translations for %1$s (%2$s)…' ) . '</h2>', $name, $this->language_update->language ); } /** * Displays an error message about the update. * * @since 3.7.0 * @since 5.9.0 Renamed `$error` to `$errors` for PHP 8 named parameter support. * * @param string|WP_Error $errors Errors. */ public function error( $errors ) { echo '<div class="lp-error">'; parent::error( $errors ); echo '</div>'; } /** * Performs an action following a language pack update. * * @since 3.7.0 */ public function after() { echo '</div>'; } /** * Displays the footer following the bulk update process. * * @since 3.7.0 */ public function bulk_footer() { $this->decrement_update_count( 'translation' ); $update_actions = array( 'updates_page' => sprintf( '<a href="%s" target="_parent">%s</a>', self_admin_url( 'update-core.php' ), __( 'Go to WordPress Updates page' ) ), ); /** * Filters the list of action links available following a translations update. * * @since 3.7.0 * * @param string[] $update_actions Array of translations update links. */ $update_actions = apply_filters( 'update_translations_complete_actions', $update_actions ); if ( $update_actions && $this->display_footer_actions ) { $this->feedback( implode( ' | ', $update_actions ) ); } } } ajax-actions.php 0000644 00000450113 14735706075 0007660 0 ustar 00 <?php /** * Administration API: Core Ajax handlers * * @package WordPress * @subpackage Administration * @since 2.1.0 */ // // No-privilege Ajax handlers. // /** * Handles the Heartbeat API in the no-privilege context via AJAX . * * Runs when the user is not logged in. * * @since 3.6.0 */ function wp_ajax_nopriv_heartbeat() { $response = array(); // 'screen_id' is the same as $current_screen->id and the JS global 'pagenow'. if ( ! empty( $_POST['screen_id'] ) ) { $screen_id = sanitize_key( $_POST['screen_id'] ); } else { $screen_id = 'front'; } if ( ! empty( $_POST['data'] ) ) { $data = wp_unslash( (array) $_POST['data'] ); /** * Filters Heartbeat Ajax response in no-privilege environments. * * @since 3.6.0 * * @param array $response The no-priv Heartbeat response. * @param array $data The $_POST data sent. * @param string $screen_id The screen ID. */ $response = apply_filters( 'heartbeat_nopriv_received', $response, $data, $screen_id ); } /** * Filters Heartbeat Ajax response in no-privilege environments when no data is passed. * * @since 3.6.0 * * @param array $response The no-priv Heartbeat response. * @param string $screen_id The screen ID. */ $response = apply_filters( 'heartbeat_nopriv_send', $response, $screen_id ); /** * Fires when Heartbeat ticks in no-privilege environments. * * Allows the transport to be easily replaced with long-polling. * * @since 3.6.0 * * @param array $response The no-priv Heartbeat response. * @param string $screen_id The screen ID. */ do_action( 'heartbeat_nopriv_tick', $response, $screen_id ); // Send the current time according to the server. $response['server_time'] = time(); wp_send_json( $response ); } // // GET-based Ajax handlers. // /** * Handles fetching a list table via AJAX. * * @since 3.1.0 */ function wp_ajax_fetch_list() { $list_class = $_GET['list_args']['class']; check_ajax_referer( "fetch-list-$list_class", '_ajax_fetch_list_nonce' ); $wp_list_table = _get_list_table( $list_class, array( 'screen' => $_GET['list_args']['screen']['id'] ) ); if ( ! $wp_list_table ) { wp_die( 0 ); } if ( ! $wp_list_table->ajax_user_can() ) { wp_die( -1 ); } $wp_list_table->ajax_response(); wp_die( 0 ); } /** * Handles tag search via AJAX. * * @since 3.1.0 */ function wp_ajax_ajax_tag_search() { if ( ! isset( $_GET['tax'] ) ) { wp_die( 0 ); } $taxonomy = sanitize_key( $_GET['tax'] ); $taxonomy_object = get_taxonomy( $taxonomy ); if ( ! $taxonomy_object ) { wp_die( 0 ); } if ( ! current_user_can( $taxonomy_object->cap->assign_terms ) ) { wp_die( -1 ); } $search = wp_unslash( $_GET['q'] ); $comma = _x( ',', 'tag delimiter' ); if ( ',' !== $comma ) { $search = str_replace( $comma, ',', $search ); } if ( str_contains( $search, ',' ) ) { $search = explode( ',', $search ); $search = $search[ count( $search ) - 1 ]; } $search = trim( $search ); /** * Filters the minimum number of characters required to fire a tag search via Ajax. * * @since 4.0.0 * * @param int $characters The minimum number of characters required. Default 2. * @param WP_Taxonomy $taxonomy_object The taxonomy object. * @param string $search The search term. */ $term_search_min_chars = (int) apply_filters( 'term_search_min_chars', 2, $taxonomy_object, $search ); /* * Require $term_search_min_chars chars for matching (default: 2) * ensure it's a non-negative, non-zero integer. */ if ( ( 0 === $term_search_min_chars ) || ( strlen( $search ) < $term_search_min_chars ) ) { wp_die(); } $results = get_terms( array( 'taxonomy' => $taxonomy, 'name__like' => $search, 'fields' => 'names', 'hide_empty' => false, 'number' => isset( $_GET['number'] ) ? (int) $_GET['number'] : 0, ) ); /** * Filters the Ajax term search results. * * @since 6.1.0 * * @param string[] $results Array of term names. * @param WP_Taxonomy $taxonomy_object The taxonomy object. * @param string $search The search term. */ $results = apply_filters( 'ajax_term_search_results', $results, $taxonomy_object, $search ); echo implode( "\n", $results ); wp_die(); } /** * Handles compression testing via AJAX. * * @since 3.1.0 */ function wp_ajax_wp_compression_test() { if ( ! current_user_can( 'manage_options' ) ) { wp_die( -1 ); } if ( ini_get( 'zlib.output_compression' ) || 'ob_gzhandler' === ini_get( 'output_handler' ) ) { // Use `update_option()` on single site to mark the option for autoloading. if ( is_multisite() ) { update_site_option( 'can_compress_scripts', 0 ); } else { update_option( 'can_compress_scripts', 0, true ); } wp_die( 0 ); } if ( isset( $_GET['test'] ) ) { header( 'Expires: Wed, 11 Jan 1984 05:00:00 GMT' ); header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' ); header( 'Cache-Control: no-cache, must-revalidate, max-age=0' ); header( 'Content-Type: application/javascript; charset=UTF-8' ); $force_gzip = ( defined( 'ENFORCE_GZIP' ) && ENFORCE_GZIP ); $test_str = '"wpCompressionTest Lorem ipsum dolor sit amet consectetuer mollis sapien urna ut a. Eu nonummy condimentum fringilla tempor pretium platea vel nibh netus Maecenas. Hac molestie amet justo quis pellentesque est ultrices interdum nibh Morbi. Cras mattis pretium Phasellus ante ipsum ipsum ut sociis Suspendisse Lorem. Ante et non molestie. Porta urna Vestibulum egestas id congue nibh eu risus gravida sit. Ac augue auctor Ut et non a elit massa id sodales. Elit eu Nulla at nibh adipiscing mattis lacus mauris at tempus. Netus nibh quis suscipit nec feugiat eget sed lorem et urna. Pellentesque lacus at ut massa consectetuer ligula ut auctor semper Pellentesque. Ut metus massa nibh quam Curabitur molestie nec mauris congue. Volutpat molestie elit justo facilisis neque ac risus Ut nascetur tristique. Vitae sit lorem tellus et quis Phasellus lacus tincidunt nunc Fusce. Pharetra wisi Suspendisse mus sagittis libero lacinia Integer consequat ac Phasellus. Et urna ac cursus tortor aliquam Aliquam amet tellus volutpat Vestibulum. Justo interdum condimentum In augue congue tellus sollicitudin Quisque quis nibh."'; if ( '1' === $_GET['test'] ) { echo $test_str; wp_die(); } elseif ( '2' === $_GET['test'] ) { if ( ! isset( $_SERVER['HTTP_ACCEPT_ENCODING'] ) ) { wp_die( -1 ); } if ( false !== stripos( $_SERVER['HTTP_ACCEPT_ENCODING'], 'deflate' ) && function_exists( 'gzdeflate' ) && ! $force_gzip ) { header( 'Content-Encoding: deflate' ); $out = gzdeflate( $test_str, 1 ); } elseif ( false !== stripos( $_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip' ) && function_exists( 'gzencode' ) ) { header( 'Content-Encoding: gzip' ); $out = gzencode( $test_str, 1 ); } else { wp_die( -1 ); } echo $out; wp_die(); } elseif ( 'no' === $_GET['test'] ) { check_ajax_referer( 'update_can_compress_scripts' ); // Use `update_option()` on single site to mark the option for autoloading. if ( is_multisite() ) { update_site_option( 'can_compress_scripts', 0 ); } else { update_option( 'can_compress_scripts', 0, true ); } } elseif ( 'yes' === $_GET['test'] ) { check_ajax_referer( 'update_can_compress_scripts' ); // Use `update_option()` on single site to mark the option for autoloading. if ( is_multisite() ) { update_site_option( 'can_compress_scripts', 1 ); } else { update_option( 'can_compress_scripts', 1, true ); } } } wp_die( 0 ); } /** * Handles image editor previews via AJAX. * * @since 3.1.0 */ function wp_ajax_imgedit_preview() { $post_id = (int) $_GET['postid']; if ( empty( $post_id ) || ! current_user_can( 'edit_post', $post_id ) ) { wp_die( -1 ); } check_ajax_referer( "image_editor-$post_id" ); require_once ABSPATH . 'wp-admin/includes/image-edit.php'; if ( ! stream_preview_image( $post_id ) ) { wp_die( -1 ); } wp_die(); } /** * Handles oEmbed caching via AJAX. * * @since 3.1.0 * * @global WP_Embed $wp_embed WordPress Embed object. */ function wp_ajax_oembed_cache() { $GLOBALS['wp_embed']->cache_oembed( $_GET['post'] ); wp_die( 0 ); } /** * Handles user autocomplete via AJAX. * * @since 3.4.0 */ function wp_ajax_autocomplete_user() { if ( ! is_multisite() || ! current_user_can( 'promote_users' ) || wp_is_large_network( 'users' ) ) { wp_die( -1 ); } /** This filter is documented in wp-admin/user-new.php */ if ( ! current_user_can( 'manage_network_users' ) && ! apply_filters( 'autocomplete_users_for_site_admins', false ) ) { wp_die( -1 ); } $return = array(); /* * Check the type of request. * Current allowed values are `add` and `search`. */ if ( isset( $_REQUEST['autocomplete_type'] ) && 'search' === $_REQUEST['autocomplete_type'] ) { $type = $_REQUEST['autocomplete_type']; } else { $type = 'add'; } /* * Check the desired field for value. * Current allowed values are `user_email` and `user_login`. */ if ( isset( $_REQUEST['autocomplete_field'] ) && 'user_email' === $_REQUEST['autocomplete_field'] ) { $field = $_REQUEST['autocomplete_field']; } else { $field = 'user_login'; } // Exclude current users of this blog. if ( isset( $_REQUEST['site_id'] ) ) { $id = absint( $_REQUEST['site_id'] ); } else { $id = get_current_blog_id(); } $include_blog_users = ( 'search' === $type ? get_users( array( 'blog_id' => $id, 'fields' => 'ID', ) ) : array() ); $exclude_blog_users = ( 'add' === $type ? get_users( array( 'blog_id' => $id, 'fields' => 'ID', ) ) : array() ); $users = get_users( array( 'blog_id' => false, 'search' => '*' . $_REQUEST['term'] . '*', 'include' => $include_blog_users, 'exclude' => $exclude_blog_users, 'search_columns' => array( 'user_login', 'user_nicename', 'user_email' ), ) ); foreach ( $users as $user ) { $return[] = array( /* translators: 1: User login, 2: User email address. */ 'label' => sprintf( _x( '%1$s (%2$s)', 'user autocomplete result' ), $user->user_login, $user->user_email ), 'value' => $user->$field, ); } wp_die( wp_json_encode( $return ) ); } /** * Handles Ajax requests for community events * * @since 4.8.0 */ function wp_ajax_get_community_events() { require_once ABSPATH . 'wp-admin/includes/class-wp-community-events.php'; check_ajax_referer( 'community_events' ); $search = isset( $_POST['location'] ) ? wp_unslash( $_POST['location'] ) : ''; $timezone = isset( $_POST['timezone'] ) ? wp_unslash( $_POST['timezone'] ) : ''; $user_id = get_current_user_id(); $saved_location = get_user_option( 'community-events-location', $user_id ); $events_client = new WP_Community_Events( $user_id, $saved_location ); $events = $events_client->get_events( $search, $timezone ); $ip_changed = false; if ( is_wp_error( $events ) ) { wp_send_json_error( array( 'error' => $events->get_error_message(), ) ); } else { if ( empty( $saved_location['ip'] ) && ! empty( $events['location']['ip'] ) ) { $ip_changed = true; } elseif ( isset( $saved_location['ip'] ) && ! empty( $events['location']['ip'] ) && $saved_location['ip'] !== $events['location']['ip'] ) { $ip_changed = true; } /* * The location should only be updated when it changes. The API doesn't always return * a full location; sometimes it's missing the description or country. The location * that was saved during the initial request is known to be good and complete, though. * It should be left intact until the user explicitly changes it (either by manually * searching for a new location, or by changing their IP address). * * If the location was updated with an incomplete response from the API, then it could * break assumptions that the UI makes (e.g., that there will always be a description * that corresponds to a latitude/longitude location). * * The location is stored network-wide, so that the user doesn't have to set it on each site. */ if ( $ip_changed || $search ) { update_user_meta( $user_id, 'community-events-location', $events['location'] ); } wp_send_json_success( $events ); } } /** * Handles dashboard widgets via AJAX. * * @since 3.4.0 */ function wp_ajax_dashboard_widgets() { require_once ABSPATH . 'wp-admin/includes/dashboard.php'; $pagenow = $_GET['pagenow']; if ( 'dashboard-user' === $pagenow || 'dashboard-network' === $pagenow || 'dashboard' === $pagenow ) { set_current_screen( $pagenow ); } switch ( $_GET['widget'] ) { case 'dashboard_primary': wp_dashboard_primary(); break; } wp_die(); } /** * Handles Customizer preview logged-in status via AJAX. * * @since 3.4.0 */ function wp_ajax_logged_in() { wp_die( 1 ); } // // Ajax helpers. // /** * Sends back current comment total and new page links if they need to be updated. * * Contrary to normal success Ajax response ("1"), die with time() on success. * * @since 2.7.0 * @access private * * @param int $comment_id * @param int $delta */ function _wp_ajax_delete_comment_response( $comment_id, $delta = -1 ) { $total = isset( $_POST['_total'] ) ? (int) $_POST['_total'] : 0; $per_page = isset( $_POST['_per_page'] ) ? (int) $_POST['_per_page'] : 0; $page = isset( $_POST['_page'] ) ? (int) $_POST['_page'] : 0; $url = isset( $_POST['_url'] ) ? sanitize_url( $_POST['_url'] ) : ''; // JS didn't send us everything we need to know. Just die with success message. if ( ! $total || ! $per_page || ! $page || ! $url ) { $time = time(); $comment = get_comment( $comment_id ); $comment_status = ''; $comment_link = ''; if ( $comment ) { $comment_status = $comment->comment_approved; } if ( 1 === (int) $comment_status ) { $comment_link = get_comment_link( $comment ); } $counts = wp_count_comments(); $x = new WP_Ajax_Response( array( 'what' => 'comment', // Here for completeness - not used. 'id' => $comment_id, 'supplemental' => array( 'status' => $comment_status, 'postId' => $comment ? $comment->comment_post_ID : '', 'time' => $time, 'in_moderation' => $counts->moderated, 'i18n_comments_text' => sprintf( /* translators: %s: Number of comments. */ _n( '%s Comment', '%s Comments', $counts->approved ), number_format_i18n( $counts->approved ) ), 'i18n_moderation_text' => sprintf( /* translators: %s: Number of comments. */ _n( '%s Comment in moderation', '%s Comments in moderation', $counts->moderated ), number_format_i18n( $counts->moderated ) ), 'comment_link' => $comment_link, ), ) ); $x->send(); } $total += $delta; if ( $total < 0 ) { $total = 0; } // Only do the expensive stuff on a page-break, and about 1 other time per page. if ( 0 === $total % $per_page || 1 === mt_rand( 1, $per_page ) ) { $post_id = 0; // What type of comment count are we looking for? $status = 'all'; $parsed = parse_url( $url ); if ( isset( $parsed['query'] ) ) { parse_str( $parsed['query'], $query_vars ); if ( ! empty( $query_vars['comment_status'] ) ) { $status = $query_vars['comment_status']; } if ( ! empty( $query_vars['p'] ) ) { $post_id = (int) $query_vars['p']; } if ( ! empty( $query_vars['comment_type'] ) ) { $type = $query_vars['comment_type']; } } if ( empty( $type ) ) { // Only use the comment count if not filtering by a comment_type. $comment_count = wp_count_comments( $post_id ); // We're looking for a known type of comment count. if ( isset( $comment_count->$status ) ) { $total = $comment_count->$status; } } // Else use the decremented value from above. } // The time since the last comment count. $time = time(); $comment = get_comment( $comment_id ); $counts = wp_count_comments(); $x = new WP_Ajax_Response( array( 'what' => 'comment', 'id' => $comment_id, 'supplemental' => array( 'status' => $comment ? $comment->comment_approved : '', 'postId' => $comment ? $comment->comment_post_ID : '', /* translators: %s: Number of comments. */ 'total_items_i18n' => sprintf( _n( '%s item', '%s items', $total ), number_format_i18n( $total ) ), 'total_pages' => (int) ceil( $total / $per_page ), 'total_pages_i18n' => number_format_i18n( (int) ceil( $total / $per_page ) ), 'total' => $total, 'time' => $time, 'in_moderation' => $counts->moderated, 'i18n_moderation_text' => sprintf( /* translators: %s: Number of comments. */ _n( '%s Comment in moderation', '%s Comments in moderation', $counts->moderated ), number_format_i18n( $counts->moderated ) ), ), ) ); $x->send(); } // // POST-based Ajax handlers. // /** * Handles adding a hierarchical term via AJAX. * * @since 3.1.0 * @access private */ function _wp_ajax_add_hierarchical_term() { $action = $_POST['action']; $taxonomy = get_taxonomy( substr( $action, 4 ) ); check_ajax_referer( $action, '_ajax_nonce-add-' . $taxonomy->name ); if ( ! current_user_can( $taxonomy->cap->edit_terms ) ) { wp_die( -1 ); } $names = explode( ',', $_POST[ 'new' . $taxonomy->name ] ); $parent = isset( $_POST[ 'new' . $taxonomy->name . '_parent' ] ) ? (int) $_POST[ 'new' . $taxonomy->name . '_parent' ] : 0; if ( 0 > $parent ) { $parent = 0; } if ( 'category' === $taxonomy->name ) { $post_category = isset( $_POST['post_category'] ) ? (array) $_POST['post_category'] : array(); } else { $post_category = ( isset( $_POST['tax_input'] ) && isset( $_POST['tax_input'][ $taxonomy->name ] ) ) ? (array) $_POST['tax_input'][ $taxonomy->name ] : array(); } $checked_categories = array_map( 'absint', (array) $post_category ); $popular_ids = wp_popular_terms_checklist( $taxonomy->name, 0, 10, false ); foreach ( $names as $cat_name ) { $cat_name = trim( $cat_name ); $category_nicename = sanitize_title( $cat_name ); if ( '' === $category_nicename ) { continue; } $cat_id = wp_insert_term( $cat_name, $taxonomy->name, array( 'parent' => $parent ) ); if ( ! $cat_id || is_wp_error( $cat_id ) ) { continue; } else { $cat_id = $cat_id['term_id']; } $checked_categories[] = $cat_id; if ( $parent ) { // Do these all at once in a second. continue; } ob_start(); wp_terms_checklist( 0, array( 'taxonomy' => $taxonomy->name, 'descendants_and_self' => $cat_id, 'selected_cats' => $checked_categories, 'popular_cats' => $popular_ids, ) ); $data = ob_get_clean(); $add = array( 'what' => $taxonomy->name, 'id' => $cat_id, 'data' => str_replace( array( "\n", "\t" ), '', $data ), 'position' => -1, ); } if ( $parent ) { // Foncy - replace the parent and all its children. $parent = get_term( $parent, $taxonomy->name ); $term_id = $parent->term_id; while ( $parent->parent ) { // Get the top parent. $parent = get_term( $parent->parent, $taxonomy->name ); if ( is_wp_error( $parent ) ) { break; } $term_id = $parent->term_id; } ob_start(); wp_terms_checklist( 0, array( 'taxonomy' => $taxonomy->name, 'descendants_and_self' => $term_id, 'selected_cats' => $checked_categories, 'popular_cats' => $popular_ids, ) ); $data = ob_get_clean(); $add = array( 'what' => $taxonomy->name, 'id' => $term_id, 'data' => str_replace( array( "\n", "\t" ), '', $data ), 'position' => -1, ); } ob_start(); wp_dropdown_categories( array( 'taxonomy' => $taxonomy->name, 'hide_empty' => 0, 'name' => 'new' . $taxonomy->name . '_parent', 'orderby' => 'name', 'hierarchical' => 1, 'show_option_none' => '— ' . $taxonomy->labels->parent_item . ' —', ) ); $sup = ob_get_clean(); $add['supplemental'] = array( 'newcat_parent' => $sup ); $x = new WP_Ajax_Response( $add ); $x->send(); } /** * Handles deleting a comment via AJAX. * * @since 3.1.0 */ function wp_ajax_delete_comment() { $id = isset( $_POST['id'] ) ? (int) $_POST['id'] : 0; $comment = get_comment( $id ); if ( ! $comment ) { wp_die( time() ); } if ( ! current_user_can( 'edit_comment', $comment->comment_ID ) ) { wp_die( -1 ); } check_ajax_referer( "delete-comment_$id" ); $status = wp_get_comment_status( $comment ); $delta = -1; if ( isset( $_POST['trash'] ) && '1' === $_POST['trash'] ) { if ( 'trash' === $status ) { wp_die( time() ); } $r = wp_trash_comment( $comment ); } elseif ( isset( $_POST['untrash'] ) && '1' === $_POST['untrash'] ) { if ( 'trash' !== $status ) { wp_die( time() ); } $r = wp_untrash_comment( $comment ); // Undo trash, not in Trash. if ( ! isset( $_POST['comment_status'] ) || 'trash' !== $_POST['comment_status'] ) { $delta = 1; } } elseif ( isset( $_POST['spam'] ) && '1' === $_POST['spam'] ) { if ( 'spam' === $status ) { wp_die( time() ); } $r = wp_spam_comment( $comment ); } elseif ( isset( $_POST['unspam'] ) && '1' === $_POST['unspam'] ) { if ( 'spam' !== $status ) { wp_die( time() ); } $r = wp_unspam_comment( $comment ); // Undo spam, not in spam. if ( ! isset( $_POST['comment_status'] ) || 'spam' !== $_POST['comment_status'] ) { $delta = 1; } } elseif ( isset( $_POST['delete'] ) && '1' === $_POST['delete'] ) { $r = wp_delete_comment( $comment ); } else { wp_die( -1 ); } if ( $r ) { // Decide if we need to send back '1' or a more complicated response including page links and comment counts. _wp_ajax_delete_comment_response( $comment->comment_ID, $delta ); } wp_die( 0 ); } /** * Handles deleting a tag via AJAX. * * @since 3.1.0 */ function wp_ajax_delete_tag() { $tag_id = (int) $_POST['tag_ID']; check_ajax_referer( "delete-tag_$tag_id" ); if ( ! current_user_can( 'delete_term', $tag_id ) ) { wp_die( -1 ); } $taxonomy = ! empty( $_POST['taxonomy'] ) ? $_POST['taxonomy'] : 'post_tag'; $tag = get_term( $tag_id, $taxonomy ); if ( ! $tag || is_wp_error( $tag ) ) { wp_die( 1 ); } if ( wp_delete_term( $tag_id, $taxonomy ) ) { wp_die( 1 ); } else { wp_die( 0 ); } } /** * Handles deleting a link via AJAX. * * @since 3.1.0 */ function wp_ajax_delete_link() { $id = isset( $_POST['id'] ) ? (int) $_POST['id'] : 0; check_ajax_referer( "delete-bookmark_$id" ); if ( ! current_user_can( 'manage_links' ) ) { wp_die( -1 ); } $link = get_bookmark( $id ); if ( ! $link || is_wp_error( $link ) ) { wp_die( 1 ); } if ( wp_delete_link( $id ) ) { wp_die( 1 ); } else { wp_die( 0 ); } } /** * Handles deleting meta via AJAX. * * @since 3.1.0 */ function wp_ajax_delete_meta() { $id = isset( $_POST['id'] ) ? (int) $_POST['id'] : 0; check_ajax_referer( "delete-meta_$id" ); $meta = get_metadata_by_mid( 'post', $id ); if ( ! $meta ) { wp_die( 1 ); } if ( is_protected_meta( $meta->meta_key, 'post' ) || ! current_user_can( 'delete_post_meta', $meta->post_id, $meta->meta_key ) ) { wp_die( -1 ); } if ( delete_meta( $meta->meta_id ) ) { wp_die( 1 ); } wp_die( 0 ); } /** * Handles deleting a post via AJAX. * * @since 3.1.0 * * @param string $action Action to perform. */ function wp_ajax_delete_post( $action ) { if ( empty( $action ) ) { $action = 'delete-post'; } $id = isset( $_POST['id'] ) ? (int) $_POST['id'] : 0; check_ajax_referer( "{$action}_$id" ); if ( ! current_user_can( 'delete_post', $id ) ) { wp_die( -1 ); } if ( ! get_post( $id ) ) { wp_die( 1 ); } if ( wp_delete_post( $id ) ) { wp_die( 1 ); } else { wp_die( 0 ); } } /** * Handles sending a post to the Trash via AJAX. * * @since 3.1.0 * * @param string $action Action to perform. */ function wp_ajax_trash_post( $action ) { if ( empty( $action ) ) { $action = 'trash-post'; } $id = isset( $_POST['id'] ) ? (int) $_POST['id'] : 0; check_ajax_referer( "{$action}_$id" ); if ( ! current_user_can( 'delete_post', $id ) ) { wp_die( -1 ); } if ( ! get_post( $id ) ) { wp_die( 1 ); } if ( 'trash-post' === $action ) { $done = wp_trash_post( $id ); } else { $done = wp_untrash_post( $id ); } if ( $done ) { wp_die( 1 ); } wp_die( 0 ); } /** * Handles restoring a post from the Trash via AJAX. * * @since 3.1.0 * * @param string $action Action to perform. */ function wp_ajax_untrash_post( $action ) { if ( empty( $action ) ) { $action = 'untrash-post'; } wp_ajax_trash_post( $action ); } /** * Handles deleting a page via AJAX. * * @since 3.1.0 * * @param string $action Action to perform. */ function wp_ajax_delete_page( $action ) { if ( empty( $action ) ) { $action = 'delete-page'; } $id = isset( $_POST['id'] ) ? (int) $_POST['id'] : 0; check_ajax_referer( "{$action}_$id" ); if ( ! current_user_can( 'delete_page', $id ) ) { wp_die( -1 ); } if ( ! get_post( $id ) ) { wp_die( 1 ); } if ( wp_delete_post( $id ) ) { wp_die( 1 ); } else { wp_die( 0 ); } } /** * Handles dimming a comment via AJAX. * * @since 3.1.0 */ function wp_ajax_dim_comment() { $id = isset( $_POST['id'] ) ? (int) $_POST['id'] : 0; $comment = get_comment( $id ); if ( ! $comment ) { $x = new WP_Ajax_Response( array( 'what' => 'comment', 'id' => new WP_Error( 'invalid_comment', /* translators: %d: Comment ID. */ sprintf( __( 'Comment %d does not exist' ), $id ) ), ) ); $x->send(); } if ( ! current_user_can( 'edit_comment', $comment->comment_ID ) && ! current_user_can( 'moderate_comments' ) ) { wp_die( -1 ); } $current = wp_get_comment_status( $comment ); if ( isset( $_POST['new'] ) && $_POST['new'] === $current ) { wp_die( time() ); } check_ajax_referer( "approve-comment_$id" ); if ( in_array( $current, array( 'unapproved', 'spam' ), true ) ) { $result = wp_set_comment_status( $comment, 'approve', true ); } else { $result = wp_set_comment_status( $comment, 'hold', true ); } if ( is_wp_error( $result ) ) { $x = new WP_Ajax_Response( array( 'what' => 'comment', 'id' => $result, ) ); $x->send(); } // Decide if we need to send back '1' or a more complicated response including page links and comment counts. _wp_ajax_delete_comment_response( $comment->comment_ID ); wp_die( 0 ); } /** * Handles adding a link category via AJAX. * * @since 3.1.0 * * @param string $action Action to perform. */ function wp_ajax_add_link_category( $action ) { if ( empty( $action ) ) { $action = 'add-link-category'; } check_ajax_referer( $action ); $taxonomy_object = get_taxonomy( 'link_category' ); if ( ! current_user_can( $taxonomy_object->cap->manage_terms ) ) { wp_die( -1 ); } $names = explode( ',', wp_unslash( $_POST['newcat'] ) ); $x = new WP_Ajax_Response(); foreach ( $names as $cat_name ) { $cat_name = trim( $cat_name ); $slug = sanitize_title( $cat_name ); if ( '' === $slug ) { continue; } $cat_id = wp_insert_term( $cat_name, 'link_category' ); if ( ! $cat_id || is_wp_error( $cat_id ) ) { continue; } else { $cat_id = $cat_id['term_id']; } $cat_name = esc_html( $cat_name ); $x->add( array( 'what' => 'link-category', 'id' => $cat_id, 'data' => "<li id='link-category-$cat_id'><label for='in-link-category-$cat_id' class='selectit'><input value='" . esc_attr( $cat_id ) . "' type='checkbox' checked='checked' name='link_category[]' id='in-link-category-$cat_id'/> $cat_name</label></li>", 'position' => -1, ) ); } $x->send(); } /** * Handles adding a tag via AJAX. * * @since 3.1.0 */ function wp_ajax_add_tag() { check_ajax_referer( 'add-tag', '_wpnonce_add-tag' ); $taxonomy = ! empty( $_POST['taxonomy'] ) ? $_POST['taxonomy'] : 'post_tag'; $taxonomy_object = get_taxonomy( $taxonomy ); if ( ! current_user_can( $taxonomy_object->cap->edit_terms ) ) { wp_die( -1 ); } $x = new WP_Ajax_Response(); $tag = wp_insert_term( $_POST['tag-name'], $taxonomy, $_POST ); if ( $tag && ! is_wp_error( $tag ) ) { $tag = get_term( $tag['term_id'], $taxonomy ); } if ( ! $tag || is_wp_error( $tag ) ) { $message = __( 'An error has occurred. Please reload the page and try again.' ); $error_code = 'error'; if ( is_wp_error( $tag ) && $tag->get_error_message() ) { $message = $tag->get_error_message(); } if ( is_wp_error( $tag ) && $tag->get_error_code() ) { $error_code = $tag->get_error_code(); } $x->add( array( 'what' => 'taxonomy', 'data' => new WP_Error( $error_code, $message ), ) ); $x->send(); } $wp_list_table = _get_list_table( 'WP_Terms_List_Table', array( 'screen' => $_POST['screen'] ) ); $level = 0; $noparents = ''; if ( is_taxonomy_hierarchical( $taxonomy ) ) { $level = count( get_ancestors( $tag->term_id, $taxonomy, 'taxonomy' ) ); ob_start(); $wp_list_table->single_row( $tag, $level ); $noparents = ob_get_clean(); } ob_start(); $wp_list_table->single_row( $tag ); $parents = ob_get_clean(); require ABSPATH . 'wp-admin/includes/edit-tag-messages.php'; $message = ''; if ( isset( $messages[ $taxonomy_object->name ][1] ) ) { $message = $messages[ $taxonomy_object->name ][1]; } elseif ( isset( $messages['_item'][1] ) ) { $message = $messages['_item'][1]; } $x->add( array( 'what' => 'taxonomy', 'data' => $message, 'supplemental' => array( 'parents' => $parents, 'noparents' => $noparents, 'notice' => $message, ), ) ); $x->add( array( 'what' => 'term', 'position' => $level, 'supplemental' => (array) $tag, ) ); $x->send(); } /** * Handles getting a tagcloud via AJAX. * * @since 3.1.0 */ function wp_ajax_get_tagcloud() { if ( ! isset( $_POST['tax'] ) ) { wp_die( 0 ); } $taxonomy = sanitize_key( $_POST['tax'] ); $taxonomy_object = get_taxonomy( $taxonomy ); if ( ! $taxonomy_object ) { wp_die( 0 ); } if ( ! current_user_can( $taxonomy_object->cap->assign_terms ) ) { wp_die( -1 ); } $tags = get_terms( array( 'taxonomy' => $taxonomy, 'number' => 45, 'orderby' => 'count', 'order' => 'DESC', ) ); if ( empty( $tags ) ) { wp_die( $taxonomy_object->labels->not_found ); } if ( is_wp_error( $tags ) ) { wp_die( $tags->get_error_message() ); } foreach ( $tags as $key => $tag ) { $tags[ $key ]->link = '#'; $tags[ $key ]->id = $tag->term_id; } // We need raw tag names here, so don't filter the output. $return = wp_generate_tag_cloud( $tags, array( 'filter' => 0, 'format' => 'list', ) ); if ( empty( $return ) ) { wp_die( 0 ); } echo $return; wp_die(); } /** * Handles getting comments via AJAX. * * @since 3.1.0 * * @global int $post_id * * @param string $action Action to perform. */ function wp_ajax_get_comments( $action ) { global $post_id; if ( empty( $action ) ) { $action = 'get-comments'; } check_ajax_referer( $action ); if ( empty( $post_id ) && ! empty( $_REQUEST['p'] ) ) { $id = absint( $_REQUEST['p'] ); if ( ! empty( $id ) ) { $post_id = $id; } } if ( empty( $post_id ) ) { wp_die( -1 ); } $wp_list_table = _get_list_table( 'WP_Post_Comments_List_Table', array( 'screen' => 'edit-comments' ) ); if ( ! current_user_can( 'edit_post', $post_id ) ) { wp_die( -1 ); } $wp_list_table->prepare_items(); if ( ! $wp_list_table->has_items() ) { wp_die( 1 ); } $x = new WP_Ajax_Response(); ob_start(); foreach ( $wp_list_table->items as $comment ) { if ( ! current_user_can( 'edit_comment', $comment->comment_ID ) && 0 === $comment->comment_approved ) { continue; } get_comment( $comment ); $wp_list_table->single_row( $comment ); } $comment_list_item = ob_get_clean(); $x->add( array( 'what' => 'comments', 'data' => $comment_list_item, ) ); $x->send(); } /** * Handles replying to a comment via AJAX. * * @since 3.1.0 * * @param string $action Action to perform. */ function wp_ajax_replyto_comment( $action ) { if ( empty( $action ) ) { $action = 'replyto-comment'; } check_ajax_referer( $action, '_ajax_nonce-replyto-comment' ); $comment_post_id = (int) $_POST['comment_post_ID']; $post = get_post( $comment_post_id ); if ( ! $post ) { wp_die( -1 ); } if ( ! current_user_can( 'edit_post', $comment_post_id ) ) { wp_die( -1 ); } if ( empty( $post->post_status ) ) { wp_die( 1 ); } elseif ( in_array( $post->post_status, array( 'draft', 'pending', 'trash' ), true ) ) { wp_die( __( 'You cannot reply to a comment on a draft post.' ) ); } $user = wp_get_current_user(); if ( $user->exists() ) { $comment_author = wp_slash( $user->display_name ); $comment_author_email = wp_slash( $user->user_email ); $comment_author_url = wp_slash( $user->user_url ); $user_id = $user->ID; if ( current_user_can( 'unfiltered_html' ) ) { if ( ! isset( $_POST['_wp_unfiltered_html_comment'] ) ) { $_POST['_wp_unfiltered_html_comment'] = ''; } if ( wp_create_nonce( 'unfiltered-html-comment' ) !== $_POST['_wp_unfiltered_html_comment'] ) { kses_remove_filters(); // Start with a clean slate. kses_init_filters(); // Set up the filters. remove_filter( 'pre_comment_content', 'wp_filter_post_kses' ); add_filter( 'pre_comment_content', 'wp_filter_kses' ); } } } else { wp_die( __( 'Sorry, you must be logged in to reply to a comment.' ) ); } $comment_content = trim( $_POST['content'] ); if ( '' === $comment_content ) { wp_die( __( 'Please type your comment text.' ) ); } $comment_type = isset( $_POST['comment_type'] ) ? trim( $_POST['comment_type'] ) : 'comment'; $comment_parent = 0; if ( isset( $_POST['comment_ID'] ) ) { $comment_parent = absint( $_POST['comment_ID'] ); } $comment_auto_approved = false; $commentdata = array( 'comment_post_ID' => $comment_post_id, ); $commentdata += compact( 'comment_author', 'comment_author_email', 'comment_author_url', 'comment_content', 'comment_type', 'comment_parent', 'user_id' ); // Automatically approve parent comment. if ( ! empty( $_POST['approve_parent'] ) ) { $parent = get_comment( $comment_parent ); if ( $parent && '0' === $parent->comment_approved && (int) $parent->comment_post_ID === $comment_post_id ) { if ( ! current_user_can( 'edit_comment', $parent->comment_ID ) ) { wp_die( -1 ); } if ( wp_set_comment_status( $parent, 'approve' ) ) { $comment_auto_approved = true; } } } $comment_id = wp_new_comment( $commentdata ); if ( is_wp_error( $comment_id ) ) { wp_die( $comment_id->get_error_message() ); } $comment = get_comment( $comment_id ); if ( ! $comment ) { wp_die( 1 ); } $position = ( isset( $_POST['position'] ) && (int) $_POST['position'] ) ? (int) $_POST['position'] : '-1'; ob_start(); if ( isset( $_REQUEST['mode'] ) && 'dashboard' === $_REQUEST['mode'] ) { require_once ABSPATH . 'wp-admin/includes/dashboard.php'; _wp_dashboard_recent_comments_row( $comment ); } else { if ( isset( $_REQUEST['mode'] ) && 'single' === $_REQUEST['mode'] ) { $wp_list_table = _get_list_table( 'WP_Post_Comments_List_Table', array( 'screen' => 'edit-comments' ) ); } else { $wp_list_table = _get_list_table( 'WP_Comments_List_Table', array( 'screen' => 'edit-comments' ) ); } $wp_list_table->single_row( $comment ); } $comment_list_item = ob_get_clean(); $response = array( 'what' => 'comment', 'id' => $comment->comment_ID, 'data' => $comment_list_item, 'position' => $position, ); $counts = wp_count_comments(); $response['supplemental'] = array( 'in_moderation' => $counts->moderated, 'i18n_comments_text' => sprintf( /* translators: %s: Number of comments. */ _n( '%s Comment', '%s Comments', $counts->approved ), number_format_i18n( $counts->approved ) ), 'i18n_moderation_text' => sprintf( /* translators: %s: Number of comments. */ _n( '%s Comment in moderation', '%s Comments in moderation', $counts->moderated ), number_format_i18n( $counts->moderated ) ), ); if ( $comment_auto_approved ) { $response['supplemental']['parent_approved'] = $parent->comment_ID; $response['supplemental']['parent_post_id'] = $parent->comment_post_ID; } $x = new WP_Ajax_Response(); $x->add( $response ); $x->send(); } /** * Handles editing a comment via AJAX. * * @since 3.1.0 */ function wp_ajax_edit_comment() { check_ajax_referer( 'replyto-comment', '_ajax_nonce-replyto-comment' ); $comment_id = (int) $_POST['comment_ID']; if ( ! current_user_can( 'edit_comment', $comment_id ) ) { wp_die( -1 ); } if ( '' === $_POST['content'] ) { wp_die( __( 'Please type your comment text.' ) ); } if ( isset( $_POST['status'] ) ) { $_POST['comment_status'] = $_POST['status']; } $updated = edit_comment(); if ( is_wp_error( $updated ) ) { wp_die( $updated->get_error_message() ); } $position = ( isset( $_POST['position'] ) && (int) $_POST['position'] ) ? (int) $_POST['position'] : '-1'; /* * Checkbox is used to differentiate between the Edit Comments screen (1) * and the Comments section on the Edit Post screen (0). */ $checkbox = ( isset( $_POST['checkbox'] ) && '1' === $_POST['checkbox'] ) ? 1 : 0; $wp_list_table = _get_list_table( $checkbox ? 'WP_Comments_List_Table' : 'WP_Post_Comments_List_Table', array( 'screen' => 'edit-comments' ) ); $comment = get_comment( $comment_id ); if ( empty( $comment->comment_ID ) ) { wp_die( -1 ); } ob_start(); $wp_list_table->single_row( $comment ); $comment_list_item = ob_get_clean(); $x = new WP_Ajax_Response(); $x->add( array( 'what' => 'edit_comment', 'id' => $comment->comment_ID, 'data' => $comment_list_item, 'position' => $position, ) ); $x->send(); } /** * Handles adding a menu item via AJAX. * * @since 3.1.0 */ function wp_ajax_add_menu_item() { check_ajax_referer( 'add-menu_item', 'menu-settings-column-nonce' ); if ( ! current_user_can( 'edit_theme_options' ) ) { wp_die( -1 ); } require_once ABSPATH . 'wp-admin/includes/nav-menu.php'; /* * For performance reasons, we omit some object properties from the checklist. * The following is a hacky way to restore them when adding non-custom items. */ $menu_items_data = array(); foreach ( (array) $_POST['menu-item'] as $menu_item_data ) { if ( ! empty( $menu_item_data['menu-item-type'] ) && 'custom' !== $menu_item_data['menu-item-type'] && ! empty( $menu_item_data['menu-item-object-id'] ) ) { switch ( $menu_item_data['menu-item-type'] ) { case 'post_type': $_object = get_post( $menu_item_data['menu-item-object-id'] ); break; case 'post_type_archive': $_object = get_post_type_object( $menu_item_data['menu-item-object'] ); break; case 'taxonomy': $_object = get_term( $menu_item_data['menu-item-object-id'], $menu_item_data['menu-item-object'] ); break; } $_menu_items = array_map( 'wp_setup_nav_menu_item', array( $_object ) ); $_menu_item = reset( $_menu_items ); // Restore the missing menu item properties. $menu_item_data['menu-item-description'] = $_menu_item->description; } $menu_items_data[] = $menu_item_data; } $item_ids = wp_save_nav_menu_items( 0, $menu_items_data ); if ( is_wp_error( $item_ids ) ) { wp_die( 0 ); } $menu_items = array(); foreach ( (array) $item_ids as $menu_item_id ) { $menu_obj = get_post( $menu_item_id ); if ( ! empty( $menu_obj->ID ) ) { $menu_obj = wp_setup_nav_menu_item( $menu_obj ); $menu_obj->title = empty( $menu_obj->title ) ? __( 'Menu Item' ) : $menu_obj->title; $menu_obj->label = $menu_obj->title; // Don't show "(pending)" in ajax-added items. $menu_items[] = $menu_obj; } } /** This filter is documented in wp-admin/includes/nav-menu.php */ $walker_class_name = apply_filters( 'wp_edit_nav_menu_walker', 'Walker_Nav_Menu_Edit', $_POST['menu'] ); if ( ! class_exists( $walker_class_name ) ) { wp_die( 0 ); } if ( ! empty( $menu_items ) ) { $args = array( 'after' => '', 'before' => '', 'link_after' => '', 'link_before' => '', 'walker' => new $walker_class_name(), ); echo walk_nav_menu_tree( $menu_items, 0, (object) $args ); } wp_die(); } /** * Handles adding meta via AJAX. * * @since 3.1.0 */ function wp_ajax_add_meta() { check_ajax_referer( 'add-meta', '_ajax_nonce-add-meta' ); $c = 0; $pid = (int) $_POST['post_id']; $post = get_post( $pid ); if ( isset( $_POST['metakeyselect'] ) || isset( $_POST['metakeyinput'] ) ) { if ( ! current_user_can( 'edit_post', $pid ) ) { wp_die( -1 ); } if ( isset( $_POST['metakeyselect'] ) && '#NONE#' === $_POST['metakeyselect'] && empty( $_POST['metakeyinput'] ) ) { wp_die( 1 ); } // If the post is an autodraft, save the post as a draft and then attempt to save the meta. if ( 'auto-draft' === $post->post_status ) { $post_data = array(); $post_data['action'] = 'draft'; // Warning fix. $post_data['post_ID'] = $pid; $post_data['post_type'] = $post->post_type; $post_data['post_status'] = 'draft'; $now = time(); $post_data['post_title'] = sprintf( /* translators: 1: Post creation date, 2: Post creation time. */ __( 'Draft created on %1$s at %2$s' ), gmdate( __( 'F j, Y' ), $now ), gmdate( __( 'g:i a' ), $now ) ); $pid = edit_post( $post_data ); if ( $pid ) { if ( is_wp_error( $pid ) ) { $x = new WP_Ajax_Response( array( 'what' => 'meta', 'data' => $pid, ) ); $x->send(); } $mid = add_meta( $pid ); if ( ! $mid ) { wp_die( __( 'Please provide a custom field value.' ) ); } } else { wp_die( 0 ); } } else { $mid = add_meta( $pid ); if ( ! $mid ) { wp_die( __( 'Please provide a custom field value.' ) ); } } $meta = get_metadata_by_mid( 'post', $mid ); $pid = (int) $meta->post_id; $meta = get_object_vars( $meta ); $x = new WP_Ajax_Response( array( 'what' => 'meta', 'id' => $mid, 'data' => _list_meta_row( $meta, $c ), 'position' => 1, 'supplemental' => array( 'postid' => $pid ), ) ); } else { // Update? $mid = (int) key( $_POST['meta'] ); $key = wp_unslash( $_POST['meta'][ $mid ]['key'] ); $value = wp_unslash( $_POST['meta'][ $mid ]['value'] ); if ( '' === trim( $key ) ) { wp_die( __( 'Please provide a custom field name.' ) ); } $meta = get_metadata_by_mid( 'post', $mid ); if ( ! $meta ) { wp_die( 0 ); // If meta doesn't exist. } if ( is_protected_meta( $meta->meta_key, 'post' ) || is_protected_meta( $key, 'post' ) || ! current_user_can( 'edit_post_meta', $meta->post_id, $meta->meta_key ) || ! current_user_can( 'edit_post_meta', $meta->post_id, $key ) ) { wp_die( -1 ); } if ( $meta->meta_value !== $value || $meta->meta_key !== $key ) { $u = update_metadata_by_mid( 'post', $mid, $value, $key ); if ( ! $u ) { wp_die( 0 ); // We know meta exists; we also know it's unchanged (or DB error, in which case there are bigger problems). } } $x = new WP_Ajax_Response( array( 'what' => 'meta', 'id' => $mid, 'old_id' => $mid, 'data' => _list_meta_row( array( 'meta_key' => $key, 'meta_value' => $value, 'meta_id' => $mid, ), $c ), 'position' => 0, 'supplemental' => array( 'postid' => $meta->post_id ), ) ); } $x->send(); } /** * Handles adding a user via AJAX. * * @since 3.1.0 * * @param string $action Action to perform. */ function wp_ajax_add_user( $action ) { if ( empty( $action ) ) { $action = 'add-user'; } check_ajax_referer( $action ); if ( ! current_user_can( 'create_users' ) ) { wp_die( -1 ); } $user_id = edit_user(); if ( ! $user_id ) { wp_die( 0 ); } elseif ( is_wp_error( $user_id ) ) { $x = new WP_Ajax_Response( array( 'what' => 'user', 'id' => $user_id, ) ); $x->send(); } $user_object = get_userdata( $user_id ); $wp_list_table = _get_list_table( 'WP_Users_List_Table' ); $role = current( $user_object->roles ); $x = new WP_Ajax_Response( array( 'what' => 'user', 'id' => $user_id, 'data' => $wp_list_table->single_row( $user_object, '', $role ), 'supplemental' => array( 'show-link' => sprintf( /* translators: %s: The new user. */ __( 'User %s added' ), '<a href="#user-' . $user_id . '">' . $user_object->user_login . '</a>' ), 'role' => $role, ), ) ); $x->send(); } /** * Handles closed post boxes via AJAX. * * @since 3.1.0 */ function wp_ajax_closed_postboxes() { check_ajax_referer( 'closedpostboxes', 'closedpostboxesnonce' ); $closed = isset( $_POST['closed'] ) ? explode( ',', $_POST['closed'] ) : array(); $closed = array_filter( $closed ); $hidden = isset( $_POST['hidden'] ) ? explode( ',', $_POST['hidden'] ) : array(); $hidden = array_filter( $hidden ); $page = isset( $_POST['page'] ) ? $_POST['page'] : ''; if ( sanitize_key( $page ) !== $page ) { wp_die( 0 ); } $user = wp_get_current_user(); if ( ! $user ) { wp_die( -1 ); } if ( is_array( $closed ) ) { update_user_meta( $user->ID, "closedpostboxes_$page", $closed ); } if ( is_array( $hidden ) ) { // Postboxes that are always shown. $hidden = array_diff( $hidden, array( 'submitdiv', 'linksubmitdiv', 'manage-menu', 'create-menu' ) ); update_user_meta( $user->ID, "metaboxhidden_$page", $hidden ); } wp_die( 1 ); } /** * Handles hidden columns via AJAX. * * @since 3.1.0 */ function wp_ajax_hidden_columns() { check_ajax_referer( 'screen-options-nonce', 'screenoptionnonce' ); $page = isset( $_POST['page'] ) ? $_POST['page'] : ''; if ( sanitize_key( $page ) !== $page ) { wp_die( 0 ); } $user = wp_get_current_user(); if ( ! $user ) { wp_die( -1 ); } $hidden = ! empty( $_POST['hidden'] ) ? explode( ',', $_POST['hidden'] ) : array(); update_user_meta( $user->ID, "manage{$page}columnshidden", $hidden ); wp_die( 1 ); } /** * Handles updating whether to display the welcome panel via AJAX. * * @since 3.1.0 */ function wp_ajax_update_welcome_panel() { check_ajax_referer( 'welcome-panel-nonce', 'welcomepanelnonce' ); if ( ! current_user_can( 'edit_theme_options' ) ) { wp_die( -1 ); } update_user_meta( get_current_user_id(), 'show_welcome_panel', empty( $_POST['visible'] ) ? 0 : 1 ); wp_die( 1 ); } /** * Handles for retrieving menu meta boxes via AJAX. * * @since 3.1.0 */ function wp_ajax_menu_get_metabox() { if ( ! current_user_can( 'edit_theme_options' ) ) { wp_die( -1 ); } require_once ABSPATH . 'wp-admin/includes/nav-menu.php'; if ( isset( $_POST['item-type'] ) && 'post_type' === $_POST['item-type'] ) { $type = 'posttype'; $callback = 'wp_nav_menu_item_post_type_meta_box'; $items = (array) get_post_types( array( 'show_in_nav_menus' => true ), 'object' ); } elseif ( isset( $_POST['item-type'] ) && 'taxonomy' === $_POST['item-type'] ) { $type = 'taxonomy'; $callback = 'wp_nav_menu_item_taxonomy_meta_box'; $items = (array) get_taxonomies( array( 'show_ui' => true ), 'object' ); } if ( ! empty( $_POST['item-object'] ) && isset( $items[ $_POST['item-object'] ] ) ) { $menus_meta_box_object = $items[ $_POST['item-object'] ]; /** This filter is documented in wp-admin/includes/nav-menu.php */ $item = apply_filters( 'nav_menu_meta_box_object', $menus_meta_box_object ); $box_args = array( 'id' => 'add-' . $item->name, 'title' => $item->labels->name, 'callback' => $callback, 'args' => $item, ); ob_start(); $callback( null, $box_args ); $markup = ob_get_clean(); echo wp_json_encode( array( 'replace-id' => $type . '-' . $item->name, 'markup' => $markup, ) ); } wp_die(); } /** * Handles internal linking via AJAX. * * @since 3.1.0 */ function wp_ajax_wp_link_ajax() { check_ajax_referer( 'internal-linking', '_ajax_linking_nonce' ); $args = array(); if ( isset( $_POST['search'] ) ) { $args['s'] = wp_unslash( $_POST['search'] ); } if ( isset( $_POST['term'] ) ) { $args['s'] = wp_unslash( $_POST['term'] ); } $args['pagenum'] = ! empty( $_POST['page'] ) ? absint( $_POST['page'] ) : 1; if ( ! class_exists( '_WP_Editors', false ) ) { require ABSPATH . WPINC . '/class-wp-editor.php'; } $results = _WP_Editors::wp_link_query( $args ); if ( ! isset( $results ) ) { wp_die( 0 ); } echo wp_json_encode( $results ); echo "\n"; wp_die(); } /** * Handles saving menu locations via AJAX. * * @since 3.1.0 */ function wp_ajax_menu_locations_save() { if ( ! current_user_can( 'edit_theme_options' ) ) { wp_die( -1 ); } check_ajax_referer( 'add-menu_item', 'menu-settings-column-nonce' ); if ( ! isset( $_POST['menu-locations'] ) ) { wp_die( 0 ); } set_theme_mod( 'nav_menu_locations', array_map( 'absint', $_POST['menu-locations'] ) ); wp_die( 1 ); } /** * Handles saving the meta box order via AJAX. * * @since 3.1.0 */ function wp_ajax_meta_box_order() { check_ajax_referer( 'meta-box-order' ); $order = isset( $_POST['order'] ) ? (array) $_POST['order'] : false; $page_columns = isset( $_POST['page_columns'] ) ? $_POST['page_columns'] : 'auto'; if ( 'auto' !== $page_columns ) { $page_columns = (int) $page_columns; } $page = isset( $_POST['page'] ) ? $_POST['page'] : ''; if ( sanitize_key( $page ) !== $page ) { wp_die( 0 ); } $user = wp_get_current_user(); if ( ! $user ) { wp_die( -1 ); } if ( $order ) { update_user_meta( $user->ID, "meta-box-order_$page", $order ); } if ( $page_columns ) { update_user_meta( $user->ID, "screen_layout_$page", $page_columns ); } wp_send_json_success(); } /** * Handles menu quick searching via AJAX. * * @since 3.1.0 */ function wp_ajax_menu_quick_search() { if ( ! current_user_can( 'edit_theme_options' ) ) { wp_die( -1 ); } require_once ABSPATH . 'wp-admin/includes/nav-menu.php'; _wp_ajax_menu_quick_search( $_POST ); wp_die(); } /** * Handles retrieving a permalink via AJAX. * * @since 3.1.0 */ function wp_ajax_get_permalink() { check_ajax_referer( 'getpermalink', 'getpermalinknonce' ); $post_id = isset( $_POST['post_id'] ) ? (int) $_POST['post_id'] : 0; wp_die( get_preview_post_link( $post_id ) ); } /** * Handles retrieving a sample permalink via AJAX. * * @since 3.1.0 */ function wp_ajax_sample_permalink() { check_ajax_referer( 'samplepermalink', 'samplepermalinknonce' ); $post_id = isset( $_POST['post_id'] ) ? (int) $_POST['post_id'] : 0; $title = isset( $_POST['new_title'] ) ? $_POST['new_title'] : ''; $slug = isset( $_POST['new_slug'] ) ? $_POST['new_slug'] : null; wp_die( get_sample_permalink_html( $post_id, $title, $slug ) ); } /** * Handles Quick Edit saving a post from a list table via AJAX. * * @since 3.1.0 * * @global string $mode List table view mode. */ function wp_ajax_inline_save() { global $mode; check_ajax_referer( 'inlineeditnonce', '_inline_edit' ); if ( ! isset( $_POST['post_ID'] ) || ! (int) $_POST['post_ID'] ) { wp_die(); } $post_id = (int) $_POST['post_ID']; if ( 'page' === $_POST['post_type'] ) { if ( ! current_user_can( 'edit_page', $post_id ) ) { wp_die( __( 'Sorry, you are not allowed to edit this page.' ) ); } } else { if ( ! current_user_can( 'edit_post', $post_id ) ) { wp_die( __( 'Sorry, you are not allowed to edit this post.' ) ); } } $last = wp_check_post_lock( $post_id ); if ( $last ) { $last_user = get_userdata( $last ); $last_user_name = $last_user ? $last_user->display_name : __( 'Someone' ); /* translators: %s: User's display name. */ $msg_template = __( 'Saving is disabled: %s is currently editing this post.' ); if ( 'page' === $_POST['post_type'] ) { /* translators: %s: User's display name. */ $msg_template = __( 'Saving is disabled: %s is currently editing this page.' ); } printf( $msg_template, esc_html( $last_user_name ) ); wp_die(); } $data = &$_POST; $post = get_post( $post_id, ARRAY_A ); // Since it's coming from the database. $post = wp_slash( $post ); $data['content'] = $post['post_content']; $data['excerpt'] = $post['post_excerpt']; // Rename. $data['user_ID'] = get_current_user_id(); if ( isset( $data['post_parent'] ) ) { $data['parent_id'] = $data['post_parent']; } // Status. if ( isset( $data['keep_private'] ) && 'private' === $data['keep_private'] ) { $data['visibility'] = 'private'; $data['post_status'] = 'private'; } else { $data['post_status'] = $data['_status']; } if ( empty( $data['comment_status'] ) ) { $data['comment_status'] = 'closed'; } if ( empty( $data['ping_status'] ) ) { $data['ping_status'] = 'closed'; } // Exclude terms from taxonomies that are not supposed to appear in Quick Edit. if ( ! empty( $data['tax_input'] ) ) { foreach ( $data['tax_input'] as $taxonomy => $terms ) { $tax_object = get_taxonomy( $taxonomy ); /** This filter is documented in wp-admin/includes/class-wp-posts-list-table.php */ if ( ! apply_filters( 'quick_edit_show_taxonomy', $tax_object->show_in_quick_edit, $taxonomy, $post['post_type'] ) ) { unset( $data['tax_input'][ $taxonomy ] ); } } } // Hack: wp_unique_post_slug() doesn't work for drafts, so we will fake that our post is published. if ( ! empty( $data['post_name'] ) && in_array( $post['post_status'], array( 'draft', 'pending' ), true ) ) { $post['post_status'] = 'publish'; $data['post_name'] = wp_unique_post_slug( $data['post_name'], $post['ID'], $post['post_status'], $post['post_type'], $post['post_parent'] ); } // Update the post. edit_post(); $wp_list_table = _get_list_table( 'WP_Posts_List_Table', array( 'screen' => $_POST['screen'] ) ); $mode = 'excerpt' === $_POST['post_view'] ? 'excerpt' : 'list'; $level = 0; if ( is_post_type_hierarchical( $wp_list_table->screen->post_type ) ) { $request_post = array( get_post( $_POST['post_ID'] ) ); $parent = $request_post[0]->post_parent; while ( $parent > 0 ) { $parent_post = get_post( $parent ); $parent = $parent_post->post_parent; ++$level; } } $wp_list_table->display_rows( array( get_post( $_POST['post_ID'] ) ), $level ); wp_die(); } /** * Handles Quick Edit saving for a term via AJAX. * * @since 3.1.0 */ function wp_ajax_inline_save_tax() { check_ajax_referer( 'taxinlineeditnonce', '_inline_edit' ); $taxonomy = sanitize_key( $_POST['taxonomy'] ); $taxonomy_object = get_taxonomy( $taxonomy ); if ( ! $taxonomy_object ) { wp_die( 0 ); } if ( ! isset( $_POST['tax_ID'] ) || ! (int) $_POST['tax_ID'] ) { wp_die( -1 ); } $id = (int) $_POST['tax_ID']; if ( ! current_user_can( 'edit_term', $id ) ) { wp_die( -1 ); } $wp_list_table = _get_list_table( 'WP_Terms_List_Table', array( 'screen' => 'edit-' . $taxonomy ) ); $tag = get_term( $id, $taxonomy ); $_POST['description'] = $tag->description; $updated = wp_update_term( $id, $taxonomy, $_POST ); if ( $updated && ! is_wp_error( $updated ) ) { $tag = get_term( $updated['term_id'], $taxonomy ); if ( ! $tag || is_wp_error( $tag ) ) { if ( is_wp_error( $tag ) && $tag->get_error_message() ) { wp_die( $tag->get_error_message() ); } wp_die( __( 'Item not updated.' ) ); } } else { if ( is_wp_error( $updated ) && $updated->get_error_message() ) { wp_die( $updated->get_error_message() ); } wp_die( __( 'Item not updated.' ) ); } $level = 0; $parent = $tag->parent; while ( $parent > 0 ) { $parent_tag = get_term( $parent, $taxonomy ); $parent = $parent_tag->parent; ++$level; } $wp_list_table->single_row( $tag, $level ); wp_die(); } /** * Handles querying posts for the Find Posts modal via AJAX. * * @see window.findPosts * * @since 3.1.0 */ function wp_ajax_find_posts() { check_ajax_referer( 'find-posts' ); $post_types = get_post_types( array( 'public' => true ), 'objects' ); unset( $post_types['attachment'] ); $args = array( 'post_type' => array_keys( $post_types ), 'post_status' => 'any', 'posts_per_page' => 50, ); $search = wp_unslash( $_POST['ps'] ); if ( '' !== $search ) { $args['s'] = $search; } $posts = get_posts( $args ); if ( ! $posts ) { wp_send_json_error( __( 'No items found.' ) ); } $html = '<table class="widefat"><thead><tr><th class="found-radio"><br /></th><th>' . __( 'Title' ) . '</th><th class="no-break">' . __( 'Type' ) . '</th><th class="no-break">' . __( 'Date' ) . '</th><th class="no-break">' . __( 'Status' ) . '</th></tr></thead><tbody>'; $alt = ''; foreach ( $posts as $post ) { $title = trim( $post->post_title ) ? $post->post_title : __( '(no title)' ); $alt = ( 'alternate' === $alt ) ? '' : 'alternate'; switch ( $post->post_status ) { case 'publish': case 'private': $stat = __( 'Published' ); break; case 'future': $stat = __( 'Scheduled' ); break; case 'pending': $stat = __( 'Pending Review' ); break; case 'draft': $stat = __( 'Draft' ); break; } if ( '0000-00-00 00:00:00' === $post->post_date ) { $time = ''; } else { /* translators: Date format in table columns, see https://www.php.net/manual/datetime.format.php */ $time = mysql2date( __( 'Y/m/d' ), $post->post_date ); } $html .= '<tr class="' . trim( 'found-posts ' . $alt ) . '"><td class="found-radio"><input type="radio" id="found-' . $post->ID . '" name="found_post_id" value="' . esc_attr( $post->ID ) . '"></td>'; $html .= '<td><label for="found-' . $post->ID . '">' . esc_html( $title ) . '</label></td><td class="no-break">' . esc_html( $post_types[ $post->post_type ]->labels->singular_name ) . '</td><td class="no-break">' . esc_html( $time ) . '</td><td class="no-break">' . esc_html( $stat ) . ' </td></tr>' . "\n\n"; } $html .= '</tbody></table>'; wp_send_json_success( $html ); } /** * Handles saving the widgets order via AJAX. * * @since 3.1.0 */ function wp_ajax_widgets_order() { check_ajax_referer( 'save-sidebar-widgets', 'savewidgets' ); if ( ! current_user_can( 'edit_theme_options' ) ) { wp_die( -1 ); } unset( $_POST['savewidgets'], $_POST['action'] ); // Save widgets order for all sidebars. if ( is_array( $_POST['sidebars'] ) ) { $sidebars = array(); foreach ( wp_unslash( $_POST['sidebars'] ) as $key => $val ) { $sb = array(); if ( ! empty( $val ) ) { $val = explode( ',', $val ); foreach ( $val as $k => $v ) { if ( ! str_contains( $v, 'widget-' ) ) { continue; } $sb[ $k ] = substr( $v, strpos( $v, '_' ) + 1 ); } } $sidebars[ $key ] = $sb; } wp_set_sidebars_widgets( $sidebars ); wp_die( 1 ); } wp_die( -1 ); } /** * Handles saving a widget via AJAX. * * @since 3.1.0 * * @global array $wp_registered_widgets * @global array $wp_registered_widget_controls * @global array $wp_registered_widget_updates */ function wp_ajax_save_widget() { global $wp_registered_widgets, $wp_registered_widget_controls, $wp_registered_widget_updates; check_ajax_referer( 'save-sidebar-widgets', 'savewidgets' ); if ( ! current_user_can( 'edit_theme_options' ) || ! isset( $_POST['id_base'] ) ) { wp_die( -1 ); } unset( $_POST['savewidgets'], $_POST['action'] ); /** * Fires early when editing the widgets displayed in sidebars. * * @since 2.8.0 */ do_action( 'load-widgets.php' ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores /** * Fires early when editing the widgets displayed in sidebars. * * @since 2.8.0 */ do_action( 'widgets.php' ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores /** This action is documented in wp-admin/widgets.php */ do_action( 'sidebar_admin_setup' ); $id_base = wp_unslash( $_POST['id_base'] ); $widget_id = wp_unslash( $_POST['widget-id'] ); $sidebar_id = $_POST['sidebar']; $multi_number = ! empty( $_POST['multi_number'] ) ? (int) $_POST['multi_number'] : 0; $settings = isset( $_POST[ 'widget-' . $id_base ] ) && is_array( $_POST[ 'widget-' . $id_base ] ) ? $_POST[ 'widget-' . $id_base ] : false; $error = '<p>' . __( 'An error has occurred. Please reload the page and try again.' ) . '</p>'; $sidebars = wp_get_sidebars_widgets(); $sidebar = isset( $sidebars[ $sidebar_id ] ) ? $sidebars[ $sidebar_id ] : array(); // Delete. if ( isset( $_POST['delete_widget'] ) && $_POST['delete_widget'] ) { if ( ! isset( $wp_registered_widgets[ $widget_id ] ) ) { wp_die( $error ); } $sidebar = array_diff( $sidebar, array( $widget_id ) ); $_POST = array( 'sidebar' => $sidebar_id, 'widget-' . $id_base => array(), 'the-widget-id' => $widget_id, 'delete_widget' => '1', ); /** This action is documented in wp-admin/widgets.php */ do_action( 'delete_widget', $widget_id, $sidebar_id, $id_base ); } elseif ( $settings && preg_match( '/__i__|%i%/', key( $settings ) ) ) { if ( ! $multi_number ) { wp_die( $error ); } $_POST[ 'widget-' . $id_base ] = array( $multi_number => reset( $settings ) ); $widget_id = $id_base . '-' . $multi_number; $sidebar[] = $widget_id; } $_POST['widget-id'] = $sidebar; foreach ( (array) $wp_registered_widget_updates as $name => $control ) { if ( $name === $id_base ) { if ( ! is_callable( $control['callback'] ) ) { continue; } ob_start(); call_user_func_array( $control['callback'], $control['params'] ); ob_end_clean(); break; } } if ( isset( $_POST['delete_widget'] ) && $_POST['delete_widget'] ) { $sidebars[ $sidebar_id ] = $sidebar; wp_set_sidebars_widgets( $sidebars ); echo "deleted:$widget_id"; wp_die(); } if ( ! empty( $_POST['add_new'] ) ) { wp_die(); } $form = $wp_registered_widget_controls[ $widget_id ]; if ( $form ) { call_user_func_array( $form['callback'], $form['params'] ); } wp_die(); } /** * Handles updating a widget via AJAX. * * @since 3.9.0 * * @global WP_Customize_Manager $wp_customize */ function wp_ajax_update_widget() { global $wp_customize; $wp_customize->widgets->wp_ajax_update_widget(); } /** * Handles removing inactive widgets via AJAX. * * @since 4.4.0 */ function wp_ajax_delete_inactive_widgets() { check_ajax_referer( 'remove-inactive-widgets', 'removeinactivewidgets' ); if ( ! current_user_can( 'edit_theme_options' ) ) { wp_die( -1 ); } unset( $_POST['removeinactivewidgets'], $_POST['action'] ); /** This action is documented in wp-admin/includes/ajax-actions.php */ do_action( 'load-widgets.php' ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores /** This action is documented in wp-admin/includes/ajax-actions.php */ do_action( 'widgets.php' ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores /** This action is documented in wp-admin/widgets.php */ do_action( 'sidebar_admin_setup' ); $sidebars_widgets = wp_get_sidebars_widgets(); foreach ( $sidebars_widgets['wp_inactive_widgets'] as $key => $widget_id ) { $pieces = explode( '-', $widget_id ); $multi_number = array_pop( $pieces ); $id_base = implode( '-', $pieces ); $widget = get_option( 'widget_' . $id_base ); unset( $widget[ $multi_number ] ); update_option( 'widget_' . $id_base, $widget ); unset( $sidebars_widgets['wp_inactive_widgets'][ $key ] ); } wp_set_sidebars_widgets( $sidebars_widgets ); wp_die(); } /** * Handles creating missing image sub-sizes for just uploaded images via AJAX. * * @since 5.3.0 */ function wp_ajax_media_create_image_subsizes() { check_ajax_referer( 'media-form' ); if ( ! current_user_can( 'upload_files' ) ) { wp_send_json_error( array( 'message' => __( 'Sorry, you are not allowed to upload files.' ) ) ); } if ( empty( $_POST['attachment_id'] ) ) { wp_send_json_error( array( 'message' => __( 'Upload failed. Please reload and try again.' ) ) ); } $attachment_id = (int) $_POST['attachment_id']; if ( ! empty( $_POST['_wp_upload_failed_cleanup'] ) ) { // Upload failed. Cleanup. if ( wp_attachment_is_image( $attachment_id ) && current_user_can( 'delete_post', $attachment_id ) ) { $attachment = get_post( $attachment_id ); // Created at most 10 min ago. if ( $attachment && ( time() - strtotime( $attachment->post_date_gmt ) < 600 ) ) { wp_delete_attachment( $attachment_id, true ); wp_send_json_success(); } } } /* * Set a custom header with the attachment_id. * Used by the browser/client to resume creating image sub-sizes after a PHP fatal error. */ if ( ! headers_sent() ) { header( 'X-WP-Upload-Attachment-ID: ' . $attachment_id ); } /* * This can still be pretty slow and cause timeout or out of memory errors. * The js that handles the response would need to also handle HTTP 500 errors. */ wp_update_image_subsizes( $attachment_id ); if ( ! empty( $_POST['_legacy_support'] ) ) { // The old (inline) uploader. Only needs the attachment_id. $response = array( 'id' => $attachment_id ); } else { // Media modal and Media Library grid view. $response = wp_prepare_attachment_for_js( $attachment_id ); if ( ! $response ) { wp_send_json_error( array( 'message' => __( 'Upload failed.' ) ) ); } } // At this point the image has been uploaded successfully. wp_send_json_success( $response ); } /** * Handles uploading attachments via AJAX. * * @since 3.3.0 */ function wp_ajax_upload_attachment() { check_ajax_referer( 'media-form' ); /* * This function does not use wp_send_json_success() / wp_send_json_error() * as the html4 Plupload handler requires a text/html Content-Type for older IE. * See https://core.trac.wordpress.org/ticket/31037 */ if ( ! current_user_can( 'upload_files' ) ) { echo wp_json_encode( array( 'success' => false, 'data' => array( 'message' => __( 'Sorry, you are not allowed to upload files.' ), 'filename' => esc_html( $_FILES['async-upload']['name'] ), ), ) ); wp_die(); } if ( isset( $_REQUEST['post_id'] ) ) { $post_id = $_REQUEST['post_id']; if ( ! current_user_can( 'edit_post', $post_id ) ) { echo wp_json_encode( array( 'success' => false, 'data' => array( 'message' => __( 'Sorry, you are not allowed to attach files to this post.' ), 'filename' => esc_html( $_FILES['async-upload']['name'] ), ), ) ); wp_die(); } } else { $post_id = null; } $post_data = ! empty( $_REQUEST['post_data'] ) ? _wp_get_allowed_postdata( _wp_translate_postdata( false, (array) $_REQUEST['post_data'] ) ) : array(); if ( is_wp_error( $post_data ) ) { wp_die( $post_data->get_error_message() ); } // If the context is custom header or background, make sure the uploaded file is an image. if ( isset( $post_data['context'] ) && in_array( $post_data['context'], array( 'custom-header', 'custom-background' ), true ) ) { $wp_filetype = wp_check_filetype_and_ext( $_FILES['async-upload']['tmp_name'], $_FILES['async-upload']['name'] ); if ( ! wp_match_mime_types( 'image', $wp_filetype['type'] ) ) { echo wp_json_encode( array( 'success' => false, 'data' => array( 'message' => __( 'The uploaded file is not a valid image. Please try again.' ), 'filename' => esc_html( $_FILES['async-upload']['name'] ), ), ) ); wp_die(); } } $attachment_id = media_handle_upload( 'async-upload', $post_id, $post_data ); if ( is_wp_error( $attachment_id ) ) { echo wp_json_encode( array( 'success' => false, 'data' => array( 'message' => $attachment_id->get_error_message(), 'filename' => esc_html( $_FILES['async-upload']['name'] ), ), ) ); wp_die(); } if ( isset( $post_data['context'] ) && isset( $post_data['theme'] ) ) { if ( 'custom-background' === $post_data['context'] ) { update_post_meta( $attachment_id, '_wp_attachment_is_custom_background', $post_data['theme'] ); } if ( 'custom-header' === $post_data['context'] ) { update_post_meta( $attachment_id, '_wp_attachment_is_custom_header', $post_data['theme'] ); } } $attachment = wp_prepare_attachment_for_js( $attachment_id ); if ( ! $attachment ) { wp_die(); } echo wp_json_encode( array( 'success' => true, 'data' => $attachment, ) ); wp_die(); } /** * Handles image editing via AJAX. * * @since 3.1.0 */ function wp_ajax_image_editor() { $attachment_id = (int) $_POST['postid']; if ( empty( $attachment_id ) || ! current_user_can( 'edit_post', $attachment_id ) ) { wp_die( -1 ); } check_ajax_referer( "image_editor-$attachment_id" ); require_once ABSPATH . 'wp-admin/includes/image-edit.php'; $msg = false; switch ( $_POST['do'] ) { case 'save': $msg = wp_save_image( $attachment_id ); if ( ! empty( $msg->error ) ) { wp_send_json_error( $msg ); } wp_send_json_success( $msg ); break; case 'scale': $msg = wp_save_image( $attachment_id ); break; case 'restore': $msg = wp_restore_image( $attachment_id ); break; } ob_start(); wp_image_editor( $attachment_id, $msg ); $html = ob_get_clean(); if ( ! empty( $msg->error ) ) { wp_send_json_error( array( 'message' => $msg, 'html' => $html, ) ); } wp_send_json_success( array( 'message' => $msg, 'html' => $html, ) ); } /** * Handles setting the featured image via AJAX. * * @since 3.1.0 */ function wp_ajax_set_post_thumbnail() { $json = ! empty( $_REQUEST['json'] ); // New-style request. $post_id = (int) $_POST['post_id']; if ( ! current_user_can( 'edit_post', $post_id ) ) { wp_die( -1 ); } $thumbnail_id = (int) $_POST['thumbnail_id']; if ( $json ) { check_ajax_referer( "update-post_$post_id" ); } else { check_ajax_referer( "set_post_thumbnail-$post_id" ); } if ( -1 === $thumbnail_id ) { if ( delete_post_thumbnail( $post_id ) ) { $return = _wp_post_thumbnail_html( null, $post_id ); $json ? wp_send_json_success( $return ) : wp_die( $return ); } else { wp_die( 0 ); } } if ( set_post_thumbnail( $post_id, $thumbnail_id ) ) { $return = _wp_post_thumbnail_html( $thumbnail_id, $post_id ); $json ? wp_send_json_success( $return ) : wp_die( $return ); } wp_die( 0 ); } /** * Handles retrieving HTML for the featured image via AJAX. * * @since 4.6.0 */ function wp_ajax_get_post_thumbnail_html() { $post_id = (int) $_POST['post_id']; check_ajax_referer( "update-post_$post_id" ); if ( ! current_user_can( 'edit_post', $post_id ) ) { wp_die( -1 ); } $thumbnail_id = (int) $_POST['thumbnail_id']; // For backward compatibility, -1 refers to no featured image. if ( -1 === $thumbnail_id ) { $thumbnail_id = null; } $return = _wp_post_thumbnail_html( $thumbnail_id, $post_id ); wp_send_json_success( $return ); } /** * Handles setting the featured image for an attachment via AJAX. * * @since 4.0.0 * * @see set_post_thumbnail() */ function wp_ajax_set_attachment_thumbnail() { if ( empty( $_POST['urls'] ) || ! is_array( $_POST['urls'] ) ) { wp_send_json_error(); } $thumbnail_id = (int) $_POST['thumbnail_id']; if ( empty( $thumbnail_id ) ) { wp_send_json_error(); } if ( false === check_ajax_referer( 'set-attachment-thumbnail', '_ajax_nonce', false ) ) { wp_send_json_error(); } $post_ids = array(); // For each URL, try to find its corresponding post ID. foreach ( $_POST['urls'] as $url ) { $post_id = attachment_url_to_postid( $url ); if ( ! empty( $post_id ) ) { $post_ids[] = $post_id; } } if ( empty( $post_ids ) ) { wp_send_json_error(); } $success = 0; // For each found attachment, set its thumbnail. foreach ( $post_ids as $post_id ) { if ( ! current_user_can( 'edit_post', $post_id ) ) { continue; } if ( set_post_thumbnail( $post_id, $thumbnail_id ) ) { ++$success; } } if ( 0 === $success ) { wp_send_json_error(); } else { wp_send_json_success(); } wp_send_json_error(); } /** * Handles formatting a date via AJAX. * * @since 3.1.0 */ function wp_ajax_date_format() { wp_die( date_i18n( sanitize_option( 'date_format', wp_unslash( $_POST['date'] ) ) ) ); } /** * Handles formatting a time via AJAX. * * @since 3.1.0 */ function wp_ajax_time_format() { wp_die( date_i18n( sanitize_option( 'time_format', wp_unslash( $_POST['date'] ) ) ) ); } /** * Handles saving posts from the fullscreen editor via AJAX. * * @since 3.1.0 * @deprecated 4.3.0 */ function wp_ajax_wp_fullscreen_save_post() { $post_id = isset( $_POST['post_ID'] ) ? (int) $_POST['post_ID'] : 0; $post = null; if ( $post_id ) { $post = get_post( $post_id ); } check_ajax_referer( 'update-post_' . $post_id, '_wpnonce' ); $post_id = edit_post(); if ( is_wp_error( $post_id ) ) { wp_send_json_error(); } if ( $post ) { $last_date = mysql2date( __( 'F j, Y' ), $post->post_modified ); $last_time = mysql2date( __( 'g:i a' ), $post->post_modified ); } else { $last_date = date_i18n( __( 'F j, Y' ) ); $last_time = date_i18n( __( 'g:i a' ) ); } $last_id = get_post_meta( $post_id, '_edit_last', true ); if ( $last_id ) { $last_user = get_userdata( $last_id ); /* translators: 1: User's display name, 2: Date of last edit, 3: Time of last edit. */ $last_edited = sprintf( __( 'Last edited by %1$s on %2$s at %3$s' ), esc_html( $last_user->display_name ), $last_date, $last_time ); } else { /* translators: 1: Date of last edit, 2: Time of last edit. */ $last_edited = sprintf( __( 'Last edited on %1$s at %2$s' ), $last_date, $last_time ); } wp_send_json_success( array( 'last_edited' => $last_edited ) ); } /** * Handles removing a post lock via AJAX. * * @since 3.1.0 */ function wp_ajax_wp_remove_post_lock() { if ( empty( $_POST['post_ID'] ) || empty( $_POST['active_post_lock'] ) ) { wp_die( 0 ); } $post_id = (int) $_POST['post_ID']; $post = get_post( $post_id ); if ( ! $post ) { wp_die( 0 ); } check_ajax_referer( 'update-post_' . $post_id ); if ( ! current_user_can( 'edit_post', $post_id ) ) { wp_die( -1 ); } $active_lock = array_map( 'absint', explode( ':', $_POST['active_post_lock'] ) ); if ( get_current_user_id() !== $active_lock[1] ) { wp_die( 0 ); } /** * Filters the post lock window duration. * * @since 3.3.0 * * @param int $interval The interval in seconds the post lock duration * should last, plus 5 seconds. Default 150. */ $new_lock = ( time() - apply_filters( 'wp_check_post_lock_window', 150 ) + 5 ) . ':' . $active_lock[1]; update_post_meta( $post_id, '_edit_lock', $new_lock, implode( ':', $active_lock ) ); wp_die( 1 ); } /** * Handles dismissing a WordPress pointer via AJAX. * * @since 3.1.0 */ function wp_ajax_dismiss_wp_pointer() { $pointer = $_POST['pointer']; if ( sanitize_key( $pointer ) !== $pointer ) { wp_die( 0 ); } // check_ajax_referer( 'dismiss-pointer_' . $pointer ); $dismissed = array_filter( explode( ',', (string) get_user_meta( get_current_user_id(), 'dismissed_wp_pointers', true ) ) ); if ( in_array( $pointer, $dismissed, true ) ) { wp_die( 0 ); } $dismissed[] = $pointer; $dismissed = implode( ',', $dismissed ); update_user_meta( get_current_user_id(), 'dismissed_wp_pointers', $dismissed ); wp_die( 1 ); } /** * Handles getting an attachment via AJAX. * * @since 3.5.0 */ function wp_ajax_get_attachment() { if ( ! isset( $_REQUEST['id'] ) ) { wp_send_json_error(); } $id = absint( $_REQUEST['id'] ); if ( ! $id ) { wp_send_json_error(); } $post = get_post( $id ); if ( ! $post ) { wp_send_json_error(); } if ( 'attachment' !== $post->post_type ) { wp_send_json_error(); } if ( ! current_user_can( 'upload_files' ) ) { wp_send_json_error(); } $attachment = wp_prepare_attachment_for_js( $id ); if ( ! $attachment ) { wp_send_json_error(); } wp_send_json_success( $attachment ); } /** * Handles querying attachments via AJAX. * * @since 3.5.0 */ function wp_ajax_query_attachments() { if ( ! current_user_can( 'upload_files' ) ) { wp_send_json_error(); } $query = isset( $_REQUEST['query'] ) ? (array) $_REQUEST['query'] : array(); $keys = array( 's', 'order', 'orderby', 'posts_per_page', 'paged', 'post_mime_type', 'post_parent', 'author', 'post__in', 'post__not_in', 'year', 'monthnum', ); foreach ( get_taxonomies_for_attachments( 'objects' ) as $t ) { if ( $t->query_var && isset( $query[ $t->query_var ] ) ) { $keys[] = $t->query_var; } } $query = array_intersect_key( $query, array_flip( $keys ) ); $query['post_type'] = 'attachment'; if ( MEDIA_TRASH && ! empty( $_REQUEST['query']['post_status'] ) && 'trash' === $_REQUEST['query']['post_status'] ) { $query['post_status'] = 'trash'; } else { $query['post_status'] = 'inherit'; } if ( current_user_can( get_post_type_object( 'attachment' )->cap->read_private_posts ) ) { $query['post_status'] .= ',private'; } // Filter query clauses to include filenames. if ( isset( $query['s'] ) ) { add_filter( 'wp_allow_query_attachment_by_filename', '__return_true' ); } /** * Filters the arguments passed to WP_Query during an Ajax * call for querying attachments. * * @since 3.7.0 * * @see WP_Query::parse_query() * * @param array $query An array of query variables. */ $query = apply_filters( 'ajax_query_attachments_args', $query ); $attachments_query = new WP_Query( $query ); update_post_parent_caches( $attachments_query->posts ); $posts = array_map( 'wp_prepare_attachment_for_js', $attachments_query->posts ); $posts = array_filter( $posts ); $total_posts = $attachments_query->found_posts; if ( $total_posts < 1 ) { // Out-of-bounds, run the query again without LIMIT for total count. unset( $query['paged'] ); $count_query = new WP_Query(); $count_query->query( $query ); $total_posts = $count_query->found_posts; } $posts_per_page = (int) $attachments_query->get( 'posts_per_page' ); $max_pages = $posts_per_page ? (int) ceil( $total_posts / $posts_per_page ) : 0; header( 'X-WP-Total: ' . (int) $total_posts ); header( 'X-WP-TotalPages: ' . $max_pages ); wp_send_json_success( $posts ); } /** * Handles updating attachment attributes via AJAX. * * @since 3.5.0 */ function wp_ajax_save_attachment() { if ( ! isset( $_REQUEST['id'] ) || ! isset( $_REQUEST['changes'] ) ) { wp_send_json_error(); } $id = absint( $_REQUEST['id'] ); if ( ! $id ) { wp_send_json_error(); } check_ajax_referer( 'update-post_' . $id, 'nonce' ); if ( ! current_user_can( 'edit_post', $id ) ) { wp_send_json_error(); } $changes = $_REQUEST['changes']; $post = get_post( $id, ARRAY_A ); if ( 'attachment' !== $post['post_type'] ) { wp_send_json_error(); } if ( isset( $changes['parent'] ) ) { $post['post_parent'] = $changes['parent']; } if ( isset( $changes['title'] ) ) { $post['post_title'] = $changes['title']; } if ( isset( $changes['caption'] ) ) { $post['post_excerpt'] = $changes['caption']; } if ( isset( $changes['description'] ) ) { $post['post_content'] = $changes['description']; } if ( MEDIA_TRASH && isset( $changes['status'] ) ) { $post['post_status'] = $changes['status']; } if ( isset( $changes['alt'] ) ) { $alt = wp_unslash( $changes['alt'] ); if ( get_post_meta( $id, '_wp_attachment_image_alt', true ) !== $alt ) { $alt = wp_strip_all_tags( $alt, true ); update_post_meta( $id, '_wp_attachment_image_alt', wp_slash( $alt ) ); } } if ( wp_attachment_is( 'audio', $post['ID'] ) ) { $changed = false; $id3data = wp_get_attachment_metadata( $post['ID'] ); if ( ! is_array( $id3data ) ) { $changed = true; $id3data = array(); } foreach ( wp_get_attachment_id3_keys( (object) $post, 'edit' ) as $key => $label ) { if ( isset( $changes[ $key ] ) ) { $changed = true; $id3data[ $key ] = sanitize_text_field( wp_unslash( $changes[ $key ] ) ); } } if ( $changed ) { wp_update_attachment_metadata( $id, $id3data ); } } if ( MEDIA_TRASH && isset( $changes['status'] ) && 'trash' === $changes['status'] ) { wp_delete_post( $id ); } else { wp_update_post( $post ); } wp_send_json_success(); } /** * Handles saving backward compatible attachment attributes via AJAX. * * @since 3.5.0 */ function wp_ajax_save_attachment_compat() { if ( ! isset( $_REQUEST['id'] ) ) { wp_send_json_error(); } $id = absint( $_REQUEST['id'] ); if ( ! $id ) { wp_send_json_error(); } if ( empty( $_REQUEST['attachments'] ) || empty( $_REQUEST['attachments'][ $id ] ) ) { wp_send_json_error(); } $attachment_data = $_REQUEST['attachments'][ $id ]; check_ajax_referer( 'update-post_' . $id, 'nonce' ); if ( ! current_user_can( 'edit_post', $id ) ) { wp_send_json_error(); } $post = get_post( $id, ARRAY_A ); if ( 'attachment' !== $post['post_type'] ) { wp_send_json_error(); } /** This filter is documented in wp-admin/includes/media.php */ $post = apply_filters( 'attachment_fields_to_save', $post, $attachment_data ); if ( isset( $post['errors'] ) ) { $errors = $post['errors']; // @todo return me and display me! unset( $post['errors'] ); } wp_update_post( $post ); foreach ( get_attachment_taxonomies( $post ) as $taxonomy ) { if ( isset( $attachment_data[ $taxonomy ] ) ) { wp_set_object_terms( $id, array_map( 'trim', preg_split( '/,+/', $attachment_data[ $taxonomy ] ) ), $taxonomy, false ); } } $attachment = wp_prepare_attachment_for_js( $id ); if ( ! $attachment ) { wp_send_json_error(); } wp_send_json_success( $attachment ); } /** * Handles saving the attachment order via AJAX. * * @since 3.5.0 */ function wp_ajax_save_attachment_order() { if ( ! isset( $_REQUEST['post_id'] ) ) { wp_send_json_error(); } $post_id = absint( $_REQUEST['post_id'] ); if ( ! $post_id ) { wp_send_json_error(); } if ( empty( $_REQUEST['attachments'] ) ) { wp_send_json_error(); } check_ajax_referer( 'update-post_' . $post_id, 'nonce' ); $attachments = $_REQUEST['attachments']; if ( ! current_user_can( 'edit_post', $post_id ) ) { wp_send_json_error(); } foreach ( $attachments as $attachment_id => $menu_order ) { if ( ! current_user_can( 'edit_post', $attachment_id ) ) { continue; } $attachment = get_post( $attachment_id ); if ( ! $attachment ) { continue; } if ( 'attachment' !== $attachment->post_type ) { continue; } wp_update_post( array( 'ID' => $attachment_id, 'menu_order' => $menu_order, ) ); } wp_send_json_success(); } /** * Handles sending an attachment to the editor via AJAX. * * Generates the HTML to send an attachment to the editor. * Backward compatible with the {@see 'media_send_to_editor'} filter * and the chain of filters that follow. * * @since 3.5.0 */ function wp_ajax_send_attachment_to_editor() { check_ajax_referer( 'media-send-to-editor', 'nonce' ); $attachment = wp_unslash( $_POST['attachment'] ); $id = (int) $attachment['id']; $post = get_post( $id ); if ( ! $post ) { wp_send_json_error(); } if ( 'attachment' !== $post->post_type ) { wp_send_json_error(); } if ( current_user_can( 'edit_post', $id ) ) { // If this attachment is unattached, attach it. Primarily a back compat thing. $insert_into_post_id = (int) $_POST['post_id']; if ( 0 === $post->post_parent && $insert_into_post_id ) { wp_update_post( array( 'ID' => $id, 'post_parent' => $insert_into_post_id, ) ); } } $url = empty( $attachment['url'] ) ? '' : $attachment['url']; $rel = ( str_contains( $url, 'attachment_id' ) || get_attachment_link( $id ) === $url ); remove_filter( 'media_send_to_editor', 'image_media_send_to_editor' ); if ( str_starts_with( $post->post_mime_type, 'image' ) ) { $align = isset( $attachment['align'] ) ? $attachment['align'] : 'none'; $size = isset( $attachment['image-size'] ) ? $attachment['image-size'] : 'medium'; $alt = isset( $attachment['image_alt'] ) ? $attachment['image_alt'] : ''; // No whitespace-only captions. $caption = isset( $attachment['post_excerpt'] ) ? $attachment['post_excerpt'] : ''; if ( '' === trim( $caption ) ) { $caption = ''; } $title = ''; // We no longer insert title tags into <img> tags, as they are redundant. $html = get_image_send_to_editor( $id, $caption, $title, $align, $url, $rel, $size, $alt ); } elseif ( wp_attachment_is( 'video', $post ) || wp_attachment_is( 'audio', $post ) ) { $html = stripslashes_deep( $_POST['html'] ); } else { $html = isset( $attachment['post_title'] ) ? $attachment['post_title'] : ''; $rel = $rel ? ' rel="attachment wp-att-' . $id . '"' : ''; // Hard-coded string, $id is already sanitized. if ( ! empty( $url ) ) { $html = '<a href="' . esc_url( $url ) . '"' . $rel . '>' . $html . '</a>'; } } /** This filter is documented in wp-admin/includes/media.php */ $html = apply_filters( 'media_send_to_editor', $html, $id, $attachment ); wp_send_json_success( $html ); } /** * Handles sending a link to the editor via AJAX. * * Generates the HTML to send a non-image embed link to the editor. * * Backward compatible with the following filters: * - file_send_to_editor_url * - audio_send_to_editor_url * - video_send_to_editor_url * * @since 3.5.0 * * @global WP_Post $post Global post object. * @global WP_Embed $wp_embed WordPress Embed object. */ function wp_ajax_send_link_to_editor() { global $post, $wp_embed; check_ajax_referer( 'media-send-to-editor', 'nonce' ); $src = wp_unslash( $_POST['src'] ); if ( ! $src ) { wp_send_json_error(); } if ( ! strpos( $src, '://' ) ) { $src = 'http://' . $src; } $src = sanitize_url( $src ); if ( ! $src ) { wp_send_json_error(); } $link_text = trim( wp_unslash( $_POST['link_text'] ) ); if ( ! $link_text ) { $link_text = wp_basename( $src ); } $post = get_post( isset( $_POST['post_id'] ) ? $_POST['post_id'] : 0 ); // Ping WordPress for an embed. $check_embed = $wp_embed->run_shortcode( '[embed]' . $src . '[/embed]' ); // Fallback that WordPress creates when no oEmbed was found. $fallback = $wp_embed->maybe_make_link( $src ); if ( $check_embed !== $fallback ) { // TinyMCE view for [embed] will parse this. $html = '[embed]' . $src . '[/embed]'; } elseif ( $link_text ) { $html = '<a href="' . esc_url( $src ) . '">' . $link_text . '</a>'; } else { $html = ''; } // Figure out what filter to run: $type = 'file'; $ext = preg_replace( '/^.+?\.([^.]+)$/', '$1', $src ); if ( $ext ) { $ext_type = wp_ext2type( $ext ); if ( 'audio' === $ext_type || 'video' === $ext_type ) { $type = $ext_type; } } /** This filter is documented in wp-admin/includes/media.php */ $html = apply_filters( "{$type}_send_to_editor_url", $html, $src, $link_text ); wp_send_json_success( $html ); } /** * Handles the Heartbeat API via AJAX. * * Runs when the user is logged in. * * @since 3.6.0 */ function wp_ajax_heartbeat() { if ( empty( $_POST['_nonce'] ) ) { wp_send_json_error(); } $response = array(); $data = array(); $nonce_state = wp_verify_nonce( $_POST['_nonce'], 'heartbeat-nonce' ); // 'screen_id' is the same as $current_screen->id and the JS global 'pagenow'. if ( ! empty( $_POST['screen_id'] ) ) { $screen_id = sanitize_key( $_POST['screen_id'] ); } else { $screen_id = 'front'; } if ( ! empty( $_POST['data'] ) ) { $data = wp_unslash( (array) $_POST['data'] ); } if ( 1 !== $nonce_state ) { /** * Filters the nonces to send to the New/Edit Post screen. * * @since 4.3.0 * * @param array $response The Heartbeat response. * @param array $data The $_POST data sent. * @param string $screen_id The screen ID. */ $response = apply_filters( 'wp_refresh_nonces', $response, $data, $screen_id ); if ( false === $nonce_state ) { // User is logged in but nonces have expired. $response['nonces_expired'] = true; wp_send_json( $response ); } } if ( ! empty( $data ) ) { /** * Filters the Heartbeat response received. * * @since 3.6.0 * * @param array $response The Heartbeat response. * @param array $data The $_POST data sent. * @param string $screen_id The screen ID. */ $response = apply_filters( 'heartbeat_received', $response, $data, $screen_id ); } /** * Filters the Heartbeat response sent. * * @since 3.6.0 * * @param array $response The Heartbeat response. * @param string $screen_id The screen ID. */ $response = apply_filters( 'heartbeat_send', $response, $screen_id ); /** * Fires when Heartbeat ticks in logged-in environments. * * Allows the transport to be easily replaced with long-polling. * * @since 3.6.0 * * @param array $response The Heartbeat response. * @param string $screen_id The screen ID. */ do_action( 'heartbeat_tick', $response, $screen_id ); // Send the current time according to the server. $response['server_time'] = time(); wp_send_json( $response ); } /** * Handles getting revision diffs via AJAX. * * @since 3.6.0 */ function wp_ajax_get_revision_diffs() { require ABSPATH . 'wp-admin/includes/revision.php'; $post = get_post( (int) $_REQUEST['post_id'] ); if ( ! $post ) { wp_send_json_error(); } if ( ! current_user_can( 'edit_post', $post->ID ) ) { wp_send_json_error(); } // Really just pre-loading the cache here. $revisions = wp_get_post_revisions( $post->ID, array( 'check_enabled' => false ) ); if ( ! $revisions ) { wp_send_json_error(); } $return = array(); // Removes the script timeout limit by setting it to 0 allowing ample time for diff UI setup. if ( function_exists( 'set_time_limit' ) ) { set_time_limit( 0 ); } foreach ( $_REQUEST['compare'] as $compare_key ) { list( $compare_from, $compare_to ) = explode( ':', $compare_key ); // from:to $return[] = array( 'id' => $compare_key, 'fields' => wp_get_revision_ui_diff( $post, $compare_from, $compare_to ), ); } wp_send_json_success( $return ); } /** * Handles auto-saving the selected color scheme for * a user's own profile via AJAX. * * @since 3.8.0 * * @global array $_wp_admin_css_colors */ function wp_ajax_save_user_color_scheme() { global $_wp_admin_css_colors; check_ajax_referer( 'save-color-scheme', 'nonce' ); $color_scheme = sanitize_key( $_POST['color_scheme'] ); if ( ! isset( $_wp_admin_css_colors[ $color_scheme ] ) ) { wp_send_json_error(); } $previous_color_scheme = get_user_meta( get_current_user_id(), 'admin_color', true ); update_user_meta( get_current_user_id(), 'admin_color', $color_scheme ); wp_send_json_success( array( 'previousScheme' => 'admin-color-' . $previous_color_scheme, 'currentScheme' => 'admin-color-' . $color_scheme, ) ); } /** * Handles getting themes from themes_api() via AJAX. * * @since 3.9.0 * * @global array $themes_allowedtags * @global array $theme_field_defaults */ function wp_ajax_query_themes() { global $themes_allowedtags, $theme_field_defaults; if ( ! current_user_can( 'install_themes' ) ) { wp_send_json_error(); } $args = wp_parse_args( wp_unslash( $_REQUEST['request'] ), array( 'per_page' => 20, 'fields' => array_merge( (array) $theme_field_defaults, array( 'reviews_url' => true, // Explicitly request the reviews URL to be linked from the Add Themes screen. ) ), ) ); if ( isset( $args['browse'] ) && 'favorites' === $args['browse'] && ! isset( $args['user'] ) ) { $user = get_user_option( 'wporg_favorites' ); if ( $user ) { $args['user'] = $user; } } $old_filter = isset( $args['browse'] ) ? $args['browse'] : 'search'; /** This filter is documented in wp-admin/includes/class-wp-theme-install-list-table.php */ $args = apply_filters( 'install_themes_table_api_args_' . $old_filter, $args ); $api = themes_api( 'query_themes', $args ); if ( is_wp_error( $api ) ) { wp_send_json_error(); } $update_php = network_admin_url( 'update.php?action=install-theme' ); $installed_themes = search_theme_directories(); if ( false === $installed_themes ) { $installed_themes = array(); } foreach ( $installed_themes as $theme_slug => $theme_data ) { // Ignore child themes. if ( str_contains( $theme_slug, '/' ) ) { unset( $installed_themes[ $theme_slug ] ); } } foreach ( $api->themes as &$theme ) { $theme->install_url = add_query_arg( array( 'theme' => $theme->slug, '_wpnonce' => wp_create_nonce( 'install-theme_' . $theme->slug ), ), $update_php ); if ( current_user_can( 'switch_themes' ) ) { if ( is_multisite() ) { $theme->activate_url = add_query_arg( array( 'action' => 'enable', '_wpnonce' => wp_create_nonce( 'enable-theme_' . $theme->slug ), 'theme' => $theme->slug, ), network_admin_url( 'themes.php' ) ); } else { $theme->activate_url = add_query_arg( array( 'action' => 'activate', '_wpnonce' => wp_create_nonce( 'switch-theme_' . $theme->slug ), 'stylesheet' => $theme->slug, ), admin_url( 'themes.php' ) ); } } $is_theme_installed = array_key_exists( $theme->slug, $installed_themes ); // We only care about installed themes. $theme->block_theme = $is_theme_installed && wp_get_theme( $theme->slug )->is_block_theme(); if ( ! is_multisite() && current_user_can( 'edit_theme_options' ) && current_user_can( 'customize' ) ) { $customize_url = $theme->block_theme ? admin_url( 'site-editor.php' ) : wp_customize_url( $theme->slug ); $theme->customize_url = add_query_arg( array( 'return' => urlencode( network_admin_url( 'theme-install.php', 'relative' ) ), ), $customize_url ); } $theme->name = wp_kses( $theme->name, $themes_allowedtags ); $theme->author = wp_kses( $theme->author['display_name'], $themes_allowedtags ); $theme->version = wp_kses( $theme->version, $themes_allowedtags ); $theme->description = wp_kses( $theme->description, $themes_allowedtags ); $theme->stars = wp_star_rating( array( 'rating' => $theme->rating, 'type' => 'percent', 'number' => $theme->num_ratings, 'echo' => false, ) ); $theme->num_ratings = number_format_i18n( $theme->num_ratings ); $theme->preview_url = set_url_scheme( $theme->preview_url ); $theme->compatible_wp = is_wp_version_compatible( $theme->requires ); $theme->compatible_php = is_php_version_compatible( $theme->requires_php ); } wp_send_json_success( $api ); } /** * Applies [embed] Ajax handlers to a string. * * @since 4.0.0 * * @global WP_Post $post Global post object. * @global WP_Embed $wp_embed WordPress Embed object. * @global WP_Scripts $wp_scripts * @global int $content_width */ function wp_ajax_parse_embed() { global $post, $wp_embed, $content_width; if ( empty( $_POST['shortcode'] ) ) { wp_send_json_error(); } $post_id = isset( $_POST['post_ID'] ) ? (int) $_POST['post_ID'] : 0; if ( $post_id > 0 ) { $post = get_post( $post_id ); if ( ! $post || ! current_user_can( 'edit_post', $post->ID ) ) { wp_send_json_error(); } setup_postdata( $post ); } elseif ( ! current_user_can( 'edit_posts' ) ) { // See WP_oEmbed_Controller::get_proxy_item_permissions_check(). wp_send_json_error(); } $shortcode = wp_unslash( $_POST['shortcode'] ); preg_match( '/' . get_shortcode_regex() . '/s', $shortcode, $matches ); $atts = shortcode_parse_atts( $matches[3] ); if ( ! empty( $matches[5] ) ) { $url = $matches[5]; } elseif ( ! empty( $atts['src'] ) ) { $url = $atts['src']; } else { $url = ''; } $parsed = false; $wp_embed->return_false_on_fail = true; if ( 0 === $post_id ) { /* * Refresh oEmbeds cached outside of posts that are past their TTL. * Posts are excluded because they have separate logic for refreshing * their post meta caches. See WP_Embed::cache_oembed(). */ $wp_embed->usecache = false; } if ( is_ssl() && str_starts_with( $url, 'http://' ) ) { /* * Admin is ssl and the user pasted non-ssl URL. * Check if the provider supports ssl embeds and use that for the preview. */ $ssl_shortcode = preg_replace( '%^(\\[embed[^\\]]*\\])http://%i', '$1https://', $shortcode ); $parsed = $wp_embed->run_shortcode( $ssl_shortcode ); if ( ! $parsed ) { $no_ssl_support = true; } } // Set $content_width so any embeds fit in the destination iframe. if ( isset( $_POST['maxwidth'] ) && is_numeric( $_POST['maxwidth'] ) && $_POST['maxwidth'] > 0 ) { if ( ! isset( $content_width ) ) { $content_width = (int) $_POST['maxwidth']; } else { $content_width = min( $content_width, (int) $_POST['maxwidth'] ); } } if ( $url && ! $parsed ) { $parsed = $wp_embed->run_shortcode( $shortcode ); } if ( ! $parsed ) { wp_send_json_error( array( 'type' => 'not-embeddable', /* translators: %s: URL that could not be embedded. */ 'message' => sprintf( __( '%s failed to embed.' ), '<code>' . esc_html( $url ) . '</code>' ), ) ); } if ( has_shortcode( $parsed, 'audio' ) || has_shortcode( $parsed, 'video' ) ) { $styles = ''; $mce_styles = wpview_media_sandbox_styles(); foreach ( $mce_styles as $style ) { $styles .= sprintf( '<link rel="stylesheet" href="%s" />', $style ); } $html = do_shortcode( $parsed ); global $wp_scripts; if ( ! empty( $wp_scripts ) ) { $wp_scripts->done = array(); } ob_start(); wp_print_scripts( array( 'mediaelement-vimeo', 'wp-mediaelement' ) ); $scripts = ob_get_clean(); $parsed = $styles . $html . $scripts; } if ( ! empty( $no_ssl_support ) || ( is_ssl() && ( preg_match( '%<(iframe|script|embed) [^>]*src="http://%', $parsed ) || preg_match( '%<link [^>]*href="http://%', $parsed ) ) ) ) { // Admin is ssl and the embed is not. Iframes, scripts, and other "active content" will be blocked. wp_send_json_error( array( 'type' => 'not-ssl', 'message' => __( 'This preview is unavailable in the editor.' ), ) ); } $return = array( 'body' => $parsed, 'attr' => $wp_embed->last_attr, ); if ( str_contains( $parsed, 'class="wp-embedded-content' ) ) { if ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) { $script_src = includes_url( 'js/wp-embed.js' ); } else { $script_src = includes_url( 'js/wp-embed.min.js' ); } $return['head'] = '<script src="' . $script_src . '"></script>'; $return['sandbox'] = true; } wp_send_json_success( $return ); } /** * @since 4.0.0 * * @global WP_Post $post Global post object. * @global WP_Scripts $wp_scripts */ function wp_ajax_parse_media_shortcode() { global $post, $wp_scripts; if ( empty( $_POST['shortcode'] ) ) { wp_send_json_error(); } $shortcode = wp_unslash( $_POST['shortcode'] ); // Only process previews for media related shortcodes: $found_shortcodes = get_shortcode_tags_in_content( $shortcode ); $media_shortcodes = array( 'audio', 'embed', 'playlist', 'video', 'gallery', ); $other_shortcodes = array_diff( $found_shortcodes, $media_shortcodes ); if ( ! empty( $other_shortcodes ) ) { wp_send_json_error(); } if ( ! empty( $_POST['post_ID'] ) ) { $post = get_post( (int) $_POST['post_ID'] ); } // The embed shortcode requires a post. if ( ! $post || ! current_user_can( 'edit_post', $post->ID ) ) { if ( in_array( 'embed', $found_shortcodes, true ) ) { wp_send_json_error(); } } else { setup_postdata( $post ); } $parsed = do_shortcode( $shortcode ); if ( empty( $parsed ) ) { wp_send_json_error( array( 'type' => 'no-items', 'message' => __( 'No items found.' ), ) ); } $head = ''; $styles = wpview_media_sandbox_styles(); foreach ( $styles as $style ) { $head .= '<link type="text/css" rel="stylesheet" href="' . $style . '">'; } if ( ! empty( $wp_scripts ) ) { $wp_scripts->done = array(); } ob_start(); echo $parsed; if ( 'playlist' === $_REQUEST['type'] ) { wp_underscore_playlist_templates(); wp_print_scripts( 'wp-playlist' ); } else { wp_print_scripts( array( 'mediaelement-vimeo', 'wp-mediaelement' ) ); } wp_send_json_success( array( 'head' => $head, 'body' => ob_get_clean(), ) ); } /** * Handles destroying multiple open sessions for a user via AJAX. * * @since 4.1.0 */ function wp_ajax_destroy_sessions() { $user = get_userdata( (int) $_POST['user_id'] ); if ( $user ) { if ( ! current_user_can( 'edit_user', $user->ID ) ) { $user = false; } elseif ( ! wp_verify_nonce( $_POST['nonce'], 'update-user_' . $user->ID ) ) { $user = false; } } if ( ! $user ) { wp_send_json_error( array( 'message' => __( 'Could not log out user sessions. Please try again.' ), ) ); } $sessions = WP_Session_Tokens::get_instance( $user->ID ); if ( get_current_user_id() === $user->ID ) { $sessions->destroy_others( wp_get_session_token() ); $message = __( 'You are now logged out everywhere else.' ); } else { $sessions->destroy_all(); /* translators: %s: User's display name. */ $message = sprintf( __( '%s has been logged out.' ), $user->display_name ); } wp_send_json_success( array( 'message' => $message ) ); } /** * Handles cropping an image via AJAX. * * @since 4.3.0 */ function wp_ajax_crop_image() { $attachment_id = absint( $_POST['id'] ); check_ajax_referer( 'image_editor-' . $attachment_id, 'nonce' ); if ( empty( $attachment_id ) || ! current_user_can( 'edit_post', $attachment_id ) ) { wp_send_json_error(); } $context = str_replace( '_', '-', $_POST['context'] ); $data = array_map( 'absint', $_POST['cropDetails'] ); $cropped = wp_crop_image( $attachment_id, $data['x1'], $data['y1'], $data['width'], $data['height'], $data['dst_width'], $data['dst_height'] ); if ( ! $cropped || is_wp_error( $cropped ) ) { wp_send_json_error( array( 'message' => __( 'Image could not be processed.' ) ) ); } switch ( $context ) { case 'site-icon': require_once ABSPATH . 'wp-admin/includes/class-wp-site-icon.php'; $wp_site_icon = new WP_Site_Icon(); // Skip creating a new attachment if the attachment is a Site Icon. if ( get_post_meta( $attachment_id, '_wp_attachment_context', true ) === $context ) { // Delete the temporary cropped file, we don't need it. wp_delete_file( $cropped ); // Additional sizes in wp_prepare_attachment_for_js(). add_filter( 'image_size_names_choose', array( $wp_site_icon, 'additional_sizes' ) ); break; } /** This filter is documented in wp-admin/includes/class-custom-image-header.php */ $cropped = apply_filters( 'wp_create_file_in_uploads', $cropped, $attachment_id ); // For replication. // Copy attachment properties. $attachment = wp_copy_parent_attachment_properties( $cropped, $attachment_id, $context ); // Update the attachment. add_filter( 'intermediate_image_sizes_advanced', array( $wp_site_icon, 'additional_sizes' ) ); $attachment_id = $wp_site_icon->insert_attachment( $attachment, $cropped ); remove_filter( 'intermediate_image_sizes_advanced', array( $wp_site_icon, 'additional_sizes' ) ); // Additional sizes in wp_prepare_attachment_for_js(). add_filter( 'image_size_names_choose', array( $wp_site_icon, 'additional_sizes' ) ); break; default: /** * Fires before a cropped image is saved. * * Allows to add filters to modify the way a cropped image is saved. * * @since 4.3.0 * * @param string $context The Customizer control requesting the cropped image. * @param int $attachment_id The attachment ID of the original image. * @param string $cropped Path to the cropped image file. */ do_action( 'wp_ajax_crop_image_pre_save', $context, $attachment_id, $cropped ); /** This filter is documented in wp-admin/includes/class-custom-image-header.php */ $cropped = apply_filters( 'wp_create_file_in_uploads', $cropped, $attachment_id ); // For replication. // Copy attachment properties. $attachment = wp_copy_parent_attachment_properties( $cropped, $attachment_id, $context ); $attachment_id = wp_insert_attachment( $attachment, $cropped ); $metadata = wp_generate_attachment_metadata( $attachment_id, $cropped ); /** * Filters the cropped image attachment metadata. * * @since 4.3.0 * * @see wp_generate_attachment_metadata() * * @param array $metadata Attachment metadata. */ $metadata = apply_filters( 'wp_ajax_cropped_attachment_metadata', $metadata ); wp_update_attachment_metadata( $attachment_id, $metadata ); /** * Filters the attachment ID for a cropped image. * * @since 4.3.0 * * @param int $attachment_id The attachment ID of the cropped image. * @param string $context The Customizer control requesting the cropped image. */ $attachment_id = apply_filters( 'wp_ajax_cropped_attachment_id', $attachment_id, $context ); } wp_send_json_success( wp_prepare_attachment_for_js( $attachment_id ) ); } /** * Handles generating a password via AJAX. * * @since 4.4.0 */ function wp_ajax_generate_password() { wp_send_json_success( wp_generate_password( 24 ) ); } /** * Handles generating a password in the no-privilege context via AJAX. * * @since 5.7.0 */ function wp_ajax_nopriv_generate_password() { wp_send_json_success( wp_generate_password( 24 ) ); } /** * Handles saving the user's WordPress.org username via AJAX. * * @since 4.4.0 */ function wp_ajax_save_wporg_username() { if ( ! current_user_can( 'install_themes' ) && ! current_user_can( 'install_plugins' ) ) { wp_send_json_error(); } check_ajax_referer( 'save_wporg_username_' . get_current_user_id() ); $username = isset( $_REQUEST['username'] ) ? wp_unslash( $_REQUEST['username'] ) : false; if ( ! $username ) { wp_send_json_error(); } wp_send_json_success( update_user_meta( get_current_user_id(), 'wporg_favorites', $username ) ); } /** * Handles installing a theme via AJAX. * * @since 4.6.0 * * @see Theme_Upgrader * * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass. */ function wp_ajax_install_theme() { check_ajax_referer( 'updates' ); if ( empty( $_POST['slug'] ) ) { wp_send_json_error( array( 'slug' => '', 'errorCode' => 'no_theme_specified', 'errorMessage' => __( 'No theme specified.' ), ) ); } $slug = sanitize_key( wp_unslash( $_POST['slug'] ) ); $status = array( 'install' => 'theme', 'slug' => $slug, ); if ( ! current_user_can( 'install_themes' ) ) { $status['errorMessage'] = __( 'Sorry, you are not allowed to install themes on this site.' ); wp_send_json_error( $status ); } require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; require_once ABSPATH . 'wp-admin/includes/theme.php'; $api = themes_api( 'theme_information', array( 'slug' => $slug, 'fields' => array( 'sections' => false ), ) ); if ( is_wp_error( $api ) ) { $status['errorMessage'] = $api->get_error_message(); wp_send_json_error( $status ); } $skin = new WP_Ajax_Upgrader_Skin(); $upgrader = new Theme_Upgrader( $skin ); $result = $upgrader->install( $api->download_link ); if ( defined( 'WP_DEBUG' ) && WP_DEBUG ) { $status['debug'] = $skin->get_upgrade_messages(); } if ( is_wp_error( $result ) ) { $status['errorCode'] = $result->get_error_code(); $status['errorMessage'] = $result->get_error_message(); wp_send_json_error( $status ); } elseif ( is_wp_error( $skin->result ) ) { $status['errorCode'] = $skin->result->get_error_code(); $status['errorMessage'] = $skin->result->get_error_message(); wp_send_json_error( $status ); } elseif ( $skin->get_errors()->has_errors() ) { $status['errorMessage'] = $skin->get_error_messages(); wp_send_json_error( $status ); } elseif ( is_null( $result ) ) { global $wp_filesystem; $status['errorCode'] = 'unable_to_connect_to_filesystem'; $status['errorMessage'] = __( 'Unable to connect to the filesystem. Please confirm your credentials.' ); // Pass through the error from WP_Filesystem if one was raised. if ( $wp_filesystem instanceof WP_Filesystem_Base && is_wp_error( $wp_filesystem->errors ) && $wp_filesystem->errors->has_errors() ) { $status['errorMessage'] = esc_html( $wp_filesystem->errors->get_error_message() ); } wp_send_json_error( $status ); } $status['themeName'] = wp_get_theme( $slug )->get( 'Name' ); if ( current_user_can( 'switch_themes' ) ) { if ( is_multisite() ) { $status['activateUrl'] = add_query_arg( array( 'action' => 'enable', '_wpnonce' => wp_create_nonce( 'enable-theme_' . $slug ), 'theme' => $slug, ), network_admin_url( 'themes.php' ) ); } else { $status['activateUrl'] = add_query_arg( array( 'action' => 'activate', '_wpnonce' => wp_create_nonce( 'switch-theme_' . $slug ), 'stylesheet' => $slug, ), admin_url( 'themes.php' ) ); } } $theme = wp_get_theme( $slug ); $status['blockTheme'] = $theme->is_block_theme(); if ( ! is_multisite() && current_user_can( 'edit_theme_options' ) && current_user_can( 'customize' ) ) { $status['customizeUrl'] = add_query_arg( array( 'return' => urlencode( network_admin_url( 'theme-install.php', 'relative' ) ), ), wp_customize_url( $slug ) ); } /* * See WP_Theme_Install_List_Table::_get_theme_status() if we wanted to check * on post-installation status. */ wp_send_json_success( $status ); } /** * Handles updating a theme via AJAX. * * @since 4.6.0 * * @see Theme_Upgrader * * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass. */ function wp_ajax_update_theme() { check_ajax_referer( 'updates' ); if ( empty( $_POST['slug'] ) ) { wp_send_json_error( array( 'slug' => '', 'errorCode' => 'no_theme_specified', 'errorMessage' => __( 'No theme specified.' ), ) ); } $stylesheet = preg_replace( '/[^A-z0-9_\-]/', '', wp_unslash( $_POST['slug'] ) ); $status = array( 'update' => 'theme', 'slug' => $stylesheet, 'oldVersion' => '', 'newVersion' => '', ); if ( ! current_user_can( 'update_themes' ) ) { $status['errorMessage'] = __( 'Sorry, you are not allowed to update themes for this site.' ); wp_send_json_error( $status ); } $theme = wp_get_theme( $stylesheet ); if ( $theme->exists() ) { $status['oldVersion'] = $theme->get( 'Version' ); } require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; $current = get_site_transient( 'update_themes' ); if ( empty( $current ) ) { wp_update_themes(); } $skin = new WP_Ajax_Upgrader_Skin(); $upgrader = new Theme_Upgrader( $skin ); $result = $upgrader->bulk_upgrade( array( $stylesheet ) ); if ( defined( 'WP_DEBUG' ) && WP_DEBUG ) { $status['debug'] = $skin->get_upgrade_messages(); } if ( is_wp_error( $skin->result ) ) { $status['errorCode'] = $skin->result->get_error_code(); $status['errorMessage'] = $skin->result->get_error_message(); wp_send_json_error( $status ); } elseif ( $skin->get_errors()->has_errors() ) { $status['errorMessage'] = $skin->get_error_messages(); wp_send_json_error( $status ); } elseif ( is_array( $result ) && ! empty( $result[ $stylesheet ] ) ) { // Theme is already at the latest version. if ( true === $result[ $stylesheet ] ) { $status['errorMessage'] = $upgrader->strings['up_to_date']; wp_send_json_error( $status ); } $theme = wp_get_theme( $stylesheet ); if ( $theme->exists() ) { $status['newVersion'] = $theme->get( 'Version' ); } wp_send_json_success( $status ); } elseif ( false === $result ) { global $wp_filesystem; $status['errorCode'] = 'unable_to_connect_to_filesystem'; $status['errorMessage'] = __( 'Unable to connect to the filesystem. Please confirm your credentials.' ); // Pass through the error from WP_Filesystem if one was raised. if ( $wp_filesystem instanceof WP_Filesystem_Base && is_wp_error( $wp_filesystem->errors ) && $wp_filesystem->errors->has_errors() ) { $status['errorMessage'] = esc_html( $wp_filesystem->errors->get_error_message() ); } wp_send_json_error( $status ); } // An unhandled error occurred. $status['errorMessage'] = __( 'Theme update failed.' ); wp_send_json_error( $status ); } /** * Handles deleting a theme via AJAX. * * @since 4.6.0 * * @see delete_theme() * * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass. */ function wp_ajax_delete_theme() { check_ajax_referer( 'updates' ); if ( empty( $_POST['slug'] ) ) { wp_send_json_error( array( 'slug' => '', 'errorCode' => 'no_theme_specified', 'errorMessage' => __( 'No theme specified.' ), ) ); } $stylesheet = preg_replace( '/[^A-z0-9_\-]/', '', wp_unslash( $_POST['slug'] ) ); $status = array( 'delete' => 'theme', 'slug' => $stylesheet, ); if ( ! current_user_can( 'delete_themes' ) ) { $status['errorMessage'] = __( 'Sorry, you are not allowed to delete themes on this site.' ); wp_send_json_error( $status ); } if ( ! wp_get_theme( $stylesheet )->exists() ) { $status['errorMessage'] = __( 'The requested theme does not exist.' ); wp_send_json_error( $status ); } // Check filesystem credentials. `delete_theme()` will bail otherwise. $url = wp_nonce_url( 'themes.php?action=delete&stylesheet=' . urlencode( $stylesheet ), 'delete-theme_' . $stylesheet ); ob_start(); $credentials = request_filesystem_credentials( $url ); ob_end_clean(); if ( false === $credentials || ! WP_Filesystem( $credentials ) ) { global $wp_filesystem; $status['errorCode'] = 'unable_to_connect_to_filesystem'; $status['errorMessage'] = __( 'Unable to connect to the filesystem. Please confirm your credentials.' ); // Pass through the error from WP_Filesystem if one was raised. if ( $wp_filesystem instanceof WP_Filesystem_Base && is_wp_error( $wp_filesystem->errors ) && $wp_filesystem->errors->has_errors() ) { $status['errorMessage'] = esc_html( $wp_filesystem->errors->get_error_message() ); } wp_send_json_error( $status ); } require_once ABSPATH . 'wp-admin/includes/theme.php'; $result = delete_theme( $stylesheet ); if ( is_wp_error( $result ) ) { $status['errorMessage'] = $result->get_error_message(); wp_send_json_error( $status ); } elseif ( false === $result ) { $status['errorMessage'] = __( 'Theme could not be deleted.' ); wp_send_json_error( $status ); } wp_send_json_success( $status ); } /** * Handles installing a plugin via AJAX. * * @since 4.6.0 * * @see Plugin_Upgrader * * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass. */ function wp_ajax_install_plugin() { check_ajax_referer( 'updates' ); if ( empty( $_POST['slug'] ) ) { wp_send_json_error( array( 'slug' => '', 'errorCode' => 'no_plugin_specified', 'errorMessage' => __( 'No plugin specified.' ), ) ); } $status = array( 'install' => 'plugin', 'slug' => sanitize_key( wp_unslash( $_POST['slug'] ) ), ); if ( ! current_user_can( 'install_plugins' ) ) { $status['errorMessage'] = __( 'Sorry, you are not allowed to install plugins on this site.' ); wp_send_json_error( $status ); } require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; require_once ABSPATH . 'wp-admin/includes/plugin-install.php'; $api = plugins_api( 'plugin_information', array( 'slug' => sanitize_key( wp_unslash( $_POST['slug'] ) ), 'fields' => array( 'sections' => false, ), ) ); if ( is_wp_error( $api ) ) { $status['errorMessage'] = $api->get_error_message(); wp_send_json_error( $status ); } $status['pluginName'] = $api->name; $skin = new WP_Ajax_Upgrader_Skin(); $upgrader = new Plugin_Upgrader( $skin ); $result = $upgrader->install( $api->download_link ); if ( defined( 'WP_DEBUG' ) && WP_DEBUG ) { $status['debug'] = $skin->get_upgrade_messages(); } if ( is_wp_error( $result ) ) { $status['errorCode'] = $result->get_error_code(); $status['errorMessage'] = $result->get_error_message(); wp_send_json_error( $status ); } elseif ( is_wp_error( $skin->result ) ) { $status['errorCode'] = $skin->result->get_error_code(); $status['errorMessage'] = $skin->result->get_error_message(); wp_send_json_error( $status ); } elseif ( $skin->get_errors()->has_errors() ) { $status['errorMessage'] = $skin->get_error_messages(); wp_send_json_error( $status ); } elseif ( is_null( $result ) ) { global $wp_filesystem; $status['errorCode'] = 'unable_to_connect_to_filesystem'; $status['errorMessage'] = __( 'Unable to connect to the filesystem. Please confirm your credentials.' ); // Pass through the error from WP_Filesystem if one was raised. if ( $wp_filesystem instanceof WP_Filesystem_Base && is_wp_error( $wp_filesystem->errors ) && $wp_filesystem->errors->has_errors() ) { $status['errorMessage'] = esc_html( $wp_filesystem->errors->get_error_message() ); } wp_send_json_error( $status ); } $install_status = install_plugin_install_status( $api ); $pagenow = isset( $_POST['pagenow'] ) ? sanitize_key( $_POST['pagenow'] ) : ''; // If installation request is coming from import page, do not return network activation link. $plugins_url = ( 'import' === $pagenow ) ? admin_url( 'plugins.php' ) : network_admin_url( 'plugins.php' ); if ( current_user_can( 'activate_plugin', $install_status['file'] ) && is_plugin_inactive( $install_status['file'] ) ) { $status['activateUrl'] = add_query_arg( array( '_wpnonce' => wp_create_nonce( 'activate-plugin_' . $install_status['file'] ), 'action' => 'activate', 'plugin' => $install_status['file'], ), $plugins_url ); } if ( is_multisite() && current_user_can( 'manage_network_plugins' ) && 'import' !== $pagenow ) { $status['activateUrl'] = add_query_arg( array( 'networkwide' => 1 ), $status['activateUrl'] ); } wp_send_json_success( $status ); } /** * Handles activating a plugin via AJAX. * * @since 6.5.0 */ function wp_ajax_activate_plugin() { check_ajax_referer( 'updates' ); if ( empty( $_POST['name'] ) || empty( $_POST['slug'] ) || empty( $_POST['plugin'] ) ) { wp_send_json_error( array( 'slug' => '', 'pluginName' => '', 'plugin' => '', 'errorCode' => 'no_plugin_specified', 'errorMessage' => __( 'No plugin specified.' ), ) ); } $status = array( 'activate' => 'plugin', 'slug' => wp_unslash( $_POST['slug'] ), 'pluginName' => wp_unslash( $_POST['name'] ), 'plugin' => wp_unslash( $_POST['plugin'] ), ); if ( ! current_user_can( 'activate_plugin', $status['plugin'] ) ) { $status['errorMessage'] = __( 'Sorry, you are not allowed to activate plugins on this site.' ); wp_send_json_error( $status ); } if ( is_plugin_active( $status['plugin'] ) ) { $status['errorMessage'] = sprintf( /* translators: %s: Plugin name. */ __( '%s is already active.' ), $status['pluginName'] ); } $activated = activate_plugin( $status['plugin'] ); if ( is_wp_error( $activated ) ) { $status['errorMessage'] = $activated->get_error_message(); wp_send_json_error( $status ); } wp_send_json_success( $status ); } /** * Handles updating a plugin via AJAX. * * @since 4.2.0 * * @see Plugin_Upgrader * * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass. */ function wp_ajax_update_plugin() { check_ajax_referer( 'updates' ); if ( empty( $_POST['plugin'] ) || empty( $_POST['slug'] ) ) { wp_send_json_error( array( 'slug' => '', 'errorCode' => 'no_plugin_specified', 'errorMessage' => __( 'No plugin specified.' ), ) ); } $plugin = plugin_basename( sanitize_text_field( wp_unslash( $_POST['plugin'] ) ) ); $status = array( 'update' => 'plugin', 'slug' => sanitize_key( wp_unslash( $_POST['slug'] ) ), 'oldVersion' => '', 'newVersion' => '', ); if ( ! current_user_can( 'update_plugins' ) || 0 !== validate_file( $plugin ) ) { $status['errorMessage'] = __( 'Sorry, you are not allowed to update plugins for this site.' ); wp_send_json_error( $status ); } $plugin_data = get_plugin_data( WP_PLUGIN_DIR . '/' . $plugin ); $status['plugin'] = $plugin; $status['pluginName'] = $plugin_data['Name']; if ( $plugin_data['Version'] ) { /* translators: %s: Plugin version. */ $status['oldVersion'] = sprintf( __( 'Version %s' ), $plugin_data['Version'] ); } require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; wp_update_plugins(); $skin = new WP_Ajax_Upgrader_Skin(); $upgrader = new Plugin_Upgrader( $skin ); $result = $upgrader->bulk_upgrade( array( $plugin ) ); if ( defined( 'WP_DEBUG' ) && WP_DEBUG ) { $status['debug'] = $skin->get_upgrade_messages(); } if ( is_wp_error( $skin->result ) ) { $status['errorCode'] = $skin->result->get_error_code(); $status['errorMessage'] = $skin->result->get_error_message(); wp_send_json_error( $status ); } elseif ( $skin->get_errors()->has_errors() ) { $status['errorMessage'] = $skin->get_error_messages(); wp_send_json_error( $status ); } elseif ( is_array( $result ) && ! empty( $result[ $plugin ] ) ) { /* * Plugin is already at the latest version. * * This may also be the return value if the `update_plugins` site transient is empty, * e.g. when you update two plugins in quick succession before the transient repopulates. * * Preferably something can be done to ensure `update_plugins` isn't empty. * For now, surface some sort of error here. */ if ( true === $result[ $plugin ] ) { $status['errorMessage'] = $upgrader->strings['up_to_date']; wp_send_json_error( $status ); } $plugin_data = get_plugins( '/' . $result[ $plugin ]['destination_name'] ); $plugin_data = reset( $plugin_data ); if ( $plugin_data['Version'] ) { /* translators: %s: Plugin version. */ $status['newVersion'] = sprintf( __( 'Version %s' ), $plugin_data['Version'] ); } wp_send_json_success( $status ); } elseif ( false === $result ) { global $wp_filesystem; $status['errorCode'] = 'unable_to_connect_to_filesystem'; $status['errorMessage'] = __( 'Unable to connect to the filesystem. Please confirm your credentials.' ); // Pass through the error from WP_Filesystem if one was raised. if ( $wp_filesystem instanceof WP_Filesystem_Base && is_wp_error( $wp_filesystem->errors ) && $wp_filesystem->errors->has_errors() ) { $status['errorMessage'] = esc_html( $wp_filesystem->errors->get_error_message() ); } wp_send_json_error( $status ); } // An unhandled error occurred. $status['errorMessage'] = __( 'Plugin update failed.' ); wp_send_json_error( $status ); } /** * Handles deleting a plugin via AJAX. * * @since 4.6.0 * * @see delete_plugins() * * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass. */ function wp_ajax_delete_plugin() { check_ajax_referer( 'updates' ); if ( empty( $_POST['slug'] ) || empty( $_POST['plugin'] ) ) { wp_send_json_error( array( 'slug' => '', 'errorCode' => 'no_plugin_specified', 'errorMessage' => __( 'No plugin specified.' ), ) ); } $plugin = plugin_basename( sanitize_text_field( wp_unslash( $_POST['plugin'] ) ) ); $status = array( 'delete' => 'plugin', 'slug' => sanitize_key( wp_unslash( $_POST['slug'] ) ), ); if ( ! current_user_can( 'delete_plugins' ) || 0 !== validate_file( $plugin ) ) { $status['errorMessage'] = __( 'Sorry, you are not allowed to delete plugins for this site.' ); wp_send_json_error( $status ); } $plugin_data = get_plugin_data( WP_PLUGIN_DIR . '/' . $plugin ); $status['plugin'] = $plugin; $status['pluginName'] = $plugin_data['Name']; if ( is_plugin_active( $plugin ) ) { $status['errorMessage'] = __( 'You cannot delete a plugin while it is active on the main site.' ); wp_send_json_error( $status ); } // Check filesystem credentials. `delete_plugins()` will bail otherwise. $url = wp_nonce_url( 'plugins.php?action=delete-selected&verify-delete=1&checked[]=' . $plugin, 'bulk-plugins' ); ob_start(); $credentials = request_filesystem_credentials( $url ); ob_end_clean(); if ( false === $credentials || ! WP_Filesystem( $credentials ) ) { global $wp_filesystem; $status['errorCode'] = 'unable_to_connect_to_filesystem'; $status['errorMessage'] = __( 'Unable to connect to the filesystem. Please confirm your credentials.' ); // Pass through the error from WP_Filesystem if one was raised. if ( $wp_filesystem instanceof WP_Filesystem_Base && is_wp_error( $wp_filesystem->errors ) && $wp_filesystem->errors->has_errors() ) { $status['errorMessage'] = esc_html( $wp_filesystem->errors->get_error_message() ); } wp_send_json_error( $status ); } $result = delete_plugins( array( $plugin ) ); if ( is_wp_error( $result ) ) { $status['errorMessage'] = $result->get_error_message(); wp_send_json_error( $status ); } elseif ( false === $result ) { $status['errorMessage'] = __( 'Plugin could not be deleted.' ); wp_send_json_error( $status ); } wp_send_json_success( $status ); } /** * Handles searching plugins via AJAX. * * @since 4.6.0 * * @global string $s Search term. */ function wp_ajax_search_plugins() { check_ajax_referer( 'updates' ); // Ensure after_plugin_row_{$plugin_file} gets hooked. wp_plugin_update_rows(); $pagenow = isset( $_POST['pagenow'] ) ? sanitize_key( $_POST['pagenow'] ) : ''; if ( 'plugins-network' === $pagenow || 'plugins' === $pagenow ) { set_current_screen( $pagenow ); } /** @var WP_Plugins_List_Table $wp_list_table */ $wp_list_table = _get_list_table( 'WP_Plugins_List_Table', array( 'screen' => get_current_screen(), ) ); $status = array(); if ( ! $wp_list_table->ajax_user_can() ) { $status['errorMessage'] = __( 'Sorry, you are not allowed to manage plugins for this site.' ); wp_send_json_error( $status ); } // Set the correct requester, so pagination works. $_SERVER['REQUEST_URI'] = add_query_arg( array_diff_key( $_POST, array( '_ajax_nonce' => null, 'action' => null, ) ), network_admin_url( 'plugins.php', 'relative' ) ); $GLOBALS['s'] = wp_unslash( $_POST['s'] ); $wp_list_table->prepare_items(); ob_start(); $wp_list_table->display(); $status['count'] = count( $wp_list_table->items ); $status['items'] = ob_get_clean(); wp_send_json_success( $status ); } /** * Handles searching plugins to install via AJAX. * * @since 4.6.0 */ function wp_ajax_search_install_plugins() { check_ajax_referer( 'updates' ); $pagenow = isset( $_POST['pagenow'] ) ? sanitize_key( $_POST['pagenow'] ) : ''; if ( 'plugin-install-network' === $pagenow || 'plugin-install' === $pagenow ) { set_current_screen( $pagenow ); } /** @var WP_Plugin_Install_List_Table $wp_list_table */ $wp_list_table = _get_list_table( 'WP_Plugin_Install_List_Table', array( 'screen' => get_current_screen(), ) ); $status = array(); if ( ! $wp_list_table->ajax_user_can() ) { $status['errorMessage'] = __( 'Sorry, you are not allowed to manage plugins for this site.' ); wp_send_json_error( $status ); } // Set the correct requester, so pagination works. $_SERVER['REQUEST_URI'] = add_query_arg( array_diff_key( $_POST, array( '_ajax_nonce' => null, 'action' => null, ) ), network_admin_url( 'plugin-install.php', 'relative' ) ); $wp_list_table->prepare_items(); ob_start(); $wp_list_table->display(); $status['count'] = (int) $wp_list_table->get_pagination_arg( 'total_items' ); $status['items'] = ob_get_clean(); wp_send_json_success( $status ); } /** * Handles editing a theme or plugin file via AJAX. * * @since 4.9.0 * * @see wp_edit_theme_plugin_file() */ function wp_ajax_edit_theme_plugin_file() { $r = wp_edit_theme_plugin_file( wp_unslash( $_POST ) ); // Validation of args is done in wp_edit_theme_plugin_file(). if ( is_wp_error( $r ) ) { wp_send_json_error( array_merge( array( 'code' => $r->get_error_code(), 'message' => $r->get_error_message(), ), (array) $r->get_error_data() ) ); } else { wp_send_json_success( array( 'message' => __( 'File edited successfully.' ), ) ); } } /** * Handles exporting a user's personal data via AJAX. * * @since 4.9.6 */ function wp_ajax_wp_privacy_export_personal_data() { if ( empty( $_POST['id'] ) ) { wp_send_json_error( __( 'Missing request ID.' ) ); } $request_id = (int) $_POST['id']; if ( $request_id < 1 ) { wp_send_json_error( __( 'Invalid request ID.' ) ); } if ( ! current_user_can( 'export_others_personal_data' ) ) { wp_send_json_error( __( 'Sorry, you are not allowed to perform this action.' ) ); } check_ajax_referer( 'wp-privacy-export-personal-data-' . $request_id, 'security' ); // Get the request. $request = wp_get_user_request( $request_id ); if ( ! $request || 'export_personal_data' !== $request->action_name ) { wp_send_json_error( __( 'Invalid request type.' ) ); } $email_address = $request->email; if ( ! is_email( $email_address ) ) { wp_send_json_error( __( 'A valid email address must be given.' ) ); } if ( ! isset( $_POST['exporter'] ) ) { wp_send_json_error( __( 'Missing exporter index.' ) ); } $exporter_index = (int) $_POST['exporter']; if ( ! isset( $_POST['page'] ) ) { wp_send_json_error( __( 'Missing page index.' ) ); } $page = (int) $_POST['page']; $send_as_email = isset( $_POST['sendAsEmail'] ) ? ( 'true' === $_POST['sendAsEmail'] ) : false; /** * Filters the array of exporter callbacks. * * @since 4.9.6 * * @param array $args { * An array of callable exporters of personal data. Default empty array. * * @type array ...$0 { * Array of personal data exporters. * * @type callable $callback Callable exporter function that accepts an * email address and a page number and returns an * array of name => value pairs of personal data. * @type string $exporter_friendly_name Translated user facing friendly name for the * exporter. * } * } */ $exporters = apply_filters( 'wp_privacy_personal_data_exporters', array() ); if ( ! is_array( $exporters ) ) { wp_send_json_error( __( 'An exporter has improperly used the registration filter.' ) ); } // Do we have any registered exporters? if ( 0 < count( $exporters ) ) { if ( $exporter_index < 1 ) { wp_send_json_error( __( 'Exporter index cannot be negative.' ) ); } if ( $exporter_index > count( $exporters ) ) { wp_send_json_error( __( 'Exporter index is out of range.' ) ); } if ( $page < 1 ) { wp_send_json_error( __( 'Page index cannot be less than one.' ) ); } $exporter_keys = array_keys( $exporters ); $exporter_key = $exporter_keys[ $exporter_index - 1 ]; $exporter = $exporters[ $exporter_key ]; if ( ! is_array( $exporter ) ) { wp_send_json_error( /* translators: %s: Exporter array index. */ sprintf( __( 'Expected an array describing the exporter at index %s.' ), $exporter_key ) ); } if ( ! array_key_exists( 'exporter_friendly_name', $exporter ) ) { wp_send_json_error( /* translators: %s: Exporter array index. */ sprintf( __( 'Exporter array at index %s does not include a friendly name.' ), $exporter_key ) ); } $exporter_friendly_name = $exporter['exporter_friendly_name']; if ( ! array_key_exists( 'callback', $exporter ) ) { wp_send_json_error( /* translators: %s: Exporter friendly name. */ sprintf( __( 'Exporter does not include a callback: %s.' ), esc_html( $exporter_friendly_name ) ) ); } if ( ! is_callable( $exporter['callback'] ) ) { wp_send_json_error( /* translators: %s: Exporter friendly name. */ sprintf( __( 'Exporter callback is not a valid callback: %s.' ), esc_html( $exporter_friendly_name ) ) ); } $callback = $exporter['callback']; $response = call_user_func( $callback, $email_address, $page ); if ( is_wp_error( $response ) ) { wp_send_json_error( $response ); } if ( ! is_array( $response ) ) { wp_send_json_error( /* translators: %s: Exporter friendly name. */ sprintf( __( 'Expected response as an array from exporter: %s.' ), esc_html( $exporter_friendly_name ) ) ); } if ( ! array_key_exists( 'data', $response ) ) { wp_send_json_error( /* translators: %s: Exporter friendly name. */ sprintf( __( 'Expected data in response array from exporter: %s.' ), esc_html( $exporter_friendly_name ) ) ); } if ( ! is_array( $response['data'] ) ) { wp_send_json_error( /* translators: %s: Exporter friendly name. */ sprintf( __( 'Expected data array in response array from exporter: %s.' ), esc_html( $exporter_friendly_name ) ) ); } if ( ! array_key_exists( 'done', $response ) ) { wp_send_json_error( /* translators: %s: Exporter friendly name. */ sprintf( __( 'Expected done (boolean) in response array from exporter: %s.' ), esc_html( $exporter_friendly_name ) ) ); } } else { // No exporters, so we're done. $exporter_key = ''; $response = array( 'data' => array(), 'done' => true, ); } /** * Filters a page of personal data exporter data. Used to build the export report. * * Allows the export response to be consumed by destinations in addition to Ajax. * * @since 4.9.6 * * @param array $response The personal data for the given exporter and page number. * @param int $exporter_index The index of the exporter that provided this data. * @param string $email_address The email address associated with this personal data. * @param int $page The page number for this response. * @param int $request_id The privacy request post ID associated with this request. * @param bool $send_as_email Whether the final results of the export should be emailed to the user. * @param string $exporter_key The key (slug) of the exporter that provided this data. */ $response = apply_filters( 'wp_privacy_personal_data_export_page', $response, $exporter_index, $email_address, $page, $request_id, $send_as_email, $exporter_key ); if ( is_wp_error( $response ) ) { wp_send_json_error( $response ); } wp_send_json_success( $response ); } /** * Handles erasing personal data via AJAX. * * @since 4.9.6 */ function wp_ajax_wp_privacy_erase_personal_data() { if ( empty( $_POST['id'] ) ) { wp_send_json_error( __( 'Missing request ID.' ) ); } $request_id = (int) $_POST['id']; if ( $request_id < 1 ) { wp_send_json_error( __( 'Invalid request ID.' ) ); } // Both capabilities are required to avoid confusion, see `_wp_personal_data_removal_page()`. if ( ! current_user_can( 'erase_others_personal_data' ) || ! current_user_can( 'delete_users' ) ) { wp_send_json_error( __( 'Sorry, you are not allowed to perform this action.' ) ); } check_ajax_referer( 'wp-privacy-erase-personal-data-' . $request_id, 'security' ); // Get the request. $request = wp_get_user_request( $request_id ); if ( ! $request || 'remove_personal_data' !== $request->action_name ) { wp_send_json_error( __( 'Invalid request type.' ) ); } $email_address = $request->email; if ( ! is_email( $email_address ) ) { wp_send_json_error( __( 'Invalid email address in request.' ) ); } if ( ! isset( $_POST['eraser'] ) ) { wp_send_json_error( __( 'Missing eraser index.' ) ); } $eraser_index = (int) $_POST['eraser']; if ( ! isset( $_POST['page'] ) ) { wp_send_json_error( __( 'Missing page index.' ) ); } $page = (int) $_POST['page']; /** * Filters the array of personal data eraser callbacks. * * @since 4.9.6 * * @param array $args { * An array of callable erasers of personal data. Default empty array. * * @type array ...$0 { * Array of personal data exporters. * * @type callable $callback Callable eraser that accepts an email address and a page * number, and returns an array with boolean values for * whether items were removed or retained and any messages * from the eraser, as well as if additional pages are * available. * @type string $exporter_friendly_name Translated user facing friendly name for the eraser. * } * } */ $erasers = apply_filters( 'wp_privacy_personal_data_erasers', array() ); // Do we have any registered erasers? if ( 0 < count( $erasers ) ) { if ( $eraser_index < 1 ) { wp_send_json_error( __( 'Eraser index cannot be less than one.' ) ); } if ( $eraser_index > count( $erasers ) ) { wp_send_json_error( __( 'Eraser index is out of range.' ) ); } if ( $page < 1 ) { wp_send_json_error( __( 'Page index cannot be less than one.' ) ); } $eraser_keys = array_keys( $erasers ); $eraser_key = $eraser_keys[ $eraser_index - 1 ]; $eraser = $erasers[ $eraser_key ]; if ( ! is_array( $eraser ) ) { /* translators: %d: Eraser array index. */ wp_send_json_error( sprintf( __( 'Expected an array describing the eraser at index %d.' ), $eraser_index ) ); } if ( ! array_key_exists( 'eraser_friendly_name', $eraser ) ) { /* translators: %d: Eraser array index. */ wp_send_json_error( sprintf( __( 'Eraser array at index %d does not include a friendly name.' ), $eraser_index ) ); } $eraser_friendly_name = $eraser['eraser_friendly_name']; if ( ! array_key_exists( 'callback', $eraser ) ) { wp_send_json_error( sprintf( /* translators: %s: Eraser friendly name. */ __( 'Eraser does not include a callback: %s.' ), esc_html( $eraser_friendly_name ) ) ); } if ( ! is_callable( $eraser['callback'] ) ) { wp_send_json_error( sprintf( /* translators: %s: Eraser friendly name. */ __( 'Eraser callback is not valid: %s.' ), esc_html( $eraser_friendly_name ) ) ); } $callback = $eraser['callback']; $response = call_user_func( $callback, $email_address, $page ); if ( is_wp_error( $response ) ) { wp_send_json_error( $response ); } if ( ! is_array( $response ) ) { wp_send_json_error( sprintf( /* translators: 1: Eraser friendly name, 2: Eraser array index. */ __( 'Did not receive array from %1$s eraser (index %2$d).' ), esc_html( $eraser_friendly_name ), $eraser_index ) ); } if ( ! array_key_exists( 'items_removed', $response ) ) { wp_send_json_error( sprintf( /* translators: 1: Eraser friendly name, 2: Eraser array index. */ __( 'Expected items_removed key in response array from %1$s eraser (index %2$d).' ), esc_html( $eraser_friendly_name ), $eraser_index ) ); } if ( ! array_key_exists( 'items_retained', $response ) ) { wp_send_json_error( sprintf( /* translators: 1: Eraser friendly name, 2: Eraser array index. */ __( 'Expected items_retained key in response array from %1$s eraser (index %2$d).' ), esc_html( $eraser_friendly_name ), $eraser_index ) ); } if ( ! array_key_exists( 'messages', $response ) ) { wp_send_json_error( sprintf( /* translators: 1: Eraser friendly name, 2: Eraser array index. */ __( 'Expected messages key in response array from %1$s eraser (index %2$d).' ), esc_html( $eraser_friendly_name ), $eraser_index ) ); } if ( ! is_array( $response['messages'] ) ) { wp_send_json_error( sprintf( /* translators: 1: Eraser friendly name, 2: Eraser array index. */ __( 'Expected messages key to reference an array in response array from %1$s eraser (index %2$d).' ), esc_html( $eraser_friendly_name ), $eraser_index ) ); } if ( ! array_key_exists( 'done', $response ) ) { wp_send_json_error( sprintf( /* translators: 1: Eraser friendly name, 2: Eraser array index. */ __( 'Expected done flag in response array from %1$s eraser (index %2$d).' ), esc_html( $eraser_friendly_name ), $eraser_index ) ); } } else { // No erasers, so we're done. $eraser_key = ''; $response = array( 'items_removed' => false, 'items_retained' => false, 'messages' => array(), 'done' => true, ); } /** * Filters a page of personal data eraser data. * * Allows the erasure response to be consumed by destinations in addition to Ajax. * * @since 4.9.6 * * @param array $response { * The personal data for the given exporter and page number. * * @type bool $items_removed Whether items were actually removed or not. * @type bool $items_retained Whether items were retained or not. * @type string[] $messages An array of messages to add to the personal data export file. * @type bool $done Whether the eraser is finished or not. * } * @param int $eraser_index The index of the eraser that provided this data. * @param string $email_address The email address associated with this personal data. * @param int $page The page number for this response. * @param int $request_id The privacy request post ID associated with this request. * @param string $eraser_key The key (slug) of the eraser that provided this data. */ $response = apply_filters( 'wp_privacy_personal_data_erasure_page', $response, $eraser_index, $email_address, $page, $request_id, $eraser_key ); if ( is_wp_error( $response ) ) { wp_send_json_error( $response ); } wp_send_json_success( $response ); } /** * Handles site health checks on server communication via AJAX. * * @since 5.2.0 * @deprecated 5.6.0 Use WP_REST_Site_Health_Controller::test_dotorg_communication() * @see WP_REST_Site_Health_Controller::test_dotorg_communication() */ function wp_ajax_health_check_dotorg_communication() { _doing_it_wrong( 'wp_ajax_health_check_dotorg_communication', sprintf( // translators: 1: The Site Health action that is no longer used by core. 2: The new function that replaces it. __( 'The Site Health check for %1$s has been replaced with %2$s.' ), 'wp_ajax_health_check_dotorg_communication', 'WP_REST_Site_Health_Controller::test_dotorg_communication' ), '5.6.0' ); check_ajax_referer( 'health-check-site-status' ); if ( ! current_user_can( 'view_site_health_checks' ) ) { wp_send_json_error(); } if ( ! class_exists( 'WP_Site_Health' ) ) { require_once ABSPATH . 'wp-admin/includes/class-wp-site-health.php'; } $site_health = WP_Site_Health::get_instance(); wp_send_json_success( $site_health->get_test_dotorg_communication() ); } /** * Handles site health checks on background updates via AJAX. * * @since 5.2.0 * @deprecated 5.6.0 Use WP_REST_Site_Health_Controller::test_background_updates() * @see WP_REST_Site_Health_Controller::test_background_updates() */ function wp_ajax_health_check_background_updates() { _doing_it_wrong( 'wp_ajax_health_check_background_updates', sprintf( // translators: 1: The Site Health action that is no longer used by core. 2: The new function that replaces it. __( 'The Site Health check for %1$s has been replaced with %2$s.' ), 'wp_ajax_health_check_background_updates', 'WP_REST_Site_Health_Controller::test_background_updates' ), '5.6.0' ); check_ajax_referer( 'health-check-site-status' ); if ( ! current_user_can( 'view_site_health_checks' ) ) { wp_send_json_error(); } if ( ! class_exists( 'WP_Site_Health' ) ) { require_once ABSPATH . 'wp-admin/includes/class-wp-site-health.php'; } $site_health = WP_Site_Health::get_instance(); wp_send_json_success( $site_health->get_test_background_updates() ); } /** * Handles site health checks on loopback requests via AJAX. * * @since 5.2.0 * @deprecated 5.6.0 Use WP_REST_Site_Health_Controller::test_loopback_requests() * @see WP_REST_Site_Health_Controller::test_loopback_requests() */ function wp_ajax_health_check_loopback_requests() { _doing_it_wrong( 'wp_ajax_health_check_loopback_requests', sprintf( // translators: 1: The Site Health action that is no longer used by core. 2: The new function that replaces it. __( 'The Site Health check for %1$s has been replaced with %2$s.' ), 'wp_ajax_health_check_loopback_requests', 'WP_REST_Site_Health_Controller::test_loopback_requests' ), '5.6.0' ); check_ajax_referer( 'health-check-site-status' ); if ( ! current_user_can( 'view_site_health_checks' ) ) { wp_send_json_error(); } if ( ! class_exists( 'WP_Site_Health' ) ) { require_once ABSPATH . 'wp-admin/includes/class-wp-site-health.php'; } $site_health = WP_Site_Health::get_instance(); wp_send_json_success( $site_health->get_test_loopback_requests() ); } /** * Handles site health check to update the result status via AJAX. * * @since 5.2.0 */ function wp_ajax_health_check_site_status_result() { check_ajax_referer( 'health-check-site-status-result' ); if ( ! current_user_can( 'view_site_health_checks' ) ) { wp_send_json_error(); } set_transient( 'health-check-site-status-result', wp_json_encode( $_POST['counts'] ) ); wp_send_json_success(); } /** * Handles site health check to get directories and database sizes via AJAX. * * @since 5.2.0 * @deprecated 5.6.0 Use WP_REST_Site_Health_Controller::get_directory_sizes() * @see WP_REST_Site_Health_Controller::get_directory_sizes() */ function wp_ajax_health_check_get_sizes() { _doing_it_wrong( 'wp_ajax_health_check_get_sizes', sprintf( // translators: 1: The Site Health action that is no longer used by core. 2: The new function that replaces it. __( 'The Site Health check for %1$s has been replaced with %2$s.' ), 'wp_ajax_health_check_get_sizes', 'WP_REST_Site_Health_Controller::get_directory_sizes' ), '5.6.0' ); check_ajax_referer( 'health-check-site-status-result' ); if ( ! current_user_can( 'view_site_health_checks' ) || is_multisite() ) { wp_send_json_error(); } if ( ! class_exists( 'WP_Debug_Data' ) ) { require_once ABSPATH . 'wp-admin/includes/class-wp-debug-data.php'; } $sizes_data = WP_Debug_Data::get_sizes(); $all_sizes = array( 'raw' => 0 ); foreach ( $sizes_data as $name => $value ) { $name = sanitize_text_field( $name ); $data = array(); if ( isset( $value['size'] ) ) { if ( is_string( $value['size'] ) ) { $data['size'] = sanitize_text_field( $value['size'] ); } else { $data['size'] = (int) $value['size']; } } if ( isset( $value['debug'] ) ) { if ( is_string( $value['debug'] ) ) { $data['debug'] = sanitize_text_field( $value['debug'] ); } else { $data['debug'] = (int) $value['debug']; } } if ( ! empty( $value['raw'] ) ) { $data['raw'] = (int) $value['raw']; } $all_sizes[ $name ] = $data; } if ( isset( $all_sizes['total_size']['debug'] ) && 'not available' === $all_sizes['total_size']['debug'] ) { wp_send_json_error( $all_sizes ); } wp_send_json_success( $all_sizes ); } /** * Handles renewing the REST API nonce via AJAX. * * @since 5.3.0 */ function wp_ajax_rest_nonce() { exit( wp_create_nonce( 'wp_rest' ) ); } /** * Handles enabling or disable plugin and theme auto-updates via AJAX. * * @since 5.5.0 */ function wp_ajax_toggle_auto_updates() { check_ajax_referer( 'updates' ); if ( empty( $_POST['type'] ) || empty( $_POST['asset'] ) || empty( $_POST['state'] ) ) { wp_send_json_error( array( 'error' => __( 'Invalid data. No selected item.' ) ) ); } $asset = sanitize_text_field( urldecode( $_POST['asset'] ) ); if ( 'enable' !== $_POST['state'] && 'disable' !== $_POST['state'] ) { wp_send_json_error( array( 'error' => __( 'Invalid data. Unknown state.' ) ) ); } $state = $_POST['state']; if ( 'plugin' !== $_POST['type'] && 'theme' !== $_POST['type'] ) { wp_send_json_error( array( 'error' => __( 'Invalid data. Unknown type.' ) ) ); } $type = $_POST['type']; switch ( $type ) { case 'plugin': if ( ! current_user_can( 'update_plugins' ) ) { $error_message = __( 'Sorry, you are not allowed to modify plugins.' ); wp_send_json_error( array( 'error' => $error_message ) ); } $option = 'auto_update_plugins'; /** This filter is documented in wp-admin/includes/class-wp-plugins-list-table.php */ $all_items = apply_filters( 'all_plugins', get_plugins() ); break; case 'theme': if ( ! current_user_can( 'update_themes' ) ) { $error_message = __( 'Sorry, you are not allowed to modify themes.' ); wp_send_json_error( array( 'error' => $error_message ) ); } $option = 'auto_update_themes'; $all_items = wp_get_themes(); break; default: wp_send_json_error( array( 'error' => __( 'Invalid data. Unknown type.' ) ) ); } if ( ! array_key_exists( $asset, $all_items ) ) { $error_message = __( 'Invalid data. The item does not exist.' ); wp_send_json_error( array( 'error' => $error_message ) ); } $auto_updates = (array) get_site_option( $option, array() ); if ( 'disable' === $state ) { $auto_updates = array_diff( $auto_updates, array( $asset ) ); } else { $auto_updates[] = $asset; $auto_updates = array_unique( $auto_updates ); } // Remove items that have been deleted since the site option was last updated. $auto_updates = array_intersect( $auto_updates, array_keys( $all_items ) ); update_site_option( $option, $auto_updates ); wp_send_json_success(); } /** * Handles sending a password reset link via AJAX. * * @since 5.7.0 */ function wp_ajax_send_password_reset() { // Validate the nonce for this action. $user_id = isset( $_POST['user_id'] ) ? (int) $_POST['user_id'] : 0; check_ajax_referer( 'reset-password-for-' . $user_id, 'nonce' ); // Verify user capabilities. if ( ! current_user_can( 'edit_user', $user_id ) ) { wp_send_json_error( __( 'Cannot send password reset, permission denied.' ) ); } // Send the password reset link. $user = get_userdata( $user_id ); $results = retrieve_password( $user->user_login ); if ( true === $results ) { wp_send_json_success( /* translators: %s: User's display name. */ sprintf( __( 'A password reset link was emailed to %s.' ), $user->display_name ) ); } else { wp_send_json_error( $results->get_error_message() ); } } class-wp-users-list-table.php 0000644 00000045162 14735706075 0012231 0 ustar 00 <?php /** * List Table API: WP_Users_List_Table class * * @package WordPress * @subpackage Administration * @since 3.1.0 */ /** * Core class used to implement displaying users in a list table. * * @since 3.1.0 * * @see WP_List_Table */ class WP_Users_List_Table extends WP_List_Table { /** * Site ID to generate the Users list table for. * * @since 3.1.0 * @var int */ public $site_id; /** * Whether or not the current Users list table is for Multisite. * * @since 3.1.0 * @var bool */ public $is_site_users; /** * Constructor. * * @since 3.1.0 * * @see WP_List_Table::__construct() for more information on default arguments. * * @param array $args An associative array of arguments. */ public function __construct( $args = array() ) { parent::__construct( array( 'singular' => 'user', 'plural' => 'users', 'screen' => isset( $args['screen'] ) ? $args['screen'] : null, ) ); $this->is_site_users = 'site-users-network' === $this->screen->id; if ( $this->is_site_users ) { $this->site_id = isset( $_REQUEST['id'] ) ? (int) $_REQUEST['id'] : 0; } } /** * Checks the current user's permissions. * * @since 3.1.0 * * @return bool */ public function ajax_user_can() { if ( $this->is_site_users ) { return current_user_can( 'manage_sites' ); } else { return current_user_can( 'list_users' ); } } /** * Prepares the users list for display. * * @since 3.1.0 * * @global string $role * @global string $usersearch */ public function prepare_items() { global $role, $usersearch; $usersearch = isset( $_REQUEST['s'] ) ? wp_unslash( trim( $_REQUEST['s'] ) ) : ''; $role = isset( $_REQUEST['role'] ) ? $_REQUEST['role'] : ''; $per_page = ( $this->is_site_users ) ? 'site_users_network_per_page' : 'users_per_page'; $users_per_page = $this->get_items_per_page( $per_page ); $paged = $this->get_pagenum(); if ( 'none' === $role ) { $args = array( 'number' => $users_per_page, 'offset' => ( $paged - 1 ) * $users_per_page, 'include' => wp_get_users_with_no_role( $this->site_id ), 'search' => $usersearch, 'fields' => 'all_with_meta', ); } else { $args = array( 'number' => $users_per_page, 'offset' => ( $paged - 1 ) * $users_per_page, 'role' => $role, 'search' => $usersearch, 'fields' => 'all_with_meta', ); } if ( '' !== $args['search'] ) { $args['search'] = '*' . $args['search'] . '*'; } if ( $this->is_site_users ) { $args['blog_id'] = $this->site_id; } if ( isset( $_REQUEST['orderby'] ) ) { $args['orderby'] = $_REQUEST['orderby']; } if ( isset( $_REQUEST['order'] ) ) { $args['order'] = $_REQUEST['order']; } /** * Filters the query arguments used to retrieve users for the current users list table. * * @since 4.4.0 * * @param array $args Arguments passed to WP_User_Query to retrieve items for the current * users list table. */ $args = apply_filters( 'users_list_table_query_args', $args ); // Query the user IDs for this page. $wp_user_search = new WP_User_Query( $args ); $this->items = $wp_user_search->get_results(); $this->set_pagination_args( array( 'total_items' => $wp_user_search->get_total(), 'per_page' => $users_per_page, ) ); } /** * Outputs 'no users' message. * * @since 3.1.0 */ public function no_items() { _e( 'No users found.' ); } /** * Returns an associative array listing all the views that can be used * with this table. * * Provides a list of roles and user count for that role for easy * filtering of the user table. * * @since 3.1.0 * * @global string $role * * @return string[] An array of HTML links keyed by their view. */ protected function get_views() { global $role; $wp_roles = wp_roles(); $count_users = ! wp_is_large_user_count(); if ( $this->is_site_users ) { $url = 'site-users.php?id=' . $this->site_id; } else { $url = 'users.php'; } $role_links = array(); $avail_roles = array(); $all_text = __( 'All' ); if ( $count_users ) { if ( $this->is_site_users ) { switch_to_blog( $this->site_id ); $users_of_blog = count_users( 'time', $this->site_id ); restore_current_blog(); } else { $users_of_blog = count_users(); } $total_users = $users_of_blog['total_users']; $avail_roles =& $users_of_blog['avail_roles']; unset( $users_of_blog ); $all_text = sprintf( /* translators: %s: Number of users. */ _nx( 'All <span class="count">(%s)</span>', 'All <span class="count">(%s)</span>', $total_users, 'users' ), number_format_i18n( $total_users ) ); } $role_links['all'] = array( 'url' => $url, 'label' => $all_text, 'current' => empty( $role ), ); foreach ( $wp_roles->get_names() as $this_role => $name ) { if ( $count_users && ! isset( $avail_roles[ $this_role ] ) ) { continue; } $name = translate_user_role( $name ); if ( $count_users ) { $name = sprintf( /* translators: 1: User role name, 2: Number of users. */ __( '%1$s <span class="count">(%2$s)</span>' ), $name, number_format_i18n( $avail_roles[ $this_role ] ) ); } $role_links[ $this_role ] = array( 'url' => esc_url( add_query_arg( 'role', $this_role, $url ) ), 'label' => $name, 'current' => $this_role === $role, ); } if ( ! empty( $avail_roles['none'] ) ) { $name = __( 'No role' ); $name = sprintf( /* translators: 1: User role name, 2: Number of users. */ __( '%1$s <span class="count">(%2$s)</span>' ), $name, number_format_i18n( $avail_roles['none'] ) ); $role_links['none'] = array( 'url' => esc_url( add_query_arg( 'role', 'none', $url ) ), 'label' => $name, 'current' => 'none' === $role, ); } return $this->get_views_links( $role_links ); } /** * Retrieves an associative array of bulk actions available on this table. * * @since 3.1.0 * * @return array Array of bulk action labels keyed by their action. */ protected function get_bulk_actions() { $actions = array(); if ( is_multisite() ) { if ( current_user_can( 'remove_users' ) ) { $actions['remove'] = __( 'Remove' ); } } else { if ( current_user_can( 'delete_users' ) ) { $actions['delete'] = __( 'Delete' ); } } // Add a password reset link to the bulk actions dropdown. if ( current_user_can( 'edit_users' ) ) { $actions['resetpassword'] = __( 'Send password reset' ); } return $actions; } /** * Outputs the controls to allow user roles to be changed in bulk. * * @since 3.1.0 * * @param string $which Whether this is being invoked above ("top") * or below the table ("bottom"). */ protected function extra_tablenav( $which ) { $id = 'bottom' === $which ? 'new_role2' : 'new_role'; $button_id = 'bottom' === $which ? 'changeit2' : 'changeit'; ?> <div class="alignleft actions"> <?php if ( current_user_can( 'promote_users' ) && $this->has_items() ) : ?> <label class="screen-reader-text" for="<?php echo $id; ?>"> <?php /* translators: Hidden accessibility text. */ _e( 'Change role to…' ); ?> </label> <select name="<?php echo $id; ?>" id="<?php echo $id; ?>"> <option value=""><?php _e( 'Change role to…' ); ?></option> <?php wp_dropdown_roles(); ?> <option value="none"><?php _e( '— No role for this site —' ); ?></option> </select> <?php submit_button( __( 'Change' ), '', $button_id, false ); endif; /** * Fires just before the closing div containing the bulk role-change controls * in the Users list table. * * @since 3.5.0 * @since 4.6.0 The `$which` parameter was added. * * @param string $which The location of the extra table nav markup: 'top' or 'bottom'. */ do_action( 'restrict_manage_users', $which ); ?> </div> <?php /** * Fires immediately following the closing "actions" div in the tablenav for the users * list table. * * @since 4.9.0 * * @param string $which The location of the extra table nav markup: 'top' or 'bottom'. */ do_action( 'manage_users_extra_tablenav', $which ); } /** * Captures the bulk action required, and return it. * * Overridden from the base class implementation to capture * the role change drop-down. * * @since 3.1.0 * * @return string The bulk action required. */ public function current_action() { if ( isset( $_REQUEST['changeit'] ) ) { return 'promote'; } return parent::current_action(); } /** * Gets a list of columns for the list table. * * @since 3.1.0 * * @return string[] Array of column titles keyed by their column name. */ public function get_columns() { $columns = array( 'cb' => '<input type="checkbox" />', 'username' => __( 'Username' ), 'name' => __( 'Name' ), 'email' => __( 'Email' ), 'role' => __( 'Role' ), 'posts' => _x( 'Posts', 'post type general name' ), ); if ( $this->is_site_users ) { unset( $columns['posts'] ); } return $columns; } /** * Gets a list of sortable columns for the list table. * * @since 3.1.0 * * @return array Array of sortable columns. */ protected function get_sortable_columns() { $columns = array( 'username' => array( 'login', false, __( 'Username' ), __( 'Table ordered by Username.' ), 'asc' ), 'email' => array( 'email', false, __( 'E-mail' ), __( 'Table ordered by E-mail.' ) ), ); return $columns; } /** * Generates the list table rows. * * @since 3.1.0 */ public function display_rows() { // Query the post counts for this page. if ( ! $this->is_site_users ) { $post_counts = count_many_users_posts( array_keys( $this->items ) ); } foreach ( $this->items as $userid => $user_object ) { echo "\n\t" . $this->single_row( $user_object, '', '', isset( $post_counts ) ? $post_counts[ $userid ] : 0 ); } } /** * Generates HTML for a single row on the users.php admin panel. * * @since 3.1.0 * @since 4.2.0 The `$style` parameter was deprecated. * @since 4.4.0 The `$role` parameter was deprecated. * * @param WP_User $user_object The current user object. * @param string $style Deprecated. Not used. * @param string $role Deprecated. Not used. * @param int $numposts Optional. Post count to display for this user. Defaults * to zero, as in, a new user has made zero posts. * @return string Output for a single row. */ public function single_row( $user_object, $style = '', $role = '', $numposts = 0 ) { if ( ! ( $user_object instanceof WP_User ) ) { $user_object = get_userdata( (int) $user_object ); } $user_object->filter = 'display'; $email = $user_object->user_email; if ( $this->is_site_users ) { $url = "site-users.php?id={$this->site_id}&"; } else { $url = 'users.php?'; } $user_roles = $this->get_role_list( $user_object ); // Set up the hover actions for this user. $actions = array(); $checkbox = ''; $super_admin = ''; if ( is_multisite() && current_user_can( 'manage_network_users' ) ) { if ( in_array( $user_object->user_login, get_super_admins(), true ) ) { $super_admin = ' — ' . __( 'Super Admin' ); } } // Check if the user for this row is editable. if ( current_user_can( 'list_users' ) ) { // Set up the user editing link. $edit_link = esc_url( add_query_arg( 'wp_http_referer', urlencode( wp_unslash( $_SERVER['REQUEST_URI'] ) ), get_edit_user_link( $user_object->ID ) ) ); if ( current_user_can( 'edit_user', $user_object->ID ) ) { $edit = "<strong><a href=\"{$edit_link}\">{$user_object->user_login}</a>{$super_admin}</strong><br />"; $actions['edit'] = '<a href="' . $edit_link . '">' . __( 'Edit' ) . '</a>'; } else { $edit = "<strong>{$user_object->user_login}{$super_admin}</strong><br />"; } if ( ! is_multisite() && get_current_user_id() !== $user_object->ID && current_user_can( 'delete_user', $user_object->ID ) ) { $actions['delete'] = "<a class='submitdelete' href='" . wp_nonce_url( "users.php?action=delete&user=$user_object->ID", 'bulk-users' ) . "'>" . __( 'Delete' ) . '</a>'; } if ( is_multisite() && current_user_can( 'remove_user', $user_object->ID ) ) { $actions['remove'] = "<a class='submitdelete' href='" . wp_nonce_url( $url . "action=remove&user=$user_object->ID", 'bulk-users' ) . "'>" . __( 'Remove' ) . '</a>'; } // Add a link to the user's author archive, if not empty. $author_posts_url = get_author_posts_url( $user_object->ID ); if ( $author_posts_url ) { $actions['view'] = sprintf( '<a href="%s" aria-label="%s">%s</a>', esc_url( $author_posts_url ), /* translators: %s: Author's display name. */ esc_attr( sprintf( __( 'View posts by %s' ), $user_object->display_name ) ), __( 'View' ) ); } // Add a link to send the user a reset password link by email. if ( get_current_user_id() !== $user_object->ID && current_user_can( 'edit_user', $user_object->ID ) && true === wp_is_password_reset_allowed_for_user( $user_object ) ) { $actions['resetpassword'] = "<a class='resetpassword' href='" . wp_nonce_url( "users.php?action=resetpassword&users=$user_object->ID", 'bulk-users' ) . "'>" . __( 'Send password reset' ) . '</a>'; } /** * Filters the action links displayed under each user in the Users list table. * * @since 2.8.0 * * @param string[] $actions An array of action links to be displayed. * Default 'Edit', 'Delete' for single site, and * 'Edit', 'Remove' for Multisite. * @param WP_User $user_object WP_User object for the currently listed user. */ $actions = apply_filters( 'user_row_actions', $actions, $user_object ); // Role classes. $role_classes = esc_attr( implode( ' ', array_keys( $user_roles ) ) ); // Set up the checkbox (because the user is editable, otherwise it's empty). $checkbox = sprintf( '<input type="checkbox" name="users[]" id="user_%1$s" class="%2$s" value="%1$s" />' . '<label for="user_%1$s"><span class="screen-reader-text">%3$s</span></label>', $user_object->ID, $role_classes, /* translators: Hidden accessibility text. %s: User login. */ sprintf( __( 'Select %s' ), $user_object->user_login ) ); } else { $edit = "<strong>{$user_object->user_login}{$super_admin}</strong>"; } $avatar = get_avatar( $user_object->ID, 32 ); // Comma-separated list of user roles. $roles_list = implode( ', ', $user_roles ); $row = "<tr id='user-$user_object->ID'>"; list( $columns, $hidden, $sortable, $primary ) = $this->get_column_info(); foreach ( $columns as $column_name => $column_display_name ) { $classes = "$column_name column-$column_name"; if ( $primary === $column_name ) { $classes .= ' has-row-actions column-primary'; } if ( 'posts' === $column_name ) { $classes .= ' num'; // Special case for that column. } if ( in_array( $column_name, $hidden, true ) ) { $classes .= ' hidden'; } $data = 'data-colname="' . esc_attr( wp_strip_all_tags( $column_display_name ) ) . '"'; $attributes = "class='$classes' $data"; if ( 'cb' === $column_name ) { $row .= "<th scope='row' class='check-column'>$checkbox</th>"; } else { $row .= "<td $attributes>"; switch ( $column_name ) { case 'username': $row .= "$avatar $edit"; break; case 'name': if ( $user_object->first_name && $user_object->last_name ) { $row .= sprintf( /* translators: 1: User's first name, 2: Last name. */ _x( '%1$s %2$s', 'Display name based on first name and last name' ), $user_object->first_name, $user_object->last_name ); } elseif ( $user_object->first_name ) { $row .= $user_object->first_name; } elseif ( $user_object->last_name ) { $row .= $user_object->last_name; } else { $row .= sprintf( '<span aria-hidden="true">—</span><span class="screen-reader-text">%s</span>', /* translators: Hidden accessibility text. */ _x( 'Unknown', 'name' ) ); } break; case 'email': $row .= "<a href='" . esc_url( "mailto:$email" ) . "'>$email</a>"; break; case 'role': $row .= esc_html( $roles_list ); break; case 'posts': if ( $numposts > 0 ) { $row .= sprintf( '<a href="%s" class="edit"><span aria-hidden="true">%s</span><span class="screen-reader-text">%s</span></a>', "edit.php?author={$user_object->ID}", $numposts, sprintf( /* translators: Hidden accessibility text. %s: Number of posts. */ _n( '%s post by this author', '%s posts by this author', $numposts ), number_format_i18n( $numposts ) ) ); } else { $row .= 0; } break; default: /** * Filters the display output of custom columns in the Users list table. * * @since 2.8.0 * * @param string $output Custom column output. Default empty. * @param string $column_name Column name. * @param int $user_id ID of the currently-listed user. */ $row .= apply_filters( 'manage_users_custom_column', '', $column_name, $user_object->ID ); } if ( $primary === $column_name ) { $row .= $this->row_actions( $actions ); } $row .= '</td>'; } } $row .= '</tr>'; return $row; } /** * Gets the name of the default primary column. * * @since 4.3.0 * * @return string Name of the default primary column, in this case, 'username'. */ protected function get_default_primary_column_name() { return 'username'; } /** * Returns an array of translated user role names for a given user object. * * @since 4.4.0 * * @param WP_User $user_object The WP_User object. * @return string[] An array of user role names keyed by role. */ protected function get_role_list( $user_object ) { $wp_roles = wp_roles(); $role_list = array(); foreach ( $user_object->roles as $role ) { if ( isset( $wp_roles->role_names[ $role ] ) ) { $role_list[ $role ] = translate_user_role( $wp_roles->role_names[ $role ] ); } } if ( empty( $role_list ) ) { $role_list['none'] = _x( 'None', 'no user roles' ); } /** * Filters the returned array of translated role names for a user. * * @since 4.4.0 * * @param string[] $role_list An array of translated user role names keyed by role. * @param WP_User $user_object A WP_User object. */ return apply_filters( 'get_role_list', $role_list, $user_object ); } } class-wp-terms-list-table.php 0000644 00000051276 14735706075 0012225 0 ustar 00 <?php /** * List Table API: WP_Terms_List_Table class * * @package WordPress * @subpackage Administration * @since 3.1.0 */ /** * Core class used to implement displaying terms in a list table. * * @since 3.1.0 * * @see WP_List_Table */ class WP_Terms_List_Table extends WP_List_Table { public $callback_args; private $level; /** * Constructor. * * @since 3.1.0 * * @see WP_List_Table::__construct() for more information on default arguments. * * @global string $post_type Global post type. * @global string $taxonomy Global taxonomy. * @global string $action * @global object $tax * * @param array $args An associative array of arguments. */ public function __construct( $args = array() ) { global $post_type, $taxonomy, $action, $tax; parent::__construct( array( 'plural' => 'tags', 'singular' => 'tag', 'screen' => isset( $args['screen'] ) ? $args['screen'] : null, ) ); $action = $this->screen->action; $post_type = $this->screen->post_type; $taxonomy = $this->screen->taxonomy; if ( empty( $taxonomy ) ) { $taxonomy = 'post_tag'; } if ( ! taxonomy_exists( $taxonomy ) ) { wp_die( __( 'Invalid taxonomy.' ) ); } $tax = get_taxonomy( $taxonomy ); // @todo Still needed? Maybe just the show_ui part. if ( empty( $post_type ) || ! in_array( $post_type, get_post_types( array( 'show_ui' => true ) ), true ) ) { $post_type = 'post'; } } /** * @return bool */ public function ajax_user_can() { return current_user_can( get_taxonomy( $this->screen->taxonomy )->cap->manage_terms ); } /** */ public function prepare_items() { $taxonomy = $this->screen->taxonomy; $tags_per_page = $this->get_items_per_page( "edit_{$taxonomy}_per_page" ); if ( 'post_tag' === $taxonomy ) { /** * Filters the number of terms displayed per page for the Tags list table. * * @since 2.8.0 * * @param int $tags_per_page Number of tags to be displayed. Default 20. */ $tags_per_page = apply_filters( 'edit_tags_per_page', $tags_per_page ); /** * Filters the number of terms displayed per page for the Tags list table. * * @since 2.7.0 * @deprecated 2.8.0 Use {@see 'edit_tags_per_page'} instead. * * @param int $tags_per_page Number of tags to be displayed. Default 20. */ $tags_per_page = apply_filters_deprecated( 'tagsperpage', array( $tags_per_page ), '2.8.0', 'edit_tags_per_page' ); } elseif ( 'category' === $taxonomy ) { /** * Filters the number of terms displayed per page for the Categories list table. * * @since 2.8.0 * * @param int $tags_per_page Number of categories to be displayed. Default 20. */ $tags_per_page = apply_filters( 'edit_categories_per_page', $tags_per_page ); } $search = ! empty( $_REQUEST['s'] ) ? trim( wp_unslash( $_REQUEST['s'] ) ) : ''; $args = array( 'taxonomy' => $taxonomy, 'search' => $search, 'page' => $this->get_pagenum(), 'number' => $tags_per_page, 'hide_empty' => 0, ); if ( ! empty( $_REQUEST['orderby'] ) ) { $args['orderby'] = trim( wp_unslash( $_REQUEST['orderby'] ) ); } if ( ! empty( $_REQUEST['order'] ) ) { $args['order'] = trim( wp_unslash( $_REQUEST['order'] ) ); } $args['offset'] = ( $args['page'] - 1 ) * $args['number']; // Save the values because 'number' and 'offset' can be subsequently overridden. $this->callback_args = $args; if ( is_taxonomy_hierarchical( $taxonomy ) && ! isset( $args['orderby'] ) ) { // We'll need the full set of terms then. $args['number'] = 0; $args['offset'] = $args['number']; } $this->items = get_terms( $args ); $this->set_pagination_args( array( 'total_items' => wp_count_terms( array( 'taxonomy' => $taxonomy, 'search' => $search, ) ), 'per_page' => $tags_per_page, ) ); } /** */ public function no_items() { echo get_taxonomy( $this->screen->taxonomy )->labels->not_found; } /** * @return array */ protected function get_bulk_actions() { $actions = array(); if ( current_user_can( get_taxonomy( $this->screen->taxonomy )->cap->delete_terms ) ) { $actions['delete'] = __( 'Delete' ); } return $actions; } /** * @return string */ public function current_action() { if ( isset( $_REQUEST['action'] ) && isset( $_REQUEST['delete_tags'] ) && 'delete' === $_REQUEST['action'] ) { return 'bulk-delete'; } return parent::current_action(); } /** * @return string[] Array of column titles keyed by their column name. */ public function get_columns() { $columns = array( 'cb' => '<input type="checkbox" />', 'name' => _x( 'Name', 'term name' ), 'description' => __( 'Description' ), 'slug' => __( 'Slug' ), ); if ( 'link_category' === $this->screen->taxonomy ) { $columns['links'] = __( 'Links' ); } else { $columns['posts'] = _x( 'Count', 'Number/count of items' ); } return $columns; } /** * @return array */ protected function get_sortable_columns() { $taxonomy = $this->screen->taxonomy; if ( ! isset( $_GET['orderby'] ) && is_taxonomy_hierarchical( $taxonomy ) ) { $name_orderby_text = __( 'Table ordered hierarchically.' ); } else { $name_orderby_text = __( 'Table ordered by Name.' ); } return array( 'name' => array( 'name', false, _x( 'Name', 'term name' ), $name_orderby_text, 'asc' ), 'description' => array( 'description', false, __( 'Description' ), __( 'Table ordered by Description.' ) ), 'slug' => array( 'slug', false, __( 'Slug' ), __( 'Table ordered by Slug.' ) ), 'posts' => array( 'count', false, _x( 'Count', 'Number/count of items' ), __( 'Table ordered by Posts Count.' ) ), 'links' => array( 'count', false, __( 'Links' ), __( 'Table ordered by Links.' ) ), ); } /** */ public function display_rows_or_placeholder() { $taxonomy = $this->screen->taxonomy; $number = $this->callback_args['number']; $offset = $this->callback_args['offset']; // Convert it to table rows. $count = 0; if ( empty( $this->items ) || ! is_array( $this->items ) ) { echo '<tr class="no-items"><td class="colspanchange" colspan="' . $this->get_column_count() . '">'; $this->no_items(); echo '</td></tr>'; return; } if ( is_taxonomy_hierarchical( $taxonomy ) && ! isset( $this->callback_args['orderby'] ) ) { if ( ! empty( $this->callback_args['search'] ) ) {// Ignore children on searches. $children = array(); } else { $children = _get_term_hierarchy( $taxonomy ); } /* * Some funky recursion to get the job done (paging & parents mainly) is contained within. * Skip it for non-hierarchical taxonomies for performance sake. */ $this->_rows( $taxonomy, $this->items, $children, $offset, $number, $count ); } else { foreach ( $this->items as $term ) { $this->single_row( $term ); } } } /** * @param string $taxonomy * @param array $terms * @param array $children * @param int $start * @param int $per_page * @param int $count * @param int $parent_term * @param int $level */ private function _rows( $taxonomy, $terms, &$children, $start, $per_page, &$count, $parent_term = 0, $level = 0 ) { $end = $start + $per_page; foreach ( $terms as $key => $term ) { if ( $count >= $end ) { break; } if ( $term->parent !== $parent_term && empty( $_REQUEST['s'] ) ) { continue; } // If the page starts in a subtree, print the parents. if ( $count === $start && $term->parent > 0 && empty( $_REQUEST['s'] ) ) { $my_parents = array(); $parent_ids = array(); $p = $term->parent; while ( $p ) { $my_parent = get_term( $p, $taxonomy ); $my_parents[] = $my_parent; $p = $my_parent->parent; if ( in_array( $p, $parent_ids, true ) ) { // Prevent parent loops. break; } $parent_ids[] = $p; } unset( $parent_ids ); $num_parents = count( $my_parents ); while ( $my_parent = array_pop( $my_parents ) ) { echo "\t"; $this->single_row( $my_parent, $level - $num_parents ); --$num_parents; } } if ( $count >= $start ) { echo "\t"; $this->single_row( $term, $level ); } ++$count; unset( $terms[ $key ] ); if ( isset( $children[ $term->term_id ] ) && empty( $_REQUEST['s'] ) ) { $this->_rows( $taxonomy, $terms, $children, $start, $per_page, $count, $term->term_id, $level + 1 ); } } } /** * @global string $taxonomy Global taxonomy. * * @param WP_Term $tag Term object. * @param int $level */ public function single_row( $tag, $level = 0 ) { global $taxonomy; $tag = sanitize_term( $tag, $taxonomy ); $this->level = $level; if ( $tag->parent ) { $count = count( get_ancestors( $tag->term_id, $taxonomy, 'taxonomy' ) ); $level = 'level-' . $count; } else { $level = 'level-0'; } echo '<tr id="tag-' . $tag->term_id . '" class="' . $level . '">'; $this->single_row_columns( $tag ); echo '</tr>'; } /** * @since 5.9.0 Renamed `$tag` to `$item` to match parent class for PHP 8 named parameter support. * * @param WP_Term $item Term object. * @return string */ public function column_cb( $item ) { // Restores the more descriptive, specific name for use within this method. $tag = $item; if ( current_user_can( 'delete_term', $tag->term_id ) ) { return sprintf( '<input type="checkbox" name="delete_tags[]" value="%1$s" id="cb-select-%1$s" />' . '<label for="cb-select-%1$s"><span class="screen-reader-text">%2$s</span></label>', $tag->term_id, /* translators: Hidden accessibility text. %s: Taxonomy term name. */ sprintf( __( 'Select %s' ), $tag->name ) ); } return ' '; } /** * @param WP_Term $tag Term object. * @return string */ public function column_name( $tag ) { $taxonomy = $this->screen->taxonomy; $pad = str_repeat( '— ', max( 0, $this->level ) ); /** * Filters display of the term name in the terms list table. * * The default output may include padding due to the term's * current level in the term hierarchy. * * @since 2.5.0 * * @see WP_Terms_List_Table::column_name() * * @param string $pad_tag_name The term name, padded if not top-level. * @param WP_Term $tag Term object. */ $name = apply_filters( 'term_name', $pad . ' ' . $tag->name, $tag ); $qe_data = get_term( $tag->term_id, $taxonomy, OBJECT, 'edit' ); $uri = wp_doing_ajax() ? wp_get_referer() : $_SERVER['REQUEST_URI']; $edit_link = get_edit_term_link( $tag, $taxonomy, $this->screen->post_type ); if ( $edit_link ) { $edit_link = add_query_arg( 'wp_http_referer', urlencode( wp_unslash( $uri ) ), $edit_link ); $name = sprintf( '<a class="row-title" href="%s" aria-label="%s">%s</a>', esc_url( $edit_link ), /* translators: %s: Taxonomy term name. */ esc_attr( sprintf( __( '“%s” (Edit)' ), $tag->name ) ), $name ); } $output = sprintf( '<strong>%s</strong><br />', $name ); /** This filter is documented in wp-admin/includes/class-wp-terms-list-table.php */ $quick_edit_enabled = apply_filters( 'quick_edit_enabled_for_taxonomy', true, $taxonomy ); if ( $quick_edit_enabled ) { $output .= '<div class="hidden" id="inline_' . $qe_data->term_id . '">'; $output .= '<div class="name">' . $qe_data->name . '</div>'; /** This filter is documented in wp-admin/edit-tag-form.php */ $output .= '<div class="slug">' . apply_filters( 'editable_slug', $qe_data->slug, $qe_data ) . '</div>'; $output .= '<div class="parent">' . $qe_data->parent . '</div></div>'; } return $output; } /** * Gets the name of the default primary column. * * @since 4.3.0 * * @return string Name of the default primary column, in this case, 'name'. */ protected function get_default_primary_column_name() { return 'name'; } /** * Generates and displays row action links. * * @since 4.3.0 * @since 5.9.0 Renamed `$tag` to `$item` to match parent class for PHP 8 named parameter support. * * @param WP_Term $item Tag being acted upon. * @param string $column_name Current column name. * @param string $primary Primary column name. * @return string Row actions output for terms, or an empty string * if the current column is not the primary column. */ protected function handle_row_actions( $item, $column_name, $primary ) { if ( $primary !== $column_name ) { return ''; } // Restores the more descriptive, specific name for use within this method. $tag = $item; $taxonomy = $this->screen->taxonomy; $uri = wp_doing_ajax() ? wp_get_referer() : $_SERVER['REQUEST_URI']; $actions = array(); if ( current_user_can( 'edit_term', $tag->term_id ) ) { $actions['edit'] = sprintf( '<a href="%s" aria-label="%s">%s</a>', esc_url( add_query_arg( 'wp_http_referer', urlencode( wp_unslash( $uri ) ), get_edit_term_link( $tag, $taxonomy, $this->screen->post_type ) ) ), /* translators: %s: Taxonomy term name. */ esc_attr( sprintf( __( 'Edit “%s”' ), $tag->name ) ), __( 'Edit' ) ); /** * Filters whether Quick Edit should be enabled for the given taxonomy. * * @since 6.4.0 * * @param bool $enable Whether to enable the Quick Edit functionality. Default true. * @param string $taxonomy Taxonomy name. */ $quick_edit_enabled = apply_filters( 'quick_edit_enabled_for_taxonomy', true, $taxonomy ); if ( $quick_edit_enabled ) { $actions['inline hide-if-no-js'] = sprintf( '<button type="button" class="button-link editinline" aria-label="%s" aria-expanded="false">%s</button>', /* translators: %s: Taxonomy term name. */ esc_attr( sprintf( __( 'Quick edit “%s” inline' ), $tag->name ) ), __( 'Quick Edit' ) ); } } if ( current_user_can( 'delete_term', $tag->term_id ) ) { $actions['delete'] = sprintf( '<a href="%s" class="delete-tag aria-button-if-js" aria-label="%s">%s</a>', wp_nonce_url( "edit-tags.php?action=delete&taxonomy=$taxonomy&tag_ID=$tag->term_id", 'delete-tag_' . $tag->term_id ), /* translators: %s: Taxonomy term name. */ esc_attr( sprintf( __( 'Delete “%s”' ), $tag->name ) ), __( 'Delete' ) ); } if ( is_term_publicly_viewable( $tag ) ) { $actions['view'] = sprintf( '<a href="%s" aria-label="%s">%s</a>', get_term_link( $tag ), /* translators: %s: Taxonomy term name. */ esc_attr( sprintf( __( 'View “%s” archive' ), $tag->name ) ), __( 'View' ) ); } /** * Filters the action links displayed for each term in the Tags list table. * * @since 2.8.0 * @since 3.0.0 Deprecated in favor of {@see '{$taxonomy}_row_actions'} filter. * @since 5.4.2 Restored (un-deprecated). * * @param string[] $actions An array of action links to be displayed. Default * 'Edit', 'Quick Edit', 'Delete', and 'View'. * @param WP_Term $tag Term object. */ $actions = apply_filters( 'tag_row_actions', $actions, $tag ); /** * Filters the action links displayed for each term in the terms list table. * * The dynamic portion of the hook name, `$taxonomy`, refers to the taxonomy slug. * * Possible hook names include: * * - `category_row_actions` * - `post_tag_row_actions` * * @since 3.0.0 * * @param string[] $actions An array of action links to be displayed. Default * 'Edit', 'Quick Edit', 'Delete', and 'View'. * @param WP_Term $tag Term object. */ $actions = apply_filters( "{$taxonomy}_row_actions", $actions, $tag ); return $this->row_actions( $actions ); } /** * @param WP_Term $tag Term object. * @return string */ public function column_description( $tag ) { if ( $tag->description ) { return $tag->description; } else { return '<span aria-hidden="true">—</span><span class="screen-reader-text">' . /* translators: Hidden accessibility text. */ __( 'No description' ) . '</span>'; } } /** * @param WP_Term $tag Term object. * @return string */ public function column_slug( $tag ) { /** This filter is documented in wp-admin/edit-tag-form.php */ return apply_filters( 'editable_slug', $tag->slug, $tag ); } /** * @param WP_Term $tag Term object. * @return string */ public function column_posts( $tag ) { $count = number_format_i18n( $tag->count ); $tax = get_taxonomy( $this->screen->taxonomy ); $ptype_object = get_post_type_object( $this->screen->post_type ); if ( ! $ptype_object->show_ui ) { return $count; } if ( $tax->query_var ) { $args = array( $tax->query_var => $tag->slug ); } else { $args = array( 'taxonomy' => $tax->name, 'term' => $tag->slug, ); } if ( 'post' !== $this->screen->post_type ) { $args['post_type'] = $this->screen->post_type; } if ( 'attachment' === $this->screen->post_type ) { return "<a href='" . esc_url( add_query_arg( $args, 'upload.php' ) ) . "'>$count</a>"; } return "<a href='" . esc_url( add_query_arg( $args, 'edit.php' ) ) . "'>$count</a>"; } /** * @param WP_Term $tag Term object. * @return string */ public function column_links( $tag ) { $count = number_format_i18n( $tag->count ); if ( $count ) { $count = "<a href='link-manager.php?cat_id=$tag->term_id'>$count</a>"; } return $count; } /** * @since 5.9.0 Renamed `$tag` to `$item` to match parent class for PHP 8 named parameter support. * * @param WP_Term $item Term object. * @param string $column_name Name of the column. * @return string */ public function column_default( $item, $column_name ) { // Restores the more descriptive, specific name for use within this method. $tag = $item; /** * Filters the displayed columns in the terms list table. * * The dynamic portion of the hook name, `$this->screen->taxonomy`, * refers to the slug of the current taxonomy. * * Possible hook names include: * * - `manage_category_custom_column` * - `manage_post_tag_custom_column` * * @since 2.8.0 * * @param string $string Custom column output. Default empty. * @param string $column_name Name of the column. * @param int $term_id Term ID. */ return apply_filters( "manage_{$this->screen->taxonomy}_custom_column", '', $column_name, $tag->term_id ); } /** * Outputs the hidden row displayed when inline editing * * @since 3.1.0 */ public function inline_edit() { $tax = get_taxonomy( $this->screen->taxonomy ); if ( ! current_user_can( $tax->cap->edit_terms ) ) { return; } ?> <form method="get"> <table style="display: none"><tbody id="inlineedit"> <tr id="inline-edit" class="inline-edit-row" style="display: none"> <td colspan="<?php echo $this->get_column_count(); ?>" class="colspanchange"> <div class="inline-edit-wrapper"> <fieldset> <legend class="inline-edit-legend"><?php _e( 'Quick Edit' ); ?></legend> <div class="inline-edit-col"> <label> <span class="title"><?php _ex( 'Name', 'term name' ); ?></span> <span class="input-text-wrap"><input type="text" name="name" class="ptitle" value="" /></span> </label> <label> <span class="title"><?php _e( 'Slug' ); ?></span> <span class="input-text-wrap"><input type="text" name="slug" class="ptitle" value="" /></span> </label> </div> </fieldset> <?php $core_columns = array( 'cb' => true, 'description' => true, 'name' => true, 'slug' => true, 'posts' => true, ); list( $columns ) = $this->get_column_info(); foreach ( $columns as $column_name => $column_display_name ) { if ( isset( $core_columns[ $column_name ] ) ) { continue; } /** This action is documented in wp-admin/includes/class-wp-posts-list-table.php */ do_action( 'quick_edit_custom_box', $column_name, 'edit-tags', $this->screen->taxonomy ); } ?> <div class="inline-edit-save submit"> <button type="button" class="save button button-primary"><?php echo $tax->labels->update_item; ?></button> <button type="button" class="cancel button"><?php _e( 'Cancel' ); ?></button> <span class="spinner"></span> <?php wp_nonce_field( 'taxinlineeditnonce', '_inline_edit', false ); ?> <input type="hidden" name="taxonomy" value="<?php echo esc_attr( $this->screen->taxonomy ); ?>" /> <input type="hidden" name="post_type" value="<?php echo esc_attr( $this->screen->post_type ); ?>" /> <?php wp_admin_notice( '<p class="error"></p>', array( 'type' => 'error', 'additional_classes' => array( 'notice-alt', 'inline', 'hidden' ), 'paragraph_wrap' => false, ) ); ?> </div> </div> </td></tr> </tbody></table> </form> <?php } } class-ftp-pure.php 0000644 00000012462 14735706075 0010145 0 ustar 00 <?php /** * PemFTP - An Ftp implementation in pure PHP * * @package PemFTP * @since 2.5.0 * * @version 1.0 * @copyright Alexey Dotsenko * @author Alexey Dotsenko * @link https://www.phpclasses.org/package/1743-PHP-FTP-client-in-pure-PHP.html * @license LGPL https://opensource.org/licenses/lgpl-license.html */ /** * FTP implementation using fsockopen to connect. * * @package PemFTP * @subpackage Pure * @since 2.5.0 * * @version 1.0 * @copyright Alexey Dotsenko * @author Alexey Dotsenko * @link https://www.phpclasses.org/package/1743-PHP-FTP-client-in-pure-PHP.html * @license LGPL https://opensource.org/licenses/lgpl-license.html */ class ftp_pure extends ftp_base { function __construct($verb=FALSE, $le=FALSE) { parent::__construct(false, $verb, $le); } // <!-- --------------------------------------------------------------------------------------- --> // <!-- Private functions --> // <!-- --------------------------------------------------------------------------------------- --> function _settimeout($sock) { if(!@stream_set_timeout($sock, $this->_timeout)) { $this->PushError('_settimeout','socket set send timeout'); $this->_quit(); return FALSE; } return TRUE; } function _connect($host, $port) { $this->SendMSG("Creating socket"); $sock = @fsockopen($host, $port, $errno, $errstr, $this->_timeout); if (!$sock) { $this->PushError('_connect','socket connect failed', $errstr." (".$errno.")"); return FALSE; } $this->_connected=true; return $sock; } function _readmsg($fnction="_readmsg"){ if(!$this->_connected) { $this->PushError($fnction, 'Connect first'); return FALSE; } $result=true; $this->_message=""; $this->_code=0; $go=true; do { $tmp=@fgets($this->_ftp_control_sock, 512); if($tmp===false) { $go=$result=false; $this->PushError($fnction,'Read failed'); } else { $this->_message.=$tmp; if(preg_match("/^([0-9]{3})(-(.*[".CRLF."]{1,2})+\\1)? [^".CRLF."]+[".CRLF."]{1,2}$/", $this->_message, $regs)) $go=false; } } while($go); if($this->LocalEcho) echo "GET < ".rtrim($this->_message, CRLF).CRLF; $this->_code=(int)$regs[1]; return $result; } function _exec($cmd, $fnction="_exec") { if(!$this->_ready) { $this->PushError($fnction,'Connect first'); return FALSE; } if($this->LocalEcho) echo "PUT > ",$cmd,CRLF; $status=@fputs($this->_ftp_control_sock, $cmd.CRLF); if($status===false) { $this->PushError($fnction,'socket write failed'); return FALSE; } $this->_lastaction=time(); if(!$this->_readmsg($fnction)) return FALSE; return TRUE; } function _data_prepare($mode=FTP_ASCII) { if(!$this->_settype($mode)) return FALSE; if($this->_passive) { if(!$this->_exec("PASV", "pasv")) { $this->_data_close(); return FALSE; } if(!$this->_checkCode()) { $this->_data_close(); return FALSE; } $ip_port = explode(",", preg_replace("/^.+ \\(?([0-9]{1,3},[0-9]{1,3},[0-9]{1,3},[0-9]{1,3},[0-9]+,[0-9]+)\\)?.*$/s", "\\1", $this->_message)); $this->_datahost=$ip_port[0].".".$ip_port[1].".".$ip_port[2].".".$ip_port[3]; $this->_dataport=(((int)$ip_port[4])<<8) + ((int)$ip_port[5]); $this->SendMSG("Connecting to ".$this->_datahost.":".$this->_dataport); $this->_ftp_data_sock=@fsockopen($this->_datahost, $this->_dataport, $errno, $errstr, $this->_timeout); if(!$this->_ftp_data_sock) { $this->PushError("_data_prepare","fsockopen fails", $errstr." (".$errno.")"); $this->_data_close(); return FALSE; } else $this->_ftp_data_sock; } else { $this->SendMSG("Only passive connections available!"); return FALSE; } return TRUE; } function _data_read($mode=FTP_ASCII, $fp=NULL) { if(is_resource($fp)) $out=0; else $out=""; if(!$this->_passive) { $this->SendMSG("Only passive connections available!"); return FALSE; } while (!feof($this->_ftp_data_sock)) { $block=fread($this->_ftp_data_sock, $this->_ftp_buff_size); if($mode!=FTP_BINARY) $block=preg_replace("/\r\n|\r|\n/", $this->_eol_code[$this->OS_local], $block); if(is_resource($fp)) $out+=fwrite($fp, $block, strlen($block)); else $out.=$block; } return $out; } function _data_write($mode=FTP_ASCII, $fp=NULL) { if(is_resource($fp)) $out=0; else $out=""; if(!$this->_passive) { $this->SendMSG("Only passive connections available!"); return FALSE; } if(is_resource($fp)) { while(!feof($fp)) { $block=fread($fp, $this->_ftp_buff_size); if(!$this->_data_write_block($mode, $block)) return false; } } elseif(!$this->_data_write_block($mode, $fp)) return false; return TRUE; } function _data_write_block($mode, $block) { if($mode!=FTP_BINARY) $block=preg_replace("/\r\n|\r|\n/", $this->_eol_code[$this->OS_remote], $block); do { if(($t=@fwrite($this->_ftp_data_sock, $block))===FALSE) { $this->PushError("_data_write","Can't write to socket"); return FALSE; } $block=substr($block, $t); } while(!empty($block)); return true; } function _data_close() { @fclose($this->_ftp_data_sock); $this->SendMSG("Disconnected data from remote host"); return TRUE; } function _quit($force=FALSE) { if($this->_connected or $force) { @fclose($this->_ftp_control_sock); $this->_connected=false; $this->SendMSG("Socket closed"); } } } ?> class-wp-list-table.php 0000644 00000147200 14735706075 0011066 0 ustar 00 <?php /** * Administration API: WP_List_Table class * * @package WordPress * @subpackage List_Table * @since 3.1.0 */ /** * Base class for displaying a list of items in an ajaxified HTML table. * * @since 3.1.0 */ #[AllowDynamicProperties] class WP_List_Table { /** * The current list of items. * * @since 3.1.0 * @var array */ public $items; /** * Various information about the current table. * * @since 3.1.0 * @var array */ protected $_args; /** * Various information needed for displaying the pagination. * * @since 3.1.0 * @var array */ protected $_pagination_args = array(); /** * The current screen. * * @since 3.1.0 * @var WP_Screen */ protected $screen; /** * Cached bulk actions. * * @since 3.1.0 * @var array */ private $_actions; /** * Cached pagination output. * * @since 3.1.0 * @var string */ private $_pagination; /** * The view switcher modes. * * @since 4.1.0 * @var array */ protected $modes = array(); /** * Stores the value returned by ->get_column_info(). * * @since 4.1.0 * @var array */ protected $_column_headers; /** * {@internal Missing Summary} * * @var array */ protected $compat_fields = array( '_args', '_pagination_args', 'screen', '_actions', '_pagination' ); /** * {@internal Missing Summary} * * @var array */ protected $compat_methods = array( 'set_pagination_args', 'get_views', 'get_bulk_actions', 'bulk_actions', 'row_actions', 'months_dropdown', 'view_switcher', 'comments_bubble', 'get_items_per_page', 'pagination', 'get_sortable_columns', 'get_column_info', 'get_table_classes', 'display_tablenav', 'extra_tablenav', 'single_row_columns', ); /** * Constructor. * * The child class should call this constructor from its own constructor to override * the default $args. * * @since 3.1.0 * * @param array|string $args { * Array or string of arguments. * * @type string $plural Plural value used for labels and the objects being listed. * This affects things such as CSS class-names and nonces used * in the list table, e.g. 'posts'. Default empty. * @type string $singular Singular label for an object being listed, e.g. 'post'. * Default empty * @type bool $ajax Whether the list table supports Ajax. This includes loading * and sorting data, for example. If true, the class will call * the _js_vars() method in the footer to provide variables * to any scripts handling Ajax events. Default false. * @type string $screen String containing the hook name used to determine the current * screen. If left null, the current screen will be automatically set. * Default null. * } */ public function __construct( $args = array() ) { $args = wp_parse_args( $args, array( 'plural' => '', 'singular' => '', 'ajax' => false, 'screen' => null, ) ); $this->screen = convert_to_screen( $args['screen'] ); add_filter( "manage_{$this->screen->id}_columns", array( $this, 'get_columns' ), 0 ); if ( ! $args['plural'] ) { $args['plural'] = $this->screen->base; } $args['plural'] = sanitize_key( $args['plural'] ); $args['singular'] = sanitize_key( $args['singular'] ); $this->_args = $args; if ( $args['ajax'] ) { // wp_enqueue_script( 'list-table' ); add_action( 'admin_footer', array( $this, '_js_vars' ) ); } if ( empty( $this->modes ) ) { $this->modes = array( 'list' => __( 'Compact view' ), 'excerpt' => __( 'Extended view' ), ); } } /** * Makes private properties readable for backward compatibility. * * @since 4.0.0 * @since 6.4.0 Getting a dynamic property is deprecated. * * @param string $name Property to get. * @return mixed Property. */ public function __get( $name ) { if ( in_array( $name, $this->compat_fields, true ) ) { return $this->$name; } wp_trigger_error( __METHOD__, "The property `{$name}` is not declared. Getting a dynamic property is " . 'deprecated since version 6.4.0! Instead, declare the property on the class.', E_USER_DEPRECATED ); return null; } /** * Makes private properties settable for backward compatibility. * * @since 4.0.0 * @since 6.4.0 Setting a dynamic property is deprecated. * * @param string $name Property to check if set. * @param mixed $value Property value. */ public function __set( $name, $value ) { if ( in_array( $name, $this->compat_fields, true ) ) { $this->$name = $value; return; } wp_trigger_error( __METHOD__, "The property `{$name}` is not declared. Setting a dynamic property is " . 'deprecated since version 6.4.0! Instead, declare the property on the class.', E_USER_DEPRECATED ); } /** * Makes private properties checkable for backward compatibility. * * @since 4.0.0 * @since 6.4.0 Checking a dynamic property is deprecated. * * @param string $name Property to check if set. * @return bool Whether the property is a back-compat property and it is set. */ public function __isset( $name ) { if ( in_array( $name, $this->compat_fields, true ) ) { return isset( $this->$name ); } wp_trigger_error( __METHOD__, "The property `{$name}` is not declared. Checking `isset()` on a dynamic property " . 'is deprecated since version 6.4.0! Instead, declare the property on the class.', E_USER_DEPRECATED ); return false; } /** * Makes private properties un-settable for backward compatibility. * * @since 4.0.0 * @since 6.4.0 Unsetting a dynamic property is deprecated. * * @param string $name Property to unset. */ public function __unset( $name ) { if ( in_array( $name, $this->compat_fields, true ) ) { unset( $this->$name ); return; } wp_trigger_error( __METHOD__, "A property `{$name}` is not declared. Unsetting a dynamic property is " . 'deprecated since version 6.4.0! Instead, declare the property on the class.', E_USER_DEPRECATED ); } /** * Makes private/protected methods readable for backward compatibility. * * @since 4.0.0 * * @param string $name Method to call. * @param array $arguments Arguments to pass when calling. * @return mixed|bool Return value of the callback, false otherwise. */ public function __call( $name, $arguments ) { if ( in_array( $name, $this->compat_methods, true ) ) { return $this->$name( ...$arguments ); } return false; } /** * Checks the current user's permissions * * @since 3.1.0 * @abstract */ public function ajax_user_can() { die( 'function WP_List_Table::ajax_user_can() must be overridden in a subclass.' ); } /** * Prepares the list of items for displaying. * * @uses WP_List_Table::set_pagination_args() * * @since 3.1.0 * @abstract */ public function prepare_items() { die( 'function WP_List_Table::prepare_items() must be overridden in a subclass.' ); } /** * Sets all the necessary pagination arguments. * * @since 3.1.0 * * @param array|string $args Array or string of arguments with information about the pagination. */ protected function set_pagination_args( $args ) { $args = wp_parse_args( $args, array( 'total_items' => 0, 'total_pages' => 0, 'per_page' => 0, ) ); if ( ! $args['total_pages'] && $args['per_page'] > 0 ) { $args['total_pages'] = (int) ceil( $args['total_items'] / $args['per_page'] ); } // Redirect if page number is invalid and headers are not already sent. if ( ! headers_sent() && ! wp_doing_ajax() && $args['total_pages'] > 0 && $this->get_pagenum() > $args['total_pages'] ) { wp_redirect( add_query_arg( 'paged', $args['total_pages'] ) ); exit; } $this->_pagination_args = $args; } /** * Access the pagination args. * * @since 3.1.0 * * @param string $key Pagination argument to retrieve. Common values include 'total_items', * 'total_pages', 'per_page', or 'infinite_scroll'. * @return int Number of items that correspond to the given pagination argument. */ public function get_pagination_arg( $key ) { if ( 'page' === $key ) { return $this->get_pagenum(); } if ( isset( $this->_pagination_args[ $key ] ) ) { return $this->_pagination_args[ $key ]; } return 0; } /** * Determines whether the table has items to display or not * * @since 3.1.0 * * @return bool */ public function has_items() { return ! empty( $this->items ); } /** * Message to be displayed when there are no items * * @since 3.1.0 */ public function no_items() { _e( 'No items found.' ); } /** * Displays the search box. * * @since 3.1.0 * * @param string $text The 'submit' button label. * @param string $input_id ID attribute value for the search input field. */ public function search_box( $text, $input_id ) { if ( empty( $_REQUEST['s'] ) && ! $this->has_items() ) { return; } $input_id = $input_id . '-search-input'; if ( ! empty( $_REQUEST['orderby'] ) ) { if ( is_array( $_REQUEST['orderby'] ) ) { foreach ( $_REQUEST['orderby'] as $key => $value ) { echo '<input type="hidden" name="orderby[' . esc_attr( $key ) . ']" value="' . esc_attr( $value ) . '" />'; } } else { echo '<input type="hidden" name="orderby" value="' . esc_attr( $_REQUEST['orderby'] ) . '" />'; } } if ( ! empty( $_REQUEST['order'] ) ) { echo '<input type="hidden" name="order" value="' . esc_attr( $_REQUEST['order'] ) . '" />'; } if ( ! empty( $_REQUEST['post_mime_type'] ) ) { echo '<input type="hidden" name="post_mime_type" value="' . esc_attr( $_REQUEST['post_mime_type'] ) . '" />'; } if ( ! empty( $_REQUEST['detached'] ) ) { echo '<input type="hidden" name="detached" value="' . esc_attr( $_REQUEST['detached'] ) . '" />'; } ?> <p class="search-box"> <label class="screen-reader-text" for="<?php echo esc_attr( $input_id ); ?>"><?php echo $text; ?>:</label> <input type="search" id="<?php echo esc_attr( $input_id ); ?>" name="s" value="<?php _admin_search_query(); ?>" /> <?php submit_button( $text, '', '', false, array( 'id' => 'search-submit' ) ); ?> </p> <?php } /** * Generates views links. * * @since 6.1.0 * * @param array $link_data { * An array of link data. * * @type string $url The link URL. * @type string $label The link label. * @type bool $current Optional. Whether this is the currently selected view. * } * @return string[] An array of link markup. Keys match the `$link_data` input array. */ protected function get_views_links( $link_data = array() ) { if ( ! is_array( $link_data ) ) { _doing_it_wrong( __METHOD__, sprintf( /* translators: %s: The $link_data argument. */ __( 'The %s argument must be an array.' ), '<code>$link_data</code>' ), '6.1.0' ); return array( '' ); } $views_links = array(); foreach ( $link_data as $view => $link ) { if ( empty( $link['url'] ) || ! is_string( $link['url'] ) || '' === trim( $link['url'] ) ) { _doing_it_wrong( __METHOD__, sprintf( /* translators: %1$s: The argument name. %2$s: The view name. */ __( 'The %1$s argument must be a non-empty string for %2$s.' ), '<code>url</code>', '<code>' . esc_html( $view ) . '</code>' ), '6.1.0' ); continue; } if ( empty( $link['label'] ) || ! is_string( $link['label'] ) || '' === trim( $link['label'] ) ) { _doing_it_wrong( __METHOD__, sprintf( /* translators: %1$s: The argument name. %2$s: The view name. */ __( 'The %1$s argument must be a non-empty string for %2$s.' ), '<code>label</code>', '<code>' . esc_html( $view ) . '</code>' ), '6.1.0' ); continue; } $views_links[ $view ] = sprintf( '<a href="%s"%s>%s</a>', esc_url( $link['url'] ), isset( $link['current'] ) && true === $link['current'] ? ' class="current" aria-current="page"' : '', $link['label'] ); } return $views_links; } /** * Gets the list of views available on this table. * * The format is an associative array: * - `'id' => 'link'` * * @since 3.1.0 * * @return array */ protected function get_views() { return array(); } /** * Displays the list of views available on this table. * * @since 3.1.0 */ public function views() { $views = $this->get_views(); /** * Filters the list of available list table views. * * The dynamic portion of the hook name, `$this->screen->id`, refers * to the ID of the current screen. * * @since 3.1.0 * * @param string[] $views An array of available list table views. */ $views = apply_filters( "views_{$this->screen->id}", $views ); if ( empty( $views ) ) { return; } $this->screen->render_screen_reader_content( 'heading_views' ); echo "<ul class='subsubsub'>\n"; foreach ( $views as $class => $view ) { $views[ $class ] = "\t<li class='$class'>$view"; } echo implode( " |</li>\n", $views ) . "</li>\n"; echo '</ul>'; } /** * Retrieves the list of bulk actions available for this table. * * The format is an associative array where each element represents either a top level option value and label, or * an array representing an optgroup and its options. * * For a standard option, the array element key is the field value and the array element value is the field label. * * For an optgroup, the array element key is the label and the array element value is an associative array of * options as above. * * Example: * * [ * 'edit' => 'Edit', * 'delete' => 'Delete', * 'Change State' => [ * 'feature' => 'Featured', * 'sale' => 'On Sale', * ] * ] * * @since 3.1.0 * @since 5.6.0 A bulk action can now contain an array of options in order to create an optgroup. * * @return array */ protected function get_bulk_actions() { return array(); } /** * Displays the bulk actions dropdown. * * @since 3.1.0 * * @param string $which The location of the bulk actions: Either 'top' or 'bottom'. * This is designated as optional for backward compatibility. */ protected function bulk_actions( $which = '' ) { if ( is_null( $this->_actions ) ) { $this->_actions = $this->get_bulk_actions(); /** * Filters the items in the bulk actions menu of the list table. * * The dynamic portion of the hook name, `$this->screen->id`, refers * to the ID of the current screen. * * @since 3.1.0 * @since 5.6.0 A bulk action can now contain an array of options in order to create an optgroup. * * @param array $actions An array of the available bulk actions. */ $this->_actions = apply_filters( "bulk_actions-{$this->screen->id}", $this->_actions ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores $two = ''; } else { $two = '2'; } if ( empty( $this->_actions ) ) { return; } echo '<label for="bulk-action-selector-' . esc_attr( $which ) . '" class="screen-reader-text">' . /* translators: Hidden accessibility text. */ __( 'Select bulk action' ) . '</label>'; echo '<select name="action' . $two . '" id="bulk-action-selector-' . esc_attr( $which ) . "\">\n"; echo '<option value="-1">' . __( 'Bulk actions' ) . "</option>\n"; foreach ( $this->_actions as $key => $value ) { if ( is_array( $value ) ) { echo "\t" . '<optgroup label="' . esc_attr( $key ) . '">' . "\n"; foreach ( $value as $name => $title ) { $class = ( 'edit' === $name ) ? ' class="hide-if-no-js"' : ''; echo "\t\t" . '<option value="' . esc_attr( $name ) . '"' . $class . '>' . $title . "</option>\n"; } echo "\t" . "</optgroup>\n"; } else { $class = ( 'edit' === $key ) ? ' class="hide-if-no-js"' : ''; echo "\t" . '<option value="' . esc_attr( $key ) . '"' . $class . '>' . $value . "</option>\n"; } } echo "</select>\n"; submit_button( __( 'Apply' ), 'action', 'bulk_action', false, array( 'id' => "doaction$two" ) ); echo "\n"; } /** * Gets the current action selected from the bulk actions dropdown. * * @since 3.1.0 * * @return string|false The action name. False if no action was selected. */ public function current_action() { if ( isset( $_REQUEST['filter_action'] ) && ! empty( $_REQUEST['filter_action'] ) ) { return false; } if ( isset( $_REQUEST['action'] ) && '-1' !== $_REQUEST['action'] ) { return $_REQUEST['action']; } return false; } /** * Generates the required HTML for a list of row action links. * * @since 3.1.0 * * @param string[] $actions An array of action links. * @param bool $always_visible Whether the actions should be always visible. * @return string The HTML for the row actions. */ protected function row_actions( $actions, $always_visible = false ) { $action_count = count( $actions ); if ( ! $action_count ) { return ''; } $mode = get_user_setting( 'posts_list_mode', 'list' ); if ( 'excerpt' === $mode ) { $always_visible = true; } $output = '<div class="' . ( $always_visible ? 'row-actions visible' : 'row-actions' ) . '">'; $i = 0; foreach ( $actions as $action => $link ) { ++$i; $separator = ( $i < $action_count ) ? ' | ' : ''; $output .= "<span class='$action'>{$link}{$separator}</span>"; } $output .= '</div>'; $output .= '<button type="button" class="toggle-row"><span class="screen-reader-text">' . /* translators: Hidden accessibility text. */ __( 'Show more details' ) . '</span></button>'; return $output; } /** * Displays a dropdown for filtering items in the list table by month. * * @since 3.1.0 * * @global wpdb $wpdb WordPress database abstraction object. * @global WP_Locale $wp_locale WordPress date and time locale object. * * @param string $post_type The post type. */ protected function months_dropdown( $post_type ) { global $wpdb, $wp_locale; /** * Filters whether to remove the 'Months' drop-down from the post list table. * * @since 4.2.0 * * @param bool $disable Whether to disable the drop-down. Default false. * @param string $post_type The post type. */ if ( apply_filters( 'disable_months_dropdown', false, $post_type ) ) { return; } /** * Filters whether to short-circuit performing the months dropdown query. * * @since 5.7.0 * * @param object[]|false $months 'Months' drop-down results. Default false. * @param string $post_type The post type. */ $months = apply_filters( 'pre_months_dropdown_query', false, $post_type ); if ( ! is_array( $months ) ) { $extra_checks = "AND post_status != 'auto-draft'"; if ( ! isset( $_GET['post_status'] ) || 'trash' !== $_GET['post_status'] ) { $extra_checks .= " AND post_status != 'trash'"; } elseif ( isset( $_GET['post_status'] ) ) { $extra_checks = $wpdb->prepare( ' AND post_status = %s', $_GET['post_status'] ); } $months = $wpdb->get_results( $wpdb->prepare( "SELECT DISTINCT YEAR( post_date ) AS year, MONTH( post_date ) AS month FROM $wpdb->posts WHERE post_type = %s $extra_checks ORDER BY post_date DESC", $post_type ) ); } /** * Filters the 'Months' drop-down results. * * @since 3.7.0 * * @param object[] $months Array of the months drop-down query results. * @param string $post_type The post type. */ $months = apply_filters( 'months_dropdown_results', $months, $post_type ); $month_count = count( $months ); if ( ! $month_count || ( 1 === $month_count && 0 === (int) $months[0]->month ) ) { return; } $m = isset( $_GET['m'] ) ? (int) $_GET['m'] : 0; ?> <label for="filter-by-date" class="screen-reader-text"><?php echo get_post_type_object( $post_type )->labels->filter_by_date; ?></label> <select name="m" id="filter-by-date"> <option<?php selected( $m, 0 ); ?> value="0"><?php _e( 'All dates' ); ?></option> <?php foreach ( $months as $arc_row ) { if ( 0 === (int) $arc_row->year ) { continue; } $month = zeroise( $arc_row->month, 2 ); $year = $arc_row->year; printf( "<option %s value='%s'>%s</option>\n", selected( $m, $year . $month, false ), esc_attr( $arc_row->year . $month ), /* translators: 1: Month name, 2: 4-digit year. */ sprintf( __( '%1$s %2$d' ), $wp_locale->get_month( $month ), $year ) ); } ?> </select> <?php } /** * Displays a view switcher. * * @since 3.1.0 * * @param string $current_mode */ protected function view_switcher( $current_mode ) { ?> <input type="hidden" name="mode" value="<?php echo esc_attr( $current_mode ); ?>" /> <div class="view-switch"> <?php foreach ( $this->modes as $mode => $title ) { $classes = array( 'view-' . $mode ); $aria_current = ''; if ( $current_mode === $mode ) { $classes[] = 'current'; $aria_current = ' aria-current="page"'; } printf( "<a href='%s' class='%s' id='view-switch-$mode'$aria_current>" . "<span class='screen-reader-text'>%s</span>" . "</a>\n", esc_url( remove_query_arg( 'attachment-filter', add_query_arg( 'mode', $mode ) ) ), implode( ' ', $classes ), $title ); } ?> </div> <?php } /** * Displays a comment count bubble. * * @since 3.1.0 * * @param int $post_id The post ID. * @param int $pending_comments Number of pending comments. */ protected function comments_bubble( $post_id, $pending_comments ) { $post_object = get_post( $post_id ); $edit_post_cap = $post_object ? 'edit_post' : 'edit_posts'; if ( ! current_user_can( $edit_post_cap, $post_id ) && ( post_password_required( $post_id ) || ! current_user_can( 'read_post', $post_id ) ) ) { // The user has no access to the post and thus cannot see the comments. return false; } $approved_comments = get_comments_number(); $approved_comments_number = number_format_i18n( $approved_comments ); $pending_comments_number = number_format_i18n( $pending_comments ); $approved_only_phrase = sprintf( /* translators: %s: Number of comments. */ _n( '%s comment', '%s comments', $approved_comments ), $approved_comments_number ); $approved_phrase = sprintf( /* translators: %s: Number of comments. */ _n( '%s approved comment', '%s approved comments', $approved_comments ), $approved_comments_number ); $pending_phrase = sprintf( /* translators: %s: Number of comments. */ _n( '%s pending comment', '%s pending comments', $pending_comments ), $pending_comments_number ); if ( ! $approved_comments && ! $pending_comments ) { // No comments at all. printf( '<span aria-hidden="true">—</span>' . '<span class="screen-reader-text">%s</span>', __( 'No comments' ) ); } elseif ( $approved_comments && 'trash' === get_post_status( $post_id ) ) { // Don't link the comment bubble for a trashed post. printf( '<span class="post-com-count post-com-count-approved">' . '<span class="comment-count-approved" aria-hidden="true">%s</span>' . '<span class="screen-reader-text">%s</span>' . '</span>', $approved_comments_number, $pending_comments ? $approved_phrase : $approved_only_phrase ); } elseif ( $approved_comments ) { // Link the comment bubble to approved comments. printf( '<a href="%s" class="post-com-count post-com-count-approved">' . '<span class="comment-count-approved" aria-hidden="true">%s</span>' . '<span class="screen-reader-text">%s</span>' . '</a>', esc_url( add_query_arg( array( 'p' => $post_id, 'comment_status' => 'approved', ), admin_url( 'edit-comments.php' ) ) ), $approved_comments_number, $pending_comments ? $approved_phrase : $approved_only_phrase ); } else { // Don't link the comment bubble when there are no approved comments. printf( '<span class="post-com-count post-com-count-no-comments">' . '<span class="comment-count comment-count-no-comments" aria-hidden="true">%s</span>' . '<span class="screen-reader-text">%s</span>' . '</span>', $approved_comments_number, $pending_comments ? /* translators: Hidden accessibility text. */ __( 'No approved comments' ) : /* translators: Hidden accessibility text. */ __( 'No comments' ) ); } if ( $pending_comments ) { printf( '<a href="%s" class="post-com-count post-com-count-pending">' . '<span class="comment-count-pending" aria-hidden="true">%s</span>' . '<span class="screen-reader-text">%s</span>' . '</a>', esc_url( add_query_arg( array( 'p' => $post_id, 'comment_status' => 'moderated', ), admin_url( 'edit-comments.php' ) ) ), $pending_comments_number, $pending_phrase ); } else { printf( '<span class="post-com-count post-com-count-pending post-com-count-no-pending">' . '<span class="comment-count comment-count-no-pending" aria-hidden="true">%s</span>' . '<span class="screen-reader-text">%s</span>' . '</span>', $pending_comments_number, $approved_comments ? /* translators: Hidden accessibility text. */ __( 'No pending comments' ) : /* translators: Hidden accessibility text. */ __( 'No comments' ) ); } } /** * Gets the current page number. * * @since 3.1.0 * * @return int */ public function get_pagenum() { $pagenum = isset( $_REQUEST['paged'] ) ? absint( $_REQUEST['paged'] ) : 0; if ( isset( $this->_pagination_args['total_pages'] ) && $pagenum > $this->_pagination_args['total_pages'] ) { $pagenum = $this->_pagination_args['total_pages']; } return max( 1, $pagenum ); } /** * Gets the number of items to display on a single page. * * @since 3.1.0 * * @param string $option User option name. * @param int $default_value Optional. The number of items to display. Default 20. * @return int */ protected function get_items_per_page( $option, $default_value = 20 ) { $per_page = (int) get_user_option( $option ); if ( empty( $per_page ) || $per_page < 1 ) { $per_page = $default_value; } /** * Filters the number of items to be displayed on each page of the list table. * * The dynamic hook name, `$option`, refers to the `per_page` option depending * on the type of list table in use. Possible filter names include: * * - `edit_comments_per_page` * - `sites_network_per_page` * - `site_themes_network_per_page` * - `themes_network_per_page` * - `users_network_per_page` * - `edit_post_per_page` * - `edit_page_per_page` * - `edit_{$post_type}_per_page` * - `edit_post_tag_per_page` * - `edit_category_per_page` * - `edit_{$taxonomy}_per_page` * - `site_users_network_per_page` * - `users_per_page` * * @since 2.9.0 * * @param int $per_page Number of items to be displayed. Default 20. */ return (int) apply_filters( "{$option}", $per_page ); } /** * Displays the pagination. * * @since 3.1.0 * * @param string $which The location of the pagination: Either 'top' or 'bottom'. */ protected function pagination( $which ) { if ( empty( $this->_pagination_args ) ) { return; } $total_items = $this->_pagination_args['total_items']; $total_pages = $this->_pagination_args['total_pages']; $infinite_scroll = false; if ( isset( $this->_pagination_args['infinite_scroll'] ) ) { $infinite_scroll = $this->_pagination_args['infinite_scroll']; } if ( 'top' === $which && $total_pages > 1 ) { $this->screen->render_screen_reader_content( 'heading_pagination' ); } $output = '<span class="displaying-num">' . sprintf( /* translators: %s: Number of items. */ _n( '%s item', '%s items', $total_items ), number_format_i18n( $total_items ) ) . '</span>'; $current = $this->get_pagenum(); $removable_query_args = wp_removable_query_args(); $current_url = set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] ); $current_url = remove_query_arg( $removable_query_args, $current_url ); $page_links = array(); $total_pages_before = '<span class="paging-input">'; $total_pages_after = '</span></span>'; $disable_first = false; $disable_last = false; $disable_prev = false; $disable_next = false; if ( 1 === $current ) { $disable_first = true; $disable_prev = true; } if ( $total_pages === $current ) { $disable_last = true; $disable_next = true; } if ( $disable_first ) { $page_links[] = '<span class="tablenav-pages-navspan button disabled" aria-hidden="true">«</span>'; } else { $page_links[] = sprintf( "<a class='first-page button' href='%s'>" . "<span class='screen-reader-text'>%s</span>" . "<span aria-hidden='true'>%s</span>" . '</a>', esc_url( remove_query_arg( 'paged', $current_url ) ), /* translators: Hidden accessibility text. */ __( 'First page' ), '«' ); } if ( $disable_prev ) { $page_links[] = '<span class="tablenav-pages-navspan button disabled" aria-hidden="true">‹</span>'; } else { $page_links[] = sprintf( "<a class='prev-page button' href='%s'>" . "<span class='screen-reader-text'>%s</span>" . "<span aria-hidden='true'>%s</span>" . '</a>', esc_url( add_query_arg( 'paged', max( 1, $current - 1 ), $current_url ) ), /* translators: Hidden accessibility text. */ __( 'Previous page' ), '‹' ); } if ( 'bottom' === $which ) { $html_current_page = $current; $total_pages_before = sprintf( '<span class="screen-reader-text">%s</span>' . '<span id="table-paging" class="paging-input">' . '<span class="tablenav-paging-text">', /* translators: Hidden accessibility text. */ __( 'Current Page' ) ); } else { $html_current_page = sprintf( '<label for="current-page-selector" class="screen-reader-text">%s</label>' . "<input class='current-page' id='current-page-selector' type='text' name='paged' value='%s' size='%d' aria-describedby='table-paging' />" . "<span class='tablenav-paging-text'>", /* translators: Hidden accessibility text. */ __( 'Current Page' ), $current, strlen( $total_pages ) ); } $html_total_pages = sprintf( "<span class='total-pages'>%s</span>", number_format_i18n( $total_pages ) ); $page_links[] = $total_pages_before . sprintf( /* translators: 1: Current page, 2: Total pages. */ _x( '%1$s of %2$s', 'paging' ), $html_current_page, $html_total_pages ) . $total_pages_after; if ( $disable_next ) { $page_links[] = '<span class="tablenav-pages-navspan button disabled" aria-hidden="true">›</span>'; } else { $page_links[] = sprintf( "<a class='next-page button' href='%s'>" . "<span class='screen-reader-text'>%s</span>" . "<span aria-hidden='true'>%s</span>" . '</a>', esc_url( add_query_arg( 'paged', min( $total_pages, $current + 1 ), $current_url ) ), /* translators: Hidden accessibility text. */ __( 'Next page' ), '›' ); } if ( $disable_last ) { $page_links[] = '<span class="tablenav-pages-navspan button disabled" aria-hidden="true">»</span>'; } else { $page_links[] = sprintf( "<a class='last-page button' href='%s'>" . "<span class='screen-reader-text'>%s</span>" . "<span aria-hidden='true'>%s</span>" . '</a>', esc_url( add_query_arg( 'paged', $total_pages, $current_url ) ), /* translators: Hidden accessibility text. */ __( 'Last page' ), '»' ); } $pagination_links_class = 'pagination-links'; if ( ! empty( $infinite_scroll ) ) { $pagination_links_class .= ' hide-if-js'; } $output .= "\n<span class='$pagination_links_class'>" . implode( "\n", $page_links ) . '</span>'; if ( $total_pages ) { $page_class = $total_pages < 2 ? ' one-page' : ''; } else { $page_class = ' no-pages'; } $this->_pagination = "<div class='tablenav-pages{$page_class}'>$output</div>"; echo $this->_pagination; } /** * Gets a list of columns. * * The format is: * - `'internal-name' => 'Title'` * * @since 3.1.0 * @abstract * * @return array */ public function get_columns() { die( 'function WP_List_Table::get_columns() must be overridden in a subclass.' ); } /** * Gets a list of sortable columns. * * The format is: * - `'internal-name' => 'orderby'` * - `'internal-name' => array( 'orderby', bool, 'abbr', 'orderby-text', 'initially-sorted-column-order' )` - * - `'internal-name' => array( 'orderby', 'asc' )` - The second element sets the initial sorting order. * - `'internal-name' => array( 'orderby', true )` - The second element makes the initial order descending. * * In the second format, passing true as second parameter will make the initial * sorting order be descending. Following parameters add a short column name to * be used as 'abbr' attribute, a translatable string for the current sorting, * and the initial order for the initial sorted column, 'asc' or 'desc' (default: false). * * @since 3.1.0 * @since 6.3.0 Added 'abbr', 'orderby-text' and 'initially-sorted-column-order'. * * @return array */ protected function get_sortable_columns() { return array(); } /** * Gets the name of the default primary column. * * @since 4.3.0 * * @return string Name of the default primary column, in this case, an empty string. */ protected function get_default_primary_column_name() { $columns = $this->get_columns(); $column = ''; if ( empty( $columns ) ) { return $column; } /* * We need a primary defined so responsive views show something, * so let's fall back to the first non-checkbox column. */ foreach ( $columns as $col => $column_name ) { if ( 'cb' === $col ) { continue; } $column = $col; break; } return $column; } /** * Gets the name of the primary column. * * Public wrapper for WP_List_Table::get_default_primary_column_name(). * * @since 4.4.0 * * @return string Name of the default primary column. */ public function get_primary_column() { return $this->get_primary_column_name(); } /** * Gets the name of the primary column. * * @since 4.3.0 * * @return string The name of the primary column. */ protected function get_primary_column_name() { $columns = get_column_headers( $this->screen ); $default = $this->get_default_primary_column_name(); /* * If the primary column doesn't exist, * fall back to the first non-checkbox column. */ if ( ! isset( $columns[ $default ] ) ) { $default = self::get_default_primary_column_name(); } /** * Filters the name of the primary column for the current list table. * * @since 4.3.0 * * @param string $default Column name default for the specific list table, e.g. 'name'. * @param string $context Screen ID for specific list table, e.g. 'plugins'. */ $column = apply_filters( 'list_table_primary_column', $default, $this->screen->id ); if ( empty( $column ) || ! isset( $columns[ $column ] ) ) { $column = $default; } return $column; } /** * Gets a list of all, hidden, and sortable columns, with filter applied. * * @since 3.1.0 * * @return array */ protected function get_column_info() { // $_column_headers is already set / cached. if ( isset( $this->_column_headers ) && is_array( $this->_column_headers ) ) { /* * Backward compatibility for `$_column_headers` format prior to WordPress 4.3. * * In WordPress 4.3 the primary column name was added as a fourth item in the * column headers property. This ensures the primary column name is included * in plugins setting the property directly in the three item format. */ if ( 4 === count( $this->_column_headers ) ) { return $this->_column_headers; } $column_headers = array( array(), array(), array(), $this->get_primary_column_name() ); foreach ( $this->_column_headers as $key => $value ) { $column_headers[ $key ] = $value; } $this->_column_headers = $column_headers; return $this->_column_headers; } $columns = get_column_headers( $this->screen ); $hidden = get_hidden_columns( $this->screen ); $sortable_columns = $this->get_sortable_columns(); /** * Filters the list table sortable columns for a specific screen. * * The dynamic portion of the hook name, `$this->screen->id`, refers * to the ID of the current screen. * * @since 3.1.0 * * @param array $sortable_columns An array of sortable columns. */ $_sortable = apply_filters( "manage_{$this->screen->id}_sortable_columns", $sortable_columns ); $sortable = array(); foreach ( $_sortable as $id => $data ) { if ( empty( $data ) ) { continue; } $data = (array) $data; // Descending initial sorting. if ( ! isset( $data[1] ) ) { $data[1] = false; } // Current sorting translatable string. if ( ! isset( $data[2] ) ) { $data[2] = ''; } // Initial view sorted column and asc/desc order, default: false. if ( ! isset( $data[3] ) ) { $data[3] = false; } // Initial order for the initial sorted column, default: false. if ( ! isset( $data[4] ) ) { $data[4] = false; } $sortable[ $id ] = $data; } $primary = $this->get_primary_column_name(); $this->_column_headers = array( $columns, $hidden, $sortable, $primary ); return $this->_column_headers; } /** * Returns the number of visible columns. * * @since 3.1.0 * * @return int */ public function get_column_count() { list ( $columns, $hidden ) = $this->get_column_info(); $hidden = array_intersect( array_keys( $columns ), array_filter( $hidden ) ); return count( $columns ) - count( $hidden ); } /** * Prints column headers, accounting for hidden and sortable columns. * * @since 3.1.0 * * @param bool $with_id Whether to set the ID attribute or not */ public function print_column_headers( $with_id = true ) { list( $columns, $hidden, $sortable, $primary ) = $this->get_column_info(); $current_url = set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] ); $current_url = remove_query_arg( 'paged', $current_url ); // When users click on a column header to sort by other columns. if ( isset( $_GET['orderby'] ) ) { $current_orderby = $_GET['orderby']; // In the initial view there's no orderby parameter. } else { $current_orderby = ''; } // Not in the initial view and descending order. if ( isset( $_GET['order'] ) && 'desc' === $_GET['order'] ) { $current_order = 'desc'; } else { // The initial view is not always 'asc', we'll take care of this below. $current_order = 'asc'; } if ( ! empty( $columns['cb'] ) ) { static $cb_counter = 1; $columns['cb'] = '<input id="cb-select-all-' . $cb_counter . '" type="checkbox" /> <label for="cb-select-all-' . $cb_counter . '">' . '<span class="screen-reader-text">' . /* translators: Hidden accessibility text. */ __( 'Select All' ) . '</span>' . '</label>'; ++$cb_counter; } foreach ( $columns as $column_key => $column_display_name ) { $class = array( 'manage-column', "column-$column_key" ); $aria_sort_attr = ''; $abbr_attr = ''; $order_text = ''; if ( in_array( $column_key, $hidden, true ) ) { $class[] = 'hidden'; } if ( 'cb' === $column_key ) { $class[] = 'check-column'; } elseif ( in_array( $column_key, array( 'posts', 'comments', 'links' ), true ) ) { $class[] = 'num'; } if ( $column_key === $primary ) { $class[] = 'column-primary'; } if ( isset( $sortable[ $column_key ] ) ) { $orderby = isset( $sortable[ $column_key ][0] ) ? $sortable[ $column_key ][0] : ''; $desc_first = isset( $sortable[ $column_key ][1] ) ? $sortable[ $column_key ][1] : false; $abbr = isset( $sortable[ $column_key ][2] ) ? $sortable[ $column_key ][2] : ''; $orderby_text = isset( $sortable[ $column_key ][3] ) ? $sortable[ $column_key ][3] : ''; $initial_order = isset( $sortable[ $column_key ][4] ) ? $sortable[ $column_key ][4] : ''; /* * We're in the initial view and there's no $_GET['orderby'] then check if the * initial sorting information is set in the sortable columns and use that. */ if ( '' === $current_orderby && $initial_order ) { // Use the initially sorted column $orderby as current orderby. $current_orderby = $orderby; // Use the initially sorted column asc/desc order as initial order. $current_order = $initial_order; } /* * True in the initial view when an initial orderby is set via get_sortable_columns() * and true in the sorted views when the actual $_GET['orderby'] is equal to $orderby. */ if ( $current_orderby === $orderby ) { // The sorted column. The `aria-sort` attribute must be set only on the sorted column. if ( 'asc' === $current_order ) { $order = 'desc'; $aria_sort_attr = ' aria-sort="ascending"'; } else { $order = 'asc'; $aria_sort_attr = ' aria-sort="descending"'; } $class[] = 'sorted'; $class[] = $current_order; } else { // The other sortable columns. $order = strtolower( $desc_first ); if ( ! in_array( $order, array( 'desc', 'asc' ), true ) ) { $order = $desc_first ? 'desc' : 'asc'; } $class[] = 'sortable'; $class[] = 'desc' === $order ? 'asc' : 'desc'; /* translators: Hidden accessibility text. */ $asc_text = __( 'Sort ascending.' ); /* translators: Hidden accessibility text. */ $desc_text = __( 'Sort descending.' ); $order_text = 'asc' === $order ? $asc_text : $desc_text; } if ( '' !== $order_text ) { $order_text = ' <span class="screen-reader-text">' . $order_text . '</span>'; } // Print an 'abbr' attribute if a value is provided via get_sortable_columns(). $abbr_attr = $abbr ? ' abbr="' . esc_attr( $abbr ) . '"' : ''; $column_display_name = sprintf( '<a href="%1$s">' . '<span>%2$s</span>' . '<span class="sorting-indicators">' . '<span class="sorting-indicator asc" aria-hidden="true"></span>' . '<span class="sorting-indicator desc" aria-hidden="true"></span>' . '</span>' . '%3$s' . '</a>', esc_url( add_query_arg( compact( 'orderby', 'order' ), $current_url ) ), $column_display_name, $order_text ); } $tag = ( 'cb' === $column_key ) ? 'td' : 'th'; $scope = ( 'th' === $tag ) ? 'scope="col"' : ''; $id = $with_id ? "id='$column_key'" : ''; if ( ! empty( $class ) ) { $class = "class='" . implode( ' ', $class ) . "'"; } echo "<$tag $scope $id $class $aria_sort_attr $abbr_attr>$column_display_name</$tag>"; } } /** * Print a table description with information about current sorting and order. * * For the table initial view, information about initial orderby and order * should be provided via get_sortable_columns(). * * @since 6.3.0 * @access public */ public function print_table_description() { list( $columns, $hidden, $sortable ) = $this->get_column_info(); if ( empty( $sortable ) ) { return; } // When users click on a column header to sort by other columns. if ( isset( $_GET['orderby'] ) ) { $current_orderby = $_GET['orderby']; // In the initial view there's no orderby parameter. } else { $current_orderby = ''; } // Not in the initial view and descending order. if ( isset( $_GET['order'] ) && 'desc' === $_GET['order'] ) { $current_order = 'desc'; } else { // The initial view is not always 'asc', we'll take care of this below. $current_order = 'asc'; } foreach ( array_keys( $columns ) as $column_key ) { if ( isset( $sortable[ $column_key ] ) ) { $orderby = isset( $sortable[ $column_key ][0] ) ? $sortable[ $column_key ][0] : ''; $desc_first = isset( $sortable[ $column_key ][1] ) ? $sortable[ $column_key ][1] : false; $abbr = isset( $sortable[ $column_key ][2] ) ? $sortable[ $column_key ][2] : ''; $orderby_text = isset( $sortable[ $column_key ][3] ) ? $sortable[ $column_key ][3] : ''; $initial_order = isset( $sortable[ $column_key ][4] ) ? $sortable[ $column_key ][4] : ''; if ( ! is_string( $orderby_text ) || '' === $orderby_text ) { return; } /* * We're in the initial view and there's no $_GET['orderby'] then check if the * initial sorting information is set in the sortable columns and use that. */ if ( '' === $current_orderby && $initial_order ) { // Use the initially sorted column $orderby as current orderby. $current_orderby = $orderby; // Use the initially sorted column asc/desc order as initial order. $current_order = $initial_order; } /* * True in the initial view when an initial orderby is set via get_sortable_columns() * and true in the sorted views when the actual $_GET['orderby'] is equal to $orderby. */ if ( $current_orderby === $orderby ) { /* translators: Hidden accessibility text. */ $asc_text = __( 'Ascending.' ); /* translators: Hidden accessibility text. */ $desc_text = __( 'Descending.' ); $order_text = 'asc' === $current_order ? $asc_text : $desc_text; echo '<caption class="screen-reader-text">' . $orderby_text . ' ' . $order_text . '</caption>'; return; } } } } /** * Displays the table. * * @since 3.1.0 */ public function display() { $singular = $this->_args['singular']; $this->display_tablenav( 'top' ); $this->screen->render_screen_reader_content( 'heading_list' ); ?> <table class="wp-list-table <?php echo implode( ' ', $this->get_table_classes() ); ?>"> <?php $this->print_table_description(); ?> <thead> <tr> <?php $this->print_column_headers(); ?> </tr> </thead> <tbody id="the-list" <?php if ( $singular ) { echo " data-wp-lists='list:$singular'"; } ?> > <?php $this->display_rows_or_placeholder(); ?> </tbody> <tfoot> <tr> <?php $this->print_column_headers( false ); ?> </tr> </tfoot> </table> <?php $this->display_tablenav( 'bottom' ); } /** * Gets a list of CSS classes for the WP_List_Table table tag. * * @since 3.1.0 * * @return string[] Array of CSS classes for the table tag. */ protected function get_table_classes() { $mode = get_user_setting( 'posts_list_mode', 'list' ); $mode_class = esc_attr( 'table-view-' . $mode ); return array( 'widefat', 'fixed', 'striped', $mode_class, $this->_args['plural'] ); } /** * Generates the table navigation above or below the table * * @since 3.1.0 * @param string $which The location of the navigation: Either 'top' or 'bottom'. */ protected function display_tablenav( $which ) { if ( 'top' === $which ) { wp_nonce_field( 'bulk-' . $this->_args['plural'] ); } ?> <div class="tablenav <?php echo esc_attr( $which ); ?>"> <?php if ( $this->has_items() ) : ?> <div class="alignleft actions bulkactions"> <?php $this->bulk_actions( $which ); ?> </div> <?php endif; $this->extra_tablenav( $which ); $this->pagination( $which ); ?> <br class="clear" /> </div> <?php } /** * Displays extra controls between bulk actions and pagination. * * @since 3.1.0 * * @param string $which */ protected function extra_tablenav( $which ) {} /** * Generates the tbody element for the list table. * * @since 3.1.0 */ public function display_rows_or_placeholder() { if ( $this->has_items() ) { $this->display_rows(); } else { echo '<tr class="no-items"><td class="colspanchange" colspan="' . $this->get_column_count() . '">'; $this->no_items(); echo '</td></tr>'; } } /** * Generates the list table rows. * * @since 3.1.0 */ public function display_rows() { foreach ( $this->items as $item ) { $this->single_row( $item ); } } /** * Generates content for a single row of the table. * * @since 3.1.0 * * @param object|array $item The current item */ public function single_row( $item ) { echo '<tr>'; $this->single_row_columns( $item ); echo '</tr>'; } /** * @param object|array $item * @param string $column_name */ protected function column_default( $item, $column_name ) {} /** * @param object|array $item */ protected function column_cb( $item ) {} /** * Generates the columns for a single row of the table. * * @since 3.1.0 * * @param object|array $item The current item. */ protected function single_row_columns( $item ) { list( $columns, $hidden, $sortable, $primary ) = $this->get_column_info(); foreach ( $columns as $column_name => $column_display_name ) { $classes = "$column_name column-$column_name"; if ( $primary === $column_name ) { $classes .= ' has-row-actions column-primary'; } if ( in_array( $column_name, $hidden, true ) ) { $classes .= ' hidden'; } /* * Comments column uses HTML in the display name with screen reader text. * Strip tags to get closer to a user-friendly string. */ $data = 'data-colname="' . esc_attr( wp_strip_all_tags( $column_display_name ) ) . '"'; $attributes = "class='$classes' $data"; if ( 'cb' === $column_name ) { echo '<th scope="row" class="check-column">'; echo $this->column_cb( $item ); echo '</th>'; } elseif ( method_exists( $this, '_column_' . $column_name ) ) { echo call_user_func( array( $this, '_column_' . $column_name ), $item, $classes, $data, $primary ); } elseif ( method_exists( $this, 'column_' . $column_name ) ) { echo "<td $attributes>"; echo call_user_func( array( $this, 'column_' . $column_name ), $item ); echo $this->handle_row_actions( $item, $column_name, $primary ); echo '</td>'; } else { echo "<td $attributes>"; echo $this->column_default( $item, $column_name ); echo $this->handle_row_actions( $item, $column_name, $primary ); echo '</td>'; } } } /** * Generates and display row actions links for the list table. * * @since 4.3.0 * * @param object|array $item The item being acted upon. * @param string $column_name Current column name. * @param string $primary Primary column name. * @return string The row actions HTML, or an empty string * if the current column is not the primary column. */ protected function handle_row_actions( $item, $column_name, $primary ) { return $column_name === $primary ? '<button type="button" class="toggle-row"><span class="screen-reader-text">' . /* translators: Hidden accessibility text. */ __( 'Show more details' ) . '</span></button>' : ''; } /** * Handles an incoming ajax request (called from admin-ajax.php) * * @since 3.1.0 */ public function ajax_response() { $this->prepare_items(); ob_start(); if ( ! empty( $_REQUEST['no_placeholder'] ) ) { $this->display_rows(); } else { $this->display_rows_or_placeholder(); } $rows = ob_get_clean(); $response = array( 'rows' => $rows ); if ( isset( $this->_pagination_args['total_items'] ) ) { $response['total_items_i18n'] = sprintf( /* translators: Number of items. */ _n( '%s item', '%s items', $this->_pagination_args['total_items'] ), number_format_i18n( $this->_pagination_args['total_items'] ) ); } if ( isset( $this->_pagination_args['total_pages'] ) ) { $response['total_pages'] = $this->_pagination_args['total_pages']; $response['total_pages_i18n'] = number_format_i18n( $this->_pagination_args['total_pages'] ); } die( wp_json_encode( $response ) ); } /** * Sends required variables to JavaScript land. * * @since 3.1.0 */ public function _js_vars() { $args = array( 'class' => get_class( $this ), 'screen' => array( 'id' => $this->screen->id, 'base' => $this->screen->base, ), ); printf( "<script type='text/javascript'>list_args = %s;</script>\n", wp_json_encode( $args ) ); } } class-theme-upgrader.php 0000644 00000064116 14735706075 0011317 0 ustar 00 <?php /** * Upgrade API: Theme_Upgrader class * * @package WordPress * @subpackage Upgrader * @since 4.6.0 */ /** * Core class used for upgrading/installing themes. * * It is designed to upgrade/install themes from a local zip, remote zip URL, * or uploaded zip file. * * @since 2.8.0 * @since 4.6.0 Moved to its own file from wp-admin/includes/class-wp-upgrader.php. * * @see WP_Upgrader */ class Theme_Upgrader extends WP_Upgrader { /** * Result of the theme upgrade offer. * * @since 2.8.0 * @var array|WP_Error $result * @see WP_Upgrader::$result */ public $result; /** * Whether multiple themes are being upgraded/installed in bulk. * * @since 2.9.0 * @var bool $bulk */ public $bulk = false; /** * New theme info. * * @since 5.5.0 * @var array $new_theme_data * * @see check_package() */ public $new_theme_data = array(); /** * Initializes the upgrade strings. * * @since 2.8.0 */ public function upgrade_strings() { $this->strings['up_to_date'] = __( 'The theme is at the latest version.' ); $this->strings['no_package'] = __( 'Update package not available.' ); /* translators: %s: Package URL. */ $this->strings['downloading_package'] = sprintf( __( 'Downloading update from %s…' ), '<span class="code pre">%s</span>' ); $this->strings['unpack_package'] = __( 'Unpacking the update…' ); $this->strings['remove_old'] = __( 'Removing the old version of the theme…' ); $this->strings['remove_old_failed'] = __( 'Could not remove the old theme.' ); $this->strings['process_failed'] = __( 'Theme update failed.' ); $this->strings['process_success'] = __( 'Theme updated successfully.' ); } /** * Initializes the installation strings. * * @since 2.8.0 */ public function install_strings() { $this->strings['no_package'] = __( 'Installation package not available.' ); /* translators: %s: Package URL. */ $this->strings['downloading_package'] = sprintf( __( 'Downloading installation package from %s…' ), '<span class="code pre">%s</span>' ); $this->strings['unpack_package'] = __( 'Unpacking the package…' ); $this->strings['installing_package'] = __( 'Installing the theme…' ); $this->strings['remove_old'] = __( 'Removing the old version of the theme…' ); $this->strings['remove_old_failed'] = __( 'Could not remove the old theme.' ); $this->strings['no_files'] = __( 'The theme contains no files.' ); $this->strings['process_failed'] = __( 'Theme installation failed.' ); $this->strings['process_success'] = __( 'Theme installed successfully.' ); /* translators: 1: Theme name, 2: Theme version. */ $this->strings['process_success_specific'] = __( 'Successfully installed the theme <strong>%1$s %2$s</strong>.' ); $this->strings['parent_theme_search'] = __( 'This theme requires a parent theme. Checking if it is installed…' ); /* translators: 1: Theme name, 2: Theme version. */ $this->strings['parent_theme_prepare_install'] = __( 'Preparing to install <strong>%1$s %2$s</strong>…' ); /* translators: 1: Theme name, 2: Theme version. */ $this->strings['parent_theme_currently_installed'] = __( 'The parent theme, <strong>%1$s %2$s</strong>, is currently installed.' ); /* translators: 1: Theme name, 2: Theme version. */ $this->strings['parent_theme_install_success'] = __( 'Successfully installed the parent theme, <strong>%1$s %2$s</strong>.' ); /* translators: %s: Theme name. */ $this->strings['parent_theme_not_found'] = sprintf( __( '<strong>The parent theme could not be found.</strong> You will need to install the parent theme, %s, before you can use this child theme.' ), '<strong>%s</strong>' ); /* translators: %s: Theme error. */ $this->strings['current_theme_has_errors'] = __( 'The active theme has the following error: "%s".' ); if ( ! empty( $this->skin->overwrite ) ) { if ( 'update-theme' === $this->skin->overwrite ) { $this->strings['installing_package'] = __( 'Updating the theme…' ); $this->strings['process_failed'] = __( 'Theme update failed.' ); $this->strings['process_success'] = __( 'Theme updated successfully.' ); } if ( 'downgrade-theme' === $this->skin->overwrite ) { $this->strings['installing_package'] = __( 'Downgrading the theme…' ); $this->strings['process_failed'] = __( 'Theme downgrade failed.' ); $this->strings['process_success'] = __( 'Theme downgraded successfully.' ); } } } /** * Checks if a child theme is being installed and its parent also needs to be installed. * * Hooked to the {@see 'upgrader_post_install'} filter by Theme_Upgrader::install(). * * @since 3.4.0 * * @param bool $install_result * @param array $hook_extra * @param array $child_result * @return bool */ public function check_parent_theme_filter( $install_result, $hook_extra, $child_result ) { // Check to see if we need to install a parent theme. $theme_info = $this->theme_info(); if ( ! $theme_info->parent() ) { return $install_result; } $this->skin->feedback( 'parent_theme_search' ); if ( ! $theme_info->parent()->errors() ) { $this->skin->feedback( 'parent_theme_currently_installed', $theme_info->parent()->display( 'Name' ), $theme_info->parent()->display( 'Version' ) ); // We already have the theme, fall through. return $install_result; } // We don't have the parent theme, let's install it. $api = themes_api( 'theme_information', array( 'slug' => $theme_info->get( 'Template' ), 'fields' => array( 'sections' => false, 'tags' => false, ), ) ); // Save on a bit of bandwidth. if ( ! $api || is_wp_error( $api ) ) { $this->skin->feedback( 'parent_theme_not_found', $theme_info->get( 'Template' ) ); // Don't show activate or preview actions after installation. add_filter( 'install_theme_complete_actions', array( $this, 'hide_activate_preview_actions' ) ); return $install_result; } // Backup required data we're going to override: $child_api = $this->skin->api; $child_success_message = $this->strings['process_success']; // Override them. $this->skin->api = $api; $this->strings['process_success_specific'] = $this->strings['parent_theme_install_success']; $this->skin->feedback( 'parent_theme_prepare_install', $api->name, $api->version ); add_filter( 'install_theme_complete_actions', '__return_false', 999 ); // Don't show any actions after installing the theme. // Install the parent theme. $parent_result = $this->run( array( 'package' => $api->download_link, 'destination' => get_theme_root(), 'clear_destination' => false, // Do not overwrite files. 'clear_working' => true, ) ); if ( is_wp_error( $parent_result ) ) { add_filter( 'install_theme_complete_actions', array( $this, 'hide_activate_preview_actions' ) ); } // Start cleaning up after the parent's installation. remove_filter( 'install_theme_complete_actions', '__return_false', 999 ); // Reset child's result and data. $this->result = $child_result; $this->skin->api = $child_api; $this->strings['process_success'] = $child_success_message; return $install_result; } /** * Don't display the activate and preview actions to the user. * * Hooked to the {@see 'install_theme_complete_actions'} filter by * Theme_Upgrader::check_parent_theme_filter() when installing * a child theme and installing the parent theme fails. * * @since 3.4.0 * * @param array $actions Preview actions. * @return array */ public function hide_activate_preview_actions( $actions ) { unset( $actions['activate'], $actions['preview'] ); return $actions; } /** * Install a theme package. * * @since 2.8.0 * @since 3.7.0 The `$args` parameter was added, making clearing the update cache optional. * * @param string $package The full local path or URI of the package. * @param array $args { * Optional. Other arguments for installing a theme package. Default empty array. * * @type bool $clear_update_cache Whether to clear the updates cache if successful. * Default true. * } * * @return bool|WP_Error True if the installation was successful, false or a WP_Error object otherwise. */ public function install( $package, $args = array() ) { $defaults = array( 'clear_update_cache' => true, 'overwrite_package' => false, // Do not overwrite files. ); $parsed_args = wp_parse_args( $args, $defaults ); $this->init(); $this->install_strings(); add_filter( 'upgrader_source_selection', array( $this, 'check_package' ) ); add_filter( 'upgrader_post_install', array( $this, 'check_parent_theme_filter' ), 10, 3 ); if ( $parsed_args['clear_update_cache'] ) { // Clear cache so wp_update_themes() knows about the new theme. add_action( 'upgrader_process_complete', 'wp_clean_themes_cache', 9, 0 ); } $this->run( array( 'package' => $package, 'destination' => get_theme_root(), 'clear_destination' => $parsed_args['overwrite_package'], 'clear_working' => true, 'hook_extra' => array( 'type' => 'theme', 'action' => 'install', ), ) ); remove_action( 'upgrader_process_complete', 'wp_clean_themes_cache', 9 ); remove_filter( 'upgrader_source_selection', array( $this, 'check_package' ) ); remove_filter( 'upgrader_post_install', array( $this, 'check_parent_theme_filter' ) ); if ( ! $this->result || is_wp_error( $this->result ) ) { return $this->result; } // Refresh the Theme Update information. wp_clean_themes_cache( $parsed_args['clear_update_cache'] ); if ( $parsed_args['overwrite_package'] ) { /** This action is documented in wp-admin/includes/class-plugin-upgrader.php */ do_action( 'upgrader_overwrote_package', $package, $this->new_theme_data, 'theme' ); } return true; } /** * Upgrades a theme. * * @since 2.8.0 * @since 3.7.0 The `$args` parameter was added, making clearing the update cache optional. * * @param string $theme The theme slug. * @param array $args { * Optional. Other arguments for upgrading a theme. Default empty array. * * @type bool $clear_update_cache Whether to clear the update cache if successful. * Default true. * } * @return bool|WP_Error True if the upgrade was successful, false or a WP_Error object otherwise. */ public function upgrade( $theme, $args = array() ) { $defaults = array( 'clear_update_cache' => true, ); $parsed_args = wp_parse_args( $args, $defaults ); $this->init(); $this->upgrade_strings(); // Is an update available? $current = get_site_transient( 'update_themes' ); if ( ! isset( $current->response[ $theme ] ) ) { $this->skin->before(); $this->skin->set_result( false ); $this->skin->error( 'up_to_date' ); $this->skin->after(); return false; } $r = $current->response[ $theme ]; add_filter( 'upgrader_pre_install', array( $this, 'current_before' ), 10, 2 ); add_filter( 'upgrader_post_install', array( $this, 'current_after' ), 10, 2 ); add_filter( 'upgrader_clear_destination', array( $this, 'delete_old_theme' ), 10, 4 ); if ( $parsed_args['clear_update_cache'] ) { // Clear cache so wp_update_themes() knows about the new theme. add_action( 'upgrader_process_complete', 'wp_clean_themes_cache', 9, 0 ); } $this->run( array( 'package' => $r['package'], 'destination' => get_theme_root( $theme ), 'clear_destination' => true, 'clear_working' => true, 'hook_extra' => array( 'theme' => $theme, 'type' => 'theme', 'action' => 'update', 'temp_backup' => array( 'slug' => $theme, 'src' => get_theme_root( $theme ), 'dir' => 'themes', ), ), ) ); remove_action( 'upgrader_process_complete', 'wp_clean_themes_cache', 9 ); remove_filter( 'upgrader_pre_install', array( $this, 'current_before' ) ); remove_filter( 'upgrader_post_install', array( $this, 'current_after' ) ); remove_filter( 'upgrader_clear_destination', array( $this, 'delete_old_theme' ) ); if ( ! $this->result || is_wp_error( $this->result ) ) { return $this->result; } wp_clean_themes_cache( $parsed_args['clear_update_cache'] ); /* * Ensure any future auto-update failures trigger a failure email by removing * the last failure notification from the list when themes update successfully. */ $past_failure_emails = get_option( 'auto_plugin_theme_update_emails', array() ); if ( isset( $past_failure_emails[ $theme ] ) ) { unset( $past_failure_emails[ $theme ] ); update_option( 'auto_plugin_theme_update_emails', $past_failure_emails ); } return true; } /** * Upgrades several themes at once. * * @since 3.0.0 * @since 3.7.0 The `$args` parameter was added, making clearing the update cache optional. * * @param string[] $themes Array of the theme slugs. * @param array $args { * Optional. Other arguments for upgrading several themes at once. Default empty array. * * @type bool $clear_update_cache Whether to clear the update cache if successful. * Default true. * } * @return array[]|false An array of results, or false if unable to connect to the filesystem. */ public function bulk_upgrade( $themes, $args = array() ) { $wp_version = wp_get_wp_version(); $defaults = array( 'clear_update_cache' => true, ); $parsed_args = wp_parse_args( $args, $defaults ); $this->init(); $this->bulk = true; $this->upgrade_strings(); $current = get_site_transient( 'update_themes' ); add_filter( 'upgrader_pre_install', array( $this, 'current_before' ), 10, 2 ); add_filter( 'upgrader_post_install', array( $this, 'current_after' ), 10, 2 ); add_filter( 'upgrader_clear_destination', array( $this, 'delete_old_theme' ), 10, 4 ); $this->skin->header(); // Connect to the filesystem first. $res = $this->fs_connect( array( WP_CONTENT_DIR ) ); if ( ! $res ) { $this->skin->footer(); return false; } $this->skin->bulk_header(); /* * Only start maintenance mode if: * - running Multisite and there are one or more themes specified, OR * - a theme with an update available is currently in use. * @todo For multisite, maintenance mode should only kick in for individual sites if at all possible. */ $maintenance = ( is_multisite() && ! empty( $themes ) ); foreach ( $themes as $theme ) { $maintenance = $maintenance || get_stylesheet() === $theme || get_template() === $theme; } if ( $maintenance ) { $this->maintenance_mode( true ); } $results = array(); $this->update_count = count( $themes ); $this->update_current = 0; foreach ( $themes as $theme ) { ++$this->update_current; $this->skin->theme_info = $this->theme_info( $theme ); if ( ! isset( $current->response[ $theme ] ) ) { $this->skin->set_result( true ); $this->skin->before(); $this->skin->feedback( 'up_to_date' ); $this->skin->after(); $results[ $theme ] = true; continue; } // Get the URL to the zip file. $r = $current->response[ $theme ]; if ( isset( $r['requires'] ) && ! is_wp_version_compatible( $r['requires'] ) ) { $result = new WP_Error( 'incompatible_wp_required_version', sprintf( /* translators: 1: Current WordPress version, 2: WordPress version required by the new theme version. */ __( 'Your WordPress version is %1$s, however the new theme version requires %2$s.' ), $wp_version, $r['requires'] ) ); $this->skin->before( $result ); $this->skin->error( $result ); $this->skin->after(); } elseif ( isset( $r['requires_php'] ) && ! is_php_version_compatible( $r['requires_php'] ) ) { $result = new WP_Error( 'incompatible_php_required_version', sprintf( /* translators: 1: Current PHP version, 2: PHP version required by the new theme version. */ __( 'The PHP version on your server is %1$s, however the new theme version requires %2$s.' ), PHP_VERSION, $r['requires_php'] ) ); $this->skin->before( $result ); $this->skin->error( $result ); $this->skin->after(); } else { add_filter( 'upgrader_source_selection', array( $this, 'check_package' ) ); $result = $this->run( array( 'package' => $r['package'], 'destination' => get_theme_root( $theme ), 'clear_destination' => true, 'clear_working' => true, 'is_multi' => true, 'hook_extra' => array( 'theme' => $theme, 'temp_backup' => array( 'slug' => $theme, 'src' => get_theme_root( $theme ), 'dir' => 'themes', ), ), ) ); remove_filter( 'upgrader_source_selection', array( $this, 'check_package' ) ); } $results[ $theme ] = $result; // Prevent credentials auth screen from displaying multiple times. if ( false === $result ) { break; } } // End foreach $themes. $this->maintenance_mode( false ); // Refresh the Theme Update information. wp_clean_themes_cache( $parsed_args['clear_update_cache'] ); /** This action is documented in wp-admin/includes/class-wp-upgrader.php */ do_action( 'upgrader_process_complete', $this, array( 'action' => 'update', 'type' => 'theme', 'bulk' => true, 'themes' => $themes, ) ); $this->skin->bulk_footer(); $this->skin->footer(); // Cleanup our hooks, in case something else does an upgrade on this connection. remove_filter( 'upgrader_pre_install', array( $this, 'current_before' ) ); remove_filter( 'upgrader_post_install', array( $this, 'current_after' ) ); remove_filter( 'upgrader_clear_destination', array( $this, 'delete_old_theme' ) ); /* * Ensure any future auto-update failures trigger a failure email by removing * the last failure notification from the list when themes update successfully. */ $past_failure_emails = get_option( 'auto_plugin_theme_update_emails', array() ); foreach ( $results as $theme => $result ) { // Maintain last failure notification when themes failed to update manually. if ( ! $result || is_wp_error( $result ) || ! isset( $past_failure_emails[ $theme ] ) ) { continue; } unset( $past_failure_emails[ $theme ] ); } update_option( 'auto_plugin_theme_update_emails', $past_failure_emails ); return $results; } /** * Checks that the package source contains a valid theme. * * Hooked to the {@see 'upgrader_source_selection'} filter by Theme_Upgrader::install(). * * @since 3.3.0 * * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass. * * @param string $source The path to the downloaded package source. * @return string|WP_Error The source as passed, or a WP_Error object on failure. */ public function check_package( $source ) { global $wp_filesystem; $wp_version = wp_get_wp_version(); $this->new_theme_data = array(); if ( is_wp_error( $source ) ) { return $source; } // Check that the folder contains a valid theme. $working_directory = str_replace( $wp_filesystem->wp_content_dir(), trailingslashit( WP_CONTENT_DIR ), $source ); if ( ! is_dir( $working_directory ) ) { // Confidence check, if the above fails, let's not prevent installation. return $source; } // A proper archive should have a style.css file in the single subdirectory. if ( ! file_exists( $working_directory . 'style.css' ) ) { return new WP_Error( 'incompatible_archive_theme_no_style', $this->strings['incompatible_archive'], sprintf( /* translators: %s: style.css */ __( 'The theme is missing the %s stylesheet.' ), '<code>style.css</code>' ) ); } // All these headers are needed on Theme_Installer_Skin::do_overwrite(). $info = get_file_data( $working_directory . 'style.css', array( 'Name' => 'Theme Name', 'Version' => 'Version', 'Author' => 'Author', 'Template' => 'Template', 'RequiresWP' => 'Requires at least', 'RequiresPHP' => 'Requires PHP', ) ); if ( empty( $info['Name'] ) ) { return new WP_Error( 'incompatible_archive_theme_no_name', $this->strings['incompatible_archive'], sprintf( /* translators: %s: style.css */ __( 'The %s stylesheet does not contain a valid theme header.' ), '<code>style.css</code>' ) ); } /* * Parent themes must contain an index file: * - classic themes require /index.php * - block themes require /templates/index.html or block-templates/index.html (deprecated 5.9.0). */ if ( empty( $info['Template'] ) && ! file_exists( $working_directory . 'index.php' ) && ! file_exists( $working_directory . 'templates/index.html' ) && ! file_exists( $working_directory . 'block-templates/index.html' ) ) { return new WP_Error( 'incompatible_archive_theme_no_index', $this->strings['incompatible_archive'], sprintf( /* translators: 1: templates/index.html, 2: index.php, 3: Documentation URL, 4: Template, 5: style.css */ __( 'Template is missing. Standalone themes need to have a %1$s or %2$s template file. <a href="%3$s">Child themes</a> need to have a %4$s header in the %5$s stylesheet.' ), '<code>templates/index.html</code>', '<code>index.php</code>', __( 'https://developer.wordpress.org/themes/advanced-topics/child-themes/' ), '<code>Template</code>', '<code>style.css</code>' ) ); } $requires_php = isset( $info['RequiresPHP'] ) ? $info['RequiresPHP'] : null; $requires_wp = isset( $info['RequiresWP'] ) ? $info['RequiresWP'] : null; if ( ! is_php_version_compatible( $requires_php ) ) { $error = sprintf( /* translators: 1: Current PHP version, 2: Version required by the uploaded theme. */ __( 'The PHP version on your server is %1$s, however the uploaded theme requires %2$s.' ), PHP_VERSION, $requires_php ); return new WP_Error( 'incompatible_php_required_version', $this->strings['incompatible_archive'], $error ); } if ( ! is_wp_version_compatible( $requires_wp ) ) { $error = sprintf( /* translators: 1: Current WordPress version, 2: Version required by the uploaded theme. */ __( 'Your WordPress version is %1$s, however the uploaded theme requires %2$s.' ), $wp_version, $requires_wp ); return new WP_Error( 'incompatible_wp_required_version', $this->strings['incompatible_archive'], $error ); } $this->new_theme_data = $info; return $source; } /** * Turns on maintenance mode before attempting to upgrade the active theme. * * Hooked to the {@see 'upgrader_pre_install'} filter by Theme_Upgrader::upgrade() and * Theme_Upgrader::bulk_upgrade(). * * @since 2.8.0 * * @param bool|WP_Error $response The installation response before the installation has started. * @param array $theme Theme arguments. * @return bool|WP_Error The original `$response` parameter or WP_Error. */ public function current_before( $response, $theme ) { if ( is_wp_error( $response ) ) { return $response; } $theme = isset( $theme['theme'] ) ? $theme['theme'] : ''; // Only run if active theme. if ( get_stylesheet() !== $theme ) { return $response; } // Change to maintenance mode. Bulk edit handles this separately. if ( ! $this->bulk ) { $this->maintenance_mode( true ); } return $response; } /** * Turns off maintenance mode after upgrading the active theme. * * Hooked to the {@see 'upgrader_post_install'} filter by Theme_Upgrader::upgrade() * and Theme_Upgrader::bulk_upgrade(). * * @since 2.8.0 * * @param bool|WP_Error $response The installation response after the installation has finished. * @param array $theme Theme arguments. * @return bool|WP_Error The original `$response` parameter or WP_Error. */ public function current_after( $response, $theme ) { if ( is_wp_error( $response ) ) { return $response; } $theme = isset( $theme['theme'] ) ? $theme['theme'] : ''; // Only run if active theme. if ( get_stylesheet() !== $theme ) { return $response; } // Ensure stylesheet name hasn't changed after the upgrade: if ( get_stylesheet() === $theme && $theme !== $this->result['destination_name'] ) { wp_clean_themes_cache(); $stylesheet = $this->result['destination_name']; switch_theme( $stylesheet ); } // Time to remove maintenance mode. Bulk edit handles this separately. if ( ! $this->bulk ) { $this->maintenance_mode( false ); } return $response; } /** * Deletes the old theme during an upgrade. * * Hooked to the {@see 'upgrader_clear_destination'} filter by Theme_Upgrader::upgrade() * and Theme_Upgrader::bulk_upgrade(). * * @since 2.8.0 * * @global WP_Filesystem_Base $wp_filesystem Subclass * * @param bool $removed * @param string $local_destination * @param string $remote_destination * @param array $theme * @return bool */ public function delete_old_theme( $removed, $local_destination, $remote_destination, $theme ) { global $wp_filesystem; if ( is_wp_error( $removed ) ) { return $removed; // Pass errors through. } if ( ! isset( $theme['theme'] ) ) { return $removed; } $theme = $theme['theme']; $themes_dir = trailingslashit( $wp_filesystem->wp_themes_dir( $theme ) ); if ( $wp_filesystem->exists( $themes_dir . $theme ) ) { if ( ! $wp_filesystem->delete( $themes_dir . $theme, true ) ) { return false; } } return true; } /** * Gets the WP_Theme object for a theme. * * @since 2.8.0 * @since 3.0.0 The `$theme` argument was added. * * @param string $theme The directory name of the theme. This is optional, and if not supplied, * the directory name from the last result will be used. * @return WP_Theme|false The theme's info object, or false `$theme` is not supplied * and the last result isn't set. */ public function theme_info( $theme = null ) { if ( empty( $theme ) ) { if ( ! empty( $this->result['destination_name'] ) ) { $theme = $this->result['destination_name']; } else { return false; } } $theme = wp_get_theme( $theme ); $theme->cache_delete(); return $theme; } } ms-admin-filters.php 0000644 00000002420 14735706075 0010444 0 ustar 00 <?php /** * Multisite Administration hooks * * @package WordPress * @subpackage Administration * @since 4.3.0 */ // Media hooks. add_filter( 'wp_handle_upload_prefilter', 'check_upload_size' ); // User hooks. add_action( 'user_admin_notices', 'new_user_email_admin_notice' ); add_action( 'network_admin_notices', 'new_user_email_admin_notice' ); add_action( 'admin_page_access_denied', '_access_denied_splash', 99 ); // Site hooks. add_action( 'wpmueditblogaction', 'upload_space_setting' ); // Network hooks. add_action( 'update_site_option_admin_email', 'wp_network_admin_email_change_notification', 10, 4 ); // Post hooks. add_filter( 'wp_insert_post_data', 'avoid_blog_page_permalink_collision', 10, 2 ); // Tools hooks. add_filter( 'import_allow_create_users', 'check_import_new_users' ); // Notices hooks. add_action( 'admin_notices', 'site_admin_notice' ); add_action( 'network_admin_notices', 'site_admin_notice' ); // Update hooks. add_action( 'network_admin_notices', 'update_nag', 3 ); add_action( 'network_admin_notices', 'maintenance_nag', 10 ); // Network Admin hooks. add_action( 'add_site_option_new_admin_email', 'update_network_option_new_admin_email', 10, 2 ); add_action( 'update_site_option_new_admin_email', 'update_network_option_new_admin_email', 10, 2 ); file.php 0000644 00000276277 14735706075 0006237 0 ustar 00 <?php /** * Filesystem API: Top-level functionality * * Functions for reading, writing, modifying, and deleting files on the file system. * Includes functionality for theme-specific files as well as operations for uploading, * archiving, and rendering output when necessary. * * @package WordPress * @subpackage Filesystem * @since 2.3.0 */ /** The descriptions for theme files. */ $wp_file_descriptions = array( 'functions.php' => __( 'Theme Functions' ), 'header.php' => __( 'Theme Header' ), 'footer.php' => __( 'Theme Footer' ), 'sidebar.php' => __( 'Sidebar' ), 'comments.php' => __( 'Comments' ), 'searchform.php' => __( 'Search Form' ), '404.php' => __( '404 Template' ), 'link.php' => __( 'Links Template' ), 'theme.json' => __( 'Theme Styles & Block Settings' ), // Archives. 'index.php' => __( 'Main Index Template' ), 'archive.php' => __( 'Archives' ), 'author.php' => __( 'Author Template' ), 'taxonomy.php' => __( 'Taxonomy Template' ), 'category.php' => __( 'Category Template' ), 'tag.php' => __( 'Tag Template' ), 'home.php' => __( 'Posts Page' ), 'search.php' => __( 'Search Results' ), 'date.php' => __( 'Date Template' ), // Content. 'singular.php' => __( 'Singular Template' ), 'single.php' => __( 'Single Post' ), 'page.php' => __( 'Single Page' ), 'front-page.php' => __( 'Homepage' ), 'privacy-policy.php' => __( 'Privacy Policy Page' ), // Attachments. 'attachment.php' => __( 'Attachment Template' ), 'image.php' => __( 'Image Attachment Template' ), 'video.php' => __( 'Video Attachment Template' ), 'audio.php' => __( 'Audio Attachment Template' ), 'application.php' => __( 'Application Attachment Template' ), // Embeds. 'embed.php' => __( 'Embed Template' ), 'embed-404.php' => __( 'Embed 404 Template' ), 'embed-content.php' => __( 'Embed Content Template' ), 'header-embed.php' => __( 'Embed Header Template' ), 'footer-embed.php' => __( 'Embed Footer Template' ), // Stylesheets. 'style.css' => __( 'Stylesheet' ), 'editor-style.css' => __( 'Visual Editor Stylesheet' ), 'editor-style-rtl.css' => __( 'Visual Editor RTL Stylesheet' ), 'rtl.css' => __( 'RTL Stylesheet' ), // Other. 'my-hacks.php' => __( 'my-hacks.php (legacy hacks support)' ), '.htaccess' => __( '.htaccess (for rewrite rules )' ), // Deprecated files. 'wp-layout.css' => __( 'Stylesheet' ), 'wp-comments.php' => __( 'Comments Template' ), 'wp-comments-popup.php' => __( 'Popup Comments Template' ), 'comments-popup.php' => __( 'Popup Comments' ), ); /** * Gets the description for standard WordPress theme files. * * @since 1.5.0 * * @global array $wp_file_descriptions Theme file descriptions. * @global array $allowed_files List of allowed files. * * @param string $file Filesystem path or filename. * @return string Description of file from $wp_file_descriptions or basename of $file if description doesn't exist. * Appends 'Page Template' to basename of $file if the file is a page template. */ function get_file_description( $file ) { global $wp_file_descriptions, $allowed_files; $dirname = pathinfo( $file, PATHINFO_DIRNAME ); $file_path = $allowed_files[ $file ]; if ( isset( $wp_file_descriptions[ basename( $file ) ] ) && '.' === $dirname ) { return $wp_file_descriptions[ basename( $file ) ]; } elseif ( file_exists( $file_path ) && is_file( $file_path ) ) { $template_data = implode( '', file( $file_path ) ); if ( preg_match( '|Template Name:(.*)$|mi', $template_data, $name ) ) { /* translators: %s: Template name. */ return sprintf( __( '%s Page Template' ), _cleanup_header_comment( $name[1] ) ); } } return trim( basename( $file ) ); } /** * Gets the absolute filesystem path to the root of the WordPress installation. * * @since 1.5.0 * * @return string Full filesystem path to the root of the WordPress installation. */ function get_home_path() { $home = set_url_scheme( get_option( 'home' ), 'http' ); $siteurl = set_url_scheme( get_option( 'siteurl' ), 'http' ); if ( ! empty( $home ) && 0 !== strcasecmp( $home, $siteurl ) ) { $wp_path_rel_to_home = str_ireplace( $home, '', $siteurl ); /* $siteurl - $home */ $pos = strripos( str_replace( '\\', '/', $_SERVER['SCRIPT_FILENAME'] ), trailingslashit( $wp_path_rel_to_home ) ); $home_path = substr( $_SERVER['SCRIPT_FILENAME'], 0, $pos ); $home_path = trailingslashit( $home_path ); } else { $home_path = ABSPATH; } return str_replace( '\\', '/', $home_path ); } /** * Returns a listing of all files in the specified folder and all subdirectories up to 100 levels deep. * * The depth of the recursiveness can be controlled by the $levels param. * * @since 2.6.0 * @since 4.9.0 Added the `$exclusions` parameter. * @since 6.3.0 Added the `$include_hidden` parameter. * * @param string $folder Optional. Full path to folder. Default empty. * @param int $levels Optional. Levels of folders to follow, Default 100 (PHP Loop limit). * @param string[] $exclusions Optional. List of folders and files to skip. * @param bool $include_hidden Optional. Whether to include details of hidden ("." prefixed) files. * Default false. * @return string[]|false Array of files on success, false on failure. */ function list_files( $folder = '', $levels = 100, $exclusions = array(), $include_hidden = false ) { if ( empty( $folder ) ) { return false; } $folder = trailingslashit( $folder ); if ( ! $levels ) { return false; } $files = array(); $dir = @opendir( $folder ); if ( $dir ) { while ( ( $file = readdir( $dir ) ) !== false ) { // Skip current and parent folder links. if ( in_array( $file, array( '.', '..' ), true ) ) { continue; } // Skip hidden and excluded files. if ( ( ! $include_hidden && '.' === $file[0] ) || in_array( $file, $exclusions, true ) ) { continue; } if ( is_dir( $folder . $file ) ) { $files2 = list_files( $folder . $file, $levels - 1, array(), $include_hidden ); if ( $files2 ) { $files = array_merge( $files, $files2 ); } else { $files[] = $folder . $file . '/'; } } else { $files[] = $folder . $file; } } closedir( $dir ); } return $files; } /** * Gets the list of file extensions that are editable in plugins. * * @since 4.9.0 * * @param string $plugin Path to the plugin file relative to the plugins directory. * @return string[] Array of editable file extensions. */ function wp_get_plugin_file_editable_extensions( $plugin ) { $default_types = array( 'bash', 'conf', 'css', 'diff', 'htm', 'html', 'http', 'inc', 'include', 'js', 'json', 'jsx', 'less', 'md', 'patch', 'php', 'php3', 'php4', 'php5', 'php7', 'phps', 'phtml', 'sass', 'scss', 'sh', 'sql', 'svg', 'text', 'txt', 'xml', 'yaml', 'yml', ); /** * Filters the list of file types allowed for editing in the plugin file editor. * * @since 2.8.0 * @since 4.9.0 Added the `$plugin` parameter. * * @param string[] $default_types An array of editable plugin file extensions. * @param string $plugin Path to the plugin file relative to the plugins directory. */ $file_types = (array) apply_filters( 'editable_extensions', $default_types, $plugin ); return $file_types; } /** * Gets the list of file extensions that are editable for a given theme. * * @since 4.9.0 * * @param WP_Theme $theme Theme object. * @return string[] Array of editable file extensions. */ function wp_get_theme_file_editable_extensions( $theme ) { $default_types = array( 'bash', 'conf', 'css', 'diff', 'htm', 'html', 'http', 'inc', 'include', 'js', 'json', 'jsx', 'less', 'md', 'patch', 'php', 'php3', 'php4', 'php5', 'php7', 'phps', 'phtml', 'sass', 'scss', 'sh', 'sql', 'svg', 'text', 'txt', 'xml', 'yaml', 'yml', ); /** * Filters the list of file types allowed for editing in the theme file editor. * * @since 4.4.0 * * @param string[] $default_types An array of editable theme file extensions. * @param WP_Theme $theme The active theme object. */ $file_types = apply_filters( 'wp_theme_editor_filetypes', $default_types, $theme ); // Ensure that default types are still there. return array_unique( array_merge( $file_types, $default_types ) ); } /** * Prints file editor templates (for plugins and themes). * * @since 4.9.0 */ function wp_print_file_editor_templates() { ?> <script type="text/html" id="tmpl-wp-file-editor-notice"> <div class="notice inline notice-{{ data.type || 'info' }} {{ data.alt ? 'notice-alt' : '' }} {{ data.dismissible ? 'is-dismissible' : '' }} {{ data.classes || '' }}"> <# if ( 'php_error' === data.code ) { #> <p> <?php printf( /* translators: 1: Line number, 2: File path. */ __( 'Your PHP code changes were not applied due to an error on line %1$s of file %2$s. Please fix and try saving again.' ), '{{ data.line }}', '{{ data.file }}' ); ?> </p> <pre>{{ data.message }}</pre> <# } else if ( 'file_not_writable' === data.code ) { #> <p> <?php printf( /* translators: %s: Documentation URL. */ __( 'You need to make this file writable before you can save your changes. See <a href="%s">Changing File Permissions</a> for more information.' ), __( 'https://developer.wordpress.org/advanced-administration/server/file-permissions/' ) ); ?> </p> <# } else { #> <p>{{ data.message || data.code }}</p> <# if ( 'lint_errors' === data.code ) { #> <p> <# var elementId = 'el-' + String( Math.random() ); #> <input id="{{ elementId }}" type="checkbox"> <label for="{{ elementId }}"><?php _e( 'Update anyway, even though it might break your site?' ); ?></label> </p> <# } #> <# } #> <# if ( data.dismissible ) { #> <button type="button" class="notice-dismiss"><span class="screen-reader-text"> <?php /* translators: Hidden accessibility text. */ _e( 'Dismiss' ); ?> </span></button> <# } #> </div> </script> <?php } /** * Attempts to edit a file for a theme or plugin. * * When editing a PHP file, loopback requests will be made to the admin and the homepage * to attempt to see if there is a fatal error introduced. If so, the PHP change will be * reverted. * * @since 4.9.0 * * @param string[] $args { * Args. Note that all of the arg values are already unslashed. They are, however, * coming straight from `$_POST` and are not validated or sanitized in any way. * * @type string $file Relative path to file. * @type string $plugin Path to the plugin file relative to the plugins directory. * @type string $theme Theme being edited. * @type string $newcontent New content for the file. * @type string $nonce Nonce. * } * @return true|WP_Error True on success or `WP_Error` on failure. */ function wp_edit_theme_plugin_file( $args ) { if ( empty( $args['file'] ) ) { return new WP_Error( 'missing_file' ); } if ( 0 !== validate_file( $args['file'] ) ) { return new WP_Error( 'bad_file' ); } if ( ! isset( $args['newcontent'] ) ) { return new WP_Error( 'missing_content' ); } if ( ! isset( $args['nonce'] ) ) { return new WP_Error( 'missing_nonce' ); } $file = $args['file']; $content = $args['newcontent']; $plugin = null; $theme = null; $real_file = null; if ( ! empty( $args['plugin'] ) ) { $plugin = $args['plugin']; if ( ! current_user_can( 'edit_plugins' ) ) { return new WP_Error( 'unauthorized', __( 'Sorry, you are not allowed to edit plugins for this site.' ) ); } if ( ! wp_verify_nonce( $args['nonce'], 'edit-plugin_' . $file ) ) { return new WP_Error( 'nonce_failure' ); } if ( ! array_key_exists( $plugin, get_plugins() ) ) { return new WP_Error( 'invalid_plugin' ); } if ( 0 !== validate_file( $file, get_plugin_files( $plugin ) ) ) { return new WP_Error( 'bad_plugin_file_path', __( 'Sorry, that file cannot be edited.' ) ); } $editable_extensions = wp_get_plugin_file_editable_extensions( $plugin ); $real_file = WP_PLUGIN_DIR . '/' . $file; $is_active = in_array( $plugin, (array) get_option( 'active_plugins', array() ), true ); } elseif ( ! empty( $args['theme'] ) ) { $stylesheet = $args['theme']; if ( 0 !== validate_file( $stylesheet ) ) { return new WP_Error( 'bad_theme_path' ); } if ( ! current_user_can( 'edit_themes' ) ) { return new WP_Error( 'unauthorized', __( 'Sorry, you are not allowed to edit templates for this site.' ) ); } $theme = wp_get_theme( $stylesheet ); if ( ! $theme->exists() ) { return new WP_Error( 'non_existent_theme', __( 'The requested theme does not exist.' ) ); } if ( ! wp_verify_nonce( $args['nonce'], 'edit-theme_' . $stylesheet . '_' . $file ) ) { return new WP_Error( 'nonce_failure' ); } if ( $theme->errors() && 'theme_no_stylesheet' === $theme->errors()->get_error_code() ) { return new WP_Error( 'theme_no_stylesheet', __( 'The requested theme does not exist.' ) . ' ' . $theme->errors()->get_error_message() ); } $editable_extensions = wp_get_theme_file_editable_extensions( $theme ); $allowed_files = array(); foreach ( $editable_extensions as $type ) { switch ( $type ) { case 'php': $allowed_files = array_merge( $allowed_files, $theme->get_files( 'php', -1 ) ); break; case 'css': $style_files = $theme->get_files( 'css', -1 ); $allowed_files['style.css'] = $style_files['style.css']; $allowed_files = array_merge( $allowed_files, $style_files ); break; default: $allowed_files = array_merge( $allowed_files, $theme->get_files( $type, -1 ) ); break; } } // Compare based on relative paths. if ( 0 !== validate_file( $file, array_keys( $allowed_files ) ) ) { return new WP_Error( 'disallowed_theme_file', __( 'Sorry, that file cannot be edited.' ) ); } $real_file = $theme->get_stylesheet_directory() . '/' . $file; $is_active = ( get_stylesheet() === $stylesheet || get_template() === $stylesheet ); } else { return new WP_Error( 'missing_theme_or_plugin' ); } // Ensure file is real. if ( ! is_file( $real_file ) ) { return new WP_Error( 'file_does_not_exist', __( 'File does not exist! Please double check the name and try again.' ) ); } // Ensure file extension is allowed. $extension = null; if ( preg_match( '/\.([^.]+)$/', $real_file, $matches ) ) { $extension = strtolower( $matches[1] ); if ( ! in_array( $extension, $editable_extensions, true ) ) { return new WP_Error( 'illegal_file_type', __( 'Files of this type are not editable.' ) ); } } $previous_content = file_get_contents( $real_file ); if ( ! is_writable( $real_file ) ) { return new WP_Error( 'file_not_writable' ); } $f = fopen( $real_file, 'w+' ); if ( false === $f ) { return new WP_Error( 'file_not_writable' ); } $written = fwrite( $f, $content ); fclose( $f ); if ( false === $written ) { return new WP_Error( 'unable_to_write', __( 'Unable to write to file.' ) ); } wp_opcache_invalidate( $real_file, true ); if ( $is_active && 'php' === $extension ) { $scrape_key = md5( rand() ); $transient = 'scrape_key_' . $scrape_key; $scrape_nonce = (string) rand(); // It shouldn't take more than 60 seconds to make the two loopback requests. set_transient( $transient, $scrape_nonce, 60 ); $cookies = wp_unslash( $_COOKIE ); $scrape_params = array( 'wp_scrape_key' => $scrape_key, 'wp_scrape_nonce' => $scrape_nonce, ); $headers = array( 'Cache-Control' => 'no-cache', ); /** This filter is documented in wp-includes/class-wp-http-streams.php */ $sslverify = apply_filters( 'https_local_ssl_verify', false ); // Include Basic auth in loopback requests. if ( isset( $_SERVER['PHP_AUTH_USER'] ) && isset( $_SERVER['PHP_AUTH_PW'] ) ) { $headers['Authorization'] = 'Basic ' . base64_encode( wp_unslash( $_SERVER['PHP_AUTH_USER'] ) . ':' . wp_unslash( $_SERVER['PHP_AUTH_PW'] ) ); } // Make sure PHP process doesn't die before loopback requests complete. if ( function_exists( 'set_time_limit' ) ) { set_time_limit( 5 * MINUTE_IN_SECONDS ); } // Time to wait for loopback requests to finish. $timeout = 100; // 100 seconds. $needle_start = "###### wp_scraping_result_start:$scrape_key ######"; $needle_end = "###### wp_scraping_result_end:$scrape_key ######"; // Attempt loopback request to editor to see if user just whitescreened themselves. if ( $plugin ) { $url = add_query_arg( compact( 'plugin', 'file' ), admin_url( 'plugin-editor.php' ) ); } elseif ( isset( $stylesheet ) ) { $url = add_query_arg( array( 'theme' => $stylesheet, 'file' => $file, ), admin_url( 'theme-editor.php' ) ); } else { $url = admin_url(); } if ( function_exists( 'session_status' ) && PHP_SESSION_ACTIVE === session_status() ) { /* * Close any active session to prevent HTTP requests from timing out * when attempting to connect back to the site. */ session_write_close(); } $url = add_query_arg( $scrape_params, $url ); $r = wp_remote_get( $url, compact( 'cookies', 'headers', 'timeout', 'sslverify' ) ); $body = wp_remote_retrieve_body( $r ); $scrape_result_position = strpos( $body, $needle_start ); $loopback_request_failure = array( 'code' => 'loopback_request_failed', 'message' => __( 'Unable to communicate back with site to check for fatal errors, so the PHP change was reverted. You will need to upload your PHP file change by some other means, such as by using SFTP.' ), ); $json_parse_failure = array( 'code' => 'json_parse_error', ); $result = null; if ( false === $scrape_result_position ) { $result = $loopback_request_failure; } else { $error_output = substr( $body, $scrape_result_position + strlen( $needle_start ) ); $error_output = substr( $error_output, 0, strpos( $error_output, $needle_end ) ); $result = json_decode( trim( $error_output ), true ); if ( empty( $result ) ) { $result = $json_parse_failure; } } // Try making request to homepage as well to see if visitors have been whitescreened. if ( true === $result ) { $url = home_url( '/' ); $url = add_query_arg( $scrape_params, $url ); $r = wp_remote_get( $url, compact( 'cookies', 'headers', 'timeout', 'sslverify' ) ); $body = wp_remote_retrieve_body( $r ); $scrape_result_position = strpos( $body, $needle_start ); if ( false === $scrape_result_position ) { $result = $loopback_request_failure; } else { $error_output = substr( $body, $scrape_result_position + strlen( $needle_start ) ); $error_output = substr( $error_output, 0, strpos( $error_output, $needle_end ) ); $result = json_decode( trim( $error_output ), true ); if ( empty( $result ) ) { $result = $json_parse_failure; } } } delete_transient( $transient ); if ( true !== $result ) { // Roll-back file change. file_put_contents( $real_file, $previous_content ); wp_opcache_invalidate( $real_file, true ); if ( ! isset( $result['message'] ) ) { $message = __( 'Something went wrong.' ); } else { $message = $result['message']; unset( $result['message'] ); } return new WP_Error( 'php_error', $message, $result ); } } if ( $theme instanceof WP_Theme ) { $theme->cache_delete(); } return true; } /** * Returns a filename of a temporary unique file. * * Please note that the calling function must delete or move the file. * * The filename is based off the passed parameter or defaults to the current unix timestamp, * while the directory can either be passed as well, or by leaving it blank, default to a writable * temporary directory. * * @since 2.6.0 * * @param string $filename Optional. Filename to base the Unique file off. Default empty. * @param string $dir Optional. Directory to store the file in. Default empty. * @return string A writable filename. */ function wp_tempnam( $filename = '', $dir = '' ) { if ( empty( $dir ) ) { $dir = get_temp_dir(); } if ( empty( $filename ) || in_array( $filename, array( '.', '/', '\\' ), true ) ) { $filename = uniqid(); } // Use the basename of the given file without the extension as the name for the temporary directory. $temp_filename = basename( $filename ); $temp_filename = preg_replace( '|\.[^.]*$|', '', $temp_filename ); // If the folder is falsey, use its parent directory name instead. if ( ! $temp_filename ) { return wp_tempnam( dirname( $filename ), $dir ); } // Suffix some random data to avoid filename conflicts. $temp_filename .= '-' . wp_generate_password( 6, false ); $temp_filename .= '.tmp'; $temp_filename = wp_unique_filename( $dir, $temp_filename ); /* * Filesystems typically have a limit of 255 characters for a filename. * * If the generated unique filename exceeds this, truncate the initial * filename and try again. * * As it's possible that the truncated filename may exist, producing a * suffix of "-1" or "-10" which could exceed the limit again, truncate * it to 252 instead. */ $characters_over_limit = strlen( $temp_filename ) - 252; if ( $characters_over_limit > 0 ) { $filename = substr( $filename, 0, -$characters_over_limit ); return wp_tempnam( $filename, $dir ); } $temp_filename = $dir . $temp_filename; $fp = @fopen( $temp_filename, 'x' ); if ( ! $fp && is_writable( $dir ) && file_exists( $temp_filename ) ) { return wp_tempnam( $filename, $dir ); } if ( $fp ) { fclose( $fp ); } return $temp_filename; } /** * Makes sure that the file that was requested to be edited is allowed to be edited. * * Function will die if you are not allowed to edit the file. * * @since 1.5.0 * * @param string $file File the user is attempting to edit. * @param string[] $allowed_files Optional. Array of allowed files to edit. * `$file` must match an entry exactly. * @return string|void Returns the file name on success, dies on failure. */ function validate_file_to_edit( $file, $allowed_files = array() ) { $code = validate_file( $file, $allowed_files ); if ( ! $code ) { return $file; } switch ( $code ) { case 1: wp_die( __( 'Sorry, that file cannot be edited.' ) ); // case 2 : // wp_die( __('Sorry, cannot call files with their real path.' )); case 3: wp_die( __( 'Sorry, that file cannot be edited.' ) ); } } /** * Handles PHP uploads in WordPress. * * Sanitizes file names, checks extensions for mime type, and moves the file * to the appropriate directory within the uploads directory. * * @access private * @since 4.0.0 * * @see wp_handle_upload_error * * @param array $file { * Reference to a single element from `$_FILES`. Call the function once for each uploaded file. * * @type string $name The original name of the file on the client machine. * @type string $type The mime type of the file, if the browser provided this information. * @type string $tmp_name The temporary filename of the file in which the uploaded file was stored on the server. * @type int $size The size, in bytes, of the uploaded file. * @type int $error The error code associated with this file upload. * } * @param array|false $overrides { * An array of override parameters for this file, or boolean false if none are provided. * * @type callable $upload_error_handler Function to call when there is an error during the upload process. * See {@see wp_handle_upload_error()}. * @type callable $unique_filename_callback Function to call when determining a unique file name for the file. * See {@see wp_unique_filename()}. * @type string[] $upload_error_strings The strings that describe the error indicated in * `$_FILES[{form field}]['error']`. * @type bool $test_form Whether to test that the `$_POST['action']` parameter is as expected. * @type bool $test_size Whether to test that the file size is greater than zero bytes. * @type bool $test_type Whether to test that the mime type of the file is as expected. * @type string[] $mimes Array of allowed mime types keyed by their file extension regex. * } * @param string $time Time formatted in 'yyyy/mm'. * @param string $action Expected value for `$_POST['action']`. * @return array { * On success, returns an associative array of file attributes. * On failure, returns `$overrides['upload_error_handler']( &$file, $message )` * or `array( 'error' => $message )`. * * @type string $file Filename of the newly-uploaded file. * @type string $url URL of the newly-uploaded file. * @type string $type Mime type of the newly-uploaded file. * } */ function _wp_handle_upload( &$file, $overrides, $time, $action ) { // The default error handler. if ( ! function_exists( 'wp_handle_upload_error' ) ) { function wp_handle_upload_error( &$file, $message ) { return array( 'error' => $message ); } } /** * Filters the data for a file before it is uploaded to WordPress. * * The dynamic portion of the hook name, `$action`, refers to the post action. * * Possible hook names include: * * - `wp_handle_sideload_prefilter` * - `wp_handle_upload_prefilter` * * @since 2.9.0 as 'wp_handle_upload_prefilter'. * @since 4.0.0 Converted to a dynamic hook with `$action`. * * @param array $file { * Reference to a single element from `$_FILES`. * * @type string $name The original name of the file on the client machine. * @type string $type The mime type of the file, if the browser provided this information. * @type string $tmp_name The temporary filename of the file in which the uploaded file was stored on the server. * @type int $size The size, in bytes, of the uploaded file. * @type int $error The error code associated with this file upload. * } */ $file = apply_filters( "{$action}_prefilter", $file ); /** * Filters the override parameters for a file before it is uploaded to WordPress. * * The dynamic portion of the hook name, `$action`, refers to the post action. * * Possible hook names include: * * - `wp_handle_sideload_overrides` * - `wp_handle_upload_overrides` * * @since 5.7.0 * * @param array|false $overrides An array of override parameters for this file. Boolean false if none are * provided. See {@see _wp_handle_upload()}. * @param array $file { * Reference to a single element from `$_FILES`. * * @type string $name The original name of the file on the client machine. * @type string $type The mime type of the file, if the browser provided this information. * @type string $tmp_name The temporary filename of the file in which the uploaded file was stored on the server. * @type int $size The size, in bytes, of the uploaded file. * @type int $error The error code associated with this file upload. * } */ $overrides = apply_filters( "{$action}_overrides", $overrides, $file ); // You may define your own function and pass the name in $overrides['upload_error_handler']. $upload_error_handler = 'wp_handle_upload_error'; if ( isset( $overrides['upload_error_handler'] ) ) { $upload_error_handler = $overrides['upload_error_handler']; } // You may have had one or more 'wp_handle_upload_prefilter' functions error out the file. Handle that gracefully. if ( isset( $file['error'] ) && ! is_numeric( $file['error'] ) && $file['error'] ) { return call_user_func_array( $upload_error_handler, array( &$file, $file['error'] ) ); } // Install user overrides. Did we mention that this voids your warranty? // You may define your own function and pass the name in $overrides['unique_filename_callback']. $unique_filename_callback = null; if ( isset( $overrides['unique_filename_callback'] ) ) { $unique_filename_callback = $overrides['unique_filename_callback']; } /* * This may not have originally been intended to be overridable, * but historically has been. */ if ( isset( $overrides['upload_error_strings'] ) ) { $upload_error_strings = $overrides['upload_error_strings']; } else { // Courtesy of php.net, the strings that describe the error indicated in $_FILES[{form field}]['error']. $upload_error_strings = array( false, sprintf( /* translators: 1: upload_max_filesize, 2: php.ini */ __( 'The uploaded file exceeds the %1$s directive in %2$s.' ), 'upload_max_filesize', 'php.ini' ), sprintf( /* translators: %s: MAX_FILE_SIZE */ __( 'The uploaded file exceeds the %s directive that was specified in the HTML form.' ), 'MAX_FILE_SIZE' ), __( 'The uploaded file was only partially uploaded.' ), __( 'No file was uploaded.' ), '', __( 'Missing a temporary folder.' ), __( 'Failed to write file to disk.' ), __( 'File upload stopped by extension.' ), ); } // All tests are on by default. Most can be turned off by $overrides[{test_name}] = false; $test_form = isset( $overrides['test_form'] ) ? $overrides['test_form'] : true; $test_size = isset( $overrides['test_size'] ) ? $overrides['test_size'] : true; // If you override this, you must provide $ext and $type!! $test_type = isset( $overrides['test_type'] ) ? $overrides['test_type'] : true; $mimes = isset( $overrides['mimes'] ) ? $overrides['mimes'] : null; // A correct form post will pass this test. if ( $test_form && ( ! isset( $_POST['action'] ) || $_POST['action'] !== $action ) ) { return call_user_func_array( $upload_error_handler, array( &$file, __( 'Invalid form submission.' ) ) ); } // A successful upload will pass this test. It makes no sense to override this one. if ( isset( $file['error'] ) && $file['error'] > 0 ) { return call_user_func_array( $upload_error_handler, array( &$file, $upload_error_strings[ $file['error'] ] ) ); } // A properly uploaded file will pass this test. There should be no reason to override this one. $test_uploaded_file = 'wp_handle_upload' === $action ? is_uploaded_file( $file['tmp_name'] ) : @is_readable( $file['tmp_name'] ); if ( ! $test_uploaded_file ) { return call_user_func_array( $upload_error_handler, array( &$file, __( 'Specified file failed upload test.' ) ) ); } $test_file_size = 'wp_handle_upload' === $action ? $file['size'] : filesize( $file['tmp_name'] ); // A non-empty file will pass this test. if ( $test_size && ! ( $test_file_size > 0 ) ) { if ( is_multisite() ) { $error_msg = __( 'File is empty. Please upload something more substantial.' ); } else { $error_msg = sprintf( /* translators: 1: php.ini, 2: post_max_size, 3: upload_max_filesize */ __( 'File is empty. Please upload something more substantial. This error could also be caused by uploads being disabled in your %1$s file or by %2$s being defined as smaller than %3$s in %1$s.' ), 'php.ini', 'post_max_size', 'upload_max_filesize' ); } return call_user_func_array( $upload_error_handler, array( &$file, $error_msg ) ); } // A correct MIME type will pass this test. Override $mimes or use the upload_mimes filter. if ( $test_type ) { $wp_filetype = wp_check_filetype_and_ext( $file['tmp_name'], $file['name'], $mimes ); $ext = empty( $wp_filetype['ext'] ) ? '' : $wp_filetype['ext']; $type = empty( $wp_filetype['type'] ) ? '' : $wp_filetype['type']; $proper_filename = empty( $wp_filetype['proper_filename'] ) ? '' : $wp_filetype['proper_filename']; // Check to see if wp_check_filetype_and_ext() determined the filename was incorrect. if ( $proper_filename ) { $file['name'] = $proper_filename; } if ( ( ! $type || ! $ext ) && ! current_user_can( 'unfiltered_upload' ) ) { return call_user_func_array( $upload_error_handler, array( &$file, __( 'Sorry, you are not allowed to upload this file type.' ) ) ); } if ( ! $type ) { $type = $file['type']; } } else { $type = ''; } /* * A writable uploads dir will pass this test. Again, there's no point * overriding this one. */ $uploads = wp_upload_dir( $time ); if ( ! ( $uploads && false === $uploads['error'] ) ) { return call_user_func_array( $upload_error_handler, array( &$file, $uploads['error'] ) ); } $filename = wp_unique_filename( $uploads['path'], $file['name'], $unique_filename_callback ); // Move the file to the uploads dir. $new_file = $uploads['path'] . "/$filename"; /** * Filters whether to short-circuit moving the uploaded file after passing all checks. * * If a non-null value is returned from the filter, moving the file and any related * error reporting will be completely skipped. * * @since 4.9.0 * * @param mixed $move_new_file If null (default) move the file after the upload. * @param array $file { * Reference to a single element from `$_FILES`. * * @type string $name The original name of the file on the client machine. * @type string $type The mime type of the file, if the browser provided this information. * @type string $tmp_name The temporary filename of the file in which the uploaded file was stored on the server. * @type int $size The size, in bytes, of the uploaded file. * @type int $error The error code associated with this file upload. * } * @param string $new_file Filename of the newly-uploaded file. * @param string $type Mime type of the newly-uploaded file. */ $move_new_file = apply_filters( 'pre_move_uploaded_file', null, $file, $new_file, $type ); if ( null === $move_new_file ) { if ( 'wp_handle_upload' === $action ) { $move_new_file = @move_uploaded_file( $file['tmp_name'], $new_file ); } else { // Use copy and unlink because rename breaks streams. // phpcs:ignore WordPress.PHP.NoSilencedErrors.Discouraged $move_new_file = @copy( $file['tmp_name'], $new_file ); unlink( $file['tmp_name'] ); } if ( false === $move_new_file ) { if ( str_starts_with( $uploads['basedir'], ABSPATH ) ) { $error_path = str_replace( ABSPATH, '', $uploads['basedir'] ) . $uploads['subdir']; } else { $error_path = basename( $uploads['basedir'] ) . $uploads['subdir']; } return $upload_error_handler( $file, sprintf( /* translators: %s: Destination file path. */ __( 'The uploaded file could not be moved to %s.' ), $error_path ) ); } } // Set correct file permissions. $stat = stat( dirname( $new_file ) ); $perms = $stat['mode'] & 0000666; chmod( $new_file, $perms ); // Compute the URL. $url = $uploads['url'] . "/$filename"; if ( is_multisite() ) { clean_dirsize_cache( $new_file ); } /** * Filters the data array for the uploaded file. * * @since 2.1.0 * * @param array $upload { * Array of upload data. * * @type string $file Filename of the newly-uploaded file. * @type string $url URL of the newly-uploaded file. * @type string $type Mime type of the newly-uploaded file. * } * @param string $context The type of upload action. Values include 'upload' or 'sideload'. */ return apply_filters( 'wp_handle_upload', array( 'file' => $new_file, 'url' => $url, 'type' => $type, ), 'wp_handle_sideload' === $action ? 'sideload' : 'upload' ); } /** * Wrapper for _wp_handle_upload(). * * Passes the {@see 'wp_handle_upload'} action. * * @since 2.0.0 * * @see _wp_handle_upload() * * @param array $file Reference to a single element of `$_FILES`. * Call the function once for each uploaded file. * See _wp_handle_upload() for accepted values. * @param array|false $overrides Optional. An associative array of names => values * to override default variables. Default false. * See _wp_handle_upload() for accepted values. * @param string|null $time Optional. Time formatted in 'yyyy/mm'. Default null. * @return array See _wp_handle_upload() for return value. */ function wp_handle_upload( &$file, $overrides = false, $time = null ) { /* * $_POST['action'] must be set and its value must equal $overrides['action'] * or this: */ $action = 'wp_handle_upload'; if ( isset( $overrides['action'] ) ) { $action = $overrides['action']; } return _wp_handle_upload( $file, $overrides, $time, $action ); } /** * Wrapper for _wp_handle_upload(). * * Passes the {@see 'wp_handle_sideload'} action. * * @since 2.6.0 * * @see _wp_handle_upload() * * @param array $file Reference to a single element of `$_FILES`. * Call the function once for each uploaded file. * See _wp_handle_upload() for accepted values. * @param array|false $overrides Optional. An associative array of names => values * to override default variables. Default false. * See _wp_handle_upload() for accepted values. * @param string|null $time Optional. Time formatted in 'yyyy/mm'. Default null. * @return array See _wp_handle_upload() for return value. */ function wp_handle_sideload( &$file, $overrides = false, $time = null ) { /* * $_POST['action'] must be set and its value must equal $overrides['action'] * or this: */ $action = 'wp_handle_sideload'; if ( isset( $overrides['action'] ) ) { $action = $overrides['action']; } return _wp_handle_upload( $file, $overrides, $time, $action ); } /** * Downloads a URL to a local temporary file using the WordPress HTTP API. * * Please note that the calling function must delete or move the file. * * @since 2.5.0 * @since 5.2.0 Signature Verification with SoftFail was added. * @since 5.9.0 Support for Content-Disposition filename was added. * * @param string $url The URL of the file to download. * @param int $timeout The timeout for the request to download the file. * Default 300 seconds. * @param bool $signature_verification Whether to perform Signature Verification. * Default false. * @return string|WP_Error Filename on success, WP_Error on failure. */ function download_url( $url, $timeout = 300, $signature_verification = false ) { // WARNING: The file is not automatically deleted, the script must delete or move the file. if ( ! $url ) { return new WP_Error( 'http_no_url', __( 'No URL Provided.' ) ); } $url_path = parse_url( $url, PHP_URL_PATH ); $url_filename = ''; if ( is_string( $url_path ) && '' !== $url_path ) { $url_filename = basename( $url_path ); } $tmpfname = wp_tempnam( $url_filename ); if ( ! $tmpfname ) { return new WP_Error( 'http_no_file', __( 'Could not create temporary file.' ) ); } $response = wp_safe_remote_get( $url, array( 'timeout' => $timeout, 'stream' => true, 'filename' => $tmpfname, ) ); if ( is_wp_error( $response ) ) { unlink( $tmpfname ); return $response; } $response_code = wp_remote_retrieve_response_code( $response ); if ( 200 !== $response_code ) { $data = array( 'code' => $response_code, ); // Retrieve a sample of the response body for debugging purposes. $tmpf = fopen( $tmpfname, 'rb' ); if ( $tmpf ) { /** * Filters the maximum error response body size in `download_url()`. * * @since 5.1.0 * * @see download_url() * * @param int $size The maximum error response body size. Default 1 KB. */ $response_size = apply_filters( 'download_url_error_max_body_size', KB_IN_BYTES ); $data['body'] = fread( $tmpf, $response_size ); fclose( $tmpf ); } unlink( $tmpfname ); return new WP_Error( 'http_404', trim( wp_remote_retrieve_response_message( $response ) ), $data ); } $content_disposition = wp_remote_retrieve_header( $response, 'Content-Disposition' ); if ( $content_disposition ) { $content_disposition = strtolower( $content_disposition ); if ( str_starts_with( $content_disposition, 'attachment; filename=' ) ) { $tmpfname_disposition = sanitize_file_name( substr( $content_disposition, 21 ) ); } else { $tmpfname_disposition = ''; } // Potential file name must be valid string. if ( $tmpfname_disposition && is_string( $tmpfname_disposition ) && ( 0 === validate_file( $tmpfname_disposition ) ) ) { $tmpfname_disposition = dirname( $tmpfname ) . '/' . $tmpfname_disposition; if ( rename( $tmpfname, $tmpfname_disposition ) ) { $tmpfname = $tmpfname_disposition; } if ( ( $tmpfname !== $tmpfname_disposition ) && file_exists( $tmpfname_disposition ) ) { unlink( $tmpfname_disposition ); } } } $content_md5 = wp_remote_retrieve_header( $response, 'Content-MD5' ); if ( $content_md5 ) { $md5_check = verify_file_md5( $tmpfname, $content_md5 ); if ( is_wp_error( $md5_check ) ) { unlink( $tmpfname ); return $md5_check; } } // If the caller expects signature verification to occur, check to see if this URL supports it. if ( $signature_verification ) { /** * Filters the list of hosts which should have Signature Verification attempted on. * * @since 5.2.0 * * @param string[] $hostnames List of hostnames. */ $signed_hostnames = apply_filters( 'wp_signature_hosts', array( 'wordpress.org', 'downloads.wordpress.org', 's.w.org' ) ); $signature_verification = in_array( parse_url( $url, PHP_URL_HOST ), $signed_hostnames, true ); } // Perform signature validation if supported. if ( $signature_verification ) { $signature = wp_remote_retrieve_header( $response, 'X-Content-Signature' ); if ( ! $signature ) { /* * Retrieve signatures from a file if the header wasn't included. * WordPress.org stores signatures at $package_url.sig. */ $signature_url = false; if ( is_string( $url_path ) && ( str_ends_with( $url_path, '.zip' ) || str_ends_with( $url_path, '.tar.gz' ) ) ) { $signature_url = str_replace( $url_path, $url_path . '.sig', $url ); } /** * Filters the URL where the signature for a file is located. * * @since 5.2.0 * * @param false|string $signature_url The URL where signatures can be found for a file, or false if none are known. * @param string $url The URL being verified. */ $signature_url = apply_filters( 'wp_signature_url', $signature_url, $url ); if ( $signature_url ) { $signature_request = wp_safe_remote_get( $signature_url, array( 'limit_response_size' => 10 * KB_IN_BYTES, // 10KB should be large enough for quite a few signatures. ) ); if ( ! is_wp_error( $signature_request ) && 200 === wp_remote_retrieve_response_code( $signature_request ) ) { $signature = explode( "\n", wp_remote_retrieve_body( $signature_request ) ); } } } // Perform the checks. $signature_verification = verify_file_signature( $tmpfname, $signature, $url_filename ); } if ( is_wp_error( $signature_verification ) ) { if ( /** * Filters whether Signature Verification failures should be allowed to soft fail. * * WARNING: This may be removed from a future release. * * @since 5.2.0 * * @param bool $signature_softfail If a softfail is allowed. * @param string $url The url being accessed. */ apply_filters( 'wp_signature_softfail', true, $url ) ) { $signature_verification->add_data( $tmpfname, 'softfail-filename' ); } else { // Hard-fail. unlink( $tmpfname ); } return $signature_verification; } return $tmpfname; } /** * Calculates and compares the MD5 of a file to its expected value. * * @since 3.7.0 * * @param string $filename The filename to check the MD5 of. * @param string $expected_md5 The expected MD5 of the file, either a base64-encoded raw md5, * or a hex-encoded md5. * @return bool|WP_Error True on success, false when the MD5 format is unknown/unexpected, * WP_Error on failure. */ function verify_file_md5( $filename, $expected_md5 ) { if ( 32 === strlen( $expected_md5 ) ) { $expected_raw_md5 = pack( 'H*', $expected_md5 ); } elseif ( 24 === strlen( $expected_md5 ) ) { $expected_raw_md5 = base64_decode( $expected_md5 ); } else { return false; // Unknown format. } $file_md5 = md5_file( $filename, true ); if ( $file_md5 === $expected_raw_md5 ) { return true; } return new WP_Error( 'md5_mismatch', sprintf( /* translators: 1: File checksum, 2: Expected checksum value. */ __( 'The checksum of the file (%1$s) does not match the expected checksum value (%2$s).' ), bin2hex( $file_md5 ), bin2hex( $expected_raw_md5 ) ) ); } /** * Verifies the contents of a file against its ED25519 signature. * * @since 5.2.0 * * @param string $filename The file to validate. * @param string|array $signatures A Signature provided for the file. * @param string|false $filename_for_errors Optional. A friendly filename for errors. * @return bool|WP_Error True on success, false if verification not attempted, * or WP_Error describing an error condition. */ function verify_file_signature( $filename, $signatures, $filename_for_errors = false ) { if ( ! $filename_for_errors ) { $filename_for_errors = wp_basename( $filename ); } // Check we can process signatures. if ( ! function_exists( 'sodium_crypto_sign_verify_detached' ) || ! in_array( 'sha384', array_map( 'strtolower', hash_algos() ), true ) ) { return new WP_Error( 'signature_verification_unsupported', sprintf( /* translators: %s: The filename of the package. */ __( 'The authenticity of %s could not be verified as signature verification is unavailable on this system.' ), '<span class="code">' . esc_html( $filename_for_errors ) . '</span>' ), ( ! function_exists( 'sodium_crypto_sign_verify_detached' ) ? 'sodium_crypto_sign_verify_detached' : 'sha384' ) ); } // Verify runtime speed of Sodium_Compat is acceptable. if ( ! extension_loaded( 'sodium' ) && ! ParagonIE_Sodium_Compat::polyfill_is_fast() ) { $sodium_compat_is_fast = false; // Allow for an old version of Sodium_Compat being loaded before the bundled WordPress one. if ( method_exists( 'ParagonIE_Sodium_Compat', 'runtime_speed_test' ) ) { /* * Run `ParagonIE_Sodium_Compat::runtime_speed_test()` in optimized integer mode, * as that's what WordPress utilizes during signing verifications. */ // phpcs:disable WordPress.NamingConventions.ValidVariableName $old_fastMult = ParagonIE_Sodium_Compat::$fastMult; ParagonIE_Sodium_Compat::$fastMult = true; $sodium_compat_is_fast = ParagonIE_Sodium_Compat::runtime_speed_test( 100, 10 ); ParagonIE_Sodium_Compat::$fastMult = $old_fastMult; // phpcs:enable } /* * This cannot be performed in a reasonable amount of time. * https://github.com/paragonie/sodium_compat#help-sodium_compat-is-slow-how-can-i-make-it-fast */ if ( ! $sodium_compat_is_fast ) { return new WP_Error( 'signature_verification_unsupported', sprintf( /* translators: %s: The filename of the package. */ __( 'The authenticity of %s could not be verified as signature verification is unavailable on this system.' ), '<span class="code">' . esc_html( $filename_for_errors ) . '</span>' ), array( 'php' => PHP_VERSION, 'sodium' => defined( 'SODIUM_LIBRARY_VERSION' ) ? SODIUM_LIBRARY_VERSION : ( defined( 'ParagonIE_Sodium_Compat::VERSION_STRING' ) ? ParagonIE_Sodium_Compat::VERSION_STRING : false ), 'polyfill_is_fast' => false, 'max_execution_time' => ini_get( 'max_execution_time' ), ) ); } } if ( ! $signatures ) { return new WP_Error( 'signature_verification_no_signature', sprintf( /* translators: %s: The filename of the package. */ __( 'The authenticity of %s could not be verified as no signature was found.' ), '<span class="code">' . esc_html( $filename_for_errors ) . '</span>' ), array( 'filename' => $filename_for_errors, ) ); } $trusted_keys = wp_trusted_keys(); $file_hash = hash_file( 'sha384', $filename, true ); mbstring_binary_safe_encoding(); $skipped_key = 0; $skipped_signature = 0; foreach ( (array) $signatures as $signature ) { $signature_raw = base64_decode( $signature ); // Ensure only valid-length signatures are considered. if ( SODIUM_CRYPTO_SIGN_BYTES !== strlen( $signature_raw ) ) { ++$skipped_signature; continue; } foreach ( (array) $trusted_keys as $key ) { $key_raw = base64_decode( $key ); // Only pass valid public keys through. if ( SODIUM_CRYPTO_SIGN_PUBLICKEYBYTES !== strlen( $key_raw ) ) { ++$skipped_key; continue; } if ( sodium_crypto_sign_verify_detached( $signature_raw, $file_hash, $key_raw ) ) { reset_mbstring_encoding(); return true; } } } reset_mbstring_encoding(); return new WP_Error( 'signature_verification_failed', sprintf( /* translators: %s: The filename of the package. */ __( 'The authenticity of %s could not be verified.' ), '<span class="code">' . esc_html( $filename_for_errors ) . '</span>' ), // Error data helpful for debugging: array( 'filename' => $filename_for_errors, 'keys' => $trusted_keys, 'signatures' => $signatures, 'hash' => bin2hex( $file_hash ), 'skipped_key' => $skipped_key, 'skipped_sig' => $skipped_signature, 'php' => PHP_VERSION, 'sodium' => defined( 'SODIUM_LIBRARY_VERSION' ) ? SODIUM_LIBRARY_VERSION : ( defined( 'ParagonIE_Sodium_Compat::VERSION_STRING' ) ? ParagonIE_Sodium_Compat::VERSION_STRING : false ), ) ); } /** * Retrieves the list of signing keys trusted by WordPress. * * @since 5.2.0 * * @return string[] Array of base64-encoded signing keys. */ function wp_trusted_keys() { $trusted_keys = array(); if ( time() < 1617235200 ) { // WordPress.org Key #1 - This key is only valid before April 1st, 2021. $trusted_keys[] = 'fRPyrxb/MvVLbdsYi+OOEv4xc+Eqpsj+kkAS6gNOkI0='; } // TODO: Add key #2 with longer expiration. /** * Filters the valid signing keys used to verify the contents of files. * * @since 5.2.0 * * @param string[] $trusted_keys The trusted keys that may sign packages. */ return apply_filters( 'wp_trusted_keys', $trusted_keys ); } /** * Determines whether the given file is a valid ZIP file. * * This function does not test to ensure that a file exists. Non-existent files * are not valid ZIPs, so those will also return false. * * @since 6.4.4 * * @param string $file Full path to the ZIP file. * @return bool Whether the file is a valid ZIP file. */ function wp_zip_file_is_valid( $file ) { /** This filter is documented in wp-admin/includes/file.php */ if ( class_exists( 'ZipArchive', false ) && apply_filters( 'unzip_file_use_ziparchive', true ) ) { $archive = new ZipArchive(); $archive_is_valid = $archive->open( $file, ZipArchive::CHECKCONS ); if ( true === $archive_is_valid ) { $archive->close(); return true; } } // Fall through to PclZip if ZipArchive is not available, or encountered an error opening the file. require_once ABSPATH . 'wp-admin/includes/class-pclzip.php'; $archive = new PclZip( $file ); $archive_is_valid = is_array( $archive->properties() ); return $archive_is_valid; } /** * Unzips a specified ZIP file to a location on the filesystem via the WordPress * Filesystem Abstraction. * * Assumes that WP_Filesystem() has already been called and set up. Does not extract * a root-level __MACOSX directory, if present. * * Attempts to increase the PHP memory limit to 256M before uncompressing. However, * the most memory required shouldn't be much larger than the archive itself. * * @since 2.5.0 * * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass. * * @param string $file Full path and filename of ZIP archive. * @param string $to Full path on the filesystem to extract archive to. * @return true|WP_Error True on success, WP_Error on failure. */ function unzip_file( $file, $to ) { global $wp_filesystem; if ( ! $wp_filesystem || ! is_object( $wp_filesystem ) ) { return new WP_Error( 'fs_unavailable', __( 'Could not access filesystem.' ) ); } // Unzip can use a lot of memory, but not this much hopefully. wp_raise_memory_limit( 'admin' ); $needed_dirs = array(); $to = trailingslashit( $to ); // Determine any parent directories needed (of the upgrade directory). if ( ! $wp_filesystem->is_dir( $to ) ) { // Only do parents if no children exist. $path = preg_split( '![/\\\]!', untrailingslashit( $to ) ); for ( $i = count( $path ); $i >= 0; $i-- ) { if ( empty( $path[ $i ] ) ) { continue; } $dir = implode( '/', array_slice( $path, 0, $i + 1 ) ); if ( preg_match( '!^[a-z]:$!i', $dir ) ) { // Skip it if it looks like a Windows Drive letter. continue; } if ( ! $wp_filesystem->is_dir( $dir ) ) { $needed_dirs[] = $dir; } else { break; // A folder exists, therefore we don't need to check the levels below this. } } } /** * Filters whether to use ZipArchive to unzip archives. * * @since 3.0.0 * * @param bool $ziparchive Whether to use ZipArchive. Default true. */ if ( class_exists( 'ZipArchive', false ) && apply_filters( 'unzip_file_use_ziparchive', true ) ) { $result = _unzip_file_ziparchive( $file, $to, $needed_dirs ); if ( true === $result ) { return $result; } elseif ( is_wp_error( $result ) ) { if ( 'incompatible_archive' !== $result->get_error_code() ) { return $result; } } } // Fall through to PclZip if ZipArchive is not available, or encountered an error opening the file. return _unzip_file_pclzip( $file, $to, $needed_dirs ); } /** * Attempts to unzip an archive using the ZipArchive class. * * This function should not be called directly, use `unzip_file()` instead. * * Assumes that WP_Filesystem() has already been called and set up. * * @since 3.0.0 * @access private * * @see unzip_file() * * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass. * * @param string $file Full path and filename of ZIP archive. * @param string $to Full path on the filesystem to extract archive to. * @param string[] $needed_dirs A partial list of required folders needed to be created. * @return true|WP_Error True on success, WP_Error on failure. */ function _unzip_file_ziparchive( $file, $to, $needed_dirs = array() ) { global $wp_filesystem; $z = new ZipArchive(); $zopen = $z->open( $file, ZIPARCHIVE::CHECKCONS ); if ( true !== $zopen ) { return new WP_Error( 'incompatible_archive', __( 'Incompatible Archive.' ), array( 'ziparchive_error' => $zopen ) ); } $uncompressed_size = 0; for ( $i = 0; $i < $z->numFiles; $i++ ) { $info = $z->statIndex( $i ); if ( ! $info ) { $z->close(); return new WP_Error( 'stat_failed_ziparchive', __( 'Could not retrieve file from archive.' ) ); } if ( str_starts_with( $info['name'], '__MACOSX/' ) ) { // Skip the OS X-created __MACOSX directory. continue; } // Don't extract invalid files: if ( 0 !== validate_file( $info['name'] ) ) { continue; } $uncompressed_size += $info['size']; $dirname = dirname( $info['name'] ); if ( str_ends_with( $info['name'], '/' ) ) { // Directory. $needed_dirs[] = $to . untrailingslashit( $info['name'] ); } elseif ( '.' !== $dirname ) { // Path to a file. $needed_dirs[] = $to . untrailingslashit( $dirname ); } } // Enough space to unzip the file and copy its contents, with a 10% buffer. $required_space = $uncompressed_size * 2.1; /* * disk_free_space() could return false. Assume that any falsey value is an error. * A disk that has zero free bytes has bigger problems. * Require we have enough space to unzip the file and copy its contents, with a 10% buffer. */ if ( wp_doing_cron() ) { $available_space = function_exists( 'disk_free_space' ) ? @disk_free_space( WP_CONTENT_DIR ) : false; if ( $available_space && ( $required_space > $available_space ) ) { $z->close(); return new WP_Error( 'disk_full_unzip_file', __( 'Could not copy files. You may have run out of disk space.' ), compact( 'uncompressed_size', 'available_space' ) ); } } $needed_dirs = array_unique( $needed_dirs ); foreach ( $needed_dirs as $dir ) { // Check the parent folders of the folders all exist within the creation array. if ( untrailingslashit( $to ) === $dir ) { // Skip over the working directory, we know this exists (or will exist). continue; } if ( ! str_contains( $dir, $to ) ) { // If the directory is not within the working directory, skip it. continue; } $parent_folder = dirname( $dir ); while ( ! empty( $parent_folder ) && untrailingslashit( $to ) !== $parent_folder && ! in_array( $parent_folder, $needed_dirs, true ) ) { $needed_dirs[] = $parent_folder; $parent_folder = dirname( $parent_folder ); } } asort( $needed_dirs ); // Create those directories if need be: foreach ( $needed_dirs as $_dir ) { // Only check to see if the Dir exists upon creation failure. Less I/O this way. if ( ! $wp_filesystem->mkdir( $_dir, FS_CHMOD_DIR ) && ! $wp_filesystem->is_dir( $_dir ) ) { $z->close(); return new WP_Error( 'mkdir_failed_ziparchive', __( 'Could not create directory.' ), $_dir ); } } /** * Filters archive unzipping to override with a custom process. * * @since 6.4.0 * * @param null|true|WP_Error $result The result of the override. True on success, otherwise WP Error. Default null. * @param string $file Full path and filename of ZIP archive. * @param string $to Full path on the filesystem to extract archive to. * @param string[] $needed_dirs A full list of required folders that need to be created. * @param float $required_space The space required to unzip the file and copy its contents, with a 10% buffer. */ $pre = apply_filters( 'pre_unzip_file', null, $file, $to, $needed_dirs, $required_space ); if ( null !== $pre ) { // Ensure the ZIP file archive has been closed. $z->close(); return $pre; } for ( $i = 0; $i < $z->numFiles; $i++ ) { $info = $z->statIndex( $i ); if ( ! $info ) { $z->close(); return new WP_Error( 'stat_failed_ziparchive', __( 'Could not retrieve file from archive.' ) ); } if ( str_ends_with( $info['name'], '/' ) ) { // Directory. continue; } if ( str_starts_with( $info['name'], '__MACOSX/' ) ) { // Don't extract the OS X-created __MACOSX directory files. continue; } // Don't extract invalid files: if ( 0 !== validate_file( $info['name'] ) ) { continue; } $contents = $z->getFromIndex( $i ); if ( false === $contents ) { $z->close(); return new WP_Error( 'extract_failed_ziparchive', __( 'Could not extract file from archive.' ), $info['name'] ); } if ( ! $wp_filesystem->put_contents( $to . $info['name'], $contents, FS_CHMOD_FILE ) ) { $z->close(); return new WP_Error( 'copy_failed_ziparchive', __( 'Could not copy file.' ), $info['name'] ); } } $z->close(); /** * Filters the result of unzipping an archive. * * @since 6.4.0 * * @param true|WP_Error $result The result of unzipping the archive. True on success, otherwise WP_Error. Default true. * @param string $file Full path and filename of ZIP archive. * @param string $to Full path on the filesystem the archive was extracted to. * @param string[] $needed_dirs A full list of required folders that were created. * @param float $required_space The space required to unzip the file and copy its contents, with a 10% buffer. */ $result = apply_filters( 'unzip_file', true, $file, $to, $needed_dirs, $required_space ); unset( $needed_dirs ); return $result; } /** * Attempts to unzip an archive using the PclZip library. * * This function should not be called directly, use `unzip_file()` instead. * * Assumes that WP_Filesystem() has already been called and set up. * * @since 3.0.0 * @access private * * @see unzip_file() * * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass. * * @param string $file Full path and filename of ZIP archive. * @param string $to Full path on the filesystem to extract archive to. * @param string[] $needed_dirs A partial list of required folders needed to be created. * @return true|WP_Error True on success, WP_Error on failure. */ function _unzip_file_pclzip( $file, $to, $needed_dirs = array() ) { global $wp_filesystem; mbstring_binary_safe_encoding(); require_once ABSPATH . 'wp-admin/includes/class-pclzip.php'; $archive = new PclZip( $file ); $archive_files = $archive->extract( PCLZIP_OPT_EXTRACT_AS_STRING ); reset_mbstring_encoding(); // Is the archive valid? if ( ! is_array( $archive_files ) ) { return new WP_Error( 'incompatible_archive', __( 'Incompatible Archive.' ), $archive->errorInfo( true ) ); } if ( 0 === count( $archive_files ) ) { return new WP_Error( 'empty_archive_pclzip', __( 'Empty archive.' ) ); } $uncompressed_size = 0; // Determine any children directories needed (From within the archive). foreach ( $archive_files as $file ) { if ( str_starts_with( $file['filename'], '__MACOSX/' ) ) { // Skip the OS X-created __MACOSX directory. continue; } $uncompressed_size += $file['size']; $needed_dirs[] = $to . untrailingslashit( $file['folder'] ? $file['filename'] : dirname( $file['filename'] ) ); } // Enough space to unzip the file and copy its contents, with a 10% buffer. $required_space = $uncompressed_size * 2.1; /* * disk_free_space() could return false. Assume that any falsey value is an error. * A disk that has zero free bytes has bigger problems. * Require we have enough space to unzip the file and copy its contents, with a 10% buffer. */ if ( wp_doing_cron() ) { $available_space = function_exists( 'disk_free_space' ) ? @disk_free_space( WP_CONTENT_DIR ) : false; if ( $available_space && ( $required_space > $available_space ) ) { return new WP_Error( 'disk_full_unzip_file', __( 'Could not copy files. You may have run out of disk space.' ), compact( 'uncompressed_size', 'available_space' ) ); } } $needed_dirs = array_unique( $needed_dirs ); foreach ( $needed_dirs as $dir ) { // Check the parent folders of the folders all exist within the creation array. if ( untrailingslashit( $to ) === $dir ) { // Skip over the working directory, we know this exists (or will exist). continue; } if ( ! str_contains( $dir, $to ) ) { // If the directory is not within the working directory, skip it. continue; } $parent_folder = dirname( $dir ); while ( ! empty( $parent_folder ) && untrailingslashit( $to ) !== $parent_folder && ! in_array( $parent_folder, $needed_dirs, true ) ) { $needed_dirs[] = $parent_folder; $parent_folder = dirname( $parent_folder ); } } asort( $needed_dirs ); // Create those directories if need be: foreach ( $needed_dirs as $_dir ) { // Only check to see if the dir exists upon creation failure. Less I/O this way. if ( ! $wp_filesystem->mkdir( $_dir, FS_CHMOD_DIR ) && ! $wp_filesystem->is_dir( $_dir ) ) { return new WP_Error( 'mkdir_failed_pclzip', __( 'Could not create directory.' ), $_dir ); } } /** This filter is documented in src/wp-admin/includes/file.php */ $pre = apply_filters( 'pre_unzip_file', null, $file, $to, $needed_dirs, $required_space ); if ( null !== $pre ) { return $pre; } // Extract the files from the zip. foreach ( $archive_files as $file ) { if ( $file['folder'] ) { continue; } if ( str_starts_with( $file['filename'], '__MACOSX/' ) ) { // Don't extract the OS X-created __MACOSX directory files. continue; } // Don't extract invalid files: if ( 0 !== validate_file( $file['filename'] ) ) { continue; } if ( ! $wp_filesystem->put_contents( $to . $file['filename'], $file['content'], FS_CHMOD_FILE ) ) { return new WP_Error( 'copy_failed_pclzip', __( 'Could not copy file.' ), $file['filename'] ); } } /** This action is documented in src/wp-admin/includes/file.php */ $result = apply_filters( 'unzip_file', true, $file, $to, $needed_dirs, $required_space ); unset( $needed_dirs ); return $result; } /** * Copies a directory from one location to another via the WordPress Filesystem * Abstraction. * * Assumes that WP_Filesystem() has already been called and setup. * * @since 2.5.0 * * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass. * * @param string $from Source directory. * @param string $to Destination directory. * @param string[] $skip_list An array of files/folders to skip copying. * @return true|WP_Error True on success, WP_Error on failure. */ function copy_dir( $from, $to, $skip_list = array() ) { global $wp_filesystem; $dirlist = $wp_filesystem->dirlist( $from ); if ( false === $dirlist ) { return new WP_Error( 'dirlist_failed_copy_dir', __( 'Directory listing failed.' ), basename( $from ) ); } $from = trailingslashit( $from ); $to = trailingslashit( $to ); if ( ! $wp_filesystem->exists( $to ) && ! $wp_filesystem->mkdir( $to ) ) { return new WP_Error( 'mkdir_destination_failed_copy_dir', __( 'Could not create the destination directory.' ), basename( $to ) ); } foreach ( (array) $dirlist as $filename => $fileinfo ) { if ( in_array( $filename, $skip_list, true ) ) { continue; } if ( 'f' === $fileinfo['type'] ) { if ( ! $wp_filesystem->copy( $from . $filename, $to . $filename, true, FS_CHMOD_FILE ) ) { // If copy failed, chmod file to 0644 and try again. $wp_filesystem->chmod( $to . $filename, FS_CHMOD_FILE ); if ( ! $wp_filesystem->copy( $from . $filename, $to . $filename, true, FS_CHMOD_FILE ) ) { return new WP_Error( 'copy_failed_copy_dir', __( 'Could not copy file.' ), $to . $filename ); } } wp_opcache_invalidate( $to . $filename ); } elseif ( 'd' === $fileinfo['type'] ) { if ( ! $wp_filesystem->is_dir( $to . $filename ) ) { if ( ! $wp_filesystem->mkdir( $to . $filename, FS_CHMOD_DIR ) ) { return new WP_Error( 'mkdir_failed_copy_dir', __( 'Could not create directory.' ), $to . $filename ); } } // Generate the $sub_skip_list for the subdirectory as a sub-set of the existing $skip_list. $sub_skip_list = array(); foreach ( $skip_list as $skip_item ) { if ( str_starts_with( $skip_item, $filename . '/' ) ) { $sub_skip_list[] = preg_replace( '!^' . preg_quote( $filename, '!' ) . '/!i', '', $skip_item ); } } $result = copy_dir( $from . $filename, $to . $filename, $sub_skip_list ); if ( is_wp_error( $result ) ) { return $result; } } } return true; } /** * Moves a directory from one location to another. * * Recursively invalidates OPcache on success. * * If the renaming failed, falls back to copy_dir(). * * Assumes that WP_Filesystem() has already been called and setup. * * This function is not designed to merge directories, copy_dir() should be used instead. * * @since 6.2.0 * * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass. * * @param string $from Source directory. * @param string $to Destination directory. * @param bool $overwrite Optional. Whether to overwrite the destination directory if it exists. * Default false. * @return true|WP_Error True on success, WP_Error on failure. */ function move_dir( $from, $to, $overwrite = false ) { global $wp_filesystem; if ( trailingslashit( strtolower( $from ) ) === trailingslashit( strtolower( $to ) ) ) { return new WP_Error( 'source_destination_same_move_dir', __( 'The source and destination are the same.' ) ); } if ( $wp_filesystem->exists( $to ) ) { if ( ! $overwrite ) { return new WP_Error( 'destination_already_exists_move_dir', __( 'The destination folder already exists.' ), $to ); } elseif ( ! $wp_filesystem->delete( $to, true ) ) { // Can't overwrite if the destination couldn't be deleted. return new WP_Error( 'destination_not_deleted_move_dir', __( 'The destination directory already exists and could not be removed.' ) ); } } if ( $wp_filesystem->move( $from, $to ) ) { /* * When using an environment with shared folders, * there is a delay in updating the filesystem's cache. * * This is a known issue in environments with a VirtualBox provider. * * A 200ms delay gives time for the filesystem to update its cache, * prevents "Operation not permitted", and "No such file or directory" warnings. * * This delay is used in other projects, including Composer. * @link https://github.com/composer/composer/blob/2.5.1/src/Composer/Util/Platform.php#L228-L233 */ usleep( 200000 ); wp_opcache_invalidate_directory( $to ); return true; } // Fall back to a recursive copy. if ( ! $wp_filesystem->is_dir( $to ) ) { if ( ! $wp_filesystem->mkdir( $to, FS_CHMOD_DIR ) ) { return new WP_Error( 'mkdir_failed_move_dir', __( 'Could not create directory.' ), $to ); } } $result = copy_dir( $from, $to, array( basename( $to ) ) ); // Clear the source directory. if ( true === $result ) { $wp_filesystem->delete( $from, true ); } return $result; } /** * Initializes and connects the WordPress Filesystem Abstraction classes. * * This function will include the chosen transport and attempt connecting. * * Plugins may add extra transports, And force WordPress to use them by returning * the filename via the {@see 'filesystem_method_file'} filter. * * @since 2.5.0 * * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass. * * @param array|false $args Optional. Connection args, These are passed * directly to the `WP_Filesystem_*()` classes. * Default false. * @param string|false $context Optional. Context for get_filesystem_method(). * Default false. * @param bool $allow_relaxed_file_ownership Optional. Whether to allow Group/World writable. * Default false. * @return bool|null True on success, false on failure, * null if the filesystem method class file does not exist. */ function WP_Filesystem( $args = false, $context = false, $allow_relaxed_file_ownership = false ) { // phpcs:ignore WordPress.NamingConventions.ValidFunctionName.FunctionNameInvalid global $wp_filesystem; require_once ABSPATH . 'wp-admin/includes/class-wp-filesystem-base.php'; $method = get_filesystem_method( $args, $context, $allow_relaxed_file_ownership ); if ( ! $method ) { return false; } if ( ! class_exists( "WP_Filesystem_$method" ) ) { /** * Filters the path for a specific filesystem method class file. * * @since 2.6.0 * * @see get_filesystem_method() * * @param string $path Path to the specific filesystem method class file. * @param string $method The filesystem method to use. */ $abstraction_file = apply_filters( 'filesystem_method_file', ABSPATH . 'wp-admin/includes/class-wp-filesystem-' . $method . '.php', $method ); if ( ! file_exists( $abstraction_file ) ) { return; } require_once $abstraction_file; } $method = "WP_Filesystem_$method"; $wp_filesystem = new $method( $args ); /* * Define the timeouts for the connections. Only available after the constructor is called * to allow for per-transport overriding of the default. */ if ( ! defined( 'FS_CONNECT_TIMEOUT' ) ) { define( 'FS_CONNECT_TIMEOUT', 30 ); // 30 seconds. } if ( ! defined( 'FS_TIMEOUT' ) ) { define( 'FS_TIMEOUT', 30 ); // 30 seconds. } if ( is_wp_error( $wp_filesystem->errors ) && $wp_filesystem->errors->has_errors() ) { return false; } if ( ! $wp_filesystem->connect() ) { return false; // There was an error connecting to the server. } // Set the permission constants if not already set. if ( ! defined( 'FS_CHMOD_DIR' ) ) { define( 'FS_CHMOD_DIR', ( fileperms( ABSPATH ) & 0777 | 0755 ) ); } if ( ! defined( 'FS_CHMOD_FILE' ) ) { define( 'FS_CHMOD_FILE', ( fileperms( ABSPATH . 'index.php' ) & 0777 | 0644 ) ); } return true; } /** * Determines which method to use for reading, writing, modifying, or deleting * files on the filesystem. * * The priority of the transports are: Direct, SSH2, FTP PHP Extension, FTP Sockets * (Via Sockets class, or `fsockopen()`). Valid values for these are: 'direct', 'ssh2', * 'ftpext' or 'ftpsockets'. * * The return value can be overridden by defining the `FS_METHOD` constant in `wp-config.php`, * or filtering via {@see 'filesystem_method'}. * * @link https://developer.wordpress.org/advanced-administration/wordpress/wp-config/#wordpress-upgrade-constants * * Plugins may define a custom transport handler, See WP_Filesystem(). * * @since 2.5.0 * * @global callable $_wp_filesystem_direct_method * * @param array $args Optional. Connection details. Default empty array. * @param string $context Optional. Full path to the directory that is tested * for being writable. Default empty. * @param bool $allow_relaxed_file_ownership Optional. Whether to allow Group/World writable. * Default false. * @return string The transport to use, see description for valid return values. */ function get_filesystem_method( $args = array(), $context = '', $allow_relaxed_file_ownership = false ) { // Please ensure that this is either 'direct', 'ssh2', 'ftpext', or 'ftpsockets'. $method = defined( 'FS_METHOD' ) ? FS_METHOD : false; if ( ! $context ) { $context = WP_CONTENT_DIR; } // If the directory doesn't exist (wp-content/languages) then use the parent directory as we'll create it. if ( WP_LANG_DIR === $context && ! is_dir( $context ) ) { $context = dirname( $context ); } $context = trailingslashit( $context ); if ( ! $method ) { $temp_file_name = $context . 'temp-write-test-' . str_replace( '.', '-', uniqid( '', true ) ); $temp_handle = @fopen( $temp_file_name, 'w' ); if ( $temp_handle ) { // Attempt to determine the file owner of the WordPress files, and that of newly created files. $wp_file_owner = false; $temp_file_owner = false; if ( function_exists( 'fileowner' ) ) { $wp_file_owner = @fileowner( __FILE__ ); $temp_file_owner = @fileowner( $temp_file_name ); } if ( false !== $wp_file_owner && $wp_file_owner === $temp_file_owner ) { /* * WordPress is creating files as the same owner as the WordPress files, * this means it's safe to modify & create new files via PHP. */ $method = 'direct'; $GLOBALS['_wp_filesystem_direct_method'] = 'file_owner'; } elseif ( $allow_relaxed_file_ownership ) { /* * The $context directory is writable, and $allow_relaxed_file_ownership is set, * this means we can modify files safely in this directory. * This mode doesn't create new files, only alter existing ones. */ $method = 'direct'; $GLOBALS['_wp_filesystem_direct_method'] = 'relaxed_ownership'; } fclose( $temp_handle ); @unlink( $temp_file_name ); } } if ( ! $method && isset( $args['connection_type'] ) && 'ssh' === $args['connection_type'] && extension_loaded( 'ssh2' ) ) { $method = 'ssh2'; } if ( ! $method && extension_loaded( 'ftp' ) ) { $method = 'ftpext'; } if ( ! $method && ( extension_loaded( 'sockets' ) || function_exists( 'fsockopen' ) ) ) { $method = 'ftpsockets'; // Sockets: Socket extension; PHP Mode: FSockopen / fwrite / fread. } /** * Filters the filesystem method to use. * * @since 2.6.0 * * @param string $method Filesystem method to return. * @param array $args An array of connection details for the method. * @param string $context Full path to the directory that is tested for being writable. * @param bool $allow_relaxed_file_ownership Whether to allow Group/World writable. */ return apply_filters( 'filesystem_method', $method, $args, $context, $allow_relaxed_file_ownership ); } /** * Displays a form to the user to request for their FTP/SSH details in order * to connect to the filesystem. * * All chosen/entered details are saved, excluding the password. * * Hostnames may be in the form of hostname:portnumber (eg: wordpress.org:2467) * to specify an alternate FTP/SSH port. * * Plugins may override this form by returning true|false via the {@see 'request_filesystem_credentials'} filter. * * @since 2.5.0 * @since 4.6.0 The `$context` parameter default changed from `false` to an empty string. * * @global string $pagenow The filename of the current screen. * * @param string $form_post The URL to post the form to. * @param string $type Optional. Chosen type of filesystem. Default empty. * @param bool|WP_Error $error Optional. Whether the current request has failed * to connect, or an error object. Default false. * @param string $context Optional. Full path to the directory that is tested * for being writable. Default empty. * @param array $extra_fields Optional. Extra `POST` fields to be checked * for inclusion in the post. Default null. * @param bool $allow_relaxed_file_ownership Optional. Whether to allow Group/World writable. * Default false. * @return bool|array True if no filesystem credentials are required, * false if they are required but have not been provided, * array of credentials if they are required and have been provided. */ function request_filesystem_credentials( $form_post, $type = '', $error = false, $context = '', $extra_fields = null, $allow_relaxed_file_ownership = false ) { global $pagenow; /** * Filters the filesystem credentials. * * Returning anything other than an empty string will effectively short-circuit * output of the filesystem credentials form, returning that value instead. * * A filter should return true if no filesystem credentials are required, false if they are required but have not been * provided, or an array of credentials if they are required and have been provided. * * @since 2.5.0 * @since 4.6.0 The `$context` parameter default changed from `false` to an empty string. * * @param mixed $credentials Credentials to return instead. Default empty string. * @param string $form_post The URL to post the form to. * @param string $type Chosen type of filesystem. * @param bool|WP_Error $error Whether the current request has failed to connect, * or an error object. * @param string $context Full path to the directory that is tested for * being writable. * @param array $extra_fields Extra POST fields. * @param bool $allow_relaxed_file_ownership Whether to allow Group/World writable. */ $req_cred = apply_filters( 'request_filesystem_credentials', '', $form_post, $type, $error, $context, $extra_fields, $allow_relaxed_file_ownership ); if ( '' !== $req_cred ) { return $req_cred; } if ( empty( $type ) ) { $type = get_filesystem_method( array(), $context, $allow_relaxed_file_ownership ); } if ( 'direct' === $type ) { return true; } if ( is_null( $extra_fields ) ) { $extra_fields = array( 'version', 'locale' ); } $credentials = get_option( 'ftp_credentials', array( 'hostname' => '', 'username' => '', ) ); $submitted_form = wp_unslash( $_POST ); // Verify nonce, or unset submitted form field values on failure. if ( ! isset( $_POST['_fs_nonce'] ) || ! wp_verify_nonce( $_POST['_fs_nonce'], 'filesystem-credentials' ) ) { unset( $submitted_form['hostname'], $submitted_form['username'], $submitted_form['password'], $submitted_form['public_key'], $submitted_form['private_key'], $submitted_form['connection_type'] ); } $ftp_constants = array( 'hostname' => 'FTP_HOST', 'username' => 'FTP_USER', 'password' => 'FTP_PASS', 'public_key' => 'FTP_PUBKEY', 'private_key' => 'FTP_PRIKEY', ); /* * If defined, set it to that. Else, if POST'd, set it to that. If not, set it to an empty string. * Otherwise, keep it as it previously was (saved details in option). */ foreach ( $ftp_constants as $key => $constant ) { if ( defined( $constant ) ) { $credentials[ $key ] = constant( $constant ); } elseif ( ! empty( $submitted_form[ $key ] ) ) { $credentials[ $key ] = $submitted_form[ $key ]; } elseif ( ! isset( $credentials[ $key ] ) ) { $credentials[ $key ] = ''; } } // Sanitize the hostname, some people might pass in odd data. $credentials['hostname'] = preg_replace( '|\w+://|', '', $credentials['hostname'] ); // Strip any schemes off. if ( strpos( $credentials['hostname'], ':' ) ) { list( $credentials['hostname'], $credentials['port'] ) = explode( ':', $credentials['hostname'], 2 ); if ( ! is_numeric( $credentials['port'] ) ) { unset( $credentials['port'] ); } } else { unset( $credentials['port'] ); } if ( ( defined( 'FTP_SSH' ) && FTP_SSH ) || ( defined( 'FS_METHOD' ) && 'ssh2' === FS_METHOD ) ) { $credentials['connection_type'] = 'ssh'; } elseif ( ( defined( 'FTP_SSL' ) && FTP_SSL ) && 'ftpext' === $type ) { // Only the FTP Extension understands SSL. $credentials['connection_type'] = 'ftps'; } elseif ( ! empty( $submitted_form['connection_type'] ) ) { $credentials['connection_type'] = $submitted_form['connection_type']; } elseif ( ! isset( $credentials['connection_type'] ) ) { // All else fails (and it's not defaulted to something else saved), default to FTP. $credentials['connection_type'] = 'ftp'; } if ( ! $error && ( ! empty( $credentials['hostname'] ) && ! empty( $credentials['username'] ) && ! empty( $credentials['password'] ) || 'ssh' === $credentials['connection_type'] && ! empty( $credentials['public_key'] ) && ! empty( $credentials['private_key'] ) ) ) { $stored_credentials = $credentials; if ( ! empty( $stored_credentials['port'] ) ) { // Save port as part of hostname to simplify above code. $stored_credentials['hostname'] .= ':' . $stored_credentials['port']; } unset( $stored_credentials['password'], $stored_credentials['port'], $stored_credentials['private_key'], $stored_credentials['public_key'] ); if ( ! wp_installing() ) { update_option( 'ftp_credentials', $stored_credentials, false ); } return $credentials; } $hostname = isset( $credentials['hostname'] ) ? $credentials['hostname'] : ''; $username = isset( $credentials['username'] ) ? $credentials['username'] : ''; $public_key = isset( $credentials['public_key'] ) ? $credentials['public_key'] : ''; $private_key = isset( $credentials['private_key'] ) ? $credentials['private_key'] : ''; $port = isset( $credentials['port'] ) ? $credentials['port'] : ''; $connection_type = isset( $credentials['connection_type'] ) ? $credentials['connection_type'] : ''; if ( $error ) { $error_string = __( '<strong>Error:</strong> Could not connect to the server. Please verify the settings are correct.' ); if ( is_wp_error( $error ) ) { $error_string = esc_html( $error->get_error_message() ); } wp_admin_notice( $error_string, array( 'id' => 'message', 'additional_classes' => array( 'error' ), ) ); } $types = array(); if ( extension_loaded( 'ftp' ) || extension_loaded( 'sockets' ) || function_exists( 'fsockopen' ) ) { $types['ftp'] = __( 'FTP' ); } if ( extension_loaded( 'ftp' ) ) { // Only this supports FTPS. $types['ftps'] = __( 'FTPS (SSL)' ); } if ( extension_loaded( 'ssh2' ) ) { $types['ssh'] = __( 'SSH2' ); } /** * Filters the connection types to output to the filesystem credentials form. * * @since 2.9.0 * @since 4.6.0 The `$context` parameter default changed from `false` to an empty string. * * @param string[] $types Types of connections. * @param array $credentials Credentials to connect with. * @param string $type Chosen filesystem method. * @param bool|WP_Error $error Whether the current request has failed to connect, * or an error object. * @param string $context Full path to the directory that is tested for being writable. */ $types = apply_filters( 'fs_ftp_connection_types', $types, $credentials, $type, $error, $context ); ?> <form action="<?php echo esc_url( $form_post ); ?>" method="post"> <div id="request-filesystem-credentials-form" class="request-filesystem-credentials-form"> <?php // Print a H1 heading in the FTP credentials modal dialog, default is a H2. $heading_tag = 'h2'; if ( 'plugins.php' === $pagenow || 'plugin-install.php' === $pagenow ) { $heading_tag = 'h1'; } echo "<$heading_tag id='request-filesystem-credentials-title'>" . __( 'Connection Information' ) . "</$heading_tag>"; ?> <p id="request-filesystem-credentials-desc"> <?php $label_user = __( 'Username' ); $label_pass = __( 'Password' ); _e( 'To perform the requested action, WordPress needs to access your web server.' ); echo ' '; if ( ( isset( $types['ftp'] ) || isset( $types['ftps'] ) ) ) { if ( isset( $types['ssh'] ) ) { _e( 'Please enter your FTP or SSH credentials to proceed.' ); $label_user = __( 'FTP/SSH Username' ); $label_pass = __( 'FTP/SSH Password' ); } else { _e( 'Please enter your FTP credentials to proceed.' ); $label_user = __( 'FTP Username' ); $label_pass = __( 'FTP Password' ); } echo ' '; } _e( 'If you do not remember your credentials, you should contact your web host.' ); $hostname_value = esc_attr( $hostname ); if ( ! empty( $port ) ) { $hostname_value .= ":$port"; } $password_value = ''; if ( defined( 'FTP_PASS' ) ) { $password_value = '*****'; } ?> </p> <label for="hostname"> <span class="field-title"><?php _e( 'Hostname' ); ?></span> <input name="hostname" type="text" id="hostname" aria-describedby="request-filesystem-credentials-desc" class="code" placeholder="<?php esc_attr_e( 'example: www.wordpress.org' ); ?>" value="<?php echo $hostname_value; ?>"<?php disabled( defined( 'FTP_HOST' ) ); ?> /> </label> <div class="ftp-username"> <label for="username"> <span class="field-title"><?php echo $label_user; ?></span> <input name="username" type="text" id="username" value="<?php echo esc_attr( $username ); ?>"<?php disabled( defined( 'FTP_USER' ) ); ?> /> </label> </div> <div class="ftp-password"> <label for="password"> <span class="field-title"><?php echo $label_pass; ?></span> <input name="password" type="password" id="password" value="<?php echo $password_value; ?>"<?php disabled( defined( 'FTP_PASS' ) ); ?> spellcheck="false" /> <?php if ( ! defined( 'FTP_PASS' ) ) { _e( 'This password will not be stored on the server.' ); } ?> </label> </div> <fieldset> <legend><?php _e( 'Connection Type' ); ?></legend> <?php $disabled = disabled( ( defined( 'FTP_SSL' ) && FTP_SSL ) || ( defined( 'FTP_SSH' ) && FTP_SSH ), true, false ); foreach ( $types as $name => $text ) : ?> <label for="<?php echo esc_attr( $name ); ?>"> <input type="radio" name="connection_type" id="<?php echo esc_attr( $name ); ?>" value="<?php echo esc_attr( $name ); ?>" <?php checked( $name, $connection_type ); ?> <?php echo $disabled; ?> /> <?php echo $text; ?> </label> <?php endforeach; ?> </fieldset> <?php if ( isset( $types['ssh'] ) ) { $hidden_class = ''; if ( 'ssh' !== $connection_type || empty( $connection_type ) ) { $hidden_class = ' class="hidden"'; } ?> <fieldset id="ssh-keys"<?php echo $hidden_class; ?>> <legend><?php _e( 'Authentication Keys' ); ?></legend> <label for="public_key"> <span class="field-title"><?php _e( 'Public Key:' ); ?></span> <input name="public_key" type="text" id="public_key" aria-describedby="auth-keys-desc" value="<?php echo esc_attr( $public_key ); ?>"<?php disabled( defined( 'FTP_PUBKEY' ) ); ?> /> </label> <label for="private_key"> <span class="field-title"><?php _e( 'Private Key:' ); ?></span> <input name="private_key" type="text" id="private_key" value="<?php echo esc_attr( $private_key ); ?>"<?php disabled( defined( 'FTP_PRIKEY' ) ); ?> /> </label> <p id="auth-keys-desc"><?php _e( 'Enter the location on the server where the public and private keys are located. If a passphrase is needed, enter that in the password field above.' ); ?></p> </fieldset> <?php } foreach ( (array) $extra_fields as $field ) { if ( isset( $submitted_form[ $field ] ) ) { echo '<input type="hidden" name="' . esc_attr( $field ) . '" value="' . esc_attr( $submitted_form[ $field ] ) . '" />'; } } /* * Make sure the `submit_button()` function is available during the REST API call * from WP_Site_Health_Auto_Updates::test_check_wp_filesystem_method(). */ if ( ! function_exists( 'submit_button' ) ) { require_once ABSPATH . 'wp-admin/includes/template.php'; } ?> <p class="request-filesystem-credentials-action-buttons"> <?php wp_nonce_field( 'filesystem-credentials', '_fs_nonce', false, true ); ?> <button class="button cancel-button" data-js-action="close" type="button"><?php _e( 'Cancel' ); ?></button> <?php submit_button( __( 'Proceed' ), 'primary', 'upgrade', false ); ?> </p> </div> </form> <?php return false; } /** * Prints the filesystem credentials modal when needed. * * @since 4.2.0 */ function wp_print_request_filesystem_credentials_modal() { $filesystem_method = get_filesystem_method(); ob_start(); $filesystem_credentials_are_stored = request_filesystem_credentials( self_admin_url() ); ob_end_clean(); $request_filesystem_credentials = ( 'direct' !== $filesystem_method && ! $filesystem_credentials_are_stored ); if ( ! $request_filesystem_credentials ) { return; } ?> <div id="request-filesystem-credentials-dialog" class="notification-dialog-wrap request-filesystem-credentials-dialog"> <div class="notification-dialog-background"></div> <div class="notification-dialog" role="dialog" aria-labelledby="request-filesystem-credentials-title" tabindex="0"> <div class="request-filesystem-credentials-dialog-content"> <?php request_filesystem_credentials( site_url() ); ?> </div> </div> </div> <?php } /** * Attempts to clear the opcode cache for an individual PHP file. * * This function can be called safely without having to check the file extension * or availability of the OPcache extension. * * Whether or not invalidation is possible is cached to improve performance. * * @since 5.5.0 * * @link https://www.php.net/manual/en/function.opcache-invalidate.php * * @param string $filepath Path to the file, including extension, for which the opcode cache is to be cleared. * @param bool $force Invalidate even if the modification time is not newer than the file in cache. * Default false. * @return bool True if opcache was invalidated for `$filepath`, or there was nothing to invalidate. * False if opcache invalidation is not available, or is disabled via filter. */ function wp_opcache_invalidate( $filepath, $force = false ) { static $can_invalidate = null; /* * Check to see if WordPress is able to run `opcache_invalidate()` or not, and cache the value. * * First, check to see if the function is available to call, then if the host has restricted * the ability to run the function to avoid a PHP warning. * * `opcache.restrict_api` can specify the path for files allowed to call `opcache_invalidate()`. * * If the host has this set, check whether the path in `opcache.restrict_api` matches * the beginning of the path of the origin file. * * `$_SERVER['SCRIPT_FILENAME']` approximates the origin file's path, but `realpath()` * is necessary because `SCRIPT_FILENAME` can be a relative path when run from CLI. * * For more details, see: * - https://www.php.net/manual/en/opcache.configuration.php * - https://www.php.net/manual/en/reserved.variables.server.php * - https://core.trac.wordpress.org/ticket/36455 */ if ( null === $can_invalidate && function_exists( 'opcache_invalidate' ) && ( ! ini_get( 'opcache.restrict_api' ) || stripos( realpath( $_SERVER['SCRIPT_FILENAME'] ), ini_get( 'opcache.restrict_api' ) ) === 0 ) ) { $can_invalidate = true; } // If invalidation is not available, return early. if ( ! $can_invalidate ) { return false; } // Verify that file to be invalidated has a PHP extension. if ( '.php' !== strtolower( substr( $filepath, -4 ) ) ) { return false; } /** * Filters whether to invalidate a file from the opcode cache. * * @since 5.5.0 * * @param bool $will_invalidate Whether WordPress will invalidate `$filepath`. Default true. * @param string $filepath The path to the PHP file to invalidate. */ if ( apply_filters( 'wp_opcache_invalidate_file', true, $filepath ) ) { return opcache_invalidate( $filepath, $force ); } return false; } /** * Attempts to clear the opcode cache for a directory of files. * * @since 6.2.0 * * @see wp_opcache_invalidate() * @link https://www.php.net/manual/en/function.opcache-invalidate.php * * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass. * * @param string $dir The path to the directory for which the opcode cache is to be cleared. */ function wp_opcache_invalidate_directory( $dir ) { global $wp_filesystem; if ( ! is_string( $dir ) || '' === trim( $dir ) ) { if ( WP_DEBUG ) { $error_message = sprintf( /* translators: %s: The function name. */ __( '%s expects a non-empty string.' ), '<code>wp_opcache_invalidate_directory()</code>' ); wp_trigger_error( '', $error_message ); } return; } $dirlist = $wp_filesystem->dirlist( $dir, false, true ); if ( empty( $dirlist ) ) { return; } /* * Recursively invalidate opcache of files in a directory. * * WP_Filesystem_*::dirlist() returns an array of file and directory information. * * This does not include a path to the file or directory. * To invalidate files within sub-directories, recursion is needed * to prepend an absolute path containing the sub-directory's name. * * @param array $dirlist Array of file/directory information from WP_Filesystem_Base::dirlist(), * with sub-directories represented as nested arrays. * @param string $path Absolute path to the directory. */ $invalidate_directory = static function ( $dirlist, $path ) use ( &$invalidate_directory ) { $path = trailingslashit( $path ); foreach ( $dirlist as $name => $details ) { if ( 'f' === $details['type'] ) { wp_opcache_invalidate( $path . $name, true ); } elseif ( is_array( $details['files'] ) && ! empty( $details['files'] ) ) { $invalidate_directory( $details['files'], $path . $name ); } } }; $invalidate_directory( $dirlist, $dir ); } translation-install.php 0000644 00000025503 14735706075 0011302 0 ustar 00 <?php /** * WordPress Translation Installation Administration API * * @package WordPress * @subpackage Administration */ /** * Retrieve translations from WordPress Translation API. * * @since 4.0.0 * * @param string $type Type of translations. Accepts 'plugins', 'themes', 'core'. * @param array|object $args Translation API arguments. Optional. * @return array|WP_Error { * On success an associative array of translations, WP_Error on failure. * * @type array $translations { * List of translations, each an array of data. * * @type array ...$0 { * @type string $language Language code. * @type string $version WordPress version. * @type string $updated Date the translation was last updated, in MySQL datetime format. * @type string $english_name English name of the language. * @type string $native_name Native name of the language. * @type string $package URL to download the translation package. * @type string[] $iso Array of ISO language codes. * @type array $strings Array of translated strings used in the installation process. * } * } * } */ function translations_api( $type, $args = null ) { if ( ! in_array( $type, array( 'plugins', 'themes', 'core' ), true ) ) { return new WP_Error( 'invalid_type', __( 'Invalid translation type.' ) ); } /** * Allows a plugin to override the WordPress.org Translation Installation API entirely. * * @since 4.0.0 * * @param false|array $result The result array. Default false. * @param string $type The type of translations being requested. * @param object $args Translation API arguments. */ $res = apply_filters( 'translations_api', false, $type, $args ); if ( false === $res ) { $url = 'http://api.wordpress.org/translations/' . $type . '/1.0/'; $http_url = $url; $ssl = wp_http_supports( array( 'ssl' ) ); if ( $ssl ) { $url = set_url_scheme( $url, 'https' ); } $options = array( 'timeout' => 3, 'body' => array( 'wp_version' => wp_get_wp_version(), 'locale' => get_locale(), 'version' => $args['version'], // Version of plugin, theme or core. ), ); if ( 'core' !== $type ) { $options['body']['slug'] = $args['slug']; // Plugin or theme slug. } $request = wp_remote_post( $url, $options ); if ( $ssl && is_wp_error( $request ) ) { wp_trigger_error( __FUNCTION__, sprintf( /* translators: %s: Support forums URL. */ __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server’s configuration. If you continue to have problems, please try the <a href="%s">support forums</a>.' ), __( 'https://wordpress.org/support/forums/' ) ) . ' ' . __( '(WordPress could not establish a secure connection to WordPress.org. Please contact your server administrator.)' ), headers_sent() || WP_DEBUG ? E_USER_WARNING : E_USER_NOTICE ); $request = wp_remote_post( $http_url, $options ); } if ( is_wp_error( $request ) ) { $res = new WP_Error( 'translations_api_failed', sprintf( /* translators: %s: Support forums URL. */ __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server’s configuration. If you continue to have problems, please try the <a href="%s">support forums</a>.' ), __( 'https://wordpress.org/support/forums/' ) ), $request->get_error_message() ); } else { $res = json_decode( wp_remote_retrieve_body( $request ), true ); if ( ! is_object( $res ) && ! is_array( $res ) ) { $res = new WP_Error( 'translations_api_failed', sprintf( /* translators: %s: Support forums URL. */ __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server’s configuration. If you continue to have problems, please try the <a href="%s">support forums</a>.' ), __( 'https://wordpress.org/support/forums/' ) ), wp_remote_retrieve_body( $request ) ); } } } /** * Filters the Translation Installation API response results. * * @since 4.0.0 * * @param array|WP_Error $res { * On success an associative array of translations, WP_Error on failure. * * @type array $translations { * List of translations, each an array of data. * * @type array ...$0 { * @type string $language Language code. * @type string $version WordPress version. * @type string $updated Date the translation was last updated, in MySQL datetime format. * @type string $english_name English name of the language. * @type string $native_name Native name of the language. * @type string $package URL to download the translation package. * @type string[] $iso Array of ISO language codes. * @type array $strings Array of translated strings used in the installation process. * } * } * } * @param string $type The type of translations being requested. * @param object $args Translation API arguments. */ return apply_filters( 'translations_api_result', $res, $type, $args ); } /** * Get available translations from the WordPress.org API. * * @since 4.0.0 * * @see translations_api() * * @return array { * Array of translations keyed by the language code, each an associative array of data. * If the API response results in an error, an empty array will be returned. * * @type array ...$0 { * @type string $language Language code. * @type string $version WordPress version. * @type string $updated Date the translation was last updated, in MySQL datetime format. * @type string $english_name English name of the language. * @type string $native_name Native name of the language. * @type string $package URL to download the translation package. * @type string[] $iso Array of ISO language codes. * @type array $strings Array of translated strings used in the installation process. * } * } */ function wp_get_available_translations() { if ( ! wp_installing() ) { $translations = get_site_transient( 'available_translations' ); if ( false !== $translations ) { return $translations; } } $api = translations_api( 'core', array( 'version' => wp_get_wp_version() ) ); if ( is_wp_error( $api ) || empty( $api['translations'] ) ) { return array(); } $translations = array(); // Key the array with the language code. foreach ( $api['translations'] as $translation ) { $translations[ $translation['language'] ] = $translation; } if ( ! defined( 'WP_INSTALLING' ) ) { set_site_transient( 'available_translations', $translations, 3 * HOUR_IN_SECONDS ); } return $translations; } /** * Output the select form for the language selection on the installation screen. * * @since 4.0.0 * * @global string $wp_local_package Locale code of the package. * * @param array[] $languages Array of available languages (populated via the Translation API). */ function wp_install_language_form( $languages ) { global $wp_local_package; $installed_languages = get_available_languages(); echo "<label class='screen-reader-text' for='language'>Select a default language</label>\n"; echo "<select size='14' name='language' id='language'>\n"; echo '<option value="" lang="en" selected="selected" data-continue="Continue" data-installed="1">English (United States)</option>'; echo "\n"; if ( ! empty( $wp_local_package ) && isset( $languages[ $wp_local_package ] ) ) { if ( isset( $languages[ $wp_local_package ] ) ) { $language = $languages[ $wp_local_package ]; printf( '<option value="%s" lang="%s" data-continue="%s"%s>%s</option>' . "\n", esc_attr( $language['language'] ), esc_attr( current( $language['iso'] ) ), esc_attr( $language['strings']['continue'] ? $language['strings']['continue'] : 'Continue' ), in_array( $language['language'], $installed_languages, true ) ? ' data-installed="1"' : '', esc_html( $language['native_name'] ) ); unset( $languages[ $wp_local_package ] ); } } foreach ( $languages as $language ) { printf( '<option value="%s" lang="%s" data-continue="%s"%s>%s</option>' . "\n", esc_attr( $language['language'] ), esc_attr( current( $language['iso'] ) ), esc_attr( $language['strings']['continue'] ? $language['strings']['continue'] : 'Continue' ), in_array( $language['language'], $installed_languages, true ) ? ' data-installed="1"' : '', esc_html( $language['native_name'] ) ); } echo "</select>\n"; echo '<p class="step"><span class="spinner"></span><input id="language-continue" type="submit" class="button button-primary button-large" value="Continue" /></p>'; } /** * Download a language pack. * * @since 4.0.0 * * @see wp_get_available_translations() * * @param string $download Language code to download. * @return string|false Returns the language code if successfully downloaded * (or already installed), or false on failure. */ function wp_download_language_pack( $download ) { // Check if the translation is already installed. if ( in_array( $download, get_available_languages(), true ) ) { return $download; } if ( ! wp_is_file_mod_allowed( 'download_language_pack' ) ) { return false; } // Confirm the translation is one we can download. $translations = wp_get_available_translations(); if ( ! $translations ) { return false; } foreach ( $translations as $translation ) { if ( $translation['language'] === $download ) { $translation_to_load = true; break; } } if ( empty( $translation_to_load ) ) { return false; } $translation = (object) $translation; require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; $skin = new Automatic_Upgrader_Skin(); $upgrader = new Language_Pack_Upgrader( $skin ); $translation->type = 'core'; $result = $upgrader->upgrade( $translation, array( 'clear_update_cache' => false ) ); if ( ! $result || is_wp_error( $result ) ) { return false; } return $translation->language; } /** * Check if WordPress has access to the filesystem without asking for * credentials. * * @since 4.0.0 * * @return bool Returns true on success, false on failure. */ function wp_can_install_language_pack() { if ( ! wp_is_file_mod_allowed( 'can_install_language_pack' ) ) { return false; } require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; $skin = new Automatic_Upgrader_Skin(); $upgrader = new Language_Pack_Upgrader( $skin ); $upgrader->init(); $check = $upgrader->fs_connect( array( WP_CONTENT_DIR, WP_LANG_DIR ) ); if ( ! $check || is_wp_error( $check ) ) { return false; } return true; } revision.php 0000644 00000040160 14735706075 0007132 0 ustar 00 <?php /** * WordPress Administration Revisions API * * @package WordPress * @subpackage Administration * @since 3.6.0 */ /** * Get the revision UI diff. * * @since 3.6.0 * * @param WP_Post|int $post The post object or post ID. * @param int $compare_from The revision ID to compare from. * @param int $compare_to The revision ID to come to. * @return array|false Associative array of a post's revisioned fields and their diffs. * Or, false on failure. */ function wp_get_revision_ui_diff( $post, $compare_from, $compare_to ) { $post = get_post( $post ); if ( ! $post ) { return false; } if ( $compare_from ) { $compare_from = get_post( $compare_from ); if ( ! $compare_from ) { return false; } } else { // If we're dealing with the first revision... $compare_from = false; } $compare_to = get_post( $compare_to ); if ( ! $compare_to ) { return false; } /* * If comparing revisions, make sure we are dealing with the right post parent. * The parent post may be a 'revision' when revisions are disabled and we're looking at autosaves. */ if ( $compare_from && $compare_from->post_parent !== $post->ID && $compare_from->ID !== $post->ID ) { return false; } if ( $compare_to->post_parent !== $post->ID && $compare_to->ID !== $post->ID ) { return false; } if ( $compare_from && strtotime( $compare_from->post_date_gmt ) > strtotime( $compare_to->post_date_gmt ) ) { $temp = $compare_from; $compare_from = $compare_to; $compare_to = $temp; } // Add default title if title field is empty. if ( $compare_from && empty( $compare_from->post_title ) ) { $compare_from->post_title = __( '(no title)' ); } if ( empty( $compare_to->post_title ) ) { $compare_to->post_title = __( '(no title)' ); } $return = array(); foreach ( _wp_post_revision_fields( $post ) as $field => $name ) { /** * Contextually filter a post revision field. * * The dynamic portion of the hook name, `$field`, corresponds to a name of a * field of the revision object. * * Possible hook names include: * * - `_wp_post_revision_field_post_title` * - `_wp_post_revision_field_post_content` * - `_wp_post_revision_field_post_excerpt` * * @since 3.6.0 * * @param string $revision_field The current revision field to compare to or from. * @param string $field The current revision field. * @param WP_Post $compare_from The revision post object to compare to or from. * @param string $context The context of whether the current revision is the old * or the new one. Either 'to' or 'from'. */ $content_from = $compare_from ? apply_filters( "_wp_post_revision_field_{$field}", $compare_from->$field, $field, $compare_from, 'from' ) : ''; /** This filter is documented in wp-admin/includes/revision.php */ $content_to = apply_filters( "_wp_post_revision_field_{$field}", $compare_to->$field, $field, $compare_to, 'to' ); $args = array( 'show_split_view' => true, 'title_left' => __( 'Removed' ), 'title_right' => __( 'Added' ), ); /** * Filters revisions text diff options. * * Filters the options passed to wp_text_diff() when viewing a post revision. * * @since 4.1.0 * * @param array $args { * Associative array of options to pass to wp_text_diff(). * * @type bool $show_split_view True for split view (two columns), false for * un-split view (single column). Default true. * } * @param string $field The current revision field. * @param WP_Post $compare_from The revision post to compare from. * @param WP_Post $compare_to The revision post to compare to. */ $args = apply_filters( 'revision_text_diff_options', $args, $field, $compare_from, $compare_to ); $diff = wp_text_diff( $content_from, $content_to, $args ); if ( ! $diff && 'post_title' === $field ) { /* * It's a better user experience to still show the Title, even if it didn't change. * No, you didn't see this. */ $diff = '<table class="diff"><colgroup><col class="content diffsplit left"><col class="content diffsplit middle"><col class="content diffsplit right"></colgroup><tbody><tr>'; // In split screen mode, show the title before/after side by side. if ( true === $args['show_split_view'] ) { $diff .= '<td>' . esc_html( $compare_from->post_title ) . '</td><td></td><td>' . esc_html( $compare_to->post_title ) . '</td>'; } else { $diff .= '<td>' . esc_html( $compare_from->post_title ) . '</td>'; // In single column mode, only show the title once if unchanged. if ( $compare_from->post_title !== $compare_to->post_title ) { $diff .= '</tr><tr><td>' . esc_html( $compare_to->post_title ) . '</td>'; } } $diff .= '</tr></tbody>'; $diff .= '</table>'; } if ( $diff ) { $return[] = array( 'id' => $field, 'name' => $name, 'diff' => $diff, ); } } /** * Filters the fields displayed in the post revision diff UI. * * @since 4.1.0 * * @param array[] $return Array of revision UI fields. Each item is an array of id, name, and diff. * @param WP_Post $compare_from The revision post to compare from. * @param WP_Post $compare_to The revision post to compare to. */ return apply_filters( 'wp_get_revision_ui_diff', $return, $compare_from, $compare_to ); } /** * Prepare revisions for JavaScript. * * @since 3.6.0 * * @param WP_Post|int $post The post object or post ID. * @param int $selected_revision_id The selected revision ID. * @param int $from Optional. The revision ID to compare from. * @return array An associative array of revision data and related settings. */ function wp_prepare_revisions_for_js( $post, $selected_revision_id, $from = null ) { $post = get_post( $post ); $authors = array(); $now_gmt = time(); $revisions = wp_get_post_revisions( $post->ID, array( 'order' => 'ASC', 'check_enabled' => false, ) ); // If revisions are disabled, we only want autosaves and the current post. if ( ! wp_revisions_enabled( $post ) ) { foreach ( $revisions as $revision_id => $revision ) { if ( ! wp_is_post_autosave( $revision ) ) { unset( $revisions[ $revision_id ] ); } } $revisions = array( $post->ID => $post ) + $revisions; } $show_avatars = get_option( 'show_avatars' ); update_post_author_caches( $revisions ); $can_restore = current_user_can( 'edit_post', $post->ID ); $current_id = false; foreach ( $revisions as $revision ) { $modified = strtotime( $revision->post_modified ); $modified_gmt = strtotime( $revision->post_modified_gmt . ' +0000' ); if ( $can_restore ) { $restore_link = str_replace( '&', '&', wp_nonce_url( add_query_arg( array( 'revision' => $revision->ID, 'action' => 'restore', ), admin_url( 'revision.php' ) ), "restore-post_{$revision->ID}" ) ); } if ( ! isset( $authors[ $revision->post_author ] ) ) { $authors[ $revision->post_author ] = array( 'id' => (int) $revision->post_author, 'avatar' => $show_avatars ? get_avatar( $revision->post_author, 32 ) : '', 'name' => get_the_author_meta( 'display_name', $revision->post_author ), ); } $autosave = (bool) wp_is_post_autosave( $revision ); $current = ! $autosave && $revision->post_modified_gmt === $post->post_modified_gmt; if ( $current && ! empty( $current_id ) ) { // If multiple revisions have the same post_modified_gmt, highest ID is current. if ( $current_id < $revision->ID ) { $revisions[ $current_id ]['current'] = false; $current_id = $revision->ID; } else { $current = false; } } elseif ( $current ) { $current_id = $revision->ID; } $revisions_data = array( 'id' => $revision->ID, 'title' => get_the_title( $post->ID ), 'author' => $authors[ $revision->post_author ], 'date' => date_i18n( __( 'M j, Y @ H:i' ), $modified ), 'dateShort' => date_i18n( _x( 'j M @ H:i', 'revision date short format' ), $modified ), /* translators: %s: Human-readable time difference. */ 'timeAgo' => sprintf( __( '%s ago' ), human_time_diff( $modified_gmt, $now_gmt ) ), 'autosave' => $autosave, 'current' => $current, 'restoreUrl' => $can_restore ? $restore_link : false, ); /** * Filters the array of revisions used on the revisions screen. * * @since 4.4.0 * * @param array $revisions_data { * The bootstrapped data for the revisions screen. * * @type int $id Revision ID. * @type string $title Title for the revision's parent WP_Post object. * @type int $author Revision post author ID. * @type string $date Date the revision was modified. * @type string $dateShort Short-form version of the date the revision was modified. * @type string $timeAgo GMT-aware amount of time ago the revision was modified. * @type bool $autosave Whether the revision is an autosave. * @type bool $current Whether the revision is both not an autosave and the post * modified date matches the revision modified date (GMT-aware). * @type bool|false $restoreUrl URL if the revision can be restored, false otherwise. * } * @param WP_Post $revision The revision's WP_Post object. * @param WP_Post $post The revision's parent WP_Post object. */ $revisions[ $revision->ID ] = apply_filters( 'wp_prepare_revision_for_js', $revisions_data, $revision, $post ); } /* * If we only have one revision, the initial revision is missing. This happens * when we have an autosave and the user has clicked 'View the Autosave'. */ if ( 1 === count( $revisions ) ) { $revisions[ $post->ID ] = array( 'id' => $post->ID, 'title' => get_the_title( $post->ID ), 'author' => $authors[ $revision->post_author ], 'date' => date_i18n( __( 'M j, Y @ H:i' ), strtotime( $post->post_modified ) ), 'dateShort' => date_i18n( _x( 'j M @ H:i', 'revision date short format' ), strtotime( $post->post_modified ) ), /* translators: %s: Human-readable time difference. */ 'timeAgo' => sprintf( __( '%s ago' ), human_time_diff( strtotime( $post->post_modified_gmt ), $now_gmt ) ), 'autosave' => false, 'current' => true, 'restoreUrl' => false, ); $current_id = $post->ID; } /* * If a post has been saved since the latest revision (no revisioned fields * were changed), we may not have a "current" revision. Mark the latest * revision as "current". */ if ( empty( $current_id ) ) { if ( $revisions[ $revision->ID ]['autosave'] ) { $revision = end( $revisions ); while ( $revision['autosave'] ) { $revision = prev( $revisions ); } $current_id = $revision['id']; } else { $current_id = $revision->ID; } $revisions[ $current_id ]['current'] = true; } // Now, grab the initial diff. $compare_two_mode = is_numeric( $from ); if ( ! $compare_two_mode ) { $found = array_search( $selected_revision_id, array_keys( $revisions ), true ); if ( $found ) { $from = array_keys( array_slice( $revisions, $found - 1, 1, true ) ); $from = reset( $from ); } else { $from = 0; } } $from = absint( $from ); $diffs = array( array( 'id' => $from . ':' . $selected_revision_id, 'fields' => wp_get_revision_ui_diff( $post->ID, $from, $selected_revision_id ), ), ); return array( 'postId' => $post->ID, 'nonce' => wp_create_nonce( 'revisions-ajax-nonce' ), 'revisionData' => array_values( $revisions ), 'to' => $selected_revision_id, 'from' => $from, 'diffData' => $diffs, 'baseUrl' => parse_url( admin_url( 'revision.php' ), PHP_URL_PATH ), 'compareTwoMode' => absint( $compare_two_mode ), // Apparently booleans are not allowed. 'revisionIds' => array_keys( $revisions ), ); } /** * Print JavaScript templates required for the revisions experience. * * @since 4.1.0 * * @global WP_Post $post Global post object. */ function wp_print_revision_templates() { global $post; ?><script id="tmpl-revisions-frame" type="text/html"> <div class="revisions-control-frame"></div> <div class="revisions-diff-frame"></div> </script> <script id="tmpl-revisions-buttons" type="text/html"> <div class="revisions-previous"> <input class="button" type="button" value="<?php echo esc_attr_x( 'Previous', 'Button label for a previous revision' ); ?>" /> </div> <div class="revisions-next"> <input class="button" type="button" value="<?php echo esc_attr_x( 'Next', 'Button label for a next revision' ); ?>" /> </div> </script> <script id="tmpl-revisions-slider-hidden-help" type="text/html"> <h2 class="screen-reader-text"><?php esc_html_e( 'Select a revision' ); ?></h2> <p id="revisions-slider-hidden-help" hidden><?php esc_html_e( 'Change revision by using the left and right arrow keys' ); ?></p> </script> <script id="tmpl-revisions-checkbox" type="text/html"> <div class="revision-toggle-compare-mode"> <label> <input type="checkbox" class="compare-two-revisions" <# if ( 'undefined' !== typeof data && data.model.attributes.compareTwoMode ) { #> checked="checked"<# } #> /> <?php esc_html_e( 'Compare any two revisions' ); ?> </label> </div> </script> <script id="tmpl-revisions-meta" type="text/html"> <# if ( ! _.isUndefined( data.attributes ) ) { #> <div class="diff-title"> <# if ( 'from' === data.type ) { #> <strong id="diff-title-from"><?php _ex( 'From:', 'Followed by post revision info' ); ?></strong> <# } else if ( 'to' === data.type ) { #> <strong id="diff-title-to"><?php _ex( 'To:', 'Followed by post revision info' ); ?></strong> <# } #> <div class="author-card<# if ( data.attributes.autosave ) { #> autosave<# } #>"> {{{ data.attributes.author.avatar }}} <div class="author-info" id="diff-title-author"> <# if ( data.attributes.autosave ) { #> <span class="byline"> <?php printf( /* translators: %s: User's display name. */ __( 'Autosave by %s' ), '<span class="author-name">{{ data.attributes.author.name }}</span>' ); ?> </span> <# } else if ( data.attributes.current ) { #> <span class="byline"> <?php printf( /* translators: %s: User's display name. */ __( 'Current Revision by %s' ), '<span class="author-name">{{ data.attributes.author.name }}</span>' ); ?> </span> <# } else { #> <span class="byline"> <?php printf( /* translators: %s: User's display name. */ __( 'Revision by %s' ), '<span class="author-name">{{ data.attributes.author.name }}</span>' ); ?> </span> <# } #> <span class="time-ago">{{ data.attributes.timeAgo }}</span> <span class="date">({{ data.attributes.dateShort }})</span> </div> <# if ( 'to' === data.type && data.attributes.restoreUrl ) { #> <input <?php if ( wp_check_post_lock( $post->ID ) ) { ?> disabled="disabled" <?php } else { ?> <# if ( data.attributes.current ) { #> disabled="disabled" <# } #> <?php } ?> <# if ( data.attributes.autosave ) { #> type="button" class="restore-revision button button-primary" value="<?php esc_attr_e( 'Restore This Autosave' ); ?>" /> <# } else { #> type="button" class="restore-revision button button-primary" value="<?php esc_attr_e( 'Restore This Revision' ); ?>" /> <# } #> <# } #> </div> <# if ( 'tooltip' === data.type ) { #> <div class="revisions-tooltip-arrow"><span></span></div> <# } #> <# } #> </script> <script id="tmpl-revisions-diff" type="text/html"> <div class="loading-indicator"><span class="spinner"></span></div> <div class="diff-error"><?php _e( 'Sorry, something went wrong. The requested comparison could not be loaded.' ); ?></div> <div class="diff"> <# _.each( data.fields, function( field ) { #> <h2>{{ field.name }}</h2> {{{ field.diff }}} <# }); #> </div> </script> <?php } class-pclzip.php 0000644 00000600134 14735706075 0007703 0 ustar 00 <?php // -------------------------------------------------------------------------------- // PhpConcept Library - Zip Module 2.8.2 // -------------------------------------------------------------------------------- // License GNU/LGPL - Vincent Blavet - August 2009 // http://www.phpconcept.net // -------------------------------------------------------------------------------- // // Presentation : // PclZip is a PHP library that manage ZIP archives. // So far tests show that archives generated by PclZip are readable by // WinZip application and other tools. // // Description : // See readme.txt and http://www.phpconcept.net // // Warning : // This library and the associated files are non commercial, non professional // work. // It should not have unexpected results. However if any damage is caused by // this software the author can not be responsible. // The use of this software is at the risk of the user. // // -------------------------------------------------------------------------------- // $Id: pclzip.lib.php,v 1.60 2009/09/30 21:01:04 vblavet Exp $ // -------------------------------------------------------------------------------- // ----- Constants if (!defined('PCLZIP_READ_BLOCK_SIZE')) { define( 'PCLZIP_READ_BLOCK_SIZE', 2048 ); } // ----- File list separator // In version 1.x of PclZip, the separator for file list is a space // (which is not a very smart choice, specifically for windows paths !). // A better separator should be a comma (,). This constant gives you the // ability to change that. // However notice that changing this value, may have impact on existing // scripts, using space separated filenames. // Recommended values for compatibility with older versions : //define( 'PCLZIP_SEPARATOR', ' ' ); // Recommended values for smart separation of filenames. if (!defined('PCLZIP_SEPARATOR')) { define( 'PCLZIP_SEPARATOR', ',' ); } // ----- Error configuration // 0 : PclZip Class integrated error handling // 1 : PclError external library error handling. By enabling this // you must ensure that you have included PclError library. // [2,...] : reserved for future use if (!defined('PCLZIP_ERROR_EXTERNAL')) { define( 'PCLZIP_ERROR_EXTERNAL', 0 ); } // ----- Optional static temporary directory // By default temporary files are generated in the script current // path. // If defined : // - MUST BE terminated by a '/'. // - MUST be a valid, already created directory // Samples : // define( 'PCLZIP_TEMPORARY_DIR', '/temp/' ); // define( 'PCLZIP_TEMPORARY_DIR', 'C:/Temp/' ); if (!defined('PCLZIP_TEMPORARY_DIR')) { define( 'PCLZIP_TEMPORARY_DIR', '' ); } // ----- Optional threshold ratio for use of temporary files // Pclzip sense the size of the file to add/extract and decide to // use or not temporary file. The algorithm is looking for // memory_limit of PHP and apply a ratio. // threshold = memory_limit * ratio. // Recommended values are under 0.5. Default 0.47. // Samples : // define( 'PCLZIP_TEMPORARY_FILE_RATIO', 0.5 ); if (!defined('PCLZIP_TEMPORARY_FILE_RATIO')) { define( 'PCLZIP_TEMPORARY_FILE_RATIO', 0.47 ); } // -------------------------------------------------------------------------------- // ***** UNDER THIS LINE NOTHING NEEDS TO BE MODIFIED ***** // -------------------------------------------------------------------------------- // ----- Global variables $g_pclzip_version = "2.8.2"; // ----- Error codes // -1 : Unable to open file in binary write mode // -2 : Unable to open file in binary read mode // -3 : Invalid parameters // -4 : File does not exist // -5 : Filename is too long (max. 255) // -6 : Not a valid zip file // -7 : Invalid extracted file size // -8 : Unable to create directory // -9 : Invalid archive extension // -10 : Invalid archive format // -11 : Unable to delete file (unlink) // -12 : Unable to rename file (rename) // -13 : Invalid header checksum // -14 : Invalid archive size define( 'PCLZIP_ERR_USER_ABORTED', 2 ); define( 'PCLZIP_ERR_NO_ERROR', 0 ); define( 'PCLZIP_ERR_WRITE_OPEN_FAIL', -1 ); define( 'PCLZIP_ERR_READ_OPEN_FAIL', -2 ); define( 'PCLZIP_ERR_INVALID_PARAMETER', -3 ); define( 'PCLZIP_ERR_MISSING_FILE', -4 ); define( 'PCLZIP_ERR_FILENAME_TOO_LONG', -5 ); define( 'PCLZIP_ERR_INVALID_ZIP', -6 ); define( 'PCLZIP_ERR_BAD_EXTRACTED_FILE', -7 ); define( 'PCLZIP_ERR_DIR_CREATE_FAIL', -8 ); define( 'PCLZIP_ERR_BAD_EXTENSION', -9 ); define( 'PCLZIP_ERR_BAD_FORMAT', -10 ); define( 'PCLZIP_ERR_DELETE_FILE_FAIL', -11 ); define( 'PCLZIP_ERR_RENAME_FILE_FAIL', -12 ); define( 'PCLZIP_ERR_BAD_CHECKSUM', -13 ); define( 'PCLZIP_ERR_INVALID_ARCHIVE_ZIP', -14 ); define( 'PCLZIP_ERR_MISSING_OPTION_VALUE', -15 ); define( 'PCLZIP_ERR_INVALID_OPTION_VALUE', -16 ); define( 'PCLZIP_ERR_ALREADY_A_DIRECTORY', -17 ); define( 'PCLZIP_ERR_UNSUPPORTED_COMPRESSION', -18 ); define( 'PCLZIP_ERR_UNSUPPORTED_ENCRYPTION', -19 ); define( 'PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE', -20 ); define( 'PCLZIP_ERR_DIRECTORY_RESTRICTION', -21 ); // ----- Options values define( 'PCLZIP_OPT_PATH', 77001 ); define( 'PCLZIP_OPT_ADD_PATH', 77002 ); define( 'PCLZIP_OPT_REMOVE_PATH', 77003 ); define( 'PCLZIP_OPT_REMOVE_ALL_PATH', 77004 ); define( 'PCLZIP_OPT_SET_CHMOD', 77005 ); define( 'PCLZIP_OPT_EXTRACT_AS_STRING', 77006 ); define( 'PCLZIP_OPT_NO_COMPRESSION', 77007 ); define( 'PCLZIP_OPT_BY_NAME', 77008 ); define( 'PCLZIP_OPT_BY_INDEX', 77009 ); define( 'PCLZIP_OPT_BY_EREG', 77010 ); define( 'PCLZIP_OPT_BY_PREG', 77011 ); define( 'PCLZIP_OPT_COMMENT', 77012 ); define( 'PCLZIP_OPT_ADD_COMMENT', 77013 ); define( 'PCLZIP_OPT_PREPEND_COMMENT', 77014 ); define( 'PCLZIP_OPT_EXTRACT_IN_OUTPUT', 77015 ); define( 'PCLZIP_OPT_REPLACE_NEWER', 77016 ); define( 'PCLZIP_OPT_STOP_ON_ERROR', 77017 ); // Having big trouble with crypt. Need to multiply 2 long int // which is not correctly supported by PHP ... //define( 'PCLZIP_OPT_CRYPT', 77018 ); define( 'PCLZIP_OPT_EXTRACT_DIR_RESTRICTION', 77019 ); define( 'PCLZIP_OPT_TEMP_FILE_THRESHOLD', 77020 ); define( 'PCLZIP_OPT_ADD_TEMP_FILE_THRESHOLD', 77020 ); // alias define( 'PCLZIP_OPT_TEMP_FILE_ON', 77021 ); define( 'PCLZIP_OPT_ADD_TEMP_FILE_ON', 77021 ); // alias define( 'PCLZIP_OPT_TEMP_FILE_OFF', 77022 ); define( 'PCLZIP_OPT_ADD_TEMP_FILE_OFF', 77022 ); // alias // ----- File description attributes define( 'PCLZIP_ATT_FILE_NAME', 79001 ); define( 'PCLZIP_ATT_FILE_NEW_SHORT_NAME', 79002 ); define( 'PCLZIP_ATT_FILE_NEW_FULL_NAME', 79003 ); define( 'PCLZIP_ATT_FILE_MTIME', 79004 ); define( 'PCLZIP_ATT_FILE_CONTENT', 79005 ); define( 'PCLZIP_ATT_FILE_COMMENT', 79006 ); // ----- Call backs values define( 'PCLZIP_CB_PRE_EXTRACT', 78001 ); define( 'PCLZIP_CB_POST_EXTRACT', 78002 ); define( 'PCLZIP_CB_PRE_ADD', 78003 ); define( 'PCLZIP_CB_POST_ADD', 78004 ); /* For future use define( 'PCLZIP_CB_PRE_LIST', 78005 ); define( 'PCLZIP_CB_POST_LIST', 78006 ); define( 'PCLZIP_CB_PRE_DELETE', 78007 ); define( 'PCLZIP_CB_POST_DELETE', 78008 ); */ // -------------------------------------------------------------------------------- // Class : PclZip // Description : // PclZip is the class that represent a Zip archive. // The public methods allow the manipulation of the archive. // Attributes : // Attributes must not be accessed directly. // Methods : // PclZip() : Object creator // create() : Creates the Zip archive // listContent() : List the content of the Zip archive // extract() : Extract the content of the archive // properties() : List the properties of the archive // -------------------------------------------------------------------------------- class PclZip { // ----- Filename of the zip file var $zipname = ''; // ----- File descriptor of the zip file var $zip_fd = 0; // ----- Internal error handling var $error_code = 1; var $error_string = ''; // ----- Current status of the magic_quotes_runtime // This value store the php configuration for magic_quotes // The class can then disable the magic_quotes and reset it after var $magic_quotes_status; // -------------------------------------------------------------------------------- // Function : PclZip() // Description : // Creates a PclZip object and set the name of the associated Zip archive // filename. // Note that no real action is taken, if the archive does not exist it is not // created. Use create() for that. // -------------------------------------------------------------------------------- function __construct($p_zipname) { // ----- Tests the zlib if (!function_exists('gzopen')) { die('Abort '.basename(__FILE__).' : Missing zlib extensions'); } // ----- Set the attributes $this->zipname = $p_zipname; $this->zip_fd = 0; $this->magic_quotes_status = -1; // ----- Return return; } public function PclZip($p_zipname) { self::__construct($p_zipname); } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : // create($p_filelist, $p_add_dir="", $p_remove_dir="") // create($p_filelist, $p_option, $p_option_value, ...) // Description : // This method supports two different synopsis. The first one is historical. // This method creates a Zip Archive. The Zip file is created in the // filesystem. The files and directories indicated in $p_filelist // are added in the archive. See the parameters description for the // supported format of $p_filelist. // When a directory is in the list, the directory and its content is added // in the archive. // In this synopsis, the function takes an optional variable list of // options. See below the supported options. // Parameters : // $p_filelist : An array containing file or directory names, or // a string containing one filename or one directory name, or // a string containing a list of filenames and/or directory // names separated by spaces. // $p_add_dir : A path to add before the real path of the archived file, // in order to have it memorized in the archive. // $p_remove_dir : A path to remove from the real path of the file to archive, // in order to have a shorter path memorized in the archive. // When $p_add_dir and $p_remove_dir are set, $p_remove_dir // is removed first, before $p_add_dir is added. // Options : // PCLZIP_OPT_ADD_PATH : // PCLZIP_OPT_REMOVE_PATH : // PCLZIP_OPT_REMOVE_ALL_PATH : // PCLZIP_OPT_COMMENT : // PCLZIP_CB_PRE_ADD : // PCLZIP_CB_POST_ADD : // Return Values : // 0 on failure, // The list of the added files, with a status of the add action. // (see PclZip::listContent() for list entry format) // -------------------------------------------------------------------------------- function create($p_filelist) { $v_result=1; // ----- Reset the error handler $this->privErrorReset(); // ----- Set default values $v_options = array(); $v_options[PCLZIP_OPT_NO_COMPRESSION] = FALSE; // ----- Look for variable options arguments $v_size = func_num_args(); // ----- Look for arguments if ($v_size > 1) { // ----- Get the arguments $v_arg_list = func_get_args(); // ----- Remove from the options list the first argument array_shift($v_arg_list); $v_size--; // ----- Look for first arg if ((is_integer($v_arg_list[0])) && ($v_arg_list[0] > 77000)) { // ----- Parse the options $v_result = $this->privParseOptions($v_arg_list, $v_size, $v_options, array (PCLZIP_OPT_REMOVE_PATH => 'optional', PCLZIP_OPT_REMOVE_ALL_PATH => 'optional', PCLZIP_OPT_ADD_PATH => 'optional', PCLZIP_CB_PRE_ADD => 'optional', PCLZIP_CB_POST_ADD => 'optional', PCLZIP_OPT_NO_COMPRESSION => 'optional', PCLZIP_OPT_COMMENT => 'optional', PCLZIP_OPT_TEMP_FILE_THRESHOLD => 'optional', PCLZIP_OPT_TEMP_FILE_ON => 'optional', PCLZIP_OPT_TEMP_FILE_OFF => 'optional' //, PCLZIP_OPT_CRYPT => 'optional' )); if ($v_result != 1) { return 0; } } // ----- Look for 2 args // Here we need to support the first historic synopsis of the // method. else { // ----- Get the first argument $v_options[PCLZIP_OPT_ADD_PATH] = $v_arg_list[0]; // ----- Look for the optional second argument if ($v_size == 2) { $v_options[PCLZIP_OPT_REMOVE_PATH] = $v_arg_list[1]; } else if ($v_size > 2) { PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid number / type of arguments"); return 0; } } } // ----- Look for default option values $this->privOptionDefaultThreshold($v_options); // ----- Init $v_string_list = array(); $v_att_list = array(); $v_filedescr_list = array(); $p_result_list = array(); // ----- Look if the $p_filelist is really an array if (is_array($p_filelist)) { // ----- Look if the first element is also an array // This will mean that this is a file description entry if (isset($p_filelist[0]) && is_array($p_filelist[0])) { $v_att_list = $p_filelist; } // ----- The list is a list of string names else { $v_string_list = $p_filelist; } } // ----- Look if the $p_filelist is a string else if (is_string($p_filelist)) { // ----- Create a list from the string $v_string_list = explode(PCLZIP_SEPARATOR, $p_filelist); } // ----- Invalid variable type for $p_filelist else { PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid variable type p_filelist"); return 0; } // ----- Reformat the string list if (sizeof($v_string_list) != 0) { foreach ($v_string_list as $v_string) { if ($v_string != '') { $v_att_list[][PCLZIP_ATT_FILE_NAME] = $v_string; } else { } } } // ----- For each file in the list check the attributes $v_supported_attributes = array ( PCLZIP_ATT_FILE_NAME => 'mandatory' ,PCLZIP_ATT_FILE_NEW_SHORT_NAME => 'optional' ,PCLZIP_ATT_FILE_NEW_FULL_NAME => 'optional' ,PCLZIP_ATT_FILE_MTIME => 'optional' ,PCLZIP_ATT_FILE_CONTENT => 'optional' ,PCLZIP_ATT_FILE_COMMENT => 'optional' ); foreach ($v_att_list as $v_entry) { $v_result = $this->privFileDescrParseAtt($v_entry, $v_filedescr_list[], $v_options, $v_supported_attributes); if ($v_result != 1) { return 0; } } // ----- Expand the filelist (expand directories) $v_result = $this->privFileDescrExpand($v_filedescr_list, $v_options); if ($v_result != 1) { return 0; } // ----- Call the create fct $v_result = $this->privCreate($v_filedescr_list, $p_result_list, $v_options); if ($v_result != 1) { return 0; } // ----- Return return $p_result_list; } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : // add($p_filelist, $p_add_dir="", $p_remove_dir="") // add($p_filelist, $p_option, $p_option_value, ...) // Description : // This method supports two synopsis. The first one is historical. // This methods add the list of files in an existing archive. // If a file with the same name already exists, it is added at the end of the // archive, the first one is still present. // If the archive does not exist, it is created. // Parameters : // $p_filelist : An array containing file or directory names, or // a string containing one filename or one directory name, or // a string containing a list of filenames and/or directory // names separated by spaces. // $p_add_dir : A path to add before the real path of the archived file, // in order to have it memorized in the archive. // $p_remove_dir : A path to remove from the real path of the file to archive, // in order to have a shorter path memorized in the archive. // When $p_add_dir and $p_remove_dir are set, $p_remove_dir // is removed first, before $p_add_dir is added. // Options : // PCLZIP_OPT_ADD_PATH : // PCLZIP_OPT_REMOVE_PATH : // PCLZIP_OPT_REMOVE_ALL_PATH : // PCLZIP_OPT_COMMENT : // PCLZIP_OPT_ADD_COMMENT : // PCLZIP_OPT_PREPEND_COMMENT : // PCLZIP_CB_PRE_ADD : // PCLZIP_CB_POST_ADD : // Return Values : // 0 on failure, // The list of the added files, with a status of the add action. // (see PclZip::listContent() for list entry format) // -------------------------------------------------------------------------------- function add($p_filelist) { $v_result=1; // ----- Reset the error handler $this->privErrorReset(); // ----- Set default values $v_options = array(); $v_options[PCLZIP_OPT_NO_COMPRESSION] = FALSE; // ----- Look for variable options arguments $v_size = func_num_args(); // ----- Look for arguments if ($v_size > 1) { // ----- Get the arguments $v_arg_list = func_get_args(); // ----- Remove form the options list the first argument array_shift($v_arg_list); $v_size--; // ----- Look for first arg if ((is_integer($v_arg_list[0])) && ($v_arg_list[0] > 77000)) { // ----- Parse the options $v_result = $this->privParseOptions($v_arg_list, $v_size, $v_options, array (PCLZIP_OPT_REMOVE_PATH => 'optional', PCLZIP_OPT_REMOVE_ALL_PATH => 'optional', PCLZIP_OPT_ADD_PATH => 'optional', PCLZIP_CB_PRE_ADD => 'optional', PCLZIP_CB_POST_ADD => 'optional', PCLZIP_OPT_NO_COMPRESSION => 'optional', PCLZIP_OPT_COMMENT => 'optional', PCLZIP_OPT_ADD_COMMENT => 'optional', PCLZIP_OPT_PREPEND_COMMENT => 'optional', PCLZIP_OPT_TEMP_FILE_THRESHOLD => 'optional', PCLZIP_OPT_TEMP_FILE_ON => 'optional', PCLZIP_OPT_TEMP_FILE_OFF => 'optional' //, PCLZIP_OPT_CRYPT => 'optional' )); if ($v_result != 1) { return 0; } } // ----- Look for 2 args // Here we need to support the first historic synopsis of the // method. else { // ----- Get the first argument $v_options[PCLZIP_OPT_ADD_PATH] = $v_add_path = $v_arg_list[0]; // ----- Look for the optional second argument if ($v_size == 2) { $v_options[PCLZIP_OPT_REMOVE_PATH] = $v_arg_list[1]; } else if ($v_size > 2) { // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid number / type of arguments"); // ----- Return return 0; } } } // ----- Look for default option values $this->privOptionDefaultThreshold($v_options); // ----- Init $v_string_list = array(); $v_att_list = array(); $v_filedescr_list = array(); $p_result_list = array(); // ----- Look if the $p_filelist is really an array if (is_array($p_filelist)) { // ----- Look if the first element is also an array // This will mean that this is a file description entry if (isset($p_filelist[0]) && is_array($p_filelist[0])) { $v_att_list = $p_filelist; } // ----- The list is a list of string names else { $v_string_list = $p_filelist; } } // ----- Look if the $p_filelist is a string else if (is_string($p_filelist)) { // ----- Create a list from the string $v_string_list = explode(PCLZIP_SEPARATOR, $p_filelist); } // ----- Invalid variable type for $p_filelist else { PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid variable type '".gettype($p_filelist)."' for p_filelist"); return 0; } // ----- Reformat the string list if (sizeof($v_string_list) != 0) { foreach ($v_string_list as $v_string) { $v_att_list[][PCLZIP_ATT_FILE_NAME] = $v_string; } } // ----- For each file in the list check the attributes $v_supported_attributes = array ( PCLZIP_ATT_FILE_NAME => 'mandatory' ,PCLZIP_ATT_FILE_NEW_SHORT_NAME => 'optional' ,PCLZIP_ATT_FILE_NEW_FULL_NAME => 'optional' ,PCLZIP_ATT_FILE_MTIME => 'optional' ,PCLZIP_ATT_FILE_CONTENT => 'optional' ,PCLZIP_ATT_FILE_COMMENT => 'optional' ); foreach ($v_att_list as $v_entry) { $v_result = $this->privFileDescrParseAtt($v_entry, $v_filedescr_list[], $v_options, $v_supported_attributes); if ($v_result != 1) { return 0; } } // ----- Expand the filelist (expand directories) $v_result = $this->privFileDescrExpand($v_filedescr_list, $v_options); if ($v_result != 1) { return 0; } // ----- Call the create fct $v_result = $this->privAdd($v_filedescr_list, $p_result_list, $v_options); if ($v_result != 1) { return 0; } // ----- Return return $p_result_list; } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : listContent() // Description : // This public method, gives the list of the files and directories, with their // properties. // The properties of each entries in the list are (used also in other functions) : // filename : Name of the file. For a create or add action it is the filename // given by the user. For an extract function it is the filename // of the extracted file. // stored_filename : Name of the file / directory stored in the archive. // size : Size of the stored file. // compressed_size : Size of the file's data compressed in the archive // (without the headers overhead) // mtime : Last known modification date of the file (UNIX timestamp) // comment : Comment associated with the file // folder : true | false // index : index of the file in the archive // status : status of the action (depending of the action) : // Values are : // ok : OK ! // filtered : the file / dir is not extracted (filtered by user) // already_a_directory : the file can not be extracted because a // directory with the same name already exists // write_protected : the file can not be extracted because a file // with the same name already exists and is // write protected // newer_exist : the file was not extracted because a newer file exists // path_creation_fail : the file is not extracted because the folder // does not exist and can not be created // write_error : the file was not extracted because there was an // error while writing the file // read_error : the file was not extracted because there was an error // while reading the file // invalid_header : the file was not extracted because of an archive // format error (bad file header) // Note that each time a method can continue operating when there // is an action error on a file, the error is only logged in the file status. // Return Values : // 0 on an unrecoverable failure, // The list of the files in the archive. // -------------------------------------------------------------------------------- function listContent() { $v_result=1; // ----- Reset the error handler $this->privErrorReset(); // ----- Check archive if (!$this->privCheckFormat()) { return(0); } // ----- Call the extracting fct $p_list = array(); if (($v_result = $this->privList($p_list)) != 1) { unset($p_list); return(0); } // ----- Return return $p_list; } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : // extract($p_path="./", $p_remove_path="") // extract([$p_option, $p_option_value, ...]) // Description : // This method supports two synopsis. The first one is historical. // This method extract all the files / directories from the archive to the // folder indicated in $p_path. // If you want to ignore the 'root' part of path of the memorized files // you can indicate this in the optional $p_remove_path parameter. // By default, if a newer file with the same name already exists, the // file is not extracted. // // If both PCLZIP_OPT_PATH and PCLZIP_OPT_ADD_PATH options // are used, the path indicated in PCLZIP_OPT_ADD_PATH is append // at the end of the path value of PCLZIP_OPT_PATH. // Parameters : // $p_path : Path where the files and directories are to be extracted // $p_remove_path : First part ('root' part) of the memorized path // (if any similar) to remove while extracting. // Options : // PCLZIP_OPT_PATH : // PCLZIP_OPT_ADD_PATH : // PCLZIP_OPT_REMOVE_PATH : // PCLZIP_OPT_REMOVE_ALL_PATH : // PCLZIP_CB_PRE_EXTRACT : // PCLZIP_CB_POST_EXTRACT : // Return Values : // 0 or a negative value on failure, // The list of the extracted files, with a status of the action. // (see PclZip::listContent() for list entry format) // -------------------------------------------------------------------------------- function extract() { $v_result=1; // ----- Reset the error handler $this->privErrorReset(); // ----- Check archive if (!$this->privCheckFormat()) { return(0); } // ----- Set default values $v_options = array(); // $v_path = "./"; $v_path = ''; $v_remove_path = ""; $v_remove_all_path = false; // ----- Look for variable options arguments $v_size = func_num_args(); // ----- Default values for option $v_options[PCLZIP_OPT_EXTRACT_AS_STRING] = FALSE; // ----- Look for arguments if ($v_size > 0) { // ----- Get the arguments $v_arg_list = func_get_args(); // ----- Look for first arg if ((is_integer($v_arg_list[0])) && ($v_arg_list[0] > 77000)) { // ----- Parse the options $v_result = $this->privParseOptions($v_arg_list, $v_size, $v_options, array (PCLZIP_OPT_PATH => 'optional', PCLZIP_OPT_REMOVE_PATH => 'optional', PCLZIP_OPT_REMOVE_ALL_PATH => 'optional', PCLZIP_OPT_ADD_PATH => 'optional', PCLZIP_CB_PRE_EXTRACT => 'optional', PCLZIP_CB_POST_EXTRACT => 'optional', PCLZIP_OPT_SET_CHMOD => 'optional', PCLZIP_OPT_BY_NAME => 'optional', PCLZIP_OPT_BY_EREG => 'optional', PCLZIP_OPT_BY_PREG => 'optional', PCLZIP_OPT_BY_INDEX => 'optional', PCLZIP_OPT_EXTRACT_AS_STRING => 'optional', PCLZIP_OPT_EXTRACT_IN_OUTPUT => 'optional', PCLZIP_OPT_REPLACE_NEWER => 'optional' ,PCLZIP_OPT_STOP_ON_ERROR => 'optional' ,PCLZIP_OPT_EXTRACT_DIR_RESTRICTION => 'optional', PCLZIP_OPT_TEMP_FILE_THRESHOLD => 'optional', PCLZIP_OPT_TEMP_FILE_ON => 'optional', PCLZIP_OPT_TEMP_FILE_OFF => 'optional' )); if ($v_result != 1) { return 0; } // ----- Set the arguments if (isset($v_options[PCLZIP_OPT_PATH])) { $v_path = $v_options[PCLZIP_OPT_PATH]; } if (isset($v_options[PCLZIP_OPT_REMOVE_PATH])) { $v_remove_path = $v_options[PCLZIP_OPT_REMOVE_PATH]; } if (isset($v_options[PCLZIP_OPT_REMOVE_ALL_PATH])) { $v_remove_all_path = $v_options[PCLZIP_OPT_REMOVE_ALL_PATH]; } if (isset($v_options[PCLZIP_OPT_ADD_PATH])) { // ----- Check for '/' in last path char if ((strlen($v_path) > 0) && (substr($v_path, -1) != '/')) { $v_path .= '/'; } $v_path .= $v_options[PCLZIP_OPT_ADD_PATH]; } } // ----- Look for 2 args // Here we need to support the first historic synopsis of the // method. else { // ----- Get the first argument $v_path = $v_arg_list[0]; // ----- Look for the optional second argument if ($v_size == 2) { $v_remove_path = $v_arg_list[1]; } else if ($v_size > 2) { // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid number / type of arguments"); // ----- Return return 0; } } } // ----- Look for default option values $this->privOptionDefaultThreshold($v_options); // ----- Trace // ----- Call the extracting fct $p_list = array(); $v_result = $this->privExtractByRule($p_list, $v_path, $v_remove_path, $v_remove_all_path, $v_options); if ($v_result < 1) { unset($p_list); return(0); } // ----- Return return $p_list; } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : // extractByIndex($p_index, $p_path="./", $p_remove_path="") // extractByIndex($p_index, [$p_option, $p_option_value, ...]) // Description : // This method supports two synopsis. The first one is historical. // This method is doing a partial extract of the archive. // The extracted files or folders are identified by their index in the // archive (from 0 to n). // Note that if the index identify a folder, only the folder entry is // extracted, not all the files included in the archive. // Parameters : // $p_index : A single index (integer) or a string of indexes of files to // extract. The form of the string is "0,4-6,8-12" with only numbers // and '-' for range or ',' to separate ranges. No spaces or ';' // are allowed. // $p_path : Path where the files and directories are to be extracted // $p_remove_path : First part ('root' part) of the memorized path // (if any similar) to remove while extracting. // Options : // PCLZIP_OPT_PATH : // PCLZIP_OPT_ADD_PATH : // PCLZIP_OPT_REMOVE_PATH : // PCLZIP_OPT_REMOVE_ALL_PATH : // PCLZIP_OPT_EXTRACT_AS_STRING : The files are extracted as strings and // not as files. // The resulting content is in a new field 'content' in the file // structure. // This option must be used alone (any other options are ignored). // PCLZIP_CB_PRE_EXTRACT : // PCLZIP_CB_POST_EXTRACT : // Return Values : // 0 on failure, // The list of the extracted files, with a status of the action. // (see PclZip::listContent() for list entry format) // -------------------------------------------------------------------------------- //function extractByIndex($p_index, options...) function extractByIndex($p_index) { $v_result=1; // ----- Reset the error handler $this->privErrorReset(); // ----- Check archive if (!$this->privCheckFormat()) { return(0); } // ----- Set default values $v_options = array(); // $v_path = "./"; $v_path = ''; $v_remove_path = ""; $v_remove_all_path = false; // ----- Look for variable options arguments $v_size = func_num_args(); // ----- Default values for option $v_options[PCLZIP_OPT_EXTRACT_AS_STRING] = FALSE; // ----- Look for arguments if ($v_size > 1) { // ----- Get the arguments $v_arg_list = func_get_args(); // ----- Remove form the options list the first argument array_shift($v_arg_list); $v_size--; // ----- Look for first arg if ((is_integer($v_arg_list[0])) && ($v_arg_list[0] > 77000)) { // ----- Parse the options $v_result = $this->privParseOptions($v_arg_list, $v_size, $v_options, array (PCLZIP_OPT_PATH => 'optional', PCLZIP_OPT_REMOVE_PATH => 'optional', PCLZIP_OPT_REMOVE_ALL_PATH => 'optional', PCLZIP_OPT_EXTRACT_AS_STRING => 'optional', PCLZIP_OPT_ADD_PATH => 'optional', PCLZIP_CB_PRE_EXTRACT => 'optional', PCLZIP_CB_POST_EXTRACT => 'optional', PCLZIP_OPT_SET_CHMOD => 'optional', PCLZIP_OPT_REPLACE_NEWER => 'optional' ,PCLZIP_OPT_STOP_ON_ERROR => 'optional' ,PCLZIP_OPT_EXTRACT_DIR_RESTRICTION => 'optional', PCLZIP_OPT_TEMP_FILE_THRESHOLD => 'optional', PCLZIP_OPT_TEMP_FILE_ON => 'optional', PCLZIP_OPT_TEMP_FILE_OFF => 'optional' )); if ($v_result != 1) { return 0; } // ----- Set the arguments if (isset($v_options[PCLZIP_OPT_PATH])) { $v_path = $v_options[PCLZIP_OPT_PATH]; } if (isset($v_options[PCLZIP_OPT_REMOVE_PATH])) { $v_remove_path = $v_options[PCLZIP_OPT_REMOVE_PATH]; } if (isset($v_options[PCLZIP_OPT_REMOVE_ALL_PATH])) { $v_remove_all_path = $v_options[PCLZIP_OPT_REMOVE_ALL_PATH]; } if (isset($v_options[PCLZIP_OPT_ADD_PATH])) { // ----- Check for '/' in last path char if ((strlen($v_path) > 0) && (substr($v_path, -1) != '/')) { $v_path .= '/'; } $v_path .= $v_options[PCLZIP_OPT_ADD_PATH]; } if (!isset($v_options[PCLZIP_OPT_EXTRACT_AS_STRING])) { $v_options[PCLZIP_OPT_EXTRACT_AS_STRING] = FALSE; } else { } } // ----- Look for 2 args // Here we need to support the first historic synopsis of the // method. else { // ----- Get the first argument $v_path = $v_arg_list[0]; // ----- Look for the optional second argument if ($v_size == 2) { $v_remove_path = $v_arg_list[1]; } else if ($v_size > 2) { // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid number / type of arguments"); // ----- Return return 0; } } } // ----- Trace // ----- Trick // Here I want to reuse extractByRule(), so I need to parse the $p_index // with privParseOptions() $v_arg_trick = array (PCLZIP_OPT_BY_INDEX, $p_index); $v_options_trick = array(); $v_result = $this->privParseOptions($v_arg_trick, sizeof($v_arg_trick), $v_options_trick, array (PCLZIP_OPT_BY_INDEX => 'optional' )); if ($v_result != 1) { return 0; } $v_options[PCLZIP_OPT_BY_INDEX] = $v_options_trick[PCLZIP_OPT_BY_INDEX]; // ----- Look for default option values $this->privOptionDefaultThreshold($v_options); // ----- Call the extracting fct if (($v_result = $this->privExtractByRule($p_list, $v_path, $v_remove_path, $v_remove_all_path, $v_options)) < 1) { return(0); } // ----- Return return $p_list; } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : // delete([$p_option, $p_option_value, ...]) // Description : // This method removes files from the archive. // If no parameters are given, then all the archive is emptied. // Parameters : // None or optional arguments. // Options : // PCLZIP_OPT_BY_INDEX : // PCLZIP_OPT_BY_NAME : // PCLZIP_OPT_BY_EREG : // PCLZIP_OPT_BY_PREG : // Return Values : // 0 on failure, // The list of the files which are still present in the archive. // (see PclZip::listContent() for list entry format) // -------------------------------------------------------------------------------- function delete() { $v_result=1; // ----- Reset the error handler $this->privErrorReset(); // ----- Check archive if (!$this->privCheckFormat()) { return(0); } // ----- Set default values $v_options = array(); // ----- Look for variable options arguments $v_size = func_num_args(); // ----- Look for arguments if ($v_size > 0) { // ----- Get the arguments $v_arg_list = func_get_args(); // ----- Parse the options $v_result = $this->privParseOptions($v_arg_list, $v_size, $v_options, array (PCLZIP_OPT_BY_NAME => 'optional', PCLZIP_OPT_BY_EREG => 'optional', PCLZIP_OPT_BY_PREG => 'optional', PCLZIP_OPT_BY_INDEX => 'optional' )); if ($v_result != 1) { return 0; } } // ----- Magic quotes trick $this->privDisableMagicQuotes(); // ----- Call the delete fct $v_list = array(); if (($v_result = $this->privDeleteByRule($v_list, $v_options)) != 1) { $this->privSwapBackMagicQuotes(); unset($v_list); return(0); } // ----- Magic quotes trick $this->privSwapBackMagicQuotes(); // ----- Return return $v_list; } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : deleteByIndex() // Description : // ***** Deprecated ***** // delete(PCLZIP_OPT_BY_INDEX, $p_index) should be preferred. // -------------------------------------------------------------------------------- function deleteByIndex($p_index) { $p_list = $this->delete(PCLZIP_OPT_BY_INDEX, $p_index); // ----- Return return $p_list; } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : properties() // Description : // This method gives the properties of the archive. // The properties are : // nb : Number of files in the archive // comment : Comment associated with the archive file // status : not_exist, ok // Parameters : // None // Return Values : // 0 on failure, // An array with the archive properties. // -------------------------------------------------------------------------------- function properties() { // ----- Reset the error handler $this->privErrorReset(); // ----- Magic quotes trick $this->privDisableMagicQuotes(); // ----- Check archive if (!$this->privCheckFormat()) { $this->privSwapBackMagicQuotes(); return(0); } // ----- Default properties $v_prop = array(); $v_prop['comment'] = ''; $v_prop['nb'] = 0; $v_prop['status'] = 'not_exist'; // ----- Look if file exists if (@is_file($this->zipname)) { // ----- Open the zip file if (($this->zip_fd = @fopen($this->zipname, 'rb')) == 0) { $this->privSwapBackMagicQuotes(); // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open archive \''.$this->zipname.'\' in binary read mode'); // ----- Return return 0; } // ----- Read the central directory information $v_central_dir = array(); if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1) { $this->privSwapBackMagicQuotes(); return 0; } // ----- Close the zip file $this->privCloseFd(); // ----- Set the user attributes $v_prop['comment'] = $v_central_dir['comment']; $v_prop['nb'] = $v_central_dir['entries']; $v_prop['status'] = 'ok'; } // ----- Magic quotes trick $this->privSwapBackMagicQuotes(); // ----- Return return $v_prop; } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : duplicate() // Description : // This method creates an archive by copying the content of an other one. If // the archive already exist, it is replaced by the new one without any warning. // Parameters : // $p_archive : The filename of a valid archive, or // a valid PclZip object. // Return Values : // 1 on success. // 0 or a negative value on error (error code). // -------------------------------------------------------------------------------- function duplicate($p_archive) { $v_result = 1; // ----- Reset the error handler $this->privErrorReset(); // ----- Look if the $p_archive is an instantiated PclZip object if ($p_archive instanceof pclzip) { // ----- Duplicate the archive $v_result = $this->privDuplicate($p_archive->zipname); } // ----- Look if the $p_archive is a string (so a filename) else if (is_string($p_archive)) { // ----- Check that $p_archive is a valid zip file // TBC : Should also check the archive format if (!is_file($p_archive)) { // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_MISSING_FILE, "No file with filename '".$p_archive."'"); $v_result = PCLZIP_ERR_MISSING_FILE; } else { // ----- Duplicate the archive $v_result = $this->privDuplicate($p_archive); } } // ----- Invalid variable else { // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid variable type p_archive_to_add"); $v_result = PCLZIP_ERR_INVALID_PARAMETER; } // ----- Return return $v_result; } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : merge() // Description : // This method merge the $p_archive_to_add archive at the end of the current // one ($this). // If the archive ($this) does not exist, the merge becomes a duplicate. // If the $p_archive_to_add archive does not exist, the merge is a success. // Parameters : // $p_archive_to_add : It can be directly the filename of a valid zip archive, // or a PclZip object archive. // Return Values : // 1 on success, // 0 or negative values on error (see below). // -------------------------------------------------------------------------------- function merge($p_archive_to_add) { $v_result = 1; // ----- Reset the error handler $this->privErrorReset(); // ----- Check archive if (!$this->privCheckFormat()) { return(0); } // ----- Look if the $p_archive_to_add is an instantiated PclZip object if ($p_archive_to_add instanceof pclzip) { // ----- Merge the archive $v_result = $this->privMerge($p_archive_to_add); } // ----- Look if the $p_archive_to_add is a string (so a filename) else if (is_string($p_archive_to_add)) { // ----- Create a temporary archive $v_object_archive = new PclZip($p_archive_to_add); // ----- Merge the archive $v_result = $this->privMerge($v_object_archive); } // ----- Invalid variable else { // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid variable type p_archive_to_add"); $v_result = PCLZIP_ERR_INVALID_PARAMETER; } // ----- Return return $v_result; } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : errorCode() // Description : // Parameters : // -------------------------------------------------------------------------------- function errorCode() { if (PCLZIP_ERROR_EXTERNAL == 1) { return(PclErrorCode()); } else { return($this->error_code); } } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : errorName() // Description : // Parameters : // -------------------------------------------------------------------------------- function errorName($p_with_code=false) { $v_name = array ( PCLZIP_ERR_NO_ERROR => 'PCLZIP_ERR_NO_ERROR', PCLZIP_ERR_WRITE_OPEN_FAIL => 'PCLZIP_ERR_WRITE_OPEN_FAIL', PCLZIP_ERR_READ_OPEN_FAIL => 'PCLZIP_ERR_READ_OPEN_FAIL', PCLZIP_ERR_INVALID_PARAMETER => 'PCLZIP_ERR_INVALID_PARAMETER', PCLZIP_ERR_MISSING_FILE => 'PCLZIP_ERR_MISSING_FILE', PCLZIP_ERR_FILENAME_TOO_LONG => 'PCLZIP_ERR_FILENAME_TOO_LONG', PCLZIP_ERR_INVALID_ZIP => 'PCLZIP_ERR_INVALID_ZIP', PCLZIP_ERR_BAD_EXTRACTED_FILE => 'PCLZIP_ERR_BAD_EXTRACTED_FILE', PCLZIP_ERR_DIR_CREATE_FAIL => 'PCLZIP_ERR_DIR_CREATE_FAIL', PCLZIP_ERR_BAD_EXTENSION => 'PCLZIP_ERR_BAD_EXTENSION', PCLZIP_ERR_BAD_FORMAT => 'PCLZIP_ERR_BAD_FORMAT', PCLZIP_ERR_DELETE_FILE_FAIL => 'PCLZIP_ERR_DELETE_FILE_FAIL', PCLZIP_ERR_RENAME_FILE_FAIL => 'PCLZIP_ERR_RENAME_FILE_FAIL', PCLZIP_ERR_BAD_CHECKSUM => 'PCLZIP_ERR_BAD_CHECKSUM', PCLZIP_ERR_INVALID_ARCHIVE_ZIP => 'PCLZIP_ERR_INVALID_ARCHIVE_ZIP', PCLZIP_ERR_MISSING_OPTION_VALUE => 'PCLZIP_ERR_MISSING_OPTION_VALUE', PCLZIP_ERR_INVALID_OPTION_VALUE => 'PCLZIP_ERR_INVALID_OPTION_VALUE', PCLZIP_ERR_UNSUPPORTED_COMPRESSION => 'PCLZIP_ERR_UNSUPPORTED_COMPRESSION', PCLZIP_ERR_UNSUPPORTED_ENCRYPTION => 'PCLZIP_ERR_UNSUPPORTED_ENCRYPTION' ,PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE => 'PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE' ,PCLZIP_ERR_DIRECTORY_RESTRICTION => 'PCLZIP_ERR_DIRECTORY_RESTRICTION' ); if (isset($v_name[$this->error_code])) { $v_value = $v_name[$this->error_code]; } else { $v_value = 'NoName'; } if ($p_with_code) { return($v_value.' ('.$this->error_code.')'); } else { return($v_value); } } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : errorInfo() // Description : // Parameters : // -------------------------------------------------------------------------------- function errorInfo($p_full=false) { if (PCLZIP_ERROR_EXTERNAL == 1) { return(PclErrorString()); } else { if ($p_full) { return($this->errorName(true)." : ".$this->error_string); } else { return($this->error_string." [code ".$this->error_code."]"); } } } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // ***** UNDER THIS LINE ARE DEFINED PRIVATE INTERNAL FUNCTIONS ***** // ***** ***** // ***** THESES FUNCTIONS MUST NOT BE USED DIRECTLY ***** // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : privCheckFormat() // Description : // This method check that the archive exists and is a valid zip archive. // Several level of check exists. (future) // Parameters : // $p_level : Level of check. Default 0. // 0 : Check the first bytes (magic codes) (default value)) // 1 : 0 + Check the central directory (future) // 2 : 1 + Check each file header (future) // Return Values : // true on success, // false on error, the error code is set. // -------------------------------------------------------------------------------- function privCheckFormat($p_level=0) { $v_result = true; // ----- Reset the file system cache clearstatcache(); // ----- Reset the error handler $this->privErrorReset(); // ----- Look if the file exits if (!is_file($this->zipname)) { // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_MISSING_FILE, "Missing archive file '".$this->zipname."'"); return(false); } // ----- Check that the file is readable if (!is_readable($this->zipname)) { // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, "Unable to read archive '".$this->zipname."'"); return(false); } // ----- Check the magic code // TBC // ----- Check the central header // TBC // ----- Check each file header // TBC // ----- Return return $v_result; } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : privParseOptions() // Description : // This internal methods reads the variable list of arguments ($p_options_list, // $p_size) and generate an array with the options and values ($v_result_list). // $v_requested_options contains the options that can be present and those that // must be present. // $v_requested_options is an array, with the option value as key, and 'optional', // or 'mandatory' as value. // Parameters : // See above. // Return Values : // 1 on success. // 0 on failure. // -------------------------------------------------------------------------------- function privParseOptions(&$p_options_list, $p_size, &$v_result_list, $v_requested_options=false) { $v_result=1; // ----- Read the options $i=0; while ($i<$p_size) { // ----- Check if the option is supported if (!isset($v_requested_options[$p_options_list[$i]])) { // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid optional parameter '".$p_options_list[$i]."' for this method"); // ----- Return return PclZip::errorCode(); } // ----- Look for next option switch ($p_options_list[$i]) { // ----- Look for options that request a path value case PCLZIP_OPT_PATH : case PCLZIP_OPT_REMOVE_PATH : case PCLZIP_OPT_ADD_PATH : // ----- Check the number of parameters if (($i+1) >= $p_size) { // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); // ----- Return return PclZip::errorCode(); } // ----- Get the value $v_result_list[$p_options_list[$i]] = PclZipUtilTranslateWinPath($p_options_list[$i+1], FALSE); $i++; break; case PCLZIP_OPT_TEMP_FILE_THRESHOLD : // ----- Check the number of parameters if (($i+1) >= $p_size) { PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); return PclZip::errorCode(); } // ----- Check for incompatible options if (isset($v_result_list[PCLZIP_OPT_TEMP_FILE_OFF])) { PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Option '".PclZipUtilOptionText($p_options_list[$i])."' can not be used with option 'PCLZIP_OPT_TEMP_FILE_OFF'"); return PclZip::errorCode(); } // ----- Check the value $v_value = $p_options_list[$i+1]; if ((!is_integer($v_value)) || ($v_value<0)) { PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Integer expected for option '".PclZipUtilOptionText($p_options_list[$i])."'"); return PclZip::errorCode(); } // ----- Get the value (and convert it in bytes) $v_result_list[$p_options_list[$i]] = $v_value*1048576; $i++; break; case PCLZIP_OPT_TEMP_FILE_ON : // ----- Check for incompatible options if (isset($v_result_list[PCLZIP_OPT_TEMP_FILE_OFF])) { PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Option '".PclZipUtilOptionText($p_options_list[$i])."' can not be used with option 'PCLZIP_OPT_TEMP_FILE_OFF'"); return PclZip::errorCode(); } $v_result_list[$p_options_list[$i]] = true; break; case PCLZIP_OPT_TEMP_FILE_OFF : // ----- Check for incompatible options if (isset($v_result_list[PCLZIP_OPT_TEMP_FILE_ON])) { PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Option '".PclZipUtilOptionText($p_options_list[$i])."' can not be used with option 'PCLZIP_OPT_TEMP_FILE_ON'"); return PclZip::errorCode(); } // ----- Check for incompatible options if (isset($v_result_list[PCLZIP_OPT_TEMP_FILE_THRESHOLD])) { PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Option '".PclZipUtilOptionText($p_options_list[$i])."' can not be used with option 'PCLZIP_OPT_TEMP_FILE_THRESHOLD'"); return PclZip::errorCode(); } $v_result_list[$p_options_list[$i]] = true; break; case PCLZIP_OPT_EXTRACT_DIR_RESTRICTION : // ----- Check the number of parameters if (($i+1) >= $p_size) { // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); // ----- Return return PclZip::errorCode(); } // ----- Get the value if ( is_string($p_options_list[$i+1]) && ($p_options_list[$i+1] != '')) { $v_result_list[$p_options_list[$i]] = PclZipUtilTranslateWinPath($p_options_list[$i+1], FALSE); $i++; } else { } break; // ----- Look for options that request an array of string for value case PCLZIP_OPT_BY_NAME : // ----- Check the number of parameters if (($i+1) >= $p_size) { // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); // ----- Return return PclZip::errorCode(); } // ----- Get the value if (is_string($p_options_list[$i+1])) { $v_result_list[$p_options_list[$i]][0] = $p_options_list[$i+1]; } else if (is_array($p_options_list[$i+1])) { $v_result_list[$p_options_list[$i]] = $p_options_list[$i+1]; } else { // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Wrong parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); // ----- Return return PclZip::errorCode(); } $i++; break; // ----- Look for options that request an EREG or PREG expression case PCLZIP_OPT_BY_EREG : // ereg() is deprecated starting with PHP 5.3. Move PCLZIP_OPT_BY_EREG // to PCLZIP_OPT_BY_PREG $p_options_list[$i] = PCLZIP_OPT_BY_PREG; case PCLZIP_OPT_BY_PREG : //case PCLZIP_OPT_CRYPT : // ----- Check the number of parameters if (($i+1) >= $p_size) { // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); // ----- Return return PclZip::errorCode(); } // ----- Get the value if (is_string($p_options_list[$i+1])) { $v_result_list[$p_options_list[$i]] = $p_options_list[$i+1]; } else { // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Wrong parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); // ----- Return return PclZip::errorCode(); } $i++; break; // ----- Look for options that takes a string case PCLZIP_OPT_COMMENT : case PCLZIP_OPT_ADD_COMMENT : case PCLZIP_OPT_PREPEND_COMMENT : // ----- Check the number of parameters if (($i+1) >= $p_size) { // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '" .PclZipUtilOptionText($p_options_list[$i]) ."'"); // ----- Return return PclZip::errorCode(); } // ----- Get the value if (is_string($p_options_list[$i+1])) { $v_result_list[$p_options_list[$i]] = $p_options_list[$i+1]; } else { // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Wrong parameter value for option '" .PclZipUtilOptionText($p_options_list[$i]) ."'"); // ----- Return return PclZip::errorCode(); } $i++; break; // ----- Look for options that request an array of index case PCLZIP_OPT_BY_INDEX : // ----- Check the number of parameters if (($i+1) >= $p_size) { // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); // ----- Return return PclZip::errorCode(); } // ----- Get the value $v_work_list = array(); if (is_string($p_options_list[$i+1])) { // ----- Remove spaces $p_options_list[$i+1] = strtr($p_options_list[$i+1], ' ', ''); // ----- Parse items $v_work_list = explode(",", $p_options_list[$i+1]); } else if (is_integer($p_options_list[$i+1])) { $v_work_list[0] = $p_options_list[$i+1].'-'.$p_options_list[$i+1]; } else if (is_array($p_options_list[$i+1])) { $v_work_list = $p_options_list[$i+1]; } else { // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Value must be integer, string or array for option '".PclZipUtilOptionText($p_options_list[$i])."'"); // ----- Return return PclZip::errorCode(); } // ----- Reduce the index list // each index item in the list must be a couple with a start and // an end value : [0,3], [5-5], [8-10], ... // ----- Check the format of each item $v_sort_flag=false; $v_sort_value=0; for ($j=0; $j<sizeof($v_work_list); $j++) { // ----- Explode the item $v_item_list = explode("-", $v_work_list[$j]); $v_size_item_list = sizeof($v_item_list); // ----- TBC : Here we might check that each item is a // real integer ... // ----- Look for single value if ($v_size_item_list == 1) { // ----- Set the option value $v_result_list[$p_options_list[$i]][$j]['start'] = $v_item_list[0]; $v_result_list[$p_options_list[$i]][$j]['end'] = $v_item_list[0]; } elseif ($v_size_item_list == 2) { // ----- Set the option value $v_result_list[$p_options_list[$i]][$j]['start'] = $v_item_list[0]; $v_result_list[$p_options_list[$i]][$j]['end'] = $v_item_list[1]; } else { // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Too many values in index range for option '".PclZipUtilOptionText($p_options_list[$i])."'"); // ----- Return return PclZip::errorCode(); } // ----- Look for list sort if ($v_result_list[$p_options_list[$i]][$j]['start'] < $v_sort_value) { $v_sort_flag=true; // ----- TBC : An automatic sort should be written ... // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Invalid order of index range for option '".PclZipUtilOptionText($p_options_list[$i])."'"); // ----- Return return PclZip::errorCode(); } $v_sort_value = $v_result_list[$p_options_list[$i]][$j]['start']; } // ----- Sort the items if ($v_sort_flag) { // TBC : To Be Completed } // ----- Next option $i++; break; // ----- Look for options that request no value case PCLZIP_OPT_REMOVE_ALL_PATH : case PCLZIP_OPT_EXTRACT_AS_STRING : case PCLZIP_OPT_NO_COMPRESSION : case PCLZIP_OPT_EXTRACT_IN_OUTPUT : case PCLZIP_OPT_REPLACE_NEWER : case PCLZIP_OPT_STOP_ON_ERROR : $v_result_list[$p_options_list[$i]] = true; break; // ----- Look for options that request an octal value case PCLZIP_OPT_SET_CHMOD : // ----- Check the number of parameters if (($i+1) >= $p_size) { // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); // ----- Return return PclZip::errorCode(); } // ----- Get the value $v_result_list[$p_options_list[$i]] = $p_options_list[$i+1]; $i++; break; // ----- Look for options that request a call-back case PCLZIP_CB_PRE_EXTRACT : case PCLZIP_CB_POST_EXTRACT : case PCLZIP_CB_PRE_ADD : case PCLZIP_CB_POST_ADD : /* for future use case PCLZIP_CB_PRE_DELETE : case PCLZIP_CB_POST_DELETE : case PCLZIP_CB_PRE_LIST : case PCLZIP_CB_POST_LIST : */ // ----- Check the number of parameters if (($i+1) >= $p_size) { // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_MISSING_OPTION_VALUE, "Missing parameter value for option '".PclZipUtilOptionText($p_options_list[$i])."'"); // ----- Return return PclZip::errorCode(); } // ----- Get the value $v_function_name = $p_options_list[$i+1]; // ----- Check that the value is a valid existing function if (!function_exists($v_function_name)) { // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_INVALID_OPTION_VALUE, "Function '".$v_function_name."()' is not an existing function for option '".PclZipUtilOptionText($p_options_list[$i])."'"); // ----- Return return PclZip::errorCode(); } // ----- Set the attribute $v_result_list[$p_options_list[$i]] = $v_function_name; $i++; break; default : // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Unknown parameter '" .$p_options_list[$i]."'"); // ----- Return return PclZip::errorCode(); } // ----- Next options $i++; } // ----- Look for mandatory options if ($v_requested_options !== false) { for ($key=reset($v_requested_options); $key=key($v_requested_options); $key=next($v_requested_options)) { // ----- Look for mandatory option if ($v_requested_options[$key] == 'mandatory') { // ----- Look if present if (!isset($v_result_list[$key])) { // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Missing mandatory parameter ".PclZipUtilOptionText($key)."(".$key.")"); // ----- Return return PclZip::errorCode(); } } } } // ----- Look for default values if (!isset($v_result_list[PCLZIP_OPT_TEMP_FILE_THRESHOLD])) { } // ----- Return return $v_result; } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : privOptionDefaultThreshold() // Description : // Parameters : // Return Values : // -------------------------------------------------------------------------------- function privOptionDefaultThreshold(&$p_options) { $v_result=1; if (isset($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD]) || isset($p_options[PCLZIP_OPT_TEMP_FILE_OFF])) { return $v_result; } // ----- Get 'memory_limit' configuration value $v_memory_limit = ini_get('memory_limit'); $v_memory_limit = trim($v_memory_limit); $v_memory_limit_int = (int) $v_memory_limit; $last = strtolower(substr($v_memory_limit, -1)); if($last == 'g') //$v_memory_limit_int = $v_memory_limit_int*1024*1024*1024; $v_memory_limit_int = $v_memory_limit_int*1073741824; if($last == 'm') //$v_memory_limit_int = $v_memory_limit_int*1024*1024; $v_memory_limit_int = $v_memory_limit_int*1048576; if($last == 'k') $v_memory_limit_int = $v_memory_limit_int*1024; $p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD] = floor($v_memory_limit_int*PCLZIP_TEMPORARY_FILE_RATIO); // ----- Confidence check : No threshold if value lower than 1M if ($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD] < 1048576) { unset($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD]); } // ----- Return return $v_result; } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : privFileDescrParseAtt() // Description : // Parameters : // Return Values : // 1 on success. // 0 on failure. // -------------------------------------------------------------------------------- function privFileDescrParseAtt(&$p_file_list, &$p_filedescr, $v_options, $v_requested_options=false) { $v_result=1; // ----- For each file in the list check the attributes foreach ($p_file_list as $v_key => $v_value) { // ----- Check if the option is supported if (!isset($v_requested_options[$v_key])) { // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid file attribute '".$v_key."' for this file"); // ----- Return return PclZip::errorCode(); } // ----- Look for attribute switch ($v_key) { case PCLZIP_ATT_FILE_NAME : if (!is_string($v_value)) { PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid type ".gettype($v_value).". String expected for attribute '".PclZipUtilOptionText($v_key)."'"); return PclZip::errorCode(); } $p_filedescr['filename'] = PclZipUtilPathReduction($v_value); if ($p_filedescr['filename'] == '') { PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid empty filename for attribute '".PclZipUtilOptionText($v_key)."'"); return PclZip::errorCode(); } break; case PCLZIP_ATT_FILE_NEW_SHORT_NAME : if (!is_string($v_value)) { PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid type ".gettype($v_value).". String expected for attribute '".PclZipUtilOptionText($v_key)."'"); return PclZip::errorCode(); } $p_filedescr['new_short_name'] = PclZipUtilPathReduction($v_value); if ($p_filedescr['new_short_name'] == '') { PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid empty short filename for attribute '".PclZipUtilOptionText($v_key)."'"); return PclZip::errorCode(); } break; case PCLZIP_ATT_FILE_NEW_FULL_NAME : if (!is_string($v_value)) { PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid type ".gettype($v_value).". String expected for attribute '".PclZipUtilOptionText($v_key)."'"); return PclZip::errorCode(); } $p_filedescr['new_full_name'] = PclZipUtilPathReduction($v_value); if ($p_filedescr['new_full_name'] == '') { PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid empty full filename for attribute '".PclZipUtilOptionText($v_key)."'"); return PclZip::errorCode(); } break; // ----- Look for options that takes a string case PCLZIP_ATT_FILE_COMMENT : if (!is_string($v_value)) { PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid type ".gettype($v_value).". String expected for attribute '".PclZipUtilOptionText($v_key)."'"); return PclZip::errorCode(); } $p_filedescr['comment'] = $v_value; break; case PCLZIP_ATT_FILE_MTIME : if (!is_integer($v_value)) { PclZip::privErrorLog(PCLZIP_ERR_INVALID_ATTRIBUTE_VALUE, "Invalid type ".gettype($v_value).". Integer expected for attribute '".PclZipUtilOptionText($v_key)."'"); return PclZip::errorCode(); } $p_filedescr['mtime'] = $v_value; break; case PCLZIP_ATT_FILE_CONTENT : $p_filedescr['content'] = $v_value; break; default : // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Unknown parameter '".$v_key."'"); // ----- Return return PclZip::errorCode(); } // ----- Look for mandatory options if ($v_requested_options !== false) { for ($key=reset($v_requested_options); $key=key($v_requested_options); $key=next($v_requested_options)) { // ----- Look for mandatory option if ($v_requested_options[$key] == 'mandatory') { // ----- Look if present if (!isset($p_file_list[$key])) { PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Missing mandatory parameter ".PclZipUtilOptionText($key)."(".$key.")"); return PclZip::errorCode(); } } } } // end foreach } // ----- Return return $v_result; } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : privFileDescrExpand() // Description : // This method look for each item of the list to see if its a file, a folder // or a string to be added as file. For any other type of files (link, other) // just ignore the item. // Then prepare the information that will be stored for that file. // When its a folder, expand the folder with all the files that are in that // folder (recursively). // Parameters : // Return Values : // 1 on success. // 0 on failure. // -------------------------------------------------------------------------------- function privFileDescrExpand(&$p_filedescr_list, &$p_options) { $v_result=1; // ----- Create a result list $v_result_list = array(); // ----- Look each entry for ($i=0; $i<sizeof($p_filedescr_list); $i++) { // ----- Get filedescr $v_descr = $p_filedescr_list[$i]; // ----- Reduce the filename $v_descr['filename'] = PclZipUtilTranslateWinPath($v_descr['filename'], false); $v_descr['filename'] = PclZipUtilPathReduction($v_descr['filename']); // ----- Look for real file or folder if (file_exists($v_descr['filename'])) { if (@is_file($v_descr['filename'])) { $v_descr['type'] = 'file'; } else if (@is_dir($v_descr['filename'])) { $v_descr['type'] = 'folder'; } else if (@is_link($v_descr['filename'])) { // skip continue; } else { // skip continue; } } // ----- Look for string added as file else if (isset($v_descr['content'])) { $v_descr['type'] = 'virtual_file'; } // ----- Missing file else { // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_MISSING_FILE, "File '".$v_descr['filename']."' does not exist"); // ----- Return return PclZip::errorCode(); } // ----- Calculate the stored filename $this->privCalculateStoredFilename($v_descr, $p_options); // ----- Add the descriptor in result list $v_result_list[sizeof($v_result_list)] = $v_descr; // ----- Look for folder if ($v_descr['type'] == 'folder') { // ----- List of items in folder $v_dirlist_descr = array(); $v_dirlist_nb = 0; if ($v_folder_handler = @opendir($v_descr['filename'])) { while (($v_item_handler = @readdir($v_folder_handler)) !== false) { // ----- Skip '.' and '..' if (($v_item_handler == '.') || ($v_item_handler == '..')) { continue; } // ----- Compose the full filename $v_dirlist_descr[$v_dirlist_nb]['filename'] = $v_descr['filename'].'/'.$v_item_handler; // ----- Look for different stored filename // Because the name of the folder was changed, the name of the // files/sub-folders also change if (($v_descr['stored_filename'] != $v_descr['filename']) && (!isset($p_options[PCLZIP_OPT_REMOVE_ALL_PATH]))) { if ($v_descr['stored_filename'] != '') { $v_dirlist_descr[$v_dirlist_nb]['new_full_name'] = $v_descr['stored_filename'].'/'.$v_item_handler; } else { $v_dirlist_descr[$v_dirlist_nb]['new_full_name'] = $v_item_handler; } } $v_dirlist_nb++; } @closedir($v_folder_handler); } else { // TBC : unable to open folder in read mode } // ----- Expand each element of the list if ($v_dirlist_nb != 0) { // ----- Expand if (($v_result = $this->privFileDescrExpand($v_dirlist_descr, $p_options)) != 1) { return $v_result; } // ----- Concat the resulting list $v_result_list = array_merge($v_result_list, $v_dirlist_descr); } else { } // ----- Free local array unset($v_dirlist_descr); } } // ----- Get the result list $p_filedescr_list = $v_result_list; // ----- Return return $v_result; } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : privCreate() // Description : // Parameters : // Return Values : // -------------------------------------------------------------------------------- function privCreate($p_filedescr_list, &$p_result_list, &$p_options) { $v_result=1; $v_list_detail = array(); // ----- Magic quotes trick $this->privDisableMagicQuotes(); // ----- Open the file in write mode if (($v_result = $this->privOpenFd('wb')) != 1) { // ----- Return return $v_result; } // ----- Add the list of files $v_result = $this->privAddList($p_filedescr_list, $p_result_list, $p_options); // ----- Close $this->privCloseFd(); // ----- Magic quotes trick $this->privSwapBackMagicQuotes(); // ----- Return return $v_result; } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : privAdd() // Description : // Parameters : // Return Values : // -------------------------------------------------------------------------------- function privAdd($p_filedescr_list, &$p_result_list, &$p_options) { $v_result=1; $v_list_detail = array(); // ----- Look if the archive exists or is empty if ((!is_file($this->zipname)) || (filesize($this->zipname) == 0)) { // ----- Do a create $v_result = $this->privCreate($p_filedescr_list, $p_result_list, $p_options); // ----- Return return $v_result; } // ----- Magic quotes trick $this->privDisableMagicQuotes(); // ----- Open the zip file if (($v_result=$this->privOpenFd('rb')) != 1) { // ----- Magic quotes trick $this->privSwapBackMagicQuotes(); // ----- Return return $v_result; } // ----- Read the central directory information $v_central_dir = array(); if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1) { $this->privCloseFd(); $this->privSwapBackMagicQuotes(); return $v_result; } // ----- Go to beginning of File @rewind($this->zip_fd); // ----- Creates a temporary file $v_zip_temp_name = PCLZIP_TEMPORARY_DIR.uniqid('pclzip-').'.tmp'; // ----- Open the temporary file in write mode if (($v_zip_temp_fd = @fopen($v_zip_temp_name, 'wb')) == 0) { $this->privCloseFd(); $this->privSwapBackMagicQuotes(); PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open temporary file \''.$v_zip_temp_name.'\' in binary write mode'); // ----- Return return PclZip::errorCode(); } // ----- Copy the files from the archive to the temporary file // TBC : Here I should better append the file and go back to erase the central dir $v_size = $v_central_dir['offset']; while ($v_size != 0) { $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); $v_buffer = fread($this->zip_fd, $v_read_size); @fwrite($v_zip_temp_fd, $v_buffer, $v_read_size); $v_size -= $v_read_size; } // ----- Swap the file descriptor // Here is a trick : I swap the temporary fd with the zip fd, in order to use // the following methods on the temporary fil and not the real archive $v_swap = $this->zip_fd; $this->zip_fd = $v_zip_temp_fd; $v_zip_temp_fd = $v_swap; // ----- Add the files $v_header_list = array(); if (($v_result = $this->privAddFileList($p_filedescr_list, $v_header_list, $p_options)) != 1) { fclose($v_zip_temp_fd); $this->privCloseFd(); @unlink($v_zip_temp_name); $this->privSwapBackMagicQuotes(); // ----- Return return $v_result; } // ----- Store the offset of the central dir $v_offset = @ftell($this->zip_fd); // ----- Copy the block of file headers from the old archive $v_size = $v_central_dir['size']; while ($v_size != 0) { $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); $v_buffer = @fread($v_zip_temp_fd, $v_read_size); @fwrite($this->zip_fd, $v_buffer, $v_read_size); $v_size -= $v_read_size; } // ----- Create the Central Dir files header for ($i=0, $v_count=0; $i<sizeof($v_header_list); $i++) { // ----- Create the file header if ($v_header_list[$i]['status'] == 'ok') { if (($v_result = $this->privWriteCentralFileHeader($v_header_list[$i])) != 1) { fclose($v_zip_temp_fd); $this->privCloseFd(); @unlink($v_zip_temp_name); $this->privSwapBackMagicQuotes(); // ----- Return return $v_result; } $v_count++; } // ----- Transform the header to a 'usable' info $this->privConvertHeader2FileInfo($v_header_list[$i], $p_result_list[$i]); } // ----- Zip file comment $v_comment = $v_central_dir['comment']; if (isset($p_options[PCLZIP_OPT_COMMENT])) { $v_comment = $p_options[PCLZIP_OPT_COMMENT]; } if (isset($p_options[PCLZIP_OPT_ADD_COMMENT])) { $v_comment = $v_comment.$p_options[PCLZIP_OPT_ADD_COMMENT]; } if (isset($p_options[PCLZIP_OPT_PREPEND_COMMENT])) { $v_comment = $p_options[PCLZIP_OPT_PREPEND_COMMENT].$v_comment; } // ----- Calculate the size of the central header $v_size = @ftell($this->zip_fd)-$v_offset; // ----- Create the central dir footer if (($v_result = $this->privWriteCentralHeader($v_count+$v_central_dir['entries'], $v_size, $v_offset, $v_comment)) != 1) { // ----- Reset the file list unset($v_header_list); $this->privSwapBackMagicQuotes(); // ----- Return return $v_result; } // ----- Swap back the file descriptor $v_swap = $this->zip_fd; $this->zip_fd = $v_zip_temp_fd; $v_zip_temp_fd = $v_swap; // ----- Close $this->privCloseFd(); // ----- Close the temporary file @fclose($v_zip_temp_fd); // ----- Magic quotes trick $this->privSwapBackMagicQuotes(); // ----- Delete the zip file // TBC : I should test the result ... @unlink($this->zipname); // ----- Rename the temporary file // TBC : I should test the result ... //@rename($v_zip_temp_name, $this->zipname); PclZipUtilRename($v_zip_temp_name, $this->zipname); // ----- Return return $v_result; } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : privOpenFd() // Description : // Parameters : // -------------------------------------------------------------------------------- function privOpenFd($p_mode) { $v_result=1; // ----- Look if already open if ($this->zip_fd != 0) { // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Zip file \''.$this->zipname.'\' already open'); // ----- Return return PclZip::errorCode(); } // ----- Open the zip file if (($this->zip_fd = @fopen($this->zipname, $p_mode)) == 0) { // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open archive \''.$this->zipname.'\' in '.$p_mode.' mode'); // ----- Return return PclZip::errorCode(); } // ----- Return return $v_result; } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : privCloseFd() // Description : // Parameters : // -------------------------------------------------------------------------------- function privCloseFd() { $v_result=1; if ($this->zip_fd != 0) @fclose($this->zip_fd); $this->zip_fd = 0; // ----- Return return $v_result; } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : privAddList() // Description : // $p_add_dir and $p_remove_dir will give the ability to memorize a path which is // different from the real path of the file. This is useful if you want to have PclTar // running in any directory, and memorize relative path from an other directory. // Parameters : // $p_list : An array containing the file or directory names to add in the tar // $p_result_list : list of added files with their properties (specially the status field) // $p_add_dir : Path to add in the filename path archived // $p_remove_dir : Path to remove in the filename path archived // Return Values : // -------------------------------------------------------------------------------- // function privAddList($p_list, &$p_result_list, $p_add_dir, $p_remove_dir, $p_remove_all_dir, &$p_options) function privAddList($p_filedescr_list, &$p_result_list, &$p_options) { $v_result=1; // ----- Add the files $v_header_list = array(); if (($v_result = $this->privAddFileList($p_filedescr_list, $v_header_list, $p_options)) != 1) { // ----- Return return $v_result; } // ----- Store the offset of the central dir $v_offset = @ftell($this->zip_fd); // ----- Create the Central Dir files header for ($i=0,$v_count=0; $i<sizeof($v_header_list); $i++) { // ----- Create the file header if ($v_header_list[$i]['status'] == 'ok') { if (($v_result = $this->privWriteCentralFileHeader($v_header_list[$i])) != 1) { // ----- Return return $v_result; } $v_count++; } // ----- Transform the header to a 'usable' info $this->privConvertHeader2FileInfo($v_header_list[$i], $p_result_list[$i]); } // ----- Zip file comment $v_comment = ''; if (isset($p_options[PCLZIP_OPT_COMMENT])) { $v_comment = $p_options[PCLZIP_OPT_COMMENT]; } // ----- Calculate the size of the central header $v_size = @ftell($this->zip_fd)-$v_offset; // ----- Create the central dir footer if (($v_result = $this->privWriteCentralHeader($v_count, $v_size, $v_offset, $v_comment)) != 1) { // ----- Reset the file list unset($v_header_list); // ----- Return return $v_result; } // ----- Return return $v_result; } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : privAddFileList() // Description : // Parameters : // $p_filedescr_list : An array containing the file description // or directory names to add in the zip // $p_result_list : list of added files with their properties (specially the status field) // Return Values : // -------------------------------------------------------------------------------- function privAddFileList($p_filedescr_list, &$p_result_list, &$p_options) { $v_result=1; $v_header = array(); // ----- Recuperate the current number of elt in list $v_nb = sizeof($p_result_list); // ----- Loop on the files for ($j=0; ($j<sizeof($p_filedescr_list)) && ($v_result==1); $j++) { // ----- Format the filename $p_filedescr_list[$j]['filename'] = PclZipUtilTranslateWinPath($p_filedescr_list[$j]['filename'], false); // ----- Skip empty file names // TBC : Can this be possible ? not checked in DescrParseAtt ? if ($p_filedescr_list[$j]['filename'] == "") { continue; } // ----- Check the filename if ( ($p_filedescr_list[$j]['type'] != 'virtual_file') && (!file_exists($p_filedescr_list[$j]['filename']))) { PclZip::privErrorLog(PCLZIP_ERR_MISSING_FILE, "File '".$p_filedescr_list[$j]['filename']."' does not exist"); return PclZip::errorCode(); } // ----- Look if it is a file or a dir with no all path remove option // or a dir with all its path removed // if ( (is_file($p_filedescr_list[$j]['filename'])) // || ( is_dir($p_filedescr_list[$j]['filename']) if ( ($p_filedescr_list[$j]['type'] == 'file') || ($p_filedescr_list[$j]['type'] == 'virtual_file') || ( ($p_filedescr_list[$j]['type'] == 'folder') && ( !isset($p_options[PCLZIP_OPT_REMOVE_ALL_PATH]) || !$p_options[PCLZIP_OPT_REMOVE_ALL_PATH])) ) { // ----- Add the file $v_result = $this->privAddFile($p_filedescr_list[$j], $v_header, $p_options); if ($v_result != 1) { return $v_result; } // ----- Store the file infos $p_result_list[$v_nb++] = $v_header; } } // ----- Return return $v_result; } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : privAddFile() // Description : // Parameters : // Return Values : // -------------------------------------------------------------------------------- function privAddFile($p_filedescr, &$p_header, &$p_options) { $v_result=1; // ----- Working variable $p_filename = $p_filedescr['filename']; // TBC : Already done in the fileAtt check ... ? if ($p_filename == "") { // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_INVALID_PARAMETER, "Invalid file list parameter (invalid or empty list)"); // ----- Return return PclZip::errorCode(); } // ----- Look for a stored different filename /* TBC : Removed if (isset($p_filedescr['stored_filename'])) { $v_stored_filename = $p_filedescr['stored_filename']; } else { $v_stored_filename = $p_filedescr['stored_filename']; } */ // ----- Set the file properties clearstatcache(); $p_header['version'] = 20; $p_header['version_extracted'] = 10; $p_header['flag'] = 0; $p_header['compression'] = 0; $p_header['crc'] = 0; $p_header['compressed_size'] = 0; $p_header['filename_len'] = strlen($p_filename); $p_header['extra_len'] = 0; $p_header['disk'] = 0; $p_header['internal'] = 0; $p_header['offset'] = 0; $p_header['filename'] = $p_filename; // TBC : Removed $p_header['stored_filename'] = $v_stored_filename; $p_header['stored_filename'] = $p_filedescr['stored_filename']; $p_header['extra'] = ''; $p_header['status'] = 'ok'; $p_header['index'] = -1; // ----- Look for regular file if ($p_filedescr['type']=='file') { $p_header['external'] = 0x00000000; $p_header['size'] = filesize($p_filename); } // ----- Look for regular folder else if ($p_filedescr['type']=='folder') { $p_header['external'] = 0x00000010; $p_header['mtime'] = filemtime($p_filename); $p_header['size'] = filesize($p_filename); } // ----- Look for virtual file else if ($p_filedescr['type'] == 'virtual_file') { $p_header['external'] = 0x00000000; $p_header['size'] = strlen($p_filedescr['content']); } // ----- Look for filetime if (isset($p_filedescr['mtime'])) { $p_header['mtime'] = $p_filedescr['mtime']; } else if ($p_filedescr['type'] == 'virtual_file') { $p_header['mtime'] = time(); } else { $p_header['mtime'] = filemtime($p_filename); } // ------ Look for file comment if (isset($p_filedescr['comment'])) { $p_header['comment_len'] = strlen($p_filedescr['comment']); $p_header['comment'] = $p_filedescr['comment']; } else { $p_header['comment_len'] = 0; $p_header['comment'] = ''; } // ----- Look for pre-add callback if (isset($p_options[PCLZIP_CB_PRE_ADD])) { // ----- Generate a local information $v_local_header = array(); $this->privConvertHeader2FileInfo($p_header, $v_local_header); // ----- Call the callback // Here I do not use call_user_func() because I need to send a reference to the // header. $v_result = $p_options[PCLZIP_CB_PRE_ADD](PCLZIP_CB_PRE_ADD, $v_local_header); if ($v_result == 0) { // ----- Change the file status $p_header['status'] = "skipped"; $v_result = 1; } // ----- Update the information // Only some fields can be modified if ($p_header['stored_filename'] != $v_local_header['stored_filename']) { $p_header['stored_filename'] = PclZipUtilPathReduction($v_local_header['stored_filename']); } } // ----- Look for empty stored filename if ($p_header['stored_filename'] == "") { $p_header['status'] = "filtered"; } // ----- Check the path length if (strlen($p_header['stored_filename']) > 0xFF) { $p_header['status'] = 'filename_too_long'; } // ----- Look if no error, or file not skipped if ($p_header['status'] == 'ok') { // ----- Look for a file if ($p_filedescr['type'] == 'file') { // ----- Look for using temporary file to zip if ( (!isset($p_options[PCLZIP_OPT_TEMP_FILE_OFF])) && (isset($p_options[PCLZIP_OPT_TEMP_FILE_ON]) || (isset($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD]) && ($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD] <= $p_header['size'])) ) ) { $v_result = $this->privAddFileUsingTempFile($p_filedescr, $p_header, $p_options); if ($v_result < PCLZIP_ERR_NO_ERROR) { return $v_result; } } // ----- Use "in memory" zip algo else { // ----- Open the source file if (($v_file = @fopen($p_filename, "rb")) == 0) { PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, "Unable to open file '$p_filename' in binary read mode"); return PclZip::errorCode(); } // ----- Read the file content if ($p_header['size'] > 0) { $v_content = @fread($v_file, $p_header['size']); } else { $v_content = ''; } // ----- Close the file @fclose($v_file); // ----- Calculate the CRC $p_header['crc'] = @crc32($v_content); // ----- Look for no compression if ($p_options[PCLZIP_OPT_NO_COMPRESSION]) { // ----- Set header parameters $p_header['compressed_size'] = $p_header['size']; $p_header['compression'] = 0; } // ----- Look for normal compression else { // ----- Compress the content $v_content = @gzdeflate($v_content); // ----- Set header parameters $p_header['compressed_size'] = strlen($v_content); $p_header['compression'] = 8; } // ----- Call the header generation if (($v_result = $this->privWriteFileHeader($p_header)) != 1) { @fclose($v_file); return $v_result; } // ----- Write the compressed (or not) content @fwrite($this->zip_fd, $v_content, $p_header['compressed_size']); } } // ----- Look for a virtual file (a file from string) else if ($p_filedescr['type'] == 'virtual_file') { $v_content = $p_filedescr['content']; // ----- Calculate the CRC $p_header['crc'] = @crc32($v_content); // ----- Look for no compression if ($p_options[PCLZIP_OPT_NO_COMPRESSION]) { // ----- Set header parameters $p_header['compressed_size'] = $p_header['size']; $p_header['compression'] = 0; } // ----- Look for normal compression else { // ----- Compress the content $v_content = @gzdeflate($v_content); // ----- Set header parameters $p_header['compressed_size'] = strlen($v_content); $p_header['compression'] = 8; } // ----- Call the header generation if (($v_result = $this->privWriteFileHeader($p_header)) != 1) { @fclose($v_file); return $v_result; } // ----- Write the compressed (or not) content @fwrite($this->zip_fd, $v_content, $p_header['compressed_size']); } // ----- Look for a directory else if ($p_filedescr['type'] == 'folder') { // ----- Look for directory last '/' if (@substr($p_header['stored_filename'], -1) != '/') { $p_header['stored_filename'] .= '/'; } // ----- Set the file properties $p_header['size'] = 0; //$p_header['external'] = 0x41FF0010; // Value for a folder : to be checked $p_header['external'] = 0x00000010; // Value for a folder : to be checked // ----- Call the header generation if (($v_result = $this->privWriteFileHeader($p_header)) != 1) { return $v_result; } } } // ----- Look for post-add callback if (isset($p_options[PCLZIP_CB_POST_ADD])) { // ----- Generate a local information $v_local_header = array(); $this->privConvertHeader2FileInfo($p_header, $v_local_header); // ----- Call the callback // Here I do not use call_user_func() because I need to send a reference to the // header. $v_result = $p_options[PCLZIP_CB_POST_ADD](PCLZIP_CB_POST_ADD, $v_local_header); if ($v_result == 0) { // ----- Ignored $v_result = 1; } // ----- Update the information // Nothing can be modified } // ----- Return return $v_result; } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : privAddFileUsingTempFile() // Description : // Parameters : // Return Values : // -------------------------------------------------------------------------------- function privAddFileUsingTempFile($p_filedescr, &$p_header, &$p_options) { $v_result=PCLZIP_ERR_NO_ERROR; // ----- Working variable $p_filename = $p_filedescr['filename']; // ----- Open the source file if (($v_file = @fopen($p_filename, "rb")) == 0) { PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, "Unable to open file '$p_filename' in binary read mode"); return PclZip::errorCode(); } // ----- Creates a compressed temporary file $v_gzip_temp_name = PCLZIP_TEMPORARY_DIR.uniqid('pclzip-').'.gz'; if (($v_file_compressed = @gzopen($v_gzip_temp_name, "wb")) == 0) { fclose($v_file); PclZip::privErrorLog(PCLZIP_ERR_WRITE_OPEN_FAIL, 'Unable to open temporary file \''.$v_gzip_temp_name.'\' in binary write mode'); return PclZip::errorCode(); } // ----- Read the file by PCLZIP_READ_BLOCK_SIZE octets blocks $v_size = filesize($p_filename); while ($v_size != 0) { $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); $v_buffer = @fread($v_file, $v_read_size); //$v_binary_data = pack('a'.$v_read_size, $v_buffer); @gzputs($v_file_compressed, $v_buffer, $v_read_size); $v_size -= $v_read_size; } // ----- Close the file @fclose($v_file); @gzclose($v_file_compressed); // ----- Check the minimum file size if (filesize($v_gzip_temp_name) < 18) { PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'gzip temporary file \''.$v_gzip_temp_name.'\' has invalid filesize - should be minimum 18 bytes'); return PclZip::errorCode(); } // ----- Extract the compressed attributes if (($v_file_compressed = @fopen($v_gzip_temp_name, "rb")) == 0) { PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open temporary file \''.$v_gzip_temp_name.'\' in binary read mode'); return PclZip::errorCode(); } // ----- Read the gzip file header $v_binary_data = @fread($v_file_compressed, 10); $v_data_header = unpack('a1id1/a1id2/a1cm/a1flag/Vmtime/a1xfl/a1os', $v_binary_data); // ----- Check some parameters $v_data_header['os'] = bin2hex($v_data_header['os']); // ----- Read the gzip file footer @fseek($v_file_compressed, filesize($v_gzip_temp_name)-8); $v_binary_data = @fread($v_file_compressed, 8); $v_data_footer = unpack('Vcrc/Vcompressed_size', $v_binary_data); // ----- Set the attributes $p_header['compression'] = ord($v_data_header['cm']); //$p_header['mtime'] = $v_data_header['mtime']; $p_header['crc'] = $v_data_footer['crc']; $p_header['compressed_size'] = filesize($v_gzip_temp_name)-18; // ----- Close the file @fclose($v_file_compressed); // ----- Call the header generation if (($v_result = $this->privWriteFileHeader($p_header)) != 1) { return $v_result; } // ----- Add the compressed data if (($v_file_compressed = @fopen($v_gzip_temp_name, "rb")) == 0) { PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open temporary file \''.$v_gzip_temp_name.'\' in binary read mode'); return PclZip::errorCode(); } // ----- Read the file by PCLZIP_READ_BLOCK_SIZE octets blocks fseek($v_file_compressed, 10); $v_size = $p_header['compressed_size']; while ($v_size != 0) { $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); $v_buffer = @fread($v_file_compressed, $v_read_size); //$v_binary_data = pack('a'.$v_read_size, $v_buffer); @fwrite($this->zip_fd, $v_buffer, $v_read_size); $v_size -= $v_read_size; } // ----- Close the file @fclose($v_file_compressed); // ----- Unlink the temporary file @unlink($v_gzip_temp_name); // ----- Return return $v_result; } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : privCalculateStoredFilename() // Description : // Based on file descriptor properties and global options, this method // calculate the filename that will be stored in the archive. // Parameters : // Return Values : // -------------------------------------------------------------------------------- function privCalculateStoredFilename(&$p_filedescr, &$p_options) { $v_result=1; // ----- Working variables $p_filename = $p_filedescr['filename']; if (isset($p_options[PCLZIP_OPT_ADD_PATH])) { $p_add_dir = $p_options[PCLZIP_OPT_ADD_PATH]; } else { $p_add_dir = ''; } if (isset($p_options[PCLZIP_OPT_REMOVE_PATH])) { $p_remove_dir = $p_options[PCLZIP_OPT_REMOVE_PATH]; } else { $p_remove_dir = ''; } if (isset($p_options[PCLZIP_OPT_REMOVE_ALL_PATH])) { $p_remove_all_dir = $p_options[PCLZIP_OPT_REMOVE_ALL_PATH]; } else { $p_remove_all_dir = 0; } // ----- Look for full name change if (isset($p_filedescr['new_full_name'])) { // ----- Remove drive letter if any $v_stored_filename = PclZipUtilTranslateWinPath($p_filedescr['new_full_name']); } // ----- Look for path and/or short name change else { // ----- Look for short name change // Its when we change just the filename but not the path if (isset($p_filedescr['new_short_name'])) { $v_path_info = pathinfo($p_filename); $v_dir = ''; if ($v_path_info['dirname'] != '') { $v_dir = $v_path_info['dirname'].'/'; } $v_stored_filename = $v_dir.$p_filedescr['new_short_name']; } else { // ----- Calculate the stored filename $v_stored_filename = $p_filename; } // ----- Look for all path to remove if ($p_remove_all_dir) { $v_stored_filename = basename($p_filename); } // ----- Look for partial path remove else if ($p_remove_dir != "") { if (substr($p_remove_dir, -1) != '/') $p_remove_dir .= "/"; if ( (substr($p_filename, 0, 2) == "./") || (substr($p_remove_dir, 0, 2) == "./")) { if ( (substr($p_filename, 0, 2) == "./") && (substr($p_remove_dir, 0, 2) != "./")) { $p_remove_dir = "./".$p_remove_dir; } if ( (substr($p_filename, 0, 2) != "./") && (substr($p_remove_dir, 0, 2) == "./")) { $p_remove_dir = substr($p_remove_dir, 2); } } $v_compare = PclZipUtilPathInclusion($p_remove_dir, $v_stored_filename); if ($v_compare > 0) { if ($v_compare == 2) { $v_stored_filename = ""; } else { $v_stored_filename = substr($v_stored_filename, strlen($p_remove_dir)); } } } // ----- Remove drive letter if any $v_stored_filename = PclZipUtilTranslateWinPath($v_stored_filename); // ----- Look for path to add if ($p_add_dir != "") { if (substr($p_add_dir, -1) == "/") $v_stored_filename = $p_add_dir.$v_stored_filename; else $v_stored_filename = $p_add_dir."/".$v_stored_filename; } } // ----- Filename (reduce the path of stored name) $v_stored_filename = PclZipUtilPathReduction($v_stored_filename); $p_filedescr['stored_filename'] = $v_stored_filename; // ----- Return return $v_result; } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : privWriteFileHeader() // Description : // Parameters : // Return Values : // -------------------------------------------------------------------------------- function privWriteFileHeader(&$p_header) { $v_result=1; // ----- Store the offset position of the file $p_header['offset'] = ftell($this->zip_fd); // ----- Transform UNIX mtime to DOS format mdate/mtime $v_date = getdate($p_header['mtime']); $v_mtime = ($v_date['hours']<<11) + ($v_date['minutes']<<5) + $v_date['seconds']/2; $v_mdate = (($v_date['year']-1980)<<9) + ($v_date['mon']<<5) + $v_date['mday']; // ----- Packed data $v_binary_data = pack("VvvvvvVVVvv", 0x04034b50, $p_header['version_extracted'], $p_header['flag'], $p_header['compression'], $v_mtime, $v_mdate, $p_header['crc'], $p_header['compressed_size'], $p_header['size'], strlen($p_header['stored_filename']), $p_header['extra_len']); // ----- Write the first 148 bytes of the header in the archive fputs($this->zip_fd, $v_binary_data, 30); // ----- Write the variable fields if (strlen($p_header['stored_filename']) != 0) { fputs($this->zip_fd, $p_header['stored_filename'], strlen($p_header['stored_filename'])); } if ($p_header['extra_len'] != 0) { fputs($this->zip_fd, $p_header['extra'], $p_header['extra_len']); } // ----- Return return $v_result; } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : privWriteCentralFileHeader() // Description : // Parameters : // Return Values : // -------------------------------------------------------------------------------- function privWriteCentralFileHeader(&$p_header) { $v_result=1; // TBC //for(reset($p_header); $key = key($p_header); next($p_header)) { //} // ----- Transform UNIX mtime to DOS format mdate/mtime $v_date = getdate($p_header['mtime']); $v_mtime = ($v_date['hours']<<11) + ($v_date['minutes']<<5) + $v_date['seconds']/2; $v_mdate = (($v_date['year']-1980)<<9) + ($v_date['mon']<<5) + $v_date['mday']; // ----- Packed data $v_binary_data = pack("VvvvvvvVVVvvvvvVV", 0x02014b50, $p_header['version'], $p_header['version_extracted'], $p_header['flag'], $p_header['compression'], $v_mtime, $v_mdate, $p_header['crc'], $p_header['compressed_size'], $p_header['size'], strlen($p_header['stored_filename']), $p_header['extra_len'], $p_header['comment_len'], $p_header['disk'], $p_header['internal'], $p_header['external'], $p_header['offset']); // ----- Write the 42 bytes of the header in the zip file fputs($this->zip_fd, $v_binary_data, 46); // ----- Write the variable fields if (strlen($p_header['stored_filename']) != 0) { fputs($this->zip_fd, $p_header['stored_filename'], strlen($p_header['stored_filename'])); } if ($p_header['extra_len'] != 0) { fputs($this->zip_fd, $p_header['extra'], $p_header['extra_len']); } if ($p_header['comment_len'] != 0) { fputs($this->zip_fd, $p_header['comment'], $p_header['comment_len']); } // ----- Return return $v_result; } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : privWriteCentralHeader() // Description : // Parameters : // Return Values : // -------------------------------------------------------------------------------- function privWriteCentralHeader($p_nb_entries, $p_size, $p_offset, $p_comment) { $v_result=1; // ----- Packed data $v_binary_data = pack("VvvvvVVv", 0x06054b50, 0, 0, $p_nb_entries, $p_nb_entries, $p_size, $p_offset, strlen($p_comment)); // ----- Write the 22 bytes of the header in the zip file fputs($this->zip_fd, $v_binary_data, 22); // ----- Write the variable fields if (strlen($p_comment) != 0) { fputs($this->zip_fd, $p_comment, strlen($p_comment)); } // ----- Return return $v_result; } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : privList() // Description : // Parameters : // Return Values : // -------------------------------------------------------------------------------- function privList(&$p_list) { $v_result=1; // ----- Magic quotes trick $this->privDisableMagicQuotes(); // ----- Open the zip file if (($this->zip_fd = @fopen($this->zipname, 'rb')) == 0) { // ----- Magic quotes trick $this->privSwapBackMagicQuotes(); // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open archive \''.$this->zipname.'\' in binary read mode'); // ----- Return return PclZip::errorCode(); } // ----- Read the central directory information $v_central_dir = array(); if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1) { $this->privSwapBackMagicQuotes(); return $v_result; } // ----- Go to beginning of Central Dir @rewind($this->zip_fd); if (@fseek($this->zip_fd, $v_central_dir['offset'])) { $this->privSwapBackMagicQuotes(); // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_INVALID_ARCHIVE_ZIP, 'Invalid archive size'); // ----- Return return PclZip::errorCode(); } // ----- Read each entry for ($i=0; $i<$v_central_dir['entries']; $i++) { // ----- Read the file header if (($v_result = $this->privReadCentralFileHeader($v_header)) != 1) { $this->privSwapBackMagicQuotes(); return $v_result; } $v_header['index'] = $i; // ----- Get the only interesting attributes $this->privConvertHeader2FileInfo($v_header, $p_list[$i]); unset($v_header); } // ----- Close the zip file $this->privCloseFd(); // ----- Magic quotes trick $this->privSwapBackMagicQuotes(); // ----- Return return $v_result; } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : privConvertHeader2FileInfo() // Description : // This function takes the file information from the central directory // entries and extract the interesting parameters that will be given back. // The resulting file infos are set in the array $p_info // $p_info['filename'] : Filename with full path. Given by user (add), // extracted in the filesystem (extract). // $p_info['stored_filename'] : Stored filename in the archive. // $p_info['size'] = Size of the file. // $p_info['compressed_size'] = Compressed size of the file. // $p_info['mtime'] = Last modification date of the file. // $p_info['comment'] = Comment associated with the file. // $p_info['folder'] = true/false : indicates if the entry is a folder or not. // $p_info['status'] = status of the action on the file. // $p_info['crc'] = CRC of the file content. // Parameters : // Return Values : // -------------------------------------------------------------------------------- function privConvertHeader2FileInfo($p_header, &$p_info) { $v_result=1; // ----- Get the interesting attributes $v_temp_path = PclZipUtilPathReduction($p_header['filename']); $p_info['filename'] = $v_temp_path; $v_temp_path = PclZipUtilPathReduction($p_header['stored_filename']); $p_info['stored_filename'] = $v_temp_path; $p_info['size'] = $p_header['size']; $p_info['compressed_size'] = $p_header['compressed_size']; $p_info['mtime'] = $p_header['mtime']; $p_info['comment'] = $p_header['comment']; $p_info['folder'] = (($p_header['external']&0x00000010)==0x00000010); $p_info['index'] = $p_header['index']; $p_info['status'] = $p_header['status']; $p_info['crc'] = $p_header['crc']; // ----- Return return $v_result; } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : privExtractByRule() // Description : // Extract a file or directory depending of rules (by index, by name, ...) // Parameters : // $p_file_list : An array where will be placed the properties of each // extracted file // $p_path : Path to add while writing the extracted files // $p_remove_path : Path to remove (from the file memorized path) while writing the // extracted files. If the path does not match the file path, // the file is extracted with its memorized path. // $p_remove_path does not apply to 'list' mode. // $p_path and $p_remove_path are commulative. // Return Values : // 1 on success,0 or less on error (see error code list) // -------------------------------------------------------------------------------- function privExtractByRule(&$p_file_list, $p_path, $p_remove_path, $p_remove_all_path, &$p_options) { $v_result=1; // ----- Magic quotes trick $this->privDisableMagicQuotes(); // ----- Check the path if ( ($p_path == "") || ( (substr($p_path, 0, 1) != "/") && (substr($p_path, 0, 3) != "../") && (substr($p_path,1,2)!=":/"))) $p_path = "./".$p_path; // ----- Reduce the path last (and duplicated) '/' if (($p_path != "./") && ($p_path != "/")) { // ----- Look for the path end '/' while (substr($p_path, -1) == "/") { $p_path = substr($p_path, 0, strlen($p_path)-1); } } // ----- Look for path to remove format (should end by /) if (($p_remove_path != "") && (substr($p_remove_path, -1) != '/')) { $p_remove_path .= '/'; } $p_remove_path_size = strlen($p_remove_path); // ----- Open the zip file if (($v_result = $this->privOpenFd('rb')) != 1) { $this->privSwapBackMagicQuotes(); return $v_result; } // ----- Read the central directory information $v_central_dir = array(); if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1) { // ----- Close the zip file $this->privCloseFd(); $this->privSwapBackMagicQuotes(); return $v_result; } // ----- Start at beginning of Central Dir $v_pos_entry = $v_central_dir['offset']; // ----- Read each entry $j_start = 0; for ($i=0, $v_nb_extracted=0; $i<$v_central_dir['entries']; $i++) { // ----- Read next Central dir entry @rewind($this->zip_fd); if (@fseek($this->zip_fd, $v_pos_entry)) { // ----- Close the zip file $this->privCloseFd(); $this->privSwapBackMagicQuotes(); // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_INVALID_ARCHIVE_ZIP, 'Invalid archive size'); // ----- Return return PclZip::errorCode(); } // ----- Read the file header $v_header = array(); if (($v_result = $this->privReadCentralFileHeader($v_header)) != 1) { // ----- Close the zip file $this->privCloseFd(); $this->privSwapBackMagicQuotes(); return $v_result; } // ----- Store the index $v_header['index'] = $i; // ----- Store the file position $v_pos_entry = ftell($this->zip_fd); // ----- Look for the specific extract rules $v_extract = false; // ----- Look for extract by name rule if ( (isset($p_options[PCLZIP_OPT_BY_NAME])) && ($p_options[PCLZIP_OPT_BY_NAME] != 0)) { // ----- Look if the filename is in the list for ($j=0; ($j<sizeof($p_options[PCLZIP_OPT_BY_NAME])) && (!$v_extract); $j++) { // ----- Look for a directory if (substr($p_options[PCLZIP_OPT_BY_NAME][$j], -1) == "/") { // ----- Look if the directory is in the filename path if ( (strlen($v_header['stored_filename']) > strlen($p_options[PCLZIP_OPT_BY_NAME][$j])) && (substr($v_header['stored_filename'], 0, strlen($p_options[PCLZIP_OPT_BY_NAME][$j])) == $p_options[PCLZIP_OPT_BY_NAME][$j])) { $v_extract = true; } } // ----- Look for a filename elseif ($v_header['stored_filename'] == $p_options[PCLZIP_OPT_BY_NAME][$j]) { $v_extract = true; } } } // ----- Look for extract by ereg rule // ereg() is deprecated with PHP 5.3 /* else if ( (isset($p_options[PCLZIP_OPT_BY_EREG])) && ($p_options[PCLZIP_OPT_BY_EREG] != "")) { if (ereg($p_options[PCLZIP_OPT_BY_EREG], $v_header['stored_filename'])) { $v_extract = true; } } */ // ----- Look for extract by preg rule else if ( (isset($p_options[PCLZIP_OPT_BY_PREG])) && ($p_options[PCLZIP_OPT_BY_PREG] != "")) { if (preg_match($p_options[PCLZIP_OPT_BY_PREG], $v_header['stored_filename'])) { $v_extract = true; } } // ----- Look for extract by index rule else if ( (isset($p_options[PCLZIP_OPT_BY_INDEX])) && ($p_options[PCLZIP_OPT_BY_INDEX] != 0)) { // ----- Look if the index is in the list for ($j=$j_start; ($j<sizeof($p_options[PCLZIP_OPT_BY_INDEX])) && (!$v_extract); $j++) { if (($i>=$p_options[PCLZIP_OPT_BY_INDEX][$j]['start']) && ($i<=$p_options[PCLZIP_OPT_BY_INDEX][$j]['end'])) { $v_extract = true; } if ($i>=$p_options[PCLZIP_OPT_BY_INDEX][$j]['end']) { $j_start = $j+1; } if ($p_options[PCLZIP_OPT_BY_INDEX][$j]['start']>$i) { break; } } } // ----- Look for no rule, which means extract all the archive else { $v_extract = true; } // ----- Check compression method if ( ($v_extract) && ( ($v_header['compression'] != 8) && ($v_header['compression'] != 0))) { $v_header['status'] = 'unsupported_compression'; // ----- Look for PCLZIP_OPT_STOP_ON_ERROR if ( (isset($p_options[PCLZIP_OPT_STOP_ON_ERROR])) && ($p_options[PCLZIP_OPT_STOP_ON_ERROR]===true)) { $this->privSwapBackMagicQuotes(); PclZip::privErrorLog(PCLZIP_ERR_UNSUPPORTED_COMPRESSION, "Filename '".$v_header['stored_filename']."' is " ."compressed by an unsupported compression " ."method (".$v_header['compression'].") "); return PclZip::errorCode(); } } // ----- Check encrypted files if (($v_extract) && (($v_header['flag'] & 1) == 1)) { $v_header['status'] = 'unsupported_encryption'; // ----- Look for PCLZIP_OPT_STOP_ON_ERROR if ( (isset($p_options[PCLZIP_OPT_STOP_ON_ERROR])) && ($p_options[PCLZIP_OPT_STOP_ON_ERROR]===true)) { $this->privSwapBackMagicQuotes(); PclZip::privErrorLog(PCLZIP_ERR_UNSUPPORTED_ENCRYPTION, "Unsupported encryption for " ." filename '".$v_header['stored_filename'] ."'"); return PclZip::errorCode(); } } // ----- Look for real extraction if (($v_extract) && ($v_header['status'] != 'ok')) { $v_result = $this->privConvertHeader2FileInfo($v_header, $p_file_list[$v_nb_extracted++]); if ($v_result != 1) { $this->privCloseFd(); $this->privSwapBackMagicQuotes(); return $v_result; } $v_extract = false; } // ----- Look for real extraction if ($v_extract) { // ----- Go to the file position @rewind($this->zip_fd); if (@fseek($this->zip_fd, $v_header['offset'])) { // ----- Close the zip file $this->privCloseFd(); $this->privSwapBackMagicQuotes(); // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_INVALID_ARCHIVE_ZIP, 'Invalid archive size'); // ----- Return return PclZip::errorCode(); } // ----- Look for extraction as string if ($p_options[PCLZIP_OPT_EXTRACT_AS_STRING]) { $v_string = ''; // ----- Extracting the file $v_result1 = $this->privExtractFileAsString($v_header, $v_string, $p_options); if ($v_result1 < 1) { $this->privCloseFd(); $this->privSwapBackMagicQuotes(); return $v_result1; } // ----- Get the only interesting attributes if (($v_result = $this->privConvertHeader2FileInfo($v_header, $p_file_list[$v_nb_extracted])) != 1) { // ----- Close the zip file $this->privCloseFd(); $this->privSwapBackMagicQuotes(); return $v_result; } // ----- Set the file content $p_file_list[$v_nb_extracted]['content'] = $v_string; // ----- Next extracted file $v_nb_extracted++; // ----- Look for user callback abort if ($v_result1 == 2) { break; } } // ----- Look for extraction in standard output elseif ( (isset($p_options[PCLZIP_OPT_EXTRACT_IN_OUTPUT])) && ($p_options[PCLZIP_OPT_EXTRACT_IN_OUTPUT])) { // ----- Extracting the file in standard output $v_result1 = $this->privExtractFileInOutput($v_header, $p_options); if ($v_result1 < 1) { $this->privCloseFd(); $this->privSwapBackMagicQuotes(); return $v_result1; } // ----- Get the only interesting attributes if (($v_result = $this->privConvertHeader2FileInfo($v_header, $p_file_list[$v_nb_extracted++])) != 1) { $this->privCloseFd(); $this->privSwapBackMagicQuotes(); return $v_result; } // ----- Look for user callback abort if ($v_result1 == 2) { break; } } // ----- Look for normal extraction else { // ----- Extracting the file $v_result1 = $this->privExtractFile($v_header, $p_path, $p_remove_path, $p_remove_all_path, $p_options); if ($v_result1 < 1) { $this->privCloseFd(); $this->privSwapBackMagicQuotes(); return $v_result1; } // ----- Get the only interesting attributes if (($v_result = $this->privConvertHeader2FileInfo($v_header, $p_file_list[$v_nb_extracted++])) != 1) { // ----- Close the zip file $this->privCloseFd(); $this->privSwapBackMagicQuotes(); return $v_result; } // ----- Look for user callback abort if ($v_result1 == 2) { break; } } } } // ----- Close the zip file $this->privCloseFd(); $this->privSwapBackMagicQuotes(); // ----- Return return $v_result; } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : privExtractFile() // Description : // Parameters : // Return Values : // // 1 : ... ? // PCLZIP_ERR_USER_ABORTED(2) : User ask for extraction stop in callback // -------------------------------------------------------------------------------- function privExtractFile(&$p_entry, $p_path, $p_remove_path, $p_remove_all_path, &$p_options) { $v_result=1; // ----- Read the file header if (($v_result = $this->privReadFileHeader($v_header)) != 1) { // ----- Return return $v_result; } // ----- Check that the file header is coherent with $p_entry info if ($this->privCheckFileHeaders($v_header, $p_entry) != 1) { // TBC } // ----- Look for all path to remove if ($p_remove_all_path == true) { // ----- Look for folder entry that not need to be extracted if (($p_entry['external']&0x00000010)==0x00000010) { $p_entry['status'] = "filtered"; return $v_result; } // ----- Get the basename of the path $p_entry['filename'] = basename($p_entry['filename']); } // ----- Look for path to remove else if ($p_remove_path != "") { if (PclZipUtilPathInclusion($p_remove_path, $p_entry['filename']) == 2) { // ----- Change the file status $p_entry['status'] = "filtered"; // ----- Return return $v_result; } $p_remove_path_size = strlen($p_remove_path); if (substr($p_entry['filename'], 0, $p_remove_path_size) == $p_remove_path) { // ----- Remove the path $p_entry['filename'] = substr($p_entry['filename'], $p_remove_path_size); } } // ----- Add the path if ($p_path != '') { $p_entry['filename'] = $p_path."/".$p_entry['filename']; } // ----- Check a base_dir_restriction if (isset($p_options[PCLZIP_OPT_EXTRACT_DIR_RESTRICTION])) { $v_inclusion = PclZipUtilPathInclusion($p_options[PCLZIP_OPT_EXTRACT_DIR_RESTRICTION], $p_entry['filename']); if ($v_inclusion == 0) { PclZip::privErrorLog(PCLZIP_ERR_DIRECTORY_RESTRICTION, "Filename '".$p_entry['filename']."' is " ."outside PCLZIP_OPT_EXTRACT_DIR_RESTRICTION"); return PclZip::errorCode(); } } // ----- Look for pre-extract callback if (isset($p_options[PCLZIP_CB_PRE_EXTRACT])) { // ----- Generate a local information $v_local_header = array(); $this->privConvertHeader2FileInfo($p_entry, $v_local_header); // ----- Call the callback // Here I do not use call_user_func() because I need to send a reference to the // header. $v_result = $p_options[PCLZIP_CB_PRE_EXTRACT](PCLZIP_CB_PRE_EXTRACT, $v_local_header); if ($v_result == 0) { // ----- Change the file status $p_entry['status'] = "skipped"; $v_result = 1; } // ----- Look for abort result if ($v_result == 2) { // ----- This status is internal and will be changed in 'skipped' $p_entry['status'] = "aborted"; $v_result = PCLZIP_ERR_USER_ABORTED; } // ----- Update the information // Only some fields can be modified $p_entry['filename'] = $v_local_header['filename']; } // ----- Look if extraction should be done if ($p_entry['status'] == 'ok') { // ----- Look for specific actions while the file exist if (file_exists($p_entry['filename'])) { // ----- Look if file is a directory if (is_dir($p_entry['filename'])) { // ----- Change the file status $p_entry['status'] = "already_a_directory"; // ----- Look for PCLZIP_OPT_STOP_ON_ERROR // For historical reason first PclZip implementation does not stop // when this kind of error occurs. if ( (isset($p_options[PCLZIP_OPT_STOP_ON_ERROR])) && ($p_options[PCLZIP_OPT_STOP_ON_ERROR]===true)) { PclZip::privErrorLog(PCLZIP_ERR_ALREADY_A_DIRECTORY, "Filename '".$p_entry['filename']."' is " ."already used by an existing directory"); return PclZip::errorCode(); } } // ----- Look if file is write protected else if (!is_writeable($p_entry['filename'])) { // ----- Change the file status $p_entry['status'] = "write_protected"; // ----- Look for PCLZIP_OPT_STOP_ON_ERROR // For historical reason first PclZip implementation does not stop // when this kind of error occurs. if ( (isset($p_options[PCLZIP_OPT_STOP_ON_ERROR])) && ($p_options[PCLZIP_OPT_STOP_ON_ERROR]===true)) { PclZip::privErrorLog(PCLZIP_ERR_WRITE_OPEN_FAIL, "Filename '".$p_entry['filename']."' exists " ."and is write protected"); return PclZip::errorCode(); } } // ----- Look if the extracted file is older else if (filemtime($p_entry['filename']) > $p_entry['mtime']) { // ----- Change the file status if ( (isset($p_options[PCLZIP_OPT_REPLACE_NEWER])) && ($p_options[PCLZIP_OPT_REPLACE_NEWER]===true)) { } else { $p_entry['status'] = "newer_exist"; // ----- Look for PCLZIP_OPT_STOP_ON_ERROR // For historical reason first PclZip implementation does not stop // when this kind of error occurs. if ( (isset($p_options[PCLZIP_OPT_STOP_ON_ERROR])) && ($p_options[PCLZIP_OPT_STOP_ON_ERROR]===true)) { PclZip::privErrorLog(PCLZIP_ERR_WRITE_OPEN_FAIL, "Newer version of '".$p_entry['filename']."' exists " ."and option PCLZIP_OPT_REPLACE_NEWER is not selected"); return PclZip::errorCode(); } } } else { } } // ----- Check the directory availability and create it if necessary else { if ((($p_entry['external']&0x00000010)==0x00000010) || (substr($p_entry['filename'], -1) == '/')) $v_dir_to_check = $p_entry['filename']; else if (!strstr($p_entry['filename'], "/")) $v_dir_to_check = ""; else $v_dir_to_check = dirname($p_entry['filename']); if (($v_result = $this->privDirCheck($v_dir_to_check, (($p_entry['external']&0x00000010)==0x00000010))) != 1) { // ----- Change the file status $p_entry['status'] = "path_creation_fail"; // ----- Return //return $v_result; $v_result = 1; } } } // ----- Look if extraction should be done if ($p_entry['status'] == 'ok') { // ----- Do the extraction (if not a folder) if (!(($p_entry['external']&0x00000010)==0x00000010)) { // ----- Look for not compressed file if ($p_entry['compression'] == 0) { // ----- Opening destination file if (($v_dest_file = @fopen($p_entry['filename'], 'wb')) == 0) { // ----- Change the file status $p_entry['status'] = "write_error"; // ----- Return return $v_result; } // ----- Read the file by PCLZIP_READ_BLOCK_SIZE octets blocks $v_size = $p_entry['compressed_size']; while ($v_size != 0) { $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); $v_buffer = @fread($this->zip_fd, $v_read_size); /* Try to speed up the code $v_binary_data = pack('a'.$v_read_size, $v_buffer); @fwrite($v_dest_file, $v_binary_data, $v_read_size); */ @fwrite($v_dest_file, $v_buffer, $v_read_size); $v_size -= $v_read_size; } // ----- Closing the destination file fclose($v_dest_file); // ----- Change the file mtime touch($p_entry['filename'], $p_entry['mtime']); } else { // ----- TBC // Need to be finished if (($p_entry['flag'] & 1) == 1) { PclZip::privErrorLog(PCLZIP_ERR_UNSUPPORTED_ENCRYPTION, 'File \''.$p_entry['filename'].'\' is encrypted. Encrypted files are not supported.'); return PclZip::errorCode(); } // ----- Look for using temporary file to unzip if ( (!isset($p_options[PCLZIP_OPT_TEMP_FILE_OFF])) && (isset($p_options[PCLZIP_OPT_TEMP_FILE_ON]) || (isset($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD]) && ($p_options[PCLZIP_OPT_TEMP_FILE_THRESHOLD] <= $p_entry['size'])) ) ) { $v_result = $this->privExtractFileUsingTempFile($p_entry, $p_options); if ($v_result < PCLZIP_ERR_NO_ERROR) { return $v_result; } } // ----- Look for extract in memory else { // ----- Read the compressed file in a buffer (one shot) if ($p_entry['compressed_size'] > 0) { $v_buffer = @fread($this->zip_fd, $p_entry['compressed_size']); } else { $v_buffer = ''; } // ----- Decompress the file $v_file_content = @gzinflate($v_buffer); unset($v_buffer); if ($v_file_content === FALSE) { // ----- Change the file status // TBC $p_entry['status'] = "error"; return $v_result; } // ----- Opening destination file if (($v_dest_file = @fopen($p_entry['filename'], 'wb')) == 0) { // ----- Change the file status $p_entry['status'] = "write_error"; return $v_result; } // ----- Write the uncompressed data @fwrite($v_dest_file, $v_file_content, $p_entry['size']); unset($v_file_content); // ----- Closing the destination file @fclose($v_dest_file); } // ----- Change the file mtime @touch($p_entry['filename'], $p_entry['mtime']); } // ----- Look for chmod option if (isset($p_options[PCLZIP_OPT_SET_CHMOD])) { // ----- Change the mode of the file @chmod($p_entry['filename'], $p_options[PCLZIP_OPT_SET_CHMOD]); } } } // ----- Change abort status if ($p_entry['status'] == "aborted") { $p_entry['status'] = "skipped"; } // ----- Look for post-extract callback elseif (isset($p_options[PCLZIP_CB_POST_EXTRACT])) { // ----- Generate a local information $v_local_header = array(); $this->privConvertHeader2FileInfo($p_entry, $v_local_header); // ----- Call the callback // Here I do not use call_user_func() because I need to send a reference to the // header. $v_result = $p_options[PCLZIP_CB_POST_EXTRACT](PCLZIP_CB_POST_EXTRACT, $v_local_header); // ----- Look for abort result if ($v_result == 2) { $v_result = PCLZIP_ERR_USER_ABORTED; } } // ----- Return return $v_result; } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : privExtractFileUsingTempFile() // Description : // Parameters : // Return Values : // -------------------------------------------------------------------------------- function privExtractFileUsingTempFile(&$p_entry, &$p_options) { $v_result=1; // ----- Creates a temporary file $v_gzip_temp_name = PCLZIP_TEMPORARY_DIR.uniqid('pclzip-').'.gz'; if (($v_dest_file = @fopen($v_gzip_temp_name, "wb")) == 0) { fclose($v_file); PclZip::privErrorLog(PCLZIP_ERR_WRITE_OPEN_FAIL, 'Unable to open temporary file \''.$v_gzip_temp_name.'\' in binary write mode'); return PclZip::errorCode(); } // ----- Write gz file format header $v_binary_data = pack('va1a1Va1a1', 0x8b1f, Chr($p_entry['compression']), Chr(0x00), time(), Chr(0x00), Chr(3)); @fwrite($v_dest_file, $v_binary_data, 10); // ----- Read the file by PCLZIP_READ_BLOCK_SIZE octets blocks $v_size = $p_entry['compressed_size']; while ($v_size != 0) { $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); $v_buffer = @fread($this->zip_fd, $v_read_size); //$v_binary_data = pack('a'.$v_read_size, $v_buffer); @fwrite($v_dest_file, $v_buffer, $v_read_size); $v_size -= $v_read_size; } // ----- Write gz file format footer $v_binary_data = pack('VV', $p_entry['crc'], $p_entry['size']); @fwrite($v_dest_file, $v_binary_data, 8); // ----- Close the temporary file @fclose($v_dest_file); // ----- Opening destination file if (($v_dest_file = @fopen($p_entry['filename'], 'wb')) == 0) { $p_entry['status'] = "write_error"; return $v_result; } // ----- Open the temporary gz file if (($v_src_file = @gzopen($v_gzip_temp_name, 'rb')) == 0) { @fclose($v_dest_file); $p_entry['status'] = "read_error"; PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open temporary file \''.$v_gzip_temp_name.'\' in binary read mode'); return PclZip::errorCode(); } // ----- Read the file by PCLZIP_READ_BLOCK_SIZE octets blocks $v_size = $p_entry['size']; while ($v_size != 0) { $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); $v_buffer = @gzread($v_src_file, $v_read_size); //$v_binary_data = pack('a'.$v_read_size, $v_buffer); @fwrite($v_dest_file, $v_buffer, $v_read_size); $v_size -= $v_read_size; } @fclose($v_dest_file); @gzclose($v_src_file); // ----- Delete the temporary file @unlink($v_gzip_temp_name); // ----- Return return $v_result; } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : privExtractFileInOutput() // Description : // Parameters : // Return Values : // -------------------------------------------------------------------------------- function privExtractFileInOutput(&$p_entry, &$p_options) { $v_result=1; // ----- Read the file header if (($v_result = $this->privReadFileHeader($v_header)) != 1) { return $v_result; } // ----- Check that the file header is coherent with $p_entry info if ($this->privCheckFileHeaders($v_header, $p_entry) != 1) { // TBC } // ----- Look for pre-extract callback if (isset($p_options[PCLZIP_CB_PRE_EXTRACT])) { // ----- Generate a local information $v_local_header = array(); $this->privConvertHeader2FileInfo($p_entry, $v_local_header); // ----- Call the callback // Here I do not use call_user_func() because I need to send a reference to the // header. // eval('$v_result = '.$p_options[PCLZIP_CB_PRE_EXTRACT].'(PCLZIP_CB_PRE_EXTRACT, $v_local_header);'); $v_result = $p_options[PCLZIP_CB_PRE_EXTRACT](PCLZIP_CB_PRE_EXTRACT, $v_local_header); if ($v_result == 0) { // ----- Change the file status $p_entry['status'] = "skipped"; $v_result = 1; } // ----- Look for abort result if ($v_result == 2) { // ----- This status is internal and will be changed in 'skipped' $p_entry['status'] = "aborted"; $v_result = PCLZIP_ERR_USER_ABORTED; } // ----- Update the information // Only some fields can be modified $p_entry['filename'] = $v_local_header['filename']; } // ----- Trace // ----- Look if extraction should be done if ($p_entry['status'] == 'ok') { // ----- Do the extraction (if not a folder) if (!(($p_entry['external']&0x00000010)==0x00000010)) { // ----- Look for not compressed file if ($p_entry['compressed_size'] == $p_entry['size']) { // ----- Read the file in a buffer (one shot) if ($p_entry['compressed_size'] > 0) { $v_buffer = @fread($this->zip_fd, $p_entry['compressed_size']); } else { $v_buffer = ''; } // ----- Send the file to the output echo $v_buffer; unset($v_buffer); } else { // ----- Read the compressed file in a buffer (one shot) if ($p_entry['compressed_size'] > 0) { $v_buffer = @fread($this->zip_fd, $p_entry['compressed_size']); } else { $v_buffer = ''; } // ----- Decompress the file $v_file_content = gzinflate($v_buffer); unset($v_buffer); // ----- Send the file to the output echo $v_file_content; unset($v_file_content); } } } // ----- Change abort status if ($p_entry['status'] == "aborted") { $p_entry['status'] = "skipped"; } // ----- Look for post-extract callback elseif (isset($p_options[PCLZIP_CB_POST_EXTRACT])) { // ----- Generate a local information $v_local_header = array(); $this->privConvertHeader2FileInfo($p_entry, $v_local_header); // ----- Call the callback // Here I do not use call_user_func() because I need to send a reference to the // header. $v_result = $p_options[PCLZIP_CB_POST_EXTRACT](PCLZIP_CB_POST_EXTRACT, $v_local_header); // ----- Look for abort result if ($v_result == 2) { $v_result = PCLZIP_ERR_USER_ABORTED; } } return $v_result; } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : privExtractFileAsString() // Description : // Parameters : // Return Values : // -------------------------------------------------------------------------------- function privExtractFileAsString(&$p_entry, &$p_string, &$p_options) { $v_result=1; // ----- Read the file header $v_header = array(); if (($v_result = $this->privReadFileHeader($v_header)) != 1) { // ----- Return return $v_result; } // ----- Check that the file header is coherent with $p_entry info if ($this->privCheckFileHeaders($v_header, $p_entry) != 1) { // TBC } // ----- Look for pre-extract callback if (isset($p_options[PCLZIP_CB_PRE_EXTRACT])) { // ----- Generate a local information $v_local_header = array(); $this->privConvertHeader2FileInfo($p_entry, $v_local_header); // ----- Call the callback // Here I do not use call_user_func() because I need to send a reference to the // header. $v_result = $p_options[PCLZIP_CB_PRE_EXTRACT](PCLZIP_CB_PRE_EXTRACT, $v_local_header); if ($v_result == 0) { // ----- Change the file status $p_entry['status'] = "skipped"; $v_result = 1; } // ----- Look for abort result if ($v_result == 2) { // ----- This status is internal and will be changed in 'skipped' $p_entry['status'] = "aborted"; $v_result = PCLZIP_ERR_USER_ABORTED; } // ----- Update the information // Only some fields can be modified $p_entry['filename'] = $v_local_header['filename']; } // ----- Look if extraction should be done if ($p_entry['status'] == 'ok') { // ----- Do the extraction (if not a folder) if (!(($p_entry['external']&0x00000010)==0x00000010)) { // ----- Look for not compressed file // if ($p_entry['compressed_size'] == $p_entry['size']) if ($p_entry['compression'] == 0) { // ----- Reading the file if ($p_entry['compressed_size'] > 0) { $p_string = @fread($this->zip_fd, $p_entry['compressed_size']); } else { $p_string = ''; } } else { // ----- Reading the file if ($p_entry['compressed_size'] > 0) { $v_data = @fread($this->zip_fd, $p_entry['compressed_size']); } else { $v_data = ''; } // ----- Decompress the file if (($p_string = @gzinflate($v_data)) === FALSE) { // TBC } } // ----- Trace } else { // TBC : error : can not extract a folder in a string } } // ----- Change abort status if ($p_entry['status'] == "aborted") { $p_entry['status'] = "skipped"; } // ----- Look for post-extract callback elseif (isset($p_options[PCLZIP_CB_POST_EXTRACT])) { // ----- Generate a local information $v_local_header = array(); $this->privConvertHeader2FileInfo($p_entry, $v_local_header); // ----- Swap the content to header $v_local_header['content'] = $p_string; $p_string = ''; // ----- Call the callback // Here I do not use call_user_func() because I need to send a reference to the // header. $v_result = $p_options[PCLZIP_CB_POST_EXTRACT](PCLZIP_CB_POST_EXTRACT, $v_local_header); // ----- Swap back the content to header $p_string = $v_local_header['content']; unset($v_local_header['content']); // ----- Look for abort result if ($v_result == 2) { $v_result = PCLZIP_ERR_USER_ABORTED; } } // ----- Return return $v_result; } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : privReadFileHeader() // Description : // Parameters : // Return Values : // -------------------------------------------------------------------------------- function privReadFileHeader(&$p_header) { $v_result=1; // ----- Read the 4 bytes signature $v_binary_data = @fread($this->zip_fd, 4); $v_data = unpack('Vid', $v_binary_data); // ----- Check signature if ($v_data['id'] != 0x04034b50) { // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'Invalid archive structure'); // ----- Return return PclZip::errorCode(); } // ----- Read the first 42 bytes of the header $v_binary_data = fread($this->zip_fd, 26); // ----- Look for invalid block size if (strlen($v_binary_data) != 26) { $p_header['filename'] = ""; $p_header['status'] = "invalid_header"; // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, "Invalid block size : ".strlen($v_binary_data)); // ----- Return return PclZip::errorCode(); } // ----- Extract the values $v_data = unpack('vversion/vflag/vcompression/vmtime/vmdate/Vcrc/Vcompressed_size/Vsize/vfilename_len/vextra_len', $v_binary_data); // ----- Get filename $p_header['filename'] = fread($this->zip_fd, $v_data['filename_len']); // ----- Get extra_fields if ($v_data['extra_len'] != 0) { $p_header['extra'] = fread($this->zip_fd, $v_data['extra_len']); } else { $p_header['extra'] = ''; } // ----- Extract properties $p_header['version_extracted'] = $v_data['version']; $p_header['compression'] = $v_data['compression']; $p_header['size'] = $v_data['size']; $p_header['compressed_size'] = $v_data['compressed_size']; $p_header['crc'] = $v_data['crc']; $p_header['flag'] = $v_data['flag']; $p_header['filename_len'] = $v_data['filename_len']; // ----- Recuperate date in UNIX format $p_header['mdate'] = $v_data['mdate']; $p_header['mtime'] = $v_data['mtime']; if ($p_header['mdate'] && $p_header['mtime']) { // ----- Extract time $v_hour = ($p_header['mtime'] & 0xF800) >> 11; $v_minute = ($p_header['mtime'] & 0x07E0) >> 5; $v_seconde = ($p_header['mtime'] & 0x001F)*2; // ----- Extract date $v_year = (($p_header['mdate'] & 0xFE00) >> 9) + 1980; $v_month = ($p_header['mdate'] & 0x01E0) >> 5; $v_day = $p_header['mdate'] & 0x001F; // ----- Get UNIX date format $p_header['mtime'] = @mktime($v_hour, $v_minute, $v_seconde, $v_month, $v_day, $v_year); } else { $p_header['mtime'] = time(); } // TBC //for(reset($v_data); $key = key($v_data); next($v_data)) { //} // ----- Set the stored filename $p_header['stored_filename'] = $p_header['filename']; // ----- Set the status field $p_header['status'] = "ok"; // ----- Return return $v_result; } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : privReadCentralFileHeader() // Description : // Parameters : // Return Values : // -------------------------------------------------------------------------------- function privReadCentralFileHeader(&$p_header) { $v_result=1; // ----- Read the 4 bytes signature $v_binary_data = @fread($this->zip_fd, 4); $v_data = unpack('Vid', $v_binary_data); // ----- Check signature if ($v_data['id'] != 0x02014b50) { // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'Invalid archive structure'); // ----- Return return PclZip::errorCode(); } // ----- Read the first 42 bytes of the header $v_binary_data = fread($this->zip_fd, 42); // ----- Look for invalid block size if (strlen($v_binary_data) != 42) { $p_header['filename'] = ""; $p_header['status'] = "invalid_header"; // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, "Invalid block size : ".strlen($v_binary_data)); // ----- Return return PclZip::errorCode(); } // ----- Extract the values $p_header = unpack('vversion/vversion_extracted/vflag/vcompression/vmtime/vmdate/Vcrc/Vcompressed_size/Vsize/vfilename_len/vextra_len/vcomment_len/vdisk/vinternal/Vexternal/Voffset', $v_binary_data); // ----- Get filename if ($p_header['filename_len'] != 0) $p_header['filename'] = fread($this->zip_fd, $p_header['filename_len']); else $p_header['filename'] = ''; // ----- Get extra if ($p_header['extra_len'] != 0) $p_header['extra'] = fread($this->zip_fd, $p_header['extra_len']); else $p_header['extra'] = ''; // ----- Get comment if ($p_header['comment_len'] != 0) $p_header['comment'] = fread($this->zip_fd, $p_header['comment_len']); else $p_header['comment'] = ''; // ----- Extract properties // ----- Recuperate date in UNIX format //if ($p_header['mdate'] && $p_header['mtime']) // TBC : bug : this was ignoring time with 0/0/0 if (1) { // ----- Extract time $v_hour = ($p_header['mtime'] & 0xF800) >> 11; $v_minute = ($p_header['mtime'] & 0x07E0) >> 5; $v_seconde = ($p_header['mtime'] & 0x001F)*2; // ----- Extract date $v_year = (($p_header['mdate'] & 0xFE00) >> 9) + 1980; $v_month = ($p_header['mdate'] & 0x01E0) >> 5; $v_day = $p_header['mdate'] & 0x001F; // ----- Get UNIX date format $p_header['mtime'] = @mktime($v_hour, $v_minute, $v_seconde, $v_month, $v_day, $v_year); } else { $p_header['mtime'] = time(); } // ----- Set the stored filename $p_header['stored_filename'] = $p_header['filename']; // ----- Set default status to ok $p_header['status'] = 'ok'; // ----- Look if it is a directory if (substr($p_header['filename'], -1) == '/') { //$p_header['external'] = 0x41FF0010; $p_header['external'] = 0x00000010; } // ----- Return return $v_result; } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : privCheckFileHeaders() // Description : // Parameters : // Return Values : // 1 on success, // 0 on error; // -------------------------------------------------------------------------------- function privCheckFileHeaders(&$p_local_header, &$p_central_header) { $v_result=1; // ----- Check the static values // TBC if ($p_local_header['filename'] != $p_central_header['filename']) { } if ($p_local_header['version_extracted'] != $p_central_header['version_extracted']) { } if ($p_local_header['flag'] != $p_central_header['flag']) { } if ($p_local_header['compression'] != $p_central_header['compression']) { } if ($p_local_header['mtime'] != $p_central_header['mtime']) { } if ($p_local_header['filename_len'] != $p_central_header['filename_len']) { } // ----- Look for flag bit 3 if (($p_local_header['flag'] & 8) == 8) { $p_local_header['size'] = $p_central_header['size']; $p_local_header['compressed_size'] = $p_central_header['compressed_size']; $p_local_header['crc'] = $p_central_header['crc']; } // ----- Return return $v_result; } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : privReadEndCentralDir() // Description : // Parameters : // Return Values : // -------------------------------------------------------------------------------- function privReadEndCentralDir(&$p_central_dir) { $v_result=1; // ----- Go to the end of the zip file $v_size = filesize($this->zipname); @fseek($this->zip_fd, $v_size); if (@ftell($this->zip_fd) != $v_size) { // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'Unable to go to the end of the archive \''.$this->zipname.'\''); // ----- Return return PclZip::errorCode(); } // ----- First try : look if this is an archive with no commentaries (most of the time) // in this case the end of central dir is at 22 bytes of the file end $v_found = 0; if ($v_size > 26) { @fseek($this->zip_fd, $v_size-22); if (($v_pos = @ftell($this->zip_fd)) != ($v_size-22)) { // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'Unable to seek back to the middle of the archive \''.$this->zipname.'\''); // ----- Return return PclZip::errorCode(); } // ----- Read for bytes $v_binary_data = @fread($this->zip_fd, 4); $v_data = @unpack('Vid', $v_binary_data); // ----- Check signature if ($v_data['id'] == 0x06054b50) { $v_found = 1; } $v_pos = ftell($this->zip_fd); } // ----- Go back to the maximum possible size of the Central Dir End Record if (!$v_found) { $v_maximum_size = 65557; // 0xFFFF + 22; if ($v_maximum_size > $v_size) $v_maximum_size = $v_size; @fseek($this->zip_fd, $v_size-$v_maximum_size); if (@ftell($this->zip_fd) != ($v_size-$v_maximum_size)) { // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'Unable to seek back to the middle of the archive \''.$this->zipname.'\''); // ----- Return return PclZip::errorCode(); } // ----- Read byte per byte in order to find the signature $v_pos = ftell($this->zip_fd); $v_bytes = 0x00000000; while ($v_pos < $v_size) { // ----- Read a byte $v_byte = @fread($this->zip_fd, 1); // ----- Add the byte //$v_bytes = ($v_bytes << 8) | Ord($v_byte); // Note we mask the old value down such that once shifted we can never end up with more than a 32bit number // Otherwise on systems where we have 64bit integers the check below for the magic number will fail. $v_bytes = ( ($v_bytes & 0xFFFFFF) << 8) | Ord($v_byte); // ----- Compare the bytes if ($v_bytes == 0x504b0506) { $v_pos++; break; } $v_pos++; } // ----- Look if not found end of central dir if ($v_pos == $v_size) { // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, "Unable to find End of Central Dir Record signature"); // ----- Return return PclZip::errorCode(); } } // ----- Read the first 18 bytes of the header $v_binary_data = fread($this->zip_fd, 18); // ----- Look for invalid block size if (strlen($v_binary_data) != 18) { // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, "Invalid End of Central Dir Record size : ".strlen($v_binary_data)); // ----- Return return PclZip::errorCode(); } // ----- Extract the values $v_data = unpack('vdisk/vdisk_start/vdisk_entries/ventries/Vsize/Voffset/vcomment_size', $v_binary_data); // ----- Check the global size if (($v_pos + $v_data['comment_size'] + 18) != $v_size) { // ----- Removed in release 2.2 see readme file // The check of the file size is a little too strict. // Some bugs where found when a zip is encrypted/decrypted with 'crypt'. // While decrypted, zip has training 0 bytes if (0) { // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_BAD_FORMAT, 'The central dir is not at the end of the archive.' .' Some trailing bytes exists after the archive.'); // ----- Return return PclZip::errorCode(); } } // ----- Get comment if ($v_data['comment_size'] != 0) { $p_central_dir['comment'] = fread($this->zip_fd, $v_data['comment_size']); } else $p_central_dir['comment'] = ''; $p_central_dir['entries'] = $v_data['entries']; $p_central_dir['disk_entries'] = $v_data['disk_entries']; $p_central_dir['offset'] = $v_data['offset']; $p_central_dir['size'] = $v_data['size']; $p_central_dir['disk'] = $v_data['disk']; $p_central_dir['disk_start'] = $v_data['disk_start']; // TBC //for(reset($p_central_dir); $key = key($p_central_dir); next($p_central_dir)) { //} // ----- Return return $v_result; } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : privDeleteByRule() // Description : // Parameters : // Return Values : // -------------------------------------------------------------------------------- function privDeleteByRule(&$p_result_list, &$p_options) { $v_result=1; $v_list_detail = array(); // ----- Open the zip file if (($v_result=$this->privOpenFd('rb')) != 1) { // ----- Return return $v_result; } // ----- Read the central directory information $v_central_dir = array(); if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1) { $this->privCloseFd(); return $v_result; } // ----- Go to beginning of File @rewind($this->zip_fd); // ----- Scan all the files // ----- Start at beginning of Central Dir $v_pos_entry = $v_central_dir['offset']; @rewind($this->zip_fd); if (@fseek($this->zip_fd, $v_pos_entry)) { // ----- Close the zip file $this->privCloseFd(); // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_INVALID_ARCHIVE_ZIP, 'Invalid archive size'); // ----- Return return PclZip::errorCode(); } // ----- Read each entry $v_header_list = array(); $j_start = 0; for ($i=0, $v_nb_extracted=0; $i<$v_central_dir['entries']; $i++) { // ----- Read the file header $v_header_list[$v_nb_extracted] = array(); if (($v_result = $this->privReadCentralFileHeader($v_header_list[$v_nb_extracted])) != 1) { // ----- Close the zip file $this->privCloseFd(); return $v_result; } // ----- Store the index $v_header_list[$v_nb_extracted]['index'] = $i; // ----- Look for the specific extract rules $v_found = false; // ----- Look for extract by name rule if ( (isset($p_options[PCLZIP_OPT_BY_NAME])) && ($p_options[PCLZIP_OPT_BY_NAME] != 0)) { // ----- Look if the filename is in the list for ($j=0; ($j<sizeof($p_options[PCLZIP_OPT_BY_NAME])) && (!$v_found); $j++) { // ----- Look for a directory if (substr($p_options[PCLZIP_OPT_BY_NAME][$j], -1) == "/") { // ----- Look if the directory is in the filename path if ( (strlen($v_header_list[$v_nb_extracted]['stored_filename']) > strlen($p_options[PCLZIP_OPT_BY_NAME][$j])) && (substr($v_header_list[$v_nb_extracted]['stored_filename'], 0, strlen($p_options[PCLZIP_OPT_BY_NAME][$j])) == $p_options[PCLZIP_OPT_BY_NAME][$j])) { $v_found = true; } elseif ( (($v_header_list[$v_nb_extracted]['external']&0x00000010)==0x00000010) /* Indicates a folder */ && ($v_header_list[$v_nb_extracted]['stored_filename'].'/' == $p_options[PCLZIP_OPT_BY_NAME][$j])) { $v_found = true; } } // ----- Look for a filename elseif ($v_header_list[$v_nb_extracted]['stored_filename'] == $p_options[PCLZIP_OPT_BY_NAME][$j]) { $v_found = true; } } } // ----- Look for extract by ereg rule // ereg() is deprecated with PHP 5.3 /* else if ( (isset($p_options[PCLZIP_OPT_BY_EREG])) && ($p_options[PCLZIP_OPT_BY_EREG] != "")) { if (ereg($p_options[PCLZIP_OPT_BY_EREG], $v_header_list[$v_nb_extracted]['stored_filename'])) { $v_found = true; } } */ // ----- Look for extract by preg rule else if ( (isset($p_options[PCLZIP_OPT_BY_PREG])) && ($p_options[PCLZIP_OPT_BY_PREG] != "")) { if (preg_match($p_options[PCLZIP_OPT_BY_PREG], $v_header_list[$v_nb_extracted]['stored_filename'])) { $v_found = true; } } // ----- Look for extract by index rule else if ( (isset($p_options[PCLZIP_OPT_BY_INDEX])) && ($p_options[PCLZIP_OPT_BY_INDEX] != 0)) { // ----- Look if the index is in the list for ($j=$j_start; ($j<sizeof($p_options[PCLZIP_OPT_BY_INDEX])) && (!$v_found); $j++) { if (($i>=$p_options[PCLZIP_OPT_BY_INDEX][$j]['start']) && ($i<=$p_options[PCLZIP_OPT_BY_INDEX][$j]['end'])) { $v_found = true; } if ($i>=$p_options[PCLZIP_OPT_BY_INDEX][$j]['end']) { $j_start = $j+1; } if ($p_options[PCLZIP_OPT_BY_INDEX][$j]['start']>$i) { break; } } } else { $v_found = true; } // ----- Look for deletion if ($v_found) { unset($v_header_list[$v_nb_extracted]); } else { $v_nb_extracted++; } } // ----- Look if something need to be deleted if ($v_nb_extracted > 0) { // ----- Creates a temporary file $v_zip_temp_name = PCLZIP_TEMPORARY_DIR.uniqid('pclzip-').'.tmp'; // ----- Creates a temporary zip archive $v_temp_zip = new PclZip($v_zip_temp_name); // ----- Open the temporary zip file in write mode if (($v_result = $v_temp_zip->privOpenFd('wb')) != 1) { $this->privCloseFd(); // ----- Return return $v_result; } // ----- Look which file need to be kept for ($i=0; $i<sizeof($v_header_list); $i++) { // ----- Calculate the position of the header @rewind($this->zip_fd); if (@fseek($this->zip_fd, $v_header_list[$i]['offset'])) { // ----- Close the zip file $this->privCloseFd(); $v_temp_zip->privCloseFd(); @unlink($v_zip_temp_name); // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_INVALID_ARCHIVE_ZIP, 'Invalid archive size'); // ----- Return return PclZip::errorCode(); } // ----- Read the file header $v_local_header = array(); if (($v_result = $this->privReadFileHeader($v_local_header)) != 1) { // ----- Close the zip file $this->privCloseFd(); $v_temp_zip->privCloseFd(); @unlink($v_zip_temp_name); // ----- Return return $v_result; } // ----- Check that local file header is same as central file header if ($this->privCheckFileHeaders($v_local_header, $v_header_list[$i]) != 1) { // TBC } unset($v_local_header); // ----- Write the file header if (($v_result = $v_temp_zip->privWriteFileHeader($v_header_list[$i])) != 1) { // ----- Close the zip file $this->privCloseFd(); $v_temp_zip->privCloseFd(); @unlink($v_zip_temp_name); // ----- Return return $v_result; } // ----- Read/write the data block if (($v_result = PclZipUtilCopyBlock($this->zip_fd, $v_temp_zip->zip_fd, $v_header_list[$i]['compressed_size'])) != 1) { // ----- Close the zip file $this->privCloseFd(); $v_temp_zip->privCloseFd(); @unlink($v_zip_temp_name); // ----- Return return $v_result; } } // ----- Store the offset of the central dir $v_offset = @ftell($v_temp_zip->zip_fd); // ----- Re-Create the Central Dir files header for ($i=0; $i<sizeof($v_header_list); $i++) { // ----- Create the file header if (($v_result = $v_temp_zip->privWriteCentralFileHeader($v_header_list[$i])) != 1) { $v_temp_zip->privCloseFd(); $this->privCloseFd(); @unlink($v_zip_temp_name); // ----- Return return $v_result; } // ----- Transform the header to a 'usable' info $v_temp_zip->privConvertHeader2FileInfo($v_header_list[$i], $p_result_list[$i]); } // ----- Zip file comment $v_comment = ''; if (isset($p_options[PCLZIP_OPT_COMMENT])) { $v_comment = $p_options[PCLZIP_OPT_COMMENT]; } // ----- Calculate the size of the central header $v_size = @ftell($v_temp_zip->zip_fd)-$v_offset; // ----- Create the central dir footer if (($v_result = $v_temp_zip->privWriteCentralHeader(sizeof($v_header_list), $v_size, $v_offset, $v_comment)) != 1) { // ----- Reset the file list unset($v_header_list); $v_temp_zip->privCloseFd(); $this->privCloseFd(); @unlink($v_zip_temp_name); // ----- Return return $v_result; } // ----- Close $v_temp_zip->privCloseFd(); $this->privCloseFd(); // ----- Delete the zip file // TBC : I should test the result ... @unlink($this->zipname); // ----- Rename the temporary file // TBC : I should test the result ... //@rename($v_zip_temp_name, $this->zipname); PclZipUtilRename($v_zip_temp_name, $this->zipname); // ----- Destroy the temporary archive unset($v_temp_zip); } // ----- Remove every files : reset the file else if ($v_central_dir['entries'] != 0) { $this->privCloseFd(); if (($v_result = $this->privOpenFd('wb')) != 1) { return $v_result; } if (($v_result = $this->privWriteCentralHeader(0, 0, 0, '')) != 1) { return $v_result; } $this->privCloseFd(); } // ----- Return return $v_result; } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : privDirCheck() // Description : // Check if a directory exists, if not it creates it and all the parents directory // which may be useful. // Parameters : // $p_dir : Directory path to check. // Return Values : // 1 : OK // -1 : Unable to create directory // -------------------------------------------------------------------------------- function privDirCheck($p_dir, $p_is_dir=false) { $v_result = 1; // ----- Remove the final '/' if (($p_is_dir) && (substr($p_dir, -1)=='/')) { $p_dir = substr($p_dir, 0, strlen($p_dir)-1); } // ----- Check the directory availability if ((is_dir($p_dir)) || ($p_dir == "")) { return 1; } // ----- Extract parent directory $p_parent_dir = dirname($p_dir); // ----- Just a check if ($p_parent_dir != $p_dir) { // ----- Look for parent directory if ($p_parent_dir != "") { if (($v_result = $this->privDirCheck($p_parent_dir)) != 1) { return $v_result; } } } // ----- Create the directory if (!@mkdir($p_dir, 0777)) { // ----- Error log PclZip::privErrorLog(PCLZIP_ERR_DIR_CREATE_FAIL, "Unable to create directory '$p_dir'"); // ----- Return return PclZip::errorCode(); } // ----- Return return $v_result; } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : privMerge() // Description : // If $p_archive_to_add does not exist, the function exit with a success result. // Parameters : // Return Values : // -------------------------------------------------------------------------------- function privMerge(&$p_archive_to_add) { $v_result=1; // ----- Look if the archive_to_add exists if (!is_file($p_archive_to_add->zipname)) { // ----- Nothing to merge, so merge is a success $v_result = 1; // ----- Return return $v_result; } // ----- Look if the archive exists if (!is_file($this->zipname)) { // ----- Do a duplicate $v_result = $this->privDuplicate($p_archive_to_add->zipname); // ----- Return return $v_result; } // ----- Open the zip file if (($v_result=$this->privOpenFd('rb')) != 1) { // ----- Return return $v_result; } // ----- Read the central directory information $v_central_dir = array(); if (($v_result = $this->privReadEndCentralDir($v_central_dir)) != 1) { $this->privCloseFd(); return $v_result; } // ----- Go to beginning of File @rewind($this->zip_fd); // ----- Open the archive_to_add file if (($v_result=$p_archive_to_add->privOpenFd('rb')) != 1) { $this->privCloseFd(); // ----- Return return $v_result; } // ----- Read the central directory information $v_central_dir_to_add = array(); if (($v_result = $p_archive_to_add->privReadEndCentralDir($v_central_dir_to_add)) != 1) { $this->privCloseFd(); $p_archive_to_add->privCloseFd(); return $v_result; } // ----- Go to beginning of File @rewind($p_archive_to_add->zip_fd); // ----- Creates a temporary file $v_zip_temp_name = PCLZIP_TEMPORARY_DIR.uniqid('pclzip-').'.tmp'; // ----- Open the temporary file in write mode if (($v_zip_temp_fd = @fopen($v_zip_temp_name, 'wb')) == 0) { $this->privCloseFd(); $p_archive_to_add->privCloseFd(); PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open temporary file \''.$v_zip_temp_name.'\' in binary write mode'); // ----- Return return PclZip::errorCode(); } // ----- Copy the files from the archive to the temporary file // TBC : Here I should better append the file and go back to erase the central dir $v_size = $v_central_dir['offset']; while ($v_size != 0) { $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); $v_buffer = fread($this->zip_fd, $v_read_size); @fwrite($v_zip_temp_fd, $v_buffer, $v_read_size); $v_size -= $v_read_size; } // ----- Copy the files from the archive_to_add into the temporary file $v_size = $v_central_dir_to_add['offset']; while ($v_size != 0) { $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); $v_buffer = fread($p_archive_to_add->zip_fd, $v_read_size); @fwrite($v_zip_temp_fd, $v_buffer, $v_read_size); $v_size -= $v_read_size; } // ----- Store the offset of the central dir $v_offset = @ftell($v_zip_temp_fd); // ----- Copy the block of file headers from the old archive $v_size = $v_central_dir['size']; while ($v_size != 0) { $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); $v_buffer = @fread($this->zip_fd, $v_read_size); @fwrite($v_zip_temp_fd, $v_buffer, $v_read_size); $v_size -= $v_read_size; } // ----- Copy the block of file headers from the archive_to_add $v_size = $v_central_dir_to_add['size']; while ($v_size != 0) { $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); $v_buffer = @fread($p_archive_to_add->zip_fd, $v_read_size); @fwrite($v_zip_temp_fd, $v_buffer, $v_read_size); $v_size -= $v_read_size; } // ----- Merge the file comments $v_comment = $v_central_dir['comment'].' '.$v_central_dir_to_add['comment']; // ----- Calculate the size of the (new) central header $v_size = @ftell($v_zip_temp_fd)-$v_offset; // ----- Swap the file descriptor // Here is a trick : I swap the temporary fd with the zip fd, in order to use // the following methods on the temporary fil and not the real archive fd $v_swap = $this->zip_fd; $this->zip_fd = $v_zip_temp_fd; $v_zip_temp_fd = $v_swap; // ----- Create the central dir footer if (($v_result = $this->privWriteCentralHeader($v_central_dir['entries']+$v_central_dir_to_add['entries'], $v_size, $v_offset, $v_comment)) != 1) { $this->privCloseFd(); $p_archive_to_add->privCloseFd(); @fclose($v_zip_temp_fd); $this->zip_fd = null; // ----- Reset the file list unset($v_header_list); // ----- Return return $v_result; } // ----- Swap back the file descriptor $v_swap = $this->zip_fd; $this->zip_fd = $v_zip_temp_fd; $v_zip_temp_fd = $v_swap; // ----- Close $this->privCloseFd(); $p_archive_to_add->privCloseFd(); // ----- Close the temporary file @fclose($v_zip_temp_fd); // ----- Delete the zip file // TBC : I should test the result ... @unlink($this->zipname); // ----- Rename the temporary file // TBC : I should test the result ... //@rename($v_zip_temp_name, $this->zipname); PclZipUtilRename($v_zip_temp_name, $this->zipname); // ----- Return return $v_result; } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : privDuplicate() // Description : // Parameters : // Return Values : // -------------------------------------------------------------------------------- function privDuplicate($p_archive_filename) { $v_result=1; // ----- Look if the $p_archive_filename exists if (!is_file($p_archive_filename)) { // ----- Nothing to duplicate, so duplicate is a success. $v_result = 1; // ----- Return return $v_result; } // ----- Open the zip file if (($v_result=$this->privOpenFd('wb')) != 1) { // ----- Return return $v_result; } // ----- Open the temporary file in write mode if (($v_zip_temp_fd = @fopen($p_archive_filename, 'rb')) == 0) { $this->privCloseFd(); PclZip::privErrorLog(PCLZIP_ERR_READ_OPEN_FAIL, 'Unable to open archive file \''.$p_archive_filename.'\' in binary write mode'); // ----- Return return PclZip::errorCode(); } // ----- Copy the files from the archive to the temporary file // TBC : Here I should better append the file and go back to erase the central dir $v_size = filesize($p_archive_filename); while ($v_size != 0) { $v_read_size = ($v_size < PCLZIP_READ_BLOCK_SIZE ? $v_size : PCLZIP_READ_BLOCK_SIZE); $v_buffer = fread($v_zip_temp_fd, $v_read_size); @fwrite($this->zip_fd, $v_buffer, $v_read_size); $v_size -= $v_read_size; } // ----- Close $this->privCloseFd(); // ----- Close the temporary file @fclose($v_zip_temp_fd); // ----- Return return $v_result; } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : privErrorLog() // Description : // Parameters : // -------------------------------------------------------------------------------- function privErrorLog($p_error_code=0, $p_error_string='') { if (PCLZIP_ERROR_EXTERNAL == 1) { PclError($p_error_code, $p_error_string); } else { $this->error_code = $p_error_code; $this->error_string = $p_error_string; } } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : privErrorReset() // Description : // Parameters : // -------------------------------------------------------------------------------- function privErrorReset() { if (PCLZIP_ERROR_EXTERNAL == 1) { PclErrorReset(); } else { $this->error_code = 0; $this->error_string = ''; } } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : privDisableMagicQuotes() // Description : // Parameters : // Return Values : // -------------------------------------------------------------------------------- function privDisableMagicQuotes() { $v_result=1; // EDIT for WordPress 5.3.0 // magic_quote functions are deprecated in PHP 7.4, now assuming it's always off. /* // ----- Look if function exists if ( (!function_exists("get_magic_quotes_runtime")) || (!function_exists("set_magic_quotes_runtime"))) { return $v_result; } // ----- Look if already done if ($this->magic_quotes_status != -1) { return $v_result; } // ----- Get and memorize the magic_quote value $this->magic_quotes_status = @get_magic_quotes_runtime(); // ----- Disable magic_quotes if ($this->magic_quotes_status == 1) { @set_magic_quotes_runtime(0); } */ // ----- Return return $v_result; } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : privSwapBackMagicQuotes() // Description : // Parameters : // Return Values : // -------------------------------------------------------------------------------- function privSwapBackMagicQuotes() { $v_result=1; // EDIT for WordPress 5.3.0 // magic_quote functions are deprecated in PHP 7.4, now assuming it's always off. /* // ----- Look if function exists if ( (!function_exists("get_magic_quotes_runtime")) || (!function_exists("set_magic_quotes_runtime"))) { return $v_result; } // ----- Look if something to do if ($this->magic_quotes_status != -1) { return $v_result; } // ----- Swap back magic_quotes if ($this->magic_quotes_status == 1) { @set_magic_quotes_runtime($this->magic_quotes_status); } */ // ----- Return return $v_result; } // -------------------------------------------------------------------------------- } // End of class // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : PclZipUtilPathReduction() // Description : // Parameters : // Return Values : // -------------------------------------------------------------------------------- function PclZipUtilPathReduction($p_dir) { $v_result = ""; // ----- Look for not empty path if ($p_dir != "") { // ----- Explode path by directory names $v_list = explode("/", $p_dir); // ----- Study directories from last to first $v_skip = 0; for ($i=sizeof($v_list)-1; $i>=0; $i--) { // ----- Look for current path if ($v_list[$i] == ".") { // ----- Ignore this directory // Should be the first $i=0, but no check is done } else if ($v_list[$i] == "..") { $v_skip++; } else if ($v_list[$i] == "") { // ----- First '/' i.e. root slash if ($i == 0) { $v_result = "/".$v_result; if ($v_skip > 0) { // ----- It is an invalid path, so the path is not modified // TBC $v_result = $p_dir; $v_skip = 0; } } // ----- Last '/' i.e. indicates a directory else if ($i == (sizeof($v_list)-1)) { $v_result = $v_list[$i]; } // ----- Double '/' inside the path else { // ----- Ignore only the double '//' in path, // but not the first and last '/' } } else { // ----- Look for item to skip if ($v_skip > 0) { $v_skip--; } else { $v_result = $v_list[$i].($i!=(sizeof($v_list)-1)?"/".$v_result:""); } } } // ----- Look for skip if ($v_skip > 0) { while ($v_skip > 0) { $v_result = '../'.$v_result; $v_skip--; } } } // ----- Return return $v_result; } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : PclZipUtilPathInclusion() // Description : // This function indicates if the path $p_path is under the $p_dir tree. Or, // said in an other way, if the file or sub-dir $p_path is inside the dir // $p_dir. // The function indicates also if the path is exactly the same as the dir. // This function supports path with duplicated '/' like '//', but does not // support '.' or '..' statements. // Parameters : // Return Values : // 0 if $p_path is not inside directory $p_dir // 1 if $p_path is inside directory $p_dir // 2 if $p_path is exactly the same as $p_dir // -------------------------------------------------------------------------------- function PclZipUtilPathInclusion($p_dir, $p_path) { $v_result = 1; // ----- Look for path beginning by ./ if ( ($p_dir == '.') || ((strlen($p_dir) >=2) && (substr($p_dir, 0, 2) == './'))) { $p_dir = PclZipUtilTranslateWinPath(getcwd(), FALSE).'/'.substr($p_dir, 1); } if ( ($p_path == '.') || ((strlen($p_path) >=2) && (substr($p_path, 0, 2) == './'))) { $p_path = PclZipUtilTranslateWinPath(getcwd(), FALSE).'/'.substr($p_path, 1); } // ----- Explode dir and path by directory separator $v_list_dir = explode("/", $p_dir); $v_list_dir_size = sizeof($v_list_dir); $v_list_path = explode("/", $p_path); $v_list_path_size = sizeof($v_list_path); // ----- Study directories paths $i = 0; $j = 0; while (($i < $v_list_dir_size) && ($j < $v_list_path_size) && ($v_result)) { // ----- Look for empty dir (path reduction) if ($v_list_dir[$i] == '') { $i++; continue; } if ($v_list_path[$j] == '') { $j++; continue; } // ----- Compare the items if (($v_list_dir[$i] != $v_list_path[$j]) && ($v_list_dir[$i] != '') && ( $v_list_path[$j] != '')) { $v_result = 0; } // ----- Next items $i++; $j++; } // ----- Look if everything seems to be the same if ($v_result) { // ----- Skip all the empty items while (($j < $v_list_path_size) && ($v_list_path[$j] == '')) $j++; while (($i < $v_list_dir_size) && ($v_list_dir[$i] == '')) $i++; if (($i >= $v_list_dir_size) && ($j >= $v_list_path_size)) { // ----- There are exactly the same $v_result = 2; } else if ($i < $v_list_dir_size) { // ----- The path is shorter than the dir $v_result = 0; } } // ----- Return return $v_result; } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : PclZipUtilCopyBlock() // Description : // Parameters : // $p_mode : read/write compression mode // 0 : src & dest normal // 1 : src gzip, dest normal // 2 : src normal, dest gzip // 3 : src & dest gzip // Return Values : // -------------------------------------------------------------------------------- function PclZipUtilCopyBlock($p_src, $p_dest, $p_size, $p_mode=0) { $v_result = 1; if ($p_mode==0) { while ($p_size != 0) { $v_read_size = ($p_size < PCLZIP_READ_BLOCK_SIZE ? $p_size : PCLZIP_READ_BLOCK_SIZE); $v_buffer = @fread($p_src, $v_read_size); @fwrite($p_dest, $v_buffer, $v_read_size); $p_size -= $v_read_size; } } else if ($p_mode==1) { while ($p_size != 0) { $v_read_size = ($p_size < PCLZIP_READ_BLOCK_SIZE ? $p_size : PCLZIP_READ_BLOCK_SIZE); $v_buffer = @gzread($p_src, $v_read_size); @fwrite($p_dest, $v_buffer, $v_read_size); $p_size -= $v_read_size; } } else if ($p_mode==2) { while ($p_size != 0) { $v_read_size = ($p_size < PCLZIP_READ_BLOCK_SIZE ? $p_size : PCLZIP_READ_BLOCK_SIZE); $v_buffer = @fread($p_src, $v_read_size); @gzwrite($p_dest, $v_buffer, $v_read_size); $p_size -= $v_read_size; } } else if ($p_mode==3) { while ($p_size != 0) { $v_read_size = ($p_size < PCLZIP_READ_BLOCK_SIZE ? $p_size : PCLZIP_READ_BLOCK_SIZE); $v_buffer = @gzread($p_src, $v_read_size); @gzwrite($p_dest, $v_buffer, $v_read_size); $p_size -= $v_read_size; } } // ----- Return return $v_result; } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : PclZipUtilRename() // Description : // This function tries to do a simple rename() function. If it fails, it // tries to copy the $p_src file in a new $p_dest file and then unlink the // first one. // Parameters : // $p_src : Old filename // $p_dest : New filename // Return Values : // 1 on success, 0 on failure. // -------------------------------------------------------------------------------- function PclZipUtilRename($p_src, $p_dest) { $v_result = 1; // ----- Try to rename the files if (!@rename($p_src, $p_dest)) { // ----- Try to copy & unlink the src if (!@copy($p_src, $p_dest)) { $v_result = 0; } else if (!@unlink($p_src)) { $v_result = 0; } } // ----- Return return $v_result; } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : PclZipUtilOptionText() // Description : // Translate option value in text. Mainly for debug purpose. // Parameters : // $p_option : the option value. // Return Values : // The option text value. // -------------------------------------------------------------------------------- function PclZipUtilOptionText($p_option) { $v_list = get_defined_constants(); for (reset($v_list); $v_key = key($v_list); next($v_list)) { $v_prefix = substr($v_key, 0, 10); if (( ($v_prefix == 'PCLZIP_OPT') || ($v_prefix == 'PCLZIP_CB_') || ($v_prefix == 'PCLZIP_ATT')) && ($v_list[$v_key] == $p_option)) { return $v_key; } } $v_result = 'Unknown'; return $v_result; } // -------------------------------------------------------------------------------- // -------------------------------------------------------------------------------- // Function : PclZipUtilTranslateWinPath() // Description : // Translate windows path by replacing '\' by '/' and optionally removing // drive letter. // Parameters : // $p_path : path to translate. // $p_remove_disk_letter : true | false // Return Values : // The path translated. // -------------------------------------------------------------------------------- function PclZipUtilTranslateWinPath($p_path, $p_remove_disk_letter=true) { if (stristr(php_uname(), 'windows')) { // ----- Look for potential disk letter if (($p_remove_disk_letter) && (($v_position = strpos($p_path, ':')) != false)) { $p_path = substr($p_path, $v_position+1); } // ----- Change potential windows directory separator if ((strpos($p_path, '\\') > 0) || (substr($p_path, 0,1) == '\\')) { $p_path = strtr($p_path, '\\', '/'); } } return $p_path; } // -------------------------------------------------------------------------------- ?> image.php 0000644 00000124636 14735706075 0006371 0 ustar 00 <?php /** * File contains all the administration image manipulation functions. * * @package WordPress * @subpackage Administration */ /** * Crops an image to a given size. * * @since 2.1.0 * * @param string|int $src The source file or Attachment ID. * @param int $src_x The start x position to crop from. * @param int $src_y The start y position to crop from. * @param int $src_w The width to crop. * @param int $src_h The height to crop. * @param int $dst_w The destination width. * @param int $dst_h The destination height. * @param bool|false $src_abs Optional. If the source crop points are absolute. * @param string|false $dst_file Optional. The destination file to write to. * @return string|WP_Error New filepath on success, WP_Error on failure. */ function wp_crop_image( $src, $src_x, $src_y, $src_w, $src_h, $dst_w, $dst_h, $src_abs = false, $dst_file = false ) { $src_file = $src; if ( is_numeric( $src ) ) { // Handle int as attachment ID. $src_file = get_attached_file( $src ); if ( ! file_exists( $src_file ) ) { /* * If the file doesn't exist, attempt a URL fopen on the src link. * This can occur with certain file replication plugins. */ $src = _load_image_to_edit_path( $src, 'full' ); } else { $src = $src_file; } } $editor = wp_get_image_editor( $src ); if ( is_wp_error( $editor ) ) { return $editor; } $src = $editor->crop( $src_x, $src_y, $src_w, $src_h, $dst_w, $dst_h, $src_abs ); if ( is_wp_error( $src ) ) { return $src; } if ( ! $dst_file ) { $dst_file = str_replace( wp_basename( $src_file ), 'cropped-' . wp_basename( $src_file ), $src_file ); } /* * The directory containing the original file may no longer exist when * using a replication plugin. */ wp_mkdir_p( dirname( $dst_file ) ); $dst_file = dirname( $dst_file ) . '/' . wp_unique_filename( dirname( $dst_file ), wp_basename( $dst_file ) ); $result = $editor->save( $dst_file ); if ( is_wp_error( $result ) ) { return $result; } if ( ! empty( $result['path'] ) ) { return $result['path']; } return $dst_file; } /** * Compare the existing image sub-sizes (as saved in the attachment meta) * to the currently registered image sub-sizes, and return the difference. * * Registered sub-sizes that are larger than the image are skipped. * * @since 5.3.0 * * @param int $attachment_id The image attachment post ID. * @return array[] Associative array of arrays of image sub-size information for * missing image sizes, keyed by image size name. */ function wp_get_missing_image_subsizes( $attachment_id ) { if ( ! wp_attachment_is_image( $attachment_id ) ) { return array(); } $registered_sizes = wp_get_registered_image_subsizes(); $image_meta = wp_get_attachment_metadata( $attachment_id ); // Meta error? if ( empty( $image_meta ) ) { return $registered_sizes; } // Use the originally uploaded image dimensions as full_width and full_height. if ( ! empty( $image_meta['original_image'] ) ) { $image_file = wp_get_original_image_path( $attachment_id ); $imagesize = wp_getimagesize( $image_file ); } if ( ! empty( $imagesize ) ) { $full_width = $imagesize[0]; $full_height = $imagesize[1]; } else { $full_width = (int) $image_meta['width']; $full_height = (int) $image_meta['height']; } $possible_sizes = array(); // Skip registered sizes that are too large for the uploaded image. foreach ( $registered_sizes as $size_name => $size_data ) { if ( image_resize_dimensions( $full_width, $full_height, $size_data['width'], $size_data['height'], $size_data['crop'] ) ) { $possible_sizes[ $size_name ] = $size_data; } } if ( empty( $image_meta['sizes'] ) ) { $image_meta['sizes'] = array(); } /* * Remove sizes that already exist. Only checks for matching "size names". * It is possible that the dimensions for a particular size name have changed. * For example the user has changed the values on the Settings -> Media screen. * However we keep the old sub-sizes with the previous dimensions * as the image may have been used in an older post. */ $missing_sizes = array_diff_key( $possible_sizes, $image_meta['sizes'] ); /** * Filters the array of missing image sub-sizes for an uploaded image. * * @since 5.3.0 * * @param array[] $missing_sizes Associative array of arrays of image sub-size information for * missing image sizes, keyed by image size name. * @param array $image_meta The image meta data. * @param int $attachment_id The image attachment post ID. */ return apply_filters( 'wp_get_missing_image_subsizes', $missing_sizes, $image_meta, $attachment_id ); } /** * If any of the currently registered image sub-sizes are missing, * create them and update the image meta data. * * @since 5.3.0 * * @param int $attachment_id The image attachment post ID. * @return array|WP_Error The updated image meta data array or WP_Error object * if both the image meta and the attached file are missing. */ function wp_update_image_subsizes( $attachment_id ) { $image_meta = wp_get_attachment_metadata( $attachment_id ); $image_file = wp_get_original_image_path( $attachment_id ); if ( empty( $image_meta ) || ! is_array( $image_meta ) ) { /* * Previously failed upload? * If there is an uploaded file, make all sub-sizes and generate all of the attachment meta. */ if ( ! empty( $image_file ) ) { $image_meta = wp_create_image_subsizes( $image_file, $attachment_id ); } else { return new WP_Error( 'invalid_attachment', __( 'The attached file cannot be found.' ) ); } } else { $missing_sizes = wp_get_missing_image_subsizes( $attachment_id ); if ( empty( $missing_sizes ) ) { return $image_meta; } // This also updates the image meta. $image_meta = _wp_make_subsizes( $missing_sizes, $image_file, $image_meta, $attachment_id ); } /** This filter is documented in wp-admin/includes/image.php */ $image_meta = apply_filters( 'wp_generate_attachment_metadata', $image_meta, $attachment_id, 'update' ); // Save the updated metadata. wp_update_attachment_metadata( $attachment_id, $image_meta ); return $image_meta; } /** * Updates the attached file and image meta data when the original image was edited. * * @since 5.3.0 * @since 6.0.0 The `$filesize` value was added to the returned array. * @access private * * @param array $saved_data The data returned from WP_Image_Editor after successfully saving an image. * @param string $original_file Path to the original file. * @param array $image_meta The image meta data. * @param int $attachment_id The attachment post ID. * @return array The updated image meta data. */ function _wp_image_meta_replace_original( $saved_data, $original_file, $image_meta, $attachment_id ) { $new_file = $saved_data['path']; // Update the attached file meta. update_attached_file( $attachment_id, $new_file ); // Width and height of the new image. $image_meta['width'] = $saved_data['width']; $image_meta['height'] = $saved_data['height']; // Make the file path relative to the upload dir. $image_meta['file'] = _wp_relative_upload_path( $new_file ); // Add image file size. $image_meta['filesize'] = wp_filesize( $new_file ); // Store the original image file name in image_meta. $image_meta['original_image'] = wp_basename( $original_file ); return $image_meta; } /** * Creates image sub-sizes, adds the new data to the image meta `sizes` array, and updates the image metadata. * * Intended for use after an image is uploaded. Saves/updates the image metadata after each * sub-size is created. If there was an error, it is added to the returned image metadata array. * * @since 5.3.0 * * @param string $file Full path to the image file. * @param int $attachment_id Attachment ID to process. * @return array The image attachment meta data. */ function wp_create_image_subsizes( $file, $attachment_id ) { $imagesize = wp_getimagesize( $file ); if ( empty( $imagesize ) ) { // File is not an image. return array(); } // Default image meta. $image_meta = array( 'width' => $imagesize[0], 'height' => $imagesize[1], 'file' => _wp_relative_upload_path( $file ), 'filesize' => wp_filesize( $file ), 'sizes' => array(), ); // Fetch additional metadata from EXIF/IPTC. $exif_meta = wp_read_image_metadata( $file ); if ( $exif_meta ) { $image_meta['image_meta'] = $exif_meta; } // Do not scale (large) PNG images. May result in sub-sizes that have greater file size than the original. See #48736. if ( 'image/png' !== $imagesize['mime'] ) { /** * Filters the "BIG image" threshold value. * * If the original image width or height is above the threshold, it will be scaled down. The threshold is * used as max width and max height. The scaled down image will be used as the largest available size, including * the `_wp_attached_file` post meta value. * * Returning `false` from the filter callback will disable the scaling. * * @since 5.3.0 * * @param int $threshold The threshold value in pixels. Default 2560. * @param array $imagesize { * Indexed array of the image width and height in pixels. * * @type int $0 The image width. * @type int $1 The image height. * } * @param string $file Full path to the uploaded image file. * @param int $attachment_id Attachment post ID. */ $threshold = (int) apply_filters( 'big_image_size_threshold', 2560, $imagesize, $file, $attachment_id ); /* * If the original image's dimensions are over the threshold, * scale the image and use it as the "full" size. */ $scale_down = false; $convert = false; if ( $threshold && ( $image_meta['width'] > $threshold || $image_meta['height'] > $threshold ) ) { // The image will be converted if needed on saving. $scale_down = true; } else { // The image may need to be converted regardless of its dimensions. $output_format = wp_get_image_editor_output_format( $file, $imagesize['mime'] ); if ( is_array( $output_format ) && array_key_exists( $imagesize['mime'], $output_format ) && $output_format[ $imagesize['mime'] ] !== $imagesize['mime'] ) { $convert = true; } } if ( $scale_down || $convert ) { $editor = wp_get_image_editor( $file ); if ( is_wp_error( $editor ) ) { // This image cannot be edited. return $image_meta; } if ( $scale_down ) { // Resize the image. This will also convet it if needed. $resized = $editor->resize( $threshold, $threshold ); } elseif ( $convert ) { // The image will be converted (if possible) when saved. $resized = true; } $rotated = null; // If there is EXIF data, rotate according to EXIF Orientation. if ( ! is_wp_error( $resized ) && is_array( $exif_meta ) ) { $resized = $editor->maybe_exif_rotate(); $rotated = $resized; // bool true or WP_Error } if ( ! is_wp_error( $resized ) ) { /* * Append "-scaled" to the image file name. It will look like "my_image-scaled.jpg". * This doesn't affect the sub-sizes names as they are generated from the original image (for best quality). */ if ( $scale_down ) { $saved = $editor->save( $editor->generate_filename( 'scaled' ) ); } elseif ( $convert ) { /* * Generate a new file name for the converted image. * * As the image file name will be unique due to the changed file extension, * it does not need a suffix to be unique. However, the generate_filename method * does not allow for an empty suffix, so the "-converted" suffix is required to * be added and subsequently removed. */ $converted_file_name = $editor->generate_filename( 'converted' ); $converted_file_name = preg_replace( '/(-converted\.)([a-z0-9]+)$/i', '.$2', $converted_file_name ); $saved = $editor->save( $converted_file_name ); } else { $saved = $editor->save(); } if ( ! is_wp_error( $saved ) ) { $image_meta = _wp_image_meta_replace_original( $saved, $file, $image_meta, $attachment_id ); // If the image was rotated update the stored EXIF data. if ( true === $rotated && ! empty( $image_meta['image_meta']['orientation'] ) ) { $image_meta['image_meta']['orientation'] = 1; } } else { // TODO: Log errors. } } else { // TODO: Log errors. } } elseif ( ! empty( $exif_meta['orientation'] ) && 1 !== (int) $exif_meta['orientation'] ) { // Rotate the whole original image if there is EXIF data and "orientation" is not 1. $editor = wp_get_image_editor( $file ); if ( is_wp_error( $editor ) ) { // This image cannot be edited. return $image_meta; } // Rotate the image. $rotated = $editor->maybe_exif_rotate(); if ( true === $rotated ) { // Append `-rotated` to the image file name. $saved = $editor->save( $editor->generate_filename( 'rotated' ) ); if ( ! is_wp_error( $saved ) ) { $image_meta = _wp_image_meta_replace_original( $saved, $file, $image_meta, $attachment_id ); // Update the stored EXIF data. if ( ! empty( $image_meta['image_meta']['orientation'] ) ) { $image_meta['image_meta']['orientation'] = 1; } } else { // TODO: Log errors. } } } } /* * Initial save of the new metadata. * At this point the file was uploaded and moved to the uploads directory * but the image sub-sizes haven't been created yet and the `sizes` array is empty. */ wp_update_attachment_metadata( $attachment_id, $image_meta ); $new_sizes = wp_get_registered_image_subsizes(); /** * Filters the image sizes automatically generated when uploading an image. * * @since 2.9.0 * @since 4.4.0 Added the `$image_meta` argument. * @since 5.3.0 Added the `$attachment_id` argument. * * @param array $new_sizes Associative array of image sizes to be created. * @param array $image_meta The image meta data: width, height, file, sizes, etc. * @param int $attachment_id The attachment post ID for the image. */ $new_sizes = apply_filters( 'intermediate_image_sizes_advanced', $new_sizes, $image_meta, $attachment_id ); return _wp_make_subsizes( $new_sizes, $file, $image_meta, $attachment_id ); } /** * Low-level function to create image sub-sizes. * * Updates the image meta after each sub-size is created. * Errors are stored in the returned image metadata array. * * @since 5.3.0 * @access private * * @param array $new_sizes Array defining what sizes to create. * @param string $file Full path to the image file. * @param array $image_meta The attachment meta data array. * @param int $attachment_id Attachment ID to process. * @return array The attachment meta data with updated `sizes` array. Includes an array of errors encountered while resizing. */ function _wp_make_subsizes( $new_sizes, $file, $image_meta, $attachment_id ) { if ( empty( $image_meta ) || ! is_array( $image_meta ) ) { // Not an image attachment. return array(); } // Check if any of the new sizes already exist. if ( isset( $image_meta['sizes'] ) && is_array( $image_meta['sizes'] ) ) { foreach ( $image_meta['sizes'] as $size_name => $size_meta ) { /* * Only checks "size name" so we don't override existing images even if the dimensions * don't match the currently defined size with the same name. * To change the behavior, unset changed/mismatched sizes in the `sizes` array in image meta. */ if ( array_key_exists( $size_name, $new_sizes ) ) { unset( $new_sizes[ $size_name ] ); } } } else { $image_meta['sizes'] = array(); } if ( empty( $new_sizes ) ) { // Nothing to do... return $image_meta; } /* * Sort the image sub-sizes in order of priority when creating them. * This ensures there is an appropriate sub-size the user can access immediately * even when there was an error and not all sub-sizes were created. */ $priority = array( 'medium' => null, 'large' => null, 'thumbnail' => null, 'medium_large' => null, ); $new_sizes = array_filter( array_merge( $priority, $new_sizes ) ); $editor = wp_get_image_editor( $file ); if ( is_wp_error( $editor ) ) { // The image cannot be edited. return $image_meta; } // If stored EXIF data exists, rotate the source image before creating sub-sizes. if ( ! empty( $image_meta['image_meta'] ) ) { $rotated = $editor->maybe_exif_rotate(); if ( is_wp_error( $rotated ) ) { // TODO: Log errors. } } if ( method_exists( $editor, 'make_subsize' ) ) { foreach ( $new_sizes as $new_size_name => $new_size_data ) { $new_size_meta = $editor->make_subsize( $new_size_data ); if ( is_wp_error( $new_size_meta ) ) { // TODO: Log errors. } else { // Save the size meta value. $image_meta['sizes'][ $new_size_name ] = $new_size_meta; wp_update_attachment_metadata( $attachment_id, $image_meta ); } } } else { // Fall back to `$editor->multi_resize()`. $created_sizes = $editor->multi_resize( $new_sizes ); if ( ! empty( $created_sizes ) ) { $image_meta['sizes'] = array_merge( $image_meta['sizes'], $created_sizes ); wp_update_attachment_metadata( $attachment_id, $image_meta ); } } return $image_meta; } /** * Copy parent attachment properties to newly cropped image. * * @since 6.5.0 * * @param string $cropped Path to the cropped image file. * @param int $parent_attachment_id Parent file Attachment ID. * @param string $context Control calling the function. * @return array Properties of attachment. */ function wp_copy_parent_attachment_properties( $cropped, $parent_attachment_id, $context = '' ) { $parent = get_post( $parent_attachment_id ); $parent_url = wp_get_attachment_url( $parent->ID ); $parent_basename = wp_basename( $parent_url ); $url = str_replace( wp_basename( $parent_url ), wp_basename( $cropped ), $parent_url ); $size = wp_getimagesize( $cropped ); $image_type = $size ? $size['mime'] : 'image/jpeg'; $sanitized_post_title = sanitize_file_name( $parent->post_title ); $use_original_title = ( ( '' !== trim( $parent->post_title ) ) && /* * Check if the original image has a title other than the "filename" default, * meaning the image had a title when originally uploaded or its title was edited. */ ( $parent_basename !== $sanitized_post_title ) && ( pathinfo( $parent_basename, PATHINFO_FILENAME ) !== $sanitized_post_title ) ); $use_original_description = ( '' !== trim( $parent->post_content ) ); $attachment = array( 'post_title' => $use_original_title ? $parent->post_title : wp_basename( $cropped ), 'post_content' => $use_original_description ? $parent->post_content : $url, 'post_mime_type' => $image_type, 'guid' => $url, 'context' => $context, ); // Copy the image caption attribute (post_excerpt field) from the original image. if ( '' !== trim( $parent->post_excerpt ) ) { $attachment['post_excerpt'] = $parent->post_excerpt; } // Copy the image alt text attribute from the original image. if ( '' !== trim( $parent->_wp_attachment_image_alt ) ) { $attachment['meta_input'] = array( '_wp_attachment_image_alt' => wp_slash( $parent->_wp_attachment_image_alt ), ); } $attachment['post_parent'] = $parent_attachment_id; return $attachment; } /** * Generates attachment meta data and create image sub-sizes for images. * * @since 2.1.0 * @since 6.0.0 The `$filesize` value was added to the returned array. * @since 6.7.0 The 'image/heic' mime type is supported. * * @param int $attachment_id Attachment ID to process. * @param string $file Filepath of the attached image. * @return array Metadata for attachment. */ function wp_generate_attachment_metadata( $attachment_id, $file ) { $attachment = get_post( $attachment_id ); $metadata = array(); $support = false; $mime_type = get_post_mime_type( $attachment ); if ( 'image/heic' === $mime_type || ( preg_match( '!^image/!', $mime_type ) && file_is_displayable_image( $file ) ) ) { // Make thumbnails and other intermediate sizes. $metadata = wp_create_image_subsizes( $file, $attachment_id ); } elseif ( wp_attachment_is( 'video', $attachment ) ) { $metadata = wp_read_video_metadata( $file ); $support = current_theme_supports( 'post-thumbnails', 'attachment:video' ) || post_type_supports( 'attachment:video', 'thumbnail' ); } elseif ( wp_attachment_is( 'audio', $attachment ) ) { $metadata = wp_read_audio_metadata( $file ); $support = current_theme_supports( 'post-thumbnails', 'attachment:audio' ) || post_type_supports( 'attachment:audio', 'thumbnail' ); } /* * wp_read_video_metadata() and wp_read_audio_metadata() return `false` * if the attachment does not exist in the local filesystem, * so make sure to convert the value to an array. */ if ( ! is_array( $metadata ) ) { $metadata = array(); } if ( $support && ! empty( $metadata['image']['data'] ) ) { // Check for existing cover. $hash = md5( $metadata['image']['data'] ); $posts = get_posts( array( 'fields' => 'ids', 'post_type' => 'attachment', 'post_mime_type' => $metadata['image']['mime'], 'post_status' => 'inherit', 'posts_per_page' => 1, 'meta_key' => '_cover_hash', 'meta_value' => $hash, ) ); $exists = reset( $posts ); if ( ! empty( $exists ) ) { update_post_meta( $attachment_id, '_thumbnail_id', $exists ); } else { $ext = '.jpg'; switch ( $metadata['image']['mime'] ) { case 'image/gif': $ext = '.gif'; break; case 'image/png': $ext = '.png'; break; case 'image/webp': $ext = '.webp'; break; } $basename = str_replace( '.', '-', wp_basename( $file ) ) . '-image' . $ext; $uploaded = wp_upload_bits( $basename, '', $metadata['image']['data'] ); if ( false === $uploaded['error'] ) { $image_attachment = array( 'post_mime_type' => $metadata['image']['mime'], 'post_type' => 'attachment', 'post_content' => '', ); /** * Filters the parameters for the attachment thumbnail creation. * * @since 3.9.0 * * @param array $image_attachment An array of parameters to create the thumbnail. * @param array $metadata Current attachment metadata. * @param array $uploaded { * Information about the newly-uploaded file. * * @type string $file Filename of the newly-uploaded file. * @type string $url URL of the uploaded file. * @type string $type File type. * } */ $image_attachment = apply_filters( 'attachment_thumbnail_args', $image_attachment, $metadata, $uploaded ); $sub_attachment_id = wp_insert_attachment( $image_attachment, $uploaded['file'] ); add_post_meta( $sub_attachment_id, '_cover_hash', $hash ); $attach_data = wp_generate_attachment_metadata( $sub_attachment_id, $uploaded['file'] ); wp_update_attachment_metadata( $sub_attachment_id, $attach_data ); update_post_meta( $attachment_id, '_thumbnail_id', $sub_attachment_id ); } } } elseif ( 'application/pdf' === $mime_type ) { // Try to create image thumbnails for PDFs. $fallback_sizes = array( 'thumbnail', 'medium', 'large', ); /** * Filters the image sizes generated for non-image mime types. * * @since 4.7.0 * * @param string[] $fallback_sizes An array of image size names. * @param array $metadata Current attachment metadata. */ $fallback_sizes = apply_filters( 'fallback_intermediate_image_sizes', $fallback_sizes, $metadata ); $registered_sizes = wp_get_registered_image_subsizes(); $merged_sizes = array_intersect_key( $registered_sizes, array_flip( $fallback_sizes ) ); // Force thumbnails to be soft crops. if ( isset( $merged_sizes['thumbnail'] ) && is_array( $merged_sizes['thumbnail'] ) ) { $merged_sizes['thumbnail']['crop'] = false; } // Only load PDFs in an image editor if we're processing sizes. if ( ! empty( $merged_sizes ) ) { $editor = wp_get_image_editor( $file ); if ( ! is_wp_error( $editor ) ) { // No support for this type of file. /* * PDFs may have the same file filename as JPEGs. * Ensure the PDF preview image does not overwrite any JPEG images that already exist. */ $dirname = dirname( $file ) . '/'; $ext = '.' . pathinfo( $file, PATHINFO_EXTENSION ); $preview_file = $dirname . wp_unique_filename( $dirname, wp_basename( $file, $ext ) . '-pdf.jpg' ); $uploaded = $editor->save( $preview_file, 'image/jpeg' ); unset( $editor ); // Resize based on the full size image, rather than the source. if ( ! is_wp_error( $uploaded ) ) { $image_file = $uploaded['path']; unset( $uploaded['path'] ); $metadata['sizes'] = array( 'full' => $uploaded, ); // Save the meta data before any image post-processing errors could happen. wp_update_attachment_metadata( $attachment_id, $metadata ); // Create sub-sizes saving the image meta after each. $metadata = _wp_make_subsizes( $merged_sizes, $image_file, $metadata, $attachment_id ); } } } } // Remove the blob of binary data from the array. unset( $metadata['image']['data'] ); // Capture file size for cases where it has not been captured yet, such as PDFs. if ( ! isset( $metadata['filesize'] ) && file_exists( $file ) ) { $metadata['filesize'] = wp_filesize( $file ); } /** * Filters the generated attachment meta data. * * @since 2.1.0 * @since 5.3.0 The `$context` parameter was added. * * @param array $metadata An array of attachment meta data. * @param int $attachment_id Current attachment ID. * @param string $context Additional context. Can be 'create' when metadata was initially created for new attachment * or 'update' when the metadata was updated. */ return apply_filters( 'wp_generate_attachment_metadata', $metadata, $attachment_id, 'create' ); } /** * Converts a fraction string to a decimal. * * @since 2.5.0 * * @param string $str Fraction string. * @return int|float Returns calculated fraction or integer 0 on invalid input. */ function wp_exif_frac2dec( $str ) { if ( ! is_scalar( $str ) || is_bool( $str ) ) { return 0; } if ( ! is_string( $str ) ) { return $str; // This can only be an integer or float, so this is fine. } // Fractions passed as a string must contain a single `/`. if ( substr_count( $str, '/' ) !== 1 ) { if ( is_numeric( $str ) ) { return (float) $str; } return 0; } list( $numerator, $denominator ) = explode( '/', $str ); // Both the numerator and the denominator must be numbers. if ( ! is_numeric( $numerator ) || ! is_numeric( $denominator ) ) { return 0; } // The denominator must not be zero. if ( 0 == $denominator ) { // phpcs:ignore Universal.Operators.StrictComparisons.LooseEqual -- Deliberate loose comparison. return 0; } return $numerator / $denominator; } /** * Converts the exif date format to a unix timestamp. * * @since 2.5.0 * * @param string $str A date string expected to be in Exif format (Y:m:d H:i:s). * @return int|false The unix timestamp, or false on failure. */ function wp_exif_date2ts( $str ) { list( $date, $time ) = explode( ' ', trim( $str ) ); list( $y, $m, $d ) = explode( ':', $date ); return strtotime( "{$y}-{$m}-{$d} {$time}" ); } /** * Gets extended image metadata, exif or iptc as available. * * Retrieves the EXIF metadata aperture, credit, camera, caption, copyright, iso * created_timestamp, focal_length, shutter_speed, and title. * * The IPTC metadata that is retrieved is APP13, credit, byline, created date * and time, caption, copyright, and title. Also includes FNumber, Model, * DateTimeDigitized, FocalLength, ISOSpeedRatings, and ExposureTime. * * @todo Try other exif libraries if available. * @since 2.5.0 * * @param string $file * @return array|false Image metadata array on success, false on failure. */ function wp_read_image_metadata( $file ) { if ( ! file_exists( $file ) ) { return false; } list( , , $image_type ) = wp_getimagesize( $file ); /* * EXIF contains a bunch of data we'll probably never need formatted in ways * that are difficult to use. We'll normalize it and just extract the fields * that are likely to be useful. Fractions and numbers are converted to * floats, dates to unix timestamps, and everything else to strings. */ $meta = array( 'aperture' => 0, 'credit' => '', 'camera' => '', 'caption' => '', 'created_timestamp' => 0, 'copyright' => '', 'focal_length' => 0, 'iso' => 0, 'shutter_speed' => 0, 'title' => '', 'orientation' => 0, 'keywords' => array(), ); $iptc = array(); $info = array(); /* * Read IPTC first, since it might contain data not available in exif such * as caption, description etc. */ if ( is_callable( 'iptcparse' ) ) { wp_getimagesize( $file, $info ); if ( ! empty( $info['APP13'] ) ) { // Don't silence errors when in debug mode, unless running unit tests. if ( defined( 'WP_DEBUG' ) && WP_DEBUG && ! defined( 'WP_RUN_CORE_TESTS' ) ) { $iptc = iptcparse( $info['APP13'] ); } else { // Silencing notice and warning is intentional. See https://core.trac.wordpress.org/ticket/42480 $iptc = @iptcparse( $info['APP13'] ); } if ( ! is_array( $iptc ) ) { $iptc = array(); } // Headline, "A brief synopsis of the caption". if ( ! empty( $iptc['2#105'][0] ) ) { $meta['title'] = trim( $iptc['2#105'][0] ); /* * Title, "Many use the Title field to store the filename of the image, * though the field may be used in many ways". */ } elseif ( ! empty( $iptc['2#005'][0] ) ) { $meta['title'] = trim( $iptc['2#005'][0] ); } if ( ! empty( $iptc['2#120'][0] ) ) { // Description / legacy caption. $caption = trim( $iptc['2#120'][0] ); mbstring_binary_safe_encoding(); $caption_length = strlen( $caption ); reset_mbstring_encoding(); if ( empty( $meta['title'] ) && $caption_length < 80 ) { // Assume the title is stored in 2:120 if it's short. $meta['title'] = $caption; } $meta['caption'] = $caption; } if ( ! empty( $iptc['2#110'][0] ) ) { // Credit. $meta['credit'] = trim( $iptc['2#110'][0] ); } elseif ( ! empty( $iptc['2#080'][0] ) ) { // Creator / legacy byline. $meta['credit'] = trim( $iptc['2#080'][0] ); } if ( ! empty( $iptc['2#055'][0] ) && ! empty( $iptc['2#060'][0] ) ) { // Created date and time. $meta['created_timestamp'] = strtotime( $iptc['2#055'][0] . ' ' . $iptc['2#060'][0] ); } if ( ! empty( $iptc['2#116'][0] ) ) { // Copyright. $meta['copyright'] = trim( $iptc['2#116'][0] ); } if ( ! empty( $iptc['2#025'][0] ) ) { // Keywords array. $meta['keywords'] = array_values( $iptc['2#025'] ); } } } $exif = array(); /** * Filters the image types to check for exif data. * * @since 2.5.0 * * @param int[] $image_types Array of image types to check for exif data. Each value * is usually one of the `IMAGETYPE_*` constants. */ $exif_image_types = apply_filters( 'wp_read_image_metadata_types', array( IMAGETYPE_JPEG, IMAGETYPE_TIFF_II, IMAGETYPE_TIFF_MM ) ); if ( is_callable( 'exif_read_data' ) && in_array( $image_type, $exif_image_types, true ) ) { // Don't silence errors when in debug mode, unless running unit tests. if ( defined( 'WP_DEBUG' ) && WP_DEBUG && ! defined( 'WP_RUN_CORE_TESTS' ) ) { $exif = exif_read_data( $file ); } else { // Silencing notice and warning is intentional. See https://core.trac.wordpress.org/ticket/42480 $exif = @exif_read_data( $file ); } if ( ! is_array( $exif ) ) { $exif = array(); } $exif_description = ''; $exif_usercomment = ''; if ( ! empty( $exif['ImageDescription'] ) ) { $exif_description = trim( $exif['ImageDescription'] ); } if ( ! empty( $exif['COMPUTED']['UserComment'] ) ) { $exif_usercomment = trim( $exif['COMPUTED']['UserComment'] ); } if ( $exif_description ) { mbstring_binary_safe_encoding(); $description_length = strlen( $exif_description ); reset_mbstring_encoding(); if ( empty( $meta['title'] ) && $description_length < 80 ) { // Assume the title is stored in ImageDescription. $meta['title'] = $exif_description; } // If both user comments and description are present. if ( empty( $meta['caption'] ) && $exif_description && $exif_usercomment ) { if ( ! empty( $meta['title'] ) && $exif_description === $meta['title'] ) { $caption = $exif_usercomment; } else { if ( $exif_description === $exif_usercomment ) { $caption = $exif_description; } else { $caption = trim( $exif_description . ' ' . $exif_usercomment ); } } $meta['caption'] = $caption; } if ( empty( $meta['caption'] ) && $exif_usercomment ) { $meta['caption'] = $exif_usercomment; } if ( empty( $meta['caption'] ) ) { $meta['caption'] = $exif_description; } } elseif ( empty( $meta['caption'] ) && $exif_usercomment ) { $meta['caption'] = $exif_usercomment; $description_length = strlen( $exif_usercomment ); if ( empty( $meta['title'] ) && $description_length < 80 ) { $meta['title'] = trim( $exif_usercomment ); } } elseif ( empty( $meta['caption'] ) && ! empty( $exif['Comments'] ) ) { $meta['caption'] = trim( $exif['Comments'] ); } if ( empty( $meta['credit'] ) ) { if ( ! empty( $exif['Artist'] ) ) { $meta['credit'] = trim( $exif['Artist'] ); } elseif ( ! empty( $exif['Author'] ) ) { $meta['credit'] = trim( $exif['Author'] ); } } if ( empty( $meta['copyright'] ) && ! empty( $exif['Copyright'] ) ) { $meta['copyright'] = trim( $exif['Copyright'] ); } if ( ! empty( $exif['FNumber'] ) && is_scalar( $exif['FNumber'] ) ) { $meta['aperture'] = round( wp_exif_frac2dec( $exif['FNumber'] ), 2 ); } if ( ! empty( $exif['Model'] ) ) { $meta['camera'] = trim( $exif['Model'] ); } if ( empty( $meta['created_timestamp'] ) && ! empty( $exif['DateTimeDigitized'] ) ) { $meta['created_timestamp'] = wp_exif_date2ts( $exif['DateTimeDigitized'] ); } if ( ! empty( $exif['FocalLength'] ) ) { $meta['focal_length'] = (string) $exif['FocalLength']; if ( is_scalar( $exif['FocalLength'] ) ) { $meta['focal_length'] = (string) wp_exif_frac2dec( $exif['FocalLength'] ); } } if ( ! empty( $exif['ISOSpeedRatings'] ) ) { $meta['iso'] = is_array( $exif['ISOSpeedRatings'] ) ? reset( $exif['ISOSpeedRatings'] ) : $exif['ISOSpeedRatings']; $meta['iso'] = trim( $meta['iso'] ); } if ( ! empty( $exif['ExposureTime'] ) ) { $meta['shutter_speed'] = (string) $exif['ExposureTime']; if ( is_scalar( $exif['ExposureTime'] ) ) { $meta['shutter_speed'] = (string) wp_exif_frac2dec( $exif['ExposureTime'] ); } } if ( ! empty( $exif['Orientation'] ) ) { $meta['orientation'] = $exif['Orientation']; } } foreach ( array( 'title', 'caption', 'credit', 'copyright', 'camera', 'iso' ) as $key ) { if ( $meta[ $key ] && ! seems_utf8( $meta[ $key ] ) ) { $meta[ $key ] = utf8_encode( $meta[ $key ] ); } } foreach ( $meta['keywords'] as $key => $keyword ) { if ( ! seems_utf8( $keyword ) ) { $meta['keywords'][ $key ] = utf8_encode( $keyword ); } } $meta = wp_kses_post_deep( $meta ); /** * Filters the array of meta data read from an image's exif data. * * @since 2.5.0 * @since 4.4.0 The `$iptc` parameter was added. * @since 5.0.0 The `$exif` parameter was added. * * @param array $meta Image meta data. * @param string $file Path to image file. * @param int $image_type Type of image, one of the `IMAGETYPE_XXX` constants. * @param array $iptc IPTC data. * @param array $exif EXIF data. */ return apply_filters( 'wp_read_image_metadata', $meta, $file, $image_type, $iptc, $exif ); } /** * Validates that file is an image. * * @since 2.5.0 * * @param string $path File path to test if valid image. * @return bool True if valid image, false if not valid image. */ function file_is_valid_image( $path ) { $size = wp_getimagesize( $path ); return ! empty( $size ); } /** * Validates that file is suitable for displaying within a web page. * * @since 2.5.0 * * @param string $path File path to test. * @return bool True if suitable, false if not suitable. */ function file_is_displayable_image( $path ) { $displayable_image_types = array( IMAGETYPE_GIF, IMAGETYPE_JPEG, IMAGETYPE_PNG, IMAGETYPE_BMP, IMAGETYPE_ICO, IMAGETYPE_WEBP, IMAGETYPE_AVIF ); $info = wp_getimagesize( $path ); if ( empty( $info ) ) { $result = false; } elseif ( ! in_array( $info[2], $displayable_image_types, true ) ) { $result = false; } else { $result = true; } /** * Filters whether the current image is displayable in the browser. * * @since 2.5.0 * * @param bool $result Whether the image can be displayed. Default true. * @param string $path Path to the image. */ return apply_filters( 'file_is_displayable_image', $result, $path ); } /** * Loads an image resource for editing. * * @since 2.9.0 * * @param int $attachment_id Attachment ID. * @param string $mime_type Image mime type. * @param string|int[] $size Optional. Image size. Accepts any registered image size name, or an array * of width and height values in pixels (in that order). Default 'full'. * @return resource|GdImage|false The resulting image resource or GdImage instance on success, * false on failure. */ function load_image_to_edit( $attachment_id, $mime_type, $size = 'full' ) { $filepath = _load_image_to_edit_path( $attachment_id, $size ); if ( empty( $filepath ) ) { return false; } switch ( $mime_type ) { case 'image/jpeg': $image = imagecreatefromjpeg( $filepath ); break; case 'image/png': $image = imagecreatefrompng( $filepath ); break; case 'image/gif': $image = imagecreatefromgif( $filepath ); break; case 'image/webp': $image = false; if ( function_exists( 'imagecreatefromwebp' ) ) { $image = imagecreatefromwebp( $filepath ); } break; default: $image = false; break; } if ( is_gd_image( $image ) ) { /** * Filters the current image being loaded for editing. * * @since 2.9.0 * * @param resource|GdImage $image Current image. * @param int $attachment_id Attachment ID. * @param string|int[] $size Requested image size. Can be any registered image size name, or * an array of width and height values in pixels (in that order). */ $image = apply_filters( 'load_image_to_edit', $image, $attachment_id, $size ); if ( function_exists( 'imagealphablending' ) && function_exists( 'imagesavealpha' ) ) { imagealphablending( $image, false ); imagesavealpha( $image, true ); } } return $image; } /** * Retrieves the path or URL of an attachment's attached file. * * If the attached file is not present on the local filesystem (usually due to replication plugins), * then the URL of the file is returned if `allow_url_fopen` is supported. * * @since 3.4.0 * @access private * * @param int $attachment_id Attachment ID. * @param string|int[] $size Optional. Image size. Accepts any registered image size name, or an array * of width and height values in pixels (in that order). Default 'full'. * @return string|false File path or URL on success, false on failure. */ function _load_image_to_edit_path( $attachment_id, $size = 'full' ) { $filepath = get_attached_file( $attachment_id ); if ( $filepath && file_exists( $filepath ) ) { if ( 'full' !== $size ) { $data = image_get_intermediate_size( $attachment_id, $size ); if ( $data ) { $filepath = path_join( dirname( $filepath ), $data['file'] ); /** * Filters the path to an attachment's file when editing the image. * * The filter is evaluated for all image sizes except 'full'. * * @since 3.1.0 * * @param string $path Path to the current image. * @param int $attachment_id Attachment ID. * @param string|int[] $size Requested image size. Can be any registered image size name, or * an array of width and height values in pixels (in that order). */ $filepath = apply_filters( 'load_image_to_edit_filesystempath', $filepath, $attachment_id, $size ); } } } elseif ( function_exists( 'fopen' ) && ini_get( 'allow_url_fopen' ) ) { /** * Filters the path to an attachment's URL when editing the image. * * The filter is only evaluated if the file isn't stored locally and `allow_url_fopen` is enabled on the server. * * @since 3.1.0 * * @param string|false $image_url Current image URL. * @param int $attachment_id Attachment ID. * @param string|int[] $size Requested image size. Can be any registered image size name, or * an array of width and height values in pixels (in that order). */ $filepath = apply_filters( 'load_image_to_edit_attachmenturl', wp_get_attachment_url( $attachment_id ), $attachment_id, $size ); } /** * Filters the returned path or URL of the current image. * * @since 2.9.0 * * @param string|false $filepath File path or URL to current image, or false. * @param int $attachment_id Attachment ID. * @param string|int[] $size Requested image size. Can be any registered image size name, or * an array of width and height values in pixels (in that order). */ return apply_filters( 'load_image_to_edit_path', $filepath, $attachment_id, $size ); } /** * Copies an existing image file. * * @since 3.4.0 * @access private * * @param int $attachment_id Attachment ID. * @return string|false New file path on success, false on failure. */ function _copy_image_file( $attachment_id ) { $dst_file = get_attached_file( $attachment_id ); $src_file = $dst_file; if ( ! file_exists( $src_file ) ) { $src_file = _load_image_to_edit_path( $attachment_id ); } if ( $src_file ) { $dst_file = str_replace( wp_basename( $dst_file ), 'copy-' . wp_basename( $dst_file ), $dst_file ); $dst_file = dirname( $dst_file ) . '/' . wp_unique_filename( dirname( $dst_file ), wp_basename( $dst_file ) ); /* * The directory containing the original file may no longer * exist when using a replication plugin. */ wp_mkdir_p( dirname( $dst_file ) ); if ( ! copy( $src_file, $dst_file ) ) { $dst_file = false; } } else { $dst_file = false; } return $dst_file; } class-wp-list-table-compat.php 0000644 00000002731 14735706075 0012346 0 ustar 00 <?php /** * Helper functions for displaying a list of items in an ajaxified HTML table. * * @package WordPress * @subpackage List_Table * @since 4.7.0 */ /** * Helper class to be used only by back compat functions. * * @since 3.1.0 */ class _WP_List_Table_Compat extends WP_List_Table { public $_screen; public $_columns; /** * Constructor. * * @since 3.1.0 * * @param string|WP_Screen $screen The screen hook name or screen object. * @param string[] $columns An array of columns with column IDs as the keys * and translated column names as the values. */ public function __construct( $screen, $columns = array() ) { if ( is_string( $screen ) ) { $screen = convert_to_screen( $screen ); } $this->_screen = $screen; if ( ! empty( $columns ) ) { $this->_columns = $columns; add_filter( 'manage_' . $screen->id . '_columns', array( $this, 'get_columns' ), 0 ); } } /** * Gets a list of all, hidden, and sortable columns. * * @since 3.1.0 * * @return array */ protected function get_column_info() { $columns = get_column_headers( $this->_screen ); $hidden = get_hidden_columns( $this->_screen ); $sortable = array(); $primary = $this->get_default_primary_column_name(); return array( $columns, $hidden, $sortable, $primary ); } /** * Gets a list of columns. * * @since 3.1.0 * * @return array */ public function get_columns() { return $this->_columns; } } class-wp-filesystem-ftpsockets.php 0000644 00000044057 14735706075 0013403 0 ustar 00 <?php /** * WordPress FTP Sockets Filesystem. * * @package WordPress * @subpackage Filesystem */ /** * WordPress Filesystem Class for implementing FTP Sockets. * * @since 2.5.0 * * @see WP_Filesystem_Base */ class WP_Filesystem_ftpsockets extends WP_Filesystem_Base { /** * @since 2.5.0 * @var ftp */ public $ftp; /** * Constructor. * * @since 2.5.0 * * @param array $opt */ public function __construct( $opt = '' ) { $this->method = 'ftpsockets'; $this->errors = new WP_Error(); // Check if possible to use ftp functions. if ( ! require_once ABSPATH . 'wp-admin/includes/class-ftp.php' ) { return; } $this->ftp = new ftp(); if ( empty( $opt['port'] ) ) { $this->options['port'] = 21; } else { $this->options['port'] = (int) $opt['port']; } if ( empty( $opt['hostname'] ) ) { $this->errors->add( 'empty_hostname', __( 'FTP hostname is required' ) ); } else { $this->options['hostname'] = $opt['hostname']; } // Check if the options provided are OK. if ( empty( $opt['username'] ) ) { $this->errors->add( 'empty_username', __( 'FTP username is required' ) ); } else { $this->options['username'] = $opt['username']; } if ( empty( $opt['password'] ) ) { $this->errors->add( 'empty_password', __( 'FTP password is required' ) ); } else { $this->options['password'] = $opt['password']; } } /** * Connects filesystem. * * @since 2.5.0 * * @return bool True on success, false on failure. */ public function connect() { if ( ! $this->ftp ) { return false; } $this->ftp->setTimeout( FS_CONNECT_TIMEOUT ); if ( ! $this->ftp->SetServer( $this->options['hostname'], $this->options['port'] ) ) { $this->errors->add( 'connect', sprintf( /* translators: %s: hostname:port */ __( 'Failed to connect to FTP Server %s' ), $this->options['hostname'] . ':' . $this->options['port'] ) ); return false; } if ( ! $this->ftp->connect() ) { $this->errors->add( 'connect', sprintf( /* translators: %s: hostname:port */ __( 'Failed to connect to FTP Server %s' ), $this->options['hostname'] . ':' . $this->options['port'] ) ); return false; } if ( ! $this->ftp->login( $this->options['username'], $this->options['password'] ) ) { $this->errors->add( 'auth', sprintf( /* translators: %s: Username. */ __( 'Username/Password incorrect for %s' ), $this->options['username'] ) ); return false; } $this->ftp->SetType( FTP_BINARY ); $this->ftp->Passive( true ); $this->ftp->setTimeout( FS_TIMEOUT ); return true; } /** * Reads entire file into a string. * * @since 2.5.0 * * @param string $file Name of the file to read. * @return string|false Read data on success, false if no temporary file could be opened, * or if the file couldn't be retrieved. */ public function get_contents( $file ) { if ( ! $this->exists( $file ) ) { return false; } $tempfile = wp_tempnam( $file ); $temphandle = fopen( $tempfile, 'w+' ); if ( ! $temphandle ) { unlink( $tempfile ); return false; } mbstring_binary_safe_encoding(); if ( ! $this->ftp->fget( $temphandle, $file ) ) { fclose( $temphandle ); unlink( $tempfile ); reset_mbstring_encoding(); return ''; // Blank document. File does exist, it's just blank. } reset_mbstring_encoding(); fseek( $temphandle, 0 ); // Skip back to the start of the file being written to. $contents = ''; while ( ! feof( $temphandle ) ) { $contents .= fread( $temphandle, 8 * KB_IN_BYTES ); } fclose( $temphandle ); unlink( $tempfile ); return $contents; } /** * Reads entire file into an array. * * @since 2.5.0 * * @param string $file Path to the file. * @return array|false File contents in an array on success, false on failure. */ public function get_contents_array( $file ) { return explode( "\n", $this->get_contents( $file ) ); } /** * Writes a string to a file. * * @since 2.5.0 * * @param string $file Remote path to the file where to write the data. * @param string $contents The data to write. * @param int|false $mode Optional. The file permissions as octal number, usually 0644. * Default false. * @return bool True on success, false on failure. */ public function put_contents( $file, $contents, $mode = false ) { $tempfile = wp_tempnam( $file ); $temphandle = @fopen( $tempfile, 'w+' ); if ( ! $temphandle ) { unlink( $tempfile ); return false; } // The FTP class uses string functions internally during file download/upload. mbstring_binary_safe_encoding(); $bytes_written = fwrite( $temphandle, $contents ); if ( false === $bytes_written || strlen( $contents ) !== $bytes_written ) { fclose( $temphandle ); unlink( $tempfile ); reset_mbstring_encoding(); return false; } fseek( $temphandle, 0 ); // Skip back to the start of the file being written to. $ret = $this->ftp->fput( $file, $temphandle ); reset_mbstring_encoding(); fclose( $temphandle ); unlink( $tempfile ); $this->chmod( $file, $mode ); return $ret; } /** * Gets the current working directory. * * @since 2.5.0 * * @return string|false The current working directory on success, false on failure. */ public function cwd() { $cwd = $this->ftp->pwd(); if ( $cwd ) { $cwd = trailingslashit( $cwd ); } return $cwd; } /** * Changes current directory. * * @since 2.5.0 * * @param string $dir The new current directory. * @return bool True on success, false on failure. */ public function chdir( $dir ) { return $this->ftp->chdir( $dir ); } /** * Changes filesystem permissions. * * @since 2.5.0 * * @param string $file Path to the file. * @param int|false $mode Optional. The permissions as octal number, usually 0644 for files, * 0755 for directories. Default false. * @param bool $recursive Optional. If set to true, changes file permissions recursively. * Default false. * @return bool True on success, false on failure. */ public function chmod( $file, $mode = false, $recursive = false ) { if ( ! $mode ) { if ( $this->is_file( $file ) ) { $mode = FS_CHMOD_FILE; } elseif ( $this->is_dir( $file ) ) { $mode = FS_CHMOD_DIR; } else { return false; } } // chmod any sub-objects if recursive. if ( $recursive && $this->is_dir( $file ) ) { $filelist = $this->dirlist( $file ); foreach ( (array) $filelist as $filename => $filemeta ) { $this->chmod( $file . '/' . $filename, $mode, $recursive ); } } // chmod the file or directory. return $this->ftp->chmod( $file, $mode ); } /** * Gets the file owner. * * @since 2.5.0 * * @param string $file Path to the file. * @return string|false Username of the owner on success, false on failure. */ public function owner( $file ) { $dir = $this->dirlist( $file ); return $dir[ $file ]['owner']; } /** * Gets the permissions of the specified file or filepath in their octal format. * * @since 2.5.0 * * @param string $file Path to the file. * @return string Mode of the file (the last 3 digits). */ public function getchmod( $file ) { $dir = $this->dirlist( $file ); return $dir[ $file ]['permsn']; } /** * Gets the file's group. * * @since 2.5.0 * * @param string $file Path to the file. * @return string|false The group on success, false on failure. */ public function group( $file ) { $dir = $this->dirlist( $file ); return $dir[ $file ]['group']; } /** * Copies a file. * * @since 2.5.0 * * @param string $source Path to the source file. * @param string $destination Path to the destination file. * @param bool $overwrite Optional. Whether to overwrite the destination file if it exists. * Default false. * @param int|false $mode Optional. The permissions as octal number, usually 0644 for files, * 0755 for dirs. Default false. * @return bool True on success, false on failure. */ public function copy( $source, $destination, $overwrite = false, $mode = false ) { if ( ! $overwrite && $this->exists( $destination ) ) { return false; } $content = $this->get_contents( $source ); if ( false === $content ) { return false; } return $this->put_contents( $destination, $content, $mode ); } /** * Moves a file or directory. * * After moving files or directories, OPcache will need to be invalidated. * * If moving a directory fails, `copy_dir()` can be used for a recursive copy. * * Use `move_dir()` for moving directories with OPcache invalidation and a * fallback to `copy_dir()`. * * @since 2.5.0 * * @param string $source Path to the source file or directory. * @param string $destination Path to the destination file or directory. * @param bool $overwrite Optional. Whether to overwrite the destination if it exists. * Default false. * @return bool True on success, false on failure. */ public function move( $source, $destination, $overwrite = false ) { return $this->ftp->rename( $source, $destination ); } /** * Deletes a file or directory. * * @since 2.5.0 * * @param string $file Path to the file or directory. * @param bool $recursive Optional. If set to true, deletes files and folders recursively. * Default false. * @param string|false $type Type of resource. 'f' for file, 'd' for directory. * Default false. * @return bool True on success, false on failure. */ public function delete( $file, $recursive = false, $type = false ) { if ( empty( $file ) ) { return false; } if ( 'f' === $type || $this->is_file( $file ) ) { return $this->ftp->delete( $file ); } if ( ! $recursive ) { return $this->ftp->rmdir( $file ); } return $this->ftp->mdel( $file ); } /** * Checks if a file or directory exists. * * @since 2.5.0 * @since 6.3.0 Returns false for an empty path. * * @param string $path Path to file or directory. * @return bool Whether $path exists or not. */ public function exists( $path ) { /* * Check for empty path. If ftp::nlist() receives an empty path, * it checks the current working directory and may return true. * * See https://core.trac.wordpress.org/ticket/33058. */ if ( '' === $path ) { return false; } $list = $this->ftp->nlist( $path ); if ( empty( $list ) && $this->is_dir( $path ) ) { return true; // File is an empty directory. } return ! empty( $list ); // Empty list = no file, so invert. // Return $this->ftp->is_exists($file); has issues with ABOR+426 responses on the ncFTPd server. } /** * Checks if resource is a file. * * @since 2.5.0 * * @param string $file File path. * @return bool Whether $file is a file. */ public function is_file( $file ) { if ( $this->is_dir( $file ) ) { return false; } if ( $this->exists( $file ) ) { return true; } return false; } /** * Checks if resource is a directory. * * @since 2.5.0 * * @param string $path Directory path. * @return bool Whether $path is a directory. */ public function is_dir( $path ) { $cwd = $this->cwd(); if ( $this->chdir( $path ) ) { $this->chdir( $cwd ); return true; } return false; } /** * Checks if a file is readable. * * @since 2.5.0 * * @param string $file Path to file. * @return bool Whether $file is readable. */ public function is_readable( $file ) { return true; } /** * Checks if a file or directory is writable. * * @since 2.5.0 * * @param string $path Path to file or directory. * @return bool Whether $path is writable. */ public function is_writable( $path ) { return true; } /** * Gets the file's last access time. * * @since 2.5.0 * * @param string $file Path to file. * @return int|false Unix timestamp representing last access time, false on failure. */ public function atime( $file ) { return false; } /** * Gets the file modification time. * * @since 2.5.0 * * @param string $file Path to file. * @return int|false Unix timestamp representing modification time, false on failure. */ public function mtime( $file ) { return $this->ftp->mdtm( $file ); } /** * Gets the file size (in bytes). * * @since 2.5.0 * * @param string $file Path to file. * @return int|false Size of the file in bytes on success, false on failure. */ public function size( $file ) { return $this->ftp->filesize( $file ); } /** * Sets the access and modification times of a file. * * Note: If $file doesn't exist, it will be created. * * @since 2.5.0 * * @param string $file Path to file. * @param int $time Optional. Modified time to set for file. * Default 0. * @param int $atime Optional. Access time to set for file. * Default 0. * @return bool True on success, false on failure. */ public function touch( $file, $time = 0, $atime = 0 ) { return false; } /** * Creates a directory. * * @since 2.5.0 * * @param string $path Path for new directory. * @param int|false $chmod Optional. The permissions as octal number (or false to skip chmod). * Default false. * @param string|int|false $chown Optional. A user name or number (or false to skip chown). * Default false. * @param string|int|false $chgrp Optional. A group name or number (or false to skip chgrp). * Default false. * @return bool True on success, false on failure. */ public function mkdir( $path, $chmod = false, $chown = false, $chgrp = false ) { $path = untrailingslashit( $path ); if ( empty( $path ) ) { return false; } if ( ! $this->ftp->mkdir( $path ) ) { return false; } if ( ! $chmod ) { $chmod = FS_CHMOD_DIR; } $this->chmod( $path, $chmod ); return true; } /** * Deletes a directory. * * @since 2.5.0 * * @param string $path Path to directory. * @param bool $recursive Optional. Whether to recursively remove files/directories. * Default false. * @return bool True on success, false on failure. */ public function rmdir( $path, $recursive = false ) { return $this->delete( $path, $recursive ); } /** * Gets details for files in a directory or a specific file. * * @since 2.5.0 * * @param string $path Path to directory or file. * @param bool $include_hidden Optional. Whether to include details of hidden ("." prefixed) files. * Default true. * @param bool $recursive Optional. Whether to recursively include file details in nested directories. * Default false. * @return array|false { * Array of arrays containing file information. False if unable to list directory contents. * * @type array ...$0 { * Array of file information. Note that some elements may not be available on all filesystems. * * @type string $name Name of the file or directory. * @type string $perms *nix representation of permissions. * @type string $permsn Octal representation of permissions. * @type int|string|false $number File number. May be a numeric string. False if not available. * @type string|false $owner Owner name or ID, or false if not available. * @type string|false $group File permissions group, or false if not available. * @type int|string|false $size Size of file in bytes. May be a numeric string. * False if not available. * @type int|string|false $lastmodunix Last modified unix timestamp. May be a numeric string. * False if not available. * @type string|false $lastmod Last modified month (3 letters) and day (without leading 0), or * false if not available. * @type string|false $time Last modified time, or false if not available. * @type string $type Type of resource. 'f' for file, 'd' for directory, 'l' for link. * @type array|false $files If a directory and `$recursive` is true, contains another array of * files. False if unable to list directory contents. * } * } */ public function dirlist( $path = '.', $include_hidden = true, $recursive = false ) { if ( $this->is_file( $path ) ) { $limit_file = basename( $path ); $path = dirname( $path ) . '/'; } else { $limit_file = false; } mbstring_binary_safe_encoding(); $list = $this->ftp->dirlist( $path ); if ( empty( $list ) && ! $this->exists( $path ) ) { reset_mbstring_encoding(); return false; } $path = trailingslashit( $path ); $ret = array(); foreach ( $list as $struc ) { if ( '.' === $struc['name'] || '..' === $struc['name'] ) { continue; } if ( ! $include_hidden && '.' === $struc['name'][0] ) { continue; } if ( $limit_file && $struc['name'] !== $limit_file ) { continue; } if ( 'd' === $struc['type'] ) { if ( $recursive ) { $struc['files'] = $this->dirlist( $path . $struc['name'], $include_hidden, $recursive ); } else { $struc['files'] = array(); } } // Replace symlinks formatted as "source -> target" with just the source name. if ( $struc['islink'] ) { $struc['name'] = preg_replace( '/(\s*->\s*.*)$/', '', $struc['name'] ); } // Add the octal representation of the file permissions. $struc['permsn'] = $this->getnumchmodfromh( $struc['perms'] ); $ret[ $struc['name'] ] = $struc; } reset_mbstring_encoding(); return $ret; } /** * Destructor. * * @since 2.5.0 */ public function __destruct() { $this->ftp->quit(); } } edit-tag-messages.php 0000644 00000002706 14735706075 0010603 0 ustar 00 <?php /** * Edit Tags Administration: Messages * * @package WordPress * @subpackage Administration * @since 4.4.0 */ $messages = array(); // 0 = unused. Messages start at index 1. $messages['_item'] = array( 0 => '', 1 => __( 'Item added.' ), 2 => __( 'Item deleted.' ), 3 => __( 'Item updated.' ), 4 => __( 'Item not added.' ), 5 => __( 'Item not updated.' ), 6 => __( 'Items deleted.' ), ); $messages['category'] = array( 0 => '', 1 => __( 'Category added.' ), 2 => __( 'Category deleted.' ), 3 => __( 'Category updated.' ), 4 => __( 'Category not added.' ), 5 => __( 'Category not updated.' ), 6 => __( 'Categories deleted.' ), ); $messages['post_tag'] = array( 0 => '', 1 => __( 'Tag added.' ), 2 => __( 'Tag deleted.' ), 3 => __( 'Tag updated.' ), 4 => __( 'Tag not added.' ), 5 => __( 'Tag not updated.' ), 6 => __( 'Tags deleted.' ), ); /** * Filters the messages displayed when a tag is updated. * * @since 3.7.0 * * @param array[] $messages Array of arrays of messages to be displayed, keyed by taxonomy name. */ $messages = apply_filters( 'term_updated_messages', $messages ); $message = false; if ( isset( $_REQUEST['message'] ) && (int) $_REQUEST['message'] ) { $msg = (int) $_REQUEST['message']; if ( isset( $messages[ $taxonomy ][ $msg ] ) ) { $message = $messages[ $taxonomy ][ $msg ]; } elseif ( ! isset( $messages[ $taxonomy ] ) && isset( $messages['_item'][ $msg ] ) ) { $message = $messages['_item'][ $msg ]; } } class-bulk-plugin-upgrader-skin.php 0000644 00000005036 14735706075 0013404 0 ustar 00 <?php /** * Upgrader API: Bulk_Plugin_Upgrader_Skin class * * @package WordPress * @subpackage Upgrader * @since 4.6.0 */ /** * Bulk Plugin Upgrader Skin for WordPress Plugin Upgrades. * * @since 3.0.0 * @since 4.6.0 Moved to its own file from wp-admin/includes/class-wp-upgrader-skins.php. * * @see Bulk_Upgrader_Skin */ class Bulk_Plugin_Upgrader_Skin extends Bulk_Upgrader_Skin { /** * Plugin info. * * The Plugin_Upgrader::bulk_upgrade() method will fill this in * with info retrieved from the get_plugin_data() function. * * @since 3.0.0 * @var array Plugin data. Values will be empty if not supplied by the plugin. */ public $plugin_info = array(); /** * Sets up the strings used in the update process. * * @since 3.0.0 */ public function add_strings() { parent::add_strings(); /* translators: 1: Plugin name, 2: Number of the plugin, 3: Total number of plugins being updated. */ $this->upgrader->strings['skin_before_update_header'] = __( 'Updating Plugin %1$s (%2$d/%3$d)' ); } /** * Performs an action before a bulk plugin update. * * @since 3.0.0 * * @param string $title */ public function before( $title = '' ) { parent::before( $this->plugin_info['Title'] ); } /** * Performs an action following a bulk plugin update. * * @since 3.0.0 * * @param string $title */ public function after( $title = '' ) { parent::after( $this->plugin_info['Title'] ); $this->decrement_update_count( 'plugin' ); } /** * Displays the footer following the bulk update process. * * @since 3.0.0 */ public function bulk_footer() { parent::bulk_footer(); $update_actions = array( 'plugins_page' => sprintf( '<a href="%s" target="_parent">%s</a>', self_admin_url( 'plugins.php' ), __( 'Go to Plugins page' ) ), 'updates_page' => sprintf( '<a href="%s" target="_parent">%s</a>', self_admin_url( 'update-core.php' ), __( 'Go to WordPress Updates page' ) ), ); if ( ! current_user_can( 'activate_plugins' ) ) { unset( $update_actions['plugins_page'] ); } /** * Filters the list of action links available following bulk plugin updates. * * @since 3.0.0 * * @param string[] $update_actions Array of plugin action links. * @param array $plugin_info Array of information for the last-updated plugin. */ $update_actions = apply_filters( 'update_bulk_plugins_complete_actions', $update_actions, $this->plugin_info ); if ( ! empty( $update_actions ) ) { $this->feedback( implode( ' | ', (array) $update_actions ) ); } } } class-ftp.php 0000644 00000065250 14735706075 0007177 0 ustar 00 <?php /** * PemFTP - An Ftp implementation in pure PHP * * @package PemFTP * @since 2.5.0 * * @version 1.0 * @copyright Alexey Dotsenko * @author Alexey Dotsenko * @link https://www.phpclasses.org/package/1743-PHP-FTP-client-in-pure-PHP.html * @license LGPL https://opensource.org/licenses/lgpl-license.html */ /** * Defines the newline characters, if not defined already. * * This can be redefined. * * @since 2.5.0 * @var string */ if(!defined('CRLF')) define('CRLF',"\r\n"); /** * Sets whatever to autodetect ASCII mode. * * This can be redefined. * * @since 2.5.0 * @var int */ if(!defined("FTP_AUTOASCII")) define("FTP_AUTOASCII", -1); /** * * This can be redefined. * @since 2.5.0 * @var int */ if(!defined("FTP_BINARY")) define("FTP_BINARY", 1); /** * * This can be redefined. * @since 2.5.0 * @var int */ if(!defined("FTP_ASCII")) define("FTP_ASCII", 0); /** * Whether to force FTP. * * This can be redefined. * * @since 2.5.0 * @var bool */ if(!defined('FTP_FORCE')) define('FTP_FORCE', true); /** * @since 2.5.0 * @var string */ define('FTP_OS_Unix','u'); /** * @since 2.5.0 * @var string */ define('FTP_OS_Windows','w'); /** * @since 2.5.0 * @var string */ define('FTP_OS_Mac','m'); /** * PemFTP base class * */ class ftp_base { /* Public variables */ var $LocalEcho; var $Verbose; var $OS_local; var $OS_remote; /* Private variables */ var $_lastaction; var $_errors; var $_type; var $_umask; var $_timeout; var $_passive; var $_host; var $_fullhost; var $_port; var $_datahost; var $_dataport; var $_ftp_control_sock; var $_ftp_data_sock; var $_ftp_temp_sock; var $_ftp_buff_size; var $_login; var $_password; var $_connected; var $_ready; var $_code; var $_message; var $_can_restore; var $_port_available; var $_curtype; var $_features; var $_error_array; var $AuthorizedTransferMode; var $OS_FullName; var $_eol_code; var $AutoAsciiExt; /* Constructor */ function __construct($port_mode=FALSE, $verb=FALSE, $le=FALSE) { $this->LocalEcho=$le; $this->Verbose=$verb; $this->_lastaction=NULL; $this->_error_array=array(); $this->_eol_code=array(FTP_OS_Unix=>"\n", FTP_OS_Mac=>"\r", FTP_OS_Windows=>"\r\n"); $this->AuthorizedTransferMode=array(FTP_AUTOASCII, FTP_ASCII, FTP_BINARY); $this->OS_FullName=array(FTP_OS_Unix => 'UNIX', FTP_OS_Windows => 'WINDOWS', FTP_OS_Mac => 'MACOS'); $this->AutoAsciiExt=array("ASP","BAT","C","CPP","CSS","CSV","JS","H","HTM","HTML","SHTML","INI","LOG","PHP3","PHTML","PL","PERL","SH","SQL","TXT"); $this->_port_available=($port_mode==TRUE); $this->SendMSG("Staring FTP client class".($this->_port_available?"":" without PORT mode support")); $this->_connected=FALSE; $this->_ready=FALSE; $this->_can_restore=FALSE; $this->_code=0; $this->_message=""; $this->_ftp_buff_size=4096; $this->_curtype=NULL; $this->SetUmask(0022); $this->SetType(FTP_AUTOASCII); $this->SetTimeout(30); $this->Passive(!$this->_port_available); $this->_login="anonymous"; $this->_password="anon@ftp.com"; $this->_features=array(); $this->OS_local=FTP_OS_Unix; $this->OS_remote=FTP_OS_Unix; $this->features=array(); if(strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') $this->OS_local=FTP_OS_Windows; elseif(strtoupper(substr(PHP_OS, 0, 3)) === 'MAC') $this->OS_local=FTP_OS_Mac; } function ftp_base($port_mode=FALSE) { $this->__construct($port_mode); } // <!-- --------------------------------------------------------------------------------------- --> // <!-- Public functions --> // <!-- --------------------------------------------------------------------------------------- --> function parselisting($line) { $is_windows = ($this->OS_remote == FTP_OS_Windows); if ($is_windows && preg_match("/([0-9]{2})-([0-9]{2})-([0-9]{2}) +([0-9]{2}):([0-9]{2})(AM|PM) +([0-9]+|<DIR>) +(.+)/",$line,$lucifer)) { $b = array(); if ($lucifer[3]<70) { $lucifer[3]+=2000; } else { $lucifer[3]+=1900; } // 4digit year fix $b['isdir'] = ($lucifer[7]=="<DIR>"); if ( $b['isdir'] ) $b['type'] = 'd'; else $b['type'] = 'f'; $b['size'] = $lucifer[7]; $b['month'] = $lucifer[1]; $b['day'] = $lucifer[2]; $b['year'] = $lucifer[3]; $b['hour'] = $lucifer[4]; $b['minute'] = $lucifer[5]; $b['time'] = @mktime($lucifer[4]+(strcasecmp($lucifer[6],"PM")==0?12:0),$lucifer[5],0,$lucifer[1],$lucifer[2],$lucifer[3]); $b['am/pm'] = $lucifer[6]; $b['name'] = $lucifer[8]; } else if (!$is_windows && $lucifer=preg_split("/[ ]/",$line,9,PREG_SPLIT_NO_EMPTY)) { //echo $line."\n"; $lcount=count($lucifer); if ($lcount<8) return ''; $b = array(); $b['isdir'] = $lucifer[0][0] === "d"; $b['islink'] = $lucifer[0][0] === "l"; if ( $b['isdir'] ) $b['type'] = 'd'; elseif ( $b['islink'] ) $b['type'] = 'l'; else $b['type'] = 'f'; $b['perms'] = $lucifer[0]; $b['number'] = $lucifer[1]; $b['owner'] = $lucifer[2]; $b['group'] = $lucifer[3]; $b['size'] = $lucifer[4]; if ($lcount==8) { sscanf($lucifer[5],"%d-%d-%d",$b['year'],$b['month'],$b['day']); sscanf($lucifer[6],"%d:%d",$b['hour'],$b['minute']); $b['time'] = @mktime($b['hour'],$b['minute'],0,$b['month'],$b['day'],$b['year']); $b['name'] = $lucifer[7]; } else { $b['month'] = $lucifer[5]; $b['day'] = $lucifer[6]; if (preg_match("/([0-9]{2}):([0-9]{2})/",$lucifer[7],$l2)) { $b['year'] = gmdate("Y"); $b['hour'] = $l2[1]; $b['minute'] = $l2[2]; } else { $b['year'] = $lucifer[7]; $b['hour'] = 0; $b['minute'] = 0; } $b['time'] = strtotime(sprintf("%d %s %d %02d:%02d",$b['day'],$b['month'],$b['year'],$b['hour'],$b['minute'])); $b['name'] = $lucifer[8]; } } return $b; } function SendMSG($message = "", $crlf=true) { if ($this->Verbose) { echo $message.($crlf?CRLF:""); flush(); } return TRUE; } function SetType($mode=FTP_AUTOASCII) { if(!in_array($mode, $this->AuthorizedTransferMode)) { $this->SendMSG("Wrong type"); return FALSE; } $this->_type=$mode; $this->SendMSG("Transfer type: ".($this->_type==FTP_BINARY?"binary":($this->_type==FTP_ASCII?"ASCII":"auto ASCII") ) ); return TRUE; } function _settype($mode=FTP_ASCII) { if($this->_ready) { if($mode==FTP_BINARY) { if($this->_curtype!=FTP_BINARY) { if(!$this->_exec("TYPE I", "SetType")) return FALSE; $this->_curtype=FTP_BINARY; } } elseif($this->_curtype!=FTP_ASCII) { if(!$this->_exec("TYPE A", "SetType")) return FALSE; $this->_curtype=FTP_ASCII; } } else return FALSE; return TRUE; } function Passive($pasv=NULL) { if(is_null($pasv)) $this->_passive=!$this->_passive; else $this->_passive=$pasv; if(!$this->_port_available and !$this->_passive) { $this->SendMSG("Only passive connections available!"); $this->_passive=TRUE; return FALSE; } $this->SendMSG("Passive mode ".($this->_passive?"on":"off")); return TRUE; } function SetServer($host, $port=21, $reconnect=true) { if(!is_long($port)) { $this->verbose=true; $this->SendMSG("Incorrect port syntax"); return FALSE; } else { $ip=@gethostbyname($host); $dns=@gethostbyaddr($host); if(!$ip) $ip=$host; if(!$dns) $dns=$host; // Validate the IPAddress PHP4 returns -1 for invalid, PHP5 false // -1 === "255.255.255.255" which is the broadcast address which is also going to be invalid $ipaslong = ip2long($ip); if ( ($ipaslong == false) || ($ipaslong === -1) ) { $this->SendMSG("Wrong host name/address \"".$host."\""); return FALSE; } $this->_host=$ip; $this->_fullhost=$dns; $this->_port=$port; $this->_dataport=$port-1; } $this->SendMSG("Host \"".$this->_fullhost."(".$this->_host."):".$this->_port."\""); if($reconnect){ if($this->_connected) { $this->SendMSG("Reconnecting"); if(!$this->quit(FTP_FORCE)) return FALSE; if(!$this->connect()) return FALSE; } } return TRUE; } function SetUmask($umask=0022) { $this->_umask=$umask; umask($this->_umask); $this->SendMSG("UMASK 0".decoct($this->_umask)); return TRUE; } function SetTimeout($timeout=30) { $this->_timeout=$timeout; $this->SendMSG("Timeout ".$this->_timeout); if($this->_connected) if(!$this->_settimeout($this->_ftp_control_sock)) return FALSE; return TRUE; } function connect($server=NULL) { if(!empty($server)) { if(!$this->SetServer($server)) return false; } if($this->_ready) return true; $this->SendMsg('Local OS : '.$this->OS_FullName[$this->OS_local]); if(!($this->_ftp_control_sock = $this->_connect($this->_host, $this->_port))) { $this->SendMSG("Error : Cannot connect to remote host \"".$this->_fullhost." :".$this->_port."\""); return FALSE; } $this->SendMSG("Connected to remote host \"".$this->_fullhost.":".$this->_port."\". Waiting for greeting."); do { if(!$this->_readmsg()) return FALSE; if(!$this->_checkCode()) return FALSE; $this->_lastaction=time(); } while($this->_code<200); $this->_ready=true; $syst=$this->systype(); if(!$syst) $this->SendMSG("Cannot detect remote OS"); else { if(preg_match("/win|dos|novell/i", $syst[0])) $this->OS_remote=FTP_OS_Windows; elseif(preg_match("/os/i", $syst[0])) $this->OS_remote=FTP_OS_Mac; elseif(preg_match("/(li|u)nix/i", $syst[0])) $this->OS_remote=FTP_OS_Unix; else $this->OS_remote=FTP_OS_Mac; $this->SendMSG("Remote OS: ".$this->OS_FullName[$this->OS_remote]); } if(!$this->features()) $this->SendMSG("Cannot get features list. All supported - disabled"); else $this->SendMSG("Supported features: ".implode(", ", array_keys($this->_features))); return TRUE; } function quit($force=false) { if($this->_ready) { if(!$this->_exec("QUIT") and !$force) return FALSE; if(!$this->_checkCode() and !$force) return FALSE; $this->_ready=false; $this->SendMSG("Session finished"); } $this->_quit(); return TRUE; } function login($user=NULL, $pass=NULL) { if(!is_null($user)) $this->_login=$user; else $this->_login="anonymous"; if(!is_null($pass)) $this->_password=$pass; else $this->_password="anon@anon.com"; if(!$this->_exec("USER ".$this->_login, "login")) return FALSE; if(!$this->_checkCode()) return FALSE; if($this->_code!=230) { if(!$this->_exec((($this->_code==331)?"PASS ":"ACCT ").$this->_password, "login")) return FALSE; if(!$this->_checkCode()) return FALSE; } $this->SendMSG("Authentication succeeded"); if(empty($this->_features)) { if(!$this->features()) $this->SendMSG("Cannot get features list. All supported - disabled"); else $this->SendMSG("Supported features: ".implode(", ", array_keys($this->_features))); } return TRUE; } function pwd() { if(!$this->_exec("PWD", "pwd")) return FALSE; if(!$this->_checkCode()) return FALSE; return preg_replace("/^[0-9]{3} \"(.+)\".*$/s", "\\1", $this->_message); } function cdup() { if(!$this->_exec("CDUP", "cdup")) return FALSE; if(!$this->_checkCode()) return FALSE; return true; } function chdir($pathname) { if(!$this->_exec("CWD ".$pathname, "chdir")) return FALSE; if(!$this->_checkCode()) return FALSE; return TRUE; } function rmdir($pathname) { if(!$this->_exec("RMD ".$pathname, "rmdir")) return FALSE; if(!$this->_checkCode()) return FALSE; return TRUE; } function mkdir($pathname) { if(!$this->_exec("MKD ".$pathname, "mkdir")) return FALSE; if(!$this->_checkCode()) return FALSE; return TRUE; } function rename($from, $to) { if(!$this->_exec("RNFR ".$from, "rename")) return FALSE; if(!$this->_checkCode()) return FALSE; if($this->_code==350) { if(!$this->_exec("RNTO ".$to, "rename")) return FALSE; if(!$this->_checkCode()) return FALSE; } else return FALSE; return TRUE; } function filesize($pathname) { if(!isset($this->_features["SIZE"])) { $this->PushError("filesize", "not supported by server"); return FALSE; } if(!$this->_exec("SIZE ".$pathname, "filesize")) return FALSE; if(!$this->_checkCode()) return FALSE; return preg_replace("/^[0-9]{3} ([0-9]+).*$/s", "\\1", $this->_message); } function abort() { if(!$this->_exec("ABOR", "abort")) return FALSE; if(!$this->_checkCode()) { if($this->_code!=426) return FALSE; if(!$this->_readmsg("abort")) return FALSE; if(!$this->_checkCode()) return FALSE; } return true; } function mdtm($pathname) { if(!isset($this->_features["MDTM"])) { $this->PushError("mdtm", "not supported by server"); return FALSE; } if(!$this->_exec("MDTM ".$pathname, "mdtm")) return FALSE; if(!$this->_checkCode()) return FALSE; $mdtm = preg_replace("/^[0-9]{3} ([0-9]+).*$/s", "\\1", $this->_message); $date = sscanf($mdtm, "%4d%2d%2d%2d%2d%2d"); $timestamp = mktime($date[3], $date[4], $date[5], $date[1], $date[2], $date[0]); return $timestamp; } function systype() { if(!$this->_exec("SYST", "systype")) return FALSE; if(!$this->_checkCode()) return FALSE; $DATA = explode(" ", $this->_message); return array($DATA[1], $DATA[3]); } function delete($pathname) { if(!$this->_exec("DELE ".$pathname, "delete")) return FALSE; if(!$this->_checkCode()) return FALSE; return TRUE; } function site($command, $fnction="site") { if(!$this->_exec("SITE ".$command, $fnction)) return FALSE; if(!$this->_checkCode()) return FALSE; return TRUE; } function chmod($pathname, $mode) { if(!$this->site( sprintf('CHMOD %o %s', $mode, $pathname), "chmod")) return FALSE; return TRUE; } function restore($from) { if(!isset($this->_features["REST"])) { $this->PushError("restore", "not supported by server"); return FALSE; } if($this->_curtype!=FTP_BINARY) { $this->PushError("restore", "cannot restore in ASCII mode"); return FALSE; } if(!$this->_exec("REST ".$from, "restore")) return FALSE; if(!$this->_checkCode()) return FALSE; return TRUE; } function features() { if(!$this->_exec("FEAT", "features")) return FALSE; if(!$this->_checkCode()) return FALSE; $f=preg_split("/[".CRLF."]+/", preg_replace("/[0-9]{3}[ -].*[".CRLF."]+/", "", $this->_message), -1, PREG_SPLIT_NO_EMPTY); $this->_features=array(); foreach($f as $k=>$v) { $v=explode(" ", trim($v)); $this->_features[array_shift($v)]=$v; } return true; } function rawlist($pathname="", $arg="") { return $this->_list(($arg?" ".$arg:"").($pathname?" ".$pathname:""), "LIST", "rawlist"); } function nlist($pathname="", $arg="") { return $this->_list(($arg?" ".$arg:"").($pathname?" ".$pathname:""), "NLST", "nlist"); } function is_exists($pathname) { return $this->file_exists($pathname); } function file_exists($pathname) { $exists=true; if(!$this->_exec("RNFR ".$pathname, "rename")) $exists=FALSE; else { if(!$this->_checkCode()) $exists=FALSE; $this->abort(); } if($exists) $this->SendMSG("Remote file ".$pathname." exists"); else $this->SendMSG("Remote file ".$pathname." does not exist"); return $exists; } function fget($fp, $remotefile, $rest=0) { if($this->_can_restore and $rest!=0) fseek($fp, $rest); $pi=pathinfo($remotefile); if($this->_type==FTP_ASCII or ($this->_type==FTP_AUTOASCII and in_array(strtoupper($pi["extension"]), $this->AutoAsciiExt))) $mode=FTP_ASCII; else $mode=FTP_BINARY; if(!$this->_data_prepare($mode)) { return FALSE; } if($this->_can_restore and $rest!=0) $this->restore($rest); if(!$this->_exec("RETR ".$remotefile, "get")) { $this->_data_close(); return FALSE; } if(!$this->_checkCode()) { $this->_data_close(); return FALSE; } $out=$this->_data_read($mode, $fp); $this->_data_close(); if(!$this->_readmsg()) return FALSE; if(!$this->_checkCode()) return FALSE; return $out; } function get($remotefile, $localfile=NULL, $rest=0) { if(is_null($localfile)) $localfile=$remotefile; if (@file_exists($localfile)) $this->SendMSG("Warning : local file will be overwritten"); $fp = @fopen($localfile, "w"); if (!$fp) { $this->PushError("get","cannot open local file", "Cannot create \"".$localfile."\""); return FALSE; } if($this->_can_restore and $rest!=0) fseek($fp, $rest); $pi=pathinfo($remotefile); if($this->_type==FTP_ASCII or ($this->_type==FTP_AUTOASCII and in_array(strtoupper($pi["extension"]), $this->AutoAsciiExt))) $mode=FTP_ASCII; else $mode=FTP_BINARY; if(!$this->_data_prepare($mode)) { fclose($fp); return FALSE; } if($this->_can_restore and $rest!=0) $this->restore($rest); if(!$this->_exec("RETR ".$remotefile, "get")) { $this->_data_close(); fclose($fp); return FALSE; } if(!$this->_checkCode()) { $this->_data_close(); fclose($fp); return FALSE; } $out=$this->_data_read($mode, $fp); fclose($fp); $this->_data_close(); if(!$this->_readmsg()) return FALSE; if(!$this->_checkCode()) return FALSE; return $out; } function fput($remotefile, $fp, $rest=0) { if($this->_can_restore and $rest!=0) fseek($fp, $rest); $pi=pathinfo($remotefile); if($this->_type==FTP_ASCII or ($this->_type==FTP_AUTOASCII and in_array(strtoupper($pi["extension"]), $this->AutoAsciiExt))) $mode=FTP_ASCII; else $mode=FTP_BINARY; if(!$this->_data_prepare($mode)) { return FALSE; } if($this->_can_restore and $rest!=0) $this->restore($rest); if(!$this->_exec("STOR ".$remotefile, "put")) { $this->_data_close(); return FALSE; } if(!$this->_checkCode()) { $this->_data_close(); return FALSE; } $ret=$this->_data_write($mode, $fp); $this->_data_close(); if(!$this->_readmsg()) return FALSE; if(!$this->_checkCode()) return FALSE; return $ret; } function put($localfile, $remotefile=NULL, $rest=0) { if(is_null($remotefile)) $remotefile=$localfile; if (!file_exists($localfile)) { $this->PushError("put","cannot open local file", "No such file or directory \"".$localfile."\""); return FALSE; } $fp = @fopen($localfile, "r"); if (!$fp) { $this->PushError("put","cannot open local file", "Cannot read file \"".$localfile."\""); return FALSE; } if($this->_can_restore and $rest!=0) fseek($fp, $rest); $pi=pathinfo($localfile); if($this->_type==FTP_ASCII or ($this->_type==FTP_AUTOASCII and in_array(strtoupper($pi["extension"]), $this->AutoAsciiExt))) $mode=FTP_ASCII; else $mode=FTP_BINARY; if(!$this->_data_prepare($mode)) { fclose($fp); return FALSE; } if($this->_can_restore and $rest!=0) $this->restore($rest); if(!$this->_exec("STOR ".$remotefile, "put")) { $this->_data_close(); fclose($fp); return FALSE; } if(!$this->_checkCode()) { $this->_data_close(); fclose($fp); return FALSE; } $ret=$this->_data_write($mode, $fp); fclose($fp); $this->_data_close(); if(!$this->_readmsg()) return FALSE; if(!$this->_checkCode()) return FALSE; return $ret; } function mput($local=".", $remote=NULL, $continious=false) { $local=realpath($local); if(!@file_exists($local)) { $this->PushError("mput","cannot open local folder", "Cannot stat folder \"".$local."\""); return FALSE; } if(!is_dir($local)) return $this->put($local, $remote); if(empty($remote)) $remote="."; elseif(!$this->file_exists($remote) and !$this->mkdir($remote)) return FALSE; if($handle = opendir($local)) { $list=array(); while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") $list[]=$file; } closedir($handle); } else { $this->PushError("mput","cannot open local folder", "Cannot read folder \"".$local."\""); return FALSE; } if(empty($list)) return TRUE; $ret=true; foreach($list as $el) { if(is_dir($local."/".$el)) $t=$this->mput($local."/".$el, $remote."/".$el); else $t=$this->put($local."/".$el, $remote."/".$el); if(!$t) { $ret=FALSE; if(!$continious) break; } } return $ret; } function mget($remote, $local=".", $continious=false) { $list=$this->rawlist($remote, "-lA"); if($list===false) { $this->PushError("mget","cannot read remote folder list", "Cannot read remote folder \"".$remote."\" contents"); return FALSE; } if(empty($list)) return true; if(!@file_exists($local)) { if(!@mkdir($local)) { $this->PushError("mget","cannot create local folder", "Cannot create folder \"".$local."\""); return FALSE; } } foreach($list as $k=>$v) { $list[$k]=$this->parselisting($v); if( ! $list[$k] or $list[$k]["name"]=="." or $list[$k]["name"]=="..") unset($list[$k]); } $ret=true; foreach($list as $el) { if($el["type"]=="d") { if(!$this->mget($remote."/".$el["name"], $local."/".$el["name"], $continious)) { $this->PushError("mget", "cannot copy folder", "Cannot copy remote folder \"".$remote."/".$el["name"]."\" to local \"".$local."/".$el["name"]."\""); $ret=false; if(!$continious) break; } } else { if(!$this->get($remote."/".$el["name"], $local."/".$el["name"])) { $this->PushError("mget", "cannot copy file", "Cannot copy remote file \"".$remote."/".$el["name"]."\" to local \"".$local."/".$el["name"]."\""); $ret=false; if(!$continious) break; } } @chmod($local."/".$el["name"], $el["perms"]); $t=strtotime($el["date"]); if($t!==-1 and $t!==false) @touch($local."/".$el["name"], $t); } return $ret; } function mdel($remote, $continious=false) { $list=$this->rawlist($remote, "-la"); if($list===false) { $this->PushError("mdel","cannot read remote folder list", "Cannot read remote folder \"".$remote."\" contents"); return false; } foreach($list as $k=>$v) { $list[$k]=$this->parselisting($v); if( ! $list[$k] or $list[$k]["name"]=="." or $list[$k]["name"]=="..") unset($list[$k]); } $ret=true; foreach($list as $el) { if ( empty($el) ) continue; if($el["type"]=="d") { if(!$this->mdel($remote."/".$el["name"], $continious)) { $ret=false; if(!$continious) break; } } else { if (!$this->delete($remote."/".$el["name"])) { $this->PushError("mdel", "cannot delete file", "Cannot delete remote file \"".$remote."/".$el["name"]."\""); $ret=false; if(!$continious) break; } } } if(!$this->rmdir($remote)) { $this->PushError("mdel", "cannot delete folder", "Cannot delete remote folder \"".$remote."/".$el["name"]."\""); $ret=false; } return $ret; } function mmkdir($dir, $mode = 0777) { if(empty($dir)) return FALSE; if($this->is_exists($dir) or $dir == "/" ) return TRUE; if(!$this->mmkdir(dirname($dir), $mode)) return false; $r=$this->mkdir($dir, $mode); $this->chmod($dir,$mode); return $r; } function glob($pattern, $handle=NULL) { $path=$output=null; if(PHP_OS=='WIN32') $slash='\\'; else $slash='/'; $lastpos=strrpos($pattern,$slash); if(!($lastpos===false)) { $path=substr($pattern,0,-$lastpos-1); $pattern=substr($pattern,$lastpos); } else $path=getcwd(); if(is_array($handle) and !empty($handle)) { foreach($handle as $dir) { if($this->glob_pattern_match($pattern,$dir)) $output[]=$dir; } } else { $handle=@opendir($path); if($handle===false) return false; while($dir=readdir($handle)) { if($this->glob_pattern_match($pattern,$dir)) $output[]=$dir; } closedir($handle); } if(is_array($output)) return $output; return false; } function glob_pattern_match($pattern,$subject) { $out=null; $chunks=explode(';',$pattern); foreach($chunks as $pattern) { $escape=array('$','^','.','{','}','(',')','[',']','|'); while(str_contains($pattern,'**')) $pattern=str_replace('**','*',$pattern); foreach($escape as $probe) $pattern=str_replace($probe,"\\$probe",$pattern); $pattern=str_replace('?*','*', str_replace('*?','*', str_replace('*',".*", str_replace('?','.{1,1}',$pattern)))); $out[]=$pattern; } if(count($out)==1) return($this->glob_regexp("^$out[0]$",$subject)); else { foreach($out as $tester) // TODO: This should probably be glob_regexp(), but needs tests. if($this->my_regexp("^$tester$",$subject)) return true; } return false; } function glob_regexp($pattern,$subject) { $sensitive=(PHP_OS!='WIN32'); return ($sensitive? preg_match( '/' . preg_quote( $pattern, '/' ) . '/', $subject ) : preg_match( '/' . preg_quote( $pattern, '/' ) . '/i', $subject ) ); } function dirlist($remote) { $list=$this->rawlist($remote, "-la"); if($list===false) { $this->PushError("dirlist","cannot read remote folder list", "Cannot read remote folder \"".$remote."\" contents"); return false; } $dirlist = array(); foreach($list as $k=>$v) { $entry=$this->parselisting($v); if ( empty($entry) ) continue; if($entry["name"]=="." or $entry["name"]=="..") continue; $dirlist[$entry['name']] = $entry; } return $dirlist; } // <!-- --------------------------------------------------------------------------------------- --> // <!-- Private functions --> // <!-- --------------------------------------------------------------------------------------- --> function _checkCode() { return ($this->_code<400 and $this->_code>0); } function _list($arg="", $cmd="LIST", $fnction="_list") { if(!$this->_data_prepare()) return false; if(!$this->_exec($cmd.$arg, $fnction)) { $this->_data_close(); return FALSE; } if(!$this->_checkCode()) { $this->_data_close(); return FALSE; } $out=""; if($this->_code<200) { $out=$this->_data_read(); $this->_data_close(); if(!$this->_readmsg()) return FALSE; if(!$this->_checkCode()) return FALSE; if($out === FALSE ) return FALSE; $out=preg_split("/[".CRLF."]+/", $out, -1, PREG_SPLIT_NO_EMPTY); // $this->SendMSG(implode($this->_eol_code[$this->OS_local], $out)); } return $out; } // <!-- --------------------------------------------------------------------------------------- --> // <!-- Partie : gestion des erreurs --> // <!-- --------------------------------------------------------------------------------------- --> // Gnre une erreur pour traitement externe la classe function PushError($fctname,$msg,$desc=false){ $error=array(); $error['time']=time(); $error['fctname']=$fctname; $error['msg']=$msg; $error['desc']=$desc; if($desc) $tmp=' ('.$desc.')'; else $tmp=''; $this->SendMSG($fctname.': '.$msg.$tmp); return(array_push($this->_error_array,$error)); } // Rcupre une erreur externe function PopError(){ if(count($this->_error_array)) return(array_pop($this->_error_array)); else return(false); } } $mod_sockets = extension_loaded( 'sockets' ); if ( ! $mod_sockets && function_exists( 'dl' ) && is_callable( 'dl' ) ) { $prefix = ( PHP_SHLIB_SUFFIX == 'dll' ) ? 'php_' : ''; @dl( $prefix . 'sockets.' . PHP_SHLIB_SUFFIX ); // phpcs:ignore PHPCompatibility.FunctionUse.RemovedFunctions.dlDeprecated $mod_sockets = extension_loaded( 'sockets' ); } require_once __DIR__ . "/class-ftp-" . ( $mod_sockets ? "sockets" : "pure" ) . ".php"; if ( $mod_sockets ) { class ftp extends ftp_sockets {} } else { class ftp extends ftp_pure {} } class-file-upload-upgrader.php 0000644 00000010103 14735706075 0012401 0 ustar 00 <?php /** * Upgrade API: File_Upload_Upgrader class * * @package WordPress * @subpackage Upgrader * @since 4.6.0 */ /** * Core class used for handling file uploads. * * This class handles the upload process and passes it as if it's a local file * to the Upgrade/Installer functions. * * @since 2.8.0 * @since 4.6.0 Moved to its own file from wp-admin/includes/class-wp-upgrader.php. */ #[AllowDynamicProperties] class File_Upload_Upgrader { /** * The full path to the file package. * * @since 2.8.0 * @var string $package */ public $package; /** * The name of the file. * * @since 2.8.0 * @var string $filename */ public $filename; /** * The ID of the attachment post for this file. * * @since 3.3.0 * @var int $id */ public $id = 0; /** * Construct the upgrader for a form. * * @since 2.8.0 * * @param string $form The name of the form the file was uploaded from. * @param string $urlholder The name of the `GET` parameter that holds the filename. */ public function __construct( $form, $urlholder ) { if ( empty( $_FILES[ $form ]['name'] ) && empty( $_GET[ $urlholder ] ) ) { wp_die( __( 'Please select a file' ) ); } // Handle a newly uploaded file. Else, assume it's already been uploaded. if ( ! empty( $_FILES ) ) { $overrides = array( 'test_form' => false, 'test_type' => false, ); $file = wp_handle_upload( $_FILES[ $form ], $overrides ); if ( isset( $file['error'] ) ) { wp_die( $file['error'] ); } if ( 'pluginzip' === $form || 'themezip' === $form ) { if ( ! wp_zip_file_is_valid( $file['file'] ) ) { wp_delete_file( $file['file'] ); if ( 'pluginzip' === $form ) { $plugins_page = sprintf( '<a href="%s">%s</a>', self_admin_url( 'plugin-install.php' ), __( 'Return to the Plugin Installer' ) ); wp_die( __( 'Incompatible Archive.' ) . '<br />' . $plugins_page ); } if ( 'themezip' === $form ) { $themes_page = sprintf( '<a href="%s" target="_parent">%s</a>', self_admin_url( 'theme-install.php' ), __( 'Return to the Theme Installer' ) ); wp_die( __( 'Incompatible Archive.' ) . '<br />' . $themes_page ); } } } $this->filename = $_FILES[ $form ]['name']; $this->package = $file['file']; // Construct the attachment array. $attachment = array( 'post_title' => $this->filename, 'post_content' => $file['url'], 'post_mime_type' => $file['type'], 'guid' => $file['url'], 'context' => 'upgrader', 'post_status' => 'private', ); // Save the data. $this->id = wp_insert_attachment( $attachment, $file['file'] ); // Schedule a cleanup for 2 hours from now in case of failed installation. wp_schedule_single_event( time() + 2 * HOUR_IN_SECONDS, 'upgrader_scheduled_cleanup', array( $this->id ) ); } elseif ( is_numeric( $_GET[ $urlholder ] ) ) { // Numeric Package = previously uploaded file, see above. $this->id = (int) $_GET[ $urlholder ]; $attachment = get_post( $this->id ); if ( empty( $attachment ) ) { wp_die( __( 'Please select a file' ) ); } $this->filename = $attachment->post_title; $this->package = get_attached_file( $attachment->ID ); } else { // Else, It's set to something, Back compat for plugins using the old (pre-3.3) File_Uploader handler. $uploads = wp_upload_dir(); if ( ! ( $uploads && false === $uploads['error'] ) ) { wp_die( $uploads['error'] ); } $this->filename = sanitize_file_name( $_GET[ $urlholder ] ); $this->package = $uploads['basedir'] . '/' . $this->filename; if ( ! str_starts_with( realpath( $this->package ), realpath( $uploads['basedir'] ) ) ) { wp_die( __( 'Please select a file' ) ); } } } /** * Deletes the attachment/uploaded file. * * @since 3.2.2 * * @return bool Whether the cleanup was successful. */ public function cleanup() { if ( $this->id ) { wp_delete_attachment( $this->id ); } elseif ( file_exists( $this->package ) ) { return @unlink( $this->package ); } return true; } } class-wp-themes-list-table.php 0000644 00000024150 14735706075 0012347 0 ustar 00 <?php /** * List Table API: WP_Themes_List_Table class * * @package WordPress * @subpackage Administration * @since 3.1.0 */ /** * Core class used to implement displaying installed themes in a list table. * * @since 3.1.0 * * @see WP_List_Table */ class WP_Themes_List_Table extends WP_List_Table { protected $search_terms = array(); public $features = array(); /** * Constructor. * * @since 3.1.0 * * @see WP_List_Table::__construct() for more information on default arguments. * * @param array $args An associative array of arguments. */ public function __construct( $args = array() ) { parent::__construct( array( 'ajax' => true, 'screen' => isset( $args['screen'] ) ? $args['screen'] : null, ) ); } /** * @return bool */ public function ajax_user_can() { // Do not check edit_theme_options here. Ajax calls for available themes require switch_themes. return current_user_can( 'switch_themes' ); } /** */ public function prepare_items() { $themes = wp_get_themes( array( 'allowed' => true ) ); if ( ! empty( $_REQUEST['s'] ) ) { $this->search_terms = array_unique( array_filter( array_map( 'trim', explode( ',', strtolower( wp_unslash( $_REQUEST['s'] ) ) ) ) ) ); } if ( ! empty( $_REQUEST['features'] ) ) { $this->features = $_REQUEST['features']; } if ( $this->search_terms || $this->features ) { foreach ( $themes as $key => $theme ) { if ( ! $this->search_theme( $theme ) ) { unset( $themes[ $key ] ); } } } unset( $themes[ get_option( 'stylesheet' ) ] ); WP_Theme::sort_by_name( $themes ); $per_page = 36; $page = $this->get_pagenum(); $start = ( $page - 1 ) * $per_page; $this->items = array_slice( $themes, $start, $per_page, true ); $this->set_pagination_args( array( 'total_items' => count( $themes ), 'per_page' => $per_page, 'infinite_scroll' => true, ) ); } /** */ public function no_items() { if ( $this->search_terms || $this->features ) { _e( 'No items found.' ); return; } $blog_id = get_current_blog_id(); if ( is_multisite() ) { if ( current_user_can( 'install_themes' ) && current_user_can( 'manage_network_themes' ) ) { printf( /* translators: 1: URL to Themes tab on Edit Site screen, 2: URL to Add Themes screen. */ __( 'You only have one theme enabled for this site right now. Visit the Network Admin to <a href="%1$s">enable</a> or <a href="%2$s">install</a> more themes.' ), network_admin_url( 'site-themes.php?id=' . $blog_id ), network_admin_url( 'theme-install.php' ) ); return; } elseif ( current_user_can( 'manage_network_themes' ) ) { printf( /* translators: %s: URL to Themes tab on Edit Site screen. */ __( 'You only have one theme enabled for this site right now. Visit the Network Admin to <a href="%s">enable</a> more themes.' ), network_admin_url( 'site-themes.php?id=' . $blog_id ) ); return; } // Else, fallthrough. install_themes doesn't help if you can't enable it. } else { if ( current_user_can( 'install_themes' ) ) { printf( /* translators: %s: URL to Add Themes screen. */ __( 'You only have one theme installed right now. Live a little! You can choose from over 1,000 free themes in the WordPress Theme Directory at any time: just click on the <a href="%s">Install Themes</a> tab above.' ), admin_url( 'theme-install.php' ) ); return; } } // Fallthrough. printf( /* translators: %s: Network title. */ __( 'Only the active theme is available to you. Contact the %s administrator for information about accessing additional themes.' ), get_site_option( 'site_name' ) ); } /** * @param string $which */ public function tablenav( $which = 'top' ) { if ( $this->get_pagination_arg( 'total_pages' ) <= 1 ) { return; } ?> <div class="tablenav themes <?php echo $which; ?>"> <?php $this->pagination( $which ); ?> <span class="spinner"></span> <br class="clear" /> </div> <?php } /** * Displays the themes table. * * Overrides the parent display() method to provide a different container. * * @since 3.1.0 */ public function display() { wp_nonce_field( 'fetch-list-' . get_class( $this ), '_ajax_fetch_list_nonce' ); ?> <?php $this->tablenav( 'top' ); ?> <div id="availablethemes"> <?php $this->display_rows_or_placeholder(); ?> </div> <?php $this->tablenav( 'bottom' ); ?> <?php } /** * @return string[] Array of column titles keyed by their column name. */ public function get_columns() { return array(); } /** */ public function display_rows_or_placeholder() { if ( $this->has_items() ) { $this->display_rows(); } else { echo '<div class="no-items">'; $this->no_items(); echo '</div>'; } } /** * Generates the list table rows. * * @since 3.1.0 */ public function display_rows() { $themes = $this->items; foreach ( $themes as $theme ) : ?> <div class="available-theme"> <?php $template = $theme->get_template(); $stylesheet = $theme->get_stylesheet(); $title = $theme->display( 'Name' ); $version = $theme->display( 'Version' ); $author = $theme->display( 'Author' ); $activate_link = wp_nonce_url( 'themes.php?action=activate&template=' . urlencode( $template ) . '&stylesheet=' . urlencode( $stylesheet ), 'switch-theme_' . $stylesheet ); $actions = array(); $actions['activate'] = sprintf( '<a href="%s" class="activatelink" title="%s">%s</a>', $activate_link, /* translators: %s: Theme name. */ esc_attr( sprintf( _x( 'Activate “%s”', 'theme' ), $title ) ), _x( 'Activate', 'theme' ) ); if ( current_user_can( 'edit_theme_options' ) && current_user_can( 'customize' ) ) { $actions['preview'] .= sprintf( '<a href="%s" class="load-customize hide-if-no-customize">%s</a>', wp_customize_url( $stylesheet ), __( 'Live Preview' ) ); } if ( ! is_multisite() && current_user_can( 'delete_themes' ) ) { $actions['delete'] = sprintf( '<a class="submitdelete deletion" href="%s" onclick="return confirm( \'%s\' );">%s</a>', wp_nonce_url( 'themes.php?action=delete&stylesheet=' . urlencode( $stylesheet ), 'delete-theme_' . $stylesheet ), /* translators: %s: Theme name. */ esc_js( sprintf( __( "You are about to delete this theme '%s'\n 'Cancel' to stop, 'OK' to delete." ), $title ) ), __( 'Delete' ) ); } /** This filter is documented in wp-admin/includes/class-wp-ms-themes-list-table.php */ $actions = apply_filters( 'theme_action_links', $actions, $theme, 'all' ); /** This filter is documented in wp-admin/includes/class-wp-ms-themes-list-table.php */ $actions = apply_filters( "theme_action_links_{$stylesheet}", $actions, $theme, 'all' ); $delete_action = isset( $actions['delete'] ) ? '<div class="delete-theme">' . $actions['delete'] . '</div>' : ''; unset( $actions['delete'] ); $screenshot = $theme->get_screenshot(); ?> <span class="screenshot hide-if-customize"> <?php if ( $screenshot ) : ?> <img src="<?php echo esc_url( $screenshot . '?ver=' . $theme->version ); ?>" alt="" /> <?php endif; ?> </span> <a href="<?php echo wp_customize_url( $stylesheet ); ?>" class="screenshot load-customize hide-if-no-customize"> <?php if ( $screenshot ) : ?> <img src="<?php echo esc_url( $screenshot . '?ver=' . $theme->version ); ?>" alt="" /> <?php endif; ?> </a> <h3><?php echo $title; ?></h3> <div class="theme-author"> <?php /* translators: %s: Theme author. */ printf( __( 'By %s' ), $author ); ?> </div> <div class="action-links"> <ul> <?php foreach ( $actions as $action ) : ?> <li><?php echo $action; ?></li> <?php endforeach; ?> <li class="hide-if-no-js"><a href="#" class="theme-detail"><?php _e( 'Details' ); ?></a></li> </ul> <?php echo $delete_action; ?> <?php theme_update_available( $theme ); ?> </div> <div class="themedetaildiv hide-if-js"> <p><strong><?php _e( 'Version:' ); ?></strong> <?php echo $version; ?></p> <p><?php echo $theme->display( 'Description' ); ?></p> <?php if ( $theme->parent() ) { printf( /* translators: 1: Link to documentation on child themes, 2: Name of parent theme. */ ' <p class="howto">' . __( 'This <a href="%1$s">child theme</a> requires its parent theme, %2$s.' ) . '</p>', __( 'https://developer.wordpress.org/themes/advanced-topics/child-themes/' ), $theme->parent()->display( 'Name' ) ); } ?> </div> </div> <?php endforeach; } /** * @param WP_Theme $theme * @return bool */ public function search_theme( $theme ) { // Search the features. foreach ( $this->features as $word ) { if ( ! in_array( $word, $theme->get( 'Tags' ), true ) ) { return false; } } // Match all phrases. foreach ( $this->search_terms as $word ) { if ( in_array( $word, $theme->get( 'Tags' ), true ) ) { continue; } foreach ( array( 'Name', 'Description', 'Author', 'AuthorURI' ) as $header ) { // Don't mark up; Do translate. if ( false !== stripos( strip_tags( $theme->display( $header, false, true ) ), $word ) ) { continue 2; } } if ( false !== stripos( $theme->get_stylesheet(), $word ) ) { continue; } if ( false !== stripos( $theme->get_template(), $word ) ) { continue; } return false; } return true; } /** * Send required variables to JavaScript land * * @since 3.4.0 * * @param array $extra_args */ public function _js_vars( $extra_args = array() ) { $search_string = isset( $_REQUEST['s'] ) ? esc_attr( wp_unslash( $_REQUEST['s'] ) ) : ''; $args = array( 'search' => $search_string, 'features' => $this->features, 'paged' => $this->get_pagenum(), 'total_pages' => ! empty( $this->_pagination_args['total_pages'] ) ? $this->_pagination_args['total_pages'] : 1, ); if ( is_array( $extra_args ) ) { $args = array_merge( $args, $extra_args ); } printf( "<script type='text/javascript'>var theme_list_args = %s;</script>\n", wp_json_encode( $args ) ); parent::_js_vars(); } } class-wp-importer.php 0000644 00000016451 14735706075 0010672 0 ustar 00 <?php /** * WP_Importer base class */ #[AllowDynamicProperties] class WP_Importer { /** * Class Constructor */ public function __construct() {} /** * Returns array with imported permalinks from WordPress database. * * @global wpdb $wpdb WordPress database abstraction object. * * @param string $importer_name * @param string $blog_id * @return array */ public function get_imported_posts( $importer_name, $blog_id ) { global $wpdb; $hashtable = array(); $limit = 100; $offset = 0; // Grab all posts in chunks. do { $meta_key = $importer_name . '_' . $blog_id . '_permalink'; $sql = $wpdb->prepare( "SELECT post_id, meta_value FROM $wpdb->postmeta WHERE meta_key = %s LIMIT %d,%d", $meta_key, $offset, $limit ); $results = $wpdb->get_results( $sql ); // Increment offset. $offset = ( $limit + $offset ); if ( ! empty( $results ) ) { foreach ( $results as $r ) { // Set permalinks into array. $hashtable[ $r->meta_value ] = (int) $r->post_id; } } } while ( count( $results ) === $limit ); return $hashtable; } /** * Returns count of imported permalinks from WordPress database. * * @global wpdb $wpdb WordPress database abstraction object. * * @param string $importer_name * @param string $blog_id * @return int */ public function count_imported_posts( $importer_name, $blog_id ) { global $wpdb; $count = 0; // Get count of permalinks. $meta_key = $importer_name . '_' . $blog_id . '_permalink'; $sql = $wpdb->prepare( "SELECT COUNT( post_id ) AS cnt FROM $wpdb->postmeta WHERE meta_key = %s", $meta_key ); $result = $wpdb->get_results( $sql ); if ( ! empty( $result ) ) { $count = (int) $result[0]->cnt; } return $count; } /** * Sets array with imported comments from WordPress database. * * @global wpdb $wpdb WordPress database abstraction object. * * @param string $blog_id * @return array */ public function get_imported_comments( $blog_id ) { global $wpdb; $hashtable = array(); $limit = 100; $offset = 0; // Grab all comments in chunks. do { $sql = $wpdb->prepare( "SELECT comment_ID, comment_agent FROM $wpdb->comments LIMIT %d,%d", $offset, $limit ); $results = $wpdb->get_results( $sql ); // Increment offset. $offset = ( $limit + $offset ); if ( ! empty( $results ) ) { foreach ( $results as $r ) { // Explode comment_agent key. list ( $comment_agent_blog_id, $source_comment_id ) = explode( '-', $r->comment_agent ); $source_comment_id = (int) $source_comment_id; // Check if this comment came from this blog. if ( (int) $blog_id === (int) $comment_agent_blog_id ) { $hashtable[ $source_comment_id ] = (int) $r->comment_ID; } } } } while ( count( $results ) === $limit ); return $hashtable; } /** * @param int $blog_id * @return int|void */ public function set_blog( $blog_id ) { if ( is_numeric( $blog_id ) ) { $blog_id = (int) $blog_id; } else { $blog = 'http://' . preg_replace( '#^https?://#', '', $blog_id ); $parsed = parse_url( $blog ); if ( ! $parsed || empty( $parsed['host'] ) ) { fwrite( STDERR, "Error: can not determine blog_id from $blog_id\n" ); exit; } if ( empty( $parsed['path'] ) ) { $parsed['path'] = '/'; } $blogs = get_sites( array( 'domain' => $parsed['host'], 'number' => 1, 'path' => $parsed['path'], ) ); if ( ! $blogs ) { fwrite( STDERR, "Error: Could not find blog\n" ); exit; } $blog = array_shift( $blogs ); $blog_id = (int) $blog->blog_id; } if ( function_exists( 'is_multisite' ) ) { if ( is_multisite() ) { switch_to_blog( $blog_id ); } } return $blog_id; } /** * @param int $user_id * @return int|void */ public function set_user( $user_id ) { if ( is_numeric( $user_id ) ) { $user_id = (int) $user_id; } else { $user_id = (int) username_exists( $user_id ); } if ( ! $user_id || ! wp_set_current_user( $user_id ) ) { fwrite( STDERR, "Error: can not find user\n" ); exit; } return $user_id; } /** * Sorts by strlen, longest string first. * * @param string $a * @param string $b * @return int */ public function cmpr_strlen( $a, $b ) { return strlen( $b ) - strlen( $a ); } /** * Gets URL. * * @param string $url * @param string $username * @param string $password * @param bool $head * @return array */ public function get_page( $url, $username = '', $password = '', $head = false ) { // Increase the timeout. add_filter( 'http_request_timeout', array( $this, 'bump_request_timeout' ) ); $headers = array(); $args = array(); if ( true === $head ) { $args['method'] = 'HEAD'; } if ( ! empty( $username ) && ! empty( $password ) ) { $headers['Authorization'] = 'Basic ' . base64_encode( "$username:$password" ); } $args['headers'] = $headers; return wp_safe_remote_request( $url, $args ); } /** * Bumps up the request timeout for http requests. * * @param int $val * @return int */ public function bump_request_timeout( $val ) { return 60; } /** * Checks if user has exceeded disk quota. * * @return bool */ public function is_user_over_quota() { if ( function_exists( 'upload_is_user_over_quota' ) ) { if ( upload_is_user_over_quota() ) { return true; } } return false; } /** * Replaces newlines, tabs, and multiple spaces with a single space. * * @param string $text * @return string */ public function min_whitespace( $text ) { return preg_replace( '|[\r\n\t ]+|', ' ', $text ); } /** * Resets global variables that grow out of control during imports. * * @since 3.0.0 * * @global wpdb $wpdb WordPress database abstraction object. * @global int[] $wp_actions */ public function stop_the_insanity() { global $wpdb, $wp_actions; // Or define( 'WP_IMPORTING', true ); $wpdb->queries = array(); // Reset $wp_actions to keep it from growing out of control. $wp_actions = array(); } } /** * Returns value of command line params. * Exits when a required param is not set. * * @param string $param * @param bool $required * @return mixed */ function get_cli_args( $param, $required = false ) { $args = $_SERVER['argv']; if ( ! is_array( $args ) ) { $args = array(); } $out = array(); $last_arg = null; $return = null; $il = count( $args ); for ( $i = 1, $il; $i < $il; $i++ ) { if ( (bool) preg_match( '/^--(.+)/', $args[ $i ], $match ) ) { $parts = explode( '=', $match[1] ); $key = preg_replace( '/[^a-z0-9]+/', '', $parts[0] ); if ( isset( $parts[1] ) ) { $out[ $key ] = $parts[1]; } else { $out[ $key ] = true; } $last_arg = $key; } elseif ( (bool) preg_match( '/^-([a-zA-Z0-9]+)/', $args[ $i ], $match ) ) { for ( $j = 0, $jl = strlen( $match[1] ); $j < $jl; $j++ ) { $key = $match[1][ $j ]; $out[ $key ] = true; } $last_arg = $key; } elseif ( null !== $last_arg ) { $out[ $last_arg ] = $args[ $i ]; } } // Check array for specified param. if ( isset( $out[ $param ] ) ) { // Set return value. $return = $out[ $param ]; } // Check for missing required param. if ( ! isset( $out[ $param ] ) && $required ) { // Display message and exit. echo "\"$param\" parameter is required but was not specified\n"; exit; } return $return; } media.php 0000644 00000350126 14735706075 0006361 0 ustar 00 <?php /** * WordPress Administration Media API. * * @package WordPress * @subpackage Administration */ /** * Defines the default media upload tabs. * * @since 2.5.0 * * @return string[] Default tabs. */ function media_upload_tabs() { $_default_tabs = array( 'type' => __( 'From Computer' ), // Handler action suffix => tab text. 'type_url' => __( 'From URL' ), 'gallery' => __( 'Gallery' ), 'library' => __( 'Media Library' ), ); /** * Filters the available tabs in the legacy (pre-3.5.0) media popup. * * @since 2.5.0 * * @param string[] $_default_tabs An array of media tabs. */ return apply_filters( 'media_upload_tabs', $_default_tabs ); } /** * Adds the gallery tab back to the tabs array if post has image attachments. * * @since 2.5.0 * * @global wpdb $wpdb WordPress database abstraction object. * * @param array $tabs * @return array $tabs with gallery if post has image attachment */ function update_gallery_tab( $tabs ) { global $wpdb; if ( ! isset( $_REQUEST['post_id'] ) ) { unset( $tabs['gallery'] ); return $tabs; } $post_id = (int) $_REQUEST['post_id']; if ( $post_id ) { $attachments = (int) $wpdb->get_var( $wpdb->prepare( "SELECT count(*) FROM $wpdb->posts WHERE post_type = 'attachment' AND post_status != 'trash' AND post_parent = %d", $post_id ) ); } if ( empty( $attachments ) ) { unset( $tabs['gallery'] ); return $tabs; } /* translators: %s: Number of attachments. */ $tabs['gallery'] = sprintf( __( 'Gallery (%s)' ), "<span id='attachments-count'>$attachments</span>" ); return $tabs; } /** * Outputs the legacy media upload tabs UI. * * @since 2.5.0 * * @global string $redir_tab */ function the_media_upload_tabs() { global $redir_tab; $tabs = media_upload_tabs(); $default = 'type'; if ( ! empty( $tabs ) ) { echo "<ul id='sidemenu'>\n"; if ( isset( $redir_tab ) && array_key_exists( $redir_tab, $tabs ) ) { $current = $redir_tab; } elseif ( isset( $_GET['tab'] ) && array_key_exists( $_GET['tab'], $tabs ) ) { $current = $_GET['tab']; } else { /** This filter is documented in wp-admin/media-upload.php */ $current = apply_filters( 'media_upload_default_tab', $default ); } foreach ( $tabs as $callback => $text ) { $class = ''; if ( $current == $callback ) { $class = " class='current'"; } $href = add_query_arg( array( 'tab' => $callback, 's' => false, 'paged' => false, 'post_mime_type' => false, 'm' => false, ) ); $link = "<a href='" . esc_url( $href ) . "'$class>$text</a>"; echo "\t<li id='" . esc_attr( "tab-$callback" ) . "'>$link</li>\n"; } echo "</ul>\n"; } } /** * Retrieves the image HTML to send to the editor. * * @since 2.5.0 * * @param int $id Image attachment ID. * @param string $caption Image caption. * @param string $title Image title attribute. * @param string $align Image CSS alignment property. * @param string $url Optional. Image src URL. Default empty. * @param bool|string $rel Optional. Value for rel attribute or whether to add a default value. Default false. * @param string|int[] $size Optional. Image size. Accepts any registered image size name, or an array of * width and height values in pixels (in that order). Default 'medium'. * @param string $alt Optional. Image alt attribute. Default empty. * @return string The HTML output to insert into the editor. */ function get_image_send_to_editor( $id, $caption, $title, $align, $url = '', $rel = false, $size = 'medium', $alt = '' ) { $html = get_image_tag( $id, $alt, '', $align, $size ); if ( $rel ) { if ( is_string( $rel ) ) { $rel = ' rel="' . esc_attr( $rel ) . '"'; } else { $rel = ' rel="attachment wp-att-' . (int) $id . '"'; } } else { $rel = ''; } if ( $url ) { $html = '<a href="' . esc_url( $url ) . '"' . $rel . '>' . $html . '</a>'; } /** * Filters the image HTML markup to send to the editor when inserting an image. * * @since 2.5.0 * @since 5.6.0 The `$rel` parameter was added. * * @param string $html The image HTML markup to send. * @param int $id The attachment ID. * @param string $caption The image caption. * @param string $title The image title. * @param string $align The image alignment. * @param string $url The image source URL. * @param string|int[] $size Requested image size. Can be any registered image size name, or * an array of width and height values in pixels (in that order). * @param string $alt The image alternative, or alt, text. * @param string $rel The image rel attribute. */ $html = apply_filters( 'image_send_to_editor', $html, $id, $caption, $title, $align, $url, $size, $alt, $rel ); return $html; } /** * Adds image shortcode with caption to editor. * * @since 2.6.0 * * @param string $html The image HTML markup to send. * @param int $id Image attachment ID. * @param string $caption Image caption. * @param string $title Image title attribute (not used). * @param string $align Image CSS alignment property. * @param string $url Image source URL (not used). * @param string $size Image size (not used). * @param string $alt Image `alt` attribute (not used). * @return string The image HTML markup with caption shortcode. */ function image_add_caption( $html, $id, $caption, $title, $align, $url, $size, $alt = '' ) { /** * Filters the caption text. * * Note: If the caption text is empty, the caption shortcode will not be appended * to the image HTML when inserted into the editor. * * Passing an empty value also prevents the {@see 'image_add_caption_shortcode'} * Filters from being evaluated at the end of image_add_caption(). * * @since 4.1.0 * * @param string $caption The original caption text. * @param int $id The attachment ID. */ $caption = apply_filters( 'image_add_caption_text', $caption, $id ); /** * Filters whether to disable captions. * * Prevents image captions from being appended to image HTML when inserted into the editor. * * @since 2.6.0 * * @param bool $bool Whether to disable appending captions. Returning true from the filter * will disable captions. Default empty string. */ if ( empty( $caption ) || apply_filters( 'disable_captions', '' ) ) { return $html; } $id = ( 0 < (int) $id ) ? 'attachment_' . $id : ''; if ( ! preg_match( '/width=["\']([0-9]+)/', $html, $matches ) ) { return $html; } $width = $matches[1]; $caption = str_replace( array( "\r\n", "\r" ), "\n", $caption ); $caption = preg_replace_callback( '/<[a-zA-Z0-9]+(?: [^<>]+>)*/', '_cleanup_image_add_caption', $caption ); // Convert any remaining line breaks to <br />. $caption = preg_replace( '/[ \n\t]*\n[ \t]*/', '<br />', $caption ); $html = preg_replace( '/(class=["\'][^\'"]*)align(none|left|right|center)\s?/', '$1', $html ); if ( empty( $align ) ) { $align = 'none'; } $shcode = '[caption id="' . $id . '" align="align' . $align . '" width="' . $width . '"]' . $html . ' ' . $caption . '[/caption]'; /** * Filters the image HTML markup including the caption shortcode. * * @since 2.6.0 * * @param string $shcode The image HTML markup with caption shortcode. * @param string $html The image HTML markup. */ return apply_filters( 'image_add_caption_shortcode', $shcode, $html ); } /** * Private preg_replace callback used in image_add_caption(). * * @access private * @since 3.4.0 * * @param array $matches Single regex match. * @return string Cleaned up HTML for caption. */ function _cleanup_image_add_caption( $matches ) { // Remove any line breaks from inside the tags. return preg_replace( '/[\r\n\t]+/', ' ', $matches[0] ); } /** * Adds image HTML to editor. * * @since 2.5.0 * * @param string $html */ function media_send_to_editor( $html ) { ?> <script type="text/javascript"> var win = window.dialogArguments || opener || parent || top; win.send_to_editor( <?php echo wp_json_encode( $html ); ?> ); </script> <?php exit; } /** * Saves a file submitted from a POST request and create an attachment post for it. * * @since 2.5.0 * * @param string $file_id Index of the `$_FILES` array that the file was sent. * @param int $post_id The post ID of a post to attach the media item to. Required, but can * be set to 0, creating a media item that has no relationship to a post. * @param array $post_data Optional. Overwrite some of the attachment. * @param array $overrides Optional. Override the wp_handle_upload() behavior. * @return int|WP_Error ID of the attachment or a WP_Error object on failure. */ function media_handle_upload( $file_id, $post_id, $post_data = array(), $overrides = array( 'test_form' => false ) ) { $time = current_time( 'mysql' ); $post = get_post( $post_id ); if ( $post ) { // The post date doesn't usually matter for pages, so don't backdate this upload. if ( 'page' !== $post->post_type && substr( $post->post_date, 0, 4 ) > 0 ) { $time = $post->post_date; } } $file = wp_handle_upload( $_FILES[ $file_id ], $overrides, $time ); if ( isset( $file['error'] ) ) { return new WP_Error( 'upload_error', $file['error'] ); } $name = $_FILES[ $file_id ]['name']; $ext = pathinfo( $name, PATHINFO_EXTENSION ); $name = wp_basename( $name, ".$ext" ); $url = $file['url']; $type = $file['type']; $file = $file['file']; $title = sanitize_text_field( $name ); $content = ''; $excerpt = ''; if ( preg_match( '#^audio#', $type ) ) { $meta = wp_read_audio_metadata( $file ); if ( ! empty( $meta['title'] ) ) { $title = $meta['title']; } if ( ! empty( $title ) ) { if ( ! empty( $meta['album'] ) && ! empty( $meta['artist'] ) ) { /* translators: 1: Audio track title, 2: Album title, 3: Artist name. */ $content .= sprintf( __( '"%1$s" from %2$s by %3$s.' ), $title, $meta['album'], $meta['artist'] ); } elseif ( ! empty( $meta['album'] ) ) { /* translators: 1: Audio track title, 2: Album title. */ $content .= sprintf( __( '"%1$s" from %2$s.' ), $title, $meta['album'] ); } elseif ( ! empty( $meta['artist'] ) ) { /* translators: 1: Audio track title, 2: Artist name. */ $content .= sprintf( __( '"%1$s" by %2$s.' ), $title, $meta['artist'] ); } else { /* translators: %s: Audio track title. */ $content .= sprintf( __( '"%s".' ), $title ); } } elseif ( ! empty( $meta['album'] ) ) { if ( ! empty( $meta['artist'] ) ) { /* translators: 1: Audio album title, 2: Artist name. */ $content .= sprintf( __( '%1$s by %2$s.' ), $meta['album'], $meta['artist'] ); } else { $content .= $meta['album'] . '.'; } } elseif ( ! empty( $meta['artist'] ) ) { $content .= $meta['artist'] . '.'; } if ( ! empty( $meta['year'] ) ) { /* translators: Audio file track information. %d: Year of audio track release. */ $content .= ' ' . sprintf( __( 'Released: %d.' ), $meta['year'] ); } if ( ! empty( $meta['track_number'] ) ) { $track_number = explode( '/', $meta['track_number'] ); if ( is_numeric( $track_number[0] ) ) { if ( isset( $track_number[1] ) && is_numeric( $track_number[1] ) ) { $content .= ' ' . sprintf( /* translators: Audio file track information. 1: Audio track number, 2: Total audio tracks. */ __( 'Track %1$s of %2$s.' ), number_format_i18n( $track_number[0] ), number_format_i18n( $track_number[1] ) ); } else { $content .= ' ' . sprintf( /* translators: Audio file track information. %s: Audio track number. */ __( 'Track %s.' ), number_format_i18n( $track_number[0] ) ); } } } if ( ! empty( $meta['genre'] ) ) { /* translators: Audio file genre information. %s: Audio genre name. */ $content .= ' ' . sprintf( __( 'Genre: %s.' ), $meta['genre'] ); } // Use image exif/iptc data for title and caption defaults if possible. } elseif ( str_starts_with( $type, 'image/' ) ) { $image_meta = wp_read_image_metadata( $file ); if ( $image_meta ) { if ( trim( $image_meta['title'] ) && ! is_numeric( sanitize_title( $image_meta['title'] ) ) ) { $title = $image_meta['title']; } if ( trim( $image_meta['caption'] ) ) { $excerpt = $image_meta['caption']; } } } // Construct the attachment array. $attachment = array_merge( array( 'post_mime_type' => $type, 'guid' => $url, 'post_parent' => $post_id, 'post_title' => $title, 'post_content' => $content, 'post_excerpt' => $excerpt, ), $post_data ); // This should never be set as it would then overwrite an existing attachment. unset( $attachment['ID'] ); // Save the data. $attachment_id = wp_insert_attachment( $attachment, $file, $post_id, true ); if ( ! is_wp_error( $attachment_id ) ) { /* * Set a custom header with the attachment_id. * Used by the browser/client to resume creating image sub-sizes after a PHP fatal error. */ if ( ! headers_sent() ) { header( 'X-WP-Upload-Attachment-ID: ' . $attachment_id ); } /* * The image sub-sizes are created during wp_generate_attachment_metadata(). * This is generally slow and may cause timeouts or out of memory errors. */ wp_update_attachment_metadata( $attachment_id, wp_generate_attachment_metadata( $attachment_id, $file ) ); } return $attachment_id; } /** * Handles a side-loaded file in the same way as an uploaded file is handled by media_handle_upload(). * * @since 2.6.0 * @since 5.3.0 The `$post_id` parameter was made optional. * * @param string[] $file_array Array that represents a `$_FILES` upload array. * @param int $post_id Optional. The post ID the media is associated with. * @param string $desc Optional. Description of the side-loaded file. Default null. * @param array $post_data Optional. Post data to override. Default empty array. * @return int|WP_Error The ID of the attachment or a WP_Error on failure. */ function media_handle_sideload( $file_array, $post_id = 0, $desc = null, $post_data = array() ) { $overrides = array( 'test_form' => false ); if ( isset( $post_data['post_date'] ) && substr( $post_data['post_date'], 0, 4 ) > 0 ) { $time = $post_data['post_date']; } else { $post = get_post( $post_id ); if ( $post && substr( $post->post_date, 0, 4 ) > 0 ) { $time = $post->post_date; } else { $time = current_time( 'mysql' ); } } $file = wp_handle_sideload( $file_array, $overrides, $time ); if ( isset( $file['error'] ) ) { return new WP_Error( 'upload_error', $file['error'] ); } $url = $file['url']; $type = $file['type']; $file = $file['file']; $title = preg_replace( '/\.[^.]+$/', '', wp_basename( $file ) ); $content = ''; // Use image exif/iptc data for title and caption defaults if possible. $image_meta = wp_read_image_metadata( $file ); if ( $image_meta ) { if ( trim( $image_meta['title'] ) && ! is_numeric( sanitize_title( $image_meta['title'] ) ) ) { $title = $image_meta['title']; } if ( trim( $image_meta['caption'] ) ) { $content = $image_meta['caption']; } } if ( isset( $desc ) ) { $title = $desc; } // Construct the attachment array. $attachment = array_merge( array( 'post_mime_type' => $type, 'guid' => $url, 'post_parent' => $post_id, 'post_title' => $title, 'post_content' => $content, ), $post_data ); // This should never be set as it would then overwrite an existing attachment. unset( $attachment['ID'] ); // Save the attachment metadata. $attachment_id = wp_insert_attachment( $attachment, $file, $post_id, true ); if ( ! is_wp_error( $attachment_id ) ) { wp_update_attachment_metadata( $attachment_id, wp_generate_attachment_metadata( $attachment_id, $file ) ); } return $attachment_id; } /** * Outputs the iframe to display the media upload page. * * @since 2.5.0 * @since 5.3.0 Formalized the existing and already documented `...$args` parameter * by adding it to the function signature. * * @global string $body_id * * @param callable $content_func Function that outputs the content. * @param mixed ...$args Optional additional parameters to pass to the callback function when it's called. */ function wp_iframe( $content_func, ...$args ) { global $body_id; _wp_admin_html_begin(); ?> <title><?php bloginfo( 'name' ); ?> › <?php _e( 'Uploads' ); ?> — <?php _e( 'WordPress' ); ?></title> <?php wp_enqueue_style( 'colors' ); // Check callback name for 'media'. if ( ( is_array( $content_func ) && ! empty( $content_func[1] ) && str_starts_with( (string) $content_func[1], 'media' ) ) || ( ! is_array( $content_func ) && str_starts_with( $content_func, 'media' ) ) ) { wp_enqueue_style( 'deprecated-media' ); } ?> <script type="text/javascript"> addLoadEvent = function(func){if(typeof jQuery!=='undefined')jQuery(function(){func();});else if(typeof wpOnload!=='function'){wpOnload=func;}else{var oldonload=wpOnload;wpOnload=function(){oldonload();func();}}}; var ajaxurl = '<?php echo esc_js( admin_url( 'admin-ajax.php', 'relative' ) ); ?>', pagenow = 'media-upload-popup', adminpage = 'media-upload-popup', isRtl = <?php echo (int) is_rtl(); ?>; </script> <?php /** This action is documented in wp-admin/admin-header.php */ do_action( 'admin_enqueue_scripts', 'media-upload-popup' ); /** * Fires when admin styles enqueued for the legacy (pre-3.5.0) media upload popup are printed. * * @since 2.9.0 */ do_action( 'admin_print_styles-media-upload-popup' ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores /** This action is documented in wp-admin/admin-header.php */ do_action( 'admin_print_styles' ); /** * Fires when admin scripts enqueued for the legacy (pre-3.5.0) media upload popup are printed. * * @since 2.9.0 */ do_action( 'admin_print_scripts-media-upload-popup' ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores /** This action is documented in wp-admin/admin-header.php */ do_action( 'admin_print_scripts' ); /** * Fires when scripts enqueued for the admin header for the legacy (pre-3.5.0) * media upload popup are printed. * * @since 2.9.0 */ do_action( 'admin_head-media-upload-popup' ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores /** This action is documented in wp-admin/admin-header.php */ do_action( 'admin_head' ); if ( is_string( $content_func ) ) { /** * Fires in the admin header for each specific form tab in the legacy * (pre-3.5.0) media upload popup. * * The dynamic portion of the hook name, `$content_func`, refers to the form * callback for the media upload type. * * @since 2.5.0 */ do_action( "admin_head_{$content_func}" ); } $body_id_attr = ''; if ( isset( $body_id ) ) { $body_id_attr = ' id="' . $body_id . '"'; } ?> </head> <body<?php echo $body_id_attr; ?> class="wp-core-ui no-js"> <script type="text/javascript"> document.body.className = document.body.className.replace('no-js', 'js'); </script> <?php call_user_func_array( $content_func, $args ); /** This action is documented in wp-admin/admin-footer.php */ do_action( 'admin_print_footer_scripts' ); ?> <script type="text/javascript">if(typeof wpOnload==='function')wpOnload();</script> </body> </html> <?php } /** * Adds the media button to the editor. * * @since 2.5.0 * * @global int $post_ID * * @param string $editor_id */ function media_buttons( $editor_id = 'content' ) { static $instance = 0; ++$instance; $post = get_post(); if ( ! $post && ! empty( $GLOBALS['post_ID'] ) ) { $post = $GLOBALS['post_ID']; } wp_enqueue_media( array( 'post' => $post ) ); $img = '<span class="wp-media-buttons-icon"></span> '; $id_attribute = 1 === $instance ? ' id="insert-media-button"' : ''; printf( '<button type="button"%s class="button insert-media add_media" data-editor="%s">%s</button>', $id_attribute, esc_attr( $editor_id ), $img . __( 'Add Media' ) ); /** * Filters the legacy (pre-3.5.0) media buttons. * * Use {@see 'media_buttons'} action instead. * * @since 2.5.0 * @deprecated 3.5.0 Use {@see 'media_buttons'} action instead. * * @param string $string Media buttons context. Default empty. */ $legacy_filter = apply_filters_deprecated( 'media_buttons_context', array( '' ), '3.5.0', 'media_buttons' ); if ( $legacy_filter ) { // #WP22559. Close <a> if a plugin started by closing <a> to open their own <a> tag. if ( 0 === stripos( trim( $legacy_filter ), '</a>' ) ) { $legacy_filter .= '</a>'; } echo $legacy_filter; } } /** * Retrieves the upload iframe source URL. * * @since 3.0.0 * * @global int $post_ID * * @param string $type Media type. * @param int $post_id Post ID. * @param string $tab Media upload tab. * @return string Upload iframe source URL. */ function get_upload_iframe_src( $type = null, $post_id = null, $tab = null ) { global $post_ID; if ( empty( $post_id ) ) { $post_id = $post_ID; } $upload_iframe_src = add_query_arg( 'post_id', (int) $post_id, admin_url( 'media-upload.php' ) ); if ( $type && 'media' !== $type ) { $upload_iframe_src = add_query_arg( 'type', $type, $upload_iframe_src ); } if ( ! empty( $tab ) ) { $upload_iframe_src = add_query_arg( 'tab', $tab, $upload_iframe_src ); } /** * Filters the upload iframe source URL for a specific media type. * * The dynamic portion of the hook name, `$type`, refers to the type * of media uploaded. * * Possible hook names include: * * - `image_upload_iframe_src` * - `media_upload_iframe_src` * * @since 3.0.0 * * @param string $upload_iframe_src The upload iframe source URL. */ $upload_iframe_src = apply_filters( "{$type}_upload_iframe_src", $upload_iframe_src ); return add_query_arg( 'TB_iframe', true, $upload_iframe_src ); } /** * Handles form submissions for the legacy media uploader. * * @since 2.5.0 * * @return null|array|void Array of error messages keyed by attachment ID, null or void on success. */ function media_upload_form_handler() { check_admin_referer( 'media-form' ); $errors = null; if ( isset( $_POST['send'] ) ) { $keys = array_keys( $_POST['send'] ); $send_id = (int) reset( $keys ); } if ( ! empty( $_POST['attachments'] ) ) { foreach ( $_POST['attachments'] as $attachment_id => $attachment ) { $post = get_post( $attachment_id, ARRAY_A ); $_post = $post; if ( ! current_user_can( 'edit_post', $attachment_id ) ) { continue; } if ( isset( $attachment['post_content'] ) ) { $post['post_content'] = $attachment['post_content']; } if ( isset( $attachment['post_title'] ) ) { $post['post_title'] = $attachment['post_title']; } if ( isset( $attachment['post_excerpt'] ) ) { $post['post_excerpt'] = $attachment['post_excerpt']; } if ( isset( $attachment['menu_order'] ) ) { $post['menu_order'] = $attachment['menu_order']; } if ( isset( $send_id ) && $attachment_id == $send_id ) { if ( isset( $attachment['post_parent'] ) ) { $post['post_parent'] = $attachment['post_parent']; } } /** * Filters the attachment fields to be saved. * * @since 2.5.0 * * @see wp_get_attachment_metadata() * * @param array $post An array of post data. * @param array $attachment An array of attachment metadata. */ $post = apply_filters( 'attachment_fields_to_save', $post, $attachment ); if ( isset( $attachment['image_alt'] ) ) { $image_alt = wp_unslash( $attachment['image_alt'] ); if ( get_post_meta( $attachment_id, '_wp_attachment_image_alt', true ) !== $image_alt ) { $image_alt = wp_strip_all_tags( $image_alt, true ); // update_post_meta() expects slashed. update_post_meta( $attachment_id, '_wp_attachment_image_alt', wp_slash( $image_alt ) ); } } if ( isset( $post['errors'] ) ) { $errors[ $attachment_id ] = $post['errors']; unset( $post['errors'] ); } if ( $post != $_post ) { wp_update_post( $post ); } foreach ( get_attachment_taxonomies( $post ) as $t ) { if ( isset( $attachment[ $t ] ) ) { wp_set_object_terms( $attachment_id, array_map( 'trim', preg_split( '/,+/', $attachment[ $t ] ) ), $t, false ); } } } } if ( isset( $_POST['insert-gallery'] ) || isset( $_POST['update-gallery'] ) ) { ?> <script type="text/javascript"> var win = window.dialogArguments || opener || parent || top; win.tb_remove(); </script> <?php exit; } if ( isset( $send_id ) ) { $attachment = wp_unslash( $_POST['attachments'][ $send_id ] ); $html = isset( $attachment['post_title'] ) ? $attachment['post_title'] : ''; if ( ! empty( $attachment['url'] ) ) { $rel = ''; if ( str_contains( $attachment['url'], 'attachment_id' ) || get_attachment_link( $send_id ) === $attachment['url'] ) { $rel = " rel='attachment wp-att-" . esc_attr( $send_id ) . "'"; } $html = "<a href='{$attachment['url']}'$rel>$html</a>"; } /** * Filters the HTML markup for a media item sent to the editor. * * @since 2.5.0 * * @see wp_get_attachment_metadata() * * @param string $html HTML markup for a media item sent to the editor. * @param int $send_id The first key from the $_POST['send'] data. * @param array $attachment Array of attachment metadata. */ $html = apply_filters( 'media_send_to_editor', $html, $send_id, $attachment ); return media_send_to_editor( $html ); } return $errors; } /** * Handles the process of uploading media. * * @since 2.5.0 * * @return null|string */ function wp_media_upload_handler() { $errors = array(); $id = 0; if ( isset( $_POST['html-upload'] ) && ! empty( $_FILES ) ) { check_admin_referer( 'media-form' ); // Upload File button was clicked. $id = media_handle_upload( 'async-upload', $_REQUEST['post_id'] ); unset( $_FILES ); if ( is_wp_error( $id ) ) { $errors['upload_error'] = $id; $id = false; } } if ( ! empty( $_POST['insertonlybutton'] ) ) { $src = $_POST['src']; if ( ! empty( $src ) && ! strpos( $src, '://' ) ) { $src = "http://$src"; } if ( isset( $_POST['media_type'] ) && 'image' !== $_POST['media_type'] ) { $title = esc_html( wp_unslash( $_POST['title'] ) ); if ( empty( $title ) ) { $title = esc_html( wp_basename( $src ) ); } if ( $title && $src ) { $html = "<a href='" . esc_url( $src ) . "'>$title</a>"; } $type = 'file'; $ext = preg_replace( '/^.+?\.([^.]+)$/', '$1', $src ); if ( $ext ) { $ext_type = wp_ext2type( $ext ); if ( 'audio' === $ext_type || 'video' === $ext_type ) { $type = $ext_type; } } /** * Filters the URL sent to the editor for a specific media type. * * The dynamic portion of the hook name, `$type`, refers to the type * of media being sent. * * Possible hook names include: * * - `audio_send_to_editor_url` * - `file_send_to_editor_url` * - `video_send_to_editor_url` * * @since 3.3.0 * * @param string $html HTML markup sent to the editor. * @param string $src Media source URL. * @param string $title Media title. */ $html = apply_filters( "{$type}_send_to_editor_url", $html, sanitize_url( $src ), $title ); } else { $align = ''; $alt = esc_attr( wp_unslash( $_POST['alt'] ) ); if ( isset( $_POST['align'] ) ) { $align = esc_attr( wp_unslash( $_POST['align'] ) ); $class = " class='align$align'"; } if ( ! empty( $src ) ) { $html = "<img src='" . esc_url( $src ) . "' alt='$alt'$class />"; } /** * Filters the image URL sent to the editor. * * @since 2.8.0 * * @param string $html HTML markup sent to the editor for an image. * @param string $src Image source URL. * @param string $alt Image alternate, or alt, text. * @param string $align The image alignment. Default 'alignnone'. Possible values include * 'alignleft', 'aligncenter', 'alignright', 'alignnone'. */ $html = apply_filters( 'image_send_to_editor_url', $html, sanitize_url( $src ), $alt, $align ); } return media_send_to_editor( $html ); } if ( isset( $_POST['save'] ) ) { $errors['upload_notice'] = __( 'Saved.' ); wp_enqueue_script( 'admin-gallery' ); return wp_iframe( 'media_upload_gallery_form', $errors ); } elseif ( ! empty( $_POST ) ) { $return = media_upload_form_handler(); if ( is_string( $return ) ) { return $return; } if ( is_array( $return ) ) { $errors = $return; } } if ( isset( $_GET['tab'] ) && 'type_url' === $_GET['tab'] ) { $type = 'image'; if ( isset( $_GET['type'] ) && in_array( $_GET['type'], array( 'video', 'audio', 'file' ), true ) ) { $type = $_GET['type']; } return wp_iframe( 'media_upload_type_url_form', $type, $errors, $id ); } return wp_iframe( 'media_upload_type_form', 'image', $errors, $id ); } /** * Downloads an image from the specified URL, saves it as an attachment, and optionally attaches it to a post. * * @since 2.6.0 * @since 4.2.0 Introduced the `$return_type` parameter. * @since 4.8.0 Introduced the 'id' option for the `$return_type` parameter. * @since 5.3.0 The `$post_id` parameter was made optional. * @since 5.4.0 The original URL of the attachment is stored in the `_source_url` * post meta value. * @since 5.8.0 Added 'webp' to the default list of allowed file extensions. * * @param string $file The URL of the image to download. * @param int $post_id Optional. The post ID the media is to be associated with. * @param string $desc Optional. Description of the image. * @param string $return_type Optional. Accepts 'html' (image tag html) or 'src' (URL), * or 'id' (attachment ID). Default 'html'. * @return string|int|WP_Error Populated HTML img tag, attachment ID, or attachment source * on success, WP_Error object otherwise. */ function media_sideload_image( $file, $post_id = 0, $desc = null, $return_type = 'html' ) { if ( ! empty( $file ) ) { $allowed_extensions = array( 'jpg', 'jpeg', 'jpe', 'png', 'gif', 'webp' ); /** * Filters the list of allowed file extensions when sideloading an image from a URL. * * The default allowed extensions are: * * - `jpg` * - `jpeg` * - `jpe` * - `png` * - `gif` * - `webp` * * @since 5.6.0 * @since 5.8.0 Added 'webp' to the default list of allowed file extensions. * * @param string[] $allowed_extensions Array of allowed file extensions. * @param string $file The URL of the image to download. */ $allowed_extensions = apply_filters( 'image_sideload_extensions', $allowed_extensions, $file ); $allowed_extensions = array_map( 'preg_quote', $allowed_extensions ); // Set variables for storage, fix file filename for query strings. preg_match( '/[^\?]+\.(' . implode( '|', $allowed_extensions ) . ')\b/i', $file, $matches ); if ( ! $matches ) { return new WP_Error( 'image_sideload_failed', __( 'Invalid image URL.' ) ); } $file_array = array(); $file_array['name'] = wp_basename( $matches[0] ); // Download file to temp location. $file_array['tmp_name'] = download_url( $file ); // If error storing temporarily, return the error. if ( is_wp_error( $file_array['tmp_name'] ) ) { return $file_array['tmp_name']; } // Do the validation and storage stuff. $id = media_handle_sideload( $file_array, $post_id, $desc ); // If error storing permanently, unlink. if ( is_wp_error( $id ) ) { @unlink( $file_array['tmp_name'] ); return $id; } // Store the original attachment source in meta. add_post_meta( $id, '_source_url', $file ); // If attachment ID was requested, return it. if ( 'id' === $return_type ) { return $id; } $src = wp_get_attachment_url( $id ); } // Finally, check to make sure the file has been saved, then return the HTML. if ( ! empty( $src ) ) { if ( 'src' === $return_type ) { return $src; } $alt = isset( $desc ) ? esc_attr( $desc ) : ''; $html = "<img src='$src' alt='$alt' />"; return $html; } else { return new WP_Error( 'image_sideload_failed' ); } } /** * Retrieves the legacy media uploader form in an iframe. * * @since 2.5.0 * * @return string|null */ function media_upload_gallery() { $errors = array(); if ( ! empty( $_POST ) ) { $return = media_upload_form_handler(); if ( is_string( $return ) ) { return $return; } if ( is_array( $return ) ) { $errors = $return; } } wp_enqueue_script( 'admin-gallery' ); return wp_iframe( 'media_upload_gallery_form', $errors ); } /** * Retrieves the legacy media library form in an iframe. * * @since 2.5.0 * * @return string|null */ function media_upload_library() { $errors = array(); if ( ! empty( $_POST ) ) { $return = media_upload_form_handler(); if ( is_string( $return ) ) { return $return; } if ( is_array( $return ) ) { $errors = $return; } } return wp_iframe( 'media_upload_library_form', $errors ); } /** * Retrieves HTML for the image alignment radio buttons with the specified one checked. * * @since 2.7.0 * * @param WP_Post $post * @param string $checked * @return string */ function image_align_input_fields( $post, $checked = '' ) { if ( empty( $checked ) ) { $checked = get_user_setting( 'align', 'none' ); } $alignments = array( 'none' => __( 'None' ), 'left' => __( 'Left' ), 'center' => __( 'Center' ), 'right' => __( 'Right' ), ); if ( ! array_key_exists( (string) $checked, $alignments ) ) { $checked = 'none'; } $output = array(); foreach ( $alignments as $name => $label ) { $name = esc_attr( $name ); $output[] = "<input type='radio' name='attachments[{$post->ID}][align]' id='image-align-{$name}-{$post->ID}' value='$name'" . ( $checked == $name ? " checked='checked'" : '' ) . " /><label for='image-align-{$name}-{$post->ID}' class='align image-align-{$name}-label'>$label</label>"; } return implode( "\n", $output ); } /** * Retrieves HTML for the size radio buttons with the specified one checked. * * @since 2.7.0 * * @param WP_Post $post * @param bool|string $check * @return array */ function image_size_input_fields( $post, $check = '' ) { /** * Filters the names and labels of the default image sizes. * * @since 3.3.0 * * @param string[] $size_names Array of image size labels keyed by their name. Default values * include 'Thumbnail', 'Medium', 'Large', and 'Full Size'. */ $size_names = apply_filters( 'image_size_names_choose', array( 'thumbnail' => __( 'Thumbnail' ), 'medium' => __( 'Medium' ), 'large' => __( 'Large' ), 'full' => __( 'Full Size' ), ) ); if ( empty( $check ) ) { $check = get_user_setting( 'imgsize', 'medium' ); } $output = array(); foreach ( $size_names as $size => $label ) { $downsize = image_downsize( $post->ID, $size ); $checked = ''; // Is this size selectable? $enabled = ( $downsize[3] || 'full' === $size ); $css_id = "image-size-{$size}-{$post->ID}"; // If this size is the default but that's not available, don't select it. if ( $size == $check ) { if ( $enabled ) { $checked = " checked='checked'"; } else { $check = ''; } } elseif ( ! $check && $enabled && 'thumbnail' !== $size ) { /* * If $check is not enabled, default to the first available size * that's bigger than a thumbnail. */ $check = $size; $checked = " checked='checked'"; } $html = "<div class='image-size-item'><input type='radio' " . disabled( $enabled, false, false ) . "name='attachments[$post->ID][image-size]' id='{$css_id}' value='{$size}'$checked />"; $html .= "<label for='{$css_id}'>$label</label>"; // Only show the dimensions if that choice is available. if ( $enabled ) { $html .= " <label for='{$css_id}' class='help'>" . sprintf( '(%d × %d)', $downsize[1], $downsize[2] ) . '</label>'; } $html .= '</div>'; $output[] = $html; } return array( 'label' => __( 'Size' ), 'input' => 'html', 'html' => implode( "\n", $output ), ); } /** * Retrieves HTML for the Link URL buttons with the default link type as specified. * * @since 2.7.0 * * @param WP_Post $post * @param string $url_type * @return string */ function image_link_input_fields( $post, $url_type = '' ) { $file = wp_get_attachment_url( $post->ID ); $link = get_attachment_link( $post->ID ); if ( empty( $url_type ) ) { $url_type = get_user_setting( 'urlbutton', 'post' ); } $url = ''; if ( 'file' === $url_type ) { $url = $file; } elseif ( 'post' === $url_type ) { $url = $link; } return " <input type='text' class='text urlfield' name='attachments[$post->ID][url]' value='" . esc_attr( $url ) . "' /><br /> <button type='button' class='button urlnone' data-link-url=''>" . __( 'None' ) . "</button> <button type='button' class='button urlfile' data-link-url='" . esc_url( $file ) . "'>" . __( 'File URL' ) . "</button> <button type='button' class='button urlpost' data-link-url='" . esc_url( $link ) . "'>" . __( 'Attachment Post URL' ) . '</button> '; } /** * Outputs a textarea element for inputting an attachment caption. * * @since 3.4.0 * * @param WP_Post $edit_post Attachment WP_Post object. * @return string HTML markup for the textarea element. */ function wp_caption_input_textarea( $edit_post ) { // Post data is already escaped. $name = "attachments[{$edit_post->ID}][post_excerpt]"; return '<textarea name="' . $name . '" id="' . $name . '">' . $edit_post->post_excerpt . '</textarea>'; } /** * Retrieves the image attachment fields to edit form fields. * * @since 2.5.0 * * @param array $form_fields * @param object $post * @return array */ function image_attachment_fields_to_edit( $form_fields, $post ) { return $form_fields; } /** * Retrieves the single non-image attachment fields to edit form fields. * * @since 2.5.0 * * @param array $form_fields An array of attachment form fields. * @param WP_Post $post The WP_Post attachment object. * @return array Filtered attachment form fields. */ function media_single_attachment_fields_to_edit( $form_fields, $post ) { unset( $form_fields['url'], $form_fields['align'], $form_fields['image-size'] ); return $form_fields; } /** * Retrieves the post non-image attachment fields to edit form fields. * * @since 2.8.0 * * @param array $form_fields An array of attachment form fields. * @param WP_Post $post The WP_Post attachment object. * @return array Filtered attachment form fields. */ function media_post_single_attachment_fields_to_edit( $form_fields, $post ) { unset( $form_fields['image_url'] ); return $form_fields; } /** * Retrieves the media element HTML to send to the editor. * * @since 2.5.0 * * @param string $html * @param int $attachment_id * @param array $attachment * @return string */ function image_media_send_to_editor( $html, $attachment_id, $attachment ) { $post = get_post( $attachment_id ); if ( str_starts_with( $post->post_mime_type, 'image' ) ) { $url = $attachment['url']; $align = ! empty( $attachment['align'] ) ? $attachment['align'] : 'none'; $size = ! empty( $attachment['image-size'] ) ? $attachment['image-size'] : 'medium'; $alt = ! empty( $attachment['image_alt'] ) ? $attachment['image_alt'] : ''; $rel = ( str_contains( $url, 'attachment_id' ) || get_attachment_link( $attachment_id ) === $url ); return get_image_send_to_editor( $attachment_id, $attachment['post_excerpt'], $attachment['post_title'], $align, $url, $rel, $size, $alt ); } return $html; } /** * Retrieves the attachment fields to edit form fields. * * @since 2.5.0 * * @param WP_Post $post * @param array $errors * @return array */ function get_attachment_fields_to_edit( $post, $errors = null ) { if ( is_int( $post ) ) { $post = get_post( $post ); } if ( is_array( $post ) ) { $post = new WP_Post( (object) $post ); } $image_url = wp_get_attachment_url( $post->ID ); $edit_post = sanitize_post( $post, 'edit' ); $form_fields = array( 'post_title' => array( 'label' => __( 'Title' ), 'value' => $edit_post->post_title, ), 'image_alt' => array(), 'post_excerpt' => array( 'label' => __( 'Caption' ), 'input' => 'html', 'html' => wp_caption_input_textarea( $edit_post ), ), 'post_content' => array( 'label' => __( 'Description' ), 'value' => $edit_post->post_content, 'input' => 'textarea', ), 'url' => array( 'label' => __( 'Link URL' ), 'input' => 'html', 'html' => image_link_input_fields( $post, get_option( 'image_default_link_type' ) ), 'helps' => __( 'Enter a link URL or click above for presets.' ), ), 'menu_order' => array( 'label' => __( 'Order' ), 'value' => $edit_post->menu_order, ), 'image_url' => array( 'label' => __( 'File URL' ), 'input' => 'html', 'html' => "<input type='text' class='text urlfield' readonly='readonly' name='attachments[$post->ID][url]' value='" . esc_attr( $image_url ) . "' /><br />", 'value' => wp_get_attachment_url( $post->ID ), 'helps' => __( 'Location of the uploaded file.' ), ), ); foreach ( get_attachment_taxonomies( $post ) as $taxonomy ) { $t = (array) get_taxonomy( $taxonomy ); if ( ! $t['public'] || ! $t['show_ui'] ) { continue; } if ( empty( $t['label'] ) ) { $t['label'] = $taxonomy; } if ( empty( $t['args'] ) ) { $t['args'] = array(); } $terms = get_object_term_cache( $post->ID, $taxonomy ); if ( false === $terms ) { $terms = wp_get_object_terms( $post->ID, $taxonomy, $t['args'] ); } $values = array(); foreach ( $terms as $term ) { $values[] = $term->slug; } $t['value'] = implode( ', ', $values ); $form_fields[ $taxonomy ] = $t; } /* * Merge default fields with their errors, so any key passed with the error * (e.g. 'error', 'helps', 'value') will replace the default. * The recursive merge is easily traversed with array casting: * foreach ( (array) $things as $thing ) */ $form_fields = array_merge_recursive( $form_fields, (array) $errors ); // This was formerly in image_attachment_fields_to_edit(). if ( str_starts_with( $post->post_mime_type, 'image' ) ) { $alt = get_post_meta( $post->ID, '_wp_attachment_image_alt', true ); if ( empty( $alt ) ) { $alt = ''; } $form_fields['post_title']['required'] = true; $form_fields['image_alt'] = array( 'value' => $alt, 'label' => __( 'Alternative Text' ), 'helps' => __( 'Alt text for the image, e.g. “The Mona Lisa”' ), ); $form_fields['align'] = array( 'label' => __( 'Alignment' ), 'input' => 'html', 'html' => image_align_input_fields( $post, get_option( 'image_default_align' ) ), ); $form_fields['image-size'] = image_size_input_fields( $post, get_option( 'image_default_size', 'medium' ) ); } else { unset( $form_fields['image_alt'] ); } /** * Filters the attachment fields to edit. * * @since 2.5.0 * * @param array $form_fields An array of attachment form fields. * @param WP_Post $post The WP_Post attachment object. */ $form_fields = apply_filters( 'attachment_fields_to_edit', $form_fields, $post ); return $form_fields; } /** * Retrieves HTML for media items of post gallery. * * The HTML markup retrieved will be created for the progress of SWF Upload * component. Will also create link for showing and hiding the form to modify * the image attachment. * * @since 2.5.0 * * @global WP_Query $wp_the_query WordPress Query object. * * @param int $post_id Post ID. * @param array $errors Errors for attachment, if any. * @return string HTML content for media items of post gallery. */ function get_media_items( $post_id, $errors ) { $attachments = array(); if ( $post_id ) { $post = get_post( $post_id ); if ( $post && 'attachment' === $post->post_type ) { $attachments = array( $post->ID => $post ); } else { $attachments = get_children( array( 'post_parent' => $post_id, 'post_type' => 'attachment', 'orderby' => 'menu_order ASC, ID', 'order' => 'DESC', ) ); } } else { if ( is_array( $GLOBALS['wp_the_query']->posts ) ) { foreach ( $GLOBALS['wp_the_query']->posts as $attachment ) { $attachments[ $attachment->ID ] = $attachment; } } } $output = ''; foreach ( (array) $attachments as $id => $attachment ) { if ( 'trash' === $attachment->post_status ) { continue; } $item = get_media_item( $id, array( 'errors' => isset( $errors[ $id ] ) ? $errors[ $id ] : null ) ); if ( $item ) { $output .= "\n<div id='media-item-$id' class='media-item child-of-$attachment->post_parent preloaded'><div class='progress hidden'><div class='bar'></div></div><div id='media-upload-error-$id' class='hidden'></div><div class='filename hidden'></div>$item\n</div>"; } } return $output; } /** * Retrieves HTML form for modifying the image attachment. * * @since 2.5.0 * * @global string $redir_tab * * @param int $attachment_id Attachment ID for modification. * @param string|array $args Optional. Override defaults. * @return string HTML form for attachment. */ function get_media_item( $attachment_id, $args = null ) { global $redir_tab; $thumb_url = false; $attachment_id = (int) $attachment_id; if ( $attachment_id ) { $thumb_url = wp_get_attachment_image_src( $attachment_id, 'thumbnail', true ); if ( $thumb_url ) { $thumb_url = $thumb_url[0]; } } $post = get_post( $attachment_id ); $current_post_id = ! empty( $_GET['post_id'] ) ? (int) $_GET['post_id'] : 0; $default_args = array( 'errors' => null, 'send' => $current_post_id ? post_type_supports( get_post_type( $current_post_id ), 'editor' ) : true, 'delete' => true, 'toggle' => true, 'show_title' => true, ); $parsed_args = wp_parse_args( $args, $default_args ); /** * Filters the arguments used to retrieve an image for the edit image form. * * @since 3.1.0 * * @see get_media_item * * @param array $parsed_args An array of arguments. */ $parsed_args = apply_filters( 'get_media_item_args', $parsed_args ); $toggle_on = __( 'Show' ); $toggle_off = __( 'Hide' ); $file = get_attached_file( $post->ID ); $filename = esc_html( wp_basename( $file ) ); $title = esc_attr( $post->post_title ); $post_mime_types = get_post_mime_types(); $keys = array_keys( wp_match_mime_types( array_keys( $post_mime_types ), $post->post_mime_type ) ); $type = reset( $keys ); $type_html = "<input type='hidden' id='type-of-$attachment_id' value='" . esc_attr( $type ) . "' />"; $form_fields = get_attachment_fields_to_edit( $post, $parsed_args['errors'] ); if ( $parsed_args['toggle'] ) { $class = empty( $parsed_args['errors'] ) ? 'startclosed' : 'startopen'; $toggle_links = " <a class='toggle describe-toggle-on' href='#'>$toggle_on</a> <a class='toggle describe-toggle-off' href='#'>$toggle_off</a>"; } else { $class = ''; $toggle_links = ''; } $display_title = ( ! empty( $title ) ) ? $title : $filename; // $title shouldn't ever be empty, but just in case. $display_title = $parsed_args['show_title'] ? "<div class='filename new'><span class='title'>" . wp_html_excerpt( $display_title, 60, '…' ) . '</span></div>' : ''; $gallery = ( ( isset( $_REQUEST['tab'] ) && 'gallery' === $_REQUEST['tab'] ) || ( isset( $redir_tab ) && 'gallery' === $redir_tab ) ); $order = ''; foreach ( $form_fields as $key => $val ) { if ( 'menu_order' === $key ) { if ( $gallery ) { $order = "<div class='menu_order'> <input class='menu_order_input' type='text' id='attachments[$attachment_id][menu_order]' name='attachments[$attachment_id][menu_order]' value='" . esc_attr( $val['value'] ) . "' /></div>"; } else { $order = "<input type='hidden' name='attachments[$attachment_id][menu_order]' value='" . esc_attr( $val['value'] ) . "' />"; } unset( $form_fields['menu_order'] ); break; } } $media_dims = ''; $meta = wp_get_attachment_metadata( $post->ID ); if ( isset( $meta['width'], $meta['height'] ) ) { /* translators: 1: A number of pixels wide, 2: A number of pixels tall. */ $media_dims .= "<span id='media-dims-$post->ID'>" . sprintf( __( '%1$s by %2$s pixels' ), $meta['width'], $meta['height'] ) . '</span>'; } /** * Filters the media metadata. * * @since 2.5.0 * * @param string $media_dims The HTML markup containing the media dimensions. * @param WP_Post $post The WP_Post attachment object. */ $media_dims = apply_filters( 'media_meta', $media_dims, $post ); $image_edit_button = ''; if ( wp_attachment_is_image( $post->ID ) && wp_image_editor_supports( array( 'mime_type' => $post->post_mime_type ) ) ) { $nonce = wp_create_nonce( "image_editor-$post->ID" ); $image_edit_button = "<input type='button' id='imgedit-open-btn-$post->ID' onclick='imageEdit.open( $post->ID, \"$nonce\" )' class='button' value='" . esc_attr__( 'Edit Image' ) . "' /> <span class='spinner'></span>"; } $attachment_url = get_permalink( $attachment_id ); $item = " $type_html $toggle_links $order $display_title <table class='slidetoggle describe $class'> <thead class='media-item-info' id='media-head-$post->ID'> <tr> <td class='A1B1' id='thumbnail-head-$post->ID'> <p><a href='$attachment_url' target='_blank'><img class='thumbnail' src='$thumb_url' alt='' /></a></p> <p>$image_edit_button</p> </td> <td> <p><strong>" . __( 'File name:' ) . "</strong> $filename</p> <p><strong>" . __( 'File type:' ) . "</strong> $post->post_mime_type</p> <p><strong>" . __( 'Upload date:' ) . '</strong> ' . mysql2date( __( 'F j, Y' ), $post->post_date ) . '</p>'; if ( ! empty( $media_dims ) ) { $item .= '<p><strong>' . __( 'Dimensions:' ) . "</strong> $media_dims</p>\n"; } $item .= "</td></tr>\n"; $item .= " </thead> <tbody> <tr><td colspan='2' class='imgedit-response' id='imgedit-response-$post->ID'></td></tr>\n <tr><td style='display:none' colspan='2' class='image-editor' id='image-editor-$post->ID'></td></tr>\n <tr><td colspan='2'><p class='media-types media-types-required-info'>" . wp_required_field_message() . "</p></td></tr>\n"; $defaults = array( 'input' => 'text', 'required' => false, 'value' => '', 'extra_rows' => array(), ); if ( $parsed_args['send'] ) { $parsed_args['send'] = get_submit_button( __( 'Insert into Post' ), '', "send[$attachment_id]", false ); } $delete = empty( $parsed_args['delete'] ) ? '' : $parsed_args['delete']; if ( $delete && current_user_can( 'delete_post', $attachment_id ) ) { if ( ! EMPTY_TRASH_DAYS ) { $delete = "<a href='" . wp_nonce_url( "post.php?action=delete&post=$attachment_id", 'delete-post_' . $attachment_id ) . "' id='del[$attachment_id]' class='delete-permanently'>" . __( 'Delete Permanently' ) . '</a>'; } elseif ( ! MEDIA_TRASH ) { $delete = "<a href='#' class='del-link' onclick=\"document.getElementById('del_attachment_$attachment_id').style.display='block';return false;\">" . __( 'Delete' ) . "</a> <div id='del_attachment_$attachment_id' class='del-attachment' style='display:none;'>" . /* translators: %s: File name. */ '<p>' . sprintf( __( 'You are about to delete %s.' ), '<strong>' . $filename . '</strong>' ) . "</p> <a href='" . wp_nonce_url( "post.php?action=delete&post=$attachment_id", 'delete-post_' . $attachment_id ) . "' id='del[$attachment_id]' class='button'>" . __( 'Continue' ) . "</a> <a href='#' class='button' onclick=\"this.parentNode.style.display='none';return false;\">" . __( 'Cancel' ) . '</a> </div>'; } else { $delete = "<a href='" . wp_nonce_url( "post.php?action=trash&post=$attachment_id", 'trash-post_' . $attachment_id ) . "' id='del[$attachment_id]' class='delete'>" . __( 'Move to Trash' ) . "</a> <a href='" . wp_nonce_url( "post.php?action=untrash&post=$attachment_id", 'untrash-post_' . $attachment_id ) . "' id='undo[$attachment_id]' class='undo hidden'>" . __( 'Undo' ) . '</a>'; } } else { $delete = ''; } $thumbnail = ''; $calling_post_id = 0; if ( isset( $_GET['post_id'] ) ) { $calling_post_id = absint( $_GET['post_id'] ); } elseif ( isset( $_POST ) && count( $_POST ) ) {// Like for async-upload where $_GET['post_id'] isn't set. $calling_post_id = $post->post_parent; } if ( 'image' === $type && $calling_post_id && current_theme_supports( 'post-thumbnails', get_post_type( $calling_post_id ) ) && post_type_supports( get_post_type( $calling_post_id ), 'thumbnail' ) && get_post_thumbnail_id( $calling_post_id ) != $attachment_id ) { $calling_post = get_post( $calling_post_id ); $calling_post_type_object = get_post_type_object( $calling_post->post_type ); $ajax_nonce = wp_create_nonce( "set_post_thumbnail-$calling_post_id" ); $thumbnail = "<a class='wp-post-thumbnail' id='wp-post-thumbnail-" . $attachment_id . "' href='#' onclick='WPSetAsThumbnail(\"$attachment_id\", \"$ajax_nonce\");return false;'>" . esc_html( $calling_post_type_object->labels->use_featured_image ) . '</a>'; } if ( ( $parsed_args['send'] || $thumbnail || $delete ) && ! isset( $form_fields['buttons'] ) ) { $form_fields['buttons'] = array( 'tr' => "\t\t<tr class='submit'><td></td><td class='savesend'>" . $parsed_args['send'] . " $thumbnail $delete</td></tr>\n" ); } $hidden_fields = array(); foreach ( $form_fields as $id => $field ) { if ( '_' === $id[0] ) { continue; } if ( ! empty( $field['tr'] ) ) { $item .= $field['tr']; continue; } $field = array_merge( $defaults, $field ); $name = "attachments[$attachment_id][$id]"; if ( 'hidden' === $field['input'] ) { $hidden_fields[ $name ] = $field['value']; continue; } $required = $field['required'] ? ' ' . wp_required_field_indicator() : ''; $required_attr = $field['required'] ? ' required' : ''; $class = $id; $class .= $field['required'] ? ' form-required' : ''; $item .= "\t\t<tr class='$class'>\n\t\t\t<th scope='row' class='label'><label for='$name'><span class='alignleft'>{$field['label']}{$required}</span><br class='clear' /></label></th>\n\t\t\t<td class='field'>"; if ( ! empty( $field[ $field['input'] ] ) ) { $item .= $field[ $field['input'] ]; } elseif ( 'textarea' === $field['input'] ) { if ( 'post_content' === $id && user_can_richedit() ) { // Sanitize_post() skips the post_content when user_can_richedit. $field['value'] = htmlspecialchars( $field['value'], ENT_QUOTES ); } // Post_excerpt is already escaped by sanitize_post() in get_attachment_fields_to_edit(). $item .= "<textarea id='$name' name='$name'{$required_attr}>" . $field['value'] . '</textarea>'; } else { $item .= "<input type='text' class='text' id='$name' name='$name' value='" . esc_attr( $field['value'] ) . "'{$required_attr} />"; } if ( ! empty( $field['helps'] ) ) { $item .= "<p class='help'>" . implode( "</p>\n<p class='help'>", array_unique( (array) $field['helps'] ) ) . '</p>'; } $item .= "</td>\n\t\t</tr>\n"; $extra_rows = array(); if ( ! empty( $field['errors'] ) ) { foreach ( array_unique( (array) $field['errors'] ) as $error ) { $extra_rows['error'][] = $error; } } if ( ! empty( $field['extra_rows'] ) ) { foreach ( $field['extra_rows'] as $class => $rows ) { foreach ( (array) $rows as $html ) { $extra_rows[ $class ][] = $html; } } } foreach ( $extra_rows as $class => $rows ) { foreach ( $rows as $html ) { $item .= "\t\t<tr><td></td><td class='$class'>$html</td></tr>\n"; } } } if ( ! empty( $form_fields['_final'] ) ) { $item .= "\t\t<tr class='final'><td colspan='2'>{$form_fields['_final']}</td></tr>\n"; } $item .= "\t</tbody>\n"; $item .= "\t</table>\n"; foreach ( $hidden_fields as $name => $value ) { $item .= "\t<input type='hidden' name='$name' id='$name' value='" . esc_attr( $value ) . "' />\n"; } if ( $post->post_parent < 1 && isset( $_REQUEST['post_id'] ) ) { $parent = (int) $_REQUEST['post_id']; $parent_name = "attachments[$attachment_id][post_parent]"; $item .= "\t<input type='hidden' name='$parent_name' id='$parent_name' value='$parent' />\n"; } return $item; } /** * @since 3.5.0 * * @param int $attachment_id * @param array $args * @return array */ function get_compat_media_markup( $attachment_id, $args = null ) { $post = get_post( $attachment_id ); $default_args = array( 'errors' => null, 'in_modal' => false, ); $user_can_edit = current_user_can( 'edit_post', $attachment_id ); $args = wp_parse_args( $args, $default_args ); /** This filter is documented in wp-admin/includes/media.php */ $args = apply_filters( 'get_media_item_args', $args ); $form_fields = array(); if ( $args['in_modal'] ) { foreach ( get_attachment_taxonomies( $post ) as $taxonomy ) { $t = (array) get_taxonomy( $taxonomy ); if ( ! $t['public'] || ! $t['show_ui'] ) { continue; } if ( empty( $t['label'] ) ) { $t['label'] = $taxonomy; } if ( empty( $t['args'] ) ) { $t['args'] = array(); } $terms = get_object_term_cache( $post->ID, $taxonomy ); if ( false === $terms ) { $terms = wp_get_object_terms( $post->ID, $taxonomy, $t['args'] ); } $values = array(); foreach ( $terms as $term ) { $values[] = $term->slug; } $t['value'] = implode( ', ', $values ); $t['taxonomy'] = true; $form_fields[ $taxonomy ] = $t; } } /* * Merge default fields with their errors, so any key passed with the error * (e.g. 'error', 'helps', 'value') will replace the default. * The recursive merge is easily traversed with array casting: * foreach ( (array) $things as $thing ) */ $form_fields = array_merge_recursive( $form_fields, (array) $args['errors'] ); /** This filter is documented in wp-admin/includes/media.php */ $form_fields = apply_filters( 'attachment_fields_to_edit', $form_fields, $post ); unset( $form_fields['image-size'], $form_fields['align'], $form_fields['image_alt'], $form_fields['post_title'], $form_fields['post_excerpt'], $form_fields['post_content'], $form_fields['url'], $form_fields['menu_order'], $form_fields['image_url'] ); /** This filter is documented in wp-admin/includes/media.php */ $media_meta = apply_filters( 'media_meta', '', $post ); $defaults = array( 'input' => 'text', 'required' => false, 'value' => '', 'extra_rows' => array(), 'show_in_edit' => true, 'show_in_modal' => true, ); $hidden_fields = array(); $item = ''; foreach ( $form_fields as $id => $field ) { if ( '_' === $id[0] ) { continue; } $name = "attachments[$attachment_id][$id]"; $id_attr = "attachments-$attachment_id-$id"; if ( ! empty( $field['tr'] ) ) { $item .= $field['tr']; continue; } $field = array_merge( $defaults, $field ); if ( ( ! $field['show_in_edit'] && ! $args['in_modal'] ) || ( ! $field['show_in_modal'] && $args['in_modal'] ) ) { continue; } if ( 'hidden' === $field['input'] ) { $hidden_fields[ $name ] = $field['value']; continue; } $readonly = ! $user_can_edit && ! empty( $field['taxonomy'] ) ? " readonly='readonly' " : ''; $required = $field['required'] ? ' ' . wp_required_field_indicator() : ''; $required_attr = $field['required'] ? ' required' : ''; $class = 'compat-field-' . $id; $class .= $field['required'] ? ' form-required' : ''; $item .= "\t\t<tr class='$class'>"; $item .= "\t\t\t<th scope='row' class='label'><label for='$id_attr'><span class='alignleft'>{$field['label']}</span>$required<br class='clear' /></label>"; $item .= "</th>\n\t\t\t<td class='field'>"; if ( ! empty( $field[ $field['input'] ] ) ) { $item .= $field[ $field['input'] ]; } elseif ( 'textarea' === $field['input'] ) { if ( 'post_content' === $id && user_can_richedit() ) { // sanitize_post() skips the post_content when user_can_richedit. $field['value'] = htmlspecialchars( $field['value'], ENT_QUOTES ); } $item .= "<textarea id='$id_attr' name='$name'{$required_attr}>" . $field['value'] . '</textarea>'; } else { $item .= "<input type='text' class='text' id='$id_attr' name='$name' value='" . esc_attr( $field['value'] ) . "' $readonly{$required_attr} />"; } if ( ! empty( $field['helps'] ) ) { $item .= "<p class='help'>" . implode( "</p>\n<p class='help'>", array_unique( (array) $field['helps'] ) ) . '</p>'; } $item .= "</td>\n\t\t</tr>\n"; $extra_rows = array(); if ( ! empty( $field['errors'] ) ) { foreach ( array_unique( (array) $field['errors'] ) as $error ) { $extra_rows['error'][] = $error; } } if ( ! empty( $field['extra_rows'] ) ) { foreach ( $field['extra_rows'] as $class => $rows ) { foreach ( (array) $rows as $html ) { $extra_rows[ $class ][] = $html; } } } foreach ( $extra_rows as $class => $rows ) { foreach ( $rows as $html ) { $item .= "\t\t<tr><td></td><td class='$class'>$html</td></tr>\n"; } } } if ( ! empty( $form_fields['_final'] ) ) { $item .= "\t\t<tr class='final'><td colspan='2'>{$form_fields['_final']}</td></tr>\n"; } if ( $item ) { $item = '<p class="media-types media-types-required-info">' . wp_required_field_message() . '</p>' . '<table class="compat-attachment-fields">' . $item . '</table>'; } foreach ( $hidden_fields as $hidden_field => $value ) { $item .= '<input type="hidden" name="' . esc_attr( $hidden_field ) . '" value="' . esc_attr( $value ) . '" />' . "\n"; } if ( $item ) { $item = '<input type="hidden" name="attachments[' . $attachment_id . '][menu_order]" value="' . esc_attr( $post->menu_order ) . '" />' . $item; } return array( 'item' => $item, 'meta' => $media_meta, ); } /** * Outputs the legacy media upload header. * * @since 2.5.0 */ function media_upload_header() { $post_id = isset( $_REQUEST['post_id'] ) ? (int) $_REQUEST['post_id'] : 0; echo '<script type="text/javascript">post_id = ' . $post_id . ';</script>'; if ( empty( $_GET['chromeless'] ) ) { echo '<div id="media-upload-header">'; the_media_upload_tabs(); echo '</div>'; } } /** * Outputs the legacy media upload form. * * @since 2.5.0 * * @global string $type * @global string $tab * * @param array $errors */ function media_upload_form( $errors = null ) { global $type, $tab; if ( ! _device_can_upload() ) { echo '<p>' . sprintf( /* translators: %s: https://apps.wordpress.org/ */ __( 'The web browser on your device cannot be used to upload files. You may be able to use the <a href="%s">native app for your device</a> instead.' ), 'https://apps.wordpress.org/' ) . '</p>'; return; } $upload_action_url = admin_url( 'async-upload.php' ); $post_id = isset( $_REQUEST['post_id'] ) ? (int) $_REQUEST['post_id'] : 0; $_type = isset( $type ) ? $type : ''; $_tab = isset( $tab ) ? $tab : ''; $max_upload_size = wp_max_upload_size(); if ( ! $max_upload_size ) { $max_upload_size = 0; } ?> <div id="media-upload-notice"> <?php if ( isset( $errors['upload_notice'] ) ) { echo $errors['upload_notice']; } ?> </div> <div id="media-upload-error"> <?php if ( isset( $errors['upload_error'] ) && is_wp_error( $errors['upload_error'] ) ) { echo $errors['upload_error']->get_error_message(); } ?> </div> <?php if ( is_multisite() && ! is_upload_space_available() ) { /** * Fires when an upload will exceed the defined upload space quota for a network site. * * @since 3.5.0 */ do_action( 'upload_ui_over_quota' ); return; } /** * Fires just before the legacy (pre-3.5.0) upload interface is loaded. * * @since 2.6.0 */ do_action( 'pre-upload-ui' ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores $post_params = array( 'post_id' => $post_id, '_wpnonce' => wp_create_nonce( 'media-form' ), 'type' => $_type, 'tab' => $_tab, 'short' => '1', ); /** * Filters the media upload post parameters. * * @since 3.1.0 As 'swfupload_post_params' * @since 3.3.0 * * @param array $post_params An array of media upload parameters used by Plupload. */ $post_params = apply_filters( 'upload_post_params', $post_params ); /* * Since 4.9 the `runtimes` setting is hardcoded in our version of Plupload to `html5,html4`, * and the `flash_swf_url` and `silverlight_xap_url` are not used. */ $plupload_init = array( 'browse_button' => 'plupload-browse-button', 'container' => 'plupload-upload-ui', 'drop_element' => 'drag-drop-area', 'file_data_name' => 'async-upload', 'url' => $upload_action_url, 'filters' => array( 'max_file_size' => $max_upload_size . 'b' ), 'multipart_params' => $post_params, ); /* * Currently only iOS Safari supports multiple files uploading, * but iOS 7.x has a bug that prevents uploading of videos when enabled. * See #29602. */ if ( wp_is_mobile() && str_contains( $_SERVER['HTTP_USER_AGENT'], 'OS 7_' ) && str_contains( $_SERVER['HTTP_USER_AGENT'], 'like Mac OS X' ) ) { $plupload_init['multi_selection'] = false; } // Check if WebP images can be edited. if ( ! wp_image_editor_supports( array( 'mime_type' => 'image/webp' ) ) ) { $plupload_init['webp_upload_error'] = true; } // Check if AVIF images can be edited. if ( ! wp_image_editor_supports( array( 'mime_type' => 'image/avif' ) ) ) { $plupload_init['avif_upload_error'] = true; } /** * Filters the default Plupload settings. * * @since 3.3.0 * * @param array $plupload_init An array of default settings used by Plupload. */ $plupload_init = apply_filters( 'plupload_init', $plupload_init ); ?> <script type="text/javascript"> <?php // Verify size is an int. If not return default value. $large_size_h = absint( get_option( 'large_size_h' ) ); if ( ! $large_size_h ) { $large_size_h = 1024; } $large_size_w = absint( get_option( 'large_size_w' ) ); if ( ! $large_size_w ) { $large_size_w = 1024; } ?> var resize_height = <?php echo $large_size_h; ?>, resize_width = <?php echo $large_size_w; ?>, wpUploaderInit = <?php echo wp_json_encode( $plupload_init ); ?>; </script> <div id="plupload-upload-ui" class="hide-if-no-js"> <?php /** * Fires before the upload interface loads. * * @since 2.6.0 As 'pre-flash-upload-ui' * @since 3.3.0 */ do_action( 'pre-plupload-upload-ui' ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores ?> <div id="drag-drop-area"> <div class="drag-drop-inside"> <p class="drag-drop-info"><?php _e( 'Drop files to upload' ); ?></p> <p><?php _ex( 'or', 'Uploader: Drop files here - or - Select Files' ); ?></p> <p class="drag-drop-buttons"><input id="plupload-browse-button" type="button" value="<?php esc_attr_e( 'Select Files' ); ?>" class="button" /></p> </div> </div> <?php /** * Fires after the upload interface loads. * * @since 2.6.0 As 'post-flash-upload-ui' * @since 3.3.0 */ do_action( 'post-plupload-upload-ui' ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores ?> </div> <div id="html-upload-ui" class="hide-if-js"> <?php /** * Fires before the upload button in the media upload interface. * * @since 2.6.0 */ do_action( 'pre-html-upload-ui' ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores ?> <p id="async-upload-wrap"> <label class="screen-reader-text" for="async-upload"> <?php /* translators: Hidden accessibility text. */ _e( 'Upload' ); ?> </label> <input type="file" name="async-upload" id="async-upload" /> <?php submit_button( __( 'Upload' ), 'primary', 'html-upload', false ); ?> <a href="#" onclick="try{top.tb_remove();}catch(e){}; return false;"><?php _e( 'Cancel' ); ?></a> </p> <div class="clear"></div> <?php /** * Fires after the upload button in the media upload interface. * * @since 2.6.0 */ do_action( 'post-html-upload-ui' ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores ?> </div> <p class="max-upload-size"> <?php /* translators: %s: Maximum allowed file size. */ printf( __( 'Maximum upload file size: %s.' ), esc_html( size_format( $max_upload_size ) ) ); ?> </p> <?php /** * Fires on the post upload UI screen. * * Legacy (pre-3.5.0) media workflow hook. * * @since 2.6.0 */ do_action( 'post-upload-ui' ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores } /** * Outputs the legacy media upload form for a given media type. * * @since 2.5.0 * * @param string $type * @param array $errors * @param int|WP_Error $id */ function media_upload_type_form( $type = 'file', $errors = null, $id = null ) { media_upload_header(); $post_id = isset( $_REQUEST['post_id'] ) ? (int) $_REQUEST['post_id'] : 0; $form_action_url = admin_url( "media-upload.php?type=$type&tab=type&post_id=$post_id" ); /** * Filters the media upload form action URL. * * @since 2.6.0 * * @param string $form_action_url The media upload form action URL. * @param string $type The type of media. Default 'file'. */ $form_action_url = apply_filters( 'media_upload_form_url', $form_action_url, $type ); $form_class = 'media-upload-form type-form validate'; if ( get_user_setting( 'uploader' ) ) { $form_class .= ' html-uploader'; } ?> <form enctype="multipart/form-data" method="post" action="<?php echo esc_url( $form_action_url ); ?>" class="<?php echo $form_class; ?>" id="<?php echo $type; ?>-form"> <?php submit_button( '', 'hidden', 'save', false ); ?> <input type="hidden" name="post_id" id="post_id" value="<?php echo (int) $post_id; ?>" /> <?php wp_nonce_field( 'media-form' ); ?> <h3 class="media-title"><?php _e( 'Add media files from your computer' ); ?></h3> <?php media_upload_form( $errors ); ?> <script type="text/javascript"> jQuery(function($){ var preloaded = $(".media-item.preloaded"); if ( preloaded.length > 0 ) { preloaded.each(function(){prepareMediaItem({id:this.id.replace(/[^0-9]/g, '')},'');}); } updateMediaForm(); }); </script> <div id="media-items"> <?php if ( $id ) { if ( ! is_wp_error( $id ) ) { add_filter( 'attachment_fields_to_edit', 'media_post_single_attachment_fields_to_edit', 10, 2 ); echo get_media_items( $id, $errors ); } else { echo '<div id="media-upload-error">' . esc_html( $id->get_error_message() ) . '</div></div>'; exit; } } ?> </div> <p class="savebutton ml-submit"> <?php submit_button( __( 'Save all changes' ), '', 'save', false ); ?> </p> </form> <?php } /** * Outputs the legacy media upload form for external media. * * @since 2.7.0 * * @param string $type * @param object $errors * @param int $id */ function media_upload_type_url_form( $type = null, $errors = null, $id = null ) { if ( null === $type ) { $type = 'image'; } media_upload_header(); $post_id = isset( $_REQUEST['post_id'] ) ? (int) $_REQUEST['post_id'] : 0; $form_action_url = admin_url( "media-upload.php?type=$type&tab=type&post_id=$post_id" ); /** This filter is documented in wp-admin/includes/media.php */ $form_action_url = apply_filters( 'media_upload_form_url', $form_action_url, $type ); $form_class = 'media-upload-form type-form validate'; if ( get_user_setting( 'uploader' ) ) { $form_class .= ' html-uploader'; } ?> <form enctype="multipart/form-data" method="post" action="<?php echo esc_url( $form_action_url ); ?>" class="<?php echo $form_class; ?>" id="<?php echo $type; ?>-form"> <input type="hidden" name="post_id" id="post_id" value="<?php echo (int) $post_id; ?>" /> <?php wp_nonce_field( 'media-form' ); ?> <h3 class="media-title"><?php _e( 'Insert media from another website' ); ?></h3> <script type="text/javascript"> var addExtImage = { width : '', height : '', align : 'alignnone', insert : function() { var t = this, html, f = document.forms[0], cls, title = '', alt = '', caption = ''; if ( '' === f.src.value || '' === t.width ) return false; if ( f.alt.value ) alt = f.alt.value.replace(/'/g, ''').replace(/"/g, '"').replace(/</g, '<').replace(/>/g, '>'); <?php /** This filter is documented in wp-admin/includes/media.php */ if ( ! apply_filters( 'disable_captions', '' ) ) { ?> if ( f.caption.value ) { caption = f.caption.value.replace(/\r\n|\r/g, '\n'); caption = caption.replace(/<[a-zA-Z0-9]+( [^<>]+)?>/g, function(a){ return a.replace(/[\r\n\t]+/, ' '); }); caption = caption.replace(/\s*\n\s*/g, '<br />'); } <?php } ?> cls = caption ? '' : ' class="'+t.align+'"'; html = '<img alt="'+alt+'" src="'+f.src.value+'"'+cls+' width="'+t.width+'" height="'+t.height+'" />'; if ( f.url.value ) { url = f.url.value.replace(/'/g, ''').replace(/"/g, '"').replace(/</g, '<').replace(/>/g, '>'); html = '<a href="'+url+'">'+html+'</a>'; } if ( caption ) html = '[caption id="" align="'+t.align+'" width="'+t.width+'"]'+html+caption+'[/caption]'; var win = window.dialogArguments || opener || parent || top; win.send_to_editor(html); return false; }, resetImageData : function() { var t = addExtImage; t.width = t.height = ''; document.getElementById('go_button').style.color = '#bbb'; if ( ! document.forms[0].src.value ) document.getElementById('status_img').innerHTML = ''; else document.getElementById('status_img').innerHTML = '<img src="<?php echo esc_url( admin_url( 'images/no.png' ) ); ?>" alt="" />'; }, updateImageData : function() { var t = addExtImage; t.width = t.preloadImg.width; t.height = t.preloadImg.height; document.getElementById('go_button').style.color = '#333'; document.getElementById('status_img').innerHTML = '<img src="<?php echo esc_url( admin_url( 'images/yes.png' ) ); ?>" alt="" />'; }, getImageData : function() { if ( jQuery('table.describe').hasClass('not-image') ) return; var t = addExtImage, src = document.forms[0].src.value; if ( ! src ) { t.resetImageData(); return false; } document.getElementById('status_img').innerHTML = '<img src="<?php echo esc_url( admin_url( 'images/spinner-2x.gif' ) ); ?>" alt="" width="16" height="16" />'; t.preloadImg = new Image(); t.preloadImg.onload = t.updateImageData; t.preloadImg.onerror = t.resetImageData; t.preloadImg.src = src; } }; jQuery( function($) { $('.media-types input').click( function() { $('table.describe').toggleClass('not-image', $('#not-image').prop('checked') ); }); } ); </script> <div id="media-items"> <div class="media-item media-blank"> <?php /** * Filters the insert media from URL form HTML. * * @since 3.3.0 * * @param string $form_html The insert from URL form HTML. */ echo apply_filters( 'type_url_form_media', wp_media_insert_url_form( $type ) ); ?> </div> </div> </form> <?php } /** * Adds gallery form to upload iframe. * * @since 2.5.0 * * @global string $redir_tab * @global string $type * @global string $tab * * @param array $errors */ function media_upload_gallery_form( $errors ) { global $redir_tab, $type; $redir_tab = 'gallery'; media_upload_header(); $post_id = (int) $_REQUEST['post_id']; $form_action_url = admin_url( "media-upload.php?type=$type&tab=gallery&post_id=$post_id" ); /** This filter is documented in wp-admin/includes/media.php */ $form_action_url = apply_filters( 'media_upload_form_url', $form_action_url, $type ); $form_class = 'media-upload-form validate'; if ( get_user_setting( 'uploader' ) ) { $form_class .= ' html-uploader'; } ?> <script type="text/javascript"> jQuery(function($){ var preloaded = $(".media-item.preloaded"); if ( preloaded.length > 0 ) { preloaded.each(function(){prepareMediaItem({id:this.id.replace(/[^0-9]/g, '')},'');}); updateMediaForm(); } }); </script> <div id="sort-buttons" class="hide-if-no-js"> <span> <?php _e( 'All Tabs:' ); ?> <a href="#" id="showall"><?php _e( 'Show' ); ?></a> <a href="#" id="hideall" style="display:none;"><?php _e( 'Hide' ); ?></a> </span> <?php _e( 'Sort Order:' ); ?> <a href="#" id="asc"><?php _e( 'Ascending' ); ?></a> | <a href="#" id="desc"><?php _e( 'Descending' ); ?></a> | <a href="#" id="clear"><?php _ex( 'Clear', 'verb' ); ?></a> </div> <form enctype="multipart/form-data" method="post" action="<?php echo esc_url( $form_action_url ); ?>" class="<?php echo $form_class; ?>" id="gallery-form"> <?php wp_nonce_field( 'media-form' ); ?> <table class="widefat"> <thead><tr> <th><?php _e( 'Media' ); ?></th> <th class="order-head"><?php _e( 'Order' ); ?></th> <th class="actions-head"><?php _e( 'Actions' ); ?></th> </tr></thead> </table> <div id="media-items"> <?php add_filter( 'attachment_fields_to_edit', 'media_post_single_attachment_fields_to_edit', 10, 2 ); ?> <?php echo get_media_items( $post_id, $errors ); ?> </div> <p class="ml-submit"> <?php submit_button( __( 'Save all changes' ), 'savebutton', 'save', false, array( 'id' => 'save-all', 'style' => 'display: none;', ) ); ?> <input type="hidden" name="post_id" id="post_id" value="<?php echo (int) $post_id; ?>" /> <input type="hidden" name="type" value="<?php echo esc_attr( $GLOBALS['type'] ); ?>" /> <input type="hidden" name="tab" value="<?php echo esc_attr( $GLOBALS['tab'] ); ?>" /> </p> <div id="gallery-settings" style="display:none;"> <div class="title"><?php _e( 'Gallery Settings' ); ?></div> <table id="basic" class="describe"><tbody> <tr> <th scope="row" class="label"> <label> <span class="alignleft"><?php _e( 'Link thumbnails to:' ); ?></span> </label> </th> <td class="field"> <input type="radio" name="linkto" id="linkto-file" value="file" /> <label for="linkto-file" class="radio"><?php _e( 'Image File' ); ?></label> <input type="radio" checked="checked" name="linkto" id="linkto-post" value="post" /> <label for="linkto-post" class="radio"><?php _e( 'Attachment Page' ); ?></label> </td> </tr> <tr> <th scope="row" class="label"> <label> <span class="alignleft"><?php _e( 'Order images by:' ); ?></span> </label> </th> <td class="field"> <select id="orderby" name="orderby"> <option value="menu_order" selected="selected"><?php _e( 'Menu order' ); ?></option> <option value="title"><?php _e( 'Title' ); ?></option> <option value="post_date"><?php _e( 'Date/Time' ); ?></option> <option value="rand"><?php _e( 'Random' ); ?></option> </select> </td> </tr> <tr> <th scope="row" class="label"> <label> <span class="alignleft"><?php _e( 'Order:' ); ?></span> </label> </th> <td class="field"> <input type="radio" checked="checked" name="order" id="order-asc" value="asc" /> <label for="order-asc" class="radio"><?php _e( 'Ascending' ); ?></label> <input type="radio" name="order" id="order-desc" value="desc" /> <label for="order-desc" class="radio"><?php _e( 'Descending' ); ?></label> </td> </tr> <tr> <th scope="row" class="label"> <label> <span class="alignleft"><?php _e( 'Gallery columns:' ); ?></span> </label> </th> <td class="field"> <select id="columns" name="columns"> <option value="1">1</option> <option value="2">2</option> <option value="3" selected="selected">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value="8">8</option> <option value="9">9</option> </select> </td> </tr> </tbody></table> <p class="ml-submit"> <input type="button" class="button" style="display:none;" onMouseDown="wpgallery.update();" name="insert-gallery" id="insert-gallery" value="<?php esc_attr_e( 'Insert gallery' ); ?>" /> <input type="button" class="button" style="display:none;" onMouseDown="wpgallery.update();" name="update-gallery" id="update-gallery" value="<?php esc_attr_e( 'Update gallery settings' ); ?>" /> </p> </div> </form> <?php } /** * Outputs the legacy media upload form for the media library. * * @since 2.5.0 * * @global wpdb $wpdb WordPress database abstraction object. * @global WP_Query $wp_query WordPress Query object. * @global WP_Locale $wp_locale WordPress date and time locale object. * @global string $type * @global string $tab * @global array $post_mime_types * * @param array $errors */ function media_upload_library_form( $errors ) { global $wpdb, $wp_query, $wp_locale, $type, $tab, $post_mime_types; media_upload_header(); $post_id = isset( $_REQUEST['post_id'] ) ? (int) $_REQUEST['post_id'] : 0; $form_action_url = admin_url( "media-upload.php?type=$type&tab=library&post_id=$post_id" ); /** This filter is documented in wp-admin/includes/media.php */ $form_action_url = apply_filters( 'media_upload_form_url', $form_action_url, $type ); $form_class = 'media-upload-form validate'; if ( get_user_setting( 'uploader' ) ) { $form_class .= ' html-uploader'; } $q = $_GET; $q['posts_per_page'] = 10; $q['paged'] = isset( $q['paged'] ) ? (int) $q['paged'] : 0; if ( $q['paged'] < 1 ) { $q['paged'] = 1; } $q['offset'] = ( $q['paged'] - 1 ) * 10; if ( $q['offset'] < 1 ) { $q['offset'] = 0; } list($post_mime_types, $avail_post_mime_types) = wp_edit_attachments_query( $q ); ?> <form id="filter" method="get"> <input type="hidden" name="type" value="<?php echo esc_attr( $type ); ?>" /> <input type="hidden" name="tab" value="<?php echo esc_attr( $tab ); ?>" /> <input type="hidden" name="post_id" value="<?php echo (int) $post_id; ?>" /> <input type="hidden" name="post_mime_type" value="<?php echo isset( $_GET['post_mime_type'] ) ? esc_attr( $_GET['post_mime_type'] ) : ''; ?>" /> <input type="hidden" name="context" value="<?php echo isset( $_GET['context'] ) ? esc_attr( $_GET['context'] ) : ''; ?>" /> <p id="media-search" class="search-box"> <label class="screen-reader-text" for="media-search-input"> <?php /* translators: Hidden accessibility text. */ _e( 'Search Media:' ); ?> </label> <input type="search" id="media-search-input" name="s" value="<?php the_search_query(); ?>" /> <?php submit_button( __( 'Search Media' ), '', '', false ); ?> </p> <ul class="subsubsub"> <?php $type_links = array(); $_num_posts = (array) wp_count_attachments(); $matches = wp_match_mime_types( array_keys( $post_mime_types ), array_keys( $_num_posts ) ); foreach ( $matches as $_type => $reals ) { foreach ( $reals as $real ) { if ( isset( $num_posts[ $_type ] ) ) { $num_posts[ $_type ] += $_num_posts[ $real ]; } else { $num_posts[ $_type ] = $_num_posts[ $real ]; } } } // If available type specified by media button clicked, filter by that type. if ( empty( $_GET['post_mime_type'] ) && ! empty( $num_posts[ $type ] ) ) { $_GET['post_mime_type'] = $type; list($post_mime_types, $avail_post_mime_types) = wp_edit_attachments_query(); } if ( empty( $_GET['post_mime_type'] ) || 'all' === $_GET['post_mime_type'] ) { $class = ' class="current"'; } else { $class = ''; } $type_links[] = '<li><a href="' . esc_url( add_query_arg( array( 'post_mime_type' => 'all', 'paged' => false, 'm' => false, ) ) ) . '"' . $class . '>' . __( 'All Types' ) . '</a>'; foreach ( $post_mime_types as $mime_type => $label ) { $class = ''; if ( ! wp_match_mime_types( $mime_type, $avail_post_mime_types ) ) { continue; } if ( isset( $_GET['post_mime_type'] ) && wp_match_mime_types( $mime_type, $_GET['post_mime_type'] ) ) { $class = ' class="current"'; } $type_links[] = '<li><a href="' . esc_url( add_query_arg( array( 'post_mime_type' => $mime_type, 'paged' => false, ) ) ) . '"' . $class . '>' . sprintf( translate_nooped_plural( $label[2], $num_posts[ $mime_type ] ), '<span id="' . $mime_type . '-counter">' . number_format_i18n( $num_posts[ $mime_type ] ) . '</span>' ) . '</a>'; } /** * Filters the media upload mime type list items. * * Returned values should begin with an `<li>` tag. * * @since 3.1.0 * * @param string[] $type_links An array of list items containing mime type link HTML. */ echo implode( ' | </li>', apply_filters( 'media_upload_mime_type_links', $type_links ) ) . '</li>'; unset( $type_links ); ?> </ul> <div class="tablenav"> <?php $page_links = paginate_links( array( 'base' => add_query_arg( 'paged', '%#%' ), 'format' => '', 'prev_text' => __( '«' ), 'next_text' => __( '»' ), 'total' => (int) ceil( $wp_query->found_posts / 10 ), 'current' => $q['paged'], ) ); if ( $page_links ) { echo "<div class='tablenav-pages'>$page_links</div>"; } ?> <div class="alignleft actions"> <?php $arc_query = "SELECT DISTINCT YEAR(post_date) AS yyear, MONTH(post_date) AS mmonth FROM $wpdb->posts WHERE post_type = 'attachment' ORDER BY post_date DESC"; $arc_result = $wpdb->get_results( $arc_query ); $month_count = count( $arc_result ); $selected_month = isset( $_GET['m'] ) ? $_GET['m'] : 0; if ( $month_count && ! ( 1 == $month_count && 0 == $arc_result[0]->mmonth ) ) { ?> <select name='m'> <option<?php selected( $selected_month, 0 ); ?> value='0'><?php _e( 'All dates' ); ?></option> <?php foreach ( $arc_result as $arc_row ) { if ( 0 == $arc_row->yyear ) { continue; } $arc_row->mmonth = zeroise( $arc_row->mmonth, 2 ); if ( $arc_row->yyear . $arc_row->mmonth == $selected_month ) { $default = ' selected="selected"'; } else { $default = ''; } echo "<option$default value='" . esc_attr( $arc_row->yyear . $arc_row->mmonth ) . "'>"; echo esc_html( $wp_locale->get_month( $arc_row->mmonth ) . " $arc_row->yyear" ); echo "</option>\n"; } ?> </select> <?php } ?> <?php submit_button( __( 'Filter »' ), '', 'post-query-submit', false ); ?> </div> <br class="clear" /> </div> </form> <form enctype="multipart/form-data" method="post" action="<?php echo esc_url( $form_action_url ); ?>" class="<?php echo $form_class; ?>" id="library-form"> <?php wp_nonce_field( 'media-form' ); ?> <script type="text/javascript"> jQuery(function($){ var preloaded = $(".media-item.preloaded"); if ( preloaded.length > 0 ) { preloaded.each(function(){prepareMediaItem({id:this.id.replace(/[^0-9]/g, '')},'');}); updateMediaForm(); } }); </script> <div id="media-items"> <?php add_filter( 'attachment_fields_to_edit', 'media_post_single_attachment_fields_to_edit', 10, 2 ); ?> <?php echo get_media_items( null, $errors ); ?> </div> <p class="ml-submit"> <?php submit_button( __( 'Save all changes' ), 'savebutton', 'save', false ); ?> <input type="hidden" name="post_id" id="post_id" value="<?php echo (int) $post_id; ?>" /> </p> </form> <?php } /** * Creates the form for external url. * * @since 2.7.0 * * @param string $default_view * @return string HTML content of the form. */ function wp_media_insert_url_form( $default_view = 'image' ) { /** This filter is documented in wp-admin/includes/media.php */ if ( ! apply_filters( 'disable_captions', '' ) ) { $caption = ' <tr class="image-only"> <th scope="row" class="label"> <label for="caption"><span class="alignleft">' . __( 'Image Caption' ) . '</span></label> </th> <td class="field"><textarea id="caption" name="caption"></textarea></td> </tr>'; } else { $caption = ''; } $default_align = get_option( 'image_default_align' ); if ( empty( $default_align ) ) { $default_align = 'none'; } if ( 'image' === $default_view ) { $view = 'image-only'; $table_class = ''; } else { $view = 'not-image'; $table_class = $view; } return ' <p class="media-types"><label><input type="radio" name="media_type" value="image" id="image-only"' . checked( 'image-only', $view, false ) . ' /> ' . __( 'Image' ) . '</label> <label><input type="radio" name="media_type" value="generic" id="not-image"' . checked( 'not-image', $view, false ) . ' /> ' . __( 'Audio, Video, or Other File' ) . '</label></p> <p class="media-types media-types-required-info">' . wp_required_field_message() . '</p> <table class="describe ' . $table_class . '"><tbody> <tr> <th scope="row" class="label" style="width:130px;"> <label for="src"><span class="alignleft">' . __( 'URL' ) . '</span> ' . wp_required_field_indicator() . '</label> <span class="alignright" id="status_img"></span> </th> <td class="field"><input id="src" name="src" value="" type="text" required onblur="addExtImage.getImageData()" /></td> </tr> <tr> <th scope="row" class="label"> <label for="title"><span class="alignleft">' . __( 'Title' ) . '</span> ' . wp_required_field_indicator() . '</label> </th> <td class="field"><input id="title" name="title" value="" type="text" required /></td> </tr> <tr class="not-image"><td></td><td><p class="help">' . __( 'Link text, e.g. “Ransom Demands (PDF)”' ) . '</p></td></tr> <tr class="image-only"> <th scope="row" class="label"> <label for="alt"><span class="alignleft">' . __( 'Alternative Text' ) . '</span> ' . wp_required_field_indicator() . '</label> </th> <td class="field"><input id="alt" name="alt" value="" type="text" required /> <p class="help">' . __( 'Alt text for the image, e.g. “The Mona Lisa”' ) . '</p></td> </tr> ' . $caption . ' <tr class="align image-only"> <th scope="row" class="label"><p><label for="align">' . __( 'Alignment' ) . '</label></p></th> <td class="field"> <input name="align" id="align-none" value="none" onclick="addExtImage.align=\'align\'+this.value" type="radio"' . ( 'none' === $default_align ? ' checked="checked"' : '' ) . ' /> <label for="align-none" class="align image-align-none-label">' . __( 'None' ) . '</label> <input name="align" id="align-left" value="left" onclick="addExtImage.align=\'align\'+this.value" type="radio"' . ( 'left' === $default_align ? ' checked="checked"' : '' ) . ' /> <label for="align-left" class="align image-align-left-label">' . __( 'Left' ) . '</label> <input name="align" id="align-center" value="center" onclick="addExtImage.align=\'align\'+this.value" type="radio"' . ( 'center' === $default_align ? ' checked="checked"' : '' ) . ' /> <label for="align-center" class="align image-align-center-label">' . __( 'Center' ) . '</label> <input name="align" id="align-right" value="right" onclick="addExtImage.align=\'align\'+this.value" type="radio"' . ( 'right' === $default_align ? ' checked="checked"' : '' ) . ' /> <label for="align-right" class="align image-align-right-label">' . __( 'Right' ) . '</label> </td> </tr> <tr class="image-only"> <th scope="row" class="label"> <label for="url"><span class="alignleft">' . __( 'Link Image To:' ) . '</span></label> </th> <td class="field"><input id="url" name="url" value="" type="text" /><br /> <button type="button" class="button" value="" onclick="document.forms[0].url.value=null">' . __( 'None' ) . '</button> <button type="button" class="button" value="" onclick="document.forms[0].url.value=document.forms[0].src.value">' . __( 'Link to image' ) . '</button> <p class="help">' . __( 'Enter a link URL or click above for presets.' ) . '</p></td> </tr> <tr class="image-only"> <td></td> <td> <input type="button" class="button" id="go_button" style="color:#bbb;" onclick="addExtImage.insert()" value="' . esc_attr__( 'Insert into Post' ) . '" /> </td> </tr> <tr class="not-image"> <td></td> <td> ' . get_submit_button( __( 'Insert into Post' ), '', 'insertonlybutton', false ) . ' </td> </tr> </tbody></table>'; } /** * Displays the multi-file uploader message. * * @since 2.6.0 * * @global int $post_ID */ function media_upload_flash_bypass() { $browser_uploader = admin_url( 'media-new.php?browser-uploader' ); $post = get_post(); if ( $post ) { $browser_uploader .= '&post_id=' . (int) $post->ID; } elseif ( ! empty( $GLOBALS['post_ID'] ) ) { $browser_uploader .= '&post_id=' . (int) $GLOBALS['post_ID']; } ?> <p class="upload-flash-bypass"> <?php printf( /* translators: 1: URL to browser uploader, 2: Additional link attributes. */ __( 'You are using the multi-file uploader. Problems? Try the <a href="%1$s" %2$s>browser uploader</a> instead.' ), $browser_uploader, 'target="_blank"' ); ?> </p> <?php } /** * Displays the browser's built-in uploader message. * * @since 2.6.0 */ function media_upload_html_bypass() { ?> <p class="upload-html-bypass hide-if-no-js"> <?php _e( 'You are using the browser’s built-in file uploader. The WordPress uploader includes multiple file selection and drag and drop capability. <a href="#">Switch to the multi-file uploader</a>.' ); ?> </p> <?php } /** * Used to display a "After a file has been uploaded..." help message. * * @since 3.3.0 */ function media_upload_text_after() {} /** * Displays the checkbox to scale images. * * @since 3.3.0 */ function media_upload_max_image_resize() { $checked = get_user_setting( 'upload_resize' ) ? ' checked="true"' : ''; $a = ''; $end = ''; if ( current_user_can( 'manage_options' ) ) { $a = '<a href="' . esc_url( admin_url( 'options-media.php' ) ) . '" target="_blank">'; $end = '</a>'; } ?> <p class="hide-if-no-js"><label> <input name="image_resize" type="checkbox" id="image_resize" value="true"<?php echo $checked; ?> /> <?php /* translators: 1: Link start tag, 2: Link end tag, 3: Width, 4: Height. */ printf( __( 'Scale images to match the large size selected in %1$simage options%2$s (%3$d × %4$d).' ), $a, $end, (int) get_option( 'large_size_w', '1024' ), (int) get_option( 'large_size_h', '1024' ) ); ?> </label></p> <?php } /** * Displays the out of storage quota message in Multisite. * * @since 3.5.0 */ function multisite_over_quota_message() { echo '<p>' . sprintf( /* translators: %s: Allowed space allocation. */ __( 'Sorry, you have used your space allocation of %s. Please delete some files to upload more files.' ), size_format( get_space_allowed() * MB_IN_BYTES ) ) . '</p>'; } /** * Displays the image and editor in the post editor * * @since 3.5.0 * * @param WP_Post $post A post object. */ function edit_form_image_editor( $post ) { $open = isset( $_GET['image-editor'] ); if ( $open ) { require_once ABSPATH . 'wp-admin/includes/image-edit.php'; } $thumb_url = false; $attachment_id = (int) $post->ID; if ( $attachment_id ) { $thumb_url = wp_get_attachment_image_src( $attachment_id, array( 900, 450 ), true ); } $alt_text = get_post_meta( $post->ID, '_wp_attachment_image_alt', true ); $att_url = wp_get_attachment_url( $post->ID ); ?> <div class="wp_attachment_holder wp-clearfix"> <?php if ( wp_attachment_is_image( $post->ID ) ) : $image_edit_button = ''; if ( wp_image_editor_supports( array( 'mime_type' => $post->post_mime_type ) ) ) { $nonce = wp_create_nonce( "image_editor-$post->ID" ); $image_edit_button = "<input type='button' id='imgedit-open-btn-$post->ID' onclick='imageEdit.open( $post->ID, \"$nonce\" )' class='button' value='" . esc_attr__( 'Edit Image' ) . "' /> <span class='spinner'></span>"; } $open_style = ''; $not_open_style = ''; if ( $open ) { $open_style = ' style="display:none"'; } else { $not_open_style = ' style="display:none"'; } ?> <div class="imgedit-response" id="imgedit-response-<?php echo $attachment_id; ?>"></div> <div<?php echo $open_style; ?> class="wp_attachment_image wp-clearfix" id="media-head-<?php echo $attachment_id; ?>"> <p id="thumbnail-head-<?php echo $attachment_id; ?>"><img class="thumbnail" src="<?php echo set_url_scheme( $thumb_url[0] ); ?>" style="max-width:100%" alt="" /></p> <p><?php echo $image_edit_button; ?></p> </div> <div<?php echo $not_open_style; ?> class="image-editor" id="image-editor-<?php echo $attachment_id; ?>"> <?php if ( $open ) { wp_image_editor( $attachment_id ); } ?> </div> <?php elseif ( $attachment_id && wp_attachment_is( 'audio', $post ) ) : wp_maybe_generate_attachment_metadata( $post ); echo wp_audio_shortcode( array( 'src' => $att_url ) ); elseif ( $attachment_id && wp_attachment_is( 'video', $post ) ) : wp_maybe_generate_attachment_metadata( $post ); $meta = wp_get_attachment_metadata( $attachment_id ); $w = ! empty( $meta['width'] ) ? min( $meta['width'], 640 ) : 0; $h = ! empty( $meta['height'] ) ? $meta['height'] : 0; if ( $h && $w < $meta['width'] ) { $h = round( ( $meta['height'] * $w ) / $meta['width'] ); } $attr = array( 'src' => $att_url ); if ( ! empty( $w ) && ! empty( $h ) ) { $attr['width'] = $w; $attr['height'] = $h; } $thumb_id = get_post_thumbnail_id( $attachment_id ); if ( ! empty( $thumb_id ) ) { $attr['poster'] = wp_get_attachment_url( $thumb_id ); } echo wp_video_shortcode( $attr ); elseif ( isset( $thumb_url[0] ) ) : ?> <div class="wp_attachment_image wp-clearfix" id="media-head-<?php echo $attachment_id; ?>"> <p id="thumbnail-head-<?php echo $attachment_id; ?>"> <img class="thumbnail" src="<?php echo set_url_scheme( $thumb_url[0] ); ?>" style="max-width:100%" alt="" /> </p> </div> <?php else : /** * Fires when an attachment type can't be rendered in the edit form. * * @since 4.6.0 * * @param WP_Post $post A post object. */ do_action( 'wp_edit_form_attachment_display', $post ); endif; ?> </div> <div class="wp_attachment_details edit-form-section"> <?php if ( str_starts_with( $post->post_mime_type, 'image' ) ) : ?> <p class="attachment-alt-text"> <label for="attachment_alt"><strong><?php _e( 'Alternative Text' ); ?></strong></label><br /> <textarea class="widefat" name="_wp_attachment_image_alt" id="attachment_alt" aria-describedby="alt-text-description"><?php echo esc_attr( $alt_text ); ?></textarea> </p> <p class="attachment-alt-text-description" id="alt-text-description"> <?php printf( /* translators: 1: Link to tutorial, 2: Additional link attributes, 3: Accessibility text. */ __( '<a href="%1$s" %2$s>Learn how to describe the purpose of the image%3$s</a>. Leave empty if the image is purely decorative.' ), /* translators: Localized tutorial, if one exists. W3C Web Accessibility Initiative link has list of existing translations. */ esc_url( __( 'https://www.w3.org/WAI/tutorials/images/decision-tree/' ) ), 'target="_blank"', sprintf( '<span class="screen-reader-text"> %s</span>', /* translators: Hidden accessibility text. */ __( '(opens in a new tab)' ) ) ); ?> </p> <?php endif; ?> <p> <label for="attachment_caption"><strong><?php _e( 'Caption' ); ?></strong></label><br /> <textarea class="widefat" name="excerpt" id="attachment_caption"><?php echo $post->post_excerpt; ?></textarea> </p> <?php $quicktags_settings = array( 'buttons' => 'strong,em,link,block,del,ins,img,ul,ol,li,code,close' ); $editor_args = array( 'textarea_name' => 'content', 'textarea_rows' => 5, 'media_buttons' => false, /** * Filters the TinyMCE argument for the media description field on the attachment details screen. * * @since 6.6.0 * * @param bool $tinymce Whether to activate TinyMCE in media description field. Default false. */ 'tinymce' => apply_filters( 'activate_tinymce_for_media_description', false ), 'quicktags' => $quicktags_settings, ); ?> <label for="attachment_content" class="attachment-content-description"><strong><?php _e( 'Description' ); ?></strong> <?php if ( preg_match( '#^(audio|video)/#', $post->post_mime_type ) ) { echo ': ' . __( 'Displayed on attachment pages.' ); } ?> </label> <?php wp_editor( format_to_edit( $post->post_content ), 'attachment_content', $editor_args ); ?> </div> <?php $extras = get_compat_media_markup( $post->ID ); echo $extras['item']; echo '<input type="hidden" id="image-edit-context" value="edit-attachment" />' . "\n"; } /** * Displays non-editable attachment metadata in the publish meta box. * * @since 3.5.0 */ function attachment_submitbox_metadata() { $post = get_post(); $attachment_id = $post->ID; $file = get_attached_file( $attachment_id ); $filename = esc_html( wp_basename( $file ) ); $media_dims = ''; $meta = wp_get_attachment_metadata( $attachment_id ); if ( isset( $meta['width'], $meta['height'] ) ) { /* translators: 1: A number of pixels wide, 2: A number of pixels tall. */ $media_dims .= "<span id='media-dims-$attachment_id'>" . sprintf( __( '%1$s by %2$s pixels' ), $meta['width'], $meta['height'] ) . '</span>'; } /** This filter is documented in wp-admin/includes/media.php */ $media_dims = apply_filters( 'media_meta', $media_dims, $post ); $att_url = wp_get_attachment_url( $attachment_id ); $author = new WP_User( $post->post_author ); $uploaded_by_name = __( '(no author)' ); $uploaded_by_link = ''; if ( $author->exists() ) { $uploaded_by_name = $author->display_name ? $author->display_name : $author->nickname; $uploaded_by_link = get_edit_user_link( $author->ID ); } ?> <div class="misc-pub-section misc-pub-uploadedby"> <?php if ( $uploaded_by_link ) { ?> <?php _e( 'Uploaded by:' ); ?> <a href="<?php echo $uploaded_by_link; ?>"><strong><?php echo $uploaded_by_name; ?></strong></a> <?php } else { ?> <?php _e( 'Uploaded by:' ); ?> <strong><?php echo $uploaded_by_name; ?></strong> <?php } ?> </div> <?php if ( $post->post_parent ) { $post_parent = get_post( $post->post_parent ); if ( $post_parent ) { $uploaded_to_title = $post_parent->post_title ? $post_parent->post_title : __( '(no title)' ); $uploaded_to_link = get_edit_post_link( $post->post_parent, 'raw' ); ?> <div class="misc-pub-section misc-pub-uploadedto"> <?php if ( $uploaded_to_link ) { ?> <?php _e( 'Uploaded to:' ); ?> <a href="<?php echo $uploaded_to_link; ?>"><strong><?php echo $uploaded_to_title; ?></strong></a> <?php } else { ?> <?php _e( 'Uploaded to:' ); ?> <strong><?php echo $uploaded_to_title; ?></strong> <?php } ?> </div> <?php } } ?> <div class="misc-pub-section misc-pub-attachment"> <label for="attachment_url"><?php _e( 'File URL:' ); ?></label> <input type="text" class="widefat urlfield" readonly="readonly" name="attachment_url" id="attachment_url" value="<?php echo esc_attr( $att_url ); ?>" /> <span class="copy-to-clipboard-container"> <button type="button" class="button copy-attachment-url edit-media" data-clipboard-target="#attachment_url"><?php _e( 'Copy URL to clipboard' ); ?></button> <span class="success hidden" aria-hidden="true"><?php _e( 'Copied!' ); ?></span> </span> </div> <div class="misc-pub-section misc-pub-download"> <a href="<?php echo esc_attr( $att_url ); ?>" download><?php _e( 'Download file' ); ?></a> </div> <div class="misc-pub-section misc-pub-filename"> <?php _e( 'File name:' ); ?> <strong><?php echo $filename; ?></strong> </div> <div class="misc-pub-section misc-pub-filetype"> <?php _e( 'File type:' ); ?> <strong> <?php if ( preg_match( '/^.*?\.(\w+)$/', get_attached_file( $post->ID ), $matches ) ) { echo esc_html( strtoupper( $matches[1] ) ); list( $mime_type ) = explode( '/', $post->post_mime_type ); if ( 'image' !== $mime_type && ! empty( $meta['mime_type'] ) ) { if ( "$mime_type/" . strtolower( $matches[1] ) !== $meta['mime_type'] ) { echo ' (' . $meta['mime_type'] . ')'; } } } else { echo strtoupper( str_replace( 'image/', '', $post->post_mime_type ) ); } ?> </strong> </div> <?php $file_size = false; if ( isset( $meta['filesize'] ) ) { $file_size = $meta['filesize']; } elseif ( file_exists( $file ) ) { $file_size = wp_filesize( $file ); } if ( ! empty( $file_size ) ) { ?> <div class="misc-pub-section misc-pub-filesize"> <?php _e( 'File size:' ); ?> <strong><?php echo size_format( $file_size ); ?></strong> </div> <?php } if ( preg_match( '#^(audio|video)/#', $post->post_mime_type ) ) { $fields = array( 'length_formatted' => __( 'Length:' ), 'bitrate' => __( 'Bitrate:' ), ); /** * Filters the audio and video metadata fields to be shown in the publish meta box. * * The key for each item in the array should correspond to an attachment * metadata key, and the value should be the desired label. * * @since 3.7.0 * @since 4.9.0 Added the `$post` parameter. * * @param array $fields An array of the attachment metadata keys and labels. * @param WP_Post $post WP_Post object for the current attachment. */ $fields = apply_filters( 'media_submitbox_misc_sections', $fields, $post ); foreach ( $fields as $key => $label ) { if ( empty( $meta[ $key ] ) ) { continue; } ?> <div class="misc-pub-section misc-pub-mime-meta misc-pub-<?php echo sanitize_html_class( $key ); ?>"> <?php echo $label; ?> <strong> <?php switch ( $key ) { case 'bitrate': echo round( $meta['bitrate'] / 1000 ) . 'kb/s'; if ( ! empty( $meta['bitrate_mode'] ) ) { echo ' ' . strtoupper( esc_html( $meta['bitrate_mode'] ) ); } break; case 'length_formatted': echo human_readable_duration( $meta['length_formatted'] ); break; default: echo esc_html( $meta[ $key ] ); break; } ?> </strong> </div> <?php } $fields = array( 'dataformat' => __( 'Audio Format:' ), 'codec' => __( 'Audio Codec:' ), ); /** * Filters the audio attachment metadata fields to be shown in the publish meta box. * * The key for each item in the array should correspond to an attachment * metadata key, and the value should be the desired label. * * @since 3.7.0 * @since 4.9.0 Added the `$post` parameter. * * @param array $fields An array of the attachment metadata keys and labels. * @param WP_Post $post WP_Post object for the current attachment. */ $audio_fields = apply_filters( 'audio_submitbox_misc_sections', $fields, $post ); foreach ( $audio_fields as $key => $label ) { if ( empty( $meta['audio'][ $key ] ) ) { continue; } ?> <div class="misc-pub-section misc-pub-audio misc-pub-<?php echo sanitize_html_class( $key ); ?>"> <?php echo $label; ?> <strong><?php echo esc_html( $meta['audio'][ $key ] ); ?></strong> </div> <?php } } if ( $media_dims ) { ?> <div class="misc-pub-section misc-pub-dimensions"> <?php _e( 'Dimensions:' ); ?> <strong><?php echo $media_dims; ?></strong> </div> <?php } if ( ! empty( $meta['original_image'] ) ) { ?> <div class="misc-pub-section misc-pub-original-image word-wrap-break-word"> <?php _e( 'Original image:' ); ?> <a href="<?php echo esc_url( wp_get_original_image_url( $attachment_id ) ); ?>"> <strong><?php echo esc_html( wp_basename( wp_get_original_image_path( $attachment_id ) ) ); ?></strong> </a> </div> <?php } } /** * Parses ID3v2, ID3v1, and getID3 comments to extract usable data. * * @since 3.6.0 * * @param array $metadata An existing array with data. * @param array $data Data supplied by ID3 tags. */ function wp_add_id3_tag_data( &$metadata, $data ) { foreach ( array( 'id3v2', 'id3v1' ) as $version ) { if ( ! empty( $data[ $version ]['comments'] ) ) { foreach ( $data[ $version ]['comments'] as $key => $list ) { if ( 'length' !== $key && ! empty( $list ) ) { $metadata[ $key ] = wp_kses_post( reset( $list ) ); // Fix bug in byte stream analysis. if ( 'terms_of_use' === $key && str_starts_with( $metadata[ $key ], 'yright notice.' ) ) { $metadata[ $key ] = 'Cop' . $metadata[ $key ]; } } } break; } } if ( ! empty( $data['id3v2']['APIC'] ) ) { $image = reset( $data['id3v2']['APIC'] ); if ( ! empty( $image['data'] ) ) { $metadata['image'] = array( 'data' => $image['data'], 'mime' => $image['image_mime'], 'width' => $image['image_width'], 'height' => $image['image_height'], ); } } elseif ( ! empty( $data['comments']['picture'] ) ) { $image = reset( $data['comments']['picture'] ); if ( ! empty( $image['data'] ) ) { $metadata['image'] = array( 'data' => $image['data'], 'mime' => $image['image_mime'], ); } } } /** * Retrieves metadata from a video file's ID3 tags. * * @since 3.6.0 * * @param string $file Path to file. * @return array|false Returns array of metadata, if found. */ function wp_read_video_metadata( $file ) { if ( ! file_exists( $file ) ) { return false; } $metadata = array(); if ( ! defined( 'GETID3_TEMP_DIR' ) ) { define( 'GETID3_TEMP_DIR', get_temp_dir() ); } if ( ! class_exists( 'getID3', false ) ) { require ABSPATH . WPINC . '/ID3/getid3.php'; } $id3 = new getID3(); // Required to get the `created_timestamp` value. $id3->options_audiovideo_quicktime_ReturnAtomData = true; // phpcs:ignore WordPress.NamingConventions.ValidVariableName $data = $id3->analyze( $file ); if ( isset( $data['video']['lossless'] ) ) { $metadata['lossless'] = $data['video']['lossless']; } if ( ! empty( $data['video']['bitrate'] ) ) { $metadata['bitrate'] = (int) $data['video']['bitrate']; } if ( ! empty( $data['video']['bitrate_mode'] ) ) { $metadata['bitrate_mode'] = $data['video']['bitrate_mode']; } if ( ! empty( $data['filesize'] ) ) { $metadata['filesize'] = (int) $data['filesize']; } if ( ! empty( $data['mime_type'] ) ) { $metadata['mime_type'] = $data['mime_type']; } if ( ! empty( $data['playtime_seconds'] ) ) { $metadata['length'] = (int) round( $data['playtime_seconds'] ); } if ( ! empty( $data['playtime_string'] ) ) { $metadata['length_formatted'] = $data['playtime_string']; } if ( ! empty( $data['video']['resolution_x'] ) ) { $metadata['width'] = (int) $data['video']['resolution_x']; } if ( ! empty( $data['video']['resolution_y'] ) ) { $metadata['height'] = (int) $data['video']['resolution_y']; } if ( ! empty( $data['fileformat'] ) ) { $metadata['fileformat'] = $data['fileformat']; } if ( ! empty( $data['video']['dataformat'] ) ) { $metadata['dataformat'] = $data['video']['dataformat']; } if ( ! empty( $data['video']['encoder'] ) ) { $metadata['encoder'] = $data['video']['encoder']; } if ( ! empty( $data['video']['codec'] ) ) { $metadata['codec'] = $data['video']['codec']; } if ( ! empty( $data['audio'] ) ) { unset( $data['audio']['streams'] ); $metadata['audio'] = $data['audio']; } if ( empty( $metadata['created_timestamp'] ) ) { $created_timestamp = wp_get_media_creation_timestamp( $data ); if ( false !== $created_timestamp ) { $metadata['created_timestamp'] = $created_timestamp; } } wp_add_id3_tag_data( $metadata, $data ); $file_format = isset( $metadata['fileformat'] ) ? $metadata['fileformat'] : null; /** * Filters the array of metadata retrieved from a video. * * In core, usually this selection is what is stored. * More complete data can be parsed from the `$data` parameter. * * @since 4.9.0 * * @param array $metadata Filtered video metadata. * @param string $file Path to video file. * @param string|null $file_format File format of video, as analyzed by getID3. * Null if unknown. * @param array $data Raw metadata from getID3. */ return apply_filters( 'wp_read_video_metadata', $metadata, $file, $file_format, $data ); } /** * Retrieves metadata from an audio file's ID3 tags. * * @since 3.6.0 * * @param string $file Path to file. * @return array|false Returns array of metadata, if found. */ function wp_read_audio_metadata( $file ) { if ( ! file_exists( $file ) ) { return false; } $metadata = array(); if ( ! defined( 'GETID3_TEMP_DIR' ) ) { define( 'GETID3_TEMP_DIR', get_temp_dir() ); } if ( ! class_exists( 'getID3', false ) ) { require ABSPATH . WPINC . '/ID3/getid3.php'; } $id3 = new getID3(); // Required to get the `created_timestamp` value. $id3->options_audiovideo_quicktime_ReturnAtomData = true; // phpcs:ignore WordPress.NamingConventions.ValidVariableName $data = $id3->analyze( $file ); if ( ! empty( $data['audio'] ) ) { unset( $data['audio']['streams'] ); $metadata = $data['audio']; } if ( ! empty( $data['fileformat'] ) ) { $metadata['fileformat'] = $data['fileformat']; } if ( ! empty( $data['filesize'] ) ) { $metadata['filesize'] = (int) $data['filesize']; } if ( ! empty( $data['mime_type'] ) ) { $metadata['mime_type'] = $data['mime_type']; } if ( ! empty( $data['playtime_seconds'] ) ) { $metadata['length'] = (int) round( $data['playtime_seconds'] ); } if ( ! empty( $data['playtime_string'] ) ) { $metadata['length_formatted'] = $data['playtime_string']; } if ( empty( $metadata['created_timestamp'] ) ) { $created_timestamp = wp_get_media_creation_timestamp( $data ); if ( false !== $created_timestamp ) { $metadata['created_timestamp'] = $created_timestamp; } } wp_add_id3_tag_data( $metadata, $data ); $file_format = isset( $metadata['fileformat'] ) ? $metadata['fileformat'] : null; /** * Filters the array of metadata retrieved from an audio file. * * In core, usually this selection is what is stored. * More complete data can be parsed from the `$data` parameter. * * @since 6.1.0 * * @param array $metadata Filtered audio metadata. * @param string $file Path to audio file. * @param string|null $file_format File format of audio, as analyzed by getID3. * Null if unknown. * @param array $data Raw metadata from getID3. */ return apply_filters( 'wp_read_audio_metadata', $metadata, $file, $file_format, $data ); } /** * Parses creation date from media metadata. * * The getID3 library doesn't have a standard method for getting creation dates, * so the location of this data can vary based on the MIME type. * * @since 4.9.0 * * @link https://github.com/JamesHeinrich/getID3/blob/master/structure.txt * * @param array $metadata The metadata returned by getID3::analyze(). * @return int|false A UNIX timestamp for the media's creation date if available * or a boolean FALSE if a timestamp could not be determined. */ function wp_get_media_creation_timestamp( $metadata ) { $creation_date = false; if ( empty( $metadata['fileformat'] ) ) { return $creation_date; } switch ( $metadata['fileformat'] ) { case 'asf': if ( isset( $metadata['asf']['file_properties_object']['creation_date_unix'] ) ) { $creation_date = (int) $metadata['asf']['file_properties_object']['creation_date_unix']; } break; case 'matroska': case 'webm': if ( isset( $metadata['matroska']['comments']['creation_time'][0] ) ) { $creation_date = strtotime( $metadata['matroska']['comments']['creation_time'][0] ); } elseif ( isset( $metadata['matroska']['info'][0]['DateUTC_unix'] ) ) { $creation_date = (int) $metadata['matroska']['info'][0]['DateUTC_unix']; } break; case 'quicktime': case 'mp4': if ( isset( $metadata['quicktime']['moov']['subatoms'][0]['creation_time_unix'] ) ) { $creation_date = (int) $metadata['quicktime']['moov']['subatoms'][0]['creation_time_unix']; } break; } return $creation_date; } /** * Encapsulates the logic for Attach/Detach actions. * * @since 4.2.0 * * @global wpdb $wpdb WordPress database abstraction object. * * @param int $parent_id Attachment parent ID. * @param string $action Optional. Attach/detach action. Accepts 'attach' or 'detach'. * Default 'attach'. */ function wp_media_attach_action( $parent_id, $action = 'attach' ) { global $wpdb; if ( ! $parent_id ) { return; } if ( ! current_user_can( 'edit_post', $parent_id ) ) { wp_die( __( 'Sorry, you are not allowed to edit this post.' ) ); } $ids = array(); foreach ( (array) $_REQUEST['media'] as $attachment_id ) { $attachment_id = (int) $attachment_id; if ( ! current_user_can( 'edit_post', $attachment_id ) ) { continue; } $ids[] = $attachment_id; } if ( ! empty( $ids ) ) { $ids_string = implode( ',', $ids ); if ( 'attach' === $action ) { $result = $wpdb->query( $wpdb->prepare( "UPDATE $wpdb->posts SET post_parent = %d WHERE post_type = 'attachment' AND ID IN ( $ids_string )", $parent_id ) ); } else { $result = $wpdb->query( "UPDATE $wpdb->posts SET post_parent = 0 WHERE post_type = 'attachment' AND ID IN ( $ids_string )" ); } } if ( isset( $result ) ) { foreach ( $ids as $attachment_id ) { /** * Fires when media is attached or detached from a post. * * @since 5.5.0 * * @param string $action Attach/detach action. Accepts 'attach' or 'detach'. * @param int $attachment_id The attachment ID. * @param int $parent_id Attachment parent ID. */ do_action( 'wp_media_attach_action', $action, $attachment_id, $parent_id ); clean_attachment_cache( $attachment_id ); } $location = 'upload.php'; $referer = wp_get_referer(); if ( $referer ) { if ( str_contains( $referer, 'upload.php' ) ) { $location = remove_query_arg( array( 'attached', 'detach' ), $referer ); } } $key = 'attach' === $action ? 'attached' : 'detach'; $location = add_query_arg( array( $key => $result ), $location ); wp_redirect( $location ); exit; } } class-walker-nav-menu-checklist.php 0000644 00000012774 14735706075 0013371 0 ustar 00 <?php /** * Navigation Menu API: Walker_Nav_Menu_Checklist class * * @package WordPress * @subpackage Administration * @since 4.4.0 */ /** * Create HTML list of nav menu input items. * * @since 3.0.0 * @uses Walker_Nav_Menu */ class Walker_Nav_Menu_Checklist extends Walker_Nav_Menu { /** * @param array|false $fields Database fields to use. */ public function __construct( $fields = false ) { if ( $fields ) { $this->db_fields = $fields; } } /** * Starts the list before the elements are added. * * @see Walker_Nav_Menu::start_lvl() * * @since 3.0.0 * * @param string $output Used to append additional content (passed by reference). * @param int $depth Depth of page. Used for padding. * @param stdClass $args Not used. */ public function start_lvl( &$output, $depth = 0, $args = null ) { $indent = str_repeat( "\t", $depth ); $output .= "\n$indent<ul class='children'>\n"; } /** * Ends the list of after the elements are added. * * @see Walker_Nav_Menu::end_lvl() * * @since 3.0.0 * * @param string $output Used to append additional content (passed by reference). * @param int $depth Depth of page. Used for padding. * @param stdClass $args Not used. */ public function end_lvl( &$output, $depth = 0, $args = null ) { $indent = str_repeat( "\t", $depth ); $output .= "\n$indent</ul>"; } /** * Start the element output. * * @see Walker_Nav_Menu::start_el() * * @since 3.0.0 * @since 5.9.0 Renamed `$item` to `$data_object` and `$id` to `$current_object_id` * to match parent class for PHP 8 named parameter support. * * @global int $_nav_menu_placeholder * @global int|string $nav_menu_selected_id * * @param string $output Used to append additional content (passed by reference). * @param WP_Post $data_object Menu item data object. * @param int $depth Depth of menu item. Used for padding. * @param stdClass $args Not used. * @param int $current_object_id Optional. ID of the current menu item. Default 0. */ public function start_el( &$output, $data_object, $depth = 0, $args = null, $current_object_id = 0 ) { global $_nav_menu_placeholder, $nav_menu_selected_id; // Restores the more descriptive, specific name for use within this method. $menu_item = $data_object; $_nav_menu_placeholder = ( 0 > $_nav_menu_placeholder ) ? (int) $_nav_menu_placeholder - 1 : -1; $possible_object_id = isset( $menu_item->post_type ) && 'nav_menu_item' === $menu_item->post_type ? $menu_item->object_id : $_nav_menu_placeholder; $possible_db_id = ( ! empty( $menu_item->ID ) ) && ( 0 < $possible_object_id ) ? (int) $menu_item->ID : 0; $indent = ( $depth ) ? str_repeat( "\t", $depth ) : ''; $output .= $indent . '<li>'; $output .= '<label class="menu-item-title">'; $output .= '<input type="checkbox"' . wp_nav_menu_disabled_check( $nav_menu_selected_id, false ) . ' class="menu-item-checkbox'; if ( ! empty( $menu_item->front_or_home ) ) { $output .= ' add-to-top'; } $output .= '" name="menu-item[' . $possible_object_id . '][menu-item-object-id]" value="' . esc_attr( $menu_item->object_id ) . '" /> '; if ( ! empty( $menu_item->label ) ) { $title = $menu_item->label; } elseif ( isset( $menu_item->post_type ) ) { /** This filter is documented in wp-includes/post-template.php */ $title = apply_filters( 'the_title', $menu_item->post_title, $menu_item->ID ); } $output .= isset( $title ) ? esc_html( $title ) : esc_html( $menu_item->title ); if ( empty( $menu_item->label ) && isset( $menu_item->post_type ) && 'page' === $menu_item->post_type ) { // Append post states. $output .= _post_states( $menu_item, false ); } $output .= '</label>'; // Menu item hidden fields. $output .= '<input type="hidden" class="menu-item-db-id" name="menu-item[' . $possible_object_id . '][menu-item-db-id]" value="' . $possible_db_id . '" />'; $output .= '<input type="hidden" class="menu-item-object" name="menu-item[' . $possible_object_id . '][menu-item-object]" value="' . esc_attr( $menu_item->object ) . '" />'; $output .= '<input type="hidden" class="menu-item-parent-id" name="menu-item[' . $possible_object_id . '][menu-item-parent-id]" value="' . esc_attr( $menu_item->menu_item_parent ) . '" />'; $output .= '<input type="hidden" class="menu-item-type" name="menu-item[' . $possible_object_id . '][menu-item-type]" value="' . esc_attr( $menu_item->type ) . '" />'; $output .= '<input type="hidden" class="menu-item-title" name="menu-item[' . $possible_object_id . '][menu-item-title]" value="' . esc_attr( $menu_item->title ) . '" />'; $output .= '<input type="hidden" class="menu-item-url" name="menu-item[' . $possible_object_id . '][menu-item-url]" value="' . esc_attr( $menu_item->url ) . '" />'; $output .= '<input type="hidden" class="menu-item-target" name="menu-item[' . $possible_object_id . '][menu-item-target]" value="' . esc_attr( $menu_item->target ) . '" />'; $output .= '<input type="hidden" class="menu-item-attr-title" name="menu-item[' . $possible_object_id . '][menu-item-attr-title]" value="' . esc_attr( $menu_item->attr_title ) . '" />'; $output .= '<input type="hidden" class="menu-item-classes" name="menu-item[' . $possible_object_id . '][menu-item-classes]" value="' . esc_attr( implode( ' ', $menu_item->classes ) ) . '" />'; $output .= '<input type="hidden" class="menu-item-xfn" name="menu-item[' . $possible_object_id . '][menu-item-xfn]" value="' . esc_attr( $menu_item->xfn ) . '" />'; } } class-walker-nav-menu-edit.php 0000644 00000033544 14735706075 0012343 0 ustar 00 <?php /** * Navigation Menu API: Walker_Nav_Menu_Edit class * * @package WordPress * @subpackage Administration * @since 4.4.0 */ /** * Create HTML list of nav menu input items. * * @since 3.0.0 * * @see Walker_Nav_Menu */ class Walker_Nav_Menu_Edit extends Walker_Nav_Menu { /** * Starts the list before the elements are added. * * @see Walker_Nav_Menu::start_lvl() * * @since 3.0.0 * * @param string $output Passed by reference. * @param int $depth Depth of menu item. Used for padding. * @param stdClass $args Not used. */ public function start_lvl( &$output, $depth = 0, $args = null ) {} /** * Ends the list of after the elements are added. * * @see Walker_Nav_Menu::end_lvl() * * @since 3.0.0 * * @param string $output Passed by reference. * @param int $depth Depth of menu item. Used for padding. * @param stdClass $args Not used. */ public function end_lvl( &$output, $depth = 0, $args = null ) {} /** * Start the element output. * * @see Walker_Nav_Menu::start_el() * @since 3.0.0 * @since 5.9.0 Renamed `$item` to `$data_object` and `$id` to `$current_object_id` * to match parent class for PHP 8 named parameter support. * * @global int $_wp_nav_menu_max_depth * * @param string $output Used to append additional content (passed by reference). * @param WP_Post $data_object Menu item data object. * @param int $depth Depth of menu item. Used for padding. * @param stdClass $args Not used. * @param int $current_object_id Optional. ID of the current menu item. Default 0. */ public function start_el( &$output, $data_object, $depth = 0, $args = null, $current_object_id = 0 ) { global $_wp_nav_menu_max_depth; // Restores the more descriptive, specific name for use within this method. $menu_item = $data_object; $_wp_nav_menu_max_depth = $depth > $_wp_nav_menu_max_depth ? $depth : $_wp_nav_menu_max_depth; ob_start(); $item_id = esc_attr( $menu_item->ID ); $removed_args = array( 'action', 'customlink-tab', 'edit-menu-item', 'menu-item', 'page-tab', '_wpnonce', ); $original_title = false; if ( 'taxonomy' === $menu_item->type ) { $original_object = get_term( (int) $menu_item->object_id, $menu_item->object ); if ( $original_object && ! is_wp_error( $original_object ) ) { $original_title = $original_object->name; } } elseif ( 'post_type' === $menu_item->type ) { $original_object = get_post( $menu_item->object_id ); if ( $original_object ) { $original_title = get_the_title( $original_object->ID ); } } elseif ( 'post_type_archive' === $menu_item->type ) { $original_object = get_post_type_object( $menu_item->object ); if ( $original_object ) { $original_title = $original_object->labels->archives; } } $classes = array( 'menu-item menu-item-depth-' . $depth, 'menu-item-' . esc_attr( $menu_item->object ), 'menu-item-edit-' . ( ( isset( $_GET['edit-menu-item'] ) && $item_id === $_GET['edit-menu-item'] ) ? 'active' : 'inactive' ), ); $title = $menu_item->title; if ( ! empty( $menu_item->_invalid ) ) { $classes[] = 'menu-item-invalid'; /* translators: %s: Title of an invalid menu item. */ $title = sprintf( __( '%s (Invalid)' ), $menu_item->title ); } elseif ( isset( $menu_item->post_status ) && 'draft' === $menu_item->post_status ) { $classes[] = 'pending'; /* translators: %s: Title of a menu item in draft status. */ $title = sprintf( __( '%s (Pending)' ), $menu_item->title ); } $title = ( ! isset( $menu_item->label ) || '' === $menu_item->label ) ? $title : $menu_item->label; $submenu_text = ''; if ( 0 === $depth ) { $submenu_text = 'style="display: none;"'; } ?> <li id="menu-item-<?php echo $item_id; ?>" class="<?php echo implode( ' ', $classes ); ?>"> <div class="menu-item-bar"> <div class="menu-item-handle"> <label class="item-title" for="menu-item-checkbox-<?php echo $item_id; ?>"> <input id="menu-item-checkbox-<?php echo $item_id; ?>" type="checkbox" class="menu-item-checkbox" data-menu-item-id="<?php echo $item_id; ?>" disabled="disabled" /> <span class="menu-item-title"><?php echo esc_html( $title ); ?></span> <span class="is-submenu" <?php echo $submenu_text; ?>><?php _e( 'sub item' ); ?></span> </label> <span class="item-controls"> <span class="item-type"><?php echo esc_html( $menu_item->type_label ); ?></span> <span class="item-order hide-if-js"> <?php printf( '<a href="%s" class="item-move-up" aria-label="%s">↑</a>', wp_nonce_url( add_query_arg( array( 'action' => 'move-up-menu-item', 'menu-item' => $item_id, ), remove_query_arg( $removed_args, admin_url( 'nav-menus.php' ) ) ), 'move-menu_item' ), esc_attr__( 'Move up' ) ); ?> | <?php printf( '<a href="%s" class="item-move-down" aria-label="%s">↓</a>', wp_nonce_url( add_query_arg( array( 'action' => 'move-down-menu-item', 'menu-item' => $item_id, ), remove_query_arg( $removed_args, admin_url( 'nav-menus.php' ) ) ), 'move-menu_item' ), esc_attr__( 'Move down' ) ); ?> </span> <?php if ( isset( $_GET['edit-menu-item'] ) && $item_id === $_GET['edit-menu-item'] ) { $edit_url = admin_url( 'nav-menus.php' ); } else { $edit_url = add_query_arg( array( 'edit-menu-item' => $item_id, ), remove_query_arg( $removed_args, admin_url( 'nav-menus.php#menu-item-settings-' . $item_id ) ) ); } printf( '<a class="item-edit" id="edit-%s" href="%s" aria-label="%s"><span class="screen-reader-text">%s</span></a>', $item_id, esc_url( $edit_url ), esc_attr__( 'Edit menu item' ), /* translators: Hidden accessibility text. */ __( 'Edit' ) ); ?> </span> </div> </div> <div class="menu-item-settings wp-clearfix" id="menu-item-settings-<?php echo $item_id; ?>"> <?php if ( 'custom' === $menu_item->type ) : ?> <p class="field-url description description-wide"> <label for="edit-menu-item-url-<?php echo $item_id; ?>"> <?php _e( 'URL' ); ?><br /> <input type="text" id="edit-menu-item-url-<?php echo $item_id; ?>" class="widefat code edit-menu-item-url" name="menu-item-url[<?php echo $item_id; ?>]" value="<?php echo esc_attr( $menu_item->url ); ?>" /> </label> </p> <?php endif; ?> <p class="description description-wide"> <label for="edit-menu-item-title-<?php echo $item_id; ?>"> <?php _e( 'Navigation Label' ); ?><br /> <input type="text" id="edit-menu-item-title-<?php echo $item_id; ?>" class="widefat edit-menu-item-title" name="menu-item-title[<?php echo $item_id; ?>]" value="<?php echo esc_attr( $menu_item->title ); ?>" /> </label> </p> <p class="field-title-attribute field-attr-title description description-wide"> <label for="edit-menu-item-attr-title-<?php echo $item_id; ?>"> <?php _e( 'Title Attribute' ); ?><br /> <input type="text" id="edit-menu-item-attr-title-<?php echo $item_id; ?>" class="widefat edit-menu-item-attr-title" name="menu-item-attr-title[<?php echo $item_id; ?>]" value="<?php echo esc_attr( $menu_item->post_excerpt ); ?>" /> </label> </p> <p class="field-link-target description"> <label for="edit-menu-item-target-<?php echo $item_id; ?>"> <input type="checkbox" id="edit-menu-item-target-<?php echo $item_id; ?>" value="_blank" name="menu-item-target[<?php echo $item_id; ?>]"<?php checked( $menu_item->target, '_blank' ); ?> /> <?php _e( 'Open link in a new tab' ); ?> </label> </p> <div class="description-group"> <p class="field-css-classes description description-thin"> <label for="edit-menu-item-classes-<?php echo $item_id; ?>"> <?php _e( 'CSS Classes (optional)' ); ?><br /> <input type="text" id="edit-menu-item-classes-<?php echo $item_id; ?>" class="widefat code edit-menu-item-classes" name="menu-item-classes[<?php echo $item_id; ?>]" value="<?php echo esc_attr( implode( ' ', $menu_item->classes ) ); ?>" /> </label> </p> <p class="field-xfn description description-thin"> <label for="edit-menu-item-xfn-<?php echo $item_id; ?>"> <?php _e( 'Link Relationship (XFN)' ); ?><br /> <input type="text" id="edit-menu-item-xfn-<?php echo $item_id; ?>" class="widefat code edit-menu-item-xfn" name="menu-item-xfn[<?php echo $item_id; ?>]" value="<?php echo esc_attr( $menu_item->xfn ); ?>" /> </label> </p> </div> <p class="field-description description description-wide"> <label for="edit-menu-item-description-<?php echo $item_id; ?>"> <?php _e( 'Description' ); ?><br /> <textarea id="edit-menu-item-description-<?php echo $item_id; ?>" class="widefat edit-menu-item-description" rows="3" cols="20" name="menu-item-description[<?php echo $item_id; ?>]"><?php echo esc_html( $menu_item->description ); // textarea_escaped ?></textarea> <span class="description"><?php _e( 'The description will be displayed in the menu if the active theme supports it.' ); ?></span> </label> </p> <?php /** * Update parent and order of menu item using select inputs. * * @since 6.7.0 */ ?> <div class="field-move-combo description-group"> <p class="description description-wide"> <label for="edit-menu-item-parent-<?php echo $item_id; ?>"> <?php _e( 'Menu Parent' ); ?> </label> <select class="edit-menu-item-parent widefat" id="edit-menu-item-parent-<?php echo $item_id; ?>" name="menu-item-parent[<?php echo $item_id; ?>]"> </select> </p> <p class="description description-wide"> <label for="edit-menu-item-order-<?php echo $item_id; ?>"> <?php _e( 'Menu Order' ); ?> </label> <select class="edit-menu-item-order widefat" id="edit-menu-item-order-<?php echo $item_id; ?>" name="menu-item-order[<?php echo $item_id; ?>]"> </select> </p> </div> <?php /** * Fires just before the move buttons of a nav menu item in the menu editor. * * @since 5.4.0 * * @param string $item_id Menu item ID as a numeric string. * @param WP_Post $menu_item Menu item data object. * @param int $depth Depth of menu item. Used for padding. * @param stdClass|null $args An object of menu item arguments. * @param int $current_object_id Nav menu ID. */ do_action( 'wp_nav_menu_item_custom_fields', $item_id, $menu_item, $depth, $args, $current_object_id ); ?> <fieldset class="field-move hide-if-no-js description description-wide"> <span class="field-move-visual-label" aria-hidden="true"><?php _e( 'Move' ); ?></span> <button type="button" class="button-link menus-move menus-move-up" data-dir="up"><?php _e( 'Up one' ); ?></button> <button type="button" class="button-link menus-move menus-move-down" data-dir="down"><?php _e( 'Down one' ); ?></button> <button type="button" class="button-link menus-move menus-move-left" data-dir="left"></button> <button type="button" class="button-link menus-move menus-move-right" data-dir="right"></button> <button type="button" class="button-link menus-move menus-move-top" data-dir="top"><?php _e( 'To the top' ); ?></button> </fieldset> <div class="menu-item-actions description-wide submitbox"> <?php if ( 'custom' !== $menu_item->type && false !== $original_title ) : ?> <p class="link-to-original"> <?php /* translators: %s: Link to menu item's original object. */ printf( __( 'Original: %s' ), '<a href="' . esc_url( $menu_item->url ) . '">' . esc_html( $original_title ) . '</a>' ); ?> </p> <?php endif; ?> <?php printf( '<a class="item-delete submitdelete deletion" id="delete-%s" href="%s">%s</a>', $item_id, wp_nonce_url( add_query_arg( array( 'action' => 'delete-menu-item', 'menu-item' => $item_id, ), admin_url( 'nav-menus.php' ) ), 'delete-menu_item_' . $item_id ), __( 'Remove' ) ); ?> <span class="meta-sep hide-if-no-js"> | </span> <?php printf( '<a class="item-cancel submitcancel hide-if-no-js" id="cancel-%s" href="%s#menu-item-settings-%s">%s</a>', $item_id, esc_url( add_query_arg( array( 'edit-menu-item' => $item_id, 'cancel' => time(), ), admin_url( 'nav-menus.php' ) ) ), $item_id, __( 'Cancel' ) ); ?> </div> <input class="menu-item-data-db-id" type="hidden" name="menu-item-db-id[<?php echo $item_id; ?>]" value="<?php echo $item_id; ?>" /> <input class="menu-item-data-object-id" type="hidden" name="menu-item-object-id[<?php echo $item_id; ?>]" value="<?php echo esc_attr( $menu_item->object_id ); ?>" /> <input class="menu-item-data-object" type="hidden" name="menu-item-object[<?php echo $item_id; ?>]" value="<?php echo esc_attr( $menu_item->object ); ?>" /> <input class="menu-item-data-parent-id" type="hidden" name="menu-item-parent-id[<?php echo $item_id; ?>]" value="<?php echo esc_attr( $menu_item->menu_item_parent ); ?>" /> <input class="menu-item-data-position" type="hidden" name="menu-item-position[<?php echo $item_id; ?>]" value="<?php echo esc_attr( $menu_item->menu_order ); ?>" /> <input class="menu-item-data-type" type="hidden" name="menu-item-type[<?php echo $item_id; ?>]" value="<?php echo esc_attr( $menu_item->type ); ?>" /> </div><!-- .menu-item-settings--> <ul class="menu-item-transport"></ul> <?php $output .= ob_get_clean(); } } user.php 0000644 00000055732 14735706075 0006265 0 ustar 00 <?php /** * WordPress user administration API. * * @package WordPress * @subpackage Administration */ /** * Creates a new user from the "Users" form using $_POST information. * * @since 2.0.0 * * @return int|WP_Error WP_Error or User ID. */ function add_user() { return edit_user(); } /** * Edit user settings based on contents of $_POST * * Used on user-edit.php and profile.php to manage and process user options, passwords etc. * * @since 2.0.0 * * @param int $user_id Optional. User ID. * @return int|WP_Error User ID of the updated user or WP_Error on failure. */ function edit_user( $user_id = 0 ) { $wp_roles = wp_roles(); $user = new stdClass(); $user_id = (int) $user_id; if ( $user_id ) { $update = true; $user->ID = $user_id; $userdata = get_userdata( $user_id ); $user->user_login = wp_slash( $userdata->user_login ); } else { $update = false; } if ( ! $update && isset( $_POST['user_login'] ) ) { $user->user_login = sanitize_user( wp_unslash( $_POST['user_login'] ), true ); } $pass1 = ''; $pass2 = ''; if ( isset( $_POST['pass1'] ) ) { $pass1 = trim( $_POST['pass1'] ); } if ( isset( $_POST['pass2'] ) ) { $pass2 = trim( $_POST['pass2'] ); } if ( isset( $_POST['role'] ) && current_user_can( 'promote_users' ) && ( ! $user_id || current_user_can( 'promote_user', $user_id ) ) ) { $new_role = sanitize_text_field( $_POST['role'] ); // If the new role isn't editable by the logged-in user die with error. $editable_roles = get_editable_roles(); if ( ! empty( $new_role ) && empty( $editable_roles[ $new_role ] ) ) { wp_die( __( 'Sorry, you are not allowed to give users that role.' ), 403 ); } $potential_role = isset( $wp_roles->role_objects[ $new_role ] ) ? $wp_roles->role_objects[ $new_role ] : false; /* * Don't let anyone with 'promote_users' edit their own role to something without it. * Multisite super admins can freely edit their roles, they possess all caps. */ if ( ( is_multisite() && current_user_can( 'manage_network_users' ) ) || get_current_user_id() !== $user_id || ( $potential_role && $potential_role->has_cap( 'promote_users' ) ) ) { $user->role = $new_role; } } if ( isset( $_POST['email'] ) ) { $user->user_email = sanitize_text_field( wp_unslash( $_POST['email'] ) ); } if ( isset( $_POST['url'] ) ) { if ( empty( $_POST['url'] ) || 'http://' === $_POST['url'] ) { $user->user_url = ''; } else { $user->user_url = sanitize_url( $_POST['url'] ); $protocols = implode( '|', array_map( 'preg_quote', wp_allowed_protocols() ) ); $user->user_url = preg_match( '/^(' . $protocols . '):/is', $user->user_url ) ? $user->user_url : 'http://' . $user->user_url; } } if ( isset( $_POST['first_name'] ) ) { $user->first_name = sanitize_text_field( $_POST['first_name'] ); } if ( isset( $_POST['last_name'] ) ) { $user->last_name = sanitize_text_field( $_POST['last_name'] ); } if ( isset( $_POST['nickname'] ) ) { $user->nickname = sanitize_text_field( $_POST['nickname'] ); } if ( isset( $_POST['display_name'] ) ) { $user->display_name = sanitize_text_field( $_POST['display_name'] ); } if ( isset( $_POST['description'] ) ) { $user->description = trim( $_POST['description'] ); } foreach ( wp_get_user_contact_methods( $user ) as $method => $name ) { if ( isset( $_POST[ $method ] ) ) { $user->$method = sanitize_text_field( $_POST[ $method ] ); } } if ( isset( $_POST['locale'] ) ) { $locale = sanitize_text_field( $_POST['locale'] ); if ( 'site-default' === $locale ) { $locale = ''; } elseif ( '' === $locale ) { $locale = 'en_US'; } elseif ( ! in_array( $locale, get_available_languages(), true ) ) { if ( current_user_can( 'install_languages' ) && wp_can_install_language_pack() ) { if ( ! wp_download_language_pack( $locale ) ) { $locale = ''; } } else { $locale = ''; } } $user->locale = $locale; } if ( $update ) { $user->rich_editing = isset( $_POST['rich_editing'] ) && 'false' === $_POST['rich_editing'] ? 'false' : 'true'; $user->syntax_highlighting = isset( $_POST['syntax_highlighting'] ) && 'false' === $_POST['syntax_highlighting'] ? 'false' : 'true'; $user->admin_color = isset( $_POST['admin_color'] ) ? sanitize_text_field( $_POST['admin_color'] ) : 'fresh'; $user->show_admin_bar_front = isset( $_POST['admin_bar_front'] ) ? 'true' : 'false'; } $user->comment_shortcuts = isset( $_POST['comment_shortcuts'] ) && 'true' === $_POST['comment_shortcuts'] ? 'true' : ''; $user->use_ssl = 0; if ( ! empty( $_POST['use_ssl'] ) ) { $user->use_ssl = 1; } $errors = new WP_Error(); /* checking that username has been typed */ if ( '' === $user->user_login ) { $errors->add( 'user_login', __( '<strong>Error:</strong> Please enter a username.' ) ); } /* checking that nickname has been typed */ if ( $update && empty( $user->nickname ) ) { $errors->add( 'nickname', __( '<strong>Error:</strong> Please enter a nickname.' ) ); } /** * Fires before the password and confirm password fields are checked for congruity. * * @since 1.5.1 * * @param string $user_login The username. * @param string $pass1 The password (passed by reference). * @param string $pass2 The confirmed password (passed by reference). */ do_action_ref_array( 'check_passwords', array( $user->user_login, &$pass1, &$pass2 ) ); // Check for blank password when adding a user. if ( ! $update && empty( $pass1 ) ) { $errors->add( 'pass', __( '<strong>Error:</strong> Please enter a password.' ), array( 'form-field' => 'pass1' ) ); } // Check for "\" in password. if ( str_contains( wp_unslash( $pass1 ), '\\' ) ) { $errors->add( 'pass', __( '<strong>Error:</strong> Passwords may not contain the character "\\".' ), array( 'form-field' => 'pass1' ) ); } // Checking the password has been typed twice the same. if ( ( $update || ! empty( $pass1 ) ) && $pass1 !== $pass2 ) { $errors->add( 'pass', __( '<strong>Error:</strong> Passwords do not match. Please enter the same password in both password fields.' ), array( 'form-field' => 'pass1' ) ); } if ( ! empty( $pass1 ) ) { $user->user_pass = $pass1; } if ( ! $update && isset( $_POST['user_login'] ) && ! validate_username( $_POST['user_login'] ) ) { $errors->add( 'user_login', __( '<strong>Error:</strong> This username is invalid because it uses illegal characters. Please enter a valid username.' ) ); } if ( ! $update && username_exists( $user->user_login ) ) { $errors->add( 'user_login', __( '<strong>Error:</strong> This username is already registered. Please choose another one.' ) ); } /** This filter is documented in wp-includes/user.php */ $illegal_logins = (array) apply_filters( 'illegal_user_logins', array() ); if ( in_array( strtolower( $user->user_login ), array_map( 'strtolower', $illegal_logins ), true ) ) { $errors->add( 'invalid_username', __( '<strong>Error:</strong> Sorry, that username is not allowed.' ) ); } // Checking email address. if ( empty( $user->user_email ) ) { $errors->add( 'empty_email', __( '<strong>Error:</strong> Please enter an email address.' ), array( 'form-field' => 'email' ) ); } elseif ( ! is_email( $user->user_email ) ) { $errors->add( 'invalid_email', __( '<strong>Error:</strong> The email address is not correct.' ), array( 'form-field' => 'email' ) ); } else { $owner_id = email_exists( $user->user_email ); if ( $owner_id && ( ! $update || ( $owner_id !== $user->ID ) ) ) { $errors->add( 'email_exists', __( '<strong>Error:</strong> This email is already registered. Please choose another one.' ), array( 'form-field' => 'email' ) ); } } /** * Fires before user profile update errors are returned. * * @since 2.8.0 * * @param WP_Error $errors WP_Error object (passed by reference). * @param bool $update Whether this is a user update. * @param stdClass $user User object (passed by reference). */ do_action_ref_array( 'user_profile_update_errors', array( &$errors, $update, &$user ) ); if ( $errors->has_errors() ) { return $errors; } if ( $update ) { $user_id = wp_update_user( $user ); } else { $user_id = wp_insert_user( $user ); $notify = isset( $_POST['send_user_notification'] ) ? 'both' : 'admin'; /** * Fires after a new user has been created. * * @since 4.4.0 * * @param int|WP_Error $user_id ID of the newly created user or WP_Error on failure. * @param string $notify Type of notification that should happen. See * wp_send_new_user_notifications() for more information. */ do_action( 'edit_user_created_user', $user_id, $notify ); } return $user_id; } /** * Fetch a filtered list of user roles that the current user is * allowed to edit. * * Simple function whose main purpose is to allow filtering of the * list of roles in the $wp_roles object so that plugins can remove * inappropriate ones depending on the situation or user making edits. * Specifically because without filtering anyone with the edit_users * capability can edit others to be administrators, even if they are * only editors or authors. This filter allows admins to delegate * user management. * * @since 2.8.0 * * @return array[] Array of arrays containing role information. */ function get_editable_roles() { $all_roles = wp_roles()->roles; /** * Filters the list of editable roles. * * @since 2.8.0 * * @param array[] $all_roles Array of arrays containing role information. */ $editable_roles = apply_filters( 'editable_roles', $all_roles ); return $editable_roles; } /** * Retrieve user data and filter it. * * @since 2.0.5 * * @param int $user_id User ID. * @return WP_User|false WP_User object on success, false on failure. */ function get_user_to_edit( $user_id ) { $user = get_userdata( $user_id ); if ( $user ) { $user->filter = 'edit'; } return $user; } /** * Retrieve the user's drafts. * * @since 2.0.0 * * @global wpdb $wpdb WordPress database abstraction object. * * @param int $user_id User ID. * @return array */ function get_users_drafts( $user_id ) { global $wpdb; $query = $wpdb->prepare( "SELECT ID, post_title FROM $wpdb->posts WHERE post_type = 'post' AND post_status = 'draft' AND post_author = %d ORDER BY post_modified DESC", $user_id ); /** * Filters the user's drafts query string. * * @since 2.0.0 * * @param string $query The user's drafts query string. */ $query = apply_filters( 'get_users_drafts', $query ); return $wpdb->get_results( $query ); } /** * Delete user and optionally reassign posts and links to another user. * * Note that on a Multisite installation the user only gets removed from the site * and does not get deleted from the database. * * If the `$reassign` parameter is not assigned to a user ID, then all posts will * be deleted of that user. The action {@see 'delete_user'} that is passed the user ID * being deleted will be run after the posts are either reassigned or deleted. * The user meta will also be deleted that are for that user ID. * * @since 2.0.0 * * @global wpdb $wpdb WordPress database abstraction object. * * @param int $id User ID. * @param int $reassign Optional. Reassign posts and links to new User ID. * @return bool True when finished. */ function wp_delete_user( $id, $reassign = null ) { global $wpdb; if ( ! is_numeric( $id ) ) { return false; } $id = (int) $id; $user = new WP_User( $id ); if ( ! $user->exists() ) { return false; } // Normalize $reassign to null or a user ID. 'novalue' was an older default. if ( 'novalue' === $reassign ) { $reassign = null; } elseif ( null !== $reassign ) { $reassign = (int) $reassign; } /** * Fires immediately before a user is deleted from the site. * * Note that on a Multisite installation the user only gets removed from the site * and does not get deleted from the database. * * @since 2.0.0 * @since 5.5.0 Added the `$user` parameter. * * @param int $id ID of the user to delete. * @param int|null $reassign ID of the user to reassign posts and links to. * Default null, for no reassignment. * @param WP_User $user WP_User object of the user to delete. */ do_action( 'delete_user', $id, $reassign, $user ); if ( null === $reassign ) { $post_types_to_delete = array(); foreach ( get_post_types( array(), 'objects' ) as $post_type ) { if ( $post_type->delete_with_user ) { $post_types_to_delete[] = $post_type->name; } elseif ( null === $post_type->delete_with_user && post_type_supports( $post_type->name, 'author' ) ) { $post_types_to_delete[] = $post_type->name; } } /** * Filters the list of post types to delete with a user. * * @since 3.4.0 * * @param string[] $post_types_to_delete Array of post types to delete. * @param int $id User ID. */ $post_types_to_delete = apply_filters( 'post_types_to_delete_with_user', $post_types_to_delete, $id ); $post_types_to_delete = implode( "', '", $post_types_to_delete ); $post_ids = $wpdb->get_col( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_author = %d AND post_type IN ('$post_types_to_delete')", $id ) ); if ( $post_ids ) { foreach ( $post_ids as $post_id ) { wp_delete_post( $post_id ); } } // Clean links. $link_ids = $wpdb->get_col( $wpdb->prepare( "SELECT link_id FROM $wpdb->links WHERE link_owner = %d", $id ) ); if ( $link_ids ) { foreach ( $link_ids as $link_id ) { wp_delete_link( $link_id ); } } } else { $post_ids = $wpdb->get_col( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_author = %d", $id ) ); $wpdb->update( $wpdb->posts, array( 'post_author' => $reassign ), array( 'post_author' => $id ) ); if ( ! empty( $post_ids ) ) { foreach ( $post_ids as $post_id ) { clean_post_cache( $post_id ); } } $link_ids = $wpdb->get_col( $wpdb->prepare( "SELECT link_id FROM $wpdb->links WHERE link_owner = %d", $id ) ); $wpdb->update( $wpdb->links, array( 'link_owner' => $reassign ), array( 'link_owner' => $id ) ); if ( ! empty( $link_ids ) ) { foreach ( $link_ids as $link_id ) { clean_bookmark_cache( $link_id ); } } } // FINALLY, delete user. if ( is_multisite() ) { remove_user_from_blog( $id, get_current_blog_id() ); } else { $meta = $wpdb->get_col( $wpdb->prepare( "SELECT umeta_id FROM $wpdb->usermeta WHERE user_id = %d", $id ) ); foreach ( $meta as $mid ) { delete_metadata_by_mid( 'user', $mid ); } $wpdb->delete( $wpdb->users, array( 'ID' => $id ) ); } clean_user_cache( $user ); /** * Fires immediately after a user is deleted from the site. * * Note that on a Multisite installation the user may not have been deleted from * the database depending on whether `wp_delete_user()` or `wpmu_delete_user()` * was called. * * @since 2.9.0 * @since 5.5.0 Added the `$user` parameter. * * @param int $id ID of the deleted user. * @param int|null $reassign ID of the user to reassign posts and links to. * Default null, for no reassignment. * @param WP_User $user WP_User object of the deleted user. */ do_action( 'deleted_user', $id, $reassign, $user ); return true; } /** * Remove all capabilities from user. * * @since 2.1.0 * * @param int $id User ID. */ function wp_revoke_user( $id ) { $id = (int) $id; $user = new WP_User( $id ); $user->remove_all_caps(); } /** * @since 2.8.0 * * @global int $user_ID * * @param false $errors Deprecated. */ function default_password_nag_handler( $errors = false ) { global $user_ID; // Short-circuit it. if ( ! get_user_option( 'default_password_nag' ) ) { return; } // get_user_setting() = JS-saved UI setting. Else no-js-fallback code. if ( 'hide' === get_user_setting( 'default_password_nag' ) || isset( $_GET['default_password_nag'] ) && '0' === $_GET['default_password_nag'] ) { delete_user_setting( 'default_password_nag' ); update_user_meta( $user_ID, 'default_password_nag', false ); } } /** * @since 2.8.0 * * @param int $user_ID * @param WP_User $old_data */ function default_password_nag_edit_user( $user_ID, $old_data ) { // Short-circuit it. if ( ! get_user_option( 'default_password_nag', $user_ID ) ) { return; } $new_data = get_userdata( $user_ID ); // Remove the nag if the password has been changed. if ( $new_data->user_pass !== $old_data->user_pass ) { delete_user_setting( 'default_password_nag' ); update_user_meta( $user_ID, 'default_password_nag', false ); } } /** * @since 2.8.0 * * @global string $pagenow The filename of the current screen. */ function default_password_nag() { global $pagenow; // Short-circuit it. if ( 'profile.php' === $pagenow || ! get_user_option( 'default_password_nag' ) ) { return; } $default_password_nag_message = sprintf( '<p><strong>%1$s</strong> %2$s</p>', __( 'Notice:' ), __( 'You are using the auto-generated password for your account. Would you like to change it?' ) ); $default_password_nag_message .= sprintf( '<p><a href="%1$s">%2$s</a> | ', esc_url( get_edit_profile_url() . '#password' ), __( 'Yes, take me to my profile page' ) ); $default_password_nag_message .= sprintf( '<a href="%1$s" id="default-password-nag-no">%2$s</a></p>', '?default_password_nag=0', __( 'No thanks, do not remind me again' ) ); wp_admin_notice( $default_password_nag_message, array( 'additional_classes' => array( 'error', 'default-password-nag' ), 'paragraph_wrap' => false, ) ); } /** * @since 3.5.0 * @access private */ function delete_users_add_js() { ?> <script> jQuery( function($) { var submit = $('#submit').prop('disabled', true); $('input[name="delete_option"]').one('change', function() { submit.prop('disabled', false); }); $('#reassign_user').focus( function() { $('#delete_option1').prop('checked', true).trigger('change'); }); } ); </script> <?php } /** * Optional SSL preference that can be turned on by hooking to the 'personal_options' action. * * See the {@see 'personal_options'} action. * * @since 2.7.0 * * @param WP_User $user User data object. */ function use_ssl_preference( $user ) { ?> <tr class="user-use-ssl-wrap"> <th scope="row"><?php _e( 'Use https' ); ?></th> <td><label for="use_ssl"><input name="use_ssl" type="checkbox" id="use_ssl" value="1" <?php checked( '1', $user->use_ssl ); ?> /> <?php _e( 'Always use https when visiting the admin' ); ?></label></td> </tr> <?php } /** * @since MU (3.0.0) * * @param string $text * @return string */ function admin_created_user_email( $text ) { $roles = get_editable_roles(); $role = $roles[ $_REQUEST['role'] ]; if ( '' !== get_bloginfo( 'name' ) ) { $site_title = wp_specialchars_decode( get_bloginfo( 'name' ), ENT_QUOTES ); } else { $site_title = parse_url( home_url(), PHP_URL_HOST ); } return sprintf( /* translators: 1: Site title, 2: Site URL, 3: User role. */ __( 'Hi, You\'ve been invited to join \'%1$s\' at %2$s with the role of %3$s. If you do not want to join this site please ignore this email. This invitation will expire in a few days. Please click the following link to activate your user account: %%s' ), $site_title, home_url(), wp_specialchars_decode( translate_user_role( $role['name'] ) ) ); } /** * Checks if the Authorize Application Password request is valid. * * @since 5.6.0 * @since 6.2.0 Allow insecure HTTP connections for the local environment. * @since 6.3.2 Validates the success and reject URLs to prevent `javascript` pseudo protocol from being executed. * * @param array $request { * The array of request data. All arguments are optional and may be empty. * * @type string $app_name The suggested name of the application. * @type string $app_id A UUID provided by the application to uniquely identify it. * @type string $success_url The URL the user will be redirected to after approving the application. * @type string $reject_url The URL the user will be redirected to after rejecting the application. * } * @param WP_User $user The user authorizing the application. * @return true|WP_Error True if the request is valid, a WP_Error object contains errors if not. */ function wp_is_authorize_application_password_request_valid( $request, $user ) { $error = new WP_Error(); if ( isset( $request['success_url'] ) ) { $validated_success_url = wp_is_authorize_application_redirect_url_valid( $request['success_url'] ); if ( is_wp_error( $validated_success_url ) ) { $error->add( $validated_success_url->get_error_code(), $validated_success_url->get_error_message() ); } } if ( isset( $request['reject_url'] ) ) { $validated_reject_url = wp_is_authorize_application_redirect_url_valid( $request['reject_url'] ); if ( is_wp_error( $validated_reject_url ) ) { $error->add( $validated_reject_url->get_error_code(), $validated_reject_url->get_error_message() ); } } if ( ! empty( $request['app_id'] ) && ! wp_is_uuid( $request['app_id'] ) ) { $error->add( 'invalid_app_id', __( 'The application ID must be a UUID.' ) ); } /** * Fires before application password errors are returned. * * @since 5.6.0 * * @param WP_Error $error The error object. * @param array $request The array of request data. * @param WP_User $user The user authorizing the application. */ do_action( 'wp_authorize_application_password_request_errors', $error, $request, $user ); if ( $error->has_errors() ) { return $error; } return true; } /** * Validates the redirect URL protocol scheme. The protocol can be anything except `http` and `javascript`. * * @since 6.3.2 * * @param string $url The redirect URL to be validated. * @return true|WP_Error True if the redirect URL is valid, a WP_Error object otherwise. */ function wp_is_authorize_application_redirect_url_valid( $url ) { $bad_protocols = array( 'javascript', 'data' ); if ( empty( $url ) ) { return true; } // Based on https://www.rfc-editor.org/rfc/rfc2396#section-3.1 $valid_scheme_regex = '/^[a-zA-Z][a-zA-Z0-9+.-]*:/'; if ( ! preg_match( $valid_scheme_regex, $url ) ) { return new WP_Error( 'invalid_redirect_url_format', __( 'Invalid URL format.' ) ); } /** * Filters the list of invalid protocols used in applications redirect URLs. * * @since 6.3.2 * * @param string[] $bad_protocols Array of invalid protocols. * @param string $url The redirect URL to be validated. */ $invalid_protocols = apply_filters( 'wp_authorize_application_redirect_url_invalid_protocols', $bad_protocols, $url ); $invalid_protocols = array_map( 'strtolower', $invalid_protocols ); $scheme = wp_parse_url( $url, PHP_URL_SCHEME ); $host = wp_parse_url( $url, PHP_URL_HOST ); $is_local = 'local' === wp_get_environment_type(); // Validates if the proper URI format is applied to the URL. if ( empty( $host ) || empty( $scheme ) || in_array( strtolower( $scheme ), $invalid_protocols, true ) ) { return new WP_Error( 'invalid_redirect_url_format', __( 'Invalid URL format.' ) ); } if ( 'http' === $scheme && ! $is_local ) { return new WP_Error( 'invalid_redirect_scheme', __( 'The URL must be served over a secure connection.' ) ); } return true; } export.php 0000644 00000061735 14735706075 0006630 0 ustar 00 <?php /** * WordPress Export Administration API * * @package WordPress * @subpackage Administration */ /** * Version number for the export format. * * Bump this when something changes that might affect compatibility. * * @since 2.5.0 */ define( 'WXR_VERSION', '1.2' ); /** * Generates the WXR export file for download. * * Default behavior is to export all content, however, note that post content will only * be exported for post types with the `can_export` argument enabled. Any posts with the * 'auto-draft' status will be skipped. * * @since 2.1.0 * @since 5.7.0 Added the `post_modified` and `post_modified_gmt` fields to the export file. * * @global wpdb $wpdb WordPress database abstraction object. * @global WP_Post $post Global post object. * * @param array $args { * Optional. Arguments for generating the WXR export file for download. Default empty array. * * @type string $content Type of content to export. If set, only the post content of this post type * will be exported. Accepts 'all', 'post', 'page', 'attachment', or a defined * custom post. If an invalid custom post type is supplied, every post type for * which `can_export` is enabled will be exported instead. If a valid custom post * type is supplied but `can_export` is disabled, then 'posts' will be exported * instead. When 'all' is supplied, only post types with `can_export` enabled will * be exported. Default 'all'. * @type string $author Author to export content for. Only used when `$content` is 'post', 'page', or * 'attachment'. Accepts false (all) or a specific author ID. Default false (all). * @type string $category Category (slug) to export content for. Used only when `$content` is 'post'. If * set, only post content assigned to `$category` will be exported. Accepts false * or a specific category slug. Default is false (all categories). * @type string $start_date Start date to export content from. Expected date format is 'Y-m-d'. Used only * when `$content` is 'post', 'page' or 'attachment'. Default false (since the * beginning of time). * @type string $end_date End date to export content to. Expected date format is 'Y-m-d'. Used only when * `$content` is 'post', 'page' or 'attachment'. Default false (latest publish date). * @type string $status Post status to export posts for. Used only when `$content` is 'post' or 'page'. * Accepts false (all statuses except 'auto-draft'), or a specific status, i.e. * 'publish', 'pending', 'draft', 'auto-draft', 'future', 'private', 'inherit', or * 'trash'. Default false (all statuses except 'auto-draft'). * } */ function export_wp( $args = array() ) { global $wpdb, $post; $defaults = array( 'content' => 'all', 'author' => false, 'category' => false, 'start_date' => false, 'end_date' => false, 'status' => false, ); $args = wp_parse_args( $args, $defaults ); /** * Fires at the beginning of an export, before any headers are sent. * * @since 2.3.0 * * @param array $args An array of export arguments. */ do_action( 'export_wp', $args ); $sitename = sanitize_key( get_bloginfo( 'name' ) ); if ( ! empty( $sitename ) ) { $sitename .= '.'; } $date = gmdate( 'Y-m-d' ); $wp_filename = $sitename . 'WordPress.' . $date . '.xml'; /** * Filters the export filename. * * @since 4.4.0 * * @param string $wp_filename The name of the file for download. * @param string $sitename The site name. * @param string $date Today's date, formatted. */ $filename = apply_filters( 'export_wp_filename', $wp_filename, $sitename, $date ); header( 'Content-Description: File Transfer' ); header( 'Content-Disposition: attachment; filename=' . $filename ); header( 'Content-Type: text/xml; charset=' . get_option( 'blog_charset' ), true ); if ( 'all' !== $args['content'] && post_type_exists( $args['content'] ) ) { $ptype = get_post_type_object( $args['content'] ); if ( ! $ptype->can_export ) { $args['content'] = 'post'; } $where = $wpdb->prepare( "{$wpdb->posts}.post_type = %s", $args['content'] ); } else { $post_types = get_post_types( array( 'can_export' => true ) ); $esses = array_fill( 0, count( $post_types ), '%s' ); // phpcs:ignore WordPress.DB.PreparedSQLPlaceholders.UnfinishedPrepare $where = $wpdb->prepare( "{$wpdb->posts}.post_type IN (" . implode( ',', $esses ) . ')', $post_types ); } if ( $args['status'] && ( 'post' === $args['content'] || 'page' === $args['content'] ) ) { $where .= $wpdb->prepare( " AND {$wpdb->posts}.post_status = %s", $args['status'] ); } else { $where .= " AND {$wpdb->posts}.post_status != 'auto-draft'"; } $join = ''; if ( $args['category'] && 'post' === $args['content'] ) { $term = term_exists( $args['category'], 'category' ); if ( $term ) { $join = "INNER JOIN {$wpdb->term_relationships} ON ({$wpdb->posts}.ID = {$wpdb->term_relationships}.object_id)"; $where .= $wpdb->prepare( " AND {$wpdb->term_relationships}.term_taxonomy_id = %d", $term['term_taxonomy_id'] ); } } if ( in_array( $args['content'], array( 'post', 'page', 'attachment' ), true ) ) { if ( $args['author'] ) { $where .= $wpdb->prepare( " AND {$wpdb->posts}.post_author = %d", $args['author'] ); } if ( $args['start_date'] ) { $where .= $wpdb->prepare( " AND {$wpdb->posts}.post_date >= %s", gmdate( 'Y-m-d', strtotime( $args['start_date'] ) ) ); } if ( $args['end_date'] ) { $where .= $wpdb->prepare( " AND {$wpdb->posts}.post_date < %s", gmdate( 'Y-m-d', strtotime( '+1 month', strtotime( $args['end_date'] ) ) ) ); } } // Grab a snapshot of post IDs, just in case it changes during the export. $post_ids = $wpdb->get_col( "SELECT ID FROM {$wpdb->posts} $join WHERE $where" ); // Get IDs for the attachments of each post, unless all content is already being exported. if ( ! in_array( $args['content'], array( 'all', 'attachment' ), true ) ) { // Array to hold all additional IDs (attachments and thumbnails). $additional_ids = array(); // Create a copy of the post IDs array to avoid modifying the original array. $processing_ids = $post_ids; while ( $next_posts = array_splice( $processing_ids, 0, 20 ) ) { $posts_in = array_map( 'absint', $next_posts ); $placeholders = array_fill( 0, count( $posts_in ), '%d' ); // Create a string for the placeholders. $in_placeholder = implode( ',', $placeholders ); // Prepare the SQL statement for attachment ids. $attachment_ids = $wpdb->get_col( $wpdb->prepare( " SELECT ID FROM $wpdb->posts WHERE post_parent IN ($in_placeholder) AND post_type = 'attachment' ", $posts_in ) ); $thumbnails_ids = $wpdb->get_col( $wpdb->prepare( " SELECT meta_value FROM $wpdb->postmeta WHERE $wpdb->postmeta.post_id IN ($in_placeholder) AND $wpdb->postmeta.meta_key = '_thumbnail_id' ", $posts_in ) ); $additional_ids = array_merge( $additional_ids, $attachment_ids, $thumbnails_ids ); } // Merge the additional IDs back with the original post IDs after processing all posts $post_ids = array_unique( array_merge( $post_ids, $additional_ids ) ); } /* * Get the requested terms ready, empty unless posts filtered by category * or all content. */ $cats = array(); $tags = array(); $terms = array(); if ( isset( $term ) && $term ) { $cat = get_term( $term['term_id'], 'category' ); $cats = array( $cat->term_id => $cat ); unset( $term, $cat ); } elseif ( 'all' === $args['content'] ) { $categories = (array) get_categories( array( 'get' => 'all' ) ); $tags = (array) get_tags( array( 'get' => 'all' ) ); $custom_taxonomies = get_taxonomies( array( '_builtin' => false ) ); $custom_terms = (array) get_terms( array( 'taxonomy' => $custom_taxonomies, 'get' => 'all', ) ); // Put categories in order with no child going before its parent. while ( $cat = array_shift( $categories ) ) { if ( ! $cat->parent || isset( $cats[ $cat->parent ] ) ) { $cats[ $cat->term_id ] = $cat; } else { $categories[] = $cat; } } // Put terms in order with no child going before its parent. while ( $t = array_shift( $custom_terms ) ) { if ( ! $t->parent || isset( $terms[ $t->parent ] ) ) { $terms[ $t->term_id ] = $t; } else { $custom_terms[] = $t; } } unset( $categories, $custom_taxonomies, $custom_terms ); } /** * Wraps given string in XML CDATA tag. * * @since 2.1.0 * * @param string $str String to wrap in XML CDATA tag. * @return string */ function wxr_cdata( $str ) { if ( ! seems_utf8( $str ) ) { $str = utf8_encode( $str ); } // $str = ent2ncr(esc_html($str)); $str = '<![CDATA[' . str_replace( ']]>', ']]]]><![CDATA[>', $str ) . ']]>'; return $str; } /** * Returns the URL of the site. * * @since 2.5.0 * * @return string Site URL. */ function wxr_site_url() { if ( is_multisite() ) { // Multisite: the base URL. return network_home_url(); } else { // WordPress (single site): the site URL. return get_bloginfo_rss( 'url' ); } } /** * Outputs a cat_name XML tag from a given category object. * * @since 2.1.0 * * @param WP_Term $category Category Object. */ function wxr_cat_name( $category ) { if ( empty( $category->name ) ) { return; } echo '<wp:cat_name>' . wxr_cdata( $category->name ) . "</wp:cat_name>\n"; } /** * Outputs a category_description XML tag from a given category object. * * @since 2.1.0 * * @param WP_Term $category Category Object. */ function wxr_category_description( $category ) { if ( empty( $category->description ) ) { return; } echo '<wp:category_description>' . wxr_cdata( $category->description ) . "</wp:category_description>\n"; } /** * Outputs a tag_name XML tag from a given tag object. * * @since 2.3.0 * * @param WP_Term $tag Tag Object. */ function wxr_tag_name( $tag ) { if ( empty( $tag->name ) ) { return; } echo '<wp:tag_name>' . wxr_cdata( $tag->name ) . "</wp:tag_name>\n"; } /** * Outputs a tag_description XML tag from a given tag object. * * @since 2.3.0 * * @param WP_Term $tag Tag Object. */ function wxr_tag_description( $tag ) { if ( empty( $tag->description ) ) { return; } echo '<wp:tag_description>' . wxr_cdata( $tag->description ) . "</wp:tag_description>\n"; } /** * Outputs a term_name XML tag from a given term object. * * @since 2.9.0 * * @param WP_Term $term Term Object. */ function wxr_term_name( $term ) { if ( empty( $term->name ) ) { return; } echo '<wp:term_name>' . wxr_cdata( $term->name ) . "</wp:term_name>\n"; } /** * Outputs a term_description XML tag from a given term object. * * @since 2.9.0 * * @param WP_Term $term Term Object. */ function wxr_term_description( $term ) { if ( empty( $term->description ) ) { return; } echo "\t\t<wp:term_description>" . wxr_cdata( $term->description ) . "</wp:term_description>\n"; } /** * Outputs term meta XML tags for a given term object. * * @since 4.6.0 * * @global wpdb $wpdb WordPress database abstraction object. * * @param WP_Term $term Term object. */ function wxr_term_meta( $term ) { global $wpdb; $termmeta = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM $wpdb->termmeta WHERE term_id = %d", $term->term_id ) ); foreach ( $termmeta as $meta ) { /** * Filters whether to selectively skip term meta used for WXR exports. * * Returning a truthy value from the filter will skip the current meta * object from being exported. * * @since 4.6.0 * * @param bool $skip Whether to skip the current piece of term meta. Default false. * @param string $meta_key Current meta key. * @param object $meta Current meta object. */ if ( ! apply_filters( 'wxr_export_skip_termmeta', false, $meta->meta_key, $meta ) ) { printf( "\t\t<wp:termmeta>\n\t\t\t<wp:meta_key>%s</wp:meta_key>\n\t\t\t<wp:meta_value>%s</wp:meta_value>\n\t\t</wp:termmeta>\n", wxr_cdata( $meta->meta_key ), wxr_cdata( $meta->meta_value ) ); } } } /** * Outputs list of authors with posts. * * @since 3.1.0 * * @global wpdb $wpdb WordPress database abstraction object. * * @param int[] $post_ids Optional. Array of post IDs to filter the query by. */ function wxr_authors_list( ?array $post_ids = null ) { global $wpdb; if ( ! empty( $post_ids ) ) { $post_ids = array_map( 'absint', $post_ids ); $and = 'AND ID IN ( ' . implode( ', ', $post_ids ) . ')'; } else { $and = ''; } $authors = array(); $results = $wpdb->get_results( "SELECT DISTINCT post_author FROM $wpdb->posts WHERE post_status != 'auto-draft' $and" ); foreach ( (array) $results as $result ) { $authors[] = get_userdata( $result->post_author ); } $authors = array_filter( $authors ); foreach ( $authors as $author ) { echo "\t<wp:author>"; echo '<wp:author_id>' . (int) $author->ID . '</wp:author_id>'; echo '<wp:author_login>' . wxr_cdata( $author->user_login ) . '</wp:author_login>'; echo '<wp:author_email>' . wxr_cdata( $author->user_email ) . '</wp:author_email>'; echo '<wp:author_display_name>' . wxr_cdata( $author->display_name ) . '</wp:author_display_name>'; echo '<wp:author_first_name>' . wxr_cdata( $author->first_name ) . '</wp:author_first_name>'; echo '<wp:author_last_name>' . wxr_cdata( $author->last_name ) . '</wp:author_last_name>'; echo "</wp:author>\n"; } } /** * Outputs all navigation menu terms. * * @since 3.1.0 */ function wxr_nav_menu_terms() { $nav_menus = wp_get_nav_menus(); if ( empty( $nav_menus ) || ! is_array( $nav_menus ) ) { return; } foreach ( $nav_menus as $menu ) { echo "\t<wp:term>"; echo '<wp:term_id>' . (int) $menu->term_id . '</wp:term_id>'; echo '<wp:term_taxonomy>nav_menu</wp:term_taxonomy>'; echo '<wp:term_slug>' . wxr_cdata( $menu->slug ) . '</wp:term_slug>'; wxr_term_name( $menu ); echo "</wp:term>\n"; } } /** * Outputs list of taxonomy terms, in XML tag format, associated with a post. * * @since 2.3.0 */ function wxr_post_taxonomy() { $post = get_post(); $taxonomies = get_object_taxonomies( $post->post_type ); if ( empty( $taxonomies ) ) { return; } $terms = wp_get_object_terms( $post->ID, $taxonomies ); foreach ( (array) $terms as $term ) { echo "\t\t<category domain=\"{$term->taxonomy}\" nicename=\"{$term->slug}\">" . wxr_cdata( $term->name ) . "</category>\n"; } } /** * Determines whether to selectively skip post meta used for WXR exports. * * @since 3.3.0 * * @param bool $return_me Whether to skip the current post meta. Default false. * @param string $meta_key Meta key. * @return bool */ function wxr_filter_postmeta( $return_me, $meta_key ) { if ( '_edit_lock' === $meta_key ) { $return_me = true; } return $return_me; } add_filter( 'wxr_export_skip_postmeta', 'wxr_filter_postmeta', 10, 2 ); echo '<?xml version="1.0" encoding="' . get_bloginfo( 'charset' ) . "\" ?>\n"; ?> <!-- This is a WordPress eXtended RSS file generated by WordPress as an export of your site. --> <!-- It contains information about your site's posts, pages, comments, categories, and other content. --> <!-- You may use this file to transfer that content from one site to another. --> <!-- This file is not intended to serve as a complete backup of your site. --> <!-- To import this information into a WordPress site follow these steps: --> <!-- 1. Log in to that site as an administrator. --> <!-- 2. Go to Tools: Import in the WordPress admin panel. --> <!-- 3. Install the "WordPress" importer from the list. --> <!-- 4. Activate & Run Importer. --> <!-- 5. Upload this file using the form provided on that page. --> <!-- 6. You will first be asked to map the authors in this export file to users --> <!-- on the site. For each author, you may choose to map to an --> <!-- existing user on the site or to create a new user. --> <!-- 7. WordPress will then import each of the posts, pages, comments, categories, etc. --> <!-- contained in this file into your site. --> <?php the_generator( 'export' ); ?> <rss version="2.0" xmlns:excerpt="http://wordpress.org/export/<?php echo WXR_VERSION; ?>/excerpt/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:wp="http://wordpress.org/export/<?php echo WXR_VERSION; ?>/" > <channel> <title><?php bloginfo_rss( 'name' ); ?></title> <link><?php bloginfo_rss( 'url' ); ?></link> <description><?php bloginfo_rss( 'description' ); ?></description> <pubDate><?php echo gmdate( 'D, d M Y H:i:s +0000' ); ?></pubDate> <language><?php bloginfo_rss( 'language' ); ?></language> <wp:wxr_version><?php echo WXR_VERSION; ?></wp:wxr_version> <wp:base_site_url><?php echo wxr_site_url(); ?></wp:base_site_url> <wp:base_blog_url><?php bloginfo_rss( 'url' ); ?></wp:base_blog_url> <?php wxr_authors_list( $post_ids ); ?> <?php foreach ( $cats as $c ) : ?> <wp:category> <wp:term_id><?php echo (int) $c->term_id; ?></wp:term_id> <wp:category_nicename><?php echo wxr_cdata( $c->slug ); ?></wp:category_nicename> <wp:category_parent><?php echo wxr_cdata( $c->parent ? $cats[ $c->parent ]->slug : '' ); ?></wp:category_parent> <?php wxr_cat_name( $c ); wxr_category_description( $c ); wxr_term_meta( $c ); ?> </wp:category> <?php endforeach; ?> <?php foreach ( $tags as $t ) : ?> <wp:tag> <wp:term_id><?php echo (int) $t->term_id; ?></wp:term_id> <wp:tag_slug><?php echo wxr_cdata( $t->slug ); ?></wp:tag_slug> <?php wxr_tag_name( $t ); wxr_tag_description( $t ); wxr_term_meta( $t ); ?> </wp:tag> <?php endforeach; ?> <?php foreach ( $terms as $t ) : ?> <wp:term> <wp:term_id><?php echo (int) $t->term_id; ?></wp:term_id> <wp:term_taxonomy><?php echo wxr_cdata( $t->taxonomy ); ?></wp:term_taxonomy> <wp:term_slug><?php echo wxr_cdata( $t->slug ); ?></wp:term_slug> <wp:term_parent><?php echo wxr_cdata( $t->parent ? $terms[ $t->parent ]->slug : '' ); ?></wp:term_parent> <?php wxr_term_name( $t ); wxr_term_description( $t ); wxr_term_meta( $t ); ?> </wp:term> <?php endforeach; ?> <?php if ( 'all' === $args['content'] ) { wxr_nav_menu_terms(); } ?> <?php /** This action is documented in wp-includes/feed-rss2.php */ do_action( 'rss2_head' ); ?> <?php if ( $post_ids ) { /** * @global WP_Query $wp_query WordPress Query object. */ global $wp_query; // Fake being in the loop. $wp_query->in_the_loop = true; // Fetch 20 posts at a time rather than loading the entire table into memory. while ( $next_posts = array_splice( $post_ids, 0, 20 ) ) { $where = 'WHERE ID IN (' . implode( ',', $next_posts ) . ')'; $posts = $wpdb->get_results( "SELECT * FROM {$wpdb->posts} $where" ); // Begin Loop. foreach ( $posts as $post ) { setup_postdata( $post ); /** * Filters the post title used for WXR exports. * * @since 5.7.0 * * @param string $post_title Title of the current post. */ $title = wxr_cdata( apply_filters( 'the_title_export', $post->post_title ) ); /** * Filters the post content used for WXR exports. * * @since 2.5.0 * * @param string $post_content Content of the current post. */ $content = wxr_cdata( apply_filters( 'the_content_export', $post->post_content ) ); /** * Filters the post excerpt used for WXR exports. * * @since 2.6.0 * * @param string $post_excerpt Excerpt for the current post. */ $excerpt = wxr_cdata( apply_filters( 'the_excerpt_export', $post->post_excerpt ) ); $is_sticky = is_sticky( $post->ID ) ? 1 : 0; ?> <item> <title><?php echo $title; ?></title> <link><?php the_permalink_rss(); ?></link> <pubDate><?php echo mysql2date( 'D, d M Y H:i:s +0000', get_post_time( 'Y-m-d H:i:s', true ), false ); ?></pubDate> <dc:creator><?php echo wxr_cdata( get_the_author_meta( 'login' ) ); ?></dc:creator> <guid isPermaLink="false"><?php the_guid(); ?></guid> <description></description> <content:encoded><?php echo $content; ?></content:encoded> <excerpt:encoded><?php echo $excerpt; ?></excerpt:encoded> <wp:post_id><?php echo (int) $post->ID; ?></wp:post_id> <wp:post_date><?php echo wxr_cdata( $post->post_date ); ?></wp:post_date> <wp:post_date_gmt><?php echo wxr_cdata( $post->post_date_gmt ); ?></wp:post_date_gmt> <wp:post_modified><?php echo wxr_cdata( $post->post_modified ); ?></wp:post_modified> <wp:post_modified_gmt><?php echo wxr_cdata( $post->post_modified_gmt ); ?></wp:post_modified_gmt> <wp:comment_status><?php echo wxr_cdata( $post->comment_status ); ?></wp:comment_status> <wp:ping_status><?php echo wxr_cdata( $post->ping_status ); ?></wp:ping_status> <wp:post_name><?php echo wxr_cdata( $post->post_name ); ?></wp:post_name> <wp:status><?php echo wxr_cdata( $post->post_status ); ?></wp:status> <wp:post_parent><?php echo (int) $post->post_parent; ?></wp:post_parent> <wp:menu_order><?php echo (int) $post->menu_order; ?></wp:menu_order> <wp:post_type><?php echo wxr_cdata( $post->post_type ); ?></wp:post_type> <wp:post_password><?php echo wxr_cdata( $post->post_password ); ?></wp:post_password> <wp:is_sticky><?php echo (int) $is_sticky; ?></wp:is_sticky> <?php if ( 'attachment' === $post->post_type ) : ?> <wp:attachment_url><?php echo wxr_cdata( wp_get_attachment_url( $post->ID ) ); ?></wp:attachment_url> <?php endif; ?> <?php wxr_post_taxonomy(); ?> <?php $postmeta = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM $wpdb->postmeta WHERE post_id = %d", $post->ID ) ); foreach ( $postmeta as $meta ) : /** * Filters whether to selectively skip post meta used for WXR exports. * * Returning a truthy value from the filter will skip the current meta * object from being exported. * * @since 3.3.0 * * @param bool $skip Whether to skip the current post meta. Default false. * @param string $meta_key Current meta key. * @param object $meta Current meta object. */ if ( apply_filters( 'wxr_export_skip_postmeta', false, $meta->meta_key, $meta ) ) { continue; } ?> <wp:postmeta> <wp:meta_key><?php echo wxr_cdata( $meta->meta_key ); ?></wp:meta_key> <wp:meta_value><?php echo wxr_cdata( $meta->meta_value ); ?></wp:meta_value> </wp:postmeta> <?php endforeach; $_comments = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM $wpdb->comments WHERE comment_post_ID = %d AND comment_approved <> 'spam'", $post->ID ) ); $comments = array_map( 'get_comment', $_comments ); foreach ( $comments as $c ) : ?> <wp:comment> <wp:comment_id><?php echo (int) $c->comment_ID; ?></wp:comment_id> <wp:comment_author><?php echo wxr_cdata( $c->comment_author ); ?></wp:comment_author> <wp:comment_author_email><?php echo wxr_cdata( $c->comment_author_email ); ?></wp:comment_author_email> <wp:comment_author_url><?php echo sanitize_url( $c->comment_author_url ); ?></wp:comment_author_url> <wp:comment_author_IP><?php echo wxr_cdata( $c->comment_author_IP ); ?></wp:comment_author_IP> <wp:comment_date><?php echo wxr_cdata( $c->comment_date ); ?></wp:comment_date> <wp:comment_date_gmt><?php echo wxr_cdata( $c->comment_date_gmt ); ?></wp:comment_date_gmt> <wp:comment_content><?php echo wxr_cdata( $c->comment_content ); ?></wp:comment_content> <wp:comment_approved><?php echo wxr_cdata( $c->comment_approved ); ?></wp:comment_approved> <wp:comment_type><?php echo wxr_cdata( $c->comment_type ); ?></wp:comment_type> <wp:comment_parent><?php echo (int) $c->comment_parent; ?></wp:comment_parent> <wp:comment_user_id><?php echo (int) $c->user_id; ?></wp:comment_user_id> <?php $c_meta = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM $wpdb->commentmeta WHERE comment_id = %d", $c->comment_ID ) ); foreach ( $c_meta as $meta ) : /** * Filters whether to selectively skip comment meta used for WXR exports. * * Returning a truthy value from the filter will skip the current meta * object from being exported. * * @since 4.0.0 * * @param bool $skip Whether to skip the current comment meta. Default false. * @param string $meta_key Current meta key. * @param object $meta Current meta object. */ if ( apply_filters( 'wxr_export_skip_commentmeta', false, $meta->meta_key, $meta ) ) { continue; } ?> <wp:commentmeta> <wp:meta_key><?php echo wxr_cdata( $meta->meta_key ); ?></wp:meta_key> <wp:meta_value><?php echo wxr_cdata( $meta->meta_value ); ?></wp:meta_value> </wp:commentmeta> <?php endforeach; ?> </wp:comment> <?php endforeach; ?> </item> <?php } } } ?> </channel> </rss> <?php } class-plugin-upgrader.php 0000644 00000055313 14735706075 0011512 0 ustar 00 <?php /** * Upgrade API: Plugin_Upgrader class * * @package WordPress * @subpackage Upgrader * @since 4.6.0 */ /** * Core class used for upgrading/installing plugins. * * It is designed to upgrade/install plugins from a local zip, remote zip URL, * or uploaded zip file. * * @since 2.8.0 * @since 4.6.0 Moved to its own file from wp-admin/includes/class-wp-upgrader.php. * * @see WP_Upgrader */ class Plugin_Upgrader extends WP_Upgrader { /** * Plugin upgrade result. * * @since 2.8.0 * @var array|WP_Error $result * * @see WP_Upgrader::$result */ public $result; /** * Whether a bulk upgrade/installation is being performed. * * @since 2.9.0 * @var bool $bulk */ public $bulk = false; /** * New plugin info. * * @since 5.5.0 * @var array $new_plugin_data * * @see check_package() */ public $new_plugin_data = array(); /** * Initializes the upgrade strings. * * @since 2.8.0 */ public function upgrade_strings() { $this->strings['up_to_date'] = __( 'The plugin is at the latest version.' ); $this->strings['no_package'] = __( 'Update package not available.' ); /* translators: %s: Package URL. */ $this->strings['downloading_package'] = sprintf( __( 'Downloading update from %s…' ), '<span class="code pre">%s</span>' ); $this->strings['unpack_package'] = __( 'Unpacking the update…' ); $this->strings['remove_old'] = __( 'Removing the old version of the plugin…' ); $this->strings['remove_old_failed'] = __( 'Could not remove the old plugin.' ); $this->strings['process_failed'] = __( 'Plugin update failed.' ); $this->strings['process_success'] = __( 'Plugin updated successfully.' ); $this->strings['process_bulk_success'] = __( 'Plugins updated successfully.' ); } /** * Initializes the installation strings. * * @since 2.8.0 */ public function install_strings() { $this->strings['no_package'] = __( 'Installation package not available.' ); /* translators: %s: Package URL. */ $this->strings['downloading_package'] = sprintf( __( 'Downloading installation package from %s…' ), '<span class="code pre">%s</span>' ); $this->strings['unpack_package'] = __( 'Unpacking the package…' ); $this->strings['installing_package'] = __( 'Installing the plugin…' ); $this->strings['remove_old'] = __( 'Removing the current plugin…' ); $this->strings['remove_old_failed'] = __( 'Could not remove the current plugin.' ); $this->strings['no_files'] = __( 'The plugin contains no files.' ); $this->strings['process_failed'] = __( 'Plugin installation failed.' ); $this->strings['process_success'] = __( 'Plugin installed successfully.' ); /* translators: 1: Plugin name, 2: Plugin version. */ $this->strings['process_success_specific'] = __( 'Successfully installed the plugin <strong>%1$s %2$s</strong>.' ); if ( ! empty( $this->skin->overwrite ) ) { if ( 'update-plugin' === $this->skin->overwrite ) { $this->strings['installing_package'] = __( 'Updating the plugin…' ); $this->strings['process_failed'] = __( 'Plugin update failed.' ); $this->strings['process_success'] = __( 'Plugin updated successfully.' ); } if ( 'downgrade-plugin' === $this->skin->overwrite ) { $this->strings['installing_package'] = __( 'Downgrading the plugin…' ); $this->strings['process_failed'] = __( 'Plugin downgrade failed.' ); $this->strings['process_success'] = __( 'Plugin downgraded successfully.' ); } } } /** * Install a plugin package. * * @since 2.8.0 * @since 3.7.0 The `$args` parameter was added, making clearing the plugin update cache optional. * * @param string $package The full local path or URI of the package. * @param array $args { * Optional. Other arguments for installing a plugin package. Default empty array. * * @type bool $clear_update_cache Whether to clear the plugin updates cache if successful. * Default true. * } * @return bool|WP_Error True if the installation was successful, false or a WP_Error otherwise. */ public function install( $package, $args = array() ) { $defaults = array( 'clear_update_cache' => true, 'overwrite_package' => false, // Do not overwrite files. ); $parsed_args = wp_parse_args( $args, $defaults ); $this->init(); $this->install_strings(); add_filter( 'upgrader_source_selection', array( $this, 'check_package' ) ); if ( $parsed_args['clear_update_cache'] ) { // Clear cache so wp_update_plugins() knows about the new plugin. add_action( 'upgrader_process_complete', 'wp_clean_plugins_cache', 9, 0 ); } $this->run( array( 'package' => $package, 'destination' => WP_PLUGIN_DIR, 'clear_destination' => $parsed_args['overwrite_package'], 'clear_working' => true, 'hook_extra' => array( 'type' => 'plugin', 'action' => 'install', ), ) ); remove_action( 'upgrader_process_complete', 'wp_clean_plugins_cache', 9 ); remove_filter( 'upgrader_source_selection', array( $this, 'check_package' ) ); if ( ! $this->result || is_wp_error( $this->result ) ) { return $this->result; } // Force refresh of plugin update information. wp_clean_plugins_cache( $parsed_args['clear_update_cache'] ); if ( $parsed_args['overwrite_package'] ) { /** * Fires when the upgrader has successfully overwritten a currently installed * plugin or theme with an uploaded zip package. * * @since 5.5.0 * * @param string $package The package file. * @param array $data The new plugin or theme data. * @param string $package_type The package type ('plugin' or 'theme'). */ do_action( 'upgrader_overwrote_package', $package, $this->new_plugin_data, 'plugin' ); } return true; } /** * Upgrades a plugin. * * @since 2.8.0 * @since 3.7.0 The `$args` parameter was added, making clearing the plugin update cache optional. * * @param string $plugin Path to the plugin file relative to the plugins directory. * @param array $args { * Optional. Other arguments for upgrading a plugin package. Default empty array. * * @type bool $clear_update_cache Whether to clear the plugin updates cache if successful. * Default true. * } * @return bool|WP_Error True if the upgrade was successful, false or a WP_Error object otherwise. */ public function upgrade( $plugin, $args = array() ) { $defaults = array( 'clear_update_cache' => true, ); $parsed_args = wp_parse_args( $args, $defaults ); $this->init(); $this->upgrade_strings(); $current = get_site_transient( 'update_plugins' ); if ( ! isset( $current->response[ $plugin ] ) ) { $this->skin->before(); $this->skin->set_result( false ); $this->skin->error( 'up_to_date' ); $this->skin->after(); return false; } // Get the URL to the zip file. $r = $current->response[ $plugin ]; add_filter( 'upgrader_pre_install', array( $this, 'deactivate_plugin_before_upgrade' ), 10, 2 ); add_filter( 'upgrader_pre_install', array( $this, 'active_before' ), 10, 2 ); add_filter( 'upgrader_clear_destination', array( $this, 'delete_old_plugin' ), 10, 4 ); add_filter( 'upgrader_post_install', array( $this, 'active_after' ), 10, 2 ); /* * There's a Trac ticket to move up the directory for zips which are made a bit differently, useful for non-.org plugins. * 'source_selection' => array( $this, 'source_selection' ), */ if ( $parsed_args['clear_update_cache'] ) { // Clear cache so wp_update_plugins() knows about the new plugin. add_action( 'upgrader_process_complete', 'wp_clean_plugins_cache', 9, 0 ); } $this->run( array( 'package' => $r->package, 'destination' => WP_PLUGIN_DIR, 'clear_destination' => true, 'clear_working' => true, 'hook_extra' => array( 'plugin' => $plugin, 'type' => 'plugin', 'action' => 'update', 'temp_backup' => array( 'slug' => dirname( $plugin ), 'src' => WP_PLUGIN_DIR, 'dir' => 'plugins', ), ), ) ); // Cleanup our hooks, in case something else does an upgrade on this connection. remove_action( 'upgrader_process_complete', 'wp_clean_plugins_cache', 9 ); remove_filter( 'upgrader_pre_install', array( $this, 'deactivate_plugin_before_upgrade' ) ); remove_filter( 'upgrader_pre_install', array( $this, 'active_before' ) ); remove_filter( 'upgrader_clear_destination', array( $this, 'delete_old_plugin' ) ); remove_filter( 'upgrader_post_install', array( $this, 'active_after' ) ); if ( ! $this->result || is_wp_error( $this->result ) ) { return $this->result; } // Force refresh of plugin update information. wp_clean_plugins_cache( $parsed_args['clear_update_cache'] ); /* * Ensure any future auto-update failures trigger a failure email by removing * the last failure notification from the list when plugins update successfully. */ $past_failure_emails = get_option( 'auto_plugin_theme_update_emails', array() ); if ( isset( $past_failure_emails[ $plugin ] ) ) { unset( $past_failure_emails[ $plugin ] ); update_option( 'auto_plugin_theme_update_emails', $past_failure_emails ); } return true; } /** * Upgrades several plugins at once. * * @since 2.8.0 * @since 3.7.0 The `$args` parameter was added, making clearing the plugin update cache optional. * * @param string[] $plugins Array of paths to plugin files relative to the plugins directory. * @param array $args { * Optional. Other arguments for upgrading several plugins at once. * * @type bool $clear_update_cache Whether to clear the plugin updates cache if successful. Default true. * } * @return array|false An array of results indexed by plugin file, or false if unable to connect to the filesystem. */ public function bulk_upgrade( $plugins, $args = array() ) { $wp_version = wp_get_wp_version(); $defaults = array( 'clear_update_cache' => true, ); $parsed_args = wp_parse_args( $args, $defaults ); $this->init(); $this->bulk = true; $this->upgrade_strings(); $current = get_site_transient( 'update_plugins' ); add_filter( 'upgrader_clear_destination', array( $this, 'delete_old_plugin' ), 10, 4 ); $this->skin->header(); // Connect to the filesystem first. $res = $this->fs_connect( array( WP_CONTENT_DIR, WP_PLUGIN_DIR ) ); if ( ! $res ) { $this->skin->footer(); return false; } $this->skin->bulk_header(); /* * Only start maintenance mode if: * - running Multisite and there are one or more plugins specified, OR * - a plugin with an update available is currently active. * @todo For multisite, maintenance mode should only kick in for individual sites if at all possible. */ $maintenance = ( is_multisite() && ! empty( $plugins ) ); foreach ( $plugins as $plugin ) { $maintenance = $maintenance || ( is_plugin_active( $plugin ) && isset( $current->response[ $plugin ] ) ); } if ( $maintenance ) { $this->maintenance_mode( true ); } $results = array(); $this->update_count = count( $plugins ); $this->update_current = 0; foreach ( $plugins as $plugin ) { ++$this->update_current; $this->skin->plugin_info = get_plugin_data( WP_PLUGIN_DIR . '/' . $plugin, false, true ); if ( ! isset( $current->response[ $plugin ] ) ) { $this->skin->set_result( 'up_to_date' ); $this->skin->before(); $this->skin->feedback( 'up_to_date' ); $this->skin->after(); $results[ $plugin ] = true; continue; } // Get the URL to the zip file. $r = $current->response[ $plugin ]; $this->skin->plugin_active = is_plugin_active( $plugin ); if ( isset( $r->requires ) && ! is_wp_version_compatible( $r->requires ) ) { $result = new WP_Error( 'incompatible_wp_required_version', sprintf( /* translators: 1: Current WordPress version, 2: WordPress version required by the new plugin version. */ __( 'Your WordPress version is %1$s, however the new plugin version requires %2$s.' ), $wp_version, $r->requires ) ); $this->skin->before( $result ); $this->skin->error( $result ); $this->skin->after(); } elseif ( isset( $r->requires_php ) && ! is_php_version_compatible( $r->requires_php ) ) { $result = new WP_Error( 'incompatible_php_required_version', sprintf( /* translators: 1: Current PHP version, 2: PHP version required by the new plugin version. */ __( 'The PHP version on your server is %1$s, however the new plugin version requires %2$s.' ), PHP_VERSION, $r->requires_php ) ); $this->skin->before( $result ); $this->skin->error( $result ); $this->skin->after(); } else { add_filter( 'upgrader_source_selection', array( $this, 'check_package' ) ); $result = $this->run( array( 'package' => $r->package, 'destination' => WP_PLUGIN_DIR, 'clear_destination' => true, 'clear_working' => true, 'is_multi' => true, 'hook_extra' => array( 'plugin' => $plugin, 'temp_backup' => array( 'slug' => dirname( $plugin ), 'src' => WP_PLUGIN_DIR, 'dir' => 'plugins', ), ), ) ); remove_filter( 'upgrader_source_selection', array( $this, 'check_package' ) ); } $results[ $plugin ] = $result; // Prevent credentials auth screen from displaying multiple times. if ( false === $result ) { break; } } // End foreach $plugins. $this->maintenance_mode( false ); // Force refresh of plugin update information. wp_clean_plugins_cache( $parsed_args['clear_update_cache'] ); /** This action is documented in wp-admin/includes/class-wp-upgrader.php */ do_action( 'upgrader_process_complete', $this, array( 'action' => 'update', 'type' => 'plugin', 'bulk' => true, 'plugins' => $plugins, ) ); $this->skin->bulk_footer(); $this->skin->footer(); // Cleanup our hooks, in case something else does an upgrade on this connection. remove_filter( 'upgrader_clear_destination', array( $this, 'delete_old_plugin' ) ); /* * Ensure any future auto-update failures trigger a failure email by removing * the last failure notification from the list when plugins update successfully. */ $past_failure_emails = get_option( 'auto_plugin_theme_update_emails', array() ); foreach ( $results as $plugin => $result ) { // Maintain last failure notification when plugins failed to update manually. if ( ! $result || is_wp_error( $result ) || ! isset( $past_failure_emails[ $plugin ] ) ) { continue; } unset( $past_failure_emails[ $plugin ] ); } update_option( 'auto_plugin_theme_update_emails', $past_failure_emails ); return $results; } /** * Checks that the source package contains a valid plugin. * * Hooked to the {@see 'upgrader_source_selection'} filter by Plugin_Upgrader::install(). * * @since 3.3.0 * * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass. * * @param string $source The path to the downloaded package source. * @return string|WP_Error The source as passed, or a WP_Error object on failure. */ public function check_package( $source ) { global $wp_filesystem; $wp_version = wp_get_wp_version(); $this->new_plugin_data = array(); if ( is_wp_error( $source ) ) { return $source; } $working_directory = str_replace( $wp_filesystem->wp_content_dir(), trailingslashit( WP_CONTENT_DIR ), $source ); if ( ! is_dir( $working_directory ) ) { // Confidence check, if the above fails, let's not prevent installation. return $source; } // Check that the folder contains at least 1 valid plugin. $files = glob( $working_directory . '*.php' ); if ( $files ) { foreach ( $files as $file ) { $info = get_plugin_data( $file, false, false ); if ( ! empty( $info['Name'] ) ) { $this->new_plugin_data = $info; break; } } } if ( empty( $this->new_plugin_data ) ) { return new WP_Error( 'incompatible_archive_no_plugins', $this->strings['incompatible_archive'], __( 'No valid plugins were found.' ) ); } $requires_php = isset( $info['RequiresPHP'] ) ? $info['RequiresPHP'] : null; $requires_wp = isset( $info['RequiresWP'] ) ? $info['RequiresWP'] : null; if ( ! is_php_version_compatible( $requires_php ) ) { $error = sprintf( /* translators: 1: Current PHP version, 2: Version required by the uploaded plugin. */ __( 'The PHP version on your server is %1$s, however the uploaded plugin requires %2$s.' ), PHP_VERSION, $requires_php ); return new WP_Error( 'incompatible_php_required_version', $this->strings['incompatible_archive'], $error ); } if ( ! is_wp_version_compatible( $requires_wp ) ) { $error = sprintf( /* translators: 1: Current WordPress version, 2: Version required by the uploaded plugin. */ __( 'Your WordPress version is %1$s, however the uploaded plugin requires %2$s.' ), $wp_version, $requires_wp ); return new WP_Error( 'incompatible_wp_required_version', $this->strings['incompatible_archive'], $error ); } return $source; } /** * Retrieves the path to the file that contains the plugin info. * * This isn't used internally in the class, but is called by the skins. * * @since 2.8.0 * * @return string|false The full path to the main plugin file, or false. */ public function plugin_info() { if ( ! is_array( $this->result ) ) { return false; } if ( empty( $this->result['destination_name'] ) ) { return false; } // Ensure to pass with leading slash. $plugin = get_plugins( '/' . $this->result['destination_name'] ); if ( empty( $plugin ) ) { return false; } // Assume the requested plugin is the first in the list. $pluginfiles = array_keys( $plugin ); return $this->result['destination_name'] . '/' . $pluginfiles[0]; } /** * Deactivates a plugin before it is upgraded. * * Hooked to the {@see 'upgrader_pre_install'} filter by Plugin_Upgrader::upgrade(). * * @since 2.8.0 * @since 4.1.0 Added a return value. * * @param bool|WP_Error $response The installation response before the installation has started. * @param array $plugin Plugin package arguments. * @return bool|WP_Error The original `$response` parameter or WP_Error. */ public function deactivate_plugin_before_upgrade( $response, $plugin ) { if ( is_wp_error( $response ) ) { // Bypass. return $response; } // When in cron (background updates) don't deactivate the plugin, as we require a browser to reactivate it. if ( wp_doing_cron() ) { return $response; } $plugin = isset( $plugin['plugin'] ) ? $plugin['plugin'] : ''; if ( empty( $plugin ) ) { return new WP_Error( 'bad_request', $this->strings['bad_request'] ); } if ( is_plugin_active( $plugin ) ) { // Deactivate the plugin silently, Prevent deactivation hooks from running. deactivate_plugins( $plugin, true ); } return $response; } /** * Turns on maintenance mode before attempting to background update an active plugin. * * Hooked to the {@see 'upgrader_pre_install'} filter by Plugin_Upgrader::upgrade(). * * @since 5.4.0 * * @param bool|WP_Error $response The installation response before the installation has started. * @param array $plugin Plugin package arguments. * @return bool|WP_Error The original `$response` parameter or WP_Error. */ public function active_before( $response, $plugin ) { if ( is_wp_error( $response ) ) { return $response; } // Only enable maintenance mode when in cron (background update). if ( ! wp_doing_cron() ) { return $response; } $plugin = isset( $plugin['plugin'] ) ? $plugin['plugin'] : ''; // Only run if plugin is active. if ( ! is_plugin_active( $plugin ) ) { return $response; } // Change to maintenance mode. Bulk edit handles this separately. if ( ! $this->bulk ) { $this->maintenance_mode( true ); } return $response; } /** * Turns off maintenance mode after upgrading an active plugin. * * Hooked to the {@see 'upgrader_post_install'} filter by Plugin_Upgrader::upgrade(). * * @since 5.4.0 * * @param bool|WP_Error $response The installation response after the installation has finished. * @param array $plugin Plugin package arguments. * @return bool|WP_Error The original `$response` parameter or WP_Error. */ public function active_after( $response, $plugin ) { if ( is_wp_error( $response ) ) { return $response; } // Only disable maintenance mode when in cron (background update). if ( ! wp_doing_cron() ) { return $response; } $plugin = isset( $plugin['plugin'] ) ? $plugin['plugin'] : ''; // Only run if plugin is active. if ( ! is_plugin_active( $plugin ) ) { return $response; } // Time to remove maintenance mode. Bulk edit handles this separately. if ( ! $this->bulk ) { $this->maintenance_mode( false ); } return $response; } /** * Deletes the old plugin during an upgrade. * * Hooked to the {@see 'upgrader_clear_destination'} filter by * Plugin_Upgrader::upgrade() and Plugin_Upgrader::bulk_upgrade(). * * @since 2.8.0 * * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass. * * @param bool|WP_Error $removed Whether the destination was cleared. * True on success, WP_Error on failure. * @param string $local_destination The local package destination. * @param string $remote_destination The remote package destination. * @param array $plugin Extra arguments passed to hooked filters. * @return bool|WP_Error */ public function delete_old_plugin( $removed, $local_destination, $remote_destination, $plugin ) { global $wp_filesystem; if ( is_wp_error( $removed ) ) { return $removed; // Pass errors through. } $plugin = isset( $plugin['plugin'] ) ? $plugin['plugin'] : ''; if ( empty( $plugin ) ) { return new WP_Error( 'bad_request', $this->strings['bad_request'] ); } $plugins_dir = $wp_filesystem->wp_plugins_dir(); $this_plugin_dir = trailingslashit( dirname( $plugins_dir . $plugin ) ); if ( ! $wp_filesystem->exists( $this_plugin_dir ) ) { // If it's already vanished. return $removed; } /* * If plugin is in its own directory, recursively delete the directory. * Base check on if plugin includes directory separator AND that it's not the root plugin folder. */ if ( strpos( $plugin, '/' ) && $this_plugin_dir !== $plugins_dir ) { $deleted = $wp_filesystem->delete( $this_plugin_dir, true ); } else { $deleted = $wp_filesystem->delete( $plugins_dir . $plugin ); } if ( ! $deleted ) { return new WP_Error( 'remove_old_failed', $this->strings['remove_old_failed'] ); } return true; } } error_log 0000644 00000047320 14735706075 0006505 0 ustar 00 [14-Oct-2024 10:39:04 UTC] PHP Fatal error: Uncaught Error: Call to undefined function add_action() in /home/webtaragh/public_html/wp-admin/includes/admin-filters.php:11 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/admin-filters.php on line 11 [14-Oct-2024 10:39:07 UTC] PHP Fatal error: Uncaught Error: Call to undefined function get_locale() in /home/webtaragh/public_html/wp-admin/includes/admin.php:16 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/admin.php on line 16 [14-Oct-2024 10:39:10 UTC] PHP Fatal error: Uncaught Error: Class "WP_Upgrader_Skin" not found in /home/webtaragh/public_html/wp-admin/includes/class-automatic-upgrader-skin.php:21 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-automatic-upgrader-skin.php on line 21 [14-Oct-2024 10:39:13 UTC] PHP Fatal error: Uncaught Error: Class "Bulk_Upgrader_Skin" not found in /home/webtaragh/public_html/wp-admin/includes/class-bulk-plugin-upgrader-skin.php:18 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-bulk-plugin-upgrader-skin.php on line 18 [14-Oct-2024 10:39:16 UTC] PHP Fatal error: Uncaught Error: Class "Bulk_Upgrader_Skin" not found in /home/webtaragh/public_html/wp-admin/includes/class-bulk-theme-upgrader-skin.php:18 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-bulk-theme-upgrader-skin.php on line 18 [14-Oct-2024 10:39:18 UTC] PHP Fatal error: Uncaught Error: Class "WP_Upgrader_Skin" not found in /home/webtaragh/public_html/wp-admin/includes/class-bulk-upgrader-skin.php:18 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-bulk-upgrader-skin.php on line 18 [14-Oct-2024 10:39:20 UTC] PHP Fatal error: Uncaught Error: Class "WP_Upgrader" not found in /home/webtaragh/public_html/wp-admin/includes/class-core-upgrader.php:21 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-core-upgrader.php on line 21 [14-Oct-2024 10:39:24 UTC] PHP Fatal error: Uncaught Error: Class "ftp_base" not found in /home/webtaragh/public_html/wp-admin/includes/class-ftp-pure.php:28 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-ftp-pure.php on line 28 [14-Oct-2024 10:39:27 UTC] PHP Fatal error: Uncaught Error: Class "ftp_base" not found in /home/webtaragh/public_html/wp-admin/includes/class-ftp-sockets.php:28 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-ftp-sockets.php on line 28 [14-Oct-2024 10:39:30 UTC] PHP Fatal error: Uncaught Error: Class "WP_Upgrader_Skin" not found in /home/webtaragh/public_html/wp-admin/includes/class-language-pack-upgrader-skin.php:18 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-language-pack-upgrader-skin.php on line 18 [14-Oct-2024 10:39:34 UTC] PHP Fatal error: Uncaught Error: Class "WP_Upgrader" not found in /home/webtaragh/public_html/wp-admin/includes/class-language-pack-upgrader.php:19 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-language-pack-upgrader.php on line 19 [14-Oct-2024 10:39:38 UTC] PHP Fatal error: Uncaught Error: Class "WP_Upgrader_Skin" not found in /home/webtaragh/public_html/wp-admin/includes/class-plugin-installer-skin.php:18 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-plugin-installer-skin.php on line 18 [14-Oct-2024 10:39:40 UTC] PHP Fatal error: Uncaught Error: Class "WP_Upgrader_Skin" not found in /home/webtaragh/public_html/wp-admin/includes/class-plugin-upgrader-skin.php:18 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-plugin-upgrader-skin.php on line 18 [14-Oct-2024 10:39:43 UTC] PHP Fatal error: Uncaught Error: Class "WP_Upgrader" not found in /home/webtaragh/public_html/wp-admin/includes/class-plugin-upgrader.php:21 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-plugin-upgrader.php on line 21 [14-Oct-2024 10:39:46 UTC] PHP Fatal error: Uncaught Error: Class "WP_Upgrader_Skin" not found in /home/webtaragh/public_html/wp-admin/includes/class-theme-installer-skin.php:18 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-theme-installer-skin.php on line 18 [14-Oct-2024 10:39:48 UTC] PHP Fatal error: Uncaught Error: Class "WP_Upgrader_Skin" not found in /home/webtaragh/public_html/wp-admin/includes/class-theme-upgrader-skin.php:18 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-theme-upgrader-skin.php on line 18 [14-Oct-2024 10:39:51 UTC] PHP Fatal error: Uncaught Error: Class "WP_Upgrader" not found in /home/webtaragh/public_html/wp-admin/includes/class-theme-upgrader.php:21 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-theme-upgrader.php on line 21 [14-Oct-2024 10:39:53 UTC] PHP Fatal error: Uncaught Error: Class "Walker" not found in /home/webtaragh/public_html/wp-admin/includes/class-walker-category-checklist.php:19 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-walker-category-checklist.php on line 19 [14-Oct-2024 10:39:56 UTC] PHP Fatal error: Uncaught Error: Class "Walker_Nav_Menu" not found in /home/webtaragh/public_html/wp-admin/includes/class-walker-nav-menu-checklist.php:16 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-walker-nav-menu-checklist.php on line 16 [14-Oct-2024 10:39:59 UTC] PHP Fatal error: Uncaught Error: Class "Walker_Nav_Menu" not found in /home/webtaragh/public_html/wp-admin/includes/class-walker-nav-menu-edit.php:17 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-walker-nav-menu-edit.php on line 17 [14-Oct-2024 10:40:02 UTC] PHP Fatal error: Uncaught Error: Class "Automatic_Upgrader_Skin" not found in /home/webtaragh/public_html/wp-admin/includes/class-wp-ajax-upgrader-skin.php:19 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-wp-ajax-upgrader-skin.php on line 19 [14-Oct-2024 10:40:04 UTC] PHP Fatal error: Uncaught Error: Class "WP_List_Table" not found in /home/webtaragh/public_html/wp-admin/includes/class-wp-application-passwords-list-table.php:17 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-wp-application-passwords-list-table.php on line 17 [14-Oct-2024 10:40:06 UTC] PHP Fatal error: Uncaught Error: Class "WP_List_Table" not found in /home/webtaragh/public_html/wp-admin/includes/class-wp-comments-list-table.php:17 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-wp-comments-list-table.php on line 17 [14-Oct-2024 10:40:09 UTC] PHP Fatal error: Uncaught Error: Class "WP_Filesystem_Base" not found in /home/webtaragh/public_html/wp-admin/includes/class-wp-filesystem-direct.php:16 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-wp-filesystem-direct.php on line 16 [14-Oct-2024 10:40:10 UTC] PHP Fatal error: Uncaught Error: Class "WP_Filesystem_Base" not found in /home/webtaragh/public_html/wp-admin/includes/class-wp-filesystem-ftpext.php:16 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-wp-filesystem-ftpext.php on line 16 [14-Oct-2024 10:40:13 UTC] PHP Fatal error: Uncaught Error: Class "WP_Filesystem_Base" not found in /home/webtaragh/public_html/wp-admin/includes/class-wp-filesystem-ftpsockets.php:16 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-wp-filesystem-ftpsockets.php on line 16 [14-Oct-2024 10:40:17 UTC] PHP Fatal error: Uncaught Error: Class "WP_Filesystem_Base" not found in /home/webtaragh/public_html/wp-admin/includes/class-wp-filesystem-ssh2.php:36 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-wp-filesystem-ssh2.php on line 36 [14-Oct-2024 10:40:20 UTC] PHP Fatal error: Uncaught Error: Class "WP_List_Table" not found in /home/webtaragh/public_html/wp-admin/includes/class-wp-links-list-table.php:17 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-wp-links-list-table.php on line 17 [14-Oct-2024 10:40:23 UTC] PHP Fatal error: Uncaught Error: Class "WP_List_Table" not found in /home/webtaragh/public_html/wp-admin/includes/class-wp-list-table-compat.php:15 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-wp-list-table-compat.php on line 15 [14-Oct-2024 10:40:24 UTC] PHP Fatal error: Uncaught Error: Class "WP_List_Table" not found in /home/webtaragh/public_html/wp-admin/includes/class-wp-media-list-table.php:17 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-wp-media-list-table.php on line 17 [14-Oct-2024 10:40:26 UTC] PHP Fatal error: Uncaught Error: Class "WP_List_Table" not found in /home/webtaragh/public_html/wp-admin/includes/class-wp-ms-sites-list-table.php:17 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-wp-ms-sites-list-table.php on line 17 [14-Oct-2024 10:40:29 UTC] PHP Fatal error: Uncaught Error: Class "WP_List_Table" not found in /home/webtaragh/public_html/wp-admin/includes/class-wp-ms-themes-list-table.php:17 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-wp-ms-themes-list-table.php on line 17 [14-Oct-2024 10:40:31 UTC] PHP Fatal error: Uncaught Error: Class "WP_List_Table" not found in /home/webtaragh/public_html/wp-admin/includes/class-wp-ms-users-list-table.php:17 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-wp-ms-users-list-table.php on line 17 [14-Oct-2024 10:40:34 UTC] PHP Fatal error: Uncaught Error: Class "WP_List_Table" not found in /home/webtaragh/public_html/wp-admin/includes/class-wp-plugin-install-list-table.php:17 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-wp-plugin-install-list-table.php on line 17 [14-Oct-2024 10:40:38 UTC] PHP Fatal error: Uncaught Error: Class "WP_List_Table" not found in /home/webtaragh/public_html/wp-admin/includes/class-wp-plugins-list-table.php:17 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-wp-plugins-list-table.php on line 17 [14-Oct-2024 10:40:44 UTC] PHP Fatal error: Uncaught Error: Class "WP_Comments_List_Table" not found in /home/webtaragh/public_html/wp-admin/includes/class-wp-post-comments-list-table.php:17 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-wp-post-comments-list-table.php on line 17 [14-Oct-2024 10:40:47 UTC] PHP Fatal error: Uncaught Error: Class "WP_List_Table" not found in /home/webtaragh/public_html/wp-admin/includes/class-wp-posts-list-table.php:17 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-wp-posts-list-table.php on line 17 [14-Oct-2024 10:40:50 UTC] PHP Fatal error: Uncaught Error: Undefined constant "ABSPATH" in /home/webtaragh/public_html/wp-admin/includes/class-wp-privacy-data-export-requests-list-table.php:11 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-wp-privacy-data-export-requests-list-table.php on line 11 [14-Oct-2024 10:40:52 UTC] PHP Fatal error: Uncaught Error: Undefined constant "ABSPATH" in /home/webtaragh/public_html/wp-admin/includes/class-wp-privacy-data-removal-requests-list-table.php:11 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-wp-privacy-data-removal-requests-list-table.php on line 11 [14-Oct-2024 10:40:55 UTC] PHP Fatal error: Uncaught Error: Class "WP_List_Table" not found in /home/webtaragh/public_html/wp-admin/includes/class-wp-privacy-requests-table.php:10 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-wp-privacy-requests-table.php on line 10 [14-Oct-2024 10:41:03 UTC] PHP Fatal error: Uncaught Error: Class "WP_List_Table" not found in /home/webtaragh/public_html/wp-admin/includes/class-wp-terms-list-table.php:17 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-wp-terms-list-table.php on line 17 [14-Oct-2024 10:41:04 UTC] PHP Fatal error: Uncaught Error: Class "WP_Themes_List_Table" not found in /home/webtaragh/public_html/wp-admin/includes/class-wp-theme-install-list-table.php:17 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-wp-theme-install-list-table.php on line 17 [14-Oct-2024 10:41:07 UTC] PHP Fatal error: Uncaught Error: Class "WP_List_Table" not found in /home/webtaragh/public_html/wp-admin/includes/class-wp-themes-list-table.php:17 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-wp-themes-list-table.php on line 17 [14-Oct-2024 10:41:10 UTC] PHP Fatal error: Uncaught Error: Call to undefined function _deprecated_file() in /home/webtaragh/public_html/wp-admin/includes/class-wp-upgrader-skins.php:11 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-wp-upgrader-skins.php on line 11 [14-Oct-2024 10:41:13 UTC] PHP Fatal error: Uncaught Error: Undefined constant "ABSPATH" in /home/webtaragh/public_html/wp-admin/includes/class-wp-upgrader.php:13 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-wp-upgrader.php on line 13 [14-Oct-2024 10:41:16 UTC] PHP Fatal error: Uncaught Error: Class "WP_List_Table" not found in /home/webtaragh/public_html/wp-admin/includes/class-wp-users-list-table.php:17 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-wp-users-list-table.php on line 17 [14-Oct-2024 10:41:18 UTC] PHP Fatal error: Uncaught Error: Call to undefined function __() in /home/webtaragh/public_html/wp-admin/includes/continents-cities.php:12 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/continents-cities.php on line 12 [14-Oct-2024 10:41:20 UTC] PHP Fatal error: Uncaught Error: Class "WP_Privacy_Data_Export_Requests_List_Table" not found in /home/webtaragh/public_html/wp-admin/includes/deprecated.php:1535 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/deprecated.php on line 1535 [14-Oct-2024 10:41:21 UTC] PHP Fatal error: Uncaught Error: Call to undefined function __() in /home/webtaragh/public_html/wp-admin/includes/edit-tag-messages.php:14 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/edit-tag-messages.php on line 14 [14-Oct-2024 10:41:23 UTC] PHP Fatal error: Uncaught Error: Call to undefined function __() in /home/webtaragh/public_html/wp-admin/includes/file.php:16 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/file.php on line 16 [14-Oct-2024 10:41:29 UTC] PHP Fatal error: Uncaught Error: Call to undefined function is_network_admin() in /home/webtaragh/public_html/wp-admin/includes/menu.php:9 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/menu.php on line 9 [14-Oct-2024 10:41:34 UTC] PHP Fatal error: Uncaught Error: Call to undefined function add_filter() in /home/webtaragh/public_html/wp-admin/includes/ms-admin-filters.php:11 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/ms-admin-filters.php on line 11 [14-Oct-2024 10:41:37 UTC] PHP Fatal error: Uncaught Error: Undefined constant "ABSPATH" in /home/webtaragh/public_html/wp-admin/includes/nav-menu.php:11 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/nav-menu.php on line 11 [14-Oct-2024 10:41:42 UTC] PHP Fatal error: Uncaught Error: Call to a member function get_charset_collate() on null in /home/webtaragh/public_html/wp-admin/includes/schema.php:23 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/schema.php on line 23 [14-Oct-2024 10:41:45 UTC] PHP Fatal error: Uncaught Error: Undefined constant "ABSPATH" in /home/webtaragh/public_html/wp-admin/includes/template.php:12 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/template.php on line 12 [14-Oct-2024 10:41:52 UTC] PHP Fatal error: Uncaught Error: Undefined constant "WP_CONTENT_DIR" in /home/webtaragh/public_html/wp-admin/includes/upgrade.php:12 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/upgrade.php on line 12 [27-Dec-2024 02:46:34 UTC] PHP Fatal error: Uncaught Error: Call to undefined function add_action() in /home/webtaragh/public_html/wp-admin/includes/admin-filters.php:11 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/admin-filters.php on line 11 [27-Dec-2024 02:46:35 UTC] PHP Fatal error: Uncaught Error: Call to undefined function get_locale() in /home/webtaragh/public_html/wp-admin/includes/admin.php:16 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/admin.php on line 16 [27-Dec-2024 02:46:38 UTC] PHP Fatal error: Uncaught Error: Class 'WP_Upgrader_Skin' not found in /home/webtaragh/public_html/wp-admin/includes/class-automatic-upgrader-skin.php:21 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-automatic-upgrader-skin.php on line 21 [27-Dec-2024 02:46:39 UTC] PHP Fatal error: Uncaught Error: Class 'Bulk_Upgrader_Skin' not found in /home/webtaragh/public_html/wp-admin/includes/class-bulk-plugin-upgrader-skin.php:18 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-bulk-plugin-upgrader-skin.php on line 18 [27-Dec-2024 02:46:40 UTC] PHP Fatal error: Uncaught Error: Class 'Bulk_Upgrader_Skin' not found in /home/webtaragh/public_html/wp-admin/includes/class-bulk-theme-upgrader-skin.php:18 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-bulk-theme-upgrader-skin.php on line 18 [27-Dec-2024 02:46:41 UTC] PHP Fatal error: Uncaught Error: Class 'WP_Upgrader_Skin' not found in /home/webtaragh/public_html/wp-admin/includes/class-bulk-upgrader-skin.php:18 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-bulk-upgrader-skin.php on line 18 [27-Dec-2024 02:46:42 UTC] PHP Fatal error: Uncaught Error: Class 'WP_Upgrader' not found in /home/webtaragh/public_html/wp-admin/includes/class-core-upgrader.php:25 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-core-upgrader.php on line 25 [27-Dec-2024 02:46:48 UTC] PHP Fatal error: Uncaught Error: Class 'ftp_base' not found in /home/webtaragh/public_html/wp-admin/includes/class-ftp-pure.php:28 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-ftp-pure.php on line 28 [27-Dec-2024 02:46:49 UTC] PHP Fatal error: Uncaught Error: Class 'ftp_base' not found in /home/webtaragh/public_html/wp-admin/includes/class-ftp-sockets.php:28 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-ftp-sockets.php on line 28 [27-Dec-2024 02:46:51 UTC] PHP Fatal error: Uncaught Error: Class 'WP_Upgrader_Skin' not found in /home/webtaragh/public_html/wp-admin/includes/class-language-pack-upgrader-skin.php:18 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-language-pack-upgrader-skin.php on line 18 [27-Dec-2024 02:46:51 UTC] PHP Fatal error: Uncaught Error: Class 'WP_Upgrader' not found in /home/webtaragh/public_html/wp-admin/includes/class-language-pack-upgrader.php:19 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-language-pack-upgrader.php on line 19 [27-Dec-2024 02:46:56 UTC] PHP Fatal error: Uncaught Error: Class 'WP_Upgrader_Skin' not found in /home/webtaragh/public_html/wp-admin/includes/class-plugin-installer-skin.php:18 Stack trace: #0 {main} thrown in /home/webtaragh/public_html/wp-admin/includes/class-plugin-installer-skin.php on line 18 theme-install.php 0000644 00000015516 14735706075 0010051 0 ustar 00 <?php /** * WordPress Theme Installation Administration API * * @package WordPress * @subpackage Administration */ $themes_allowedtags = array( 'a' => array( 'href' => array(), 'title' => array(), 'target' => array(), ), 'abbr' => array( 'title' => array() ), 'acronym' => array( 'title' => array() ), 'code' => array(), 'pre' => array(), 'em' => array(), 'strong' => array(), 'div' => array(), 'p' => array(), 'ul' => array(), 'ol' => array(), 'li' => array(), 'h1' => array(), 'h2' => array(), 'h3' => array(), 'h4' => array(), 'h5' => array(), 'h6' => array(), 'img' => array( 'src' => array(), 'class' => array(), 'alt' => array(), ), ); $theme_field_defaults = array( 'description' => true, 'sections' => false, 'tested' => true, 'requires' => true, 'rating' => true, 'downloaded' => true, 'downloadlink' => true, 'last_updated' => true, 'homepage' => true, 'tags' => true, 'num_ratings' => true, ); /** * Retrieves the list of WordPress theme features (aka theme tags). * * @since 2.8.0 * * @deprecated 3.1.0 Use get_theme_feature_list() instead. * * @return array */ function install_themes_feature_list() { _deprecated_function( __FUNCTION__, '3.1.0', 'get_theme_feature_list()' ); $cache = get_transient( 'wporg_theme_feature_list' ); if ( ! $cache ) { set_transient( 'wporg_theme_feature_list', array(), 3 * HOUR_IN_SECONDS ); } if ( $cache ) { return $cache; } $feature_list = themes_api( 'feature_list', array() ); if ( is_wp_error( $feature_list ) ) { return array(); } set_transient( 'wporg_theme_feature_list', $feature_list, 3 * HOUR_IN_SECONDS ); return $feature_list; } /** * Displays search form for searching themes. * * @since 2.8.0 * * @param bool $type_selector */ function install_theme_search_form( $type_selector = true ) { $type = isset( $_REQUEST['type'] ) ? wp_unslash( $_REQUEST['type'] ) : 'term'; $term = isset( $_REQUEST['s'] ) ? wp_unslash( $_REQUEST['s'] ) : ''; if ( ! $type_selector ) { echo '<p class="install-help">' . __( 'Search for themes by keyword.' ) . '</p>'; } ?> <form id="search-themes" method="get"> <input type="hidden" name="tab" value="search" /> <?php if ( $type_selector ) : ?> <label class="screen-reader-text" for="typeselector"> <?php /* translators: Hidden accessibility text. */ _e( 'Type of search' ); ?> </label> <select name="type" id="typeselector"> <option value="term" <?php selected( 'term', $type ); ?>><?php _e( 'Keyword' ); ?></option> <option value="author" <?php selected( 'author', $type ); ?>><?php _e( 'Author' ); ?></option> <option value="tag" <?php selected( 'tag', $type ); ?>><?php _ex( 'Tag', 'Theme Installer' ); ?></option> </select> <label class="screen-reader-text" for="s"> <?php switch ( $type ) { case 'term': /* translators: Hidden accessibility text. */ _e( 'Search by keyword' ); break; case 'author': /* translators: Hidden accessibility text. */ _e( 'Search by author' ); break; case 'tag': /* translators: Hidden accessibility text. */ _e( 'Search by tag' ); break; } ?> </label> <?php else : ?> <label class="screen-reader-text" for="s"> <?php /* translators: Hidden accessibility text. */ _e( 'Search by keyword' ); ?> </label> <?php endif; ?> <input type="search" name="s" id="s" size="30" value="<?php echo esc_attr( $term ); ?>" autofocus="autofocus" /> <?php submit_button( __( 'Search' ), '', 'search', false ); ?> </form> <?php } /** * Displays tags filter for themes. * * @since 2.8.0 */ function install_themes_dashboard() { install_theme_search_form( false ); ?> <h4><?php _e( 'Feature Filter' ); ?></h4> <p class="install-help"><?php _e( 'Find a theme based on specific features.' ); ?></p> <form method="get"> <input type="hidden" name="tab" value="search" /> <?php $feature_list = get_theme_feature_list(); echo '<div class="feature-filter">'; foreach ( (array) $feature_list as $feature_name => $features ) { $feature_name = esc_html( $feature_name ); echo '<div class="feature-name">' . $feature_name . '</div>'; echo '<ol class="feature-group">'; foreach ( $features as $feature => $feature_name ) { $feature_name = esc_html( $feature_name ); $feature = esc_attr( $feature ); ?> <li> <input type="checkbox" name="features[]" id="feature-id-<?php echo $feature; ?>" value="<?php echo $feature; ?>" /> <label for="feature-id-<?php echo $feature; ?>"><?php echo $feature_name; ?></label> </li> <?php } ?> </ol> <br class="clear" /> <?php } ?> </div> <br class="clear" /> <?php submit_button( __( 'Find Themes' ), '', 'search' ); ?> </form> <?php } /** * Displays a form to upload themes from zip files. * * @since 2.8.0 */ function install_themes_upload() { ?> <p class="install-help"><?php _e( 'If you have a theme in a .zip format, you may install or update it by uploading it here.' ); ?></p> <form method="post" enctype="multipart/form-data" class="wp-upload-form" action="<?php echo esc_url( self_admin_url( 'update.php?action=upload-theme' ) ); ?>"> <?php wp_nonce_field( 'theme-upload' ); ?> <label class="screen-reader-text" for="themezip"> <?php /* translators: Hidden accessibility text. */ _e( 'Theme zip file' ); ?> </label> <input type="file" id="themezip" name="themezip" accept=".zip" /> <?php submit_button( _x( 'Install Now', 'theme' ), '', 'install-theme-submit', false ); ?> </form> <?php } /** * Prints a theme on the Install Themes pages. * * @deprecated 3.4.0 * * @global WP_Theme_Install_List_Table $wp_list_table * * @param object $theme */ function display_theme( $theme ) { _deprecated_function( __FUNCTION__, '3.4.0' ); global $wp_list_table; if ( ! isset( $wp_list_table ) ) { $wp_list_table = _get_list_table( 'WP_Theme_Install_List_Table' ); } $wp_list_table->prepare_items(); $wp_list_table->single_row( $theme ); } /** * Displays theme content based on theme list. * * @since 2.8.0 * * @global WP_Theme_Install_List_Table $wp_list_table */ function display_themes() { global $wp_list_table; if ( ! isset( $wp_list_table ) ) { $wp_list_table = _get_list_table( 'WP_Theme_Install_List_Table' ); } $wp_list_table->prepare_items(); $wp_list_table->display(); } /** * Displays theme information in dialog box form. * * @since 2.8.0 * * @global WP_Theme_Install_List_Table $wp_list_table */ function install_theme_information() { global $wp_list_table; $theme = themes_api( 'theme_information', array( 'slug' => wp_unslash( $_REQUEST['theme'] ) ) ); if ( is_wp_error( $theme ) ) { wp_die( $theme ); } iframe_header( __( 'Theme Installation' ) ); if ( ! isset( $wp_list_table ) ) { $wp_list_table = _get_list_table( 'WP_Theme_Install_List_Table' ); } $wp_list_table->theme_installer_single( $theme ); iframe_footer(); exit; } image-edit.php 0000644 00000125512 14735706075 0007306 0 ustar 00 <?php /** * WordPress Image Editor * * @package WordPress * @subpackage Administration */ /** * Loads the WP image-editing interface. * * @since 2.9.0 * * @param int $post_id Attachment post ID. * @param false|object $msg Optional. Message to display for image editor updates or errors. * Default false. */ function wp_image_editor( $post_id, $msg = false ) { $nonce = wp_create_nonce( "image_editor-$post_id" ); $meta = wp_get_attachment_metadata( $post_id ); $thumb = image_get_intermediate_size( $post_id, 'thumbnail' ); $sub_sizes = isset( $meta['sizes'] ) && is_array( $meta['sizes'] ); $note = ''; if ( isset( $meta['width'], $meta['height'] ) ) { $big = max( $meta['width'], $meta['height'] ); } else { die( __( 'Image data does not exist. Please re-upload the image.' ) ); } $sizer = $big > 600 ? 600 / $big : 1; $backup_sizes = get_post_meta( $post_id, '_wp_attachment_backup_sizes', true ); $can_restore = false; if ( ! empty( $backup_sizes ) && isset( $backup_sizes['full-orig'], $meta['file'] ) ) { $can_restore = wp_basename( $meta['file'] ) !== $backup_sizes['full-orig']['file']; } if ( $msg ) { if ( isset( $msg->error ) ) { $note = "<div class='notice notice-error' role='alert'><p>$msg->error</p></div>"; } elseif ( isset( $msg->msg ) ) { $note = "<div class='notice notice-success' role='alert'><p>$msg->msg</p></div>"; } } /** * Shows the settings in the Image Editor that allow selecting to edit only the thumbnail of an image. * * @since 6.3.0 * * @param bool $show Whether to show the settings in the Image Editor. Default false. */ $edit_thumbnails_separately = (bool) apply_filters( 'image_edit_thumbnails_separately', false ); ?> <div class="imgedit-wrap wp-clearfix"> <div id="imgedit-panel-<?php echo $post_id; ?>"> <?php echo $note; ?> <div class="imgedit-panel-content imgedit-panel-tools wp-clearfix"> <div class="imgedit-menu wp-clearfix"> <button type="button" onclick="imageEdit.toggleCropTool( <?php echo "$post_id, '$nonce'"; ?>, this );" aria-expanded="false" aria-controls="imgedit-crop" class="imgedit-crop button disabled" disabled><?php esc_html_e( 'Crop' ); ?></button> <button type="button" class="imgedit-scale button" onclick="imageEdit.toggleControls(this);" aria-expanded="false" aria-controls="imgedit-scale"><?php esc_html_e( 'Scale' ); ?></button> <div class="imgedit-rotate-menu-container"> <button type="button" aria-controls="imgedit-rotate-menu" class="imgedit-rotate button" aria-expanded="false" onclick="imageEdit.togglePopup(this)" onblur="imageEdit.monitorPopup()"><?php esc_html_e( 'Image Rotation' ); ?></button> <div id="imgedit-rotate-menu" class="imgedit-popup-menu"> <?php // On some setups GD library does not provide imagerotate() - Ticket #11536. if ( wp_image_editor_supports( array( 'mime_type' => get_post_mime_type( $post_id ), 'methods' => array( 'rotate' ), ) ) ) { $note_no_rotate = ''; ?> <button type="button" class="imgedit-rleft button" onkeydown="imageEdit.browsePopup(event, this)" onclick="imageEdit.rotate( 90, <?php echo "$post_id, '$nonce'"; ?>, this)" onblur="imageEdit.monitorPopup()"><?php esc_html_e( 'Rotate 90° left' ); ?></button> <button type="button" class="imgedit-rright button" onkeydown="imageEdit.browsePopup(event, this)" onclick="imageEdit.rotate(-90, <?php echo "$post_id, '$nonce'"; ?>, this)" onblur="imageEdit.monitorPopup()"><?php esc_html_e( 'Rotate 90° right' ); ?></button> <button type="button" class="imgedit-rfull button" onkeydown="imageEdit.browsePopup(event, this)" onclick="imageEdit.rotate(180, <?php echo "$post_id, '$nonce'"; ?>, this)" onblur="imageEdit.monitorPopup()"><?php esc_html_e( 'Rotate 180°' ); ?></button> <?php } else { $note_no_rotate = '<p class="note-no-rotate"><em>' . __( 'Image rotation is not supported by your web host.' ) . '</em></p>'; ?> <button type="button" class="imgedit-rleft button disabled" disabled></button> <button type="button" class="imgedit-rright button disabled" disabled></button> <?php } ?> <hr /> <button type="button" onkeydown="imageEdit.browsePopup(event, this)" onclick="imageEdit.flip(1, <?php echo "$post_id, '$nonce'"; ?>, this)" onblur="imageEdit.monitorPopup()" class="imgedit-flipv button"><?php esc_html_e( 'Flip vertical' ); ?></button> <button type="button" onkeydown="imageEdit.browsePopup(event, this)" onclick="imageEdit.flip(2, <?php echo "$post_id, '$nonce'"; ?>, this)" onblur="imageEdit.monitorPopup()" class="imgedit-fliph button"><?php esc_html_e( 'Flip horizontal' ); ?></button> <?php echo $note_no_rotate; ?> </div> </div> </div> <div class="imgedit-submit imgedit-menu"> <button type="button" id="image-undo-<?php echo $post_id; ?>" onclick="imageEdit.undo(<?php echo "$post_id, '$nonce'"; ?>, this)" class="imgedit-undo button disabled" disabled><?php esc_html_e( 'Undo' ); ?></button> <button type="button" id="image-redo-<?php echo $post_id; ?>" onclick="imageEdit.redo(<?php echo "$post_id, '$nonce'"; ?>, this)" class="imgedit-redo button disabled" disabled><?php esc_html_e( 'Redo' ); ?></button> <button type="button" onclick="imageEdit.close(<?php echo $post_id; ?>, 1)" class="button imgedit-cancel-btn"><?php esc_html_e( 'Cancel Editing' ); ?></button> <button type="button" onclick="imageEdit.save(<?php echo "$post_id, '$nonce'"; ?>)" disabled="disabled" class="button button-primary imgedit-submit-btn"><?php esc_html_e( 'Save Edits' ); ?></button> </div> </div> <div class="imgedit-panel-content wp-clearfix"> <div class="imgedit-tools"> <input type="hidden" id="imgedit-nonce-<?php echo $post_id; ?>" value="<?php echo $nonce; ?>" /> <input type="hidden" id="imgedit-sizer-<?php echo $post_id; ?>" value="<?php echo $sizer; ?>" /> <input type="hidden" id="imgedit-history-<?php echo $post_id; ?>" value="" /> <input type="hidden" id="imgedit-undone-<?php echo $post_id; ?>" value="0" /> <input type="hidden" id="imgedit-selection-<?php echo $post_id; ?>" value="" /> <input type="hidden" id="imgedit-x-<?php echo $post_id; ?>" value="<?php echo isset( $meta['width'] ) ? $meta['width'] : 0; ?>" /> <input type="hidden" id="imgedit-y-<?php echo $post_id; ?>" value="<?php echo isset( $meta['height'] ) ? $meta['height'] : 0; ?>" /> <div id="imgedit-crop-<?php echo $post_id; ?>" class="imgedit-crop-wrap"> <div class="imgedit-crop-grid"></div> <img id="image-preview-<?php echo $post_id; ?>" onload="imageEdit.imgLoaded('<?php echo $post_id; ?>')" src="<?php echo esc_url( admin_url( 'admin-ajax.php', 'relative' ) ) . '?action=imgedit-preview&_ajax_nonce=' . $nonce . '&postid=' . $post_id . '&rand=' . rand( 1, 99999 ); ?>" alt="" /> </div> </div> <div class="imgedit-settings"> <div class="imgedit-tool-active"> <div class="imgedit-group"> <div id="imgedit-scale" tabindex="-1" class="imgedit-group-controls"> <div class="imgedit-group-top"> <h2><?php _e( 'Scale Image' ); ?></h2> <button type="button" class="dashicons dashicons-editor-help imgedit-help-toggle" onclick="imageEdit.toggleHelp(this);" aria-expanded="false"><span class="screen-reader-text"> <?php /* translators: Hidden accessibility text. */ esc_html_e( 'Scale Image Help' ); ?> </span></button> <div class="imgedit-help"> <p><?php _e( 'You can proportionally scale the original image. For best results, scaling should be done before you crop, flip, or rotate. Images can only be scaled down, not up.' ); ?></p> </div> <?php if ( isset( $meta['width'], $meta['height'] ) ) : ?> <p> <?php printf( /* translators: %s: Image width and height in pixels. */ __( 'Original dimensions %s' ), '<span class="imgedit-original-dimensions">' . $meta['width'] . ' × ' . $meta['height'] . '</span>' ); ?> </p> <?php endif; ?> <div class="imgedit-submit"> <fieldset class="imgedit-scale-controls"> <legend><?php _e( 'New dimensions:' ); ?></legend> <div class="nowrap"> <label for="imgedit-scale-width-<?php echo $post_id; ?>" class="screen-reader-text"> <?php /* translators: Hidden accessibility text. */ _e( 'scale height' ); ?> </label> <input type="number" step="1" min="0" max="<?php echo isset( $meta['width'] ) ? $meta['width'] : ''; ?>" aria-describedby="imgedit-scale-warn-<?php echo $post_id; ?>" id="imgedit-scale-width-<?php echo $post_id; ?>" onkeyup="imageEdit.scaleChanged(<?php echo $post_id; ?>, 1, this)" onblur="imageEdit.scaleChanged(<?php echo $post_id; ?>, 1, this)" value="<?php echo isset( $meta['width'] ) ? $meta['width'] : 0; ?>" /> <span class="imgedit-separator" aria-hidden="true">×</span> <label for="imgedit-scale-height-<?php echo $post_id; ?>" class="screen-reader-text"><?php _e( 'scale height' ); ?></label> <input type="number" step="1" min="0" max="<?php echo isset( $meta['height'] ) ? $meta['height'] : ''; ?>" aria-describedby="imgedit-scale-warn-<?php echo $post_id; ?>" id="imgedit-scale-height-<?php echo $post_id; ?>" onkeyup="imageEdit.scaleChanged(<?php echo $post_id; ?>, 0, this)" onblur="imageEdit.scaleChanged(<?php echo $post_id; ?>, 0, this)" value="<?php echo isset( $meta['height'] ) ? $meta['height'] : 0; ?>" /> <button id="imgedit-scale-button" type="button" onclick="imageEdit.action(<?php echo "$post_id, '$nonce'"; ?>, 'scale')" class="button button-primary"><?php esc_html_e( 'Scale' ); ?></button> </div> <span class="imgedit-scale-warn" id="imgedit-scale-warn-<?php echo $post_id; ?>"><span class="dashicons dashicons-warning" aria-hidden="true"></span><?php esc_html_e( 'Images cannot be scaled to a size larger than the original.' ); ?></span> </fieldset> </div> </div> </div> </div> <?php if ( $can_restore ) { ?> <div class="imgedit-group"> <div class="imgedit-group-top"> <h2><button type="button" onclick="imageEdit.toggleHelp(this);" class="button-link" aria-expanded="false"><?php _e( 'Restore original image' ); ?> <span class="dashicons dashicons-arrow-down imgedit-help-toggle"></span></button></h2> <div class="imgedit-help imgedit-restore"> <p> <?php _e( 'Discard any changes and restore the original image.' ); if ( ! defined( 'IMAGE_EDIT_OVERWRITE' ) || ! IMAGE_EDIT_OVERWRITE ) { echo ' ' . __( 'Previously edited copies of the image will not be deleted.' ); } ?> </p> <div class="imgedit-submit"> <input type="button" onclick="imageEdit.action(<?php echo "$post_id, '$nonce'"; ?>, 'restore')" class="button button-primary" value="<?php esc_attr_e( 'Restore image' ); ?>" <?php echo $can_restore; ?> /> </div> </div> </div> </div> <?php } ?> <div class="imgedit-group"> <div id="imgedit-crop" tabindex="-1" class="imgedit-group-controls"> <div class="imgedit-group-top"> <h2><?php _e( 'Crop Image' ); ?></h2> <button type="button" class="dashicons dashicons-editor-help imgedit-help-toggle" onclick="imageEdit.toggleHelp(this);" aria-expanded="false"><span class="screen-reader-text"> <?php /* translators: Hidden accessibility text. */ _e( 'Image Crop Help' ); ?> </span></button> <div class="imgedit-help"> <p><?php _e( 'To crop the image, click on it and drag to make your selection.' ); ?></p> <p><strong><?php _e( 'Crop Aspect Ratio' ); ?></strong><br /> <?php _e( 'The aspect ratio is the relationship between the width and height. You can preserve the aspect ratio by holding down the shift key while resizing your selection. Use the input box to specify the aspect ratio, e.g. 1:1 (square), 4:3, 16:9, etc.' ); ?></p> <p><strong><?php _e( 'Crop Selection' ); ?></strong><br /> <?php _e( 'Once you have made your selection, you can adjust it by entering the size in pixels. The minimum selection size is the thumbnail size as set in the Media settings.' ); ?></p> </div> </div> <fieldset class="imgedit-crop-ratio"> <legend><?php _e( 'Aspect ratio:' ); ?></legend> <div class="nowrap"> <label for="imgedit-crop-width-<?php echo $post_id; ?>" class="screen-reader-text"> <?php /* translators: Hidden accessibility text. */ _e( 'crop ratio width' ); ?> </label> <input type="number" step="1" min="1" id="imgedit-crop-width-<?php echo $post_id; ?>" onkeyup="imageEdit.setRatioSelection(<?php echo $post_id; ?>, 0, this)" onblur="imageEdit.setRatioSelection(<?php echo $post_id; ?>, 0, this)" /> <span class="imgedit-separator" aria-hidden="true">:</span> <label for="imgedit-crop-height-<?php echo $post_id; ?>" class="screen-reader-text"> <?php /* translators: Hidden accessibility text. */ _e( 'crop ratio height' ); ?> </label> <input type="number" step="1" min="0" id="imgedit-crop-height-<?php echo $post_id; ?>" onkeyup="imageEdit.setRatioSelection(<?php echo $post_id; ?>, 1, this)" onblur="imageEdit.setRatioSelection(<?php echo $post_id; ?>, 1, this)" /> </div> </fieldset> <fieldset id="imgedit-crop-sel-<?php echo $post_id; ?>" class="imgedit-crop-sel"> <legend><?php _e( 'Selection:' ); ?></legend> <div class="nowrap"> <label for="imgedit-sel-width-<?php echo $post_id; ?>" class="screen-reader-text"> <?php /* translators: Hidden accessibility text. */ _e( 'selection width' ); ?> </label> <input type="number" step="1" min="0" id="imgedit-sel-width-<?php echo $post_id; ?>" onkeyup="imageEdit.setNumSelection(<?php echo $post_id; ?>, this)" onblur="imageEdit.setNumSelection(<?php echo $post_id; ?>, this)" /> <span class="imgedit-separator" aria-hidden="true">×</span> <label for="imgedit-sel-height-<?php echo $post_id; ?>" class="screen-reader-text"> <?php /* translators: Hidden accessibility text. */ _e( 'selection height' ); ?> </label> <input type="number" step="1" min="0" id="imgedit-sel-height-<?php echo $post_id; ?>" onkeyup="imageEdit.setNumSelection(<?php echo $post_id; ?>, this)" onblur="imageEdit.setNumSelection(<?php echo $post_id; ?>, this)" /> </div> </fieldset> <fieldset id="imgedit-crop-sel-<?php echo $post_id; ?>" class="imgedit-crop-sel"> <legend><?php _e( 'Starting Coordinates:' ); ?></legend> <div class="nowrap"> <label for="imgedit-start-x-<?php echo $post_id; ?>" class="screen-reader-text"> <?php /* translators: Hidden accessibility text. */ _e( 'horizontal start position' ); ?> </label> <input type="number" step="1" min="0" id="imgedit-start-x-<?php echo $post_id; ?>" onkeyup="imageEdit.setNumSelection(<?php echo $post_id; ?>, this)" onblur="imageEdit.setNumSelection(<?php echo $post_id; ?>, this)" value="0" /> <span class="imgedit-separator" aria-hidden="true">×</span> <label for="imgedit-start-y-<?php echo $post_id; ?>" class="screen-reader-text"> <?php /* translators: Hidden accessibility text. */ _e( 'vertical start position' ); ?> </label> <input type="number" step="1" min="0" id="imgedit-start-y-<?php echo $post_id; ?>" onkeyup="imageEdit.setNumSelection(<?php echo $post_id; ?>, this)" onblur="imageEdit.setNumSelection(<?php echo $post_id; ?>, this)" value="0" /> </div> </fieldset> <div class="imgedit-crop-apply imgedit-menu container"> <button class="button-primary" type="button" onclick="imageEdit.handleCropToolClick( <?php echo "$post_id, '$nonce'"; ?>, this );" class="imgedit-crop-apply button"><?php esc_html_e( 'Apply Crop' ); ?></button> <button type="button" onclick="imageEdit.handleCropToolClick( <?php echo "$post_id, '$nonce'"; ?>, this );" class="imgedit-crop-clear button" disabled="disabled"><?php esc_html_e( 'Clear Crop' ); ?></button> </div> </div> </div> </div> <?php if ( $edit_thumbnails_separately && $thumb && $sub_sizes ) { $thumb_img = wp_constrain_dimensions( $thumb['width'], $thumb['height'], 160, 120 ); ?> <div class="imgedit-group imgedit-applyto"> <div class="imgedit-group-top"> <h2><?php _e( 'Thumbnail Settings' ); ?></h2> <button type="button" class="dashicons dashicons-editor-help imgedit-help-toggle" onclick="imageEdit.toggleHelp(this);" aria-expanded="false"><span class="screen-reader-text"> <?php /* translators: Hidden accessibility text. */ esc_html_e( 'Thumbnail Settings Help' ); ?> </span></button> <div class="imgedit-help"> <p><?php _e( 'You can edit the image while preserving the thumbnail. For example, you may wish to have a square thumbnail that displays just a section of the image.' ); ?></p> </div> </div> <div class="imgedit-thumbnail-preview-group"> <figure class="imgedit-thumbnail-preview"> <img src="<?php echo $thumb['url']; ?>" width="<?php echo $thumb_img[0]; ?>" height="<?php echo $thumb_img[1]; ?>" class="imgedit-size-preview" alt="" draggable="false" /> <figcaption class="imgedit-thumbnail-preview-caption"><?php _e( 'Current thumbnail' ); ?></figcaption> </figure> <div id="imgedit-save-target-<?php echo $post_id; ?>" class="imgedit-save-target"> <fieldset> <legend><?php _e( 'Apply changes to:' ); ?></legend> <span class="imgedit-label"> <input type="radio" id="imgedit-target-all" name="imgedit-target-<?php echo $post_id; ?>" value="all" checked="checked" /> <label for="imgedit-target-all"><?php _e( 'All image sizes' ); ?></label> </span> <span class="imgedit-label"> <input type="radio" id="imgedit-target-thumbnail" name="imgedit-target-<?php echo $post_id; ?>" value="thumbnail" /> <label for="imgedit-target-thumbnail"><?php _e( 'Thumbnail' ); ?></label> </span> <span class="imgedit-label"> <input type="radio" id="imgedit-target-nothumb" name="imgedit-target-<?php echo $post_id; ?>" value="nothumb" /> <label for="imgedit-target-nothumb"><?php _e( 'All sizes except thumbnail' ); ?></label> </span> </fieldset> </div> </div> </div> <?php } ?> </div> </div> </div> <div class="imgedit-wait" id="imgedit-wait-<?php echo $post_id; ?>"></div> <div class="hidden" id="imgedit-leaving-<?php echo $post_id; ?>"><?php _e( "There are unsaved changes that will be lost. 'OK' to continue, 'Cancel' to return to the Image Editor." ); ?></div> </div> <?php } /** * Streams image in WP_Image_Editor to browser. * * @since 2.9.0 * * @param WP_Image_Editor $image The image editor instance. * @param string $mime_type The mime type of the image. * @param int $attachment_id The image's attachment post ID. * @return bool True on success, false on failure. */ function wp_stream_image( $image, $mime_type, $attachment_id ) { if ( $image instanceof WP_Image_Editor ) { /** * Filters the WP_Image_Editor instance for the image to be streamed to the browser. * * @since 3.5.0 * * @param WP_Image_Editor $image The image editor instance. * @param int $attachment_id The attachment post ID. */ $image = apply_filters( 'image_editor_save_pre', $image, $attachment_id ); if ( is_wp_error( $image->stream( $mime_type ) ) ) { return false; } return true; } else { /* translators: 1: $image, 2: WP_Image_Editor */ _deprecated_argument( __FUNCTION__, '3.5.0', sprintf( __( '%1$s needs to be a %2$s object.' ), '$image', 'WP_Image_Editor' ) ); /** * Filters the GD image resource to be streamed to the browser. * * @since 2.9.0 * @deprecated 3.5.0 Use {@see 'image_editor_save_pre'} instead. * * @param resource|GdImage $image Image resource to be streamed. * @param int $attachment_id The attachment post ID. */ $image = apply_filters_deprecated( 'image_save_pre', array( $image, $attachment_id ), '3.5.0', 'image_editor_save_pre' ); switch ( $mime_type ) { case 'image/jpeg': header( 'Content-Type: image/jpeg' ); return imagejpeg( $image, null, 90 ); case 'image/png': header( 'Content-Type: image/png' ); return imagepng( $image ); case 'image/gif': header( 'Content-Type: image/gif' ); return imagegif( $image ); case 'image/webp': if ( function_exists( 'imagewebp' ) ) { header( 'Content-Type: image/webp' ); return imagewebp( $image, null, 90 ); } return false; case 'image/avif': if ( function_exists( 'imageavif' ) ) { header( 'Content-Type: image/avif' ); return imageavif( $image, null, 90 ); } return false; default: return false; } } } /** * Saves image to file. * * @since 2.9.0 * @since 3.5.0 The `$image` parameter expects a `WP_Image_Editor` instance. * @since 6.0.0 The `$filesize` value was added to the returned array. * * @param string $filename Name of the file to be saved. * @param WP_Image_Editor $image The image editor instance. * @param string $mime_type The mime type of the image. * @param int $post_id Attachment post ID. * @return array|WP_Error|bool { * Array on success or WP_Error if the file failed to save. * When called with a deprecated value for the `$image` parameter, * i.e. a non-`WP_Image_Editor` image resource or `GdImage` instance, * the function will return true on success, false on failure. * * @type string $path Path to the image file. * @type string $file Name of the image file. * @type int $width Image width. * @type int $height Image height. * @type string $mime-type The mime type of the image. * @type int $filesize File size of the image. * } */ function wp_save_image_file( $filename, $image, $mime_type, $post_id ) { if ( $image instanceof WP_Image_Editor ) { /** This filter is documented in wp-admin/includes/image-edit.php */ $image = apply_filters( 'image_editor_save_pre', $image, $post_id ); /** * Filters whether to skip saving the image file. * * Returning a non-null value will short-circuit the save method, * returning that value instead. * * @since 3.5.0 * * @param bool|null $override Value to return instead of saving. Default null. * @param string $filename Name of the file to be saved. * @param WP_Image_Editor $image The image editor instance. * @param string $mime_type The mime type of the image. * @param int $post_id Attachment post ID. */ $saved = apply_filters( 'wp_save_image_editor_file', null, $filename, $image, $mime_type, $post_id ); if ( null !== $saved ) { return $saved; } return $image->save( $filename, $mime_type ); } else { /* translators: 1: $image, 2: WP_Image_Editor */ _deprecated_argument( __FUNCTION__, '3.5.0', sprintf( __( '%1$s needs to be a %2$s object.' ), '$image', 'WP_Image_Editor' ) ); /** This filter is documented in wp-admin/includes/image-edit.php */ $image = apply_filters_deprecated( 'image_save_pre', array( $image, $post_id ), '3.5.0', 'image_editor_save_pre' ); /** * Filters whether to skip saving the image file. * * Returning a non-null value will short-circuit the save method, * returning that value instead. * * @since 2.9.0 * @deprecated 3.5.0 Use {@see 'wp_save_image_editor_file'} instead. * * @param bool|null $override Value to return instead of saving. Default null. * @param string $filename Name of the file to be saved. * @param resource|GdImage $image Image resource or GdImage instance. * @param string $mime_type The mime type of the image. * @param int $post_id Attachment post ID. */ $saved = apply_filters_deprecated( 'wp_save_image_file', array( null, $filename, $image, $mime_type, $post_id ), '3.5.0', 'wp_save_image_editor_file' ); if ( null !== $saved ) { return $saved; } switch ( $mime_type ) { case 'image/jpeg': /** This filter is documented in wp-includes/class-wp-image-editor.php */ return imagejpeg( $image, $filename, apply_filters( 'jpeg_quality', 90, 'edit_image' ) ); case 'image/png': return imagepng( $image, $filename ); case 'image/gif': return imagegif( $image, $filename ); case 'image/webp': if ( function_exists( 'imagewebp' ) ) { return imagewebp( $image, $filename ); } return false; case 'image/avif': if ( function_exists( 'imageavif' ) ) { return imageavif( $image, $filename ); } return false; default: return false; } } } /** * Image preview ratio. Internal use only. * * @since 2.9.0 * * @ignore * @param int $w Image width in pixels. * @param int $h Image height in pixels. * @return float|int Image preview ratio. */ function _image_get_preview_ratio( $w, $h ) { $max = max( $w, $h ); return $max > 600 ? ( 600 / $max ) : 1; } /** * Returns an image resource. Internal use only. * * @since 2.9.0 * @deprecated 3.5.0 Use WP_Image_Editor::rotate() * @see WP_Image_Editor::rotate() * * @ignore * @param resource|GdImage $img Image resource. * @param float|int $angle Image rotation angle, in degrees. * @return resource|GdImage|false GD image resource or GdImage instance, false otherwise. */ function _rotate_image_resource( $img, $angle ) { _deprecated_function( __FUNCTION__, '3.5.0', 'WP_Image_Editor::rotate()' ); if ( function_exists( 'imagerotate' ) ) { $rotated = imagerotate( $img, $angle, 0 ); if ( is_gd_image( $rotated ) ) { imagedestroy( $img ); $img = $rotated; } } return $img; } /** * Flips an image resource. Internal use only. * * @since 2.9.0 * @deprecated 3.5.0 Use WP_Image_Editor::flip() * @see WP_Image_Editor::flip() * * @ignore * @param resource|GdImage $img Image resource or GdImage instance. * @param bool $horz Whether to flip horizontally. * @param bool $vert Whether to flip vertically. * @return resource|GdImage (maybe) flipped image resource or GdImage instance. */ function _flip_image_resource( $img, $horz, $vert ) { _deprecated_function( __FUNCTION__, '3.5.0', 'WP_Image_Editor::flip()' ); $w = imagesx( $img ); $h = imagesy( $img ); $dst = wp_imagecreatetruecolor( $w, $h ); if ( is_gd_image( $dst ) ) { $sx = $vert ? ( $w - 1 ) : 0; $sy = $horz ? ( $h - 1 ) : 0; $sw = $vert ? -$w : $w; $sh = $horz ? -$h : $h; if ( imagecopyresampled( $dst, $img, 0, 0, $sx, $sy, $w, $h, $sw, $sh ) ) { imagedestroy( $img ); $img = $dst; } } return $img; } /** * Crops an image resource. Internal use only. * * @since 2.9.0 * * @ignore * @param resource|GdImage $img Image resource or GdImage instance. * @param float $x Source point x-coordinate. * @param float $y Source point y-coordinate. * @param float $w Source width. * @param float $h Source height. * @return resource|GdImage (maybe) cropped image resource or GdImage instance. */ function _crop_image_resource( $img, $x, $y, $w, $h ) { $dst = wp_imagecreatetruecolor( $w, $h ); if ( is_gd_image( $dst ) ) { if ( imagecopy( $dst, $img, 0, 0, $x, $y, $w, $h ) ) { imagedestroy( $img ); $img = $dst; } } return $img; } /** * Performs group of changes on Editor specified. * * @since 2.9.0 * * @param WP_Image_Editor $image WP_Image_Editor instance. * @param array $changes Array of change operations. * @return WP_Image_Editor WP_Image_Editor instance with changes applied. */ function image_edit_apply_changes( $image, $changes ) { if ( is_gd_image( $image ) ) { /* translators: 1: $image, 2: WP_Image_Editor */ _deprecated_argument( __FUNCTION__, '3.5.0', sprintf( __( '%1$s needs to be a %2$s object.' ), '$image', 'WP_Image_Editor' ) ); } if ( ! is_array( $changes ) ) { return $image; } // Expand change operations. foreach ( $changes as $key => $obj ) { if ( isset( $obj->r ) ) { $obj->type = 'rotate'; $obj->angle = $obj->r; unset( $obj->r ); } elseif ( isset( $obj->f ) ) { $obj->type = 'flip'; $obj->axis = $obj->f; unset( $obj->f ); } elseif ( isset( $obj->c ) ) { $obj->type = 'crop'; $obj->sel = $obj->c; unset( $obj->c ); } $changes[ $key ] = $obj; } // Combine operations. if ( count( $changes ) > 1 ) { $filtered = array( $changes[0] ); for ( $i = 0, $j = 1, $c = count( $changes ); $j < $c; $j++ ) { $combined = false; if ( $filtered[ $i ]->type === $changes[ $j ]->type ) { switch ( $filtered[ $i ]->type ) { case 'rotate': $filtered[ $i ]->angle += $changes[ $j ]->angle; $combined = true; break; case 'flip': $filtered[ $i ]->axis ^= $changes[ $j ]->axis; $combined = true; break; } } if ( ! $combined ) { $filtered[ ++$i ] = $changes[ $j ]; } } $changes = $filtered; unset( $filtered ); } // Image resource before applying the changes. if ( $image instanceof WP_Image_Editor ) { /** * Filters the WP_Image_Editor instance before applying changes to the image. * * @since 3.5.0 * * @param WP_Image_Editor $image WP_Image_Editor instance. * @param array $changes Array of change operations. */ $image = apply_filters( 'wp_image_editor_before_change', $image, $changes ); } elseif ( is_gd_image( $image ) ) { /** * Filters the GD image resource before applying changes to the image. * * @since 2.9.0 * @deprecated 3.5.0 Use {@see 'wp_image_editor_before_change'} instead. * * @param resource|GdImage $image GD image resource or GdImage instance. * @param array $changes Array of change operations. */ $image = apply_filters_deprecated( 'image_edit_before_change', array( $image, $changes ), '3.5.0', 'wp_image_editor_before_change' ); } foreach ( $changes as $operation ) { switch ( $operation->type ) { case 'rotate': if ( 0 !== $operation->angle ) { if ( $image instanceof WP_Image_Editor ) { $image->rotate( $operation->angle ); } else { $image = _rotate_image_resource( $image, $operation->angle ); } } break; case 'flip': if ( 0 !== $operation->axis ) { if ( $image instanceof WP_Image_Editor ) { $image->flip( ( $operation->axis & 1 ) !== 0, ( $operation->axis & 2 ) !== 0 ); } else { $image = _flip_image_resource( $image, ( $operation->axis & 1 ) !== 0, ( $operation->axis & 2 ) !== 0 ); } } break; case 'crop': $sel = $operation->sel; if ( $image instanceof WP_Image_Editor ) { $size = $image->get_size(); $w = $size['width']; $h = $size['height']; $scale = isset( $sel->r ) ? $sel->r : 1 / _image_get_preview_ratio( $w, $h ); // Discard preview scaling. $image->crop( (int) ( $sel->x * $scale ), (int) ( $sel->y * $scale ), (int) ( $sel->w * $scale ), (int) ( $sel->h * $scale ) ); } else { $scale = isset( $sel->r ) ? $sel->r : 1 / _image_get_preview_ratio( imagesx( $image ), imagesy( $image ) ); // Discard preview scaling. $image = _crop_image_resource( $image, $sel->x * $scale, $sel->y * $scale, $sel->w * $scale, $sel->h * $scale ); } break; } } return $image; } /** * Streams image in post to browser, along with enqueued changes * in `$_REQUEST['history']`. * * @since 2.9.0 * * @param int $post_id Attachment post ID. * @return bool True on success, false on failure. */ function stream_preview_image( $post_id ) { $post = get_post( $post_id ); wp_raise_memory_limit( 'admin' ); $img = wp_get_image_editor( _load_image_to_edit_path( $post_id ) ); if ( is_wp_error( $img ) ) { return false; } $changes = ! empty( $_REQUEST['history'] ) ? json_decode( wp_unslash( $_REQUEST['history'] ) ) : null; if ( $changes ) { $img = image_edit_apply_changes( $img, $changes ); } // Scale the image. $size = $img->get_size(); $w = $size['width']; $h = $size['height']; $ratio = _image_get_preview_ratio( $w, $h ); $w2 = max( 1, $w * $ratio ); $h2 = max( 1, $h * $ratio ); if ( is_wp_error( $img->resize( $w2, $h2 ) ) ) { return false; } return wp_stream_image( $img, $post->post_mime_type, $post_id ); } /** * Restores the metadata for a given attachment. * * @since 2.9.0 * * @param int $post_id Attachment post ID. * @return stdClass Image restoration message object. */ function wp_restore_image( $post_id ) { $meta = wp_get_attachment_metadata( $post_id ); $file = get_attached_file( $post_id ); $backup_sizes = get_post_meta( $post_id, '_wp_attachment_backup_sizes', true ); $old_backup_sizes = $backup_sizes; $restored = false; $msg = new stdClass(); if ( ! is_array( $backup_sizes ) ) { $msg->error = __( 'Cannot load image metadata.' ); return $msg; } $parts = pathinfo( $file ); $suffix = time() . rand( 100, 999 ); $default_sizes = get_intermediate_image_sizes(); if ( isset( $backup_sizes['full-orig'] ) && is_array( $backup_sizes['full-orig'] ) ) { $data = $backup_sizes['full-orig']; if ( $parts['basename'] !== $data['file'] ) { if ( defined( 'IMAGE_EDIT_OVERWRITE' ) && IMAGE_EDIT_OVERWRITE ) { // Delete only if it's an edited image. if ( preg_match( '/-e[0-9]{13}\./', $parts['basename'] ) ) { wp_delete_file( $file ); } } elseif ( isset( $meta['width'], $meta['height'] ) ) { $backup_sizes[ "full-$suffix" ] = array( 'width' => $meta['width'], 'height' => $meta['height'], 'filesize' => $meta['filesize'], 'file' => $parts['basename'], ); } } $restored_file = path_join( $parts['dirname'], $data['file'] ); $restored = update_attached_file( $post_id, $restored_file ); $meta['file'] = _wp_relative_upload_path( $restored_file ); $meta['width'] = $data['width']; $meta['height'] = $data['height']; if ( isset( $data['filesize'] ) ) { /* * Restore the original filesize if it was backed up. * * See https://core.trac.wordpress.org/ticket/59684. */ $meta['filesize'] = $data['filesize']; } } foreach ( $default_sizes as $default_size ) { if ( isset( $backup_sizes[ "$default_size-orig" ] ) ) { $data = $backup_sizes[ "$default_size-orig" ]; if ( isset( $meta['sizes'][ $default_size ] ) && $meta['sizes'][ $default_size ]['file'] !== $data['file'] ) { if ( defined( 'IMAGE_EDIT_OVERWRITE' ) && IMAGE_EDIT_OVERWRITE ) { // Delete only if it's an edited image. if ( preg_match( '/-e[0-9]{13}-/', $meta['sizes'][ $default_size ]['file'] ) ) { $delete_file = path_join( $parts['dirname'], $meta['sizes'][ $default_size ]['file'] ); wp_delete_file( $delete_file ); } } else { $backup_sizes[ "$default_size-{$suffix}" ] = $meta['sizes'][ $default_size ]; } } $meta['sizes'][ $default_size ] = $data; } else { unset( $meta['sizes'][ $default_size ] ); } } if ( ! wp_update_attachment_metadata( $post_id, $meta ) || ( $old_backup_sizes !== $backup_sizes && ! update_post_meta( $post_id, '_wp_attachment_backup_sizes', $backup_sizes ) ) ) { $msg->error = __( 'Cannot save image metadata.' ); return $msg; } if ( ! $restored ) { $msg->error = __( 'Image metadata is inconsistent.' ); } else { $msg->msg = __( 'Image restored successfully.' ); if ( defined( 'IMAGE_EDIT_OVERWRITE' ) && IMAGE_EDIT_OVERWRITE ) { delete_post_meta( $post_id, '_wp_attachment_backup_sizes' ); } } return $msg; } /** * Saves image to post, along with enqueued changes * in `$_REQUEST['history']`. * * @since 2.9.0 * * @param int $post_id Attachment post ID. * @return stdClass */ function wp_save_image( $post_id ) { $_wp_additional_image_sizes = wp_get_additional_image_sizes(); $return = new stdClass(); $success = false; $delete = false; $scaled = false; $nocrop = false; $post = get_post( $post_id ); $img = wp_get_image_editor( _load_image_to_edit_path( $post_id, 'full' ) ); if ( is_wp_error( $img ) ) { $return->error = esc_js( __( 'Unable to create new image.' ) ); return $return; } $full_width = ! empty( $_REQUEST['fwidth'] ) ? (int) $_REQUEST['fwidth'] : 0; $full_height = ! empty( $_REQUEST['fheight'] ) ? (int) $_REQUEST['fheight'] : 0; $target = ! empty( $_REQUEST['target'] ) ? preg_replace( '/[^a-z0-9_-]+/i', '', $_REQUEST['target'] ) : ''; $scale = ! empty( $_REQUEST['do'] ) && 'scale' === $_REQUEST['do']; /** This filter is documented in wp-admin/includes/image-edit.php */ $edit_thumbnails_separately = (bool) apply_filters( 'image_edit_thumbnails_separately', false ); if ( $scale ) { $size = $img->get_size(); $original_width = $size['width']; $original_height = $size['height']; if ( $full_width > $original_width || $full_height > $original_height ) { $return->error = esc_js( __( 'Images cannot be scaled to a size larger than the original.' ) ); return $return; } if ( $full_width > 0 && $full_height > 0 ) { // Check if it has roughly the same w / h ratio. $diff = round( $original_width / $original_height, 2 ) - round( $full_width / $full_height, 2 ); if ( -0.1 < $diff && $diff < 0.1 ) { // Scale the full size image. if ( $img->resize( $full_width, $full_height ) ) { $scaled = true; } } if ( ! $scaled ) { $return->error = esc_js( __( 'Error while saving the scaled image. Please reload the page and try again.' ) ); return $return; } } } elseif ( ! empty( $_REQUEST['history'] ) ) { $changes = json_decode( wp_unslash( $_REQUEST['history'] ) ); if ( $changes ) { $img = image_edit_apply_changes( $img, $changes ); } } else { $return->error = esc_js( __( 'Nothing to save, the image has not changed.' ) ); return $return; } $meta = wp_get_attachment_metadata( $post_id ); $backup_sizes = get_post_meta( $post->ID, '_wp_attachment_backup_sizes', true ); if ( ! is_array( $meta ) ) { $return->error = esc_js( __( 'Image data does not exist. Please re-upload the image.' ) ); return $return; } if ( ! is_array( $backup_sizes ) ) { $backup_sizes = array(); } // Generate new filename. $path = get_attached_file( $post_id ); $basename = pathinfo( $path, PATHINFO_BASENAME ); $dirname = pathinfo( $path, PATHINFO_DIRNAME ); $ext = pathinfo( $path, PATHINFO_EXTENSION ); $filename = pathinfo( $path, PATHINFO_FILENAME ); $suffix = time() . rand( 100, 999 ); if ( defined( 'IMAGE_EDIT_OVERWRITE' ) && IMAGE_EDIT_OVERWRITE && isset( $backup_sizes['full-orig'] ) && $backup_sizes['full-orig']['file'] !== $basename ) { if ( $edit_thumbnails_separately && 'thumbnail' === $target ) { $new_path = "{$dirname}/{$filename}-temp.{$ext}"; } else { $new_path = $path; } } else { while ( true ) { $filename = preg_replace( '/-e([0-9]+)$/', '', $filename ); $filename .= "-e{$suffix}"; $new_filename = "{$filename}.{$ext}"; $new_path = "{$dirname}/$new_filename"; if ( file_exists( $new_path ) ) { ++$suffix; } else { break; } } } $saved_image = wp_save_image_file( $new_path, $img, $post->post_mime_type, $post_id ); // Save the full-size file, also needed to create sub-sizes. if ( ! $saved_image ) { $return->error = esc_js( __( 'Unable to save the image.' ) ); return $return; } if ( 'nothumb' === $target || 'all' === $target || 'full' === $target || $scaled ) { $tag = false; if ( isset( $backup_sizes['full-orig'] ) ) { if ( ( ! defined( 'IMAGE_EDIT_OVERWRITE' ) || ! IMAGE_EDIT_OVERWRITE ) && $backup_sizes['full-orig']['file'] !== $basename ) { $tag = "full-$suffix"; } } else { $tag = 'full-orig'; } if ( $tag ) { $backup_sizes[ $tag ] = array( 'width' => $meta['width'], 'height' => $meta['height'], 'filesize' => $meta['filesize'], 'file' => $basename, ); } $success = ( $path === $new_path ) || update_attached_file( $post_id, $new_path ); $meta['file'] = _wp_relative_upload_path( $new_path ); $size = $img->get_size(); $meta['width'] = $size['width']; $meta['height'] = $size['height']; $meta['filesize'] = $saved_image['filesize']; if ( $success && ( 'nothumb' === $target || 'all' === $target ) ) { $sizes = get_intermediate_image_sizes(); if ( $edit_thumbnails_separately && 'nothumb' === $target ) { $sizes = array_diff( $sizes, array( 'thumbnail' ) ); } } $return->fw = $meta['width']; $return->fh = $meta['height']; } elseif ( $edit_thumbnails_separately && 'thumbnail' === $target ) { $sizes = array( 'thumbnail' ); $success = true; $delete = true; $nocrop = true; } /* * We need to remove any existing resized image files because * a new crop or rotate could generate different sizes (and hence, filenames), * keeping the new resized images from overwriting the existing image files. * https://core.trac.wordpress.org/ticket/32171 */ if ( defined( 'IMAGE_EDIT_OVERWRITE' ) && IMAGE_EDIT_OVERWRITE && ! empty( $meta['sizes'] ) ) { foreach ( $meta['sizes'] as $size ) { if ( ! empty( $size['file'] ) && preg_match( '/-e[0-9]{13}-/', $size['file'] ) ) { $delete_file = path_join( $dirname, $size['file'] ); wp_delete_file( $delete_file ); } } } if ( isset( $sizes ) ) { $_sizes = array(); foreach ( $sizes as $size ) { $tag = false; if ( isset( $meta['sizes'][ $size ] ) ) { if ( isset( $backup_sizes[ "$size-orig" ] ) ) { if ( ( ! defined( 'IMAGE_EDIT_OVERWRITE' ) || ! IMAGE_EDIT_OVERWRITE ) && $backup_sizes[ "$size-orig" ]['file'] !== $meta['sizes'][ $size ]['file'] ) { $tag = "$size-$suffix"; } } else { $tag = "$size-orig"; } if ( $tag ) { $backup_sizes[ $tag ] = $meta['sizes'][ $size ]; } } if ( isset( $_wp_additional_image_sizes[ $size ] ) ) { $width = (int) $_wp_additional_image_sizes[ $size ]['width']; $height = (int) $_wp_additional_image_sizes[ $size ]['height']; $crop = ( $nocrop ) ? false : $_wp_additional_image_sizes[ $size ]['crop']; } else { $height = get_option( "{$size}_size_h" ); $width = get_option( "{$size}_size_w" ); $crop = ( $nocrop ) ? false : get_option( "{$size}_crop" ); } $_sizes[ $size ] = array( 'width' => $width, 'height' => $height, 'crop' => $crop, ); } $meta['sizes'] = array_merge( $meta['sizes'], $img->multi_resize( $_sizes ) ); } unset( $img ); if ( $success ) { wp_update_attachment_metadata( $post_id, $meta ); update_post_meta( $post_id, '_wp_attachment_backup_sizes', $backup_sizes ); if ( 'thumbnail' === $target || 'all' === $target || 'full' === $target ) { // Check if it's an image edit from attachment edit screen. if ( ! empty( $_REQUEST['context'] ) && 'edit-attachment' === $_REQUEST['context'] ) { $thumb_url = wp_get_attachment_image_src( $post_id, array( 900, 600 ), true ); $return->thumbnail = $thumb_url[0]; } else { $file_url = wp_get_attachment_url( $post_id ); if ( ! empty( $meta['sizes']['thumbnail'] ) ) { $thumb = $meta['sizes']['thumbnail']; $return->thumbnail = path_join( dirname( $file_url ), $thumb['file'] ); } else { $return->thumbnail = "$file_url?w=128&h=128"; } } } } else { $delete = true; } if ( $delete ) { wp_delete_file( $new_path ); } $return->msg = esc_js( __( 'Image saved' ) ); return $return; } class-walker-category-checklist.php 0000644 00000011743 14735706075 0013453 0 ustar 00 <?php /** * Taxonomy API: Walker_Category_Checklist class * * @package WordPress * @subpackage Administration * @since 4.4.0 */ /** * Core walker class to output an unordered list of category checkbox input elements. * * @since 2.5.1 * * @see Walker * @see wp_category_checklist() * @see wp_terms_checklist() */ class Walker_Category_Checklist extends Walker { public $tree_type = 'category'; public $db_fields = array( 'parent' => 'parent', 'id' => 'term_id', ); // TODO: Decouple this. /** * Starts the list before the elements are added. * * @see Walker:start_lvl() * * @since 2.5.1 * * @param string $output Used to append additional content (passed by reference). * @param int $depth Depth of category. Used for tab indentation. * @param array $args An array of arguments. See {@see wp_terms_checklist()}. */ public function start_lvl( &$output, $depth = 0, $args = array() ) { $indent = str_repeat( "\t", $depth ); $output .= "$indent<ul class='children'>\n"; } /** * Ends the list of after the elements are added. * * @see Walker::end_lvl() * * @since 2.5.1 * * @param string $output Used to append additional content (passed by reference). * @param int $depth Depth of category. Used for tab indentation. * @param array $args An array of arguments. See {@see wp_terms_checklist()}. */ public function end_lvl( &$output, $depth = 0, $args = array() ) { $indent = str_repeat( "\t", $depth ); $output .= "$indent</ul>\n"; } /** * Start the element output. * * @see Walker::start_el() * * @since 2.5.1 * @since 5.9.0 Renamed `$category` to `$data_object` and `$id` to `$current_object_id` * to match parent class for PHP 8 named parameter support. * * @param string $output Used to append additional content (passed by reference). * @param WP_Term $data_object The current term object. * @param int $depth Depth of the term in reference to parents. Default 0. * @param array $args An array of arguments. See {@see wp_terms_checklist()}. * @param int $current_object_id Optional. ID of the current term. Default 0. */ public function start_el( &$output, $data_object, $depth = 0, $args = array(), $current_object_id = 0 ) { // Restores the more descriptive, specific name for use within this method. $category = $data_object; if ( empty( $args['taxonomy'] ) ) { $taxonomy = 'category'; } else { $taxonomy = $args['taxonomy']; } if ( 'category' === $taxonomy ) { $name = 'post_category'; } else { $name = 'tax_input[' . $taxonomy . ']'; } $args['popular_cats'] = ! empty( $args['popular_cats'] ) ? array_map( 'intval', $args['popular_cats'] ) : array(); $class = in_array( $category->term_id, $args['popular_cats'], true ) ? ' class="popular-category"' : ''; $args['selected_cats'] = ! empty( $args['selected_cats'] ) ? array_map( 'intval', $args['selected_cats'] ) : array(); if ( ! empty( $args['list_only'] ) ) { $aria_checked = 'false'; $inner_class = 'category'; if ( in_array( $category->term_id, $args['selected_cats'], true ) ) { $inner_class .= ' selected'; $aria_checked = 'true'; } $output .= "\n" . '<li' . $class . '>' . '<div class="' . $inner_class . '" data-term-id=' . $category->term_id . ' tabindex="0" role="checkbox" aria-checked="' . $aria_checked . '">' . /** This filter is documented in wp-includes/category-template.php */ esc_html( apply_filters( 'the_category', $category->name, '', '' ) ) . '</div>'; } else { $is_selected = in_array( $category->term_id, $args['selected_cats'], true ); $is_disabled = ! empty( $args['disabled'] ); $li_element_id = wp_unique_prefixed_id( "in-{$taxonomy}-{$category->term_id}-" ); $checkbox_element_id = wp_unique_prefixed_id( "in-{$taxonomy}-{$category->term_id}-" ); $output .= "\n<li id='" . esc_attr( $li_element_id ) . "'$class>" . '<label class="selectit"><input value="' . $category->term_id . '" type="checkbox" name="' . $name . '[]" id="' . esc_attr( $checkbox_element_id ) . '"' . checked( $is_selected, true, false ) . disabled( $is_disabled, true, false ) . ' /> ' . /** This filter is documented in wp-includes/category-template.php */ esc_html( apply_filters( 'the_category', $category->name, '', '' ) ) . '</label>'; } } /** * Ends the element output, if needed. * * @see Walker::end_el() * * @since 2.5.1 * @since 5.9.0 Renamed `$category` to `$data_object` to match parent class for PHP 8 named parameter support. * * @param string $output Used to append additional content (passed by reference). * @param WP_Term $data_object The current term object. * @param int $depth Depth of the term in reference to parents. Default 0. * @param array $args An array of arguments. See {@see wp_terms_checklist()}. */ public function end_el( &$output, $data_object, $depth = 0, $args = array() ) { $output .= "</li>\n"; } } screen.php 0000644 00000014352 14735706075 0006557 0 ustar 00 <?php /** * WordPress Administration Screen API. * * @package WordPress * @subpackage Administration */ /** * Get the column headers for a screen * * @since 2.7.0 * * @param string|WP_Screen $screen The screen you want the headers for * @return string[] The column header labels keyed by column ID. */ function get_column_headers( $screen ) { static $column_headers = array(); if ( is_string( $screen ) ) { $screen = convert_to_screen( $screen ); } if ( ! isset( $column_headers[ $screen->id ] ) ) { /** * Filters the column headers for a list table on a specific screen. * * The dynamic portion of the hook name, `$screen->id`, refers to the * ID of a specific screen. For example, the screen ID for the Posts * list table is edit-post, so the filter for that screen would be * manage_edit-post_columns. * * @since 3.0.0 * * @param string[] $columns The column header labels keyed by column ID. */ $column_headers[ $screen->id ] = apply_filters( "manage_{$screen->id}_columns", array() ); } return $column_headers[ $screen->id ]; } /** * Get a list of hidden columns. * * @since 2.7.0 * * @param string|WP_Screen $screen The screen you want the hidden columns for * @return string[] Array of IDs of hidden columns. */ function get_hidden_columns( $screen ) { if ( is_string( $screen ) ) { $screen = convert_to_screen( $screen ); } $hidden = get_user_option( 'manage' . $screen->id . 'columnshidden' ); $use_defaults = ! is_array( $hidden ); if ( $use_defaults ) { $hidden = array(); /** * Filters the default list of hidden columns. * * @since 4.4.0 * * @param string[] $hidden Array of IDs of columns hidden by default. * @param WP_Screen $screen WP_Screen object of the current screen. */ $hidden = apply_filters( 'default_hidden_columns', $hidden, $screen ); } /** * Filters the list of hidden columns. * * @since 4.4.0 * @since 4.4.1 Added the `use_defaults` parameter. * * @param string[] $hidden Array of IDs of hidden columns. * @param WP_Screen $screen WP_Screen object of the current screen. * @param bool $use_defaults Whether to show the default columns. */ return apply_filters( 'hidden_columns', $hidden, $screen, $use_defaults ); } /** * Prints the meta box preferences for screen meta. * * @since 2.7.0 * * @global array $wp_meta_boxes Global meta box state. * * @param WP_Screen $screen */ function meta_box_prefs( $screen ) { global $wp_meta_boxes; if ( is_string( $screen ) ) { $screen = convert_to_screen( $screen ); } if ( empty( $wp_meta_boxes[ $screen->id ] ) ) { return; } $hidden = get_hidden_meta_boxes( $screen ); foreach ( array_keys( $wp_meta_boxes[ $screen->id ] ) as $context ) { foreach ( array( 'high', 'core', 'default', 'low' ) as $priority ) { if ( ! isset( $wp_meta_boxes[ $screen->id ][ $context ][ $priority ] ) ) { continue; } foreach ( $wp_meta_boxes[ $screen->id ][ $context ][ $priority ] as $box ) { if ( false === $box || ! $box['title'] ) { continue; } // Submit box cannot be hidden. if ( 'submitdiv' === $box['id'] || 'linksubmitdiv' === $box['id'] ) { continue; } $widget_title = $box['title']; if ( is_array( $box['args'] ) && isset( $box['args']['__widget_basename'] ) ) { $widget_title = $box['args']['__widget_basename']; } $is_hidden = in_array( $box['id'], $hidden, true ); printf( '<label for="%1$s-hide"><input class="hide-postbox-tog" name="%1$s-hide" type="checkbox" id="%1$s-hide" value="%1$s" %2$s />%3$s</label>', esc_attr( $box['id'] ), checked( $is_hidden, false, false ), $widget_title ); } } } } /** * Gets an array of IDs of hidden meta boxes. * * @since 2.7.0 * * @param string|WP_Screen $screen Screen identifier * @return string[] IDs of hidden meta boxes. */ function get_hidden_meta_boxes( $screen ) { if ( is_string( $screen ) ) { $screen = convert_to_screen( $screen ); } $hidden = get_user_option( "metaboxhidden_{$screen->id}" ); $use_defaults = ! is_array( $hidden ); // Hide slug boxes by default. if ( $use_defaults ) { $hidden = array(); if ( 'post' === $screen->base ) { if ( in_array( $screen->post_type, array( 'post', 'page', 'attachment' ), true ) ) { $hidden = array( 'slugdiv', 'trackbacksdiv', 'postcustom', 'postexcerpt', 'commentstatusdiv', 'commentsdiv', 'authordiv', 'revisionsdiv' ); } else { $hidden = array( 'slugdiv' ); } } /** * Filters the default list of hidden meta boxes. * * @since 3.1.0 * * @param string[] $hidden An array of IDs of meta boxes hidden by default. * @param WP_Screen $screen WP_Screen object of the current screen. */ $hidden = apply_filters( 'default_hidden_meta_boxes', $hidden, $screen ); } /** * Filters the list of hidden meta boxes. * * @since 3.3.0 * * @param string[] $hidden An array of IDs of hidden meta boxes. * @param WP_Screen $screen WP_Screen object of the current screen. * @param bool $use_defaults Whether to show the default meta boxes. * Default true. */ return apply_filters( 'hidden_meta_boxes', $hidden, $screen, $use_defaults ); } /** * Register and configure an admin screen option * * @since 3.1.0 * * @param string $option An option name. * @param mixed $args Option-dependent arguments. */ function add_screen_option( $option, $args = array() ) { $current_screen = get_current_screen(); if ( ! $current_screen ) { return; } $current_screen->add_option( $option, $args ); } /** * Get the current screen object * * @since 3.1.0 * * @global WP_Screen $current_screen WordPress current screen object. * * @return WP_Screen|null Current screen object or null when screen not defined. */ function get_current_screen() { global $current_screen; if ( ! isset( $current_screen ) ) { return null; } return $current_screen; } /** * Set the current screen object * * @since 3.0.0 * * @param string|WP_Screen $hook_name Optional. The hook name (also known as the hook suffix) used to determine the screen, * or an existing screen object. */ function set_current_screen( $hook_name = '' ) { WP_Screen::get( $hook_name )->set_current_screen(); } class-wp-theme-install-list-table.php 0000644 00000036660 14735706075 0013641 0 ustar 00 <?php /** * List Table API: WP_Theme_Install_List_Table class * * @package WordPress * @subpackage Administration * @since 3.1.0 */ /** * Core class used to implement displaying themes to install in a list table. * * @since 3.1.0 * * @see WP_Themes_List_Table */ class WP_Theme_Install_List_Table extends WP_Themes_List_Table { public $features = array(); /** * @return bool */ public function ajax_user_can() { return current_user_can( 'install_themes' ); } /** * @global array $tabs * @global string $tab * @global int $paged * @global string $type * @global array $theme_field_defaults */ public function prepare_items() { require ABSPATH . 'wp-admin/includes/theme-install.php'; global $tabs, $tab, $paged, $type, $theme_field_defaults; $tab = ! empty( $_REQUEST['tab'] ) ? sanitize_text_field( $_REQUEST['tab'] ) : ''; $search_terms = array(); $search_string = ''; if ( ! empty( $_REQUEST['s'] ) ) { $search_string = strtolower( wp_unslash( $_REQUEST['s'] ) ); $search_terms = array_unique( array_filter( array_map( 'trim', explode( ',', $search_string ) ) ) ); } if ( ! empty( $_REQUEST['features'] ) ) { $this->features = $_REQUEST['features']; } $paged = $this->get_pagenum(); $per_page = 36; // These are the tabs which are shown on the page, $tabs = array(); $tabs['dashboard'] = __( 'Search' ); if ( 'search' === $tab ) { $tabs['search'] = __( 'Search Results' ); } $tabs['upload'] = __( 'Upload' ); $tabs['featured'] = _x( 'Featured', 'themes' ); //$tabs['popular'] = _x( 'Popular', 'themes' ); $tabs['new'] = _x( 'Latest', 'themes' ); $tabs['updated'] = _x( 'Recently Updated', 'themes' ); $nonmenu_tabs = array( 'theme-information' ); // Valid actions to perform which do not have a Menu item. /** This filter is documented in wp-admin/theme-install.php */ $tabs = apply_filters( 'install_themes_tabs', $tabs ); /** * Filters tabs not associated with a menu item on the Install Themes screen. * * @since 2.8.0 * * @param string[] $nonmenu_tabs The tabs that don't have a menu item on * the Install Themes screen. */ $nonmenu_tabs = apply_filters( 'install_themes_nonmenu_tabs', $nonmenu_tabs ); // If a non-valid menu tab has been selected, And it's not a non-menu action. if ( empty( $tab ) || ( ! isset( $tabs[ $tab ] ) && ! in_array( $tab, (array) $nonmenu_tabs, true ) ) ) { $tab = key( $tabs ); } $args = array( 'page' => $paged, 'per_page' => $per_page, 'fields' => $theme_field_defaults, ); switch ( $tab ) { case 'search': $type = isset( $_REQUEST['type'] ) ? wp_unslash( $_REQUEST['type'] ) : 'term'; switch ( $type ) { case 'tag': $args['tag'] = array_map( 'sanitize_key', $search_terms ); break; case 'term': $args['search'] = $search_string; break; case 'author': $args['author'] = $search_string; break; } if ( ! empty( $this->features ) ) { $args['tag'] = $this->features; $_REQUEST['s'] = implode( ',', $this->features ); $_REQUEST['type'] = 'tag'; } add_action( 'install_themes_table_header', 'install_theme_search_form', 10, 0 ); break; case 'featured': // case 'popular': case 'new': case 'updated': $args['browse'] = $tab; break; default: $args = false; break; } /** * Filters API request arguments for each Install Themes screen tab. * * The dynamic portion of the hook name, `$tab`, refers to the theme install * tab. * * Possible hook names include: * * - `install_themes_table_api_args_dashboard` * - `install_themes_table_api_args_featured` * - `install_themes_table_api_args_new` * - `install_themes_table_api_args_search` * - `install_themes_table_api_args_updated` * - `install_themes_table_api_args_upload` * * @since 3.7.0 * * @param array|false $args Theme install API arguments. */ $args = apply_filters( "install_themes_table_api_args_{$tab}", $args ); if ( ! $args ) { return; } $api = themes_api( 'query_themes', $args ); if ( is_wp_error( $api ) ) { wp_die( '<p>' . $api->get_error_message() . '</p> <p><a href="#" onclick="document.location.reload(); return false;">' . __( 'Try Again' ) . '</a></p>' ); } $this->items = $api->themes; $this->set_pagination_args( array( 'total_items' => $api->info['results'], 'per_page' => $args['per_page'], 'infinite_scroll' => true, ) ); } /** */ public function no_items() { _e( 'No themes match your request.' ); } /** * @global array $tabs * @global string $tab * @return array */ protected function get_views() { global $tabs, $tab; $display_tabs = array(); foreach ( (array) $tabs as $action => $text ) { $display_tabs[ 'theme-install-' . $action ] = array( 'url' => self_admin_url( 'theme-install.php?tab=' . $action ), 'label' => $text, 'current' => $action === $tab, ); } return $this->get_views_links( $display_tabs ); } /** * Displays the theme install table. * * Overrides the parent display() method to provide a different container. * * @since 3.1.0 */ public function display() { wp_nonce_field( 'fetch-list-' . get_class( $this ), '_ajax_fetch_list_nonce' ); ?> <div class="tablenav top themes"> <div class="alignleft actions"> <?php /** * Fires in the Install Themes list table header. * * @since 2.8.0 */ do_action( 'install_themes_table_header' ); ?> </div> <?php $this->pagination( 'top' ); ?> <br class="clear" /> </div> <div id="availablethemes"> <?php $this->display_rows_or_placeholder(); ?> </div> <?php $this->tablenav( 'bottom' ); } /** * Generates the list table rows. * * @since 3.1.0 */ public function display_rows() { $themes = $this->items; foreach ( $themes as $theme ) { ?> <div class="available-theme installable-theme"> <?php $this->single_row( $theme ); ?> </div> <?php } // End foreach $theme_names. $this->theme_installer(); } /** * Prints a theme from the WordPress.org API. * * @since 3.1.0 * * @global array $themes_allowedtags * * @param stdClass $theme { * An object that contains theme data returned by the WordPress.org API. * * @type string $name Theme name, e.g. 'Twenty Twenty-One'. * @type string $slug Theme slug, e.g. 'twentytwentyone'. * @type string $version Theme version, e.g. '1.1'. * @type string $author Theme author username, e.g. 'melchoyce'. * @type string $preview_url Preview URL, e.g. 'https://2021.wordpress.net/'. * @type string $screenshot_url Screenshot URL, e.g. 'https://wordpress.org/themes/twentytwentyone/'. * @type float $rating Rating score. * @type int $num_ratings The number of ratings. * @type string $homepage Theme homepage, e.g. 'https://wordpress.org/themes/twentytwentyone/'. * @type string $description Theme description. * @type string $download_link Theme ZIP download URL. * } */ public function single_row( $theme ) { global $themes_allowedtags; if ( empty( $theme ) ) { return; } $name = wp_kses( $theme->name, $themes_allowedtags ); $author = wp_kses( $theme->author, $themes_allowedtags ); /* translators: %s: Theme name. */ $preview_title = sprintf( __( 'Preview “%s”' ), $name ); $preview_url = add_query_arg( array( 'tab' => 'theme-information', 'theme' => $theme->slug, ), self_admin_url( 'theme-install.php' ) ); $actions = array(); $install_url = add_query_arg( array( 'action' => 'install-theme', 'theme' => $theme->slug, ), self_admin_url( 'update.php' ) ); $update_url = add_query_arg( array( 'action' => 'upgrade-theme', 'theme' => $theme->slug, ), self_admin_url( 'update.php' ) ); $status = $this->_get_theme_status( $theme ); switch ( $status ) { case 'update_available': $actions[] = sprintf( '<a class="install-now" href="%s" title="%s">%s</a>', esc_url( wp_nonce_url( $update_url, 'upgrade-theme_' . $theme->slug ) ), /* translators: %s: Theme version. */ esc_attr( sprintf( __( 'Update to version %s' ), $theme->version ) ), __( 'Update' ) ); break; case 'newer_installed': case 'latest_installed': $actions[] = sprintf( '<span class="install-now" title="%s">%s</span>', esc_attr__( 'This theme is already installed and is up to date' ), _x( 'Installed', 'theme' ) ); break; case 'install': default: $actions[] = sprintf( '<a class="install-now" href="%s" title="%s">%s</a>', esc_url( wp_nonce_url( $install_url, 'install-theme_' . $theme->slug ) ), /* translators: %s: Theme name. */ esc_attr( sprintf( _x( 'Install %s', 'theme' ), $name ) ), _x( 'Install Now', 'theme' ) ); break; } $actions[] = sprintf( '<a class="install-theme-preview" href="%s" title="%s">%s</a>', esc_url( $preview_url ), /* translators: %s: Theme name. */ esc_attr( sprintf( __( 'Preview %s' ), $name ) ), __( 'Preview' ) ); /** * Filters the install action links for a theme in the Install Themes list table. * * @since 3.4.0 * * @param string[] $actions An array of theme action links. Defaults are * links to Install Now, Preview, and Details. * @param stdClass $theme An object that contains theme data returned by the * WordPress.org API. */ $actions = apply_filters( 'theme_install_actions', $actions, $theme ); ?> <a class="screenshot install-theme-preview" href="<?php echo esc_url( $preview_url ); ?>" title="<?php echo esc_attr( $preview_title ); ?>"> <img src="<?php echo esc_url( $theme->screenshot_url . '?ver=' . $theme->version ); ?>" width="150" alt="" /> </a> <h3><?php echo $name; ?></h3> <div class="theme-author"> <?php /* translators: %s: Theme author. */ printf( __( 'By %s' ), $author ); ?> </div> <div class="action-links"> <ul> <?php foreach ( $actions as $action ) : ?> <li><?php echo $action; ?></li> <?php endforeach; ?> <li class="hide-if-no-js"><a href="#" class="theme-detail"><?php _e( 'Details' ); ?></a></li> </ul> </div> <?php $this->install_theme_info( $theme ); } /** * Prints the wrapper for the theme installer. */ public function theme_installer() { ?> <div id="theme-installer" class="wp-full-overlay expanded"> <div class="wp-full-overlay-sidebar"> <div class="wp-full-overlay-header"> <a href="#" class="close-full-overlay button"><?php _e( 'Close' ); ?></a> <span class="theme-install"></span> </div> <div class="wp-full-overlay-sidebar-content"> <div class="install-theme-info"></div> </div> <div class="wp-full-overlay-footer"> <button type="button" class="collapse-sidebar button" aria-expanded="true" aria-label="<?php esc_attr_e( 'Collapse Sidebar' ); ?>"> <span class="collapse-sidebar-arrow"></span> <span class="collapse-sidebar-label"><?php _e( 'Collapse' ); ?></span> </button> </div> </div> <div class="wp-full-overlay-main"></div> </div> <?php } /** * Prints the wrapper for the theme installer with a provided theme's data. * Used to make the theme installer work for no-js. * * @param stdClass $theme A WordPress.org Theme API object. */ public function theme_installer_single( $theme ) { ?> <div id="theme-installer" class="wp-full-overlay single-theme"> <div class="wp-full-overlay-sidebar"> <?php $this->install_theme_info( $theme ); ?> </div> <div class="wp-full-overlay-main"> <iframe src="<?php echo esc_url( $theme->preview_url ); ?>"></iframe> </div> </div> <?php } /** * Prints the info for a theme (to be used in the theme installer modal). * * @global array $themes_allowedtags * * @param stdClass $theme A WordPress.org Theme API object. */ public function install_theme_info( $theme ) { global $themes_allowedtags; if ( empty( $theme ) ) { return; } $name = wp_kses( $theme->name, $themes_allowedtags ); $author = wp_kses( $theme->author, $themes_allowedtags ); $install_url = add_query_arg( array( 'action' => 'install-theme', 'theme' => $theme->slug, ), self_admin_url( 'update.php' ) ); $update_url = add_query_arg( array( 'action' => 'upgrade-theme', 'theme' => $theme->slug, ), self_admin_url( 'update.php' ) ); $status = $this->_get_theme_status( $theme ); ?> <div class="install-theme-info"> <?php switch ( $status ) { case 'update_available': printf( '<a class="theme-install button button-primary" href="%s" title="%s">%s</a>', esc_url( wp_nonce_url( $update_url, 'upgrade-theme_' . $theme->slug ) ), /* translators: %s: Theme version. */ esc_attr( sprintf( __( 'Update to version %s' ), $theme->version ) ), __( 'Update' ) ); break; case 'newer_installed': case 'latest_installed': printf( '<span class="theme-install" title="%s">%s</span>', esc_attr__( 'This theme is already installed and is up to date' ), _x( 'Installed', 'theme' ) ); break; case 'install': default: printf( '<a class="theme-install button button-primary" href="%s">%s</a>', esc_url( wp_nonce_url( $install_url, 'install-theme_' . $theme->slug ) ), __( 'Install' ) ); break; } ?> <h3 class="theme-name"><?php echo $name; ?></h3> <span class="theme-by"> <?php /* translators: %s: Theme author. */ printf( __( 'By %s' ), $author ); ?> </span> <?php if ( isset( $theme->screenshot_url ) ) : ?> <img class="theme-screenshot" src="<?php echo esc_url( $theme->screenshot_url . '?ver=' . $theme->version ); ?>" alt="" /> <?php endif; ?> <div class="theme-details"> <?php wp_star_rating( array( 'rating' => $theme->rating, 'type' => 'percent', 'number' => $theme->num_ratings, ) ); ?> <div class="theme-version"> <strong><?php _e( 'Version:' ); ?> </strong> <?php echo wp_kses( $theme->version, $themes_allowedtags ); ?> </div> <div class="theme-description"> <?php echo wp_kses( $theme->description, $themes_allowedtags ); ?> </div> </div> <input class="theme-preview-url" type="hidden" value="<?php echo esc_url( $theme->preview_url ); ?>" /> </div> <?php } /** * Send required variables to JavaScript land * * @since 3.4.0 * * @global string $tab Current tab within Themes->Install screen * @global string $type Type of search. * * @param array $extra_args Unused. */ public function _js_vars( $extra_args = array() ) { global $tab, $type; parent::_js_vars( compact( 'tab', 'type' ) ); } /** * Checks to see if the theme is already installed. * * @since 3.4.0 * * @param stdClass $theme A WordPress.org Theme API object. * @return string Theme status. */ private function _get_theme_status( $theme ) { $status = 'install'; $installed_theme = wp_get_theme( $theme->slug ); if ( $installed_theme->exists() ) { if ( version_compare( $installed_theme->get( 'Version' ), $theme->version, '=' ) ) { $status = 'latest_installed'; } elseif ( version_compare( $installed_theme->get( 'Version' ), $theme->version, '>' ) ) { $status = 'newer_installed'; } else { $status = 'update_available'; } } return $status; } } noop.php 0000644 00000002174 14735706075 0006252 0 ustar 00 <?php /** * Noop functions for load-scripts.php and load-styles.php. * * @package WordPress * @subpackage Administration * @since 4.4.0 */ /** * @ignore */ function __() {} /** * @ignore */ function _x() {} /** * @ignore */ function add_filter() {} /** * @ignore */ function has_filter() { return false; } /** * @ignore */ function esc_attr() {} /** * @ignore */ function apply_filters() {} /** * @ignore */ function get_option() {} /** * @ignore */ function is_lighttpd_before_150() {} /** * @ignore */ function add_action() {} /** * @ignore */ function did_action() {} /** * @ignore */ function do_action_ref_array() {} /** * @ignore */ function get_bloginfo() {} /** * @ignore */ function is_admin() { return true; } /** * @ignore */ function site_url() {} /** * @ignore */ function admin_url() {} /** * @ignore */ function home_url() {} /** * @ignore */ function includes_url() {} /** * @ignore */ function wp_guess_url() {} function get_file( $path ) { $path = realpath( $path ); if ( ! $path || ! @is_file( $path ) ) { return ''; } return @file_get_contents( $path ); } class-wp-plugins-list-table.php 0000644 00000160672 14735706075 0012555 0 ustar 00 <?php /** * List Table API: WP_Plugins_List_Table class * * @package WordPress * @subpackage Administration * @since 3.1.0 */ /** * Core class used to implement displaying installed plugins in a list table. * * @since 3.1.0 * * @see WP_List_Table */ class WP_Plugins_List_Table extends WP_List_Table { /** * Whether to show the auto-updates UI. * * @since 5.5.0 * * @var bool True if auto-updates UI is to be shown, false otherwise. */ protected $show_autoupdates = true; /** * Constructor. * * @since 3.1.0 * * @see WP_List_Table::__construct() for more information on default arguments. * * @global string $status * @global int $page * * @param array $args An associative array of arguments. */ public function __construct( $args = array() ) { global $status, $page; parent::__construct( array( 'plural' => 'plugins', 'screen' => isset( $args['screen'] ) ? $args['screen'] : null, ) ); $allowed_statuses = array( 'active', 'inactive', 'recently_activated', 'upgrade', 'mustuse', 'dropins', 'search', 'paused', 'auto-update-enabled', 'auto-update-disabled' ); $status = 'all'; if ( isset( $_REQUEST['plugin_status'] ) && in_array( $_REQUEST['plugin_status'], $allowed_statuses, true ) ) { $status = $_REQUEST['plugin_status']; } if ( isset( $_REQUEST['s'] ) ) { $_SERVER['REQUEST_URI'] = add_query_arg( 's', wp_unslash( $_REQUEST['s'] ) ); } $page = $this->get_pagenum(); $this->show_autoupdates = wp_is_auto_update_enabled_for_type( 'plugin' ) && current_user_can( 'update_plugins' ) && ( ! is_multisite() || $this->screen->in_admin( 'network' ) ); } /** * @return array */ protected function get_table_classes() { return array( 'widefat', $this->_args['plural'] ); } /** * @return bool */ public function ajax_user_can() { return current_user_can( 'activate_plugins' ); } /** * @global string $status * @global array $plugins * @global array $totals * @global int $page * @global string $orderby * @global string $order * @global string $s */ public function prepare_items() { global $status, $plugins, $totals, $page, $orderby, $order, $s; $orderby = ! empty( $_REQUEST['orderby'] ) ? sanitize_text_field( $_REQUEST['orderby'] ) : ''; $order = ! empty( $_REQUEST['order'] ) ? sanitize_text_field( $_REQUEST['order'] ) : ''; /** * Filters the full array of plugins to list in the Plugins list table. * * @since 3.0.0 * * @see get_plugins() * * @param array $all_plugins An array of plugins to display in the list table. */ $all_plugins = apply_filters( 'all_plugins', get_plugins() ); $plugins = array( 'all' => $all_plugins, 'search' => array(), 'active' => array(), 'inactive' => array(), 'recently_activated' => array(), 'upgrade' => array(), 'mustuse' => array(), 'dropins' => array(), 'paused' => array(), ); if ( $this->show_autoupdates ) { $auto_updates = (array) get_site_option( 'auto_update_plugins', array() ); $plugins['auto-update-enabled'] = array(); $plugins['auto-update-disabled'] = array(); } $screen = $this->screen; if ( ! is_multisite() || ( $screen->in_admin( 'network' ) && current_user_can( 'manage_network_plugins' ) ) ) { /** * Filters whether to display the advanced plugins list table. * * There are two types of advanced plugins - must-use and drop-ins - * which can be used in a single site or Multisite network. * * The $type parameter allows you to differentiate between the type of advanced * plugins to filter the display of. Contexts include 'mustuse' and 'dropins'. * * @since 3.0.0 * * @param bool $show Whether to show the advanced plugins for the specified * plugin type. Default true. * @param string $type The plugin type. Accepts 'mustuse', 'dropins'. */ if ( apply_filters( 'show_advanced_plugins', true, 'mustuse' ) ) { $plugins['mustuse'] = get_mu_plugins(); } /** This action is documented in wp-admin/includes/class-wp-plugins-list-table.php */ if ( apply_filters( 'show_advanced_plugins', true, 'dropins' ) ) { $plugins['dropins'] = get_dropins(); } if ( current_user_can( 'update_plugins' ) ) { $current = get_site_transient( 'update_plugins' ); foreach ( (array) $plugins['all'] as $plugin_file => $plugin_data ) { if ( isset( $current->response[ $plugin_file ] ) ) { $plugins['all'][ $plugin_file ]['update'] = true; $plugins['upgrade'][ $plugin_file ] = $plugins['all'][ $plugin_file ]; } } } } if ( ! $screen->in_admin( 'network' ) ) { $show = current_user_can( 'manage_network_plugins' ); /** * Filters whether to display network-active plugins alongside plugins active for the current site. * * This also controls the display of inactive network-only plugins (plugins with * "Network: true" in the plugin header). * * Plugins cannot be network-activated or network-deactivated from this screen. * * @since 4.4.0 * * @param bool $show Whether to show network-active plugins. Default is whether the current * user can manage network plugins (ie. a Super Admin). */ $show_network_active = apply_filters( 'show_network_active_plugins', $show ); } if ( $screen->in_admin( 'network' ) ) { $recently_activated = get_site_option( 'recently_activated', array() ); } else { $recently_activated = get_option( 'recently_activated', array() ); } foreach ( $recently_activated as $key => $time ) { if ( $time + WEEK_IN_SECONDS < time() ) { unset( $recently_activated[ $key ] ); } } if ( $screen->in_admin( 'network' ) ) { update_site_option( 'recently_activated', $recently_activated ); } else { update_option( 'recently_activated', $recently_activated, false ); } $plugin_info = get_site_transient( 'update_plugins' ); foreach ( (array) $plugins['all'] as $plugin_file => $plugin_data ) { // Extra info if known. array_merge() ensures $plugin_data has precedence if keys collide. if ( isset( $plugin_info->response[ $plugin_file ] ) ) { $plugin_data = array_merge( (array) $plugin_info->response[ $plugin_file ], array( 'update-supported' => true ), $plugin_data ); } elseif ( isset( $plugin_info->no_update[ $plugin_file ] ) ) { $plugin_data = array_merge( (array) $plugin_info->no_update[ $plugin_file ], array( 'update-supported' => true ), $plugin_data ); } elseif ( empty( $plugin_data['update-supported'] ) ) { $plugin_data['update-supported'] = false; } /* * Create the payload that's used for the auto_update_plugin filter. * This is the same data contained within $plugin_info->(response|no_update) however * not all plugins will be contained in those keys, this avoids unexpected warnings. */ $filter_payload = array( 'id' => $plugin_file, 'slug' => '', 'plugin' => $plugin_file, 'new_version' => '', 'url' => '', 'package' => '', 'icons' => array(), 'banners' => array(), 'banners_rtl' => array(), 'tested' => '', 'requires_php' => '', 'compatibility' => new stdClass(), ); $filter_payload = (object) wp_parse_args( $plugin_data, $filter_payload ); $auto_update_forced = wp_is_auto_update_forced_for_item( 'plugin', null, $filter_payload ); if ( ! is_null( $auto_update_forced ) ) { $plugin_data['auto-update-forced'] = $auto_update_forced; } $plugins['all'][ $plugin_file ] = $plugin_data; // Make sure that $plugins['upgrade'] also receives the extra info since it is used on ?plugin_status=upgrade. if ( isset( $plugins['upgrade'][ $plugin_file ] ) ) { $plugins['upgrade'][ $plugin_file ] = $plugin_data; } // Filter into individual sections. if ( is_multisite() && ! $screen->in_admin( 'network' ) && is_network_only_plugin( $plugin_file ) && ! is_plugin_active( $plugin_file ) ) { if ( $show_network_active ) { // On the non-network screen, show inactive network-only plugins if allowed. $plugins['inactive'][ $plugin_file ] = $plugin_data; } else { // On the non-network screen, filter out network-only plugins as long as they're not individually active. unset( $plugins['all'][ $plugin_file ] ); } } elseif ( ! $screen->in_admin( 'network' ) && is_plugin_active_for_network( $plugin_file ) ) { if ( $show_network_active ) { // On the non-network screen, show network-active plugins if allowed. $plugins['active'][ $plugin_file ] = $plugin_data; } else { // On the non-network screen, filter out network-active plugins. unset( $plugins['all'][ $plugin_file ] ); } } elseif ( ( ! $screen->in_admin( 'network' ) && is_plugin_active( $plugin_file ) ) || ( $screen->in_admin( 'network' ) && is_plugin_active_for_network( $plugin_file ) ) ) { /* * On the non-network screen, populate the active list with plugins that are individually activated. * On the network admin screen, populate the active list with plugins that are network-activated. */ $plugins['active'][ $plugin_file ] = $plugin_data; if ( ! $screen->in_admin( 'network' ) && is_plugin_paused( $plugin_file ) ) { $plugins['paused'][ $plugin_file ] = $plugin_data; } } else { if ( isset( $recently_activated[ $plugin_file ] ) ) { // Populate the recently activated list with plugins that have been recently activated. $plugins['recently_activated'][ $plugin_file ] = $plugin_data; } // Populate the inactive list with plugins that aren't activated. $plugins['inactive'][ $plugin_file ] = $plugin_data; } if ( $this->show_autoupdates ) { $enabled = in_array( $plugin_file, $auto_updates, true ) && $plugin_data['update-supported']; if ( isset( $plugin_data['auto-update-forced'] ) ) { $enabled = (bool) $plugin_data['auto-update-forced']; } if ( $enabled ) { $plugins['auto-update-enabled'][ $plugin_file ] = $plugin_data; } else { $plugins['auto-update-disabled'][ $plugin_file ] = $plugin_data; } } } if ( strlen( $s ) ) { $status = 'search'; $plugins['search'] = array_filter( $plugins['all'], array( $this, '_search_callback' ) ); } /** * Filters the array of plugins for the list table. * * @since 6.3.0 * * @param array[] $plugins An array of arrays of plugin data, keyed by context. */ $plugins = apply_filters( 'plugins_list', $plugins ); $totals = array(); foreach ( $plugins as $type => $list ) { $totals[ $type ] = count( $list ); } if ( empty( $plugins[ $status ] ) && ! in_array( $status, array( 'all', 'search' ), true ) ) { $status = 'all'; } $this->items = array(); foreach ( $plugins[ $status ] as $plugin_file => $plugin_data ) { // Translate, don't apply markup, sanitize HTML. $this->items[ $plugin_file ] = _get_plugin_data_markup_translate( $plugin_file, $plugin_data, false, true ); } $total_this_page = $totals[ $status ]; $js_plugins = array(); foreach ( $plugins as $key => $list ) { $js_plugins[ $key ] = array_keys( $list ); } wp_localize_script( 'updates', '_wpUpdatesItemCounts', array( 'plugins' => $js_plugins, 'totals' => wp_get_update_data(), ) ); if ( ! $orderby ) { $orderby = 'Name'; } else { $orderby = ucfirst( $orderby ); } $order = strtoupper( $order ); uasort( $this->items, array( $this, '_order_callback' ) ); $plugins_per_page = $this->get_items_per_page( str_replace( '-', '_', $screen->id . '_per_page' ), 999 ); $start = ( $page - 1 ) * $plugins_per_page; if ( $total_this_page > $plugins_per_page ) { $this->items = array_slice( $this->items, $start, $plugins_per_page ); } $this->set_pagination_args( array( 'total_items' => $total_this_page, 'per_page' => $plugins_per_page, ) ); } /** * @global string $s URL encoded search term. * * @param array $plugin * @return bool */ public function _search_callback( $plugin ) { global $s; foreach ( $plugin as $value ) { if ( is_string( $value ) && false !== stripos( strip_tags( $value ), urldecode( $s ) ) ) { return true; } } return false; } /** * @global string $orderby * @global string $order * @param array $plugin_a * @param array $plugin_b * @return int */ public function _order_callback( $plugin_a, $plugin_b ) { global $orderby, $order; $a = $plugin_a[ $orderby ]; $b = $plugin_b[ $orderby ]; if ( $a === $b ) { return 0; } if ( 'DESC' === $order ) { return strcasecmp( $b, $a ); } else { return strcasecmp( $a, $b ); } } /** * @global array $plugins */ public function no_items() { global $plugins; if ( ! empty( $_REQUEST['s'] ) ) { $s = esc_html( urldecode( wp_unslash( $_REQUEST['s'] ) ) ); /* translators: %s: Plugin search term. */ printf( __( 'No plugins found for: %s.' ), '<strong>' . $s . '</strong>' ); // We assume that somebody who can install plugins in multisite is experienced enough to not need this helper link. if ( ! is_multisite() && current_user_can( 'install_plugins' ) ) { echo ' <a href="' . esc_url( admin_url( 'plugin-install.php?tab=search&s=' . urlencode( $s ) ) ) . '">' . __( 'Search for plugins in the WordPress Plugin Directory.' ) . '</a>'; } } elseif ( ! empty( $plugins['all'] ) ) { _e( 'No plugins found.' ); } else { _e( 'No plugins are currently available.' ); } } /** * Displays the search box. * * @since 4.6.0 * * @param string $text The 'submit' button label. * @param string $input_id ID attribute value for the search input field. */ public function search_box( $text, $input_id ) { if ( empty( $_REQUEST['s'] ) && ! $this->has_items() ) { return; } $input_id = $input_id . '-search-input'; if ( ! empty( $_REQUEST['orderby'] ) ) { echo '<input type="hidden" name="orderby" value="' . esc_attr( $_REQUEST['orderby'] ) . '" />'; } if ( ! empty( $_REQUEST['order'] ) ) { echo '<input type="hidden" name="order" value="' . esc_attr( $_REQUEST['order'] ) . '" />'; } ?> <p class="search-box"> <label for="<?php echo esc_attr( $input_id ); ?>"><?php echo $text; ?></label> <input type="search" id="<?php echo esc_attr( $input_id ); ?>" class="wp-filter-search" name="s" value="<?php _admin_search_query(); ?>" /> <?php submit_button( $text, 'hide-if-js', '', false, array( 'id' => 'search-submit' ) ); ?> </p> <?php } /** * @global string $status * * @return string[] Array of column titles keyed by their column name. */ public function get_columns() { global $status; $columns = array( 'cb' => ! in_array( $status, array( 'mustuse', 'dropins' ), true ) ? '<input type="checkbox" />' : '', 'name' => __( 'Plugin' ), 'description' => __( 'Description' ), ); if ( $this->show_autoupdates && ! in_array( $status, array( 'mustuse', 'dropins' ), true ) ) { $columns['auto-updates'] = __( 'Automatic Updates' ); } return $columns; } /** * @return array */ protected function get_sortable_columns() { return array(); } /** * @global array $totals * @global string $status * @return array */ protected function get_views() { global $totals, $status; $status_links = array(); foreach ( $totals as $type => $count ) { if ( ! $count ) { continue; } switch ( $type ) { case 'all': /* translators: %s: Number of plugins. */ $text = _nx( 'All <span class="count">(%s)</span>', 'All <span class="count">(%s)</span>', $count, 'plugins' ); break; case 'active': /* translators: %s: Number of plugins. */ $text = _n( 'Active <span class="count">(%s)</span>', 'Active <span class="count">(%s)</span>', $count ); break; case 'recently_activated': /* translators: %s: Number of plugins. */ $text = _n( 'Recently Active <span class="count">(%s)</span>', 'Recently Active <span class="count">(%s)</span>', $count ); break; case 'inactive': /* translators: %s: Number of plugins. */ $text = _n( 'Inactive <span class="count">(%s)</span>', 'Inactive <span class="count">(%s)</span>', $count ); break; case 'mustuse': /* translators: %s: Number of plugins. */ $text = _n( 'Must-Use <span class="count">(%s)</span>', 'Must-Use <span class="count">(%s)</span>', $count ); break; case 'dropins': /* translators: %s: Number of plugins. */ $text = _n( 'Drop-in <span class="count">(%s)</span>', 'Drop-ins <span class="count">(%s)</span>', $count ); break; case 'paused': /* translators: %s: Number of plugins. */ $text = _n( 'Paused <span class="count">(%s)</span>', 'Paused <span class="count">(%s)</span>', $count ); break; case 'upgrade': /* translators: %s: Number of plugins. */ $text = _n( 'Update Available <span class="count">(%s)</span>', 'Update Available <span class="count">(%s)</span>', $count ); break; case 'auto-update-enabled': /* translators: %s: Number of plugins. */ $text = _n( 'Auto-updates Enabled <span class="count">(%s)</span>', 'Auto-updates Enabled <span class="count">(%s)</span>', $count ); break; case 'auto-update-disabled': /* translators: %s: Number of plugins. */ $text = _n( 'Auto-updates Disabled <span class="count">(%s)</span>', 'Auto-updates Disabled <span class="count">(%s)</span>', $count ); break; } if ( 'search' !== $type ) { $status_links[ $type ] = array( 'url' => add_query_arg( 'plugin_status', $type, 'plugins.php' ), 'label' => sprintf( $text, number_format_i18n( $count ) ), 'current' => $type === $status, ); } } return $this->get_views_links( $status_links ); } /** * @global string $status * @return array */ protected function get_bulk_actions() { global $status; $actions = array(); if ( 'active' !== $status ) { $actions['activate-selected'] = $this->screen->in_admin( 'network' ) ? _x( 'Network Activate', 'plugin' ) : _x( 'Activate', 'plugin' ); } if ( 'inactive' !== $status && 'recent' !== $status ) { $actions['deactivate-selected'] = $this->screen->in_admin( 'network' ) ? _x( 'Network Deactivate', 'plugin' ) : _x( 'Deactivate', 'plugin' ); } if ( ! is_multisite() || $this->screen->in_admin( 'network' ) ) { if ( current_user_can( 'update_plugins' ) ) { $actions['update-selected'] = __( 'Update' ); } if ( current_user_can( 'delete_plugins' ) && ( 'active' !== $status ) ) { $actions['delete-selected'] = __( 'Delete' ); } if ( $this->show_autoupdates ) { if ( 'auto-update-enabled' !== $status ) { $actions['enable-auto-update-selected'] = __( 'Enable Auto-updates' ); } if ( 'auto-update-disabled' !== $status ) { $actions['disable-auto-update-selected'] = __( 'Disable Auto-updates' ); } } } return $actions; } /** * @global string $status * @param string $which */ public function bulk_actions( $which = '' ) { global $status; if ( in_array( $status, array( 'mustuse', 'dropins' ), true ) ) { return; } parent::bulk_actions( $which ); } /** * @global string $status * @param string $which */ protected function extra_tablenav( $which ) { global $status; if ( ! in_array( $status, array( 'recently_activated', 'mustuse', 'dropins' ), true ) ) { return; } echo '<div class="alignleft actions">'; if ( 'recently_activated' === $status ) { submit_button( __( 'Clear List' ), '', 'clear-recent-list', false ); } elseif ( 'top' === $which && 'mustuse' === $status ) { echo '<p>' . sprintf( /* translators: %s: mu-plugins directory name. */ __( 'Files in the %s directory are executed automatically.' ), '<code>' . str_replace( ABSPATH, '/', WPMU_PLUGIN_DIR ) . '</code>' ) . '</p>'; } elseif ( 'top' === $which && 'dropins' === $status ) { echo '<p>' . sprintf( /* translators: %s: wp-content directory name. */ __( 'Drop-ins are single files, found in the %s directory, that replace or enhance WordPress features in ways that are not possible for traditional plugins.' ), '<code>' . str_replace( ABSPATH, '', WP_CONTENT_DIR ) . '</code>' ) . '</p>'; } echo '</div>'; } /** * @return string */ public function current_action() { if ( isset( $_POST['clear-recent-list'] ) ) { return 'clear-recent-list'; } return parent::current_action(); } /** * Generates the list table rows. * * @since 3.1.0 * * @global string $status */ public function display_rows() { global $status; if ( is_multisite() && ! $this->screen->in_admin( 'network' ) && in_array( $status, array( 'mustuse', 'dropins' ), true ) ) { return; } foreach ( $this->items as $plugin_file => $plugin_data ) { $this->single_row( array( $plugin_file, $plugin_data ) ); } } /** * @global string $status * @global int $page * @global string $s * @global array $totals * * @param array $item */ public function single_row( $item ) { global $status, $page, $s, $totals; static $plugin_id_attrs = array(); list( $plugin_file, $plugin_data ) = $item; $plugin_slug = isset( $plugin_data['slug'] ) ? $plugin_data['slug'] : sanitize_title( $plugin_data['Name'] ); $plugin_id_attr = $plugin_slug; // Ensure the ID attribute is unique. $suffix = 2; while ( in_array( $plugin_id_attr, $plugin_id_attrs, true ) ) { $plugin_id_attr = "$plugin_slug-$suffix"; ++$suffix; } $plugin_id_attrs[] = $plugin_id_attr; $context = $status; $screen = $this->screen; // Pre-order. $actions = array( 'deactivate' => '', 'activate' => '', 'details' => '', 'delete' => '', ); // Do not restrict by default. $restrict_network_active = false; $restrict_network_only = false; $requires_php = isset( $plugin_data['RequiresPHP'] ) ? $plugin_data['RequiresPHP'] : null; $requires_wp = isset( $plugin_data['RequiresWP'] ) ? $plugin_data['RequiresWP'] : null; $compatible_php = is_php_version_compatible( $requires_php ); $compatible_wp = is_wp_version_compatible( $requires_wp ); $has_dependents = WP_Plugin_Dependencies::has_dependents( $plugin_file ); $has_active_dependents = WP_Plugin_Dependencies::has_active_dependents( $plugin_file ); $has_unmet_dependencies = WP_Plugin_Dependencies::has_unmet_dependencies( $plugin_file ); $has_circular_dependency = WP_Plugin_Dependencies::has_circular_dependency( $plugin_file ); if ( 'mustuse' === $context ) { $is_active = true; } elseif ( 'dropins' === $context ) { $dropins = _get_dropins(); $plugin_name = $plugin_file; if ( $plugin_file !== $plugin_data['Name'] ) { $plugin_name .= '<br />' . $plugin_data['Name']; } if ( true === ( $dropins[ $plugin_file ][1] ) ) { // Doesn't require a constant. $is_active = true; $description = '<p><strong>' . $dropins[ $plugin_file ][0] . '</strong></p>'; } elseif ( defined( $dropins[ $plugin_file ][1] ) && constant( $dropins[ $plugin_file ][1] ) ) { // Constant is true. $is_active = true; $description = '<p><strong>' . $dropins[ $plugin_file ][0] . '</strong></p>'; } else { $is_active = false; $description = '<p><strong>' . $dropins[ $plugin_file ][0] . ' <span class="error-message">' . __( 'Inactive:' ) . '</span></strong> ' . sprintf( /* translators: 1: Drop-in constant name, 2: wp-config.php */ __( 'Requires %1$s in %2$s file.' ), "<code>define('" . $dropins[ $plugin_file ][1] . "', true);</code>", '<code>wp-config.php</code>' ) . '</p>'; } if ( $plugin_data['Description'] ) { $description .= '<p>' . $plugin_data['Description'] . '</p>'; } } else { if ( $screen->in_admin( 'network' ) ) { $is_active = is_plugin_active_for_network( $plugin_file ); } else { $is_active = is_plugin_active( $plugin_file ); $restrict_network_active = ( is_multisite() && is_plugin_active_for_network( $plugin_file ) ); $restrict_network_only = ( is_multisite() && is_network_only_plugin( $plugin_file ) && ! $is_active ); } if ( $screen->in_admin( 'network' ) ) { if ( $is_active ) { if ( current_user_can( 'manage_network_plugins' ) ) { if ( $has_active_dependents ) { $actions['deactivate'] = __( 'Deactivate' ) . '<span class="screen-reader-text">' . __( 'You cannot deactivate this plugin as other plugins require it.' ) . '</span>'; } else { $deactivate_url = 'plugins.php?action=deactivate' . '&plugin=' . urlencode( $plugin_file ) . '&plugin_status=' . $context . '&paged=' . $page . '&s=' . $s; $actions['deactivate'] = sprintf( '<a href="%s" id="deactivate-%s" aria-label="%s">%s</a>', wp_nonce_url( $deactivate_url, 'deactivate-plugin_' . $plugin_file ), esc_attr( $plugin_id_attr ), /* translators: %s: Plugin name. */ esc_attr( sprintf( _x( 'Network Deactivate %s', 'plugin' ), $plugin_data['Name'] ) ), _x( 'Network Deactivate', 'plugin' ) ); } } } else { if ( current_user_can( 'manage_network_plugins' ) ) { if ( $compatible_php && $compatible_wp ) { if ( $has_unmet_dependencies ) { $actions['activate'] = _x( 'Network Activate', 'plugin' ) . '<span class="screen-reader-text">' . __( 'You cannot activate this plugin as it has unmet requirements.' ) . '</span>'; } else { $activate_url = 'plugins.php?action=activate' . '&plugin=' . urlencode( $plugin_file ) . '&plugin_status=' . $context . '&paged=' . $page . '&s=' . $s; $actions['activate'] = sprintf( '<a href="%s" id="activate-%s" class="edit" aria-label="%s">%s</a>', wp_nonce_url( $activate_url, 'activate-plugin_' . $plugin_file ), esc_attr( $plugin_id_attr ), /* translators: %s: Plugin name. */ esc_attr( sprintf( _x( 'Network Activate %s', 'plugin' ), $plugin_data['Name'] ) ), _x( 'Network Activate', 'plugin' ) ); } } else { $actions['activate'] = sprintf( '<span>%s</span>', _x( 'Cannot Activate', 'plugin' ) ); } } if ( current_user_can( 'delete_plugins' ) && ! is_plugin_active( $plugin_file ) ) { if ( $has_dependents && ! $has_circular_dependency ) { $actions['delete'] = __( 'Delete' ) . '<span class="screen-reader-text">' . __( 'You cannot delete this plugin as other plugins require it.' ) . '</span>'; } else { $delete_url = 'plugins.php?action=delete-selected' . '&checked[]=' . urlencode( $plugin_file ) . '&plugin_status=' . $context . '&paged=' . $page . '&s=' . $s; $actions['delete'] = sprintf( '<a href="%s" id="delete-%s" class="delete" aria-label="%s">%s</a>', wp_nonce_url( $delete_url, 'bulk-plugins' ), esc_attr( $plugin_id_attr ), /* translators: %s: Plugin name. */ esc_attr( sprintf( _x( 'Delete %s', 'plugin' ), $plugin_data['Name'] ) ), __( 'Delete' ) ); } } } } else { if ( $restrict_network_active ) { $actions = array( 'network_active' => __( 'Network Active' ), ); } elseif ( $restrict_network_only ) { $actions = array( 'network_only' => __( 'Network Only' ), ); } elseif ( $is_active ) { if ( current_user_can( 'deactivate_plugin', $plugin_file ) ) { if ( $has_active_dependents ) { $actions['deactivate'] = __( 'Deactivate' ) . '<span class="screen-reader-text">' . __( 'You cannot deactivate this plugin as other plugins depend on it.' ) . '</span>'; } else { $deactivate_url = 'plugins.php?action=deactivate' . '&plugin=' . urlencode( $plugin_file ) . '&plugin_status=' . $context . '&paged=' . $page . '&s=' . $s; $actions['deactivate'] = sprintf( '<a href="%s" id="deactivate-%s" aria-label="%s">%s</a>', wp_nonce_url( $deactivate_url, 'deactivate-plugin_' . $plugin_file ), esc_attr( $plugin_id_attr ), /* translators: %s: Plugin name. */ esc_attr( sprintf( _x( 'Deactivate %s', 'plugin' ), $plugin_data['Name'] ) ), __( 'Deactivate' ) ); } } if ( current_user_can( 'resume_plugin', $plugin_file ) && is_plugin_paused( $plugin_file ) ) { $resume_url = 'plugins.php?action=resume' . '&plugin=' . urlencode( $plugin_file ) . '&plugin_status=' . $context . '&paged=' . $page . '&s=' . $s; $actions['resume'] = sprintf( '<a href="%s" id="resume-%s" class="resume-link" aria-label="%s">%s</a>', wp_nonce_url( $resume_url, 'resume-plugin_' . $plugin_file ), esc_attr( $plugin_id_attr ), /* translators: %s: Plugin name. */ esc_attr( sprintf( _x( 'Resume %s', 'plugin' ), $plugin_data['Name'] ) ), __( 'Resume' ) ); } } else { if ( current_user_can( 'activate_plugin', $plugin_file ) ) { if ( $compatible_php && $compatible_wp ) { if ( $has_unmet_dependencies ) { $actions['activate'] = _x( 'Activate', 'plugin' ) . '<span class="screen-reader-text">' . __( 'You cannot activate this plugin as it has unmet requirements.' ) . '</span>'; } else { $activate_url = 'plugins.php?action=activate' . '&plugin=' . urlencode( $plugin_file ) . '&plugin_status=' . $context . '&paged=' . $page . '&s=' . $s; $actions['activate'] = sprintf( '<a href="%s" id="activate-%s" class="edit" aria-label="%s">%s</a>', wp_nonce_url( $activate_url, 'activate-plugin_' . $plugin_file ), esc_attr( $plugin_id_attr ), /* translators: %s: Plugin name. */ esc_attr( sprintf( _x( 'Activate %s', 'plugin' ), $plugin_data['Name'] ) ), _x( 'Activate', 'plugin' ) ); } } else { $actions['activate'] = sprintf( '<span>%s</span>', _x( 'Cannot Activate', 'plugin' ) ); } } if ( ! is_multisite() && current_user_can( 'delete_plugins' ) ) { if ( $has_dependents && ! $has_circular_dependency ) { $actions['delete'] = __( 'Delete' ) . '<span class="screen-reader-text">' . __( 'You cannot delete this plugin as other plugins require it.' ) . '</span>'; } else { $delete_url = 'plugins.php?action=delete-selected' . '&checked[]=' . urlencode( $plugin_file ) . '&plugin_status=' . $context . '&paged=' . $page . '&s=' . $s; $actions['delete'] = sprintf( '<a href="%s" id="delete-%s" class="delete" aria-label="%s">%s</a>', wp_nonce_url( $delete_url, 'bulk-plugins' ), esc_attr( $plugin_id_attr ), /* translators: %s: Plugin name. */ esc_attr( sprintf( _x( 'Delete %s', 'plugin' ), $plugin_data['Name'] ) ), __( 'Delete' ) ); } } } // End if $is_active. } // End if $screen->in_admin( 'network' ). } // End if $context. $actions = array_filter( $actions ); if ( $screen->in_admin( 'network' ) ) { /** * Filters the action links displayed for each plugin in the Network Admin Plugins list table. * * @since 3.1.0 * * @param string[] $actions An array of plugin action links. By default this can include * 'activate', 'deactivate', and 'delete'. * @param string $plugin_file Path to the plugin file relative to the plugins directory. * @param array $plugin_data An array of plugin data. See get_plugin_data() * and the {@see 'plugin_row_meta'} filter for the list * of possible values. * @param string $context The plugin context. By default this can include 'all', * 'active', 'inactive', 'recently_activated', 'upgrade', * 'mustuse', 'dropins', and 'search'. */ $actions = apply_filters( 'network_admin_plugin_action_links', $actions, $plugin_file, $plugin_data, $context ); /** * Filters the list of action links displayed for a specific plugin in the Network Admin Plugins list table. * * The dynamic portion of the hook name, `$plugin_file`, refers to the path * to the plugin file, relative to the plugins directory. * * @since 3.1.0 * * @param string[] $actions An array of plugin action links. By default this can include * 'activate', 'deactivate', and 'delete'. * @param string $plugin_file Path to the plugin file relative to the plugins directory. * @param array $plugin_data An array of plugin data. See get_plugin_data() * and the {@see 'plugin_row_meta'} filter for the list * of possible values. * @param string $context The plugin context. By default this can include 'all', * 'active', 'inactive', 'recently_activated', 'upgrade', * 'mustuse', 'dropins', and 'search'. */ $actions = apply_filters( "network_admin_plugin_action_links_{$plugin_file}", $actions, $plugin_file, $plugin_data, $context ); } else { /** * Filters the action links displayed for each plugin in the Plugins list table. * * @since 2.5.0 * @since 2.6.0 The `$context` parameter was added. * @since 4.9.0 The 'Edit' link was removed from the list of action links. * * @param string[] $actions An array of plugin action links. By default this can include * 'activate', 'deactivate', and 'delete'. With Multisite active * this can also include 'network_active' and 'network_only' items. * @param string $plugin_file Path to the plugin file relative to the plugins directory. * @param array $plugin_data An array of plugin data. See get_plugin_data() * and the {@see 'plugin_row_meta'} filter for the list * of possible values. * @param string $context The plugin context. By default this can include 'all', * 'active', 'inactive', 'recently_activated', 'upgrade', * 'mustuse', 'dropins', and 'search'. */ $actions = apply_filters( 'plugin_action_links', $actions, $plugin_file, $plugin_data, $context ); /** * Filters the list of action links displayed for a specific plugin in the Plugins list table. * * The dynamic portion of the hook name, `$plugin_file`, refers to the path * to the plugin file, relative to the plugins directory. * * @since 2.7.0 * @since 4.9.0 The 'Edit' link was removed from the list of action links. * * @param string[] $actions An array of plugin action links. By default this can include * 'activate', 'deactivate', and 'delete'. With Multisite active * this can also include 'network_active' and 'network_only' items. * @param string $plugin_file Path to the plugin file relative to the plugins directory. * @param array $plugin_data An array of plugin data. See get_plugin_data() * and the {@see 'plugin_row_meta'} filter for the list * of possible values. * @param string $context The plugin context. By default this can include 'all', * 'active', 'inactive', 'recently_activated', 'upgrade', * 'mustuse', 'dropins', and 'search'. */ $actions = apply_filters( "plugin_action_links_{$plugin_file}", $actions, $plugin_file, $plugin_data, $context ); } $class = $is_active ? 'active' : 'inactive'; $checkbox_id = 'checkbox_' . md5( $plugin_file ); $disabled = ''; if ( $has_dependents || $has_unmet_dependencies ) { $disabled = 'disabled'; } if ( $restrict_network_active || $restrict_network_only || in_array( $status, array( 'mustuse', 'dropins' ), true ) || ! $compatible_php ) { $checkbox = ''; } else { $checkbox = sprintf( '<label class="label-covers-full-cell" for="%1$s">' . '<span class="screen-reader-text">%2$s</span></label>' . '<input type="checkbox" name="checked[]" value="%3$s" id="%1$s" ' . $disabled . '/>', $checkbox_id, /* translators: Hidden accessibility text. %s: Plugin name. */ sprintf( __( 'Select %s' ), $plugin_data['Name'] ), esc_attr( $plugin_file ) ); } if ( 'dropins' !== $context ) { $description = '<p>' . ( $plugin_data['Description'] ? $plugin_data['Description'] : ' ' ) . '</p>'; $plugin_name = $plugin_data['Name']; } if ( ! empty( $totals['upgrade'] ) && ! empty( $plugin_data['update'] ) || ! $compatible_php || ! $compatible_wp ) { $class .= ' update'; } $paused = ! $screen->in_admin( 'network' ) && is_plugin_paused( $plugin_file ); if ( $paused ) { $class .= ' paused'; } if ( is_uninstallable_plugin( $plugin_file ) ) { $class .= ' is-uninstallable'; } printf( '<tr class="%s" data-slug="%s" data-plugin="%s">', esc_attr( $class ), esc_attr( $plugin_slug ), esc_attr( $plugin_file ) ); list( $columns, $hidden, $sortable, $primary ) = $this->get_column_info(); $auto_updates = (array) get_site_option( 'auto_update_plugins', array() ); foreach ( $columns as $column_name => $column_display_name ) { $extra_classes = ''; if ( in_array( $column_name, $hidden, true ) ) { $extra_classes = ' hidden'; } switch ( $column_name ) { case 'cb': echo "<th scope='row' class='check-column'>$checkbox</th>"; break; case 'name': echo "<td class='plugin-title column-primary'><strong>$plugin_name</strong>"; echo $this->row_actions( $actions, true ); echo '</td>'; break; case 'description': $classes = 'column-description desc'; echo "<td class='$classes{$extra_classes}'> <div class='plugin-description'>$description</div> <div class='$class second plugin-version-author-uri'>"; $plugin_meta = array(); if ( ! empty( $plugin_data['Version'] ) ) { /* translators: %s: Plugin version number. */ $plugin_meta[] = sprintf( __( 'Version %s' ), $plugin_data['Version'] ); } if ( ! empty( $plugin_data['Author'] ) ) { $author = $plugin_data['Author']; if ( ! empty( $plugin_data['AuthorURI'] ) ) { $author = '<a href="' . $plugin_data['AuthorURI'] . '">' . $plugin_data['Author'] . '</a>'; } /* translators: %s: Plugin author name. */ $plugin_meta[] = sprintf( __( 'By %s' ), $author ); } // Details link using API info, if available. if ( isset( $plugin_data['slug'] ) && current_user_can( 'install_plugins' ) ) { $plugin_meta[] = sprintf( '<a href="%s" class="thickbox open-plugin-details-modal" aria-label="%s" data-title="%s">%s</a>', esc_url( network_admin_url( 'plugin-install.php?tab=plugin-information&plugin=' . $plugin_data['slug'] . '&TB_iframe=true&width=600&height=550' ) ), /* translators: %s: Plugin name. */ esc_attr( sprintf( __( 'More information about %s' ), $plugin_name ) ), esc_attr( $plugin_name ), __( 'View details' ) ); } elseif ( ! empty( $plugin_data['PluginURI'] ) ) { /* translators: %s: Plugin name. */ $aria_label = sprintf( __( 'Visit plugin site for %s' ), $plugin_name ); $plugin_meta[] = sprintf( '<a href="%s" aria-label="%s">%s</a>', esc_url( $plugin_data['PluginURI'] ), esc_attr( $aria_label ), __( 'Visit plugin site' ) ); } /** * Filters the array of row meta for each plugin in the Plugins list table. * * @since 2.8.0 * * @param string[] $plugin_meta An array of the plugin's metadata, including * the version, author, author URI, and plugin URI. * @param string $plugin_file Path to the plugin file relative to the plugins directory. * @param array $plugin_data { * An array of plugin data. * * @type string $id Plugin ID, e.g. `w.org/plugins/[plugin-name]`. * @type string $slug Plugin slug. * @type string $plugin Plugin basename. * @type string $new_version New plugin version. * @type string $url Plugin URL. * @type string $package Plugin update package URL. * @type string[] $icons An array of plugin icon URLs. * @type string[] $banners An array of plugin banner URLs. * @type string[] $banners_rtl An array of plugin RTL banner URLs. * @type string $requires The version of WordPress which the plugin requires. * @type string $tested The version of WordPress the plugin is tested against. * @type string $requires_php The version of PHP which the plugin requires. * @type string $upgrade_notice The upgrade notice for the new plugin version. * @type bool $update-supported Whether the plugin supports updates. * @type string $Name The human-readable name of the plugin. * @type string $PluginURI Plugin URI. * @type string $Version Plugin version. * @type string $Description Plugin description. * @type string $Author Plugin author. * @type string $AuthorURI Plugin author URI. * @type string $TextDomain Plugin textdomain. * @type string $DomainPath Relative path to the plugin's .mo file(s). * @type bool $Network Whether the plugin can only be activated network-wide. * @type string $RequiresWP The version of WordPress which the plugin requires. * @type string $RequiresPHP The version of PHP which the plugin requires. * @type string $UpdateURI ID of the plugin for update purposes, should be a URI. * @type string $Title The human-readable title of the plugin. * @type string $AuthorName Plugin author's name. * @type bool $update Whether there's an available update. Default null. * } * @param string $status Status filter currently applied to the plugin list. Possible * values are: 'all', 'active', 'inactive', 'recently_activated', * 'upgrade', 'mustuse', 'dropins', 'search', 'paused', * 'auto-update-enabled', 'auto-update-disabled'. */ $plugin_meta = apply_filters( 'plugin_row_meta', $plugin_meta, $plugin_file, $plugin_data, $status ); echo implode( ' | ', $plugin_meta ); echo '</div>'; if ( $has_dependents ) { $this->add_dependents_to_dependency_plugin_row( $plugin_file ); } if ( WP_Plugin_Dependencies::has_dependencies( $plugin_file ) ) { $this->add_dependencies_to_dependent_plugin_row( $plugin_file ); } /** * Fires after plugin row meta. * * @since 6.5.0 * * @param string $plugin_file Refer to {@see 'plugin_row_meta'} filter. * @param array $plugin_data Refer to {@see 'plugin_row_meta'} filter. */ do_action( 'after_plugin_row_meta', $plugin_file, $plugin_data ); if ( $paused ) { $notice_text = __( 'This plugin failed to load properly and is paused during recovery mode.' ); printf( '<p><span class="dashicons dashicons-warning"></span> <strong>%s</strong></p>', $notice_text ); $error = wp_get_plugin_error( $plugin_file ); if ( false !== $error ) { printf( '<div class="error-display"><p>%s</p></div>', wp_get_extension_error_description( $error ) ); } } echo '</td>'; break; case 'auto-updates': if ( ! $this->show_autoupdates || in_array( $status, array( 'mustuse', 'dropins' ), true ) ) { break; } echo "<td class='column-auto-updates{$extra_classes}'>"; $html = array(); if ( isset( $plugin_data['auto-update-forced'] ) ) { if ( $plugin_data['auto-update-forced'] ) { // Forced on. $text = __( 'Auto-updates enabled' ); } else { $text = __( 'Auto-updates disabled' ); } $action = 'unavailable'; $time_class = ' hidden'; } elseif ( empty( $plugin_data['update-supported'] ) ) { $text = ''; $action = 'unavailable'; $time_class = ' hidden'; } elseif ( in_array( $plugin_file, $auto_updates, true ) ) { $text = __( 'Disable auto-updates' ); $action = 'disable'; $time_class = ''; } else { $text = __( 'Enable auto-updates' ); $action = 'enable'; $time_class = ' hidden'; } $query_args = array( 'action' => "{$action}-auto-update", 'plugin' => $plugin_file, 'paged' => $page, 'plugin_status' => $status, ); $url = add_query_arg( $query_args, 'plugins.php' ); if ( 'unavailable' === $action ) { $html[] = '<span class="label">' . $text . '</span>'; } else { $html[] = sprintf( '<a href="%s" class="toggle-auto-update aria-button-if-js" data-wp-action="%s">', wp_nonce_url( $url, 'updates' ), $action ); $html[] = '<span class="dashicons dashicons-update spin hidden" aria-hidden="true"></span>'; $html[] = '<span class="label">' . $text . '</span>'; $html[] = '</a>'; } if ( ! empty( $plugin_data['update'] ) ) { $html[] = sprintf( '<div class="auto-update-time%s">%s</div>', $time_class, wp_get_auto_update_message() ); } $html = implode( '', $html ); /** * Filters the HTML of the auto-updates setting for each plugin in the Plugins list table. * * @since 5.5.0 * * @param string $html The HTML of the plugin's auto-update column content, * including toggle auto-update action links and * time to next update. * @param string $plugin_file Path to the plugin file relative to the plugins directory. * @param array $plugin_data An array of plugin data. See get_plugin_data() * and the {@see 'plugin_row_meta'} filter for the list * of possible values. */ echo apply_filters( 'plugin_auto_update_setting_html', $html, $plugin_file, $plugin_data ); wp_admin_notice( '', array( 'type' => 'error', 'additional_classes' => array( 'notice-alt', 'inline', 'hidden' ), ) ); echo '</td>'; break; default: $classes = "$column_name column-$column_name $class"; echo "<td class='$classes{$extra_classes}'>"; /** * Fires inside each custom column of the Plugins list table. * * @since 3.1.0 * * @param string $column_name Name of the column. * @param string $plugin_file Path to the plugin file relative to the plugins directory. * @param array $plugin_data An array of plugin data. See get_plugin_data() * and the {@see 'plugin_row_meta'} filter for the list * of possible values. */ do_action( 'manage_plugins_custom_column', $column_name, $plugin_file, $plugin_data ); echo '</td>'; } } echo '</tr>'; if ( ! $compatible_php || ! $compatible_wp ) { printf( '<tr class="plugin-update-tr"><td colspan="%s" class="plugin-update colspanchange">', esc_attr( $this->get_column_count() ) ); $incompatible_message = ''; if ( ! $compatible_php && ! $compatible_wp ) { $incompatible_message .= __( 'This plugin does not work with your versions of WordPress and PHP.' ); if ( current_user_can( 'update_core' ) && current_user_can( 'update_php' ) ) { $incompatible_message .= sprintf( /* translators: 1: URL to WordPress Updates screen, 2: URL to Update PHP page. */ ' ' . __( '<a href="%1$s">Please update WordPress</a>, and then <a href="%2$s">learn more about updating PHP</a>.' ), self_admin_url( 'update-core.php' ), esc_url( wp_get_update_php_url() ) ); $incompatible_message .= wp_update_php_annotation( '</p><p><em>', '</em>', false ); } elseif ( current_user_can( 'update_core' ) ) { $incompatible_message .= sprintf( /* translators: %s: URL to WordPress Updates screen. */ ' ' . __( '<a href="%s">Please update WordPress</a>.' ), self_admin_url( 'update-core.php' ) ); } elseif ( current_user_can( 'update_php' ) ) { $incompatible_message .= sprintf( /* translators: %s: URL to Update PHP page. */ ' ' . __( '<a href="%s">Learn more about updating PHP</a>.' ), esc_url( wp_get_update_php_url() ) ); $incompatible_message .= wp_update_php_annotation( '</p><p><em>', '</em>', false ); } } elseif ( ! $compatible_wp ) { $incompatible_message .= __( 'This plugin does not work with your version of WordPress.' ); if ( current_user_can( 'update_core' ) ) { $incompatible_message .= sprintf( /* translators: %s: URL to WordPress Updates screen. */ ' ' . __( '<a href="%s">Please update WordPress</a>.' ), self_admin_url( 'update-core.php' ) ); } } elseif ( ! $compatible_php ) { $incompatible_message .= __( 'This plugin does not work with your version of PHP.' ); if ( current_user_can( 'update_php' ) ) { $incompatible_message .= sprintf( /* translators: %s: URL to Update PHP page. */ ' ' . __( '<a href="%s">Learn more about updating PHP</a>.' ), esc_url( wp_get_update_php_url() ) ); $incompatible_message .= wp_update_php_annotation( '</p><p><em>', '</em>', false ); } } wp_admin_notice( $incompatible_message, array( 'type' => 'error', 'additional_classes' => array( 'notice-alt', 'inline', 'update-message' ), ) ); echo '</td></tr>'; } /** * Fires after each row in the Plugins list table. * * @since 2.3.0 * @since 5.5.0 Added 'auto-update-enabled' and 'auto-update-disabled' * to possible values for `$status`. * * @param string $plugin_file Path to the plugin file relative to the plugins directory. * @param array $plugin_data An array of plugin data. See get_plugin_data() * and the {@see 'plugin_row_meta'} filter for the list * of possible values. * @param string $status Status filter currently applied to the plugin list. * Possible values are: 'all', 'active', 'inactive', * 'recently_activated', 'upgrade', 'mustuse', 'dropins', * 'search', 'paused', 'auto-update-enabled', 'auto-update-disabled'. */ do_action( 'after_plugin_row', $plugin_file, $plugin_data, $status ); /** * Fires after each specific row in the Plugins list table. * * The dynamic portion of the hook name, `$plugin_file`, refers to the path * to the plugin file, relative to the plugins directory. * * @since 2.7.0 * @since 5.5.0 Added 'auto-update-enabled' and 'auto-update-disabled' * to possible values for `$status`. * * @param string $plugin_file Path to the plugin file relative to the plugins directory. * @param array $plugin_data An array of plugin data. See get_plugin_data() * and the {@see 'plugin_row_meta'} filter for the list * of possible values. * @param string $status Status filter currently applied to the plugin list. * Possible values are: 'all', 'active', 'inactive', * 'recently_activated', 'upgrade', 'mustuse', 'dropins', * 'search', 'paused', 'auto-update-enabled', 'auto-update-disabled'. */ do_action( "after_plugin_row_{$plugin_file}", $plugin_file, $plugin_data, $status ); } /** * Gets the name of the primary column for this specific list table. * * @since 4.3.0 * * @return string Unalterable name for the primary column, in this case, 'name'. */ protected function get_primary_column_name() { return 'name'; } /** * Prints a list of other plugins that depend on the plugin. * * @since 6.5.0 * * @param string $dependency The dependency's filepath, relative to the plugins directory. */ protected function add_dependents_to_dependency_plugin_row( $dependency ) { $dependent_names = WP_Plugin_Dependencies::get_dependent_names( $dependency ); if ( empty( $dependent_names ) ) { return; } $dependency_note = __( 'Note: This plugin cannot be deactivated or deleted until the plugins that require it are deactivated or deleted.' ); $comma = wp_get_list_item_separator(); $required_by = sprintf( /* translators: %s: List of dependencies. */ __( '<strong>Required by:</strong> %s' ), implode( $comma, $dependent_names ) ); printf( '<div class="required-by"><p>%1$s</p><p>%2$s</p></div>', $required_by, $dependency_note ); } /** * Prints a list of other plugins that the plugin depends on. * * @since 6.5.0 * * @param string $dependent The dependent plugin's filepath, relative to the plugins directory. */ protected function add_dependencies_to_dependent_plugin_row( $dependent ) { $dependency_names = WP_Plugin_Dependencies::get_dependency_names( $dependent ); if ( array() === $dependency_names ) { return; } $links = array(); foreach ( $dependency_names as $slug => $name ) { $links[] = $this->get_dependency_view_details_link( $name, $slug ); } $is_active = is_multisite() ? is_plugin_active_for_network( $dependent ) : is_plugin_active( $dependent ); $comma = wp_get_list_item_separator(); $requires = sprintf( /* translators: %s: List of dependency names. */ __( '<strong>Requires:</strong> %s' ), implode( $comma, $links ) ); $notice = ''; $error_message = ''; if ( WP_Plugin_Dependencies::has_unmet_dependencies( $dependent ) ) { if ( $is_active ) { $error_message = __( 'This plugin is active but may not function correctly because required plugins are missing or inactive.' ); } else { $error_message = __( 'This plugin cannot be activated because required plugins are missing or inactive.' ); } $notice = wp_get_admin_notice( $error_message, array( 'type' => 'error', 'additional_classes' => array( 'inline', 'notice-alt' ), ) ); } printf( '<div class="requires"><p>%1$s</p>%2$s</div>', $requires, $notice ); } /** * Returns a 'View details' like link for a dependency. * * @since 6.5.0 * * @param string $name The dependency's name. * @param string $slug The dependency's slug. * @return string A 'View details' link for the dependency. */ protected function get_dependency_view_details_link( $name, $slug ) { $dependency_data = WP_Plugin_Dependencies::get_dependency_data( $slug ); if ( false === $dependency_data || $name === $slug || $name !== $dependency_data['name'] || empty( $dependency_data['version'] ) ) { return $name; } return $this->get_view_details_link( $name, $slug ); } /** * Returns a 'View details' link for the plugin. * * @since 6.5.0 * * @param string $name The plugin's name. * @param string $slug The plugin's slug. * @return string A 'View details' link for the plugin. */ protected function get_view_details_link( $name, $slug ) { $url = add_query_arg( array( 'tab' => 'plugin-information', 'plugin' => $slug, 'TB_iframe' => 'true', 'width' => '600', 'height' => '550', ), network_admin_url( 'plugin-install.php' ) ); $name_attr = esc_attr( $name ); return sprintf( "<a href='%s' class='thickbox open-plugin-details-modal' aria-label='%s' data-title='%s'>%s</a>", esc_url( $url ), /* translators: %s: Plugin name. */ sprintf( __( 'More information about %s' ), $name_attr ), $name_attr, esc_html( $name ) ); } } deprecated.php 0000644 00000121460 14735706075 0007377 0 ustar 00 <?php /** * Deprecated admin functions from past WordPress versions. You shouldn't use these * functions and look for the alternatives instead. The functions will be removed * in a later version. * * @package WordPress * @subpackage Deprecated */ /* * Deprecated functions come here to die. */ /** * @since 2.1.0 * @deprecated 2.1.0 Use wp_editor() * @see wp_editor() */ function tinymce_include() { _deprecated_function( __FUNCTION__, '2.1.0', 'wp_editor()' ); wp_tiny_mce(); } /** * Unused Admin function. * * @since 2.0.0 * @deprecated 2.5.0 * */ function documentation_link() { _deprecated_function( __FUNCTION__, '2.5.0' ); } /** * Calculates the new dimensions for a downsampled image. * * @since 2.0.0 * @deprecated 3.0.0 Use wp_constrain_dimensions() * @see wp_constrain_dimensions() * * @param int $width Current width of the image * @param int $height Current height of the image * @param int $wmax Maximum wanted width * @param int $hmax Maximum wanted height * @return array Shrunk dimensions (width, height). */ function wp_shrink_dimensions( $width, $height, $wmax = 128, $hmax = 96 ) { _deprecated_function( __FUNCTION__, '3.0.0', 'wp_constrain_dimensions()' ); return wp_constrain_dimensions( $width, $height, $wmax, $hmax ); } /** * Calculated the new dimensions for a downsampled image. * * @since 2.0.0 * @deprecated 3.5.0 Use wp_constrain_dimensions() * @see wp_constrain_dimensions() * * @param int $width Current width of the image * @param int $height Current height of the image * @return array Shrunk dimensions (width, height). */ function get_udims( $width, $height ) { _deprecated_function( __FUNCTION__, '3.5.0', 'wp_constrain_dimensions()' ); return wp_constrain_dimensions( $width, $height, 128, 96 ); } /** * Legacy function used to generate the categories checklist control. * * @since 0.71 * @deprecated 2.6.0 Use wp_category_checklist() * @see wp_category_checklist() * * @global int $post_ID * * @param int $default_category Unused. * @param int $category_parent Unused. * @param array $popular_ids Unused. */ function dropdown_categories( $default_category = 0, $category_parent = 0, $popular_ids = array() ) { _deprecated_function( __FUNCTION__, '2.6.0', 'wp_category_checklist()' ); global $post_ID; wp_category_checklist( $post_ID ); } /** * Legacy function used to generate a link categories checklist control. * * @since 2.1.0 * @deprecated 2.6.0 Use wp_link_category_checklist() * @see wp_link_category_checklist() * * @global int $link_id * * @param int $default_link_category Unused. */ function dropdown_link_categories( $default_link_category = 0 ) { _deprecated_function( __FUNCTION__, '2.6.0', 'wp_link_category_checklist()' ); global $link_id; wp_link_category_checklist( $link_id ); } /** * Get the real filesystem path to a file to edit within the admin. * * @since 1.5.0 * @deprecated 2.9.0 * @uses WP_CONTENT_DIR Full filesystem path to the wp-content directory. * * @param string $file Filesystem path relative to the wp-content directory. * @return string Full filesystem path to edit. */ function get_real_file_to_edit( $file ) { _deprecated_function( __FUNCTION__, '2.9.0' ); return WP_CONTENT_DIR . $file; } /** * Legacy function used for generating a categories drop-down control. * * @since 1.2.0 * @deprecated 3.0.0 Use wp_dropdown_categories() * @see wp_dropdown_categories() * * @param int $current_cat Optional. ID of the current category. Default 0. * @param int $current_parent Optional. Current parent category ID. Default 0. * @param int $category_parent Optional. Parent ID to retrieve categories for. Default 0. * @param int $level Optional. Number of levels deep to display. Default 0. * @param array $categories Optional. Categories to include in the control. Default 0. * @return void|false Void on success, false if no categories were found. */ function wp_dropdown_cats( $current_cat = 0, $current_parent = 0, $category_parent = 0, $level = 0, $categories = 0 ) { _deprecated_function( __FUNCTION__, '3.0.0', 'wp_dropdown_categories()' ); if (!$categories ) $categories = get_categories( array('hide_empty' => 0) ); if ( $categories ) { foreach ( $categories as $category ) { if ( $current_cat != $category->term_id && $category_parent == $category->parent) { $pad = str_repeat( '– ', $level ); $category->name = esc_html( $category->name ); echo "\n\t<option value='$category->term_id'"; if ( $current_parent == $category->term_id ) echo " selected='selected'"; echo ">$pad$category->name</option>"; wp_dropdown_cats( $current_cat, $current_parent, $category->term_id, $level +1, $categories ); } } } else { return false; } } /** * Register a setting and its sanitization callback * * @since 2.7.0 * @deprecated 3.0.0 Use register_setting() * @see register_setting() * * @param string $option_group A settings group name. Should correspond to an allowed option key name. * Default allowed option key names include 'general', 'discussion', 'media', * 'reading', 'writing', and 'options'. * @param string $option_name The name of an option to sanitize and save. * @param callable $sanitize_callback Optional. A callback function that sanitizes the option's value. */ function add_option_update_handler( $option_group, $option_name, $sanitize_callback = '' ) { _deprecated_function( __FUNCTION__, '3.0.0', 'register_setting()' ); register_setting( $option_group, $option_name, $sanitize_callback ); } /** * Unregister a setting * * @since 2.7.0 * @deprecated 3.0.0 Use unregister_setting() * @see unregister_setting() * * @param string $option_group The settings group name used during registration. * @param string $option_name The name of the option to unregister. * @param callable $sanitize_callback Optional. Deprecated. */ function remove_option_update_handler( $option_group, $option_name, $sanitize_callback = '' ) { _deprecated_function( __FUNCTION__, '3.0.0', 'unregister_setting()' ); unregister_setting( $option_group, $option_name, $sanitize_callback ); } /** * Determines the language to use for CodePress syntax highlighting. * * @since 2.8.0 * @deprecated 3.0.0 * * @param string $filename */ function codepress_get_lang( $filename ) { _deprecated_function( __FUNCTION__, '3.0.0' ); } /** * Adds JavaScript required to make CodePress work on the theme/plugin file editors. * * @since 2.8.0 * @deprecated 3.0.0 */ function codepress_footer_js() { _deprecated_function( __FUNCTION__, '3.0.0' ); } /** * Determine whether to use CodePress. * * @since 2.8.0 * @deprecated 3.0.0 */ function use_codepress() { _deprecated_function( __FUNCTION__, '3.0.0' ); } /** * Get all user IDs. * * @deprecated 3.1.0 Use get_users() * * @global wpdb $wpdb WordPress database abstraction object. * * @return array List of user IDs. */ function get_author_user_ids() { _deprecated_function( __FUNCTION__, '3.1.0', 'get_users()' ); global $wpdb; if ( !is_multisite() ) $level_key = $wpdb->get_blog_prefix() . 'user_level'; else $level_key = $wpdb->get_blog_prefix() . 'capabilities'; // WPMU site admins don't have user_levels. return $wpdb->get_col( $wpdb->prepare("SELECT user_id FROM $wpdb->usermeta WHERE meta_key = %s AND meta_value != '0'", $level_key) ); } /** * Gets author users who can edit posts. * * @deprecated 3.1.0 Use get_users() * * @global wpdb $wpdb WordPress database abstraction object. * * @param int $user_id User ID. * @return array|false List of editable authors. False if no editable users. */ function get_editable_authors( $user_id ) { _deprecated_function( __FUNCTION__, '3.1.0', 'get_users()' ); global $wpdb; $editable = get_editable_user_ids( $user_id ); if ( !$editable ) { return false; } else { $editable = join(',', $editable); $authors = $wpdb->get_results( "SELECT * FROM $wpdb->users WHERE ID IN ($editable) ORDER BY display_name" ); } return apply_filters('get_editable_authors', $authors); } /** * Gets the IDs of any users who can edit posts. * * @deprecated 3.1.0 Use get_users() * * @global wpdb $wpdb WordPress database abstraction object. * * @param int $user_id User ID. * @param bool $exclude_zeros Optional. Whether to exclude zeroes. Default true. * @return array Array of editable user IDs, empty array otherwise. */ function get_editable_user_ids( $user_id, $exclude_zeros = true, $post_type = 'post' ) { _deprecated_function( __FUNCTION__, '3.1.0', 'get_users()' ); global $wpdb; if ( ! $user = get_userdata( $user_id ) ) return array(); $post_type_obj = get_post_type_object($post_type); if ( ! $user->has_cap($post_type_obj->cap->edit_others_posts) ) { if ( $user->has_cap($post_type_obj->cap->edit_posts) || ! $exclude_zeros ) return array($user->ID); else return array(); } if ( !is_multisite() ) $level_key = $wpdb->get_blog_prefix() . 'user_level'; else $level_key = $wpdb->get_blog_prefix() . 'capabilities'; // WPMU site admins don't have user_levels. $query = $wpdb->prepare("SELECT user_id FROM $wpdb->usermeta WHERE meta_key = %s", $level_key); if ( $exclude_zeros ) $query .= " AND meta_value != '0'"; return $wpdb->get_col( $query ); } /** * Gets all users who are not authors. * * @deprecated 3.1.0 Use get_users() * * @global wpdb $wpdb WordPress database abstraction object. */ function get_nonauthor_user_ids() { _deprecated_function( __FUNCTION__, '3.1.0', 'get_users()' ); global $wpdb; if ( !is_multisite() ) $level_key = $wpdb->get_blog_prefix() . 'user_level'; else $level_key = $wpdb->get_blog_prefix() . 'capabilities'; // WPMU site admins don't have user_levels. return $wpdb->get_col( $wpdb->prepare("SELECT user_id FROM $wpdb->usermeta WHERE meta_key = %s AND meta_value = '0'", $level_key) ); } if ( ! class_exists( 'WP_User_Search', false ) ) : /** * WordPress User Search class. * * @since 2.1.0 * @deprecated 3.1.0 Use WP_User_Query */ class WP_User_Search { /** * {@internal Missing Description}} * * @since 2.1.0 * @access private * @var mixed */ var $results; /** * {@internal Missing Description}} * * @since 2.1.0 * @access private * @var string */ var $search_term; /** * Page number. * * @since 2.1.0 * @access private * @var int */ var $page; /** * Role name that users have. * * @since 2.5.0 * @access private * @var string */ var $role; /** * Raw page number. * * @since 2.1.0 * @access private * @var int|bool */ var $raw_page; /** * Amount of users to display per page. * * @since 2.1.0 * @access public * @var int */ var $users_per_page = 50; /** * {@internal Missing Description}} * * @since 2.1.0 * @access private * @var int */ var $first_user; /** * {@internal Missing Description}} * * @since 2.1.0 * @access private * @var int */ var $last_user; /** * {@internal Missing Description}} * * @since 2.1.0 * @access private * @var string */ var $query_limit; /** * {@internal Missing Description}} * * @since 3.0.0 * @access private * @var string */ var $query_orderby; /** * {@internal Missing Description}} * * @since 3.0.0 * @access private * @var string */ var $query_from; /** * {@internal Missing Description}} * * @since 3.0.0 * @access private * @var string */ var $query_where; /** * {@internal Missing Description}} * * @since 2.1.0 * @access private * @var int */ var $total_users_for_query = 0; /** * {@internal Missing Description}} * * @since 2.1.0 * @access private * @var bool */ var $too_many_total_users = false; /** * {@internal Missing Description}} * * @since 2.1.0 * @access private * @var WP_Error */ var $search_errors; /** * {@internal Missing Description}} * * @since 2.7.0 * @access private * @var string */ var $paging_text; /** * PHP5 Constructor - Sets up the object properties. * * @since 2.1.0 * * @param string $search_term Search terms string. * @param int $page Optional. Page ID. * @param string $role Role name. * @return WP_User_Search */ function __construct( $search_term = '', $page = '', $role = '' ) { _deprecated_class( 'WP_User_Search', '3.1.0', 'WP_User_Query' ); $this->search_term = wp_unslash( $search_term ); $this->raw_page = ( '' == $page ) ? false : (int) $page; $this->page = ( '' == $page ) ? 1 : (int) $page; $this->role = $role; $this->prepare_query(); $this->query(); $this->do_paging(); } /** * PHP4 Constructor - Sets up the object properties. * * @since 2.1.0 * * @param string $search_term Search terms string. * @param int $page Optional. Page ID. * @param string $role Role name. * @return WP_User_Search */ public function WP_User_Search( $search_term = '', $page = '', $role = '' ) { _deprecated_constructor( 'WP_User_Search', '3.1.0', get_class( $this ) ); self::__construct( $search_term, $page, $role ); } /** * Prepares the user search query (legacy). * * @since 2.1.0 * @access public * * @global wpdb $wpdb WordPress database abstraction object. */ public function prepare_query() { global $wpdb; $this->first_user = ($this->page - 1) * $this->users_per_page; $this->query_limit = $wpdb->prepare(" LIMIT %d, %d", $this->first_user, $this->users_per_page); $this->query_orderby = ' ORDER BY user_login'; $search_sql = ''; if ( $this->search_term ) { $searches = array(); $search_sql = 'AND ('; foreach ( array('user_login', 'user_nicename', 'user_email', 'user_url', 'display_name') as $col ) $searches[] = $wpdb->prepare( $col . ' LIKE %s', '%' . like_escape($this->search_term) . '%' ); $search_sql .= implode(' OR ', $searches); $search_sql .= ')'; } $this->query_from = " FROM $wpdb->users"; $this->query_where = " WHERE 1=1 $search_sql"; if ( $this->role ) { $this->query_from .= " INNER JOIN $wpdb->usermeta ON $wpdb->users.ID = $wpdb->usermeta.user_id"; $this->query_where .= $wpdb->prepare(" AND $wpdb->usermeta.meta_key = '{$wpdb->prefix}capabilities' AND $wpdb->usermeta.meta_value LIKE %s", '%' . $this->role . '%'); } elseif ( is_multisite() ) { $level_key = $wpdb->prefix . 'capabilities'; // WPMU site admins don't have user_levels. $this->query_from .= ", $wpdb->usermeta"; $this->query_where .= " AND $wpdb->users.ID = $wpdb->usermeta.user_id AND meta_key = '{$level_key}'"; } do_action_ref_array( 'pre_user_search', array( &$this ) ); } /** * Executes the user search query. * * @since 2.1.0 * @access public * * @global wpdb $wpdb WordPress database abstraction object. */ public function query() { global $wpdb; $this->results = $wpdb->get_col("SELECT DISTINCT($wpdb->users.ID)" . $this->query_from . $this->query_where . $this->query_orderby . $this->query_limit); if ( $this->results ) $this->total_users_for_query = $wpdb->get_var("SELECT COUNT(DISTINCT($wpdb->users.ID))" . $this->query_from . $this->query_where); // No limit. else $this->search_errors = new WP_Error('no_matching_users_found', __('No users found.')); } /** * Prepares variables for use in templates. * * @since 2.1.0 * @access public */ function prepare_vars_for_template_usage() {} /** * Handles paging for the user search query. * * @since 2.1.0 * @access public */ public function do_paging() { if ( $this->total_users_for_query > $this->users_per_page ) { // Have to page the results. $args = array(); if ( ! empty($this->search_term) ) $args['usersearch'] = urlencode($this->search_term); if ( ! empty($this->role) ) $args['role'] = urlencode($this->role); $this->paging_text = paginate_links( array( 'total' => ceil($this->total_users_for_query / $this->users_per_page), 'current' => $this->page, 'base' => 'users.php?%_%', 'format' => 'userspage=%#%', 'add_args' => $args ) ); if ( $this->paging_text ) { $this->paging_text = sprintf( /* translators: 1: Starting number of users on the current page, 2: Ending number of users, 3: Total number of users. */ '<span class="displaying-num">' . __( 'Displaying %1$s–%2$s of %3$s' ) . '</span>%s', number_format_i18n( ( $this->page - 1 ) * $this->users_per_page + 1 ), number_format_i18n( min( $this->page * $this->users_per_page, $this->total_users_for_query ) ), number_format_i18n( $this->total_users_for_query ), $this->paging_text ); } } } /** * Retrieves the user search query results. * * @since 2.1.0 * @access public * * @return array */ public function get_results() { return (array) $this->results; } /** * Displaying paging text. * * @see do_paging() Builds paging text. * * @since 2.1.0 * @access public */ function page_links() { echo $this->paging_text; } /** * Whether paging is enabled. * * @see do_paging() Builds paging text. * * @since 2.1.0 * @access public * * @return bool */ function results_are_paged() { if ( $this->paging_text ) return true; return false; } /** * Whether there are search terms. * * @since 2.1.0 * @access public * * @return bool */ function is_search() { if ( $this->search_term ) return true; return false; } } endif; /** * Retrieves editable posts from other users. * * @since 2.3.0 * @deprecated 3.1.0 Use get_posts() * @see get_posts() * * @global wpdb $wpdb WordPress database abstraction object. * * @param int $user_id User ID to not retrieve posts from. * @param string $type Optional. Post type to retrieve. Accepts 'draft', 'pending' or 'any' (all). * Default 'any'. * @return array List of posts from others. */ function get_others_unpublished_posts( $user_id, $type = 'any' ) { _deprecated_function( __FUNCTION__, '3.1.0' ); global $wpdb; $editable = get_editable_user_ids( $user_id ); if ( in_array($type, array('draft', 'pending')) ) $type_sql = " post_status = '$type' "; else $type_sql = " ( post_status = 'draft' OR post_status = 'pending' ) "; $dir = ( 'pending' == $type ) ? 'ASC' : 'DESC'; if ( !$editable ) { $other_unpubs = ''; } else { $editable = join(',', $editable); $other_unpubs = $wpdb->get_results( $wpdb->prepare("SELECT ID, post_title, post_author FROM $wpdb->posts WHERE post_type = 'post' AND $type_sql AND post_author IN ($editable) AND post_author != %d ORDER BY post_modified $dir", $user_id) ); } return apply_filters('get_others_drafts', $other_unpubs); } /** * Retrieve drafts from other users. * * @deprecated 3.1.0 Use get_posts() * @see get_posts() * * @param int $user_id User ID. * @return array List of drafts from other users. */ function get_others_drafts($user_id) { _deprecated_function( __FUNCTION__, '3.1.0' ); return get_others_unpublished_posts($user_id, 'draft'); } /** * Retrieve pending review posts from other users. * * @deprecated 3.1.0 Use get_posts() * @see get_posts() * * @param int $user_id User ID. * @return array List of posts with pending review post type from other users. */ function get_others_pending($user_id) { _deprecated_function( __FUNCTION__, '3.1.0' ); return get_others_unpublished_posts($user_id, 'pending'); } /** * Output the QuickPress dashboard widget. * * @since 3.0.0 * @deprecated 3.2.0 Use wp_dashboard_quick_press() * @see wp_dashboard_quick_press() */ function wp_dashboard_quick_press_output() { _deprecated_function( __FUNCTION__, '3.2.0', 'wp_dashboard_quick_press()' ); wp_dashboard_quick_press(); } /** * Outputs the TinyMCE editor. * * @since 2.7.0 * @deprecated 3.3.0 Use wp_editor() * @see wp_editor() */ function wp_tiny_mce( $teeny = false, $settings = false ) { _deprecated_function( __FUNCTION__, '3.3.0', 'wp_editor()' ); static $num = 1; if ( ! class_exists( '_WP_Editors', false ) ) require_once ABSPATH . WPINC . '/class-wp-editor.php'; $editor_id = 'content' . $num++; $set = array( 'teeny' => $teeny, 'tinymce' => $settings ? $settings : true, 'quicktags' => false ); $set = _WP_Editors::parse_settings($editor_id, $set); _WP_Editors::editor_settings($editor_id, $set); } /** * Preloads TinyMCE dialogs. * * @deprecated 3.3.0 Use wp_editor() * @see wp_editor() */ function wp_preload_dialogs() { _deprecated_function( __FUNCTION__, '3.3.0', 'wp_editor()' ); } /** * Prints TinyMCE editor JS. * * @deprecated 3.3.0 Use wp_editor() * @see wp_editor() */ function wp_print_editor_js() { _deprecated_function( __FUNCTION__, '3.3.0', 'wp_editor()' ); } /** * Handles quicktags. * * @deprecated 3.3.0 Use wp_editor() * @see wp_editor() */ function wp_quicktags() { _deprecated_function( __FUNCTION__, '3.3.0', 'wp_editor()' ); } /** * Returns the screen layout options. * * @since 2.8.0 * @deprecated 3.3.0 WP_Screen::render_screen_layout() * @see WP_Screen::render_screen_layout() */ function screen_layout( $screen ) { _deprecated_function( __FUNCTION__, '3.3.0', '$current_screen->render_screen_layout()' ); $current_screen = get_current_screen(); if ( ! $current_screen ) return ''; ob_start(); $current_screen->render_screen_layout(); return ob_get_clean(); } /** * Returns the screen's per-page options. * * @since 2.8.0 * @deprecated 3.3.0 Use WP_Screen::render_per_page_options() * @see WP_Screen::render_per_page_options() */ function screen_options( $screen ) { _deprecated_function( __FUNCTION__, '3.3.0', '$current_screen->render_per_page_options()' ); $current_screen = get_current_screen(); if ( ! $current_screen ) return ''; ob_start(); $current_screen->render_per_page_options(); return ob_get_clean(); } /** * Renders the screen's help. * * @since 2.7.0 * @deprecated 3.3.0 Use WP_Screen::render_screen_meta() * @see WP_Screen::render_screen_meta() */ function screen_meta( $screen ) { $current_screen = get_current_screen(); $current_screen->render_screen_meta(); } /** * Favorite actions were deprecated in version 3.2. Use the admin bar instead. * * @since 2.7.0 * @deprecated 3.2.0 Use WP_Admin_Bar * @see WP_Admin_Bar */ function favorite_actions() { _deprecated_function( __FUNCTION__, '3.2.0', 'WP_Admin_Bar' ); } /** * Handles uploading an image. * * @deprecated 3.3.0 Use wp_media_upload_handler() * @see wp_media_upload_handler() * * @return null|string */ function media_upload_image() { _deprecated_function( __FUNCTION__, '3.3.0', 'wp_media_upload_handler()' ); return wp_media_upload_handler(); } /** * Handles uploading an audio file. * * @deprecated 3.3.0 Use wp_media_upload_handler() * @see wp_media_upload_handler() * * @return null|string */ function media_upload_audio() { _deprecated_function( __FUNCTION__, '3.3.0', 'wp_media_upload_handler()' ); return wp_media_upload_handler(); } /** * Handles uploading a video file. * * @deprecated 3.3.0 Use wp_media_upload_handler() * @see wp_media_upload_handler() * * @return null|string */ function media_upload_video() { _deprecated_function( __FUNCTION__, '3.3.0', 'wp_media_upload_handler()' ); return wp_media_upload_handler(); } /** * Handles uploading a generic file. * * @deprecated 3.3.0 Use wp_media_upload_handler() * @see wp_media_upload_handler() * * @return null|string */ function media_upload_file() { _deprecated_function( __FUNCTION__, '3.3.0', 'wp_media_upload_handler()' ); return wp_media_upload_handler(); } /** * Handles retrieving the insert-from-URL form for an image. * * @deprecated 3.3.0 Use wp_media_insert_url_form() * @see wp_media_insert_url_form() * * @return string */ function type_url_form_image() { _deprecated_function( __FUNCTION__, '3.3.0', "wp_media_insert_url_form('image')" ); return wp_media_insert_url_form( 'image' ); } /** * Handles retrieving the insert-from-URL form for an audio file. * * @deprecated 3.3.0 Use wp_media_insert_url_form() * @see wp_media_insert_url_form() * * @return string */ function type_url_form_audio() { _deprecated_function( __FUNCTION__, '3.3.0', "wp_media_insert_url_form('audio')" ); return wp_media_insert_url_form( 'audio' ); } /** * Handles retrieving the insert-from-URL form for a video file. * * @deprecated 3.3.0 Use wp_media_insert_url_form() * @see wp_media_insert_url_form() * * @return string */ function type_url_form_video() { _deprecated_function( __FUNCTION__, '3.3.0', "wp_media_insert_url_form('video')" ); return wp_media_insert_url_form( 'video' ); } /** * Handles retrieving the insert-from-URL form for a generic file. * * @deprecated 3.3.0 Use wp_media_insert_url_form() * @see wp_media_insert_url_form() * * @return string */ function type_url_form_file() { _deprecated_function( __FUNCTION__, '3.3.0', "wp_media_insert_url_form('file')" ); return wp_media_insert_url_form( 'file' ); } /** * Add contextual help text for a page. * * Creates an 'Overview' help tab. * * @since 2.7.0 * @deprecated 3.3.0 Use WP_Screen::add_help_tab() * @see WP_Screen::add_help_tab() * * @param string $screen The handle for the screen to add help to. This is usually * the hook name returned by the `add_*_page()` functions. * @param string $help The content of an 'Overview' help tab. */ function add_contextual_help( $screen, $help ) { _deprecated_function( __FUNCTION__, '3.3.0', 'get_current_screen()->add_help_tab()' ); if ( is_string( $screen ) ) $screen = convert_to_screen( $screen ); WP_Screen::add_old_compat_help( $screen, $help ); } /** * Get the allowed themes for the current site. * * @since 3.0.0 * @deprecated 3.4.0 Use wp_get_themes() * @see wp_get_themes() * * @return WP_Theme[] Array of WP_Theme objects keyed by their name. */ function get_allowed_themes() { _deprecated_function( __FUNCTION__, '3.4.0', "wp_get_themes( array( 'allowed' => true ) )" ); $themes = wp_get_themes( array( 'allowed' => true ) ); $wp_themes = array(); foreach ( $themes as $theme ) { $wp_themes[ $theme->get('Name') ] = $theme; } return $wp_themes; } /** * Retrieves a list of broken themes. * * @since 1.5.0 * @deprecated 3.4.0 Use wp_get_themes() * @see wp_get_themes() * * @return array */ function get_broken_themes() { _deprecated_function( __FUNCTION__, '3.4.0', "wp_get_themes( array( 'errors' => true )" ); $themes = wp_get_themes( array( 'errors' => true ) ); $broken = array(); foreach ( $themes as $theme ) { $name = $theme->get('Name'); $broken[ $name ] = array( 'Name' => $name, 'Title' => $name, 'Description' => $theme->errors()->get_error_message(), ); } return $broken; } /** * Retrieves information on the current active theme. * * @since 2.0.0 * @deprecated 3.4.0 Use wp_get_theme() * @see wp_get_theme() * * @return WP_Theme */ function current_theme_info() { _deprecated_function( __FUNCTION__, '3.4.0', 'wp_get_theme()' ); return wp_get_theme(); } /** * This was once used to display an 'Insert into Post' button. * * Now it is deprecated and stubbed. * * @deprecated 3.5.0 */ function _insert_into_post_button( $type ) { _deprecated_function( __FUNCTION__, '3.5.0' ); } /** * This was once used to display a media button. * * Now it is deprecated and stubbed. * * @deprecated 3.5.0 */ function _media_button($title, $icon, $type, $id) { _deprecated_function( __FUNCTION__, '3.5.0' ); } /** * Gets an existing post and format it for editing. * * @since 2.0.0 * @deprecated 3.5.0 Use get_post() * @see get_post() * * @param int $id * @return WP_Post */ function get_post_to_edit( $id ) { _deprecated_function( __FUNCTION__, '3.5.0', 'get_post()' ); return get_post( $id, OBJECT, 'edit' ); } /** * Gets the default page information to use. * * @since 2.5.0 * @deprecated 3.5.0 Use get_default_post_to_edit() * @see get_default_post_to_edit() * * @return WP_Post Post object containing all the default post data as attributes */ function get_default_page_to_edit() { _deprecated_function( __FUNCTION__, '3.5.0', "get_default_post_to_edit( 'page' )" ); $page = get_default_post_to_edit(); $page->post_type = 'page'; return $page; } /** * This was once used to create a thumbnail from an Image given a maximum side size. * * @since 1.2.0 * @deprecated 3.5.0 Use image_resize() * @see image_resize() * * @param mixed $file Filename of the original image, Or attachment ID. * @param int $max_side Maximum length of a single side for the thumbnail. * @param mixed $deprecated Never used. * @return string Thumbnail path on success, Error string on failure. */ function wp_create_thumbnail( $file, $max_side, $deprecated = '' ) { _deprecated_function( __FUNCTION__, '3.5.0', 'image_resize()' ); return apply_filters( 'wp_create_thumbnail', image_resize( $file, $max_side, $max_side ) ); } /** * This was once used to display a meta box for the nav menu theme locations. * * Deprecated in favor of a 'Manage Locations' tab added to nav menus management screen. * * @since 3.0.0 * @deprecated 3.6.0 */ function wp_nav_menu_locations_meta_box() { _deprecated_function( __FUNCTION__, '3.6.0' ); } /** * This was once used to kick-off the Core Updater. * * Deprecated in favor of instantiating a Core_Upgrader instance directly, * and calling the 'upgrade' method. * * @since 2.7.0 * @deprecated 3.7.0 Use Core_Upgrader * @see Core_Upgrader */ function wp_update_core($current, $feedback = '') { _deprecated_function( __FUNCTION__, '3.7.0', 'new Core_Upgrader();' ); if ( !empty($feedback) ) add_filter('update_feedback', $feedback); require ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; $upgrader = new Core_Upgrader(); return $upgrader->upgrade($current); } /** * This was once used to kick-off the Plugin Updater. * * Deprecated in favor of instantiating a Plugin_Upgrader instance directly, * and calling the 'upgrade' method. * Unused since 2.8.0. * * @since 2.5.0 * @deprecated 3.7.0 Use Plugin_Upgrader * @see Plugin_Upgrader */ function wp_update_plugin($plugin, $feedback = '') { _deprecated_function( __FUNCTION__, '3.7.0', 'new Plugin_Upgrader();' ); if ( !empty($feedback) ) add_filter('update_feedback', $feedback); require ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; $upgrader = new Plugin_Upgrader(); return $upgrader->upgrade($plugin); } /** * This was once used to kick-off the Theme Updater. * * Deprecated in favor of instantiating a Theme_Upgrader instance directly, * and calling the 'upgrade' method. * Unused since 2.8.0. * * @since 2.7.0 * @deprecated 3.7.0 Use Theme_Upgrader * @see Theme_Upgrader */ function wp_update_theme($theme, $feedback = '') { _deprecated_function( __FUNCTION__, '3.7.0', 'new Theme_Upgrader();' ); if ( !empty($feedback) ) add_filter('update_feedback', $feedback); require ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; $upgrader = new Theme_Upgrader(); return $upgrader->upgrade($theme); } /** * This was once used to display attachment links. Now it is deprecated and stubbed. * * @since 2.0.0 * @deprecated 3.7.0 * * @param int|bool $id */ function the_attachment_links( $id = false ) { _deprecated_function( __FUNCTION__, '3.7.0' ); } /** * Displays a screen icon. * * @since 2.7.0 * @deprecated 3.8.0 */ function screen_icon() { _deprecated_function( __FUNCTION__, '3.8.0' ); echo get_screen_icon(); } /** * Retrieves the screen icon (no longer used in 3.8+). * * @since 3.2.0 * @deprecated 3.8.0 * * @return string An HTML comment explaining that icons are no longer used. */ function get_screen_icon() { _deprecated_function( __FUNCTION__, '3.8.0' ); return '<!-- Screen icons are no longer used as of WordPress 3.8. -->'; } /** * Deprecated dashboard widget controls. * * @since 2.5.0 * @deprecated 3.8.0 */ function wp_dashboard_incoming_links_output() {} /** * Deprecated dashboard secondary output. * * @deprecated 3.8.0 */ function wp_dashboard_secondary_output() {} /** * Deprecated dashboard widget controls. * * @since 2.7.0 * @deprecated 3.8.0 */ function wp_dashboard_incoming_links() {} /** * Deprecated dashboard incoming links control. * * @deprecated 3.8.0 */ function wp_dashboard_incoming_links_control() {} /** * Deprecated dashboard plugins control. * * @deprecated 3.8.0 */ function wp_dashboard_plugins() {} /** * Deprecated dashboard primary control. * * @deprecated 3.8.0 */ function wp_dashboard_primary_control() {} /** * Deprecated dashboard recent comments control. * * @deprecated 3.8.0 */ function wp_dashboard_recent_comments_control() {} /** * Deprecated dashboard secondary section. * * @deprecated 3.8.0 */ function wp_dashboard_secondary() {} /** * Deprecated dashboard secondary control. * * @deprecated 3.8.0 */ function wp_dashboard_secondary_control() {} /** * Display plugins text for the WordPress news widget. * * @since 2.5.0 * @deprecated 4.8.0 * * @param string $rss The RSS feed URL. * @param array $args Array of arguments for this RSS feed. */ function wp_dashboard_plugins_output( $rss, $args = array() ) { _deprecated_function( __FUNCTION__, '4.8.0' ); // Plugin feeds plus link to install them. $popular = fetch_feed( $args['url']['popular'] ); if ( false === $plugin_slugs = get_transient( 'plugin_slugs' ) ) { $plugin_slugs = array_keys( get_plugins() ); set_transient( 'plugin_slugs', $plugin_slugs, DAY_IN_SECONDS ); } echo '<ul>'; foreach ( array( $popular ) as $feed ) { if ( is_wp_error( $feed ) || ! $feed->get_item_quantity() ) continue; $items = $feed->get_items(0, 5); // Pick a random, non-installed plugin. while ( true ) { // Abort this foreach loop iteration if there's no plugins left of this type. if ( 0 === count($items) ) continue 2; $item_key = array_rand($items); $item = $items[$item_key]; list($link, $frag) = explode( '#', $item->get_link() ); $link = esc_url($link); if ( preg_match( '|/([^/]+?)/?$|', $link, $matches ) ) $slug = $matches[1]; else { unset( $items[$item_key] ); continue; } // Is this random plugin's slug already installed? If so, try again. reset( $plugin_slugs ); foreach ( $plugin_slugs as $plugin_slug ) { if ( str_starts_with( $plugin_slug, $slug ) ) { unset( $items[$item_key] ); continue 2; } } // If we get to this point, then the random plugin isn't installed and we can stop the while(). break; } // Eliminate some common badly formed plugin descriptions. while ( ( null !== $item_key = array_rand($items) ) && str_contains( $items[$item_key]->get_description(), 'Plugin Name:' ) ) unset($items[$item_key]); if ( !isset($items[$item_key]) ) continue; $raw_title = $item->get_title(); $ilink = wp_nonce_url('plugin-install.php?tab=plugin-information&plugin=' . $slug, 'install-plugin_' . $slug) . '&TB_iframe=true&width=600&height=800'; echo '<li class="dashboard-news-plugin"><span>' . __( 'Popular Plugin' ) . ':</span> ' . esc_html( $raw_title ) . ' <a href="' . $ilink . '" class="thickbox open-plugin-details-modal" aria-label="' . /* translators: %s: Plugin name. */ esc_attr( sprintf( _x( 'Install %s', 'plugin' ), $raw_title ) ) . '">(' . __( 'Install' ) . ')</a></li>'; $feed->__destruct(); unset( $feed ); } echo '</ul>'; } /** * This was once used to move child posts to a new parent. * * @since 2.3.0 * @deprecated 3.9.0 * @access private * * @param int $old_ID * @param int $new_ID */ function _relocate_children( $old_ID, $new_ID ) { _deprecated_function( __FUNCTION__, '3.9.0' ); } /** * Add a top-level menu page in the 'objects' section. * * This function takes a capability which will be used to determine whether * or not a page is included in the menu. * * The function which is hooked in to handle the output of the page must check * that the user has the required capability as well. * * @since 2.7.0 * * @deprecated 4.5.0 Use add_menu_page() * @see add_menu_page() * @global int $_wp_last_object_menu * * @param string $page_title The text to be displayed in the title tags of the page when the menu is selected. * @param string $menu_title The text to be used for the menu. * @param string $capability The capability required for this menu to be displayed to the user. * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu). * @param callable $callback Optional. The function to be called to output the content for this page. * @param string $icon_url Optional. The URL to the icon to be used for this menu. * @return string The resulting page's hook_suffix. */ function add_object_page( $page_title, $menu_title, $capability, $menu_slug, $callback = '', $icon_url = '') { _deprecated_function( __FUNCTION__, '4.5.0', 'add_menu_page()' ); global $_wp_last_object_menu; $_wp_last_object_menu++; return add_menu_page($page_title, $menu_title, $capability, $menu_slug, $callback, $icon_url, $_wp_last_object_menu); } /** * Add a top-level menu page in the 'utility' section. * * This function takes a capability which will be used to determine whether * or not a page is included in the menu. * * The function which is hooked in to handle the output of the page must check * that the user has the required capability as well. * * @since 2.7.0 * * @deprecated 4.5.0 Use add_menu_page() * @see add_menu_page() * @global int $_wp_last_utility_menu * * @param string $page_title The text to be displayed in the title tags of the page when the menu is selected. * @param string $menu_title The text to be used for the menu. * @param string $capability The capability required for this menu to be displayed to the user. * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu). * @param callable $callback Optional. The function to be called to output the content for this page. * @param string $icon_url Optional. The URL to the icon to be used for this menu. * @return string The resulting page's hook_suffix. */ function add_utility_page( $page_title, $menu_title, $capability, $menu_slug, $callback = '', $icon_url = '') { _deprecated_function( __FUNCTION__, '4.5.0', 'add_menu_page()' ); global $_wp_last_utility_menu; $_wp_last_utility_menu++; return add_menu_page($page_title, $menu_title, $capability, $menu_slug, $callback, $icon_url, $_wp_last_utility_menu); } /** * Disables autocomplete on the 'post' form (Add/Edit Post screens) for WebKit browsers, * as they disregard the autocomplete setting on the editor textarea. That can break the editor * when the user navigates to it with the browser's Back button. See #28037 * * Replaced with wp_page_reload_on_back_button_js() that also fixes this problem. * * @since 4.0.0 * @deprecated 4.6.0 * * @link https://core.trac.wordpress.org/ticket/35852 * * @global bool $is_safari * @global bool $is_chrome */ function post_form_autocomplete_off() { global $is_safari, $is_chrome; _deprecated_function( __FUNCTION__, '4.6.0' ); if ( $is_safari || $is_chrome ) { echo ' autocomplete="off"'; } } /** * Display JavaScript on the page. * * @since 3.5.0 * @deprecated 4.9.0 */ function options_permalink_add_js() { ?> <script type="text/javascript"> jQuery( function() { jQuery('.permalink-structure input:radio').change(function() { if ( 'custom' == this.value ) return; jQuery('#permalink_structure').val( this.value ); }); jQuery( '#permalink_structure' ).on( 'click input', function() { jQuery( '#custom_selection' ).prop( 'checked', true ); }); } ); </script> <?php } /** * Previous class for list table for privacy data export requests. * * @since 4.9.6 * @deprecated 5.3.0 */ class WP_Privacy_Data_Export_Requests_Table extends WP_Privacy_Data_Export_Requests_List_Table { function __construct( $args ) { _deprecated_function( __CLASS__, '5.3.0', 'WP_Privacy_Data_Export_Requests_List_Table' ); if ( ! isset( $args['screen'] ) || $args['screen'] === 'export_personal_data' ) { $args['screen'] = 'export-personal-data'; } parent::__construct( $args ); } } /** * Previous class for list table for privacy data erasure requests. * * @since 4.9.6 * @deprecated 5.3.0 */ class WP_Privacy_Data_Removal_Requests_Table extends WP_Privacy_Data_Removal_Requests_List_Table { function __construct( $args ) { _deprecated_function( __CLASS__, '5.3.0', 'WP_Privacy_Data_Removal_Requests_List_Table' ); if ( ! isset( $args['screen'] ) || $args['screen'] === 'remove_personal_data' ) { $args['screen'] = 'erase-personal-data'; } parent::__construct( $args ); } } /** * Was used to add options for the privacy requests screens before they were separate files. * * @since 4.9.8 * @access private * @deprecated 5.3.0 */ function _wp_privacy_requests_screen_options() { _deprecated_function( __FUNCTION__, '5.3.0' ); } /** * Was used to filter input from media_upload_form_handler() and to assign a default * post_title from the file name if none supplied. * * @since 2.5.0 * @deprecated 6.0.0 * * @param array $post The WP_Post attachment object converted to an array. * @param array $attachment An array of attachment metadata. * @return array Attachment post object converted to an array. */ function image_attachment_fields_to_save( $post, $attachment ) { _deprecated_function( __FUNCTION__, '6.0.0' ); return $post; } widgets.php 0000644 00000025240 14735706075 0006744 0 ustar 00 <?php /** * WordPress Widgets Administration API * * @package WordPress * @subpackage Administration */ /** * Display list of the available widgets. * * @since 2.5.0 * * @global array $wp_registered_widgets * @global array $wp_registered_widget_controls */ function wp_list_widgets() { global $wp_registered_widgets, $wp_registered_widget_controls; $sort = $wp_registered_widgets; usort( $sort, '_sort_name_callback' ); $done = array(); foreach ( $sort as $widget ) { if ( in_array( $widget['callback'], $done, true ) ) { // We already showed this multi-widget. continue; } $sidebar = is_active_widget( $widget['callback'], $widget['id'], false, false ); $done[] = $widget['callback']; if ( ! isset( $widget['params'][0] ) ) { $widget['params'][0] = array(); } $args = array( 'widget_id' => $widget['id'], 'widget_name' => $widget['name'], '_display' => 'template', ); if ( isset( $wp_registered_widget_controls[ $widget['id'] ]['id_base'] ) && isset( $widget['params'][0]['number'] ) ) { $id_base = $wp_registered_widget_controls[ $widget['id'] ]['id_base']; $args['_temp_id'] = "$id_base-__i__"; $args['_multi_num'] = next_widget_id_number( $id_base ); $args['_add'] = 'multi'; } else { $args['_add'] = 'single'; if ( $sidebar ) { $args['_hide'] = '1'; } } $control_args = array( 0 => $args, 1 => $widget['params'][0], ); $sidebar_args = wp_list_widget_controls_dynamic_sidebar( $control_args ); wp_widget_control( ...$sidebar_args ); } } /** * Callback to sort array by a 'name' key. * * @since 3.1.0 * @access private * * @param array $a First array. * @param array $b Second array. * @return int */ function _sort_name_callback( $a, $b ) { return strnatcasecmp( $a['name'], $b['name'] ); } /** * Show the widgets and their settings for a sidebar. * Used in the admin widget config screen. * * @since 2.5.0 * * @param string $sidebar Sidebar ID. * @param string $sidebar_name Optional. Sidebar name. Default empty. */ function wp_list_widget_controls( $sidebar, $sidebar_name = '' ) { add_filter( 'dynamic_sidebar_params', 'wp_list_widget_controls_dynamic_sidebar' ); $description = wp_sidebar_description( $sidebar ); echo '<div id="' . esc_attr( $sidebar ) . '" class="widgets-sortables">'; if ( $sidebar_name ) { $add_to = sprintf( /* translators: %s: Widgets sidebar name. */ __( 'Add to: %s' ), $sidebar_name ); ?> <div class="sidebar-name" data-add-to="<?php echo esc_attr( $add_to ); ?>"> <button type="button" class="handlediv hide-if-no-js" aria-expanded="true"> <span class="screen-reader-text"><?php echo esc_html( $sidebar_name ); ?></span> <span class="toggle-indicator" aria-hidden="true"></span> </button> <h2><?php echo esc_html( $sidebar_name ); ?> <span class="spinner"></span></h2> </div> <?php } if ( ! empty( $description ) ) { ?> <div class="sidebar-description"> <p class="description"><?php echo $description; ?></p> </div> <?php } dynamic_sidebar( $sidebar ); echo '</div>'; } /** * Retrieves the widget control arguments. * * @since 2.5.0 * * @global array $wp_registered_widgets * * @param array $params * @return array */ function wp_list_widget_controls_dynamic_sidebar( $params ) { global $wp_registered_widgets; static $i = 0; ++$i; $widget_id = $params[0]['widget_id']; $id = isset( $params[0]['_temp_id'] ) ? $params[0]['_temp_id'] : $widget_id; $hidden = isset( $params[0]['_hide'] ) ? ' style="display:none;"' : ''; $params[0]['before_widget'] = "<div id='widget-{$i}_{$id}' class='widget'$hidden>"; $params[0]['after_widget'] = '</div>'; $params[0]['before_title'] = '%BEG_OF_TITLE%'; // Deprecated. $params[0]['after_title'] = '%END_OF_TITLE%'; // Deprecated. if ( is_callable( $wp_registered_widgets[ $widget_id ]['callback'] ) ) { $wp_registered_widgets[ $widget_id ]['_callback'] = $wp_registered_widgets[ $widget_id ]['callback']; $wp_registered_widgets[ $widget_id ]['callback'] = 'wp_widget_control'; } return $params; } /** * @global array $wp_registered_widgets * * @param string $id_base * @return int */ function next_widget_id_number( $id_base ) { global $wp_registered_widgets; $number = 1; foreach ( $wp_registered_widgets as $widget_id => $widget ) { if ( preg_match( '/' . preg_quote( $id_base, '/' ) . '-([0-9]+)$/', $widget_id, $matches ) ) { $number = max( $number, $matches[1] ); } } ++$number; return $number; } /** * Meta widget used to display the control form for a widget. * * Called from dynamic_sidebar(). * * @since 2.5.0 * * @global array $wp_registered_widgets * @global array $wp_registered_widget_controls * @global array $sidebars_widgets * * @param array $sidebar_args * @return array */ function wp_widget_control( $sidebar_args ) { global $wp_registered_widgets, $wp_registered_widget_controls, $sidebars_widgets; $widget_id = $sidebar_args['widget_id']; $sidebar_id = isset( $sidebar_args['id'] ) ? $sidebar_args['id'] : false; $key = $sidebar_id ? array_search( $widget_id, $sidebars_widgets[ $sidebar_id ], true ) : '-1'; // Position of widget in sidebar. $control = isset( $wp_registered_widget_controls[ $widget_id ] ) ? $wp_registered_widget_controls[ $widget_id ] : array(); $widget = $wp_registered_widgets[ $widget_id ]; $id_format = $widget['id']; $widget_number = isset( $control['params'][0]['number'] ) ? $control['params'][0]['number'] : ''; $id_base = isset( $control['id_base'] ) ? $control['id_base'] : $widget_id; $width = isset( $control['width'] ) ? $control['width'] : ''; $height = isset( $control['height'] ) ? $control['height'] : ''; $multi_number = isset( $sidebar_args['_multi_num'] ) ? $sidebar_args['_multi_num'] : ''; $add_new = isset( $sidebar_args['_add'] ) ? $sidebar_args['_add'] : ''; $before_form = isset( $sidebar_args['before_form'] ) ? $sidebar_args['before_form'] : '<form method="post">'; $after_form = isset( $sidebar_args['after_form'] ) ? $sidebar_args['after_form'] : '</form>'; $before_widget_content = isset( $sidebar_args['before_widget_content'] ) ? $sidebar_args['before_widget_content'] : '<div class="widget-content">'; $after_widget_content = isset( $sidebar_args['after_widget_content'] ) ? $sidebar_args['after_widget_content'] : '</div>'; $query_arg = array( 'editwidget' => $widget['id'] ); if ( $add_new ) { $query_arg['addnew'] = 1; if ( $multi_number ) { $query_arg['num'] = $multi_number; $query_arg['base'] = $id_base; } } else { $query_arg['sidebar'] = $sidebar_id; $query_arg['key'] = $key; } /* * We aren't showing a widget control, we're outputting a template * for a multi-widget control. */ if ( isset( $sidebar_args['_display'] ) && 'template' === $sidebar_args['_display'] && $widget_number ) { // number == -1 implies a template where id numbers are replaced by a generic '__i__'. $control['params'][0]['number'] = -1; // With id_base widget ID's are constructed like {$id_base}-{$id_number}. if ( isset( $control['id_base'] ) ) { $id_format = $control['id_base'] . '-__i__'; } } $wp_registered_widgets[ $widget_id ]['callback'] = $wp_registered_widgets[ $widget_id ]['_callback']; unset( $wp_registered_widgets[ $widget_id ]['_callback'] ); $widget_title = esc_html( strip_tags( $sidebar_args['widget_name'] ) ); $has_form = 'noform'; echo $sidebar_args['before_widget']; ?> <div class="widget-top"> <div class="widget-title-action"> <button type="button" class="widget-action hide-if-no-js" aria-expanded="false"> <span class="screen-reader-text edit"> <?php /* translators: Hidden accessibility text. %s: Widget title. */ printf( __( 'Edit widget: %s' ), $widget_title ); ?> </span> <span class="screen-reader-text add"> <?php /* translators: Hidden accessibility text. %s: Widget title. */ printf( __( 'Add widget: %s' ), $widget_title ); ?> </span> <span class="toggle-indicator" aria-hidden="true"></span> </button> <a class="widget-control-edit hide-if-js" href="<?php echo esc_url( add_query_arg( $query_arg ) ); ?>"> <span class="edit"><?php _ex( 'Edit', 'widget' ); ?></span> <span class="add"><?php _ex( 'Add', 'widget' ); ?></span> <span class="screen-reader-text"><?php echo $widget_title; ?></span> </a> </div> <div class="widget-title"><h3><?php echo $widget_title; ?><span class="in-widget-title"></span></h3></div> </div> <div class="widget-inside"> <?php echo $before_form; ?> <?php echo $before_widget_content; ?> <?php if ( isset( $control['callback'] ) ) { $has_form = call_user_func_array( $control['callback'], $control['params'] ); } else { echo "\t\t<p>" . __( 'There are no options for this widget.' ) . "</p>\n"; } $noform_class = ''; if ( 'noform' === $has_form ) { $noform_class = ' widget-control-noform'; } ?> <?php echo $after_widget_content; ?> <input type="hidden" name="widget-id" class="widget-id" value="<?php echo esc_attr( $id_format ); ?>" /> <input type="hidden" name="id_base" class="id_base" value="<?php echo esc_attr( $id_base ); ?>" /> <input type="hidden" name="widget-width" class="widget-width" value="<?php echo esc_attr( $width ); ?>" /> <input type="hidden" name="widget-height" class="widget-height" value="<?php echo esc_attr( $height ); ?>" /> <input type="hidden" name="widget_number" class="widget_number" value="<?php echo esc_attr( $widget_number ); ?>" /> <input type="hidden" name="multi_number" class="multi_number" value="<?php echo esc_attr( $multi_number ); ?>" /> <input type="hidden" name="add_new" class="add_new" value="<?php echo esc_attr( $add_new ); ?>" /> <div class="widget-control-actions"> <div class="alignleft"> <button type="button" class="button-link button-link-delete widget-control-remove"><?php _e( 'Delete' ); ?></button> <span class="widget-control-close-wrapper"> | <button type="button" class="button-link widget-control-close"><?php _e( 'Done' ); ?></button> </span> </div> <div class="alignright<?php echo $noform_class; ?>"> <?php submit_button( __( 'Save' ), 'primary widget-control-save right', 'savewidget', false, array( 'id' => 'widget-' . esc_attr( $id_format ) . '-savewidget' ) ); ?> <span class="spinner"></span> </div> <br class="clear" /> </div> <?php echo $after_form; ?> </div> <div class="widget-description"> <?php $widget_description = wp_widget_description( $widget_id ); echo ( $widget_description ) ? "$widget_description\n" : "$widget_title\n"; ?> </div> <?php echo $sidebar_args['after_widget']; return $sidebar_args; } /** * @param string $classes * @return string */ function wp_widgets_access_body_class( $classes ) { return "$classes widgets_access "; } class-wp-filesystem-direct.php 0000644 00000043337 14735706075 0012470 0 ustar 00 <?php /** * WordPress Direct Filesystem. * * @package WordPress * @subpackage Filesystem */ /** * WordPress Filesystem Class for direct PHP file and folder manipulation. * * @since 2.5.0 * * @see WP_Filesystem_Base */ class WP_Filesystem_Direct extends WP_Filesystem_Base { /** * Constructor. * * @since 2.5.0 * * @param mixed $arg Not used. */ public function __construct( $arg ) { $this->method = 'direct'; $this->errors = new WP_Error(); } /** * Reads entire file into a string. * * @since 2.5.0 * * @param string $file Name of the file to read. * @return string|false Read data on success, false on failure. */ public function get_contents( $file ) { return @file_get_contents( $file ); } /** * Reads entire file into an array. * * @since 2.5.0 * * @param string $file Path to the file. * @return array|false File contents in an array on success, false on failure. */ public function get_contents_array( $file ) { return @file( $file ); } /** * Writes a string to a file. * * @since 2.5.0 * * @param string $file Remote path to the file where to write the data. * @param string $contents The data to write. * @param int|false $mode Optional. The file permissions as octal number, usually 0644. * Default false. * @return bool True on success, false on failure. */ public function put_contents( $file, $contents, $mode = false ) { $fp = @fopen( $file, 'wb' ); if ( ! $fp ) { return false; } mbstring_binary_safe_encoding(); $data_length = strlen( $contents ); $bytes_written = fwrite( $fp, $contents ); reset_mbstring_encoding(); fclose( $fp ); if ( $data_length !== $bytes_written ) { return false; } $this->chmod( $file, $mode ); return true; } /** * Gets the current working directory. * * @since 2.5.0 * * @return string|false The current working directory on success, false on failure. */ public function cwd() { return getcwd(); } /** * Changes current directory. * * @since 2.5.0 * * @param string $dir The new current directory. * @return bool True on success, false on failure. */ public function chdir( $dir ) { return @chdir( $dir ); } /** * Changes the file group. * * @since 2.5.0 * * @param string $file Path to the file. * @param string|int $group A group name or number. * @param bool $recursive Optional. If set to true, changes file group recursively. * Default false. * @return bool True on success, false on failure. */ public function chgrp( $file, $group, $recursive = false ) { if ( ! $this->exists( $file ) ) { return false; } if ( ! $recursive ) { return chgrp( $file, $group ); } if ( ! $this->is_dir( $file ) ) { return chgrp( $file, $group ); } // Is a directory, and we want recursive. $file = trailingslashit( $file ); $filelist = $this->dirlist( $file ); foreach ( $filelist as $filename ) { $this->chgrp( $file . $filename, $group, $recursive ); } return true; } /** * Changes filesystem permissions. * * @since 2.5.0 * * @param string $file Path to the file. * @param int|false $mode Optional. The permissions as octal number, usually 0644 for files, * 0755 for directories. Default false. * @param bool $recursive Optional. If set to true, changes file permissions recursively. * Default false. * @return bool True on success, false on failure. */ public function chmod( $file, $mode = false, $recursive = false ) { if ( ! $mode ) { if ( $this->is_file( $file ) ) { $mode = FS_CHMOD_FILE; } elseif ( $this->is_dir( $file ) ) { $mode = FS_CHMOD_DIR; } else { return false; } } if ( ! $recursive || ! $this->is_dir( $file ) ) { return chmod( $file, $mode ); } // Is a directory, and we want recursive. $file = trailingslashit( $file ); $filelist = $this->dirlist( $file ); foreach ( (array) $filelist as $filename => $filemeta ) { $this->chmod( $file . $filename, $mode, $recursive ); } return true; } /** * Changes the owner of a file or directory. * * @since 2.5.0 * * @param string $file Path to the file or directory. * @param string|int $owner A user name or number. * @param bool $recursive Optional. If set to true, changes file owner recursively. * Default false. * @return bool True on success, false on failure. */ public function chown( $file, $owner, $recursive = false ) { if ( ! $this->exists( $file ) ) { return false; } if ( ! $recursive ) { return chown( $file, $owner ); } if ( ! $this->is_dir( $file ) ) { return chown( $file, $owner ); } // Is a directory, and we want recursive. $filelist = $this->dirlist( $file ); foreach ( $filelist as $filename ) { $this->chown( $file . '/' . $filename, $owner, $recursive ); } return true; } /** * Gets the file owner. * * @since 2.5.0 * * @param string $file Path to the file. * @return string|false Username of the owner on success, false on failure. */ public function owner( $file ) { $owneruid = @fileowner( $file ); if ( ! $owneruid ) { return false; } if ( ! function_exists( 'posix_getpwuid' ) ) { return $owneruid; } $ownerarray = posix_getpwuid( $owneruid ); if ( ! $ownerarray ) { return false; } return $ownerarray['name']; } /** * Gets the permissions of the specified file or filepath in their octal format. * * FIXME does not handle errors in fileperms() * * @since 2.5.0 * * @param string $file Path to the file. * @return string Mode of the file (the last 3 digits). */ public function getchmod( $file ) { return substr( decoct( @fileperms( $file ) ), -3 ); } /** * Gets the file's group. * * @since 2.5.0 * * @param string $file Path to the file. * @return string|false The group on success, false on failure. */ public function group( $file ) { $gid = @filegroup( $file ); if ( ! $gid ) { return false; } if ( ! function_exists( 'posix_getgrgid' ) ) { return $gid; } $grouparray = posix_getgrgid( $gid ); if ( ! $grouparray ) { return false; } return $grouparray['name']; } /** * Copies a file. * * @since 2.5.0 * * @param string $source Path to the source file. * @param string $destination Path to the destination file. * @param bool $overwrite Optional. Whether to overwrite the destination file if it exists. * Default false. * @param int|false $mode Optional. The permissions as octal number, usually 0644 for files, * 0755 for dirs. Default false. * @return bool True on success, false on failure. */ public function copy( $source, $destination, $overwrite = false, $mode = false ) { if ( ! $overwrite && $this->exists( $destination ) ) { return false; } $rtval = copy( $source, $destination ); if ( $mode ) { $this->chmod( $destination, $mode ); } return $rtval; } /** * Moves a file or directory. * * After moving files or directories, OPcache will need to be invalidated. * * If moving a directory fails, `copy_dir()` can be used for a recursive copy. * * Use `move_dir()` for moving directories with OPcache invalidation and a * fallback to `copy_dir()`. * * @since 2.5.0 * * @param string $source Path to the source file. * @param string $destination Path to the destination file. * @param bool $overwrite Optional. Whether to overwrite the destination file if it exists. * Default false. * @return bool True on success, false on failure. */ public function move( $source, $destination, $overwrite = false ) { if ( ! $overwrite && $this->exists( $destination ) ) { return false; } if ( $overwrite && $this->exists( $destination ) && ! $this->delete( $destination, true ) ) { // Can't overwrite if the destination couldn't be deleted. return false; } // Try using rename first. if that fails (for example, source is read only) try copy. if ( @rename( $source, $destination ) ) { return true; } // Backward compatibility: Only fall back to `::copy()` for single files. if ( $this->is_file( $source ) && $this->copy( $source, $destination, $overwrite ) && $this->exists( $destination ) ) { $this->delete( $source ); return true; } else { return false; } } /** * Deletes a file or directory. * * @since 2.5.0 * * @param string $file Path to the file or directory. * @param bool $recursive Optional. If set to true, deletes files and folders recursively. * Default false. * @param string|false $type Type of resource. 'f' for file, 'd' for directory. * Default false. * @return bool True on success, false on failure. */ public function delete( $file, $recursive = false, $type = false ) { if ( empty( $file ) ) { // Some filesystems report this as /, which can cause non-expected recursive deletion of all files in the filesystem. return false; } $file = str_replace( '\\', '/', $file ); // For Win32, occasional problems deleting files otherwise. if ( 'f' === $type || $this->is_file( $file ) ) { return @unlink( $file ); } if ( ! $recursive && $this->is_dir( $file ) ) { return @rmdir( $file ); } // At this point it's a folder, and we're in recursive mode. $file = trailingslashit( $file ); $filelist = $this->dirlist( $file, true ); $retval = true; if ( is_array( $filelist ) ) { foreach ( $filelist as $filename => $fileinfo ) { if ( ! $this->delete( $file . $filename, $recursive, $fileinfo['type'] ) ) { $retval = false; } } } if ( file_exists( $file ) && ! @rmdir( $file ) ) { $retval = false; } return $retval; } /** * Checks if a file or directory exists. * * @since 2.5.0 * * @param string $path Path to file or directory. * @return bool Whether $path exists or not. */ public function exists( $path ) { return @file_exists( $path ); } /** * Checks if resource is a file. * * @since 2.5.0 * * @param string $file File path. * @return bool Whether $file is a file. */ public function is_file( $file ) { return @is_file( $file ); } /** * Checks if resource is a directory. * * @since 2.5.0 * * @param string $path Directory path. * @return bool Whether $path is a directory. */ public function is_dir( $path ) { return @is_dir( $path ); } /** * Checks if a file is readable. * * @since 2.5.0 * * @param string $file Path to file. * @return bool Whether $file is readable. */ public function is_readable( $file ) { return @is_readable( $file ); } /** * Checks if a file or directory is writable. * * @since 2.5.0 * * @param string $path Path to file or directory. * @return bool Whether $path is writable. */ public function is_writable( $path ) { return @is_writable( $path ); } /** * Gets the file's last access time. * * @since 2.5.0 * * @param string $file Path to file. * @return int|false Unix timestamp representing last access time, false on failure. */ public function atime( $file ) { return @fileatime( $file ); } /** * Gets the file modification time. * * @since 2.5.0 * * @param string $file Path to file. * @return int|false Unix timestamp representing modification time, false on failure. */ public function mtime( $file ) { return @filemtime( $file ); } /** * Gets the file size (in bytes). * * @since 2.5.0 * * @param string $file Path to file. * @return int|false Size of the file in bytes on success, false on failure. */ public function size( $file ) { return @filesize( $file ); } /** * Sets the access and modification times of a file. * * Note: If $file doesn't exist, it will be created. * * @since 2.5.0 * * @param string $file Path to file. * @param int $time Optional. Modified time to set for file. * Default 0. * @param int $atime Optional. Access time to set for file. * Default 0. * @return bool True on success, false on failure. */ public function touch( $file, $time = 0, $atime = 0 ) { if ( 0 === $time ) { $time = time(); } if ( 0 === $atime ) { $atime = time(); } return touch( $file, $time, $atime ); } /** * Creates a directory. * * @since 2.5.0 * * @param string $path Path for new directory. * @param int|false $chmod Optional. The permissions as octal number (or false to skip chmod). * Default false. * @param string|int|false $chown Optional. A user name or number (or false to skip chown). * Default false. * @param string|int|false $chgrp Optional. A group name or number (or false to skip chgrp). * Default false. * @return bool True on success, false on failure. */ public function mkdir( $path, $chmod = false, $chown = false, $chgrp = false ) { // Safe mode fails with a trailing slash under certain PHP versions. $path = untrailingslashit( $path ); if ( empty( $path ) ) { return false; } if ( ! $chmod ) { $chmod = FS_CHMOD_DIR; } if ( ! @mkdir( $path ) ) { return false; } $this->chmod( $path, $chmod ); if ( $chown ) { $this->chown( $path, $chown ); } if ( $chgrp ) { $this->chgrp( $path, $chgrp ); } return true; } /** * Deletes a directory. * * @since 2.5.0 * * @param string $path Path to directory. * @param bool $recursive Optional. Whether to recursively remove files/directories. * Default false. * @return bool True on success, false on failure. */ public function rmdir( $path, $recursive = false ) { return $this->delete( $path, $recursive ); } /** * Gets details for files in a directory or a specific file. * * @since 2.5.0 * * @param string $path Path to directory or file. * @param bool $include_hidden Optional. Whether to include details of hidden ("." prefixed) files. * Default true. * @param bool $recursive Optional. Whether to recursively include file details in nested directories. * Default false. * @return array|false { * Array of arrays containing file information. False if unable to list directory contents. * * @type array ...$0 { * Array of file information. Note that some elements may not be available on all filesystems. * * @type string $name Name of the file or directory. * @type string $perms *nix representation of permissions. * @type string $permsn Octal representation of permissions. * @type false $number File number. Always false in this context. * @type string|false $owner Owner name or ID, or false if not available. * @type string|false $group File permissions group, or false if not available. * @type int|string|false $size Size of file in bytes. May be a numeric string. * False if not available. * @type int|string|false $lastmodunix Last modified unix timestamp. May be a numeric string. * False if not available. * @type string|false $lastmod Last modified month (3 letters) and day (without leading 0), or * false if not available. * @type string|false $time Last modified time, or false if not available. * @type string $type Type of resource. 'f' for file, 'd' for directory, 'l' for link. * @type array|false $files If a directory and `$recursive` is true, contains another array of * files. False if unable to list directory contents. * } * } */ public function dirlist( $path, $include_hidden = true, $recursive = false ) { if ( $this->is_file( $path ) ) { $limit_file = basename( $path ); $path = dirname( $path ); } else { $limit_file = false; } if ( ! $this->is_dir( $path ) || ! $this->is_readable( $path ) ) { return false; } $dir = dir( $path ); if ( ! $dir ) { return false; } $path = trailingslashit( $path ); $ret = array(); while ( false !== ( $entry = $dir->read() ) ) { $struc = array(); $struc['name'] = $entry; if ( '.' === $struc['name'] || '..' === $struc['name'] ) { continue; } if ( ! $include_hidden && '.' === $struc['name'][0] ) { continue; } if ( $limit_file && $struc['name'] !== $limit_file ) { continue; } $struc['perms'] = $this->gethchmod( $path . $entry ); $struc['permsn'] = $this->getnumchmodfromh( $struc['perms'] ); $struc['number'] = false; $struc['owner'] = $this->owner( $path . $entry ); $struc['group'] = $this->group( $path . $entry ); $struc['size'] = $this->size( $path . $entry ); $struc['lastmodunix'] = $this->mtime( $path . $entry ); $struc['lastmod'] = gmdate( 'M j', $struc['lastmodunix'] ); $struc['time'] = gmdate( 'h:i:s', $struc['lastmodunix'] ); $struc['type'] = $this->is_dir( $path . $entry ) ? 'd' : 'f'; if ( 'd' === $struc['type'] ) { if ( $recursive ) { $struc['files'] = $this->dirlist( $path . $struc['name'], $include_hidden, $recursive ); } else { $struc['files'] = array(); } } $ret[ $struc['name'] ] = $struc; } $dir->close(); unset( $dir ); return $ret; } } class-wp-ms-users-list-table.php 0000644 00000035667 14735706075 0012657 0 ustar 00 <?php /** * List Table API: WP_MS_Users_List_Table class * * @package WordPress * @subpackage Administration * @since 3.1.0 */ /** * Core class used to implement displaying users in a list table for the network admin. * * @since 3.1.0 * * @see WP_List_Table */ class WP_MS_Users_List_Table extends WP_List_Table { /** * @return bool */ public function ajax_user_can() { return current_user_can( 'manage_network_users' ); } /** * @global string $mode List table view mode. * @global string $usersearch * @global string $role */ public function prepare_items() { global $mode, $usersearch, $role; if ( ! empty( $_REQUEST['mode'] ) ) { $mode = 'excerpt' === $_REQUEST['mode'] ? 'excerpt' : 'list'; set_user_setting( 'network_users_list_mode', $mode ); } else { $mode = get_user_setting( 'network_users_list_mode', 'list' ); } $usersearch = isset( $_REQUEST['s'] ) ? wp_unslash( trim( $_REQUEST['s'] ) ) : ''; $users_per_page = $this->get_items_per_page( 'users_network_per_page' ); $role = isset( $_REQUEST['role'] ) ? $_REQUEST['role'] : ''; $paged = $this->get_pagenum(); $args = array( 'number' => $users_per_page, 'offset' => ( $paged - 1 ) * $users_per_page, 'search' => $usersearch, 'blog_id' => 0, 'fields' => 'all_with_meta', ); if ( wp_is_large_network( 'users' ) ) { $args['search'] = ltrim( $args['search'], '*' ); } elseif ( '' !== $args['search'] ) { $args['search'] = trim( $args['search'], '*' ); $args['search'] = '*' . $args['search'] . '*'; } if ( 'super' === $role ) { $args['login__in'] = get_super_admins(); } /* * If the network is large and a search is not being performed, * show only the latest users with no paging in order to avoid * expensive count queries. */ if ( ! $usersearch && wp_is_large_network( 'users' ) ) { if ( ! isset( $_REQUEST['orderby'] ) ) { $_GET['orderby'] = 'id'; $_REQUEST['orderby'] = 'id'; } if ( ! isset( $_REQUEST['order'] ) ) { $_GET['order'] = 'DESC'; $_REQUEST['order'] = 'DESC'; } $args['count_total'] = false; } if ( isset( $_REQUEST['orderby'] ) ) { $args['orderby'] = $_REQUEST['orderby']; } if ( isset( $_REQUEST['order'] ) ) { $args['order'] = $_REQUEST['order']; } /** This filter is documented in wp-admin/includes/class-wp-users-list-table.php */ $args = apply_filters( 'users_list_table_query_args', $args ); // Query the user IDs for this page. $wp_user_search = new WP_User_Query( $args ); $this->items = $wp_user_search->get_results(); $this->set_pagination_args( array( 'total_items' => $wp_user_search->get_total(), 'per_page' => $users_per_page, ) ); } /** * @return array */ protected function get_bulk_actions() { $actions = array(); if ( current_user_can( 'delete_users' ) ) { $actions['delete'] = __( 'Delete' ); } $actions['spam'] = _x( 'Mark as spam', 'user' ); $actions['notspam'] = _x( 'Not spam', 'user' ); return $actions; } /** */ public function no_items() { _e( 'No users found.' ); } /** * @global string $role * @return array */ protected function get_views() { global $role; $total_users = get_user_count(); $super_admins = get_super_admins(); $total_admins = count( $super_admins ); $role_links = array(); $role_links['all'] = array( 'url' => network_admin_url( 'users.php' ), 'label' => sprintf( /* translators: Number of users. */ _nx( 'All <span class="count">(%s)</span>', 'All <span class="count">(%s)</span>', $total_users, 'users' ), number_format_i18n( $total_users ) ), 'current' => 'super' !== $role, ); $role_links['super'] = array( 'url' => network_admin_url( 'users.php?role=super' ), 'label' => sprintf( /* translators: Number of users. */ _n( 'Super Admin <span class="count">(%s)</span>', 'Super Admins <span class="count">(%s)</span>', $total_admins ), number_format_i18n( $total_admins ) ), 'current' => 'super' === $role, ); return $this->get_views_links( $role_links ); } /** * @global string $mode List table view mode. * * @param string $which */ protected function pagination( $which ) { global $mode; parent::pagination( $which ); if ( 'top' === $which ) { $this->view_switcher( $mode ); } } /** * @return string[] Array of column titles keyed by their column name. */ public function get_columns() { $users_columns = array( 'cb' => '<input type="checkbox" />', 'username' => __( 'Username' ), 'name' => __( 'Name' ), 'email' => __( 'Email' ), 'registered' => _x( 'Registered', 'user' ), 'blogs' => __( 'Sites' ), ); /** * Filters the columns displayed in the Network Admin Users list table. * * @since MU (3.0.0) * * @param string[] $users_columns An array of user columns. Default 'cb', 'username', * 'name', 'email', 'registered', 'blogs'. */ return apply_filters( 'wpmu_users_columns', $users_columns ); } /** * @return array */ protected function get_sortable_columns() { return array( 'username' => array( 'login', false, __( 'Username' ), __( 'Table ordered by Username.' ), 'asc' ), 'name' => array( 'name', false, __( 'Name' ), __( 'Table ordered by Name.' ) ), 'email' => array( 'email', false, __( 'E-mail' ), __( 'Table ordered by E-mail.' ) ), 'registered' => array( 'id', false, _x( 'Registered', 'user' ), __( 'Table ordered by User Registered Date.' ) ), ); } /** * Handles the checkbox column output. * * @since 4.3.0 * @since 5.9.0 Renamed `$user` to `$item` to match parent class for PHP 8 named parameter support. * * @param WP_User $item The current WP_User object. */ public function column_cb( $item ) { // Restores the more descriptive, specific name for use within this method. $user = $item; if ( is_super_admin( $user->ID ) ) { return; } ?> <input type="checkbox" id="blog_<?php echo $user->ID; ?>" name="allusers[]" value="<?php echo esc_attr( $user->ID ); ?>" /> <label for="blog_<?php echo $user->ID; ?>"> <span class="screen-reader-text"> <?php /* translators: Hidden accessibility text. %s: User login. */ printf( __( 'Select %s' ), $user->user_login ); ?> </span> </label> <?php } /** * Handles the ID column output. * * @since 4.4.0 * * @param WP_User $user The current WP_User object. */ public function column_id( $user ) { echo $user->ID; } /** * Handles the username column output. * * @since 4.3.0 * * @param WP_User $user The current WP_User object. */ public function column_username( $user ) { $super_admins = get_super_admins(); $avatar = get_avatar( $user->user_email, 32 ); echo $avatar; if ( current_user_can( 'edit_user', $user->ID ) ) { $edit_link = esc_url( add_query_arg( 'wp_http_referer', urlencode( wp_unslash( $_SERVER['REQUEST_URI'] ) ), get_edit_user_link( $user->ID ) ) ); $edit = "<a href=\"{$edit_link}\">{$user->user_login}</a>"; } else { $edit = $user->user_login; } ?> <strong> <?php echo $edit; if ( in_array( $user->user_login, $super_admins, true ) ) { echo ' — ' . __( 'Super Admin' ); } ?> </strong> <?php } /** * Handles the name column output. * * @since 4.3.0 * * @param WP_User $user The current WP_User object. */ public function column_name( $user ) { if ( $user->first_name && $user->last_name ) { printf( /* translators: 1: User's first name, 2: Last name. */ _x( '%1$s %2$s', 'Display name based on first name and last name' ), $user->first_name, $user->last_name ); } elseif ( $user->first_name ) { echo $user->first_name; } elseif ( $user->last_name ) { echo $user->last_name; } else { echo '<span aria-hidden="true">—</span><span class="screen-reader-text">' . /* translators: Hidden accessibility text. */ _x( 'Unknown', 'name' ) . '</span>'; } } /** * Handles the email column output. * * @since 4.3.0 * * @param WP_User $user The current WP_User object. */ public function column_email( $user ) { echo "<a href='" . esc_url( "mailto:$user->user_email" ) . "'>$user->user_email</a>"; } /** * Handles the registered date column output. * * @since 4.3.0 * * @global string $mode List table view mode. * * @param WP_User $user The current WP_User object. */ public function column_registered( $user ) { global $mode; if ( 'list' === $mode ) { $date = __( 'Y/m/d' ); } else { $date = __( 'Y/m/d g:i:s a' ); } echo mysql2date( $date, $user->user_registered ); } /** * @since 4.3.0 * * @param WP_User $user * @param string $classes * @param string $data * @param string $primary */ protected function _column_blogs( $user, $classes, $data, $primary ) { echo '<td class="', $classes, ' has-row-actions" ', $data, '>'; echo $this->column_blogs( $user ); echo $this->handle_row_actions( $user, 'blogs', $primary ); echo '</td>'; } /** * Handles the sites column output. * * @since 4.3.0 * * @param WP_User $user The current WP_User object. */ public function column_blogs( $user ) { $blogs = get_blogs_of_user( $user->ID, true ); if ( ! is_array( $blogs ) ) { return; } foreach ( $blogs as $site ) { if ( ! can_edit_network( $site->site_id ) ) { continue; } $path = ( '/' === $site->path ) ? '' : $site->path; $site_classes = array( 'site-' . $site->site_id ); /** * Filters the span class for a site listing on the multisite user list table. * * @since 5.2.0 * * @param string[] $site_classes Array of class names used within the span tag. * Default "site-#" with the site's network ID. * @param int $site_id Site ID. * @param int $network_id Network ID. * @param WP_User $user WP_User object. */ $site_classes = apply_filters( 'ms_user_list_site_class', $site_classes, $site->userblog_id, $site->site_id, $user ); if ( is_array( $site_classes ) && ! empty( $site_classes ) ) { $site_classes = array_map( 'sanitize_html_class', array_unique( $site_classes ) ); echo '<span class="' . esc_attr( implode( ' ', $site_classes ) ) . '">'; } else { echo '<span>'; } echo '<a href="' . esc_url( network_admin_url( 'site-info.php?id=' . $site->userblog_id ) ) . '">' . str_replace( '.' . get_network()->domain, '', $site->domain . $path ) . '</a>'; echo ' <small class="row-actions">'; $actions = array(); $actions['edit'] = '<a href="' . esc_url( network_admin_url( 'site-info.php?id=' . $site->userblog_id ) ) . '">' . __( 'Edit' ) . '</a>'; $class = ''; if ( 1 === (int) $site->spam ) { $class .= 'site-spammed '; } if ( 1 === (int) $site->mature ) { $class .= 'site-mature '; } if ( 1 === (int) $site->deleted ) { $class .= 'site-deleted '; } if ( 1 === (int) $site->archived ) { $class .= 'site-archived '; } $actions['view'] = '<a class="' . $class . '" href="' . esc_url( get_home_url( $site->userblog_id ) ) . '">' . __( 'View' ) . '</a>'; /** * Filters the action links displayed next the sites a user belongs to * in the Network Admin Users list table. * * @since 3.1.0 * * @param string[] $actions An array of action links to be displayed. Default 'Edit', 'View'. * @param int $userblog_id The site ID. */ $actions = apply_filters( 'ms_user_list_site_actions', $actions, $site->userblog_id ); $action_count = count( $actions ); $i = 0; foreach ( $actions as $action => $link ) { ++$i; $separator = ( $i < $action_count ) ? ' | ' : ''; echo "<span class='$action'>{$link}{$separator}</span>"; } echo '</small></span><br />'; } } /** * Handles the default column output. * * @since 4.3.0 * @since 5.9.0 Renamed `$user` to `$item` to match parent class for PHP 8 named parameter support. * * @param WP_User $item The current WP_User object. * @param string $column_name The current column name. */ public function column_default( $item, $column_name ) { // Restores the more descriptive, specific name for use within this method. $user = $item; /** This filter is documented in wp-admin/includes/class-wp-users-list-table.php */ echo apply_filters( 'manage_users_custom_column', '', $column_name, $user->ID ); } /** * Generates the list table rows. * * @since 3.1.0 */ public function display_rows() { foreach ( $this->items as $user ) { $class = ''; $status_list = array( 'spam' => 'site-spammed', 'deleted' => 'site-deleted', ); foreach ( $status_list as $status => $col ) { if ( $user->$status ) { $class .= " $col"; } } ?> <tr class="<?php echo trim( $class ); ?>"> <?php $this->single_row_columns( $user ); ?> </tr> <?php } } /** * Gets the name of the default primary column. * * @since 4.3.0 * * @return string Name of the default primary column, in this case, 'username'. */ protected function get_default_primary_column_name() { return 'username'; } /** * Generates and displays row action links. * * @since 4.3.0 * @since 5.9.0 Renamed `$user` to `$item` to match parent class for PHP 8 named parameter support. * * @param WP_User $item User being acted upon. * @param string $column_name Current column name. * @param string $primary Primary column name. * @return string Row actions output for users in Multisite, or an empty string * if the current column is not the primary column. */ protected function handle_row_actions( $item, $column_name, $primary ) { if ( $primary !== $column_name ) { return ''; } // Restores the more descriptive, specific name for use within this method. $user = $item; $super_admins = get_super_admins(); $actions = array(); if ( current_user_can( 'edit_user', $user->ID ) ) { $edit_link = esc_url( add_query_arg( 'wp_http_referer', urlencode( wp_unslash( $_SERVER['REQUEST_URI'] ) ), get_edit_user_link( $user->ID ) ) ); $actions['edit'] = '<a href="' . $edit_link . '">' . __( 'Edit' ) . '</a>'; } if ( current_user_can( 'delete_user', $user->ID ) && ! in_array( $user->user_login, $super_admins, true ) ) { $actions['delete'] = '<a href="' . esc_url( network_admin_url( add_query_arg( '_wp_http_referer', urlencode( wp_unslash( $_SERVER['REQUEST_URI'] ) ), wp_nonce_url( 'users.php', 'deleteuser' ) . '&action=deleteuser&id=' . $user->ID ) ) ) . '" class="delete">' . __( 'Delete' ) . '</a>'; } /** * Filters the action links displayed under each user in the Network Admin Users list table. * * @since 3.2.0 * * @param string[] $actions An array of action links to be displayed. Default 'Edit', 'Delete'. * @param WP_User $user WP_User object. */ $actions = apply_filters( 'ms_user_row_actions', $actions, $user ); return $this->row_actions( $actions ); } } taxonomy.php 0000644 00000020350 14735706075 0007151 0 ustar 00 <?php /** * WordPress Taxonomy Administration API. * * @package WordPress * @subpackage Administration */ // // Category. // /** * Checks whether a category exists. * * @since 2.0.0 * * @see term_exists() * * @param int|string $cat_name Category name. * @param int $category_parent Optional. ID of parent category. * @return string|null Returns the category ID as a numeric string if the pairing exists, null if not. */ function category_exists( $cat_name, $category_parent = null ) { $id = term_exists( $cat_name, 'category', $category_parent ); if ( is_array( $id ) ) { $id = $id['term_id']; } return $id; } /** * Gets category object for given ID and 'edit' filter context. * * @since 2.0.0 * * @param int $id * @return object */ function get_category_to_edit( $id ) { $category = get_term( $id, 'category', OBJECT, 'edit' ); _make_cat_compat( $category ); return $category; } /** * Adds a new category to the database if it does not already exist. * * @since 2.0.0 * * @param int|string $cat_name Category name. * @param int $category_parent Optional. ID of parent category. * @return int|WP_Error */ function wp_create_category( $cat_name, $category_parent = 0 ) { $id = category_exists( $cat_name, $category_parent ); if ( $id ) { return $id; } return wp_insert_category( array( 'cat_name' => $cat_name, 'category_parent' => $category_parent, ) ); } /** * Creates categories for the given post. * * @since 2.0.0 * * @param string[] $categories Array of category names to create. * @param int $post_id Optional. The post ID. Default empty. * @return int[] Array of IDs of categories assigned to the given post. */ function wp_create_categories( $categories, $post_id = '' ) { $cat_ids = array(); foreach ( $categories as $category ) { $id = category_exists( $category ); if ( $id ) { $cat_ids[] = $id; } else { $id = wp_create_category( $category ); if ( $id ) { $cat_ids[] = $id; } } } if ( $post_id ) { wp_set_post_categories( $post_id, $cat_ids ); } return $cat_ids; } /** * Updates an existing Category or creates a new Category. * * @since 2.0.0 * @since 2.5.0 $wp_error parameter was added. * @since 3.0.0 The 'taxonomy' argument was added. * * @param array $catarr { * Array of arguments for inserting a new category. * * @type int $cat_ID Category ID. A non-zero value updates an existing category. * Default 0. * @type string $taxonomy Taxonomy slug. Default 'category'. * @type string $cat_name Category name. Default empty. * @type string $category_description Category description. Default empty. * @type string $category_nicename Category nice (display) name. Default empty. * @type int|string $category_parent Category parent ID. Default empty. * } * @param bool $wp_error Optional. Default false. * @return int|WP_Error The ID number of the new or updated Category on success. Zero or a WP_Error on failure, * depending on param `$wp_error`. */ function wp_insert_category( $catarr, $wp_error = false ) { $cat_defaults = array( 'cat_ID' => 0, 'taxonomy' => 'category', 'cat_name' => '', 'category_description' => '', 'category_nicename' => '', 'category_parent' => '', ); $catarr = wp_parse_args( $catarr, $cat_defaults ); if ( '' === trim( $catarr['cat_name'] ) ) { if ( ! $wp_error ) { return 0; } else { return new WP_Error( 'cat_name', __( 'You did not enter a category name.' ) ); } } $catarr['cat_ID'] = (int) $catarr['cat_ID']; // Are we updating or creating? $update = ! empty( $catarr['cat_ID'] ); $name = $catarr['cat_name']; $description = $catarr['category_description']; $slug = $catarr['category_nicename']; $parent = (int) $catarr['category_parent']; if ( $parent < 0 ) { $parent = 0; } if ( empty( $parent ) || ! term_exists( $parent, $catarr['taxonomy'] ) || ( $catarr['cat_ID'] && term_is_ancestor_of( $catarr['cat_ID'], $parent, $catarr['taxonomy'] ) ) ) { $parent = 0; } $args = compact( 'name', 'slug', 'parent', 'description' ); if ( $update ) { $catarr['cat_ID'] = wp_update_term( $catarr['cat_ID'], $catarr['taxonomy'], $args ); } else { $catarr['cat_ID'] = wp_insert_term( $catarr['cat_name'], $catarr['taxonomy'], $args ); } if ( is_wp_error( $catarr['cat_ID'] ) ) { if ( $wp_error ) { return $catarr['cat_ID']; } else { return 0; } } return $catarr['cat_ID']['term_id']; } /** * Aliases wp_insert_category() with minimal args. * * If you want to update only some fields of an existing category, call this * function with only the new values set inside $catarr. * * @since 2.0.0 * * @param array $catarr The 'cat_ID' value is required. All other keys are optional. * @return int|false The ID number of the new or updated Category on success. Zero or FALSE on failure. */ function wp_update_category( $catarr ) { $cat_id = (int) $catarr['cat_ID']; if ( isset( $catarr['category_parent'] ) && ( $cat_id === (int) $catarr['category_parent'] ) ) { return false; } // First, get all of the original fields. $category = get_term( $cat_id, 'category', ARRAY_A ); _make_cat_compat( $category ); // Escape data pulled from DB. $category = wp_slash( $category ); // Merge old and new fields with new fields overwriting old ones. $catarr = array_merge( $category, $catarr ); return wp_insert_category( $catarr ); } // // Tags. // /** * Checks whether a post tag with a given name exists. * * @since 2.3.0 * * @param int|string $tag_name * @return mixed Returns null if the term does not exist. * Returns an array of the term ID and the term taxonomy ID if the pairing exists. * Returns 0 if term ID 0 is passed to the function. */ function tag_exists( $tag_name ) { return term_exists( $tag_name, 'post_tag' ); } /** * Adds a new tag to the database if it does not already exist. * * @since 2.3.0 * * @param int|string $tag_name * @return array|WP_Error */ function wp_create_tag( $tag_name ) { return wp_create_term( $tag_name, 'post_tag' ); } /** * Gets comma-separated list of tags available to edit. * * @since 2.3.0 * * @param int $post_id * @param string $taxonomy Optional. The taxonomy for which to retrieve terms. Default 'post_tag'. * @return string|false|WP_Error */ function get_tags_to_edit( $post_id, $taxonomy = 'post_tag' ) { return get_terms_to_edit( $post_id, $taxonomy ); } /** * Gets comma-separated list of terms available to edit for the given post ID. * * @since 2.8.0 * * @param int $post_id * @param string $taxonomy Optional. The taxonomy for which to retrieve terms. Default 'post_tag'. * @return string|false|WP_Error */ function get_terms_to_edit( $post_id, $taxonomy = 'post_tag' ) { $post_id = (int) $post_id; if ( ! $post_id ) { return false; } $terms = get_object_term_cache( $post_id, $taxonomy ); if ( false === $terms ) { $terms = wp_get_object_terms( $post_id, $taxonomy ); wp_cache_add( $post_id, wp_list_pluck( $terms, 'term_id' ), $taxonomy . '_relationships' ); } if ( ! $terms ) { return false; } if ( is_wp_error( $terms ) ) { return $terms; } $term_names = array(); foreach ( $terms as $term ) { $term_names[] = $term->name; } $terms_to_edit = esc_attr( implode( ',', $term_names ) ); /** * Filters the comma-separated list of terms available to edit. * * @since 2.8.0 * * @see get_terms_to_edit() * * @param string $terms_to_edit A comma-separated list of term names. * @param string $taxonomy The taxonomy name for which to retrieve terms. */ $terms_to_edit = apply_filters( 'terms_to_edit', $terms_to_edit, $taxonomy ); return $terms_to_edit; } /** * Adds a new term to the database if it does not already exist. * * @since 2.8.0 * * @param string $tag_name The term name. * @param string $taxonomy Optional. The taxonomy within which to create the term. Default 'post_tag'. * @return array|WP_Error */ function wp_create_term( $tag_name, $taxonomy = 'post_tag' ) { $id = term_exists( $tag_name, $taxonomy ); if ( $id ) { return $id; } return wp_insert_term( $tag_name, $taxonomy ); } class-wp-application-passwords-list-table.php 0000644 00000015445 14735706075 0015417 0 ustar 00 <?php /** * List Table API: WP_Application_Passwords_List_Table class * * @package WordPress * @subpackage Administration * @since 5.6.0 */ /** * Class for displaying the list of application password items. * * @since 5.6.0 * * @see WP_List_Table */ class WP_Application_Passwords_List_Table extends WP_List_Table { /** * Gets the list of columns. * * @since 5.6.0 * * @return string[] Array of column titles keyed by their column name. */ public function get_columns() { return array( 'name' => __( 'Name' ), 'created' => __( 'Created' ), 'last_used' => __( 'Last Used' ), 'last_ip' => __( 'Last IP' ), 'revoke' => __( 'Revoke' ), ); } /** * Prepares the list of items for displaying. * * @since 5.6.0 * * @global int $user_id User ID. */ public function prepare_items() { global $user_id; $this->items = array_reverse( WP_Application_Passwords::get_user_application_passwords( $user_id ) ); } /** * Handles the name column output. * * @since 5.6.0 * * @param array $item The current application password item. */ public function column_name( $item ) { echo esc_html( $item['name'] ); } /** * Handles the created column output. * * @since 5.6.0 * * @param array $item The current application password item. */ public function column_created( $item ) { if ( empty( $item['created'] ) ) { echo '—'; } else { echo date_i18n( __( 'F j, Y' ), $item['created'] ); } } /** * Handles the last used column output. * * @since 5.6.0 * * @param array $item The current application password item. */ public function column_last_used( $item ) { if ( empty( $item['last_used'] ) ) { echo '—'; } else { echo date_i18n( __( 'F j, Y' ), $item['last_used'] ); } } /** * Handles the last ip column output. * * @since 5.6.0 * * @param array $item The current application password item. */ public function column_last_ip( $item ) { if ( empty( $item['last_ip'] ) ) { echo '—'; } else { echo $item['last_ip']; } } /** * Handles the revoke column output. * * @since 5.6.0 * * @param array $item The current application password item. */ public function column_revoke( $item ) { $name = 'revoke-application-password-' . $item['uuid']; printf( '<button type="button" name="%1$s" id="%1$s" class="button delete" aria-label="%2$s">%3$s</button>', esc_attr( $name ), /* translators: %s: the application password's given name. */ esc_attr( sprintf( __( 'Revoke "%s"' ), $item['name'] ) ), __( 'Revoke' ) ); } /** * Generates content for a single row of the table * * @since 5.6.0 * * @param array $item The current item. * @param string $column_name The current column name. */ protected function column_default( $item, $column_name ) { /** * Fires for each custom column in the Application Passwords list table. * * Custom columns are registered using the {@see 'manage_application-passwords-user_columns'} filter. * * @since 5.6.0 * * @param string $column_name Name of the custom column. * @param array $item The application password item. */ do_action( "manage_{$this->screen->id}_custom_column", $column_name, $item ); } /** * Generates custom table navigation to prevent conflicting nonces. * * @since 5.6.0 * * @param string $which The location of the bulk actions: Either 'top' or 'bottom'. */ protected function display_tablenav( $which ) { ?> <div class="tablenav <?php echo esc_attr( $which ); ?>"> <?php if ( 'bottom' === $which ) : ?> <div class="alignright"> <button type="button" name="revoke-all-application-passwords" id="revoke-all-application-passwords" class="button delete"><?php _e( 'Revoke all application passwords' ); ?></button> </div> <?php endif; ?> <div class="alignleft actions bulkactions"> <?php $this->bulk_actions( $which ); ?> </div> <?php $this->extra_tablenav( $which ); $this->pagination( $which ); ?> <br class="clear" /> </div> <?php } /** * Generates content for a single row of the table. * * @since 5.6.0 * * @param array $item The current item. */ public function single_row( $item ) { echo '<tr data-uuid="' . esc_attr( $item['uuid'] ) . '">'; $this->single_row_columns( $item ); echo '</tr>'; } /** * Gets the name of the default primary column. * * @since 5.6.0 * * @return string Name of the default primary column, in this case, 'name'. */ protected function get_default_primary_column_name() { return 'name'; } /** * Prints the JavaScript template for the new row item. * * @since 5.6.0 */ public function print_js_template_row() { list( $columns, $hidden, , $primary ) = $this->get_column_info(); echo '<tr data-uuid="{{ data.uuid }}">'; foreach ( $columns as $column_name => $display_name ) { $is_primary = $primary === $column_name; $classes = "{$column_name} column-{$column_name}"; if ( $is_primary ) { $classes .= ' has-row-actions column-primary'; } if ( in_array( $column_name, $hidden, true ) ) { $classes .= ' hidden'; } printf( '<td class="%s" data-colname="%s">', esc_attr( $classes ), esc_attr( wp_strip_all_tags( $display_name ) ) ); switch ( $column_name ) { case 'name': echo '{{ data.name }}'; break; case 'created': // JSON encoding automatically doubles backslashes to ensure they don't get lost when printing the inline JS. echo '<# print( wp.date.dateI18n( ' . wp_json_encode( __( 'F j, Y' ) ) . ', data.created ) ) #>'; break; case 'last_used': echo '<# print( data.last_used !== null ? wp.date.dateI18n( ' . wp_json_encode( __( 'F j, Y' ) ) . ", data.last_used ) : '—' ) #>"; break; case 'last_ip': echo "{{ data.last_ip || '—' }}"; break; case 'revoke': printf( '<button type="button" class="button delete" aria-label="%1$s">%2$s</button>', /* translators: %s: the application password's given name. */ esc_attr( sprintf( __( 'Revoke "%s"' ), '{{ data.name }}' ) ), esc_html__( 'Revoke' ) ); break; default: /** * Fires in the JavaScript row template for each custom column in the Application Passwords list table. * * Custom columns are registered using the {@see 'manage_application-passwords-user_columns'} filter. * * @since 5.6.0 * * @param string $column_name Name of the custom column. */ do_action( "manage_{$this->screen->id}_custom_column_js_template", $column_name ); break; } if ( $is_primary ) { echo '<button type="button" class="toggle-row"><span class="screen-reader-text">' . /* translators: Hidden accessibility text. */ __( 'Show more details' ) . '</span></button>'; } echo '</td>'; } echo '</tr>'; } } class-wp-internal-pointers.php 0000644 00000010741 14735706075 0012502 0 ustar 00 <?php /** * Administration API: WP_Internal_Pointers class * * @package WordPress * @subpackage Administration * @since 4.4.0 */ /** * Core class used to implement an internal admin pointers API. * * @since 3.3.0 */ #[AllowDynamicProperties] final class WP_Internal_Pointers { /** * Initializes the new feature pointers. * * @since 3.3.0 * * All pointers can be disabled using the following: * remove_action( 'admin_enqueue_scripts', array( 'WP_Internal_Pointers', 'enqueue_scripts' ) ); * * Individual pointers (e.g. wp390_widgets) can be disabled using the following: * * function yourprefix_remove_pointers() { * remove_action( * 'admin_print_footer_scripts', * array( 'WP_Internal_Pointers', 'pointer_wp390_widgets' ) * ); * } * add_action( 'admin_enqueue_scripts', 'yourprefix_remove_pointers', 11 ); * * @param string $hook_suffix The current admin page. */ public static function enqueue_scripts( $hook_suffix ) { /* * Register feature pointers * * Format: * array( * hook_suffix => pointer callback * ) * * Example: * array( * 'themes.php' => 'wp390_widgets' * ) */ $registered_pointers = array( // None currently. ); // Check if screen related pointer is registered. if ( empty( $registered_pointers[ $hook_suffix ] ) ) { return; } $pointers = (array) $registered_pointers[ $hook_suffix ]; /* * Specify required capabilities for feature pointers * * Format: * array( * pointer callback => Array of required capabilities * ) * * Example: * array( * 'wp390_widgets' => array( 'edit_theme_options' ) * ) */ $caps_required = array( // None currently. ); // Get dismissed pointers. $dismissed = explode( ',', (string) get_user_meta( get_current_user_id(), 'dismissed_wp_pointers', true ) ); $got_pointers = false; foreach ( array_diff( $pointers, $dismissed ) as $pointer ) { if ( isset( $caps_required[ $pointer ] ) ) { foreach ( $caps_required[ $pointer ] as $cap ) { if ( ! current_user_can( $cap ) ) { continue 2; } } } // Bind pointer print function. add_action( 'admin_print_footer_scripts', array( 'WP_Internal_Pointers', 'pointer_' . $pointer ) ); $got_pointers = true; } if ( ! $got_pointers ) { return; } // Add pointers script and style to queue. wp_enqueue_style( 'wp-pointer' ); wp_enqueue_script( 'wp-pointer' ); } /** * Prints the pointer JavaScript data. * * @since 3.3.0 * * @param string $pointer_id The pointer ID. * @param string $selector The HTML elements, on which the pointer should be attached. * @param array $args Arguments to be passed to the pointer JS (see wp-pointer.js). */ private static function print_js( $pointer_id, $selector, $args ) { if ( empty( $pointer_id ) || empty( $selector ) || empty( $args ) || empty( $args['content'] ) ) { return; } ?> <script type="text/javascript"> (function($){ var options = <?php echo wp_json_encode( $args ); ?>, setup; if ( ! options ) return; options = $.extend( options, { close: function() { $.post( ajaxurl, { pointer: '<?php echo $pointer_id; ?>', action: 'dismiss-wp-pointer' }); } }); setup = function() { $('<?php echo $selector; ?>').first().pointer( options ).pointer('open'); }; if ( options.position && options.position.defer_loading ) $(window).bind( 'load.wp-pointers', setup ); else $( function() { setup(); } ); })( jQuery ); </script> <?php } public static function pointer_wp330_toolbar() {} public static function pointer_wp330_media_uploader() {} public static function pointer_wp330_saving_widgets() {} public static function pointer_wp340_customize_current_theme_link() {} public static function pointer_wp340_choose_image_from_library() {} public static function pointer_wp350_media() {} public static function pointer_wp360_revisions() {} public static function pointer_wp360_locks() {} public static function pointer_wp390_widgets() {} public static function pointer_wp410_dfw() {} public static function pointer_wp496_privacy() {} /** * Prevents new users from seeing existing 'new feature' pointers. * * @since 3.3.0 * * @param int $user_id User ID. */ public static function dismiss_pointers_for_new_users( $user_id ) { add_user_meta( $user_id, 'dismissed_wp_pointers', '' ); } } admin-filters.php 0000644 00000017622 14735706075 0010041 0 ustar 00 <?php /** * Administration API: Default admin hooks * * @package WordPress * @subpackage Administration * @since 4.3.0 */ // Bookmark hooks. add_action( 'admin_page_access_denied', 'wp_link_manager_disabled_message' ); // Dashboard hooks. add_action( 'activity_box_end', 'wp_dashboard_quota' ); add_action( 'welcome_panel', 'wp_welcome_panel' ); // Media hooks. add_action( 'attachment_submitbox_misc_actions', 'attachment_submitbox_metadata' ); add_filter( 'plupload_init', 'wp_show_heic_upload_error' ); add_action( 'media_upload_image', 'wp_media_upload_handler' ); add_action( 'media_upload_audio', 'wp_media_upload_handler' ); add_action( 'media_upload_video', 'wp_media_upload_handler' ); add_action( 'media_upload_file', 'wp_media_upload_handler' ); add_action( 'post-plupload-upload-ui', 'media_upload_flash_bypass' ); add_action( 'post-html-upload-ui', 'media_upload_html_bypass' ); add_filter( 'async_upload_image', 'get_media_item', 10, 2 ); add_filter( 'async_upload_audio', 'get_media_item', 10, 2 ); add_filter( 'async_upload_video', 'get_media_item', 10, 2 ); add_filter( 'async_upload_file', 'get_media_item', 10, 2 ); add_filter( 'media_upload_gallery', 'media_upload_gallery' ); add_filter( 'media_upload_library', 'media_upload_library' ); add_filter( 'media_upload_tabs', 'update_gallery_tab' ); // Admin color schemes. add_action( 'admin_init', 'register_admin_color_schemes', 1 ); add_action( 'admin_head', 'wp_color_scheme_settings' ); add_action( 'admin_color_scheme_picker', 'admin_color_scheme_picker' ); // Misc hooks. add_action( 'admin_init', 'wp_admin_headers' ); add_action( 'login_init', 'wp_admin_headers' ); add_action( 'admin_init', 'send_frame_options_header', 10, 0 ); add_action( 'admin_head', 'wp_admin_canonical_url' ); add_action( 'admin_head', 'wp_site_icon' ); add_action( 'admin_head', 'wp_admin_viewport_meta' ); add_action( 'customize_controls_head', 'wp_admin_viewport_meta' ); add_filter( 'nav_menu_meta_box_object', '_wp_nav_menu_meta_box_object' ); // Prerendering. if ( ! is_customize_preview() ) { add_filter( 'admin_print_styles', 'wp_resource_hints', 1 ); } add_action( 'admin_print_scripts', 'print_emoji_detection_script' ); add_action( 'admin_print_scripts', 'print_head_scripts', 20 ); add_action( 'admin_print_footer_scripts', '_wp_footer_scripts' ); add_action( 'admin_enqueue_scripts', 'wp_enqueue_emoji_styles' ); add_action( 'admin_print_styles', 'print_emoji_styles' ); // Retained for backwards-compatibility. Unhooked by wp_enqueue_emoji_styles(). add_action( 'admin_print_styles', 'print_admin_styles', 20 ); add_action( 'admin_print_scripts-index.php', 'wp_localize_community_events' ); add_action( 'admin_print_scripts-post.php', 'wp_page_reload_on_back_button_js' ); add_action( 'admin_print_scripts-post-new.php', 'wp_page_reload_on_back_button_js' ); add_action( 'update_option_home', 'update_home_siteurl', 10, 2 ); add_action( 'update_option_siteurl', 'update_home_siteurl', 10, 2 ); add_action( 'update_option_page_on_front', 'update_home_siteurl', 10, 2 ); add_action( 'update_option_admin_email', 'wp_site_admin_email_change_notification', 10, 3 ); add_action( 'add_option_new_admin_email', 'update_option_new_admin_email', 10, 2 ); add_action( 'update_option_new_admin_email', 'update_option_new_admin_email', 10, 2 ); add_filter( 'heartbeat_received', 'wp_check_locked_posts', 10, 3 ); add_filter( 'heartbeat_received', 'wp_refresh_post_lock', 10, 3 ); add_filter( 'heartbeat_received', 'heartbeat_autosave', 500, 2 ); add_filter( 'wp_refresh_nonces', 'wp_refresh_post_nonces', 10, 3 ); add_filter( 'wp_refresh_nonces', 'wp_refresh_metabox_loader_nonces', 10, 2 ); add_filter( 'wp_refresh_nonces', 'wp_refresh_heartbeat_nonces' ); add_filter( 'heartbeat_settings', 'wp_heartbeat_set_suspension' ); add_action( 'use_block_editor_for_post_type', '_disable_block_editor_for_navigation_post_type', 10, 2 ); add_action( 'edit_form_after_title', '_disable_content_editor_for_navigation_post_type' ); add_action( 'edit_form_after_editor', '_enable_content_editor_for_navigation_post_type' ); // Nav Menu hooks. add_action( 'admin_head-nav-menus.php', '_wp_delete_orphaned_draft_menu_items' ); // Plugin hooks. add_filter( 'allowed_options', 'option_update_filter' ); // Plugin Install hooks. add_action( 'install_plugins_featured', 'install_dashboard' ); add_action( 'install_plugins_upload', 'install_plugins_upload' ); add_action( 'install_plugins_search', 'display_plugins_table' ); add_action( 'install_plugins_popular', 'display_plugins_table' ); add_action( 'install_plugins_recommended', 'display_plugins_table' ); add_action( 'install_plugins_new', 'display_plugins_table' ); add_action( 'install_plugins_beta', 'display_plugins_table' ); add_action( 'install_plugins_favorites', 'display_plugins_table' ); add_action( 'install_plugins_pre_plugin-information', 'install_plugin_information' ); // Template hooks. add_action( 'admin_enqueue_scripts', array( 'WP_Internal_Pointers', 'enqueue_scripts' ) ); add_action( 'user_register', array( 'WP_Internal_Pointers', 'dismiss_pointers_for_new_users' ) ); // Theme hooks. add_action( 'customize_controls_print_footer_scripts', 'customize_themes_print_templates' ); // Theme Install hooks. add_action( 'install_themes_pre_theme-information', 'install_theme_information' ); // User hooks. add_action( 'admin_init', 'default_password_nag_handler' ); add_action( 'admin_notices', 'default_password_nag' ); add_action( 'admin_notices', 'new_user_email_admin_notice' ); add_action( 'profile_update', 'default_password_nag_edit_user', 10, 2 ); add_action( 'personal_options_update', 'send_confirmation_on_profile_email' ); // Update hooks. add_action( 'load-plugins.php', 'wp_plugin_update_rows', 20 ); // After wp_update_plugins() is called. add_action( 'load-themes.php', 'wp_theme_update_rows', 20 ); // After wp_update_themes() is called. add_action( 'admin_notices', 'update_nag', 3 ); add_action( 'admin_notices', 'deactivated_plugins_notice', 5 ); add_action( 'admin_notices', 'paused_plugins_notice', 5 ); add_action( 'admin_notices', 'paused_themes_notice', 5 ); add_action( 'admin_notices', 'maintenance_nag', 10 ); add_action( 'admin_notices', 'wp_recovery_mode_nag', 1 ); add_filter( 'update_footer', 'core_update_footer' ); // Update Core hooks. add_action( '_core_updated_successfully', '_redirect_to_about_wordpress' ); // Upgrade hooks. add_action( 'upgrader_process_complete', array( 'Language_Pack_Upgrader', 'async_upgrade' ), 20 ); add_action( 'upgrader_process_complete', 'wp_version_check', 10, 0 ); add_action( 'upgrader_process_complete', 'wp_update_plugins', 10, 0 ); add_action( 'upgrader_process_complete', 'wp_update_themes', 10, 0 ); // Privacy hooks. add_filter( 'wp_privacy_personal_data_erasure_page', 'wp_privacy_process_personal_data_erasure_page', 10, 5 ); add_filter( 'wp_privacy_personal_data_export_page', 'wp_privacy_process_personal_data_export_page', 10, 7 ); add_action( 'wp_privacy_personal_data_export_file', 'wp_privacy_generate_personal_data_export_file', 10 ); add_action( 'wp_privacy_personal_data_erased', '_wp_privacy_send_erasure_fulfillment_notification', 10 ); // Privacy policy text changes check. add_action( 'admin_init', array( 'WP_Privacy_Policy_Content', 'text_change_check' ), 100 ); // Show a "postbox" with the text suggestions for a privacy policy. add_action( 'admin_notices', array( 'WP_Privacy_Policy_Content', 'notice' ) ); // Add the suggested policy text from WordPress. add_action( 'admin_init', array( 'WP_Privacy_Policy_Content', 'add_suggested_content' ), 1 ); // Update the cached policy info when the policy page is updated. add_action( 'post_updated', array( 'WP_Privacy_Policy_Content', '_policy_page_updated' ) ); // Append '(Draft)' to draft page titles in the privacy page dropdown. add_filter( 'list_pages', '_wp_privacy_settings_filter_draft_page_titles', 10, 2 ); // Font management. add_action( 'admin_print_styles', 'wp_print_font_faces', 50 ); add_action( 'admin_print_styles', 'wp_print_font_faces_from_style_variations', 50 ); class-wp-ms-sites-list-table.php 0000644 00000053012 14735706075 0012625 0 ustar 00 <?php /** * List Table API: WP_MS_Sites_List_Table class * * @package WordPress * @subpackage Administration * @since 3.1.0 */ /** * Core class used to implement displaying sites in a list table for the network admin. * * @since 3.1.0 * * @see WP_List_Table */ class WP_MS_Sites_List_Table extends WP_List_Table { /** * Site status list. * * @since 4.3.0 * @var array */ public $status_list; /** * Constructor. * * @since 3.1.0 * * @see WP_List_Table::__construct() for more information on default arguments. * * @param array $args An associative array of arguments. */ public function __construct( $args = array() ) { $this->status_list = array( 'archived' => array( 'site-archived', __( 'Archived' ) ), 'spam' => array( 'site-spammed', _x( 'Spam', 'site' ) ), 'deleted' => array( 'site-deleted', __( 'Deleted' ) ), 'mature' => array( 'site-mature', __( 'Mature' ) ), ); parent::__construct( array( 'plural' => 'sites', 'screen' => isset( $args['screen'] ) ? $args['screen'] : null, ) ); } /** * @return bool */ public function ajax_user_can() { return current_user_can( 'manage_sites' ); } /** * Prepares the list of sites for display. * * @since 3.1.0 * * @global string $mode List table view mode. * @global string $s * @global wpdb $wpdb WordPress database abstraction object. */ public function prepare_items() { global $mode, $s, $wpdb; if ( ! empty( $_REQUEST['mode'] ) ) { $mode = 'excerpt' === $_REQUEST['mode'] ? 'excerpt' : 'list'; set_user_setting( 'sites_list_mode', $mode ); } else { $mode = get_user_setting( 'sites_list_mode', 'list' ); } $per_page = $this->get_items_per_page( 'sites_network_per_page' ); $pagenum = $this->get_pagenum(); $s = isset( $_REQUEST['s'] ) ? wp_unslash( trim( $_REQUEST['s'] ) ) : ''; $wild = ''; if ( str_contains( $s, '*' ) ) { $wild = '*'; $s = trim( $s, '*' ); } /* * If the network is large and a search is not being performed, show only * the latest sites with no paging in order to avoid expensive count queries. */ if ( ! $s && wp_is_large_network() ) { if ( ! isset( $_REQUEST['orderby'] ) ) { $_GET['orderby'] = ''; $_REQUEST['orderby'] = ''; } if ( ! isset( $_REQUEST['order'] ) ) { $_GET['order'] = 'DESC'; $_REQUEST['order'] = 'DESC'; } } $args = array( 'number' => (int) $per_page, 'offset' => (int) ( ( $pagenum - 1 ) * $per_page ), 'network_id' => get_current_network_id(), ); if ( empty( $s ) ) { // Nothing to do. } elseif ( preg_match( '/^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$/', $s ) || preg_match( '/^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.?$/', $s ) || preg_match( '/^[0-9]{1,3}\.[0-9]{1,3}\.?$/', $s ) || preg_match( '/^[0-9]{1,3}\.$/', $s ) ) { // IPv4 address. $sql = $wpdb->prepare( "SELECT blog_id FROM {$wpdb->registration_log} WHERE {$wpdb->registration_log}.IP LIKE %s", $wpdb->esc_like( $s ) . ( ! empty( $wild ) ? '%' : '' ) ); $reg_blog_ids = $wpdb->get_col( $sql ); if ( $reg_blog_ids ) { $args['site__in'] = $reg_blog_ids; } } elseif ( is_numeric( $s ) && empty( $wild ) ) { $args['ID'] = $s; } else { $args['search'] = $s; if ( ! is_subdomain_install() ) { $args['search_columns'] = array( 'path' ); } } $order_by = isset( $_REQUEST['orderby'] ) ? $_REQUEST['orderby'] : ''; if ( 'registered' === $order_by ) { // 'registered' is a valid field name. } elseif ( 'lastupdated' === $order_by ) { $order_by = 'last_updated'; } elseif ( 'blogname' === $order_by ) { if ( is_subdomain_install() ) { $order_by = 'domain'; } else { $order_by = 'path'; } } elseif ( 'blog_id' === $order_by ) { $order_by = 'id'; } elseif ( ! $order_by ) { $order_by = false; } $args['orderby'] = $order_by; if ( $order_by ) { $args['order'] = ( isset( $_REQUEST['order'] ) && 'DESC' === strtoupper( $_REQUEST['order'] ) ) ? 'DESC' : 'ASC'; } if ( wp_is_large_network() ) { $args['no_found_rows'] = true; } else { $args['no_found_rows'] = false; } // Take into account the role the user has selected. $status = isset( $_REQUEST['status'] ) ? wp_unslash( trim( $_REQUEST['status'] ) ) : ''; if ( in_array( $status, array( 'public', 'archived', 'mature', 'spam', 'deleted' ), true ) ) { $args[ $status ] = 1; } /** * Filters the arguments for the site query in the sites list table. * * @since 4.6.0 * * @param array $args An array of get_sites() arguments. */ $args = apply_filters( 'ms_sites_list_table_query_args', $args ); $_sites = get_sites( $args ); if ( is_array( $_sites ) ) { update_site_cache( $_sites ); $this->items = array_slice( $_sites, 0, $per_page ); } $total_sites = get_sites( array_merge( $args, array( 'count' => true, 'offset' => 0, 'number' => 0, ) ) ); $this->set_pagination_args( array( 'total_items' => $total_sites, 'per_page' => $per_page, ) ); } /** */ public function no_items() { _e( 'No sites found.' ); } /** * Gets links to filter sites by status. * * @since 5.3.0 * * @return array */ protected function get_views() { $counts = wp_count_sites(); $statuses = array( /* translators: %s: Number of sites. */ 'all' => _nx_noop( 'All <span class="count">(%s)</span>', 'All <span class="count">(%s)</span>', 'sites' ), /* translators: %s: Number of sites. */ 'public' => _n_noop( 'Public <span class="count">(%s)</span>', 'Public <span class="count">(%s)</span>' ), /* translators: %s: Number of sites. */ 'archived' => _n_noop( 'Archived <span class="count">(%s)</span>', 'Archived <span class="count">(%s)</span>' ), /* translators: %s: Number of sites. */ 'mature' => _n_noop( 'Mature <span class="count">(%s)</span>', 'Mature <span class="count">(%s)</span>' ), /* translators: %s: Number of sites. */ 'spam' => _nx_noop( 'Spam <span class="count">(%s)</span>', 'Spam <span class="count">(%s)</span>', 'sites' ), /* translators: %s: Number of sites. */ 'deleted' => _n_noop( 'Deleted <span class="count">(%s)</span>', 'Deleted <span class="count">(%s)</span>' ), ); $view_links = array(); $requested_status = isset( $_REQUEST['status'] ) ? wp_unslash( trim( $_REQUEST['status'] ) ) : ''; $url = 'sites.php'; foreach ( $statuses as $status => $label_count ) { if ( (int) $counts[ $status ] > 0 ) { $label = sprintf( translate_nooped_plural( $label_count, $counts[ $status ] ), number_format_i18n( $counts[ $status ] ) ); $full_url = 'all' === $status ? $url : add_query_arg( 'status', $status, $url ); $view_links[ $status ] = array( 'url' => esc_url( $full_url ), 'label' => $label, 'current' => $requested_status === $status || ( '' === $requested_status && 'all' === $status ), ); } } return $this->get_views_links( $view_links ); } /** * @return array */ protected function get_bulk_actions() { $actions = array(); if ( current_user_can( 'delete_sites' ) ) { $actions['delete'] = __( 'Delete' ); } $actions['spam'] = _x( 'Mark as spam', 'site' ); $actions['notspam'] = _x( 'Not spam', 'site' ); return $actions; } /** * @global string $mode List table view mode. * * @param string $which The location of the pagination nav markup: Either 'top' or 'bottom'. */ protected function pagination( $which ) { global $mode; parent::pagination( $which ); if ( 'top' === $which ) { $this->view_switcher( $mode ); } } /** * Displays extra controls between bulk actions and pagination. * * @since 5.3.0 * * @param string $which The location of the extra table nav markup: Either 'top' or 'bottom'. */ protected function extra_tablenav( $which ) { ?> <div class="alignleft actions"> <?php if ( 'top' === $which ) { ob_start(); /** * Fires before the Filter button on the MS sites list table. * * @since 5.3.0 * * @param string $which The location of the extra table nav markup: Either 'top' or 'bottom'. */ do_action( 'restrict_manage_sites', $which ); $output = ob_get_clean(); if ( ! empty( $output ) ) { echo $output; submit_button( __( 'Filter' ), '', 'filter_action', false, array( 'id' => 'site-query-submit' ) ); } } ?> </div> <?php /** * Fires immediately following the closing "actions" div in the tablenav for the * MS sites list table. * * @since 5.3.0 * * @param string $which The location of the extra table nav markup: Either 'top' or 'bottom'. */ do_action( 'manage_sites_extra_tablenav', $which ); } /** * @return string[] Array of column titles keyed by their column name. */ public function get_columns() { $sites_columns = array( 'cb' => '<input type="checkbox" />', 'blogname' => __( 'URL' ), 'lastupdated' => __( 'Last Updated' ), 'registered' => _x( 'Registered', 'site' ), 'users' => __( 'Users' ), ); if ( has_filter( 'wpmublogsaction' ) ) { $sites_columns['plugins'] = __( 'Actions' ); } /** * Filters the displayed site columns in Sites list table. * * @since MU (3.0.0) * * @param string[] $sites_columns An array of displayed site columns. Default 'cb', * 'blogname', 'lastupdated', 'registered', 'users'. */ return apply_filters( 'wpmu_blogs_columns', $sites_columns ); } /** * @return array */ protected function get_sortable_columns() { if ( is_subdomain_install() ) { $blogname_abbr = __( 'Domain' ); $blogname_orderby_text = __( 'Table ordered by Site Domain Name.' ); } else { $blogname_abbr = __( 'Path' ); $blogname_orderby_text = __( 'Table ordered by Site Path.' ); } return array( 'blogname' => array( 'blogname', false, $blogname_abbr, $blogname_orderby_text ), 'lastupdated' => array( 'lastupdated', true, __( 'Last Updated' ), __( 'Table ordered by Last Updated.' ) ), 'registered' => array( 'blog_id', true, _x( 'Registered', 'site' ), __( 'Table ordered by Site Registered Date.' ), 'desc' ), ); } /** * Handles the checkbox column output. * * @since 4.3.0 * @since 5.9.0 Renamed `$blog` to `$item` to match parent class for PHP 8 named parameter support. * * @param array $item Current site. */ public function column_cb( $item ) { // Restores the more descriptive, specific name for use within this method. $blog = $item; if ( ! is_main_site( $blog['blog_id'] ) ) : $blogname = untrailingslashit( $blog['domain'] . $blog['path'] ); ?> <input type="checkbox" id="blog_<?php echo $blog['blog_id']; ?>" name="allblogs[]" value="<?php echo esc_attr( $blog['blog_id'] ); ?>" /> <label for="blog_<?php echo $blog['blog_id']; ?>"> <span class="screen-reader-text"> <?php /* translators: %s: Site URL. */ printf( __( 'Select %s' ), $blogname ); ?> </span> </label> <?php endif; } /** * Handles the ID column output. * * @since 4.4.0 * * @param array $blog Current site. */ public function column_id( $blog ) { echo $blog['blog_id']; } /** * Handles the site name column output. * * @since 4.3.0 * * @global string $mode List table view mode. * * @param array $blog Current site. */ public function column_blogname( $blog ) { global $mode; $blogname = untrailingslashit( $blog['domain'] . $blog['path'] ); ?> <strong> <?php printf( '<a href="%1$s" class="edit">%2$s</a>', esc_url( network_admin_url( 'site-info.php?id=' . $blog['blog_id'] ) ), $blogname ); $this->site_states( $blog ); ?> </strong> <?php if ( 'list' !== $mode ) { switch_to_blog( $blog['blog_id'] ); echo '<p>'; printf( /* translators: 1: Site title, 2: Site tagline. */ __( '%1$s – %2$s' ), get_option( 'blogname' ), '<em>' . get_option( 'blogdescription' ) . '</em>' ); echo '</p>'; restore_current_blog(); } } /** * Handles the lastupdated column output. * * @since 4.3.0 * * @global string $mode List table view mode. * * @param array $blog Current site. */ public function column_lastupdated( $blog ) { global $mode; if ( 'list' === $mode ) { $date = __( 'Y/m/d' ); } else { $date = __( 'Y/m/d g:i:s a' ); } if ( '0000-00-00 00:00:00' === $blog['last_updated'] ) { _e( 'Never' ); } else { echo mysql2date( $date, $blog['last_updated'] ); } } /** * Handles the registered column output. * * @since 4.3.0 * * @global string $mode List table view mode. * * @param array $blog Current site. */ public function column_registered( $blog ) { global $mode; if ( 'list' === $mode ) { $date = __( 'Y/m/d' ); } else { $date = __( 'Y/m/d g:i:s a' ); } if ( '0000-00-00 00:00:00' === $blog['registered'] ) { echo '—'; } else { echo mysql2date( $date, $blog['registered'] ); } } /** * Handles the users column output. * * @since 4.3.0 * * @param array $blog Current site. */ public function column_users( $blog ) { $user_count = wp_cache_get( $blog['blog_id'] . '_user_count', 'blog-details' ); if ( ! $user_count ) { $blog_users = new WP_User_Query( array( 'blog_id' => $blog['blog_id'], 'fields' => 'ID', 'number' => 1, 'count_total' => true, ) ); $user_count = $blog_users->get_total(); wp_cache_set( $blog['blog_id'] . '_user_count', $user_count, 'blog-details', 12 * HOUR_IN_SECONDS ); } printf( '<a href="%1$s">%2$s</a>', esc_url( network_admin_url( 'site-users.php?id=' . $blog['blog_id'] ) ), number_format_i18n( $user_count ) ); } /** * Handles the plugins column output. * * @since 4.3.0 * * @param array $blog Current site. */ public function column_plugins( $blog ) { if ( has_filter( 'wpmublogsaction' ) ) { /** * Fires inside the auxiliary 'Actions' column of the Sites list table. * * By default this column is hidden unless something is hooked to the action. * * @since MU (3.0.0) * * @param int $blog_id The site ID. */ do_action( 'wpmublogsaction', $blog['blog_id'] ); } } /** * Handles output for the default column. * * @since 4.3.0 * @since 5.9.0 Renamed `$blog` to `$item` to match parent class for PHP 8 named parameter support. * * @param array $item Current site. * @param string $column_name Current column name. */ public function column_default( $item, $column_name ) { // Restores the more descriptive, specific name for use within this method. $blog = $item; /** * Fires for each registered custom column in the Sites list table. * * @since 3.1.0 * * @param string $column_name The name of the column to display. * @param int $blog_id The site ID. */ do_action( 'manage_sites_custom_column', $column_name, $blog['blog_id'] ); } /** * Generates the list table rows. * * @since 3.1.0 */ public function display_rows() { foreach ( $this->items as $blog ) { $blog = $blog->to_array(); $class = ''; reset( $this->status_list ); foreach ( $this->status_list as $status => $col ) { if ( '1' === $blog[ $status ] ) { $class = " class='{$col[0]}'"; } } echo "<tr{$class}>"; $this->single_row_columns( $blog ); echo '</tr>'; } } /** * Determines whether to output comma-separated site states. * * @since 5.3.0 * * @param array $site */ protected function site_states( $site ) { $site_states = array(); // $site is still an array, so get the object. $_site = WP_Site::get_instance( $site['blog_id'] ); if ( is_main_site( $_site->id ) ) { $site_states['main'] = __( 'Main' ); } reset( $this->status_list ); $site_status = isset( $_REQUEST['status'] ) ? wp_unslash( trim( $_REQUEST['status'] ) ) : ''; foreach ( $this->status_list as $status => $col ) { if ( '1' === $_site->{$status} && $site_status !== $status ) { $site_states[ $col[0] ] = $col[1]; } } /** * Filters the default site display states for items in the Sites list table. * * @since 5.3.0 * * @param string[] $site_states An array of site states. Default 'Main', * 'Archived', 'Mature', 'Spam', 'Deleted'. * @param WP_Site $site The current site object. */ $site_states = apply_filters( 'display_site_states', $site_states, $_site ); if ( ! empty( $site_states ) ) { $state_count = count( $site_states ); $i = 0; echo ' — '; foreach ( $site_states as $state ) { ++$i; $separator = ( $i < $state_count ) ? ', ' : ''; echo "<span class='post-state'>{$state}{$separator}</span>"; } } } /** * Gets the name of the default primary column. * * @since 4.3.0 * * @return string Name of the default primary column, in this case, 'blogname'. */ protected function get_default_primary_column_name() { return 'blogname'; } /** * Generates and displays row action links. * * @since 4.3.0 * @since 5.9.0 Renamed `$blog` to `$item` to match parent class for PHP 8 named parameter support. * * @param array $item Site being acted upon. * @param string $column_name Current column name. * @param string $primary Primary column name. * @return string Row actions output for sites in Multisite, or an empty string * if the current column is not the primary column. */ protected function handle_row_actions( $item, $column_name, $primary ) { if ( $primary !== $column_name ) { return ''; } // Restores the more descriptive, specific name for use within this method. $blog = $item; $blogname = untrailingslashit( $blog['domain'] . $blog['path'] ); // Preordered. $actions = array( 'edit' => '', 'backend' => '', 'activate' => '', 'deactivate' => '', 'archive' => '', 'unarchive' => '', 'spam' => '', 'unspam' => '', 'delete' => '', 'visit' => '', ); $actions['edit'] = sprintf( '<a href="%1$s">%2$s</a>', esc_url( network_admin_url( 'site-info.php?id=' . $blog['blog_id'] ) ), __( 'Edit' ) ); $actions['backend'] = sprintf( '<a href="%1$s" class="edit">%2$s</a>', esc_url( get_admin_url( $blog['blog_id'] ) ), __( 'Dashboard' ) ); if ( ! is_main_site( $blog['blog_id'] ) ) { if ( '1' === $blog['deleted'] ) { $actions['activate'] = sprintf( '<a href="%1$s">%2$s</a>', esc_url( wp_nonce_url( network_admin_url( 'sites.php?action=confirm&action2=activateblog&id=' . $blog['blog_id'] ), 'activateblog_' . $blog['blog_id'] ) ), _x( 'Activate', 'site' ) ); } else { $actions['deactivate'] = sprintf( '<a href="%1$s">%2$s</a>', esc_url( wp_nonce_url( network_admin_url( 'sites.php?action=confirm&action2=deactivateblog&id=' . $blog['blog_id'] ), 'deactivateblog_' . $blog['blog_id'] ) ), __( 'Deactivate' ) ); } if ( '1' === $blog['archived'] ) { $actions['unarchive'] = sprintf( '<a href="%1$s">%2$s</a>', esc_url( wp_nonce_url( network_admin_url( 'sites.php?action=confirm&action2=unarchiveblog&id=' . $blog['blog_id'] ), 'unarchiveblog_' . $blog['blog_id'] ) ), __( 'Unarchive' ) ); } else { $actions['archive'] = sprintf( '<a href="%1$s">%2$s</a>', esc_url( wp_nonce_url( network_admin_url( 'sites.php?action=confirm&action2=archiveblog&id=' . $blog['blog_id'] ), 'archiveblog_' . $blog['blog_id'] ) ), _x( 'Archive', 'verb; site' ) ); } if ( '1' === $blog['spam'] ) { $actions['unspam'] = sprintf( '<a href="%1$s">%2$s</a>', esc_url( wp_nonce_url( network_admin_url( 'sites.php?action=confirm&action2=unspamblog&id=' . $blog['blog_id'] ), 'unspamblog_' . $blog['blog_id'] ) ), _x( 'Not Spam', 'site' ) ); } else { $actions['spam'] = sprintf( '<a href="%1$s">%2$s</a>', esc_url( wp_nonce_url( network_admin_url( 'sites.php?action=confirm&action2=spamblog&id=' . $blog['blog_id'] ), 'spamblog_' . $blog['blog_id'] ) ), _x( 'Spam', 'site' ) ); } if ( current_user_can( 'delete_site', $blog['blog_id'] ) ) { $actions['delete'] = sprintf( '<a href="%1$s">%2$s</a>', esc_url( wp_nonce_url( network_admin_url( 'sites.php?action=confirm&action2=deleteblog&id=' . $blog['blog_id'] ), 'deleteblog_' . $blog['blog_id'] ) ), __( 'Delete' ) ); } } $actions['visit'] = sprintf( '<a href="%1$s" rel="bookmark">%2$s</a>', esc_url( get_home_url( $blog['blog_id'], '/' ) ), __( 'Visit' ) ); /** * Filters the action links displayed for each site in the Sites list table. * * The 'Edit', 'Dashboard', 'Delete', and 'Visit' links are displayed by * default for each site. The site's status determines whether to show the * 'Activate' or 'Deactivate' link, 'Unarchive' or 'Archive' links, and * 'Not Spam' or 'Spam' link for each site. * * @since 3.1.0 * * @param string[] $actions An array of action links to be displayed. * @param int $blog_id The site ID. * @param string $blogname Site path, formatted depending on whether it is a sub-domain * or subdirectory multisite installation. */ $actions = apply_filters( 'manage_sites_action_links', array_filter( $actions ), $blog['blog_id'], $blogname ); return $this->row_actions( $actions ); } } nav-menu.php 0000644 00000137411 14735706075 0007030 0 ustar 00 <?php /** * Core Navigation Menu API * * @package WordPress * @subpackage Nav_Menus * @since 3.0.0 */ /** Walker_Nav_Menu_Edit class */ require_once ABSPATH . 'wp-admin/includes/class-walker-nav-menu-edit.php'; /** Walker_Nav_Menu_Checklist class */ require_once ABSPATH . 'wp-admin/includes/class-walker-nav-menu-checklist.php'; /** * Prints the appropriate response to a menu quick search. * * @since 3.0.0 * * @param array $request The unsanitized request values. */ function _wp_ajax_menu_quick_search( $request = array() ) { $args = array(); $type = isset( $request['type'] ) ? $request['type'] : ''; $object_type = isset( $request['object_type'] ) ? $request['object_type'] : ''; $query = isset( $request['q'] ) ? $request['q'] : ''; $response_format = isset( $request['response-format'] ) ? $request['response-format'] : ''; if ( ! $response_format || ! in_array( $response_format, array( 'json', 'markup' ), true ) ) { $response_format = 'json'; } if ( 'markup' === $response_format ) { $args['walker'] = new Walker_Nav_Menu_Checklist(); } if ( 'get-post-item' === $type ) { if ( post_type_exists( $object_type ) ) { if ( isset( $request['ID'] ) ) { $object_id = (int) $request['ID']; if ( 'markup' === $response_format ) { echo walk_nav_menu_tree( array_map( 'wp_setup_nav_menu_item', array( get_post( $object_id ) ) ), 0, (object) $args ); } elseif ( 'json' === $response_format ) { echo wp_json_encode( array( 'ID' => $object_id, 'post_title' => get_the_title( $object_id ), 'post_type' => get_post_type( $object_id ), ) ); echo "\n"; } } } elseif ( taxonomy_exists( $object_type ) ) { if ( isset( $request['ID'] ) ) { $object_id = (int) $request['ID']; if ( 'markup' === $response_format ) { echo walk_nav_menu_tree( array_map( 'wp_setup_nav_menu_item', array( get_term( $object_id, $object_type ) ) ), 0, (object) $args ); } elseif ( 'json' === $response_format ) { $post_obj = get_term( $object_id, $object_type ); echo wp_json_encode( array( 'ID' => $object_id, 'post_title' => $post_obj->name, 'post_type' => $object_type, ) ); echo "\n"; } } } } elseif ( preg_match( '/quick-search-(posttype|taxonomy)-([a-zA-Z_-]*\b)/', $type, $matches ) ) { if ( 'posttype' === $matches[1] && get_post_type_object( $matches[2] ) ) { $post_type_obj = _wp_nav_menu_meta_box_object( get_post_type_object( $matches[2] ) ); $args = array_merge( $args, array( 'no_found_rows' => true, 'update_post_meta_cache' => false, 'update_post_term_cache' => false, 'posts_per_page' => 10, 'post_type' => $matches[2], 's' => $query, ) ); if ( isset( $post_type_obj->_default_query ) ) { $args = array_merge( $args, (array) $post_type_obj->_default_query ); } $search_results_query = new WP_Query( $args ); if ( ! $search_results_query->have_posts() ) { return; } while ( $search_results_query->have_posts() ) { $post = $search_results_query->next_post(); if ( 'markup' === $response_format ) { $var_by_ref = $post->ID; echo walk_nav_menu_tree( array_map( 'wp_setup_nav_menu_item', array( get_post( $var_by_ref ) ) ), 0, (object) $args ); } elseif ( 'json' === $response_format ) { echo wp_json_encode( array( 'ID' => $post->ID, 'post_title' => get_the_title( $post->ID ), 'post_type' => $matches[2], ) ); echo "\n"; } } } elseif ( 'taxonomy' === $matches[1] ) { $terms = get_terms( array( 'taxonomy' => $matches[2], 'name__like' => $query, 'number' => 10, 'hide_empty' => false, ) ); if ( empty( $terms ) || is_wp_error( $terms ) ) { return; } foreach ( (array) $terms as $term ) { if ( 'markup' === $response_format ) { echo walk_nav_menu_tree( array_map( 'wp_setup_nav_menu_item', array( $term ) ), 0, (object) $args ); } elseif ( 'json' === $response_format ) { echo wp_json_encode( array( 'ID' => $term->term_id, 'post_title' => $term->name, 'post_type' => $matches[2], ) ); echo "\n"; } } } } } /** * Register nav menu meta boxes and advanced menu items. * * @since 3.0.0 */ function wp_nav_menu_setup() { // Register meta boxes. wp_nav_menu_post_type_meta_boxes(); add_meta_box( 'add-custom-links', __( 'Custom Links' ), 'wp_nav_menu_item_link_meta_box', 'nav-menus', 'side', 'default' ); wp_nav_menu_taxonomy_meta_boxes(); // Register advanced menu items (columns). add_filter( 'manage_nav-menus_columns', 'wp_nav_menu_manage_columns' ); // If first time editing, disable advanced items by default. if ( false === get_user_option( 'managenav-menuscolumnshidden' ) ) { $user = wp_get_current_user(); update_user_meta( $user->ID, 'managenav-menuscolumnshidden', array( 0 => 'link-target', 1 => 'css-classes', 2 => 'xfn', 3 => 'description', 4 => 'title-attribute', ) ); } } /** * Limit the amount of meta boxes to pages, posts, links, and categories for first time users. * * @since 3.0.0 * * @global array $wp_meta_boxes Global meta box state. */ function wp_initial_nav_menu_meta_boxes() { global $wp_meta_boxes; if ( get_user_option( 'metaboxhidden_nav-menus' ) !== false || ! is_array( $wp_meta_boxes ) ) { return; } $initial_meta_boxes = array( 'add-post-type-page', 'add-post-type-post', 'add-custom-links', 'add-category' ); $hidden_meta_boxes = array(); foreach ( array_keys( $wp_meta_boxes['nav-menus'] ) as $context ) { foreach ( array_keys( $wp_meta_boxes['nav-menus'][ $context ] ) as $priority ) { foreach ( $wp_meta_boxes['nav-menus'][ $context ][ $priority ] as $box ) { if ( in_array( $box['id'], $initial_meta_boxes, true ) ) { unset( $box['id'] ); } else { $hidden_meta_boxes[] = $box['id']; } } } } $user = wp_get_current_user(); update_user_meta( $user->ID, 'metaboxhidden_nav-menus', $hidden_meta_boxes ); } /** * Creates meta boxes for any post type menu item.. * * @since 3.0.0 */ function wp_nav_menu_post_type_meta_boxes() { $post_types = get_post_types( array( 'show_in_nav_menus' => true ), 'object' ); if ( ! $post_types ) { return; } foreach ( $post_types as $post_type ) { /** * Filters whether a menu items meta box will be added for the current * object type. * * If a falsey value is returned instead of an object, the menu items * meta box for the current meta box object will not be added. * * @since 3.0.0 * * @param WP_Post_Type|false $post_type The current object to add a menu items * meta box for. */ $post_type = apply_filters( 'nav_menu_meta_box_object', $post_type ); if ( $post_type ) { $id = $post_type->name; // Give pages a higher priority. $priority = ( 'page' === $post_type->name ? 'core' : 'default' ); add_meta_box( "add-post-type-{$id}", $post_type->labels->name, 'wp_nav_menu_item_post_type_meta_box', 'nav-menus', 'side', $priority, $post_type ); } } } /** * Creates meta boxes for any taxonomy menu item. * * @since 3.0.0 */ function wp_nav_menu_taxonomy_meta_boxes() { $taxonomies = get_taxonomies( array( 'show_in_nav_menus' => true ), 'object' ); if ( ! $taxonomies ) { return; } foreach ( $taxonomies as $tax ) { /** This filter is documented in wp-admin/includes/nav-menu.php */ $tax = apply_filters( 'nav_menu_meta_box_object', $tax ); if ( $tax ) { $id = $tax->name; add_meta_box( "add-{$id}", $tax->labels->name, 'wp_nav_menu_item_taxonomy_meta_box', 'nav-menus', 'side', 'default', $tax ); } } } /** * Check whether to disable the Menu Locations meta box submit button and inputs. * * @since 3.6.0 * @since 5.3.1 The `$display` parameter was added. * * @global bool $one_theme_location_no_menus to determine if no menus exist * * @param int|string $nav_menu_selected_id ID, name, or slug of the currently selected menu. * @param bool $display Whether to display or just return the string. * @return string|false Disabled attribute if at least one menu exists, false if not. */ function wp_nav_menu_disabled_check( $nav_menu_selected_id, $display = true ) { global $one_theme_location_no_menus; if ( $one_theme_location_no_menus ) { return false; } return disabled( $nav_menu_selected_id, 0, $display ); } /** * Displays a meta box for the custom links menu item. * * @since 3.0.0 * * @global int $_nav_menu_placeholder * @global int|string $nav_menu_selected_id */ function wp_nav_menu_item_link_meta_box() { global $_nav_menu_placeholder, $nav_menu_selected_id; $_nav_menu_placeholder = 0 > $_nav_menu_placeholder ? $_nav_menu_placeholder - 1 : -1; ?> <div class="customlinkdiv" id="customlinkdiv"> <input type="hidden" value="custom" name="menu-item[<?php echo $_nav_menu_placeholder; ?>][menu-item-type]" /> <p id="menu-item-url-wrap" class="wp-clearfix"> <label class="howto" for="custom-menu-item-url"><?php _e( 'URL' ); ?></label> <input id="custom-menu-item-url" name="menu-item[<?php echo $_nav_menu_placeholder; ?>][menu-item-url]" type="text"<?php wp_nav_menu_disabled_check( $nav_menu_selected_id ); ?> class="code menu-item-textbox form-required" placeholder="https://" /> </p> <p id="menu-item-name-wrap" class="wp-clearfix"> <label class="howto" for="custom-menu-item-name"><?php _e( 'Link Text' ); ?></label> <input id="custom-menu-item-name" name="menu-item[<?php echo $_nav_menu_placeholder; ?>][menu-item-title]" type="text"<?php wp_nav_menu_disabled_check( $nav_menu_selected_id ); ?> class="regular-text menu-item-textbox" /> </p> <p class="button-controls wp-clearfix"> <span class="add-to-menu"> <input id="submit-customlinkdiv" name="add-custom-menu-item" type="submit"<?php wp_nav_menu_disabled_check( $nav_menu_selected_id ); ?> class="button submit-add-to-menu right" value="<?php esc_attr_e( 'Add to Menu' ); ?>" /> <span class="spinner"></span> </span> </p> </div><!-- /.customlinkdiv --> <?php } /** * Displays a meta box for a post type menu item. * * @since 3.0.0 * * @global int $_nav_menu_placeholder * @global int|string $nav_menu_selected_id * * @param string $data_object Not used. * @param array $box { * Post type menu item meta box arguments. * * @type string $id Meta box 'id' attribute. * @type string $title Meta box title. * @type callable $callback Meta box display callback. * @type WP_Post_Type $args Extra meta box arguments (the post type object for this meta box). * } */ function wp_nav_menu_item_post_type_meta_box( $data_object, $box ) { global $_nav_menu_placeholder, $nav_menu_selected_id; $post_type_name = $box['args']->name; $post_type = get_post_type_object( $post_type_name ); $tab_name = $post_type_name . '-tab'; // Paginate browsing for large numbers of post objects. $per_page = 50; $pagenum = isset( $_REQUEST[ $tab_name ] ) && isset( $_REQUEST['paged'] ) ? absint( $_REQUEST['paged'] ) : 1; $offset = 0 < $pagenum ? $per_page * ( $pagenum - 1 ) : 0; $args = array( 'offset' => $offset, 'order' => 'ASC', 'orderby' => 'title', 'posts_per_page' => $per_page, 'post_type' => $post_type_name, 'suppress_filters' => true, 'update_post_term_cache' => false, 'update_post_meta_cache' => false, ); if ( isset( $box['args']->_default_query ) ) { $args = array_merge( $args, (array) $box['args']->_default_query ); } /* * If we're dealing with pages, let's prioritize the Front Page, * Posts Page and Privacy Policy Page at the top of the list. */ $important_pages = array(); if ( 'page' === $post_type_name ) { $suppress_page_ids = array(); // Insert Front Page or custom Home link. $front_page = 'page' === get_option( 'show_on_front' ) ? (int) get_option( 'page_on_front' ) : 0; $front_page_obj = null; if ( ! empty( $front_page ) ) { $front_page_obj = get_post( $front_page ); } if ( $front_page_obj ) { $front_page_obj->front_or_home = true; $important_pages[] = $front_page_obj; $suppress_page_ids[] = $front_page_obj->ID; } else { $_nav_menu_placeholder = ( 0 > $_nav_menu_placeholder ) ? (int) $_nav_menu_placeholder - 1 : -1; $front_page_obj = (object) array( 'front_or_home' => true, 'ID' => 0, 'object_id' => $_nav_menu_placeholder, 'post_content' => '', 'post_excerpt' => '', 'post_parent' => '', 'post_title' => _x( 'Home', 'nav menu home label' ), 'post_type' => 'nav_menu_item', 'type' => 'custom', 'url' => home_url( '/' ), ); $important_pages[] = $front_page_obj; } // Insert Posts Page. $posts_page = 'page' === get_option( 'show_on_front' ) ? (int) get_option( 'page_for_posts' ) : 0; if ( ! empty( $posts_page ) ) { $posts_page_obj = get_post( $posts_page ); if ( $posts_page_obj ) { $front_page_obj->posts_page = true; $important_pages[] = $posts_page_obj; $suppress_page_ids[] = $posts_page_obj->ID; } } // Insert Privacy Policy Page. $privacy_policy_page_id = (int) get_option( 'wp_page_for_privacy_policy' ); if ( ! empty( $privacy_policy_page_id ) ) { $privacy_policy_page = get_post( $privacy_policy_page_id ); if ( $privacy_policy_page instanceof WP_Post && 'publish' === $privacy_policy_page->post_status ) { $privacy_policy_page->privacy_policy_page = true; $important_pages[] = $privacy_policy_page; $suppress_page_ids[] = $privacy_policy_page->ID; } } // Add suppression array to arguments for WP_Query. if ( ! empty( $suppress_page_ids ) ) { $args['post__not_in'] = $suppress_page_ids; } } // @todo Transient caching of these results with proper invalidation on updating of a post of this type. $get_posts = new WP_Query(); $posts = $get_posts->query( $args ); // Only suppress and insert when more than just suppression pages available. if ( ! $get_posts->post_count ) { if ( ! empty( $suppress_page_ids ) ) { unset( $args['post__not_in'] ); $get_posts = new WP_Query(); $posts = $get_posts->query( $args ); } else { echo '<p>' . __( 'No items.' ) . '</p>'; return; } } elseif ( ! empty( $important_pages ) ) { $posts = array_merge( $important_pages, $posts ); } $num_pages = $get_posts->max_num_pages; $page_links = paginate_links( array( 'base' => add_query_arg( array( $tab_name => 'all', 'paged' => '%#%', 'item-type' => 'post_type', 'item-object' => $post_type_name, ) ), 'format' => '', 'prev_text' => '<span aria-label="' . esc_attr__( 'Previous page' ) . '">' . __( '«' ) . '</span>', 'next_text' => '<span aria-label="' . esc_attr__( 'Next page' ) . '">' . __( '»' ) . '</span>', /* translators: Hidden accessibility text. */ 'before_page_number' => '<span class="screen-reader-text">' . __( 'Page' ) . '</span> ', 'total' => $num_pages, 'current' => $pagenum, ) ); $db_fields = false; if ( is_post_type_hierarchical( $post_type_name ) ) { $db_fields = array( 'parent' => 'post_parent', 'id' => 'ID', ); } $walker = new Walker_Nav_Menu_Checklist( $db_fields ); $current_tab = 'most-recent'; if ( isset( $_REQUEST[ $tab_name ] ) && in_array( $_REQUEST[ $tab_name ], array( 'all', 'search' ), true ) ) { $current_tab = $_REQUEST[ $tab_name ]; } if ( ! empty( $_REQUEST[ "quick-search-posttype-{$post_type_name}" ] ) ) { $current_tab = 'search'; } $removed_args = array( 'action', 'customlink-tab', 'edit-menu-item', 'menu-item', 'page-tab', '_wpnonce', ); $most_recent_url = ''; $view_all_url = ''; $search_url = ''; if ( $nav_menu_selected_id ) { $most_recent_url = add_query_arg( $tab_name, 'most-recent', remove_query_arg( $removed_args ) ); $view_all_url = add_query_arg( $tab_name, 'all', remove_query_arg( $removed_args ) ); $search_url = add_query_arg( $tab_name, 'search', remove_query_arg( $removed_args ) ); } ?> <div id="<?php echo esc_attr( "posttype-{$post_type_name}" ); ?>" class="posttypediv"> <ul id="<?php echo esc_attr( "posttype-{$post_type_name}-tabs" ); ?>" class="posttype-tabs add-menu-item-tabs"> <li <?php echo ( 'most-recent' === $current_tab ? ' class="tabs"' : '' ); ?>> <a class="nav-tab-link" data-type="<?php echo esc_attr( "tabs-panel-posttype-{$post_type_name}-most-recent" ); ?>" href="<?php echo esc_url( $most_recent_url . "#tabs-panel-posttype-{$post_type_name}-most-recent" ); ?>" > <?php _e( 'Most Recent' ); ?> </a> </li> <li <?php echo ( 'all' === $current_tab ? ' class="tabs"' : '' ); ?>> <a class="nav-tab-link" data-type="<?php echo esc_attr( "{$post_type_name}-all" ); ?>" href="<?php echo esc_url( $view_all_url . "#{$post_type_name}-all" ); ?>" > <?php _e( 'View All' ); ?> </a> </li> <li <?php echo ( 'search' === $current_tab ? ' class="tabs"' : '' ); ?>> <a class="nav-tab-link" data-type="<?php echo esc_attr( "tabs-panel-posttype-{$post_type_name}-search" ); ?>" href="<?php echo esc_url( $search_url . "#tabs-panel-posttype-{$post_type_name}-search" ); ?>" > <?php _e( 'Search' ); ?> </a> </li> </ul><!-- .posttype-tabs --> <div id="<?php echo esc_attr( "tabs-panel-posttype-{$post_type_name}-most-recent" ); ?>" class="tabs-panel <?php echo ( 'most-recent' === $current_tab ? 'tabs-panel-active' : 'tabs-panel-inactive' ); ?>" role="region" aria-label="<?php esc_attr_e( 'Most Recent' ); ?>" tabindex="0" > <ul id="<?php echo esc_attr( "{$post_type_name}checklist-most-recent" ); ?>" class="categorychecklist form-no-clear" > <?php $recent_args = array_merge( $args, array( 'orderby' => 'post_date', 'order' => 'DESC', 'posts_per_page' => 15, ) ); $most_recent = $get_posts->query( $recent_args ); $args['walker'] = $walker; /** * Filters the posts displayed in the 'Most Recent' tab of the current * post type's menu items meta box. * * The dynamic portion of the hook name, `$post_type_name`, refers to the post type name. * * Possible hook names include: * * - `nav_menu_items_post_recent` * - `nav_menu_items_page_recent` * * @since 4.3.0 * @since 4.9.0 Added the `$recent_args` parameter. * * @param WP_Post[] $most_recent An array of post objects being listed. * @param array $args An array of `WP_Query` arguments for the meta box. * @param array $box Arguments passed to `wp_nav_menu_item_post_type_meta_box()`. * @param array $recent_args An array of `WP_Query` arguments for 'Most Recent' tab. */ $most_recent = apply_filters( "nav_menu_items_{$post_type_name}_recent", $most_recent, $args, $box, $recent_args ); echo walk_nav_menu_tree( array_map( 'wp_setup_nav_menu_item', $most_recent ), 0, (object) $args ); ?> </ul> </div><!-- /.tabs-panel --> <div id="<?php echo esc_attr( "tabs-panel-posttype-{$post_type_name}-search" ); ?>" class="tabs-panel <?php echo ( 'search' === $current_tab ? 'tabs-panel-active' : 'tabs-panel-inactive' ); ?>" role="region" aria-label="<?php echo esc_attr( $post_type->labels->search_items ); ?>" tabindex="0" > <?php if ( isset( $_REQUEST[ "quick-search-posttype-{$post_type_name}" ] ) ) { $searched = esc_attr( $_REQUEST[ "quick-search-posttype-{$post_type_name}" ] ); $search_results = get_posts( array( 's' => $searched, 'post_type' => $post_type_name, 'fields' => 'all', 'order' => 'DESC', ) ); } else { $searched = ''; $search_results = array(); } ?> <p class="quick-search-wrap"> <label for="<?php echo esc_attr( "quick-search-posttype-{$post_type_name}" ); ?>" class="screen-reader-text"> <?php /* translators: Hidden accessibility text. */ _e( 'Search' ); ?> </label> <input type="search"<?php wp_nav_menu_disabled_check( $nav_menu_selected_id ); ?> class="quick-search" value="<?php echo $searched; ?>" name="<?php echo esc_attr( "quick-search-posttype-{$post_type_name}" ); ?>" id="<?php echo esc_attr( "quick-search-posttype-{$post_type_name}" ); ?>" /> <span class="spinner"></span> <?php submit_button( __( 'Search' ), 'small quick-search-submit hide-if-js', 'submit', false, array( 'id' => "submit-quick-search-posttype-{$post_type_name}" ) ); ?> </p> <ul id="<?php echo esc_attr( "{$post_type_name}-search-checklist" ); ?>" data-wp-lists="<?php echo esc_attr( "list:{$post_type_name}" ); ?>" class="categorychecklist form-no-clear" > <?php if ( ! empty( $search_results ) && ! is_wp_error( $search_results ) ) : ?> <?php $args['walker'] = $walker; echo walk_nav_menu_tree( array_map( 'wp_setup_nav_menu_item', $search_results ), 0, (object) $args ); ?> <?php elseif ( is_wp_error( $search_results ) ) : ?> <li><?php echo $search_results->get_error_message(); ?></li> <?php elseif ( ! empty( $searched ) ) : ?> <li><?php _e( 'No results found.' ); ?></li> <?php endif; ?> </ul> </div><!-- /.tabs-panel --> <div id="<?php echo esc_attr( "{$post_type_name}-all" ); ?>" class="tabs-panel tabs-panel-view-all <?php echo ( 'all' === $current_tab ? 'tabs-panel-active' : 'tabs-panel-inactive' ); ?>" role="region" aria-label="<?php echo esc_attr( $post_type->labels->all_items ); ?>" tabindex="0" > <?php if ( ! empty( $page_links ) ) : ?> <div class="add-menu-item-pagelinks"> <?php echo $page_links; ?> </div> <?php endif; ?> <ul id="<?php echo esc_attr( "{$post_type_name}checklist" ); ?>" data-wp-lists="<?php echo esc_attr( "list:{$post_type_name}" ); ?>" class="categorychecklist form-no-clear" > <?php $args['walker'] = $walker; if ( $post_type->has_archive ) { $_nav_menu_placeholder = ( 0 > $_nav_menu_placeholder ) ? (int) $_nav_menu_placeholder - 1 : -1; array_unshift( $posts, (object) array( 'ID' => 0, 'object_id' => $_nav_menu_placeholder, 'object' => $post_type_name, 'post_content' => '', 'post_excerpt' => '', 'post_title' => $post_type->labels->archives, 'post_type' => 'nav_menu_item', 'type' => 'post_type_archive', 'url' => get_post_type_archive_link( $post_type_name ), ) ); } /** * Filters the posts displayed in the 'View All' tab of the current * post type's menu items meta box. * * The dynamic portion of the hook name, `$post_type_name`, refers * to the slug of the current post type. * * Possible hook names include: * * - `nav_menu_items_post` * - `nav_menu_items_page` * * @since 3.2.0 * @since 4.6.0 Converted the `$post_type` parameter to accept a WP_Post_Type object. * * @see WP_Query::query() * * @param object[] $posts The posts for the current post type. Mostly `WP_Post` objects, but * can also contain "fake" post objects to represent other menu items. * @param array $args An array of `WP_Query` arguments. * @param WP_Post_Type $post_type The current post type object for this menu item meta box. */ $posts = apply_filters( "nav_menu_items_{$post_type_name}", $posts, $args, $post_type ); $checkbox_items = walk_nav_menu_tree( array_map( 'wp_setup_nav_menu_item', $posts ), 0, (object) $args ); echo $checkbox_items; ?> </ul> <?php if ( ! empty( $page_links ) ) : ?> <div class="add-menu-item-pagelinks"> <?php echo $page_links; ?> </div> <?php endif; ?> </div><!-- /.tabs-panel --> <p class="button-controls wp-clearfix" data-items-type="<?php echo esc_attr( "posttype-{$post_type_name}" ); ?>"> <span class="list-controls hide-if-no-js"> <input type="checkbox"<?php wp_nav_menu_disabled_check( $nav_menu_selected_id ); ?> id="<?php echo esc_attr( $tab_name ); ?>" class="select-all" /> <label for="<?php echo esc_attr( $tab_name ); ?>"><?php _e( 'Select All' ); ?></label> </span> <span class="add-to-menu"> <input type="submit"<?php wp_nav_menu_disabled_check( $nav_menu_selected_id ); ?> class="button submit-add-to-menu right" value="<?php esc_attr_e( 'Add to Menu' ); ?>" name="add-post-type-menu-item" id="<?php echo esc_attr( "submit-posttype-{$post_type_name}" ); ?>" /> <span class="spinner"></span> </span> </p> </div><!-- /.posttypediv --> <?php } /** * Displays a meta box for a taxonomy menu item. * * @since 3.0.0 * * @global int|string $nav_menu_selected_id * * @param string $data_object Not used. * @param array $box { * Taxonomy menu item meta box arguments. * * @type string $id Meta box 'id' attribute. * @type string $title Meta box title. * @type callable $callback Meta box display callback. * @type object $args Extra meta box arguments (the taxonomy object for this meta box). * } */ function wp_nav_menu_item_taxonomy_meta_box( $data_object, $box ) { global $nav_menu_selected_id; $taxonomy_name = $box['args']->name; $taxonomy = get_taxonomy( $taxonomy_name ); $tab_name = $taxonomy_name . '-tab'; // Paginate browsing for large numbers of objects. $per_page = 50; $pagenum = isset( $_REQUEST[ $tab_name ] ) && isset( $_REQUEST['paged'] ) ? absint( $_REQUEST['paged'] ) : 1; $offset = 0 < $pagenum ? $per_page * ( $pagenum - 1 ) : 0; $args = array( 'taxonomy' => $taxonomy_name, 'child_of' => 0, 'exclude' => '', 'hide_empty' => false, 'hierarchical' => 1, 'include' => '', 'number' => $per_page, 'offset' => $offset, 'order' => 'ASC', 'orderby' => 'name', 'pad_counts' => false, ); $terms = get_terms( $args ); if ( ! $terms || is_wp_error( $terms ) ) { echo '<p>' . __( 'No items.' ) . '</p>'; return; } $num_pages = (int) ceil( wp_count_terms( array_merge( $args, array( 'number' => '', 'offset' => '', ) ) ) / $per_page ); $page_links = paginate_links( array( 'base' => add_query_arg( array( $tab_name => 'all', 'paged' => '%#%', 'item-type' => 'taxonomy', 'item-object' => $taxonomy_name, ) ), 'format' => '', 'prev_text' => '<span aria-label="' . esc_attr__( 'Previous page' ) . '">' . __( '«' ) . '</span>', 'next_text' => '<span aria-label="' . esc_attr__( 'Next page' ) . '">' . __( '»' ) . '</span>', /* translators: Hidden accessibility text. */ 'before_page_number' => '<span class="screen-reader-text">' . __( 'Page' ) . '</span> ', 'total' => $num_pages, 'current' => $pagenum, ) ); $db_fields = false; if ( is_taxonomy_hierarchical( $taxonomy_name ) ) { $db_fields = array( 'parent' => 'parent', 'id' => 'term_id', ); } $walker = new Walker_Nav_Menu_Checklist( $db_fields ); $current_tab = 'most-used'; if ( isset( $_REQUEST[ $tab_name ] ) && in_array( $_REQUEST[ $tab_name ], array( 'all', 'most-used', 'search' ), true ) ) { $current_tab = $_REQUEST[ $tab_name ]; } if ( ! empty( $_REQUEST[ "quick-search-taxonomy-{$taxonomy_name}" ] ) ) { $current_tab = 'search'; } $removed_args = array( 'action', 'customlink-tab', 'edit-menu-item', 'menu-item', 'page-tab', '_wpnonce', ); $most_used_url = ''; $view_all_url = ''; $search_url = ''; if ( $nav_menu_selected_id ) { $most_used_url = add_query_arg( $tab_name, 'most-used', remove_query_arg( $removed_args ) ); $view_all_url = add_query_arg( $tab_name, 'all', remove_query_arg( $removed_args ) ); $search_url = add_query_arg( $tab_name, 'search', remove_query_arg( $removed_args ) ); } ?> <div id="<?php echo esc_attr( "taxonomy-{$taxonomy_name}" ); ?>" class="taxonomydiv"> <ul id="<?php echo esc_attr( "taxonomy-{$taxonomy_name}-tabs" ); ?>" class="taxonomy-tabs add-menu-item-tabs"> <li <?php echo ( 'most-used' === $current_tab ? ' class="tabs"' : '' ); ?>> <a class="nav-tab-link" data-type="<?php echo esc_attr( "tabs-panel-{$taxonomy_name}-pop" ); ?>" href="<?php echo esc_url( $most_used_url . "#tabs-panel-{$taxonomy_name}-pop" ); ?>" > <?php echo esc_html( $taxonomy->labels->most_used ); ?> </a> </li> <li <?php echo ( 'all' === $current_tab ? ' class="tabs"' : '' ); ?>> <a class="nav-tab-link" data-type="<?php echo esc_attr( "tabs-panel-{$taxonomy_name}-all" ); ?>" href="<?php echo esc_url( $view_all_url . "#tabs-panel-{$taxonomy_name}-all" ); ?>" > <?php _e( 'View All' ); ?> </a> </li> <li <?php echo ( 'search' === $current_tab ? ' class="tabs"' : '' ); ?>> <a class="nav-tab-link" data-type="<?php echo esc_attr( "tabs-panel-search-taxonomy-{$taxonomy_name}" ); ?>" href="<?php echo esc_url( $search_url . "#tabs-panel-search-taxonomy-{$taxonomy_name}" ); ?>" > <?php _e( 'Search' ); ?> </a> </li> </ul><!-- .taxonomy-tabs --> <div id="<?php echo esc_attr( "tabs-panel-{$taxonomy_name}-pop" ); ?>" class="tabs-panel <?php echo ( 'most-used' === $current_tab ? 'tabs-panel-active' : 'tabs-panel-inactive' ); ?>" role="region" aria-label="<?php echo esc_attr( $taxonomy->labels->most_used ); ?>" tabindex="0" > <ul id="<?php echo esc_attr( "{$taxonomy_name}checklist-pop" ); ?>" class="categorychecklist form-no-clear" > <?php $popular_terms = get_terms( array( 'taxonomy' => $taxonomy_name, 'orderby' => 'count', 'order' => 'DESC', 'number' => 10, 'hierarchical' => false, ) ); $args['walker'] = $walker; echo walk_nav_menu_tree( array_map( 'wp_setup_nav_menu_item', $popular_terms ), 0, (object) $args ); ?> </ul> </div><!-- /.tabs-panel --> <div id="<?php echo esc_attr( "tabs-panel-{$taxonomy_name}-all" ); ?>" class="tabs-panel tabs-panel-view-all <?php echo ( 'all' === $current_tab ? 'tabs-panel-active' : 'tabs-panel-inactive' ); ?>" role="region" aria-label="<?php echo esc_attr( $taxonomy->labels->all_items ); ?>" tabindex="0" > <?php if ( ! empty( $page_links ) ) : ?> <div class="add-menu-item-pagelinks"> <?php echo $page_links; ?> </div> <?php endif; ?> <ul id="<?php echo esc_attr( "{$taxonomy_name}checklist" ); ?>" data-wp-lists="<?php echo esc_attr( "list:{$taxonomy_name}" ); ?>" class="categorychecklist form-no-clear" > <?php $args['walker'] = $walker; echo walk_nav_menu_tree( array_map( 'wp_setup_nav_menu_item', $terms ), 0, (object) $args ); ?> </ul> <?php if ( ! empty( $page_links ) ) : ?> <div class="add-menu-item-pagelinks"> <?php echo $page_links; ?> </div> <?php endif; ?> </div><!-- /.tabs-panel --> <div id="<?php echo esc_attr( "tabs-panel-search-taxonomy-{$taxonomy_name}" ); ?>" class="tabs-panel <?php echo ( 'search' === $current_tab ? 'tabs-panel-active' : 'tabs-panel-inactive' ); ?>" role="region" aria-label="<?php echo esc_attr( $taxonomy->labels->search_items ); ?>" tabindex="0"> <?php if ( isset( $_REQUEST[ "quick-search-taxonomy-{$taxonomy_name}" ] ) ) { $searched = esc_attr( $_REQUEST[ "quick-search-taxonomy-{$taxonomy_name}" ] ); $search_results = get_terms( array( 'taxonomy' => $taxonomy_name, 'name__like' => $searched, 'fields' => 'all', 'orderby' => 'count', 'order' => 'DESC', 'hierarchical' => false, ) ); } else { $searched = ''; $search_results = array(); } ?> <p class="quick-search-wrap"> <label for="<?php echo esc_attr( "quick-search-taxonomy-{$taxonomy_name}" ); ?>" class="screen-reader-text"> <?php /* translators: Hidden accessibility text. */ _e( 'Search' ); ?> </label> <input type="search" class="quick-search" value="<?php echo $searched; ?>" name="<?php echo esc_attr( "quick-search-taxonomy-{$taxonomy_name}" ); ?>" id="<?php echo esc_attr( "quick-search-taxonomy-{$taxonomy_name}" ); ?>" /> <span class="spinner"></span> <?php submit_button( __( 'Search' ), 'small quick-search-submit hide-if-js', 'submit', false, array( 'id' => "submit-quick-search-taxonomy-{$taxonomy_name}" ) ); ?> </p> <ul id="<?php echo esc_attr( "{$taxonomy_name}-search-checklist" ); ?>" data-wp-lists="<?php echo esc_attr( "list:{$taxonomy_name}" ); ?>" class="categorychecklist form-no-clear" > <?php if ( ! empty( $search_results ) && ! is_wp_error( $search_results ) ) : ?> <?php $args['walker'] = $walker; echo walk_nav_menu_tree( array_map( 'wp_setup_nav_menu_item', $search_results ), 0, (object) $args ); ?> <?php elseif ( is_wp_error( $search_results ) ) : ?> <li><?php echo $search_results->get_error_message(); ?></li> <?php elseif ( ! empty( $searched ) ) : ?> <li><?php _e( 'No results found.' ); ?></li> <?php endif; ?> </ul> </div><!-- /.tabs-panel --> <p class="button-controls wp-clearfix" data-items-type="<?php echo esc_attr( "taxonomy-{$taxonomy_name}" ); ?>"> <span class="list-controls hide-if-no-js"> <input type="checkbox"<?php wp_nav_menu_disabled_check( $nav_menu_selected_id ); ?> id="<?php echo esc_attr( $tab_name ); ?>" class="select-all" /> <label for="<?php echo esc_attr( $tab_name ); ?>"><?php _e( 'Select All' ); ?></label> </span> <span class="add-to-menu"> <input type="submit"<?php wp_nav_menu_disabled_check( $nav_menu_selected_id ); ?> class="button submit-add-to-menu right" value="<?php esc_attr_e( 'Add to Menu' ); ?>" name="add-taxonomy-menu-item" id="<?php echo esc_attr( "submit-taxonomy-{$taxonomy_name}" ); ?>" /> <span class="spinner"></span> </span> </p> </div><!-- /.taxonomydiv --> <?php } /** * Save posted nav menu item data. * * @since 3.0.0 * * @param int $menu_id The menu ID for which to save this item. Value of 0 makes a draft, orphaned menu item. Default 0. * @param array[] $menu_data The unsanitized POSTed menu item data. * @return int[] The database IDs of the items saved */ function wp_save_nav_menu_items( $menu_id = 0, $menu_data = array() ) { $menu_id = (int) $menu_id; $items_saved = array(); if ( 0 === $menu_id || is_nav_menu( $menu_id ) ) { // Loop through all the menu items' POST values. foreach ( (array) $menu_data as $_possible_db_id => $_item_object_data ) { if ( // Checkbox is not checked. empty( $_item_object_data['menu-item-object-id'] ) && ( // And item type either isn't set. ! isset( $_item_object_data['menu-item-type'] ) || // Or URL is the default. in_array( $_item_object_data['menu-item-url'], array( 'https://', 'http://', '' ), true ) || // Or it's not a custom menu item (but not the custom home page). ! ( 'custom' === $_item_object_data['menu-item-type'] && ! isset( $_item_object_data['menu-item-db-id'] ) ) || // Or it *is* a custom menu item that already exists. ! empty( $_item_object_data['menu-item-db-id'] ) ) ) { // Then this potential menu item is not getting added to this menu. continue; } // If this possible menu item doesn't actually have a menu database ID yet. if ( empty( $_item_object_data['menu-item-db-id'] ) || ( 0 > $_possible_db_id ) || $_possible_db_id !== (int) $_item_object_data['menu-item-db-id'] ) { $_actual_db_id = 0; } else { $_actual_db_id = (int) $_item_object_data['menu-item-db-id']; } $args = array( 'menu-item-db-id' => ( isset( $_item_object_data['menu-item-db-id'] ) ? $_item_object_data['menu-item-db-id'] : '' ), 'menu-item-object-id' => ( isset( $_item_object_data['menu-item-object-id'] ) ? $_item_object_data['menu-item-object-id'] : '' ), 'menu-item-object' => ( isset( $_item_object_data['menu-item-object'] ) ? $_item_object_data['menu-item-object'] : '' ), 'menu-item-parent-id' => ( isset( $_item_object_data['menu-item-parent-id'] ) ? $_item_object_data['menu-item-parent-id'] : '' ), 'menu-item-position' => ( isset( $_item_object_data['menu-item-position'] ) ? $_item_object_data['menu-item-position'] : '' ), 'menu-item-type' => ( isset( $_item_object_data['menu-item-type'] ) ? $_item_object_data['menu-item-type'] : '' ), 'menu-item-title' => ( isset( $_item_object_data['menu-item-title'] ) ? $_item_object_data['menu-item-title'] : '' ), 'menu-item-url' => ( isset( $_item_object_data['menu-item-url'] ) ? $_item_object_data['menu-item-url'] : '' ), 'menu-item-description' => ( isset( $_item_object_data['menu-item-description'] ) ? $_item_object_data['menu-item-description'] : '' ), 'menu-item-attr-title' => ( isset( $_item_object_data['menu-item-attr-title'] ) ? $_item_object_data['menu-item-attr-title'] : '' ), 'menu-item-target' => ( isset( $_item_object_data['menu-item-target'] ) ? $_item_object_data['menu-item-target'] : '' ), 'menu-item-classes' => ( isset( $_item_object_data['menu-item-classes'] ) ? $_item_object_data['menu-item-classes'] : '' ), 'menu-item-xfn' => ( isset( $_item_object_data['menu-item-xfn'] ) ? $_item_object_data['menu-item-xfn'] : '' ), ); $items_saved[] = wp_update_nav_menu_item( $menu_id, $_actual_db_id, $args ); } } return $items_saved; } /** * Adds custom arguments to some of the meta box object types. * * @since 3.0.0 * * @access private * * @param object $data_object The post type or taxonomy meta-object. * @return object The post type or taxonomy object. */ function _wp_nav_menu_meta_box_object( $data_object = null ) { if ( isset( $data_object->name ) ) { if ( 'page' === $data_object->name ) { $data_object->_default_query = array( 'orderby' => 'menu_order title', 'post_status' => 'publish', ); // Posts should show only published items. } elseif ( 'post' === $data_object->name ) { $data_object->_default_query = array( 'post_status' => 'publish', ); // Categories should be in reverse chronological order. } elseif ( 'category' === $data_object->name ) { $data_object->_default_query = array( 'orderby' => 'id', 'order' => 'DESC', ); // Custom post types should show only published items. } else { $data_object->_default_query = array( 'post_status' => 'publish', ); } } return $data_object; } /** * Returns the menu formatted to edit. * * @since 3.0.0 * * @param int $menu_id Optional. The ID of the menu to format. Default 0. * @return string|WP_Error The menu formatted to edit or error object on failure. */ function wp_get_nav_menu_to_edit( $menu_id = 0 ) { $menu = wp_get_nav_menu_object( $menu_id ); // If the menu exists, get its items. if ( is_nav_menu( $menu ) ) { $menu_items = wp_get_nav_menu_items( $menu->term_id, array( 'post_status' => 'any' ) ); $result = '<div id="menu-instructions" class="post-body-plain'; $result .= ( ! empty( $menu_items ) ) ? ' menu-instructions-inactive">' : '">'; $result .= '<p>' . __( 'Add menu items from the column on the left.' ) . '</p>'; $result .= '</div>'; if ( empty( $menu_items ) ) { return $result . ' <ul class="menu" id="menu-to-edit"> </ul>'; } /** * Filters the Walker class used when adding nav menu items. * * @since 3.0.0 * * @param string $class The walker class to use. Default 'Walker_Nav_Menu_Edit'. * @param int $menu_id ID of the menu being rendered. */ $walker_class_name = apply_filters( 'wp_edit_nav_menu_walker', 'Walker_Nav_Menu_Edit', $menu_id ); if ( class_exists( $walker_class_name ) ) { $walker = new $walker_class_name(); } else { return new WP_Error( 'menu_walker_not_exist', sprintf( /* translators: %s: Walker class name. */ __( 'The Walker class named %s does not exist.' ), '<strong>' . $walker_class_name . '</strong>' ) ); } $some_pending_menu_items = false; $some_invalid_menu_items = false; foreach ( (array) $menu_items as $menu_item ) { if ( isset( $menu_item->post_status ) && 'draft' === $menu_item->post_status ) { $some_pending_menu_items = true; } if ( ! empty( $menu_item->_invalid ) ) { $some_invalid_menu_items = true; } } if ( $some_pending_menu_items ) { $message = __( 'Click Save Menu to make pending menu items public.' ); $notice_args = array( 'type' => 'info', 'additional_classes' => array( 'notice-alt', 'inline' ), ); $result .= wp_get_admin_notice( $message, $notice_args ); } if ( $some_invalid_menu_items ) { $message = __( 'There are some invalid menu items. Please check or delete them.' ); $notice_args = array( 'type' => 'error', 'additional_classes' => array( 'notice-alt', 'inline' ), ); $result .= wp_get_admin_notice( $message, $notice_args ); } $result .= '<ul class="menu" id="menu-to-edit"> '; $result .= walk_nav_menu_tree( array_map( 'wp_setup_nav_menu_item', $menu_items ), 0, (object) array( 'walker' => $walker ) ); $result .= ' </ul> '; return $result; } elseif ( is_wp_error( $menu ) ) { return $menu; } } /** * Returns the columns for the nav menus page. * * @since 3.0.0 * * @return string[] Array of column titles keyed by their column name. */ function wp_nav_menu_manage_columns() { return array( '_title' => __( 'Show advanced menu properties' ), 'cb' => '<input type="checkbox" />', 'link-target' => __( 'Link Target' ), 'title-attribute' => __( 'Title Attribute' ), 'css-classes' => __( 'CSS Classes' ), 'xfn' => __( 'Link Relationship (XFN)' ), 'description' => __( 'Description' ), ); } /** * Deletes orphaned draft menu items * * @access private * @since 3.0.0 * * @global wpdb $wpdb WordPress database abstraction object. */ function _wp_delete_orphaned_draft_menu_items() { global $wpdb; $delete_timestamp = time() - ( DAY_IN_SECONDS * EMPTY_TRASH_DAYS ); // Delete orphaned draft menu items. $menu_items_to_delete = $wpdb->get_col( $wpdb->prepare( "SELECT ID FROM $wpdb->posts AS p LEFT JOIN $wpdb->postmeta AS m ON p.ID = m.post_id WHERE post_type = 'nav_menu_item' AND post_status = 'draft' AND meta_key = '_menu_item_orphaned' AND meta_value < %d", $delete_timestamp ) ); foreach ( (array) $menu_items_to_delete as $menu_item_id ) { wp_delete_post( $menu_item_id, true ); } } /** * Saves nav menu items. * * @since 3.6.0 * * @param int|string $nav_menu_selected_id ID, slug, or name of the currently-selected menu. * @param string $nav_menu_selected_title Title of the currently-selected menu. * @return string[] The menu updated messages. */ function wp_nav_menu_update_menu_items( $nav_menu_selected_id, $nav_menu_selected_title ) { $unsorted_menu_items = wp_get_nav_menu_items( $nav_menu_selected_id, array( 'orderby' => 'ID', 'output' => ARRAY_A, 'output_key' => 'ID', 'post_status' => 'draft,publish', ) ); $messages = array(); $menu_items = array(); // Index menu items by DB ID. foreach ( $unsorted_menu_items as $_item ) { $menu_items[ $_item->db_id ] = $_item; } $post_fields = array( 'menu-item-db-id', 'menu-item-object-id', 'menu-item-object', 'menu-item-parent-id', 'menu-item-position', 'menu-item-type', 'menu-item-title', 'menu-item-url', 'menu-item-description', 'menu-item-attr-title', 'menu-item-target', 'menu-item-classes', 'menu-item-xfn', ); wp_defer_term_counting( true ); // Loop through all the menu items' POST variables. if ( ! empty( $_POST['menu-item-db-id'] ) ) { foreach ( (array) $_POST['menu-item-db-id'] as $_key => $k ) { // Menu item title can't be blank. if ( ! isset( $_POST['menu-item-title'][ $_key ] ) || '' === $_POST['menu-item-title'][ $_key ] ) { continue; } $args = array(); foreach ( $post_fields as $field ) { $args[ $field ] = isset( $_POST[ $field ][ $_key ] ) ? $_POST[ $field ][ $_key ] : ''; } $menu_item_db_id = wp_update_nav_menu_item( $nav_menu_selected_id, ( (int) $_POST['menu-item-db-id'][ $_key ] !== $_key ? 0 : $_key ), $args ); if ( is_wp_error( $menu_item_db_id ) ) { $messages[] = wp_get_admin_notice( $menu_item_db_id->get_error_message(), array( 'id' => 'message', 'additional_classes' => array( 'error' ), ) ); } else { unset( $menu_items[ $menu_item_db_id ] ); } } } // Remove menu items from the menu that weren't in $_POST. if ( ! empty( $menu_items ) ) { foreach ( array_keys( $menu_items ) as $menu_item_id ) { if ( is_nav_menu_item( $menu_item_id ) ) { wp_delete_post( $menu_item_id ); } } } // Store 'auto-add' pages. $auto_add = ! empty( $_POST['auto-add-pages'] ); $nav_menu_option = (array) get_option( 'nav_menu_options' ); if ( ! isset( $nav_menu_option['auto_add'] ) ) { $nav_menu_option['auto_add'] = array(); } if ( $auto_add ) { if ( ! in_array( $nav_menu_selected_id, $nav_menu_option['auto_add'], true ) ) { $nav_menu_option['auto_add'][] = $nav_menu_selected_id; } } else { $key = array_search( $nav_menu_selected_id, $nav_menu_option['auto_add'], true ); if ( false !== $key ) { unset( $nav_menu_option['auto_add'][ $key ] ); } } // Remove non-existent/deleted menus. $nav_menu_option['auto_add'] = array_intersect( $nav_menu_option['auto_add'], wp_get_nav_menus( array( 'fields' => 'ids' ) ) ); update_option( 'nav_menu_options', $nav_menu_option, false ); wp_defer_term_counting( false ); /** This action is documented in wp-includes/nav-menu.php */ do_action( 'wp_update_nav_menu', $nav_menu_selected_id ); /* translators: %s: Nav menu title. */ $message = sprintf( __( '%s has been updated.' ), '<strong>' . $nav_menu_selected_title . '</strong>' ); $notice_args = array( 'id' => 'message', 'dismissible' => true, 'additional_classes' => array( 'updated' ), ); $messages[] = wp_get_admin_notice( $message, $notice_args ); unset( $menu_items, $unsorted_menu_items ); return $messages; } /** * If a JSON blob of navigation menu data is in POST data, expand it and inject * it into `$_POST` to avoid PHP `max_input_vars` limitations. See #14134. * * @ignore * @since 4.5.3 * @access private */ function _wp_expand_nav_menu_post_data() { if ( ! isset( $_POST['nav-menu-data'] ) ) { return; } $data = json_decode( stripslashes( $_POST['nav-menu-data'] ) ); if ( ! is_null( $data ) && $data ) { foreach ( $data as $post_input_data ) { /* * For input names that are arrays (e.g. `menu-item-db-id[3][4][5]`), * derive the array path keys via regex and set the value in $_POST. */ preg_match( '#([^\[]*)(\[(.+)\])?#', $post_input_data->name, $matches ); $array_bits = array( $matches[1] ); if ( isset( $matches[3] ) ) { $array_bits = array_merge( $array_bits, explode( '][', $matches[3] ) ); } $new_post_data = array(); // Build the new array value from leaf to trunk. for ( $i = count( $array_bits ) - 1; $i >= 0; $i-- ) { if ( count( $array_bits ) - 1 === $i ) { $new_post_data[ $array_bits[ $i ] ] = wp_slash( $post_input_data->value ); } else { $new_post_data = array( $array_bits[ $i ] => $new_post_data ); } } $_POST = array_replace_recursive( $_POST, $new_post_data ); } } } class-theme-upgrader-skin.php 0000644 00000010120 14735706075 0012243 0 ustar 00 <?php /** * Upgrader API: Theme_Upgrader_Skin class * * @package WordPress * @subpackage Upgrader * @since 4.6.0 */ /** * Theme Upgrader Skin for WordPress Theme Upgrades. * * @since 2.8.0 * @since 4.6.0 Moved to its own file from wp-admin/includes/class-wp-upgrader-skins.php. * * @see WP_Upgrader_Skin */ class Theme_Upgrader_Skin extends WP_Upgrader_Skin { /** * Holds the theme slug in the Theme Directory. * * @since 2.8.0 * * @var string */ public $theme = ''; /** * Constructor. * * Sets up the theme upgrader skin. * * @since 2.8.0 * * @param array $args Optional. The theme upgrader skin arguments to * override default options. Default empty array. */ public function __construct( $args = array() ) { $defaults = array( 'url' => '', 'theme' => '', 'nonce' => '', 'title' => __( 'Update Theme' ), ); $args = wp_parse_args( $args, $defaults ); $this->theme = $args['theme']; parent::__construct( $args ); } /** * Performs an action following a single theme update. * * @since 2.8.0 */ public function after() { $this->decrement_update_count( 'theme' ); $update_actions = array(); $theme_info = $this->upgrader->theme_info(); if ( $theme_info ) { $name = $theme_info->display( 'Name' ); $stylesheet = $this->upgrader->result['destination_name']; $template = $theme_info->get_template(); $activate_link = add_query_arg( array( 'action' => 'activate', 'template' => urlencode( $template ), 'stylesheet' => urlencode( $stylesheet ), ), admin_url( 'themes.php' ) ); $activate_link = wp_nonce_url( $activate_link, 'switch-theme_' . $stylesheet ); $customize_url = add_query_arg( array( 'theme' => urlencode( $stylesheet ), 'return' => urlencode( admin_url( 'themes.php' ) ), ), admin_url( 'customize.php' ) ); if ( get_stylesheet() === $stylesheet ) { if ( current_user_can( 'edit_theme_options' ) && current_user_can( 'customize' ) ) { $update_actions['preview'] = sprintf( '<a href="%s" class="hide-if-no-customize load-customize">' . '<span aria-hidden="true">%s</span><span class="screen-reader-text">%s</span></a>', esc_url( $customize_url ), __( 'Customize' ), /* translators: Hidden accessibility text. %s: Theme name. */ sprintf( __( 'Customize “%s”' ), $name ) ); } } elseif ( current_user_can( 'switch_themes' ) ) { if ( current_user_can( 'edit_theme_options' ) && current_user_can( 'customize' ) ) { $update_actions['preview'] = sprintf( '<a href="%s" class="hide-if-no-customize load-customize">' . '<span aria-hidden="true">%s</span><span class="screen-reader-text">%s</span></a>', esc_url( $customize_url ), __( 'Live Preview' ), /* translators: Hidden accessibility text. %s: Theme name. */ sprintf( __( 'Live Preview “%s”' ), $name ) ); } $update_actions['activate'] = sprintf( '<a href="%s" class="activatelink">' . '<span aria-hidden="true">%s</span><span class="screen-reader-text">%s</span></a>', esc_url( $activate_link ), _x( 'Activate', 'theme' ), /* translators: Hidden accessibility text. %s: Theme name. */ sprintf( _x( 'Activate “%s”', 'theme' ), $name ) ); } if ( ! $this->result || is_wp_error( $this->result ) || is_network_admin() ) { unset( $update_actions['preview'], $update_actions['activate'] ); } } $update_actions['themes_page'] = sprintf( '<a href="%s" target="_parent">%s</a>', self_admin_url( 'themes.php' ), __( 'Go to Themes page' ) ); /** * Filters the list of action links available following a single theme update. * * @since 2.8.0 * * @param string[] $update_actions Array of theme action links. * @param string $theme Theme directory name. */ $update_actions = apply_filters( 'update_theme_complete_actions', $update_actions, $this->theme ); if ( ! empty( $update_actions ) ) { $this->feedback( implode( ' | ', (array) $update_actions ) ); } } } plugin.php 0000644 00000265375 14735706075 0006613 0 ustar 00 <?php /** * WordPress Plugin Administration API * * @package WordPress * @subpackage Administration */ /** * Parses the plugin contents to retrieve plugin's metadata. * * All plugin headers must be on their own line. Plugin description must not have * any newlines, otherwise only parts of the description will be displayed. * The below is formatted for printing. * * /* * Plugin Name: Name of the plugin. * Plugin URI: The home page of the plugin. * Description: Plugin description. * Author: Plugin author's name. * Author URI: Link to the author's website. * Version: Plugin version. * Text Domain: Optional. Unique identifier, should be same as the one used in * load_plugin_textdomain(). * Domain Path: Optional. Only useful if the translations are located in a * folder above the plugin's base path. For example, if .mo files are * located in the locale folder then Domain Path will be "/locale/" and * must have the first slash. Defaults to the base folder the plugin is * located in. * Network: Optional. Specify "Network: true" to require that a plugin is activated * across all sites in an installation. This will prevent a plugin from being * activated on a single site when Multisite is enabled. * Requires at least: Optional. Specify the minimum required WordPress version. * Requires PHP: Optional. Specify the minimum required PHP version. * * / # Remove the space to close comment. * * The first 8 KB of the file will be pulled in and if the plugin data is not * within that first 8 KB, then the plugin author should correct their plugin * and move the plugin data headers to the top. * * The plugin file is assumed to have permissions to allow for scripts to read * the file. This is not checked however and the file is only opened for * reading. * * @since 1.5.0 * @since 5.3.0 Added support for `Requires at least` and `Requires PHP` headers. * @since 5.8.0 Added support for `Update URI` header. * @since 6.5.0 Added support for `Requires Plugins` header. * * @param string $plugin_file Absolute path to the main plugin file. * @param bool $markup Optional. If the returned data should have HTML markup applied. * Default true. * @param bool $translate Optional. If the returned data should be translated. Default true. * @return array { * Plugin data. Values will be empty if not supplied by the plugin. * * @type string $Name Name of the plugin. Should be unique. * @type string $PluginURI Plugin URI. * @type string $Version Plugin version. * @type string $Description Plugin description. * @type string $Author Plugin author's name. * @type string $AuthorURI Plugin author's website address (if set). * @type string $TextDomain Plugin textdomain. * @type string $DomainPath Plugin's relative directory path to .mo files. * @type bool $Network Whether the plugin can only be activated network-wide. * @type string $RequiresWP Minimum required version of WordPress. * @type string $RequiresPHP Minimum required version of PHP. * @type string $UpdateURI ID of the plugin for update purposes, should be a URI. * @type string $RequiresPlugins Comma separated list of dot org plugin slugs. * @type string $Title Title of the plugin and link to the plugin's site (if set). * @type string $AuthorName Plugin author's name. * } */ function get_plugin_data( $plugin_file, $markup = true, $translate = true ) { $default_headers = array( 'Name' => 'Plugin Name', 'PluginURI' => 'Plugin URI', 'Version' => 'Version', 'Description' => 'Description', 'Author' => 'Author', 'AuthorURI' => 'Author URI', 'TextDomain' => 'Text Domain', 'DomainPath' => 'Domain Path', 'Network' => 'Network', 'RequiresWP' => 'Requires at least', 'RequiresPHP' => 'Requires PHP', 'UpdateURI' => 'Update URI', 'RequiresPlugins' => 'Requires Plugins', // Site Wide Only is deprecated in favor of Network. '_sitewide' => 'Site Wide Only', ); $plugin_data = get_file_data( $plugin_file, $default_headers, 'plugin' ); // Site Wide Only is the old header for Network. if ( ! $plugin_data['Network'] && $plugin_data['_sitewide'] ) { /* translators: 1: Site Wide Only: true, 2: Network: true */ _deprecated_argument( __FUNCTION__, '3.0.0', sprintf( __( 'The %1$s plugin header is deprecated. Use %2$s instead.' ), '<code>Site Wide Only: true</code>', '<code>Network: true</code>' ) ); $plugin_data['Network'] = $plugin_data['_sitewide']; } $plugin_data['Network'] = ( 'true' === strtolower( $plugin_data['Network'] ) ); unset( $plugin_data['_sitewide'] ); // If no text domain is defined fall back to the plugin slug. if ( ! $plugin_data['TextDomain'] ) { $plugin_slug = dirname( plugin_basename( $plugin_file ) ); if ( '.' !== $plugin_slug && ! str_contains( $plugin_slug, '/' ) ) { $plugin_data['TextDomain'] = $plugin_slug; } } if ( $markup || $translate ) { $plugin_data = _get_plugin_data_markup_translate( $plugin_file, $plugin_data, $markup, $translate ); } else { $plugin_data['Title'] = $plugin_data['Name']; $plugin_data['AuthorName'] = $plugin_data['Author']; } return $plugin_data; } /** * Sanitizes plugin data, optionally adds markup, optionally translates. * * @since 2.7.0 * * @see get_plugin_data() * * @access private * * @param string $plugin_file Path to the main plugin file. * @param array $plugin_data An array of plugin data. See get_plugin_data(). * @param bool $markup Optional. If the returned data should have HTML markup applied. * Default true. * @param bool $translate Optional. If the returned data should be translated. Default true. * @return array Plugin data. Values will be empty if not supplied by the plugin. * See get_plugin_data() for the list of possible values. */ function _get_plugin_data_markup_translate( $plugin_file, $plugin_data, $markup = true, $translate = true ) { // Sanitize the plugin filename to a WP_PLUGIN_DIR relative path. $plugin_file = plugin_basename( $plugin_file ); // Translate fields. if ( $translate ) { $textdomain = $plugin_data['TextDomain']; if ( $textdomain ) { if ( ! is_textdomain_loaded( $textdomain ) ) { if ( $plugin_data['DomainPath'] ) { load_plugin_textdomain( $textdomain, false, dirname( $plugin_file ) . $plugin_data['DomainPath'] ); } else { load_plugin_textdomain( $textdomain, false, dirname( $plugin_file ) ); } } } elseif ( 'hello.php' === basename( $plugin_file ) ) { $textdomain = 'default'; } if ( $textdomain ) { foreach ( array( 'Name', 'PluginURI', 'Description', 'Author', 'AuthorURI', 'Version' ) as $field ) { if ( ! empty( $plugin_data[ $field ] ) ) { // phpcs:ignore WordPress.WP.I18n.LowLevelTranslationFunction,WordPress.WP.I18n.NonSingularStringLiteralText,WordPress.WP.I18n.NonSingularStringLiteralDomain $plugin_data[ $field ] = translate( $plugin_data[ $field ], $textdomain ); } } } } // Sanitize fields. $allowed_tags_in_links = array( 'abbr' => array( 'title' => true ), 'acronym' => array( 'title' => true ), 'code' => true, 'em' => true, 'strong' => true, ); $allowed_tags = $allowed_tags_in_links; $allowed_tags['a'] = array( 'href' => true, 'title' => true, ); /* * Name is marked up inside <a> tags. Don't allow these. * Author is too, but some plugins have used <a> here (omitting Author URI). */ $plugin_data['Name'] = wp_kses( $plugin_data['Name'], $allowed_tags_in_links ); $plugin_data['Author'] = wp_kses( $plugin_data['Author'], $allowed_tags ); $plugin_data['Description'] = wp_kses( $plugin_data['Description'], $allowed_tags ); $plugin_data['Version'] = wp_kses( $plugin_data['Version'], $allowed_tags ); $plugin_data['PluginURI'] = esc_url( $plugin_data['PluginURI'] ); $plugin_data['AuthorURI'] = esc_url( $plugin_data['AuthorURI'] ); $plugin_data['Title'] = $plugin_data['Name']; $plugin_data['AuthorName'] = $plugin_data['Author']; // Apply markup. if ( $markup ) { if ( $plugin_data['PluginURI'] && $plugin_data['Name'] ) { $plugin_data['Title'] = '<a href="' . $plugin_data['PluginURI'] . '">' . $plugin_data['Name'] . '</a>'; } if ( $plugin_data['AuthorURI'] && $plugin_data['Author'] ) { $plugin_data['Author'] = '<a href="' . $plugin_data['AuthorURI'] . '">' . $plugin_data['Author'] . '</a>'; } $plugin_data['Description'] = wptexturize( $plugin_data['Description'] ); if ( $plugin_data['Author'] ) { $plugin_data['Description'] .= sprintf( /* translators: %s: Plugin author. */ ' <cite>' . __( 'By %s.' ) . '</cite>', $plugin_data['Author'] ); } } return $plugin_data; } /** * Gets a list of a plugin's files. * * @since 2.8.0 * * @param string $plugin Path to the plugin file relative to the plugins directory. * @return string[] Array of file names relative to the plugin root. */ function get_plugin_files( $plugin ) { $plugin_file = WP_PLUGIN_DIR . '/' . $plugin; $dir = dirname( $plugin_file ); $plugin_files = array( plugin_basename( $plugin_file ) ); if ( is_dir( $dir ) && WP_PLUGIN_DIR !== $dir ) { /** * Filters the array of excluded directories and files while scanning the folder. * * @since 4.9.0 * * @param string[] $exclusions Array of excluded directories and files. */ $exclusions = (array) apply_filters( 'plugin_files_exclusions', array( 'CVS', 'node_modules', 'vendor', 'bower_components' ) ); $list_files = list_files( $dir, 100, $exclusions ); $list_files = array_map( 'plugin_basename', $list_files ); $plugin_files = array_merge( $plugin_files, $list_files ); $plugin_files = array_values( array_unique( $plugin_files ) ); } return $plugin_files; } /** * Checks the plugins directory and retrieve all plugin files with plugin data. * * WordPress only supports plugin files in the base plugins directory * (wp-content/plugins) and in one directory above the plugins directory * (wp-content/plugins/my-plugin). The file it looks for has the plugin data * and must be found in those two locations. It is recommended to keep your * plugin files in their own directories. * * The file with the plugin data is the file that will be included and therefore * needs to have the main execution for the plugin. This does not mean * everything must be contained in the file and it is recommended that the file * be split for maintainability. Keep everything in one file for extreme * optimization purposes. * * @since 1.5.0 * * @param string $plugin_folder Optional. Relative path to single plugin folder. * @return array[] Array of arrays of plugin data, keyed by plugin file name. See get_plugin_data(). */ function get_plugins( $plugin_folder = '' ) { $cache_plugins = wp_cache_get( 'plugins', 'plugins' ); if ( ! $cache_plugins ) { $cache_plugins = array(); } if ( isset( $cache_plugins[ $plugin_folder ] ) ) { return $cache_plugins[ $plugin_folder ]; } $wp_plugins = array(); $plugin_root = WP_PLUGIN_DIR; if ( ! empty( $plugin_folder ) ) { $plugin_root .= $plugin_folder; } // Files in wp-content/plugins directory. $plugins_dir = @opendir( $plugin_root ); $plugin_files = array(); if ( $plugins_dir ) { while ( ( $file = readdir( $plugins_dir ) ) !== false ) { if ( str_starts_with( $file, '.' ) ) { continue; } if ( is_dir( $plugin_root . '/' . $file ) ) { $plugins_subdir = @opendir( $plugin_root . '/' . $file ); if ( $plugins_subdir ) { while ( ( $subfile = readdir( $plugins_subdir ) ) !== false ) { if ( str_starts_with( $subfile, '.' ) ) { continue; } if ( str_ends_with( $subfile, '.php' ) ) { $plugin_files[] = "$file/$subfile"; } } closedir( $plugins_subdir ); } } elseif ( str_ends_with( $file, '.php' ) ) { $plugin_files[] = $file; } } closedir( $plugins_dir ); } if ( empty( $plugin_files ) ) { return $wp_plugins; } foreach ( $plugin_files as $plugin_file ) { if ( ! is_readable( "$plugin_root/$plugin_file" ) ) { continue; } // Do not apply markup/translate as it will be cached. $plugin_data = get_plugin_data( "$plugin_root/$plugin_file", false, false ); if ( empty( $plugin_data['Name'] ) ) { continue; } $wp_plugins[ plugin_basename( $plugin_file ) ] = $plugin_data; } uasort( $wp_plugins, '_sort_uname_callback' ); $cache_plugins[ $plugin_folder ] = $wp_plugins; wp_cache_set( 'plugins', $cache_plugins, 'plugins' ); return $wp_plugins; } /** * Checks the mu-plugins directory and retrieve all mu-plugin files with any plugin data. * * WordPress only includes mu-plugin files in the base mu-plugins directory (wp-content/mu-plugins). * * @since 3.0.0 * @return array[] Array of arrays of mu-plugin data, keyed by plugin file name. See get_plugin_data(). */ function get_mu_plugins() { $wp_plugins = array(); $plugin_files = array(); if ( ! is_dir( WPMU_PLUGIN_DIR ) ) { return $wp_plugins; } // Files in wp-content/mu-plugins directory. $plugins_dir = @opendir( WPMU_PLUGIN_DIR ); if ( $plugins_dir ) { while ( ( $file = readdir( $plugins_dir ) ) !== false ) { if ( str_ends_with( $file, '.php' ) ) { $plugin_files[] = $file; } } } else { return $wp_plugins; } closedir( $plugins_dir ); if ( empty( $plugin_files ) ) { return $wp_plugins; } foreach ( $plugin_files as $plugin_file ) { if ( ! is_readable( WPMU_PLUGIN_DIR . "/$plugin_file" ) ) { continue; } // Do not apply markup/translate as it will be cached. $plugin_data = get_plugin_data( WPMU_PLUGIN_DIR . "/$plugin_file", false, false ); if ( empty( $plugin_data['Name'] ) ) { $plugin_data['Name'] = $plugin_file; } $wp_plugins[ $plugin_file ] = $plugin_data; } if ( isset( $wp_plugins['index.php'] ) && filesize( WPMU_PLUGIN_DIR . '/index.php' ) <= 30 ) { // Silence is golden. unset( $wp_plugins['index.php'] ); } uasort( $wp_plugins, '_sort_uname_callback' ); return $wp_plugins; } /** * Declares a callback to sort array by a 'Name' key. * * @since 3.1.0 * * @access private * * @param array $a array with 'Name' key. * @param array $b array with 'Name' key. * @return int Return 0 or 1 based on two string comparison. */ function _sort_uname_callback( $a, $b ) { return strnatcasecmp( $a['Name'], $b['Name'] ); } /** * Checks the wp-content directory and retrieve all drop-ins with any plugin data. * * @since 3.0.0 * @return array[] Array of arrays of dropin plugin data, keyed by plugin file name. See get_plugin_data(). */ function get_dropins() { $dropins = array(); $plugin_files = array(); $_dropins = _get_dropins(); // Files in wp-content directory. $plugins_dir = @opendir( WP_CONTENT_DIR ); if ( $plugins_dir ) { while ( ( $file = readdir( $plugins_dir ) ) !== false ) { if ( isset( $_dropins[ $file ] ) ) { $plugin_files[] = $file; } } } else { return $dropins; } closedir( $plugins_dir ); if ( empty( $plugin_files ) ) { return $dropins; } foreach ( $plugin_files as $plugin_file ) { if ( ! is_readable( WP_CONTENT_DIR . "/$plugin_file" ) ) { continue; } // Do not apply markup/translate as it will be cached. $plugin_data = get_plugin_data( WP_CONTENT_DIR . "/$plugin_file", false, false ); if ( empty( $plugin_data['Name'] ) ) { $plugin_data['Name'] = $plugin_file; } $dropins[ $plugin_file ] = $plugin_data; } uksort( $dropins, 'strnatcasecmp' ); return $dropins; } /** * Returns drop-in plugins that WordPress uses. * * Includes Multisite drop-ins only when is_multisite() * * @since 3.0.0 * * @return array[] { * Key is file name. The value is an array of data about the drop-in. * * @type array ...$0 { * Data about the drop-in. * * @type string $0 The purpose of the drop-in. * @type string|true $1 Name of the constant that must be true for the drop-in * to be used, or true if no constant is required. * } * } */ function _get_dropins() { $dropins = array( 'advanced-cache.php' => array( __( 'Advanced caching plugin.' ), 'WP_CACHE' ), // WP_CACHE 'db.php' => array( __( 'Custom database class.' ), true ), // Auto on load. 'db-error.php' => array( __( 'Custom database error message.' ), true ), // Auto on error. 'install.php' => array( __( 'Custom installation script.' ), true ), // Auto on installation. 'maintenance.php' => array( __( 'Custom maintenance message.' ), true ), // Auto on maintenance. 'object-cache.php' => array( __( 'External object cache.' ), true ), // Auto on load. 'php-error.php' => array( __( 'Custom PHP error message.' ), true ), // Auto on error. 'fatal-error-handler.php' => array( __( 'Custom PHP fatal error handler.' ), true ), // Auto on error. ); if ( is_multisite() ) { $dropins['sunrise.php'] = array( __( 'Executed before Multisite is loaded.' ), 'SUNRISE' ); // SUNRISE $dropins['blog-deleted.php'] = array( __( 'Custom site deleted message.' ), true ); // Auto on deleted blog. $dropins['blog-inactive.php'] = array( __( 'Custom site inactive message.' ), true ); // Auto on inactive blog. $dropins['blog-suspended.php'] = array( __( 'Custom site suspended message.' ), true ); // Auto on archived or spammed blog. } return $dropins; } /** * Determines whether a plugin is active. * * Only plugins installed in the plugins/ folder can be active. * * Plugins in the mu-plugins/ folder can't be "activated," so this function will * return false for those plugins. * * For more information on this and similar theme functions, check out * the {@link https://developer.wordpress.org/themes/basics/conditional-tags/ * Conditional Tags} article in the Theme Developer Handbook. * * @since 2.5.0 * * @param string $plugin Path to the plugin file relative to the plugins directory. * @return bool True, if in the active plugins list. False, not in the list. */ function is_plugin_active( $plugin ) { return in_array( $plugin, (array) get_option( 'active_plugins', array() ), true ) || is_plugin_active_for_network( $plugin ); } /** * Determines whether the plugin is inactive. * * Reverse of is_plugin_active(). Used as a callback. * * For more information on this and similar theme functions, check out * the {@link https://developer.wordpress.org/themes/basics/conditional-tags/ * Conditional Tags} article in the Theme Developer Handbook. * * @since 3.1.0 * * @see is_plugin_active() * * @param string $plugin Path to the plugin file relative to the plugins directory. * @return bool True if inactive. False if active. */ function is_plugin_inactive( $plugin ) { return ! is_plugin_active( $plugin ); } /** * Determines whether the plugin is active for the entire network. * * Only plugins installed in the plugins/ folder can be active. * * Plugins in the mu-plugins/ folder can't be "activated," so this function will * return false for those plugins. * * For more information on this and similar theme functions, check out * the {@link https://developer.wordpress.org/themes/basics/conditional-tags/ * Conditional Tags} article in the Theme Developer Handbook. * * @since 3.0.0 * * @param string $plugin Path to the plugin file relative to the plugins directory. * @return bool True if active for the network, otherwise false. */ function is_plugin_active_for_network( $plugin ) { if ( ! is_multisite() ) { return false; } $plugins = get_site_option( 'active_sitewide_plugins' ); if ( isset( $plugins[ $plugin ] ) ) { return true; } return false; } /** * Checks for "Network: true" in the plugin header to see if this should * be activated only as a network wide plugin. The plugin would also work * when Multisite is not enabled. * * Checks for "Site Wide Only: true" for backward compatibility. * * @since 3.0.0 * * @param string $plugin Path to the plugin file relative to the plugins directory. * @return bool True if plugin is network only, false otherwise. */ function is_network_only_plugin( $plugin ) { $plugin_data = get_plugin_data( WP_PLUGIN_DIR . '/' . $plugin ); if ( $plugin_data ) { return $plugin_data['Network']; } return false; } /** * Attempts activation of plugin in a "sandbox" and redirects on success. * * A plugin that is already activated will not attempt to be activated again. * * The way it works is by setting the redirection to the error before trying to * include the plugin file. If the plugin fails, then the redirection will not * be overwritten with the success message. Also, the options will not be * updated and the activation hook will not be called on plugin error. * * It should be noted that in no way the below code will actually prevent errors * within the file. The code should not be used elsewhere to replicate the * "sandbox", which uses redirection to work. * {@source 13 1} * * If any errors are found or text is outputted, then it will be captured to * ensure that the success redirection will update the error redirection. * * @since 2.5.0 * @since 5.2.0 Test for WordPress version and PHP version compatibility. * * @param string $plugin Path to the plugin file relative to the plugins directory. * @param string $redirect Optional. URL to redirect to. * @param bool $network_wide Optional. Whether to enable the plugin for all sites in the network * or just the current site. Multisite only. Default false. * @param bool $silent Optional. Whether to prevent calling activation hooks. Default false. * @return null|WP_Error Null on success, WP_Error on invalid file. */ function activate_plugin( $plugin, $redirect = '', $network_wide = false, $silent = false ) { $plugin = plugin_basename( trim( $plugin ) ); if ( is_multisite() && ( $network_wide || is_network_only_plugin( $plugin ) ) ) { $network_wide = true; $current = get_site_option( 'active_sitewide_plugins', array() ); $_GET['networkwide'] = 1; // Back compat for plugins looking for this value. } else { $current = get_option( 'active_plugins', array() ); } $valid = validate_plugin( $plugin ); if ( is_wp_error( $valid ) ) { return $valid; } $requirements = validate_plugin_requirements( $plugin ); if ( is_wp_error( $requirements ) ) { return $requirements; } if ( $network_wide && ! isset( $current[ $plugin ] ) || ! $network_wide && ! in_array( $plugin, $current, true ) ) { if ( ! empty( $redirect ) ) { // We'll override this later if the plugin can be included without fatal error. wp_redirect( add_query_arg( '_error_nonce', wp_create_nonce( 'plugin-activation-error_' . $plugin ), $redirect ) ); } ob_start(); // Load the plugin to test whether it throws any errors. plugin_sandbox_scrape( $plugin ); if ( ! $silent ) { /** * Fires before a plugin is activated. * * If a plugin is silently activated (such as during an update), * this hook does not fire. * * @since 2.9.0 * * @param string $plugin Path to the plugin file relative to the plugins directory. * @param bool $network_wide Whether to enable the plugin for all sites in the network * or just the current site. Multisite only. Default false. */ do_action( 'activate_plugin', $plugin, $network_wide ); /** * Fires as a specific plugin is being activated. * * This hook is the "activation" hook used internally by register_activation_hook(). * The dynamic portion of the hook name, `$plugin`, refers to the plugin basename. * * If a plugin is silently activated (such as during an update), this hook does not fire. * * @since 2.0.0 * * @param bool $network_wide Whether to enable the plugin for all sites in the network * or just the current site. Multisite only. Default false. */ do_action( "activate_{$plugin}", $network_wide ); } if ( $network_wide ) { $current = get_site_option( 'active_sitewide_plugins', array() ); $current[ $plugin ] = time(); update_site_option( 'active_sitewide_plugins', $current ); } else { $current = get_option( 'active_plugins', array() ); $current[] = $plugin; sort( $current ); update_option( 'active_plugins', $current ); } if ( ! $silent ) { /** * Fires after a plugin has been activated. * * If a plugin is silently activated (such as during an update), * this hook does not fire. * * @since 2.9.0 * * @param string $plugin Path to the plugin file relative to the plugins directory. * @param bool $network_wide Whether to enable the plugin for all sites in the network * or just the current site. Multisite only. Default false. */ do_action( 'activated_plugin', $plugin, $network_wide ); } if ( ob_get_length() > 0 ) { $output = ob_get_clean(); return new WP_Error( 'unexpected_output', __( 'The plugin generated unexpected output.' ), $output ); } ob_end_clean(); } return null; } /** * Deactivates a single plugin or multiple plugins. * * The deactivation hook is disabled by the plugin upgrader by using the $silent * parameter. * * @since 2.5.0 * * @param string|string[] $plugins Single plugin or list of plugins to deactivate. * @param bool $silent Prevent calling deactivation hooks. Default false. * @param bool|null $network_wide Whether to deactivate the plugin for all sites in the network. * A value of null will deactivate plugins for both the network * and the current site. Multisite only. Default null. */ function deactivate_plugins( $plugins, $silent = false, $network_wide = null ) { if ( is_multisite() ) { $network_current = get_site_option( 'active_sitewide_plugins', array() ); } $current = get_option( 'active_plugins', array() ); $do_blog = false; $do_network = false; foreach ( (array) $plugins as $plugin ) { $plugin = plugin_basename( trim( $plugin ) ); if ( ! is_plugin_active( $plugin ) ) { continue; } $network_deactivating = ( false !== $network_wide ) && is_plugin_active_for_network( $plugin ); if ( ! $silent ) { /** * Fires before a plugin is deactivated. * * If a plugin is silently deactivated (such as during an update), * this hook does not fire. * * @since 2.9.0 * * @param string $plugin Path to the plugin file relative to the plugins directory. * @param bool $network_deactivating Whether the plugin is deactivated for all sites in the network * or just the current site. Multisite only. Default false. */ do_action( 'deactivate_plugin', $plugin, $network_deactivating ); } if ( false !== $network_wide ) { if ( is_plugin_active_for_network( $plugin ) ) { $do_network = true; unset( $network_current[ $plugin ] ); } elseif ( $network_wide ) { continue; } } if ( true !== $network_wide ) { $key = array_search( $plugin, $current, true ); if ( false !== $key ) { $do_blog = true; unset( $current[ $key ] ); } } if ( $do_blog && wp_is_recovery_mode() ) { list( $extension ) = explode( '/', $plugin ); wp_paused_plugins()->delete( $extension ); } if ( ! $silent ) { /** * Fires as a specific plugin is being deactivated. * * This hook is the "deactivation" hook used internally by register_deactivation_hook(). * The dynamic portion of the hook name, `$plugin`, refers to the plugin basename. * * If a plugin is silently deactivated (such as during an update), this hook does not fire. * * @since 2.0.0 * * @param bool $network_deactivating Whether the plugin is deactivated for all sites in the network * or just the current site. Multisite only. Default false. */ do_action( "deactivate_{$plugin}", $network_deactivating ); /** * Fires after a plugin is deactivated. * * If a plugin is silently deactivated (such as during an update), * this hook does not fire. * * @since 2.9.0 * * @param string $plugin Path to the plugin file relative to the plugins directory. * @param bool $network_deactivating Whether the plugin is deactivated for all sites in the network * or just the current site. Multisite only. Default false. */ do_action( 'deactivated_plugin', $plugin, $network_deactivating ); } } if ( $do_blog ) { update_option( 'active_plugins', $current ); } if ( $do_network ) { update_site_option( 'active_sitewide_plugins', $network_current ); } } /** * Activates multiple plugins. * * When WP_Error is returned, it does not mean that one of the plugins had * errors. It means that one or more of the plugin file paths were invalid. * * The execution will be halted as soon as one of the plugins has an error. * * @since 2.6.0 * * @param string|string[] $plugins Single plugin or list of plugins to activate. * @param string $redirect Redirect to page after successful activation. * @param bool $network_wide Whether to enable the plugin for all sites in the network. * Default false. * @param bool $silent Prevent calling activation hooks. Default false. * @return true|WP_Error True when finished or WP_Error if there were errors during a plugin activation. */ function activate_plugins( $plugins, $redirect = '', $network_wide = false, $silent = false ) { if ( ! is_array( $plugins ) ) { $plugins = array( $plugins ); } $errors = array(); foreach ( $plugins as $plugin ) { if ( ! empty( $redirect ) ) { $redirect = add_query_arg( 'plugin', $plugin, $redirect ); } $result = activate_plugin( $plugin, $redirect, $network_wide, $silent ); if ( is_wp_error( $result ) ) { $errors[ $plugin ] = $result; } } if ( ! empty( $errors ) ) { return new WP_Error( 'plugins_invalid', __( 'One of the plugins is invalid.' ), $errors ); } return true; } /** * Removes directory and files of a plugin for a list of plugins. * * @since 2.6.0 * * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass. * * @param string[] $plugins List of plugin paths to delete, relative to the plugins directory. * @param string $deprecated Not used. * @return bool|null|WP_Error True on success, false if `$plugins` is empty, `WP_Error` on failure. * `null` if filesystem credentials are required to proceed. */ function delete_plugins( $plugins, $deprecated = '' ) { global $wp_filesystem; if ( empty( $plugins ) ) { return false; } $checked = array(); foreach ( $plugins as $plugin ) { $checked[] = 'checked[]=' . $plugin; } $url = wp_nonce_url( 'plugins.php?action=delete-selected&verify-delete=1&' . implode( '&', $checked ), 'bulk-plugins' ); ob_start(); $credentials = request_filesystem_credentials( $url ); $data = ob_get_clean(); if ( false === $credentials ) { if ( ! empty( $data ) ) { require_once ABSPATH . 'wp-admin/admin-header.php'; echo $data; require_once ABSPATH . 'wp-admin/admin-footer.php'; exit; } return; } if ( ! WP_Filesystem( $credentials ) ) { ob_start(); // Failed to connect. Error and request again. request_filesystem_credentials( $url, '', true ); $data = ob_get_clean(); if ( ! empty( $data ) ) { require_once ABSPATH . 'wp-admin/admin-header.php'; echo $data; require_once ABSPATH . 'wp-admin/admin-footer.php'; exit; } return; } if ( ! is_object( $wp_filesystem ) ) { return new WP_Error( 'fs_unavailable', __( 'Could not access filesystem.' ) ); } if ( is_wp_error( $wp_filesystem->errors ) && $wp_filesystem->errors->has_errors() ) { return new WP_Error( 'fs_error', __( 'Filesystem error.' ), $wp_filesystem->errors ); } // Get the base plugin folder. $plugins_dir = $wp_filesystem->wp_plugins_dir(); if ( empty( $plugins_dir ) ) { return new WP_Error( 'fs_no_plugins_dir', __( 'Unable to locate WordPress plugin directory.' ) ); } $plugins_dir = trailingslashit( $plugins_dir ); $plugin_translations = wp_get_installed_translations( 'plugins' ); $errors = array(); foreach ( $plugins as $plugin_file ) { // Run Uninstall hook. if ( is_uninstallable_plugin( $plugin_file ) ) { uninstall_plugin( $plugin_file ); } /** * Fires immediately before a plugin deletion attempt. * * @since 4.4.0 * * @param string $plugin_file Path to the plugin file relative to the plugins directory. */ do_action( 'delete_plugin', $plugin_file ); $this_plugin_dir = trailingslashit( dirname( $plugins_dir . $plugin_file ) ); /* * If plugin is in its own directory, recursively delete the directory. * Base check on if plugin includes directory separator AND that it's not the root plugin folder. */ if ( strpos( $plugin_file, '/' ) && $this_plugin_dir !== $plugins_dir ) { $deleted = $wp_filesystem->delete( $this_plugin_dir, true ); } else { $deleted = $wp_filesystem->delete( $plugins_dir . $plugin_file ); } /** * Fires immediately after a plugin deletion attempt. * * @since 4.4.0 * * @param string $plugin_file Path to the plugin file relative to the plugins directory. * @param bool $deleted Whether the plugin deletion was successful. */ do_action( 'deleted_plugin', $plugin_file, $deleted ); if ( ! $deleted ) { $errors[] = $plugin_file; continue; } $plugin_slug = dirname( $plugin_file ); if ( 'hello.php' === $plugin_file ) { $plugin_slug = 'hello-dolly'; } // Remove language files, silently. if ( '.' !== $plugin_slug && ! empty( $plugin_translations[ $plugin_slug ] ) ) { $translations = $plugin_translations[ $plugin_slug ]; foreach ( $translations as $translation => $data ) { $wp_filesystem->delete( WP_LANG_DIR . '/plugins/' . $plugin_slug . '-' . $translation . '.po' ); $wp_filesystem->delete( WP_LANG_DIR . '/plugins/' . $plugin_slug . '-' . $translation . '.mo' ); $wp_filesystem->delete( WP_LANG_DIR . '/plugins/' . $plugin_slug . '-' . $translation . '.l10n.php' ); $json_translation_files = glob( WP_LANG_DIR . '/plugins/' . $plugin_slug . '-' . $translation . '-*.json' ); if ( $json_translation_files ) { array_map( array( $wp_filesystem, 'delete' ), $json_translation_files ); } } } } // Remove deleted plugins from the plugin updates list. $current = get_site_transient( 'update_plugins' ); if ( $current ) { // Don't remove the plugins that weren't deleted. $deleted = array_diff( $plugins, $errors ); foreach ( $deleted as $plugin_file ) { unset( $current->response[ $plugin_file ] ); } set_site_transient( 'update_plugins', $current ); } if ( ! empty( $errors ) ) { if ( 1 === count( $errors ) ) { /* translators: %s: Plugin filename. */ $message = __( 'Could not fully remove the plugin %s.' ); } else { /* translators: %s: Comma-separated list of plugin filenames. */ $message = __( 'Could not fully remove the plugins %s.' ); } return new WP_Error( 'could_not_remove_plugin', sprintf( $message, implode( ', ', $errors ) ) ); } return true; } /** * Validates active plugins. * * Validate all active plugins, deactivates invalid and * returns an array of deactivated ones. * * @since 2.5.0 * @return WP_Error[] Array of plugin errors keyed by plugin file name. */ function validate_active_plugins() { $plugins = get_option( 'active_plugins', array() ); // Validate vartype: array. if ( ! is_array( $plugins ) ) { update_option( 'active_plugins', array() ); $plugins = array(); } if ( is_multisite() && current_user_can( 'manage_network_plugins' ) ) { $network_plugins = (array) get_site_option( 'active_sitewide_plugins', array() ); $plugins = array_merge( $plugins, array_keys( $network_plugins ) ); } if ( empty( $plugins ) ) { return array(); } $invalid = array(); // Invalid plugins get deactivated. foreach ( $plugins as $plugin ) { $result = validate_plugin( $plugin ); if ( is_wp_error( $result ) ) { $invalid[ $plugin ] = $result; deactivate_plugins( $plugin, true ); } } return $invalid; } /** * Validates the plugin path. * * Checks that the main plugin file exists and is a valid plugin. See validate_file(). * * @since 2.5.0 * * @param string $plugin Path to the plugin file relative to the plugins directory. * @return int|WP_Error 0 on success, WP_Error on failure. */ function validate_plugin( $plugin ) { if ( validate_file( $plugin ) ) { return new WP_Error( 'plugin_invalid', __( 'Invalid plugin path.' ) ); } if ( ! file_exists( WP_PLUGIN_DIR . '/' . $plugin ) ) { return new WP_Error( 'plugin_not_found', __( 'Plugin file does not exist.' ) ); } $installed_plugins = get_plugins(); if ( ! isset( $installed_plugins[ $plugin ] ) ) { return new WP_Error( 'no_plugin_header', __( 'The plugin does not have a valid header.' ) ); } return 0; } /** * Validates the plugin requirements for WordPress version and PHP version. * * Uses the information from `Requires at least`, `Requires PHP` and `Requires Plugins` headers * defined in the plugin's main PHP file. * * @since 5.2.0 * @since 5.3.0 Added support for reading the headers from the plugin's * main PHP file, with `readme.txt` as a fallback. * @since 5.8.0 Removed support for using `readme.txt` as a fallback. * @since 6.5.0 Added support for the 'Requires Plugins' header. * * @param string $plugin Path to the plugin file relative to the plugins directory. * @return true|WP_Error True if requirements are met, WP_Error on failure. */ function validate_plugin_requirements( $plugin ) { $plugin_headers = get_plugin_data( WP_PLUGIN_DIR . '/' . $plugin ); $requirements = array( 'requires' => ! empty( $plugin_headers['RequiresWP'] ) ? $plugin_headers['RequiresWP'] : '', 'requires_php' => ! empty( $plugin_headers['RequiresPHP'] ) ? $plugin_headers['RequiresPHP'] : '', 'requires_plugins' => ! empty( $plugin_headers['RequiresPlugins'] ) ? $plugin_headers['RequiresPlugins'] : '', ); $compatible_wp = is_wp_version_compatible( $requirements['requires'] ); $compatible_php = is_php_version_compatible( $requirements['requires_php'] ); $php_update_message = '</p><p>' . sprintf( /* translators: %s: URL to Update PHP page. */ __( '<a href="%s">Learn more about updating PHP</a>.' ), esc_url( wp_get_update_php_url() ) ); $annotation = wp_get_update_php_annotation(); if ( $annotation ) { $php_update_message .= '</p><p><em>' . $annotation . '</em>'; } if ( ! $compatible_wp && ! $compatible_php ) { return new WP_Error( 'plugin_wp_php_incompatible', '<p>' . sprintf( /* translators: 1: Current WordPress version, 2: Current PHP version, 3: Plugin name, 4: Required WordPress version, 5: Required PHP version. */ _x( '<strong>Error:</strong> Current versions of WordPress (%1$s) and PHP (%2$s) do not meet minimum requirements for %3$s. The plugin requires WordPress %4$s and PHP %5$s.', 'plugin' ), get_bloginfo( 'version' ), PHP_VERSION, $plugin_headers['Name'], $requirements['requires'], $requirements['requires_php'] ) . $php_update_message . '</p>' ); } elseif ( ! $compatible_php ) { return new WP_Error( 'plugin_php_incompatible', '<p>' . sprintf( /* translators: 1: Current PHP version, 2: Plugin name, 3: Required PHP version. */ _x( '<strong>Error:</strong> Current PHP version (%1$s) does not meet minimum requirements for %2$s. The plugin requires PHP %3$s.', 'plugin' ), PHP_VERSION, $plugin_headers['Name'], $requirements['requires_php'] ) . $php_update_message . '</p>' ); } elseif ( ! $compatible_wp ) { return new WP_Error( 'plugin_wp_incompatible', '<p>' . sprintf( /* translators: 1: Current WordPress version, 2: Plugin name, 3: Required WordPress version. */ _x( '<strong>Error:</strong> Current WordPress version (%1$s) does not meet minimum requirements for %2$s. The plugin requires WordPress %3$s.', 'plugin' ), get_bloginfo( 'version' ), $plugin_headers['Name'], $requirements['requires'] ) . '</p>' ); } WP_Plugin_Dependencies::initialize(); if ( WP_Plugin_Dependencies::has_unmet_dependencies( $plugin ) ) { $dependency_names = WP_Plugin_Dependencies::get_dependency_names( $plugin ); $unmet_dependencies = array(); $unmet_dependency_names = array(); foreach ( $dependency_names as $dependency => $dependency_name ) { $dependency_file = WP_Plugin_Dependencies::get_dependency_filepath( $dependency ); if ( false === $dependency_file ) { $unmet_dependencies['not_installed'][ $dependency ] = $dependency_name; $unmet_dependency_names[] = $dependency_name; } elseif ( is_plugin_inactive( $dependency_file ) ) { $unmet_dependencies['inactive'][ $dependency ] = $dependency_name; $unmet_dependency_names[] = $dependency_name; } } $error_message = sprintf( /* translators: 1: Plugin name, 2: Number of plugins, 3: A comma-separated list of plugin names. */ _n( '<strong>Error:</strong> %1$s requires %2$d plugin to be installed and activated: %3$s.', '<strong>Error:</strong> %1$s requires %2$d plugins to be installed and activated: %3$s.', count( $unmet_dependency_names ) ), $plugin_headers['Name'], count( $unmet_dependency_names ), implode( wp_get_list_item_separator(), $unmet_dependency_names ) ); if ( is_multisite() ) { if ( current_user_can( 'manage_network_plugins' ) ) { $error_message .= ' ' . sprintf( /* translators: %s: Link to the plugins page. */ __( '<a href="%s">Manage plugins</a>.' ), esc_url( network_admin_url( 'plugins.php' ) ) ); } else { $error_message .= ' ' . __( 'Please contact your network administrator.' ); } } else { $error_message .= ' ' . sprintf( /* translators: %s: Link to the plugins page. */ __( '<a href="%s">Manage plugins</a>.' ), esc_url( admin_url( 'plugins.php' ) ) ); } return new WP_Error( 'plugin_missing_dependencies', "<p>{$error_message}</p>", $unmet_dependencies ); } return true; } /** * Determines whether the plugin can be uninstalled. * * @since 2.7.0 * * @param string $plugin Path to the plugin file relative to the plugins directory. * @return bool Whether plugin can be uninstalled. */ function is_uninstallable_plugin( $plugin ) { $file = plugin_basename( $plugin ); $uninstallable_plugins = (array) get_option( 'uninstall_plugins' ); if ( isset( $uninstallable_plugins[ $file ] ) || file_exists( WP_PLUGIN_DIR . '/' . dirname( $file ) . '/uninstall.php' ) ) { return true; } return false; } /** * Uninstalls a single plugin. * * Calls the uninstall hook, if it is available. * * @since 2.7.0 * * @param string $plugin Path to the plugin file relative to the plugins directory. * @return true|void True if a plugin's uninstall.php file has been found and included. * Void otherwise. */ function uninstall_plugin( $plugin ) { $file = plugin_basename( $plugin ); $uninstallable_plugins = (array) get_option( 'uninstall_plugins' ); /** * Fires in uninstall_plugin() immediately before the plugin is uninstalled. * * @since 4.5.0 * * @param string $plugin Path to the plugin file relative to the plugins directory. * @param array $uninstallable_plugins Uninstallable plugins. */ do_action( 'pre_uninstall_plugin', $plugin, $uninstallable_plugins ); if ( file_exists( WP_PLUGIN_DIR . '/' . dirname( $file ) . '/uninstall.php' ) ) { if ( isset( $uninstallable_plugins[ $file ] ) ) { unset( $uninstallable_plugins[ $file ] ); update_option( 'uninstall_plugins', $uninstallable_plugins ); } unset( $uninstallable_plugins ); define( 'WP_UNINSTALL_PLUGIN', $file ); wp_register_plugin_realpath( WP_PLUGIN_DIR . '/' . $file ); include_once WP_PLUGIN_DIR . '/' . dirname( $file ) . '/uninstall.php'; return true; } if ( isset( $uninstallable_plugins[ $file ] ) ) { $callable = $uninstallable_plugins[ $file ]; unset( $uninstallable_plugins[ $file ] ); update_option( 'uninstall_plugins', $uninstallable_plugins ); unset( $uninstallable_plugins ); wp_register_plugin_realpath( WP_PLUGIN_DIR . '/' . $file ); include_once WP_PLUGIN_DIR . '/' . $file; add_action( "uninstall_{$file}", $callable ); /** * Fires in uninstall_plugin() once the plugin has been uninstalled. * * The action concatenates the 'uninstall_' prefix with the basename of the * plugin passed to uninstall_plugin() to create a dynamically-named action. * * @since 2.7.0 */ do_action( "uninstall_{$file}" ); } } // // Menu. // /** * Adds a top-level menu page. * * This function takes a capability which will be used to determine whether * or not a page is included in the menu. * * The function which is hooked in to handle the output of the page must check * that the user has the required capability as well. * * @since 1.5.0 * * @global array $menu * @global array $admin_page_hooks * @global array $_registered_pages * @global array $_parent_pages * * @param string $page_title The text to be displayed in the title tags of the page when the menu is selected. * @param string $menu_title The text to be used for the menu. * @param string $capability The capability required for this menu to be displayed to the user. * @param string $menu_slug The slug name to refer to this menu by. Should be unique for this menu page and only * include lowercase alphanumeric, dashes, and underscores characters to be compatible * with sanitize_key(). * @param callable $callback Optional. The function to be called to output the content for this page. * @param string $icon_url Optional. The URL to the icon to be used for this menu. * * Pass a base64-encoded SVG using a data URI, which will be colored to match * the color scheme. This should begin with 'data:image/svg+xml;base64,'. * * Pass the name of a Dashicons helper class to use a font icon, * e.g. 'dashicons-chart-pie'. * * Pass 'none' to leave div.wp-menu-image empty so an icon can be added via CSS. * @param int|float $position Optional. The position in the menu order this item should appear. * @return string The resulting page's hook_suffix. */ function add_menu_page( $page_title, $menu_title, $capability, $menu_slug, $callback = '', $icon_url = '', $position = null ) { global $menu, $admin_page_hooks, $_registered_pages, $_parent_pages; $menu_slug = plugin_basename( $menu_slug ); $admin_page_hooks[ $menu_slug ] = sanitize_title( $menu_title ); $hookname = get_plugin_page_hookname( $menu_slug, '' ); if ( ! empty( $callback ) && ! empty( $hookname ) && current_user_can( $capability ) ) { add_action( $hookname, $callback ); } if ( empty( $icon_url ) ) { $icon_url = 'dashicons-admin-generic'; $icon_class = 'menu-icon-generic '; } else { $icon_url = set_url_scheme( $icon_url ); $icon_class = ''; } $new_menu = array( $menu_title, $capability, $menu_slug, $page_title, 'menu-top ' . $icon_class . $hookname, $hookname, $icon_url ); if ( null !== $position && ! is_numeric( $position ) ) { _doing_it_wrong( __FUNCTION__, sprintf( /* translators: %s: add_menu_page() */ __( 'The seventh parameter passed to %s should be numeric representing menu position.' ), '<code>add_menu_page()</code>' ), '6.0.0' ); $position = null; } if ( null === $position || ! is_numeric( $position ) ) { $menu[] = $new_menu; } elseif ( isset( $menu[ (string) $position ] ) ) { $collision_avoider = base_convert( substr( md5( $menu_slug . $menu_title ), -4 ), 16, 10 ) * 0.00001; $position = (string) ( $position + $collision_avoider ); $menu[ $position ] = $new_menu; } else { /* * Cast menu position to a string. * * This allows for floats to be passed as the position. PHP will normally cast a float to an * integer value, this ensures the float retains its mantissa (positive fractional part). * * A string containing an integer value, eg "10", is treated as a numeric index. */ $position = (string) $position; $menu[ $position ] = $new_menu; } $_registered_pages[ $hookname ] = true; // No parent as top level. $_parent_pages[ $menu_slug ] = false; return $hookname; } /** * Adds a submenu page. * * This function takes a capability which will be used to determine whether * or not a page is included in the menu. * * The function which is hooked in to handle the output of the page must check * that the user has the required capability as well. * * @since 1.5.0 * @since 5.3.0 Added the `$position` parameter. * * @global array $submenu * @global array $menu * @global array $_wp_real_parent_file * @global bool $_wp_submenu_nopriv * @global array $_registered_pages * @global array $_parent_pages * * @param string $parent_slug The slug name for the parent menu (or the file name of a standard * WordPress admin page). * @param string $page_title The text to be displayed in the title tags of the page when the menu * is selected. * @param string $menu_title The text to be used for the menu. * @param string $capability The capability required for this menu to be displayed to the user. * @param string $menu_slug The slug name to refer to this menu by. Should be unique for this menu * and only include lowercase alphanumeric, dashes, and underscores characters * to be compatible with sanitize_key(). * @param callable $callback Optional. The function to be called to output the content for this page. * @param int|float $position Optional. The position in the menu order this item should appear. * @return string|false The resulting page's hook_suffix, or false if the user does not have the capability required. */ function add_submenu_page( $parent_slug, $page_title, $menu_title, $capability, $menu_slug, $callback = '', $position = null ) { global $submenu, $menu, $_wp_real_parent_file, $_wp_submenu_nopriv, $_registered_pages, $_parent_pages; $menu_slug = plugin_basename( $menu_slug ); $parent_slug = plugin_basename( $parent_slug ); if ( isset( $_wp_real_parent_file[ $parent_slug ] ) ) { $parent_slug = $_wp_real_parent_file[ $parent_slug ]; } if ( ! current_user_can( $capability ) ) { $_wp_submenu_nopriv[ $parent_slug ][ $menu_slug ] = true; return false; } /* * If the parent doesn't already have a submenu, add a link to the parent * as the first item in the submenu. If the submenu file is the same as the * parent file someone is trying to link back to the parent manually. In * this case, don't automatically add a link back to avoid duplication. */ if ( ! isset( $submenu[ $parent_slug ] ) && $menu_slug !== $parent_slug ) { foreach ( (array) $menu as $parent_menu ) { if ( $parent_menu[2] === $parent_slug && current_user_can( $parent_menu[1] ) ) { $submenu[ $parent_slug ][] = array_slice( $parent_menu, 0, 4 ); } } } $new_sub_menu = array( $menu_title, $capability, $menu_slug, $page_title ); if ( null !== $position && ! is_numeric( $position ) ) { _doing_it_wrong( __FUNCTION__, sprintf( /* translators: %s: add_submenu_page() */ __( 'The seventh parameter passed to %s should be numeric representing menu position.' ), '<code>add_submenu_page()</code>' ), '5.3.0' ); $position = null; } if ( null === $position || ( ! isset( $submenu[ $parent_slug ] ) || $position >= count( $submenu[ $parent_slug ] ) ) ) { $submenu[ $parent_slug ][] = $new_sub_menu; } else { // Test for a negative position. $position = max( $position, 0 ); if ( 0 === $position ) { // For negative or `0` positions, prepend the submenu. array_unshift( $submenu[ $parent_slug ], $new_sub_menu ); } else { $position = absint( $position ); // Grab all of the items before the insertion point. $before_items = array_slice( $submenu[ $parent_slug ], 0, $position, true ); // Grab all of the items after the insertion point. $after_items = array_slice( $submenu[ $parent_slug ], $position, null, true ); // Add the new item. $before_items[] = $new_sub_menu; // Merge the items. $submenu[ $parent_slug ] = array_merge( $before_items, $after_items ); } } // Sort the parent array. ksort( $submenu[ $parent_slug ] ); $hookname = get_plugin_page_hookname( $menu_slug, $parent_slug ); if ( ! empty( $callback ) && ! empty( $hookname ) ) { add_action( $hookname, $callback ); } $_registered_pages[ $hookname ] = true; /* * Backward-compatibility for plugins using add_management_page(). * See wp-admin/admin.php for redirect from edit.php to tools.php. */ if ( 'tools.php' === $parent_slug ) { $_registered_pages[ get_plugin_page_hookname( $menu_slug, 'edit.php' ) ] = true; } // No parent as top level. $_parent_pages[ $menu_slug ] = $parent_slug; return $hookname; } /** * Adds a submenu page to the Tools main menu. * * This function takes a capability which will be used to determine whether * or not a page is included in the menu. * * The function which is hooked in to handle the output of the page must check * that the user has the required capability as well. * * @since 1.5.0 * @since 5.3.0 Added the `$position` parameter. * * @param string $page_title The text to be displayed in the title tags of the page when the menu is selected. * @param string $menu_title The text to be used for the menu. * @param string $capability The capability required for this menu to be displayed to the user. * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu). * @param callable $callback Optional. The function to be called to output the content for this page. * @param int $position Optional. The position in the menu order this item should appear. * @return string|false The resulting page's hook_suffix, or false if the user does not have the capability required. */ function add_management_page( $page_title, $menu_title, $capability, $menu_slug, $callback = '', $position = null ) { return add_submenu_page( 'tools.php', $page_title, $menu_title, $capability, $menu_slug, $callback, $position ); } /** * Adds a submenu page to the Settings main menu. * * This function takes a capability which will be used to determine whether * or not a page is included in the menu. * * The function which is hooked in to handle the output of the page must check * that the user has the required capability as well. * * @since 1.5.0 * @since 5.3.0 Added the `$position` parameter. * * @param string $page_title The text to be displayed in the title tags of the page when the menu is selected. * @param string $menu_title The text to be used for the menu. * @param string $capability The capability required for this menu to be displayed to the user. * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu). * @param callable $callback Optional. The function to be called to output the content for this page. * @param int $position Optional. The position in the menu order this item should appear. * @return string|false The resulting page's hook_suffix, or false if the user does not have the capability required. */ function add_options_page( $page_title, $menu_title, $capability, $menu_slug, $callback = '', $position = null ) { return add_submenu_page( 'options-general.php', $page_title, $menu_title, $capability, $menu_slug, $callback, $position ); } /** * Adds a submenu page to the Appearance main menu. * * This function takes a capability which will be used to determine whether * or not a page is included in the menu. * * The function which is hooked in to handle the output of the page must check * that the user has the required capability as well. * * @since 2.0.0 * @since 5.3.0 Added the `$position` parameter. * * @param string $page_title The text to be displayed in the title tags of the page when the menu is selected. * @param string $menu_title The text to be used for the menu. * @param string $capability The capability required for this menu to be displayed to the user. * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu). * @param callable $callback Optional. The function to be called to output the content for this page. * @param int $position Optional. The position in the menu order this item should appear. * @return string|false The resulting page's hook_suffix, or false if the user does not have the capability required. */ function add_theme_page( $page_title, $menu_title, $capability, $menu_slug, $callback = '', $position = null ) { return add_submenu_page( 'themes.php', $page_title, $menu_title, $capability, $menu_slug, $callback, $position ); } /** * Adds a submenu page to the Plugins main menu. * * This function takes a capability which will be used to determine whether * or not a page is included in the menu. * * The function which is hooked in to handle the output of the page must check * that the user has the required capability as well. * * @since 3.0.0 * @since 5.3.0 Added the `$position` parameter. * * @param string $page_title The text to be displayed in the title tags of the page when the menu is selected. * @param string $menu_title The text to be used for the menu. * @param string $capability The capability required for this menu to be displayed to the user. * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu). * @param callable $callback Optional. The function to be called to output the content for this page. * @param int $position Optional. The position in the menu order this item should appear. * @return string|false The resulting page's hook_suffix, or false if the user does not have the capability required. */ function add_plugins_page( $page_title, $menu_title, $capability, $menu_slug, $callback = '', $position = null ) { return add_submenu_page( 'plugins.php', $page_title, $menu_title, $capability, $menu_slug, $callback, $position ); } /** * Adds a submenu page to the Users/Profile main menu. * * This function takes a capability which will be used to determine whether * or not a page is included in the menu. * * The function which is hooked in to handle the output of the page must check * that the user has the required capability as well. * * @since 2.1.3 * @since 5.3.0 Added the `$position` parameter. * * @param string $page_title The text to be displayed in the title tags of the page when the menu is selected. * @param string $menu_title The text to be used for the menu. * @param string $capability The capability required for this menu to be displayed to the user. * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu). * @param callable $callback Optional. The function to be called to output the content for this page. * @param int $position Optional. The position in the menu order this item should appear. * @return string|false The resulting page's hook_suffix, or false if the user does not have the capability required. */ function add_users_page( $page_title, $menu_title, $capability, $menu_slug, $callback = '', $position = null ) { if ( current_user_can( 'edit_users' ) ) { $parent = 'users.php'; } else { $parent = 'profile.php'; } return add_submenu_page( $parent, $page_title, $menu_title, $capability, $menu_slug, $callback, $position ); } /** * Adds a submenu page to the Dashboard main menu. * * This function takes a capability which will be used to determine whether * or not a page is included in the menu. * * The function which is hooked in to handle the output of the page must check * that the user has the required capability as well. * * @since 2.7.0 * @since 5.3.0 Added the `$position` parameter. * * @param string $page_title The text to be displayed in the title tags of the page when the menu is selected. * @param string $menu_title The text to be used for the menu. * @param string $capability The capability required for this menu to be displayed to the user. * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu). * @param callable $callback Optional. The function to be called to output the content for this page. * @param int $position Optional. The position in the menu order this item should appear. * @return string|false The resulting page's hook_suffix, or false if the user does not have the capability required. */ function add_dashboard_page( $page_title, $menu_title, $capability, $menu_slug, $callback = '', $position = null ) { return add_submenu_page( 'index.php', $page_title, $menu_title, $capability, $menu_slug, $callback, $position ); } /** * Adds a submenu page to the Posts main menu. * * This function takes a capability which will be used to determine whether * or not a page is included in the menu. * * The function which is hooked in to handle the output of the page must check * that the user has the required capability as well. * * @since 2.7.0 * @since 5.3.0 Added the `$position` parameter. * * @param string $page_title The text to be displayed in the title tags of the page when the menu is selected. * @param string $menu_title The text to be used for the menu. * @param string $capability The capability required for this menu to be displayed to the user. * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu). * @param callable $callback Optional. The function to be called to output the content for this page. * @param int $position Optional. The position in the menu order this item should appear. * @return string|false The resulting page's hook_suffix, or false if the user does not have the capability required. */ function add_posts_page( $page_title, $menu_title, $capability, $menu_slug, $callback = '', $position = null ) { return add_submenu_page( 'edit.php', $page_title, $menu_title, $capability, $menu_slug, $callback, $position ); } /** * Adds a submenu page to the Media main menu. * * This function takes a capability which will be used to determine whether * or not a page is included in the menu. * * The function which is hooked in to handle the output of the page must check * that the user has the required capability as well. * * @since 2.7.0 * @since 5.3.0 Added the `$position` parameter. * * @param string $page_title The text to be displayed in the title tags of the page when the menu is selected. * @param string $menu_title The text to be used for the menu. * @param string $capability The capability required for this menu to be displayed to the user. * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu). * @param callable $callback Optional. The function to be called to output the content for this page. * @param int $position Optional. The position in the menu order this item should appear. * @return string|false The resulting page's hook_suffix, or false if the user does not have the capability required. */ function add_media_page( $page_title, $menu_title, $capability, $menu_slug, $callback = '', $position = null ) { return add_submenu_page( 'upload.php', $page_title, $menu_title, $capability, $menu_slug, $callback, $position ); } /** * Adds a submenu page to the Links main menu. * * This function takes a capability which will be used to determine whether * or not a page is included in the menu. * * The function which is hooked in to handle the output of the page must check * that the user has the required capability as well. * * @since 2.7.0 * @since 5.3.0 Added the `$position` parameter. * * @param string $page_title The text to be displayed in the title tags of the page when the menu is selected. * @param string $menu_title The text to be used for the menu. * @param string $capability The capability required for this menu to be displayed to the user. * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu). * @param callable $callback Optional. The function to be called to output the content for this page. * @param int $position Optional. The position in the menu order this item should appear. * @return string|false The resulting page's hook_suffix, or false if the user does not have the capability required. */ function add_links_page( $page_title, $menu_title, $capability, $menu_slug, $callback = '', $position = null ) { return add_submenu_page( 'link-manager.php', $page_title, $menu_title, $capability, $menu_slug, $callback, $position ); } /** * Adds a submenu page to the Pages main menu. * * This function takes a capability which will be used to determine whether * or not a page is included in the menu. * * The function which is hooked in to handle the output of the page must check * that the user has the required capability as well. * * @since 2.7.0 * @since 5.3.0 Added the `$position` parameter. * * @param string $page_title The text to be displayed in the title tags of the page when the menu is selected. * @param string $menu_title The text to be used for the menu. * @param string $capability The capability required for this menu to be displayed to the user. * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu). * @param callable $callback Optional. The function to be called to output the content for this page. * @param int $position Optional. The position in the menu order this item should appear. * @return string|false The resulting page's hook_suffix, or false if the user does not have the capability required. */ function add_pages_page( $page_title, $menu_title, $capability, $menu_slug, $callback = '', $position = null ) { return add_submenu_page( 'edit.php?post_type=page', $page_title, $menu_title, $capability, $menu_slug, $callback, $position ); } /** * Adds a submenu page to the Comments main menu. * * This function takes a capability which will be used to determine whether * or not a page is included in the menu. * * The function which is hooked in to handle the output of the page must check * that the user has the required capability as well. * * @since 2.7.0 * @since 5.3.0 Added the `$position` parameter. * * @param string $page_title The text to be displayed in the title tags of the page when the menu is selected. * @param string $menu_title The text to be used for the menu. * @param string $capability The capability required for this menu to be displayed to the user. * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu). * @param callable $callback Optional. The function to be called to output the content for this page. * @param int $position Optional. The position in the menu order this item should appear. * @return string|false The resulting page's hook_suffix, or false if the user does not have the capability required. */ function add_comments_page( $page_title, $menu_title, $capability, $menu_slug, $callback = '', $position = null ) { return add_submenu_page( 'edit-comments.php', $page_title, $menu_title, $capability, $menu_slug, $callback, $position ); } /** * Removes a top-level admin menu. * * Example usage: * * - `remove_menu_page( 'tools.php' )` * - `remove_menu_page( 'plugin_menu_slug' )` * * @since 3.1.0 * * @global array $menu * * @param string $menu_slug The slug of the menu. * @return array|false The removed menu on success, false if not found. */ function remove_menu_page( $menu_slug ) { global $menu; foreach ( $menu as $i => $item ) { if ( $menu_slug === $item[2] ) { unset( $menu[ $i ] ); return $item; } } return false; } /** * Removes an admin submenu. * * Example usage: * * - `remove_submenu_page( 'themes.php', 'nav-menus.php' )` * - `remove_submenu_page( 'tools.php', 'plugin_submenu_slug' )` * - `remove_submenu_page( 'plugin_menu_slug', 'plugin_submenu_slug' )` * * @since 3.1.0 * * @global array $submenu * * @param string $menu_slug The slug for the parent menu. * @param string $submenu_slug The slug of the submenu. * @return array|false The removed submenu on success, false if not found. */ function remove_submenu_page( $menu_slug, $submenu_slug ) { global $submenu; if ( ! isset( $submenu[ $menu_slug ] ) ) { return false; } foreach ( $submenu[ $menu_slug ] as $i => $item ) { if ( $submenu_slug === $item[2] ) { unset( $submenu[ $menu_slug ][ $i ] ); return $item; } } return false; } /** * Gets the URL to access a particular menu page based on the slug it was registered with. * * If the slug hasn't been registered properly, no URL will be returned. * * @since 3.0.0 * * @global array $_parent_pages * * @param string $menu_slug The slug name to refer to this menu by (should be unique for this menu). * @param bool $display Optional. Whether or not to display the URL. Default true. * @return string The menu page URL. */ function menu_page_url( $menu_slug, $display = true ) { global $_parent_pages; if ( isset( $_parent_pages[ $menu_slug ] ) ) { $parent_slug = $_parent_pages[ $menu_slug ]; if ( $parent_slug && ! isset( $_parent_pages[ $parent_slug ] ) ) { $url = admin_url( add_query_arg( 'page', $menu_slug, $parent_slug ) ); } else { $url = admin_url( 'admin.php?page=' . $menu_slug ); } } else { $url = ''; } $url = esc_url( $url ); if ( $display ) { echo $url; } return $url; } // // Pluggable Menu Support -- Private. // /** * Gets the parent file of the current admin page. * * @since 1.5.0 * * @global string $parent_file * @global array $menu * @global array $submenu * @global string $pagenow The filename of the current screen. * @global string $typenow The post type of the current screen. * @global string $plugin_page * @global array $_wp_real_parent_file * @global array $_wp_menu_nopriv * @global array $_wp_submenu_nopriv * * @param string $parent_page Optional. The slug name for the parent menu (or the file name * of a standard WordPress admin page). Default empty string. * @return string The parent file of the current admin page. */ function get_admin_page_parent( $parent_page = '' ) { global $parent_file, $menu, $submenu, $pagenow, $typenow, $plugin_page, $_wp_real_parent_file, $_wp_menu_nopriv, $_wp_submenu_nopriv; if ( ! empty( $parent_page ) && 'admin.php' !== $parent_page ) { if ( isset( $_wp_real_parent_file[ $parent_page ] ) ) { $parent_page = $_wp_real_parent_file[ $parent_page ]; } return $parent_page; } if ( 'admin.php' === $pagenow && isset( $plugin_page ) ) { foreach ( (array) $menu as $parent_menu ) { if ( $parent_menu[2] === $plugin_page ) { $parent_file = $plugin_page; if ( isset( $_wp_real_parent_file[ $parent_file ] ) ) { $parent_file = $_wp_real_parent_file[ $parent_file ]; } return $parent_file; } } if ( isset( $_wp_menu_nopriv[ $plugin_page ] ) ) { $parent_file = $plugin_page; if ( isset( $_wp_real_parent_file[ $parent_file ] ) ) { $parent_file = $_wp_real_parent_file[ $parent_file ]; } return $parent_file; } } if ( isset( $plugin_page ) && isset( $_wp_submenu_nopriv[ $pagenow ][ $plugin_page ] ) ) { $parent_file = $pagenow; if ( isset( $_wp_real_parent_file[ $parent_file ] ) ) { $parent_file = $_wp_real_parent_file[ $parent_file ]; } return $parent_file; } foreach ( array_keys( (array) $submenu ) as $parent_page ) { foreach ( $submenu[ $parent_page ] as $submenu_array ) { if ( isset( $_wp_real_parent_file[ $parent_page ] ) ) { $parent_page = $_wp_real_parent_file[ $parent_page ]; } if ( ! empty( $typenow ) && "$pagenow?post_type=$typenow" === $submenu_array[2] ) { $parent_file = $parent_page; return $parent_page; } elseif ( empty( $typenow ) && $pagenow === $submenu_array[2] && ( empty( $parent_file ) || ! str_contains( $parent_file, '?' ) ) ) { $parent_file = $parent_page; return $parent_page; } elseif ( isset( $plugin_page ) && $plugin_page === $submenu_array[2] ) { $parent_file = $parent_page; return $parent_page; } } } if ( empty( $parent_file ) ) { $parent_file = ''; } return ''; } /** * Gets the title of the current admin page. * * @since 1.5.0 * * @global string $title The title of the current screen. * @global array $menu * @global array $submenu * @global string $pagenow The filename of the current screen. * @global string $typenow The post type of the current screen. * @global string $plugin_page * * @return string The title of the current admin page. */ function get_admin_page_title() { global $title, $menu, $submenu, $pagenow, $typenow, $plugin_page; if ( ! empty( $title ) ) { return $title; } $hook = get_plugin_page_hook( $plugin_page, $pagenow ); $parent = get_admin_page_parent(); $parent1 = $parent; if ( empty( $parent ) ) { foreach ( (array) $menu as $menu_array ) { if ( isset( $menu_array[3] ) ) { if ( $menu_array[2] === $pagenow ) { $title = $menu_array[3]; return $menu_array[3]; } elseif ( isset( $plugin_page ) && $plugin_page === $menu_array[2] && $hook === $menu_array[5] ) { $title = $menu_array[3]; return $menu_array[3]; } } else { $title = $menu_array[0]; return $title; } } } else { foreach ( array_keys( $submenu ) as $parent ) { foreach ( $submenu[ $parent ] as $submenu_array ) { if ( isset( $plugin_page ) && $plugin_page === $submenu_array[2] && ( $pagenow === $parent || $plugin_page === $parent || $plugin_page === $hook || 'admin.php' === $pagenow && $parent1 !== $submenu_array[2] || ! empty( $typenow ) && "$pagenow?post_type=$typenow" === $parent ) ) { $title = $submenu_array[3]; return $submenu_array[3]; } if ( $submenu_array[2] !== $pagenow || isset( $_GET['page'] ) ) { // Not the current page. continue; } if ( isset( $submenu_array[3] ) ) { $title = $submenu_array[3]; return $submenu_array[3]; } else { $title = $submenu_array[0]; return $title; } } } if ( empty( $title ) ) { foreach ( $menu as $menu_array ) { if ( isset( $plugin_page ) && $plugin_page === $menu_array[2] && 'admin.php' === $pagenow && $parent1 === $menu_array[2] ) { $title = $menu_array[3]; return $menu_array[3]; } } } } return $title; } /** * Gets the hook attached to the administrative page of a plugin. * * @since 1.5.0 * * @param string $plugin_page The slug name of the plugin page. * @param string $parent_page The slug name for the parent menu (or the file name of a standard * WordPress admin page). * @return string|null Hook attached to the plugin page, null otherwise. */ function get_plugin_page_hook( $plugin_page, $parent_page ) { $hook = get_plugin_page_hookname( $plugin_page, $parent_page ); if ( has_action( $hook ) ) { return $hook; } else { return null; } } /** * Gets the hook name for the administrative page of a plugin. * * @since 1.5.0 * * @global array $admin_page_hooks * * @param string $plugin_page The slug name of the plugin page. * @param string $parent_page The slug name for the parent menu (or the file name of a standard * WordPress admin page). * @return string Hook name for the plugin page. */ function get_plugin_page_hookname( $plugin_page, $parent_page ) { global $admin_page_hooks; $parent = get_admin_page_parent( $parent_page ); $page_type = 'admin'; if ( empty( $parent_page ) || 'admin.php' === $parent_page || isset( $admin_page_hooks[ $plugin_page ] ) ) { if ( isset( $admin_page_hooks[ $plugin_page ] ) ) { $page_type = 'toplevel'; } elseif ( isset( $admin_page_hooks[ $parent ] ) ) { $page_type = $admin_page_hooks[ $parent ]; } } elseif ( isset( $admin_page_hooks[ $parent ] ) ) { $page_type = $admin_page_hooks[ $parent ]; } $plugin_name = preg_replace( '!\.php!', '', $plugin_page ); return $page_type . '_page_' . $plugin_name; } /** * Determines whether the current user can access the current admin page. * * @since 1.5.0 * * @global string $pagenow The filename of the current screen. * @global array $menu * @global array $submenu * @global array $_wp_menu_nopriv * @global array $_wp_submenu_nopriv * @global string $plugin_page * @global array $_registered_pages * * @return bool True if the current user can access the admin page, false otherwise. */ function user_can_access_admin_page() { global $pagenow, $menu, $submenu, $_wp_menu_nopriv, $_wp_submenu_nopriv, $plugin_page, $_registered_pages; $parent = get_admin_page_parent(); if ( ! isset( $plugin_page ) && isset( $_wp_submenu_nopriv[ $parent ][ $pagenow ] ) ) { return false; } if ( isset( $plugin_page ) ) { if ( isset( $_wp_submenu_nopriv[ $parent ][ $plugin_page ] ) ) { return false; } $hookname = get_plugin_page_hookname( $plugin_page, $parent ); if ( ! isset( $_registered_pages[ $hookname ] ) ) { return false; } } if ( empty( $parent ) ) { if ( isset( $_wp_menu_nopriv[ $pagenow ] ) ) { return false; } if ( isset( $_wp_submenu_nopriv[ $pagenow ][ $pagenow ] ) ) { return false; } if ( isset( $plugin_page ) && isset( $_wp_submenu_nopriv[ $pagenow ][ $plugin_page ] ) ) { return false; } if ( isset( $plugin_page ) && isset( $_wp_menu_nopriv[ $plugin_page ] ) ) { return false; } foreach ( array_keys( $_wp_submenu_nopriv ) as $key ) { if ( isset( $_wp_submenu_nopriv[ $key ][ $pagenow ] ) ) { return false; } if ( isset( $plugin_page ) && isset( $_wp_submenu_nopriv[ $key ][ $plugin_page ] ) ) { return false; } } return true; } if ( isset( $plugin_page ) && $plugin_page === $parent && isset( $_wp_menu_nopriv[ $plugin_page ] ) ) { return false; } if ( isset( $submenu[ $parent ] ) ) { foreach ( $submenu[ $parent ] as $submenu_array ) { if ( isset( $plugin_page ) && $submenu_array[2] === $plugin_page ) { return current_user_can( $submenu_array[1] ); } elseif ( $submenu_array[2] === $pagenow ) { return current_user_can( $submenu_array[1] ); } } } foreach ( $menu as $menu_array ) { if ( $menu_array[2] === $parent ) { return current_user_can( $menu_array[1] ); } } return true; } /* Allowed list functions */ /** * Refreshes the value of the allowed options list available via the 'allowed_options' hook. * * See the {@see 'allowed_options'} filter. * * @since 2.7.0 * @since 5.5.0 `$new_whitelist_options` was renamed to `$new_allowed_options`. * Please consider writing more inclusive code. * * @global array $new_allowed_options * * @param array $options * @return array */ function option_update_filter( $options ) { global $new_allowed_options; if ( is_array( $new_allowed_options ) ) { $options = add_allowed_options( $new_allowed_options, $options ); } return $options; } /** * Adds an array of options to the list of allowed options. * * @since 5.5.0 * * @global array $allowed_options * * @param array $new_options * @param string|array $options * @return array */ function add_allowed_options( $new_options, $options = '' ) { if ( '' === $options ) { global $allowed_options; } else { $allowed_options = $options; } foreach ( $new_options as $page => $keys ) { foreach ( $keys as $key ) { if ( ! isset( $allowed_options[ $page ] ) || ! is_array( $allowed_options[ $page ] ) ) { $allowed_options[ $page ] = array(); $allowed_options[ $page ][] = $key; } else { $pos = array_search( $key, $allowed_options[ $page ], true ); if ( false === $pos ) { $allowed_options[ $page ][] = $key; } } } } return $allowed_options; } /** * Removes a list of options from the allowed options list. * * @since 5.5.0 * * @global array $allowed_options * * @param array $del_options * @param string|array $options * @return array */ function remove_allowed_options( $del_options, $options = '' ) { if ( '' === $options ) { global $allowed_options; } else { $allowed_options = $options; } foreach ( $del_options as $page => $keys ) { foreach ( $keys as $key ) { if ( isset( $allowed_options[ $page ] ) && is_array( $allowed_options[ $page ] ) ) { $pos = array_search( $key, $allowed_options[ $page ], true ); if ( false !== $pos ) { unset( $allowed_options[ $page ][ $pos ] ); } } } } return $allowed_options; } /** * Outputs nonce, action, and option_page fields for a settings page. * * @since 2.7.0 * * @param string $option_group A settings group name. This should match the group name * used in register_setting(). */ function settings_fields( $option_group ) { echo "<input type='hidden' name='option_page' value='" . esc_attr( $option_group ) . "' />"; echo '<input type="hidden" name="action" value="update" />'; wp_nonce_field( "$option_group-options" ); } /** * Clears the plugins cache used by get_plugins() and by default, the plugin updates cache. * * @since 3.7.0 * * @param bool $clear_update_cache Whether to clear the plugin updates cache. Default true. */ function wp_clean_plugins_cache( $clear_update_cache = true ) { if ( $clear_update_cache ) { delete_site_transient( 'update_plugins' ); } wp_cache_delete( 'plugins', 'plugins' ); } /** * Loads a given plugin attempt to generate errors. * * @since 3.0.0 * @since 4.4.0 Function was moved into the `wp-admin/includes/plugin.php` file. * * @param string $plugin Path to the plugin file relative to the plugins directory. */ function plugin_sandbox_scrape( $plugin ) { if ( ! defined( 'WP_SANDBOX_SCRAPING' ) ) { define( 'WP_SANDBOX_SCRAPING', true ); } wp_register_plugin_realpath( WP_PLUGIN_DIR . '/' . $plugin ); include_once WP_PLUGIN_DIR . '/' . $plugin; } /** * Declares a helper function for adding content to the Privacy Policy Guide. * * Plugins and themes should suggest text for inclusion in the site's privacy policy. * The suggested text should contain information about any functionality that affects user privacy, * and will be shown on the Privacy Policy Guide screen. * * A plugin or theme can use this function multiple times as long as it will help to better present * the suggested policy content. For example modular plugins such as WooCommerse or Jetpack * can add or remove suggested content depending on the modules/extensions that are enabled. * For more information see the Plugin Handbook: * https://developer.wordpress.org/plugins/privacy/suggesting-text-for-the-site-privacy-policy/. * * The HTML contents of the `$policy_text` supports use of a specialized `.privacy-policy-tutorial` * CSS class which can be used to provide supplemental information. Any content contained within * HTML elements that have the `.privacy-policy-tutorial` CSS class applied will be omitted * from the clipboard when the section content is copied. * * Intended for use with the `'admin_init'` action. * * @since 4.9.6 * * @param string $plugin_name The name of the plugin or theme that is suggesting content * for the site's privacy policy. * @param string $policy_text The suggested content for inclusion in the policy. */ function wp_add_privacy_policy_content( $plugin_name, $policy_text ) { if ( ! is_admin() ) { _doing_it_wrong( __FUNCTION__, sprintf( /* translators: %s: admin_init */ __( 'The suggested privacy policy content should be added only in wp-admin by using the %s (or later) action.' ), '<code>admin_init</code>' ), '4.9.7' ); return; } elseif ( ! doing_action( 'admin_init' ) && ! did_action( 'admin_init' ) ) { _doing_it_wrong( __FUNCTION__, sprintf( /* translators: %s: admin_init */ __( 'The suggested privacy policy content should be added by using the %s (or later) action. Please see the inline documentation.' ), '<code>admin_init</code>' ), '4.9.7' ); return; } if ( ! class_exists( 'WP_Privacy_Policy_Content' ) ) { require_once ABSPATH . 'wp-admin/includes/class-wp-privacy-policy-content.php'; } WP_Privacy_Policy_Content::add( $plugin_name, $policy_text ); } /** * Determines whether a plugin is technically active but was paused while * loading. * * For more information on this and similar theme functions, check out * the {@link https://developer.wordpress.org/themes/basics/conditional-tags/ * Conditional Tags} article in the Theme Developer Handbook. * * @since 5.2.0 * * @global WP_Paused_Extensions_Storage $_paused_plugins * * @param string $plugin Path to the plugin file relative to the plugins directory. * @return bool True, if in the list of paused plugins. False, if not in the list. */ function is_plugin_paused( $plugin ) { if ( ! isset( $GLOBALS['_paused_plugins'] ) ) { return false; } if ( ! is_plugin_active( $plugin ) ) { return false; } list( $plugin ) = explode( '/', $plugin ); return array_key_exists( $plugin, $GLOBALS['_paused_plugins'] ); } /** * Gets the error that was recorded for a paused plugin. * * @since 5.2.0 * * @global WP_Paused_Extensions_Storage $_paused_plugins * * @param string $plugin Path to the plugin file relative to the plugins directory. * @return array|false Array of error information as returned by `error_get_last()`, * or false if none was recorded. */ function wp_get_plugin_error( $plugin ) { if ( ! isset( $GLOBALS['_paused_plugins'] ) ) { return false; } list( $plugin ) = explode( '/', $plugin ); if ( ! array_key_exists( $plugin, $GLOBALS['_paused_plugins'] ) ) { return false; } return $GLOBALS['_paused_plugins'][ $plugin ]; } /** * Tries to resume a single plugin. * * If a redirect was provided, we first ensure the plugin does not throw fatal * errors anymore. * * The way it works is by setting the redirection to the error before trying to * include the plugin file. If the plugin fails, then the redirection will not * be overwritten with the success message and the plugin will not be resumed. * * @since 5.2.0 * * @param string $plugin Single plugin to resume. * @param string $redirect Optional. URL to redirect to. Default empty string. * @return true|WP_Error True on success, false if `$plugin` was not paused, * `WP_Error` on failure. */ function resume_plugin( $plugin, $redirect = '' ) { /* * We'll override this later if the plugin could be resumed without * creating a fatal error. */ if ( ! empty( $redirect ) ) { wp_redirect( add_query_arg( '_error_nonce', wp_create_nonce( 'plugin-resume-error_' . $plugin ), $redirect ) ); // Load the plugin to test whether it throws a fatal error. ob_start(); plugin_sandbox_scrape( $plugin ); ob_clean(); } list( $extension ) = explode( '/', $plugin ); $result = wp_paused_plugins()->delete( $extension ); if ( ! $result ) { return new WP_Error( 'could_not_resume_plugin', __( 'Could not resume the plugin.' ) ); } return true; } /** * Renders an admin notice in case some plugins have been paused due to errors. * * @since 5.2.0 * * @global string $pagenow The filename of the current screen. * @global WP_Paused_Extensions_Storage $_paused_plugins */ function paused_plugins_notice() { if ( 'plugins.php' === $GLOBALS['pagenow'] ) { return; } if ( ! current_user_can( 'resume_plugins' ) ) { return; } if ( ! isset( $GLOBALS['_paused_plugins'] ) || empty( $GLOBALS['_paused_plugins'] ) ) { return; } $message = sprintf( '<strong>%s</strong><br>%s</p><p><a href="%s">%s</a>', __( 'One or more plugins failed to load properly.' ), __( 'You can find more details and make changes on the Plugins screen.' ), esc_url( admin_url( 'plugins.php?plugin_status=paused' ) ), __( 'Go to the Plugins screen' ) ); wp_admin_notice( $message, array( 'type' => 'error' ) ); } /** * Renders an admin notice when a plugin was deactivated during an update. * * Displays an admin notice in case a plugin has been deactivated during an * upgrade due to incompatibility with the current version of WordPress. * * @since 5.8.0 * @access private * * @global string $pagenow The filename of the current screen. * @global string $wp_version The WordPress version string. */ function deactivated_plugins_notice() { if ( 'plugins.php' === $GLOBALS['pagenow'] ) { return; } if ( ! current_user_can( 'activate_plugins' ) ) { return; } $blog_deactivated_plugins = get_option( 'wp_force_deactivated_plugins' ); $site_deactivated_plugins = array(); if ( false === $blog_deactivated_plugins ) { // Option not in database, add an empty array to avoid extra DB queries on subsequent loads. update_option( 'wp_force_deactivated_plugins', array(), false ); } if ( is_multisite() ) { $site_deactivated_plugins = get_site_option( 'wp_force_deactivated_plugins' ); if ( false === $site_deactivated_plugins ) { // Option not in database, add an empty array to avoid extra DB queries on subsequent loads. update_site_option( 'wp_force_deactivated_plugins', array() ); } } if ( empty( $blog_deactivated_plugins ) && empty( $site_deactivated_plugins ) ) { // No deactivated plugins. return; } $deactivated_plugins = array_merge( $blog_deactivated_plugins, $site_deactivated_plugins ); foreach ( $deactivated_plugins as $plugin ) { if ( ! empty( $plugin['version_compatible'] ) && ! empty( $plugin['version_deactivated'] ) ) { $explanation = sprintf( /* translators: 1: Name of deactivated plugin, 2: Plugin version deactivated, 3: Current WP version, 4: Compatible plugin version. */ __( '%1$s %2$s was deactivated due to incompatibility with WordPress %3$s, please upgrade to %1$s %4$s or later.' ), $plugin['plugin_name'], $plugin['version_deactivated'], $GLOBALS['wp_version'], $plugin['version_compatible'] ); } else { $explanation = sprintf( /* translators: 1: Name of deactivated plugin, 2: Plugin version deactivated, 3: Current WP version. */ __( '%1$s %2$s was deactivated due to incompatibility with WordPress %3$s.' ), $plugin['plugin_name'], ! empty( $plugin['version_deactivated'] ) ? $plugin['version_deactivated'] : '', $GLOBALS['wp_version'], $plugin['version_compatible'] ); } $message = sprintf( '<strong>%s</strong><br>%s</p><p><a href="%s">%s</a>', sprintf( /* translators: %s: Name of deactivated plugin. */ __( '%s plugin deactivated during WordPress upgrade.' ), $plugin['plugin_name'] ), $explanation, esc_url( admin_url( 'plugins.php?plugin_status=inactive' ) ), __( 'Go to the Plugins screen' ) ); wp_admin_notice( $message, array( 'type' => 'warning' ) ); } // Empty the options. update_option( 'wp_force_deactivated_plugins', array(), false ); if ( is_multisite() ) { update_site_option( 'wp_force_deactivated_plugins', array() ); } } class-wp-filesystem-ftpext.php 0000644 00000055075 14735706075 0012532 0 ustar 00 <?php /** * WordPress FTP Filesystem. * * @package WordPress * @subpackage Filesystem */ /** * WordPress Filesystem Class for implementing FTP. * * @since 2.5.0 * * @see WP_Filesystem_Base */ class WP_Filesystem_FTPext extends WP_Filesystem_Base { /** * @since 2.5.0 * @var resource */ public $link; /** * Constructor. * * @since 2.5.0 * * @param array $opt */ public function __construct( $opt = '' ) { $this->method = 'ftpext'; $this->errors = new WP_Error(); // Check if possible to use ftp functions. if ( ! extension_loaded( 'ftp' ) ) { $this->errors->add( 'no_ftp_ext', __( 'The ftp PHP extension is not available' ) ); return; } // This class uses the timeout on a per-connection basis, others use it on a per-action basis. if ( ! defined( 'FS_TIMEOUT' ) ) { define( 'FS_TIMEOUT', 4 * MINUTE_IN_SECONDS ); } if ( empty( $opt['port'] ) ) { $this->options['port'] = 21; } else { $this->options['port'] = $opt['port']; } if ( empty( $opt['hostname'] ) ) { $this->errors->add( 'empty_hostname', __( 'FTP hostname is required' ) ); } else { $this->options['hostname'] = $opt['hostname']; } // Check if the options provided are OK. if ( empty( $opt['username'] ) ) { $this->errors->add( 'empty_username', __( 'FTP username is required' ) ); } else { $this->options['username'] = $opt['username']; } if ( empty( $opt['password'] ) ) { $this->errors->add( 'empty_password', __( 'FTP password is required' ) ); } else { $this->options['password'] = $opt['password']; } $this->options['ssl'] = false; if ( isset( $opt['connection_type'] ) && 'ftps' === $opt['connection_type'] ) { $this->options['ssl'] = true; } } /** * Connects filesystem. * * @since 2.5.0 * * @return bool True on success, false on failure. */ public function connect() { if ( isset( $this->options['ssl'] ) && $this->options['ssl'] && function_exists( 'ftp_ssl_connect' ) ) { $this->link = @ftp_ssl_connect( $this->options['hostname'], $this->options['port'], FS_CONNECT_TIMEOUT ); } else { $this->link = @ftp_connect( $this->options['hostname'], $this->options['port'], FS_CONNECT_TIMEOUT ); } if ( ! $this->link ) { $this->errors->add( 'connect', sprintf( /* translators: %s: hostname:port */ __( 'Failed to connect to FTP Server %s' ), $this->options['hostname'] . ':' . $this->options['port'] ) ); return false; } if ( ! @ftp_login( $this->link, $this->options['username'], $this->options['password'] ) ) { $this->errors->add( 'auth', sprintf( /* translators: %s: Username. */ __( 'Username/Password incorrect for %s' ), $this->options['username'] ) ); return false; } // Set the connection to use Passive FTP. ftp_pasv( $this->link, true ); if ( @ftp_get_option( $this->link, FTP_TIMEOUT_SEC ) < FS_TIMEOUT ) { @ftp_set_option( $this->link, FTP_TIMEOUT_SEC, FS_TIMEOUT ); } return true; } /** * Reads entire file into a string. * * @since 2.5.0 * * @param string $file Name of the file to read. * @return string|false Read data on success, false if no temporary file could be opened, * or if the file couldn't be retrieved. */ public function get_contents( $file ) { $tempfile = wp_tempnam( $file ); $temphandle = fopen( $tempfile, 'w+' ); if ( ! $temphandle ) { unlink( $tempfile ); return false; } if ( ! ftp_fget( $this->link, $temphandle, $file, FTP_BINARY ) ) { fclose( $temphandle ); unlink( $tempfile ); return false; } fseek( $temphandle, 0 ); // Skip back to the start of the file being written to. $contents = ''; while ( ! feof( $temphandle ) ) { $contents .= fread( $temphandle, 8 * KB_IN_BYTES ); } fclose( $temphandle ); unlink( $tempfile ); return $contents; } /** * Reads entire file into an array. * * @since 2.5.0 * * @param string $file Path to the file. * @return array|false File contents in an array on success, false on failure. */ public function get_contents_array( $file ) { return explode( "\n", $this->get_contents( $file ) ); } /** * Writes a string to a file. * * @since 2.5.0 * * @param string $file Remote path to the file where to write the data. * @param string $contents The data to write. * @param int|false $mode Optional. The file permissions as octal number, usually 0644. * Default false. * @return bool True on success, false on failure. */ public function put_contents( $file, $contents, $mode = false ) { $tempfile = wp_tempnam( $file ); $temphandle = fopen( $tempfile, 'wb+' ); if ( ! $temphandle ) { unlink( $tempfile ); return false; } mbstring_binary_safe_encoding(); $data_length = strlen( $contents ); $bytes_written = fwrite( $temphandle, $contents ); reset_mbstring_encoding(); if ( $data_length !== $bytes_written ) { fclose( $temphandle ); unlink( $tempfile ); return false; } fseek( $temphandle, 0 ); // Skip back to the start of the file being written to. $ret = ftp_fput( $this->link, $file, $temphandle, FTP_BINARY ); fclose( $temphandle ); unlink( $tempfile ); $this->chmod( $file, $mode ); return $ret; } /** * Gets the current working directory. * * @since 2.5.0 * * @return string|false The current working directory on success, false on failure. */ public function cwd() { $cwd = ftp_pwd( $this->link ); if ( $cwd ) { $cwd = trailingslashit( $cwd ); } return $cwd; } /** * Changes current directory. * * @since 2.5.0 * * @param string $dir The new current directory. * @return bool True on success, false on failure. */ public function chdir( $dir ) { return @ftp_chdir( $this->link, $dir ); } /** * Changes filesystem permissions. * * @since 2.5.0 * * @param string $file Path to the file. * @param int|false $mode Optional. The permissions as octal number, usually 0644 for files, * 0755 for directories. Default false. * @param bool $recursive Optional. If set to true, changes file permissions recursively. * Default false. * @return bool True on success, false on failure. */ public function chmod( $file, $mode = false, $recursive = false ) { if ( ! $mode ) { if ( $this->is_file( $file ) ) { $mode = FS_CHMOD_FILE; } elseif ( $this->is_dir( $file ) ) { $mode = FS_CHMOD_DIR; } else { return false; } } // chmod any sub-objects if recursive. if ( $recursive && $this->is_dir( $file ) ) { $filelist = $this->dirlist( $file ); foreach ( (array) $filelist as $filename => $filemeta ) { $this->chmod( $file . '/' . $filename, $mode, $recursive ); } } // chmod the file or directory. if ( ! function_exists( 'ftp_chmod' ) ) { return (bool) ftp_site( $this->link, sprintf( 'CHMOD %o %s', $mode, $file ) ); } return (bool) ftp_chmod( $this->link, $mode, $file ); } /** * Gets the file owner. * * @since 2.5.0 * * @param string $file Path to the file. * @return string|false Username of the owner on success, false on failure. */ public function owner( $file ) { $dir = $this->dirlist( $file ); return $dir[ $file ]['owner']; } /** * Gets the permissions of the specified file or filepath in their octal format. * * @since 2.5.0 * * @param string $file Path to the file. * @return string Mode of the file (the last 3 digits). */ public function getchmod( $file ) { $dir = $this->dirlist( $file ); return $dir[ $file ]['permsn']; } /** * Gets the file's group. * * @since 2.5.0 * * @param string $file Path to the file. * @return string|false The group on success, false on failure. */ public function group( $file ) { $dir = $this->dirlist( $file ); return $dir[ $file ]['group']; } /** * Copies a file. * * @since 2.5.0 * * @param string $source Path to the source file. * @param string $destination Path to the destination file. * @param bool $overwrite Optional. Whether to overwrite the destination file if it exists. * Default false. * @param int|false $mode Optional. The permissions as octal number, usually 0644 for files, * 0755 for dirs. Default false. * @return bool True on success, false on failure. */ public function copy( $source, $destination, $overwrite = false, $mode = false ) { if ( ! $overwrite && $this->exists( $destination ) ) { return false; } $content = $this->get_contents( $source ); if ( false === $content ) { return false; } return $this->put_contents( $destination, $content, $mode ); } /** * Moves a file or directory. * * After moving files or directories, OPcache will need to be invalidated. * * If moving a directory fails, `copy_dir()` can be used for a recursive copy. * * Use `move_dir()` for moving directories with OPcache invalidation and a * fallback to `copy_dir()`. * * @since 2.5.0 * * @param string $source Path to the source file or directory. * @param string $destination Path to the destination file or directory. * @param bool $overwrite Optional. Whether to overwrite the destination if it exists. * Default false. * @return bool True on success, false on failure. */ public function move( $source, $destination, $overwrite = false ) { return ftp_rename( $this->link, $source, $destination ); } /** * Deletes a file or directory. * * @since 2.5.0 * * @param string $file Path to the file or directory. * @param bool $recursive Optional. If set to true, deletes files and folders recursively. * Default false. * @param string|false $type Type of resource. 'f' for file, 'd' for directory. * Default false. * @return bool True on success, false on failure. */ public function delete( $file, $recursive = false, $type = false ) { if ( empty( $file ) ) { return false; } if ( 'f' === $type || $this->is_file( $file ) ) { return ftp_delete( $this->link, $file ); } if ( ! $recursive ) { return ftp_rmdir( $this->link, $file ); } $filelist = $this->dirlist( trailingslashit( $file ) ); if ( ! empty( $filelist ) ) { foreach ( $filelist as $delete_file ) { $this->delete( trailingslashit( $file ) . $delete_file['name'], $recursive, $delete_file['type'] ); } } return ftp_rmdir( $this->link, $file ); } /** * Checks if a file or directory exists. * * @since 2.5.0 * @since 6.3.0 Returns false for an empty path. * * @param string $path Path to file or directory. * @return bool Whether $path exists or not. */ public function exists( $path ) { /* * Check for empty path. If ftp_nlist() receives an empty path, * it checks the current working directory and may return true. * * See https://core.trac.wordpress.org/ticket/33058. */ if ( '' === $path ) { return false; } $list = ftp_nlist( $this->link, $path ); if ( empty( $list ) && $this->is_dir( $path ) ) { return true; // File is an empty directory. } return ! empty( $list ); // Empty list = no file, so invert. } /** * Checks if resource is a file. * * @since 2.5.0 * * @param string $file File path. * @return bool Whether $file is a file. */ public function is_file( $file ) { return $this->exists( $file ) && ! $this->is_dir( $file ); } /** * Checks if resource is a directory. * * @since 2.5.0 * * @param string $path Directory path. * @return bool Whether $path is a directory. */ public function is_dir( $path ) { $cwd = $this->cwd(); $result = @ftp_chdir( $this->link, trailingslashit( $path ) ); if ( $result && $path === $this->cwd() || $this->cwd() !== $cwd ) { @ftp_chdir( $this->link, $cwd ); return true; } return false; } /** * Checks if a file is readable. * * @since 2.5.0 * * @param string $file Path to file. * @return bool Whether $file is readable. */ public function is_readable( $file ) { return true; } /** * Checks if a file or directory is writable. * * @since 2.5.0 * * @param string $path Path to file or directory. * @return bool Whether $path is writable. */ public function is_writable( $path ) { return true; } /** * Gets the file's last access time. * * @since 2.5.0 * * @param string $file Path to file. * @return int|false Unix timestamp representing last access time, false on failure. */ public function atime( $file ) { return false; } /** * Gets the file modification time. * * @since 2.5.0 * * @param string $file Path to file. * @return int|false Unix timestamp representing modification time, false on failure. */ public function mtime( $file ) { return ftp_mdtm( $this->link, $file ); } /** * Gets the file size (in bytes). * * @since 2.5.0 * * @param string $file Path to file. * @return int|false Size of the file in bytes on success, false on failure. */ public function size( $file ) { $size = ftp_size( $this->link, $file ); return ( $size > -1 ) ? $size : false; } /** * Sets the access and modification times of a file. * * Note: If $file doesn't exist, it will be created. * * @since 2.5.0 * * @param string $file Path to file. * @param int $time Optional. Modified time to set for file. * Default 0. * @param int $atime Optional. Access time to set for file. * Default 0. * @return bool True on success, false on failure. */ public function touch( $file, $time = 0, $atime = 0 ) { return false; } /** * Creates a directory. * * @since 2.5.0 * * @param string $path Path for new directory. * @param int|false $chmod Optional. The permissions as octal number (or false to skip chmod). * Default false. * @param string|int|false $chown Optional. A user name or number (or false to skip chown). * Default false. * @param string|int|false $chgrp Optional. A group name or number (or false to skip chgrp). * Default false. * @return bool True on success, false on failure. */ public function mkdir( $path, $chmod = false, $chown = false, $chgrp = false ) { $path = untrailingslashit( $path ); if ( empty( $path ) ) { return false; } if ( ! ftp_mkdir( $this->link, $path ) ) { return false; } $this->chmod( $path, $chmod ); return true; } /** * Deletes a directory. * * @since 2.5.0 * * @param string $path Path to directory. * @param bool $recursive Optional. Whether to recursively remove files/directories. * Default false. * @return bool True on success, false on failure. */ public function rmdir( $path, $recursive = false ) { return $this->delete( $path, $recursive ); } /** * @param string $line * @return array { * Array of file information. * * @type string $name Name of the file or directory. * @type string $perms *nix representation of permissions. * @type string $permsn Octal representation of permissions. * @type string|false $number File number as a string, or false if not available. * @type string|false $owner Owner name or ID, or false if not available. * @type string|false $group File permissions group, or false if not available. * @type string|false $size Size of file in bytes as a string, or false if not available. * @type string|false $lastmodunix Last modified unix timestamp as a string, or false if not available. * @type string|false $lastmod Last modified month (3 letters) and day (without leading 0), or * false if not available. * @type string|false $time Last modified time, or false if not available. * @type string $type Type of resource. 'f' for file, 'd' for directory, 'l' for link. * @type array|false $files If a directory and `$recursive` is true, contains another array of files. * False if unable to list directory contents. * } */ public function parselisting( $line ) { static $is_windows = null; if ( is_null( $is_windows ) ) { $is_windows = stripos( ftp_systype( $this->link ), 'win' ) !== false; } if ( $is_windows && preg_match( '/([0-9]{2})-([0-9]{2})-([0-9]{2}) +([0-9]{2}):([0-9]{2})(AM|PM) +([0-9]+|<DIR>) +(.+)/', $line, $lucifer ) ) { $b = array(); if ( $lucifer[3] < 70 ) { $lucifer[3] += 2000; } else { $lucifer[3] += 1900; // 4-digit year fix. } $b['isdir'] = ( '<DIR>' === $lucifer[7] ); if ( $b['isdir'] ) { $b['type'] = 'd'; } else { $b['type'] = 'f'; } $b['size'] = $lucifer[7]; $b['month'] = $lucifer[1]; $b['day'] = $lucifer[2]; $b['year'] = $lucifer[3]; $b['hour'] = $lucifer[4]; $b['minute'] = $lucifer[5]; $b['time'] = mktime( $lucifer[4] + ( strcasecmp( $lucifer[6], 'PM' ) === 0 ? 12 : 0 ), $lucifer[5], 0, $lucifer[1], $lucifer[2], $lucifer[3] ); $b['am/pm'] = $lucifer[6]; $b['name'] = $lucifer[8]; } elseif ( ! $is_windows ) { $lucifer = preg_split( '/[ ]/', $line, 9, PREG_SPLIT_NO_EMPTY ); if ( $lucifer ) { // echo $line."\n"; $lcount = count( $lucifer ); if ( $lcount < 8 ) { return ''; } $b = array(); $b['isdir'] = 'd' === $lucifer[0][0]; $b['islink'] = 'l' === $lucifer[0][0]; if ( $b['isdir'] ) { $b['type'] = 'd'; } elseif ( $b['islink'] ) { $b['type'] = 'l'; } else { $b['type'] = 'f'; } $b['perms'] = $lucifer[0]; $b['permsn'] = $this->getnumchmodfromh( $b['perms'] ); $b['number'] = $lucifer[1]; $b['owner'] = $lucifer[2]; $b['group'] = $lucifer[3]; $b['size'] = $lucifer[4]; if ( 8 === $lcount ) { sscanf( $lucifer[5], '%d-%d-%d', $b['year'], $b['month'], $b['day'] ); sscanf( $lucifer[6], '%d:%d', $b['hour'], $b['minute'] ); $b['time'] = mktime( $b['hour'], $b['minute'], 0, $b['month'], $b['day'], $b['year'] ); $b['name'] = $lucifer[7]; } else { $b['month'] = $lucifer[5]; $b['day'] = $lucifer[6]; if ( preg_match( '/([0-9]{2}):([0-9]{2})/', $lucifer[7], $l2 ) ) { $b['year'] = gmdate( 'Y' ); $b['hour'] = $l2[1]; $b['minute'] = $l2[2]; } else { $b['year'] = $lucifer[7]; $b['hour'] = 0; $b['minute'] = 0; } $b['time'] = strtotime( sprintf( '%d %s %d %02d:%02d', $b['day'], $b['month'], $b['year'], $b['hour'], $b['minute'] ) ); $b['name'] = $lucifer[8]; } } } // Replace symlinks formatted as "source -> target" with just the source name. if ( isset( $b['islink'] ) && $b['islink'] ) { $b['name'] = preg_replace( '/(\s*->\s*.*)$/', '', $b['name'] ); } return $b; } /** * Gets details for files in a directory or a specific file. * * @since 2.5.0 * * @param string $path Path to directory or file. * @param bool $include_hidden Optional. Whether to include details of hidden ("." prefixed) files. * Default true. * @param bool $recursive Optional. Whether to recursively include file details in nested directories. * Default false. * @return array|false { * Array of arrays containing file information. False if unable to list directory contents. * * @type array ...$0 { * Array of file information. Note that some elements may not be available on all filesystems. * * @type string $name Name of the file or directory. * @type string $perms *nix representation of permissions. * @type string $permsn Octal representation of permissions. * @type int|string|false $number File number. May be a numeric string. False if not available. * @type string|false $owner Owner name or ID, or false if not available. * @type string|false $group File permissions group, or false if not available. * @type int|string|false $size Size of file in bytes. May be a numeric string. * False if not available. * @type int|string|false $lastmodunix Last modified unix timestamp. May be a numeric string. * False if not available. * @type string|false $lastmod Last modified month (3 letters) and day (without leading 0), or * false if not available. * @type string|false $time Last modified time, or false if not available. * @type string $type Type of resource. 'f' for file, 'd' for directory, 'l' for link. * @type array|false $files If a directory and `$recursive` is true, contains another array of * files. False if unable to list directory contents. * } * } */ public function dirlist( $path = '.', $include_hidden = true, $recursive = false ) { if ( $this->is_file( $path ) ) { $limit_file = basename( $path ); $path = dirname( $path ) . '/'; } else { $limit_file = false; } $pwd = ftp_pwd( $this->link ); if ( ! @ftp_chdir( $this->link, $path ) ) { // Can't change to folder = folder doesn't exist. return false; } $list = ftp_rawlist( $this->link, '-a', false ); @ftp_chdir( $this->link, $pwd ); if ( empty( $list ) ) { // Empty array = non-existent folder (real folder will show . at least). return false; } $dirlist = array(); foreach ( $list as $k => $v ) { $entry = $this->parselisting( $v ); if ( empty( $entry ) ) { continue; } if ( '.' === $entry['name'] || '..' === $entry['name'] ) { continue; } if ( ! $include_hidden && '.' === $entry['name'][0] ) { continue; } if ( $limit_file && $entry['name'] !== $limit_file ) { continue; } $dirlist[ $entry['name'] ] = $entry; } $path = trailingslashit( $path ); $ret = array(); foreach ( (array) $dirlist as $struc ) { if ( 'd' === $struc['type'] ) { if ( $recursive ) { $struc['files'] = $this->dirlist( $path . $struc['name'], $include_hidden, $recursive ); } else { $struc['files'] = array(); } } $ret[ $struc['name'] ] = $struc; } return $ret; } /** * Destructor. * * @since 2.5.0 */ public function __destruct() { if ( $this->link ) { ftp_close( $this->link ); } } } meta-boxes.php 0000644 00000201044 14735706075 0007340 0 ustar 00 <?php /** * WordPress Administration Meta Boxes API. * * @package WordPress * @subpackage Administration */ // // Post-related Meta Boxes. // /** * Displays post submit form fields. * * @since 2.7.0 * * @global string $action * * @param WP_Post $post Current post object. * @param array $args { * Array of arguments for building the post submit meta box. * * @type string $id Meta box 'id' attribute. * @type string $title Meta box title. * @type callable $callback Meta box display callback. * @type array $args Extra meta box arguments. * } */ function post_submit_meta_box( $post, $args = array() ) { global $action; $post_id = (int) $post->ID; $post_type = $post->post_type; $post_type_object = get_post_type_object( $post_type ); $can_publish = current_user_can( $post_type_object->cap->publish_posts ); ?> <div class="submitbox" id="submitpost"> <div id="minor-publishing"> <?php // Hidden submit button early on so that the browser chooses the right button when form is submitted with Return key. ?> <div style="display:none;"> <?php submit_button( __( 'Save' ), '', 'save' ); ?> </div> <div id="minor-publishing-actions"> <div id="save-action"> <?php if ( ! in_array( $post->post_status, array( 'publish', 'future', 'pending' ), true ) ) { $private_style = ''; if ( 'private' === $post->post_status ) { $private_style = 'style="display:none"'; } ?> <input <?php echo $private_style; ?> type="submit" name="save" id="save-post" value="<?php esc_attr_e( 'Save Draft' ); ?>" class="button" /> <span class="spinner"></span> <?php } elseif ( 'pending' === $post->post_status && $can_publish ) { ?> <input type="submit" name="save" id="save-post" value="<?php esc_attr_e( 'Save as Pending' ); ?>" class="button" /> <span class="spinner"></span> <?php } ?> </div> <?php if ( is_post_type_viewable( $post_type_object ) ) : ?> <div id="preview-action"> <?php $preview_link = esc_url( get_preview_post_link( $post ) ); if ( 'publish' === $post->post_status ) { $preview_button_text = __( 'Preview Changes' ); } else { $preview_button_text = __( 'Preview' ); } $preview_button = sprintf( '%1$s<span class="screen-reader-text"> %2$s</span>', $preview_button_text, /* translators: Hidden accessibility text. */ __( '(opens in a new tab)' ) ); ?> <a class="preview button" href="<?php echo $preview_link; ?>" target="wp-preview-<?php echo $post_id; ?>" id="post-preview"><?php echo $preview_button; ?></a> <input type="hidden" name="wp-preview" id="wp-preview" value="" /> </div> <?php endif; /** * Fires after the Save Draft (or Save as Pending) and Preview (or Preview Changes) buttons * in the Publish meta box. * * @since 4.4.0 * * @param WP_Post $post WP_Post object for the current post. */ do_action( 'post_submitbox_minor_actions', $post ); ?> <div class="clear"></div> </div> <div id="misc-publishing-actions"> <div class="misc-pub-section misc-pub-post-status"> <?php _e( 'Status:' ); ?> <span id="post-status-display"> <?php switch ( $post->post_status ) { case 'private': _e( 'Privately Published' ); break; case 'publish': _e( 'Published' ); break; case 'future': _e( 'Scheduled' ); break; case 'pending': _e( 'Pending Review' ); break; case 'draft': case 'auto-draft': _e( 'Draft' ); break; } ?> </span> <?php if ( 'publish' === $post->post_status || 'private' === $post->post_status || $can_publish ) { $private_style = ''; if ( 'private' === $post->post_status ) { $private_style = 'style="display:none"'; } ?> <a href="#post_status" <?php echo $private_style; ?> class="edit-post-status hide-if-no-js" role="button"><span aria-hidden="true"><?php _e( 'Edit' ); ?></span> <span class="screen-reader-text"> <?php /* translators: Hidden accessibility text. */ _e( 'Edit status' ); ?> </span></a> <div id="post-status-select" class="hide-if-js"> <input type="hidden" name="hidden_post_status" id="hidden_post_status" value="<?php echo esc_attr( ( 'auto-draft' === $post->post_status ) ? 'draft' : $post->post_status ); ?>" /> <label for="post_status" class="screen-reader-text"> <?php /* translators: Hidden accessibility text. */ _e( 'Set status' ); ?> </label> <select name="post_status" id="post_status"> <?php if ( 'publish' === $post->post_status ) : ?> <option<?php selected( $post->post_status, 'publish' ); ?> value='publish'><?php _e( 'Published' ); ?></option> <?php elseif ( 'private' === $post->post_status ) : ?> <option<?php selected( $post->post_status, 'private' ); ?> value='publish'><?php _e( 'Privately Published' ); ?></option> <?php elseif ( 'future' === $post->post_status ) : ?> <option<?php selected( $post->post_status, 'future' ); ?> value='future'><?php _e( 'Scheduled' ); ?></option> <?php endif; ?> <option<?php selected( $post->post_status, 'pending' ); ?> value='pending'><?php _e( 'Pending Review' ); ?></option> <?php if ( 'auto-draft' === $post->post_status ) : ?> <option<?php selected( $post->post_status, 'auto-draft' ); ?> value='draft'><?php _e( 'Draft' ); ?></option> <?php else : ?> <option<?php selected( $post->post_status, 'draft' ); ?> value='draft'><?php _e( 'Draft' ); ?></option> <?php endif; ?> </select> <a href="#post_status" class="save-post-status hide-if-no-js button"><?php _e( 'OK' ); ?></a> <a href="#post_status" class="cancel-post-status hide-if-no-js button-cancel"><?php _e( 'Cancel' ); ?></a> </div> <?php } ?> </div> <div class="misc-pub-section misc-pub-visibility" id="visibility"> <?php _e( 'Visibility:' ); ?> <span id="post-visibility-display"> <?php if ( 'private' === $post->post_status ) { $post->post_password = ''; $visibility = 'private'; $visibility_trans = __( 'Private' ); } elseif ( ! empty( $post->post_password ) ) { $visibility = 'password'; $visibility_trans = __( 'Password protected' ); } elseif ( 'post' === $post_type && is_sticky( $post_id ) ) { $visibility = 'public'; $visibility_trans = __( 'Public, Sticky' ); } else { $visibility = 'public'; $visibility_trans = __( 'Public' ); } echo esc_html( $visibility_trans ); ?> </span> <?php if ( $can_publish ) { ?> <a href="#visibility" class="edit-visibility hide-if-no-js" role="button"><span aria-hidden="true"><?php _e( 'Edit' ); ?></span> <span class="screen-reader-text"> <?php /* translators: Hidden accessibility text. */ _e( 'Edit visibility' ); ?> </span></a> <div id="post-visibility-select" class="hide-if-js"> <input type="hidden" name="hidden_post_password" id="hidden-post-password" value="<?php echo esc_attr( $post->post_password ); ?>" /> <?php if ( 'post' === $post_type ) : ?> <input type="checkbox" style="display:none" name="hidden_post_sticky" id="hidden-post-sticky" value="sticky" <?php checked( is_sticky( $post_id ) ); ?> /> <?php endif; ?> <input type="hidden" name="hidden_post_visibility" id="hidden-post-visibility" value="<?php echo esc_attr( $visibility ); ?>" /> <input type="radio" name="visibility" id="visibility-radio-public" value="public" <?php checked( $visibility, 'public' ); ?> /> <label for="visibility-radio-public" class="selectit"><?php _e( 'Public' ); ?></label><br /> <?php if ( 'post' === $post_type && current_user_can( 'edit_others_posts' ) ) : ?> <span id="sticky-span"><input id="sticky" name="sticky" type="checkbox" value="sticky" <?php checked( is_sticky( $post_id ) ); ?> /> <label for="sticky" class="selectit"><?php _e( 'Stick this post to the front page' ); ?></label><br /></span> <?php endif; ?> <input type="radio" name="visibility" id="visibility-radio-password" value="password" <?php checked( $visibility, 'password' ); ?> /> <label for="visibility-radio-password" class="selectit"><?php _e( 'Password protected' ); ?></label><br /> <span id="password-span"><label for="post_password"><?php _e( 'Password:' ); ?></label> <input type="text" name="post_password" id="post_password" value="<?php echo esc_attr( $post->post_password ); ?>" maxlength="255" /><br /></span> <input type="radio" name="visibility" id="visibility-radio-private" value="private" <?php checked( $visibility, 'private' ); ?> /> <label for="visibility-radio-private" class="selectit"><?php _e( 'Private' ); ?></label><br /> <p> <a href="#visibility" class="save-post-visibility hide-if-no-js button"><?php _e( 'OK' ); ?></a> <a href="#visibility" class="cancel-post-visibility hide-if-no-js button-cancel"><?php _e( 'Cancel' ); ?></a> </p> </div> <?php } ?> </div> <?php /* translators: Publish box date string. 1: Date, 2: Time. See https://www.php.net/manual/datetime.format.php */ $date_string = __( '%1$s at %2$s' ); /* translators: Publish box date format, see https://www.php.net/manual/datetime.format.php */ $date_format = _x( 'M j, Y', 'publish box date format' ); /* translators: Publish box time format, see https://www.php.net/manual/datetime.format.php */ $time_format = _x( 'H:i', 'publish box time format' ); if ( 0 !== $post_id ) { if ( 'future' === $post->post_status ) { // Scheduled for publishing at a future date. /* translators: Post date information. %s: Date on which the post is currently scheduled to be published. */ $stamp = __( 'Scheduled for: %s' ); } elseif ( 'publish' === $post->post_status || 'private' === $post->post_status ) { // Already published. /* translators: Post date information. %s: Date on which the post was published. */ $stamp = __( 'Published on: %s' ); } elseif ( '0000-00-00 00:00:00' === $post->post_date_gmt ) { // Draft, 1 or more saves, no date specified. $stamp = __( 'Publish <b>immediately</b>' ); } elseif ( time() < strtotime( $post->post_date_gmt . ' +0000' ) ) { // Draft, 1 or more saves, future date specified. /* translators: Post date information. %s: Date on which the post is to be published. */ $stamp = __( 'Schedule for: %s' ); } else { // Draft, 1 or more saves, date specified. /* translators: Post date information. %s: Date on which the post is to be published. */ $stamp = __( 'Publish on: %s' ); } $date = sprintf( $date_string, date_i18n( $date_format, strtotime( $post->post_date ) ), date_i18n( $time_format, strtotime( $post->post_date ) ) ); } else { // Draft (no saves, and thus no date specified). $stamp = __( 'Publish <b>immediately</b>' ); $date = sprintf( $date_string, date_i18n( $date_format, strtotime( current_time( 'mysql' ) ) ), date_i18n( $time_format, strtotime( current_time( 'mysql' ) ) ) ); } if ( ! empty( $args['args']['revisions_count'] ) ) : ?> <div class="misc-pub-section misc-pub-revisions"> <?php /* translators: Post revisions heading. %s: The number of available revisions. */ printf( __( 'Revisions: %s' ), '<b>' . number_format_i18n( $args['args']['revisions_count'] ) . '</b>' ); ?> <a class="hide-if-no-js" href="<?php echo esc_url( get_edit_post_link( $args['args']['revision_id'] ) ); ?>"><span aria-hidden="true"><?php _ex( 'Browse', 'revisions' ); ?></span> <span class="screen-reader-text"> <?php /* translators: Hidden accessibility text. */ _e( 'Browse revisions' ); ?> </span></a> </div> <?php endif; if ( $can_publish ) : // Contributors don't get to choose the date of publish. ?> <div class="misc-pub-section curtime misc-pub-curtime"> <span id="timestamp"> <?php printf( $stamp, '<b>' . $date . '</b>' ); ?> </span> <a href="#edit_timestamp" class="edit-timestamp hide-if-no-js" role="button"> <span aria-hidden="true"><?php _e( 'Edit' ); ?></span> <span class="screen-reader-text"> <?php /* translators: Hidden accessibility text. */ _e( 'Edit date and time' ); ?> </span> </a> <fieldset id="timestampdiv" class="hide-if-js"> <legend class="screen-reader-text"> <?php /* translators: Hidden accessibility text. */ _e( 'Date and time' ); ?> </legend> <?php touch_time( ( 'edit' === $action ), 1 ); ?> </fieldset> </div> <?php endif; if ( 'draft' === $post->post_status && get_post_meta( $post_id, '_customize_changeset_uuid', true ) ) : $message = sprintf( /* translators: %s: URL to the Customizer. */ __( 'This draft comes from your <a href="%s">unpublished customization changes</a>. You can edit, but there is no need to publish now. It will be published automatically with those changes.' ), esc_url( add_query_arg( 'changeset_uuid', rawurlencode( get_post_meta( $post_id, '_customize_changeset_uuid', true ) ), admin_url( 'customize.php' ) ) ) ); wp_admin_notice( $message, array( 'type' => 'info', 'additional_classes' => array( 'notice-alt', 'inline' ), ) ); endif; /** * Fires after the post time/date setting in the Publish meta box. * * @since 2.9.0 * @since 4.4.0 Added the `$post` parameter. * * @param WP_Post $post WP_Post object for the current post. */ do_action( 'post_submitbox_misc_actions', $post ); ?> </div> <div class="clear"></div> </div> <div id="major-publishing-actions"> <?php /** * Fires at the beginning of the publishing actions section of the Publish meta box. * * @since 2.7.0 * @since 4.9.0 Added the `$post` parameter. * * @param WP_Post|null $post WP_Post object for the current post on Edit Post screen, * null on Edit Link screen. */ do_action( 'post_submitbox_start', $post ); ?> <div id="delete-action"> <?php if ( current_user_can( 'delete_post', $post_id ) ) { if ( ! EMPTY_TRASH_DAYS ) { $delete_text = __( 'Delete permanently' ); } else { $delete_text = __( 'Move to Trash' ); } ?> <a class="submitdelete deletion" href="<?php echo get_delete_post_link( $post_id ); ?>"><?php echo $delete_text; ?></a> <?php } ?> </div> <div id="publishing-action"> <span class="spinner"></span> <?php if ( ! in_array( $post->post_status, array( 'publish', 'future', 'private' ), true ) || 0 === $post_id ) { if ( $can_publish ) : if ( ! empty( $post->post_date_gmt ) && time() < strtotime( $post->post_date_gmt . ' +0000' ) ) : ?> <input name="original_publish" type="hidden" id="original_publish" value="<?php echo esc_attr_x( 'Schedule', 'post action/button label' ); ?>" /> <?php submit_button( _x( 'Schedule', 'post action/button label' ), 'primary large', 'publish', false ); ?> <?php else : ?> <input name="original_publish" type="hidden" id="original_publish" value="<?php esc_attr_e( 'Publish' ); ?>" /> <?php submit_button( __( 'Publish' ), 'primary large', 'publish', false ); ?> <?php endif; else : ?> <input name="original_publish" type="hidden" id="original_publish" value="<?php esc_attr_e( 'Submit for Review' ); ?>" /> <?php submit_button( __( 'Submit for Review' ), 'primary large', 'publish', false ); ?> <?php endif; } else { ?> <input name="original_publish" type="hidden" id="original_publish" value="<?php esc_attr_e( 'Update' ); ?>" /> <?php submit_button( __( 'Update' ), 'primary large', 'save', false, array( 'id' => 'publish' ) ); ?> <?php } ?> </div> <div class="clear"></div> </div> </div> <?php } /** * Displays attachment submit form fields. * * @since 3.5.0 * * @param WP_Post $post Current post object. */ function attachment_submit_meta_box( $post ) { ?> <div class="submitbox" id="submitpost"> <div id="minor-publishing"> <?php // Hidden submit button early on so that the browser chooses the right button when form is submitted with Return key. ?> <div style="display:none;"> <?php submit_button( __( 'Save' ), '', 'save' ); ?> </div> <div id="misc-publishing-actions"> <div class="misc-pub-section curtime misc-pub-curtime"> <span id="timestamp"> <?php $uploaded_on = sprintf( /* translators: Publish box date string. 1: Date, 2: Time. */ __( '%1$s at %2$s' ), /* translators: Publish box date format, see https://www.php.net/manual/datetime.format.php */ date_i18n( _x( 'M j, Y', 'publish box date format' ), strtotime( $post->post_date ) ), /* translators: Publish box time format, see https://www.php.net/manual/datetime.format.php */ date_i18n( _x( 'H:i', 'publish box time format' ), strtotime( $post->post_date ) ) ); /* translators: Attachment information. %s: Date the attachment was uploaded. */ printf( __( 'Uploaded on: %s' ), '<b>' . $uploaded_on . '</b>' ); ?> </span> </div><!-- .misc-pub-section --> <?php /** * Fires after the 'Uploaded on' section of the Save meta box * in the attachment editing screen. * * @since 3.5.0 * @since 4.9.0 Added the `$post` parameter. * * @param WP_Post $post WP_Post object for the current attachment. */ do_action( 'attachment_submitbox_misc_actions', $post ); ?> </div><!-- #misc-publishing-actions --> <div class="clear"></div> </div><!-- #minor-publishing --> <div id="major-publishing-actions"> <div id="delete-action"> <?php if ( current_user_can( 'delete_post', $post->ID ) ) { if ( EMPTY_TRASH_DAYS && MEDIA_TRASH ) { printf( '<a class="submitdelete deletion" href="%1$s">%2$s</a>', get_delete_post_link( $post->ID ), __( 'Move to Trash' ) ); } else { $show_confirmation = ! MEDIA_TRASH ? " onclick='return showNotice.warn();'" : ''; printf( '<a class="submitdelete deletion"%1$s href="%2$s">%3$s</a>', $show_confirmation, get_delete_post_link( $post->ID, '', true ), __( 'Delete permanently' ) ); } } ?> </div> <div id="publishing-action"> <span class="spinner"></span> <input name="original_publish" type="hidden" id="original_publish" value="<?php esc_attr_e( 'Update' ); ?>" /> <input name="save" type="submit" class="button button-primary button-large" id="publish" value="<?php esc_attr_e( 'Update' ); ?>" /> </div> <div class="clear"></div> </div><!-- #major-publishing-actions --> </div> <?php } /** * Displays post format form elements. * * @since 3.1.0 * * @param WP_Post $post Current post object. * @param array $box { * Post formats meta box arguments. * * @type string $id Meta box 'id' attribute. * @type string $title Meta box title. * @type callable $callback Meta box display callback. * @type array $args Extra meta box arguments. * } */ function post_format_meta_box( $post, $box ) { if ( current_theme_supports( 'post-formats' ) && post_type_supports( $post->post_type, 'post-formats' ) ) : $post_formats = get_theme_support( 'post-formats' ); if ( is_array( $post_formats[0] ) ) : $post_format = get_post_format( $post->ID ); if ( ! $post_format ) { $post_format = '0'; } // Add in the current one if it isn't there yet, in case the active theme doesn't support it. if ( $post_format && ! in_array( $post_format, $post_formats[0], true ) ) { $post_formats[0][] = $post_format; } ?> <div id="post-formats-select"> <fieldset> <legend class="screen-reader-text"> <?php /* translators: Hidden accessibility text. */ _e( 'Post Formats' ); ?> </legend> <input type="radio" name="post_format" class="post-format" id="post-format-0" value="0" <?php checked( $post_format, '0' ); ?> /> <label for="post-format-0" class="post-format-icon post-format-standard"><?php echo get_post_format_string( 'standard' ); ?></label> <?php foreach ( $post_formats[0] as $format ) : ?> <br /><input type="radio" name="post_format" class="post-format" id="post-format-<?php echo esc_attr( $format ); ?>" value="<?php echo esc_attr( $format ); ?>" <?php checked( $post_format, $format ); ?> /> <label for="post-format-<?php echo esc_attr( $format ); ?>" class="post-format-icon post-format-<?php echo esc_attr( $format ); ?>"><?php echo esc_html( get_post_format_string( $format ) ); ?></label> <?php endforeach; ?> </fieldset> </div> <?php endif; endif; } /** * Displays post tags form fields. * * @since 2.6.0 * * @todo Create taxonomy-agnostic wrapper for this. * * @param WP_Post $post Current post object. * @param array $box { * Tags meta box arguments. * * @type string $id Meta box 'id' attribute. * @type string $title Meta box title. * @type callable $callback Meta box display callback. * @type array $args { * Extra meta box arguments. * * @type string $taxonomy Taxonomy. Default 'post_tag'. * } * } */ function post_tags_meta_box( $post, $box ) { $defaults = array( 'taxonomy' => 'post_tag' ); if ( ! isset( $box['args'] ) || ! is_array( $box['args'] ) ) { $args = array(); } else { $args = $box['args']; } $parsed_args = wp_parse_args( $args, $defaults ); $tax_name = esc_attr( $parsed_args['taxonomy'] ); $taxonomy = get_taxonomy( $parsed_args['taxonomy'] ); $user_can_assign_terms = current_user_can( $taxonomy->cap->assign_terms ); $comma = _x( ',', 'tag delimiter' ); $terms_to_edit = get_terms_to_edit( $post->ID, $tax_name ); if ( ! is_string( $terms_to_edit ) ) { $terms_to_edit = ''; } ?> <div class="tagsdiv" id="<?php echo $tax_name; ?>"> <div class="jaxtag"> <div class="nojs-tags hide-if-js"> <label for="tax-input-<?php echo $tax_name; ?>"><?php echo $taxonomy->labels->add_or_remove_items; ?></label> <p><textarea name="<?php echo "tax_input[$tax_name]"; ?>" rows="3" cols="20" class="the-tags" id="tax-input-<?php echo $tax_name; ?>" <?php disabled( ! $user_can_assign_terms ); ?> aria-describedby="new-tag-<?php echo $tax_name; ?>-desc"><?php echo str_replace( ',', $comma . ' ', $terms_to_edit ); // textarea_escaped by esc_attr() ?></textarea></p> </div> <?php if ( $user_can_assign_terms ) : ?> <div class="ajaxtag hide-if-no-js"> <label class="screen-reader-text" for="new-tag-<?php echo $tax_name; ?>"><?php echo $taxonomy->labels->add_new_item; ?></label> <input data-wp-taxonomy="<?php echo $tax_name; ?>" type="text" id="new-tag-<?php echo $tax_name; ?>" name="newtag[<?php echo $tax_name; ?>]" class="newtag form-input-tip" size="16" autocomplete="off" aria-describedby="new-tag-<?php echo $tax_name; ?>-desc" value="" /> <input type="button" class="button tagadd" value="<?php esc_attr_e( 'Add' ); ?>" /> </div> <p class="howto" id="new-tag-<?php echo $tax_name; ?>-desc"><?php echo $taxonomy->labels->separate_items_with_commas; ?></p> <?php elseif ( empty( $terms_to_edit ) ) : ?> <p><?php echo $taxonomy->labels->no_terms; ?></p> <?php endif; ?> </div> <ul class="tagchecklist" role="list"></ul> </div> <?php if ( $user_can_assign_terms ) : ?> <p class="hide-if-no-js"><button type="button" class="button-link tagcloud-link" id="link-<?php echo $tax_name; ?>" aria-expanded="false"><?php echo $taxonomy->labels->choose_from_most_used; ?></button></p> <?php endif; ?> <?php } /** * Displays post categories form fields. * * @since 2.6.0 * * @todo Create taxonomy-agnostic wrapper for this. * * @param WP_Post $post Current post object. * @param array $box { * Categories meta box arguments. * * @type string $id Meta box 'id' attribute. * @type string $title Meta box title. * @type callable $callback Meta box display callback. * @type array $args { * Extra meta box arguments. * * @type string $taxonomy Taxonomy. Default 'category'. * } * } */ function post_categories_meta_box( $post, $box ) { $defaults = array( 'taxonomy' => 'category' ); if ( ! isset( $box['args'] ) || ! is_array( $box['args'] ) ) { $args = array(); } else { $args = $box['args']; } $parsed_args = wp_parse_args( $args, $defaults ); $tax_name = esc_attr( $parsed_args['taxonomy'] ); $taxonomy = get_taxonomy( $parsed_args['taxonomy'] ); ?> <div id="taxonomy-<?php echo $tax_name; ?>" class="categorydiv"> <ul id="<?php echo $tax_name; ?>-tabs" class="category-tabs"> <li class="tabs"><a href="#<?php echo $tax_name; ?>-all"><?php echo $taxonomy->labels->all_items; ?></a></li> <li class="hide-if-no-js"><a href="#<?php echo $tax_name; ?>-pop"><?php echo esc_html( $taxonomy->labels->most_used ); ?></a></li> </ul> <div id="<?php echo $tax_name; ?>-pop" class="tabs-panel" style="display: none;"> <ul id="<?php echo $tax_name; ?>checklist-pop" class="categorychecklist form-no-clear" > <?php $popular_ids = wp_popular_terms_checklist( $tax_name ); ?> </ul> </div> <div id="<?php echo $tax_name; ?>-all" class="tabs-panel"> <?php $name = ( 'category' === $tax_name ) ? 'post_category' : 'tax_input[' . $tax_name . ']'; // Allows for an empty term set to be sent. 0 is an invalid term ID and will be ignored by empty() checks. echo "<input type='hidden' name='{$name}[]' value='0' />"; ?> <ul id="<?php echo $tax_name; ?>checklist" data-wp-lists="list:<?php echo $tax_name; ?>" class="categorychecklist form-no-clear"> <?php wp_terms_checklist( $post->ID, array( 'taxonomy' => $tax_name, 'popular_cats' => $popular_ids, ) ); ?> </ul> </div> <?php if ( current_user_can( $taxonomy->cap->edit_terms ) ) : ?> <div id="<?php echo $tax_name; ?>-adder" class="wp-hidden-children"> <a id="<?php echo $tax_name; ?>-add-toggle" href="#<?php echo $tax_name; ?>-add" class="hide-if-no-js taxonomy-add-new"> <?php /* translators: %s: Add New taxonomy label. */ printf( __( '+ %s' ), $taxonomy->labels->add_new_item ); ?> </a> <p id="<?php echo $tax_name; ?>-add" class="category-add wp-hidden-child"> <label class="screen-reader-text" for="new<?php echo $tax_name; ?>"><?php echo $taxonomy->labels->add_new_item; ?></label> <input type="text" name="new<?php echo $tax_name; ?>" id="new<?php echo $tax_name; ?>" class="form-required form-input-tip" value="<?php echo esc_attr( $taxonomy->labels->new_item_name ); ?>" aria-required="true" /> <label class="screen-reader-text" for="new<?php echo $tax_name; ?>_parent"> <?php echo $taxonomy->labels->parent_item_colon; ?> </label> <?php $parent_dropdown_args = array( 'taxonomy' => $tax_name, 'hide_empty' => 0, 'name' => 'new' . $tax_name . '_parent', 'orderby' => 'name', 'hierarchical' => 1, 'show_option_none' => '— ' . $taxonomy->labels->parent_item . ' —', ); /** * Filters the arguments for the taxonomy parent dropdown on the Post Edit page. * * @since 4.4.0 * * @param array $parent_dropdown_args { * Optional. Array of arguments to generate parent dropdown. * * @type string $taxonomy Name of the taxonomy to retrieve. * @type bool $hide_if_empty True to skip generating markup if no * categories are found. Default 0. * @type string $name Value for the 'name' attribute * of the select element. * Default "new{$tax_name}_parent". * @type string $orderby Which column to use for ordering * terms. Default 'name'. * @type bool|int $hierarchical Whether to traverse the taxonomy * hierarchy. Default 1. * @type string $show_option_none Text to display for the "none" option. * Default "— {$parent} —", * where `$parent` is 'parent_item' * taxonomy label. * } */ $parent_dropdown_args = apply_filters( 'post_edit_category_parent_dropdown_args', $parent_dropdown_args ); wp_dropdown_categories( $parent_dropdown_args ); ?> <input type="button" id="<?php echo $tax_name; ?>-add-submit" data-wp-lists="add:<?php echo $tax_name; ?>checklist:<?php echo $tax_name; ?>-add" class="button category-add-submit" value="<?php echo esc_attr( $taxonomy->labels->add_new_item ); ?>" /> <?php wp_nonce_field( 'add-' . $tax_name, '_ajax_nonce-add-' . $tax_name, false ); ?> <span id="<?php echo $tax_name; ?>-ajax-response"></span> </p> </div> <?php endif; ?> </div> <?php } /** * Displays post excerpt form fields. * * @since 2.6.0 * * @param WP_Post $post Current post object. */ function post_excerpt_meta_box( $post ) { ?> <label class="screen-reader-text" for="excerpt"> <?php /* translators: Hidden accessibility text. */ _e( 'Excerpt' ); ?> </label><textarea rows="1" cols="40" name="excerpt" id="excerpt"><?php echo $post->post_excerpt; // textarea_escaped ?></textarea> <p> <?php printf( /* translators: %s: Documentation URL. */ __( 'Excerpts are optional hand-crafted summaries of your content that can be used in your theme. <a href="%s">Learn more about manual excerpts</a>.' ), __( 'https://wordpress.org/documentation/article/what-is-an-excerpt-classic-editor/' ) ); ?> </p> <?php } /** * Displays trackback links form fields. * * @since 2.6.0 * * @param WP_Post $post Current post object. */ function post_trackback_meta_box( $post ) { $form_trackback = '<input type="text" name="trackback_url" id="trackback_url" class="code" value="' . esc_attr( str_replace( "\n", ' ', $post->to_ping ) ) . '" aria-describedby="trackback-url-desc" />'; if ( '' !== $post->pinged ) { $pings = '<p>' . __( 'Already pinged:' ) . '</p><ul>'; $already_pinged = explode( "\n", trim( $post->pinged ) ); foreach ( $already_pinged as $pinged_url ) { $pings .= "\n\t<li>" . esc_html( $pinged_url ) . '</li>'; } $pings .= '</ul>'; } ?> <p> <label for="trackback_url"><?php _e( 'Send trackbacks to:' ); ?></label> <?php echo $form_trackback; ?> </p> <p id="trackback-url-desc" class="howto"><?php _e( 'Separate multiple URLs with spaces' ); ?></p> <p> <?php printf( /* translators: %s: Documentation URL. */ __( 'Trackbacks are a way to notify legacy blog systems that you’ve linked to them. If you link other WordPress sites, they’ll be notified automatically using <a href="%s">pingbacks</a>, no other action necessary.' ), __( 'https://wordpress.org/documentation/article/introduction-to-blogging/#comments' ) ); ?> </p> <?php if ( ! empty( $pings ) ) { echo $pings; } } /** * Displays custom fields form fields. * * @since 2.6.0 * * @param WP_Post $post Current post object. */ function post_custom_meta_box( $post ) { ?> <div id="postcustomstuff"> <div id="ajax-response"></div> <?php $metadata = has_meta( $post->ID ); foreach ( $metadata as $key => $value ) { if ( is_protected_meta( $metadata[ $key ]['meta_key'], 'post' ) || ! current_user_can( 'edit_post_meta', $post->ID, $metadata[ $key ]['meta_key'] ) ) { unset( $metadata[ $key ] ); } } list_meta( $metadata ); meta_form( $post ); ?> </div> <p> <?php printf( /* translators: %s: Documentation URL. */ __( 'Custom fields can be used to add extra metadata to a post that you can <a href="%s">use in your theme</a>.' ), __( 'https://wordpress.org/documentation/article/assign-custom-fields/' ) ); ?> </p> <?php } /** * Displays comments status form fields. * * @since 2.6.0 * * @param WP_Post $post Current post object. */ function post_comment_status_meta_box( $post ) { ?> <input name="advanced_view" type="hidden" value="1" /> <p class="meta-options"> <label for="comment_status" class="selectit"><input name="comment_status" type="checkbox" id="comment_status" value="open" <?php checked( $post->comment_status, 'open' ); ?> /> <?php _e( 'Allow comments' ); ?></label><br /> <label for="ping_status" class="selectit"><input name="ping_status" type="checkbox" id="ping_status" value="open" <?php checked( $post->ping_status, 'open' ); ?> /> <?php printf( /* translators: %s: Documentation URL. */ __( 'Allow <a href="%s">trackbacks and pingbacks</a>' ), __( 'https://wordpress.org/documentation/article/introduction-to-blogging/#managing-comments' ) ); ?> </label> <?php /** * Fires at the end of the Discussion meta box on the post editing screen. * * @since 3.1.0 * * @param WP_Post $post WP_Post object for the current post. */ do_action( 'post_comment_status_meta_box-options', $post ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores ?> </p> <?php } /** * Displays comments for post table header * * @since 3.0.0 * * @param array $result Table header rows. * @return array */ function post_comment_meta_box_thead( $result ) { unset( $result['cb'], $result['response'] ); return $result; } /** * Displays comments for post. * * @since 2.8.0 * * @param WP_Post $post Current post object. */ function post_comment_meta_box( $post ) { wp_nonce_field( 'get-comments', 'add_comment_nonce', false ); ?> <p class="hide-if-no-js" id="add-new-comment"><button type="button" class="button" onclick="window.commentReply && commentReply.addcomment(<?php echo $post->ID; ?>);"><?php _e( 'Add Comment' ); ?></button></p> <?php $total = get_comments( array( 'post_id' => $post->ID, 'count' => true, 'orderby' => 'none', ) ); $wp_list_table = _get_list_table( 'WP_Post_Comments_List_Table' ); $wp_list_table->display( true ); if ( 1 > $total ) { echo '<p id="no-comments">' . __( 'No comments yet.' ) . '</p>'; } else { $hidden = get_hidden_meta_boxes( get_current_screen() ); if ( ! in_array( 'commentsdiv', $hidden, true ) ) { ?> <script type="text/javascript">jQuery(function(){commentsBox.get(<?php echo $total; ?>, 10);});</script> <?php } ?> <p class="hide-if-no-js" id="show-comments"><a href="#commentstatusdiv" onclick="commentsBox.load(<?php echo $total; ?>);return false;"><?php _e( 'Show comments' ); ?></a> <span class="spinner"></span></p> <?php } wp_comment_trashnotice(); } /** * Displays slug form fields. * * @since 2.6.0 * * @param WP_Post $post Current post object. */ function post_slug_meta_box( $post ) { /** This filter is documented in wp-admin/edit-tag-form.php */ $editable_slug = apply_filters( 'editable_slug', $post->post_name, $post ); ?> <label class="screen-reader-text" for="post_name"> <?php /* translators: Hidden accessibility text. */ _e( 'Slug' ); ?> </label><input name="post_name" type="text" class="large-text" id="post_name" value="<?php echo esc_attr( $editable_slug ); ?>" /> <?php } /** * Displays form field with list of authors. * * @since 2.6.0 * * @global int $user_ID * * @param WP_Post $post Current post object. */ function post_author_meta_box( $post ) { global $user_ID; $post_type_object = get_post_type_object( $post->post_type ); ?> <label class="screen-reader-text" for="post_author_override"> <?php /* translators: Hidden accessibility text. */ _e( 'Author' ); ?> </label> <?php wp_dropdown_users( array( 'capability' => array( $post_type_object->cap->edit_posts ), 'name' => 'post_author_override', 'selected' => empty( $post->ID ) ? $user_ID : $post->post_author, 'include_selected' => true, 'show' => 'display_name_with_login', ) ); } /** * Displays list of revisions. * * @since 2.6.0 * * @param WP_Post $post Current post object. */ function post_revisions_meta_box( $post ) { wp_list_post_revisions( $post ); } // // Page-related Meta Boxes. // /** * Displays page attributes form fields. * * @since 2.7.0 * * @param WP_Post $post Current post object. */ function page_attributes_meta_box( $post ) { if ( is_post_type_hierarchical( $post->post_type ) ) : $dropdown_args = array( 'post_type' => $post->post_type, 'exclude_tree' => $post->ID, 'selected' => $post->post_parent, 'name' => 'parent_id', 'show_option_none' => __( '(no parent)' ), 'sort_column' => 'menu_order, post_title', 'echo' => 0, ); /** * Filters the arguments used to generate a Pages drop-down element. * * @since 3.3.0 * * @see wp_dropdown_pages() * * @param array $dropdown_args Array of arguments used to generate the pages drop-down. * @param WP_Post $post The current post. */ $dropdown_args = apply_filters( 'page_attributes_dropdown_pages_args', $dropdown_args, $post ); $pages = wp_dropdown_pages( $dropdown_args ); if ( ! empty( $pages ) ) : ?> <p class="post-attributes-label-wrapper parent-id-label-wrapper"><label class="post-attributes-label" for="parent_id"><?php _e( 'Parent' ); ?></label></p> <?php echo $pages; ?> <?php endif; // End empty pages check. endif; // End hierarchical check. if ( count( get_page_templates( $post ) ) > 0 && (int) get_option( 'page_for_posts' ) !== $post->ID ) : $template = ! empty( $post->page_template ) ? $post->page_template : false; ?> <p class="post-attributes-label-wrapper page-template-label-wrapper"><label class="post-attributes-label" for="page_template"><?php _e( 'Template' ); ?></label> <?php /** * Fires immediately after the label inside the 'Template' section * of the 'Page Attributes' meta box. * * @since 4.4.0 * * @param string|false $template The template used for the current post. * @param WP_Post $post The current post. */ do_action( 'page_attributes_meta_box_template', $template, $post ); ?> </p> <select name="page_template" id="page_template"> <?php /** * Filters the title of the default page template displayed in the drop-down. * * @since 4.1.0 * * @param string $label The display value for the default page template title. * @param string $context Where the option label is displayed. Possible values * include 'meta-box' or 'quick-edit'. */ $default_title = apply_filters( 'default_page_template_title', __( 'Default template' ), 'meta-box' ); ?> <option value="default"><?php echo esc_html( $default_title ); ?></option> <?php page_template_dropdown( $template, $post->post_type ); ?> </select> <?php endif; ?> <?php if ( post_type_supports( $post->post_type, 'page-attributes' ) ) : ?> <p class="post-attributes-label-wrapper menu-order-label-wrapper"><label class="post-attributes-label" for="menu_order"><?php _e( 'Order' ); ?></label></p> <input name="menu_order" type="text" size="4" id="menu_order" value="<?php echo esc_attr( $post->menu_order ); ?>" /> <?php /** * Fires before the help hint text in the 'Page Attributes' meta box. * * @since 4.9.0 * * @param WP_Post $post The current post. */ do_action( 'page_attributes_misc_attributes', $post ); ?> <?php if ( 'page' === $post->post_type && get_current_screen()->get_help_tabs() ) : ?> <p class="post-attributes-help-text"><?php _e( 'Need help? Use the Help tab above the screen title.' ); ?></p> <?php endif; endif; } // // Link-related Meta Boxes. // /** * Displays link create form fields. * * @since 2.7.0 * * @param object $link Current link object. */ function link_submit_meta_box( $link ) { ?> <div class="submitbox" id="submitlink"> <div id="minor-publishing"> <?php // Hidden submit button early on so that the browser chooses the right button when form is submitted with Return key. ?> <div style="display:none;"> <?php submit_button( __( 'Save' ), '', 'save', false ); ?> </div> <div id="minor-publishing-actions"> <div id="preview-action"> <?php if ( ! empty( $link->link_id ) ) { ?> <a class="preview button" href="<?php echo $link->link_url; ?>" target="_blank"><?php _e( 'Visit Link' ); ?></a> <?php } ?> </div> <div class="clear"></div> </div> <div id="misc-publishing-actions"> <div class="misc-pub-section misc-pub-private"> <label for="link_private" class="selectit"><input id="link_private" name="link_visible" type="checkbox" value="N" <?php checked( $link->link_visible, 'N' ); ?> /> <?php _e( 'Keep this link private' ); ?></label> </div> </div> </div> <div id="major-publishing-actions"> <?php /** This action is documented in wp-admin/includes/meta-boxes.php */ do_action( 'post_submitbox_start', null ); ?> <div id="delete-action"> <?php if ( ! empty( $_GET['action'] ) && 'edit' === $_GET['action'] && current_user_can( 'manage_links' ) ) { printf( '<a class="submitdelete deletion" href="%s" onclick="return confirm( \'%s\' );">%s</a>', wp_nonce_url( "link.php?action=delete&link_id=$link->link_id", 'delete-bookmark_' . $link->link_id ), /* translators: %s: Link name. */ esc_js( sprintf( __( "You are about to delete this link '%s'\n 'Cancel' to stop, 'OK' to delete." ), $link->link_name ) ), __( 'Delete' ) ); } ?> </div> <div id="publishing-action"> <?php if ( ! empty( $link->link_id ) ) { ?> <input name="save" type="submit" class="button button-primary button-large" id="publish" value="<?php esc_attr_e( 'Update Link' ); ?>" /> <?php } else { ?> <input name="save" type="submit" class="button button-primary button-large" id="publish" value="<?php esc_attr_e( 'Add Link' ); ?>" /> <?php } ?> </div> <div class="clear"></div> </div> <?php /** * Fires at the end of the Publish box in the Link editing screen. * * @since 2.5.0 */ do_action( 'submitlink_box' ); ?> <div class="clear"></div> </div> <?php } /** * Displays link categories form fields. * * @since 2.6.0 * * @param object $link Current link object. */ function link_categories_meta_box( $link ) { ?> <div id="taxonomy-linkcategory" class="categorydiv"> <ul id="category-tabs" class="category-tabs"> <li class="tabs"><a href="#categories-all"><?php _e( 'All categories' ); ?></a></li> <li class="hide-if-no-js"><a href="#categories-pop"><?php _ex( 'Most Used', 'categories' ); ?></a></li> </ul> <div id="categories-all" class="tabs-panel"> <ul id="categorychecklist" data-wp-lists="list:category" class="categorychecklist form-no-clear"> <?php if ( isset( $link->link_id ) ) { wp_link_category_checklist( $link->link_id ); } else { wp_link_category_checklist(); } ?> </ul> </div> <div id="categories-pop" class="tabs-panel" style="display: none;"> <ul id="categorychecklist-pop" class="categorychecklist form-no-clear"> <?php wp_popular_terms_checklist( 'link_category' ); ?> </ul> </div> <div id="category-adder" class="wp-hidden-children"> <a id="category-add-toggle" href="#category-add" class="taxonomy-add-new"><?php _e( '+ Add New Category' ); ?></a> <p id="link-category-add" class="wp-hidden-child"> <label class="screen-reader-text" for="newcat"> <?php /* translators: Hidden accessibility text. */ _e( '+ Add New Category' ); ?> </label> <input type="text" name="newcat" id="newcat" class="form-required form-input-tip" value="<?php esc_attr_e( 'New category name' ); ?>" aria-required="true" /> <input type="button" id="link-category-add-submit" data-wp-lists="add:categorychecklist:link-category-add" class="button" value="<?php esc_attr_e( 'Add' ); ?>" /> <?php wp_nonce_field( 'add-link-category', '_ajax_nonce', false ); ?> <span id="category-ajax-response"></span> </p> </div> </div> <?php } /** * Displays form fields for changing link target. * * @since 2.6.0 * * @param object $link Current link object. */ function link_target_meta_box( $link ) { ?> <fieldset><legend class="screen-reader-text"><span> <?php /* translators: Hidden accessibility text. */ _e( 'Target' ); ?> </span></legend> <p><label for="link_target_blank" class="selectit"> <input id="link_target_blank" type="radio" name="link_target" value="_blank" <?php echo ( isset( $link->link_target ) && ( '_blank' === $link->link_target ) ? 'checked="checked"' : '' ); ?> /> <?php _e( '<code>_blank</code> — new window or tab.' ); ?></label></p> <p><label for="link_target_top" class="selectit"> <input id="link_target_top" type="radio" name="link_target" value="_top" <?php echo ( isset( $link->link_target ) && ( '_top' === $link->link_target ) ? 'checked="checked"' : '' ); ?> /> <?php _e( '<code>_top</code> — current window or tab, with no frames.' ); ?></label></p> <p><label for="link_target_none" class="selectit"> <input id="link_target_none" type="radio" name="link_target" value="" <?php echo ( isset( $link->link_target ) && ( '' === $link->link_target ) ? 'checked="checked"' : '' ); ?> /> <?php _e( '<code>_none</code> — same window or tab.' ); ?></label></p> </fieldset> <p><?php _e( 'Choose the target frame for your link.' ); ?></p> <?php } /** * Displays 'checked' checkboxes attribute for XFN microformat options. * * @since 1.0.1 * * @global object $link Current link object. * * @param string $xfn_relationship XFN relationship category. Possible values are: * 'friendship', 'physical', 'professional', * 'geographical', 'family', 'romantic', 'identity'. * @param string $xfn_value Optional. The XFN value to mark as checked * if it matches the current link's relationship. * Default empty string. * @param mixed $deprecated Deprecated. Not used. */ function xfn_check( $xfn_relationship, $xfn_value = '', $deprecated = '' ) { global $link; if ( ! empty( $deprecated ) ) { _deprecated_argument( __FUNCTION__, '2.5.0' ); // Never implemented. } $link_rel = isset( $link->link_rel ) ? $link->link_rel : ''; $link_rels = preg_split( '/\s+/', $link_rel ); // Mark the specified value as checked if it matches the current link's relationship. if ( '' !== $xfn_value && in_array( $xfn_value, $link_rels, true ) ) { echo ' checked="checked"'; } if ( '' === $xfn_value ) { // Mark the 'none' value as checked if the current link does not match the specified relationship. if ( 'family' === $xfn_relationship && ! array_intersect( $link_rels, array( 'child', 'parent', 'sibling', 'spouse', 'kin' ) ) ) { echo ' checked="checked"'; } if ( 'friendship' === $xfn_relationship && ! array_intersect( $link_rels, array( 'friend', 'acquaintance', 'contact' ) ) ) { echo ' checked="checked"'; } if ( 'geographical' === $xfn_relationship && ! array_intersect( $link_rels, array( 'co-resident', 'neighbor' ) ) ) { echo ' checked="checked"'; } // Mark the 'me' value as checked if it matches the current link's relationship. if ( 'identity' === $xfn_relationship && in_array( 'me', $link_rels, true ) ) { echo ' checked="checked"'; } } } /** * Displays XFN form fields. * * @since 2.6.0 * * @param object $link Current link object. */ function link_xfn_meta_box( $link ) { ?> <table class="links-table"> <tr> <th scope="row"><label for="link_rel"><?php /* translators: xfn: https://gmpg.org/xfn/ */ _e( 'rel:' ); ?></label></th> <td><input type="text" name="link_rel" id="link_rel" value="<?php echo ( isset( $link->link_rel ) ? esc_attr( $link->link_rel ) : '' ); ?>" /></td> </tr> <tr> <th scope="row"><?php /* translators: xfn: https://gmpg.org/xfn/ */ _e( 'identity' ); ?></th> <td><fieldset> <legend class="screen-reader-text"><span> <?php /* translators: Hidden accessibility text. xfn: https://gmpg.org/xfn/ */ _e( 'identity' ); ?> </span></legend> <label for="me"> <input type="checkbox" name="identity" value="me" id="me" <?php xfn_check( 'identity', 'me' ); ?> /> <?php _e( 'another web address of mine' ); ?></label> </fieldset></td> </tr> <tr> <th scope="row"><?php /* translators: xfn: https://gmpg.org/xfn/ */ _e( 'friendship' ); ?></th> <td><fieldset> <legend class="screen-reader-text"><span> <?php /* translators: Hidden accessibility text. xfn: https://gmpg.org/xfn/ */ _e( 'friendship' ); ?> </span></legend> <label for="contact"> <input class="valinp" type="radio" name="friendship" value="contact" id="contact" <?php xfn_check( 'friendship', 'contact' ); ?> /> <?php /* translators: xfn: https://gmpg.org/xfn/ */ _e( 'contact' ); ?> </label> <label for="acquaintance"> <input class="valinp" type="radio" name="friendship" value="acquaintance" id="acquaintance" <?php xfn_check( 'friendship', 'acquaintance' ); ?> /> <?php /* translators: xfn: https://gmpg.org/xfn/ */ _e( 'acquaintance' ); ?> </label> <label for="friend"> <input class="valinp" type="radio" name="friendship" value="friend" id="friend" <?php xfn_check( 'friendship', 'friend' ); ?> /> <?php /* translators: xfn: https://gmpg.org/xfn/ */ _e( 'friend' ); ?> </label> <label for="friendship"> <input name="friendship" type="radio" class="valinp" value="" id="friendship" <?php xfn_check( 'friendship' ); ?> /> <?php /* translators: xfn (friendship relation): http://gmpg.org/xfn/ */ _ex( 'none', 'Type of relation' ); ?> </label> </fieldset></td> </tr> <tr> <th scope="row"> <?php /* translators: xfn: https://gmpg.org/xfn/ */ _e( 'physical' ); ?> </th> <td><fieldset> <legend class="screen-reader-text"><span> <?php /* translators: Hidden accessibility text. xfn: https://gmpg.org/xfn/ */ _e( 'physical' ); ?> </span></legend> <label for="met"> <input class="valinp" type="checkbox" name="physical" value="met" id="met" <?php xfn_check( 'physical', 'met' ); ?> /> <?php /* translators: xfn: https://gmpg.org/xfn/ */ _e( 'met' ); ?> </label> </fieldset></td> </tr> <tr> <th scope="row"> <?php /* translators: xfn: https://gmpg.org/xfn/ */ _e( 'professional' ); ?> </th> <td><fieldset> <legend class="screen-reader-text"><span> <?php /* translators: Hidden accessibility text. xfn: https://gmpg.org/xfn/ */ _e( 'professional' ); ?> </span></legend> <label for="co-worker"> <input class="valinp" type="checkbox" name="professional" value="co-worker" id="co-worker" <?php xfn_check( 'professional', 'co-worker' ); ?> /> <?php /* translators: xfn: https://gmpg.org/xfn/ */ _e( 'co-worker' ); ?> </label> <label for="colleague"> <input class="valinp" type="checkbox" name="professional" value="colleague" id="colleague" <?php xfn_check( 'professional', 'colleague' ); ?> /> <?php /* translators: xfn: https://gmpg.org/xfn/ */ _e( 'colleague' ); ?> </label> </fieldset></td> </tr> <tr> <th scope="row"><?php /* translators: xfn: https://gmpg.org/xfn/ */ _e( 'geographical' ); ?></th> <td><fieldset> <legend class="screen-reader-text"><span> <?php /* translators: Hidden accessibility text. xfn: https://gmpg.org/xfn/ */ _e( 'geographical' ); ?> </span></legend> <label for="co-resident"> <input class="valinp" type="radio" name="geographical" value="co-resident" id="co-resident" <?php xfn_check( 'geographical', 'co-resident' ); ?> /> <?php /* translators: xfn: https://gmpg.org/xfn/ */ _e( 'co-resident' ); ?> </label> <label for="neighbor"> <input class="valinp" type="radio" name="geographical" value="neighbor" id="neighbor" <?php xfn_check( 'geographical', 'neighbor' ); ?> /> <?php /* translators: xfn: https://gmpg.org/xfn/ */ _e( 'neighbor' ); ?> </label> <label for="geographical"> <input class="valinp" type="radio" name="geographical" value="" id="geographical" <?php xfn_check( 'geographical' ); ?> /> <?php /* translators: xfn (geographical relation): http://gmpg.org/xfn/ */ _ex( 'none', 'Type of relation' ); ?> </label> </fieldset></td> </tr> <tr> <th scope="row"><?php /* translators: xfn: https://gmpg.org/xfn/ */ _e( 'family' ); ?></th> <td><fieldset> <legend class="screen-reader-text"><span> <?php /* translators: Hidden accessibility text. xfn: https://gmpg.org/xfn/ */ _e( 'family' ); ?> </span></legend> <label for="child"> <input class="valinp" type="radio" name="family" value="child" id="child" <?php xfn_check( 'family', 'child' ); ?> /> <?php /* translators: xfn: https://gmpg.org/xfn/ */ _e( 'child' ); ?> </label> <label for="kin"> <input class="valinp" type="radio" name="family" value="kin" id="kin" <?php xfn_check( 'family', 'kin' ); ?> /> <?php /* translators: xfn: https://gmpg.org/xfn/ */ _e( 'kin' ); ?> </label> <label for="parent"> <input class="valinp" type="radio" name="family" value="parent" id="parent" <?php xfn_check( 'family', 'parent' ); ?> /> <?php /* translators: xfn: https://gmpg.org/xfn/ */ _e( 'parent' ); ?> </label> <label for="sibling"> <input class="valinp" type="radio" name="family" value="sibling" id="sibling" <?php xfn_check( 'family', 'sibling' ); ?> /> <?php /* translators: xfn: https://gmpg.org/xfn/ */ _e( 'sibling' ); ?> </label> <label for="spouse"> <input class="valinp" type="radio" name="family" value="spouse" id="spouse" <?php xfn_check( 'family', 'spouse' ); ?> /> <?php /* translators: xfn: https://gmpg.org/xfn/ */ _e( 'spouse' ); ?> </label> <label for="family"> <input class="valinp" type="radio" name="family" value="" id="family" <?php xfn_check( 'family' ); ?> /> <?php /* translators: xfn (family relation): http://gmpg.org/xfn/ */ _ex( 'none', 'Type of relation' ); ?> </label> </fieldset></td> </tr> <tr> <th scope="row"><?php /* translators: xfn: https://gmpg.org/xfn/ */ _e( 'romantic' ); ?></th> <td><fieldset> <legend class="screen-reader-text"><span> <?php /* translators: Hidden accessibility text. xfn: https://gmpg.org/xfn/ */ _e( 'romantic' ); ?> </span></legend> <label for="muse"> <input class="valinp" type="checkbox" name="romantic" value="muse" id="muse" <?php xfn_check( 'romantic', 'muse' ); ?> /> <?php /* translators: xfn: https://gmpg.org/xfn/ */ _e( 'muse' ); ?> </label> <label for="crush"> <input class="valinp" type="checkbox" name="romantic" value="crush" id="crush" <?php xfn_check( 'romantic', 'crush' ); ?> /> <?php /* translators: xfn: https://gmpg.org/xfn/ */ _e( 'crush' ); ?> </label> <label for="date"> <input class="valinp" type="checkbox" name="romantic" value="date" id="date" <?php xfn_check( 'romantic', 'date' ); ?> /> <?php /* translators: xfn: https://gmpg.org/xfn/ */ _e( 'date' ); ?> </label> <label for="romantic"> <input class="valinp" type="checkbox" name="romantic" value="sweetheart" id="romantic" <?php xfn_check( 'romantic', 'sweetheart' ); ?> /> <?php /* translators: xfn: https://gmpg.org/xfn/ */ _e( 'sweetheart' ); ?> </label> </fieldset></td> </tr> </table> <p><?php _e( 'If the link is to a person, you can specify your relationship with them using the above form. If you would like to learn more about the idea check out <a href="https://gmpg.org/xfn/">XFN</a>.' ); ?></p> <?php } /** * Displays advanced link options form fields. * * @since 2.6.0 * * @param object $link Current link object. */ function link_advanced_meta_box( $link ) { ?> <table class="links-table" cellpadding="0"> <tr> <th scope="row"><label for="link_image"><?php _e( 'Image Address' ); ?></label></th> <td><input type="text" name="link_image" class="code" id="link_image" maxlength="255" value="<?php echo ( isset( $link->link_image ) ? esc_attr( $link->link_image ) : '' ); ?>" /></td> </tr> <tr> <th scope="row"><label for="rss_uri"><?php _e( 'RSS Address' ); ?></label></th> <td><input name="link_rss" class="code" type="text" id="rss_uri" maxlength="255" value="<?php echo ( isset( $link->link_rss ) ? esc_attr( $link->link_rss ) : '' ); ?>" /></td> </tr> <tr> <th scope="row"><label for="link_notes"><?php _e( 'Notes' ); ?></label></th> <td><textarea name="link_notes" id="link_notes" rows="10"><?php echo ( isset( $link->link_notes ) ? $link->link_notes : '' ); // textarea_escaped ?></textarea></td> </tr> <tr> <th scope="row"><label for="link_rating"><?php _e( 'Rating' ); ?></label></th> <td><select name="link_rating" id="link_rating" size="1"> <?php for ( $rating = 0; $rating <= 10; $rating++ ) { echo '<option value="' . $rating . '"'; if ( isset( $link->link_rating ) && $link->link_rating === $rating ) { echo ' selected="selected"'; } echo '>' . $rating . '</option>'; } ?> </select> <?php _e( '(Leave at 0 for no rating.)' ); ?> </td> </tr> </table> <?php } /** * Displays post thumbnail meta box. * * @since 2.9.0 * * @param WP_Post $post Current post object. */ function post_thumbnail_meta_box( $post ) { $thumbnail_id = get_post_meta( $post->ID, '_thumbnail_id', true ); echo _wp_post_thumbnail_html( $thumbnail_id, $post->ID ); } /** * Displays fields for ID3 data. * * @since 3.9.0 * * @param WP_Post $post Current post object. */ function attachment_id3_data_meta_box( $post ) { $meta = array(); if ( ! empty( $post->ID ) ) { $meta = wp_get_attachment_metadata( $post->ID ); } foreach ( wp_get_attachment_id3_keys( $post, 'edit' ) as $key => $label ) : $value = ''; if ( ! empty( $meta[ $key ] ) ) { $value = $meta[ $key ]; } ?> <p> <label for="title"><?php echo $label; ?></label><br /> <input type="text" name="id3_<?php echo esc_attr( $key ); ?>" id="id3_<?php echo esc_attr( $key ); ?>" class="large-text" value="<?php echo esc_attr( $value ); ?>" /> </p> <?php endforeach; } /** * Registers the default post meta boxes, and runs the `do_meta_boxes` actions. * * @since 5.0.0 * * @param WP_Post $post The post object that these meta boxes are being generated for. */ function register_and_do_post_meta_boxes( $post ) { $post_type = $post->post_type; $post_type_object = get_post_type_object( $post_type ); $thumbnail_support = current_theme_supports( 'post-thumbnails', $post_type ) && post_type_supports( $post_type, 'thumbnail' ); if ( ! $thumbnail_support && 'attachment' === $post_type && $post->post_mime_type ) { if ( wp_attachment_is( 'audio', $post ) ) { $thumbnail_support = post_type_supports( 'attachment:audio', 'thumbnail' ) || current_theme_supports( 'post-thumbnails', 'attachment:audio' ); } elseif ( wp_attachment_is( 'video', $post ) ) { $thumbnail_support = post_type_supports( 'attachment:video', 'thumbnail' ) || current_theme_supports( 'post-thumbnails', 'attachment:video' ); } } $publish_callback_args = array( '__back_compat_meta_box' => true ); if ( post_type_supports( $post_type, 'revisions' ) && 'auto-draft' !== $post->post_status ) { $revisions = wp_get_latest_revision_id_and_total_count( $post->ID ); // We should aim to show the revisions meta box only when there are revisions. if ( ! is_wp_error( $revisions ) && $revisions['count'] > 1 ) { $publish_callback_args = array( 'revisions_count' => $revisions['count'], 'revision_id' => $revisions['latest_id'], '__back_compat_meta_box' => true, ); add_meta_box( 'revisionsdiv', __( 'Revisions' ), 'post_revisions_meta_box', null, 'normal', 'core', array( '__back_compat_meta_box' => true ) ); } } if ( 'attachment' === $post_type ) { wp_enqueue_script( 'image-edit' ); wp_enqueue_style( 'imgareaselect' ); add_meta_box( 'submitdiv', __( 'Save' ), 'attachment_submit_meta_box', null, 'side', 'core', array( '__back_compat_meta_box' => true ) ); add_action( 'edit_form_after_title', 'edit_form_image_editor' ); if ( wp_attachment_is( 'audio', $post ) ) { add_meta_box( 'attachment-id3', __( 'Metadata' ), 'attachment_id3_data_meta_box', null, 'normal', 'core', array( '__back_compat_meta_box' => true ) ); } } else { add_meta_box( 'submitdiv', __( 'Publish' ), 'post_submit_meta_box', null, 'side', 'core', $publish_callback_args ); } if ( current_theme_supports( 'post-formats' ) && post_type_supports( $post_type, 'post-formats' ) ) { add_meta_box( 'formatdiv', _x( 'Format', 'post format' ), 'post_format_meta_box', null, 'side', 'core', array( '__back_compat_meta_box' => true ) ); } // All taxonomies. foreach ( get_object_taxonomies( $post ) as $tax_name ) { $taxonomy = get_taxonomy( $tax_name ); if ( ! $taxonomy->show_ui || false === $taxonomy->meta_box_cb ) { continue; } $label = $taxonomy->labels->name; if ( ! is_taxonomy_hierarchical( $tax_name ) ) { $tax_meta_box_id = 'tagsdiv-' . $tax_name; } else { $tax_meta_box_id = $tax_name . 'div'; } add_meta_box( $tax_meta_box_id, $label, $taxonomy->meta_box_cb, null, 'side', 'core', array( 'taxonomy' => $tax_name, '__back_compat_meta_box' => true, ) ); } if ( post_type_supports( $post_type, 'page-attributes' ) || count( get_page_templates( $post ) ) > 0 ) { add_meta_box( 'pageparentdiv', $post_type_object->labels->attributes, 'page_attributes_meta_box', null, 'side', 'core', array( '__back_compat_meta_box' => true ) ); } if ( $thumbnail_support && current_user_can( 'upload_files' ) ) { add_meta_box( 'postimagediv', esc_html( $post_type_object->labels->featured_image ), 'post_thumbnail_meta_box', null, 'side', 'low', array( '__back_compat_meta_box' => true ) ); } if ( post_type_supports( $post_type, 'excerpt' ) ) { add_meta_box( 'postexcerpt', __( 'Excerpt' ), 'post_excerpt_meta_box', null, 'normal', 'core', array( '__back_compat_meta_box' => true ) ); } if ( post_type_supports( $post_type, 'trackbacks' ) ) { add_meta_box( 'trackbacksdiv', __( 'Send Trackbacks' ), 'post_trackback_meta_box', null, 'normal', 'core', array( '__back_compat_meta_box' => true ) ); } if ( post_type_supports( $post_type, 'custom-fields' ) ) { add_meta_box( 'postcustom', __( 'Custom Fields' ), 'post_custom_meta_box', null, 'normal', 'core', array( '__back_compat_meta_box' => ! (bool) get_user_meta( get_current_user_id(), 'enable_custom_fields', true ), '__block_editor_compatible_meta_box' => true, ) ); } /** * Fires in the middle of built-in meta box registration. * * @since 2.1.0 * @deprecated 3.7.0 Use {@see 'add_meta_boxes'} instead. * * @param WP_Post $post Post object. */ do_action_deprecated( 'dbx_post_advanced', array( $post ), '3.7.0', 'add_meta_boxes' ); /* * Allow the Discussion meta box to show up if the post type supports comments, * or if comments or pings are open. */ if ( comments_open( $post ) || pings_open( $post ) || post_type_supports( $post_type, 'comments' ) ) { add_meta_box( 'commentstatusdiv', __( 'Discussion' ), 'post_comment_status_meta_box', null, 'normal', 'core', array( '__back_compat_meta_box' => true ) ); } $statuses = get_post_stati( array( 'public' => true ) ); if ( empty( $statuses ) ) { $statuses = array( 'publish' ); } $statuses[] = 'private'; if ( in_array( get_post_status( $post ), $statuses, true ) ) { /* * If the post type support comments, or the post has comments, * allow the Comments meta box. */ if ( comments_open( $post ) || pings_open( $post ) || $post->comment_count > 0 || post_type_supports( $post_type, 'comments' ) ) { add_meta_box( 'commentsdiv', __( 'Comments' ), 'post_comment_meta_box', null, 'normal', 'core', array( '__back_compat_meta_box' => true ) ); } } if ( ! ( 'pending' === get_post_status( $post ) && ! current_user_can( $post_type_object->cap->publish_posts ) ) ) { add_meta_box( 'slugdiv', __( 'Slug' ), 'post_slug_meta_box', null, 'normal', 'core', array( '__back_compat_meta_box' => true ) ); } if ( post_type_supports( $post_type, 'author' ) && current_user_can( $post_type_object->cap->edit_others_posts ) ) { add_meta_box( 'authordiv', __( 'Author' ), 'post_author_meta_box', null, 'normal', 'core', array( '__back_compat_meta_box' => true ) ); } /** * Fires after all built-in meta boxes have been added. * * @since 3.0.0 * * @param string $post_type Post type. * @param WP_Post $post Post object. */ do_action( 'add_meta_boxes', $post_type, $post ); /** * Fires after all built-in meta boxes have been added, contextually for the given post type. * * The dynamic portion of the hook name, `$post_type`, refers to the post type of the post. * * Possible hook names include: * * - `add_meta_boxes_post` * - `add_meta_boxes_page` * - `add_meta_boxes_attachment` * * @since 3.0.0 * * @param WP_Post $post Post object. */ do_action( "add_meta_boxes_{$post_type}", $post ); /** * Fires after meta boxes have been added. * * Fires once for each of the default meta box contexts: normal, advanced, and side. * * @since 3.0.0 * * @param string $post_type Post type of the post on Edit Post screen, 'link' on Edit Link screen, * 'dashboard' on Dashboard screen. * @param string $context Meta box context. Possible values include 'normal', 'advanced', 'side'. * @param WP_Post|object|string $post Post object on Edit Post screen, link object on Edit Link screen, * an empty string on Dashboard screen. */ do_action( 'do_meta_boxes', $post_type, 'normal', $post ); /** This action is documented in wp-admin/includes/meta-boxes.php */ do_action( 'do_meta_boxes', $post_type, 'advanced', $post ); /** This action is documented in wp-admin/includes/meta-boxes.php */ do_action( 'do_meta_boxes', $post_type, 'side', $post ); } admin.php 0000644 00000007054 14735706075 0006371 0 ustar 00 <?php /** * Core Administration API * * @package WordPress * @subpackage Administration * @since 2.3.0 */ if ( ! defined( 'WP_ADMIN' ) ) { /* * This file is being included from a file other than wp-admin/admin.php, so * some setup was skipped. Make sure the admin message catalog is loaded since * load_default_textdomain() will not have done so in this context. */ $admin_locale = get_locale(); load_textdomain( 'default', WP_LANG_DIR . '/admin-' . $admin_locale . '.mo', $admin_locale ); unset( $admin_locale ); } /** WordPress Administration Hooks */ require_once ABSPATH . 'wp-admin/includes/admin-filters.php'; /** WordPress Bookmark Administration API */ require_once ABSPATH . 'wp-admin/includes/bookmark.php'; /** WordPress Comment Administration API */ require_once ABSPATH . 'wp-admin/includes/comment.php'; /** WordPress Administration File API */ require_once ABSPATH . 'wp-admin/includes/file.php'; /** WordPress Image Administration API */ require_once ABSPATH . 'wp-admin/includes/image.php'; /** WordPress Media Administration API */ require_once ABSPATH . 'wp-admin/includes/media.php'; /** WordPress Import Administration API */ require_once ABSPATH . 'wp-admin/includes/import.php'; /** WordPress Misc Administration API */ require_once ABSPATH . 'wp-admin/includes/misc.php'; /** WordPress Misc Administration API */ require_once ABSPATH . 'wp-admin/includes/class-wp-privacy-policy-content.php'; /** WordPress Options Administration API */ require_once ABSPATH . 'wp-admin/includes/options.php'; /** WordPress Plugin Administration API */ require_once ABSPATH . 'wp-admin/includes/plugin.php'; /** WordPress Post Administration API */ require_once ABSPATH . 'wp-admin/includes/post.php'; /** WordPress Administration Screen API */ require_once ABSPATH . 'wp-admin/includes/class-wp-screen.php'; require_once ABSPATH . 'wp-admin/includes/screen.php'; /** WordPress Taxonomy Administration API */ require_once ABSPATH . 'wp-admin/includes/taxonomy.php'; /** WordPress Template Administration API */ require_once ABSPATH . 'wp-admin/includes/template.php'; /** WordPress List Table Administration API and base class */ require_once ABSPATH . 'wp-admin/includes/class-wp-list-table.php'; require_once ABSPATH . 'wp-admin/includes/class-wp-list-table-compat.php'; require_once ABSPATH . 'wp-admin/includes/list-table.php'; /** WordPress Theme Administration API */ require_once ABSPATH . 'wp-admin/includes/theme.php'; /** WordPress Privacy Functions */ require_once ABSPATH . 'wp-admin/includes/privacy-tools.php'; /** WordPress Privacy List Table classes. */ // Previously in wp-admin/includes/user.php. Need to be loaded for backward compatibility. require_once ABSPATH . 'wp-admin/includes/class-wp-privacy-requests-table.php'; require_once ABSPATH . 'wp-admin/includes/class-wp-privacy-data-export-requests-list-table.php'; require_once ABSPATH . 'wp-admin/includes/class-wp-privacy-data-removal-requests-list-table.php'; /** WordPress User Administration API */ require_once ABSPATH . 'wp-admin/includes/user.php'; /** WordPress Site Icon API */ require_once ABSPATH . 'wp-admin/includes/class-wp-site-icon.php'; /** WordPress Update Administration API */ require_once ABSPATH . 'wp-admin/includes/update.php'; /** WordPress Deprecated Administration API */ require_once ABSPATH . 'wp-admin/includes/deprecated.php'; /** WordPress Multisite support API */ if ( is_multisite() ) { require_once ABSPATH . 'wp-admin/includes/ms-admin-filters.php'; require_once ABSPATH . 'wp-admin/includes/ms.php'; require_once ABSPATH . 'wp-admin/includes/ms-deprecated.php'; } post.php 0000644 00000237423 14735706075 0006273 0 ustar 00 <?php /** * WordPress Post Administration API. * * @package WordPress * @subpackage Administration */ /** * Renames `$_POST` data from form names to DB post columns. * * Manipulates `$_POST` directly. * * @since 2.6.0 * * @param bool $update Whether the post already exists. * @param array|null $post_data Optional. The array of post data to process. * Defaults to the `$_POST` superglobal. * @return array|WP_Error Array of post data on success, WP_Error on failure. */ function _wp_translate_postdata( $update = false, $post_data = null ) { if ( empty( $post_data ) ) { $post_data = &$_POST; } if ( $update ) { $post_data['ID'] = (int) $post_data['post_ID']; } $ptype = get_post_type_object( $post_data['post_type'] ); if ( $update && ! current_user_can( 'edit_post', $post_data['ID'] ) ) { if ( 'page' === $post_data['post_type'] ) { return new WP_Error( 'edit_others_pages', __( 'Sorry, you are not allowed to edit pages as this user.' ) ); } else { return new WP_Error( 'edit_others_posts', __( 'Sorry, you are not allowed to edit posts as this user.' ) ); } } elseif ( ! $update && ! current_user_can( $ptype->cap->create_posts ) ) { if ( 'page' === $post_data['post_type'] ) { return new WP_Error( 'edit_others_pages', __( 'Sorry, you are not allowed to create pages as this user.' ) ); } else { return new WP_Error( 'edit_others_posts', __( 'Sorry, you are not allowed to create posts as this user.' ) ); } } if ( isset( $post_data['content'] ) ) { $post_data['post_content'] = $post_data['content']; } if ( isset( $post_data['excerpt'] ) ) { $post_data['post_excerpt'] = $post_data['excerpt']; } if ( isset( $post_data['parent_id'] ) ) { $post_data['post_parent'] = (int) $post_data['parent_id']; } if ( isset( $post_data['trackback_url'] ) ) { $post_data['to_ping'] = $post_data['trackback_url']; } $post_data['user_ID'] = get_current_user_id(); if ( ! empty( $post_data['post_author_override'] ) ) { $post_data['post_author'] = (int) $post_data['post_author_override']; } else { if ( ! empty( $post_data['post_author'] ) ) { $post_data['post_author'] = (int) $post_data['post_author']; } else { $post_data['post_author'] = (int) $post_data['user_ID']; } } if ( isset( $post_data['user_ID'] ) && ( $post_data['post_author'] !== $post_data['user_ID'] ) && ! current_user_can( $ptype->cap->edit_others_posts ) ) { if ( $update ) { if ( 'page' === $post_data['post_type'] ) { return new WP_Error( 'edit_others_pages', __( 'Sorry, you are not allowed to edit pages as this user.' ) ); } else { return new WP_Error( 'edit_others_posts', __( 'Sorry, you are not allowed to edit posts as this user.' ) ); } } else { if ( 'page' === $post_data['post_type'] ) { return new WP_Error( 'edit_others_pages', __( 'Sorry, you are not allowed to create pages as this user.' ) ); } else { return new WP_Error( 'edit_others_posts', __( 'Sorry, you are not allowed to create posts as this user.' ) ); } } } if ( ! empty( $post_data['post_status'] ) ) { $post_data['post_status'] = sanitize_key( $post_data['post_status'] ); // No longer an auto-draft. if ( 'auto-draft' === $post_data['post_status'] ) { $post_data['post_status'] = 'draft'; } if ( ! get_post_status_object( $post_data['post_status'] ) ) { unset( $post_data['post_status'] ); } } // What to do based on which button they pressed. if ( isset( $post_data['saveasdraft'] ) && '' !== $post_data['saveasdraft'] ) { $post_data['post_status'] = 'draft'; } if ( isset( $post_data['saveasprivate'] ) && '' !== $post_data['saveasprivate'] ) { $post_data['post_status'] = 'private'; } if ( isset( $post_data['publish'] ) && ( '' !== $post_data['publish'] ) && ( ! isset( $post_data['post_status'] ) || 'private' !== $post_data['post_status'] ) ) { $post_data['post_status'] = 'publish'; } if ( isset( $post_data['advanced'] ) && '' !== $post_data['advanced'] ) { $post_data['post_status'] = 'draft'; } if ( isset( $post_data['pending'] ) && '' !== $post_data['pending'] ) { $post_data['post_status'] = 'pending'; } if ( isset( $post_data['ID'] ) ) { $post_id = $post_data['ID']; } else { $post_id = false; } $previous_status = $post_id ? get_post_field( 'post_status', $post_id ) : false; if ( isset( $post_data['post_status'] ) && 'private' === $post_data['post_status'] && ! current_user_can( $ptype->cap->publish_posts ) ) { $post_data['post_status'] = $previous_status ? $previous_status : 'pending'; } $published_statuses = array( 'publish', 'future' ); /* * Posts 'submitted for approval' are submitted to $_POST the same as if they were being published. * Change status from 'publish' to 'pending' if user lacks permissions to publish or to resave published posts. */ if ( isset( $post_data['post_status'] ) && ( in_array( $post_data['post_status'], $published_statuses, true ) && ! current_user_can( $ptype->cap->publish_posts ) ) ) { if ( ! in_array( $previous_status, $published_statuses, true ) || ! current_user_can( 'edit_post', $post_id ) ) { $post_data['post_status'] = 'pending'; } } if ( ! isset( $post_data['post_status'] ) ) { $post_data['post_status'] = 'auto-draft' === $previous_status ? 'draft' : $previous_status; } if ( isset( $post_data['post_password'] ) && ! current_user_can( $ptype->cap->publish_posts ) ) { unset( $post_data['post_password'] ); } if ( ! isset( $post_data['comment_status'] ) ) { $post_data['comment_status'] = 'closed'; } if ( ! isset( $post_data['ping_status'] ) ) { $post_data['ping_status'] = 'closed'; } foreach ( array( 'aa', 'mm', 'jj', 'hh', 'mn' ) as $timeunit ) { if ( ! empty( $post_data[ 'hidden_' . $timeunit ] ) && $post_data[ 'hidden_' . $timeunit ] !== $post_data[ $timeunit ] ) { $post_data['edit_date'] = '1'; break; } } if ( ! empty( $post_data['edit_date'] ) ) { $aa = $post_data['aa']; $mm = $post_data['mm']; $jj = $post_data['jj']; $hh = $post_data['hh']; $mn = $post_data['mn']; $ss = $post_data['ss']; $aa = ( $aa <= 0 ) ? gmdate( 'Y' ) : $aa; $mm = ( $mm <= 0 ) ? gmdate( 'n' ) : $mm; $jj = ( $jj > 31 ) ? 31 : $jj; $jj = ( $jj <= 0 ) ? gmdate( 'j' ) : $jj; $hh = ( $hh > 23 ) ? $hh - 24 : $hh; $mn = ( $mn > 59 ) ? $mn - 60 : $mn; $ss = ( $ss > 59 ) ? $ss - 60 : $ss; $post_data['post_date'] = sprintf( '%04d-%02d-%02d %02d:%02d:%02d', $aa, $mm, $jj, $hh, $mn, $ss ); $valid_date = wp_checkdate( $mm, $jj, $aa, $post_data['post_date'] ); if ( ! $valid_date ) { return new WP_Error( 'invalid_date', __( 'Invalid date.' ) ); } /* * Only assign a post date if the user has explicitly set a new value. * See #59125 and #19907. */ $previous_date = $post_id ? get_post_field( 'post_date', $post_id ) : false; if ( $previous_date && $previous_date !== $post_data['post_date'] ) { $post_data['edit_date'] = true; $post_data['post_date_gmt'] = get_gmt_from_date( $post_data['post_date'] ); } else { $post_data['edit_date'] = false; unset( $post_data['post_date'] ); unset( $post_data['post_date_gmt'] ); } } if ( isset( $post_data['post_category'] ) ) { $category_object = get_taxonomy( 'category' ); if ( ! current_user_can( $category_object->cap->assign_terms ) ) { unset( $post_data['post_category'] ); } } return $post_data; } /** * Returns only allowed post data fields. * * @since 5.0.1 * * @param array|WP_Error|null $post_data The array of post data to process, or an error object. * Defaults to the `$_POST` superglobal. * @return array|WP_Error Array of post data on success, WP_Error on failure. */ function _wp_get_allowed_postdata( $post_data = null ) { if ( empty( $post_data ) ) { $post_data = $_POST; } // Pass through errors. if ( is_wp_error( $post_data ) ) { return $post_data; } return array_diff_key( $post_data, array_flip( array( 'meta_input', 'file', 'guid' ) ) ); } /** * Updates an existing post with values provided in `$_POST`. * * If post data is passed as an argument, it is treated as an array of data * keyed appropriately for turning into a post object. * * If post data is not passed, the `$_POST` global variable is used instead. * * @since 1.5.0 * * @global wpdb $wpdb WordPress database abstraction object. * * @param array|null $post_data Optional. The array of post data to process. * Defaults to the `$_POST` superglobal. * @return int Post ID. */ function edit_post( $post_data = null ) { global $wpdb; if ( empty( $post_data ) ) { $post_data = &$_POST; } // Clear out any data in internal vars. unset( $post_data['filter'] ); $post_id = (int) $post_data['post_ID']; $post = get_post( $post_id ); $post_data['post_type'] = $post->post_type; $post_data['post_mime_type'] = $post->post_mime_type; if ( ! empty( $post_data['post_status'] ) ) { $post_data['post_status'] = sanitize_key( $post_data['post_status'] ); if ( 'inherit' === $post_data['post_status'] ) { unset( $post_data['post_status'] ); } } $ptype = get_post_type_object( $post_data['post_type'] ); if ( ! current_user_can( 'edit_post', $post_id ) ) { if ( 'page' === $post_data['post_type'] ) { wp_die( __( 'Sorry, you are not allowed to edit this page.' ) ); } else { wp_die( __( 'Sorry, you are not allowed to edit this post.' ) ); } } if ( post_type_supports( $ptype->name, 'revisions' ) ) { $revisions = wp_get_post_revisions( $post_id, array( 'order' => 'ASC', 'posts_per_page' => 1, ) ); $revision = current( $revisions ); // Check if the revisions have been upgraded. if ( $revisions && _wp_get_post_revision_version( $revision ) < 1 ) { _wp_upgrade_revisions_of_post( $post, wp_get_post_revisions( $post_id ) ); } } if ( isset( $post_data['visibility'] ) ) { switch ( $post_data['visibility'] ) { case 'public': $post_data['post_password'] = ''; break; case 'password': unset( $post_data['sticky'] ); break; case 'private': $post_data['post_status'] = 'private'; $post_data['post_password'] = ''; unset( $post_data['sticky'] ); break; } } $post_data = _wp_translate_postdata( true, $post_data ); if ( is_wp_error( $post_data ) ) { wp_die( $post_data->get_error_message() ); } $translated = _wp_get_allowed_postdata( $post_data ); // Post formats. if ( isset( $post_data['post_format'] ) ) { set_post_format( $post_id, $post_data['post_format'] ); } $format_meta_urls = array( 'url', 'link_url', 'quote_source_url' ); foreach ( $format_meta_urls as $format_meta_url ) { $keyed = '_format_' . $format_meta_url; if ( isset( $post_data[ $keyed ] ) ) { update_post_meta( $post_id, $keyed, wp_slash( sanitize_url( wp_unslash( $post_data[ $keyed ] ) ) ) ); } } $format_keys = array( 'quote', 'quote_source_name', 'image', 'gallery', 'audio_embed', 'video_embed' ); foreach ( $format_keys as $key ) { $keyed = '_format_' . $key; if ( isset( $post_data[ $keyed ] ) ) { if ( current_user_can( 'unfiltered_html' ) ) { update_post_meta( $post_id, $keyed, $post_data[ $keyed ] ); } else { update_post_meta( $post_id, $keyed, wp_filter_post_kses( $post_data[ $keyed ] ) ); } } } if ( 'attachment' === $post_data['post_type'] && preg_match( '#^(audio|video)/#', $post_data['post_mime_type'] ) ) { $id3data = wp_get_attachment_metadata( $post_id ); if ( ! is_array( $id3data ) ) { $id3data = array(); } foreach ( wp_get_attachment_id3_keys( $post, 'edit' ) as $key => $label ) { if ( isset( $post_data[ 'id3_' . $key ] ) ) { $id3data[ $key ] = sanitize_text_field( wp_unslash( $post_data[ 'id3_' . $key ] ) ); } } wp_update_attachment_metadata( $post_id, $id3data ); } // Meta stuff. if ( isset( $post_data['meta'] ) && $post_data['meta'] ) { foreach ( $post_data['meta'] as $key => $value ) { $meta = get_post_meta_by_id( $key ); if ( ! $meta ) { continue; } if ( (int) $meta->post_id !== $post_id ) { continue; } if ( is_protected_meta( $meta->meta_key, 'post' ) || ! current_user_can( 'edit_post_meta', $post_id, $meta->meta_key ) ) { continue; } if ( is_protected_meta( $value['key'], 'post' ) || ! current_user_can( 'edit_post_meta', $post_id, $value['key'] ) ) { continue; } update_meta( $key, $value['key'], $value['value'] ); } } if ( isset( $post_data['deletemeta'] ) && $post_data['deletemeta'] ) { foreach ( $post_data['deletemeta'] as $key => $value ) { $meta = get_post_meta_by_id( $key ); if ( ! $meta ) { continue; } if ( (int) $meta->post_id !== $post_id ) { continue; } if ( is_protected_meta( $meta->meta_key, 'post' ) || ! current_user_can( 'delete_post_meta', $post_id, $meta->meta_key ) ) { continue; } delete_meta( $key ); } } // Attachment stuff. if ( 'attachment' === $post_data['post_type'] ) { if ( isset( $post_data['_wp_attachment_image_alt'] ) ) { $image_alt = wp_unslash( $post_data['_wp_attachment_image_alt'] ); if ( get_post_meta( $post_id, '_wp_attachment_image_alt', true ) !== $image_alt ) { $image_alt = wp_strip_all_tags( $image_alt, true ); // update_post_meta() expects slashed. update_post_meta( $post_id, '_wp_attachment_image_alt', wp_slash( $image_alt ) ); } } $attachment_data = isset( $post_data['attachments'][ $post_id ] ) ? $post_data['attachments'][ $post_id ] : array(); /** This filter is documented in wp-admin/includes/media.php */ $translated = apply_filters( 'attachment_fields_to_save', $translated, $attachment_data ); } // Convert taxonomy input to term IDs, to avoid ambiguity. if ( isset( $post_data['tax_input'] ) ) { foreach ( (array) $post_data['tax_input'] as $taxonomy => $terms ) { $tax_object = get_taxonomy( $taxonomy ); if ( $tax_object && isset( $tax_object->meta_box_sanitize_cb ) ) { $translated['tax_input'][ $taxonomy ] = call_user_func_array( $tax_object->meta_box_sanitize_cb, array( $taxonomy, $terms ) ); } } } add_meta( $post_id ); update_post_meta( $post_id, '_edit_last', get_current_user_id() ); $success = wp_update_post( $translated ); // If the save failed, see if we can confidence check the main fields and try again. if ( ! $success && is_callable( array( $wpdb, 'strip_invalid_text_for_column' ) ) ) { $fields = array( 'post_title', 'post_content', 'post_excerpt' ); foreach ( $fields as $field ) { if ( isset( $translated[ $field ] ) ) { $translated[ $field ] = $wpdb->strip_invalid_text_for_column( $wpdb->posts, $field, $translated[ $field ] ); } } wp_update_post( $translated ); } // Now that we have an ID we can fix any attachment anchor hrefs. _fix_attachment_links( $post_id ); wp_set_post_lock( $post_id ); if ( current_user_can( $ptype->cap->edit_others_posts ) && current_user_can( $ptype->cap->publish_posts ) ) { if ( ! empty( $post_data['sticky'] ) ) { stick_post( $post_id ); } else { unstick_post( $post_id ); } } return $post_id; } /** * Processes the post data for the bulk editing of posts. * * Updates all bulk edited posts/pages, adding (but not removing) tags and * categories. Skips pages when they would be their own parent or child. * * @since 2.7.0 * * @global wpdb $wpdb WordPress database abstraction object. * * @param array|null $post_data Optional. The array of post data to process. * Defaults to the `$_POST` superglobal. * @return array */ function bulk_edit_posts( $post_data = null ) { global $wpdb; if ( empty( $post_data ) ) { $post_data = &$_POST; } if ( isset( $post_data['post_type'] ) ) { $ptype = get_post_type_object( $post_data['post_type'] ); } else { $ptype = get_post_type_object( 'post' ); } if ( ! current_user_can( $ptype->cap->edit_posts ) ) { if ( 'page' === $ptype->name ) { wp_die( __( 'Sorry, you are not allowed to edit pages.' ) ); } else { wp_die( __( 'Sorry, you are not allowed to edit posts.' ) ); } } if ( '-1' === $post_data['_status'] ) { $post_data['post_status'] = null; unset( $post_data['post_status'] ); } else { $post_data['post_status'] = $post_data['_status']; } unset( $post_data['_status'] ); if ( ! empty( $post_data['post_status'] ) ) { $post_data['post_status'] = sanitize_key( $post_data['post_status'] ); if ( 'inherit' === $post_data['post_status'] ) { unset( $post_data['post_status'] ); } } $post_ids = array_map( 'intval', (array) $post_data['post'] ); $reset = array( 'post_author', 'post_status', 'post_password', 'post_parent', 'page_template', 'comment_status', 'ping_status', 'keep_private', 'tax_input', 'post_category', 'sticky', 'post_format', ); foreach ( $reset as $field ) { if ( isset( $post_data[ $field ] ) && ( '' === $post_data[ $field ] || '-1' === $post_data[ $field ] ) ) { unset( $post_data[ $field ] ); } } if ( isset( $post_data['post_category'] ) ) { if ( is_array( $post_data['post_category'] ) && ! empty( $post_data['post_category'] ) ) { $new_cats = array_map( 'absint', $post_data['post_category'] ); } else { unset( $post_data['post_category'] ); } } $tax_input = array(); if ( isset( $post_data['tax_input'] ) ) { foreach ( $post_data['tax_input'] as $tax_name => $terms ) { if ( empty( $terms ) ) { continue; } if ( is_taxonomy_hierarchical( $tax_name ) ) { $tax_input[ $tax_name ] = array_map( 'absint', $terms ); } else { $comma = _x( ',', 'tag delimiter' ); if ( ',' !== $comma ) { $terms = str_replace( $comma, ',', $terms ); } $tax_input[ $tax_name ] = explode( ',', trim( $terms, " \n\t\r\0\x0B," ) ); } } } if ( isset( $post_data['post_parent'] ) && (int) $post_data['post_parent'] ) { $parent = (int) $post_data['post_parent']; $pages = $wpdb->get_results( "SELECT ID, post_parent FROM $wpdb->posts WHERE post_type = 'page'" ); $children = array(); for ( $i = 0; $i < 50 && $parent > 0; $i++ ) { $children[] = $parent; foreach ( $pages as $page ) { if ( (int) $page->ID === $parent ) { $parent = (int) $page->post_parent; break; } } } } $updated = array(); $skipped = array(); $locked = array(); $shared_post_data = $post_data; foreach ( $post_ids as $post_id ) { // Start with fresh post data with each iteration. $post_data = $shared_post_data; $post_type_object = get_post_type_object( get_post_type( $post_id ) ); if ( ! isset( $post_type_object ) || ( isset( $children ) && in_array( $post_id, $children, true ) ) || ! current_user_can( 'edit_post', $post_id ) ) { $skipped[] = $post_id; continue; } if ( wp_check_post_lock( $post_id ) ) { $locked[] = $post_id; continue; } $post = get_post( $post_id ); $tax_names = get_object_taxonomies( $post ); foreach ( $tax_names as $tax_name ) { $taxonomy_obj = get_taxonomy( $tax_name ); if ( ! $taxonomy_obj->show_in_quick_edit ) { continue; } if ( isset( $tax_input[ $tax_name ] ) && current_user_can( $taxonomy_obj->cap->assign_terms ) ) { $new_terms = $tax_input[ $tax_name ]; } else { $new_terms = array(); } if ( $taxonomy_obj->hierarchical ) { $current_terms = (array) wp_get_object_terms( $post_id, $tax_name, array( 'fields' => 'ids' ) ); } else { $current_terms = (array) wp_get_object_terms( $post_id, $tax_name, array( 'fields' => 'names' ) ); } $post_data['tax_input'][ $tax_name ] = array_merge( $current_terms, $new_terms ); } if ( isset( $new_cats ) && in_array( 'category', $tax_names, true ) ) { $cats = (array) wp_get_post_categories( $post_id ); if ( isset( $post_data['indeterminate_post_category'] ) && is_array( $post_data['indeterminate_post_category'] ) ) { $indeterminate_post_category = $post_data['indeterminate_post_category']; } else { $indeterminate_post_category = array(); } $indeterminate_cats = array_intersect( $cats, $indeterminate_post_category ); $determinate_cats = array_diff( $new_cats, $indeterminate_post_category ); $post_data['post_category'] = array_unique( array_merge( $indeterminate_cats, $determinate_cats ) ); unset( $post_data['tax_input']['category'] ); } $post_data['post_ID'] = $post_id; $post_data['post_type'] = $post->post_type; $post_data['post_mime_type'] = $post->post_mime_type; foreach ( array( 'comment_status', 'ping_status', 'post_author' ) as $field ) { if ( ! isset( $post_data[ $field ] ) ) { $post_data[ $field ] = $post->$field; } } $post_data = _wp_translate_postdata( true, $post_data ); if ( is_wp_error( $post_data ) ) { $skipped[] = $post_id; continue; } $post_data = _wp_get_allowed_postdata( $post_data ); if ( isset( $shared_post_data['post_format'] ) ) { set_post_format( $post_id, $shared_post_data['post_format'] ); } // Prevent wp_insert_post() from overwriting post format with the old data. unset( $post_data['tax_input']['post_format'] ); // Reset post date of scheduled post to be published. if ( in_array( $post->post_status, array( 'future', 'draft' ), true ) && 'publish' === $post_data['post_status'] ) { $post_data['post_date'] = current_time( 'mysql' ); $post_data['post_date_gmt'] = ''; } $post_id = wp_update_post( $post_data ); update_post_meta( $post_id, '_edit_last', get_current_user_id() ); $updated[] = $post_id; if ( isset( $post_data['sticky'] ) && current_user_can( $ptype->cap->edit_others_posts ) ) { if ( 'sticky' === $post_data['sticky'] ) { stick_post( $post_id ); } else { unstick_post( $post_id ); } } } /** * Fires after processing the post data for bulk edit. * * @since 6.3.0 * * @param int[] $updated An array of updated post IDs. * @param array $shared_post_data Associative array containing the post data. */ do_action( 'bulk_edit_posts', $updated, $shared_post_data ); return array( 'updated' => $updated, 'skipped' => $skipped, 'locked' => $locked, ); } /** * Returns default post information to use when populating the "Write Post" form. * * @since 2.0.0 * * @param string $post_type Optional. A post type string. Default 'post'. * @param bool $create_in_db Optional. Whether to insert the post into database. Default false. * @return WP_Post Post object containing all the default post data as attributes */ function get_default_post_to_edit( $post_type = 'post', $create_in_db = false ) { $post_title = ''; if ( ! empty( $_REQUEST['post_title'] ) ) { $post_title = esc_html( wp_unslash( $_REQUEST['post_title'] ) ); } $post_content = ''; if ( ! empty( $_REQUEST['content'] ) ) { $post_content = esc_html( wp_unslash( $_REQUEST['content'] ) ); } $post_excerpt = ''; if ( ! empty( $_REQUEST['excerpt'] ) ) { $post_excerpt = esc_html( wp_unslash( $_REQUEST['excerpt'] ) ); } if ( $create_in_db ) { $post_id = wp_insert_post( array( 'post_title' => __( 'Auto Draft' ), 'post_type' => $post_type, 'post_status' => 'auto-draft', ), false, false ); $post = get_post( $post_id ); if ( current_theme_supports( 'post-formats' ) && post_type_supports( $post->post_type, 'post-formats' ) && get_option( 'default_post_format' ) ) { set_post_format( $post, get_option( 'default_post_format' ) ); } wp_after_insert_post( $post, false, null ); // Schedule auto-draft cleanup. if ( ! wp_next_scheduled( 'wp_scheduled_auto_draft_delete' ) ) { wp_schedule_event( time(), 'daily', 'wp_scheduled_auto_draft_delete' ); } } else { $post = new stdClass(); $post->ID = 0; $post->post_author = ''; $post->post_date = ''; $post->post_date_gmt = ''; $post->post_password = ''; $post->post_name = ''; $post->post_type = $post_type; $post->post_status = 'draft'; $post->to_ping = ''; $post->pinged = ''; $post->comment_status = get_default_comment_status( $post_type ); $post->ping_status = get_default_comment_status( $post_type, 'pingback' ); $post->post_pingback = get_option( 'default_pingback_flag' ); $post->post_category = get_option( 'default_category' ); $post->page_template = 'default'; $post->post_parent = 0; $post->menu_order = 0; $post = new WP_Post( $post ); } /** * Filters the default post content initially used in the "Write Post" form. * * @since 1.5.0 * * @param string $post_content Default post content. * @param WP_Post $post Post object. */ $post->post_content = (string) apply_filters( 'default_content', $post_content, $post ); /** * Filters the default post title initially used in the "Write Post" form. * * @since 1.5.0 * * @param string $post_title Default post title. * @param WP_Post $post Post object. */ $post->post_title = (string) apply_filters( 'default_title', $post_title, $post ); /** * Filters the default post excerpt initially used in the "Write Post" form. * * @since 1.5.0 * * @param string $post_excerpt Default post excerpt. * @param WP_Post $post Post object. */ $post->post_excerpt = (string) apply_filters( 'default_excerpt', $post_excerpt, $post ); return $post; } /** * Determines if a post exists based on title, content, date and type. * * @since 2.0.0 * @since 5.2.0 Added the `$type` parameter. * @since 5.8.0 Added the `$status` parameter. * * @global wpdb $wpdb WordPress database abstraction object. * * @param string $title Post title. * @param string $content Optional. Post content. * @param string $date Optional. Post date. * @param string $type Optional. Post type. * @param string $status Optional. Post status. * @return int Post ID if post exists, 0 otherwise. */ function post_exists( $title, $content = '', $date = '', $type = '', $status = '' ) { global $wpdb; $post_title = wp_unslash( sanitize_post_field( 'post_title', $title, 0, 'db' ) ); $post_content = wp_unslash( sanitize_post_field( 'post_content', $content, 0, 'db' ) ); $post_date = wp_unslash( sanitize_post_field( 'post_date', $date, 0, 'db' ) ); $post_type = wp_unslash( sanitize_post_field( 'post_type', $type, 0, 'db' ) ); $post_status = wp_unslash( sanitize_post_field( 'post_status', $status, 0, 'db' ) ); $query = "SELECT ID FROM $wpdb->posts WHERE 1=1"; $args = array(); if ( ! empty( $date ) ) { $query .= ' AND post_date = %s'; $args[] = $post_date; } if ( ! empty( $title ) ) { $query .= ' AND post_title = %s'; $args[] = $post_title; } if ( ! empty( $content ) ) { $query .= ' AND post_content = %s'; $args[] = $post_content; } if ( ! empty( $type ) ) { $query .= ' AND post_type = %s'; $args[] = $post_type; } if ( ! empty( $status ) ) { $query .= ' AND post_status = %s'; $args[] = $post_status; } if ( ! empty( $args ) ) { return (int) $wpdb->get_var( $wpdb->prepare( $query, $args ) ); } return 0; } /** * Creates a new post from the "Write Post" form using `$_POST` information. * * @since 2.1.0 * * @global WP_User $current_user * * @return int|WP_Error Post ID on success, WP_Error on failure. */ function wp_write_post() { if ( isset( $_POST['post_type'] ) ) { $ptype = get_post_type_object( $_POST['post_type'] ); } else { $ptype = get_post_type_object( 'post' ); } if ( ! current_user_can( $ptype->cap->edit_posts ) ) { if ( 'page' === $ptype->name ) { return new WP_Error( 'edit_pages', __( 'Sorry, you are not allowed to create pages on this site.' ) ); } else { return new WP_Error( 'edit_posts', __( 'Sorry, you are not allowed to create posts or drafts on this site.' ) ); } } $_POST['post_mime_type'] = ''; // Clear out any data in internal vars. unset( $_POST['filter'] ); // Edit, don't write, if we have a post ID. if ( isset( $_POST['post_ID'] ) ) { return edit_post(); } if ( isset( $_POST['visibility'] ) ) { switch ( $_POST['visibility'] ) { case 'public': $_POST['post_password'] = ''; break; case 'password': unset( $_POST['sticky'] ); break; case 'private': $_POST['post_status'] = 'private'; $_POST['post_password'] = ''; unset( $_POST['sticky'] ); break; } } $translated = _wp_translate_postdata( false ); if ( is_wp_error( $translated ) ) { return $translated; } $translated = _wp_get_allowed_postdata( $translated ); // Create the post. $post_id = wp_insert_post( $translated ); if ( is_wp_error( $post_id ) ) { return $post_id; } if ( empty( $post_id ) ) { return 0; } add_meta( $post_id ); add_post_meta( $post_id, '_edit_last', $GLOBALS['current_user']->ID ); // Now that we have an ID we can fix any attachment anchor hrefs. _fix_attachment_links( $post_id ); wp_set_post_lock( $post_id ); return $post_id; } /** * Calls wp_write_post() and handles the errors. * * @since 2.0.0 * * @return int|void Post ID on success, void on failure. */ function write_post() { $result = wp_write_post(); if ( is_wp_error( $result ) ) { wp_die( $result->get_error_message() ); } else { return $result; } } // // Post Meta. // /** * Adds post meta data defined in the `$_POST` superglobal for a post with given ID. * * @since 1.2.0 * * @param int $post_id * @return int|bool */ function add_meta( $post_id ) { $post_id = (int) $post_id; $metakeyselect = isset( $_POST['metakeyselect'] ) ? wp_unslash( trim( $_POST['metakeyselect'] ) ) : ''; $metakeyinput = isset( $_POST['metakeyinput'] ) ? wp_unslash( trim( $_POST['metakeyinput'] ) ) : ''; $metavalue = isset( $_POST['metavalue'] ) ? $_POST['metavalue'] : ''; if ( is_string( $metavalue ) ) { $metavalue = trim( $metavalue ); } if ( ( ( '#NONE#' !== $metakeyselect ) && ! empty( $metakeyselect ) ) || ! empty( $metakeyinput ) ) { /* * We have a key/value pair. If both the select and the input * for the key have data, the input takes precedence. */ if ( '#NONE#' !== $metakeyselect ) { $metakey = $metakeyselect; } if ( $metakeyinput ) { $metakey = $metakeyinput; // Default. } if ( is_protected_meta( $metakey, 'post' ) || ! current_user_can( 'add_post_meta', $post_id, $metakey ) ) { return false; } $metakey = wp_slash( $metakey ); return add_post_meta( $post_id, $metakey, $metavalue ); } return false; } /** * Deletes post meta data by meta ID. * * @since 1.2.0 * * @param int $mid * @return bool */ function delete_meta( $mid ) { return delete_metadata_by_mid( 'post', $mid ); } /** * Returns a list of previously defined keys. * * @since 1.2.0 * * @global wpdb $wpdb WordPress database abstraction object. * * @return string[] Array of meta key names. */ function get_meta_keys() { global $wpdb; $keys = $wpdb->get_col( "SELECT meta_key FROM $wpdb->postmeta GROUP BY meta_key ORDER BY meta_key" ); return $keys; } /** * Returns post meta data by meta ID. * * @since 2.1.0 * * @param int $mid * @return object|bool */ function get_post_meta_by_id( $mid ) { return get_metadata_by_mid( 'post', $mid ); } /** * Returns meta data for the given post ID. * * @since 1.2.0 * * @global wpdb $wpdb WordPress database abstraction object. * * @param int $post_id A post ID. * @return array[] { * Array of meta data arrays for the given post ID. * * @type array ...$0 { * Associative array of meta data. * * @type string $meta_key Meta key. * @type mixed $meta_value Meta value. * @type string $meta_id Meta ID as a numeric string. * @type string $post_id Post ID as a numeric string. * } * } */ function has_meta( $post_id ) { global $wpdb; return $wpdb->get_results( $wpdb->prepare( "SELECT meta_key, meta_value, meta_id, post_id FROM $wpdb->postmeta WHERE post_id = %d ORDER BY meta_key,meta_id", $post_id ), ARRAY_A ); } /** * Updates post meta data by meta ID. * * @since 1.2.0 * * @param int $meta_id Meta ID. * @param string $meta_key Meta key. Expect slashed. * @param string $meta_value Meta value. Expect slashed. * @return bool */ function update_meta( $meta_id, $meta_key, $meta_value ) { $meta_key = wp_unslash( $meta_key ); $meta_value = wp_unslash( $meta_value ); return update_metadata_by_mid( 'post', $meta_id, $meta_value, $meta_key ); } // // Private. // /** * Replaces hrefs of attachment anchors with up-to-date permalinks. * * @since 2.3.0 * @access private * * @param int|WP_Post $post Post ID or post object. * @return void|int|WP_Error Void if nothing fixed. 0 or WP_Error on update failure. The post ID on update success. */ function _fix_attachment_links( $post ) { $post = get_post( $post, ARRAY_A ); $content = $post['post_content']; // Don't run if no pretty permalinks or post is not published, scheduled, or privately published. if ( ! get_option( 'permalink_structure' ) || ! in_array( $post['post_status'], array( 'publish', 'future', 'private' ), true ) ) { return; } // Short if there aren't any links or no '?attachment_id=' strings (strpos cannot be zero). if ( ! strpos( $content, '?attachment_id=' ) || ! preg_match_all( '/<a ([^>]+)>[\s\S]+?<\/a>/', $content, $link_matches ) ) { return; } $site_url = get_bloginfo( 'url' ); $site_url = substr( $site_url, (int) strpos( $site_url, '://' ) ); // Remove the http(s). $replace = ''; foreach ( $link_matches[1] as $key => $value ) { if ( ! strpos( $value, '?attachment_id=' ) || ! strpos( $value, 'wp-att-' ) || ! preg_match( '/href=(["\'])[^"\']*\?attachment_id=(\d+)[^"\']*\\1/', $value, $url_match ) || ! preg_match( '/rel=["\'][^"\']*wp-att-(\d+)/', $value, $rel_match ) ) { continue; } $quote = $url_match[1]; // The quote (single or double). $url_id = (int) $url_match[2]; $rel_id = (int) $rel_match[1]; if ( ! $url_id || ! $rel_id || $url_id != $rel_id || ! str_contains( $url_match[0], $site_url ) ) { continue; } $link = $link_matches[0][ $key ]; $replace = str_replace( $url_match[0], 'href=' . $quote . get_attachment_link( $url_id ) . $quote, $link ); $content = str_replace( $link, $replace, $content ); } if ( $replace ) { $post['post_content'] = $content; // Escape data pulled from DB. $post = add_magic_quotes( $post ); return wp_update_post( $post ); } } /** * Returns all the possible statuses for a post type. * * @since 2.5.0 * * @param string $type The post_type you want the statuses for. Default 'post'. * @return string[] An array of all the statuses for the supplied post type. */ function get_available_post_statuses( $type = 'post' ) { $statuses = wp_count_posts( $type ); return array_keys( get_object_vars( $statuses ) ); } /** * Runs the query to fetch the posts for listing on the edit posts page. * * @since 2.5.0 * * @param array|false $q Optional. Array of query variables to use to build the query. * Defaults to the `$_GET` superglobal. * @return array */ function wp_edit_posts_query( $q = false ) { if ( false === $q ) { $q = $_GET; } $q['m'] = isset( $q['m'] ) ? (int) $q['m'] : 0; $q['cat'] = isset( $q['cat'] ) ? (int) $q['cat'] : 0; $post_statuses = get_post_stati(); if ( isset( $q['post_type'] ) && in_array( $q['post_type'], get_post_types(), true ) ) { $post_type = $q['post_type']; } else { $post_type = 'post'; } $avail_post_stati = get_available_post_statuses( $post_type ); $post_status = ''; $perm = ''; if ( isset( $q['post_status'] ) && in_array( $q['post_status'], $post_statuses, true ) ) { $post_status = $q['post_status']; $perm = 'readable'; } $orderby = ''; if ( isset( $q['orderby'] ) ) { $orderby = $q['orderby']; } elseif ( isset( $q['post_status'] ) && in_array( $q['post_status'], array( 'pending', 'draft' ), true ) ) { $orderby = 'modified'; } $order = ''; if ( isset( $q['order'] ) ) { $order = $q['order']; } elseif ( isset( $q['post_status'] ) && 'pending' === $q['post_status'] ) { $order = 'ASC'; } $per_page = "edit_{$post_type}_per_page"; $posts_per_page = (int) get_user_option( $per_page ); if ( empty( $posts_per_page ) || $posts_per_page < 1 ) { $posts_per_page = 20; } /** * Filters the number of items per page to show for a specific 'per_page' type. * * The dynamic portion of the hook name, `$post_type`, refers to the post type. * * Possible hook names include: * * - `edit_post_per_page` * - `edit_page_per_page` * - `edit_attachment_per_page` * * @since 3.0.0 * * @param int $posts_per_page Number of posts to display per page for the given post * type. Default 20. */ $posts_per_page = apply_filters( "edit_{$post_type}_per_page", $posts_per_page ); /** * Filters the number of posts displayed per page when specifically listing "posts". * * @since 2.8.0 * * @param int $posts_per_page Number of posts to be displayed. Default 20. * @param string $post_type The post type. */ $posts_per_page = apply_filters( 'edit_posts_per_page', $posts_per_page, $post_type ); $query = compact( 'post_type', 'post_status', 'perm', 'order', 'orderby', 'posts_per_page' ); // Hierarchical types require special args. if ( is_post_type_hierarchical( $post_type ) && empty( $orderby ) ) { $query['orderby'] = 'menu_order title'; $query['order'] = 'asc'; $query['posts_per_page'] = -1; $query['posts_per_archive_page'] = -1; $query['fields'] = 'id=>parent'; } if ( ! empty( $q['show_sticky'] ) ) { $query['post__in'] = (array) get_option( 'sticky_posts' ); } wp( $query ); return $avail_post_stati; } /** * Returns the query variables for the current attachments request. * * @since 4.2.0 * * @param array|false $q Optional. Array of query variables to use to build the query. * Defaults to the `$_GET` superglobal. * @return array The parsed query vars. */ function wp_edit_attachments_query_vars( $q = false ) { if ( false === $q ) { $q = $_GET; } $q['m'] = isset( $q['m'] ) ? (int) $q['m'] : 0; $q['cat'] = isset( $q['cat'] ) ? (int) $q['cat'] : 0; $q['post_type'] = 'attachment'; $post_type = get_post_type_object( 'attachment' ); $states = 'inherit'; if ( current_user_can( $post_type->cap->read_private_posts ) ) { $states .= ',private'; } $q['post_status'] = isset( $q['status'] ) && 'trash' === $q['status'] ? 'trash' : $states; $q['post_status'] = isset( $q['attachment-filter'] ) && 'trash' === $q['attachment-filter'] ? 'trash' : $states; $media_per_page = (int) get_user_option( 'upload_per_page' ); if ( empty( $media_per_page ) || $media_per_page < 1 ) { $media_per_page = 20; } /** * Filters the number of items to list per page when listing media items. * * @since 2.9.0 * * @param int $media_per_page Number of media to list. Default 20. */ $q['posts_per_page'] = apply_filters( 'upload_per_page', $media_per_page ); $post_mime_types = get_post_mime_types(); if ( isset( $q['post_mime_type'] ) && ! array_intersect( (array) $q['post_mime_type'], array_keys( $post_mime_types ) ) ) { unset( $q['post_mime_type'] ); } foreach ( array_keys( $post_mime_types ) as $type ) { if ( isset( $q['attachment-filter'] ) && "post_mime_type:$type" === $q['attachment-filter'] ) { $q['post_mime_type'] = $type; break; } } if ( isset( $q['detached'] ) || ( isset( $q['attachment-filter'] ) && 'detached' === $q['attachment-filter'] ) ) { $q['post_parent'] = 0; } if ( isset( $q['mine'] ) || ( isset( $q['attachment-filter'] ) && 'mine' === $q['attachment-filter'] ) ) { $q['author'] = get_current_user_id(); } // Filter query clauses to include filenames. if ( isset( $q['s'] ) ) { add_filter( 'wp_allow_query_attachment_by_filename', '__return_true' ); } return $q; } /** * Executes a query for attachments. An array of WP_Query arguments * can be passed in, which will override the arguments set by this function. * * @since 2.5.0 * * @param array|false $q Optional. Array of query variables to use to build the query. * Defaults to the `$_GET` superglobal. * @return array */ function wp_edit_attachments_query( $q = false ) { wp( wp_edit_attachments_query_vars( $q ) ); $post_mime_types = get_post_mime_types(); $avail_post_mime_types = get_available_post_mime_types( 'attachment' ); return array( $post_mime_types, $avail_post_mime_types ); } /** * Returns the list of classes to be used by a meta box. * * @since 2.5.0 * * @param string $box_id Meta box ID (used in the 'id' attribute for the meta box). * @param string $screen_id The screen on which the meta box is shown. * @return string Space-separated string of class names. */ function postbox_classes( $box_id, $screen_id ) { if ( isset( $_GET['edit'] ) && $_GET['edit'] === $box_id ) { $classes = array( '' ); } elseif ( get_user_option( 'closedpostboxes_' . $screen_id ) ) { $closed = get_user_option( 'closedpostboxes_' . $screen_id ); if ( ! is_array( $closed ) ) { $classes = array( '' ); } else { $classes = in_array( $box_id, $closed, true ) ? array( 'closed' ) : array( '' ); } } else { $classes = array( '' ); } /** * Filters the postbox classes for a specific screen and box ID combo. * * The dynamic portions of the hook name, `$screen_id` and `$box_id`, refer to * the screen ID and meta box ID, respectively. * * @since 3.2.0 * * @param string[] $classes An array of postbox classes. */ $classes = apply_filters( "postbox_classes_{$screen_id}_{$box_id}", $classes ); return implode( ' ', $classes ); } /** * Returns a sample permalink based on the post name. * * @since 2.5.0 * * @param int|WP_Post $post Post ID or post object. * @param string|null $title Optional. Title to override the post's current title * when generating the post name. Default null. * @param string|null $name Optional. Name to override the post name. Default null. * @return array { * Array containing the sample permalink with placeholder for the post name, and the post name. * * @type string $0 The permalink with placeholder for the post name. * @type string $1 The post name. * } */ function get_sample_permalink( $post, $title = null, $name = null ) { $post = get_post( $post ); if ( ! $post ) { return array( '', '' ); } $ptype = get_post_type_object( $post->post_type ); $original_status = $post->post_status; $original_date = $post->post_date; $original_name = $post->post_name; $original_filter = $post->filter; // Hack: get_permalink() would return plain permalink for drafts, so we will fake that our post is published. if ( in_array( $post->post_status, array( 'auto-draft', 'draft', 'pending', 'future' ), true ) ) { $post->post_status = 'publish'; $post->post_name = sanitize_title( $post->post_name ? $post->post_name : $post->post_title, $post->ID ); } /* * If the user wants to set a new name -- override the current one. * Note: if empty name is supplied -- use the title instead, see #6072. */ if ( ! is_null( $name ) ) { $post->post_name = sanitize_title( $name ? $name : $title, $post->ID ); } $post->post_name = wp_unique_post_slug( $post->post_name, $post->ID, $post->post_status, $post->post_type, $post->post_parent ); $post->filter = 'sample'; $permalink = get_permalink( $post, true ); // Replace custom post_type token with generic pagename token for ease of use. $permalink = str_replace( "%$post->post_type%", '%pagename%', $permalink ); // Handle page hierarchy. if ( $ptype->hierarchical ) { $uri = get_page_uri( $post ); if ( $uri ) { $uri = untrailingslashit( $uri ); $uri = strrev( stristr( strrev( $uri ), '/' ) ); $uri = untrailingslashit( $uri ); } /** This filter is documented in wp-admin/edit-tag-form.php */ $uri = apply_filters( 'editable_slug', $uri, $post ); if ( ! empty( $uri ) ) { $uri .= '/'; } $permalink = str_replace( '%pagename%', "{$uri}%pagename%", $permalink ); } /** This filter is documented in wp-admin/edit-tag-form.php */ $permalink = array( $permalink, apply_filters( 'editable_slug', $post->post_name, $post ) ); $post->post_status = $original_status; $post->post_date = $original_date; $post->post_name = $original_name; $post->filter = $original_filter; /** * Filters the sample permalink. * * @since 4.4.0 * * @param array $permalink { * Array containing the sample permalink with placeholder for the post name, and the post name. * * @type string $0 The permalink with placeholder for the post name. * @type string $1 The post name. * } * @param int $post_id Post ID. * @param string $title Post title. * @param string $name Post name (slug). * @param WP_Post $post Post object. */ return apply_filters( 'get_sample_permalink', $permalink, $post->ID, $title, $name, $post ); } /** * Returns the HTML of the sample permalink slug editor. * * @since 2.5.0 * * @param int|WP_Post $post Post ID or post object. * @param string|null $new_title Optional. New title. Default null. * @param string|null $new_slug Optional. New slug. Default null. * @return string The HTML of the sample permalink slug editor. */ function get_sample_permalink_html( $post, $new_title = null, $new_slug = null ) { $post = get_post( $post ); if ( ! $post ) { return ''; } list($permalink, $post_name) = get_sample_permalink( $post->ID, $new_title, $new_slug ); $view_link = false; $preview_target = ''; if ( current_user_can( 'read_post', $post->ID ) ) { if ( 'draft' === $post->post_status || empty( $post->post_name ) ) { $view_link = get_preview_post_link( $post ); $preview_target = " target='wp-preview-{$post->ID}'"; } else { if ( 'publish' === $post->post_status || 'attachment' === $post->post_type ) { $view_link = get_permalink( $post ); } else { // Allow non-published (private, future) to be viewed at a pretty permalink, in case $post->post_name is set. $view_link = str_replace( array( '%pagename%', '%postname%' ), $post->post_name, $permalink ); } } } // Permalinks without a post/page name placeholder don't have anything to edit. if ( ! str_contains( $permalink, '%postname%' ) && ! str_contains( $permalink, '%pagename%' ) ) { $return = '<strong>' . __( 'Permalink:' ) . "</strong>\n"; if ( false !== $view_link ) { $display_link = urldecode( $view_link ); $return .= '<a id="sample-permalink" href="' . esc_url( $view_link ) . '"' . $preview_target . '>' . esc_html( $display_link ) . "</a>\n"; } else { $return .= '<span id="sample-permalink">' . $permalink . "</span>\n"; } // Encourage a pretty permalink setting. if ( ! get_option( 'permalink_structure' ) && current_user_can( 'manage_options' ) && ! ( 'page' === get_option( 'show_on_front' ) && (int) get_option( 'page_on_front' ) === $post->ID ) ) { $return .= '<span id="change-permalinks"><a href="options-permalink.php" class="button button-small">' . __( 'Change Permalink Structure' ) . "</a></span>\n"; } } else { if ( mb_strlen( $post_name ) > 34 ) { $post_name_abridged = mb_substr( $post_name, 0, 16 ) . '…' . mb_substr( $post_name, -16 ); } else { $post_name_abridged = $post_name; } $post_name_html = '<span id="editable-post-name">' . esc_html( $post_name_abridged ) . '</span>'; $display_link = str_replace( array( '%pagename%', '%postname%' ), $post_name_html, esc_html( urldecode( $permalink ) ) ); $return = '<strong>' . __( 'Permalink:' ) . "</strong>\n"; $return .= '<span id="sample-permalink"><a href="' . esc_url( $view_link ) . '"' . $preview_target . '>' . $display_link . "</a></span>\n"; $return .= '‎'; // Fix bi-directional text display defect in RTL languages. $return .= '<span id="edit-slug-buttons"><button type="button" class="edit-slug button button-small hide-if-no-js" aria-label="' . __( 'Edit permalink' ) . '">' . __( 'Edit' ) . "</button></span>\n"; $return .= '<span id="editable-post-name-full">' . esc_html( $post_name ) . "</span>\n"; } /** * Filters the sample permalink HTML markup. * * @since 2.9.0 * @since 4.4.0 Added `$post` parameter. * * @param string $return Sample permalink HTML markup. * @param int $post_id Post ID. * @param string|null $new_title New sample permalink title. * @param string|null $new_slug New sample permalink slug. * @param WP_Post $post Post object. */ $return = apply_filters( 'get_sample_permalink_html', $return, $post->ID, $new_title, $new_slug, $post ); return $return; } /** * Returns HTML for the post thumbnail meta box. * * @since 2.9.0 * * @param int|null $thumbnail_id Optional. Thumbnail attachment ID. Default null. * @param int|WP_Post|null $post Optional. The post ID or object associated * with the thumbnail. Defaults to global $post. * @return string The post thumbnail HTML. */ function _wp_post_thumbnail_html( $thumbnail_id = null, $post = null ) { $_wp_additional_image_sizes = wp_get_additional_image_sizes(); $post = get_post( $post ); $post_type_object = get_post_type_object( $post->post_type ); $set_thumbnail_link = '<p class="hide-if-no-js"><a href="%s" id="set-post-thumbnail"%s class="thickbox">%s</a></p>'; $upload_iframe_src = get_upload_iframe_src( 'image', $post->ID ); $content = sprintf( $set_thumbnail_link, esc_url( $upload_iframe_src ), '', // Empty when there's no featured image set, `aria-describedby` attribute otherwise. esc_html( $post_type_object->labels->set_featured_image ) ); if ( $thumbnail_id && get_post( $thumbnail_id ) ) { $size = isset( $_wp_additional_image_sizes['post-thumbnail'] ) ? 'post-thumbnail' : array( 266, 266 ); /** * Filters the size used to display the post thumbnail image in the 'Featured image' meta box. * * Note: When a theme adds 'post-thumbnail' support, a special 'post-thumbnail' * image size is registered, which differs from the 'thumbnail' image size * managed via the Settings > Media screen. * * @since 4.4.0 * * @param string|int[] $size Requested image size. Can be any registered image size name, or * an array of width and height values in pixels (in that order). * @param int $thumbnail_id Post thumbnail attachment ID. * @param WP_Post $post The post object associated with the thumbnail. */ $size = apply_filters( 'admin_post_thumbnail_size', $size, $thumbnail_id, $post ); $thumbnail_html = wp_get_attachment_image( $thumbnail_id, $size ); if ( ! empty( $thumbnail_html ) ) { $content = sprintf( $set_thumbnail_link, esc_url( $upload_iframe_src ), ' aria-describedby="set-post-thumbnail-desc"', $thumbnail_html ); $content .= '<p class="hide-if-no-js howto" id="set-post-thumbnail-desc">' . __( 'Click the image to edit or update' ) . '</p>'; $content .= '<p class="hide-if-no-js"><a href="#" id="remove-post-thumbnail">' . esc_html( $post_type_object->labels->remove_featured_image ) . '</a></p>'; } } $content .= '<input type="hidden" id="_thumbnail_id" name="_thumbnail_id" value="' . esc_attr( $thumbnail_id ? $thumbnail_id : '-1' ) . '" />'; /** * Filters the admin post thumbnail HTML markup to return. * * @since 2.9.0 * @since 3.5.0 Added the `$post_id` parameter. * @since 4.6.0 Added the `$thumbnail_id` parameter. * * @param string $content Admin post thumbnail HTML markup. * @param int $post_id Post ID. * @param int|null $thumbnail_id Thumbnail attachment ID, or null if there isn't one. */ return apply_filters( 'admin_post_thumbnail_html', $content, $post->ID, $thumbnail_id ); } /** * Determines whether the post is currently being edited by another user. * * @since 2.5.0 * * @param int|WP_Post $post ID or object of the post to check for editing. * @return int|false ID of the user with lock. False if the post does not exist, post is not locked, * the user with lock does not exist, or the post is locked by current user. */ function wp_check_post_lock( $post ) { $post = get_post( $post ); if ( ! $post ) { return false; } $lock = get_post_meta( $post->ID, '_edit_lock', true ); if ( ! $lock ) { return false; } $lock = explode( ':', $lock ); $time = $lock[0]; $user = isset( $lock[1] ) ? (int) $lock[1] : (int) get_post_meta( $post->ID, '_edit_last', true ); if ( ! get_userdata( $user ) ) { return false; } /** This filter is documented in wp-admin/includes/ajax-actions.php */ $time_window = apply_filters( 'wp_check_post_lock_window', 150 ); if ( $time && $time > time() - $time_window && get_current_user_id() !== $user ) { return $user; } return false; } /** * Marks the post as currently being edited by the current user. * * @since 2.5.0 * * @param int|WP_Post $post ID or object of the post being edited. * @return array|false { * Array of the lock time and user ID. False if the post does not exist, or there * is no current user. * * @type int $0 The current time as a Unix timestamp. * @type int $1 The ID of the current user. * } */ function wp_set_post_lock( $post ) { $post = get_post( $post ); if ( ! $post ) { return false; } $user_id = get_current_user_id(); if ( 0 === $user_id ) { return false; } $now = time(); $lock = "$now:$user_id"; update_post_meta( $post->ID, '_edit_lock', $lock ); return array( $now, $user_id ); } /** * Outputs the HTML for the notice to say that someone else is editing or has taken over editing of this post. * * @since 2.8.5 */ function _admin_notice_post_locked() { $post = get_post(); if ( ! $post ) { return; } $user = null; $user_id = wp_check_post_lock( $post->ID ); if ( $user_id ) { $user = get_userdata( $user_id ); } if ( $user ) { /** * Filters whether to show the post locked dialog. * * Returning false from the filter will prevent the dialog from being displayed. * * @since 3.6.0 * * @param bool $display Whether to display the dialog. Default true. * @param WP_Post $post Post object. * @param WP_User $user The user with the lock for the post. */ if ( ! apply_filters( 'show_post_locked_dialog', true, $post, $user ) ) { return; } $locked = true; } else { $locked = false; } $sendback = wp_get_referer(); $sendback_text = __( 'Go back' ); if ( ! $locked || ! $sendback || str_contains( $sendback, 'post.php' ) || str_contains( $sendback, 'post-new.php' ) ) { $sendback = admin_url( 'edit.php' ); if ( 'post' !== $post->post_type ) { $sendback = add_query_arg( 'post_type', $post->post_type, $sendback ); } $post_type_object = get_post_type_object( $post->post_type ); if ( $post_type_object ) { $sendback_text = $post_type_object->labels->all_items; } } $hidden = $locked ? '' : ' hidden'; ?> <div id="post-lock-dialog" class="notification-dialog-wrap<?php echo $hidden; ?>"> <div class="notification-dialog-background"></div> <div class="notification-dialog"> <?php if ( $locked ) { $query_args = array(); if ( get_post_type_object( $post->post_type )->public ) { if ( 'publish' === $post->post_status || $user->ID !== (int) $post->post_author ) { // Latest content is in autosave. $nonce = wp_create_nonce( 'post_preview_' . $post->ID ); $query_args['preview_id'] = $post->ID; $query_args['preview_nonce'] = $nonce; } } $preview_link = get_preview_post_link( $post->ID, $query_args ); /** * Filters whether to allow the post lock to be overridden. * * Returning false from the filter will disable the ability * to override the post lock. * * @since 3.6.0 * * @param bool $override Whether to allow the post lock to be overridden. Default true. * @param WP_Post $post Post object. * @param WP_User $user The user with the lock for the post. */ $override = apply_filters( 'override_post_lock', true, $post, $user ); $tab_last = $override ? '' : ' wp-tab-last'; ?> <div class="post-locked-message"> <div class="post-locked-avatar"><?php echo get_avatar( $user->ID, 64 ); ?></div> <p class="currently-editing wp-tab-first" tabindex="0"> <?php if ( $override ) { /* translators: %s: User's display name. */ printf( __( '%s is currently editing this post. Do you want to take over?' ), esc_html( $user->display_name ) ); } else { /* translators: %s: User's display name. */ printf( __( '%s is currently editing this post.' ), esc_html( $user->display_name ) ); } ?> </p> <?php /** * Fires inside the post locked dialog before the buttons are displayed. * * @since 3.6.0 * @since 5.4.0 The $user parameter was added. * * @param WP_Post $post Post object. * @param WP_User $user The user with the lock for the post. */ do_action( 'post_locked_dialog', $post, $user ); ?> <p> <a class="button" href="<?php echo esc_url( $sendback ); ?>"><?php echo $sendback_text; ?></a> <?php if ( $preview_link ) { ?> <a class="button<?php echo $tab_last; ?>" href="<?php echo esc_url( $preview_link ); ?>"><?php _e( 'Preview' ); ?></a> <?php } // Allow plugins to prevent some users overriding the post lock. if ( $override ) { ?> <a class="button button-primary wp-tab-last" href="<?php echo esc_url( add_query_arg( 'get-post-lock', '1', wp_nonce_url( get_edit_post_link( $post->ID, 'url' ), 'lock-post_' . $post->ID ) ) ); ?>"><?php _e( 'Take over' ); ?></a> <?php } ?> </p> </div> <?php } else { ?> <div class="post-taken-over"> <div class="post-locked-avatar"></div> <p class="wp-tab-first" tabindex="0"> <span class="currently-editing"></span><br /> <span class="locked-saving hidden"><img src="<?php echo esc_url( admin_url( 'images/spinner-2x.gif' ) ); ?>" width="16" height="16" alt="" /> <?php _e( 'Saving revision…' ); ?></span> <span class="locked-saved hidden"><?php _e( 'Your latest changes were saved as a revision.' ); ?></span> </p> <?php /** * Fires inside the dialog displayed when a user has lost the post lock. * * @since 3.6.0 * * @param WP_Post $post Post object. */ do_action( 'post_lock_lost_dialog', $post ); ?> <p><a class="button button-primary wp-tab-last" href="<?php echo esc_url( $sendback ); ?>"><?php echo $sendback_text; ?></a></p> </div> <?php } ?> </div> </div> <?php } /** * Creates autosave data for the specified post from `$_POST` data. * * @since 2.6.0 * * @param array|int $post_data Associative array containing the post data, or integer post ID. * If a numeric post ID is provided, will use the `$_POST` superglobal. * @return int|WP_Error The autosave revision ID. WP_Error or 0 on error. */ function wp_create_post_autosave( $post_data ) { if ( is_numeric( $post_data ) ) { $post_id = $post_data; $post_data = $_POST; } else { $post_id = (int) $post_data['post_ID']; } $post_data = _wp_translate_postdata( true, $post_data ); if ( is_wp_error( $post_data ) ) { return $post_data; } $post_data = _wp_get_allowed_postdata( $post_data ); $post_author = get_current_user_id(); // Store one autosave per author. If there is already an autosave, overwrite it. $old_autosave = wp_get_post_autosave( $post_id, $post_author ); if ( $old_autosave ) { $new_autosave = _wp_post_revision_data( $post_data, true ); $new_autosave['ID'] = $old_autosave->ID; $new_autosave['post_author'] = $post_author; $post = get_post( $post_id ); // If the new autosave has the same content as the post, delete the autosave. $autosave_is_different = false; foreach ( array_intersect( array_keys( $new_autosave ), array_keys( _wp_post_revision_fields( $post ) ) ) as $field ) { if ( normalize_whitespace( $new_autosave[ $field ] ) !== normalize_whitespace( $post->$field ) ) { $autosave_is_different = true; break; } } if ( ! $autosave_is_different ) { wp_delete_post_revision( $old_autosave->ID ); return 0; } /** * Fires before an autosave is stored. * * @since 4.1.0 * @since 6.4.0 The `$is_update` parameter was added to indicate if the autosave is being updated or was newly created. * * @param array $new_autosave Post array - the autosave that is about to be saved. * @param bool $is_update Whether this is an existing autosave. */ do_action( 'wp_creating_autosave', $new_autosave, true ); return wp_update_post( $new_autosave ); } // _wp_put_post_revision() expects unescaped. $post_data = wp_unslash( $post_data ); // Otherwise create the new autosave as a special post revision. $revision = _wp_put_post_revision( $post_data, true ); if ( ! is_wp_error( $revision ) && 0 !== $revision ) { /** This action is documented in wp-admin/includes/post.php */ do_action( 'wp_creating_autosave', get_post( $revision, ARRAY_A ), false ); } return $revision; } /** * Autosaves the revisioned meta fields. * * Iterates through the revisioned meta fields and checks each to see if they are set, * and have a changed value. If so, the meta value is saved and attached to the autosave. * * @since 6.4.0 * * @param array $new_autosave The new post data being autosaved. */ function wp_autosave_post_revisioned_meta_fields( $new_autosave ) { /* * The post data arrives as either $_POST['data']['wp_autosave'] or the $_POST * itself. This sets $posted_data to the correct variable. * * Ignoring sanitization to avoid altering meta. Ignoring the nonce check because * this is hooked on inner core hooks where a valid nonce was already checked. */ $posted_data = isset( $_POST['data']['wp_autosave'] ) ? $_POST['data']['wp_autosave'] : $_POST; $post_type = get_post_type( $new_autosave['post_parent'] ); /* * Go through the revisioned meta keys and save them as part of the autosave, * if the meta key is part of the posted data, the meta value is not blank, * and the meta value has changes from the last autosaved value. */ foreach ( wp_post_revision_meta_keys( $post_type ) as $meta_key ) { if ( isset( $posted_data[ $meta_key ] ) && get_post_meta( $new_autosave['ID'], $meta_key, true ) !== wp_unslash( $posted_data[ $meta_key ] ) ) { /* * Use the underlying delete_metadata() and add_metadata() functions * vs delete_post_meta() and add_post_meta() to make sure we're working * with the actual revision meta. */ delete_metadata( 'post', $new_autosave['ID'], $meta_key ); // One last check to ensure meta value is not empty. if ( ! empty( $posted_data[ $meta_key ] ) ) { // Add the revisions meta data to the autosave. add_metadata( 'post', $new_autosave['ID'], $meta_key, $posted_data[ $meta_key ] ); } } } } /** * Saves a draft or manually autosaves for the purpose of showing a post preview. * * @since 2.7.0 * * @return string URL to redirect to show the preview. */ function post_preview() { $post_id = (int) $_POST['post_ID']; $_POST['ID'] = $post_id; $post = get_post( $post_id ); if ( ! $post ) { wp_die( __( 'Sorry, you are not allowed to edit this post.' ) ); } if ( ! current_user_can( 'edit_post', $post->ID ) ) { wp_die( __( 'Sorry, you are not allowed to edit this post.' ) ); } $is_autosave = false; if ( ! wp_check_post_lock( $post->ID ) && get_current_user_id() === (int) $post->post_author && ( 'draft' === $post->post_status || 'auto-draft' === $post->post_status ) ) { $saved_post_id = edit_post(); } else { $is_autosave = true; if ( isset( $_POST['post_status'] ) && 'auto-draft' === $_POST['post_status'] ) { $_POST['post_status'] = 'draft'; } $saved_post_id = wp_create_post_autosave( $post->ID ); } if ( is_wp_error( $saved_post_id ) ) { wp_die( $saved_post_id->get_error_message() ); } $query_args = array(); if ( $is_autosave && $saved_post_id ) { $query_args['preview_id'] = $post->ID; $query_args['preview_nonce'] = wp_create_nonce( 'post_preview_' . $post->ID ); if ( isset( $_POST['post_format'] ) ) { $query_args['post_format'] = empty( $_POST['post_format'] ) ? 'standard' : sanitize_key( $_POST['post_format'] ); } if ( isset( $_POST['_thumbnail_id'] ) ) { $query_args['_thumbnail_id'] = ( (int) $_POST['_thumbnail_id'] <= 0 ) ? '-1' : (int) $_POST['_thumbnail_id']; } } return get_preview_post_link( $post, $query_args ); } /** * Saves a post submitted with XHR. * * Intended for use with heartbeat and autosave.js * * @since 3.9.0 * * @param array $post_data Associative array of the submitted post data. * @return mixed The value 0 or WP_Error on failure. The saved post ID on success. * The ID can be the draft post_id or the autosave revision post_id. */ function wp_autosave( $post_data ) { // Back-compat. if ( ! defined( 'DOING_AUTOSAVE' ) ) { define( 'DOING_AUTOSAVE', true ); } $post_id = (int) $post_data['post_id']; $post_data['ID'] = $post_id; $post_data['post_ID'] = $post_id; if ( false === wp_verify_nonce( $post_data['_wpnonce'], 'update-post_' . $post_id ) ) { return new WP_Error( 'invalid_nonce', __( 'Error while saving.' ) ); } $post = get_post( $post_id ); if ( ! current_user_can( 'edit_post', $post->ID ) ) { return new WP_Error( 'edit_posts', __( 'Sorry, you are not allowed to edit this item.' ) ); } if ( 'auto-draft' === $post->post_status ) { $post_data['post_status'] = 'draft'; } if ( 'page' !== $post_data['post_type'] && ! empty( $post_data['catslist'] ) ) { $post_data['post_category'] = explode( ',', $post_data['catslist'] ); } if ( ! wp_check_post_lock( $post->ID ) && get_current_user_id() === (int) $post->post_author && ( 'auto-draft' === $post->post_status || 'draft' === $post->post_status ) ) { // Drafts and auto-drafts are just overwritten by autosave for the same user if the post is not locked. return edit_post( wp_slash( $post_data ) ); } else { /* * Non-drafts or other users' drafts are not overwritten. * The autosave is stored in a special post revision for each user. */ return wp_create_post_autosave( wp_slash( $post_data ) ); } } /** * Redirects to previous page. * * @since 2.7.0 * * @param int $post_id Optional. Post ID. */ function redirect_post( $post_id = '' ) { if ( isset( $_POST['save'] ) || isset( $_POST['publish'] ) ) { $status = get_post_status( $post_id ); switch ( $status ) { case 'pending': $message = 8; break; case 'future': $message = 9; break; case 'draft': $message = 10; break; default: $message = isset( $_POST['publish'] ) ? 6 : 1; break; } $location = add_query_arg( 'message', $message, get_edit_post_link( $post_id, 'url' ) ); } elseif ( isset( $_POST['addmeta'] ) && $_POST['addmeta'] ) { $location = add_query_arg( 'message', 2, wp_get_referer() ); $location = explode( '#', $location ); $location = $location[0] . '#postcustom'; } elseif ( isset( $_POST['deletemeta'] ) && $_POST['deletemeta'] ) { $location = add_query_arg( 'message', 3, wp_get_referer() ); $location = explode( '#', $location ); $location = $location[0] . '#postcustom'; } else { $location = add_query_arg( 'message', 4, get_edit_post_link( $post_id, 'url' ) ); } /** * Filters the post redirect destination URL. * * @since 2.9.0 * * @param string $location The destination URL. * @param int $post_id The post ID. */ wp_redirect( apply_filters( 'redirect_post_location', $location, $post_id ) ); exit; } /** * Sanitizes POST values from a checkbox taxonomy metabox. * * @since 5.1.0 * * @param string $taxonomy The taxonomy name. * @param array $terms Raw term data from the 'tax_input' field. * @return int[] Array of sanitized term IDs. */ function taxonomy_meta_box_sanitize_cb_checkboxes( $taxonomy, $terms ) { return array_map( 'intval', $terms ); } /** * Sanitizes POST values from an input taxonomy metabox. * * @since 5.1.0 * * @param string $taxonomy The taxonomy name. * @param array|string $terms Raw term data from the 'tax_input' field. * @return array */ function taxonomy_meta_box_sanitize_cb_input( $taxonomy, $terms ) { /* * Assume that a 'tax_input' string is a comma-separated list of term names. * Some languages may use a character other than a comma as a delimiter, so we standardize on * commas before parsing the list. */ if ( ! is_array( $terms ) ) { $comma = _x( ',', 'tag delimiter' ); if ( ',' !== $comma ) { $terms = str_replace( $comma, ',', $terms ); } $terms = explode( ',', trim( $terms, " \n\t\r\0\x0B," ) ); } $clean_terms = array(); foreach ( $terms as $term ) { // Empty terms are invalid input. if ( empty( $term ) ) { continue; } $_term = get_terms( array( 'taxonomy' => $taxonomy, 'name' => $term, 'fields' => 'ids', 'hide_empty' => false, ) ); if ( ! empty( $_term ) ) { $clean_terms[] = (int) $_term[0]; } else { // No existing term was found, so pass the string. A new term will be created. $clean_terms[] = $term; } } return $clean_terms; } /** * Prepares server-registered blocks for the block editor. * * Returns an associative array of registered block data keyed by block name. Data includes properties * of a block relevant for client registration. * * @since 5.0.0 * @since 6.3.0 Added `selectors` field. * @since 6.4.0 Added `block_hooks` field. * * @return array An associative array of registered block data. */ function get_block_editor_server_block_settings() { $block_registry = WP_Block_Type_Registry::get_instance(); $blocks = array(); $fields_to_pick = array( 'api_version' => 'apiVersion', 'title' => 'title', 'description' => 'description', 'icon' => 'icon', 'attributes' => 'attributes', 'provides_context' => 'providesContext', 'uses_context' => 'usesContext', 'block_hooks' => 'blockHooks', 'selectors' => 'selectors', 'supports' => 'supports', 'category' => 'category', 'styles' => 'styles', 'textdomain' => 'textdomain', 'parent' => 'parent', 'ancestor' => 'ancestor', 'keywords' => 'keywords', 'example' => 'example', 'variations' => 'variations', 'allowed_blocks' => 'allowedBlocks', ); foreach ( $block_registry->get_all_registered() as $block_name => $block_type ) { foreach ( $fields_to_pick as $field => $key ) { if ( ! isset( $block_type->{ $field } ) ) { continue; } if ( ! isset( $blocks[ $block_name ] ) ) { $blocks[ $block_name ] = array(); } $blocks[ $block_name ][ $key ] = $block_type->{ $field }; } } return $blocks; } /** * Renders the meta boxes forms. * * @since 5.0.0 * * @global WP_Post $post Global post object. * @global WP_Screen $current_screen WordPress current screen object. * @global array $wp_meta_boxes Global meta box state. */ function the_block_editor_meta_boxes() { global $post, $current_screen, $wp_meta_boxes; // Handle meta box state. $_original_meta_boxes = $wp_meta_boxes; /** * Fires right before the meta boxes are rendered. * * This allows for the filtering of meta box data, that should already be * present by this point. Do not use as a means of adding meta box data. * * @since 5.0.0 * * @param array $wp_meta_boxes Global meta box state. */ $wp_meta_boxes = apply_filters( 'filter_block_editor_meta_boxes', $wp_meta_boxes ); $locations = array( 'side', 'normal', 'advanced' ); $priorities = array( 'high', 'sorted', 'core', 'default', 'low' ); // Render meta boxes. ?> <form class="metabox-base-form"> <?php the_block_editor_meta_box_post_form_hidden_fields( $post ); ?> </form> <form id="toggle-custom-fields-form" method="post" action="<?php echo esc_url( admin_url( 'post.php' ) ); ?>"> <?php wp_nonce_field( 'toggle-custom-fields', 'toggle-custom-fields-nonce' ); ?> <input type="hidden" name="action" value="toggle-custom-fields" /> </form> <?php foreach ( $locations as $location ) : ?> <form class="metabox-location-<?php echo esc_attr( $location ); ?>" onsubmit="return false;"> <div id="poststuff" class="sidebar-open"> <div id="postbox-container-2" class="postbox-container"> <?php do_meta_boxes( $current_screen, $location, $post ); ?> </div> </div> </form> <?php endforeach; ?> <?php $meta_boxes_per_location = array(); foreach ( $locations as $location ) { $meta_boxes_per_location[ $location ] = array(); if ( ! isset( $wp_meta_boxes[ $current_screen->id ][ $location ] ) ) { continue; } foreach ( $priorities as $priority ) { if ( ! isset( $wp_meta_boxes[ $current_screen->id ][ $location ][ $priority ] ) ) { continue; } $meta_boxes = (array) $wp_meta_boxes[ $current_screen->id ][ $location ][ $priority ]; foreach ( $meta_boxes as $meta_box ) { if ( false === $meta_box || ! $meta_box['title'] ) { continue; } // If a meta box is just here for back compat, don't show it in the block editor. if ( isset( $meta_box['args']['__back_compat_meta_box'] ) && $meta_box['args']['__back_compat_meta_box'] ) { continue; } $meta_boxes_per_location[ $location ][] = array( 'id' => $meta_box['id'], 'title' => $meta_box['title'], ); } } } /* * Sadly we probably cannot add this data directly into editor settings. * * Some meta boxes need `admin_head` to fire for meta box registry. * `admin_head` fires after `admin_enqueue_scripts`, which is where we create * our editor instance. */ $script = 'window._wpLoadBlockEditor.then( function() { wp.data.dispatch( \'core/edit-post\' ).setAvailableMetaBoxesPerLocation( ' . wp_json_encode( $meta_boxes_per_location ) . ' ); } );'; wp_add_inline_script( 'wp-edit-post', $script ); /* * When `wp-edit-post` is output in the `<head>`, the inline script needs to be manually printed. * Otherwise, meta boxes will not display because inline scripts for `wp-edit-post` * will not be printed again after this point. */ if ( wp_script_is( 'wp-edit-post', 'done' ) ) { printf( "<script type='text/javascript'>\n%s\n</script>\n", trim( $script ) ); } /* * If the 'postcustom' meta box is enabled, then we need to perform * some extra initialization on it. */ $enable_custom_fields = (bool) get_user_meta( get_current_user_id(), 'enable_custom_fields', true ); if ( $enable_custom_fields ) { $script = "( function( $ ) { if ( $('#postcustom').length ) { $( '#the-list' ).wpList( { addBefore: function( s ) { s.data += '&post_id=$post->ID'; return s; }, addAfter: function() { $('table#list-table').show(); } }); } } )( jQuery );"; wp_enqueue_script( 'wp-lists' ); wp_add_inline_script( 'wp-lists', $script ); } /* * Refresh nonces used by the meta box loader. * * The logic is very similar to that provided by post.js for the classic editor. */ $script = "( function( $ ) { var check, timeout; function schedule() { check = false; window.clearTimeout( timeout ); timeout = window.setTimeout( function() { check = true; }, 300000 ); } $( document ).on( 'heartbeat-send.wp-refresh-nonces', function( e, data ) { var post_id, \$authCheck = $( '#wp-auth-check-wrap' ); if ( check || ( \$authCheck.length && ! \$authCheck.hasClass( 'hidden' ) ) ) { if ( ( post_id = $( '#post_ID' ).val() ) && $( '#_wpnonce' ).val() ) { data['wp-refresh-metabox-loader-nonces'] = { post_id: post_id }; } } }).on( 'heartbeat-tick.wp-refresh-nonces', function( e, data ) { var nonces = data['wp-refresh-metabox-loader-nonces']; if ( nonces ) { if ( nonces.replace ) { if ( nonces.replace.metabox_loader_nonce && window._wpMetaBoxUrl && wp.url ) { window._wpMetaBoxUrl= wp.url.addQueryArgs( window._wpMetaBoxUrl, { 'meta-box-loader-nonce': nonces.replace.metabox_loader_nonce } ); } if ( nonces.replace._wpnonce ) { $( '#_wpnonce' ).val( nonces.replace._wpnonce ); } } } }).ready( function() { schedule(); }); } )( jQuery );"; wp_add_inline_script( 'heartbeat', $script ); // Reset meta box data. $wp_meta_boxes = $_original_meta_boxes; } /** * Renders the hidden form required for the meta boxes form. * * @since 5.0.0 * * @param WP_Post $post Current post object. */ function the_block_editor_meta_box_post_form_hidden_fields( $post ) { $form_extra = ''; if ( 'auto-draft' === $post->post_status ) { $form_extra .= "<input type='hidden' id='auto_draft' name='auto_draft' value='1' />"; } $form_action = 'editpost'; $nonce_action = 'update-post_' . $post->ID; $form_extra .= "<input type='hidden' id='post_ID' name='post_ID' value='" . esc_attr( $post->ID ) . "' />"; $referer = wp_get_referer(); $current_user = wp_get_current_user(); $user_id = $current_user->ID; wp_nonce_field( $nonce_action ); /* * Some meta boxes hook into these actions to add hidden input fields in the classic post form. * For backward compatibility, we can capture the output from these actions, * and extract the hidden input fields. */ ob_start(); /** This filter is documented in wp-admin/edit-form-advanced.php */ do_action( 'edit_form_after_title', $post ); /** This filter is documented in wp-admin/edit-form-advanced.php */ do_action( 'edit_form_advanced', $post ); $classic_output = ob_get_clean(); $classic_elements = wp_html_split( $classic_output ); $hidden_inputs = ''; foreach ( $classic_elements as $element ) { if ( ! str_starts_with( $element, '<input ' ) ) { continue; } if ( preg_match( '/\stype=[\'"]hidden[\'"]\s/', $element ) ) { echo $element; } } ?> <input type="hidden" id="user-id" name="user_ID" value="<?php echo (int) $user_id; ?>" /> <input type="hidden" id="hiddenaction" name="action" value="<?php echo esc_attr( $form_action ); ?>" /> <input type="hidden" id="originalaction" name="originalaction" value="<?php echo esc_attr( $form_action ); ?>" /> <input type="hidden" id="post_type" name="post_type" value="<?php echo esc_attr( $post->post_type ); ?>" /> <input type="hidden" id="original_post_status" name="original_post_status" value="<?php echo esc_attr( $post->post_status ); ?>" /> <input type="hidden" id="referredby" name="referredby" value="<?php echo $referer ? esc_url( $referer ) : ''; ?>" /> <?php if ( 'draft' !== get_post_status( $post ) ) { wp_original_referer_field( true, 'previous' ); } echo $form_extra; wp_nonce_field( 'meta-box-order', 'meta-box-order-nonce', false ); wp_nonce_field( 'closedpostboxes', 'closedpostboxesnonce', false ); // Permalink title nonce. wp_nonce_field( 'samplepermalink', 'samplepermalinknonce', false ); /** * Adds hidden input fields to the meta box save form. * * Hook into this action to print `<input type="hidden" ... />` fields, which will be POSTed back to * the server when meta boxes are saved. * * @since 5.0.0 * * @param WP_Post $post The post that is being edited. */ do_action( 'block_editor_meta_box_hidden_fields', $post ); } /** * Disables block editor for wp_navigation type posts so they can be managed via the UI. * * @since 5.9.0 * @access private * * @param bool $value Whether the CPT supports block editor or not. * @param string $post_type Post type. * @return bool Whether the block editor should be disabled or not. */ function _disable_block_editor_for_navigation_post_type( $value, $post_type ) { if ( 'wp_navigation' === $post_type ) { return false; } return $value; } /** * This callback disables the content editor for wp_navigation type posts. * Content editor cannot handle wp_navigation type posts correctly. * We cannot disable the "editor" feature in the wp_navigation's CPT definition * because it disables the ability to save navigation blocks via REST API. * * @since 5.9.0 * @access private * * @param WP_Post $post An instance of WP_Post class. */ function _disable_content_editor_for_navigation_post_type( $post ) { $post_type = get_post_type( $post ); if ( 'wp_navigation' !== $post_type ) { return; } remove_post_type_support( $post_type, 'editor' ); } /** * This callback enables content editor for wp_navigation type posts. * We need to enable it back because we disable it to hide * the content editor for wp_navigation type posts. * * @since 5.9.0 * @access private * * @see _disable_content_editor_for_navigation_post_type * * @param WP_Post $post An instance of WP_Post class. */ function _enable_content_editor_for_navigation_post_type( $post ) { $post_type = get_post_type( $post ); if ( 'wp_navigation' !== $post_type ) { return; } add_post_type_support( $post_type, 'editor' ); } template.php 0000644 00000300502 14735706075 0007106 0 ustar 00 <?php /** * Template WordPress Administration API. * * A Big Mess. Also some neat functions that are nicely written. * * @package WordPress * @subpackage Administration */ /** Walker_Category_Checklist class */ require_once ABSPATH . 'wp-admin/includes/class-walker-category-checklist.php'; /** WP_Internal_Pointers class */ require_once ABSPATH . 'wp-admin/includes/class-wp-internal-pointers.php'; // // Category Checklists. // /** * Outputs an unordered list of checkbox input elements labeled with category names. * * @since 2.5.1 * * @see wp_terms_checklist() * * @param int $post_id Optional. Post to generate a categories checklist for. Default 0. * $selected_cats must not be an array. Default 0. * @param int $descendants_and_self Optional. ID of the category to output along with its descendants. * Default 0. * @param int[]|false $selected_cats Optional. Array of category IDs to mark as checked. Default false. * @param int[]|false $popular_cats Optional. Array of category IDs to receive the "popular-category" class. * Default false. * @param Walker $walker Optional. Walker object to use to build the output. * Default is a Walker_Category_Checklist instance. * @param bool $checked_ontop Optional. Whether to move checked items out of the hierarchy and to * the top of the list. Default true. */ function wp_category_checklist( $post_id = 0, $descendants_and_self = 0, $selected_cats = false, $popular_cats = false, $walker = null, $checked_ontop = true ) { wp_terms_checklist( $post_id, array( 'taxonomy' => 'category', 'descendants_and_self' => $descendants_and_self, 'selected_cats' => $selected_cats, 'popular_cats' => $popular_cats, 'walker' => $walker, 'checked_ontop' => $checked_ontop, ) ); } /** * Outputs an unordered list of checkbox input elements labelled with term names. * * Taxonomy-independent version of wp_category_checklist(). * * @since 3.0.0 * @since 4.4.0 Introduced the `$echo` argument. * * @param int $post_id Optional. Post ID. Default 0. * @param array|string $args { * Optional. Array or string of arguments for generating a terms checklist. Default empty array. * * @type int $descendants_and_self ID of the category to output along with its descendants. * Default 0. * @type int[] $selected_cats Array of category IDs to mark as checked. Default false. * @type int[] $popular_cats Array of category IDs to receive the "popular-category" class. * Default false. * @type Walker $walker Walker object to use to build the output. Default empty which * results in a Walker_Category_Checklist instance being used. * @type string $taxonomy Taxonomy to generate the checklist for. Default 'category'. * @type bool $checked_ontop Whether to move checked items out of the hierarchy and to * the top of the list. Default true. * @type bool $echo Whether to echo the generated markup. False to return the markup instead * of echoing it. Default true. * } * @return string HTML list of input elements. */ function wp_terms_checklist( $post_id = 0, $args = array() ) { $defaults = array( 'descendants_and_self' => 0, 'selected_cats' => false, 'popular_cats' => false, 'walker' => null, 'taxonomy' => 'category', 'checked_ontop' => true, 'echo' => true, ); /** * Filters the taxonomy terms checklist arguments. * * @since 3.4.0 * * @see wp_terms_checklist() * * @param array|string $args An array or string of arguments. * @param int $post_id The post ID. */ $params = apply_filters( 'wp_terms_checklist_args', $args, $post_id ); $parsed_args = wp_parse_args( $params, $defaults ); if ( empty( $parsed_args['walker'] ) || ! ( $parsed_args['walker'] instanceof Walker ) ) { $walker = new Walker_Category_Checklist(); } else { $walker = $parsed_args['walker']; } $taxonomy = $parsed_args['taxonomy']; $descendants_and_self = (int) $parsed_args['descendants_and_self']; $args = array( 'taxonomy' => $taxonomy ); $tax = get_taxonomy( $taxonomy ); $args['disabled'] = ! current_user_can( $tax->cap->assign_terms ); $args['list_only'] = ! empty( $parsed_args['list_only'] ); if ( is_array( $parsed_args['selected_cats'] ) ) { $args['selected_cats'] = array_map( 'intval', $parsed_args['selected_cats'] ); } elseif ( $post_id ) { $args['selected_cats'] = wp_get_object_terms( $post_id, $taxonomy, array_merge( $args, array( 'fields' => 'ids' ) ) ); } else { $args['selected_cats'] = array(); } if ( is_array( $parsed_args['popular_cats'] ) ) { $args['popular_cats'] = array_map( 'intval', $parsed_args['popular_cats'] ); } else { $args['popular_cats'] = get_terms( array( 'taxonomy' => $taxonomy, 'fields' => 'ids', 'orderby' => 'count', 'order' => 'DESC', 'number' => 10, 'hierarchical' => false, ) ); } if ( $descendants_and_self ) { $categories = (array) get_terms( array( 'taxonomy' => $taxonomy, 'child_of' => $descendants_and_self, 'hierarchical' => 0, 'hide_empty' => 0, ) ); $self = get_term( $descendants_and_self, $taxonomy ); array_unshift( $categories, $self ); } else { $categories = (array) get_terms( array( 'taxonomy' => $taxonomy, 'get' => 'all', ) ); } $output = ''; if ( $parsed_args['checked_ontop'] ) { /* * Post-process $categories rather than adding an exclude to the get_terms() query * to keep the query the same across all posts (for any query cache). */ $checked_categories = array(); $keys = array_keys( $categories ); foreach ( $keys as $k ) { if ( in_array( $categories[ $k ]->term_id, $args['selected_cats'], true ) ) { $checked_categories[] = $categories[ $k ]; unset( $categories[ $k ] ); } } // Put checked categories on top. $output .= $walker->walk( $checked_categories, 0, $args ); } // Then the rest of them. $output .= $walker->walk( $categories, 0, $args ); if ( $parsed_args['echo'] ) { echo $output; } return $output; } /** * Retrieves a list of the most popular terms from the specified taxonomy. * * If the `$display` argument is true then the elements for a list of checkbox * `<input>` elements labelled with the names of the selected terms is output. * If the `$post_ID` global is not empty then the terms associated with that * post will be marked as checked. * * @since 2.5.0 * * @param string $taxonomy Taxonomy to retrieve terms from. * @param int $default_term Optional. Not used. * @param int $number Optional. Number of terms to retrieve. Default 10. * @param bool $display Optional. Whether to display the list as well. Default true. * @return int[] Array of popular term IDs. */ function wp_popular_terms_checklist( $taxonomy, $default_term = 0, $number = 10, $display = true ) { $post = get_post(); if ( $post && $post->ID ) { $checked_terms = wp_get_object_terms( $post->ID, $taxonomy, array( 'fields' => 'ids' ) ); } else { $checked_terms = array(); } $terms = get_terms( array( 'taxonomy' => $taxonomy, 'orderby' => 'count', 'order' => 'DESC', 'number' => $number, 'hierarchical' => false, ) ); $tax = get_taxonomy( $taxonomy ); $popular_ids = array(); foreach ( (array) $terms as $term ) { $popular_ids[] = $term->term_id; if ( ! $display ) { // Hack for Ajax use. continue; } $id = "popular-$taxonomy-$term->term_id"; $checked = in_array( $term->term_id, $checked_terms, true ) ? 'checked="checked"' : ''; ?> <li id="<?php echo $id; ?>" class="popular-category"> <label class="selectit"> <input id="in-<?php echo $id; ?>" type="checkbox" <?php echo $checked; ?> value="<?php echo (int) $term->term_id; ?>" <?php disabled( ! current_user_can( $tax->cap->assign_terms ) ); ?> /> <?php /** This filter is documented in wp-includes/category-template.php */ echo esc_html( apply_filters( 'the_category', $term->name, '', '' ) ); ?> </label> </li> <?php } return $popular_ids; } /** * Outputs a link category checklist element. * * @since 2.5.1 * * @param int $link_id Optional. The link ID. Default 0. */ function wp_link_category_checklist( $link_id = 0 ) { $default = 1; $checked_categories = array(); if ( $link_id ) { $checked_categories = wp_get_link_cats( $link_id ); // No selected categories, strange. if ( ! count( $checked_categories ) ) { $checked_categories[] = $default; } } else { $checked_categories[] = $default; } $categories = get_terms( array( 'taxonomy' => 'link_category', 'orderby' => 'name', 'hide_empty' => 0, ) ); if ( empty( $categories ) ) { return; } foreach ( $categories as $category ) { $cat_id = $category->term_id; /** This filter is documented in wp-includes/category-template.php */ $name = esc_html( apply_filters( 'the_category', $category->name, '', '' ) ); $checked = in_array( $cat_id, $checked_categories, true ) ? ' checked="checked"' : ''; echo '<li id="link-category-', $cat_id, '"><label for="in-link-category-', $cat_id, '" class="selectit"><input value="', $cat_id, '" type="checkbox" name="link_category[]" id="in-link-category-', $cat_id, '"', $checked, '/> ', $name, '</label></li>'; } } /** * Adds hidden fields with the data for use in the inline editor for posts and pages. * * @since 2.7.0 * * @param WP_Post $post Post object. */ function get_inline_data( $post ) { $post_type_object = get_post_type_object( $post->post_type ); if ( ! current_user_can( 'edit_post', $post->ID ) ) { return; } $title = esc_textarea( trim( $post->post_title ) ); echo ' <div class="hidden" id="inline_' . $post->ID . '"> <div class="post_title">' . $title . '</div>' . /** This filter is documented in wp-admin/edit-tag-form.php */ '<div class="post_name">' . apply_filters( 'editable_slug', $post->post_name, $post ) . '</div> <div class="post_author">' . $post->post_author . '</div> <div class="comment_status">' . esc_html( $post->comment_status ) . '</div> <div class="ping_status">' . esc_html( $post->ping_status ) . '</div> <div class="_status">' . esc_html( $post->post_status ) . '</div> <div class="jj">' . mysql2date( 'd', $post->post_date, false ) . '</div> <div class="mm">' . mysql2date( 'm', $post->post_date, false ) . '</div> <div class="aa">' . mysql2date( 'Y', $post->post_date, false ) . '</div> <div class="hh">' . mysql2date( 'H', $post->post_date, false ) . '</div> <div class="mn">' . mysql2date( 'i', $post->post_date, false ) . '</div> <div class="ss">' . mysql2date( 's', $post->post_date, false ) . '</div> <div class="post_password">' . esc_html( $post->post_password ) . '</div>'; if ( $post_type_object->hierarchical ) { echo '<div class="post_parent">' . $post->post_parent . '</div>'; } echo '<div class="page_template">' . ( $post->page_template ? esc_html( $post->page_template ) : 'default' ) . '</div>'; if ( post_type_supports( $post->post_type, 'page-attributes' ) ) { echo '<div class="menu_order">' . $post->menu_order . '</div>'; } $taxonomy_names = get_object_taxonomies( $post->post_type ); foreach ( $taxonomy_names as $taxonomy_name ) { $taxonomy = get_taxonomy( $taxonomy_name ); if ( ! $taxonomy->show_in_quick_edit ) { continue; } if ( $taxonomy->hierarchical ) { $terms = get_object_term_cache( $post->ID, $taxonomy_name ); if ( false === $terms ) { $terms = wp_get_object_terms( $post->ID, $taxonomy_name ); wp_cache_add( $post->ID, wp_list_pluck( $terms, 'term_id' ), $taxonomy_name . '_relationships' ); } $term_ids = empty( $terms ) ? array() : wp_list_pluck( $terms, 'term_id' ); echo '<div class="post_category" id="' . $taxonomy_name . '_' . $post->ID . '">' . implode( ',', $term_ids ) . '</div>'; } else { $terms_to_edit = get_terms_to_edit( $post->ID, $taxonomy_name ); if ( ! is_string( $terms_to_edit ) ) { $terms_to_edit = ''; } echo '<div class="tags_input" id="' . $taxonomy_name . '_' . $post->ID . '">' . esc_html( str_replace( ',', ', ', $terms_to_edit ) ) . '</div>'; } } if ( ! $post_type_object->hierarchical ) { echo '<div class="sticky">' . ( is_sticky( $post->ID ) ? 'sticky' : '' ) . '</div>'; } if ( post_type_supports( $post->post_type, 'post-formats' ) ) { echo '<div class="post_format">' . esc_html( get_post_format( $post->ID ) ) . '</div>'; } /** * Fires after outputting the fields for the inline editor for posts and pages. * * @since 4.9.8 * * @param WP_Post $post The current post object. * @param WP_Post_Type $post_type_object The current post's post type object. */ do_action( 'add_inline_data', $post, $post_type_object ); echo '</div>'; } /** * Outputs the in-line comment reply-to form in the Comments list table. * * @since 2.7.0 * * @global WP_List_Table $wp_list_table * * @param int $position Optional. The value of the 'position' input field. Default 1. * @param bool $checkbox Optional. The value of the 'checkbox' input field. Default false. * @param string $mode Optional. If set to 'single', will use WP_Post_Comments_List_Table, * otherwise WP_Comments_List_Table. Default 'single'. * @param bool $table_row Optional. Whether to use a table instead of a div element. Default true. */ function wp_comment_reply( $position = 1, $checkbox = false, $mode = 'single', $table_row = true ) { global $wp_list_table; /** * Filters the in-line comment reply-to form output in the Comments * list table. * * Returning a non-empty value here will short-circuit display * of the in-line comment-reply form in the Comments list table, * echoing the returned value instead. * * @since 2.7.0 * * @see wp_comment_reply() * * @param string $content The reply-to form content. * @param array $args An array of default args. */ $content = apply_filters( 'wp_comment_reply', '', array( 'position' => $position, 'checkbox' => $checkbox, 'mode' => $mode, ) ); if ( ! empty( $content ) ) { echo $content; return; } if ( ! $wp_list_table ) { if ( 'single' === $mode ) { $wp_list_table = _get_list_table( 'WP_Post_Comments_List_Table' ); } else { $wp_list_table = _get_list_table( 'WP_Comments_List_Table' ); } } ?> <form method="get"> <?php if ( $table_row ) : ?> <table style="display:none;"><tbody id="com-reply"><tr id="replyrow" class="inline-edit-row" style="display:none;"><td colspan="<?php echo $wp_list_table->get_column_count(); ?>" class="colspanchange"> <?php else : ?> <div id="com-reply" style="display:none;"><div id="replyrow" style="display:none;"> <?php endif; ?> <fieldset class="comment-reply"> <legend> <span class="hidden" id="editlegend"><?php _e( 'Edit Comment' ); ?></span> <span class="hidden" id="replyhead"><?php _e( 'Reply to Comment' ); ?></span> <span class="hidden" id="addhead"><?php _e( 'Add New Comment' ); ?></span> </legend> <div id="replycontainer"> <label for="replycontent" class="screen-reader-text"> <?php /* translators: Hidden accessibility text. */ _e( 'Comment' ); ?> </label> <?php $quicktags_settings = array( 'buttons' => 'strong,em,link,block,del,ins,img,ul,ol,li,code,close' ); wp_editor( '', 'replycontent', array( 'media_buttons' => false, 'tinymce' => false, 'quicktags' => $quicktags_settings, ) ); ?> </div> <div id="edithead" style="display:none;"> <div class="inside"> <label for="author-name"><?php _e( 'Name' ); ?></label> <input type="text" name="newcomment_author" size="50" value="" id="author-name" /> </div> <div class="inside"> <label for="author-email"><?php _e( 'Email' ); ?></label> <input type="text" name="newcomment_author_email" size="50" value="" id="author-email" /> </div> <div class="inside"> <label for="author-url"><?php _e( 'URL' ); ?></label> <input type="text" id="author-url" name="newcomment_author_url" class="code" size="103" value="" /> </div> </div> <div id="replysubmit" class="submit"> <p class="reply-submit-buttons"> <button type="button" class="save button button-primary"> <span id="addbtn" style="display: none;"><?php _e( 'Add Comment' ); ?></span> <span id="savebtn" style="display: none;"><?php _e( 'Update Comment' ); ?></span> <span id="replybtn" style="display: none;"><?php _e( 'Submit Reply' ); ?></span> </button> <button type="button" class="cancel button"><?php _e( 'Cancel' ); ?></button> <span class="waiting spinner"></span> </p> <?php wp_admin_notice( '<p class="error"></p>', array( 'type' => 'error', 'additional_classes' => array( 'notice-alt', 'inline', 'hidden' ), 'paragraph_wrap' => false, ) ); ?> </div> <input type="hidden" name="action" id="action" value="" /> <input type="hidden" name="comment_ID" id="comment_ID" value="" /> <input type="hidden" name="comment_post_ID" id="comment_post_ID" value="" /> <input type="hidden" name="status" id="status" value="" /> <input type="hidden" name="position" id="position" value="<?php echo $position; ?>" /> <input type="hidden" name="checkbox" id="checkbox" value="<?php echo $checkbox ? 1 : 0; ?>" /> <input type="hidden" name="mode" id="mode" value="<?php echo esc_attr( $mode ); ?>" /> <?php wp_nonce_field( 'replyto-comment', '_ajax_nonce-replyto-comment', false ); if ( current_user_can( 'unfiltered_html' ) ) { wp_nonce_field( 'unfiltered-html-comment', '_wp_unfiltered_html_comment', false ); } ?> </fieldset> <?php if ( $table_row ) : ?> </td></tr></tbody></table> <?php else : ?> </div></div> <?php endif; ?> </form> <?php } /** * Outputs 'undo move to Trash' text for comments. * * @since 2.9.0 */ function wp_comment_trashnotice() { ?> <div class="hidden" id="trash-undo-holder"> <div class="trash-undo-inside"> <?php /* translators: %s: Comment author, filled by Ajax. */ printf( __( 'Comment by %s moved to the Trash.' ), '<strong></strong>' ); ?> <span class="undo untrash"><a href="#"><?php _e( 'Undo' ); ?></a></span> </div> </div> <div class="hidden" id="spam-undo-holder"> <div class="spam-undo-inside"> <?php /* translators: %s: Comment author, filled by Ajax. */ printf( __( 'Comment by %s marked as spam.' ), '<strong></strong>' ); ?> <span class="undo unspam"><a href="#"><?php _e( 'Undo' ); ?></a></span> </div> </div> <?php } /** * Outputs a post's public meta data in the Custom Fields meta box. * * @since 1.2.0 * * @param array[] $meta An array of meta data arrays keyed on 'meta_key' and 'meta_value'. */ function list_meta( $meta ) { // Exit if no meta. if ( ! $meta ) { echo ' <table id="list-table" style="display: none;"> <thead> <tr> <th class="left">' . _x( 'Name', 'meta name' ) . '</th> <th>' . __( 'Value' ) . '</th> </tr> </thead> <tbody id="the-list" data-wp-lists="list:meta"> <tr><td></td></tr> </tbody> </table>'; // TBODY needed for list-manipulation JS. return; } $count = 0; ?> <table id="list-table"> <thead> <tr> <th class="left"><?php _ex( 'Name', 'meta name' ); ?></th> <th><?php _e( 'Value' ); ?></th> </tr> </thead> <tbody id='the-list' data-wp-lists='list:meta'> <?php foreach ( $meta as $entry ) { echo _list_meta_row( $entry, $count ); } ?> </tbody> </table> <?php } /** * Outputs a single row of public meta data in the Custom Fields meta box. * * @since 2.5.0 * * @param array $entry An array of meta data keyed on 'meta_key' and 'meta_value'. * @param int $count Reference to the row number. * @return string A single row of public meta data. */ function _list_meta_row( $entry, &$count ) { static $update_nonce = ''; if ( is_protected_meta( $entry['meta_key'], 'post' ) ) { return ''; } if ( ! $update_nonce ) { $update_nonce = wp_create_nonce( 'add-meta' ); } $r = ''; ++$count; if ( is_serialized( $entry['meta_value'] ) ) { if ( is_serialized_string( $entry['meta_value'] ) ) { // This is a serialized string, so we should display it. $entry['meta_value'] = maybe_unserialize( $entry['meta_value'] ); } else { // This is a serialized array/object so we should NOT display it. --$count; return ''; } } $entry['meta_key'] = esc_attr( $entry['meta_key'] ); $entry['meta_value'] = esc_textarea( $entry['meta_value'] ); // Using a <textarea />. $entry['meta_id'] = (int) $entry['meta_id']; $delete_nonce = wp_create_nonce( 'delete-meta_' . $entry['meta_id'] ); $r .= "\n\t<tr id='meta-{$entry['meta_id']}'>"; $r .= "\n\t\t<td class='left'><label class='screen-reader-text' for='meta-{$entry['meta_id']}-key'>" . /* translators: Hidden accessibility text. */ __( 'Key' ) . "</label><input name='meta[{$entry['meta_id']}][key]' id='meta-{$entry['meta_id']}-key' type='text' size='20' value='{$entry['meta_key']}' />"; $r .= "\n\t\t<div class='submit'>"; $r .= get_submit_button( __( 'Delete' ), 'deletemeta small', "deletemeta[{$entry['meta_id']}]", false, array( 'data-wp-lists' => "delete:the-list:meta-{$entry['meta_id']}::_ajax_nonce=$delete_nonce" ) ); $r .= "\n\t\t"; $r .= get_submit_button( __( 'Update' ), 'updatemeta small', "meta-{$entry['meta_id']}-submit", false, array( 'data-wp-lists' => "add:the-list:meta-{$entry['meta_id']}::_ajax_nonce-add-meta=$update_nonce" ) ); $r .= '</div>'; $r .= wp_nonce_field( 'change-meta', '_ajax_nonce', false, false ); $r .= '</td>'; $r .= "\n\t\t<td><label class='screen-reader-text' for='meta-{$entry['meta_id']}-value'>" . /* translators: Hidden accessibility text. */ __( 'Value' ) . "</label><textarea name='meta[{$entry['meta_id']}][value]' id='meta-{$entry['meta_id']}-value' rows='2' cols='30'>{$entry['meta_value']}</textarea></td>\n\t</tr>"; return $r; } /** * Prints the form in the Custom Fields meta box. * * @since 1.2.0 * * @global wpdb $wpdb WordPress database abstraction object. * * @param WP_Post $post Optional. The post being edited. */ function meta_form( $post = null ) { global $wpdb; $post = get_post( $post ); /** * Filters values for the meta key dropdown in the Custom Fields meta box. * * Returning a non-null value will effectively short-circuit and avoid a * potentially expensive query against postmeta. * * @since 4.4.0 * * @param array|null $keys Pre-defined meta keys to be used in place of a postmeta query. Default null. * @param WP_Post $post The current post object. */ $keys = apply_filters( 'postmeta_form_keys', null, $post ); if ( null === $keys ) { /** * Filters the number of custom fields to retrieve for the drop-down * in the Custom Fields meta box. * * @since 2.1.0 * * @param int $limit Number of custom fields to retrieve. Default 30. */ $limit = apply_filters( 'postmeta_form_limit', 30 ); $keys = $wpdb->get_col( $wpdb->prepare( "SELECT DISTINCT meta_key FROM $wpdb->postmeta WHERE meta_key NOT BETWEEN '_' AND '_z' HAVING meta_key NOT LIKE %s ORDER BY meta_key LIMIT %d", $wpdb->esc_like( '_' ) . '%', $limit ) ); } if ( $keys ) { natcasesort( $keys ); } ?> <p><strong><?php _e( 'Add New Custom Field:' ); ?></strong></p> <table id="newmeta"> <thead> <tr> <th class="left"><label for="metakeyselect"><?php _ex( 'Name', 'meta name' ); ?></label></th> <th><label for="metavalue"><?php _e( 'Value' ); ?></label></th> </tr> </thead> <tbody> <tr> <td id="newmetaleft" class="left"> <?php if ( $keys ) { ?> <select id="metakeyselect" name="metakeyselect"> <option value="#NONE#"><?php _e( '— Select —' ); ?></option> <?php foreach ( $keys as $key ) { if ( is_protected_meta( $key, 'post' ) || ! current_user_can( 'add_post_meta', $post->ID, $key ) ) { continue; } echo "\n<option value='" . esc_attr( $key ) . "'>" . esc_html( $key ) . '</option>'; } ?> </select> <input class="hidden" type="text" id="metakeyinput" name="metakeyinput" value="" aria-label="<?php _e( 'New custom field name' ); ?>" /> <button type="button" id="newmeta-button" class="button button-small hide-if-no-js" onclick="jQuery('#metakeyinput, #metakeyselect, #enternew, #cancelnew').toggleClass('hidden');jQuery('#metakeyinput, #metakeyselect').filter(':visible').trigger('focus');"> <span id="enternew"><?php _e( 'Enter new' ); ?></span> <span id="cancelnew" class="hidden"><?php _e( 'Cancel' ); ?></span></button> <?php } else { ?> <input type="text" id="metakeyinput" name="metakeyinput" value="" /> <?php } ?> </td> <td><textarea id="metavalue" name="metavalue" rows="2" cols="25"></textarea> <?php wp_nonce_field( 'add-meta', '_ajax_nonce-add-meta', false ); ?> </td> </tr> </tbody> </table> <div class="submit add-custom-field"> <?php submit_button( __( 'Add Custom Field' ), '', 'addmeta', false, array( 'id' => 'newmeta-submit', 'data-wp-lists' => 'add:the-list:newmeta', ) ); ?> </div> <?php } /** * Prints out HTML form date elements for editing post or comment publish date. * * @since 0.71 * @since 4.4.0 Converted to use get_comment() instead of the global `$comment`. * * @global WP_Locale $wp_locale WordPress date and time locale object. * * @param int|bool $edit Accepts 1|true for editing the date, 0|false for adding the date. * @param int|bool $for_post Accepts 1|true for applying the date to a post, 0|false for a comment. * @param int $tab_index The tabindex attribute to add. Default 0. * @param int|bool $multi Optional. Whether the additional fields and buttons should be added. * Default 0|false. */ function touch_time( $edit = 1, $for_post = 1, $tab_index = 0, $multi = 0 ) { global $wp_locale; $post = get_post(); if ( $for_post ) { $edit = ! ( in_array( $post->post_status, array( 'draft', 'pending' ), true ) && ( ! $post->post_date_gmt || '0000-00-00 00:00:00' === $post->post_date_gmt ) ); } $tab_index_attribute = ''; if ( (int) $tab_index > 0 ) { $tab_index_attribute = " tabindex=\"$tab_index\""; } // @todo Remove this? // echo '<label for="timestamp" style="display: block;"><input type="checkbox" class="checkbox" name="edit_date" value="1" id="timestamp"'.$tab_index_attribute.' /> '.__( 'Edit timestamp' ).'</label><br />'; $post_date = ( $for_post ) ? $post->post_date : get_comment()->comment_date; $jj = ( $edit ) ? mysql2date( 'd', $post_date, false ) : current_time( 'd' ); $mm = ( $edit ) ? mysql2date( 'm', $post_date, false ) : current_time( 'm' ); $aa = ( $edit ) ? mysql2date( 'Y', $post_date, false ) : current_time( 'Y' ); $hh = ( $edit ) ? mysql2date( 'H', $post_date, false ) : current_time( 'H' ); $mn = ( $edit ) ? mysql2date( 'i', $post_date, false ) : current_time( 'i' ); $ss = ( $edit ) ? mysql2date( 's', $post_date, false ) : current_time( 's' ); $cur_jj = current_time( 'd' ); $cur_mm = current_time( 'm' ); $cur_aa = current_time( 'Y' ); $cur_hh = current_time( 'H' ); $cur_mn = current_time( 'i' ); $month = '<label><span class="screen-reader-text">' . /* translators: Hidden accessibility text. */ __( 'Month' ) . '</span><select class="form-required" ' . ( $multi ? '' : 'id="mm" ' ) . 'name="mm"' . $tab_index_attribute . ">\n"; for ( $i = 1; $i < 13; $i = $i + 1 ) { $monthnum = zeroise( $i, 2 ); $monthtext = $wp_locale->get_month_abbrev( $wp_locale->get_month( $i ) ); $month .= "\t\t\t" . '<option value="' . $monthnum . '" data-text="' . $monthtext . '" ' . selected( $monthnum, $mm, false ) . '>'; /* translators: 1: Month number (01, 02, etc.), 2: Month abbreviation. */ $month .= sprintf( __( '%1$s-%2$s' ), $monthnum, $monthtext ) . "</option>\n"; } $month .= '</select></label>'; $day = '<label><span class="screen-reader-text">' . /* translators: Hidden accessibility text. */ __( 'Day' ) . '</span><input type="text" ' . ( $multi ? '' : 'id="jj" ' ) . 'name="jj" value="' . $jj . '" size="2" maxlength="2"' . $tab_index_attribute . ' autocomplete="off" class="form-required" inputmode="numeric" /></label>'; $year = '<label><span class="screen-reader-text">' . /* translators: Hidden accessibility text. */ __( 'Year' ) . '</span><input type="text" ' . ( $multi ? '' : 'id="aa" ' ) . 'name="aa" value="' . $aa . '" size="4" maxlength="4"' . $tab_index_attribute . ' autocomplete="off" class="form-required" inputmode="numeric" /></label>'; $hour = '<label><span class="screen-reader-text">' . /* translators: Hidden accessibility text. */ __( 'Hour' ) . '</span><input type="text" ' . ( $multi ? '' : 'id="hh" ' ) . 'name="hh" value="' . $hh . '" size="2" maxlength="2"' . $tab_index_attribute . ' autocomplete="off" class="form-required" inputmode="numeric" /></label>'; $minute = '<label><span class="screen-reader-text">' . /* translators: Hidden accessibility text. */ __( 'Minute' ) . '</span><input type="text" ' . ( $multi ? '' : 'id="mn" ' ) . 'name="mn" value="' . $mn . '" size="2" maxlength="2"' . $tab_index_attribute . ' autocomplete="off" class="form-required" inputmode="numeric" /></label>'; echo '<div class="timestamp-wrap">'; /* translators: 1: Month, 2: Day, 3: Year, 4: Hour, 5: Minute. */ printf( __( '%1$s %2$s, %3$s at %4$s:%5$s' ), $month, $day, $year, $hour, $minute ); echo '</div><input type="hidden" id="ss" name="ss" value="' . $ss . '" />'; if ( $multi ) { return; } echo "\n\n"; $map = array( 'mm' => array( $mm, $cur_mm ), 'jj' => array( $jj, $cur_jj ), 'aa' => array( $aa, $cur_aa ), 'hh' => array( $hh, $cur_hh ), 'mn' => array( $mn, $cur_mn ), ); foreach ( $map as $timeunit => $value ) { list( $unit, $curr ) = $value; echo '<input type="hidden" id="hidden_' . $timeunit . '" name="hidden_' . $timeunit . '" value="' . $unit . '" />' . "\n"; $cur_timeunit = 'cur_' . $timeunit; echo '<input type="hidden" id="' . $cur_timeunit . '" name="' . $cur_timeunit . '" value="' . $curr . '" />' . "\n"; } ?> <p> <a href="#edit_timestamp" class="save-timestamp hide-if-no-js button"><?php _e( 'OK' ); ?></a> <a href="#edit_timestamp" class="cancel-timestamp hide-if-no-js button-cancel"><?php _e( 'Cancel' ); ?></a> </p> <?php } /** * Prints out option HTML elements for the page templates drop-down. * * @since 1.5.0 * @since 4.7.0 Added the `$post_type` parameter. * * @param string $default_template Optional. The template file name. Default empty. * @param string $post_type Optional. Post type to get templates for. Default 'page'. */ function page_template_dropdown( $default_template = '', $post_type = 'page' ) { $templates = get_page_templates( null, $post_type ); ksort( $templates ); foreach ( array_keys( $templates ) as $template ) { $selected = selected( $default_template, $templates[ $template ], false ); echo "\n\t<option value='" . esc_attr( $templates[ $template ] ) . "' $selected>" . esc_html( $template ) . '</option>'; } } /** * Prints out option HTML elements for the page parents drop-down. * * @since 1.5.0 * @since 4.4.0 `$post` argument was added. * * @global wpdb $wpdb WordPress database abstraction object. * * @param int $default_page Optional. The default page ID to be pre-selected. Default 0. * @param int $parent_page Optional. The parent page ID. Default 0. * @param int $level Optional. Page depth level. Default 0. * @param int|WP_Post $post Post ID or WP_Post object. * @return void|false Void on success, false if the page has no children. */ function parent_dropdown( $default_page = 0, $parent_page = 0, $level = 0, $post = null ) { global $wpdb; $post = get_post( $post ); $items = $wpdb->get_results( $wpdb->prepare( "SELECT ID, post_parent, post_title FROM $wpdb->posts WHERE post_parent = %d AND post_type = 'page' ORDER BY menu_order", $parent_page ) ); if ( $items ) { foreach ( $items as $item ) { // A page cannot be its own parent. if ( $post && $post->ID && (int) $item->ID === $post->ID ) { continue; } $pad = str_repeat( ' ', $level * 3 ); $selected = selected( $default_page, $item->ID, false ); echo "\n\t<option class='level-$level' value='$item->ID' $selected>$pad " . esc_html( $item->post_title ) . '</option>'; parent_dropdown( $default_page, $item->ID, $level + 1 ); } } else { return false; } } /** * Prints out option HTML elements for role selectors. * * @since 2.1.0 * * @param string $selected Slug for the role that should be already selected. */ function wp_dropdown_roles( $selected = '' ) { $r = ''; $editable_roles = array_reverse( get_editable_roles() ); foreach ( $editable_roles as $role => $details ) { $name = translate_user_role( $details['name'] ); // Preselect specified role. if ( $selected === $role ) { $r .= "\n\t<option selected='selected' value='" . esc_attr( $role ) . "'>$name</option>"; } else { $r .= "\n\t<option value='" . esc_attr( $role ) . "'>$name</option>"; } } echo $r; } /** * Outputs the form used by the importers to accept the data to be imported. * * @since 2.0.0 * * @param string $action The action attribute for the form. */ function wp_import_upload_form( $action ) { /** * Filters the maximum allowed upload size for import files. * * @since 2.3.0 * * @see wp_max_upload_size() * * @param int $max_upload_size Allowed upload size. Default 1 MB. */ $bytes = apply_filters( 'import_upload_size_limit', wp_max_upload_size() ); $size = size_format( $bytes ); $upload_dir = wp_upload_dir(); if ( ! empty( $upload_dir['error'] ) ) : $upload_directory_error = '<p>' . __( 'Before you can upload your import file, you will need to fix the following error:' ) . '</p>'; $upload_directory_error .= '<p><strong>' . $upload_dir['error'] . '</strong></p>'; wp_admin_notice( $upload_directory_error, array( 'additional_classes' => array( 'error' ), 'paragraph_wrap' => false, ) ); else : ?> <form enctype="multipart/form-data" id="import-upload-form" method="post" class="wp-upload-form" action="<?php echo esc_url( wp_nonce_url( $action, 'import-upload' ) ); ?>"> <p> <?php printf( '<label for="upload">%s</label> (%s)', __( 'Choose a file from your computer:' ), /* translators: %s: Maximum allowed file size. */ sprintf( __( 'Maximum size: %s' ), $size ) ); ?> <input type="file" id="upload" name="import" size="25" /> <input type="hidden" name="action" value="save" /> <input type="hidden" name="max_file_size" value="<?php echo $bytes; ?>" /> </p> <?php submit_button( __( 'Upload file and import' ), 'primary' ); ?> </form> <?php endif; } /** * Adds a meta box to one or more screens. * * @since 2.5.0 * @since 4.4.0 The `$screen` parameter now accepts an array of screen IDs. * * @global array $wp_meta_boxes Global meta box state. * * @param string $id Meta box ID (used in the 'id' attribute for the meta box). * @param string $title Title of the meta box. * @param callable $callback Function that fills the box with the desired content. * The function should echo its output. * @param string|array|WP_Screen $screen Optional. The screen or screens on which to show the box * (such as a post type, 'link', or 'comment'). Accepts a single * screen ID, WP_Screen object, or array of screen IDs. Default * is the current screen. If you have used add_menu_page() or * add_submenu_page() to create a new screen (and hence screen_id), * make sure your menu slug conforms to the limits of sanitize_key() * otherwise the 'screen' menu may not correctly render on your page. * @param string $context Optional. The context within the screen where the box * should display. Available contexts vary from screen to * screen. Post edit screen contexts include 'normal', 'side', * and 'advanced'. Comments screen contexts include 'normal' * and 'side'. Menus meta boxes (accordion sections) all use * the 'side' context. Global default is 'advanced'. * @param string $priority Optional. The priority within the context where the box should show. * Accepts 'high', 'core', 'default', or 'low'. Default 'default'. * @param array $callback_args Optional. Data that should be set as the $args property * of the box array (which is the second parameter passed * to your callback). Default null. */ function add_meta_box( $id, $title, $callback, $screen = null, $context = 'advanced', $priority = 'default', $callback_args = null ) { global $wp_meta_boxes; if ( empty( $screen ) ) { $screen = get_current_screen(); } elseif ( is_string( $screen ) ) { $screen = convert_to_screen( $screen ); } elseif ( is_array( $screen ) ) { foreach ( $screen as $single_screen ) { add_meta_box( $id, $title, $callback, $single_screen, $context, $priority, $callback_args ); } } if ( ! isset( $screen->id ) ) { return; } $page = $screen->id; if ( ! isset( $wp_meta_boxes ) ) { $wp_meta_boxes = array(); } if ( ! isset( $wp_meta_boxes[ $page ] ) ) { $wp_meta_boxes[ $page ] = array(); } if ( ! isset( $wp_meta_boxes[ $page ][ $context ] ) ) { $wp_meta_boxes[ $page ][ $context ] = array(); } foreach ( array_keys( $wp_meta_boxes[ $page ] ) as $a_context ) { foreach ( array( 'high', 'core', 'default', 'low' ) as $a_priority ) { if ( ! isset( $wp_meta_boxes[ $page ][ $a_context ][ $a_priority ][ $id ] ) ) { continue; } // If a core box was previously removed, don't add. if ( ( 'core' === $priority || 'sorted' === $priority ) && false === $wp_meta_boxes[ $page ][ $a_context ][ $a_priority ][ $id ] ) { return; } // If a core box was previously added by a plugin, don't add. if ( 'core' === $priority ) { /* * If the box was added with default priority, give it core priority * to maintain sort order. */ if ( 'default' === $a_priority ) { $wp_meta_boxes[ $page ][ $a_context ]['core'][ $id ] = $wp_meta_boxes[ $page ][ $a_context ]['default'][ $id ]; unset( $wp_meta_boxes[ $page ][ $a_context ]['default'][ $id ] ); } return; } // If no priority given and ID already present, use existing priority. if ( empty( $priority ) ) { $priority = $a_priority; /* * Else, if we're adding to the sorted priority, we don't know the title * or callback. Grab them from the previously added context/priority. */ } elseif ( 'sorted' === $priority ) { $title = $wp_meta_boxes[ $page ][ $a_context ][ $a_priority ][ $id ]['title']; $callback = $wp_meta_boxes[ $page ][ $a_context ][ $a_priority ][ $id ]['callback']; $callback_args = $wp_meta_boxes[ $page ][ $a_context ][ $a_priority ][ $id ]['args']; } // An ID can be in only one priority and one context. if ( $priority !== $a_priority || $context !== $a_context ) { unset( $wp_meta_boxes[ $page ][ $a_context ][ $a_priority ][ $id ] ); } } } if ( empty( $priority ) ) { $priority = 'low'; } if ( ! isset( $wp_meta_boxes[ $page ][ $context ][ $priority ] ) ) { $wp_meta_boxes[ $page ][ $context ][ $priority ] = array(); } $wp_meta_boxes[ $page ][ $context ][ $priority ][ $id ] = array( 'id' => $id, 'title' => $title, 'callback' => $callback, 'args' => $callback_args, ); } /** * Renders a "fake" meta box with an information message, * shown on the block editor, when an incompatible meta box is found. * * @since 5.0.0 * * @param mixed $data_object The data object being rendered on this screen. * @param array $box { * Custom formats meta box arguments. * * @type string $id Meta box 'id' attribute. * @type string $title Meta box title. * @type callable $old_callback The original callback for this meta box. * @type array $args Extra meta box arguments. * } */ function do_block_editor_incompatible_meta_box( $data_object, $box ) { $plugin = _get_plugin_from_callback( $box['old_callback'] ); $plugins = get_plugins(); echo '<p>'; if ( $plugin ) { /* translators: %s: The name of the plugin that generated this meta box. */ printf( __( 'This meta box, from the %s plugin, is not compatible with the block editor.' ), "<strong>{$plugin['Name']}</strong>" ); } else { _e( 'This meta box is not compatible with the block editor.' ); } echo '</p>'; if ( empty( $plugins['classic-editor/classic-editor.php'] ) ) { if ( current_user_can( 'install_plugins' ) ) { $install_url = wp_nonce_url( self_admin_url( 'plugin-install.php?tab=favorites&user=wordpressdotorg&save=0' ), 'save_wporg_username_' . get_current_user_id() ); echo '<p>'; /* translators: %s: A link to install the Classic Editor plugin. */ printf( __( 'Please install the <a href="%s">Classic Editor plugin</a> to use this meta box.' ), esc_url( $install_url ) ); echo '</p>'; } } elseif ( is_plugin_inactive( 'classic-editor/classic-editor.php' ) ) { if ( current_user_can( 'activate_plugins' ) ) { $activate_url = wp_nonce_url( self_admin_url( 'plugins.php?action=activate&plugin=classic-editor/classic-editor.php' ), 'activate-plugin_classic-editor/classic-editor.php' ); echo '<p>'; /* translators: %s: A link to activate the Classic Editor plugin. */ printf( __( 'Please activate the <a href="%s">Classic Editor plugin</a> to use this meta box.' ), esc_url( $activate_url ) ); echo '</p>'; } } elseif ( $data_object instanceof WP_Post ) { $edit_url = add_query_arg( array( 'classic-editor' => '', 'classic-editor__forget' => '', ), get_edit_post_link( $data_object ) ); echo '<p>'; /* translators: %s: A link to use the Classic Editor plugin. */ printf( __( 'Please open the <a href="%s">classic editor</a> to use this meta box.' ), esc_url( $edit_url ) ); echo '</p>'; } } /** * Internal helper function to find the plugin from a meta box callback. * * @since 5.0.0 * * @access private * * @param callable $callback The callback function to check. * @return array|null The plugin that the callback belongs to, or null if it doesn't belong to a plugin. */ function _get_plugin_from_callback( $callback ) { try { if ( is_array( $callback ) ) { $reflection = new ReflectionMethod( $callback[0], $callback[1] ); } elseif ( is_string( $callback ) && str_contains( $callback, '::' ) ) { $reflection = new ReflectionMethod( $callback ); } else { $reflection = new ReflectionFunction( $callback ); } } catch ( ReflectionException $exception ) { // We could not properly reflect on the callable, so we abort here. return null; } // Don't show an error if it's an internal PHP function. if ( ! $reflection->isInternal() ) { // Only show errors if the meta box was registered by a plugin. $filename = wp_normalize_path( $reflection->getFileName() ); $plugin_dir = wp_normalize_path( WP_PLUGIN_DIR ); if ( str_starts_with( $filename, $plugin_dir ) ) { $filename = str_replace( $plugin_dir, '', $filename ); $filename = preg_replace( '|^/([^/]*/).*$|', '\\1', $filename ); $plugins = get_plugins(); foreach ( $plugins as $name => $plugin ) { if ( str_starts_with( $name, $filename ) ) { return $plugin; } } } } return null; } /** * Meta-Box template function. * * @since 2.5.0 * * @global array $wp_meta_boxes Global meta box state. * * @param string|WP_Screen $screen The screen identifier. If you have used add_menu_page() or * add_submenu_page() to create a new screen (and hence screen_id) * make sure your menu slug conforms to the limits of sanitize_key() * otherwise the 'screen' menu may not correctly render on your page. * @param string $context The screen context for which to display meta boxes. * @param mixed $data_object Gets passed to the meta box callback function as the first parameter. * Often this is the object that's the focus of the current screen, * for example a `WP_Post` or `WP_Comment` object. * @return int Number of meta_boxes. */ function do_meta_boxes( $screen, $context, $data_object ) { global $wp_meta_boxes; static $already_sorted = false; if ( empty( $screen ) ) { $screen = get_current_screen(); } elseif ( is_string( $screen ) ) { $screen = convert_to_screen( $screen ); } $page = $screen->id; $hidden = get_hidden_meta_boxes( $screen ); printf( '<div id="%s-sortables" class="meta-box-sortables">', esc_attr( $context ) ); /* * Grab the ones the user has manually sorted. * Pull them out of their previous context/priority and into the one the user chose. */ $sorted = get_user_option( "meta-box-order_$page" ); if ( ! $already_sorted && $sorted ) { foreach ( $sorted as $box_context => $ids ) { foreach ( explode( ',', $ids ) as $id ) { if ( $id && 'dashboard_browser_nag' !== $id ) { add_meta_box( $id, null, null, $screen, $box_context, 'sorted' ); } } } } $already_sorted = true; $i = 0; if ( isset( $wp_meta_boxes[ $page ][ $context ] ) ) { foreach ( array( 'high', 'sorted', 'core', 'default', 'low' ) as $priority ) { if ( isset( $wp_meta_boxes[ $page ][ $context ][ $priority ] ) ) { foreach ( (array) $wp_meta_boxes[ $page ][ $context ][ $priority ] as $box ) { if ( false === $box || ! $box['title'] ) { continue; } $block_compatible = true; if ( is_array( $box['args'] ) ) { // If a meta box is just here for back compat, don't show it in the block editor. if ( $screen->is_block_editor() && isset( $box['args']['__back_compat_meta_box'] ) && $box['args']['__back_compat_meta_box'] ) { continue; } if ( isset( $box['args']['__block_editor_compatible_meta_box'] ) ) { $block_compatible = (bool) $box['args']['__block_editor_compatible_meta_box']; unset( $box['args']['__block_editor_compatible_meta_box'] ); } // If the meta box is declared as incompatible with the block editor, override the callback function. if ( ! $block_compatible && $screen->is_block_editor() ) { $box['old_callback'] = $box['callback']; $box['callback'] = 'do_block_editor_incompatible_meta_box'; } if ( isset( $box['args']['__back_compat_meta_box'] ) ) { $block_compatible = $block_compatible || (bool) $box['args']['__back_compat_meta_box']; unset( $box['args']['__back_compat_meta_box'] ); } } ++$i; // get_hidden_meta_boxes() doesn't apply in the block editor. $hidden_class = ( ! $screen->is_block_editor() && in_array( $box['id'], $hidden, true ) ) ? ' hide-if-js' : ''; echo '<div id="' . $box['id'] . '" class="postbox ' . postbox_classes( $box['id'], $page ) . $hidden_class . '" ' . '>' . "\n"; echo '<div class="postbox-header">'; echo '<h2 class="hndle">'; if ( 'dashboard_php_nag' === $box['id'] ) { echo '<span aria-hidden="true" class="dashicons dashicons-warning"></span>'; echo '<span class="screen-reader-text">' . /* translators: Hidden accessibility text. */ __( 'Warning:' ) . ' </span>'; } echo $box['title']; echo "</h2>\n"; if ( 'dashboard_browser_nag' !== $box['id'] ) { $widget_title = $box['title']; if ( is_array( $box['args'] ) && isset( $box['args']['__widget_basename'] ) ) { $widget_title = $box['args']['__widget_basename']; // Do not pass this parameter to the user callback function. unset( $box['args']['__widget_basename'] ); } echo '<div class="handle-actions hide-if-no-js">'; echo '<button type="button" class="handle-order-higher" aria-disabled="false" aria-describedby="' . $box['id'] . '-handle-order-higher-description">'; echo '<span class="screen-reader-text">' . /* translators: Hidden accessibility text. */ __( 'Move up' ) . '</span>'; echo '<span class="order-higher-indicator" aria-hidden="true"></span>'; echo '</button>'; echo '<span class="hidden" id="' . $box['id'] . '-handle-order-higher-description">' . sprintf( /* translators: %s: Meta box title. */ __( 'Move %s box up' ), $widget_title ) . '</span>'; echo '<button type="button" class="handle-order-lower" aria-disabled="false" aria-describedby="' . $box['id'] . '-handle-order-lower-description">'; echo '<span class="screen-reader-text">' . /* translators: Hidden accessibility text. */ __( 'Move down' ) . '</span>'; echo '<span class="order-lower-indicator" aria-hidden="true"></span>'; echo '</button>'; echo '<span class="hidden" id="' . $box['id'] . '-handle-order-lower-description">' . sprintf( /* translators: %s: Meta box title. */ __( 'Move %s box down' ), $widget_title ) . '</span>'; echo '<button type="button" class="handlediv" aria-expanded="true">'; echo '<span class="screen-reader-text">' . sprintf( /* translators: %s: Hidden accessibility text. Meta box title. */ __( 'Toggle panel: %s' ), $widget_title ) . '</span>'; echo '<span class="toggle-indicator" aria-hidden="true"></span>'; echo '</button>'; echo '</div>'; } echo '</div>'; echo '<div class="inside">' . "\n"; if ( WP_DEBUG && ! $block_compatible && 'edit' === $screen->parent_base && ! $screen->is_block_editor() && ! isset( $_GET['meta-box-loader'] ) ) { $plugin = _get_plugin_from_callback( $box['callback'] ); if ( $plugin ) { $meta_box_not_compatible_message = sprintf( /* translators: %s: The name of the plugin that generated this meta box. */ __( 'This meta box, from the %s plugin, is not compatible with the block editor.' ), "<strong>{$plugin['Name']}</strong>" ); wp_admin_notice( $meta_box_not_compatible_message, array( 'additional_classes' => array( 'error', 'inline' ), ) ); } } call_user_func( $box['callback'], $data_object, $box ); echo "</div>\n"; echo "</div>\n"; } } } } echo '</div>'; return $i; } /** * Removes a meta box from one or more screens. * * @since 2.6.0 * @since 4.4.0 The `$screen` parameter now accepts an array of screen IDs. * * @global array $wp_meta_boxes Global meta box state. * * @param string $id Meta box ID (used in the 'id' attribute for the meta box). * @param string|array|WP_Screen $screen The screen or screens on which the meta box is shown (such as a * post type, 'link', or 'comment'). Accepts a single screen ID, * WP_Screen object, or array of screen IDs. * @param string $context The context within the screen where the box is set to display. * Contexts vary from screen to screen. Post edit screen contexts * include 'normal', 'side', and 'advanced'. Comments screen contexts * include 'normal' and 'side'. Menus meta boxes (accordion sections) * all use the 'side' context. */ function remove_meta_box( $id, $screen, $context ) { global $wp_meta_boxes; if ( empty( $screen ) ) { $screen = get_current_screen(); } elseif ( is_string( $screen ) ) { $screen = convert_to_screen( $screen ); } elseif ( is_array( $screen ) ) { foreach ( $screen as $single_screen ) { remove_meta_box( $id, $single_screen, $context ); } } if ( ! isset( $screen->id ) ) { return; } $page = $screen->id; if ( ! isset( $wp_meta_boxes ) ) { $wp_meta_boxes = array(); } if ( ! isset( $wp_meta_boxes[ $page ] ) ) { $wp_meta_boxes[ $page ] = array(); } if ( ! isset( $wp_meta_boxes[ $page ][ $context ] ) ) { $wp_meta_boxes[ $page ][ $context ] = array(); } foreach ( array( 'high', 'core', 'default', 'low' ) as $priority ) { $wp_meta_boxes[ $page ][ $context ][ $priority ][ $id ] = false; } } /** * Meta Box Accordion Template Function. * * Largely made up of abstracted code from do_meta_boxes(), this * function serves to build meta boxes as list items for display as * a collapsible accordion. * * @since 3.6.0 * * @uses global $wp_meta_boxes Used to retrieve registered meta boxes. * * @param string|object $screen The screen identifier. * @param string $context The screen context for which to display accordion sections. * @param mixed $data_object Gets passed to the section callback function as the first parameter. * @return int Number of meta boxes as accordion sections. */ function do_accordion_sections( $screen, $context, $data_object ) { global $wp_meta_boxes; wp_enqueue_script( 'accordion' ); if ( empty( $screen ) ) { $screen = get_current_screen(); } elseif ( is_string( $screen ) ) { $screen = convert_to_screen( $screen ); } $page = $screen->id; $hidden = get_hidden_meta_boxes( $screen ); ?> <div id="side-sortables" class="accordion-container"> <ul class="outer-border"> <?php $i = 0; $first_open = false; if ( isset( $wp_meta_boxes[ $page ][ $context ] ) ) { foreach ( array( 'high', 'core', 'default', 'low' ) as $priority ) { if ( isset( $wp_meta_boxes[ $page ][ $context ][ $priority ] ) ) { foreach ( $wp_meta_boxes[ $page ][ $context ][ $priority ] as $box ) { if ( false === $box || ! $box['title'] ) { continue; } ++$i; $hidden_class = in_array( $box['id'], $hidden, true ) ? 'hide-if-js' : ''; $open_class = ''; $aria_expanded = 'false'; if ( ! $first_open && empty( $hidden_class ) ) { $first_open = true; $open_class = 'open'; $aria_expanded = 'true'; } ?> <li class="control-section accordion-section <?php echo $hidden_class; ?> <?php echo $open_class; ?> <?php echo esc_attr( $box['id'] ); ?>" id="<?php echo esc_attr( $box['id'] ); ?>"> <h3 class="accordion-section-title hndle"> <button type="button" class="accordion-trigger" aria-expanded="<?php echo $aria_expanded; ?>" aria-controls="<?php echo esc_attr( $box['id'] ); ?>-content"> <span class="accordion-title"> <?php echo esc_html( $box['title'] ); ?> <span class="dashicons dashicons-arrow-down" aria-hidden="true"></span> </span> </button> </h3> <div class="accordion-section-content <?php postbox_classes( $box['id'], $page ); ?>" id="<?php echo esc_attr( $box['id'] ); ?>-content"> <div class="inside"> <?php call_user_func( $box['callback'], $data_object, $box ); ?> </div><!-- .inside --> </div><!-- .accordion-section-content --> </li><!-- .accordion-section --> <?php } } } } ?> </ul><!-- .outer-border --> </div><!-- .accordion-container --> <?php return $i; } /** * Adds a new section to a settings page. * * Part of the Settings API. Use this to define new settings sections for an admin page. * Show settings sections in your admin page callback function with do_settings_sections(). * Add settings fields to your section with add_settings_field(). * * The $callback argument should be the name of a function that echoes out any * content you want to show at the top of the settings section before the actual * fields. It can output nothing if you want. * * @since 2.7.0 * @since 6.1.0 Added an `$args` parameter for the section's HTML wrapper and class name. * * @global array $wp_settings_sections Storage array of all settings sections added to admin pages. * * @param string $id Slug-name to identify the section. Used in the 'id' attribute of tags. * @param string $title Formatted title of the section. Shown as the heading for the section. * @param callable $callback Function that echos out any content at the top of the section (between heading and fields). * @param string $page The slug-name of the settings page on which to show the section. Built-in pages include * 'general', 'reading', 'writing', 'discussion', 'media', etc. Create your own using * add_options_page(); * @param array $args { * Arguments used to create the settings section. * * @type string $before_section HTML content to prepend to the section's HTML output. * Receives the section's class name as `%s`. Default empty. * @type string $after_section HTML content to append to the section's HTML output. Default empty. * @type string $section_class The class name to use for the section. Default empty. * } */ function add_settings_section( $id, $title, $callback, $page, $args = array() ) { global $wp_settings_sections; $defaults = array( 'id' => $id, 'title' => $title, 'callback' => $callback, 'before_section' => '', 'after_section' => '', 'section_class' => '', ); $section = wp_parse_args( $args, $defaults ); if ( 'misc' === $page ) { _deprecated_argument( __FUNCTION__, '3.0.0', sprintf( /* translators: %s: misc */ __( 'The "%s" options group has been removed. Use another settings group.' ), 'misc' ) ); $page = 'general'; } if ( 'privacy' === $page ) { _deprecated_argument( __FUNCTION__, '3.5.0', sprintf( /* translators: %s: privacy */ __( 'The "%s" options group has been removed. Use another settings group.' ), 'privacy' ) ); $page = 'reading'; } $wp_settings_sections[ $page ][ $id ] = $section; } /** * Adds a new field to a section of a settings page. * * Part of the Settings API. Use this to define a settings field that will show * as part of a settings section inside a settings page. The fields are shown using * do_settings_fields() in do_settings_sections(). * * The $callback argument should be the name of a function that echoes out the * HTML input tags for this setting field. Use get_option() to retrieve existing * values to show. * * @since 2.7.0 * @since 4.2.0 The `$class` argument was added. * * @global array $wp_settings_fields Storage array of settings fields and info about their pages/sections. * * @param string $id Slug-name to identify the field. Used in the 'id' attribute of tags. * @param string $title Formatted title of the field. Shown as the label for the field * during output. * @param callable $callback Function that fills the field with the desired form inputs. The * function should echo its output. * @param string $page The slug-name of the settings page on which to show the section * (general, reading, writing, ...). * @param string $section Optional. The slug-name of the section of the settings page * in which to show the box. Default 'default'. * @param array $args { * Optional. Extra arguments that get passed to the callback function. * * @type string $label_for When supplied, the setting title will be wrapped * in a `<label>` element, its `for` attribute populated * with this value. * @type string $class CSS Class to be added to the `<tr>` element when the * field is output. * } */ function add_settings_field( $id, $title, $callback, $page, $section = 'default', $args = array() ) { global $wp_settings_fields; if ( 'misc' === $page ) { _deprecated_argument( __FUNCTION__, '3.0.0', sprintf( /* translators: %s: misc */ __( 'The "%s" options group has been removed. Use another settings group.' ), 'misc' ) ); $page = 'general'; } if ( 'privacy' === $page ) { _deprecated_argument( __FUNCTION__, '3.5.0', sprintf( /* translators: %s: privacy */ __( 'The "%s" options group has been removed. Use another settings group.' ), 'privacy' ) ); $page = 'reading'; } $wp_settings_fields[ $page ][ $section ][ $id ] = array( 'id' => $id, 'title' => $title, 'callback' => $callback, 'args' => $args, ); } /** * Prints out all settings sections added to a particular settings page. * * Part of the Settings API. Use this in a settings page callback function * to output all the sections and fields that were added to that $page with * add_settings_section() and add_settings_field() * * @global array $wp_settings_sections Storage array of all settings sections added to admin pages. * @global array $wp_settings_fields Storage array of settings fields and info about their pages/sections. * @since 2.7.0 * * @param string $page The slug name of the page whose settings sections you want to output. */ function do_settings_sections( $page ) { global $wp_settings_sections, $wp_settings_fields; if ( ! isset( $wp_settings_sections[ $page ] ) ) { return; } foreach ( (array) $wp_settings_sections[ $page ] as $section ) { if ( '' !== $section['before_section'] ) { if ( '' !== $section['section_class'] ) { echo wp_kses_post( sprintf( $section['before_section'], esc_attr( $section['section_class'] ) ) ); } else { echo wp_kses_post( $section['before_section'] ); } } if ( $section['title'] ) { echo "<h2>{$section['title']}</h2>\n"; } if ( $section['callback'] ) { call_user_func( $section['callback'], $section ); } if ( ! isset( $wp_settings_fields ) || ! isset( $wp_settings_fields[ $page ] ) || ! isset( $wp_settings_fields[ $page ][ $section['id'] ] ) ) { continue; } echo '<table class="form-table" role="presentation">'; do_settings_fields( $page, $section['id'] ); echo '</table>'; if ( '' !== $section['after_section'] ) { echo wp_kses_post( $section['after_section'] ); } } } /** * Prints out the settings fields for a particular settings section. * * Part of the Settings API. Use this in a settings page to output * a specific section. Should normally be called by do_settings_sections() * rather than directly. * * @global array $wp_settings_fields Storage array of settings fields and their pages/sections. * * @since 2.7.0 * * @param string $page Slug title of the admin page whose settings fields you want to show. * @param string $section Slug title of the settings section whose fields you want to show. */ function do_settings_fields( $page, $section ) { global $wp_settings_fields; if ( ! isset( $wp_settings_fields[ $page ][ $section ] ) ) { return; } foreach ( (array) $wp_settings_fields[ $page ][ $section ] as $field ) { $class = ''; if ( ! empty( $field['args']['class'] ) ) { $class = ' class="' . esc_attr( $field['args']['class'] ) . '"'; } echo "<tr{$class}>"; if ( ! empty( $field['args']['label_for'] ) ) { echo '<th scope="row"><label for="' . esc_attr( $field['args']['label_for'] ) . '">' . $field['title'] . '</label></th>'; } else { echo '<th scope="row">' . $field['title'] . '</th>'; } echo '<td>'; call_user_func( $field['callback'], $field['args'] ); echo '</td>'; echo '</tr>'; } } /** * Registers a settings error to be displayed to the user. * * Part of the Settings API. Use this to show messages to users about settings validation * problems, missing settings or anything else. * * Settings errors should be added inside the $sanitize_callback function defined in * register_setting() for a given setting to give feedback about the submission. * * By default messages will show immediately after the submission that generated the error. * Additional calls to settings_errors() can be used to show errors even when the settings * page is first accessed. * * @since 3.0.0 * @since 5.3.0 Added `warning` and `info` as possible values for `$type`. * * @global array[] $wp_settings_errors Storage array of errors registered during this pageload * * @param string $setting Slug title of the setting to which this error applies. * @param string $code Slug-name to identify the error. Used as part of 'id' attribute in HTML output. * @param string $message The formatted message text to display to the user (will be shown inside styled * `<div>` and `<p>` tags). * @param string $type Optional. Message type, controls HTML class. Possible values include 'error', * 'success', 'warning', 'info'. Default 'error'. */ function add_settings_error( $setting, $code, $message, $type = 'error' ) { global $wp_settings_errors; $wp_settings_errors[] = array( 'setting' => $setting, 'code' => $code, 'message' => $message, 'type' => $type, ); } /** * Fetches settings errors registered by add_settings_error(). * * Checks the $wp_settings_errors array for any errors declared during the current * pageload and returns them. * * If changes were just submitted ($_GET['settings-updated']) and settings errors were saved * to the 'settings_errors' transient then those errors will be returned instead. This * is used to pass errors back across pageloads. * * Use the $sanitize argument to manually re-sanitize the option before returning errors. * This is useful if you have errors or notices you want to show even when the user * hasn't submitted data (i.e. when they first load an options page, or in the {@see 'admin_notices'} * action hook). * * @since 3.0.0 * * @global array[] $wp_settings_errors Storage array of errors registered during this pageload * * @param string $setting Optional. Slug title of a specific setting whose errors you want. * @param bool $sanitize Optional. Whether to re-sanitize the setting value before returning errors. * @return array[] { * Array of settings error arrays. * * @type array ...$0 { * Associative array of setting error data. * * @type string $setting Slug title of the setting to which this error applies. * @type string $code Slug-name to identify the error. Used as part of 'id' attribute in HTML output. * @type string $message The formatted message text to display to the user (will be shown inside styled * `<div>` and `<p>` tags). * @type string $type Optional. Message type, controls HTML class. Possible values include 'error', * 'success', 'warning', 'info'. Default 'error'. * } * } */ function get_settings_errors( $setting = '', $sanitize = false ) { global $wp_settings_errors; /* * If $sanitize is true, manually re-run the sanitization for this option * This allows the $sanitize_callback from register_setting() to run, adding * any settings errors you want to show by default. */ if ( $sanitize ) { sanitize_option( $setting, get_option( $setting ) ); } // If settings were passed back from options.php then use them. if ( isset( $_GET['settings-updated'] ) && $_GET['settings-updated'] && get_transient( 'settings_errors' ) ) { $wp_settings_errors = array_merge( (array) $wp_settings_errors, get_transient( 'settings_errors' ) ); delete_transient( 'settings_errors' ); } // Check global in case errors have been added on this pageload. if ( empty( $wp_settings_errors ) ) { return array(); } // Filter the results to those of a specific setting if one was set. if ( $setting ) { $setting_errors = array(); foreach ( (array) $wp_settings_errors as $key => $details ) { if ( $setting === $details['setting'] ) { $setting_errors[] = $wp_settings_errors[ $key ]; } } return $setting_errors; } return $wp_settings_errors; } /** * Displays settings errors registered by add_settings_error(). * * Part of the Settings API. Outputs a div for each error retrieved by * get_settings_errors(). * * This is called automatically after a settings page based on the * Settings API is submitted. Errors should be added during the validation * callback function for a setting defined in register_setting(). * * The $sanitize option is passed into get_settings_errors() and will * re-run the setting sanitization * on its current value. * * The $hide_on_update option will cause errors to only show when the settings * page is first loaded. if the user has already saved new values it will be * hidden to avoid repeating messages already shown in the default error * reporting after submission. This is useful to show general errors like * missing settings when the user arrives at the settings page. * * @since 3.0.0 * @since 5.3.0 Legacy `error` and `updated` CSS classes are mapped to * `notice-error` and `notice-success`. * * @param string $setting Optional slug title of a specific setting whose errors you want. * @param bool $sanitize Whether to re-sanitize the setting value before returning errors. * @param bool $hide_on_update If set to true errors will not be shown if the settings page has * already been submitted. */ function settings_errors( $setting = '', $sanitize = false, $hide_on_update = false ) { if ( $hide_on_update && ! empty( $_GET['settings-updated'] ) ) { return; } $settings_errors = get_settings_errors( $setting, $sanitize ); if ( empty( $settings_errors ) ) { return; } $output = ''; foreach ( $settings_errors as $key => $details ) { if ( 'updated' === $details['type'] ) { $details['type'] = 'success'; } if ( in_array( $details['type'], array( 'error', 'success', 'warning', 'info' ), true ) ) { $details['type'] = 'notice-' . $details['type']; } $css_id = sprintf( 'setting-error-%s', esc_attr( $details['code'] ) ); $css_class = sprintf( 'notice %s settings-error is-dismissible', esc_attr( $details['type'] ) ); $output .= "<div id='$css_id' class='$css_class'> \n"; $output .= "<p><strong>{$details['message']}</strong></p>"; $output .= "</div> \n"; } echo $output; } /** * Outputs the modal window used for attaching media to posts or pages in the media-listing screen. * * @since 2.7.0 * * @param string $found_action Optional. The value of the 'found_action' input field. Default empty string. */ function find_posts_div( $found_action = '' ) { ?> <div id="find-posts" class="find-box" style="display: none;"> <div id="find-posts-head" class="find-box-head"> <?php _e( 'Attach to existing content' ); ?> <button type="button" id="find-posts-close"><span class="screen-reader-text"> <?php /* translators: Hidden accessibility text. */ _e( 'Close media attachment panel' ); ?> </span></button> </div> <div class="find-box-inside"> <div class="find-box-search"> <?php if ( $found_action ) { ?> <input type="hidden" name="found_action" value="<?php echo esc_attr( $found_action ); ?>" /> <?php } ?> <input type="hidden" name="affected" id="affected" value="" /> <?php wp_nonce_field( 'find-posts', '_ajax_nonce', false ); ?> <label class="screen-reader-text" for="find-posts-input"> <?php /* translators: Hidden accessibility text. */ _e( 'Search' ); ?> </label> <input type="text" id="find-posts-input" name="ps" value="" /> <span class="spinner"></span> <input type="button" id="find-posts-search" value="<?php esc_attr_e( 'Search' ); ?>" class="button" /> <div class="clear"></div> </div> <div id="find-posts-response"></div> </div> <div class="find-box-buttons"> <?php submit_button( __( 'Select' ), 'primary alignright', 'find-posts-submit', false ); ?> <div class="clear"></div> </div> </div> <?php } /** * Displays the post password. * * The password is passed through esc_attr() to ensure that it is safe for placing in an HTML attribute. * * @since 2.7.0 */ function the_post_password() { $post = get_post(); if ( isset( $post->post_password ) ) { echo esc_attr( $post->post_password ); } } /** * Gets the post title. * * The post title is fetched and if it is blank then a default string is * returned. * * @since 2.7.0 * * @param int|WP_Post $post Optional. Post ID or WP_Post object. Default is global $post. * @return string The post title if set. */ function _draft_or_post_title( $post = 0 ) { $title = get_the_title( $post ); if ( empty( $title ) ) { $title = __( '(no title)' ); } return esc_html( $title ); } /** * Displays the search query. * * A simple wrapper to display the "s" parameter in a `GET` URI. This function * should only be used when the_search_query() cannot. * * @since 2.7.0 */ function _admin_search_query() { echo isset( $_REQUEST['s'] ) ? esc_attr( wp_unslash( $_REQUEST['s'] ) ) : ''; } /** * Generic Iframe header for use with Thickbox. * * @since 2.7.0 * * @global string $hook_suffix * @global string $admin_body_class * @global string $body_id * @global WP_Locale $wp_locale WordPress date and time locale object. * * @param string $title Optional. Title of the Iframe page. Default empty. * @param bool $deprecated Not used. */ function iframe_header( $title = '', $deprecated = false ) { global $hook_suffix, $admin_body_class, $body_id, $wp_locale; show_admin_bar( false ); $admin_body_class = preg_replace( '/[^a-z0-9_-]+/i', '-', $hook_suffix ); $current_screen = get_current_screen(); header( 'Content-Type: ' . get_option( 'html_type' ) . '; charset=' . get_option( 'blog_charset' ) ); _wp_admin_html_begin(); ?> <title><?php bloginfo( 'name' ); ?> › <?php echo $title; ?> — <?php _e( 'WordPress' ); ?></title> <?php wp_enqueue_style( 'colors' ); ?> <script type="text/javascript"> addLoadEvent = function(func){if(typeof jQuery!=='undefined')jQuery(function(){func();});else if(typeof wpOnload!=='function'){wpOnload=func;}else{var oldonload=wpOnload;wpOnload=function(){oldonload();func();}}}; function tb_close(){var win=window.dialogArguments||opener||parent||top;win.tb_remove();} var ajaxurl = '<?php echo esc_js( admin_url( 'admin-ajax.php', 'relative' ) ); ?>', pagenow = '<?php echo esc_js( $current_screen->id ); ?>', typenow = '<?php echo esc_js( $current_screen->post_type ); ?>', adminpage = '<?php echo esc_js( $admin_body_class ); ?>', thousandsSeparator = '<?php echo esc_js( $wp_locale->number_format['thousands_sep'] ); ?>', decimalPoint = '<?php echo esc_js( $wp_locale->number_format['decimal_point'] ); ?>', isRtl = <?php echo (int) is_rtl(); ?>; </script> <?php /** This action is documented in wp-admin/admin-header.php */ do_action( 'admin_enqueue_scripts', $hook_suffix ); /** This action is documented in wp-admin/admin-header.php */ do_action( "admin_print_styles-{$hook_suffix}" ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores /** This action is documented in wp-admin/admin-header.php */ do_action( 'admin_print_styles' ); /** This action is documented in wp-admin/admin-header.php */ do_action( "admin_print_scripts-{$hook_suffix}" ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores /** This action is documented in wp-admin/admin-header.php */ do_action( 'admin_print_scripts' ); /** This action is documented in wp-admin/admin-header.php */ do_action( "admin_head-{$hook_suffix}" ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores /** This action is documented in wp-admin/admin-header.php */ do_action( 'admin_head' ); $admin_body_class .= ' locale-' . sanitize_html_class( strtolower( str_replace( '_', '-', get_user_locale() ) ) ); if ( is_rtl() ) { $admin_body_class .= ' rtl'; } ?> </head> <?php $admin_body_id = isset( $body_id ) ? 'id="' . $body_id . '" ' : ''; /** This filter is documented in wp-admin/admin-header.php */ $admin_body_classes = apply_filters( 'admin_body_class', '' ); $admin_body_classes = ltrim( $admin_body_classes . ' ' . $admin_body_class ); ?> <body <?php echo $admin_body_id; ?>class="wp-admin wp-core-ui no-js iframe <?php echo esc_attr( $admin_body_classes ); ?>"> <script type="text/javascript"> (function(){ var c = document.body.className; c = c.replace(/no-js/, 'js'); document.body.className = c; })(); </script> <?php } /** * Generic Iframe footer for use with Thickbox. * * @since 2.7.0 */ function iframe_footer() { /* * We're going to hide any footer output on iFrame pages, * but run the hooks anyway since they output JavaScript * or other needed content. */ /** * @global string $hook_suffix */ global $hook_suffix; ?> <div class="hidden"> <?php /** This action is documented in wp-admin/admin-footer.php */ do_action( 'admin_footer', $hook_suffix ); /** This action is documented in wp-admin/admin-footer.php */ do_action( "admin_print_footer_scripts-{$hook_suffix}" ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores /** This action is documented in wp-admin/admin-footer.php */ do_action( 'admin_print_footer_scripts' ); ?> </div> <script type="text/javascript">if(typeof wpOnload==='function')wpOnload();</script> </body> </html> <?php } /** * Echoes or returns the post states as HTML. * * @since 2.7.0 * @since 5.3.0 Added the `$display` parameter and a return value. * * @see get_post_states() * * @param WP_Post $post The post to retrieve states for. * @param bool $display Optional. Whether to display the post states as an HTML string. * Default true. * @return string Post states string. */ function _post_states( $post, $display = true ) { $post_states = get_post_states( $post ); $post_states_string = ''; if ( ! empty( $post_states ) ) { $state_count = count( $post_states ); $i = 0; $post_states_string .= ' — '; foreach ( $post_states as $state ) { ++$i; $separator = ( $i < $state_count ) ? ', ' : ''; $post_states_string .= "<span class='post-state'>{$state}{$separator}</span>"; } } if ( $display ) { echo $post_states_string; } return $post_states_string; } /** * Retrieves an array of post states from a post. * * @since 5.3.0 * * @param WP_Post $post The post to retrieve states for. * @return string[] Array of post state labels keyed by their state. */ function get_post_states( $post ) { $post_states = array(); if ( isset( $_REQUEST['post_status'] ) ) { $post_status = $_REQUEST['post_status']; } else { $post_status = ''; } if ( ! empty( $post->post_password ) ) { $post_states['protected'] = _x( 'Password protected', 'post status' ); } if ( 'private' === $post->post_status && 'private' !== $post_status ) { $post_states['private'] = _x( 'Private', 'post status' ); } if ( 'draft' === $post->post_status ) { if ( get_post_meta( $post->ID, '_customize_changeset_uuid', true ) ) { $post_states[] = __( 'Customization Draft' ); } elseif ( 'draft' !== $post_status ) { $post_states['draft'] = _x( 'Draft', 'post status' ); } } elseif ( 'trash' === $post->post_status && get_post_meta( $post->ID, '_customize_changeset_uuid', true ) ) { $post_states[] = _x( 'Customization Draft', 'post status' ); } if ( 'pending' === $post->post_status && 'pending' !== $post_status ) { $post_states['pending'] = _x( 'Pending', 'post status' ); } if ( is_sticky( $post->ID ) ) { $post_states['sticky'] = _x( 'Sticky', 'post status' ); } if ( 'future' === $post->post_status ) { $post_states['scheduled'] = _x( 'Scheduled', 'post status' ); } if ( 'page' === get_option( 'show_on_front' ) ) { if ( (int) get_option( 'page_on_front' ) === $post->ID ) { $post_states['page_on_front'] = _x( 'Front Page', 'page label' ); } if ( (int) get_option( 'page_for_posts' ) === $post->ID ) { $post_states['page_for_posts'] = _x( 'Posts Page', 'page label' ); } } if ( (int) get_option( 'wp_page_for_privacy_policy' ) === $post->ID ) { $post_states['page_for_privacy_policy'] = _x( 'Privacy Policy Page', 'page label' ); } /** * Filters the default post display states used in the posts list table. * * @since 2.8.0 * @since 3.6.0 Added the `$post` parameter. * @since 5.5.0 Also applied in the Customizer context. If any admin functions * are used within the filter, their existence should be checked * with `function_exists()` before being used. * * @param string[] $post_states An array of post display states. * @param WP_Post $post The current post object. */ return apply_filters( 'display_post_states', $post_states, $post ); } /** * Outputs the attachment media states as HTML. * * @since 3.2.0 * @since 5.6.0 Added the `$display` parameter and a return value. * * @param WP_Post $post The attachment post to retrieve states for. * @param bool $display Optional. Whether to display the post states as an HTML string. * Default true. * @return string Media states string. */ function _media_states( $post, $display = true ) { $media_states = get_media_states( $post ); $media_states_string = ''; if ( ! empty( $media_states ) ) { $state_count = count( $media_states ); $i = 0; $media_states_string .= ' — '; foreach ( $media_states as $state ) { ++$i; $separator = ( $i < $state_count ) ? ', ' : ''; $media_states_string .= "<span class='post-state'>{$state}{$separator}</span>"; } } if ( $display ) { echo $media_states_string; } return $media_states_string; } /** * Retrieves an array of media states from an attachment. * * @since 5.6.0 * * @param WP_Post $post The attachment to retrieve states for. * @return string[] Array of media state labels keyed by their state. */ function get_media_states( $post ) { static $header_images; $media_states = array(); $stylesheet = get_option( 'stylesheet' ); if ( current_theme_supports( 'custom-header' ) ) { $meta_header = get_post_meta( $post->ID, '_wp_attachment_is_custom_header', true ); if ( is_random_header_image() ) { if ( ! isset( $header_images ) ) { $header_images = wp_list_pluck( get_uploaded_header_images(), 'attachment_id' ); } if ( $meta_header === $stylesheet && in_array( $post->ID, $header_images, true ) ) { $media_states[] = __( 'Header Image' ); } } else { $header_image = get_header_image(); // Display "Header Image" if the image was ever used as a header image. if ( ! empty( $meta_header ) && $meta_header === $stylesheet && wp_get_attachment_url( $post->ID ) !== $header_image ) { $media_states[] = __( 'Header Image' ); } // Display "Current Header Image" if the image is currently the header image. if ( $header_image && wp_get_attachment_url( $post->ID ) === $header_image ) { $media_states[] = __( 'Current Header Image' ); } } if ( get_theme_support( 'custom-header', 'video' ) && has_header_video() ) { $mods = get_theme_mods(); if ( isset( $mods['header_video'] ) && $post->ID === $mods['header_video'] ) { $media_states[] = __( 'Current Header Video' ); } } } if ( current_theme_supports( 'custom-background' ) ) { $meta_background = get_post_meta( $post->ID, '_wp_attachment_is_custom_background', true ); if ( ! empty( $meta_background ) && $meta_background === $stylesheet ) { $media_states[] = __( 'Background Image' ); $background_image = get_background_image(); if ( $background_image && wp_get_attachment_url( $post->ID ) === $background_image ) { $media_states[] = __( 'Current Background Image' ); } } } if ( (int) get_option( 'site_icon' ) === $post->ID ) { $media_states[] = __( 'Site Icon' ); } if ( (int) get_theme_mod( 'custom_logo' ) === $post->ID ) { $media_states[] = __( 'Logo' ); } /** * Filters the default media display states for items in the Media list table. * * @since 3.2.0 * @since 4.8.0 Added the `$post` parameter. * * @param string[] $media_states An array of media states. Default 'Header Image', * 'Background Image', 'Site Icon', 'Logo'. * @param WP_Post $post The current attachment object. */ return apply_filters( 'display_media_states', $media_states, $post ); } /** * Tests support for compressing JavaScript from PHP. * * Outputs JavaScript that tests if compression from PHP works as expected * and sets an option with the result. Has no effect when the current user * is not an administrator. To run the test again the option 'can_compress_scripts' * has to be deleted. * * @since 2.8.0 */ function compression_test() { ?> <script type="text/javascript"> var compressionNonce = <?php echo wp_json_encode( wp_create_nonce( 'update_can_compress_scripts' ) ); ?>; var testCompression = { get : function(test) { var x; if ( window.XMLHttpRequest ) { x = new XMLHttpRequest(); } else { try{x=new ActiveXObject('Msxml2.XMLHTTP');}catch(e){try{x=new ActiveXObject('Microsoft.XMLHTTP');}catch(e){};} } if (x) { x.onreadystatechange = function() { var r, h; if ( x.readyState == 4 ) { r = x.responseText.substr(0, 18); h = x.getResponseHeader('Content-Encoding'); testCompression.check(r, h, test); } }; x.open('GET', ajaxurl + '?action=wp-compression-test&test='+test+'&_ajax_nonce='+compressionNonce+'&'+(new Date()).getTime(), true); x.send(''); } }, check : function(r, h, test) { if ( ! r && ! test ) this.get(1); if ( 1 == test ) { if ( h && ( h.match(/deflate/i) || h.match(/gzip/i) ) ) this.get('no'); else this.get(2); return; } if ( 2 == test ) { if ( '"wpCompressionTest' === r ) this.get('yes'); else this.get('no'); } } }; testCompression.check(); </script> <?php } /** * Echoes a submit button, with provided text and appropriate class(es). * * @since 3.1.0 * * @see get_submit_button() * * @param string $text Optional. The text of the button. Defaults to 'Save Changes'. * @param string $type Optional. The type and CSS class(es) of the button. Core values * include 'primary', 'small', and 'large'. Default 'primary'. * @param string $name Optional. The HTML name of the submit button. If no `id` attribute * is given in the `$other_attributes` parameter, `$name` will be used * as the button's `id`. Default 'submit'. * @param bool $wrap Optional. True if the output button should be wrapped in a paragraph tag, * false otherwise. Default true. * @param array|string $other_attributes Optional. Other attributes that should be output with the button, * mapping attributes to their values, e.g. `array( 'id' => 'search-submit' )`. * These key/value attribute pairs will be output as `attribute="value"`, * where attribute is the key. Attributes can also be provided as a string, * e.g. `id="search-submit"`, though the array format is generally preferred. * Default empty string. */ function submit_button( $text = '', $type = 'primary', $name = 'submit', $wrap = true, $other_attributes = '' ) { echo get_submit_button( $text, $type, $name, $wrap, $other_attributes ); } /** * Returns a submit button, with provided text and appropriate class. * * @since 3.1.0 * * @param string $text Optional. The text of the button. Defaults to 'Save Changes'. * @param string $type Optional. The type and CSS class(es) of the button. Core values * include 'primary', 'small', and 'large'. Default 'primary large'. * @param string $name Optional. The HTML name of the submit button. If no `id` attribute * is given in the `$other_attributes` parameter, `$name` will be used * as the button's `id`. Default 'submit'. * @param bool $wrap Optional. True if the output button should be wrapped in a paragraph tag, * false otherwise. Default true. * @param array|string $other_attributes Optional. Other attributes that should be output with the button, * mapping attributes to their values, e.g. `array( 'id' => 'search-submit' )`. * These key/value attribute pairs will be output as `attribute="value"`, * where attribute is the key. Attributes can also be provided as a string, * e.g. `id="search-submit"`, though the array format is generally preferred. * Default empty string. * @return string Submit button HTML. */ function get_submit_button( $text = '', $type = 'primary large', $name = 'submit', $wrap = true, $other_attributes = '' ) { if ( ! is_array( $type ) ) { $type = explode( ' ', $type ); } $button_shorthand = array( 'primary', 'small', 'large' ); $classes = array( 'button' ); foreach ( $type as $t ) { if ( 'secondary' === $t || 'button-secondary' === $t ) { continue; } $classes[] = in_array( $t, $button_shorthand, true ) ? 'button-' . $t : $t; } // Remove empty items, remove duplicate items, and finally build a string. $class = implode( ' ', array_unique( array_filter( $classes ) ) ); $text = $text ? $text : __( 'Save Changes' ); // Default the id attribute to $name unless an id was specifically provided in $other_attributes. $id = $name; if ( is_array( $other_attributes ) && isset( $other_attributes['id'] ) ) { $id = $other_attributes['id']; unset( $other_attributes['id'] ); } $attributes = ''; if ( is_array( $other_attributes ) ) { foreach ( $other_attributes as $attribute => $value ) { $attributes .= $attribute . '="' . esc_attr( $value ) . '" '; // Trailing space is important. } } elseif ( ! empty( $other_attributes ) ) { // Attributes provided as a string. $attributes = $other_attributes; } // Don't output empty name and id attributes. $name_attr = $name ? ' name="' . esc_attr( $name ) . '"' : ''; $id_attr = $id ? ' id="' . esc_attr( $id ) . '"' : ''; $button = '<input type="submit"' . $name_attr . $id_attr . ' class="' . esc_attr( $class ); $button .= '" value="' . esc_attr( $text ) . '" ' . $attributes . ' />'; if ( $wrap ) { $button = '<p class="submit">' . $button . '</p>'; } return $button; } /** * Prints out the beginning of the admin HTML header. * * @global bool $is_IE */ function _wp_admin_html_begin() { global $is_IE; $admin_html_class = ( is_admin_bar_showing() ) ? 'wp-toolbar' : ''; if ( $is_IE ) { header( 'X-UA-Compatible: IE=edge' ); } ?> <!DOCTYPE html> <html class="<?php echo $admin_html_class; ?>" <?php /** * Fires inside the HTML tag in the admin header. * * @since 2.2.0 */ do_action( 'admin_xml_ns' ); language_attributes(); ?> > <head> <meta http-equiv="Content-Type" content="<?php bloginfo( 'html_type' ); ?>; charset=<?php echo get_option( 'blog_charset' ); ?>" /> <?php } /** * Converts a screen string to a screen object. * * @since 3.0.0 * * @param string $hook_name The hook name (also known as the hook suffix) used to determine the screen. * @return WP_Screen Screen object. */ function convert_to_screen( $hook_name ) { if ( ! class_exists( 'WP_Screen' ) ) { _doing_it_wrong( 'convert_to_screen(), add_meta_box()', sprintf( /* translators: 1: wp-admin/includes/template.php, 2: add_meta_box(), 3: add_meta_boxes */ __( 'Likely direct inclusion of %1$s in order to use %2$s. This is very wrong. Hook the %2$s call into the %3$s action instead.' ), '<code>wp-admin/includes/template.php</code>', '<code>add_meta_box()</code>', '<code>add_meta_boxes</code>' ), '3.3.0' ); return (object) array( 'id' => '_invalid', 'base' => '_are_belong_to_us', ); } return WP_Screen::get( $hook_name ); } /** * Outputs the HTML for restoring the post data from DOM storage * * @since 3.6.0 * @access private */ function _local_storage_notice() { $local_storage_message = '<p class="local-restore">'; $local_storage_message .= __( 'The backup of this post in your browser is different from the version below.' ); $local_storage_message .= '<button type="button" class="button restore-backup">' . __( 'Restore the backup' ) . '</button></p>'; $local_storage_message .= '<p class="help">'; $local_storage_message .= __( 'This will replace the current editor content with the last backup version. You can use undo and redo in the editor to get the old content back or to return to the restored version.' ); $local_storage_message .= '</p>'; wp_admin_notice( $local_storage_message, array( 'id' => 'local-storage-notice', 'additional_classes' => array( 'hidden' ), 'dismissible' => true, 'paragraph_wrap' => false, ) ); } /** * Outputs a HTML element with a star rating for a given rating. * * Outputs a HTML element with the star rating exposed on a 0..5 scale in * half star increments (ie. 1, 1.5, 2 stars). Optionally, if specified, the * number of ratings may also be displayed by passing the $number parameter. * * @since 3.8.0 * @since 4.4.0 Introduced the `echo` parameter. * * @param array $args { * Optional. Array of star ratings arguments. * * @type int|float $rating The rating to display, expressed in either a 0.5 rating increment, * or percentage. Default 0. * @type string $type Format that the $rating is in. Valid values are 'rating' (default), * or, 'percent'. Default 'rating'. * @type int $number The number of ratings that makes up this rating. Default 0. * @type bool $echo Whether to echo the generated markup. False to return the markup instead * of echoing it. Default true. * } * @return string Star rating HTML. */ function wp_star_rating( $args = array() ) { $defaults = array( 'rating' => 0, 'type' => 'rating', 'number' => 0, 'echo' => true, ); $parsed_args = wp_parse_args( $args, $defaults ); // Non-English decimal places when the $rating is coming from a string. $rating = (float) str_replace( ',', '.', $parsed_args['rating'] ); // Convert percentage to star rating, 0..5 in .5 increments. if ( 'percent' === $parsed_args['type'] ) { $rating = round( $rating / 10, 0 ) / 2; } // Calculate the number of each type of star needed. $full_stars = floor( $rating ); $half_stars = ceil( $rating - $full_stars ); $empty_stars = 5 - $full_stars - $half_stars; if ( $parsed_args['number'] ) { /* translators: Hidden accessibility text. 1: The rating, 2: The number of ratings. */ $format = _n( '%1$s rating based on %2$s rating', '%1$s rating based on %2$s ratings', $parsed_args['number'] ); $title = sprintf( $format, number_format_i18n( $rating, 1 ), number_format_i18n( $parsed_args['number'] ) ); } else { /* translators: Hidden accessibility text. %s: The rating. */ $title = sprintf( __( '%s rating' ), number_format_i18n( $rating, 1 ) ); } $output = '<div class="star-rating">'; $output .= '<span class="screen-reader-text">' . $title . '</span>'; $output .= str_repeat( '<div class="star star-full" aria-hidden="true"></div>', $full_stars ); $output .= str_repeat( '<div class="star star-half" aria-hidden="true"></div>', $half_stars ); $output .= str_repeat( '<div class="star star-empty" aria-hidden="true"></div>', $empty_stars ); $output .= '</div>'; if ( $parsed_args['echo'] ) { echo $output; } return $output; } /** * Outputs a notice when editing the page for posts (internal use only). * * @ignore * @since 4.2.0 */ function _wp_posts_page_notice() { wp_admin_notice( __( 'You are currently editing the page that shows your latest posts.' ), array( 'type' => 'warning', 'additional_classes' => array( 'inline' ), ) ); } /** * Outputs a notice when editing the page for posts in the block editor (internal use only). * * @ignore * @since 5.8.0 */ function _wp_block_editor_posts_page_notice() { wp_add_inline_script( 'wp-notices', sprintf( 'wp.data.dispatch( "core/notices" ).createWarningNotice( "%s", { isDismissible: false } )', __( 'You are currently editing the page that shows your latest posts.' ) ), 'after' ); } options.php 0000644 00000010233 14735706075 0006765 0 ustar 00 <?php /** * WordPress Options Administration API. * * @package WordPress * @subpackage Administration * @since 4.4.0 */ /** * Output JavaScript to toggle display of additional settings if avatars are disabled. * * @since 4.2.0 */ function options_discussion_add_js() { ?> <script> (function($){ var parent = $( '#show_avatars' ), children = $( '.avatar-settings' ); parent.on( 'change', function(){ children.toggleClass( 'hide-if-js', ! this.checked ); }); })(jQuery); </script> <?php } /** * Display JavaScript on the page. * * @since 3.5.0 */ function options_general_add_js() { ?> <script type="text/javascript"> jQuery( function($) { var $siteName = $( '#wp-admin-bar-site-name' ).children( 'a' ).first(), $siteIconPreview = $('#site-icon-preview-site-title'), homeURL = ( <?php echo wp_json_encode( get_home_url() ); ?> || '' ).replace( /^(https?:\/\/)?(www\.)?/, '' ); $( '#blogname' ).on( 'input', function() { var title = $.trim( $( this ).val() ) || homeURL; // Truncate to 40 characters. if ( 40 < title.length ) { title = title.substring( 0, 40 ) + '\u2026'; } $siteName.text( title ); $siteIconPreview.text( title ); }); $( 'input[name="date_format"]' ).on( 'click', function() { if ( 'date_format_custom_radio' !== $(this).attr( 'id' ) ) $( 'input[name="date_format_custom"]' ).val( $( this ).val() ).closest( 'fieldset' ).find( '.example' ).text( $( this ).parent( 'label' ).children( '.format-i18n' ).text() ); }); $( 'input[name="date_format_custom"]' ).on( 'click input', function() { $( '#date_format_custom_radio' ).prop( 'checked', true ); }); $( 'input[name="time_format"]' ).on( 'click', function() { if ( 'time_format_custom_radio' !== $(this).attr( 'id' ) ) $( 'input[name="time_format_custom"]' ).val( $( this ).val() ).closest( 'fieldset' ).find( '.example' ).text( $( this ).parent( 'label' ).children( '.format-i18n' ).text() ); }); $( 'input[name="time_format_custom"]' ).on( 'click input', function() { $( '#time_format_custom_radio' ).prop( 'checked', true ); }); $( 'input[name="date_format_custom"], input[name="time_format_custom"]' ).on( 'input', function() { var format = $( this ), fieldset = format.closest( 'fieldset' ), example = fieldset.find( '.example' ), spinner = fieldset.find( '.spinner' ); // Debounce the event callback while users are typing. clearTimeout( $.data( this, 'timer' ) ); $( this ).data( 'timer', setTimeout( function() { // If custom date is not empty. if ( format.val() ) { spinner.addClass( 'is-active' ); $.post( ajaxurl, { action: 'date_format_custom' === format.attr( 'name' ) ? 'date_format' : 'time_format', date : format.val() }, function( d ) { spinner.removeClass( 'is-active' ); example.text( d ); } ); } }, 500 ) ); } ); var languageSelect = $( '#WPLANG' ); $( 'form' ).on( 'submit', function() { /* * Don't show a spinner for English and installed languages, * as there is nothing to download. */ if ( ! languageSelect.find( 'option:selected' ).data( 'installed' ) ) { $( '#submit', this ).after( '<span class="spinner language-install-spinner is-active" />' ); } }); } ); </script> <?php } /** * Display JavaScript on the page. * * @since 3.5.0 */ function options_reading_add_js() { ?> <script type="text/javascript"> jQuery( function($) { var section = $('#front-static-pages'), staticPage = section.find('input:radio[value="page"]'), selects = section.find('select'), check_disabled = function(){ selects.prop( 'disabled', ! staticPage.prop('checked') ); }; check_disabled(); section.find( 'input:radio' ).on( 'change', check_disabled ); } ); </script> <?php } /** * Render the site charset setting. * * @since 3.5.0 */ function options_reading_blog_charset() { echo '<input name="blog_charset" type="text" id="blog_charset" value="' . esc_attr( get_option( 'blog_charset' ) ) . '" class="regular-text" />'; echo '<p class="description">' . __( 'The <a href="https://wordpress.org/documentation/article/wordpress-glossary/#character-set">character encoding</a> of your site (UTF-8 is recommended)' ) . '</p>'; } class-wp-debug-data.php 0000644 00000177410 14735706075 0011031 0 ustar 00 <?php /** * Class for providing debug data based on a users WordPress environment. * * @package WordPress * @subpackage Site_Health * @since 5.2.0 */ #[AllowDynamicProperties] class WP_Debug_Data { /** * Calls all core functions to check for updates. * * @since 5.2.0 */ public static function check_for_updates() { wp_version_check(); wp_update_plugins(); wp_update_themes(); } /** * Static function for generating site debug data when required. * * @since 5.2.0 * @since 5.3.0 Added database charset, database collation, * and timezone information. * @since 5.5.0 Added pretty permalinks support information. * @since 6.7.0 Modularized into separate theme-oriented methods. * * @throws ImagickException * * @return array The debug data for the site. */ public static function debug_data() { /* * Set up the array that holds all debug information. * * When iterating through the debug data, the ordering of the sections * occurs in insertion-order of the assignments into this array. * * This is the single assignment of the sections before filtering. Null-entries will * be automatically be removed. */ $info = array( 'wp-core' => self::get_wp_core(), 'wp-paths-sizes' => self::get_wp_paths_sizes(), 'wp-dropins' => self::get_wp_dropins(), 'wp-active-theme' => self::get_wp_active_theme(), 'wp-parent-theme' => self::get_wp_parent_theme(), 'wp-themes-inactive' => self::get_wp_themes_inactive(), 'wp-mu-plugins' => self::get_wp_mu_plugins(), 'wp-plugins-active' => self::get_wp_plugins_active(), 'wp-plugins-inactive' => self::get_wp_plugins_inactive(), 'wp-media' => self::get_wp_media(), 'wp-server' => self::get_wp_server(), 'wp-database' => self::get_wp_database(), 'wp-constants' => self::get_wp_constants(), 'wp-filesystem' => self::get_wp_filesystem(), ); /* * Remove null elements from the array. The individual methods are * allowed to return `null`, which communicates that the category * of debug data isn't relevant and shouldn't be passed through. */ $info = array_filter( $info, static function ( $section ) { return isset( $section ); } ); /** * Filters the debug information shown on the Tools -> Site Health -> Info screen. * * Plugin or themes may wish to introduce their own debug information without creating * additional admin pages. They can utilize this filter to introduce their own sections * or add more data to existing sections. * * Array keys for sections added by core are all prefixed with `wp-`. Plugins and themes * should use their own slug as a prefix, both for consistency as well as avoiding * key collisions. Note that the array keys are used as labels for the copied data. * * All strings are expected to be plain text except `$description` that can contain * inline HTML tags (see below). * * @since 5.2.0 * * @param array $args { * The debug information to be added to the core information page. * * This is an associative multi-dimensional array, up to three levels deep. * The topmost array holds the sections, keyed by section ID. * * @type array ...$0 { * Each section has a `$fields` associative array (see below), and each `$value` in `$fields` * can be another associative array of name/value pairs when there is more structured data * to display. * * @type string $label Required. The title for this section of the debug output. * @type string $description Optional. A description for your information section which * may contain basic HTML markup, inline tags only as it is * outputted in a paragraph. * @type bool $show_count Optional. If set to `true`, the amount of fields will be included * in the title for this section. Default false. * @type bool $private Optional. If set to `true`, the section and all associated fields * will be excluded from the copied data. Default false. * @type array $fields { * Required. An associative array containing the fields to be displayed in the section, * keyed by field ID. * * @type array ...$0 { * An associative array containing the data to be displayed for the field. * * @type string $label Required. The label for this piece of information. * @type mixed $value Required. The output that is displayed for this field. * Text should be translated. Can be an associative array * that is displayed as name/value pairs. * Accepted types: `string|int|float|(string|int|float)[]`. * @type string $debug Optional. The output that is used for this field when * the user copies the data. It should be more concise and * not translated. If not set, the content of `$value` * is used. Note that the array keys are used as labels * for the copied data. * @type bool $private Optional. If set to `true`, the field will be excluded * from the copied data, allowing you to show, for example, * API keys here. Default false. * } * } * } * } */ $info = apply_filters( 'debug_information', $info ); return $info; } /** * Gets the WordPress core section of the debug data. * * @since 6.7.0 * * @return array */ private static function get_wp_core(): array { // Save few function calls. $permalink_structure = get_option( 'permalink_structure' ); $is_ssl = is_ssl(); $users_can_register = get_option( 'users_can_register' ); $blog_public = get_option( 'blog_public' ); $default_comment_status = get_option( 'default_comment_status' ); $environment_type = wp_get_environment_type(); $core_version = wp_get_wp_version(); $core_updates = get_core_updates(); $core_update_needed = ''; if ( is_array( $core_updates ) ) { foreach ( $core_updates as $core => $update ) { if ( 'upgrade' === $update->response ) { /* translators: %s: Latest WordPress version number. */ $core_update_needed = ' ' . sprintf( __( '(Latest version: %s)' ), $update->version ); } else { $core_update_needed = ''; } } } $fields = array( 'version' => array( 'label' => __( 'Version' ), 'value' => $core_version . $core_update_needed, 'debug' => $core_version, ), 'site_language' => array( 'label' => __( 'Site Language' ), 'value' => get_locale(), ), 'user_language' => array( 'label' => __( 'User Language' ), 'value' => get_user_locale(), ), 'timezone' => array( 'label' => __( 'Timezone' ), 'value' => wp_timezone_string(), ), 'home_url' => array( 'label' => __( 'Home URL' ), 'value' => get_bloginfo( 'url' ), 'private' => true, ), 'site_url' => array( 'label' => __( 'Site URL' ), 'value' => get_bloginfo( 'wpurl' ), 'private' => true, ), 'permalink' => array( 'label' => __( 'Permalink structure' ), 'value' => $permalink_structure ? $permalink_structure : __( 'No permalink structure set' ), 'debug' => $permalink_structure, ), 'https_status' => array( 'label' => __( 'Is this site using HTTPS?' ), 'value' => $is_ssl ? __( 'Yes' ) : __( 'No' ), 'debug' => $is_ssl, ), 'multisite' => array( 'label' => __( 'Is this a multisite?' ), 'value' => is_multisite() ? __( 'Yes' ) : __( 'No' ), 'debug' => is_multisite(), ), 'user_registration' => array( 'label' => __( 'Can anyone register on this site?' ), 'value' => $users_can_register ? __( 'Yes' ) : __( 'No' ), 'debug' => $users_can_register, ), 'blog_public' => array( 'label' => __( 'Is this site discouraging search engines?' ), 'value' => $blog_public ? __( 'No' ) : __( 'Yes' ), 'debug' => $blog_public, ), 'default_comment_status' => array( 'label' => __( 'Default comment status' ), 'value' => 'open' === $default_comment_status ? _x( 'Open', 'comment status' ) : _x( 'Closed', 'comment status' ), 'debug' => $default_comment_status, ), 'environment_type' => array( 'label' => __( 'Environment type' ), 'value' => $environment_type, 'debug' => $environment_type, ), ); // Conditionally add debug information for multisite setups. if ( is_multisite() ) { $site_id = get_current_blog_id(); $fields['site_id'] = array( 'label' => __( 'Site ID' ), 'value' => $site_id, 'debug' => $site_id, ); $network_query = new WP_Network_Query(); $network_ids = $network_query->query( array( 'fields' => 'ids', 'number' => 100, 'no_found_rows' => false, ) ); $site_count = 0; foreach ( $network_ids as $network_id ) { $site_count += get_blog_count( $network_id ); } $fields['site_count'] = array( 'label' => __( 'Site count' ), 'value' => $site_count, ); $fields['network_count'] = array( 'label' => __( 'Network count' ), 'value' => $network_query->found_networks, ); } $fields['user_count'] = array( 'label' => __( 'User count' ), 'value' => get_user_count(), ); // WordPress features requiring processing. $wp_dotorg = wp_remote_get( 'https://wordpress.org', array( 'timeout' => 10 ) ); if ( ! is_wp_error( $wp_dotorg ) ) { $fields['dotorg_communication'] = array( 'label' => __( 'Communication with WordPress.org' ), 'value' => __( 'WordPress.org is reachable' ), 'debug' => 'true', ); } else { $fields['dotorg_communication'] = array( 'label' => __( 'Communication with WordPress.org' ), 'value' => sprintf( /* translators: 1: The IP address WordPress.org resolves to. 2: The error returned by the lookup. */ __( 'Unable to reach WordPress.org at %1$s: %2$s' ), gethostbyname( 'wordpress.org' ), $wp_dotorg->get_error_message() ), 'debug' => $wp_dotorg->get_error_message(), ); } return array( 'label' => __( 'WordPress' ), 'fields' => $fields, ); } /** * Gets the WordPress drop-in section of the debug data. * * @since 6.7.0 * * @return array */ private static function get_wp_dropins(): array { // Get a list of all drop-in replacements. $dropins = get_dropins(); // Get drop-ins descriptions. $dropin_descriptions = _get_dropins(); $fields = array(); foreach ( $dropins as $dropin_key => $dropin ) { $fields[ sanitize_text_field( $dropin_key ) ] = array( 'label' => $dropin_key, 'value' => $dropin_descriptions[ $dropin_key ][0], 'debug' => 'true', ); } return array( 'label' => __( 'Drop-ins' ), 'show_count' => true, 'description' => sprintf( /* translators: %s: wp-content directory name. */ __( 'Drop-ins are single files, found in the %s directory, that replace or enhance WordPress features in ways that are not possible for traditional plugins.' ), '<code>' . str_replace( ABSPATH, '', WP_CONTENT_DIR ) . '</code>' ), 'fields' => $fields, ); } /** * Gets the WordPress server section of the debug data. * * @since 6.7.0 * * @return array */ private static function get_wp_server(): array { // Populate the server debug fields. if ( function_exists( 'php_uname' ) ) { $server_architecture = sprintf( '%s %s %s', php_uname( 's' ), php_uname( 'r' ), php_uname( 'm' ) ); } else { $server_architecture = 'unknown'; } $php_version_debug = PHP_VERSION; // Whether PHP supports 64-bit. $php64bit = ( PHP_INT_SIZE * 8 === 64 ); $php_version = sprintf( '%s %s', $php_version_debug, ( $php64bit ? __( '(Supports 64bit values)' ) : __( '(Does not support 64bit values)' ) ) ); if ( $php64bit ) { $php_version_debug .= ' 64bit'; } $fields = array(); $fields['server_architecture'] = array( 'label' => __( 'Server architecture' ), 'value' => ( 'unknown' !== $server_architecture ? $server_architecture : __( 'Unable to determine server architecture' ) ), 'debug' => $server_architecture, ); $fields['httpd_software'] = array( 'label' => __( 'Web server' ), 'value' => ( isset( $_SERVER['SERVER_SOFTWARE'] ) ? $_SERVER['SERVER_SOFTWARE'] : __( 'Unable to determine what web server software is used' ) ), 'debug' => ( isset( $_SERVER['SERVER_SOFTWARE'] ) ? $_SERVER['SERVER_SOFTWARE'] : 'unknown' ), ); $fields['php_version'] = array( 'label' => __( 'PHP version' ), 'value' => $php_version, 'debug' => $php_version_debug, ); $fields['php_sapi'] = array( 'label' => __( 'PHP SAPI' ), 'value' => PHP_SAPI, 'debug' => PHP_SAPI, ); // Some servers disable `ini_set()` and `ini_get()`, we check this before trying to get configuration values. if ( ! function_exists( 'ini_get' ) ) { $fields['ini_get'] = array( 'label' => __( 'Server settings' ), 'value' => sprintf( /* translators: %s: ini_get() */ __( 'Unable to determine some settings, as the %s function has been disabled.' ), 'ini_get()' ), 'debug' => 'ini_get() is disabled', ); } else { $fields['max_input_variables'] = array( 'label' => __( 'PHP max input variables' ), 'value' => ini_get( 'max_input_vars' ), ); $fields['time_limit'] = array( 'label' => __( 'PHP time limit' ), 'value' => ini_get( 'max_execution_time' ), ); if ( WP_Site_Health::get_instance()->php_memory_limit !== ini_get( 'memory_limit' ) ) { $fields['memory_limit'] = array( 'label' => __( 'PHP memory limit' ), 'value' => WP_Site_Health::get_instance()->php_memory_limit, ); $fields['admin_memory_limit'] = array( 'label' => __( 'PHP memory limit (only for admin screens)' ), 'value' => ini_get( 'memory_limit' ), ); } else { $fields['memory_limit'] = array( 'label' => __( 'PHP memory limit' ), 'value' => ini_get( 'memory_limit' ), ); } $fields['max_input_time'] = array( 'label' => __( 'Max input time' ), 'value' => ini_get( 'max_input_time' ), ); $fields['upload_max_filesize'] = array( 'label' => __( 'Upload max filesize' ), 'value' => ini_get( 'upload_max_filesize' ), ); $fields['php_post_max_size'] = array( 'label' => __( 'PHP post max size' ), 'value' => ini_get( 'post_max_size' ), ); } if ( function_exists( 'curl_version' ) ) { $curl = curl_version(); $fields['curl_version'] = array( 'label' => __( 'cURL version' ), 'value' => sprintf( '%s %s', $curl['version'], $curl['ssl_version'] ), ); } else { $fields['curl_version'] = array( 'label' => __( 'cURL version' ), 'value' => __( 'Not available' ), 'debug' => 'not available', ); } // SUHOSIN. $suhosin_loaded = ( extension_loaded( 'suhosin' ) || ( defined( 'SUHOSIN_PATCH' ) && constant( 'SUHOSIN_PATCH' ) ) ); $fields['suhosin'] = array( 'label' => __( 'Is SUHOSIN installed?' ), 'value' => ( $suhosin_loaded ? __( 'Yes' ) : __( 'No' ) ), 'debug' => $suhosin_loaded, ); // Imagick. $imagick_loaded = extension_loaded( 'imagick' ); $fields['imagick_availability'] = array( 'label' => __( 'Is the Imagick library available?' ), 'value' => ( $imagick_loaded ? __( 'Yes' ) : __( 'No' ) ), 'debug' => $imagick_loaded, ); // Pretty permalinks. $pretty_permalinks_supported = got_url_rewrite(); $fields['pretty_permalinks'] = array( 'label' => __( 'Are pretty permalinks supported?' ), 'value' => ( $pretty_permalinks_supported ? __( 'Yes' ) : __( 'No' ) ), 'debug' => $pretty_permalinks_supported, ); // Check if a .htaccess file exists. if ( is_file( ABSPATH . '.htaccess' ) ) { // If the file exists, grab the content of it. $htaccess_content = file_get_contents( ABSPATH . '.htaccess' ); // Filter away the core WordPress rules. $filtered_htaccess_content = trim( preg_replace( '/\# BEGIN WordPress[\s\S]+?# END WordPress/si', '', $htaccess_content ) ); $filtered_htaccess_content = ! empty( $filtered_htaccess_content ); if ( $filtered_htaccess_content ) { /* translators: %s: .htaccess */ $htaccess_rules_string = sprintf( __( 'Custom rules have been added to your %s file.' ), '.htaccess' ); } else { /* translators: %s: .htaccess */ $htaccess_rules_string = sprintf( __( 'Your %s file contains only core WordPress features.' ), '.htaccess' ); } $fields['htaccess_extra_rules'] = array( 'label' => __( '.htaccess rules' ), 'value' => $htaccess_rules_string, 'debug' => $filtered_htaccess_content, ); } // Server time. $date = new DateTime( 'now', new DateTimeZone( 'UTC' ) ); $fields['current'] = array( 'label' => __( 'Current time' ), 'value' => $date->format( DateTime::ATOM ), ); $fields['utc-time'] = array( 'label' => __( 'Current UTC time' ), 'value' => $date->format( DateTime::RFC850 ), ); $fields['server-time'] = array( 'label' => __( 'Current Server time' ), 'value' => wp_date( 'c', $_SERVER['REQUEST_TIME'] ), ); return array( 'label' => __( 'Server' ), 'description' => __( 'The options shown below relate to your server setup. If changes are required, you may need your web host’s assistance.' ), 'fields' => $fields, ); } /** * Gets the WordPress media section of the debug data. * * @since 6.7.0 * * @throws ImagickException * @return array */ private static function get_wp_media(): array { // Spare few function calls. $not_available = __( 'Not available' ); // Populate the media fields. $fields['image_editor'] = array( 'label' => __( 'Active editor' ), 'value' => _wp_image_editor_choose(), ); // Get ImageMagic information, if available. if ( class_exists( 'Imagick' ) ) { // Save the Imagick instance for later use. $imagick = new Imagick(); $imagemagick_version = $imagick->getVersion(); } else { $imagemagick_version = __( 'Not available' ); } $fields['imagick_module_version'] = array( 'label' => __( 'ImageMagick version number' ), 'value' => ( is_array( $imagemagick_version ) ? $imagemagick_version['versionNumber'] : $imagemagick_version ), ); $fields['imagemagick_version'] = array( 'label' => __( 'ImageMagick version string' ), 'value' => ( is_array( $imagemagick_version ) ? $imagemagick_version['versionString'] : $imagemagick_version ), ); $imagick_version = phpversion( 'imagick' ); $fields['imagick_version'] = array( 'label' => __( 'Imagick version' ), 'value' => ( $imagick_version ) ? $imagick_version : __( 'Not available' ), ); if ( ! function_exists( 'ini_get' ) ) { $fields['ini_get'] = array( 'label' => __( 'File upload settings' ), 'value' => sprintf( /* translators: %s: ini_get() */ __( 'Unable to determine some settings, as the %s function has been disabled.' ), 'ini_get()' ), 'debug' => 'ini_get() is disabled', ); } else { // Get the PHP ini directive values. $file_uploads = ini_get( 'file_uploads' ); $post_max_size = ini_get( 'post_max_size' ); $upload_max_filesize = ini_get( 'upload_max_filesize' ); $max_file_uploads = ini_get( 'max_file_uploads' ); $effective = min( wp_convert_hr_to_bytes( $post_max_size ), wp_convert_hr_to_bytes( $upload_max_filesize ) ); // Add info in Media section. $fields['file_uploads'] = array( 'label' => __( 'File uploads' ), 'value' => $file_uploads ? __( 'Enabled' ) : __( 'Disabled' ), 'debug' => $file_uploads, ); $fields['post_max_size'] = array( 'label' => __( 'Max size of post data allowed' ), 'value' => $post_max_size, ); $fields['upload_max_filesize'] = array( 'label' => __( 'Max size of an uploaded file' ), 'value' => $upload_max_filesize, ); $fields['max_effective_size'] = array( 'label' => __( 'Max effective file size' ), 'value' => size_format( $effective ), ); $fields['max_file_uploads'] = array( 'label' => __( 'Max simultaneous file uploads' ), 'value' => $max_file_uploads, ); } // If Imagick is used as our editor, provide some more information about its limitations. if ( 'WP_Image_Editor_Imagick' === _wp_image_editor_choose() && isset( $imagick ) && $imagick instanceof Imagick ) { $limits = array( 'area' => ( defined( 'imagick::RESOURCETYPE_AREA' ) ? size_format( $imagick->getResourceLimit( imagick::RESOURCETYPE_AREA ) ) : $not_available ), 'disk' => ( defined( 'imagick::RESOURCETYPE_DISK' ) ? $imagick->getResourceLimit( imagick::RESOURCETYPE_DISK ) : $not_available ), 'file' => ( defined( 'imagick::RESOURCETYPE_FILE' ) ? $imagick->getResourceLimit( imagick::RESOURCETYPE_FILE ) : $not_available ), 'map' => ( defined( 'imagick::RESOURCETYPE_MAP' ) ? size_format( $imagick->getResourceLimit( imagick::RESOURCETYPE_MAP ) ) : $not_available ), 'memory' => ( defined( 'imagick::RESOURCETYPE_MEMORY' ) ? size_format( $imagick->getResourceLimit( imagick::RESOURCETYPE_MEMORY ) ) : $not_available ), 'thread' => ( defined( 'imagick::RESOURCETYPE_THREAD' ) ? $imagick->getResourceLimit( imagick::RESOURCETYPE_THREAD ) : $not_available ), 'time' => ( defined( 'imagick::RESOURCETYPE_TIME' ) ? $imagick->getResourceLimit( imagick::RESOURCETYPE_TIME ) : $not_available ), ); $limits_debug = array( 'imagick::RESOURCETYPE_AREA' => ( defined( 'imagick::RESOURCETYPE_AREA' ) ? size_format( $imagick->getResourceLimit( imagick::RESOURCETYPE_AREA ) ) : 'not available' ), 'imagick::RESOURCETYPE_DISK' => ( defined( 'imagick::RESOURCETYPE_DISK' ) ? $imagick->getResourceLimit( imagick::RESOURCETYPE_DISK ) : 'not available' ), 'imagick::RESOURCETYPE_FILE' => ( defined( 'imagick::RESOURCETYPE_FILE' ) ? $imagick->getResourceLimit( imagick::RESOURCETYPE_FILE ) : 'not available' ), 'imagick::RESOURCETYPE_MAP' => ( defined( 'imagick::RESOURCETYPE_MAP' ) ? size_format( $imagick->getResourceLimit( imagick::RESOURCETYPE_MAP ) ) : 'not available' ), 'imagick::RESOURCETYPE_MEMORY' => ( defined( 'imagick::RESOURCETYPE_MEMORY' ) ? size_format( $imagick->getResourceLimit( imagick::RESOURCETYPE_MEMORY ) ) : 'not available' ), 'imagick::RESOURCETYPE_THREAD' => ( defined( 'imagick::RESOURCETYPE_THREAD' ) ? $imagick->getResourceLimit( imagick::RESOURCETYPE_THREAD ) : 'not available' ), 'imagick::RESOURCETYPE_TIME' => ( defined( 'imagick::RESOURCETYPE_TIME' ) ? $imagick->getResourceLimit( imagick::RESOURCETYPE_TIME ) : 'not available' ), ); $fields['imagick_limits'] = array( 'label' => __( 'Imagick Resource Limits' ), 'value' => $limits, 'debug' => $limits_debug, ); try { $formats = Imagick::queryFormats( '*' ); } catch ( Exception $e ) { $formats = array(); } $fields['imagemagick_file_formats'] = array( 'label' => __( 'ImageMagick supported file formats' ), 'value' => ( empty( $formats ) ) ? __( 'Unable to determine' ) : implode( ', ', $formats ), 'debug' => ( empty( $formats ) ) ? 'Unable to determine' : implode( ', ', $formats ), ); } // Get GD information, if available. if ( function_exists( 'gd_info' ) ) { $gd = gd_info(); } else { $gd = false; } $fields['gd_version'] = array( 'label' => __( 'GD version' ), 'value' => ( is_array( $gd ) ? $gd['GD Version'] : $not_available ), 'debug' => ( is_array( $gd ) ? $gd['GD Version'] : 'not available' ), ); $gd_image_formats = array(); $gd_supported_formats = array( 'GIF Create' => 'GIF', 'JPEG' => 'JPEG', 'PNG' => 'PNG', 'WebP' => 'WebP', 'BMP' => 'BMP', 'AVIF' => 'AVIF', 'HEIF' => 'HEIF', 'TIFF' => 'TIFF', 'XPM' => 'XPM', ); foreach ( $gd_supported_formats as $format_key => $format ) { $index = $format_key . ' Support'; if ( isset( $gd[ $index ] ) && $gd[ $index ] ) { array_push( $gd_image_formats, $format ); } } if ( ! empty( $gd_image_formats ) ) { $fields['gd_formats'] = array( 'label' => __( 'GD supported file formats' ), 'value' => implode( ', ', $gd_image_formats ), ); } // Get Ghostscript information, if available. if ( function_exists( 'exec' ) ) { $gs = exec( 'gs --version' ); if ( empty( $gs ) ) { $gs = $not_available; $gs_debug = 'not available'; } else { $gs_debug = $gs; } } else { $gs = __( 'Unable to determine if Ghostscript is installed' ); $gs_debug = 'unknown'; } $fields['ghostscript_version'] = array( 'label' => __( 'Ghostscript version' ), 'value' => $gs, 'debug' => $gs_debug, ); return array( 'label' => __( 'Media Handling' ), 'fields' => $fields, ); } /** * Gets the WordPress MU plugins section of the debug data. * * @since 6.7.0 * * @return array */ private static function get_wp_mu_plugins(): array { // List must use plugins if there are any. $mu_plugins = get_mu_plugins(); $fields = array(); foreach ( $mu_plugins as $plugin_path => $plugin ) { $plugin_version = $plugin['Version']; $plugin_author = $plugin['Author']; $plugin_version_string = __( 'No version or author information is available.' ); $plugin_version_string_debug = 'author: (undefined), version: (undefined)'; if ( ! empty( $plugin_version ) && ! empty( $plugin_author ) ) { /* translators: 1: Plugin version number. 2: Plugin author name. */ $plugin_version_string = sprintf( __( 'Version %1$s by %2$s' ), $plugin_version, $plugin_author ); $plugin_version_string_debug = sprintf( 'version: %s, author: %s', $plugin_version, $plugin_author ); } else { if ( ! empty( $plugin_author ) ) { /* translators: %s: Plugin author name. */ $plugin_version_string = sprintf( __( 'By %s' ), $plugin_author ); $plugin_version_string_debug = sprintf( 'author: %s, version: (undefined)', $plugin_author ); } if ( ! empty( $plugin_version ) ) { /* translators: %s: Plugin version number. */ $plugin_version_string = sprintf( __( 'Version %s' ), $plugin_version ); $plugin_version_string_debug = sprintf( 'author: (undefined), version: %s', $plugin_version ); } } $fields[ sanitize_text_field( $plugin['Name'] ) ] = array( 'label' => $plugin['Name'], 'value' => $plugin_version_string, 'debug' => $plugin_version_string_debug, ); } return array( 'label' => __( 'Must Use Plugins' ), 'show_count' => true, 'fields' => $fields, ); } /** * Gets the WordPress paths and sizes section of the debug data. * * @since 6.7.0 * * @return array|null Paths and sizes debug data for single sites, * otherwise `null` for multi-site installs. */ private static function get_wp_paths_sizes(): ?array { if ( is_multisite() ) { return null; } $loading = __( 'Loading…' ); $fields = array( 'wordpress_path' => array( 'label' => __( 'WordPress directory location' ), 'value' => untrailingslashit( ABSPATH ), ), 'wordpress_size' => array( 'label' => __( 'WordPress directory size' ), 'value' => $loading, 'debug' => 'loading...', ), 'uploads_path' => array( 'label' => __( 'Uploads directory location' ), 'value' => wp_upload_dir()['basedir'], ), 'uploads_size' => array( 'label' => __( 'Uploads directory size' ), 'value' => $loading, 'debug' => 'loading...', ), 'themes_path' => array( 'label' => __( 'Themes directory location' ), 'value' => get_theme_root(), ), 'themes_size' => array( 'label' => __( 'Themes directory size' ), 'value' => $loading, 'debug' => 'loading...', ), 'plugins_path' => array( 'label' => __( 'Plugins directory location' ), 'value' => WP_PLUGIN_DIR, ), 'plugins_size' => array( 'label' => __( 'Plugins directory size' ), 'value' => $loading, 'debug' => 'loading...', ), 'fonts_path' => array( 'label' => __( 'Fonts directory location' ), 'value' => wp_get_font_dir()['basedir'], ), 'fonts_size' => array( 'label' => __( 'Fonts directory size' ), 'value' => $loading, 'debug' => 'loading...', ), 'database_size' => array( 'label' => __( 'Database size' ), 'value' => $loading, 'debug' => 'loading...', ), 'total_size' => array( 'label' => __( 'Total installation size' ), 'value' => $loading, 'debug' => 'loading...', ), ); return array( /* translators: Filesystem directory paths and storage sizes. */ 'label' => __( 'Directories and Sizes' ), 'fields' => $fields, ); } /** * Gets the WordPress active plugins section of the debug data. * * @since 6.7.0 * * @return array */ private static function get_wp_plugins_active(): array { return array( 'label' => __( 'Active Plugins' ), 'show_count' => true, 'fields' => self::get_wp_plugins_raw_data()['wp-plugins-active'], ); } /** * Gets the WordPress inactive plugins section of the debug data. * * @since 6.7.0 * * @return array */ private static function get_wp_plugins_inactive(): array { return array( 'label' => __( 'Inactive Plugins' ), 'show_count' => true, 'fields' => self::get_wp_plugins_raw_data()['wp-plugins-inactive'], ); } /** * Gets the raw plugin data for the WordPress active and inactive sections of the debug data. * * @since 6.7.0 * * @return array */ private static function get_wp_plugins_raw_data(): array { // List all available plugins. $plugins = get_plugins(); $plugin_updates = get_plugin_updates(); $transient = get_site_transient( 'update_plugins' ); $auto_updates = array(); $fields = array( 'wp-plugins-active' => array(), 'wp-plugins-inactive' => array(), ); $auto_updates_enabled = wp_is_auto_update_enabled_for_type( 'plugin' ); if ( $auto_updates_enabled ) { $auto_updates = (array) get_site_option( 'auto_update_plugins', array() ); } foreach ( $plugins as $plugin_path => $plugin ) { $plugin_part = ( is_plugin_active( $plugin_path ) ) ? 'wp-plugins-active' : 'wp-plugins-inactive'; $plugin_version = $plugin['Version']; $plugin_author = $plugin['Author']; $plugin_version_string = __( 'No version or author information is available.' ); $plugin_version_string_debug = 'author: (undefined), version: (undefined)'; if ( ! empty( $plugin_version ) && ! empty( $plugin_author ) ) { /* translators: 1: Plugin version number. 2: Plugin author name. */ $plugin_version_string = sprintf( __( 'Version %1$s by %2$s' ), $plugin_version, $plugin_author ); $plugin_version_string_debug = sprintf( 'version: %s, author: %s', $plugin_version, $plugin_author ); } else { if ( ! empty( $plugin_author ) ) { /* translators: %s: Plugin author name. */ $plugin_version_string = sprintf( __( 'By %s' ), $plugin_author ); $plugin_version_string_debug = sprintf( 'author: %s, version: (undefined)', $plugin_author ); } if ( ! empty( $plugin_version ) ) { /* translators: %s: Plugin version number. */ $plugin_version_string = sprintf( __( 'Version %s' ), $plugin_version ); $plugin_version_string_debug = sprintf( 'author: (undefined), version: %s', $plugin_version ); } } if ( array_key_exists( $plugin_path, $plugin_updates ) ) { /* translators: %s: Latest plugin version number. */ $plugin_version_string .= ' ' . sprintf( __( '(Latest version: %s)' ), $plugin_updates[ $plugin_path ]->update->new_version ); $plugin_version_string_debug .= sprintf( ' (latest version: %s)', $plugin_updates[ $plugin_path ]->update->new_version ); } if ( $auto_updates_enabled ) { if ( isset( $transient->response[ $plugin_path ] ) ) { $item = $transient->response[ $plugin_path ]; } elseif ( isset( $transient->no_update[ $plugin_path ] ) ) { $item = $transient->no_update[ $plugin_path ]; } else { $item = array( 'id' => $plugin_path, 'slug' => '', 'plugin' => $plugin_path, 'new_version' => '', 'url' => '', 'package' => '', 'icons' => array(), 'banners' => array(), 'banners_rtl' => array(), 'tested' => '', 'requires_php' => '', 'compatibility' => new stdClass(), ); $item = wp_parse_args( $plugin, $item ); } $auto_update_forced = wp_is_auto_update_forced_for_item( 'plugin', null, (object) $item ); if ( ! is_null( $auto_update_forced ) ) { $enabled = $auto_update_forced; } else { $enabled = in_array( $plugin_path, $auto_updates, true ); } if ( $enabled ) { $auto_updates_string = __( 'Auto-updates enabled' ); } else { $auto_updates_string = __( 'Auto-updates disabled' ); } /** * Filters the text string of the auto-updates setting for each plugin in the Site Health debug data. * * @since 5.5.0 * * @param string $auto_updates_string The string output for the auto-updates column. * @param string $plugin_path The path to the plugin file. * @param array $plugin An array of plugin data. * @param bool $enabled Whether auto-updates are enabled for this item. */ $auto_updates_string = apply_filters( 'plugin_auto_update_debug_string', $auto_updates_string, $plugin_path, $plugin, $enabled ); $plugin_version_string .= ' | ' . $auto_updates_string; $plugin_version_string_debug .= ', ' . $auto_updates_string; } $fields[ $plugin_part ][ sanitize_text_field( $plugin['Name'] ) ] = array( 'label' => $plugin['Name'], 'value' => $plugin_version_string, 'debug' => $plugin_version_string_debug, ); } return $fields; } /** * Gets the WordPress active theme section of the debug data. * * @since 6.7.0 * * @global array $_wp_theme_features * * @return array */ private static function get_wp_active_theme(): array { global $_wp_theme_features; // Populate the section for the currently active theme. $theme_features = array(); if ( ! empty( $_wp_theme_features ) ) { foreach ( $_wp_theme_features as $feature => $options ) { $theme_features[] = $feature; } } $active_theme = wp_get_theme(); $theme_updates = get_theme_updates(); $transient = get_site_transient( 'update_themes' ); $active_theme_version = $active_theme->version; $active_theme_version_debug = $active_theme_version; $auto_updates = array(); $auto_updates_enabled = wp_is_auto_update_enabled_for_type( 'theme' ); if ( $auto_updates_enabled ) { $auto_updates = (array) get_site_option( 'auto_update_themes', array() ); } if ( array_key_exists( $active_theme->stylesheet, $theme_updates ) ) { $theme_update_new_version = $theme_updates[ $active_theme->stylesheet ]->update['new_version']; /* translators: %s: Latest theme version number. */ $active_theme_version .= ' ' . sprintf( __( '(Latest version: %s)' ), $theme_update_new_version ); $active_theme_version_debug .= sprintf( ' (latest version: %s)', $theme_update_new_version ); } $active_theme_author_uri = $active_theme->display( 'AuthorURI' ); if ( $active_theme->parent_theme ) { $active_theme_parent_theme = sprintf( /* translators: 1: Theme name. 2: Theme slug. */ __( '%1$s (%2$s)' ), $active_theme->parent_theme, $active_theme->template ); $active_theme_parent_theme_debug = sprintf( '%s (%s)', $active_theme->parent_theme, $active_theme->template ); } else { $active_theme_parent_theme = __( 'None' ); $active_theme_parent_theme_debug = 'none'; } $fields = array( 'name' => array( 'label' => __( 'Name' ), 'value' => sprintf( /* translators: 1: Theme name. 2: Theme slug. */ __( '%1$s (%2$s)' ), $active_theme->name, $active_theme->stylesheet ), ), 'version' => array( 'label' => __( 'Version' ), 'value' => $active_theme_version, 'debug' => $active_theme_version_debug, ), 'author' => array( 'label' => __( 'Author' ), 'value' => wp_kses( $active_theme->author, array() ), ), 'author_website' => array( 'label' => __( 'Author website' ), 'value' => ( $active_theme_author_uri ? $active_theme_author_uri : __( 'Undefined' ) ), 'debug' => ( $active_theme_author_uri ? $active_theme_author_uri : '(undefined)' ), ), 'parent_theme' => array( 'label' => __( 'Parent theme' ), 'value' => $active_theme_parent_theme, 'debug' => $active_theme_parent_theme_debug, ), 'theme_features' => array( 'label' => __( 'Theme features' ), 'value' => implode( ', ', $theme_features ), ), 'theme_path' => array( 'label' => __( 'Theme directory location' ), 'value' => get_stylesheet_directory(), ), ); if ( $auto_updates_enabled ) { if ( isset( $transient->response[ $active_theme->stylesheet ] ) ) { $item = $transient->response[ $active_theme->stylesheet ]; } elseif ( isset( $transient->no_update[ $active_theme->stylesheet ] ) ) { $item = $transient->no_update[ $active_theme->stylesheet ]; } else { $item = array( 'theme' => $active_theme->stylesheet, 'new_version' => $active_theme->version, 'url' => '', 'package' => '', 'requires' => '', 'requires_php' => '', ); } $auto_update_forced = wp_is_auto_update_forced_for_item( 'theme', null, (object) $item ); if ( ! is_null( $auto_update_forced ) ) { $enabled = $auto_update_forced; } else { $enabled = in_array( $active_theme->stylesheet, $auto_updates, true ); } if ( $enabled ) { $auto_updates_string = __( 'Enabled' ); } else { $auto_updates_string = __( 'Disabled' ); } /** This filter is documented in wp-admin/includes/class-wp-debug-data.php */ $auto_updates_string = apply_filters( 'theme_auto_update_debug_string', $auto_updates_string, $active_theme, $enabled ); $fields['auto_update'] = array( 'label' => __( 'Auto-updates' ), 'value' => $auto_updates_string, 'debug' => $auto_updates_string, ); } return array( 'label' => __( 'Active Theme' ), 'fields' => $fields, ); } /** * Gets the WordPress parent theme section of the debug data. * * @since 6.7.0 * * @return array */ private static function get_wp_parent_theme(): array { $theme_updates = get_theme_updates(); $transient = get_site_transient( 'update_themes' ); $auto_updates = array(); $auto_updates_enabled = wp_is_auto_update_enabled_for_type( 'theme' ); if ( $auto_updates_enabled ) { $auto_updates = (array) get_site_option( 'auto_update_themes', array() ); } $active_theme = wp_get_theme(); $parent_theme = $active_theme->parent(); $fields = array(); if ( $parent_theme ) { $parent_theme_version = $parent_theme->version; $parent_theme_version_debug = $parent_theme_version; if ( array_key_exists( $parent_theme->stylesheet, $theme_updates ) ) { $parent_theme_update_new_version = $theme_updates[ $parent_theme->stylesheet ]->update['new_version']; /* translators: %s: Latest theme version number. */ $parent_theme_version .= ' ' . sprintf( __( '(Latest version: %s)' ), $parent_theme_update_new_version ); $parent_theme_version_debug .= sprintf( ' (latest version: %s)', $parent_theme_update_new_version ); } $parent_theme_author_uri = $parent_theme->display( 'AuthorURI' ); $fields = array( 'name' => array( 'label' => __( 'Name' ), 'value' => sprintf( /* translators: 1: Theme name. 2: Theme slug. */ __( '%1$s (%2$s)' ), $parent_theme->name, $parent_theme->stylesheet ), ), 'version' => array( 'label' => __( 'Version' ), 'value' => $parent_theme_version, 'debug' => $parent_theme_version_debug, ), 'author' => array( 'label' => __( 'Author' ), 'value' => wp_kses( $parent_theme->author, array() ), ), 'author_website' => array( 'label' => __( 'Author website' ), 'value' => ( $parent_theme_author_uri ? $parent_theme_author_uri : __( 'Undefined' ) ), 'debug' => ( $parent_theme_author_uri ? $parent_theme_author_uri : '(undefined)' ), ), 'theme_path' => array( 'label' => __( 'Theme directory location' ), 'value' => get_template_directory(), ), ); if ( $auto_updates_enabled ) { if ( isset( $transient->response[ $parent_theme->stylesheet ] ) ) { $item = $transient->response[ $parent_theme->stylesheet ]; } elseif ( isset( $transient->no_update[ $parent_theme->stylesheet ] ) ) { $item = $transient->no_update[ $parent_theme->stylesheet ]; } else { $item = array( 'theme' => $parent_theme->stylesheet, 'new_version' => $parent_theme->version, 'url' => '', 'package' => '', 'requires' => '', 'requires_php' => '', ); } $auto_update_forced = wp_is_auto_update_forced_for_item( 'theme', null, (object) $item ); if ( ! is_null( $auto_update_forced ) ) { $enabled = $auto_update_forced; } else { $enabled = in_array( $parent_theme->stylesheet, $auto_updates, true ); } if ( $enabled ) { $parent_theme_auto_update_string = __( 'Enabled' ); } else { $parent_theme_auto_update_string = __( 'Disabled' ); } /** This filter is documented in wp-admin/includes/class-wp-debug-data.php */ $parent_theme_auto_update_string = apply_filters( 'theme_auto_update_debug_string', $parent_theme_auto_update_string, $parent_theme, $enabled ); $fields['auto_update'] = array( 'label' => __( 'Auto-update' ), 'value' => $parent_theme_auto_update_string, 'debug' => $parent_theme_auto_update_string, ); } } return array( 'label' => __( 'Parent Theme' ), 'fields' => $fields, ); } /** * Gets the WordPress inactive themes section of the debug data. * * @since 6.7.0 * * @return array */ private static function get_wp_themes_inactive(): array { $active_theme = wp_get_theme(); $parent_theme = $active_theme->parent(); $theme_updates = get_theme_updates(); $auto_updates = array(); $auto_updates_enabled = wp_is_auto_update_enabled_for_type( 'theme' ); if ( $auto_updates_enabled ) { $auto_updates = (array) get_site_option( 'auto_update_themes', array() ); } // Populate a list of all themes available in the installation. $all_themes = wp_get_themes(); $fields = array(); foreach ( $all_themes as $theme_slug => $theme ) { // Exclude the currently active theme from the list of all themes. if ( $active_theme->stylesheet === $theme_slug ) { continue; } // Exclude the currently active parent theme from the list of all themes. if ( ! empty( $parent_theme ) && $parent_theme->stylesheet === $theme_slug ) { continue; } $theme_version = $theme->version; $theme_author = $theme->author; // Sanitize. $theme_author = wp_kses( $theme_author, array() ); $theme_version_string = __( 'No version or author information is available.' ); $theme_version_string_debug = 'undefined'; if ( ! empty( $theme_version ) && ! empty( $theme_author ) ) { /* translators: 1: Theme version number. 2: Theme author name. */ $theme_version_string = sprintf( __( 'Version %1$s by %2$s' ), $theme_version, $theme_author ); $theme_version_string_debug = sprintf( 'version: %s, author: %s', $theme_version, $theme_author ); } else { if ( ! empty( $theme_author ) ) { /* translators: %s: Theme author name. */ $theme_version_string = sprintf( __( 'By %s' ), $theme_author ); $theme_version_string_debug = sprintf( 'author: %s, version: (undefined)', $theme_author ); } if ( ! empty( $theme_version ) ) { /* translators: %s: Theme version number. */ $theme_version_string = sprintf( __( 'Version %s' ), $theme_version ); $theme_version_string_debug = sprintf( 'author: (undefined), version: %s', $theme_version ); } } if ( array_key_exists( $theme_slug, $theme_updates ) ) { /* translators: %s: Latest theme version number. */ $theme_version_string .= ' ' . sprintf( __( '(Latest version: %s)' ), $theme_updates[ $theme_slug ]->update['new_version'] ); $theme_version_string_debug .= sprintf( ' (latest version: %s)', $theme_updates[ $theme_slug ]->update['new_version'] ); } if ( $auto_updates_enabled ) { if ( isset( $transient->response[ $theme_slug ] ) ) { $item = $transient->response[ $theme_slug ]; } elseif ( isset( $transient->no_update[ $theme_slug ] ) ) { $item = $transient->no_update[ $theme_slug ]; } else { $item = array( 'theme' => $theme_slug, 'new_version' => $theme->version, 'url' => '', 'package' => '', 'requires' => '', 'requires_php' => '', ); } $auto_update_forced = wp_is_auto_update_forced_for_item( 'theme', null, (object) $item ); if ( ! is_null( $auto_update_forced ) ) { $enabled = $auto_update_forced; } else { $enabled = in_array( $theme_slug, $auto_updates, true ); } if ( $enabled ) { $auto_updates_string = __( 'Auto-updates enabled' ); } else { $auto_updates_string = __( 'Auto-updates disabled' ); } /** * Filters the text string of the auto-updates setting for each theme in the Site Health debug data. * * @since 5.5.0 * * @param string $auto_updates_string The string output for the auto-updates column. * @param WP_Theme $theme An object of theme data. * @param bool $enabled Whether auto-updates are enabled for this item. */ $auto_updates_string = apply_filters( 'theme_auto_update_debug_string', $auto_updates_string, $theme, $enabled ); $theme_version_string .= ' | ' . $auto_updates_string; $theme_version_string_debug .= ', ' . $auto_updates_string; } $fields[ sanitize_text_field( $theme->name ) ] = array( 'label' => sprintf( /* translators: 1: Theme name. 2: Theme slug. */ __( '%1$s (%2$s)' ), $theme->name, $theme_slug ), 'value' => $theme_version_string, 'debug' => $theme_version_string_debug, ); } return array( 'label' => __( 'Inactive Themes' ), 'show_count' => true, 'fields' => $fields, ); } /** * Gets the WordPress constants section of the debug data. * * @since 6.7.0 * * @return array */ private static function get_wp_constants(): array { // Check if WP_DEBUG_LOG is set. $wp_debug_log_value = __( 'Disabled' ); if ( is_string( WP_DEBUG_LOG ) ) { $wp_debug_log_value = WP_DEBUG_LOG; } elseif ( WP_DEBUG_LOG ) { $wp_debug_log_value = __( 'Enabled' ); } // Check CONCATENATE_SCRIPTS. if ( defined( 'CONCATENATE_SCRIPTS' ) ) { $concatenate_scripts = CONCATENATE_SCRIPTS ? __( 'Enabled' ) : __( 'Disabled' ); $concatenate_scripts_debug = CONCATENATE_SCRIPTS ? 'true' : 'false'; } else { $concatenate_scripts = __( 'Undefined' ); $concatenate_scripts_debug = 'undefined'; } // Check COMPRESS_SCRIPTS. if ( defined( 'COMPRESS_SCRIPTS' ) ) { $compress_scripts = COMPRESS_SCRIPTS ? __( 'Enabled' ) : __( 'Disabled' ); $compress_scripts_debug = COMPRESS_SCRIPTS ? 'true' : 'false'; } else { $compress_scripts = __( 'Undefined' ); $compress_scripts_debug = 'undefined'; } // Check COMPRESS_CSS. if ( defined( 'COMPRESS_CSS' ) ) { $compress_css = COMPRESS_CSS ? __( 'Enabled' ) : __( 'Disabled' ); $compress_css_debug = COMPRESS_CSS ? 'true' : 'false'; } else { $compress_css = __( 'Undefined' ); $compress_css_debug = 'undefined'; } // Check WP_ENVIRONMENT_TYPE. if ( defined( 'WP_ENVIRONMENT_TYPE' ) ) { $wp_environment_type = WP_ENVIRONMENT_TYPE ? WP_ENVIRONMENT_TYPE : __( 'Empty value' ); $wp_environment_type_debug = WP_ENVIRONMENT_TYPE; } else { $wp_environment_type = __( 'Undefined' ); $wp_environment_type_debug = 'undefined'; } // Check DB_COLLATE. if ( defined( 'DB_COLLATE' ) ) { $db_collate = DB_COLLATE ? DB_COLLATE : __( 'Empty value' ); $db_collate_debug = DB_COLLATE; } else { $db_collate = __( 'Undefined' ); $db_collate_debug = 'undefined'; } $fields = array( 'ABSPATH' => array( 'label' => 'ABSPATH', 'value' => ABSPATH, 'private' => true, ), 'WP_HOME' => array( 'label' => 'WP_HOME', 'value' => ( defined( 'WP_HOME' ) ? WP_HOME : __( 'Undefined' ) ), 'debug' => ( defined( 'WP_HOME' ) ? WP_HOME : 'undefined' ), ), 'WP_SITEURL' => array( 'label' => 'WP_SITEURL', 'value' => ( defined( 'WP_SITEURL' ) ? WP_SITEURL : __( 'Undefined' ) ), 'debug' => ( defined( 'WP_SITEURL' ) ? WP_SITEURL : 'undefined' ), ), 'WP_CONTENT_DIR' => array( 'label' => 'WP_CONTENT_DIR', 'value' => WP_CONTENT_DIR, ), 'WP_PLUGIN_DIR' => array( 'label' => 'WP_PLUGIN_DIR', 'value' => WP_PLUGIN_DIR, ), 'WP_MEMORY_LIMIT' => array( 'label' => 'WP_MEMORY_LIMIT', 'value' => WP_MEMORY_LIMIT, ), 'WP_MAX_MEMORY_LIMIT' => array( 'label' => 'WP_MAX_MEMORY_LIMIT', 'value' => WP_MAX_MEMORY_LIMIT, ), 'WP_DEBUG' => array( 'label' => 'WP_DEBUG', 'value' => WP_DEBUG ? __( 'Enabled' ) : __( 'Disabled' ), 'debug' => WP_DEBUG, ), 'WP_DEBUG_DISPLAY' => array( 'label' => 'WP_DEBUG_DISPLAY', 'value' => WP_DEBUG_DISPLAY ? __( 'Enabled' ) : __( 'Disabled' ), 'debug' => WP_DEBUG_DISPLAY, ), 'WP_DEBUG_LOG' => array( 'label' => 'WP_DEBUG_LOG', 'value' => $wp_debug_log_value, 'debug' => WP_DEBUG_LOG, ), 'SCRIPT_DEBUG' => array( 'label' => 'SCRIPT_DEBUG', 'value' => SCRIPT_DEBUG ? __( 'Enabled' ) : __( 'Disabled' ), 'debug' => SCRIPT_DEBUG, ), 'WP_CACHE' => array( 'label' => 'WP_CACHE', 'value' => WP_CACHE ? __( 'Enabled' ) : __( 'Disabled' ), 'debug' => WP_CACHE, ), 'CONCATENATE_SCRIPTS' => array( 'label' => 'CONCATENATE_SCRIPTS', 'value' => $concatenate_scripts, 'debug' => $concatenate_scripts_debug, ), 'COMPRESS_SCRIPTS' => array( 'label' => 'COMPRESS_SCRIPTS', 'value' => $compress_scripts, 'debug' => $compress_scripts_debug, ), 'COMPRESS_CSS' => array( 'label' => 'COMPRESS_CSS', 'value' => $compress_css, 'debug' => $compress_css_debug, ), 'WP_ENVIRONMENT_TYPE' => array( 'label' => 'WP_ENVIRONMENT_TYPE', 'value' => $wp_environment_type, 'debug' => $wp_environment_type_debug, ), 'WP_DEVELOPMENT_MODE' => array( 'label' => 'WP_DEVELOPMENT_MODE', 'value' => WP_DEVELOPMENT_MODE ? WP_DEVELOPMENT_MODE : __( 'Disabled' ), 'debug' => WP_DEVELOPMENT_MODE, ), 'DB_CHARSET' => array( 'label' => 'DB_CHARSET', 'value' => ( defined( 'DB_CHARSET' ) ? DB_CHARSET : __( 'Undefined' ) ), 'debug' => ( defined( 'DB_CHARSET' ) ? DB_CHARSET : 'undefined' ), ), 'DB_COLLATE' => array( 'label' => 'DB_COLLATE', 'value' => $db_collate, 'debug' => $db_collate_debug, ), ); return array( 'label' => __( 'WordPress Constants' ), 'description' => __( 'These settings alter where and how parts of WordPress are loaded.' ), 'fields' => $fields, ); } /** * Gets the WordPress database section of the debug data. * * @since 6.7.0 * * @global wpdb $wpdb WordPress database abstraction object. * * @return array */ private static function get_wp_database(): array { global $wpdb; // Populate the database debug fields. if ( is_object( $wpdb->dbh ) ) { // mysqli or PDO. $extension = get_class( $wpdb->dbh ); } else { // Unknown sql extension. $extension = null; } $server = $wpdb->get_var( 'SELECT VERSION()' ); $client_version = $wpdb->dbh->client_info; $fields = array( 'extension' => array( 'label' => __( 'Database Extension' ), 'value' => $extension, ), 'server_version' => array( 'label' => __( 'Server version' ), 'value' => $server, ), 'client_version' => array( 'label' => __( 'Client version' ), 'value' => $client_version, ), 'database_user' => array( 'label' => __( 'Database username' ), 'value' => $wpdb->dbuser, 'private' => true, ), 'database_host' => array( 'label' => __( 'Database host' ), 'value' => $wpdb->dbhost, 'private' => true, ), 'database_name' => array( 'label' => __( 'Database name' ), 'value' => $wpdb->dbname, 'private' => true, ), 'database_prefix' => array( 'label' => __( 'Table prefix' ), 'value' => $wpdb->prefix, 'private' => true, ), 'database_charset' => array( 'label' => __( 'Database charset' ), 'value' => $wpdb->charset, 'private' => true, ), 'database_collate' => array( 'label' => __( 'Database collation' ), 'value' => $wpdb->collate, 'private' => true, ), 'max_allowed_packet' => array( 'label' => __( 'Max allowed packet size' ), 'value' => self::get_mysql_var( 'max_allowed_packet' ), ), 'max_connections' => array( 'label' => __( 'Max connections number' ), 'value' => self::get_mysql_var( 'max_connections' ), ), ); return array( 'label' => __( 'Database' ), 'fields' => $fields, ); } /** * Gets the file system section of the debug data. * * @since 6.7.0 * * @return array */ private static function get_wp_filesystem(): array { $upload_dir = wp_upload_dir(); $is_writable_abspath = wp_is_writable( ABSPATH ); $is_writable_wp_content_dir = wp_is_writable( WP_CONTENT_DIR ); $is_writable_upload_dir = wp_is_writable( $upload_dir['basedir'] ); $is_writable_wp_plugin_dir = wp_is_writable( WP_PLUGIN_DIR ); $is_writable_template_directory = wp_is_writable( get_theme_root( get_template() ) ); $is_writable_fonts_dir = wp_is_writable( wp_get_font_dir()['basedir'] ); $fields = array( 'wordpress' => array( 'label' => __( 'The main WordPress directory' ), 'value' => ( $is_writable_abspath ? __( 'Writable' ) : __( 'Not writable' ) ), 'debug' => ( $is_writable_abspath ? 'writable' : 'not writable' ), ), 'wp-content' => array( 'label' => __( 'The wp-content directory' ), 'value' => ( $is_writable_wp_content_dir ? __( 'Writable' ) : __( 'Not writable' ) ), 'debug' => ( $is_writable_wp_content_dir ? 'writable' : 'not writable' ), ), 'uploads' => array( 'label' => __( 'The uploads directory' ), 'value' => ( $is_writable_upload_dir ? __( 'Writable' ) : __( 'Not writable' ) ), 'debug' => ( $is_writable_upload_dir ? 'writable' : 'not writable' ), ), 'plugins' => array( 'label' => __( 'The plugins directory' ), 'value' => ( $is_writable_wp_plugin_dir ? __( 'Writable' ) : __( 'Not writable' ) ), 'debug' => ( $is_writable_wp_plugin_dir ? 'writable' : 'not writable' ), ), 'themes' => array( 'label' => __( 'The themes directory' ), 'value' => ( $is_writable_template_directory ? __( 'Writable' ) : __( 'Not writable' ) ), 'debug' => ( $is_writable_template_directory ? 'writable' : 'not writable' ), ), 'fonts' => array( 'label' => __( 'The fonts directory' ), 'value' => ( $is_writable_fonts_dir ? __( 'Writable' ) : __( 'Not writable' ) ), 'debug' => ( $is_writable_fonts_dir ? 'writable' : 'not writable' ), ), ); // Add more filesystem checks. if ( defined( 'WPMU_PLUGIN_DIR' ) && is_dir( WPMU_PLUGIN_DIR ) ) { $is_writable_wpmu_plugin_dir = wp_is_writable( WPMU_PLUGIN_DIR ); $fields['mu-plugins'] = array( 'label' => __( 'The must use plugins directory' ), 'value' => ( $is_writable_wpmu_plugin_dir ? __( 'Writable' ) : __( 'Not writable' ) ), 'debug' => ( $is_writable_wpmu_plugin_dir ? 'writable' : 'not writable' ), ); } return array( 'label' => __( 'Filesystem Permissions' ), 'description' => __( 'Shows whether WordPress is able to write to the directories it needs access to.' ), 'fields' => $fields, ); } /** * Returns the value of a MySQL system variable. * * @since 5.9.0 * * @global wpdb $wpdb WordPress database abstraction object. * * @param string $mysql_var Name of the MySQL system variable. * @return string|null The variable value on success. Null if the variable does not exist. */ public static function get_mysql_var( $mysql_var ) { global $wpdb; $result = $wpdb->get_row( $wpdb->prepare( 'SHOW VARIABLES LIKE %s', $mysql_var ), ARRAY_A ); if ( ! empty( $result ) && array_key_exists( 'Value', $result ) ) { return $result['Value']; } return null; } /** * Formats the information gathered for debugging, in a manner suitable for copying to a forum or support ticket. * * @since 5.2.0 * * @param array $info_array Information gathered from the `WP_Debug_Data::debug_data()` function. * @param string $data_type The data type to return, either 'info' or 'debug'. * @return string The formatted data. */ public static function format( $info_array, $data_type ) { $return = "`\n"; foreach ( $info_array as $section => $details ) { // Skip this section if there are no fields, or the section has been declared as private. if ( empty( $details['fields'] ) || ( isset( $details['private'] ) && $details['private'] ) ) { continue; } $section_label = 'debug' === $data_type ? $section : $details['label']; $return .= sprintf( "### %s%s ###\n\n", $section_label, ( isset( $details['show_count'] ) && $details['show_count'] ? sprintf( ' (%d)', count( $details['fields'] ) ) : '' ) ); foreach ( $details['fields'] as $field_name => $field ) { if ( isset( $field['private'] ) && true === $field['private'] ) { continue; } if ( 'debug' === $data_type && isset( $field['debug'] ) ) { $debug_data = $field['debug']; } else { $debug_data = $field['value']; } // Can be array, one level deep only. if ( is_array( $debug_data ) ) { $value = ''; foreach ( $debug_data as $sub_field_name => $sub_field_value ) { $value .= sprintf( "\n\t%s: %s", $sub_field_name, $sub_field_value ); } } elseif ( is_bool( $debug_data ) ) { $value = $debug_data ? 'true' : 'false'; } elseif ( empty( $debug_data ) && '0' !== $debug_data ) { $value = 'undefined'; } else { $value = $debug_data; } if ( 'debug' === $data_type ) { $label = $field_name; } else { $label = $field['label']; } $return .= sprintf( "%s: %s\n", $label, $value ); } $return .= "\n"; } $return .= '`'; return $return; } /** * Fetches the total size of all the database tables for the active database user. * * @since 5.2.0 * * @global wpdb $wpdb WordPress database abstraction object. * * @return int The size of the database, in bytes. */ public static function get_database_size() { global $wpdb; $size = 0; $rows = $wpdb->get_results( 'SHOW TABLE STATUS', ARRAY_A ); if ( $wpdb->num_rows > 0 ) { foreach ( $rows as $row ) { $size += $row['Data_length'] + $row['Index_length']; } } return (int) $size; } /** * Fetches the sizes of the WordPress directories: `wordpress` (ABSPATH), `plugins`, `themes`, and `uploads`. * Intended to supplement the array returned by `WP_Debug_Data::debug_data()`. * * @since 5.2.0 * * @return array The sizes of the directories, also the database size and total installation size. */ public static function get_sizes() { $size_db = self::get_database_size(); $upload_dir = wp_get_upload_dir(); /* * We will be using the PHP max execution time to prevent the size calculations * from causing a timeout. The default value is 30 seconds, and some * hosts do not allow you to read configuration values. */ if ( function_exists( 'ini_get' ) ) { $max_execution_time = ini_get( 'max_execution_time' ); } /* * The max_execution_time defaults to 0 when PHP runs from cli. * We still want to limit it below. */ if ( empty( $max_execution_time ) ) { $max_execution_time = 30; // 30 seconds. } if ( $max_execution_time > 20 ) { /* * If the max_execution_time is set to lower than 20 seconds, reduce it a bit to prevent * edge-case timeouts that may happen after the size loop has finished running. */ $max_execution_time -= 2; } /* * Go through the various installation directories and calculate their sizes. * No trailing slashes. */ $paths = array( 'wordpress_size' => untrailingslashit( ABSPATH ), 'themes_size' => get_theme_root(), 'plugins_size' => WP_PLUGIN_DIR, 'uploads_size' => $upload_dir['basedir'], 'fonts_size' => wp_get_font_dir()['basedir'], ); $exclude = $paths; unset( $exclude['wordpress_size'] ); $exclude = array_values( $exclude ); $size_total = 0; $all_sizes = array(); // Loop over all the directories we want to gather the sizes for. foreach ( $paths as $name => $path ) { $dir_size = null; // Default to timeout. $results = array( 'path' => $path, 'raw' => 0, ); // If the directory does not exist, skip checking it, as it will skew the other results. if ( ! is_dir( $path ) ) { $all_sizes[ $name ] = array( 'path' => $path, 'raw' => 0, 'size' => __( 'The directory does not exist.' ), 'debug' => 'directory not found', ); continue; } if ( microtime( true ) - WP_START_TIMESTAMP < $max_execution_time ) { if ( 'wordpress_size' === $name ) { $dir_size = recurse_dirsize( $path, $exclude, $max_execution_time ); } else { $dir_size = recurse_dirsize( $path, null, $max_execution_time ); } } if ( false === $dir_size ) { // Error reading. $results['size'] = __( 'The size cannot be calculated. The directory is not accessible. Usually caused by invalid permissions.' ); $results['debug'] = 'not accessible'; // Stop total size calculation. $size_total = null; } elseif ( null === $dir_size ) { // Timeout. $results['size'] = __( 'The directory size calculation has timed out. Usually caused by a very large number of sub-directories and files.' ); $results['debug'] = 'timeout while calculating size'; // Stop total size calculation. $size_total = null; } else { if ( null !== $size_total ) { $size_total += $dir_size; } $results['raw'] = $dir_size; $results['size'] = size_format( $dir_size, 2 ); $results['debug'] = $results['size'] . " ({$dir_size} bytes)"; } $all_sizes[ $name ] = $results; } if ( $size_db > 0 ) { $database_size = size_format( $size_db, 2 ); $all_sizes['database_size'] = array( 'raw' => $size_db, 'size' => $database_size, 'debug' => $database_size . " ({$size_db} bytes)", ); } else { $all_sizes['database_size'] = array( 'size' => __( 'Not available' ), 'debug' => 'not available', ); } if ( null !== $size_total && $size_db > 0 ) { $total_size = $size_total + $size_db; $total_size_mb = size_format( $total_size, 2 ); $all_sizes['total_size'] = array( 'raw' => $total_size, 'size' => $total_size_mb, 'debug' => $total_size_mb . " ({$total_size} bytes)", ); } else { $all_sizes['total_size'] = array( 'size' => __( 'Total size is not available. Some errors were encountered when determining the size of your installation.' ), 'debug' => 'not available', ); } return $all_sizes; } } class-wp-site-health.php 0000644 00000356774 14735706075 0011257 0 ustar 00 <?php /** * Class for looking up a site's health based on a user's WordPress environment. * * @package WordPress * @subpackage Site_Health * @since 5.2.0 */ #[AllowDynamicProperties] class WP_Site_Health { private static $instance = null; private $is_acceptable_mysql_version; private $is_recommended_mysql_version; public $is_mariadb = false; private $mysql_server_version = ''; private $mysql_required_version = '5.5'; private $mysql_recommended_version = '8.0'; private $mariadb_recommended_version = '10.5'; public $php_memory_limit; public $schedules; public $crons; public $last_missed_cron = null; public $last_late_cron = null; private $timeout_missed_cron = null; private $timeout_late_cron = null; /** * WP_Site_Health constructor. * * @since 5.2.0 */ public function __construct() { $this->maybe_create_scheduled_event(); // Save memory limit before it's affected by wp_raise_memory_limit( 'admin' ). $this->php_memory_limit = ini_get( 'memory_limit' ); $this->timeout_late_cron = 0; $this->timeout_missed_cron = - 5 * MINUTE_IN_SECONDS; if ( defined( 'DISABLE_WP_CRON' ) && DISABLE_WP_CRON ) { $this->timeout_late_cron = - 15 * MINUTE_IN_SECONDS; $this->timeout_missed_cron = - 1 * HOUR_IN_SECONDS; } add_filter( 'admin_body_class', array( $this, 'admin_body_class' ) ); add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ) ); add_action( 'wp_site_health_scheduled_check', array( $this, 'wp_cron_scheduled_check' ) ); add_action( 'site_health_tab_content', array( $this, 'show_site_health_tab' ) ); } /** * Outputs the content of a tab in the Site Health screen. * * @since 5.8.0 * * @param string $tab Slug of the current tab being displayed. */ public function show_site_health_tab( $tab ) { if ( 'debug' === $tab ) { require_once ABSPATH . 'wp-admin/site-health-info.php'; } } /** * Returns an instance of the WP_Site_Health class, or create one if none exist yet. * * @since 5.4.0 * * @return WP_Site_Health|null */ public static function get_instance() { if ( null === self::$instance ) { self::$instance = new WP_Site_Health(); } return self::$instance; } /** * Enqueues the site health scripts. * * @since 5.2.0 */ public function enqueue_scripts() { $screen = get_current_screen(); if ( 'site-health' !== $screen->id && 'dashboard' !== $screen->id ) { return; } $health_check_js_variables = array( 'screen' => $screen->id, 'nonce' => array( 'site_status' => wp_create_nonce( 'health-check-site-status' ), 'site_status_result' => wp_create_nonce( 'health-check-site-status-result' ), ), 'site_status' => array( 'direct' => array(), 'async' => array(), 'issues' => array( 'good' => 0, 'recommended' => 0, 'critical' => 0, ), ), ); $issue_counts = get_transient( 'health-check-site-status-result' ); if ( false !== $issue_counts ) { $issue_counts = json_decode( $issue_counts ); $health_check_js_variables['site_status']['issues'] = $issue_counts; } if ( 'site-health' === $screen->id && ( ! isset( $_GET['tab'] ) || empty( $_GET['tab'] ) ) ) { $tests = WP_Site_Health::get_tests(); // Don't run https test on development environments. if ( $this->is_development_environment() ) { unset( $tests['async']['https_status'] ); } foreach ( $tests['direct'] as $test ) { if ( is_string( $test['test'] ) ) { $test_function = sprintf( 'get_test_%s', $test['test'] ); if ( method_exists( $this, $test_function ) && is_callable( array( $this, $test_function ) ) ) { $health_check_js_variables['site_status']['direct'][] = $this->perform_test( array( $this, $test_function ) ); continue; } } if ( is_callable( $test['test'] ) ) { $health_check_js_variables['site_status']['direct'][] = $this->perform_test( $test['test'] ); } } foreach ( $tests['async'] as $test ) { if ( is_string( $test['test'] ) ) { $health_check_js_variables['site_status']['async'][] = array( 'test' => $test['test'], 'has_rest' => ( isset( $test['has_rest'] ) ? $test['has_rest'] : false ), 'completed' => false, 'headers' => isset( $test['headers'] ) ? $test['headers'] : array(), ); } } } wp_localize_script( 'site-health', 'SiteHealth', $health_check_js_variables ); } /** * Runs a Site Health test directly. * * @since 5.4.0 * * @param callable $callback * @return mixed|void */ private function perform_test( $callback ) { /** * Filters the output of a finished Site Health test. * * @since 5.3.0 * * @param array $test_result { * An associative array of test result data. * * @type string $label A label describing the test, and is used as a header in the output. * @type string $status The status of the test, which can be a value of `good`, `recommended` or `critical`. * @type array $badge { * Tests are put into categories which have an associated badge shown, these can be modified and assigned here. * * @type string $label The test label, for example `Performance`. * @type string $color Default `blue`. A string representing a color to use for the label. * } * @type string $description A more descriptive explanation of what the test looks for, and why it is important for the end user. * @type string $actions An action to direct the user to where they can resolve the issue, if one exists. * @type string $test The name of the test being ran, used as a reference point. * } */ return apply_filters( 'site_status_test_result', call_user_func( $callback ) ); } /** * Runs the SQL version checks. * * These values are used in later tests, but the part of preparing them is more easily managed * early in the class for ease of access and discovery. * * @since 5.2.0 * * @global wpdb $wpdb WordPress database abstraction object. */ private function prepare_sql_data() { global $wpdb; $mysql_server_type = $wpdb->db_server_info(); $this->mysql_server_version = $wpdb->get_var( 'SELECT VERSION()' ); if ( stristr( $mysql_server_type, 'mariadb' ) ) { $this->is_mariadb = true; $this->mysql_recommended_version = $this->mariadb_recommended_version; } $this->is_acceptable_mysql_version = version_compare( $this->mysql_required_version, $this->mysql_server_version, '<=' ); $this->is_recommended_mysql_version = version_compare( $this->mysql_recommended_version, $this->mysql_server_version, '<=' ); } /** * Tests whether `wp_version_check` is blocked. * * It's possible to block updates with the `wp_version_check` filter, but this can't be checked * during an Ajax call, as the filter is never introduced then. * * This filter overrides a standard page request if it's made by an admin through the Ajax call * with the right query argument to check for this. * * @since 5.2.0 */ public function check_wp_version_check_exists() { if ( ! is_admin() || ! is_user_logged_in() || ! current_user_can( 'update_core' ) || ! isset( $_GET['health-check-test-wp_version_check'] ) ) { return; } echo ( has_filter( 'wp_version_check', 'wp_version_check' ) ? 'yes' : 'no' ); die(); } /** * Tests for WordPress version and outputs it. * * Gives various results depending on what kind of updates are available, if any, to encourage * the user to install security updates as a priority. * * @since 5.2.0 * * @return array The test result. */ public function get_test_wordpress_version() { $result = array( 'label' => '', 'status' => '', 'badge' => array( 'label' => __( 'Performance' ), 'color' => 'blue', ), 'description' => '', 'actions' => '', 'test' => 'wordpress_version', ); $core_current_version = wp_get_wp_version(); $core_updates = get_core_updates(); if ( ! is_array( $core_updates ) ) { $result['status'] = 'recommended'; $result['label'] = sprintf( /* translators: %s: Your current version of WordPress. */ __( 'WordPress version %s' ), $core_current_version ); $result['description'] = sprintf( '<p>%s</p>', __( 'Unable to check if any new versions of WordPress are available.' ) ); $result['actions'] = sprintf( '<a href="%s">%s</a>', esc_url( admin_url( 'update-core.php?force-check=1' ) ), __( 'Check for updates manually' ) ); } else { foreach ( $core_updates as $core => $update ) { if ( 'upgrade' === $update->response ) { $current_version = explode( '.', $core_current_version ); $new_version = explode( '.', $update->version ); $current_major = $current_version[0] . '.' . $current_version[1]; $new_major = $new_version[0] . '.' . $new_version[1]; $result['label'] = sprintf( /* translators: %s: The latest version of WordPress available. */ __( 'WordPress update available (%s)' ), $update->version ); $result['actions'] = sprintf( '<a href="%s">%s</a>', esc_url( admin_url( 'update-core.php' ) ), __( 'Install the latest version of WordPress' ) ); if ( $current_major !== $new_major ) { // This is a major version mismatch. $result['status'] = 'recommended'; $result['description'] = sprintf( '<p>%s</p>', __( 'A new version of WordPress is available.' ) ); } else { // This is a minor version, sometimes considered more critical. $result['status'] = 'critical'; $result['badge']['label'] = __( 'Security' ); $result['description'] = sprintf( '<p>%s</p>', __( 'A new minor update is available for your site. Because minor updates often address security, it’s important to install them.' ) ); } } else { $result['status'] = 'good'; $result['label'] = sprintf( /* translators: %s: The current version of WordPress installed on this site. */ __( 'Your version of WordPress (%s) is up to date' ), $core_current_version ); $result['description'] = sprintf( '<p>%s</p>', __( 'You are currently running the latest version of WordPress available, keep it up!' ) ); } } } return $result; } /** * Tests if plugins are outdated, or unnecessary. * * The test checks if your plugins are up to date, and encourages you to remove any * that are not in use. * * @since 5.2.0 * * @return array The test result. */ public function get_test_plugin_version() { $result = array( 'label' => __( 'Your plugins are all up to date' ), 'status' => 'good', 'badge' => array( 'label' => __( 'Security' ), 'color' => 'blue', ), 'description' => sprintf( '<p>%s</p>', __( 'Plugins extend your site’s functionality with things like contact forms, ecommerce and much more. That means they have deep access to your site, so it’s vital to keep them up to date.' ) ), 'actions' => sprintf( '<p><a href="%s">%s</a></p>', esc_url( admin_url( 'plugins.php' ) ), __( 'Manage your plugins' ) ), 'test' => 'plugin_version', ); $plugins = get_plugins(); $plugin_updates = get_plugin_updates(); $plugins_active = 0; $plugins_total = 0; $plugins_need_update = 0; // Loop over the available plugins and check their versions and active state. foreach ( $plugins as $plugin_path => $plugin ) { ++$plugins_total; if ( is_plugin_active( $plugin_path ) ) { ++$plugins_active; } if ( array_key_exists( $plugin_path, $plugin_updates ) ) { ++$plugins_need_update; } } // Add a notice if there are outdated plugins. if ( $plugins_need_update > 0 ) { $result['status'] = 'critical'; $result['label'] = __( 'You have plugins waiting to be updated' ); $result['description'] .= sprintf( '<p>%s</p>', sprintf( /* translators: %d: The number of outdated plugins. */ _n( 'Your site has %d plugin waiting to be updated.', 'Your site has %d plugins waiting to be updated.', $plugins_need_update ), $plugins_need_update ) ); $result['actions'] .= sprintf( '<p><a href="%s">%s</a></p>', esc_url( network_admin_url( 'plugins.php?plugin_status=upgrade' ) ), __( 'Update your plugins' ) ); } else { if ( 1 === $plugins_active ) { $result['description'] .= sprintf( '<p>%s</p>', __( 'Your site has 1 active plugin, and it is up to date.' ) ); } elseif ( $plugins_active > 0 ) { $result['description'] .= sprintf( '<p>%s</p>', sprintf( /* translators: %d: The number of active plugins. */ _n( 'Your site has %d active plugin, and it is up to date.', 'Your site has %d active plugins, and they are all up to date.', $plugins_active ), $plugins_active ) ); } else { $result['description'] .= sprintf( '<p>%s</p>', __( 'Your site does not have any active plugins.' ) ); } } // Check if there are inactive plugins. if ( $plugins_total > $plugins_active && ! is_multisite() ) { $unused_plugins = $plugins_total - $plugins_active; $result['status'] = 'recommended'; $result['label'] = __( 'You should remove inactive plugins' ); $result['description'] .= sprintf( '<p>%s %s</p>', sprintf( /* translators: %d: The number of inactive plugins. */ _n( 'Your site has %d inactive plugin.', 'Your site has %d inactive plugins.', $unused_plugins ), $unused_plugins ), __( 'Inactive plugins are tempting targets for attackers. If you are not going to use a plugin, you should consider removing it.' ) ); $result['actions'] .= sprintf( '<p><a href="%s">%s</a></p>', esc_url( admin_url( 'plugins.php?plugin_status=inactive' ) ), __( 'Manage inactive plugins' ) ); } return $result; } /** * Tests if themes are outdated, or unnecessary. * * Checks if your site has a default theme (to fall back on if there is a need), * if your themes are up to date and, finally, encourages you to remove any themes * that are not needed. * * @since 5.2.0 * * @return array The test results. */ public function get_test_theme_version() { $result = array( 'label' => __( 'Your themes are all up to date' ), 'status' => 'good', 'badge' => array( 'label' => __( 'Security' ), 'color' => 'blue', ), 'description' => sprintf( '<p>%s</p>', __( 'Themes add your site’s look and feel. It’s important to keep them up to date, to stay consistent with your brand and keep your site secure.' ) ), 'actions' => sprintf( '<p><a href="%s">%s</a></p>', esc_url( admin_url( 'themes.php' ) ), __( 'Manage your themes' ) ), 'test' => 'theme_version', ); $theme_updates = get_theme_updates(); $themes_total = 0; $themes_need_updates = 0; $themes_inactive = 0; // This value is changed during processing to determine how many themes are considered a reasonable amount. $allowed_theme_count = 1; $has_default_theme = false; $has_unused_themes = false; $show_unused_themes = true; $using_default_theme = false; // Populate a list of all themes available in the install. $all_themes = wp_get_themes(); $active_theme = wp_get_theme(); // If WP_DEFAULT_THEME doesn't exist, fall back to the latest core default theme. $default_theme = wp_get_theme( WP_DEFAULT_THEME ); if ( ! $default_theme->exists() ) { $default_theme = WP_Theme::get_core_default_theme(); } if ( $default_theme ) { $has_default_theme = true; if ( $active_theme->get_stylesheet() === $default_theme->get_stylesheet() || is_child_theme() && $active_theme->get_template() === $default_theme->get_template() ) { $using_default_theme = true; } } foreach ( $all_themes as $theme_slug => $theme ) { ++$themes_total; if ( array_key_exists( $theme_slug, $theme_updates ) ) { ++$themes_need_updates; } } // If this is a child theme, increase the allowed theme count by one, to account for the parent. if ( is_child_theme() ) { ++$allowed_theme_count; } // If there's a default theme installed and not in use, we count that as allowed as well. if ( $has_default_theme && ! $using_default_theme ) { ++$allowed_theme_count; } if ( $themes_total > $allowed_theme_count ) { $has_unused_themes = true; $themes_inactive = ( $themes_total - $allowed_theme_count ); } // Check if any themes need to be updated. if ( $themes_need_updates > 0 ) { $result['status'] = 'critical'; $result['label'] = __( 'You have themes waiting to be updated' ); $result['description'] .= sprintf( '<p>%s</p>', sprintf( /* translators: %d: The number of outdated themes. */ _n( 'Your site has %d theme waiting to be updated.', 'Your site has %d themes waiting to be updated.', $themes_need_updates ), $themes_need_updates ) ); } else { // Give positive feedback about the site being good about keeping things up to date. if ( 1 === $themes_total ) { $result['description'] .= sprintf( '<p>%s</p>', __( 'Your site has 1 installed theme, and it is up to date.' ) ); } elseif ( $themes_total > 0 ) { $result['description'] .= sprintf( '<p>%s</p>', sprintf( /* translators: %d: The number of themes. */ _n( 'Your site has %d installed theme, and it is up to date.', 'Your site has %d installed themes, and they are all up to date.', $themes_total ), $themes_total ) ); } else { $result['description'] .= sprintf( '<p>%s</p>', __( 'Your site does not have any installed themes.' ) ); } } if ( $has_unused_themes && $show_unused_themes && ! is_multisite() ) { // This is a child theme, so we want to be a bit more explicit in our messages. if ( $active_theme->parent() ) { // Recommend removing inactive themes, except a default theme, your current one, and the parent theme. $result['status'] = 'recommended'; $result['label'] = __( 'You should remove inactive themes' ); if ( $using_default_theme ) { $result['description'] .= sprintf( '<p>%s %s</p>', sprintf( /* translators: %d: The number of inactive themes. */ _n( 'Your site has %d inactive theme.', 'Your site has %d inactive themes.', $themes_inactive ), $themes_inactive ), sprintf( /* translators: 1: The currently active theme. 2: The active theme's parent theme. */ __( 'To enhance your site’s security, you should consider removing any themes you are not using. You should keep your active theme, %1$s, and %2$s, its parent theme.' ), $active_theme->name, $active_theme->parent()->name ) ); } else { $result['description'] .= sprintf( '<p>%s %s</p>', sprintf( /* translators: %d: The number of inactive themes. */ _n( 'Your site has %d inactive theme.', 'Your site has %d inactive themes.', $themes_inactive ), $themes_inactive ), sprintf( /* translators: 1: The default theme for WordPress. 2: The currently active theme. 3: The active theme's parent theme. */ __( 'To enhance your site’s security, you should consider removing any themes you are not using. You should keep %1$s, the default WordPress theme, %2$s, your active theme, and %3$s, its parent theme.' ), $default_theme ? $default_theme->name : WP_DEFAULT_THEME, $active_theme->name, $active_theme->parent()->name ) ); } } else { // Recommend removing all inactive themes. $result['status'] = 'recommended'; $result['label'] = __( 'You should remove inactive themes' ); if ( $using_default_theme ) { $result['description'] .= sprintf( '<p>%s %s</p>', sprintf( /* translators: 1: The amount of inactive themes. 2: The currently active theme. */ _n( 'Your site has %1$d inactive theme, other than %2$s, your active theme.', 'Your site has %1$d inactive themes, other than %2$s, your active theme.', $themes_inactive ), $themes_inactive, $active_theme->name ), __( 'You should consider removing any unused themes to enhance your site’s security.' ) ); } else { $result['description'] .= sprintf( '<p>%s %s</p>', sprintf( /* translators: 1: The amount of inactive themes. 2: The default theme for WordPress. 3: The currently active theme. */ _n( 'Your site has %1$d inactive theme, other than %2$s, the default WordPress theme, and %3$s, your active theme.', 'Your site has %1$d inactive themes, other than %2$s, the default WordPress theme, and %3$s, your active theme.', $themes_inactive ), $themes_inactive, $default_theme ? $default_theme->name : WP_DEFAULT_THEME, $active_theme->name ), __( 'You should consider removing any unused themes to enhance your site’s security.' ) ); } } } // If no default Twenty* theme exists. if ( ! $has_default_theme ) { $result['status'] = 'recommended'; $result['label'] = __( 'Have a default theme available' ); $result['description'] .= sprintf( '<p>%s</p>', __( 'Your site does not have any default theme. Default themes are used by WordPress automatically if anything is wrong with your chosen theme.' ) ); } return $result; } /** * Tests if the supplied PHP version is supported. * * @since 5.2.0 * * @return array The test results. */ public function get_test_php_version() { $response = wp_check_php_version(); $result = array( 'label' => sprintf( /* translators: %s: The recommended PHP version. */ __( 'Your site is running a recommended version of PHP (%s)' ), PHP_VERSION ), 'status' => 'good', 'badge' => array( 'label' => __( 'Performance' ), 'color' => 'blue', ), 'description' => sprintf( '<p>%s</p>', sprintf( /* translators: %s: The minimum recommended PHP version. */ __( 'PHP is one of the programming languages used to build WordPress. Newer versions of PHP receive regular security updates and may increase your site’s performance. The minimum recommended version of PHP is %s.' ), $response ? $response['recommended_version'] : '' ) ), 'actions' => sprintf( '<p><a href="%s" target="_blank">%s<span class="screen-reader-text"> %s</span><span aria-hidden="true" class="dashicons dashicons-external"></span></a></p>', esc_url( wp_get_update_php_url() ), __( 'Learn more about updating PHP' ), /* translators: Hidden accessibility text. */ __( '(opens in a new tab)' ) ), 'test' => 'php_version', ); // PHP is up to date. if ( ! $response || version_compare( PHP_VERSION, $response['recommended_version'], '>=' ) ) { return $result; } // The PHP version is older than the recommended version, but still receiving active support. if ( $response['is_supported'] ) { $result['label'] = sprintf( /* translators: %s: The server PHP version. */ __( 'Your site is running on an older version of PHP (%s)' ), PHP_VERSION ); $result['status'] = 'recommended'; return $result; } /* * The PHP version is still receiving security fixes, but is lower than * the expected minimum version that will be required by WordPress in the near future. */ if ( $response['is_secure'] && $response['is_lower_than_future_minimum'] ) { // The `is_secure` array key name doesn't actually imply this is a secure version of PHP. It only means it receives security updates. $result['label'] = sprintf( /* translators: %s: The server PHP version. */ __( 'Your site is running on an outdated version of PHP (%s), which soon will not be supported by WordPress.' ), PHP_VERSION ); $result['status'] = 'critical'; $result['badge']['label'] = __( 'Requirements' ); return $result; } // The PHP version is only receiving security fixes. if ( $response['is_secure'] ) { $result['label'] = sprintf( /* translators: %s: The server PHP version. */ __( 'Your site is running on an older version of PHP (%s), which should be updated' ), PHP_VERSION ); $result['status'] = 'recommended'; return $result; } // No more security updates for the PHP version, and lower than the expected minimum version required by WordPress. if ( $response['is_lower_than_future_minimum'] ) { $message = sprintf( /* translators: %s: The server PHP version. */ __( 'Your site is running on an outdated version of PHP (%s), which does not receive security updates and soon will not be supported by WordPress.' ), PHP_VERSION ); } else { // No more security updates for the PHP version, must be updated. $message = sprintf( /* translators: %s: The server PHP version. */ __( 'Your site is running on an outdated version of PHP (%s), which does not receive security updates. It should be updated.' ), PHP_VERSION ); } $result['label'] = $message; $result['status'] = 'critical'; $result['badge']['label'] = __( 'Security' ); return $result; } /** * Checks if the passed extension or function are available. * * Make the check for available PHP modules into a simple boolean operator for a cleaner test runner. * * @since 5.2.0 * @since 5.3.0 The `$constant_name` and `$class_name` parameters were added. * * @param string $extension_name Optional. The extension name to test. Default null. * @param string $function_name Optional. The function name to test. Default null. * @param string $constant_name Optional. The constant name to test for. Default null. * @param string $class_name Optional. The class name to test for. Default null. * @return bool Whether or not the extension and function are available. */ private function test_php_extension_availability( $extension_name = null, $function_name = null, $constant_name = null, $class_name = null ) { // If no extension or function is passed, claim to fail testing, as we have nothing to test against. if ( ! $extension_name && ! $function_name && ! $constant_name && ! $class_name ) { return false; } if ( $extension_name && ! extension_loaded( $extension_name ) ) { return false; } if ( $function_name && ! function_exists( $function_name ) ) { return false; } if ( $constant_name && ! defined( $constant_name ) ) { return false; } if ( $class_name && ! class_exists( $class_name ) ) { return false; } return true; } /** * Tests if required PHP modules are installed on the host. * * This test builds on the recommendations made by the WordPress Hosting Team * as seen at https://make.wordpress.org/hosting/handbook/handbook/server-environment/#php-extensions * * @since 5.2.0 * * @return array */ public function get_test_php_extensions() { $result = array( 'label' => __( 'Required and recommended modules are installed' ), 'status' => 'good', 'badge' => array( 'label' => __( 'Performance' ), 'color' => 'blue', ), 'description' => sprintf( '<p>%s</p><p>%s</p>', __( 'PHP modules perform most of the tasks on the server that make your site run. Any changes to these must be made by your server administrator.' ), sprintf( /* translators: 1: Link to the hosting group page about recommended PHP modules. 2: Additional link attributes. 3: Accessibility text. */ __( 'The WordPress Hosting Team maintains a list of those modules, both recommended and required, in <a href="%1$s" %2$s>the team handbook%3$s</a>.' ), /* translators: Localized team handbook, if one exists. */ esc_url( __( 'https://make.wordpress.org/hosting/handbook/handbook/server-environment/#php-extensions' ) ), 'target="_blank"', sprintf( '<span class="screen-reader-text"> %s</span><span aria-hidden="true" class="dashicons dashicons-external"></span>', /* translators: Hidden accessibility text. */ __( '(opens in a new tab)' ) ) ) ), 'actions' => '', 'test' => 'php_extensions', ); $modules = array( 'curl' => array( 'function' => 'curl_version', 'required' => false, ), 'dom' => array( 'class' => 'DOMNode', 'required' => false, ), 'exif' => array( 'function' => 'exif_read_data', 'required' => false, ), 'fileinfo' => array( 'function' => 'finfo_file', 'required' => false, ), 'hash' => array( 'function' => 'hash', 'required' => false, ), 'imagick' => array( 'extension' => 'imagick', 'required' => false, ), 'json' => array( 'function' => 'json_last_error', 'required' => true, ), 'mbstring' => array( 'function' => 'mb_check_encoding', 'required' => false, ), 'mysqli' => array( 'function' => 'mysqli_connect', 'required' => false, ), 'libsodium' => array( 'constant' => 'SODIUM_LIBRARY_VERSION', 'required' => false, 'php_bundled_version' => '7.2.0', ), 'openssl' => array( 'function' => 'openssl_encrypt', 'required' => false, ), 'pcre' => array( 'function' => 'preg_match', 'required' => false, ), 'mod_xml' => array( 'extension' => 'libxml', 'required' => false, ), 'zip' => array( 'class' => 'ZipArchive', 'required' => false, ), 'filter' => array( 'function' => 'filter_list', 'required' => false, ), 'gd' => array( 'extension' => 'gd', 'required' => false, 'fallback_for' => 'imagick', ), 'iconv' => array( 'function' => 'iconv', 'required' => false, ), 'intl' => array( 'extension' => 'intl', 'required' => false, ), 'mcrypt' => array( 'extension' => 'mcrypt', 'required' => false, 'fallback_for' => 'libsodium', ), 'simplexml' => array( 'extension' => 'simplexml', 'required' => false, 'fallback_for' => 'mod_xml', ), 'xmlreader' => array( 'extension' => 'xmlreader', 'required' => false, 'fallback_for' => 'mod_xml', ), 'zlib' => array( 'extension' => 'zlib', 'required' => false, 'fallback_for' => 'zip', ), ); /** * Filters the array representing all the modules we wish to test for. * * @since 5.2.0 * @since 5.3.0 The `$constant` and `$class` parameters were added. * * @param array $modules { * An associative array of modules to test for. * * @type array ...$0 { * An associative array of module properties used during testing. * One of either `$function` or `$extension` must be provided, or they will fail by default. * * @type string $function Optional. A function name to test for the existence of. * @type string $extension Optional. An extension to check if is loaded in PHP. * @type string $constant Optional. A constant name to check for to verify an extension exists. * @type string $class Optional. A class name to check for to verify an extension exists. * @type bool $required Is this a required feature or not. * @type string $fallback_for Optional. The module this module replaces as a fallback. * } * } */ $modules = apply_filters( 'site_status_test_php_modules', $modules ); $failures = array(); foreach ( $modules as $library => $module ) { $extension_name = ( isset( $module['extension'] ) ? $module['extension'] : null ); $function_name = ( isset( $module['function'] ) ? $module['function'] : null ); $constant_name = ( isset( $module['constant'] ) ? $module['constant'] : null ); $class_name = ( isset( $module['class'] ) ? $module['class'] : null ); // If this module is a fallback for another function, check if that other function passed. if ( isset( $module['fallback_for'] ) ) { /* * If that other function has a failure, mark this module as required for usual operations. * If that other function hasn't failed, skip this test as it's only a fallback. */ if ( isset( $failures[ $module['fallback_for'] ] ) ) { $module['required'] = true; } else { continue; } } if ( ! $this->test_php_extension_availability( $extension_name, $function_name, $constant_name, $class_name ) && ( ! isset( $module['php_bundled_version'] ) || version_compare( PHP_VERSION, $module['php_bundled_version'], '<' ) ) ) { if ( $module['required'] ) { $result['status'] = 'critical'; $class = 'error'; /* translators: Hidden accessibility text. */ $screen_reader = __( 'Error' ); $message = sprintf( /* translators: %s: The module name. */ __( 'The required module, %s, is not installed, or has been disabled.' ), $library ); } else { $class = 'warning'; /* translators: Hidden accessibility text. */ $screen_reader = __( 'Warning' ); $message = sprintf( /* translators: %s: The module name. */ __( 'The optional module, %s, is not installed, or has been disabled.' ), $library ); } if ( ! $module['required'] && 'good' === $result['status'] ) { $result['status'] = 'recommended'; } $failures[ $library ] = "<span class='dashicons $class'><span class='screen-reader-text'>$screen_reader</span></span> $message"; } } if ( ! empty( $failures ) ) { $output = '<ul>'; foreach ( $failures as $failure ) { $output .= sprintf( '<li>%s</li>', $failure ); } $output .= '</ul>'; } if ( 'good' !== $result['status'] ) { if ( 'recommended' === $result['status'] ) { $result['label'] = __( 'One or more recommended modules are missing' ); } if ( 'critical' === $result['status'] ) { $result['label'] = __( 'One or more required modules are missing' ); } $result['description'] .= $output; } return $result; } /** * Tests if the PHP default timezone is set to UTC. * * @since 5.3.1 * * @return array The test results. */ public function get_test_php_default_timezone() { $result = array( 'label' => __( 'PHP default timezone is valid' ), 'status' => 'good', 'badge' => array( 'label' => __( 'Performance' ), 'color' => 'blue', ), 'description' => sprintf( '<p>%s</p>', __( 'PHP default timezone was configured by WordPress on loading. This is necessary for correct calculations of dates and times.' ) ), 'actions' => '', 'test' => 'php_default_timezone', ); if ( 'UTC' !== date_default_timezone_get() ) { $result['status'] = 'critical'; $result['label'] = __( 'PHP default timezone is invalid' ); $result['description'] = sprintf( '<p>%s</p>', sprintf( /* translators: %s: date_default_timezone_set() */ __( 'PHP default timezone was changed after WordPress loading by a %s function call. This interferes with correct calculations of dates and times.' ), '<code>date_default_timezone_set()</code>' ) ); } return $result; } /** * Tests if there's an active PHP session that can affect loopback requests. * * @since 5.5.0 * * @return array The test results. */ public function get_test_php_sessions() { $result = array( 'label' => __( 'No PHP sessions detected' ), 'status' => 'good', 'badge' => array( 'label' => __( 'Performance' ), 'color' => 'blue', ), 'description' => sprintf( '<p>%s</p>', sprintf( /* translators: 1: session_start(), 2: session_write_close() */ __( 'PHP sessions created by a %1$s function call may interfere with REST API and loopback requests. An active session should be closed by %2$s before making any HTTP requests.' ), '<code>session_start()</code>', '<code>session_write_close()</code>' ) ), 'test' => 'php_sessions', ); if ( function_exists( 'session_status' ) && PHP_SESSION_ACTIVE === session_status() ) { $result['status'] = 'critical'; $result['label'] = __( 'An active PHP session was detected' ); $result['description'] = sprintf( '<p>%s</p>', sprintf( /* translators: 1: session_start(), 2: session_write_close() */ __( 'A PHP session was created by a %1$s function call. This interferes with REST API and loopback requests. The session should be closed by %2$s before making any HTTP requests.' ), '<code>session_start()</code>', '<code>session_write_close()</code>' ) ); } return $result; } /** * Tests if the SQL server is up to date. * * @since 5.2.0 * * @return array The test results. */ public function get_test_sql_server() { if ( ! $this->mysql_server_version ) { $this->prepare_sql_data(); } $result = array( 'label' => __( 'SQL server is up to date' ), 'status' => 'good', 'badge' => array( 'label' => __( 'Performance' ), 'color' => 'blue', ), 'description' => sprintf( '<p>%s</p>', __( 'The SQL server is a required piece of software for the database WordPress uses to store all your site’s content and settings.' ) ), 'actions' => sprintf( '<p><a href="%s" target="_blank">%s<span class="screen-reader-text"> %s</span><span aria-hidden="true" class="dashicons dashicons-external"></span></a></p>', /* translators: Localized version of WordPress requirements if one exists. */ esc_url( __( 'https://wordpress.org/about/requirements/' ) ), __( 'Learn more about what WordPress requires to run.' ), /* translators: Hidden accessibility text. */ __( '(opens in a new tab)' ) ), 'test' => 'sql_server', ); $db_dropin = file_exists( WP_CONTENT_DIR . '/db.php' ); if ( ! $this->is_recommended_mysql_version ) { $result['status'] = 'recommended'; $result['label'] = __( 'Outdated SQL server' ); $result['description'] .= sprintf( '<p>%s</p>', sprintf( /* translators: 1: The database engine in use (MySQL or MariaDB). 2: Database server recommended version number. */ __( 'For optimal performance and security reasons, you should consider running %1$s version %2$s or higher. Contact your web hosting company to correct this.' ), ( $this->is_mariadb ? 'MariaDB' : 'MySQL' ), $this->mysql_recommended_version ) ); } if ( ! $this->is_acceptable_mysql_version ) { $result['status'] = 'critical'; $result['label'] = __( 'Severely outdated SQL server' ); $result['badge']['label'] = __( 'Security' ); $result['description'] .= sprintf( '<p>%s</p>', sprintf( /* translators: 1: The database engine in use (MySQL or MariaDB). 2: Database server minimum version number. */ __( 'WordPress requires %1$s version %2$s or higher. Contact your web hosting company to correct this.' ), ( $this->is_mariadb ? 'MariaDB' : 'MySQL' ), $this->mysql_required_version ) ); } if ( $db_dropin ) { $result['description'] .= sprintf( '<p>%s</p>', wp_kses( sprintf( /* translators: 1: The name of the drop-in. 2: The name of the database engine. */ __( 'You are using a %1$s drop-in which might mean that a %2$s database is not being used.' ), '<code>wp-content/db.php</code>', ( $this->is_mariadb ? 'MariaDB' : 'MySQL' ) ), array( 'code' => true, ) ) ); } return $result; } /** * Tests if the site can communicate with WordPress.org. * * @since 5.2.0 * * @return array The test results. */ public function get_test_dotorg_communication() { $result = array( 'label' => __( 'Can communicate with WordPress.org' ), 'status' => '', 'badge' => array( 'label' => __( 'Security' ), 'color' => 'blue', ), 'description' => sprintf( '<p>%s</p>', __( 'Communicating with the WordPress servers is used to check for new versions, and to both install and update WordPress core, themes or plugins.' ) ), 'actions' => '', 'test' => 'dotorg_communication', ); $wp_dotorg = wp_remote_get( 'https://api.wordpress.org', array( 'timeout' => 10, ) ); if ( ! is_wp_error( $wp_dotorg ) ) { $result['status'] = 'good'; } else { $result['status'] = 'critical'; $result['label'] = __( 'Could not reach WordPress.org' ); $result['description'] .= sprintf( '<p>%s</p>', sprintf( '<span class="error"><span class="screen-reader-text">%s</span></span> %s', /* translators: Hidden accessibility text. */ __( 'Error' ), sprintf( /* translators: 1: The IP address WordPress.org resolves to. 2: The error returned by the lookup. */ __( 'Your site is unable to reach WordPress.org at %1$s, and returned the error: %2$s' ), gethostbyname( 'api.wordpress.org' ), $wp_dotorg->get_error_message() ) ) ); $result['actions'] = sprintf( '<p><a href="%s" target="_blank">%s<span class="screen-reader-text"> %s</span><span aria-hidden="true" class="dashicons dashicons-external"></span></a></p>', /* translators: Localized Support reference. */ esc_url( __( 'https://wordpress.org/support/forums/' ) ), __( 'Get help resolving this issue.' ), /* translators: Hidden accessibility text. */ __( '(opens in a new tab)' ) ); } return $result; } /** * Tests if debug information is enabled. * * When WP_DEBUG is enabled, errors and information may be disclosed to site visitors, * or logged to a publicly accessible file. * * Debugging is also frequently left enabled after looking for errors on a site, * as site owners do not understand the implications of this. * * @since 5.2.0 * * @return array The test results. */ public function get_test_is_in_debug_mode() { $result = array( 'label' => __( 'Your site is not set to output debug information' ), 'status' => 'good', 'badge' => array( 'label' => __( 'Security' ), 'color' => 'blue', ), 'description' => sprintf( '<p>%s</p>', __( 'Debug mode is often enabled to gather more details about an error or site failure, but may contain sensitive information which should not be available on a publicly available website.' ) ), 'actions' => sprintf( '<p><a href="%s" target="_blank">%s<span class="screen-reader-text"> %s</span><span aria-hidden="true" class="dashicons dashicons-external"></span></a></p>', /* translators: Documentation explaining debugging in WordPress. */ esc_url( __( 'https://developer.wordpress.org/advanced-administration/debug/debug-wordpress/' ) ), __( 'Learn more about debugging in WordPress.' ), /* translators: Hidden accessibility text. */ __( '(opens in a new tab)' ) ), 'test' => 'is_in_debug_mode', ); if ( defined( 'WP_DEBUG' ) && WP_DEBUG ) { if ( defined( 'WP_DEBUG_LOG' ) && WP_DEBUG_LOG ) { $result['label'] = __( 'Your site is set to log errors to a potentially public file' ); $result['status'] = str_starts_with( ini_get( 'error_log' ), ABSPATH ) ? 'critical' : 'recommended'; $result['description'] .= sprintf( '<p>%s</p>', sprintf( /* translators: %s: WP_DEBUG_LOG */ __( 'The value, %s, has been added to this website’s configuration file. This means any errors on the site will be written to a file which is potentially available to all users.' ), '<code>WP_DEBUG_LOG</code>' ) ); } if ( defined( 'WP_DEBUG_DISPLAY' ) && WP_DEBUG_DISPLAY ) { $result['label'] = __( 'Your site is set to display errors to site visitors' ); $result['status'] = 'critical'; // On development environments, set the status to recommended. if ( $this->is_development_environment() ) { $result['status'] = 'recommended'; } $result['description'] .= sprintf( '<p>%s</p>', sprintf( /* translators: 1: WP_DEBUG_DISPLAY, 2: WP_DEBUG */ __( 'The value, %1$s, has either been enabled by %2$s or added to your configuration file. This will make errors display on the front end of your site.' ), '<code>WP_DEBUG_DISPLAY</code>', '<code>WP_DEBUG</code>' ) ); } } return $result; } /** * Tests if the site is serving content over HTTPS. * * Many sites have varying degrees of HTTPS support, the most common of which is sites that have it * enabled, but only if you visit the right site address. * * @since 5.2.0 * @since 5.7.0 Updated to rely on {@see wp_is_using_https()} and {@see wp_is_https_supported()}. * * @return array The test results. */ public function get_test_https_status() { /* * Check HTTPS detection results. */ $errors = wp_get_https_detection_errors(); $default_update_url = wp_get_default_update_https_url(); $result = array( 'label' => __( 'Your website is using an active HTTPS connection' ), 'status' => 'good', 'badge' => array( 'label' => __( 'Security' ), 'color' => 'blue', ), 'description' => sprintf( '<p>%s</p>', __( 'An HTTPS connection is a more secure way of browsing the web. Many services now have HTTPS as a requirement. HTTPS allows you to take advantage of new features that can increase site speed, improve search rankings, and gain the trust of your visitors by helping to protect their online privacy.' ) ), 'actions' => sprintf( '<p><a href="%s" target="_blank">%s<span class="screen-reader-text"> %s</span><span aria-hidden="true" class="dashicons dashicons-external"></span></a></p>', esc_url( $default_update_url ), __( 'Learn more about why you should use HTTPS' ), /* translators: Hidden accessibility text. */ __( '(opens in a new tab)' ) ), 'test' => 'https_status', ); if ( ! wp_is_using_https() ) { /* * If the website is not using HTTPS, provide more information * about whether it is supported and how it can be enabled. */ $result['status'] = 'recommended'; $result['label'] = __( 'Your website does not use HTTPS' ); if ( wp_is_site_url_using_https() ) { if ( is_ssl() ) { $result['description'] = sprintf( '<p>%s</p>', sprintf( /* translators: %s: URL to Settings > General > Site Address. */ __( 'You are accessing this website using HTTPS, but your <a href="%s">Site Address</a> is not set up to use HTTPS by default.' ), esc_url( admin_url( 'options-general.php' ) . '#home' ) ) ); } else { $result['description'] = sprintf( '<p>%s</p>', sprintf( /* translators: %s: URL to Settings > General > Site Address. */ __( 'Your <a href="%s">Site Address</a> is not set up to use HTTPS.' ), esc_url( admin_url( 'options-general.php' ) . '#home' ) ) ); } } else { if ( is_ssl() ) { $result['description'] = sprintf( '<p>%s</p>', sprintf( /* translators: 1: URL to Settings > General > WordPress Address, 2: URL to Settings > General > Site Address. */ __( 'You are accessing this website using HTTPS, but your <a href="%1$s">WordPress Address</a> and <a href="%2$s">Site Address</a> are not set up to use HTTPS by default.' ), esc_url( admin_url( 'options-general.php' ) . '#siteurl' ), esc_url( admin_url( 'options-general.php' ) . '#home' ) ) ); } else { $result['description'] = sprintf( '<p>%s</p>', sprintf( /* translators: 1: URL to Settings > General > WordPress Address, 2: URL to Settings > General > Site Address. */ __( 'Your <a href="%1$s">WordPress Address</a> and <a href="%2$s">Site Address</a> are not set up to use HTTPS.' ), esc_url( admin_url( 'options-general.php' ) . '#siteurl' ), esc_url( admin_url( 'options-general.php' ) . '#home' ) ) ); } } if ( wp_is_https_supported() ) { $result['description'] .= sprintf( '<p>%s</p>', __( 'HTTPS is already supported for your website.' ) ); if ( defined( 'WP_HOME' ) || defined( 'WP_SITEURL' ) ) { $result['description'] .= sprintf( '<p>%s</p>', sprintf( /* translators: 1: wp-config.php, 2: WP_HOME, 3: WP_SITEURL */ __( 'However, your WordPress Address is currently controlled by a PHP constant and therefore cannot be updated. You need to edit your %1$s and remove or update the definitions of %2$s and %3$s.' ), '<code>wp-config.php</code>', '<code>WP_HOME</code>', '<code>WP_SITEURL</code>' ) ); } elseif ( current_user_can( 'update_https' ) ) { $default_direct_update_url = add_query_arg( 'action', 'update_https', wp_nonce_url( admin_url( 'site-health.php' ), 'wp_update_https' ) ); $direct_update_url = wp_get_direct_update_https_url(); if ( ! empty( $direct_update_url ) ) { $result['actions'] = sprintf( '<p class="button-container"><a class="button button-primary" href="%1$s" target="_blank">%2$s<span class="screen-reader-text"> %3$s</span><span aria-hidden="true" class="dashicons dashicons-external"></span></a></p>', esc_url( $direct_update_url ), __( 'Update your site to use HTTPS' ), /* translators: Hidden accessibility text. */ __( '(opens in a new tab)' ) ); } else { $result['actions'] = sprintf( '<p class="button-container"><a class="button button-primary" href="%1$s">%2$s</a></p>', esc_url( $default_direct_update_url ), __( 'Update your site to use HTTPS' ) ); } } } else { // If host-specific "Update HTTPS" URL is provided, include a link. $update_url = wp_get_update_https_url(); if ( $update_url !== $default_update_url ) { $result['description'] .= sprintf( '<p><a href="%s" target="_blank">%s<span class="screen-reader-text"> %s</span><span aria-hidden="true" class="dashicons dashicons-external"></span></a></p>', esc_url( $update_url ), __( 'Talk to your web host about supporting HTTPS for your website.' ), /* translators: Hidden accessibility text. */ __( '(opens in a new tab)' ) ); } else { $result['description'] .= sprintf( '<p>%s</p>', __( 'Talk to your web host about supporting HTTPS for your website.' ) ); } } } return $result; } /** * Checks if the HTTP API can handle SSL/TLS requests. * * @since 5.2.0 * * @return array The test result. */ public function get_test_ssl_support() { $result = array( 'label' => '', 'status' => '', 'badge' => array( 'label' => __( 'Security' ), 'color' => 'blue', ), 'description' => sprintf( '<p>%s</p>', __( 'Securely communicating between servers are needed for transactions such as fetching files, conducting sales on store sites, and much more.' ) ), 'actions' => '', 'test' => 'ssl_support', ); $supports_https = wp_http_supports( array( 'ssl' ) ); if ( $supports_https ) { $result['status'] = 'good'; $result['label'] = __( 'Your site can communicate securely with other services' ); } else { $result['status'] = 'critical'; $result['label'] = __( 'Your site is unable to communicate securely with other services' ); $result['description'] .= sprintf( '<p>%s</p>', __( 'Talk to your web host about OpenSSL support for PHP.' ) ); } return $result; } /** * Tests if scheduled events run as intended. * * If scheduled events are not running, this may indicate something with WP_Cron is not working * as intended, or that there are orphaned events hanging around from older code. * * @since 5.2.0 * * @return array The test results. */ public function get_test_scheduled_events() { $result = array( 'label' => __( 'Scheduled events are running' ), 'status' => 'good', 'badge' => array( 'label' => __( 'Performance' ), 'color' => 'blue', ), 'description' => sprintf( '<p>%s</p>', __( 'Scheduled events are what periodically looks for updates to plugins, themes and WordPress itself. It is also what makes sure scheduled posts are published on time. It may also be used by various plugins to make sure that planned actions are executed.' ) ), 'actions' => '', 'test' => 'scheduled_events', ); $this->wp_schedule_test_init(); if ( is_wp_error( $this->has_missed_cron() ) ) { $result['status'] = 'critical'; $result['label'] = __( 'It was not possible to check your scheduled events' ); $result['description'] = sprintf( '<p>%s</p>', sprintf( /* translators: %s: The error message returned while from the cron scheduler. */ __( 'While trying to test your site’s scheduled events, the following error was returned: %s' ), $this->has_missed_cron()->get_error_message() ) ); } elseif ( $this->has_missed_cron() ) { $result['status'] = 'recommended'; $result['label'] = __( 'A scheduled event has failed' ); $result['description'] = sprintf( '<p>%s</p>', sprintf( /* translators: %s: The name of the failed cron event. */ __( 'The scheduled event, %s, failed to run. Your site still works, but this may indicate that scheduling posts or automated updates may not work as intended.' ), $this->last_missed_cron ) ); } elseif ( $this->has_late_cron() ) { $result['status'] = 'recommended'; $result['label'] = __( 'A scheduled event is late' ); $result['description'] = sprintf( '<p>%s</p>', sprintf( /* translators: %s: The name of the late cron event. */ __( 'The scheduled event, %s, is late to run. Your site still works, but this may indicate that scheduling posts or automated updates may not work as intended.' ), $this->last_late_cron ) ); } return $result; } /** * Tests if WordPress can run automated background updates. * * Background updates in WordPress are primarily used for minor releases and security updates. * It's important to either have these working, or be aware that they are intentionally disabled * for whatever reason. * * @since 5.2.0 * * @return array The test results. */ public function get_test_background_updates() { $result = array( 'label' => __( 'Background updates are working' ), 'status' => 'good', 'badge' => array( 'label' => __( 'Security' ), 'color' => 'blue', ), 'description' => sprintf( '<p>%s</p>', __( 'Background updates ensure that WordPress can auto-update if a security update is released for the version you are currently using.' ) ), 'actions' => '', 'test' => 'background_updates', ); if ( ! class_exists( 'WP_Site_Health_Auto_Updates' ) ) { require_once ABSPATH . 'wp-admin/includes/class-wp-site-health-auto-updates.php'; } /* * Run the auto-update tests in a separate class, * as there are many considerations to be made. */ $automatic_updates = new WP_Site_Health_Auto_Updates(); $tests = $automatic_updates->run_tests(); $output = '<ul>'; foreach ( $tests as $test ) { /* translators: Hidden accessibility text. */ $severity_string = __( 'Passed' ); if ( 'fail' === $test->severity ) { $result['label'] = __( 'Background updates are not working as expected' ); $result['status'] = 'critical'; /* translators: Hidden accessibility text. */ $severity_string = __( 'Error' ); } if ( 'warning' === $test->severity && 'good' === $result['status'] ) { $result['label'] = __( 'Background updates may not be working properly' ); $result['status'] = 'recommended'; /* translators: Hidden accessibility text. */ $severity_string = __( 'Warning' ); } $output .= sprintf( '<li><span class="dashicons %s"><span class="screen-reader-text">%s</span></span> %s</li>', esc_attr( $test->severity ), $severity_string, $test->description ); } $output .= '</ul>'; if ( 'good' !== $result['status'] ) { $result['description'] .= $output; } return $result; } /** * Tests if plugin and theme auto-updates appear to be configured correctly. * * @since 5.5.0 * * @return array The test results. */ public function get_test_plugin_theme_auto_updates() { $result = array( 'label' => __( 'Plugin and theme auto-updates appear to be configured correctly' ), 'status' => 'good', 'badge' => array( 'label' => __( 'Security' ), 'color' => 'blue', ), 'description' => sprintf( '<p>%s</p>', __( 'Plugin and theme auto-updates ensure that the latest versions are always installed.' ) ), 'actions' => '', 'test' => 'plugin_theme_auto_updates', ); $check_plugin_theme_updates = $this->detect_plugin_theme_auto_update_issues(); $result['status'] = $check_plugin_theme_updates->status; if ( 'good' !== $result['status'] ) { $result['label'] = __( 'Your site may have problems auto-updating plugins and themes' ); $result['description'] .= sprintf( '<p>%s</p>', $check_plugin_theme_updates->message ); } return $result; } /** * Tests available disk space for updates. * * @since 6.3.0 * * @return array The test results. */ public function get_test_available_updates_disk_space() { $available_space = function_exists( 'disk_free_space' ) ? @disk_free_space( WP_CONTENT_DIR ) : false; $result = array( 'label' => __( 'Disk space available to safely perform updates' ), 'status' => 'good', 'badge' => array( 'label' => __( 'Security' ), 'color' => 'blue', ), 'description' => sprintf( /* translators: %s: Available disk space in MB or GB. */ '<p>' . __( '%s available disk space was detected, update routines can be performed safely.' ) . '</p>', size_format( $available_space ) ), 'actions' => '', 'test' => 'available_updates_disk_space', ); if ( false === $available_space ) { $result['description'] = __( 'Could not determine available disk space for updates.' ); $result['status'] = 'recommended'; } elseif ( $available_space < 20 * MB_IN_BYTES ) { $result['description'] = sprintf( /* translators: %s: Available disk space in MB or GB. */ __( 'Available disk space is critically low, less than %s available. Proceed with caution, updates may fail.' ), size_format( 20 * MB_IN_BYTES ) ); $result['status'] = 'critical'; } elseif ( $available_space < 100 * MB_IN_BYTES ) { $result['description'] = sprintf( /* translators: %s: Available disk space in MB or GB. */ __( 'Available disk space is low, less than %s available.' ), size_format( 100 * MB_IN_BYTES ) ); $result['status'] = 'recommended'; } return $result; } /** * Tests if plugin and theme temporary backup directories are writable or can be created. * * @since 6.3.0 * * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass. * * @return array The test results. */ public function get_test_update_temp_backup_writable() { global $wp_filesystem; $result = array( 'label' => __( 'Plugin and theme temporary backup directory is writable' ), 'status' => 'good', 'badge' => array( 'label' => __( 'Security' ), 'color' => 'blue', ), 'description' => sprintf( /* translators: %s: wp-content/upgrade-temp-backup */ '<p>' . __( 'The %s directory used to improve the stability of plugin and theme updates is writable.' ) . '</p>', '<code>wp-content/upgrade-temp-backup</code>' ), 'actions' => '', 'test' => 'update_temp_backup_writable', ); if ( ! function_exists( 'WP_Filesystem' ) ) { require_once ABSPATH . '/wp-admin/includes/file.php'; } ob_start(); $credentials = request_filesystem_credentials( '' ); ob_end_clean(); if ( false === $credentials || ! WP_Filesystem( $credentials ) ) { $result['status'] = 'recommended'; $result['label'] = __( 'Could not access filesystem' ); $result['description'] = __( 'Unable to connect to the filesystem. Please confirm your credentials.' ); return $result; } $wp_content = $wp_filesystem->wp_content_dir(); if ( ! $wp_content ) { $result['status'] = 'critical'; $result['label'] = __( 'Unable to locate WordPress content directory' ); $result['description'] = sprintf( /* translators: %s: wp-content */ '<p>' . __( 'The %s directory cannot be located.' ) . '</p>', '<code>wp-content</code>' ); return $result; } $upgrade_dir_exists = $wp_filesystem->is_dir( "$wp_content/upgrade" ); $upgrade_dir_is_writable = $wp_filesystem->is_writable( "$wp_content/upgrade" ); $backup_dir_exists = $wp_filesystem->is_dir( "$wp_content/upgrade-temp-backup" ); $backup_dir_is_writable = $wp_filesystem->is_writable( "$wp_content/upgrade-temp-backup" ); $plugins_dir_exists = $wp_filesystem->is_dir( "$wp_content/upgrade-temp-backup/plugins" ); $plugins_dir_is_writable = $wp_filesystem->is_writable( "$wp_content/upgrade-temp-backup/plugins" ); $themes_dir_exists = $wp_filesystem->is_dir( "$wp_content/upgrade-temp-backup/themes" ); $themes_dir_is_writable = $wp_filesystem->is_writable( "$wp_content/upgrade-temp-backup/themes" ); if ( $plugins_dir_exists && ! $plugins_dir_is_writable && $themes_dir_exists && ! $themes_dir_is_writable ) { $result['status'] = 'critical'; $result['label'] = __( 'Plugin and theme temporary backup directories exist but are not writable' ); $result['description'] = sprintf( /* translators: 1: wp-content/upgrade-temp-backup/plugins, 2: wp-content/upgrade-temp-backup/themes. */ '<p>' . __( 'The %1$s and %2$s directories exist but are not writable. These directories are used to improve the stability of plugin updates. Please make sure the server has write permissions to these directories.' ) . '</p>', '<code>wp-content/upgrade-temp-backup/plugins</code>', '<code>wp-content/upgrade-temp-backup/themes</code>' ); return $result; } if ( $plugins_dir_exists && ! $plugins_dir_is_writable ) { $result['status'] = 'critical'; $result['label'] = __( 'Plugin temporary backup directory exists but is not writable' ); $result['description'] = sprintf( /* translators: %s: wp-content/upgrade-temp-backup/plugins */ '<p>' . __( 'The %s directory exists but is not writable. This directory is used to improve the stability of plugin updates. Please make sure the server has write permissions to this directory.' ) . '</p>', '<code>wp-content/upgrade-temp-backup/plugins</code>' ); return $result; } if ( $themes_dir_exists && ! $themes_dir_is_writable ) { $result['status'] = 'critical'; $result['label'] = __( 'Theme temporary backup directory exists but is not writable' ); $result['description'] = sprintf( /* translators: %s: wp-content/upgrade-temp-backup/themes */ '<p>' . __( 'The %s directory exists but is not writable. This directory is used to improve the stability of theme updates. Please make sure the server has write permissions to this directory.' ) . '</p>', '<code>wp-content/upgrade-temp-backup/themes</code>' ); return $result; } if ( ( ! $plugins_dir_exists || ! $themes_dir_exists ) && $backup_dir_exists && ! $backup_dir_is_writable ) { $result['status'] = 'critical'; $result['label'] = __( 'The temporary backup directory exists but is not writable' ); $result['description'] = sprintf( /* translators: %s: wp-content/upgrade-temp-backup */ '<p>' . __( 'The %s directory exists but is not writable. This directory is used to improve the stability of plugin and theme updates. Please make sure the server has write permissions to this directory.' ) . '</p>', '<code>wp-content/upgrade-temp-backup</code>' ); return $result; } if ( ! $backup_dir_exists && $upgrade_dir_exists && ! $upgrade_dir_is_writable ) { $result['status'] = 'critical'; $result['label'] = __( 'The upgrade directory exists but is not writable' ); $result['description'] = sprintf( /* translators: %s: wp-content/upgrade */ '<p>' . __( 'The %s directory exists but is not writable. This directory is used for plugin and theme updates. Please make sure the server has write permissions to this directory.' ) . '</p>', '<code>wp-content/upgrade</code>' ); return $result; } if ( ! $upgrade_dir_exists && ! $wp_filesystem->is_writable( $wp_content ) ) { $result['status'] = 'critical'; $result['label'] = __( 'The upgrade directory cannot be created' ); $result['description'] = sprintf( /* translators: 1: wp-content/upgrade, 2: wp-content. */ '<p>' . __( 'The %1$s directory does not exist, and the server does not have write permissions in %2$s to create it. This directory is used for plugin and theme updates. Please make sure the server has write permissions in %2$s.' ) . '</p>', '<code>wp-content/upgrade</code>', '<code>wp-content</code>' ); return $result; } return $result; } /** * Tests if loopbacks work as expected. * * A loopback is when WordPress queries itself, for example to start a new WP_Cron instance, * or when editing a plugin or theme. This has shown itself to be a recurring issue, * as code can very easily break this interaction. * * @since 5.2.0 * * @return array The test results. */ public function get_test_loopback_requests() { $result = array( 'label' => __( 'Your site can perform loopback requests' ), 'status' => 'good', 'badge' => array( 'label' => __( 'Performance' ), 'color' => 'blue', ), 'description' => sprintf( '<p>%s</p>', __( 'Loopback requests are used to run scheduled events, and are also used by the built-in editors for themes and plugins to verify code stability.' ) ), 'actions' => '', 'test' => 'loopback_requests', ); $check_loopback = $this->can_perform_loopback(); $result['status'] = $check_loopback->status; if ( 'good' !== $result['status'] ) { $result['label'] = __( 'Your site could not complete a loopback request' ); $result['description'] .= sprintf( '<p>%s</p>', $check_loopback->message ); } return $result; } /** * Tests if HTTP requests are blocked. * * It's possible to block all outgoing communication (with the possibility of allowing certain * hosts) via the HTTP API. This may create problems for users as many features are running as * services these days. * * @since 5.2.0 * * @return array The test results. */ public function get_test_http_requests() { $result = array( 'label' => __( 'HTTP requests seem to be working as expected' ), 'status' => 'good', 'badge' => array( 'label' => __( 'Performance' ), 'color' => 'blue', ), 'description' => sprintf( '<p>%s</p>', __( 'It is possible for site maintainers to block all, or some, communication to other sites and services. If set up incorrectly, this may prevent plugins and themes from working as intended.' ) ), 'actions' => '', 'test' => 'http_requests', ); $blocked = false; $hosts = array(); if ( defined( 'WP_HTTP_BLOCK_EXTERNAL' ) && WP_HTTP_BLOCK_EXTERNAL ) { $blocked = true; } if ( defined( 'WP_ACCESSIBLE_HOSTS' ) ) { $hosts = explode( ',', WP_ACCESSIBLE_HOSTS ); } if ( $blocked && 0 === count( $hosts ) ) { $result['status'] = 'critical'; $result['label'] = __( 'HTTP requests are blocked' ); $result['description'] .= sprintf( '<p>%s</p>', sprintf( /* translators: %s: Name of the constant used. */ __( 'HTTP requests have been blocked by the %s constant, with no allowed hosts.' ), '<code>WP_HTTP_BLOCK_EXTERNAL</code>' ) ); } if ( $blocked && 0 < count( $hosts ) ) { $result['status'] = 'recommended'; $result['label'] = __( 'HTTP requests are partially blocked' ); $result['description'] .= sprintf( '<p>%s</p>', sprintf( /* translators: 1: Name of the constant used. 2: List of allowed hostnames. */ __( 'HTTP requests have been blocked by the %1$s constant, with some allowed hosts: %2$s.' ), '<code>WP_HTTP_BLOCK_EXTERNAL</code>', implode( ',', $hosts ) ) ); } return $result; } /** * Tests if the REST API is accessible. * * Various security measures may block the REST API from working, or it may have been disabled in general. * This is required for the new block editor to work, so we explicitly test for this. * * @since 5.2.0 * * @return array The test results. */ public function get_test_rest_availability() { $result = array( 'label' => __( 'The REST API is available' ), 'status' => 'good', 'badge' => array( 'label' => __( 'Performance' ), 'color' => 'blue', ), 'description' => sprintf( '<p>%s</p>', __( 'The REST API is one way that WordPress and other applications communicate with the server. For example, the block editor screen relies on the REST API to display and save your posts and pages.' ) ), 'actions' => '', 'test' => 'rest_availability', ); $cookies = wp_unslash( $_COOKIE ); $timeout = 10; // 10 seconds. $headers = array( 'Cache-Control' => 'no-cache', 'X-WP-Nonce' => wp_create_nonce( 'wp_rest' ), ); /** This filter is documented in wp-includes/class-wp-http-streams.php */ $sslverify = apply_filters( 'https_local_ssl_verify', false ); // Include Basic auth in loopback requests. if ( isset( $_SERVER['PHP_AUTH_USER'] ) && isset( $_SERVER['PHP_AUTH_PW'] ) ) { $headers['Authorization'] = 'Basic ' . base64_encode( wp_unslash( $_SERVER['PHP_AUTH_USER'] ) . ':' . wp_unslash( $_SERVER['PHP_AUTH_PW'] ) ); } $url = rest_url( 'wp/v2/types/post' ); // The context for this is editing with the new block editor. $url = add_query_arg( array( 'context' => 'edit', ), $url ); $r = wp_remote_get( $url, compact( 'cookies', 'headers', 'timeout', 'sslverify' ) ); if ( is_wp_error( $r ) ) { $result['status'] = 'critical'; $result['label'] = __( 'The REST API encountered an error' ); $result['description'] .= sprintf( '<p>%s</p><p>%s<br>%s</p>', __( 'When testing the REST API, an error was encountered:' ), sprintf( // translators: %s: The REST API URL. __( 'REST API Endpoint: %s' ), $url ), sprintf( // translators: 1: The WordPress error code. 2: The WordPress error message. __( 'REST API Response: (%1$s) %2$s' ), $r->get_error_code(), $r->get_error_message() ) ); } elseif ( 200 !== wp_remote_retrieve_response_code( $r ) ) { $result['status'] = 'recommended'; $result['label'] = __( 'The REST API encountered an unexpected result' ); $result['description'] .= sprintf( '<p>%s</p><p>%s<br>%s</p>', __( 'When testing the REST API, an unexpected result was returned:' ), sprintf( // translators: %s: The REST API URL. __( 'REST API Endpoint: %s' ), $url ), sprintf( // translators: 1: The WordPress error code. 2: The HTTP status code error message. __( 'REST API Response: (%1$s) %2$s' ), wp_remote_retrieve_response_code( $r ), wp_remote_retrieve_response_message( $r ) ) ); } else { $json = json_decode( wp_remote_retrieve_body( $r ), true ); if ( false !== $json && ! isset( $json['capabilities'] ) ) { $result['status'] = 'recommended'; $result['label'] = __( 'The REST API did not behave correctly' ); $result['description'] .= sprintf( '<p>%s</p>', sprintf( /* translators: %s: The name of the query parameter being tested. */ __( 'The REST API did not process the %s query parameter correctly.' ), '<code>context</code>' ) ); } } return $result; } /** * Tests if 'file_uploads' directive in PHP.ini is turned off. * * @since 5.5.0 * * @return array The test results. */ public function get_test_file_uploads() { $result = array( 'label' => __( 'Files can be uploaded' ), 'status' => 'good', 'badge' => array( 'label' => __( 'Performance' ), 'color' => 'blue', ), 'description' => sprintf( '<p>%s</p>', sprintf( /* translators: 1: file_uploads, 2: php.ini */ __( 'The %1$s directive in %2$s determines if uploading files is allowed on your site.' ), '<code>file_uploads</code>', '<code>php.ini</code>' ) ), 'actions' => '', 'test' => 'file_uploads', ); if ( ! function_exists( 'ini_get' ) ) { $result['status'] = 'critical'; $result['description'] .= sprintf( /* translators: %s: ini_get() */ __( 'The %s function has been disabled, some media settings are unavailable because of this.' ), '<code>ini_get()</code>' ); return $result; } if ( empty( ini_get( 'file_uploads' ) ) ) { $result['status'] = 'critical'; $result['description'] .= sprintf( '<p>%s</p>', sprintf( /* translators: 1: file_uploads, 2: 0 */ __( '%1$s is set to %2$s. You won\'t be able to upload files on your site.' ), '<code>file_uploads</code>', '<code>0</code>' ) ); return $result; } $post_max_size = ini_get( 'post_max_size' ); $upload_max_filesize = ini_get( 'upload_max_filesize' ); if ( wp_convert_hr_to_bytes( $post_max_size ) < wp_convert_hr_to_bytes( $upload_max_filesize ) ) { $result['label'] = sprintf( /* translators: 1: post_max_size, 2: upload_max_filesize */ __( 'The "%1$s" value is smaller than "%2$s"' ), 'post_max_size', 'upload_max_filesize' ); $result['status'] = 'recommended'; if ( 0 === wp_convert_hr_to_bytes( $post_max_size ) ) { $result['description'] = sprintf( '<p>%s</p>', sprintf( /* translators: 1: post_max_size, 2: upload_max_filesize */ __( 'The setting for %1$s is currently configured as 0, this could cause some problems when trying to upload files through plugin or theme features that rely on various upload methods. It is recommended to configure this setting to a fixed value, ideally matching the value of %2$s, as some upload methods read the value 0 as either unlimited, or disabled.' ), '<code>post_max_size</code>', '<code>upload_max_filesize</code>' ) ); } else { $result['description'] = sprintf( '<p>%s</p>', sprintf( /* translators: 1: post_max_size, 2: upload_max_filesize */ __( 'The setting for %1$s is smaller than %2$s, this could cause some problems when trying to upload files.' ), '<code>post_max_size</code>', '<code>upload_max_filesize</code>' ) ); } return $result; } return $result; } /** * Tests if the Authorization header has the expected values. * * @since 5.6.0 * * @return array */ public function get_test_authorization_header() { $result = array( 'label' => __( 'The Authorization header is working as expected' ), 'status' => 'good', 'badge' => array( 'label' => __( 'Security' ), 'color' => 'blue', ), 'description' => sprintf( '<p>%s</p>', __( 'The Authorization header is used by third-party applications you have approved for this site. Without this header, those apps cannot connect to your site.' ) ), 'actions' => '', 'test' => 'authorization_header', ); if ( ! isset( $_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW'] ) ) { $result['label'] = __( 'The authorization header is missing' ); } elseif ( 'user' !== $_SERVER['PHP_AUTH_USER'] || 'pwd' !== $_SERVER['PHP_AUTH_PW'] ) { $result['label'] = __( 'The authorization header is invalid' ); } else { return $result; } $result['status'] = 'recommended'; $result['description'] .= sprintf( '<p>%s</p>', __( 'If you are still seeing this warning after having tried the actions below, you may need to contact your hosting provider for further assistance.' ) ); if ( ! function_exists( 'got_mod_rewrite' ) ) { require_once ABSPATH . 'wp-admin/includes/misc.php'; } if ( got_mod_rewrite() ) { $result['actions'] .= sprintf( '<p><a href="%s">%s</a></p>', esc_url( admin_url( 'options-permalink.php' ) ), __( 'Flush permalinks' ) ); } else { $result['actions'] .= sprintf( '<p><a href="%s" target="_blank">%s<span class="screen-reader-text"> %s</span><span aria-hidden="true" class="dashicons dashicons-external"></span></a></p>', __( 'https://developer.wordpress.org/rest-api/frequently-asked-questions/#why-is-authentication-not-working' ), __( 'Learn how to configure the Authorization header.' ), /* translators: Hidden accessibility text. */ __( '(opens in a new tab)' ) ); } return $result; } /** * Tests if a full page cache is available. * * @since 6.1.0 * * @return array The test result. */ public function get_test_page_cache() { $description = '<p>' . __( 'Page cache enhances the speed and performance of your site by saving and serving static pages instead of calling for a page every time a user visits.' ) . '</p>'; $description .= '<p>' . __( 'Page cache is detected by looking for an active page cache plugin as well as making three requests to the homepage and looking for one or more of the following HTTP client caching response headers:' ) . '</p>'; $description .= '<code>' . implode( '</code>, <code>', array_keys( $this->get_page_cache_headers() ) ) . '.</code>'; $result = array( 'badge' => array( 'label' => __( 'Performance' ), 'color' => 'blue', ), 'description' => wp_kses_post( $description ), 'test' => 'page_cache', 'status' => 'good', 'label' => '', 'actions' => sprintf( '<p><a href="%1$s" target="_blank" rel="noreferrer">%2$s<span class="screen-reader-text"> %3$s</span><span aria-hidden="true" class="dashicons dashicons-external"></span></a></p>', __( 'https://developer.wordpress.org/advanced-administration/performance/optimization/#caching' ), __( 'Learn more about page cache' ), /* translators: Hidden accessibility text. */ __( '(opens in a new tab)' ) ), ); $page_cache_detail = $this->get_page_cache_detail(); if ( is_wp_error( $page_cache_detail ) ) { $result['label'] = __( 'Unable to detect the presence of page cache' ); $result['status'] = 'recommended'; $error_info = sprintf( /* translators: 1: Error message, 2: Error code. */ __( 'Unable to detect page cache due to possible loopback request problem. Please verify that the loopback request test is passing. Error: %1$s (Code: %2$s)' ), $page_cache_detail->get_error_message(), $page_cache_detail->get_error_code() ); $result['description'] = wp_kses_post( "<p>$error_info</p>" ) . $result['description']; return $result; } $result['status'] = $page_cache_detail['status']; switch ( $page_cache_detail['status'] ) { case 'recommended': $result['label'] = __( 'Page cache is not detected but the server response time is OK' ); break; case 'good': $result['label'] = __( 'Page cache is detected and the server response time is good' ); break; default: if ( empty( $page_cache_detail['headers'] ) && ! $page_cache_detail['advanced_cache_present'] ) { $result['label'] = __( 'Page cache is not detected and the server response time is slow' ); } else { $result['label'] = __( 'Page cache is detected but the server response time is still slow' ); } } $page_cache_test_summary = array(); if ( empty( $page_cache_detail['response_time'] ) ) { $page_cache_test_summary[] = '<span class="dashicons dashicons-dismiss"></span> ' . __( 'Server response time could not be determined. Verify that loopback requests are working.' ); } else { $threshold = $this->get_good_response_time_threshold(); if ( $page_cache_detail['response_time'] < $threshold ) { $page_cache_test_summary[] = '<span class="dashicons dashicons-yes-alt"></span> ' . sprintf( /* translators: 1: The response time in milliseconds, 2: The recommended threshold in milliseconds. */ __( 'Median server response time was %1$s milliseconds. This is less than the recommended %2$s milliseconds threshold.' ), number_format_i18n( $page_cache_detail['response_time'] ), number_format_i18n( $threshold ) ); } else { $page_cache_test_summary[] = '<span class="dashicons dashicons-warning"></span> ' . sprintf( /* translators: 1: The response time in milliseconds, 2: The recommended threshold in milliseconds. */ __( 'Median server response time was %1$s milliseconds. It should be less than the recommended %2$s milliseconds threshold.' ), number_format_i18n( $page_cache_detail['response_time'] ), number_format_i18n( $threshold ) ); } if ( empty( $page_cache_detail['headers'] ) ) { $page_cache_test_summary[] = '<span class="dashicons dashicons-warning"></span> ' . __( 'No client caching response headers were detected.' ); } else { $headers_summary = '<span class="dashicons dashicons-yes-alt"></span>'; $headers_summary .= ' ' . sprintf( /* translators: %d: Number of caching headers. */ _n( 'There was %d client caching response header detected:', 'There were %d client caching response headers detected:', count( $page_cache_detail['headers'] ) ), count( $page_cache_detail['headers'] ) ); $headers_summary .= ' <code>' . implode( '</code>, <code>', $page_cache_detail['headers'] ) . '</code>.'; $page_cache_test_summary[] = $headers_summary; } } if ( $page_cache_detail['advanced_cache_present'] ) { $page_cache_test_summary[] = '<span class="dashicons dashicons-yes-alt"></span> ' . __( 'A page cache plugin was detected.' ); } elseif ( ! ( is_array( $page_cache_detail ) && ! empty( $page_cache_detail['headers'] ) ) ) { // Note: This message is not shown if client caching response headers were present since an external caching layer may be employed. $page_cache_test_summary[] = '<span class="dashicons dashicons-warning"></span> ' . __( 'A page cache plugin was not detected.' ); } $result['description'] .= '<ul><li>' . implode( '</li><li>', $page_cache_test_summary ) . '</li></ul>'; return $result; } /** * Tests if the site uses persistent object cache and recommends to use it if not. * * @since 6.1.0 * * @return array The test result. */ public function get_test_persistent_object_cache() { /** * Filters the action URL for the persistent object cache health check. * * @since 6.1.0 * * @param string $action_url Learn more link for persistent object cache health check. */ $action_url = apply_filters( 'site_status_persistent_object_cache_url', /* translators: Localized Support reference. */ __( 'https://developer.wordpress.org/advanced-administration/performance/optimization/#persistent-object-cache' ) ); $result = array( 'test' => 'persistent_object_cache', 'status' => 'good', 'badge' => array( 'label' => __( 'Performance' ), 'color' => 'blue', ), 'label' => __( 'A persistent object cache is being used' ), 'description' => sprintf( '<p>%s</p>', __( 'A persistent object cache makes your site’s database more efficient, resulting in faster load times because WordPress can retrieve your site’s content and settings much more quickly.' ) ), 'actions' => sprintf( '<p><a href="%s" target="_blank">%s<span class="screen-reader-text"> %s</span><span aria-hidden="true" class="dashicons dashicons-external"></span></a></p>', esc_url( $action_url ), __( 'Learn more about persistent object caching.' ), /* translators: Hidden accessibility text. */ __( '(opens in a new tab)' ) ), ); if ( wp_using_ext_object_cache() ) { return $result; } if ( ! $this->should_suggest_persistent_object_cache() ) { $result['label'] = __( 'A persistent object cache is not required' ); return $result; } $available_services = $this->available_object_cache_services(); $notes = __( 'Your hosting provider can tell you if a persistent object cache can be enabled on your site.' ); if ( ! empty( $available_services ) ) { $notes .= ' ' . sprintf( /* translators: Available object caching services. */ __( 'Your host appears to support the following object caching services: %s.' ), implode( ', ', $available_services ) ); } /** * Filters the second paragraph of the health check's description * when suggesting the use of a persistent object cache. * * Hosts may want to replace the notes to recommend their preferred object caching solution. * * Plugin authors may want to append notes (not replace) on why object caching is recommended for their plugin. * * @since 6.1.0 * * @param string $notes The notes appended to the health check description. * @param string[] $available_services The list of available persistent object cache services. */ $notes = apply_filters( 'site_status_persistent_object_cache_notes', $notes, $available_services ); $result['status'] = 'recommended'; $result['label'] = __( 'You should use a persistent object cache' ); $result['description'] .= sprintf( '<p>%s</p>', wp_kses( $notes, array( 'a' => array( 'href' => true ), 'code' => true, 'em' => true, 'strong' => true, ) ) ); return $result; } /** * Calculates total amount of autoloaded data. * * @since 6.6.0 * * @return int Autoloaded data in bytes. */ public function get_autoloaded_options_size() { $alloptions = wp_load_alloptions(); $total_length = 0; foreach ( $alloptions as $option_value ) { if ( is_array( $option_value ) || is_object( $option_value ) ) { $option_value = maybe_serialize( $option_value ); } $total_length += strlen( (string) $option_value ); } return $total_length; } /** * Tests the number of autoloaded options. * * @since 6.6.0 * * @return array The test results. */ public function get_test_autoloaded_options() { $autoloaded_options_size = $this->get_autoloaded_options_size(); $autoloaded_options_count = count( wp_load_alloptions() ); $base_description = __( 'Autoloaded options are configuration settings for plugins and themes that are automatically loaded with every page load in WordPress. Having too many autoloaded options can slow down your site.' ); $result = array( 'label' => __( 'Autoloaded options are acceptable' ), 'status' => 'good', 'badge' => array( 'label' => __( 'Performance' ), 'color' => 'blue', ), 'description' => sprintf( /* translators: 1: Number of autoloaded options, 2: Autoloaded options size. */ '<p>' . esc_html( $base_description ) . ' ' . __( 'Your site has %1$s autoloaded options (size: %2$s) in the options table, which is acceptable.' ) . '</p>', $autoloaded_options_count, size_format( $autoloaded_options_size ) ), 'actions' => '', 'test' => 'autoloaded_options', ); /** * Filters max bytes threshold to trigger warning in Site Health. * * @since 6.6.0 * * @param int $limit Autoloaded options threshold size. Default 800000. */ $limit = apply_filters( 'site_status_autoloaded_options_size_limit', 800000 ); if ( $autoloaded_options_size < $limit ) { return $result; } $result['status'] = 'critical'; $result['label'] = __( 'Autoloaded options could affect performance' ); $result['description'] = sprintf( /* translators: 1: Number of autoloaded options, 2: Autoloaded options size. */ '<p>' . esc_html( $base_description ) . ' ' . __( 'Your site has %1$s autoloaded options (size: %2$s) in the options table, which could cause your site to be slow. You can review the options being autoloaded in your database and remove any options that are no longer needed by your site.' ) . '</p>', $autoloaded_options_count, size_format( $autoloaded_options_size ) ); /** * Filters description to be shown on Site Health warning when threshold is met. * * @since 6.6.0 * * @param string $description Description message when autoloaded options bigger than threshold. */ $result['description'] = apply_filters( 'site_status_autoloaded_options_limit_description', $result['description'] ); $result['actions'] = sprintf( /* translators: 1: HelpHub URL, 2: Link description. */ '<p><a target="_blank" href="%1$s">%2$s</a></p>', esc_url( __( 'https://developer.wordpress.org/advanced-administration/performance/optimization/#autoloaded-options' ) ), __( 'More info about optimizing autoloaded options' ) ); /** * Filters actionable information to tackle the problem. It can be a link to an external guide. * * @since 6.6.0 * * @param string $actions Call to Action to be used to point to the right direction to solve the issue. */ $result['actions'] = apply_filters( 'site_status_autoloaded_options_action_to_perform', $result['actions'] ); return $result; } /** * Returns a set of tests that belong to the site status page. * * Each site status test is defined here, they may be `direct` tests, that run on page load, or `async` tests * which will run later down the line via JavaScript calls to improve page performance and hopefully also user * experiences. * * @since 5.2.0 * @since 5.6.0 Added support for `has_rest` and `permissions`. * * @return array The list of tests to run. */ public static function get_tests() { $tests = array( 'direct' => array( 'wordpress_version' => array( 'label' => __( 'WordPress Version' ), 'test' => 'wordpress_version', ), 'plugin_version' => array( 'label' => __( 'Plugin Versions' ), 'test' => 'plugin_version', ), 'theme_version' => array( 'label' => __( 'Theme Versions' ), 'test' => 'theme_version', ), 'php_version' => array( 'label' => __( 'PHP Version' ), 'test' => 'php_version', ), 'php_extensions' => array( 'label' => __( 'PHP Extensions' ), 'test' => 'php_extensions', ), 'php_default_timezone' => array( 'label' => __( 'PHP Default Timezone' ), 'test' => 'php_default_timezone', ), 'php_sessions' => array( 'label' => __( 'PHP Sessions' ), 'test' => 'php_sessions', ), 'sql_server' => array( 'label' => __( 'Database Server version' ), 'test' => 'sql_server', ), 'ssl_support' => array( 'label' => __( 'Secure communication' ), 'test' => 'ssl_support', ), 'scheduled_events' => array( 'label' => __( 'Scheduled events' ), 'test' => 'scheduled_events', ), 'http_requests' => array( 'label' => __( 'HTTP Requests' ), 'test' => 'http_requests', ), 'rest_availability' => array( 'label' => __( 'REST API availability' ), 'test' => 'rest_availability', 'skip_cron' => true, ), 'debug_enabled' => array( 'label' => __( 'Debugging enabled' ), 'test' => 'is_in_debug_mode', ), 'file_uploads' => array( 'label' => __( 'File uploads' ), 'test' => 'file_uploads', ), 'plugin_theme_auto_updates' => array( 'label' => __( 'Plugin and theme auto-updates' ), 'test' => 'plugin_theme_auto_updates', ), 'update_temp_backup_writable' => array( 'label' => __( 'Plugin and theme temporary backup directory access' ), 'test' => 'update_temp_backup_writable', ), 'available_updates_disk_space' => array( 'label' => __( 'Available disk space' ), 'test' => 'available_updates_disk_space', ), 'autoloaded_options' => array( 'label' => __( 'Autoloaded options' ), 'test' => 'autoloaded_options', ), ), 'async' => array( 'dotorg_communication' => array( 'label' => __( 'Communication with WordPress.org' ), 'test' => rest_url( 'wp-site-health/v1/tests/dotorg-communication' ), 'has_rest' => true, 'async_direct_test' => array( WP_Site_Health::get_instance(), 'get_test_dotorg_communication' ), ), 'background_updates' => array( 'label' => __( 'Background updates' ), 'test' => rest_url( 'wp-site-health/v1/tests/background-updates' ), 'has_rest' => true, 'async_direct_test' => array( WP_Site_Health::get_instance(), 'get_test_background_updates' ), ), 'loopback_requests' => array( 'label' => __( 'Loopback request' ), 'test' => rest_url( 'wp-site-health/v1/tests/loopback-requests' ), 'has_rest' => true, 'async_direct_test' => array( WP_Site_Health::get_instance(), 'get_test_loopback_requests' ), ), 'https_status' => array( 'label' => __( 'HTTPS status' ), 'test' => rest_url( 'wp-site-health/v1/tests/https-status' ), 'has_rest' => true, 'async_direct_test' => array( WP_Site_Health::get_instance(), 'get_test_https_status' ), ), ), ); // Conditionally include Authorization header test if the site isn't protected by Basic Auth. if ( ! wp_is_site_protected_by_basic_auth() ) { $tests['async']['authorization_header'] = array( 'label' => __( 'Authorization header' ), 'test' => rest_url( 'wp-site-health/v1/tests/authorization-header' ), 'has_rest' => true, 'headers' => array( 'Authorization' => 'Basic ' . base64_encode( 'user:pwd' ) ), 'skip_cron' => true, ); } // Only check for caches in production environments. if ( 'production' === wp_get_environment_type() ) { $tests['async']['page_cache'] = array( 'label' => __( 'Page cache' ), 'test' => rest_url( 'wp-site-health/v1/tests/page-cache' ), 'has_rest' => true, 'async_direct_test' => array( WP_Site_Health::get_instance(), 'get_test_page_cache' ), ); $tests['direct']['persistent_object_cache'] = array( 'label' => __( 'Persistent object cache' ), 'test' => 'persistent_object_cache', ); } /** * Filters which site status tests are run on a site. * * The site health is determined by a set of tests based on best practices from * both the WordPress Hosting Team and web standards in general. * * Some sites may not have the same requirements, for example the automatic update * checks may be handled by a host, and are therefore disabled in core. * Or maybe you want to introduce a new test, is caching enabled/disabled/stale for example. * * Tests may be added either as direct, or asynchronous ones. Any test that may require some time * to complete should run asynchronously, to avoid extended loading periods within wp-admin. * * @since 5.2.0 * @since 5.6.0 Added the `async_direct_test` array key for asynchronous tests. * Added the `skip_cron` array key for all tests. * * @param array[] $tests { * An associative array of direct and asynchronous tests. * * @type array[] $direct { * An array of direct tests. * * @type array ...$identifier { * `$identifier` should be a unique identifier for the test. Plugins and themes are encouraged to * prefix test identifiers with their slug to avoid collisions between tests. * * @type string $label The friendly label to identify the test. * @type callable $test The callback function that runs the test and returns its result. * @type bool $skip_cron Whether to skip this test when running as cron. * } * } * @type array[] $async { * An array of asynchronous tests. * * @type array ...$identifier { * `$identifier` should be a unique identifier for the test. Plugins and themes are encouraged to * prefix test identifiers with their slug to avoid collisions between tests. * * @type string $label The friendly label to identify the test. * @type string $test An admin-ajax.php action to be called to perform the test, or * if `$has_rest` is true, a URL to a REST API endpoint to perform * the test. * @type bool $has_rest Whether the `$test` property points to a REST API endpoint. * @type bool $skip_cron Whether to skip this test when running as cron. * @type callable $async_direct_test A manner of directly calling the test marked as asynchronous, * as the scheduled event can not authenticate, and endpoints * may require authentication. * } * } * } */ $tests = apply_filters( 'site_status_tests', $tests ); // Ensure that the filtered tests contain the required array keys. $tests = array_merge( array( 'direct' => array(), 'async' => array(), ), $tests ); return $tests; } /** * Adds a class to the body HTML tag. * * Filters the body class string for admin pages and adds our own class for easier styling. * * @since 5.2.0 * * @param string $body_class The body class string. * @return string The modified body class string. */ public function admin_body_class( $body_class ) { $screen = get_current_screen(); if ( 'site-health' !== $screen->id ) { return $body_class; } $body_class .= ' site-health'; return $body_class; } /** * Initiates the WP_Cron schedule test cases. * * @since 5.2.0 */ private function wp_schedule_test_init() { $this->schedules = wp_get_schedules(); $this->get_cron_tasks(); } /** * Populates the list of cron events and store them to a class-wide variable. * * @since 5.2.0 */ private function get_cron_tasks() { $cron_tasks = _get_cron_array(); if ( empty( $cron_tasks ) ) { $this->crons = new WP_Error( 'no_tasks', __( 'No scheduled events exist on this site.' ) ); return; } $this->crons = array(); foreach ( $cron_tasks as $time => $cron ) { foreach ( $cron as $hook => $dings ) { foreach ( $dings as $sig => $data ) { $this->crons[ "$hook-$sig-$time" ] = (object) array( 'hook' => $hook, 'time' => $time, 'sig' => $sig, 'args' => $data['args'], 'schedule' => $data['schedule'], 'interval' => isset( $data['interval'] ) ? $data['interval'] : null, ); } } } } /** * Checks if any scheduled tasks have been missed. * * Returns a boolean value of `true` if a scheduled task has been missed and ends processing. * * If the list of crons is an instance of WP_Error, returns the instance instead of a boolean value. * * @since 5.2.0 * * @return bool|WP_Error True if a cron was missed, false if not. WP_Error if the cron is set to that. */ public function has_missed_cron() { if ( is_wp_error( $this->crons ) ) { return $this->crons; } foreach ( $this->crons as $id => $cron ) { if ( ( $cron->time - time() ) < $this->timeout_missed_cron ) { $this->last_missed_cron = $cron->hook; return true; } } return false; } /** * Checks if any scheduled tasks are late. * * Returns a boolean value of `true` if a scheduled task is late and ends processing. * * If the list of crons is an instance of WP_Error, returns the instance instead of a boolean value. * * @since 5.3.0 * * @return bool|WP_Error True if a cron is late, false if not. WP_Error if the cron is set to that. */ public function has_late_cron() { if ( is_wp_error( $this->crons ) ) { return $this->crons; } foreach ( $this->crons as $id => $cron ) { $cron_offset = $cron->time - time(); if ( $cron_offset >= $this->timeout_missed_cron && $cron_offset < $this->timeout_late_cron ) { $this->last_late_cron = $cron->hook; return true; } } return false; } /** * Checks for potential issues with plugin and theme auto-updates. * * Though there is no way to 100% determine if plugin and theme auto-updates are configured * correctly, a few educated guesses could be made to flag any conditions that would * potentially cause unexpected behaviors. * * @since 5.5.0 * * @return object The test results. */ public function detect_plugin_theme_auto_update_issues() { $mock_plugin = (object) array( 'id' => 'w.org/plugins/a-fake-plugin', 'slug' => 'a-fake-plugin', 'plugin' => 'a-fake-plugin/a-fake-plugin.php', 'new_version' => '9.9', 'url' => 'https://wordpress.org/plugins/a-fake-plugin/', 'package' => 'https://downloads.wordpress.org/plugin/a-fake-plugin.9.9.zip', 'icons' => array( '2x' => 'https://ps.w.org/a-fake-plugin/assets/icon-256x256.png', '1x' => 'https://ps.w.org/a-fake-plugin/assets/icon-128x128.png', ), 'banners' => array( '2x' => 'https://ps.w.org/a-fake-plugin/assets/banner-1544x500.png', '1x' => 'https://ps.w.org/a-fake-plugin/assets/banner-772x250.png', ), 'banners_rtl' => array(), 'tested' => '5.5.0', 'requires_php' => '5.6.20', 'compatibility' => new stdClass(), ); $mock_theme = (object) array( 'theme' => 'a-fake-theme', 'new_version' => '9.9', 'url' => 'https://wordpress.org/themes/a-fake-theme/', 'package' => 'https://downloads.wordpress.org/theme/a-fake-theme.9.9.zip', 'requires' => '5.0.0', 'requires_php' => '5.6.20', ); $test_plugins_enabled = wp_is_auto_update_forced_for_item( 'plugin', true, $mock_plugin ); $test_themes_enabled = wp_is_auto_update_forced_for_item( 'theme', true, $mock_theme ); $ui_enabled_for_plugins = wp_is_auto_update_enabled_for_type( 'plugin' ); $ui_enabled_for_themes = wp_is_auto_update_enabled_for_type( 'theme' ); $plugin_filter_present = has_filter( 'auto_update_plugin' ); $theme_filter_present = has_filter( 'auto_update_theme' ); if ( ( ! $test_plugins_enabled && $ui_enabled_for_plugins ) || ( ! $test_themes_enabled && $ui_enabled_for_themes ) ) { return (object) array( 'status' => 'critical', 'message' => __( 'Auto-updates for plugins and/or themes appear to be disabled, but settings are still set to be displayed. This could cause auto-updates to not work as expected.' ), ); } if ( ( ! $test_plugins_enabled && $plugin_filter_present ) && ( ! $test_themes_enabled && $theme_filter_present ) ) { return (object) array( 'status' => 'recommended', 'message' => __( 'Auto-updates for plugins and themes appear to be disabled. This will prevent your site from receiving new versions automatically when available.' ), ); } elseif ( ! $test_plugins_enabled && $plugin_filter_present ) { return (object) array( 'status' => 'recommended', 'message' => __( 'Auto-updates for plugins appear to be disabled. This will prevent your site from receiving new versions automatically when available.' ), ); } elseif ( ! $test_themes_enabled && $theme_filter_present ) { return (object) array( 'status' => 'recommended', 'message' => __( 'Auto-updates for themes appear to be disabled. This will prevent your site from receiving new versions automatically when available.' ), ); } return (object) array( 'status' => 'good', 'message' => __( 'There appear to be no issues with plugin and theme auto-updates.' ), ); } /** * Runs a loopback test on the site. * * Loopbacks are what WordPress uses to communicate with itself to start up WP_Cron, scheduled posts, * make sure plugin or theme edits don't cause site failures and similar. * * @since 5.2.0 * * @return object The test results. */ public function can_perform_loopback() { $body = array( 'site-health' => 'loopback-test' ); $cookies = wp_unslash( $_COOKIE ); $timeout = 10; // 10 seconds. $headers = array( 'Cache-Control' => 'no-cache', ); /** This filter is documented in wp-includes/class-wp-http-streams.php */ $sslverify = apply_filters( 'https_local_ssl_verify', false ); // Include Basic auth in loopback requests. if ( isset( $_SERVER['PHP_AUTH_USER'] ) && isset( $_SERVER['PHP_AUTH_PW'] ) ) { $headers['Authorization'] = 'Basic ' . base64_encode( wp_unslash( $_SERVER['PHP_AUTH_USER'] ) . ':' . wp_unslash( $_SERVER['PHP_AUTH_PW'] ) ); } $url = site_url( 'wp-cron.php' ); /* * A post request is used for the wp-cron.php loopback test to cause the file * to finish early without triggering cron jobs. This has two benefits: * - cron jobs are not triggered a second time on the site health page, * - the loopback request finishes sooner providing a quicker result. * * Using a POST request causes the loopback to differ slightly to the standard * GET request WordPress uses for wp-cron.php loopback requests but is close * enough. See https://core.trac.wordpress.org/ticket/52547 */ $r = wp_remote_post( $url, compact( 'body', 'cookies', 'headers', 'timeout', 'sslverify' ) ); if ( is_wp_error( $r ) ) { return (object) array( 'status' => 'critical', 'message' => sprintf( '%s<br>%s', __( 'The loopback request to your site failed, this means features relying on them are not currently working as expected.' ), sprintf( /* translators: 1: The WordPress error message. 2: The WordPress error code. */ __( 'Error: %1$s (%2$s)' ), $r->get_error_message(), $r->get_error_code() ) ), ); } if ( 200 !== wp_remote_retrieve_response_code( $r ) ) { return (object) array( 'status' => 'recommended', 'message' => sprintf( /* translators: %d: The HTTP response code returned. */ __( 'The loopback request returned an unexpected http status code, %d, it was not possible to determine if this will prevent features from working as expected.' ), wp_remote_retrieve_response_code( $r ) ), ); } return (object) array( 'status' => 'good', 'message' => __( 'The loopback request to your site completed successfully.' ), ); } /** * Creates a weekly cron event, if one does not already exist. * * @since 5.4.0 */ public function maybe_create_scheduled_event() { if ( ! wp_next_scheduled( 'wp_site_health_scheduled_check' ) && ! wp_installing() ) { wp_schedule_event( time() + DAY_IN_SECONDS, 'weekly', 'wp_site_health_scheduled_check' ); } } /** * Runs the scheduled event to check and update the latest site health status for the website. * * @since 5.4.0 */ public function wp_cron_scheduled_check() { // Bootstrap wp-admin, as WP_Cron doesn't do this for us. require_once trailingslashit( ABSPATH ) . 'wp-admin/includes/admin.php'; $tests = WP_Site_Health::get_tests(); $results = array(); $site_status = array( 'good' => 0, 'recommended' => 0, 'critical' => 0, ); // Don't run https test on development environments. if ( $this->is_development_environment() ) { unset( $tests['async']['https_status'] ); } foreach ( $tests['direct'] as $test ) { if ( ! empty( $test['skip_cron'] ) ) { continue; } if ( is_string( $test['test'] ) ) { $test_function = sprintf( 'get_test_%s', $test['test'] ); if ( method_exists( $this, $test_function ) && is_callable( array( $this, $test_function ) ) ) { $results[] = $this->perform_test( array( $this, $test_function ) ); continue; } } if ( is_callable( $test['test'] ) ) { $results[] = $this->perform_test( $test['test'] ); } } foreach ( $tests['async'] as $test ) { if ( ! empty( $test['skip_cron'] ) ) { continue; } // Local endpoints may require authentication, so asynchronous tests can pass a direct test runner as well. if ( ! empty( $test['async_direct_test'] ) && is_callable( $test['async_direct_test'] ) ) { // This test is callable, do so and continue to the next asynchronous check. $results[] = $this->perform_test( $test['async_direct_test'] ); continue; } if ( is_string( $test['test'] ) ) { // Check if this test has a REST API endpoint. if ( isset( $test['has_rest'] ) && $test['has_rest'] ) { $result_fetch = wp_remote_get( $test['test'], array( 'body' => array( '_wpnonce' => wp_create_nonce( 'wp_rest' ), ), ) ); } else { $result_fetch = wp_remote_post( admin_url( 'admin-ajax.php' ), array( 'body' => array( 'action' => $test['test'], '_wpnonce' => wp_create_nonce( 'health-check-site-status' ), ), ) ); } if ( ! is_wp_error( $result_fetch ) && 200 === wp_remote_retrieve_response_code( $result_fetch ) ) { $result = json_decode( wp_remote_retrieve_body( $result_fetch ), true ); } else { $result = false; } if ( is_array( $result ) ) { $results[] = $result; } else { $results[] = array( 'status' => 'recommended', 'label' => __( 'A test is unavailable' ), ); } } } foreach ( $results as $result ) { if ( 'critical' === $result['status'] ) { ++$site_status['critical']; } elseif ( 'recommended' === $result['status'] ) { ++$site_status['recommended']; } else { ++$site_status['good']; } } set_transient( 'health-check-site-status-result', wp_json_encode( $site_status ) ); } /** * Checks if the current environment type is set to 'development' or 'local'. * * @since 5.6.0 * * @return bool True if it is a development environment, false if not. */ public function is_development_environment() { return in_array( wp_get_environment_type(), array( 'development', 'local' ), true ); } /** * Returns a list of headers and its verification callback to verify if page cache is enabled or not. * * Note: key is header name and value could be callable function to verify header value. * Empty value mean existence of header detect page cache is enabled. * * @since 6.1.0 * * @return array List of client caching headers and their (optional) verification callbacks. */ public function get_page_cache_headers() { $cache_hit_callback = static function ( $header_value ) { return str_contains( strtolower( $header_value ), 'hit' ); }; $cache_headers = array( 'cache-control' => static function ( $header_value ) { return (bool) preg_match( '/max-age=[1-9]/', $header_value ); }, 'expires' => static function ( $header_value ) { return strtotime( $header_value ) > time(); }, 'age' => static function ( $header_value ) { return is_numeric( $header_value ) && $header_value > 0; }, 'last-modified' => '', 'etag' => '', 'x-cache-enabled' => static function ( $header_value ) { return 'true' === strtolower( $header_value ); }, 'x-cache-disabled' => static function ( $header_value ) { return ( 'on' !== strtolower( $header_value ) ); }, 'x-srcache-store-status' => $cache_hit_callback, 'x-srcache-fetch-status' => $cache_hit_callback, ); /** * Filters the list of cache headers supported by core. * * @since 6.1.0 * * @param array $cache_headers Array of supported cache headers. */ return apply_filters( 'site_status_page_cache_supported_cache_headers', $cache_headers ); } /** * Checks if site has page cache enabled or not. * * @since 6.1.0 * * @return WP_Error|array { * Page cache detection details or else error information. * * @type bool $advanced_cache_present Whether a page cache plugin is present. * @type array[] $page_caching_response_headers Sets of client caching headers for the responses. * @type float[] $response_timing Response timings. * } */ private function check_for_page_caching() { /** This filter is documented in wp-includes/class-wp-http-streams.php */ $sslverify = apply_filters( 'https_local_ssl_verify', false ); $headers = array(); /* * Include basic auth in loopback requests. Note that this will only pass along basic auth when user is * initiating the test. If a site requires basic auth, the test will fail when it runs in WP Cron as part of * wp_site_health_scheduled_check. This logic is copied from WP_Site_Health::can_perform_loopback(). */ if ( isset( $_SERVER['PHP_AUTH_USER'] ) && isset( $_SERVER['PHP_AUTH_PW'] ) ) { $headers['Authorization'] = 'Basic ' . base64_encode( wp_unslash( $_SERVER['PHP_AUTH_USER'] ) . ':' . wp_unslash( $_SERVER['PHP_AUTH_PW'] ) ); } $caching_headers = $this->get_page_cache_headers(); $page_caching_response_headers = array(); $response_timing = array(); for ( $i = 1; $i <= 3; $i++ ) { $start_time = microtime( true ); $http_response = wp_remote_get( home_url( '/' ), compact( 'sslverify', 'headers' ) ); $end_time = microtime( true ); if ( is_wp_error( $http_response ) ) { return $http_response; } if ( wp_remote_retrieve_response_code( $http_response ) !== 200 ) { return new WP_Error( 'http_' . wp_remote_retrieve_response_code( $http_response ), wp_remote_retrieve_response_message( $http_response ) ); } $response_headers = array(); foreach ( $caching_headers as $header => $callback ) { $header_values = wp_remote_retrieve_header( $http_response, $header ); if ( empty( $header_values ) ) { continue; } $header_values = (array) $header_values; if ( empty( $callback ) || ( is_callable( $callback ) && count( array_filter( $header_values, $callback ) ) > 0 ) ) { $response_headers[ $header ] = $header_values; } } $page_caching_response_headers[] = $response_headers; $response_timing[] = ( $end_time - $start_time ) * 1000; } return array( 'advanced_cache_present' => ( file_exists( WP_CONTENT_DIR . '/advanced-cache.php' ) && ( defined( 'WP_CACHE' ) && WP_CACHE ) && /** This filter is documented in wp-settings.php */ apply_filters( 'enable_loading_advanced_cache_dropin', true ) ), 'page_caching_response_headers' => $page_caching_response_headers, 'response_timing' => $response_timing, ); } /** * Gets page cache details. * * @since 6.1.0 * * @return WP_Error|array { * Page cache detail or else a WP_Error if unable to determine. * * @type string $status Page cache status. Good, Recommended or Critical. * @type bool $advanced_cache_present Whether page cache plugin is available or not. * @type string[] $headers Client caching response headers detected. * @type float $response_time Response time of site. * } */ private function get_page_cache_detail() { $page_cache_detail = $this->check_for_page_caching(); if ( is_wp_error( $page_cache_detail ) ) { return $page_cache_detail; } // Use the median server response time. $response_timings = $page_cache_detail['response_timing']; rsort( $response_timings ); $page_speed = $response_timings[ floor( count( $response_timings ) / 2 ) ]; // Obtain unique set of all client caching response headers. $headers = array(); foreach ( $page_cache_detail['page_caching_response_headers'] as $page_caching_response_headers ) { $headers = array_merge( $headers, array_keys( $page_caching_response_headers ) ); } $headers = array_unique( $headers ); // Page cache is detected if there are response headers or a page cache plugin is present. $has_page_caching = ( count( $headers ) > 0 || $page_cache_detail['advanced_cache_present'] ); if ( $page_speed && $page_speed < $this->get_good_response_time_threshold() ) { $result = $has_page_caching ? 'good' : 'recommended'; } else { $result = 'critical'; } return array( 'status' => $result, 'advanced_cache_present' => $page_cache_detail['advanced_cache_present'], 'headers' => $headers, 'response_time' => $page_speed, ); } /** * Gets the threshold below which a response time is considered good. * * @since 6.1.0 * * @return int Threshold in milliseconds. */ private function get_good_response_time_threshold() { /** * Filters the threshold below which a response time is considered good. * * The default is based on https://web.dev/time-to-first-byte/. * * @param int $threshold Threshold in milliseconds. Default 600. * * @since 6.1.0 */ return (int) apply_filters( 'site_status_good_response_time_threshold', 600 ); } /** * Determines whether to suggest using a persistent object cache. * * @since 6.1.0 * * @global wpdb $wpdb WordPress database abstraction object. * * @return bool Whether to suggest using a persistent object cache. */ public function should_suggest_persistent_object_cache() { global $wpdb; /** * Filters whether to suggest use of a persistent object cache and bypass default threshold checks. * * Using this filter allows to override the default logic, effectively short-circuiting the method. * * @since 6.1.0 * * @param bool|null $suggest Boolean to short-circuit, for whether to suggest using a persistent object cache. * Default null. */ $short_circuit = apply_filters( 'site_status_should_suggest_persistent_object_cache', null ); if ( is_bool( $short_circuit ) ) { return $short_circuit; } if ( is_multisite() ) { return true; } /** * Filters the thresholds used to determine whether to suggest the use of a persistent object cache. * * @since 6.1.0 * * @param int[] $thresholds The list of threshold numbers keyed by threshold name. */ $thresholds = apply_filters( 'site_status_persistent_object_cache_thresholds', array( 'alloptions_count' => 500, 'alloptions_bytes' => 100000, 'comments_count' => 1000, 'options_count' => 1000, 'posts_count' => 1000, 'terms_count' => 1000, 'users_count' => 1000, ) ); $alloptions = wp_load_alloptions(); if ( $thresholds['alloptions_count'] < count( $alloptions ) ) { return true; } if ( $thresholds['alloptions_bytes'] < strlen( serialize( $alloptions ) ) ) { return true; } $table_names = implode( "','", array( $wpdb->comments, $wpdb->options, $wpdb->posts, $wpdb->terms, $wpdb->users ) ); // With InnoDB the `TABLE_ROWS` are estimates, which are accurate enough and faster to retrieve than individual `COUNT()` queries. $results = $wpdb->get_results( $wpdb->prepare( // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared -- This query cannot use interpolation. "SELECT TABLE_NAME AS 'table', TABLE_ROWS AS 'rows', SUM(data_length + index_length) as 'bytes' FROM information_schema.TABLES WHERE TABLE_SCHEMA = %s AND TABLE_NAME IN ('$table_names') GROUP BY TABLE_NAME;", DB_NAME ), OBJECT_K ); $threshold_map = array( 'comments_count' => $wpdb->comments, 'options_count' => $wpdb->options, 'posts_count' => $wpdb->posts, 'terms_count' => $wpdb->terms, 'users_count' => $wpdb->users, ); foreach ( $threshold_map as $threshold => $table ) { if ( $thresholds[ $threshold ] <= $results[ $table ]->rows ) { return true; } } return false; } /** * Returns a list of available persistent object cache services. * * @since 6.1.0 * * @return string[] The list of available persistent object cache services. */ private function available_object_cache_services() { $extensions = array_map( 'extension_loaded', array( 'APCu' => 'apcu', 'Redis' => 'redis', 'Relay' => 'relay', 'Memcache' => 'memcache', 'Memcached' => 'memcached', ) ); $services = array_keys( array_filter( $extensions ) ); /** * Filters the persistent object cache services available to the user. * * This can be useful to hide or add services not included in the defaults. * * @since 6.1.0 * * @param string[] $services The list of available persistent object cache services. */ return apply_filters( 'site_status_available_object_cache_services', $services ); } } dashboard.php 0000644 00000210116 14735706075 0007223 0 ustar 00 <?php /** * WordPress Dashboard Widget Administration Screen API * * @package WordPress * @subpackage Administration */ /** * Registers dashboard widgets. * * Handles POST data, sets up filters. * * @since 2.5.0 * * @global array $wp_registered_widgets * @global array $wp_registered_widget_controls * @global callable[] $wp_dashboard_control_callbacks */ function wp_dashboard_setup() { global $wp_registered_widgets, $wp_registered_widget_controls, $wp_dashboard_control_callbacks; $screen = get_current_screen(); /* Register Widgets and Controls */ $wp_dashboard_control_callbacks = array(); // Browser version $check_browser = wp_check_browser_version(); if ( $check_browser && $check_browser['upgrade'] ) { add_filter( 'postbox_classes_dashboard_dashboard_browser_nag', 'dashboard_browser_nag_class' ); if ( $check_browser['insecure'] ) { wp_add_dashboard_widget( 'dashboard_browser_nag', __( 'You are using an insecure browser!' ), 'wp_dashboard_browser_nag' ); } else { wp_add_dashboard_widget( 'dashboard_browser_nag', __( 'Your browser is out of date!' ), 'wp_dashboard_browser_nag' ); } } // PHP Version. $check_php = wp_check_php_version(); if ( $check_php && current_user_can( 'update_php' ) ) { // If "not acceptable" the widget will be shown. if ( isset( $check_php['is_acceptable'] ) && ! $check_php['is_acceptable'] ) { add_filter( 'postbox_classes_dashboard_dashboard_php_nag', 'dashboard_php_nag_class' ); if ( $check_php['is_lower_than_future_minimum'] ) { wp_add_dashboard_widget( 'dashboard_php_nag', __( 'PHP Update Required' ), 'wp_dashboard_php_nag' ); } else { wp_add_dashboard_widget( 'dashboard_php_nag', __( 'PHP Update Recommended' ), 'wp_dashboard_php_nag' ); } } } // Site Health. if ( current_user_can( 'view_site_health_checks' ) && ! is_network_admin() ) { if ( ! class_exists( 'WP_Site_Health' ) ) { require_once ABSPATH . 'wp-admin/includes/class-wp-site-health.php'; } WP_Site_Health::get_instance(); wp_enqueue_style( 'site-health' ); wp_enqueue_script( 'site-health' ); wp_add_dashboard_widget( 'dashboard_site_health', __( 'Site Health Status' ), 'wp_dashboard_site_health' ); } // Right Now. if ( is_blog_admin() && current_user_can( 'edit_posts' ) ) { wp_add_dashboard_widget( 'dashboard_right_now', __( 'At a Glance' ), 'wp_dashboard_right_now' ); } if ( is_network_admin() ) { wp_add_dashboard_widget( 'network_dashboard_right_now', __( 'Right Now' ), 'wp_network_dashboard_right_now' ); } // Activity Widget. if ( is_blog_admin() ) { wp_add_dashboard_widget( 'dashboard_activity', __( 'Activity' ), 'wp_dashboard_site_activity' ); } // QuickPress Widget. if ( is_blog_admin() && current_user_can( get_post_type_object( 'post' )->cap->create_posts ) ) { $quick_draft_title = sprintf( '<span class="hide-if-no-js">%1$s</span> <span class="hide-if-js">%2$s</span>', __( 'Quick Draft' ), __( 'Your Recent Drafts' ) ); wp_add_dashboard_widget( 'dashboard_quick_press', $quick_draft_title, 'wp_dashboard_quick_press' ); } // WordPress Events and News. wp_add_dashboard_widget( 'dashboard_primary', __( 'WordPress Events and News' ), 'wp_dashboard_events_news' ); if ( is_network_admin() ) { /** * Fires after core widgets for the Network Admin dashboard have been registered. * * @since 3.1.0 */ do_action( 'wp_network_dashboard_setup' ); /** * Filters the list of widgets to load for the Network Admin dashboard. * * @since 3.1.0 * * @param string[] $dashboard_widgets An array of dashboard widget IDs. */ $dashboard_widgets = apply_filters( 'wp_network_dashboard_widgets', array() ); } elseif ( is_user_admin() ) { /** * Fires after core widgets for the User Admin dashboard have been registered. * * @since 3.1.0 */ do_action( 'wp_user_dashboard_setup' ); /** * Filters the list of widgets to load for the User Admin dashboard. * * @since 3.1.0 * * @param string[] $dashboard_widgets An array of dashboard widget IDs. */ $dashboard_widgets = apply_filters( 'wp_user_dashboard_widgets', array() ); } else { /** * Fires after core widgets for the admin dashboard have been registered. * * @since 2.5.0 */ do_action( 'wp_dashboard_setup' ); /** * Filters the list of widgets to load for the admin dashboard. * * @since 2.5.0 * * @param string[] $dashboard_widgets An array of dashboard widget IDs. */ $dashboard_widgets = apply_filters( 'wp_dashboard_widgets', array() ); } foreach ( $dashboard_widgets as $widget_id ) { $name = empty( $wp_registered_widgets[ $widget_id ]['all_link'] ) ? $wp_registered_widgets[ $widget_id ]['name'] : $wp_registered_widgets[ $widget_id ]['name'] . " <a href='{$wp_registered_widgets[$widget_id]['all_link']}' class='edit-box open-box'>" . __( 'View all' ) . '</a>'; wp_add_dashboard_widget( $widget_id, $name, $wp_registered_widgets[ $widget_id ]['callback'], $wp_registered_widget_controls[ $widget_id ]['callback'] ); } if ( 'POST' === $_SERVER['REQUEST_METHOD'] && isset( $_POST['widget_id'] ) ) { check_admin_referer( 'edit-dashboard-widget_' . $_POST['widget_id'], 'dashboard-widget-nonce' ); ob_start(); // Hack - but the same hack wp-admin/widgets.php uses. wp_dashboard_trigger_widget_control( $_POST['widget_id'] ); ob_end_clean(); wp_redirect( remove_query_arg( 'edit' ) ); exit; } /** This action is documented in wp-admin/includes/meta-boxes.php */ do_action( 'do_meta_boxes', $screen->id, 'normal', '' ); /** This action is documented in wp-admin/includes/meta-boxes.php */ do_action( 'do_meta_boxes', $screen->id, 'side', '' ); } /** * Adds a new dashboard widget. * * @since 2.7.0 * @since 5.6.0 The `$context` and `$priority` parameters were added. * * @global callable[] $wp_dashboard_control_callbacks * * @param string $widget_id Widget ID (used in the 'id' attribute for the widget). * @param string $widget_name Title of the widget. * @param callable $callback Function that fills the widget with the desired content. * The function should echo its output. * @param callable $control_callback Optional. Function that outputs controls for the widget. Default null. * @param array $callback_args Optional. Data that should be set as the $args property of the widget array * (which is the second parameter passed to your callback). Default null. * @param string $context Optional. The context within the screen where the box should display. * Accepts 'normal', 'side', 'column3', or 'column4'. Default 'normal'. * @param string $priority Optional. The priority within the context where the box should show. * Accepts 'high', 'core', 'default', or 'low'. Default 'core'. */ function wp_add_dashboard_widget( $widget_id, $widget_name, $callback, $control_callback = null, $callback_args = null, $context = 'normal', $priority = 'core' ) { global $wp_dashboard_control_callbacks; $screen = get_current_screen(); $private_callback_args = array( '__widget_basename' => $widget_name ); if ( is_null( $callback_args ) ) { $callback_args = $private_callback_args; } elseif ( is_array( $callback_args ) ) { $callback_args = array_merge( $callback_args, $private_callback_args ); } if ( $control_callback && is_callable( $control_callback ) && current_user_can( 'edit_dashboard' ) ) { $wp_dashboard_control_callbacks[ $widget_id ] = $control_callback; if ( isset( $_GET['edit'] ) && $widget_id === $_GET['edit'] ) { list($url) = explode( '#', add_query_arg( 'edit', false ), 2 ); $widget_name .= ' <span class="postbox-title-action"><a href="' . esc_url( $url ) . '">' . __( 'Cancel' ) . '</a></span>'; $callback = '_wp_dashboard_control_callback'; } else { list($url) = explode( '#', add_query_arg( 'edit', $widget_id ), 2 ); $widget_name .= ' <span class="postbox-title-action"><a href="' . esc_url( "$url#$widget_id" ) . '" class="edit-box open-box">' . __( 'Configure' ) . '</a></span>'; } } $side_widgets = array( 'dashboard_quick_press', 'dashboard_primary' ); if ( in_array( $widget_id, $side_widgets, true ) ) { $context = 'side'; } $high_priority_widgets = array( 'dashboard_browser_nag', 'dashboard_php_nag' ); if ( in_array( $widget_id, $high_priority_widgets, true ) ) { $priority = 'high'; } if ( empty( $context ) ) { $context = 'normal'; } if ( empty( $priority ) ) { $priority = 'core'; } add_meta_box( $widget_id, $widget_name, $callback, $screen, $context, $priority, $callback_args ); } /** * Outputs controls for the current dashboard widget. * * @access private * @since 2.7.0 * * @param mixed $dashboard * @param array $meta_box */ function _wp_dashboard_control_callback( $dashboard, $meta_box ) { echo '<form method="post" class="dashboard-widget-control-form wp-clearfix">'; wp_dashboard_trigger_widget_control( $meta_box['id'] ); wp_nonce_field( 'edit-dashboard-widget_' . $meta_box['id'], 'dashboard-widget-nonce' ); echo '<input type="hidden" name="widget_id" value="' . esc_attr( $meta_box['id'] ) . '" />'; submit_button( __( 'Save Changes' ) ); echo '</form>'; } /** * Displays the dashboard. * * @since 2.5.0 */ function wp_dashboard() { $screen = get_current_screen(); $columns = absint( $screen->get_columns() ); $columns_css = ''; if ( $columns ) { $columns_css = " columns-$columns"; } ?> <div id="dashboard-widgets" class="metabox-holder<?php echo $columns_css; ?>"> <div id="postbox-container-1" class="postbox-container"> <?php do_meta_boxes( $screen->id, 'normal', '' ); ?> </div> <div id="postbox-container-2" class="postbox-container"> <?php do_meta_boxes( $screen->id, 'side', '' ); ?> </div> <div id="postbox-container-3" class="postbox-container"> <?php do_meta_boxes( $screen->id, 'column3', '' ); ?> </div> <div id="postbox-container-4" class="postbox-container"> <?php do_meta_boxes( $screen->id, 'column4', '' ); ?> </div> </div> <?php wp_nonce_field( 'closedpostboxes', 'closedpostboxesnonce', false ); wp_nonce_field( 'meta-box-order', 'meta-box-order-nonce', false ); } // // Dashboard Widgets. // /** * Dashboard widget that displays some basic stats about the site. * * Formerly 'Right Now'. A streamlined 'At a Glance' as of 3.8. * * @since 2.7.0 */ function wp_dashboard_right_now() { ?> <div class="main"> <ul> <?php // Posts and Pages. foreach ( array( 'post', 'page' ) as $post_type ) { $num_posts = wp_count_posts( $post_type ); if ( $num_posts && $num_posts->publish ) { if ( 'post' === $post_type ) { /* translators: %s: Number of posts. */ $text = _n( '%s Post', '%s Posts', $num_posts->publish ); } else { /* translators: %s: Number of pages. */ $text = _n( '%s Page', '%s Pages', $num_posts->publish ); } $text = sprintf( $text, number_format_i18n( $num_posts->publish ) ); $post_type_object = get_post_type_object( $post_type ); if ( $post_type_object && current_user_can( $post_type_object->cap->edit_posts ) ) { printf( '<li class="%1$s-count"><a href="edit.php?post_type=%1$s">%2$s</a></li>', $post_type, $text ); } else { printf( '<li class="%1$s-count"><span>%2$s</span></li>', $post_type, $text ); } } } // Comments. $num_comm = wp_count_comments(); if ( $num_comm && ( $num_comm->approved || $num_comm->moderated ) ) { /* translators: %s: Number of comments. */ $text = sprintf( _n( '%s Comment', '%s Comments', $num_comm->approved ), number_format_i18n( $num_comm->approved ) ); ?> <li class="comment-count"> <a href="edit-comments.php"><?php echo $text; ?></a> </li> <?php $moderated_comments_count_i18n = number_format_i18n( $num_comm->moderated ); /* translators: %s: Number of comments. */ $text = sprintf( _n( '%s Comment in moderation', '%s Comments in moderation', $num_comm->moderated ), $moderated_comments_count_i18n ); ?> <li class="comment-mod-count<?php echo ! $num_comm->moderated ? ' hidden' : ''; ?>"> <a href="edit-comments.php?comment_status=moderated" class="comments-in-moderation-text"><?php echo $text; ?></a> </li> <?php } /** * Filters the array of extra elements to list in the 'At a Glance' * dashboard widget. * * Prior to 3.8.0, the widget was named 'Right Now'. Each element * is wrapped in list-item tags on output. * * @since 3.8.0 * * @param string[] $items Array of extra 'At a Glance' widget items. */ $elements = apply_filters( 'dashboard_glance_items', array() ); if ( $elements ) { echo '<li>' . implode( "</li>\n<li>", $elements ) . "</li>\n"; } ?> </ul> <?php update_right_now_message(); // Check if search engines are asked not to index this site. if ( ! is_network_admin() && ! is_user_admin() && current_user_can( 'manage_options' ) && ! get_option( 'blog_public' ) ) { /** * Filters the link title attribute for the 'Search engines discouraged' * message displayed in the 'At a Glance' dashboard widget. * * Prior to 3.8.0, the widget was named 'Right Now'. * * @since 3.0.0 * @since 4.5.0 The default for `$title` was updated to an empty string. * * @param string $title Default attribute text. */ $title = apply_filters( 'privacy_on_link_title', '' ); /** * Filters the link label for the 'Search engines discouraged' message * displayed in the 'At a Glance' dashboard widget. * * Prior to 3.8.0, the widget was named 'Right Now'. * * @since 3.0.0 * * @param string $content Default text. */ $content = apply_filters( 'privacy_on_link_text', __( 'Search engines discouraged' ) ); $title_attr = '' === $title ? '' : " title='$title'"; echo "<p class='search-engines-info'><a href='options-reading.php'$title_attr>$content</a></p>"; } ?> </div> <?php /* * activity_box_end has a core action, but only prints content when multisite. * Using an output buffer is the only way to really check if anything's displayed here. */ ob_start(); /** * Fires at the end of the 'At a Glance' dashboard widget. * * Prior to 3.8.0, the widget was named 'Right Now'. * * @since 2.5.0 */ do_action( 'rightnow_end' ); /** * Fires at the end of the 'At a Glance' dashboard widget. * * Prior to 3.8.0, the widget was named 'Right Now'. * * @since 2.0.0 */ do_action( 'activity_box_end' ); $actions = ob_get_clean(); if ( ! empty( $actions ) ) : ?> <div class="sub"> <?php echo $actions; ?> </div> <?php endif; } /** * @since 3.1.0 */ function wp_network_dashboard_right_now() { $actions = array(); if ( current_user_can( 'create_sites' ) ) { $actions['create-site'] = '<a href="' . network_admin_url( 'site-new.php' ) . '">' . __( 'Create a New Site' ) . '</a>'; } if ( current_user_can( 'create_users' ) ) { $actions['create-user'] = '<a href="' . network_admin_url( 'user-new.php' ) . '">' . __( 'Create a New User' ) . '</a>'; } $c_users = get_user_count(); $c_blogs = get_blog_count(); /* translators: %s: Number of users on the network. */ $user_text = sprintf( _n( '%s user', '%s users', $c_users ), number_format_i18n( $c_users ) ); /* translators: %s: Number of sites on the network. */ $blog_text = sprintf( _n( '%s site', '%s sites', $c_blogs ), number_format_i18n( $c_blogs ) ); /* translators: 1: Text indicating the number of sites on the network, 2: Text indicating the number of users on the network. */ $sentence = sprintf( __( 'You have %1$s and %2$s.' ), $blog_text, $user_text ); if ( $actions ) { echo '<ul class="subsubsub">'; foreach ( $actions as $class => $action ) { $actions[ $class ] = "\t<li class='$class'>$action"; } echo implode( " |</li>\n", $actions ) . "</li>\n"; echo '</ul>'; } ?> <br class="clear" /> <p class="youhave"><?php echo $sentence; ?></p> <?php /** * Fires in the Network Admin 'Right Now' dashboard widget * just before the user and site search form fields. * * @since MU (3.0.0) */ do_action( 'wpmuadminresult' ); ?> <form action="<?php echo esc_url( network_admin_url( 'users.php' ) ); ?>" method="get"> <p> <label class="screen-reader-text" for="search-users"> <?php /* translators: Hidden accessibility text. */ _e( 'Search Users' ); ?> </label> <input type="search" name="s" value="" size="30" autocomplete="off" id="search-users" /> <?php submit_button( __( 'Search Users' ), '', false, false, array( 'id' => 'submit_users' ) ); ?> </p> </form> <form action="<?php echo esc_url( network_admin_url( 'sites.php' ) ); ?>" method="get"> <p> <label class="screen-reader-text" for="search-sites"> <?php /* translators: Hidden accessibility text. */ _e( 'Search Sites' ); ?> </label> <input type="search" name="s" value="" size="30" autocomplete="off" id="search-sites" /> <?php submit_button( __( 'Search Sites' ), '', false, false, array( 'id' => 'submit_sites' ) ); ?> </p> </form> <?php /** * Fires at the end of the 'Right Now' widget in the Network Admin dashboard. * * @since MU (3.0.0) */ do_action( 'mu_rightnow_end' ); /** * Fires at the end of the 'Right Now' widget in the Network Admin dashboard. * * @since MU (3.0.0) */ do_action( 'mu_activity_box_end' ); } /** * Displays the Quick Draft widget. * * @since 3.8.0 * * @global int $post_ID * * @param string|false $error_msg Optional. Error message. Default false. */ function wp_dashboard_quick_press( $error_msg = false ) { global $post_ID; if ( ! current_user_can( 'edit_posts' ) ) { return; } // Check if a new auto-draft (= no new post_ID) is needed or if the old can be used. $last_post_id = (int) get_user_option( 'dashboard_quick_press_last_post_id' ); // Get the last post_ID. if ( $last_post_id ) { $post = get_post( $last_post_id ); if ( empty( $post ) || 'auto-draft' !== $post->post_status ) { // auto-draft doesn't exist anymore. $post = get_default_post_to_edit( 'post', true ); update_user_option( get_current_user_id(), 'dashboard_quick_press_last_post_id', (int) $post->ID ); // Save post_ID. } else { $post->post_title = ''; // Remove the auto draft title. } } else { $post = get_default_post_to_edit( 'post', true ); $user_id = get_current_user_id(); // Don't create an option if this is a super admin who does not belong to this site. if ( in_array( get_current_blog_id(), array_keys( get_blogs_of_user( $user_id ) ), true ) ) { update_user_option( $user_id, 'dashboard_quick_press_last_post_id', (int) $post->ID ); // Save post_ID. } } $post_ID = (int) $post->ID; ?> <form name="post" action="<?php echo esc_url( admin_url( 'post.php' ) ); ?>" method="post" id="quick-press" class="initial-form hide-if-no-js"> <?php if ( $error_msg ) { wp_admin_notice( $error_msg, array( 'additional_classes' => array( 'error' ), ) ); } ?> <div class="input-text-wrap" id="title-wrap"> <label for="title"> <?php /** This filter is documented in wp-admin/edit-form-advanced.php */ echo apply_filters( 'enter_title_here', __( 'Title' ), $post ); ?> </label> <input type="text" name="post_title" id="title" autocomplete="off" /> </div> <div class="textarea-wrap" id="description-wrap"> <label for="content"><?php _e( 'Content' ); ?></label> <textarea name="content" id="content" placeholder="<?php esc_attr_e( 'What’s on your mind?' ); ?>" class="mceEditor" rows="3" cols="15" autocomplete="off"></textarea> </div> <p class="submit"> <input type="hidden" name="action" id="quickpost-action" value="post-quickdraft-save" /> <input type="hidden" name="post_ID" value="<?php echo $post_ID; ?>" /> <input type="hidden" name="post_type" value="post" /> <?php wp_nonce_field( 'add-post' ); ?> <?php submit_button( __( 'Save Draft' ), 'primary', 'save', false, array( 'id' => 'save-post' ) ); ?> <br class="clear" /> </p> </form> <?php wp_dashboard_recent_drafts(); } /** * Show recent drafts of the user on the dashboard. * * @since 2.7.0 * * @param WP_Post[]|false $drafts Optional. Array of posts to display. Default false. */ function wp_dashboard_recent_drafts( $drafts = false ) { if ( ! $drafts ) { $query_args = array( 'post_type' => 'post', 'post_status' => 'draft', 'author' => get_current_user_id(), 'posts_per_page' => 4, 'orderby' => 'modified', 'order' => 'DESC', ); /** * Filters the post query arguments for the 'Recent Drafts' dashboard widget. * * @since 4.4.0 * * @param array $query_args The query arguments for the 'Recent Drafts' dashboard widget. */ $query_args = apply_filters( 'dashboard_recent_drafts_query_args', $query_args ); $drafts = get_posts( $query_args ); if ( ! $drafts ) { return; } } echo '<div class="drafts">'; if ( count( $drafts ) > 3 ) { printf( '<p class="view-all"><a href="%s">%s</a></p>' . "\n", esc_url( admin_url( 'edit.php?post_status=draft' ) ), __( 'View all drafts' ) ); } echo '<h2 class="hide-if-no-js">' . __( 'Your Recent Drafts' ) . "</h2>\n"; echo '<ul>'; /* translators: Maximum number of words used in a preview of a draft on the dashboard. */ $draft_length = (int) _x( '10', 'draft_length' ); $drafts = array_slice( $drafts, 0, 3 ); foreach ( $drafts as $draft ) { $url = get_edit_post_link( $draft->ID ); $title = _draft_or_post_title( $draft->ID ); echo "<li>\n"; printf( '<div class="draft-title"><a href="%s" aria-label="%s">%s</a><time datetime="%s">%s</time></div>', esc_url( $url ), /* translators: %s: Post title. */ esc_attr( sprintf( __( 'Edit “%s”' ), $title ) ), esc_html( $title ), get_the_time( 'c', $draft ), get_the_time( __( 'F j, Y' ), $draft ) ); $the_content = wp_trim_words( $draft->post_content, $draft_length ); if ( $the_content ) { echo '<p>' . $the_content . '</p>'; } echo "</li>\n"; } echo "</ul>\n"; echo '</div>'; } /** * Outputs a row for the Recent Comments widget. * * @access private * @since 2.7.0 * * @global WP_Comment $comment Global comment object. * * @param WP_Comment $comment The current comment. * @param bool $show_date Optional. Whether to display the date. */ function _wp_dashboard_recent_comments_row( &$comment, $show_date = true ) { $GLOBALS['comment'] = clone $comment; if ( $comment->comment_post_ID > 0 ) { $comment_post_title = _draft_or_post_title( $comment->comment_post_ID ); $comment_post_url = get_the_permalink( $comment->comment_post_ID ); $comment_post_link = '<a href="' . esc_url( $comment_post_url ) . '">' . $comment_post_title . '</a>'; } else { $comment_post_link = ''; } $actions_string = ''; if ( current_user_can( 'edit_comment', $comment->comment_ID ) ) { // Pre-order it: Approve | Reply | Edit | Spam | Trash. $actions = array( 'approve' => '', 'unapprove' => '', 'reply' => '', 'edit' => '', 'spam' => '', 'trash' => '', 'delete' => '', 'view' => '', ); $approve_nonce = esc_html( '_wpnonce=' . wp_create_nonce( 'approve-comment_' . $comment->comment_ID ) ); $del_nonce = esc_html( '_wpnonce=' . wp_create_nonce( 'delete-comment_' . $comment->comment_ID ) ); $action_string = 'comment.php?action=%s&p=' . $comment->comment_post_ID . '&c=' . $comment->comment_ID . '&%s'; $approve_url = sprintf( $action_string, 'approvecomment', $approve_nonce ); $unapprove_url = sprintf( $action_string, 'unapprovecomment', $approve_nonce ); $spam_url = sprintf( $action_string, 'spamcomment', $del_nonce ); $trash_url = sprintf( $action_string, 'trashcomment', $del_nonce ); $delete_url = sprintf( $action_string, 'deletecomment', $del_nonce ); $actions['approve'] = sprintf( '<a href="%s" data-wp-lists="%s" class="vim-a aria-button-if-js" aria-label="%s">%s</a>', esc_url( $approve_url ), "dim:the-comment-list:comment-{$comment->comment_ID}:unapproved:e7e7d3:e7e7d3:new=approved", esc_attr__( 'Approve this comment' ), __( 'Approve' ) ); $actions['unapprove'] = sprintf( '<a href="%s" data-wp-lists="%s" class="vim-u aria-button-if-js" aria-label="%s">%s</a>', esc_url( $unapprove_url ), "dim:the-comment-list:comment-{$comment->comment_ID}:unapproved:e7e7d3:e7e7d3:new=unapproved", esc_attr__( 'Unapprove this comment' ), __( 'Unapprove' ) ); $actions['edit'] = sprintf( '<a href="%s" aria-label="%s">%s</a>', "comment.php?action=editcomment&c={$comment->comment_ID}", esc_attr__( 'Edit this comment' ), __( 'Edit' ) ); $actions['reply'] = sprintf( '<button type="button" onclick="window.commentReply && commentReply.open(\'%s\',\'%s\');" class="vim-r button-link hide-if-no-js" aria-label="%s">%s</button>', $comment->comment_ID, $comment->comment_post_ID, esc_attr__( 'Reply to this comment' ), __( 'Reply' ) ); $actions['spam'] = sprintf( '<a href="%s" data-wp-lists="%s" class="vim-s vim-destructive aria-button-if-js" aria-label="%s">%s</a>', esc_url( $spam_url ), "delete:the-comment-list:comment-{$comment->comment_ID}::spam=1", esc_attr__( 'Mark this comment as spam' ), /* translators: "Mark as spam" link. */ _x( 'Spam', 'verb' ) ); if ( ! EMPTY_TRASH_DAYS ) { $actions['delete'] = sprintf( '<a href="%s" data-wp-lists="%s" class="delete vim-d vim-destructive aria-button-if-js" aria-label="%s">%s</a>', esc_url( $delete_url ), "delete:the-comment-list:comment-{$comment->comment_ID}::trash=1", esc_attr__( 'Delete this comment permanently' ), __( 'Delete Permanently' ) ); } else { $actions['trash'] = sprintf( '<a href="%s" data-wp-lists="%s" class="delete vim-d vim-destructive aria-button-if-js" aria-label="%s">%s</a>', esc_url( $trash_url ), "delete:the-comment-list:comment-{$comment->comment_ID}::trash=1", esc_attr__( 'Move this comment to the Trash' ), _x( 'Trash', 'verb' ) ); } $actions['view'] = sprintf( '<a class="comment-link" href="%s" aria-label="%s">%s</a>', esc_url( get_comment_link( $comment ) ), esc_attr__( 'View this comment' ), __( 'View' ) ); /** This filter is documented in wp-admin/includes/class-wp-comments-list-table.php */ $actions = apply_filters( 'comment_row_actions', array_filter( $actions ), $comment ); $i = 0; foreach ( $actions as $action => $link ) { ++$i; if ( ( ( 'approve' === $action || 'unapprove' === $action ) && 2 === $i ) || 1 === $i ) { $separator = ''; } else { $separator = ' | '; } // Reply and quickedit need a hide-if-no-js span. if ( 'reply' === $action || 'quickedit' === $action ) { $action .= ' hide-if-no-js'; } if ( 'view' === $action && '1' !== $comment->comment_approved ) { $action .= ' hidden'; } $actions_string .= "<span class='$action'>{$separator}{$link}</span>"; } } ?> <li id="comment-<?php echo $comment->comment_ID; ?>" <?php comment_class( array( 'comment-item', wp_get_comment_status( $comment ) ), $comment ); ?>> <?php $comment_row_class = ''; if ( get_option( 'show_avatars' ) ) { echo get_avatar( $comment, 50, 'mystery' ); $comment_row_class .= ' has-avatar'; } ?> <?php if ( ! $comment->comment_type || 'comment' === $comment->comment_type ) : ?> <div class="dashboard-comment-wrap has-row-actions <?php echo $comment_row_class; ?>"> <p class="comment-meta"> <?php // Comments might not have a post they relate to, e.g. programmatically created ones. if ( $comment_post_link ) { printf( /* translators: 1: Comment author, 2: Post link, 3: Notification if the comment is pending. */ __( 'From %1$s on %2$s %3$s' ), '<cite class="comment-author">' . get_comment_author_link( $comment ) . '</cite>', $comment_post_link, '<span class="approve">' . __( '[Pending]' ) . '</span>' ); } else { printf( /* translators: 1: Comment author, 2: Notification if the comment is pending. */ __( 'From %1$s %2$s' ), '<cite class="comment-author">' . get_comment_author_link( $comment ) . '</cite>', '<span class="approve">' . __( '[Pending]' ) . '</span>' ); } ?> </p> <?php else : switch ( $comment->comment_type ) { case 'pingback': $type = __( 'Pingback' ); break; case 'trackback': $type = __( 'Trackback' ); break; default: $type = ucwords( $comment->comment_type ); } $type = esc_html( $type ); ?> <div class="dashboard-comment-wrap has-row-actions"> <p class="comment-meta"> <?php // Pingbacks, Trackbacks or custom comment types might not have a post they relate to, e.g. programmatically created ones. if ( $comment_post_link ) { printf( /* translators: 1: Type of comment, 2: Post link, 3: Notification if the comment is pending. */ _x( '%1$s on %2$s %3$s', 'dashboard' ), "<strong>$type</strong>", $comment_post_link, '<span class="approve">' . __( '[Pending]' ) . '</span>' ); } else { printf( /* translators: 1: Type of comment, 2: Notification if the comment is pending. */ _x( '%1$s %2$s', 'dashboard' ), "<strong>$type</strong>", '<span class="approve">' . __( '[Pending]' ) . '</span>' ); } ?> </p> <p class="comment-author"><?php comment_author_link( $comment ); ?></p> <?php endif; // comment_type ?> <blockquote><p><?php comment_excerpt( $comment ); ?></p></blockquote> <?php if ( $actions_string ) : ?> <p class="row-actions"><?php echo $actions_string; ?></p> <?php endif; ?> </div> </li> <?php $GLOBALS['comment'] = null; } /** * Outputs the Activity widget. * * Callback function for {@see 'dashboard_activity'}. * * @since 3.8.0 */ function wp_dashboard_site_activity() { echo '<div id="activity-widget">'; $future_posts = wp_dashboard_recent_posts( array( 'max' => 5, 'status' => 'future', 'order' => 'ASC', 'title' => __( 'Publishing Soon' ), 'id' => 'future-posts', ) ); $recent_posts = wp_dashboard_recent_posts( array( 'max' => 5, 'status' => 'publish', 'order' => 'DESC', 'title' => __( 'Recently Published' ), 'id' => 'published-posts', ) ); $recent_comments = wp_dashboard_recent_comments(); if ( ! $future_posts && ! $recent_posts && ! $recent_comments ) { echo '<div class="no-activity">'; echo '<p>' . __( 'No activity yet!' ) . '</p>'; echo '</div>'; } echo '</div>'; } /** * Generates Publishing Soon and Recently Published sections. * * @since 3.8.0 * * @param array $args { * An array of query and display arguments. * * @type int $max Number of posts to display. * @type string $status Post status. * @type string $order Designates ascending ('ASC') or descending ('DESC') order. * @type string $title Section title. * @type string $id The container id. * } * @return bool False if no posts were found. True otherwise. */ function wp_dashboard_recent_posts( $args ) { $query_args = array( 'post_type' => 'post', 'post_status' => $args['status'], 'orderby' => 'date', 'order' => $args['order'], 'posts_per_page' => (int) $args['max'], 'no_found_rows' => true, 'cache_results' => true, 'perm' => ( 'future' === $args['status'] ) ? 'editable' : 'readable', ); /** * Filters the query arguments used for the Recent Posts widget. * * @since 4.2.0 * * @param array $query_args The arguments passed to WP_Query to produce the list of posts. */ $query_args = apply_filters( 'dashboard_recent_posts_query_args', $query_args ); $posts = new WP_Query( $query_args ); if ( $posts->have_posts() ) { echo '<div id="' . $args['id'] . '" class="activity-block">'; echo '<h3>' . $args['title'] . '</h3>'; echo '<ul>'; $today = current_time( 'Y-m-d' ); $tomorrow = current_datetime()->modify( '+1 day' )->format( 'Y-m-d' ); $year = current_time( 'Y' ); while ( $posts->have_posts() ) { $posts->the_post(); $time = get_the_time( 'U' ); if ( gmdate( 'Y-m-d', $time ) === $today ) { $relative = __( 'Today' ); } elseif ( gmdate( 'Y-m-d', $time ) === $tomorrow ) { $relative = __( 'Tomorrow' ); } elseif ( gmdate( 'Y', $time ) !== $year ) { /* translators: Date and time format for recent posts on the dashboard, from a different calendar year, see https://www.php.net/manual/datetime.format.php */ $relative = date_i18n( __( 'M jS Y' ), $time ); } else { /* translators: Date and time format for recent posts on the dashboard, see https://www.php.net/manual/datetime.format.php */ $relative = date_i18n( __( 'M jS' ), $time ); } // Use the post edit link for those who can edit, the permalink otherwise. $recent_post_link = current_user_can( 'edit_post', get_the_ID() ) ? get_edit_post_link() : get_permalink(); $draft_or_post_title = _draft_or_post_title(); printf( '<li><span>%1$s</span> <a href="%2$s" aria-label="%3$s">%4$s</a></li>', /* translators: 1: Relative date, 2: Time. */ sprintf( _x( '%1$s, %2$s', 'dashboard' ), $relative, get_the_time() ), $recent_post_link, /* translators: %s: Post title. */ esc_attr( sprintf( __( 'Edit “%s”' ), $draft_or_post_title ) ), $draft_or_post_title ); } echo '</ul>'; echo '</div>'; } else { return false; } wp_reset_postdata(); return true; } /** * Show Comments section. * * @since 3.8.0 * * @param int $total_items Optional. Number of comments to query. Default 5. * @return bool False if no comments were found. True otherwise. */ function wp_dashboard_recent_comments( $total_items = 5 ) { // Select all comment types and filter out spam later for better query performance. $comments = array(); $comments_query = array( 'number' => $total_items * 5, 'offset' => 0, ); if ( ! current_user_can( 'edit_posts' ) ) { $comments_query['status'] = 'approve'; } while ( count( $comments ) < $total_items && $possible = get_comments( $comments_query ) ) { if ( ! is_array( $possible ) ) { break; } foreach ( $possible as $comment ) { if ( ! current_user_can( 'edit_post', $comment->comment_post_ID ) && ( post_password_required( $comment->comment_post_ID ) || ! current_user_can( 'read_post', $comment->comment_post_ID ) ) ) { // The user has no access to the post and thus cannot see the comments. continue; } $comments[] = $comment; if ( count( $comments ) === $total_items ) { break 2; } } $comments_query['offset'] += $comments_query['number']; $comments_query['number'] = $total_items * 10; } if ( $comments ) { echo '<div id="latest-comments" class="activity-block table-view-list">'; echo '<h3>' . __( 'Recent Comments' ) . '</h3>'; echo '<ul id="the-comment-list" data-wp-lists="list:comment">'; foreach ( $comments as $comment ) { _wp_dashboard_recent_comments_row( $comment ); } echo '</ul>'; if ( current_user_can( 'edit_posts' ) ) { echo '<h3 class="screen-reader-text">' . /* translators: Hidden accessibility text. */ __( 'View more comments' ) . '</h3>'; _get_list_table( 'WP_Comments_List_Table' )->views(); } wp_comment_reply( -1, false, 'dashboard', false ); wp_comment_trashnotice(); echo '</div>'; } else { return false; } return true; } /** * Display generic dashboard RSS widget feed. * * @since 2.5.0 * * @param string $widget_id */ function wp_dashboard_rss_output( $widget_id ) { $widgets = get_option( 'dashboard_widget_options' ); echo '<div class="rss-widget">'; wp_widget_rss_output( $widgets[ $widget_id ] ); echo '</div>'; } /** * Checks to see if all of the feed url in $check_urls are cached. * * If $check_urls is empty, look for the rss feed url found in the dashboard * widget options of $widget_id. If cached, call $callback, a function that * echoes out output for this widget. If not cache, echo a "Loading..." stub * which is later replaced by Ajax call (see top of /wp-admin/index.php) * * @since 2.5.0 * @since 5.3.0 Formalized the existing and already documented `...$args` parameter * by adding it to the function signature. * * @param string $widget_id The widget ID. * @param callable $callback The callback function used to display each feed. * @param array $check_urls RSS feeds. * @param mixed ...$args Optional additional parameters to pass to the callback function. * @return bool True on success, false on failure. */ function wp_dashboard_cached_rss_widget( $widget_id, $callback, $check_urls = array(), ...$args ) { $doing_ajax = wp_doing_ajax(); $loading = '<p class="widget-loading hide-if-no-js">' . __( 'Loading…' ) . '</p>'; $loading .= wp_get_admin_notice( __( 'This widget requires JavaScript.' ), array( 'type' => 'error', 'additional_classes' => array( 'inline', 'hide-if-js' ), ) ); if ( empty( $check_urls ) ) { $widgets = get_option( 'dashboard_widget_options' ); if ( empty( $widgets[ $widget_id ]['url'] ) && ! $doing_ajax ) { echo $loading; return false; } $check_urls = array( $widgets[ $widget_id ]['url'] ); } $locale = get_user_locale(); $cache_key = 'dash_v2_' . md5( $widget_id . '_' . $locale ); $output = get_transient( $cache_key ); if ( false !== $output ) { echo $output; return true; } if ( ! $doing_ajax ) { echo $loading; return false; } if ( $callback && is_callable( $callback ) ) { array_unshift( $args, $widget_id, $check_urls ); ob_start(); call_user_func_array( $callback, $args ); // Default lifetime in cache of 12 hours (same as the feeds). set_transient( $cache_key, ob_get_flush(), 12 * HOUR_IN_SECONDS ); } return true; } // // Dashboard Widgets Controls. // /** * Calls widget control callback. * * @since 2.5.0 * * @global callable[] $wp_dashboard_control_callbacks * * @param int|false $widget_control_id Optional. Registered widget ID. Default false. */ function wp_dashboard_trigger_widget_control( $widget_control_id = false ) { global $wp_dashboard_control_callbacks; if ( is_scalar( $widget_control_id ) && $widget_control_id && isset( $wp_dashboard_control_callbacks[ $widget_control_id ] ) && is_callable( $wp_dashboard_control_callbacks[ $widget_control_id ] ) ) { call_user_func( $wp_dashboard_control_callbacks[ $widget_control_id ], '', array( 'id' => $widget_control_id, 'callback' => $wp_dashboard_control_callbacks[ $widget_control_id ], ) ); } } /** * Sets up the RSS dashboard widget control and $args to be used as input to wp_widget_rss_form(). * * Handles POST data from RSS-type widgets. * * @since 2.5.0 * * @param string $widget_id * @param array $form_inputs */ function wp_dashboard_rss_control( $widget_id, $form_inputs = array() ) { $widget_options = get_option( 'dashboard_widget_options' ); if ( ! $widget_options ) { $widget_options = array(); } if ( ! isset( $widget_options[ $widget_id ] ) ) { $widget_options[ $widget_id ] = array(); } $number = 1; // Hack to use wp_widget_rss_form(). $widget_options[ $widget_id ]['number'] = $number; if ( 'POST' === $_SERVER['REQUEST_METHOD'] && isset( $_POST['widget-rss'][ $number ] ) ) { $_POST['widget-rss'][ $number ] = wp_unslash( $_POST['widget-rss'][ $number ] ); $widget_options[ $widget_id ] = wp_widget_rss_process( $_POST['widget-rss'][ $number ] ); $widget_options[ $widget_id ]['number'] = $number; // Title is optional. If black, fill it if possible. if ( ! $widget_options[ $widget_id ]['title'] && isset( $_POST['widget-rss'][ $number ]['title'] ) ) { $rss = fetch_feed( $widget_options[ $widget_id ]['url'] ); if ( is_wp_error( $rss ) ) { $widget_options[ $widget_id ]['title'] = htmlentities( __( 'Unknown Feed' ) ); } else { $widget_options[ $widget_id ]['title'] = htmlentities( strip_tags( $rss->get_title() ) ); $rss->__destruct(); unset( $rss ); } } update_option( 'dashboard_widget_options', $widget_options, false ); $locale = get_user_locale(); $cache_key = 'dash_v2_' . md5( $widget_id . '_' . $locale ); delete_transient( $cache_key ); } wp_widget_rss_form( $widget_options[ $widget_id ], $form_inputs ); } /** * Renders the Events and News dashboard widget. * * @since 4.8.0 */ function wp_dashboard_events_news() { wp_print_community_events_markup(); ?> <div class="wordpress-news hide-if-no-js"> <?php wp_dashboard_primary(); ?> </div> <p class="community-events-footer"> <?php printf( '<a href="%1$s" target="_blank">%2$s <span class="screen-reader-text"> %3$s</span><span aria-hidden="true" class="dashicons dashicons-external"></span></a>', 'https://make.wordpress.org/community/meetups-landing-page', __( 'Meetups' ), /* translators: Hidden accessibility text. */ __( '(opens in a new tab)' ) ); ?> | <?php printf( '<a href="%1$s" target="_blank">%2$s <span class="screen-reader-text"> %3$s</span><span aria-hidden="true" class="dashicons dashicons-external"></span></a>', 'https://central.wordcamp.org/schedule/', __( 'WordCamps' ), /* translators: Hidden accessibility text. */ __( '(opens in a new tab)' ) ); ?> | <?php printf( '<a href="%1$s" target="_blank">%2$s <span class="screen-reader-text"> %3$s</span><span aria-hidden="true" class="dashicons dashicons-external"></span></a>', /* translators: If a Rosetta site exists (e.g. https://es.wordpress.org/news/), then use that. Otherwise, leave untranslated. */ esc_url( _x( 'https://wordpress.org/news/', 'Events and News dashboard widget' ) ), __( 'News' ), /* translators: Hidden accessibility text. */ __( '(opens in a new tab)' ) ); ?> </p> <?php } /** * Prints the markup for the Community Events section of the Events and News Dashboard widget. * * @since 4.8.0 */ function wp_print_community_events_markup() { $community_events_notice = '<p class="hide-if-js">' . ( 'This widget requires JavaScript.' ) . '</p>'; $community_events_notice .= '<p class="community-events-error-occurred" aria-hidden="true">' . __( 'An error occurred. Please try again.' ) . '</p>'; $community_events_notice .= '<p class="community-events-could-not-locate" aria-hidden="true"></p>'; wp_admin_notice( $community_events_notice, array( 'type' => 'error', 'additional_classes' => array( 'community-events-errors', 'inline', 'hide-if-js' ), 'paragraph_wrap' => false, ) ); /* * Hide the main element when the page first loads, because the content * won't be ready until wp.communityEvents.renderEventsTemplate() has run. */ ?> <div id="community-events" class="community-events" aria-hidden="true"> <div class="activity-block"> <p> <span id="community-events-location-message"></span> <button class="button-link community-events-toggle-location" aria-expanded="false"> <span class="dashicons dashicons-location" aria-hidden="true"></span> <span class="community-events-location-edit"><?php _e( 'Select location' ); ?></span> </button> </p> <form class="community-events-form" aria-hidden="true" action="<?php echo esc_url( admin_url( 'admin-ajax.php' ) ); ?>" method="post"> <label for="community-events-location"> <?php _e( 'City:' ); ?> </label> <?php /* translators: Replace with a city related to your locale. * Test that it matches the expected location and has upcoming * events before including it. If no cities related to your * locale have events, then use a city related to your locale * that would be recognizable to most users. Use only the city * name itself, without any region or country. Use the endonym * (native locale name) instead of the English name if possible. */ ?> <input id="community-events-location" class="regular-text" type="text" name="community-events-location" placeholder="<?php esc_attr_e( 'Cincinnati' ); ?>" /> <?php submit_button( __( 'Submit' ), 'secondary', 'community-events-submit', false ); ?> <button class="community-events-cancel button-link" type="button" aria-expanded="false"> <?php _e( 'Cancel' ); ?> </button> <span class="spinner"></span> </form> </div> <ul class="community-events-results activity-block last"></ul> </div> <?php } /** * Renders the events templates for the Event and News widget. * * @since 4.8.0 */ function wp_print_community_events_templates() { ?> <script id="tmpl-community-events-attend-event-near" type="text/template"> <?php printf( /* translators: %s: The name of a city. */ __( 'Attend an upcoming event near %s.' ), '<strong>{{ data.location.description }}</strong>' ); ?> </script> <script id="tmpl-community-events-could-not-locate" type="text/template"> <?php printf( /* translators: %s is the name of the city we couldn't locate. * Replace the examples with cities in your locale, but test * that they match the expected location before including them. * Use endonyms (native locale names) whenever possible. */ __( '%s could not be located. Please try another nearby city. For example: Kansas City; Springfield; Portland.' ), '<em>{{data.unknownCity}}</em>' ); ?> </script> <script id="tmpl-community-events-event-list" type="text/template"> <# _.each( data.events, function( event ) { #> <li class="event event-{{ event.type }} wp-clearfix"> <div class="event-info"> <div class="dashicons event-icon" aria-hidden="true"></div> <div class="event-info-inner"> <a class="event-title" href="{{ event.url }}">{{ event.title }}</a> <# if ( event.type ) { const titleCaseEventType = event.type.replace( /\w\S*/g, function ( type ) { return type.charAt(0).toUpperCase() + type.substr(1).toLowerCase(); } ); #> {{ 'wordcamp' === event.type ? 'WordCamp' : titleCaseEventType }} <span class="ce-separator"></span> <# } #> <span class="event-city">{{ event.location.location }}</span> </div> </div> <div class="event-date-time"> <span class="event-date">{{ event.user_formatted_date }}</span> <# if ( 'meetup' === event.type ) { #> <span class="event-time"> {{ event.user_formatted_time }} {{ event.timeZoneAbbreviation }} </span> <# } #> </div> </li> <# } ) #> <# if ( data.events.length <= 2 ) { #> <li class="event-none"> <?php printf( /* translators: %s: Localized meetup organization documentation URL. */ __( 'Want more events? <a href="%s">Help organize the next one</a>!' ), __( 'https://make.wordpress.org/community/organize-event-landing-page/' ) ); ?> </li> <# } #> </script> <script id="tmpl-community-events-no-upcoming-events" type="text/template"> <li class="event-none"> <# if ( data.location.description ) { #> <?php printf( /* translators: 1: The city the user searched for, 2: Meetup organization documentation URL. */ __( 'There are no events scheduled near %1$s at the moment. Would you like to <a href="%2$s">organize a WordPress event</a>?' ), '{{ data.location.description }}', __( 'https://make.wordpress.org/community/handbook/meetup-organizer/welcome/' ) ); ?> <# } else { #> <?php printf( /* translators: %s: Meetup organization documentation URL. */ __( 'There are no events scheduled near you at the moment. Would you like to <a href="%s">organize a WordPress event</a>?' ), __( 'https://make.wordpress.org/community/handbook/meetup-organizer/welcome/' ) ); ?> <# } #> </li> </script> <?php } /** * 'WordPress Events and News' dashboard widget. * * @since 2.7.0 * @since 4.8.0 Removed popular plugins feed. */ function wp_dashboard_primary() { $feeds = array( 'news' => array( /** * Filters the primary link URL for the 'WordPress Events and News' dashboard widget. * * @since 2.5.0 * * @param string $link The widget's primary link URL. */ 'link' => apply_filters( 'dashboard_primary_link', __( 'https://wordpress.org/news/' ) ), /** * Filters the primary feed URL for the 'WordPress Events and News' dashboard widget. * * @since 2.3.0 * * @param string $url The widget's primary feed URL. */ 'url' => apply_filters( 'dashboard_primary_feed', __( 'https://wordpress.org/news/feed/' ) ), /** * Filters the primary link title for the 'WordPress Events and News' dashboard widget. * * @since 2.3.0 * * @param string $title Title attribute for the widget's primary link. */ 'title' => apply_filters( 'dashboard_primary_title', __( 'WordPress Blog' ) ), 'items' => 2, 'show_summary' => 0, 'show_author' => 0, 'show_date' => 0, ), 'planet' => array( /** * Filters the secondary link URL for the 'WordPress Events and News' dashboard widget. * * @since 2.3.0 * * @param string $link The widget's secondary link URL. */ 'link' => apply_filters( 'dashboard_secondary_link', /* translators: Link to the Planet website of the locale. */ __( 'https://planet.wordpress.org/' ) ), /** * Filters the secondary feed URL for the 'WordPress Events and News' dashboard widget. * * @since 2.3.0 * * @param string $url The widget's secondary feed URL. */ 'url' => apply_filters( 'dashboard_secondary_feed', /* translators: Link to the Planet feed of the locale. */ __( 'https://planet.wordpress.org/feed/' ) ), /** * Filters the secondary link title for the 'WordPress Events and News' dashboard widget. * * @since 2.3.0 * * @param string $title Title attribute for the widget's secondary link. */ 'title' => apply_filters( 'dashboard_secondary_title', __( 'Other WordPress News' ) ), /** * Filters the number of secondary link items for the 'WordPress Events and News' dashboard widget. * * @since 4.4.0 * * @param string $items How many items to show in the secondary feed. */ 'items' => apply_filters( 'dashboard_secondary_items', 3 ), 'show_summary' => 0, 'show_author' => 0, 'show_date' => 0, ), ); wp_dashboard_cached_rss_widget( 'dashboard_primary', 'wp_dashboard_primary_output', $feeds ); } /** * Displays the WordPress events and news feeds. * * @since 3.8.0 * @since 4.8.0 Removed popular plugins feed. * * @param string $widget_id Widget ID. * @param array $feeds Array of RSS feeds. */ function wp_dashboard_primary_output( $widget_id, $feeds ) { foreach ( $feeds as $type => $args ) { $args['type'] = $type; echo '<div class="rss-widget">'; wp_widget_rss_output( $args['url'], $args ); echo '</div>'; } } /** * Displays file upload quota on dashboard. * * Runs on the {@see 'activity_box_end'} hook in wp_dashboard_right_now(). * * @since 3.0.0 * * @return true|void True if not multisite, user can't upload files, or the space check option is disabled. */ function wp_dashboard_quota() { if ( ! is_multisite() || ! current_user_can( 'upload_files' ) || get_site_option( 'upload_space_check_disabled' ) ) { return true; } $quota = get_space_allowed(); $used = get_space_used(); if ( $used > $quota ) { $percentused = '100'; } else { $percentused = ( $used / $quota ) * 100; } $used_class = ( $percentused >= 70 ) ? ' warning' : ''; $used = round( $used, 2 ); $percentused = number_format( $percentused ); ?> <h3 class="mu-storage"><?php _e( 'Storage Space' ); ?></h3> <div class="mu-storage"> <ul> <li class="storage-count"> <?php $text = sprintf( /* translators: %s: Number of megabytes. */ __( '%s MB Space Allowed' ), number_format_i18n( $quota ) ); printf( '<a href="%1$s">%2$s<span class="screen-reader-text"> (%3$s)</span></a>', esc_url( admin_url( 'upload.php' ) ), $text, /* translators: Hidden accessibility text. */ __( 'Manage Uploads' ) ); ?> </li><li class="storage-count <?php echo $used_class; ?>"> <?php $text = sprintf( /* translators: 1: Number of megabytes, 2: Percentage. */ __( '%1$s MB (%2$s%%) Space Used' ), number_format_i18n( $used, 2 ), $percentused ); printf( '<a href="%1$s" class="musublink">%2$s<span class="screen-reader-text"> (%3$s)</span></a>', esc_url( admin_url( 'upload.php' ) ), $text, /* translators: Hidden accessibility text. */ __( 'Manage Uploads' ) ); ?> </li> </ul> </div> <?php } /** * Displays the browser update nag. * * @since 3.2.0 * @since 5.8.0 Added a special message for Internet Explorer users. * * @global bool $is_IE */ function wp_dashboard_browser_nag() { global $is_IE; $notice = ''; $response = wp_check_browser_version(); if ( $response ) { if ( $is_IE ) { $msg = __( 'Internet Explorer does not give you the best WordPress experience. Switch to Microsoft Edge, or another more modern browser to get the most from your site.' ); } elseif ( $response['insecure'] ) { $msg = sprintf( /* translators: %s: Browser name and link. */ __( "It looks like you're using an insecure version of %s. Using an outdated browser makes your computer unsafe. For the best WordPress experience, please update your browser." ), sprintf( '<a href="%s">%s</a>', esc_url( $response['update_url'] ), esc_html( $response['name'] ) ) ); } else { $msg = sprintf( /* translators: %s: Browser name and link. */ __( "It looks like you're using an old version of %s. For the best WordPress experience, please update your browser." ), sprintf( '<a href="%s">%s</a>', esc_url( $response['update_url'] ), esc_html( $response['name'] ) ) ); } $browser_nag_class = ''; if ( ! empty( $response['img_src'] ) ) { $img_src = ( is_ssl() && ! empty( $response['img_src_ssl'] ) ) ? $response['img_src_ssl'] : $response['img_src']; $notice .= '<div class="alignright browser-icon"><img src="' . esc_url( $img_src ) . '" alt="" /></div>'; $browser_nag_class = ' has-browser-icon'; } $notice .= "<p class='browser-update-nag{$browser_nag_class}'>{$msg}</p>"; $browsehappy = 'https://browsehappy.com/'; $locale = get_user_locale(); if ( 'en_US' !== $locale ) { $browsehappy = add_query_arg( 'locale', $locale, $browsehappy ); } if ( $is_IE ) { $msg_browsehappy = sprintf( /* translators: %s: Browse Happy URL. */ __( 'Learn how to <a href="%s" class="update-browser-link">browse happy</a>' ), esc_url( $browsehappy ) ); } else { $msg_browsehappy = sprintf( /* translators: 1: Browser update URL, 2: Browser name, 3: Browse Happy URL. */ __( '<a href="%1$s" class="update-browser-link">Update %2$s</a> or learn how to <a href="%3$s" class="browse-happy-link">browse happy</a>' ), esc_attr( $response['update_url'] ), esc_html( $response['name'] ), esc_url( $browsehappy ) ); } $notice .= '<p>' . $msg_browsehappy . '</p>'; $notice .= '<p class="hide-if-no-js"><a href="" class="dismiss" aria-label="' . esc_attr__( 'Dismiss the browser warning panel' ) . '">' . __( 'Dismiss' ) . '</a></p>'; $notice .= '<div class="clear"></div>'; } /** * Filters the notice output for the 'Browse Happy' nag meta box. * * @since 3.2.0 * * @param string $notice The notice content. * @param array|false $response An array containing web browser information, or * false on failure. See wp_check_browser_version(). */ echo apply_filters( 'browse-happy-notice', $notice, $response ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores } /** * Adds an additional class to the browser nag if the current version is insecure. * * @since 3.2.0 * * @param string[] $classes Array of meta box classes. * @return string[] Modified array of meta box classes. */ function dashboard_browser_nag_class( $classes ) { $response = wp_check_browser_version(); if ( $response && $response['insecure'] ) { $classes[] = 'browser-insecure'; } return $classes; } /** * Checks if the user needs a browser update. * * @since 3.2.0 * * @return array|false Array of browser data on success, false on failure. */ function wp_check_browser_version() { if ( empty( $_SERVER['HTTP_USER_AGENT'] ) ) { return false; } $key = md5( $_SERVER['HTTP_USER_AGENT'] ); $response = get_site_transient( 'browser_' . $key ); if ( false === $response ) { $url = 'http://api.wordpress.org/core/browse-happy/1.1/'; $options = array( 'body' => array( 'useragent' => $_SERVER['HTTP_USER_AGENT'] ), 'user-agent' => 'WordPress/' . wp_get_wp_version() . '; ' . home_url( '/' ), ); if ( wp_http_supports( array( 'ssl' ) ) ) { $url = set_url_scheme( $url, 'https' ); } $response = wp_remote_post( $url, $options ); if ( is_wp_error( $response ) || 200 !== wp_remote_retrieve_response_code( $response ) ) { return false; } /** * Response should be an array with: * 'platform' - string - A user-friendly platform name, if it can be determined * 'name' - string - A user-friendly browser name * 'version' - string - The version of the browser the user is using * 'current_version' - string - The most recent version of the browser * 'upgrade' - boolean - Whether the browser needs an upgrade * 'insecure' - boolean - Whether the browser is deemed insecure * 'update_url' - string - The url to visit to upgrade * 'img_src' - string - An image representing the browser * 'img_src_ssl' - string - An image (over SSL) representing the browser */ $response = json_decode( wp_remote_retrieve_body( $response ), true ); if ( ! is_array( $response ) ) { return false; } set_site_transient( 'browser_' . $key, $response, WEEK_IN_SECONDS ); } return $response; } /** * Displays the PHP update nag. * * @since 5.1.0 */ function wp_dashboard_php_nag() { $response = wp_check_php_version(); if ( ! $response ) { return; } if ( isset( $response['is_secure'] ) && ! $response['is_secure'] ) { // The `is_secure` array key name doesn't actually imply this is a secure version of PHP. It only means it receives security updates. if ( $response['is_lower_than_future_minimum'] ) { $message = sprintf( /* translators: %s: The server PHP version. */ __( 'Your site is running on an outdated version of PHP (%s), which does not receive security updates and soon will not be supported by WordPress. Ensure that PHP is updated on your server as soon as possible. Otherwise you will not be able to upgrade WordPress.' ), PHP_VERSION ); } else { $message = sprintf( /* translators: %s: The server PHP version. */ __( 'Your site is running on an outdated version of PHP (%s), which does not receive security updates. It should be updated.' ), PHP_VERSION ); } } elseif ( $response['is_lower_than_future_minimum'] ) { $message = sprintf( /* translators: %s: The server PHP version. */ __( 'Your site is running on an outdated version of PHP (%s), which soon will not be supported by WordPress. Ensure that PHP is updated on your server as soon as possible. Otherwise you will not be able to upgrade WordPress.' ), PHP_VERSION ); } else { $message = sprintf( /* translators: %s: The server PHP version. */ __( 'Your site is running on an outdated version of PHP (%s), which should be updated.' ), PHP_VERSION ); } ?> <p class="bigger-bolder-text"><?php echo $message; ?></p> <p><?php _e( 'What is PHP and how does it affect my site?' ); ?></p> <p> <?php _e( 'PHP is one of the programming languages used to build WordPress. Newer versions of PHP receive regular security updates and may increase your site’s performance.' ); ?> <?php if ( ! empty( $response['recommended_version'] ) ) { printf( /* translators: %s: The minimum recommended PHP version. */ __( 'The minimum recommended version of PHP is %s.' ), $response['recommended_version'] ); } ?> </p> <p class="button-container"> <?php printf( '<a class="button button-primary" href="%1$s" target="_blank">%2$s<span class="screen-reader-text"> %3$s</span><span aria-hidden="true" class="dashicons dashicons-external"></span></a>', esc_url( wp_get_update_php_url() ), __( 'Learn more about updating PHP' ), /* translators: Hidden accessibility text. */ __( '(opens in a new tab)' ) ); ?> </p> <?php wp_update_php_annotation(); wp_direct_php_update_button(); } /** * Adds an additional class to the PHP nag if the current version is insecure. * * @since 5.1.0 * * @param string[] $classes Array of meta box classes. * @return string[] Modified array of meta box classes. */ function dashboard_php_nag_class( $classes ) { $response = wp_check_php_version(); if ( ! $response ) { return $classes; } if ( isset( $response['is_secure'] ) && ! $response['is_secure'] ) { $classes[] = 'php-no-security-updates'; } elseif ( $response['is_lower_than_future_minimum'] ) { $classes[] = 'php-version-lower-than-future-minimum'; } return $classes; } /** * Displays the Site Health Status widget. * * @since 5.4.0 */ function wp_dashboard_site_health() { $get_issues = get_transient( 'health-check-site-status-result' ); $issue_counts = array(); if ( false !== $get_issues ) { $issue_counts = json_decode( $get_issues, true ); } if ( ! is_array( $issue_counts ) || ! $issue_counts ) { $issue_counts = array( 'good' => 0, 'recommended' => 0, 'critical' => 0, ); } $issues_total = $issue_counts['recommended'] + $issue_counts['critical']; ?> <div class="health-check-widget"> <div class="health-check-widget-title-section site-health-progress-wrapper loading hide-if-no-js"> <div class="site-health-progress"> <svg aria-hidden="true" focusable="false" width="100%" height="100%" viewBox="0 0 200 200" version="1.1" xmlns="http://www.w3.org/2000/svg"> <circle r="90" cx="100" cy="100" fill="transparent" stroke-dasharray="565.48" stroke-dashoffset="0"></circle> <circle id="bar" r="90" cx="100" cy="100" fill="transparent" stroke-dasharray="565.48" stroke-dashoffset="0"></circle> </svg> </div> <div class="site-health-progress-label"> <?php if ( false === $get_issues ) : ?> <?php _e( 'No information yet…' ); ?> <?php else : ?> <?php _e( 'Results are still loading…' ); ?> <?php endif; ?> </div> </div> <div class="site-health-details"> <?php if ( false === $get_issues ) : ?> <p> <?php printf( /* translators: %s: URL to Site Health screen. */ __( 'Site health checks will automatically run periodically to gather information about your site. You can also <a href="%s">visit the Site Health screen</a> to gather information about your site now.' ), esc_url( admin_url( 'site-health.php' ) ) ); ?> </p> <?php else : ?> <p> <?php if ( $issues_total <= 0 ) : ?> <?php _e( 'Great job! Your site currently passes all site health checks.' ); ?> <?php elseif ( 1 === (int) $issue_counts['critical'] ) : ?> <?php _e( 'Your site has a critical issue that should be addressed as soon as possible to improve its performance and security.' ); ?> <?php elseif ( $issue_counts['critical'] > 1 ) : ?> <?php _e( 'Your site has critical issues that should be addressed as soon as possible to improve its performance and security.' ); ?> <?php elseif ( 1 === (int) $issue_counts['recommended'] ) : ?> <?php _e( 'Your site’s health is looking good, but there is still one thing you can do to improve its performance and security.' ); ?> <?php else : ?> <?php _e( 'Your site’s health is looking good, but there are still some things you can do to improve its performance and security.' ); ?> <?php endif; ?> </p> <?php endif; ?> <?php if ( $issues_total > 0 && false !== $get_issues ) : ?> <p> <?php printf( /* translators: 1: Number of issues. 2: URL to Site Health screen. */ _n( 'Take a look at the <strong>%1$d item</strong> on the <a href="%2$s">Site Health screen</a>.', 'Take a look at the <strong>%1$d items</strong> on the <a href="%2$s">Site Health screen</a>.', $issues_total ), $issues_total, esc_url( admin_url( 'site-health.php' ) ) ); ?> </p> <?php endif; ?> </div> </div> <?php } /** * Outputs empty dashboard widget to be populated by JS later. * * Usable by plugins. * * @since 2.5.0 */ function wp_dashboard_empty() {} /** * Displays a welcome panel to introduce users to WordPress. * * @since 3.3.0 * @since 5.9.0 Send users to the Site Editor if the active theme is block-based. */ function wp_welcome_panel() { list( $display_version ) = explode( '-', wp_get_wp_version() ); $can_customize = current_user_can( 'customize' ); $is_block_theme = wp_is_block_theme(); ?> <div class="welcome-panel-content"> <div class="welcome-panel-header"> <div class="welcome-panel-header-image"> <?php echo file_get_contents( dirname( __DIR__ ) . '/images/dashboard-background.svg' ); ?> </div> <h2><?php _e( 'Welcome to WordPress!' ); ?></h2> <p> <a href="<?php echo esc_url( admin_url( 'about.php' ) ); ?>"> <?php /* translators: %s: Current WordPress version. */ printf( __( 'Learn more about the %s version.' ), esc_html( $display_version ) ); ?> </a> </p> </div> <div class="welcome-panel-column-container"> <div class="welcome-panel-column"> <svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"> <rect width="48" height="48" rx="4" fill="#1E1E1E"/> <path fill-rule="evenodd" clip-rule="evenodd" d="M32.0668 17.0854L28.8221 13.9454L18.2008 24.671L16.8983 29.0827L21.4257 27.8309L32.0668 17.0854ZM16 32.75H24V31.25H16V32.75Z" fill="white"/> </svg> <div class="welcome-panel-column-content"> <h3><?php _e( 'Author rich content with blocks and patterns' ); ?></h3> <p><?php _e( 'Block patterns are pre-configured block layouts. Use them to get inspired or create new pages in a flash.' ); ?></p> <a href="<?php echo esc_url( admin_url( 'post-new.php?post_type=page' ) ); ?>"><?php _e( 'Add a new page' ); ?></a> </div> </div> <div class="welcome-panel-column"> <svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"> <rect width="48" height="48" rx="4" fill="#1E1E1E"/> <path fill-rule="evenodd" clip-rule="evenodd" d="M18 16h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H18a2 2 0 0 1-2-2V18a2 2 0 0 1 2-2zm12 1.5H18a.5.5 0 0 0-.5.5v3h13v-3a.5.5 0 0 0-.5-.5zm.5 5H22v8h8a.5.5 0 0 0 .5-.5v-7.5zm-10 0h-3V30a.5.5 0 0 0 .5.5h2.5v-8z" fill="#fff"/> </svg> <div class="welcome-panel-column-content"> <?php if ( $is_block_theme ) : ?> <h3><?php _e( 'Customize your entire site with block themes' ); ?></h3> <p><?php _e( 'Design everything on your site — from the header down to the footer, all using blocks and patterns.' ); ?></p> <a href="<?php echo esc_url( admin_url( 'site-editor.php' ) ); ?>"><?php _e( 'Open site editor' ); ?></a> <?php else : ?> <h3><?php _e( 'Start Customizing' ); ?></h3> <p><?php _e( 'Configure your site’s logo, header, menus, and more in the Customizer.' ); ?></p> <?php if ( $can_customize ) : ?> <a class="load-customize hide-if-no-customize" href="<?php echo wp_customize_url(); ?>"><?php _e( 'Open the Customizer' ); ?></a> <?php endif; ?> <?php endif; ?> </div> </div> <div class="welcome-panel-column"> <svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"> <rect width="48" height="48" rx="4" fill="#1E1E1E"/> <path fill-rule="evenodd" clip-rule="evenodd" d="M31 24a7 7 0 0 1-7 7V17a7 7 0 0 1 7 7zm-7-8a8 8 0 1 1 0 16 8 8 0 0 1 0-16z" fill="#fff"/> </svg> <div class="welcome-panel-column-content"> <?php if ( $is_block_theme ) : ?> <h3><?php _e( 'Switch up your site’s look & feel with Styles' ); ?></h3> <p><?php _e( 'Tweak your site, or give it a whole new look! Get creative — how about a new color palette or font?' ); ?></p> <a href="<?php echo esc_url( admin_url( '/site-editor.php?path=%2Fwp_global_styles' ) ); ?>"><?php _e( 'Edit styles' ); ?></a> <?php else : ?> <h3><?php _e( 'Discover a new way to build your site.' ); ?></h3> <p><?php _e( 'There is a new kind of WordPress theme, called a block theme, that lets you build the site you’ve always wanted — with blocks and styles.' ); ?></p> <a href="<?php echo esc_url( __( 'https://wordpress.org/documentation/article/block-themes/' ) ); ?>"><?php _e( 'Learn about block themes' ); ?></a> <?php endif; ?> </div> </div> </div> </div> <?php } continents-cities.php 0000644 00000050074 14735706075 0010743 0 ustar 00 <?php /** * Translation API: Continent and city translations for timezone selection * * This file is not included anywhere. It exists solely for use by xgettext. * * @package WordPress * @subpackage i18n * @since 2.8.0 */ __( 'Africa', 'continents-cities' ); __( 'Abidjan', 'continents-cities' ); __( 'Accra', 'continents-cities' ); __( 'Addis Ababa', 'continents-cities' ); __( 'Algiers', 'continents-cities' ); __( 'Asmara', 'continents-cities' ); __( 'Asmera', 'continents-cities' ); __( 'Bamako', 'continents-cities' ); __( 'Bangui', 'continents-cities' ); __( 'Banjul', 'continents-cities' ); __( 'Bissau', 'continents-cities' ); __( 'Blantyre', 'continents-cities' ); __( 'Brazzaville', 'continents-cities' ); __( 'Bujumbura', 'continents-cities' ); __( 'Cairo', 'continents-cities' ); __( 'Casablanca', 'continents-cities' ); __( 'Ceuta', 'continents-cities' ); __( 'Conakry', 'continents-cities' ); __( 'Dakar', 'continents-cities' ); __( 'Dar es Salaam', 'continents-cities' ); __( 'Djibouti', 'continents-cities' ); __( 'Douala', 'continents-cities' ); __( 'El Aaiun', 'continents-cities' ); __( 'Freetown', 'continents-cities' ); __( 'Gaborone', 'continents-cities' ); __( 'Harare', 'continents-cities' ); __( 'Johannesburg', 'continents-cities' ); __( 'Juba', 'continents-cities' ); __( 'Kampala', 'continents-cities' ); __( 'Khartoum', 'continents-cities' ); __( 'Kigali', 'continents-cities' ); __( 'Kinshasa', 'continents-cities' ); __( 'Lagos', 'continents-cities' ); __( 'Libreville', 'continents-cities' ); __( 'Lome', 'continents-cities' ); __( 'Luanda', 'continents-cities' ); __( 'Lubumbashi', 'continents-cities' ); __( 'Lusaka', 'continents-cities' ); __( 'Malabo', 'continents-cities' ); __( 'Maputo', 'continents-cities' ); __( 'Maseru', 'continents-cities' ); __( 'Mbabane', 'continents-cities' ); __( 'Mogadishu', 'continents-cities' ); __( 'Monrovia', 'continents-cities' ); __( 'Nairobi', 'continents-cities' ); __( 'Ndjamena', 'continents-cities' ); __( 'Niamey', 'continents-cities' ); __( 'Nouakchott', 'continents-cities' ); __( 'Ouagadougou', 'continents-cities' ); __( 'Porto-Novo', 'continents-cities' ); __( 'Sao Tome', 'continents-cities' ); __( 'Timbuktu', 'continents-cities' ); __( 'Tripoli', 'continents-cities' ); __( 'Tunis', 'continents-cities' ); __( 'Windhoek', 'continents-cities' ); __( 'America', 'continents-cities' ); __( 'Adak', 'continents-cities' ); __( 'Anchorage', 'continents-cities' ); __( 'Anguilla', 'continents-cities' ); __( 'Antigua', 'continents-cities' ); __( 'Araguaina', 'continents-cities' ); __( 'Argentina', 'continents-cities' ); __( 'Buenos Aires', 'continents-cities' ); __( 'Catamarca', 'continents-cities' ); __( 'ComodRivadavia', 'continents-cities' ); __( 'Cordoba', 'continents-cities' ); __( 'Jujuy', 'continents-cities' ); __( 'La Rioja', 'continents-cities' ); __( 'Mendoza', 'continents-cities' ); __( 'Rio Gallegos', 'continents-cities' ); __( 'Salta', 'continents-cities' ); __( 'San Juan', 'continents-cities' ); __( 'San Luis', 'continents-cities' ); __( 'Tucuman', 'continents-cities' ); __( 'Ushuaia', 'continents-cities' ); __( 'Aruba', 'continents-cities' ); __( 'Asuncion', 'continents-cities' ); __( 'Atikokan', 'continents-cities' ); __( 'Atka', 'continents-cities' ); __( 'Bahia', 'continents-cities' ); __( 'Bahia Banderas', 'continents-cities' ); __( 'Barbados', 'continents-cities' ); __( 'Belem', 'continents-cities' ); __( 'Belize', 'continents-cities' ); __( 'Blanc-Sablon', 'continents-cities' ); __( 'Boa Vista', 'continents-cities' ); __( 'Bogota', 'continents-cities' ); __( 'Boise', 'continents-cities' ); __( 'Cambridge Bay', 'continents-cities' ); __( 'Campo Grande', 'continents-cities' ); __( 'Cancun', 'continents-cities' ); __( 'Caracas', 'continents-cities' ); __( 'Cayenne', 'continents-cities' ); __( 'Cayman', 'continents-cities' ); __( 'Chicago', 'continents-cities' ); __( 'Chihuahua', 'continents-cities' ); __( 'Coral Harbour', 'continents-cities' ); __( 'Costa Rica', 'continents-cities' ); __( 'Creston', 'continents-cities' ); __( 'Cuiaba', 'continents-cities' ); __( 'Curacao', 'continents-cities' ); __( 'Danmarkshavn', 'continents-cities' ); __( 'Dawson', 'continents-cities' ); __( 'Dawson Creek', 'continents-cities' ); __( 'Denver', 'continents-cities' ); __( 'Detroit', 'continents-cities' ); __( 'Dominica', 'continents-cities' ); __( 'Edmonton', 'continents-cities' ); __( 'Eirunepe', 'continents-cities' ); __( 'El Salvador', 'continents-cities' ); __( 'Ensenada', 'continents-cities' ); __( 'Fort Nelson', 'continents-cities' ); __( 'Fort Wayne', 'continents-cities' ); __( 'Fortaleza', 'continents-cities' ); __( 'Glace Bay', 'continents-cities' ); __( 'Godthab', 'continents-cities' ); __( 'Goose Bay', 'continents-cities' ); __( 'Grand Turk', 'continents-cities' ); __( 'Grenada', 'continents-cities' ); __( 'Guadeloupe', 'continents-cities' ); __( 'Guatemala', 'continents-cities' ); __( 'Guayaquil', 'continents-cities' ); __( 'Guyana', 'continents-cities' ); __( 'Halifax', 'continents-cities' ); __( 'Havana', 'continents-cities' ); __( 'Hermosillo', 'continents-cities' ); __( 'Indiana', 'continents-cities' ); __( 'Indianapolis', 'continents-cities' ); __( 'Knox', 'continents-cities' ); __( 'Marengo', 'continents-cities' ); __( 'Petersburg', 'continents-cities' ); __( 'Tell City', 'continents-cities' ); __( 'Vevay', 'continents-cities' ); __( 'Vincennes', 'continents-cities' ); __( 'Winamac', 'continents-cities' ); __( 'Inuvik', 'continents-cities' ); __( 'Iqaluit', 'continents-cities' ); __( 'Jamaica', 'continents-cities' ); __( 'Juneau', 'continents-cities' ); __( 'Kentucky', 'continents-cities' ); __( 'Louisville', 'continents-cities' ); __( 'Monticello', 'continents-cities' ); __( 'Knox IN', 'continents-cities' ); __( 'Kralendijk', 'continents-cities' ); __( 'La Paz', 'continents-cities' ); __( 'Lima', 'continents-cities' ); __( 'Los Angeles', 'continents-cities' ); __( 'Lower Princes', 'continents-cities' ); __( 'Maceio', 'continents-cities' ); __( 'Managua', 'continents-cities' ); __( 'Manaus', 'continents-cities' ); __( 'Marigot', 'continents-cities' ); __( 'Martinique', 'continents-cities' ); __( 'Matamoros', 'continents-cities' ); __( 'Mazatlan', 'continents-cities' ); __( 'Menominee', 'continents-cities' ); __( 'Merida', 'continents-cities' ); __( 'Metlakatla', 'continents-cities' ); __( 'Mexico City', 'continents-cities' ); __( 'Miquelon', 'continents-cities' ); __( 'Moncton', 'continents-cities' ); __( 'Monterrey', 'continents-cities' ); __( 'Montevideo', 'continents-cities' ); __( 'Montreal', 'continents-cities' ); __( 'Montserrat', 'continents-cities' ); __( 'Nassau', 'continents-cities' ); __( 'New York', 'continents-cities' ); __( 'Nipigon', 'continents-cities' ); __( 'Nome', 'continents-cities' ); __( 'Noronha', 'continents-cities' ); __( 'North Dakota', 'continents-cities' ); __( 'Beulah', 'continents-cities' ); __( 'Center', 'continents-cities' ); __( 'New Salem', 'continents-cities' ); __( 'Nuuk', 'continents-cities' ); __( 'Ojinaga', 'continents-cities' ); __( 'Panama', 'continents-cities' ); __( 'Pangnirtung', 'continents-cities' ); __( 'Paramaribo', 'continents-cities' ); __( 'Phoenix', 'continents-cities' ); __( 'Port-au-Prince', 'continents-cities' ); __( 'Port of Spain', 'continents-cities' ); __( 'Porto Acre', 'continents-cities' ); __( 'Porto Velho', 'continents-cities' ); __( 'Puerto Rico', 'continents-cities' ); __( 'Punta Arenas', 'continents-cities' ); __( 'Rainy River', 'continents-cities' ); __( 'Rankin Inlet', 'continents-cities' ); __( 'Recife', 'continents-cities' ); __( 'Regina', 'continents-cities' ); __( 'Resolute', 'continents-cities' ); __( 'Rio Branco', 'continents-cities' ); __( 'Rosario', 'continents-cities' ); __( 'Santa Isabel', 'continents-cities' ); __( 'Santarem', 'continents-cities' ); __( 'Santiago', 'continents-cities' ); __( 'Santo Domingo', 'continents-cities' ); __( 'Sao Paulo', 'continents-cities' ); __( 'Scoresbysund', 'continents-cities' ); __( 'Shiprock', 'continents-cities' ); __( 'Sitka', 'continents-cities' ); __( 'St Barthelemy', 'continents-cities' ); __( 'St Johns', 'continents-cities' ); __( 'St Kitts', 'continents-cities' ); __( 'St Lucia', 'continents-cities' ); __( 'St Thomas', 'continents-cities' ); __( 'St Vincent', 'continents-cities' ); __( 'Swift Current', 'continents-cities' ); __( 'Tegucigalpa', 'continents-cities' ); __( 'Thule', 'continents-cities' ); __( 'Thunder Bay', 'continents-cities' ); __( 'Tijuana', 'continents-cities' ); __( 'Toronto', 'continents-cities' ); __( 'Tortola', 'continents-cities' ); __( 'Vancouver', 'continents-cities' ); __( 'Virgin', 'continents-cities' ); __( 'Whitehorse', 'continents-cities' ); __( 'Winnipeg', 'continents-cities' ); __( 'Yakutat', 'continents-cities' ); __( 'Yellowknife', 'continents-cities' ); __( 'Antarctica', 'continents-cities' ); __( 'Casey', 'continents-cities' ); __( 'Davis', 'continents-cities' ); __( 'DumontDUrville', 'continents-cities' ); __( 'Macquarie', 'continents-cities' ); __( 'Mawson', 'continents-cities' ); __( 'McMurdo', 'continents-cities' ); __( 'Palmer', 'continents-cities' ); __( 'Rothera', 'continents-cities' ); __( 'South Pole', 'continents-cities' ); __( 'Syowa', 'continents-cities' ); __( 'Troll', 'continents-cities' ); __( 'Vostok', 'continents-cities' ); __( 'Arctic', 'continents-cities' ); __( 'Longyearbyen', 'continents-cities' ); __( 'Asia', 'continents-cities' ); __( 'Aden', 'continents-cities' ); __( 'Almaty', 'continents-cities' ); __( 'Amman', 'continents-cities' ); __( 'Anadyr', 'continents-cities' ); __( 'Aqtau', 'continents-cities' ); __( 'Aqtobe', 'continents-cities' ); __( 'Ashgabat', 'continents-cities' ); __( 'Ashkhabad', 'continents-cities' ); __( 'Atyrau', 'continents-cities' ); __( 'Baghdad', 'continents-cities' ); __( 'Bahrain', 'continents-cities' ); __( 'Baku', 'continents-cities' ); __( 'Bangkok', 'continents-cities' ); __( 'Barnaul', 'continents-cities' ); __( 'Beirut', 'continents-cities' ); __( 'Bishkek', 'continents-cities' ); __( 'Brunei', 'continents-cities' ); __( 'Calcutta', 'continents-cities' ); __( 'Chita', 'continents-cities' ); __( 'Choibalsan', 'continents-cities' ); __( 'Chongqing', 'continents-cities' ); __( 'Chungking', 'continents-cities' ); __( 'Colombo', 'continents-cities' ); __( 'Dacca', 'continents-cities' ); __( 'Damascus', 'continents-cities' ); __( 'Dhaka', 'continents-cities' ); __( 'Dili', 'continents-cities' ); __( 'Dubai', 'continents-cities' ); __( 'Dushanbe', 'continents-cities' ); __( 'Famagusta', 'continents-cities' ); __( 'Gaza', 'continents-cities' ); __( 'Harbin', 'continents-cities' ); __( 'Hebron', 'continents-cities' ); __( 'Ho Chi Minh', 'continents-cities' ); __( 'Hong Kong', 'continents-cities' ); __( 'Hovd', 'continents-cities' ); __( 'Irkutsk', 'continents-cities' ); __( 'Jakarta', 'continents-cities' ); __( 'Jayapura', 'continents-cities' ); __( 'Jerusalem', 'continents-cities' ); __( 'Kabul', 'continents-cities' ); __( 'Kamchatka', 'continents-cities' ); __( 'Karachi', 'continents-cities' ); __( 'Kashgar', 'continents-cities' ); __( 'Kathmandu', 'continents-cities' ); __( 'Katmandu', 'continents-cities' ); __( 'Khandyga', 'continents-cities' ); __( 'Kolkata', 'continents-cities' ); __( 'Krasnoyarsk', 'continents-cities' ); __( 'Kuala Lumpur', 'continents-cities' ); __( 'Kuching', 'continents-cities' ); __( 'Kuwait', 'continents-cities' ); __( 'Macao', 'continents-cities' ); __( 'Macau', 'continents-cities' ); __( 'Magadan', 'continents-cities' ); __( 'Makassar', 'continents-cities' ); __( 'Manila', 'continents-cities' ); __( 'Muscat', 'continents-cities' ); __( 'Nicosia', 'continents-cities' ); __( 'Novokuznetsk', 'continents-cities' ); __( 'Novosibirsk', 'continents-cities' ); __( 'Omsk', 'continents-cities' ); __( 'Oral', 'continents-cities' ); __( 'Phnom Penh', 'continents-cities' ); __( 'Pontianak', 'continents-cities' ); __( 'Pyongyang', 'continents-cities' ); __( 'Qatar', 'continents-cities' ); __( 'Qostanay', 'continents-cities' ); __( 'Qyzylorda', 'continents-cities' ); __( 'Rangoon', 'continents-cities' ); __( 'Riyadh', 'continents-cities' ); __( 'Saigon', 'continents-cities' ); __( 'Sakhalin', 'continents-cities' ); __( 'Samarkand', 'continents-cities' ); __( 'Seoul', 'continents-cities' ); __( 'Shanghai', 'continents-cities' ); __( 'Singapore', 'continents-cities' ); __( 'Srednekolymsk', 'continents-cities' ); __( 'Taipei', 'continents-cities' ); __( 'Tashkent', 'continents-cities' ); __( 'Tbilisi', 'continents-cities' ); __( 'Tehran', 'continents-cities' ); __( 'Tel Aviv', 'continents-cities' ); __( 'Thimbu', 'continents-cities' ); __( 'Thimphu', 'continents-cities' ); __( 'Tokyo', 'continents-cities' ); __( 'Tomsk', 'continents-cities' ); __( 'Ujung Pandang', 'continents-cities' ); __( 'Ulaanbaatar', 'continents-cities' ); __( 'Ulan Bator', 'continents-cities' ); __( 'Urumqi', 'continents-cities' ); __( 'Ust-Nera', 'continents-cities' ); __( 'Vientiane', 'continents-cities' ); __( 'Vladivostok', 'continents-cities' ); __( 'Yakutsk', 'continents-cities' ); __( 'Yangon', 'continents-cities' ); __( 'Yekaterinburg', 'continents-cities' ); __( 'Yerevan', 'continents-cities' ); __( 'Atlantic', 'continents-cities' ); __( 'Azores', 'continents-cities' ); __( 'Bermuda', 'continents-cities' ); __( 'Canary', 'continents-cities' ); __( 'Cape Verde', 'continents-cities' ); __( 'Faeroe', 'continents-cities' ); __( 'Faroe', 'continents-cities' ); __( 'Jan Mayen', 'continents-cities' ); __( 'Madeira', 'continents-cities' ); __( 'Reykjavik', 'continents-cities' ); __( 'South Georgia', 'continents-cities' ); __( 'St Helena', 'continents-cities' ); __( 'Stanley', 'continents-cities' ); __( 'Australia', 'continents-cities' ); __( 'ACT', 'continents-cities' ); __( 'Adelaide', 'continents-cities' ); __( 'Brisbane', 'continents-cities' ); __( 'Broken Hill', 'continents-cities' ); __( 'Canberra', 'continents-cities' ); __( 'Currie', 'continents-cities' ); __( 'Darwin', 'continents-cities' ); __( 'Eucla', 'continents-cities' ); __( 'Hobart', 'continents-cities' ); __( 'LHI', 'continents-cities' ); __( 'Lindeman', 'continents-cities' ); __( 'Lord Howe', 'continents-cities' ); __( 'Melbourne', 'continents-cities' ); __( 'NSW', 'continents-cities' ); __( 'North', 'continents-cities' ); __( 'Perth', 'continents-cities' ); __( 'Queensland', 'continents-cities' ); __( 'South', 'continents-cities' ); __( 'Sydney', 'continents-cities' ); __( 'Tasmania', 'continents-cities' ); __( 'Victoria', 'continents-cities' ); __( 'West', 'continents-cities' ); __( 'Yancowinna', 'continents-cities' ); __( 'Etc', 'continents-cities' ); __( 'GMT', 'continents-cities' ); __( 'GMT+0', 'continents-cities' ); __( 'GMT+1', 'continents-cities' ); __( 'GMT+10', 'continents-cities' ); __( 'GMT+11', 'continents-cities' ); __( 'GMT+12', 'continents-cities' ); __( 'GMT+2', 'continents-cities' ); __( 'GMT+3', 'continents-cities' ); __( 'GMT+4', 'continents-cities' ); __( 'GMT+5', 'continents-cities' ); __( 'GMT+6', 'continents-cities' ); __( 'GMT+7', 'continents-cities' ); __( 'GMT+8', 'continents-cities' ); __( 'GMT+9', 'continents-cities' ); __( 'GMT-0', 'continents-cities' ); __( 'GMT-1', 'continents-cities' ); __( 'GMT-10', 'continents-cities' ); __( 'GMT-11', 'continents-cities' ); __( 'GMT-12', 'continents-cities' ); __( 'GMT-13', 'continents-cities' ); __( 'GMT-14', 'continents-cities' ); __( 'GMT-2', 'continents-cities' ); __( 'GMT-3', 'continents-cities' ); __( 'GMT-4', 'continents-cities' ); __( 'GMT-5', 'continents-cities' ); __( 'GMT-6', 'continents-cities' ); __( 'GMT-7', 'continents-cities' ); __( 'GMT-8', 'continents-cities' ); __( 'GMT-9', 'continents-cities' ); __( 'GMT0', 'continents-cities' ); __( 'Greenwich', 'continents-cities' ); __( 'UCT', 'continents-cities' ); __( 'UTC', 'continents-cities' ); __( 'Universal', 'continents-cities' ); __( 'Zulu', 'continents-cities' ); __( 'Europe', 'continents-cities' ); __( 'Amsterdam', 'continents-cities' ); __( 'Andorra', 'continents-cities' ); __( 'Astrakhan', 'continents-cities' ); __( 'Athens', 'continents-cities' ); __( 'Belfast', 'continents-cities' ); __( 'Belgrade', 'continents-cities' ); __( 'Berlin', 'continents-cities' ); __( 'Bratislava', 'continents-cities' ); __( 'Brussels', 'continents-cities' ); __( 'Bucharest', 'continents-cities' ); __( 'Budapest', 'continents-cities' ); __( 'Busingen', 'continents-cities' ); __( 'Chisinau', 'continents-cities' ); __( 'Copenhagen', 'continents-cities' ); __( 'Dublin', 'continents-cities' ); __( 'Gibraltar', 'continents-cities' ); __( 'Guernsey', 'continents-cities' ); __( 'Helsinki', 'continents-cities' ); __( 'Isle of Man', 'continents-cities' ); __( 'Istanbul', 'continents-cities' ); __( 'Jersey', 'continents-cities' ); __( 'Kaliningrad', 'continents-cities' ); __( 'Kiev', 'continents-cities' ); __( 'Kyiv', 'continents-cities' ); __( 'Kirov', 'continents-cities' ); __( 'Lisbon', 'continents-cities' ); __( 'Ljubljana', 'continents-cities' ); __( 'London', 'continents-cities' ); __( 'Luxembourg', 'continents-cities' ); __( 'Madrid', 'continents-cities' ); __( 'Malta', 'continents-cities' ); __( 'Mariehamn', 'continents-cities' ); __( 'Minsk', 'continents-cities' ); __( 'Monaco', 'continents-cities' ); __( 'Moscow', 'continents-cities' ); __( 'Oslo', 'continents-cities' ); __( 'Paris', 'continents-cities' ); __( 'Podgorica', 'continents-cities' ); __( 'Prague', 'continents-cities' ); __( 'Riga', 'continents-cities' ); __( 'Rome', 'continents-cities' ); __( 'Samara', 'continents-cities' ); __( 'San Marino', 'continents-cities' ); __( 'Sarajevo', 'continents-cities' ); __( 'Saratov', 'continents-cities' ); __( 'Simferopol', 'continents-cities' ); __( 'Skopje', 'continents-cities' ); __( 'Sofia', 'continents-cities' ); __( 'Stockholm', 'continents-cities' ); __( 'Tallinn', 'continents-cities' ); __( 'Tirane', 'continents-cities' ); __( 'Tiraspol', 'continents-cities' ); __( 'Ulyanovsk', 'continents-cities' ); __( 'Uzhgorod', 'continents-cities' ); __( 'Vaduz', 'continents-cities' ); __( 'Vatican', 'continents-cities' ); __( 'Vienna', 'continents-cities' ); __( 'Vilnius', 'continents-cities' ); __( 'Volgograd', 'continents-cities' ); __( 'Warsaw', 'continents-cities' ); __( 'Zagreb', 'continents-cities' ); __( 'Zaporozhye', 'continents-cities' ); __( 'Zurich', 'continents-cities' ); __( 'Indian', 'continents-cities' ); __( 'Antananarivo', 'continents-cities' ); __( 'Chagos', 'continents-cities' ); __( 'Christmas', 'continents-cities' ); __( 'Cocos', 'continents-cities' ); __( 'Comoro', 'continents-cities' ); __( 'Kerguelen', 'continents-cities' ); __( 'Mahe', 'continents-cities' ); __( 'Maldives', 'continents-cities' ); __( 'Mauritius', 'continents-cities' ); __( 'Mayotte', 'continents-cities' ); __( 'Reunion', 'continents-cities' ); __( 'Pacific', 'continents-cities' ); __( 'Apia', 'continents-cities' ); __( 'Auckland', 'continents-cities' ); __( 'Bougainville', 'continents-cities' ); __( 'Chatham', 'continents-cities' ); __( 'Chuuk', 'continents-cities' ); __( 'Easter', 'continents-cities' ); __( 'Efate', 'continents-cities' ); __( 'Enderbury', 'continents-cities' ); __( 'Fakaofo', 'continents-cities' ); __( 'Fiji', 'continents-cities' ); __( 'Funafuti', 'continents-cities' ); __( 'Galapagos', 'continents-cities' ); __( 'Gambier', 'continents-cities' ); __( 'Guadalcanal', 'continents-cities' ); __( 'Guam', 'continents-cities' ); __( 'Honolulu', 'continents-cities' ); __( 'Johnston', 'continents-cities' ); __( 'Kanton', 'continents-cities' ); __( 'Kiritimati', 'continents-cities' ); __( 'Kosrae', 'continents-cities' ); __( 'Kwajalein', 'continents-cities' ); __( 'Majuro', 'continents-cities' ); __( 'Marquesas', 'continents-cities' ); __( 'Midway', 'continents-cities' ); __( 'Nauru', 'continents-cities' ); __( 'Niue', 'continents-cities' ); __( 'Norfolk', 'continents-cities' ); __( 'Noumea', 'continents-cities' ); __( 'Pago Pago', 'continents-cities' ); __( 'Palau', 'continents-cities' ); __( 'Pitcairn', 'continents-cities' ); __( 'Pohnpei', 'continents-cities' ); __( 'Ponape', 'continents-cities' ); __( 'Port Moresby', 'continents-cities' ); __( 'Rarotonga', 'continents-cities' ); __( 'Saipan', 'continents-cities' ); __( 'Samoa', 'continents-cities' ); __( 'Tahiti', 'continents-cities' ); __( 'Tarawa', 'continents-cities' ); __( 'Tongatapu', 'continents-cities' ); __( 'Truk', 'continents-cities' ); __( 'Wake', 'continents-cities' ); __( 'Wallis', 'continents-cities' ); __( 'Yap', 'continents-cities' ); list-table.php 0000644 00000007332 14735706075 0007340 0 ustar 00 <?php /** * Helper functions for displaying a list of items in an ajaxified HTML table. * * @package WordPress * @subpackage List_Table * @since 3.1.0 */ /** * Fetches an instance of a WP_List_Table class. * * @since 3.1.0 * * @global string $hook_suffix * * @param string $class_name The type of the list table, which is the class name. * @param array $args Optional. Arguments to pass to the class. Accepts 'screen'. * @return WP_List_Table|false List table object on success, false if the class does not exist. */ function _get_list_table( $class_name, $args = array() ) { $core_classes = array( // Site Admin. 'WP_Posts_List_Table' => 'posts', 'WP_Media_List_Table' => 'media', 'WP_Terms_List_Table' => 'terms', 'WP_Users_List_Table' => 'users', 'WP_Comments_List_Table' => 'comments', 'WP_Post_Comments_List_Table' => array( 'comments', 'post-comments' ), 'WP_Links_List_Table' => 'links', 'WP_Plugin_Install_List_Table' => 'plugin-install', 'WP_Themes_List_Table' => 'themes', 'WP_Theme_Install_List_Table' => array( 'themes', 'theme-install' ), 'WP_Plugins_List_Table' => 'plugins', 'WP_Application_Passwords_List_Table' => 'application-passwords', // Network Admin. 'WP_MS_Sites_List_Table' => 'ms-sites', 'WP_MS_Users_List_Table' => 'ms-users', 'WP_MS_Themes_List_Table' => 'ms-themes', // Privacy requests tables. 'WP_Privacy_Data_Export_Requests_List_Table' => 'privacy-data-export-requests', 'WP_Privacy_Data_Removal_Requests_List_Table' => 'privacy-data-removal-requests', ); if ( isset( $core_classes[ $class_name ] ) ) { foreach ( (array) $core_classes[ $class_name ] as $required ) { require_once ABSPATH . 'wp-admin/includes/class-wp-' . $required . '-list-table.php'; } if ( isset( $args['screen'] ) ) { $args['screen'] = convert_to_screen( $args['screen'] ); } elseif ( isset( $GLOBALS['hook_suffix'] ) ) { $args['screen'] = get_current_screen(); } else { $args['screen'] = null; } /** * Filters the list table class to instantiate. * * @since 6.1.0 * * @param string $class_name The list table class to use. * @param array $args An array containing _get_list_table() arguments. */ $custom_class_name = apply_filters( 'wp_list_table_class_name', $class_name, $args ); if ( is_string( $custom_class_name ) && class_exists( $custom_class_name ) ) { $class_name = $custom_class_name; } return new $class_name( $args ); } return false; } /** * Register column headers for a particular screen. * * @see get_column_headers(), print_column_headers(), get_hidden_columns() * * @since 2.7.0 * * @param string $screen The handle for the screen to register column headers for. This is * usually the hook name returned by the `add_*_page()` functions. * @param string[] $columns An array of columns with column IDs as the keys and translated * column names as the values. */ function register_column_headers( $screen, $columns ) { new _WP_List_Table_Compat( $screen, $columns ); } /** * Prints column headers for a particular screen. * * @since 2.7.0 * * @param string|WP_Screen $screen The screen hook name or screen object. * @param bool $with_id Whether to set the ID attribute or not. */ function print_column_headers( $screen, $with_id = true ) { $wp_list_table = new _WP_List_Table_Compat( $screen ); $wp_list_table->print_column_headers( $with_id ); } schema.php 0000644 00000123243 14735706075 0006540 0 ustar 00 <?php /** * WordPress Administration Scheme API * * Here we keep the DB structure and option values. * * @package WordPress * @subpackage Administration */ /** * Declare these as global in case schema.php is included from a function. * * @global wpdb $wpdb WordPress database abstraction object. * @global array $wp_queries * @global string $charset_collate */ global $wpdb, $wp_queries, $charset_collate; /** * The database character collate. */ $charset_collate = $wpdb->get_charset_collate(); /** * Retrieve the SQL for creating database tables. * * @since 3.3.0 * * @global wpdb $wpdb WordPress database abstraction object. * * @param string $scope Optional. The tables for which to retrieve SQL. Can be all, global, ms_global, or blog tables. Defaults to all. * @param int $blog_id Optional. The site ID for which to retrieve SQL. Default is the current site ID. * @return string The SQL needed to create the requested tables. */ function wp_get_db_schema( $scope = 'all', $blog_id = null ) { global $wpdb; $charset_collate = $wpdb->get_charset_collate(); if ( $blog_id && (int) $blog_id !== $wpdb->blogid ) { $old_blog_id = $wpdb->set_blog_id( $blog_id ); } // Engage multisite if in the middle of turning it on from network.php. $is_multisite = is_multisite() || ( defined( 'WP_INSTALLING_NETWORK' ) && WP_INSTALLING_NETWORK ); /* * Indexes have a maximum size of 767 bytes. Historically, we haven't need to be concerned about that. * As of 4.2, however, we moved to utf8mb4, which uses 4 bytes per character. This means that an index which * used to have room for floor(767/3) = 255 characters, now only has room for floor(767/4) = 191 characters. */ $max_index_length = 191; // Blog-specific tables. $blog_tables = "CREATE TABLE $wpdb->termmeta ( meta_id bigint(20) unsigned NOT NULL auto_increment, term_id bigint(20) unsigned NOT NULL default '0', meta_key varchar(255) default NULL, meta_value longtext, PRIMARY KEY (meta_id), KEY term_id (term_id), KEY meta_key (meta_key($max_index_length)) ) $charset_collate; CREATE TABLE $wpdb->terms ( term_id bigint(20) unsigned NOT NULL auto_increment, name varchar(200) NOT NULL default '', slug varchar(200) NOT NULL default '', term_group bigint(10) NOT NULL default 0, PRIMARY KEY (term_id), KEY slug (slug($max_index_length)), KEY name (name($max_index_length)) ) $charset_collate; CREATE TABLE $wpdb->term_taxonomy ( term_taxonomy_id bigint(20) unsigned NOT NULL auto_increment, term_id bigint(20) unsigned NOT NULL default 0, taxonomy varchar(32) NOT NULL default '', description longtext NOT NULL, parent bigint(20) unsigned NOT NULL default 0, count bigint(20) NOT NULL default 0, PRIMARY KEY (term_taxonomy_id), UNIQUE KEY term_id_taxonomy (term_id,taxonomy), KEY taxonomy (taxonomy) ) $charset_collate; CREATE TABLE $wpdb->term_relationships ( object_id bigint(20) unsigned NOT NULL default 0, term_taxonomy_id bigint(20) unsigned NOT NULL default 0, term_order int(11) NOT NULL default 0, PRIMARY KEY (object_id,term_taxonomy_id), KEY term_taxonomy_id (term_taxonomy_id) ) $charset_collate; CREATE TABLE $wpdb->commentmeta ( meta_id bigint(20) unsigned NOT NULL auto_increment, comment_id bigint(20) unsigned NOT NULL default '0', meta_key varchar(255) default NULL, meta_value longtext, PRIMARY KEY (meta_id), KEY comment_id (comment_id), KEY meta_key (meta_key($max_index_length)) ) $charset_collate; CREATE TABLE $wpdb->comments ( comment_ID bigint(20) unsigned NOT NULL auto_increment, comment_post_ID bigint(20) unsigned NOT NULL default '0', comment_author tinytext NOT NULL, comment_author_email varchar(100) NOT NULL default '', comment_author_url varchar(200) NOT NULL default '', comment_author_IP varchar(100) NOT NULL default '', comment_date datetime NOT NULL default '0000-00-00 00:00:00', comment_date_gmt datetime NOT NULL default '0000-00-00 00:00:00', comment_content text NOT NULL, comment_karma int(11) NOT NULL default '0', comment_approved varchar(20) NOT NULL default '1', comment_agent varchar(255) NOT NULL default '', comment_type varchar(20) NOT NULL default 'comment', comment_parent bigint(20) unsigned NOT NULL default '0', user_id bigint(20) unsigned NOT NULL default '0', PRIMARY KEY (comment_ID), KEY comment_post_ID (comment_post_ID), KEY comment_approved_date_gmt (comment_approved,comment_date_gmt), KEY comment_date_gmt (comment_date_gmt), KEY comment_parent (comment_parent), KEY comment_author_email (comment_author_email(10)) ) $charset_collate; CREATE TABLE $wpdb->links ( link_id bigint(20) unsigned NOT NULL auto_increment, link_url varchar(255) NOT NULL default '', link_name varchar(255) NOT NULL default '', link_image varchar(255) NOT NULL default '', link_target varchar(25) NOT NULL default '', link_description varchar(255) NOT NULL default '', link_visible varchar(20) NOT NULL default 'Y', link_owner bigint(20) unsigned NOT NULL default '1', link_rating int(11) NOT NULL default '0', link_updated datetime NOT NULL default '0000-00-00 00:00:00', link_rel varchar(255) NOT NULL default '', link_notes mediumtext NOT NULL, link_rss varchar(255) NOT NULL default '', PRIMARY KEY (link_id), KEY link_visible (link_visible) ) $charset_collate; CREATE TABLE $wpdb->options ( option_id bigint(20) unsigned NOT NULL auto_increment, option_name varchar(191) NOT NULL default '', option_value longtext NOT NULL, autoload varchar(20) NOT NULL default 'yes', PRIMARY KEY (option_id), UNIQUE KEY option_name (option_name), KEY autoload (autoload) ) $charset_collate; CREATE TABLE $wpdb->postmeta ( meta_id bigint(20) unsigned NOT NULL auto_increment, post_id bigint(20) unsigned NOT NULL default '0', meta_key varchar(255) default NULL, meta_value longtext, PRIMARY KEY (meta_id), KEY post_id (post_id), KEY meta_key (meta_key($max_index_length)) ) $charset_collate; CREATE TABLE $wpdb->posts ( ID bigint(20) unsigned NOT NULL auto_increment, post_author bigint(20) unsigned NOT NULL default '0', post_date datetime NOT NULL default '0000-00-00 00:00:00', post_date_gmt datetime NOT NULL default '0000-00-00 00:00:00', post_content longtext NOT NULL, post_title text NOT NULL, post_excerpt text NOT NULL, post_status varchar(20) NOT NULL default 'publish', comment_status varchar(20) NOT NULL default 'open', ping_status varchar(20) NOT NULL default 'open', post_password varchar(255) NOT NULL default '', post_name varchar(200) NOT NULL default '', to_ping text NOT NULL, pinged text NOT NULL, post_modified datetime NOT NULL default '0000-00-00 00:00:00', post_modified_gmt datetime NOT NULL default '0000-00-00 00:00:00', post_content_filtered longtext NOT NULL, post_parent bigint(20) unsigned NOT NULL default '0', guid varchar(255) NOT NULL default '', menu_order int(11) NOT NULL default '0', post_type varchar(20) NOT NULL default 'post', post_mime_type varchar(100) NOT NULL default '', comment_count bigint(20) NOT NULL default '0', PRIMARY KEY (ID), KEY post_name (post_name($max_index_length)), KEY type_status_date (post_type,post_status,post_date,ID), KEY post_parent (post_parent), KEY post_author (post_author) ) $charset_collate;\n"; // Single site users table. The multisite flavor of the users table is handled below. $users_single_table = "CREATE TABLE $wpdb->users ( ID bigint(20) unsigned NOT NULL auto_increment, user_login varchar(60) NOT NULL default '', user_pass varchar(255) NOT NULL default '', user_nicename varchar(50) NOT NULL default '', user_email varchar(100) NOT NULL default '', user_url varchar(100) NOT NULL default '', user_registered datetime NOT NULL default '0000-00-00 00:00:00', user_activation_key varchar(255) NOT NULL default '', user_status int(11) NOT NULL default '0', display_name varchar(250) NOT NULL default '', PRIMARY KEY (ID), KEY user_login_key (user_login), KEY user_nicename (user_nicename), KEY user_email (user_email) ) $charset_collate;\n"; // Multisite users table. $users_multi_table = "CREATE TABLE $wpdb->users ( ID bigint(20) unsigned NOT NULL auto_increment, user_login varchar(60) NOT NULL default '', user_pass varchar(255) NOT NULL default '', user_nicename varchar(50) NOT NULL default '', user_email varchar(100) NOT NULL default '', user_url varchar(100) NOT NULL default '', user_registered datetime NOT NULL default '0000-00-00 00:00:00', user_activation_key varchar(255) NOT NULL default '', user_status int(11) NOT NULL default '0', display_name varchar(250) NOT NULL default '', spam tinyint(2) NOT NULL default '0', deleted tinyint(2) NOT NULL default '0', PRIMARY KEY (ID), KEY user_login_key (user_login), KEY user_nicename (user_nicename), KEY user_email (user_email) ) $charset_collate;\n"; // Usermeta. $usermeta_table = "CREATE TABLE $wpdb->usermeta ( umeta_id bigint(20) unsigned NOT NULL auto_increment, user_id bigint(20) unsigned NOT NULL default '0', meta_key varchar(255) default NULL, meta_value longtext, PRIMARY KEY (umeta_id), KEY user_id (user_id), KEY meta_key (meta_key($max_index_length)) ) $charset_collate;\n"; // Global tables. if ( $is_multisite ) { $global_tables = $users_multi_table . $usermeta_table; } else { $global_tables = $users_single_table . $usermeta_table; } // Multisite global tables. $ms_global_tables = "CREATE TABLE $wpdb->blogs ( blog_id bigint(20) NOT NULL auto_increment, site_id bigint(20) NOT NULL default '0', domain varchar(200) NOT NULL default '', path varchar(100) NOT NULL default '', registered datetime NOT NULL default '0000-00-00 00:00:00', last_updated datetime NOT NULL default '0000-00-00 00:00:00', public tinyint(2) NOT NULL default '1', archived tinyint(2) NOT NULL default '0', mature tinyint(2) NOT NULL default '0', spam tinyint(2) NOT NULL default '0', deleted tinyint(2) NOT NULL default '0', lang_id int(11) NOT NULL default '0', PRIMARY KEY (blog_id), KEY domain (domain(50),path(5)), KEY lang_id (lang_id) ) $charset_collate; CREATE TABLE $wpdb->blogmeta ( meta_id bigint(20) unsigned NOT NULL auto_increment, blog_id bigint(20) NOT NULL default '0', meta_key varchar(255) default NULL, meta_value longtext, PRIMARY KEY (meta_id), KEY meta_key (meta_key($max_index_length)), KEY blog_id (blog_id) ) $charset_collate; CREATE TABLE $wpdb->registration_log ( ID bigint(20) NOT NULL auto_increment, email varchar(255) NOT NULL default '', IP varchar(30) NOT NULL default '', blog_id bigint(20) NOT NULL default '0', date_registered datetime NOT NULL default '0000-00-00 00:00:00', PRIMARY KEY (ID), KEY IP (IP) ) $charset_collate; CREATE TABLE $wpdb->site ( id bigint(20) NOT NULL auto_increment, domain varchar(200) NOT NULL default '', path varchar(100) NOT NULL default '', PRIMARY KEY (id), KEY domain (domain(140),path(51)) ) $charset_collate; CREATE TABLE $wpdb->sitemeta ( meta_id bigint(20) NOT NULL auto_increment, site_id bigint(20) NOT NULL default '0', meta_key varchar(255) default NULL, meta_value longtext, PRIMARY KEY (meta_id), KEY meta_key (meta_key($max_index_length)), KEY site_id (site_id) ) $charset_collate; CREATE TABLE $wpdb->signups ( signup_id bigint(20) NOT NULL auto_increment, domain varchar(200) NOT NULL default '', path varchar(100) NOT NULL default '', title longtext NOT NULL, user_login varchar(60) NOT NULL default '', user_email varchar(100) NOT NULL default '', registered datetime NOT NULL default '0000-00-00 00:00:00', activated datetime NOT NULL default '0000-00-00 00:00:00', active tinyint(1) NOT NULL default '0', activation_key varchar(50) NOT NULL default '', meta longtext, PRIMARY KEY (signup_id), KEY activation_key (activation_key), KEY user_email (user_email), KEY user_login_email (user_login,user_email), KEY domain_path (domain(140),path(51)) ) $charset_collate;"; switch ( $scope ) { case 'blog': $queries = $blog_tables; break; case 'global': $queries = $global_tables; if ( $is_multisite ) { $queries .= $ms_global_tables; } break; case 'ms_global': $queries = $ms_global_tables; break; case 'all': default: $queries = $global_tables . $blog_tables; if ( $is_multisite ) { $queries .= $ms_global_tables; } break; } if ( isset( $old_blog_id ) ) { $wpdb->set_blog_id( $old_blog_id ); } return $queries; } // Populate for back compat. $wp_queries = wp_get_db_schema( 'all' ); /** * Create WordPress options and set the default values. * * @since 1.5.0 * @since 5.1.0 The $options parameter has been added. * * @global wpdb $wpdb WordPress database abstraction object. * @global int $wp_db_version WordPress database version. * @global int $wp_current_db_version The old (current) database version. * * @param array $options Optional. Custom option $key => $value pairs to use. Default empty array. */ function populate_options( array $options = array() ) { global $wpdb, $wp_db_version, $wp_current_db_version; $guessurl = wp_guess_url(); /** * Fires before creating WordPress options and populating their default values. * * @since 2.6.0 */ do_action( 'populate_options' ); // If WP_DEFAULT_THEME doesn't exist, fall back to the latest core default theme. $stylesheet = WP_DEFAULT_THEME; $template = WP_DEFAULT_THEME; $theme = wp_get_theme( WP_DEFAULT_THEME ); if ( ! $theme->exists() ) { $theme = WP_Theme::get_core_default_theme(); } // If we can't find a core default theme, WP_DEFAULT_THEME is the best we can do. if ( $theme ) { $stylesheet = $theme->get_stylesheet(); $template = $theme->get_template(); } $timezone_string = ''; $gmt_offset = 0; /* * translators: default GMT offset or timezone string. Must be either a valid offset (-12 to 14) * or a valid timezone string (America/New_York). See https://www.php.net/manual/en/timezones.php * for all timezone strings currently supported by PHP. * * Important: When a previous timezone string, like `Europe/Kiev`, has been superseded by an * updated one, like `Europe/Kyiv`, as a rule of thumb, the **old** timezone name should be used * in the "translation" to allow for the default timezone setting to be PHP cross-version compatible, * as old timezone names will be recognized in new PHP versions, while new timezone names cannot * be recognized in old PHP versions. * * To verify which timezone strings are available in the _oldest_ PHP version supported, you can * use https://3v4l.org/6YQAt#v5.6.20 and replace the "BR" (Brazil) in the code line with the * country code for which you want to look up the supported timezone names. */ $offset_or_tz = _x( '0', 'default GMT offset or timezone string' ); if ( is_numeric( $offset_or_tz ) ) { $gmt_offset = $offset_or_tz; } elseif ( $offset_or_tz && in_array( $offset_or_tz, timezone_identifiers_list( DateTimeZone::ALL_WITH_BC ), true ) ) { $timezone_string = $offset_or_tz; } $defaults = array( 'siteurl' => $guessurl, 'home' => $guessurl, 'blogname' => __( 'My Site' ), 'blogdescription' => '', 'users_can_register' => 0, 'admin_email' => 'you@example.com', /* translators: Default start of the week. 0 = Sunday, 1 = Monday. */ 'start_of_week' => _x( '1', 'start of week' ), 'use_balanceTags' => 0, 'use_smilies' => 1, 'require_name_email' => 1, 'comments_notify' => 1, 'posts_per_rss' => 10, 'rss_use_excerpt' => 0, 'mailserver_url' => 'mail.example.com', 'mailserver_login' => 'login@example.com', 'mailserver_pass' => '', 'mailserver_port' => 110, 'default_category' => 1, 'default_comment_status' => 'open', 'default_ping_status' => 'open', 'default_pingback_flag' => 1, 'posts_per_page' => 10, /* translators: Default date format, see https://www.php.net/manual/datetime.format.php */ 'date_format' => __( 'F j, Y' ), /* translators: Default time format, see https://www.php.net/manual/datetime.format.php */ 'time_format' => __( 'g:i a' ), /* translators: Links last updated date format, see https://www.php.net/manual/datetime.format.php */ 'links_updated_date_format' => __( 'F j, Y g:i a' ), 'comment_moderation' => 0, 'moderation_notify' => 1, 'permalink_structure' => '', 'rewrite_rules' => '', 'hack_file' => 0, 'blog_charset' => 'UTF-8', 'moderation_keys' => '', 'active_plugins' => array(), 'category_base' => '', 'ping_sites' => 'http://rpc.pingomatic.com/', 'comment_max_links' => 2, 'gmt_offset' => $gmt_offset, // 1.5.0 'default_email_category' => 1, 'recently_edited' => '', 'template' => $template, 'stylesheet' => $stylesheet, 'comment_registration' => 0, 'html_type' => 'text/html', // 1.5.1 'use_trackback' => 0, // 2.0.0 'default_role' => 'subscriber', 'db_version' => $wp_db_version, // 2.0.1 'uploads_use_yearmonth_folders' => 1, 'upload_path' => '', // 2.1.0 'blog_public' => '1', 'default_link_category' => 2, 'show_on_front' => 'posts', // 2.2.0 'tag_base' => '', // 2.5.0 'show_avatars' => '1', 'avatar_rating' => 'G', 'upload_url_path' => '', 'thumbnail_size_w' => 150, 'thumbnail_size_h' => 150, 'thumbnail_crop' => 1, 'medium_size_w' => 300, 'medium_size_h' => 300, // 2.6.0 'avatar_default' => 'mystery', // 2.7.0 'large_size_w' => 1024, 'large_size_h' => 1024, 'image_default_link_type' => 'none', 'image_default_size' => '', 'image_default_align' => '', 'close_comments_for_old_posts' => 0, 'close_comments_days_old' => 14, 'thread_comments' => 1, 'thread_comments_depth' => 5, 'page_comments' => 0, 'comments_per_page' => 50, 'default_comments_page' => 'newest', 'comment_order' => 'asc', 'sticky_posts' => array(), 'widget_categories' => array(), 'widget_text' => array(), 'widget_rss' => array(), 'uninstall_plugins' => array(), // 2.8.0 'timezone_string' => $timezone_string, // 3.0.0 'page_for_posts' => 0, 'page_on_front' => 0, // 3.1.0 'default_post_format' => 0, // 3.5.0 'link_manager_enabled' => 0, // 4.3.0 'finished_splitting_shared_terms' => 1, 'site_icon' => 0, // 4.4.0 'medium_large_size_w' => 768, 'medium_large_size_h' => 0, // 4.9.6 'wp_page_for_privacy_policy' => 0, // 4.9.8 'show_comments_cookies_opt_in' => 1, // 5.3.0 'admin_email_lifespan' => ( time() + 6 * MONTH_IN_SECONDS ), // 5.5.0 'disallowed_keys' => '', 'comment_previously_approved' => 1, 'auto_plugin_theme_update_emails' => array(), // 5.6.0 'auto_update_core_dev' => 'enabled', 'auto_update_core_minor' => 'enabled', /* * Default to enabled for new installs. * See https://core.trac.wordpress.org/ticket/51742. */ 'auto_update_core_major' => 'enabled', // 5.8.0 'wp_force_deactivated_plugins' => array(), // 6.4.0 'wp_attachment_pages_enabled' => 0, ); // 3.3.0 if ( ! is_multisite() ) { $defaults['initial_db_version'] = ! empty( $wp_current_db_version ) && $wp_current_db_version < $wp_db_version ? $wp_current_db_version : $wp_db_version; } // 3.0.0 multisite. if ( is_multisite() ) { $defaults['permalink_structure'] = '/%year%/%monthnum%/%day%/%postname%/'; } $options = wp_parse_args( $options, $defaults ); // Set autoload to no for these options. $fat_options = array( 'moderation_keys', 'recently_edited', 'disallowed_keys', 'uninstall_plugins', 'auto_plugin_theme_update_emails', ); $keys = "'" . implode( "', '", array_keys( $options ) ) . "'"; $existing_options = $wpdb->get_col( "SELECT option_name FROM $wpdb->options WHERE option_name in ( $keys )" ); // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared $insert = ''; foreach ( $options as $option => $value ) { if ( in_array( $option, $existing_options, true ) ) { continue; } if ( in_array( $option, $fat_options, true ) ) { $autoload = 'off'; } else { $autoload = 'on'; } if ( ! empty( $insert ) ) { $insert .= ', '; } $value = maybe_serialize( sanitize_option( $option, $value ) ); $insert .= $wpdb->prepare( '(%s, %s, %s)', $option, $value, $autoload ); } if ( ! empty( $insert ) ) { $wpdb->query( "INSERT INTO $wpdb->options (option_name, option_value, autoload) VALUES " . $insert ); // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared } // In case it is set, but blank, update "home". if ( ! __get_option( 'home' ) ) { update_option( 'home', $guessurl ); } // Delete unused options. $unusedoptions = array( 'blodotgsping_url', 'bodyterminator', 'emailtestonly', 'phoneemail_separator', 'smilies_directory', 'subjectprefix', 'use_bbcode', 'use_blodotgsping', 'use_phoneemail', 'use_quicktags', 'use_weblogsping', 'weblogs_cache_file', 'use_preview', 'use_htmltrans', 'smilies_directory', 'fileupload_allowedusers', 'use_phoneemail', 'default_post_status', 'default_post_category', 'archive_mode', 'time_difference', 'links_minadminlevel', 'links_use_adminlevels', 'links_rating_type', 'links_rating_char', 'links_rating_ignore_zero', 'links_rating_single_image', 'links_rating_image0', 'links_rating_image1', 'links_rating_image2', 'links_rating_image3', 'links_rating_image4', 'links_rating_image5', 'links_rating_image6', 'links_rating_image7', 'links_rating_image8', 'links_rating_image9', 'links_recently_updated_time', 'links_recently_updated_prepend', 'links_recently_updated_append', 'weblogs_cacheminutes', 'comment_allowed_tags', 'search_engine_friendly_urls', 'default_geourl_lat', 'default_geourl_lon', 'use_default_geourl', 'weblogs_xml_url', 'new_users_can_blog', '_wpnonce', '_wp_http_referer', 'Update', 'action', 'rich_editing', 'autosave_interval', 'deactivated_plugins', 'can_compress_scripts', 'page_uris', 'update_core', 'update_plugins', 'update_themes', 'doing_cron', 'random_seed', 'rss_excerpt_length', 'secret', 'use_linksupdate', 'default_comment_status_page', 'wporg_popular_tags', 'what_to_show', 'rss_language', 'language', 'enable_xmlrpc', 'enable_app', 'embed_autourls', 'default_post_edit_rows', 'gzipcompression', 'advanced_edit', ); foreach ( $unusedoptions as $option ) { delete_option( $option ); } // Delete obsolete magpie stuff. $wpdb->query( "DELETE FROM $wpdb->options WHERE option_name REGEXP '^rss_[0-9a-f]{32}(_ts)?$'" ); // Clear expired transients. delete_expired_transients( true ); } /** * Execute WordPress role creation for the various WordPress versions. * * @since 2.0.0 */ function populate_roles() { populate_roles_160(); populate_roles_210(); populate_roles_230(); populate_roles_250(); populate_roles_260(); populate_roles_270(); populate_roles_280(); populate_roles_300(); } /** * Create the roles for WordPress 2.0 * * @since 2.0.0 */ function populate_roles_160() { // Add roles. add_role( 'administrator', 'Administrator' ); add_role( 'editor', 'Editor' ); add_role( 'author', 'Author' ); add_role( 'contributor', 'Contributor' ); add_role( 'subscriber', 'Subscriber' ); // Add caps for Administrator role. $role = get_role( 'administrator' ); $role->add_cap( 'switch_themes' ); $role->add_cap( 'edit_themes' ); $role->add_cap( 'activate_plugins' ); $role->add_cap( 'edit_plugins' ); $role->add_cap( 'edit_users' ); $role->add_cap( 'edit_files' ); $role->add_cap( 'manage_options' ); $role->add_cap( 'moderate_comments' ); $role->add_cap( 'manage_categories' ); $role->add_cap( 'manage_links' ); $role->add_cap( 'upload_files' ); $role->add_cap( 'import' ); $role->add_cap( 'unfiltered_html' ); $role->add_cap( 'edit_posts' ); $role->add_cap( 'edit_others_posts' ); $role->add_cap( 'edit_published_posts' ); $role->add_cap( 'publish_posts' ); $role->add_cap( 'edit_pages' ); $role->add_cap( 'read' ); $role->add_cap( 'level_10' ); $role->add_cap( 'level_9' ); $role->add_cap( 'level_8' ); $role->add_cap( 'level_7' ); $role->add_cap( 'level_6' ); $role->add_cap( 'level_5' ); $role->add_cap( 'level_4' ); $role->add_cap( 'level_3' ); $role->add_cap( 'level_2' ); $role->add_cap( 'level_1' ); $role->add_cap( 'level_0' ); // Add caps for Editor role. $role = get_role( 'editor' ); $role->add_cap( 'moderate_comments' ); $role->add_cap( 'manage_categories' ); $role->add_cap( 'manage_links' ); $role->add_cap( 'upload_files' ); $role->add_cap( 'unfiltered_html' ); $role->add_cap( 'edit_posts' ); $role->add_cap( 'edit_others_posts' ); $role->add_cap( 'edit_published_posts' ); $role->add_cap( 'publish_posts' ); $role->add_cap( 'edit_pages' ); $role->add_cap( 'read' ); $role->add_cap( 'level_7' ); $role->add_cap( 'level_6' ); $role->add_cap( 'level_5' ); $role->add_cap( 'level_4' ); $role->add_cap( 'level_3' ); $role->add_cap( 'level_2' ); $role->add_cap( 'level_1' ); $role->add_cap( 'level_0' ); // Add caps for Author role. $role = get_role( 'author' ); $role->add_cap( 'upload_files' ); $role->add_cap( 'edit_posts' ); $role->add_cap( 'edit_published_posts' ); $role->add_cap( 'publish_posts' ); $role->add_cap( 'read' ); $role->add_cap( 'level_2' ); $role->add_cap( 'level_1' ); $role->add_cap( 'level_0' ); // Add caps for Contributor role. $role = get_role( 'contributor' ); $role->add_cap( 'edit_posts' ); $role->add_cap( 'read' ); $role->add_cap( 'level_1' ); $role->add_cap( 'level_0' ); // Add caps for Subscriber role. $role = get_role( 'subscriber' ); $role->add_cap( 'read' ); $role->add_cap( 'level_0' ); } /** * Create and modify WordPress roles for WordPress 2.1. * * @since 2.1.0 */ function populate_roles_210() { $roles = array( 'administrator', 'editor' ); foreach ( $roles as $role ) { $role = get_role( $role ); if ( empty( $role ) ) { continue; } $role->add_cap( 'edit_others_pages' ); $role->add_cap( 'edit_published_pages' ); $role->add_cap( 'publish_pages' ); $role->add_cap( 'delete_pages' ); $role->add_cap( 'delete_others_pages' ); $role->add_cap( 'delete_published_pages' ); $role->add_cap( 'delete_posts' ); $role->add_cap( 'delete_others_posts' ); $role->add_cap( 'delete_published_posts' ); $role->add_cap( 'delete_private_posts' ); $role->add_cap( 'edit_private_posts' ); $role->add_cap( 'read_private_posts' ); $role->add_cap( 'delete_private_pages' ); $role->add_cap( 'edit_private_pages' ); $role->add_cap( 'read_private_pages' ); } $role = get_role( 'administrator' ); if ( ! empty( $role ) ) { $role->add_cap( 'delete_users' ); $role->add_cap( 'create_users' ); } $role = get_role( 'author' ); if ( ! empty( $role ) ) { $role->add_cap( 'delete_posts' ); $role->add_cap( 'delete_published_posts' ); } $role = get_role( 'contributor' ); if ( ! empty( $role ) ) { $role->add_cap( 'delete_posts' ); } } /** * Create and modify WordPress roles for WordPress 2.3. * * @since 2.3.0 */ function populate_roles_230() { $role = get_role( 'administrator' ); if ( ! empty( $role ) ) { $role->add_cap( 'unfiltered_upload' ); } } /** * Create and modify WordPress roles for WordPress 2.5. * * @since 2.5.0 */ function populate_roles_250() { $role = get_role( 'administrator' ); if ( ! empty( $role ) ) { $role->add_cap( 'edit_dashboard' ); } } /** * Create and modify WordPress roles for WordPress 2.6. * * @since 2.6.0 */ function populate_roles_260() { $role = get_role( 'administrator' ); if ( ! empty( $role ) ) { $role->add_cap( 'update_plugins' ); $role->add_cap( 'delete_plugins' ); } } /** * Create and modify WordPress roles for WordPress 2.7. * * @since 2.7.0 */ function populate_roles_270() { $role = get_role( 'administrator' ); if ( ! empty( $role ) ) { $role->add_cap( 'install_plugins' ); $role->add_cap( 'update_themes' ); } } /** * Create and modify WordPress roles for WordPress 2.8. * * @since 2.8.0 */ function populate_roles_280() { $role = get_role( 'administrator' ); if ( ! empty( $role ) ) { $role->add_cap( 'install_themes' ); } } /** * Create and modify WordPress roles for WordPress 3.0. * * @since 3.0.0 */ function populate_roles_300() { $role = get_role( 'administrator' ); if ( ! empty( $role ) ) { $role->add_cap( 'update_core' ); $role->add_cap( 'list_users' ); $role->add_cap( 'remove_users' ); $role->add_cap( 'promote_users' ); $role->add_cap( 'edit_theme_options' ); $role->add_cap( 'delete_themes' ); $role->add_cap( 'export' ); } } if ( ! function_exists( 'install_network' ) ) : /** * Install Network. * * @since 3.0.0 */ function install_network() { if ( ! defined( 'WP_INSTALLING_NETWORK' ) ) { define( 'WP_INSTALLING_NETWORK', true ); } dbDelta( wp_get_db_schema( 'global' ) ); } endif; /** * Populate network settings. * * @since 3.0.0 * * @global wpdb $wpdb WordPress database abstraction object. * @global object $current_site * @global WP_Rewrite $wp_rewrite WordPress rewrite component. * * @param int $network_id ID of network to populate. * @param string $domain The domain name for the network. Example: "example.com". * @param string $email Email address for the network administrator. * @param string $site_name The name of the network. * @param string $path Optional. The path to append to the network's domain name. Default '/'. * @param bool $subdomain_install Optional. Whether the network is a subdomain installation or a subdirectory installation. * Default false, meaning the network is a subdirectory installation. * @return true|WP_Error True on success, or WP_Error on warning (with the installation otherwise successful, * so the error code must be checked) or failure. */ function populate_network( $network_id = 1, $domain = '', $email = '', $site_name = '', $path = '/', $subdomain_install = false ) { global $wpdb, $current_site, $wp_rewrite; $network_id = (int) $network_id; $errors = new WP_Error(); if ( '' === $domain ) { $errors->add( 'empty_domain', __( 'You must provide a domain name.' ) ); } if ( '' === $site_name ) { $errors->add( 'empty_sitename', __( 'You must provide a name for your network of sites.' ) ); } // Check for network collision. $network_exists = false; if ( is_multisite() ) { if ( get_network( $network_id ) ) { $errors->add( 'siteid_exists', __( 'The network already exists.' ) ); } } else { if ( $network_id === (int) $wpdb->get_var( $wpdb->prepare( "SELECT id FROM $wpdb->site WHERE id = %d", $network_id ) ) ) { $errors->add( 'siteid_exists', __( 'The network already exists.' ) ); } } if ( ! is_email( $email ) ) { $errors->add( 'invalid_email', __( 'You must provide a valid email address.' ) ); } if ( $errors->has_errors() ) { return $errors; } if ( 1 === $network_id ) { $wpdb->insert( $wpdb->site, array( 'domain' => $domain, 'path' => $path, ) ); $network_id = $wpdb->insert_id; } else { $wpdb->insert( $wpdb->site, array( 'domain' => $domain, 'path' => $path, 'id' => $network_id, ) ); } populate_network_meta( $network_id, array( 'admin_email' => $email, 'site_name' => $site_name, 'subdomain_install' => $subdomain_install, ) ); /* * When upgrading from single to multisite, assume the current site will * become the main site of the network. When using populate_network() * to create another network in an existing multisite environment, skip * these steps since the main site of the new network has not yet been * created. */ if ( ! is_multisite() ) { $current_site = new stdClass(); $current_site->domain = $domain; $current_site->path = $path; $current_site->site_name = ucfirst( $domain ); $wpdb->insert( $wpdb->blogs, array( 'site_id' => $network_id, 'blog_id' => 1, 'domain' => $domain, 'path' => $path, 'registered' => current_time( 'mysql' ), ) ); $current_site->blog_id = $wpdb->insert_id; $site_user_id = (int) $wpdb->get_var( $wpdb->prepare( "SELECT meta_value FROM $wpdb->sitemeta WHERE meta_key = %s AND site_id = %d", 'admin_user_id', $network_id ) ); update_user_meta( $site_user_id, 'source_domain', $domain ); update_user_meta( $site_user_id, 'primary_blog', $current_site->blog_id ); // Unable to use update_network_option() while populating the network. $wpdb->insert( $wpdb->sitemeta, array( 'site_id' => $network_id, 'meta_key' => 'main_site', 'meta_value' => $current_site->blog_id, ) ); if ( $subdomain_install ) { $wp_rewrite->set_permalink_structure( '/%year%/%monthnum%/%day%/%postname%/' ); } else { $wp_rewrite->set_permalink_structure( '/blog/%year%/%monthnum%/%day%/%postname%/' ); } flush_rewrite_rules(); if ( ! $subdomain_install ) { return true; } $vhost_ok = false; $errstr = ''; $hostname = substr( md5( time() ), 0, 6 ) . '.' . $domain; // Very random hostname! $page = wp_remote_get( 'http://' . $hostname, array( 'timeout' => 5, 'httpversion' => '1.1', ) ); if ( is_wp_error( $page ) ) { $errstr = $page->get_error_message(); } elseif ( 200 === wp_remote_retrieve_response_code( $page ) ) { $vhost_ok = true; } if ( ! $vhost_ok ) { $msg = '<p><strong>' . __( 'Warning! Wildcard DNS may not be configured correctly!' ) . '</strong></p>'; $msg .= '<p>' . sprintf( /* translators: %s: Host name. */ __( 'The installer attempted to contact a random hostname (%s) on your domain.' ), '<code>' . $hostname . '</code>' ); if ( ! empty( $errstr ) ) { /* translators: %s: Error message. */ $msg .= ' ' . sprintf( __( 'This resulted in an error message: %s' ), '<code>' . $errstr . '</code>' ); } $msg .= '</p>'; $msg .= '<p>' . sprintf( /* translators: %s: Asterisk symbol (*). */ __( 'To use a subdomain configuration, you must have a wildcard entry in your DNS. This usually means adding a %s hostname record pointing at your web server in your DNS configuration tool.' ), '<code>*</code>' ) . '</p>'; $msg .= '<p>' . __( 'You can still use your site but any subdomain you create may not be accessible. If you know your DNS is correct, ignore this message.' ) . '</p>'; return new WP_Error( 'no_wildcard_dns', $msg ); } } return true; } /** * Creates WordPress network meta and sets the default values. * * @since 5.1.0 * * @global wpdb $wpdb WordPress database abstraction object. * @global int $wp_db_version WordPress database version. * * @param int $network_id Network ID to populate meta for. * @param array $meta Optional. Custom meta $key => $value pairs to use. Default empty array. */ function populate_network_meta( $network_id, array $meta = array() ) { global $wpdb, $wp_db_version; $network_id = (int) $network_id; $email = ! empty( $meta['admin_email'] ) ? $meta['admin_email'] : ''; $subdomain_install = isset( $meta['subdomain_install'] ) ? (int) $meta['subdomain_install'] : 0; // If a user with the provided email does not exist, default to the current user as the new network admin. $site_user = ! empty( $email ) ? get_user_by( 'email', $email ) : false; if ( false === $site_user ) { $site_user = wp_get_current_user(); } if ( empty( $email ) ) { $email = $site_user->user_email; } $template = get_option( 'template' ); $stylesheet = get_option( 'stylesheet' ); $allowed_themes = array( $stylesheet => true ); if ( $template !== $stylesheet ) { $allowed_themes[ $template ] = true; } if ( WP_DEFAULT_THEME !== $stylesheet && WP_DEFAULT_THEME !== $template ) { $allowed_themes[ WP_DEFAULT_THEME ] = true; } // If WP_DEFAULT_THEME doesn't exist, also include the latest core default theme. if ( ! wp_get_theme( WP_DEFAULT_THEME )->exists() ) { $core_default = WP_Theme::get_core_default_theme(); if ( $core_default ) { $allowed_themes[ $core_default->get_stylesheet() ] = true; } } if ( function_exists( 'clean_network_cache' ) ) { clean_network_cache( $network_id ); } else { wp_cache_delete( $network_id, 'networks' ); } if ( ! is_multisite() ) { $site_admins = array( $site_user->user_login ); $users = get_users( array( 'fields' => array( 'user_login' ), 'role' => 'administrator', ) ); if ( $users ) { foreach ( $users as $user ) { $site_admins[] = $user->user_login; } $site_admins = array_unique( $site_admins ); } } else { $site_admins = get_site_option( 'site_admins' ); } /* translators: Do not translate USERNAME, SITE_NAME, BLOG_URL, PASSWORD: those are placeholders. */ $welcome_email = __( 'Howdy USERNAME, Your new SITE_NAME site has been successfully set up at: BLOG_URL You can log in to the administrator account with the following information: Username: USERNAME Password: PASSWORD Log in here: BLOG_URLwp-login.php We hope you enjoy your new site. Thanks! --The Team @ SITE_NAME' ); $allowed_file_types = array(); $all_mime_types = get_allowed_mime_types(); foreach ( $all_mime_types as $ext => $mime ) { array_push( $allowed_file_types, ...explode( '|', $ext ) ); } $upload_filetypes = array_unique( $allowed_file_types ); $sitemeta = array( 'site_name' => __( 'My Network' ), 'admin_email' => $email, 'admin_user_id' => $site_user->ID, 'registration' => 'none', 'upload_filetypes' => implode( ' ', $upload_filetypes ), 'blog_upload_space' => 100, 'fileupload_maxk' => 1500, 'site_admins' => $site_admins, 'allowedthemes' => $allowed_themes, 'illegal_names' => array( 'www', 'web', 'root', 'admin', 'main', 'invite', 'administrator', 'files' ), 'wpmu_upgrade_site' => $wp_db_version, 'welcome_email' => $welcome_email, /* translators: %s: Site link. */ 'first_post' => __( 'Welcome to %s. This is your first post. Edit or delete it, then start writing!' ), // @todo - Network admins should have a method of editing the network siteurl (used for cookie hash). 'siteurl' => get_option( 'siteurl' ) . '/', 'add_new_users' => '0', 'upload_space_check_disabled' => is_multisite() ? get_site_option( 'upload_space_check_disabled' ) : '1', 'subdomain_install' => $subdomain_install, 'ms_files_rewriting' => is_multisite() ? get_site_option( 'ms_files_rewriting' ) : '0', 'user_count' => get_site_option( 'user_count' ), 'initial_db_version' => get_option( 'initial_db_version' ), 'active_sitewide_plugins' => array(), 'WPLANG' => get_locale(), ); if ( ! $subdomain_install ) { $sitemeta['illegal_names'][] = 'blog'; } $sitemeta = wp_parse_args( $meta, $sitemeta ); /** * Filters meta for a network on creation. * * @since 3.7.0 * * @param array $sitemeta Associative array of network meta keys and values to be inserted. * @param int $network_id ID of network to populate. */ $sitemeta = apply_filters( 'populate_network_meta', $sitemeta, $network_id ); $insert = ''; foreach ( $sitemeta as $meta_key => $meta_value ) { if ( is_array( $meta_value ) ) { $meta_value = serialize( $meta_value ); } if ( ! empty( $insert ) ) { $insert .= ', '; } $insert .= $wpdb->prepare( '( %d, %s, %s)', $network_id, $meta_key, $meta_value ); } $wpdb->query( "INSERT INTO $wpdb->sitemeta ( site_id, meta_key, meta_value ) VALUES " . $insert ); // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared } /** * Creates WordPress site meta and sets the default values. * * @since 5.1.0 * * @global wpdb $wpdb WordPress database abstraction object. * * @param int $site_id Site ID to populate meta for. * @param array $meta Optional. Custom meta $key => $value pairs to use. Default empty array. */ function populate_site_meta( $site_id, array $meta = array() ) { global $wpdb; $site_id = (int) $site_id; if ( ! is_site_meta_supported() ) { return; } if ( empty( $meta ) ) { return; } /** * Filters meta for a site on creation. * * @since 5.2.0 * * @param array $meta Associative array of site meta keys and values to be inserted. * @param int $site_id ID of site to populate. */ $site_meta = apply_filters( 'populate_site_meta', $meta, $site_id ); $insert = ''; foreach ( $site_meta as $meta_key => $meta_value ) { if ( is_array( $meta_value ) ) { $meta_value = serialize( $meta_value ); } if ( ! empty( $insert ) ) { $insert .= ', '; } $insert .= $wpdb->prepare( '( %d, %s, %s)', $site_id, $meta_key, $meta_value ); } $wpdb->query( "INSERT INTO $wpdb->blogmeta ( blog_id, meta_key, meta_value ) VALUES " . $insert ); // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared wp_cache_delete( $site_id, 'blog_meta' ); wp_cache_set_sites_last_changed(); } class-wp-plugin-install-list-table.php 0000644 00000060322 14735706075 0014025 0 ustar 00 <?php /** * List Table API: WP_Plugin_Install_List_Table class * * @package WordPress * @subpackage Administration * @since 3.1.0 */ /** * Core class used to implement displaying plugins to install in a list table. * * @since 3.1.0 * * @see WP_List_Table */ class WP_Plugin_Install_List_Table extends WP_List_Table { public $order = 'ASC'; public $orderby = null; public $groups = array(); private $error; /** * @return bool */ public function ajax_user_can() { return current_user_can( 'install_plugins' ); } /** * Returns the list of known plugins. * * Uses the transient data from the updates API to determine the known * installed plugins. * * @since 4.9.0 * @access protected * * @return array */ protected function get_installed_plugins() { $plugins = array(); $plugin_info = get_site_transient( 'update_plugins' ); if ( isset( $plugin_info->no_update ) ) { foreach ( $plugin_info->no_update as $plugin ) { if ( isset( $plugin->slug ) ) { $plugin->upgrade = false; $plugins[ $plugin->slug ] = $plugin; } } } if ( isset( $plugin_info->response ) ) { foreach ( $plugin_info->response as $plugin ) { if ( isset( $plugin->slug ) ) { $plugin->upgrade = true; $plugins[ $plugin->slug ] = $plugin; } } } return $plugins; } /** * Returns a list of slugs of installed plugins, if known. * * Uses the transient data from the updates API to determine the slugs of * known installed plugins. This might be better elsewhere, perhaps even * within get_plugins(). * * @since 4.0.0 * * @return array */ protected function get_installed_plugin_slugs() { return array_keys( $this->get_installed_plugins() ); } /** * @global array $tabs * @global string $tab * @global int $paged * @global string $type * @global string $term */ public function prepare_items() { require_once ABSPATH . 'wp-admin/includes/plugin-install.php'; global $tabs, $tab, $paged, $type, $term; $tab = ! empty( $_REQUEST['tab'] ) ? sanitize_text_field( $_REQUEST['tab'] ) : ''; $paged = $this->get_pagenum(); $per_page = 36; // These are the tabs which are shown on the page. $tabs = array(); if ( 'search' === $tab ) { $tabs['search'] = __( 'Search Results' ); } if ( 'beta' === $tab || str_contains( get_bloginfo( 'version' ), '-' ) ) { $tabs['beta'] = _x( 'Beta Testing', 'Plugin Installer' ); } $tabs['featured'] = _x( 'Featured', 'Plugin Installer' ); $tabs['popular'] = _x( 'Popular', 'Plugin Installer' ); $tabs['recommended'] = _x( 'Recommended', 'Plugin Installer' ); $tabs['favorites'] = _x( 'Favorites', 'Plugin Installer' ); if ( current_user_can( 'upload_plugins' ) ) { /* * No longer a real tab. Here for filter compatibility. * Gets skipped in get_views(). */ $tabs['upload'] = __( 'Upload Plugin' ); } $nonmenu_tabs = array( 'plugin-information' ); // Valid actions to perform which do not have a Menu item. /** * Filters the tabs shown on the Add Plugins screen. * * @since 2.7.0 * * @param string[] $tabs The tabs shown on the Add Plugins screen. Defaults include * 'featured', 'popular', 'recommended', 'favorites', and 'upload'. */ $tabs = apply_filters( 'install_plugins_tabs', $tabs ); /** * Filters tabs not associated with a menu item on the Add Plugins screen. * * @since 2.7.0 * * @param string[] $nonmenu_tabs The tabs that don't have a menu item on the Add Plugins screen. */ $nonmenu_tabs = apply_filters( 'install_plugins_nonmenu_tabs', $nonmenu_tabs ); // If a non-valid menu tab has been selected, And it's not a non-menu action. if ( empty( $tab ) || ( ! isset( $tabs[ $tab ] ) && ! in_array( $tab, (array) $nonmenu_tabs, true ) ) ) { $tab = key( $tabs ); } $installed_plugins = $this->get_installed_plugins(); $args = array( 'page' => $paged, 'per_page' => $per_page, // Send the locale to the API so it can provide context-sensitive results. 'locale' => get_user_locale(), ); switch ( $tab ) { case 'search': $type = isset( $_REQUEST['type'] ) ? wp_unslash( $_REQUEST['type'] ) : 'term'; $term = isset( $_REQUEST['s'] ) ? wp_unslash( $_REQUEST['s'] ) : ''; switch ( $type ) { case 'tag': $args['tag'] = sanitize_title_with_dashes( $term ); break; case 'term': $args['search'] = $term; break; case 'author': $args['author'] = $term; break; } break; case 'featured': case 'popular': case 'new': case 'beta': $args['browse'] = $tab; break; case 'recommended': $args['browse'] = $tab; // Include the list of installed plugins so we can get relevant results. $args['installed_plugins'] = array_keys( $installed_plugins ); break; case 'favorites': $action = 'save_wporg_username_' . get_current_user_id(); if ( isset( $_GET['_wpnonce'] ) && wp_verify_nonce( wp_unslash( $_GET['_wpnonce'] ), $action ) ) { $user = isset( $_GET['user'] ) ? wp_unslash( $_GET['user'] ) : get_user_option( 'wporg_favorites' ); // If the save url parameter is passed with a falsey value, don't save the favorite user. if ( ! isset( $_GET['save'] ) || $_GET['save'] ) { update_user_meta( get_current_user_id(), 'wporg_favorites', $user ); } } else { $user = get_user_option( 'wporg_favorites' ); } if ( $user ) { $args['user'] = $user; } else { $args = false; } add_action( 'install_plugins_favorites', 'install_plugins_favorites_form', 9, 0 ); break; default: $args = false; break; } /** * Filters API request arguments for each Add Plugins screen tab. * * The dynamic portion of the hook name, `$tab`, refers to the plugin install tabs. * * Possible hook names include: * * - `install_plugins_table_api_args_favorites` * - `install_plugins_table_api_args_featured` * - `install_plugins_table_api_args_popular` * - `install_plugins_table_api_args_recommended` * - `install_plugins_table_api_args_upload` * - `install_plugins_table_api_args_search` * - `install_plugins_table_api_args_beta` * * @since 3.7.0 * * @param array|false $args Plugin install API arguments. */ $args = apply_filters( "install_plugins_table_api_args_{$tab}", $args ); if ( ! $args ) { return; } $api = plugins_api( 'query_plugins', $args ); if ( is_wp_error( $api ) ) { $this->error = $api; return; } $this->items = $api->plugins; if ( $this->orderby ) { uasort( $this->items, array( $this, 'order_callback' ) ); } $this->set_pagination_args( array( 'total_items' => $api->info['results'], 'per_page' => $args['per_page'], ) ); if ( isset( $api->info['groups'] ) ) { $this->groups = $api->info['groups']; } if ( $installed_plugins ) { $js_plugins = array_fill_keys( array( 'all', 'search', 'active', 'inactive', 'recently_activated', 'mustuse', 'dropins' ), array() ); $js_plugins['all'] = array_values( wp_list_pluck( $installed_plugins, 'plugin' ) ); $upgrade_plugins = wp_filter_object_list( $installed_plugins, array( 'upgrade' => true ), 'and', 'plugin' ); if ( $upgrade_plugins ) { $js_plugins['upgrade'] = array_values( $upgrade_plugins ); } wp_localize_script( 'updates', '_wpUpdatesItemCounts', array( 'plugins' => $js_plugins, 'totals' => wp_get_update_data(), ) ); } } /** */ public function no_items() { if ( isset( $this->error ) ) { $error_message = '<p>' . $this->error->get_error_message() . '</p>'; $error_message .= '<p class="hide-if-no-js"><button class="button try-again">' . __( 'Try Again' ) . '</button></p>'; wp_admin_notice( $error_message, array( 'additional_classes' => array( 'inline', 'error' ), 'paragraph_wrap' => false, ) ); ?> <?php } else { ?> <div class="no-plugin-results"><?php _e( 'No plugins found. Try a different search.' ); ?></div> <?php } } /** * @global array $tabs * @global string $tab * * @return array */ protected function get_views() { global $tabs, $tab; $display_tabs = array(); foreach ( (array) $tabs as $action => $text ) { $display_tabs[ 'plugin-install-' . $action ] = array( 'url' => self_admin_url( 'plugin-install.php?tab=' . $action ), 'label' => $text, 'current' => $action === $tab, ); } // No longer a real tab. unset( $display_tabs['plugin-install-upload'] ); return $this->get_views_links( $display_tabs ); } /** * Overrides parent views so we can use the filter bar display. */ public function views() { $views = $this->get_views(); /** This filter is documented in wp-admin/includes/class-wp-list-table.php */ $views = apply_filters( "views_{$this->screen->id}", $views ); $this->screen->render_screen_reader_content( 'heading_views' ); ?> <div class="wp-filter"> <ul class="filter-links"> <?php if ( ! empty( $views ) ) { foreach ( $views as $class => $view ) { $views[ $class ] = "\t<li class='$class'>$view"; } echo implode( " </li>\n", $views ) . "</li>\n"; } ?> </ul> <?php install_search_form(); ?> </div> <?php } /** * Displays the plugin install table. * * Overrides the parent display() method to provide a different container. * * @since 4.0.0 */ public function display() { $singular = $this->_args['singular']; $data_attr = ''; if ( $singular ) { $data_attr = " data-wp-lists='list:$singular'"; } $this->display_tablenav( 'top' ); ?> <div class="wp-list-table <?php echo implode( ' ', $this->get_table_classes() ); ?>"> <?php $this->screen->render_screen_reader_content( 'heading_list' ); ?> <div id="the-list"<?php echo $data_attr; ?>> <?php $this->display_rows_or_placeholder(); ?> </div> </div> <?php $this->display_tablenav( 'bottom' ); } /** * @global string $tab * * @param string $which */ protected function display_tablenav( $which ) { if ( 'featured' === $GLOBALS['tab'] ) { return; } if ( 'top' === $which ) { wp_referer_field(); ?> <div class="tablenav top"> <div class="alignleft actions"> <?php /** * Fires before the Plugin Install table header pagination is displayed. * * @since 2.7.0 */ do_action( 'install_plugins_table_header' ); ?> </div> <?php $this->pagination( $which ); ?> <br class="clear" /> </div> <?php } else { ?> <div class="tablenav bottom"> <?php $this->pagination( $which ); ?> <br class="clear" /> </div> <?php } } /** * @return array */ protected function get_table_classes() { return array( 'widefat', $this->_args['plural'] ); } /** * @return string[] Array of column titles keyed by their column name. */ public function get_columns() { return array(); } /** * @param object $plugin_a * @param object $plugin_b * @return int */ private function order_callback( $plugin_a, $plugin_b ) { $orderby = $this->orderby; if ( ! isset( $plugin_a->$orderby, $plugin_b->$orderby ) ) { return 0; } $a = $plugin_a->$orderby; $b = $plugin_b->$orderby; if ( $a === $b ) { return 0; } if ( 'DESC' === $this->order ) { return ( $a < $b ) ? 1 : -1; } else { return ( $a < $b ) ? -1 : 1; } } /** * Generates the list table rows. * * @since 3.1.0 */ public function display_rows() { $plugins_allowedtags = array( 'a' => array( 'href' => array(), 'title' => array(), 'target' => array(), ), 'abbr' => array( 'title' => array() ), 'acronym' => array( 'title' => array() ), 'code' => array(), 'pre' => array(), 'em' => array(), 'strong' => array(), 'ul' => array(), 'ol' => array(), 'li' => array(), 'p' => array(), 'br' => array(), ); $plugins_group_titles = array( 'Performance' => _x( 'Performance', 'Plugin installer group title' ), 'Social' => _x( 'Social', 'Plugin installer group title' ), 'Tools' => _x( 'Tools', 'Plugin installer group title' ), ); $group = null; foreach ( (array) $this->items as $plugin ) { if ( is_object( $plugin ) ) { $plugin = (array) $plugin; } // Display the group heading if there is one. if ( isset( $plugin['group'] ) && $plugin['group'] !== $group ) { if ( isset( $this->groups[ $plugin['group'] ] ) ) { $group_name = $this->groups[ $plugin['group'] ]; if ( isset( $plugins_group_titles[ $group_name ] ) ) { $group_name = $plugins_group_titles[ $group_name ]; } } else { $group_name = $plugin['group']; } // Starting a new group, close off the divs of the last one. if ( ! empty( $group ) ) { echo '</div></div>'; } echo '<div class="plugin-group"><h3>' . esc_html( $group_name ) . '</h3>'; // Needs an extra wrapping div for nth-child selectors to work. echo '<div class="plugin-items">'; $group = $plugin['group']; } $title = wp_kses( $plugin['name'], $plugins_allowedtags ); // Remove any HTML from the description. $description = strip_tags( $plugin['short_description'] ); /** * Filters the plugin card description on the Add Plugins screen. * * @since 6.0.0 * * @param string $description Plugin card description. * @param array $plugin An array of plugin data. See {@see plugins_api()} * for the list of possible values. */ $description = apply_filters( 'plugin_install_description', $description, $plugin ); $version = wp_kses( $plugin['version'], $plugins_allowedtags ); $name = strip_tags( $title . ' ' . $version ); $author = wp_kses( $plugin['author'], $plugins_allowedtags ); if ( ! empty( $author ) ) { /* translators: %s: Plugin author. */ $author = ' <cite>' . sprintf( __( 'By %s' ), $author ) . '</cite>'; } $requires_php = isset( $plugin['requires_php'] ) ? $plugin['requires_php'] : null; $requires_wp = isset( $plugin['requires'] ) ? $plugin['requires'] : null; $compatible_php = is_php_version_compatible( $requires_php ); $compatible_wp = is_wp_version_compatible( $requires_wp ); $tested_wp = ( empty( $plugin['tested'] ) || version_compare( get_bloginfo( 'version' ), $plugin['tested'], '<=' ) ); $action_links = array(); $action_links[] = wp_get_plugin_action_button( $name, $plugin, $compatible_php, $compatible_wp ); $details_link = self_admin_url( 'plugin-install.php?tab=plugin-information&plugin=' . $plugin['slug'] . '&TB_iframe=true&width=600&height=550' ); $action_links[] = sprintf( '<a href="%s" class="thickbox open-plugin-details-modal" aria-label="%s" data-title="%s">%s</a>', esc_url( $details_link ), /* translators: %s: Plugin name and version. */ esc_attr( sprintf( __( 'More information about %s' ), $name ) ), esc_attr( $name ), __( 'More Details' ) ); if ( ! empty( $plugin['icons']['svg'] ) ) { $plugin_icon_url = $plugin['icons']['svg']; } elseif ( ! empty( $plugin['icons']['2x'] ) ) { $plugin_icon_url = $plugin['icons']['2x']; } elseif ( ! empty( $plugin['icons']['1x'] ) ) { $plugin_icon_url = $plugin['icons']['1x']; } else { $plugin_icon_url = $plugin['icons']['default']; } /** * Filters the install action links for a plugin. * * @since 2.7.0 * * @param string[] $action_links An array of plugin action links. * Defaults are links to Details and Install Now. * @param array $plugin An array of plugin data. See {@see plugins_api()} * for the list of possible values. */ $action_links = apply_filters( 'plugin_install_action_links', $action_links, $plugin ); $last_updated_timestamp = strtotime( $plugin['last_updated'] ); ?> <div class="plugin-card plugin-card-<?php echo sanitize_html_class( $plugin['slug'] ); ?>"> <?php if ( ! $compatible_php || ! $compatible_wp ) { $incompatible_notice_message = ''; if ( ! $compatible_php && ! $compatible_wp ) { $incompatible_notice_message .= __( 'This plugin does not work with your versions of WordPress and PHP.' ); if ( current_user_can( 'update_core' ) && current_user_can( 'update_php' ) ) { $incompatible_notice_message .= sprintf( /* translators: 1: URL to WordPress Updates screen, 2: URL to Update PHP page. */ ' ' . __( '<a href="%1$s">Please update WordPress</a>, and then <a href="%2$s">learn more about updating PHP</a>.' ), self_admin_url( 'update-core.php' ), esc_url( wp_get_update_php_url() ) ); $incompatible_notice_message .= wp_update_php_annotation( '</p><p><em>', '</em>', false ); } elseif ( current_user_can( 'update_core' ) ) { $incompatible_notice_message .= sprintf( /* translators: %s: URL to WordPress Updates screen. */ ' ' . __( '<a href="%s">Please update WordPress</a>.' ), self_admin_url( 'update-core.php' ) ); } elseif ( current_user_can( 'update_php' ) ) { $incompatible_notice_message .= sprintf( /* translators: %s: URL to Update PHP page. */ ' ' . __( '<a href="%s">Learn more about updating PHP</a>.' ), esc_url( wp_get_update_php_url() ) ); $incompatible_notice_message .= wp_update_php_annotation( '</p><p><em>', '</em>', false ); } } elseif ( ! $compatible_wp ) { $incompatible_notice_message .= __( 'This plugin does not work with your version of WordPress.' ); if ( current_user_can( 'update_core' ) ) { $incompatible_notice_message .= sprintf( /* translators: %s: URL to WordPress Updates screen. */ ' ' . __( '<a href="%s">Please update WordPress</a>.' ), self_admin_url( 'update-core.php' ) ); } } elseif ( ! $compatible_php ) { $incompatible_notice_message .= __( 'This plugin does not work with your version of PHP.' ); if ( current_user_can( 'update_php' ) ) { $incompatible_notice_message .= sprintf( /* translators: %s: URL to Update PHP page. */ ' ' . __( '<a href="%s">Learn more about updating PHP</a>.' ), esc_url( wp_get_update_php_url() ) ); $incompatible_notice_message .= wp_update_php_annotation( '</p><p><em>', '</em>', false ); } } wp_admin_notice( $incompatible_notice_message, array( 'type' => 'error', 'additional_classes' => array( 'notice-alt', 'inline' ), ) ); } ?> <div class="plugin-card-top"> <div class="name column-name"> <h3> <a href="<?php echo esc_url( $details_link ); ?>" class="thickbox open-plugin-details-modal"> <?php echo $title; ?> <img src="<?php echo esc_url( $plugin_icon_url ); ?>" class="plugin-icon" alt="" /> </a> </h3> </div> <div class="action-links"> <?php if ( $action_links ) { echo '<ul class="plugin-action-buttons"><li>' . implode( '</li><li>', $action_links ) . '</li></ul>'; } ?> </div> <div class="desc column-description"> <p><?php echo $description; ?></p> <p class="authors"><?php echo $author; ?></p> </div> </div> <?php $dependencies_notice = $this->get_dependencies_notice( $plugin ); if ( ! empty( $dependencies_notice ) ) { echo $dependencies_notice; } ?> <div class="plugin-card-bottom"> <div class="vers column-rating"> <?php wp_star_rating( array( 'rating' => $plugin['rating'], 'type' => 'percent', 'number' => $plugin['num_ratings'], ) ); ?> <span class="num-ratings" aria-hidden="true">(<?php echo number_format_i18n( $plugin['num_ratings'] ); ?>)</span> </div> <div class="column-updated"> <strong><?php _e( 'Last Updated:' ); ?></strong> <?php /* translators: %s: Human-readable time difference. */ printf( __( '%s ago' ), human_time_diff( $last_updated_timestamp ) ); ?> </div> <div class="column-downloaded"> <?php if ( $plugin['active_installs'] >= 1000000 ) { $active_installs_millions = floor( $plugin['active_installs'] / 1000000 ); $active_installs_text = sprintf( /* translators: %s: Number of millions. */ _nx( '%s+ Million', '%s+ Million', $active_installs_millions, 'Active plugin installations' ), number_format_i18n( $active_installs_millions ) ); } elseif ( 0 === $plugin['active_installs'] ) { $active_installs_text = _x( 'Less Than 10', 'Active plugin installations' ); } else { $active_installs_text = number_format_i18n( $plugin['active_installs'] ) . '+'; } /* translators: %s: Number of installations. */ printf( __( '%s Active Installations' ), $active_installs_text ); ?> </div> <div class="column-compatibility"> <?php if ( ! $tested_wp ) { echo '<span class="compatibility-untested">' . __( 'Untested with your version of WordPress' ) . '</span>'; } elseif ( ! $compatible_wp ) { echo '<span class="compatibility-incompatible">' . __( '<strong>Incompatible</strong> with your version of WordPress' ) . '</span>'; } else { echo '<span class="compatibility-compatible">' . __( '<strong>Compatible</strong> with your version of WordPress' ) . '</span>'; } ?> </div> </div> </div> <?php } // Close off the group divs of the last one. if ( ! empty( $group ) ) { echo '</div></div>'; } } /** * Returns a notice containing a list of dependencies required by the plugin. * * @since 6.5.0 * * @param array $plugin_data An array of plugin data. See {@see plugins_api()} * for the list of possible values. * @return string A notice containing a list of dependencies required by the plugin, * or an empty string if none is required. */ protected function get_dependencies_notice( $plugin_data ) { if ( empty( $plugin_data['requires_plugins'] ) ) { return ''; } $no_name_markup = '<div class="plugin-dependency"><span class="plugin-dependency-name">%s</span></div>'; $has_name_markup = '<div class="plugin-dependency"><span class="plugin-dependency-name">%s</span> %s</div>'; $dependencies_list = ''; foreach ( $plugin_data['requires_plugins'] as $dependency ) { $dependency_data = WP_Plugin_Dependencies::get_dependency_data( $dependency ); if ( false !== $dependency_data && ! empty( $dependency_data['name'] ) && ! empty( $dependency_data['slug'] ) && ! empty( $dependency_data['version'] ) ) { $more_details_link = $this->get_more_details_link( $dependency_data['name'], $dependency_data['slug'] ); $dependencies_list .= sprintf( $has_name_markup, esc_html( $dependency_data['name'] ), $more_details_link ); continue; } $result = plugins_api( 'plugin_information', array( 'slug' => $dependency ) ); if ( ! empty( $result->name ) ) { $more_details_link = $this->get_more_details_link( $result->name, $result->slug ); $dependencies_list .= sprintf( $has_name_markup, esc_html( $result->name ), $more_details_link ); continue; } $dependencies_list .= sprintf( $no_name_markup, esc_html( $dependency ) ); } $dependencies_notice = sprintf( '<div class="plugin-dependencies notice notice-alt notice-info inline"><p class="plugin-dependencies-explainer-text">%s</p> %s</div>', '<strong>' . __( 'Additional plugins are required' ) . '</strong>', $dependencies_list ); return $dependencies_notice; } /** * Creates a 'More details' link for the plugin. * * @since 6.5.0 * * @param string $name The plugin's name. * @param string $slug The plugin's slug. * @return string The 'More details' link for the plugin. */ protected function get_more_details_link( $name, $slug ) { $url = add_query_arg( array( 'tab' => 'plugin-information', 'plugin' => $slug, 'TB_iframe' => 'true', 'width' => '600', 'height' => '550', ), network_admin_url( 'plugin-install.php' ) ); $more_details_link = sprintf( '<a href="%1$s" class="more-details-link thickbox open-plugin-details-modal" aria-label="%2$s" data-title="%3$s">%4$s</a>', esc_url( $url ), /* translators: %s: Plugin name. */ sprintf( __( 'More information about %s' ), esc_html( $name ) ), esc_attr( $name ), __( 'More Details' ) ); return $more_details_link; } } credits.php 0000644 00000013350 14735706075 0006732 0 ustar 00 <?php /** * WordPress Credits Administration API. * * @package WordPress * @subpackage Administration * @since 4.4.0 */ /** * Retrieves the contributor credits. * * @since 3.2.0 * @since 5.6.0 Added the `$version` and `$locale` parameters. * * @param string $version WordPress version. Defaults to the current version. * @param string $locale WordPress locale. Defaults to the current user's locale. * @return array|false A list of all of the contributors, or false on error. */ function wp_credits( $version = '', $locale = '' ) { if ( ! $version ) { $version = wp_get_wp_version(); } if ( ! $locale ) { $locale = get_user_locale(); } $results = get_site_transient( 'wordpress_credits_' . $locale ); if ( ! is_array( $results ) || str_contains( $version, '-' ) || ( isset( $results['data']['version'] ) && ! str_starts_with( $version, $results['data']['version'] ) ) ) { $url = "http://api.wordpress.org/core/credits/1.1/?version={$version}&locale={$locale}"; $options = array( 'user-agent' => 'WordPress/' . $version . '; ' . home_url( '/' ) ); if ( wp_http_supports( array( 'ssl' ) ) ) { $url = set_url_scheme( $url, 'https' ); } $response = wp_remote_get( $url, $options ); if ( is_wp_error( $response ) || 200 !== wp_remote_retrieve_response_code( $response ) ) { return false; } $results = json_decode( wp_remote_retrieve_body( $response ), true ); if ( ! is_array( $results ) ) { return false; } set_site_transient( 'wordpress_credits_' . $locale, $results, DAY_IN_SECONDS ); } return $results; } /** * Retrieves the link to a contributor's WordPress.org profile page. * * @access private * @since 3.2.0 * * @param string $display_name The contributor's display name (passed by reference). * @param string $username The contributor's username. * @param string $profiles URL to the contributor's WordPress.org profile page. */ function _wp_credits_add_profile_link( &$display_name, $username, $profiles ) { $display_name = '<a href="' . esc_url( sprintf( $profiles, $username ) ) . '">' . esc_html( $display_name ) . '</a>'; } /** * Retrieves the link to an external library used in WordPress. * * @access private * @since 3.2.0 * * @param string $data External library data (passed by reference). */ function _wp_credits_build_object_link( &$data ) { $data = '<a href="' . esc_url( $data[1] ) . '">' . esc_html( $data[0] ) . '</a>'; } /** * Displays the title for a given group of contributors. * * @since 5.3.0 * * @param array $group_data The current contributor group. */ function wp_credits_section_title( $group_data = array() ) { if ( ! count( $group_data ) ) { return; } if ( $group_data['name'] ) { if ( 'Translators' === $group_data['name'] ) { // Considered a special slug in the API response. (Also, will never be returned for en_US.) $title = _x( 'Translators', 'Translate this to be the equivalent of English Translators in your language for the credits page Translators section' ); } elseif ( isset( $group_data['placeholders'] ) ) { // phpcs:ignore WordPress.WP.I18n.LowLevelTranslationFunction,WordPress.WP.I18n.NonSingularStringLiteralText $title = vsprintf( translate( $group_data['name'] ), $group_data['placeholders'] ); } else { // phpcs:ignore WordPress.WP.I18n.LowLevelTranslationFunction,WordPress.WP.I18n.NonSingularStringLiteralText $title = translate( $group_data['name'] ); } echo '<h2 class="wp-people-group-title">' . esc_html( $title ) . "</h2>\n"; } } /** * Displays a list of contributors for a given group. * * @since 5.3.0 * * @param array $credits The credits groups returned from the API. * @param string $slug The current group to display. */ function wp_credits_section_list( $credits = array(), $slug = '' ) { $group_data = isset( $credits['groups'][ $slug ] ) ? $credits['groups'][ $slug ] : array(); $credits_data = $credits['data']; if ( ! count( $group_data ) ) { return; } if ( ! empty( $group_data['shuffle'] ) ) { shuffle( $group_data['data'] ); // We were going to sort by ability to pronounce "hierarchical," but that wouldn't be fair to Matt. } switch ( $group_data['type'] ) { case 'list': array_walk( $group_data['data'], '_wp_credits_add_profile_link', $credits_data['profiles'] ); echo '<p class="wp-credits-list">' . wp_sprintf( '%l.', $group_data['data'] ) . "</p>\n\n"; break; case 'libraries': array_walk( $group_data['data'], '_wp_credits_build_object_link' ); echo '<p class="wp-credits-list">' . wp_sprintf( '%l.', $group_data['data'] ) . "</p>\n\n"; break; default: $compact = 'compact' === $group_data['type']; $classes = 'wp-people-group ' . ( $compact ? 'compact' : '' ); echo '<ul class="' . $classes . '" id="wp-people-group-' . $slug . '">' . "\n"; foreach ( $group_data['data'] as $person_data ) { echo '<li class="wp-person" id="wp-person-' . esc_attr( $person_data[2] ) . '">' . "\n\t"; echo '<a href="' . esc_url( sprintf( $credits_data['profiles'], $person_data[2] ) ) . '" class="web">'; $size = $compact ? 80 : 160; $data = get_avatar_data( $person_data[1] . '@md5.gravatar.com', array( 'size' => $size ) ); $data2x = get_avatar_data( $person_data[1] . '@md5.gravatar.com', array( 'size' => $size * 2 ) ); echo '<span class="wp-person-avatar"><img src="' . esc_url( $data['url'] ) . '" srcset="' . esc_url( $data2x['url'] ) . ' 2x" class="gravatar" alt="" /></span>' . "\n"; echo esc_html( $person_data[0] ) . "</a>\n\t"; if ( ! $compact && ! empty( $person_data[3] ) ) { // phpcs:ignore WordPress.WP.I18n.LowLevelTranslationFunction,WordPress.WP.I18n.NonSingularStringLiteralText echo '<span class="title">' . translate( $person_data[3] ) . "</span>\n"; } echo "</li>\n"; } echo "</ul>\n"; break; } } network.php 0000644 00000064544 14735706075 0007001 0 ustar 00 <?php /** * WordPress Network Administration API. * * @package WordPress * @subpackage Administration * @since 4.4.0 */ /** * Check for an existing network. * * @since 3.0.0 * * @global wpdb $wpdb WordPress database abstraction object. * * @return string|false Base domain if network exists, otherwise false. */ function network_domain_check() { global $wpdb; $sql = $wpdb->prepare( 'SHOW TABLES LIKE %s', $wpdb->esc_like( $wpdb->site ) ); if ( $wpdb->get_var( $sql ) ) { return $wpdb->get_var( "SELECT domain FROM $wpdb->site ORDER BY id ASC LIMIT 1" ); } return false; } /** * Allow subdomain installation * * @since 3.0.0 * @return bool Whether subdomain installation is allowed */ function allow_subdomain_install() { $home = get_option( 'home' ); $domain = parse_url( $home, PHP_URL_HOST ); if ( parse_url( $home, PHP_URL_PATH ) || 'localhost' === $domain || preg_match( '|^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$|', $domain ) ) { return false; } return true; } /** * Allow subdirectory installation. * * @since 3.0.0 * * @global wpdb $wpdb WordPress database abstraction object. * * @return bool Whether subdirectory installation is allowed */ function allow_subdirectory_install() { global $wpdb; /** * Filters whether to enable the subdirectory installation feature in Multisite. * * @since 3.0.0 * * @param bool $allow Whether to enable the subdirectory installation feature in Multisite. * Default false. */ if ( apply_filters( 'allow_subdirectory_install', false ) ) { return true; } if ( defined( 'ALLOW_SUBDIRECTORY_INSTALL' ) && ALLOW_SUBDIRECTORY_INSTALL ) { return true; } $post = $wpdb->get_row( "SELECT ID FROM $wpdb->posts WHERE post_date < DATE_SUB(NOW(), INTERVAL 1 MONTH) AND post_status = 'publish'" ); if ( empty( $post ) ) { return true; } return false; } /** * Get base domain of network. * * @since 3.0.0 * @return string Base domain. */ function get_clean_basedomain() { $existing_domain = network_domain_check(); if ( $existing_domain ) { return $existing_domain; } $domain = preg_replace( '|https?://|', '', get_option( 'siteurl' ) ); $slash = strpos( $domain, '/' ); if ( $slash ) { $domain = substr( $domain, 0, $slash ); } return $domain; } /** * Prints step 1 for Network installation process. * * @todo Realistically, step 1 should be a welcome screen explaining what a Network is and such. * Navigating to Tools > Network should not be a sudden "Welcome to a new install process! * Fill this out and click here." See also contextual help todo. * * @since 3.0.0 * * @global bool $is_apache * * @param false|WP_Error $errors Optional. Error object. Default false. */ function network_step1( $errors = false ) { global $is_apache; if ( defined( 'DO_NOT_UPGRADE_GLOBAL_TABLES' ) ) { $cannot_define_constant_message = '<strong>' . __( 'Error:' ) . '</strong> '; $cannot_define_constant_message .= sprintf( /* translators: %s: DO_NOT_UPGRADE_GLOBAL_TABLES */ __( 'The constant %s cannot be defined when creating a network.' ), '<code>DO_NOT_UPGRADE_GLOBAL_TABLES</code>' ); wp_admin_notice( $cannot_define_constant_message, array( 'additional_classes' => array( 'error' ), ) ); echo '</div>'; require_once ABSPATH . 'wp-admin/admin-footer.php'; die(); } $active_plugins = get_option( 'active_plugins' ); if ( ! empty( $active_plugins ) ) { wp_admin_notice( '<strong>' . __( 'Warning:' ) . '</strong> ' . sprintf( /* translators: %s: URL to Plugins screen. */ __( 'Please <a href="%s">deactivate your plugins</a> before enabling the Network feature.' ), admin_url( 'plugins.php?plugin_status=active' ) ), array( 'type' => 'warning' ) ); echo '<p>' . __( 'Once the network is created, you may reactivate your plugins.' ) . '</p>'; echo '</div>'; require_once ABSPATH . 'wp-admin/admin-footer.php'; die(); } // Strip standard port from hostname. $hostname = preg_replace( '/(?::80|:443)$/', '', get_clean_basedomain() ); echo '<form method="post">'; wp_nonce_field( 'install-network-1' ); $error_codes = array(); if ( is_wp_error( $errors ) ) { $network_created_error_message = '<p><strong>' . __( 'Error: The network could not be created.' ) . '</strong></p>'; foreach ( $errors->get_error_messages() as $error ) { $network_created_error_message .= "<p>$error</p>"; } wp_admin_notice( $network_created_error_message, array( 'additional_classes' => array( 'error' ), 'paragraph_wrap' => false, ) ); $error_codes = $errors->get_error_codes(); } if ( ! empty( $_POST['sitename'] ) && ! in_array( 'empty_sitename', $error_codes, true ) ) { $site_name = $_POST['sitename']; } else { /* translators: %s: Default network title. */ $site_name = sprintf( __( '%s Sites' ), get_option( 'blogname' ) ); } if ( ! empty( $_POST['email'] ) && ! in_array( 'invalid_email', $error_codes, true ) ) { $admin_email = $_POST['email']; } else { $admin_email = get_option( 'admin_email' ); } ?> <p><?php _e( 'Welcome to the Network installation process!' ); ?></p> <p><?php _e( 'Fill in the information below and you’ll be on your way to creating a network of WordPress sites. Configuration files will be created in the next step.' ); ?></p> <?php if ( isset( $_POST['subdomain_install'] ) ) { $subdomain_install = (bool) $_POST['subdomain_install']; } elseif ( apache_mod_loaded( 'mod_rewrite' ) ) { // Assume nothing. $subdomain_install = true; } elseif ( ! allow_subdirectory_install() ) { $subdomain_install = true; } else { $subdomain_install = false; $got_mod_rewrite = got_mod_rewrite(); if ( $got_mod_rewrite ) { // Dangerous assumptions. $message_class = 'updated'; $message = '<p><strong>' . __( 'Warning:' ) . '</strong> '; $message .= '<p>' . sprintf( /* translators: %s: mod_rewrite */ __( 'Please make sure the Apache %s module is installed as it will be used at the end of this installation.' ), '<code>mod_rewrite</code>' ) . '</p>'; } elseif ( $is_apache ) { $message_class = 'error'; $message = '<p><strong>' . __( 'Warning:' ) . '</strong> '; $message .= sprintf( /* translators: %s: mod_rewrite */ __( 'It looks like the Apache %s module is not installed.' ), '<code>mod_rewrite</code>' ) . '</p>'; } if ( $got_mod_rewrite || $is_apache ) { // Protect against mod_rewrite mimicry (but ! Apache). $message .= '<p>' . sprintf( /* translators: 1: mod_rewrite, 2: mod_rewrite documentation URL, 3: Google search for mod_rewrite. */ __( 'If %1$s is disabled, ask your administrator to enable that module, or look at the <a href="%2$s">Apache documentation</a> or <a href="%3$s">elsewhere</a> for help setting it up.' ), '<code>mod_rewrite</code>', 'https://httpd.apache.org/docs/mod/mod_rewrite.html', 'https://www.google.com/search?q=apache+mod_rewrite' ) . '</p>'; wp_admin_notice( $message, array( 'additional_classes' => array( $message_class, 'inline' ), 'paragraph_wrap' => false, ) ); } } if ( allow_subdomain_install() && allow_subdirectory_install() ) : ?> <h3><?php esc_html_e( 'Addresses of Sites in your Network' ); ?></h3> <p><?php _e( 'Please choose whether you would like sites in your WordPress network to use sub-domains or sub-directories.' ); ?> <strong><?php _e( 'You cannot change this later.' ); ?></strong></p> <p><?php _e( 'You will need a wildcard DNS record if you are going to use the virtual host (sub-domain) functionality.' ); ?></p> <?php // @todo Link to an MS readme? ?> <table class="form-table" role="presentation"> <tr> <th><label><input type="radio" name="subdomain_install" value="1"<?php checked( $subdomain_install ); ?> /> <?php _e( 'Sub-domains' ); ?></label></th> <td> <?php printf( /* translators: 1: Host name. */ _x( 'like <code>site1.%1$s</code> and <code>site2.%1$s</code>', 'subdomain examples' ), $hostname ); ?> </td> </tr> <tr> <th><label><input type="radio" name="subdomain_install" value="0"<?php checked( ! $subdomain_install ); ?> /> <?php _e( 'Sub-directories' ); ?></label></th> <td> <?php printf( /* translators: 1: Host name. */ _x( 'like <code>%1$s/site1</code> and <code>%1$s/site2</code>', 'subdirectory examples' ), $hostname ); ?> </td> </tr> </table> <?php endif; if ( WP_CONTENT_DIR !== ABSPATH . 'wp-content' && ( allow_subdirectory_install() || ! allow_subdomain_install() ) ) { $subdirectory_warning_message = '<strong>' . __( 'Warning:' ) . '</strong> '; $subdirectory_warning_message .= __( 'Subdirectory networks may not be fully compatible with custom wp-content directories.' ); wp_admin_notice( $subdirectory_warning_message, array( 'additional_classes' => array( 'error', 'inline' ), ) ); } $is_www = str_starts_with( $hostname, 'www.' ); if ( $is_www ) : ?> <h3><?php esc_html_e( 'Server Address' ); ?></h3> <p> <?php printf( /* translators: 1: Site URL, 2: Host name, 3: www. */ __( 'You should consider changing your site domain to %1$s before enabling the network feature. It will still be possible to visit your site using the %3$s prefix with an address like %2$s but any links will not have the %3$s prefix.' ), '<code>' . substr( $hostname, 4 ) . '</code>', '<code>' . $hostname . '</code>', '<code>www</code>' ); ?> </p> <table class="form-table" role="presentation"> <tr> <th scope='row'><?php esc_html_e( 'Server Address' ); ?></th> <td> <?php printf( /* translators: %s: Host name. */ __( 'The internet address of your network will be %s.' ), '<code>' . $hostname . '</code>' ); ?> </td> </tr> </table> <?php endif; ?> <h3><?php esc_html_e( 'Network Details' ); ?></h3> <table class="form-table" role="presentation"> <?php if ( 'localhost' === $hostname ) : ?> <tr> <th scope="row"><?php esc_html_e( 'Sub-directory Installation' ); ?></th> <td> <?php printf( /* translators: 1: localhost, 2: localhost.localdomain */ __( 'Because you are using %1$s, the sites in your WordPress network must use sub-directories. Consider using %2$s if you wish to use sub-domains.' ), '<code>localhost</code>', '<code>localhost.localdomain</code>' ); // Uh oh: if ( ! allow_subdirectory_install() ) { echo ' <strong>' . __( 'Warning:' ) . ' ' . __( 'The main site in a sub-directory installation will need to use a modified permalink structure, potentially breaking existing links.' ) . '</strong>'; } ?> </td> </tr> <?php elseif ( ! allow_subdomain_install() ) : ?> <tr> <th scope="row"><?php esc_html_e( 'Sub-directory Installation' ); ?></th> <td> <?php _e( 'Because your installation is in a directory, the sites in your WordPress network must use sub-directories.' ); // Uh oh: if ( ! allow_subdirectory_install() ) { echo ' <strong>' . __( 'Warning:' ) . ' ' . __( 'The main site in a sub-directory installation will need to use a modified permalink structure, potentially breaking existing links.' ) . '</strong>'; } ?> </td> </tr> <?php elseif ( ! allow_subdirectory_install() ) : ?> <tr> <th scope="row"><?php esc_html_e( 'Sub-domain Installation' ); ?></th> <td> <?php _e( 'Because your installation is not new, the sites in your WordPress network must use sub-domains.' ); echo ' <strong>' . __( 'The main site in a sub-directory installation will need to use a modified permalink structure, potentially breaking existing links.' ) . '</strong>'; ?> </td> </tr> <?php endif; ?> <?php if ( ! $is_www ) : ?> <tr> <th scope='row'><?php esc_html_e( 'Server Address' ); ?></th> <td> <?php printf( /* translators: %s: Host name. */ __( 'The internet address of your network will be %s.' ), '<code>' . $hostname . '</code>' ); ?> </td> </tr> <?php endif; ?> <tr> <th scope='row'><label for="sitename"><?php esc_html_e( 'Network Title' ); ?></label></th> <td> <input name='sitename' id='sitename' type='text' size='45' value='<?php echo esc_attr( $site_name ); ?>' /> <p class="description"> <?php _e( 'What would you like to call your network?' ); ?> </p> </td> </tr> <tr> <th scope='row'><label for="email"><?php esc_html_e( 'Network Admin Email' ); ?></label></th> <td> <input name='email' id='email' type='text' size='45' value='<?php echo esc_attr( $admin_email ); ?>' /> <p class="description"> <?php _e( 'Your email address.' ); ?> </p> </td> </tr> </table> <?php submit_button( __( 'Install' ), 'primary', 'submit' ); ?> </form> <?php } /** * Prints step 2 for Network installation process. * * @since 3.0.0 * * @global wpdb $wpdb WordPress database abstraction object. * @global bool $is_nginx Whether the server software is Nginx or something else. * * @param false|WP_Error $errors Optional. Error object. Default false. */ function network_step2( $errors = false ) { global $wpdb, $is_nginx; $hostname = get_clean_basedomain(); $slashed_home = trailingslashit( get_option( 'home' ) ); $base = parse_url( $slashed_home, PHP_URL_PATH ); $document_root_fix = str_replace( '\\', '/', realpath( $_SERVER['DOCUMENT_ROOT'] ) ); $abspath_fix = str_replace( '\\', '/', ABSPATH ); $home_path = str_starts_with( $abspath_fix, $document_root_fix ) ? $document_root_fix . $base : get_home_path(); $wp_siteurl_subdir = preg_replace( '#^' . preg_quote( $home_path, '#' ) . '#', '', $abspath_fix ); $rewrite_base = ! empty( $wp_siteurl_subdir ) ? ltrim( trailingslashit( $wp_siteurl_subdir ), '/' ) : ''; $location_of_wp_config = $abspath_fix; if ( ! file_exists( ABSPATH . 'wp-config.php' ) && file_exists( dirname( ABSPATH ) . '/wp-config.php' ) ) { $location_of_wp_config = dirname( $abspath_fix ); } $location_of_wp_config = trailingslashit( $location_of_wp_config ); // Wildcard DNS message. if ( is_wp_error( $errors ) ) { wp_admin_notice( $errors->get_error_message(), array( 'additional_classes' => array( 'error' ), ) ); } if ( $_POST ) { if ( allow_subdomain_install() ) { $subdomain_install = allow_subdirectory_install() ? ! empty( $_POST['subdomain_install'] ) : true; } else { $subdomain_install = false; } } else { if ( is_multisite() ) { $subdomain_install = is_subdomain_install(); ?> <p><?php _e( 'The original configuration steps are shown here for reference.' ); ?></p> <?php } else { $subdomain_install = (bool) $wpdb->get_var( "SELECT meta_value FROM $wpdb->sitemeta WHERE site_id = 1 AND meta_key = 'subdomain_install'" ); wp_admin_notice( '<strong>' . __( 'Warning:' ) . '</strong> ' . __( 'An existing WordPress network was detected.' ), array( 'additional_classes' => array( 'error' ), ) ); ?> <p><?php _e( 'Please complete the configuration steps. To create a new network, you will need to empty or remove the network database tables.' ); ?></p> <?php } } $subdir_match = $subdomain_install ? '' : '([_0-9a-zA-Z-]+/)?'; $subdir_replacement_01 = $subdomain_install ? '' : '$1'; $subdir_replacement_12 = $subdomain_install ? '$1' : '$2'; if ( $_POST || ! is_multisite() ) { ?> <h3><?php esc_html_e( 'Enabling the Network' ); ?></h3> <p><?php _e( 'Complete the following steps to enable the features for creating a network of sites.' ); ?></p> <?php $notice_message = '<strong>' . __( 'Caution:' ) . '</strong> '; $notice_args = array( 'type' => 'warning', 'additional_classes' => array( 'inline' ), ); if ( file_exists( $home_path . '.htaccess' ) ) { $notice_message .= sprintf( /* translators: 1: wp-config.php, 2: .htaccess */ __( 'You should back up your existing %1$s and %2$s files.' ), '<code>wp-config.php</code>', '<code>.htaccess</code>' ); } elseif ( file_exists( $home_path . 'web.config' ) ) { $notice_message .= sprintf( /* translators: 1: wp-config.php, 2: web.config */ __( 'You should back up your existing %1$s and %2$s files.' ), '<code>wp-config.php</code>', '<code>web.config</code>' ); } else { $notice_message .= sprintf( /* translators: %s: wp-config.php */ __( 'You should back up your existing %s file.' ), '<code>wp-config.php</code>' ); } wp_admin_notice( $notice_message, $notice_args ); } ?> <ol> <li><p id="network-wpconfig-rules-description"> <?php printf( /* translators: 1: wp-config.php, 2: Location of wp-config file, 3: Translated version of "That's all, stop editing! Happy publishing." */ __( 'Add the following to your %1$s file in %2$s <strong>above</strong> the line reading %3$s:' ), '<code>wp-config.php</code>', '<code>' . $location_of_wp_config . '</code>', /* * translators: This string should only be translated if wp-config-sample.php is localized. * You can check the localized release package or * https://i18n.svn.wordpress.org/<locale code>/branches/<wp version>/dist/wp-config-sample.php */ '<code>/* ' . __( 'That’s all, stop editing! Happy publishing.' ) . ' */</code>' ); ?> </p> <p class="configuration-rules-label"><label for="network-wpconfig-rules"> <?php printf( /* translators: %s: File name (wp-config.php, .htaccess or web.config). */ __( 'Network configuration rules for %s' ), '<code>wp-config.php</code>' ); ?> </label></p> <textarea id="network-wpconfig-rules" class="code" readonly="readonly" cols="100" rows="7" aria-describedby="network-wpconfig-rules-description"> define( 'MULTISITE', true ); define( 'SUBDOMAIN_INSTALL', <?php echo $subdomain_install ? 'true' : 'false'; ?> ); define( 'DOMAIN_CURRENT_SITE', '<?php echo $hostname; ?>' ); define( 'PATH_CURRENT_SITE', '<?php echo $base; ?>' ); define( 'SITE_ID_CURRENT_SITE', 1 ); define( 'BLOG_ID_CURRENT_SITE', 1 ); </textarea> <?php $keys_salts = array( 'AUTH_KEY' => '', 'SECURE_AUTH_KEY' => '', 'LOGGED_IN_KEY' => '', 'NONCE_KEY' => '', 'AUTH_SALT' => '', 'SECURE_AUTH_SALT' => '', 'LOGGED_IN_SALT' => '', 'NONCE_SALT' => '', ); foreach ( $keys_salts as $c => $v ) { if ( defined( $c ) ) { unset( $keys_salts[ $c ] ); } } if ( ! empty( $keys_salts ) ) { $keys_salts_str = ''; $from_api = wp_remote_get( 'https://api.wordpress.org/secret-key/1.1/salt/' ); if ( is_wp_error( $from_api ) ) { foreach ( $keys_salts as $c => $v ) { $keys_salts_str .= "\ndefine( '$c', '" . wp_generate_password( 64, true, true ) . "' );"; } } else { $from_api = explode( "\n", wp_remote_retrieve_body( $from_api ) ); foreach ( $keys_salts as $c => $v ) { $keys_salts_str .= "\ndefine( '$c', '" . substr( array_shift( $from_api ), 28, 64 ) . "' );"; } } $num_keys_salts = count( $keys_salts ); ?> <p id="network-wpconfig-authentication-description"> <?php if ( 1 === $num_keys_salts ) { printf( /* translators: %s: wp-config.php */ __( 'This unique authentication key is also missing from your %s file.' ), '<code>wp-config.php</code>' ); } else { printf( /* translators: %s: wp-config.php */ __( 'These unique authentication keys are also missing from your %s file.' ), '<code>wp-config.php</code>' ); } ?> <?php _e( 'To make your installation more secure, you should also add:' ); ?> </p> <p class="configuration-rules-label"><label for="network-wpconfig-authentication"><?php _e( 'Network configuration authentication keys' ); ?></label></p> <textarea id="network-wpconfig-authentication" class="code" readonly="readonly" cols="100" rows="<?php echo $num_keys_salts; ?>" aria-describedby="network-wpconfig-authentication-description"><?php echo esc_textarea( $keys_salts_str ); ?></textarea> <?php } ?> </li> <?php if ( iis7_supports_permalinks() ) : // IIS doesn't support RewriteBase, all your RewriteBase are belong to us. $iis_subdir_match = ltrim( $base, '/' ) . $subdir_match; $iis_rewrite_base = ltrim( $base, '/' ) . $rewrite_base; $iis_subdir_replacement = $subdomain_install ? '' : '{R:1}'; $web_config_file = '<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="WordPress Rule 1" stopProcessing="true"> <match url="^index\.php$" ignoreCase="false" /> <action type="None" /> </rule>'; if ( is_multisite() && get_site_option( 'ms_files_rewriting' ) ) { $web_config_file .= ' <rule name="WordPress Rule for Files" stopProcessing="true"> <match url="^' . $iis_subdir_match . 'files/(.+)" ignoreCase="false" /> <action type="Rewrite" url="' . $iis_rewrite_base . WPINC . '/ms-files.php?file={R:1}" appendQueryString="false" /> </rule>'; } $web_config_file .= ' <rule name="WordPress Rule 2" stopProcessing="true"> <match url="^' . $iis_subdir_match . 'wp-admin$" ignoreCase="false" /> <action type="Redirect" url="' . $iis_subdir_replacement . 'wp-admin/" redirectType="Permanent" /> </rule> <rule name="WordPress Rule 3" stopProcessing="true"> <match url="^" ignoreCase="false" /> <conditions logicalGrouping="MatchAny"> <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" /> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" /> </conditions> <action type="None" /> </rule> <rule name="WordPress Rule 4" stopProcessing="true"> <match url="^' . $iis_subdir_match . '(wp-(content|admin|includes).*)" ignoreCase="false" /> <action type="Rewrite" url="' . $iis_rewrite_base . '{R:1}" /> </rule> <rule name="WordPress Rule 5" stopProcessing="true"> <match url="^' . $iis_subdir_match . '([_0-9a-zA-Z-]+/)?(.*\.php)$" ignoreCase="false" /> <action type="Rewrite" url="' . $iis_rewrite_base . '{R:2}" /> </rule> <rule name="WordPress Rule 6" stopProcessing="true"> <match url="." ignoreCase="false" /> <action type="Rewrite" url="index.php" /> </rule> </rules> </rewrite> </system.webServer> </configuration> '; echo '<li><p id="network-webconfig-rules-description">'; printf( /* translators: 1: File name (.htaccess or web.config), 2: File path. */ __( 'Add the following to your %1$s file in %2$s, <strong>replacing</strong> other WordPress rules:' ), '<code>web.config</code>', '<code>' . $home_path . '</code>' ); echo '</p>'; if ( ! $subdomain_install && WP_CONTENT_DIR !== ABSPATH . 'wp-content' ) { echo '<p><strong>' . __( 'Warning:' ) . ' ' . __( 'Subdirectory networks may not be fully compatible with custom wp-content directories.' ) . '</strong></p>'; } ?> <p class="configuration-rules-label"><label for="network-webconfig-rules"> <?php printf( /* translators: %s: File name (wp-config.php, .htaccess or web.config). */ __( 'Network configuration rules for %s' ), '<code>web.config</code>' ); ?> </label></p> <textarea id="network-webconfig-rules" class="code" readonly="readonly" cols="100" rows="20" aria-describedby="network-webconfig-rules-description"><?php echo esc_textarea( $web_config_file ); ?></textarea> </li> </ol> <?php elseif ( $is_nginx ) : // End iis7_supports_permalinks(). Link to Nginx documentation instead: echo '<li><p>'; printf( /* translators: %s: Documentation URL. */ __( 'It seems your network is running with Nginx web server. <a href="%s">Learn more about further configuration</a>.' ), __( 'https://developer.wordpress.org/advanced-administration/server/web-server/nginx/' ) ); echo '</p></li>'; else : // End $is_nginx. Construct an .htaccess file instead: $ms_files_rewriting = ''; if ( is_multisite() && get_site_option( 'ms_files_rewriting' ) ) { $ms_files_rewriting = "\n# uploaded files\nRewriteRule ^"; $ms_files_rewriting .= $subdir_match . "files/(.+) {$rewrite_base}" . WPINC . "/ms-files.php?file={$subdir_replacement_12} [L]" . "\n"; } $htaccess_file = <<<EOF RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase {$base} RewriteRule ^index\.php$ - [L] {$ms_files_rewriting} # add a trailing slash to /wp-admin RewriteRule ^{$subdir_match}wp-admin$ {$subdir_replacement_01}wp-admin/ [R=301,L] RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] RewriteRule ^{$subdir_match}(wp-(content|admin|includes).*) {$rewrite_base}{$subdir_replacement_12} [L] RewriteRule ^{$subdir_match}(.*\.php)$ {$rewrite_base}$subdir_replacement_12 [L] RewriteRule . index.php [L] EOF; echo '<li><p id="network-htaccess-rules-description">'; printf( /* translators: 1: File name (.htaccess or web.config), 2: File path. */ __( 'Add the following to your %1$s file in %2$s, <strong>replacing</strong> other WordPress rules:' ), '<code>.htaccess</code>', '<code>' . $home_path . '</code>' ); echo '</p>'; if ( ! $subdomain_install && WP_CONTENT_DIR !== ABSPATH . 'wp-content' ) { echo '<p><strong>' . __( 'Warning:' ) . ' ' . __( 'Subdirectory networks may not be fully compatible with custom wp-content directories.' ) . '</strong></p>'; } ?> <p class="configuration-rules-label"><label for="network-htaccess-rules"> <?php printf( /* translators: %s: File name (wp-config.php, .htaccess or web.config). */ __( 'Network configuration rules for %s' ), '<code>.htaccess</code>' ); ?> </label></p> <textarea id="network-htaccess-rules" class="code" readonly="readonly" cols="100" rows="<?php echo substr_count( $htaccess_file, "\n" ) + 1; ?>" aria-describedby="network-htaccess-rules-description"><?php echo esc_textarea( $htaccess_file ); ?></textarea> </li> </ol> <?php endif; // End IIS/Nginx/Apache code branches. if ( ! is_multisite() ) { ?> <p><?php _e( 'Once you complete these steps, your network is enabled and configured. You will have to log in again.' ); ?> <a href="<?php echo esc_url( wp_login_url() ); ?>"><?php _e( 'Log In' ); ?></a></p> <?php } } misc.php 0000644 00000132601 14735706075 0006231 0 ustar 00 <?php /** * Misc WordPress Administration API. * * @package WordPress * @subpackage Administration */ /** * Returns whether the server is running Apache with the mod_rewrite module loaded. * * @since 2.0.0 * * @return bool Whether the server is running Apache with the mod_rewrite module loaded. */ function got_mod_rewrite() { $got_rewrite = apache_mod_loaded( 'mod_rewrite', true ); /** * Filters whether Apache and mod_rewrite are present. * * This filter was previously used to force URL rewriting for other servers, * like nginx. Use the {@see 'got_url_rewrite'} filter in got_url_rewrite() instead. * * @since 2.5.0 * * @see got_url_rewrite() * * @param bool $got_rewrite Whether Apache and mod_rewrite are present. */ return apply_filters( 'got_rewrite', $got_rewrite ); } /** * Returns whether the server supports URL rewriting. * * Detects Apache's mod_rewrite, IIS 7.0+ permalink support, and nginx. * * @since 3.7.0 * * @global bool $is_nginx * @global bool $is_caddy * * @return bool Whether the server supports URL rewriting. */ function got_url_rewrite() { $got_url_rewrite = ( got_mod_rewrite() || $GLOBALS['is_nginx'] || $GLOBALS['is_caddy'] || iis7_supports_permalinks() ); /** * Filters whether URL rewriting is available. * * @since 3.7.0 * * @param bool $got_url_rewrite Whether URL rewriting is available. */ return apply_filters( 'got_url_rewrite', $got_url_rewrite ); } /** * Extracts strings from between the BEGIN and END markers in the .htaccess file. * * @since 1.5.0 * * @param string $filename Filename to extract the strings from. * @param string $marker The marker to extract the strings from. * @return string[] An array of strings from a file (.htaccess) from between BEGIN and END markers. */ function extract_from_markers( $filename, $marker ) { $result = array(); if ( ! file_exists( $filename ) ) { return $result; } $markerdata = explode( "\n", implode( '', file( $filename ) ) ); $state = false; foreach ( $markerdata as $markerline ) { if ( str_contains( $markerline, '# END ' . $marker ) ) { $state = false; } if ( $state ) { if ( str_starts_with( $markerline, '#' ) ) { continue; } $result[] = $markerline; } if ( str_contains( $markerline, '# BEGIN ' . $marker ) ) { $state = true; } } return $result; } /** * Inserts an array of strings into a file (.htaccess), placing it between * BEGIN and END markers. * * Replaces existing marked info. Retains surrounding * data. Creates file if none exists. * * @since 1.5.0 * * @param string $filename Filename to alter. * @param string $marker The marker to alter. * @param array|string $insertion The new content to insert. * @return bool True on write success, false on failure. */ function insert_with_markers( $filename, $marker, $insertion ) { if ( ! file_exists( $filename ) ) { if ( ! is_writable( dirname( $filename ) ) ) { return false; } if ( ! touch( $filename ) ) { return false; } // Make sure the file is created with a minimum set of permissions. $perms = fileperms( $filename ); if ( $perms ) { chmod( $filename, $perms | 0644 ); } } elseif ( ! is_writable( $filename ) ) { return false; } if ( ! is_array( $insertion ) ) { $insertion = explode( "\n", $insertion ); } $switched_locale = switch_to_locale( get_locale() ); $instructions = sprintf( /* translators: 1: Marker. */ __( 'The directives (lines) between "BEGIN %1$s" and "END %1$s" are dynamically generated, and should only be modified via WordPress filters. Any changes to the directives between these markers will be overwritten.' ), $marker ); $instructions = explode( "\n", $instructions ); foreach ( $instructions as $line => $text ) { $instructions[ $line ] = '# ' . $text; } /** * Filters the inline instructions inserted before the dynamically generated content. * * @since 5.3.0 * * @param string[] $instructions Array of lines with inline instructions. * @param string $marker The marker being inserted. */ $instructions = apply_filters( 'insert_with_markers_inline_instructions', $instructions, $marker ); if ( $switched_locale ) { restore_previous_locale(); } $insertion = array_merge( $instructions, $insertion ); $start_marker = "# BEGIN {$marker}"; $end_marker = "# END {$marker}"; $fp = fopen( $filename, 'r+' ); if ( ! $fp ) { return false; } // Attempt to get a lock. If the filesystem supports locking, this will block until the lock is acquired. flock( $fp, LOCK_EX ); $lines = array(); while ( ! feof( $fp ) ) { $lines[] = rtrim( fgets( $fp ), "\r\n" ); } // Split out the existing file into the preceding lines, and those that appear after the marker. $pre_lines = array(); $post_lines = array(); $existing_lines = array(); $found_marker = false; $found_end_marker = false; foreach ( $lines as $line ) { if ( ! $found_marker && str_contains( $line, $start_marker ) ) { $found_marker = true; continue; } elseif ( ! $found_end_marker && str_contains( $line, $end_marker ) ) { $found_end_marker = true; continue; } if ( ! $found_marker ) { $pre_lines[] = $line; } elseif ( $found_marker && $found_end_marker ) { $post_lines[] = $line; } else { $existing_lines[] = $line; } } // Check to see if there was a change. if ( $existing_lines === $insertion ) { flock( $fp, LOCK_UN ); fclose( $fp ); return true; } // Generate the new file data. $new_file_data = implode( "\n", array_merge( $pre_lines, array( $start_marker ), $insertion, array( $end_marker ), $post_lines ) ); // Write to the start of the file, and truncate it to that length. fseek( $fp, 0 ); $bytes = fwrite( $fp, $new_file_data ); if ( $bytes ) { ftruncate( $fp, ftell( $fp ) ); } fflush( $fp ); flock( $fp, LOCK_UN ); fclose( $fp ); return (bool) $bytes; } /** * Updates the htaccess file with the current rules if it is writable. * * Always writes to the file if it exists and is writable to ensure that we * blank out old rules. * * @since 1.5.0 * * @global WP_Rewrite $wp_rewrite WordPress rewrite component. * * @return bool|null True on write success, false on failure. Null in multisite. */ function save_mod_rewrite_rules() { global $wp_rewrite; if ( is_multisite() ) { return; } // Ensure get_home_path() is declared. require_once ABSPATH . 'wp-admin/includes/file.php'; $home_path = get_home_path(); $htaccess_file = $home_path . '.htaccess'; /* * If the file doesn't already exist check for write access to the directory * and whether we have some rules. Else check for write access to the file. */ if ( ! file_exists( $htaccess_file ) && is_writable( $home_path ) && $wp_rewrite->using_mod_rewrite_permalinks() || is_writable( $htaccess_file ) ) { if ( got_mod_rewrite() ) { $rules = explode( "\n", $wp_rewrite->mod_rewrite_rules() ); return insert_with_markers( $htaccess_file, 'WordPress', $rules ); } } return false; } /** * Updates the IIS web.config file with the current rules if it is writable. * If the permalinks do not require rewrite rules then the rules are deleted from the web.config file. * * @since 2.8.0 * * @global WP_Rewrite $wp_rewrite WordPress rewrite component. * * @return bool|null True on write success, false on failure. Null in multisite. */ function iis7_save_url_rewrite_rules() { global $wp_rewrite; if ( is_multisite() ) { return; } // Ensure get_home_path() is declared. require_once ABSPATH . 'wp-admin/includes/file.php'; $home_path = get_home_path(); $web_config_file = $home_path . 'web.config'; // Using win_is_writable() instead of is_writable() because of a bug in Windows PHP. if ( iis7_supports_permalinks() && ( ! file_exists( $web_config_file ) && win_is_writable( $home_path ) && $wp_rewrite->using_mod_rewrite_permalinks() || win_is_writable( $web_config_file ) ) ) { $rule = $wp_rewrite->iis7_url_rewrite_rules( false ); if ( ! empty( $rule ) ) { return iis7_add_rewrite_rule( $web_config_file, $rule ); } else { return iis7_delete_rewrite_rule( $web_config_file ); } } return false; } /** * Updates the "recently-edited" file for the plugin or theme file editor. * * @since 1.5.0 * * @param string $file */ function update_recently_edited( $file ) { $oldfiles = (array) get_option( 'recently_edited' ); if ( $oldfiles ) { $oldfiles = array_reverse( $oldfiles ); $oldfiles[] = $file; $oldfiles = array_reverse( $oldfiles ); $oldfiles = array_unique( $oldfiles ); if ( 5 < count( $oldfiles ) ) { array_pop( $oldfiles ); } } else { $oldfiles[] = $file; } update_option( 'recently_edited', $oldfiles ); } /** * Makes a tree structure for the theme file editor's file list. * * @since 4.9.0 * @access private * * @param array $allowed_files List of theme file paths. * @return array Tree structure for listing theme files. */ function wp_make_theme_file_tree( $allowed_files ) { $tree_list = array(); foreach ( $allowed_files as $file_name => $absolute_filename ) { $list = explode( '/', $file_name ); $last_dir = &$tree_list; foreach ( $list as $dir ) { $last_dir =& $last_dir[ $dir ]; } $last_dir = $file_name; } return $tree_list; } /** * Outputs the formatted file list for the theme file editor. * * @since 4.9.0 * @access private * * @global string $relative_file Name of the file being edited relative to the * theme directory. * @global string $stylesheet The stylesheet name of the theme being edited. * * @param array|string $tree List of file/folder paths, or filename. * @param int $level The aria-level for the current iteration. * @param int $size The aria-setsize for the current iteration. * @param int $index The aria-posinset for the current iteration. */ function wp_print_theme_file_tree( $tree, $level = 2, $size = 1, $index = 1 ) { global $relative_file, $stylesheet; if ( is_array( $tree ) ) { $index = 0; $size = count( $tree ); foreach ( $tree as $label => $theme_file ) : ++$index; if ( ! is_array( $theme_file ) ) { wp_print_theme_file_tree( $theme_file, $level, $index, $size ); continue; } ?> <li role="treeitem" aria-expanded="true" tabindex="-1" aria-level="<?php echo esc_attr( $level ); ?>" aria-setsize="<?php echo esc_attr( $size ); ?>" aria-posinset="<?php echo esc_attr( $index ); ?>"> <span class="folder-label"><?php echo esc_html( $label ); ?> <span class="screen-reader-text"> <?php /* translators: Hidden accessibility text. */ _e( 'folder' ); ?> </span><span aria-hidden="true" class="icon"></span></span> <ul role="group" class="tree-folder"><?php wp_print_theme_file_tree( $theme_file, $level + 1, $index, $size ); ?></ul> </li> <?php endforeach; } else { $filename = $tree; $url = add_query_arg( array( 'file' => rawurlencode( $tree ), 'theme' => rawurlencode( $stylesheet ), ), self_admin_url( 'theme-editor.php' ) ); ?> <li role="none" class="<?php echo esc_attr( $relative_file === $filename ? 'current-file' : '' ); ?>"> <a role="treeitem" tabindex="<?php echo esc_attr( $relative_file === $filename ? '0' : '-1' ); ?>" href="<?php echo esc_url( $url ); ?>" aria-level="<?php echo esc_attr( $level ); ?>" aria-setsize="<?php echo esc_attr( $size ); ?>" aria-posinset="<?php echo esc_attr( $index ); ?>"> <?php $file_description = esc_html( get_file_description( $filename ) ); if ( $file_description !== $filename && wp_basename( $filename ) !== $file_description ) { $file_description .= '<br /><span class="nonessential">(' . esc_html( $filename ) . ')</span>'; } if ( $relative_file === $filename ) { echo '<span class="notice notice-info">' . $file_description . '</span>'; } else { echo $file_description; } ?> </a> </li> <?php } } /** * Makes a tree structure for the plugin file editor's file list. * * @since 4.9.0 * @access private * * @param array $plugin_editable_files List of plugin file paths. * @return array Tree structure for listing plugin files. */ function wp_make_plugin_file_tree( $plugin_editable_files ) { $tree_list = array(); foreach ( $plugin_editable_files as $plugin_file ) { $list = explode( '/', preg_replace( '#^.+?/#', '', $plugin_file ) ); $last_dir = &$tree_list; foreach ( $list as $dir ) { $last_dir =& $last_dir[ $dir ]; } $last_dir = $plugin_file; } return $tree_list; } /** * Outputs the formatted file list for the plugin file editor. * * @since 4.9.0 * @access private * * @param array|string $tree List of file/folder paths, or filename. * @param string $label Name of file or folder to print. * @param int $level The aria-level for the current iteration. * @param int $size The aria-setsize for the current iteration. * @param int $index The aria-posinset for the current iteration. */ function wp_print_plugin_file_tree( $tree, $label = '', $level = 2, $size = 1, $index = 1 ) { global $file, $plugin; if ( is_array( $tree ) ) { $index = 0; $size = count( $tree ); foreach ( $tree as $label => $plugin_file ) : ++$index; if ( ! is_array( $plugin_file ) ) { wp_print_plugin_file_tree( $plugin_file, $label, $level, $index, $size ); continue; } ?> <li role="treeitem" aria-expanded="true" tabindex="-1" aria-level="<?php echo esc_attr( $level ); ?>" aria-setsize="<?php echo esc_attr( $size ); ?>" aria-posinset="<?php echo esc_attr( $index ); ?>"> <span class="folder-label"><?php echo esc_html( $label ); ?> <span class="screen-reader-text"> <?php /* translators: Hidden accessibility text. */ _e( 'folder' ); ?> </span><span aria-hidden="true" class="icon"></span></span> <ul role="group" class="tree-folder"><?php wp_print_plugin_file_tree( $plugin_file, '', $level + 1, $index, $size ); ?></ul> </li> <?php endforeach; } else { $url = add_query_arg( array( 'file' => rawurlencode( $tree ), 'plugin' => rawurlencode( $plugin ), ), self_admin_url( 'plugin-editor.php' ) ); ?> <li role="none" class="<?php echo esc_attr( $file === $tree ? 'current-file' : '' ); ?>"> <a role="treeitem" tabindex="<?php echo esc_attr( $file === $tree ? '0' : '-1' ); ?>" href="<?php echo esc_url( $url ); ?>" aria-level="<?php echo esc_attr( $level ); ?>" aria-setsize="<?php echo esc_attr( $size ); ?>" aria-posinset="<?php echo esc_attr( $index ); ?>"> <?php if ( $file === $tree ) { echo '<span class="notice notice-info">' . esc_html( $label ) . '</span>'; } else { echo esc_html( $label ); } ?> </a> </li> <?php } } /** * Flushes rewrite rules if `siteurl`, `home` or `page_on_front` changed. * * @since 2.1.0 * * @param string $old_value * @param string $value */ function update_home_siteurl( $old_value, $value ) { if ( wp_installing() ) { return; } if ( is_multisite() && ms_is_switched() ) { delete_option( 'rewrite_rules' ); } else { flush_rewrite_rules(); } } /** * Resets global variables based on `$_GET` and `$_POST`. * * This function resets global variables based on the names passed * in the `$vars` array to the value of `$_POST[$var]` or `$_GET[$var]` or an * empty string if neither is defined. * * @since 2.0.0 * * @param array $vars An array of globals to reset. */ function wp_reset_vars( $vars ) { foreach ( $vars as $var ) { if ( empty( $_POST[ $var ] ) ) { if ( empty( $_GET[ $var ] ) ) { $GLOBALS[ $var ] = ''; } else { $GLOBALS[ $var ] = $_GET[ $var ]; } } else { $GLOBALS[ $var ] = $_POST[ $var ]; } } } /** * Displays the given administration message. * * @since 2.1.0 * * @param string|WP_Error $message */ function show_message( $message ) { if ( is_wp_error( $message ) ) { if ( $message->get_error_data() && is_string( $message->get_error_data() ) ) { $message = $message->get_error_message() . ': ' . $message->get_error_data(); } else { $message = $message->get_error_message(); } } echo "<p>$message</p>\n"; wp_ob_end_flush_all(); flush(); } /** * @since 2.8.0 * * @param string $content * @return array */ function wp_doc_link_parse( $content ) { if ( ! is_string( $content ) || empty( $content ) ) { return array(); } if ( ! function_exists( 'token_get_all' ) ) { return array(); } $tokens = token_get_all( $content ); $count = count( $tokens ); $functions = array(); $ignore_functions = array(); for ( $t = 0; $t < $count - 2; $t++ ) { if ( ! is_array( $tokens[ $t ] ) ) { continue; } if ( T_STRING === $tokens[ $t ][0] && ( '(' === $tokens[ $t + 1 ] || '(' === $tokens[ $t + 2 ] ) ) { // If it's a function or class defined locally, there's not going to be any docs available. if ( ( isset( $tokens[ $t - 2 ][1] ) && in_array( $tokens[ $t - 2 ][1], array( 'function', 'class' ), true ) ) || ( isset( $tokens[ $t - 2 ][0] ) && T_OBJECT_OPERATOR === $tokens[ $t - 1 ][0] ) ) { $ignore_functions[] = $tokens[ $t ][1]; } // Add this to our stack of unique references. $functions[] = $tokens[ $t ][1]; } } $functions = array_unique( $functions ); sort( $functions ); /** * Filters the list of functions and classes to be ignored from the documentation lookup. * * @since 2.8.0 * * @param string[] $ignore_functions Array of names of functions and classes to be ignored. */ $ignore_functions = apply_filters( 'documentation_ignore_functions', $ignore_functions ); $ignore_functions = array_unique( $ignore_functions ); $output = array(); foreach ( $functions as $function ) { if ( in_array( $function, $ignore_functions, true ) ) { continue; } $output[] = $function; } return $output; } /** * Saves option for number of rows when listing posts, pages, comments, etc. * * @since 2.8.0 */ function set_screen_options() { if ( ! isset( $_POST['wp_screen_options'] ) || ! is_array( $_POST['wp_screen_options'] ) ) { return; } check_admin_referer( 'screen-options-nonce', 'screenoptionnonce' ); $user = wp_get_current_user(); if ( ! $user ) { return; } $option = $_POST['wp_screen_options']['option']; $value = $_POST['wp_screen_options']['value']; if ( sanitize_key( $option ) !== $option ) { return; } $map_option = $option; $type = str_replace( 'edit_', '', $map_option ); $type = str_replace( '_per_page', '', $type ); if ( in_array( $type, get_taxonomies(), true ) ) { $map_option = 'edit_tags_per_page'; } elseif ( in_array( $type, get_post_types(), true ) ) { $map_option = 'edit_per_page'; } else { $option = str_replace( '-', '_', $option ); } switch ( $map_option ) { case 'edit_per_page': case 'users_per_page': case 'edit_comments_per_page': case 'upload_per_page': case 'edit_tags_per_page': case 'plugins_per_page': case 'export_personal_data_requests_per_page': case 'remove_personal_data_requests_per_page': // Network admin. case 'sites_network_per_page': case 'users_network_per_page': case 'site_users_network_per_page': case 'plugins_network_per_page': case 'themes_network_per_page': case 'site_themes_network_per_page': $value = (int) $value; if ( $value < 1 || $value > 999 ) { return; } break; default: $screen_option = false; if ( str_ends_with( $option, '_page' ) || 'layout_columns' === $option ) { /** * Filters a screen option value before it is set. * * The filter can also be used to modify non-standard `[items]_per_page` * settings. See the parent function for a full list of standard options. * * Returning false from the filter will skip saving the current option. * * @since 2.8.0 * @since 5.4.2 Only applied to options ending with '_page', * or the 'layout_columns' option. * * @see set_screen_options() * * @param mixed $screen_option The value to save instead of the option value. * Default false (to skip saving the current option). * @param string $option The option name. * @param int $value The option value. */ $screen_option = apply_filters( 'set-screen-option', $screen_option, $option, $value ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores } /** * Filters a screen option value before it is set. * * The dynamic portion of the hook name, `$option`, refers to the option name. * * Returning false from the filter will skip saving the current option. * * @since 5.4.2 * * @see set_screen_options() * * @param mixed $screen_option The value to save instead of the option value. * Default false (to skip saving the current option). * @param string $option The option name. * @param int $value The option value. */ $value = apply_filters( "set_screen_option_{$option}", $screen_option, $option, $value ); if ( false === $value ) { return; } break; } update_user_meta( $user->ID, $option, $value ); $url = remove_query_arg( array( 'pagenum', 'apage', 'paged' ), wp_get_referer() ); if ( isset( $_POST['mode'] ) ) { $url = add_query_arg( array( 'mode' => $_POST['mode'] ), $url ); } wp_safe_redirect( $url ); exit; } /** * Checks if rewrite rule for WordPress already exists in the IIS 7+ configuration file. * * @since 2.8.0 * * @param string $filename The file path to the configuration file. * @return bool */ function iis7_rewrite_rule_exists( $filename ) { if ( ! file_exists( $filename ) ) { return false; } if ( ! class_exists( 'DOMDocument', false ) ) { return false; } $doc = new DOMDocument(); if ( $doc->load( $filename ) === false ) { return false; } $xpath = new DOMXPath( $doc ); $rules = $xpath->query( '/configuration/system.webServer/rewrite/rules/rule[starts-with(@name,\'wordpress\')] | /configuration/system.webServer/rewrite/rules/rule[starts-with(@name,\'WordPress\')]' ); if ( 0 === $rules->length ) { return false; } return true; } /** * Deletes WordPress rewrite rule from web.config file if it exists there. * * @since 2.8.0 * * @param string $filename Name of the configuration file. * @return bool */ function iis7_delete_rewrite_rule( $filename ) { // If configuration file does not exist then rules also do not exist, so there is nothing to delete. if ( ! file_exists( $filename ) ) { return true; } if ( ! class_exists( 'DOMDocument', false ) ) { return false; } $doc = new DOMDocument(); $doc->preserveWhiteSpace = false; if ( $doc->load( $filename ) === false ) { return false; } $xpath = new DOMXPath( $doc ); $rules = $xpath->query( '/configuration/system.webServer/rewrite/rules/rule[starts-with(@name,\'wordpress\')] | /configuration/system.webServer/rewrite/rules/rule[starts-with(@name,\'WordPress\')]' ); if ( $rules->length > 0 ) { $child = $rules->item( 0 ); $parent = $child->parentNode; $parent->removeChild( $child ); $doc->formatOutput = true; saveDomDocument( $doc, $filename ); } return true; } /** * Adds WordPress rewrite rule to the IIS 7+ configuration file. * * @since 2.8.0 * * @param string $filename The file path to the configuration file. * @param string $rewrite_rule The XML fragment with URL Rewrite rule. * @return bool */ function iis7_add_rewrite_rule( $filename, $rewrite_rule ) { if ( ! class_exists( 'DOMDocument', false ) ) { return false; } // If configuration file does not exist then we create one. if ( ! file_exists( $filename ) ) { $fp = fopen( $filename, 'w' ); fwrite( $fp, '<configuration/>' ); fclose( $fp ); } $doc = new DOMDocument(); $doc->preserveWhiteSpace = false; if ( $doc->load( $filename ) === false ) { return false; } $xpath = new DOMXPath( $doc ); // First check if the rule already exists as in that case there is no need to re-add it. $wordpress_rules = $xpath->query( '/configuration/system.webServer/rewrite/rules/rule[starts-with(@name,\'wordpress\')] | /configuration/system.webServer/rewrite/rules/rule[starts-with(@name,\'WordPress\')]' ); if ( $wordpress_rules->length > 0 ) { return true; } // Check the XPath to the rewrite rule and create XML nodes if they do not exist. $xml_nodes = $xpath->query( '/configuration/system.webServer/rewrite/rules' ); if ( $xml_nodes->length > 0 ) { $rules_node = $xml_nodes->item( 0 ); } else { $rules_node = $doc->createElement( 'rules' ); $xml_nodes = $xpath->query( '/configuration/system.webServer/rewrite' ); if ( $xml_nodes->length > 0 ) { $rewrite_node = $xml_nodes->item( 0 ); $rewrite_node->appendChild( $rules_node ); } else { $rewrite_node = $doc->createElement( 'rewrite' ); $rewrite_node->appendChild( $rules_node ); $xml_nodes = $xpath->query( '/configuration/system.webServer' ); if ( $xml_nodes->length > 0 ) { $system_web_server_node = $xml_nodes->item( 0 ); $system_web_server_node->appendChild( $rewrite_node ); } else { $system_web_server_node = $doc->createElement( 'system.webServer' ); $system_web_server_node->appendChild( $rewrite_node ); $xml_nodes = $xpath->query( '/configuration' ); if ( $xml_nodes->length > 0 ) { $config_node = $xml_nodes->item( 0 ); $config_node->appendChild( $system_web_server_node ); } else { $config_node = $doc->createElement( 'configuration' ); $doc->appendChild( $config_node ); $config_node->appendChild( $system_web_server_node ); } } } } $rule_fragment = $doc->createDocumentFragment(); $rule_fragment->appendXML( $rewrite_rule ); $rules_node->appendChild( $rule_fragment ); $doc->encoding = 'UTF-8'; $doc->formatOutput = true; saveDomDocument( $doc, $filename ); return true; } /** * Saves the XML document into a file. * * @since 2.8.0 * * @param DOMDocument $doc * @param string $filename */ function saveDomDocument( $doc, $filename ) { // phpcs:ignore WordPress.NamingConventions.ValidFunctionName.FunctionNameInvalid $config = $doc->saveXML(); $config = preg_replace( "/([^\r])\n/", "$1\r\n", $config ); $fp = fopen( $filename, 'w' ); fwrite( $fp, $config ); fclose( $fp ); } /** * Displays the default admin color scheme picker (Used in user-edit.php). * * @since 3.0.0 * * @global array $_wp_admin_css_colors * * @param int $user_id User ID. */ function admin_color_scheme_picker( $user_id ) { global $_wp_admin_css_colors; ksort( $_wp_admin_css_colors ); if ( isset( $_wp_admin_css_colors['fresh'] ) ) { // Set Default ('fresh') and Light should go first. $_wp_admin_css_colors = array_filter( array_merge( array( 'fresh' => '', 'light' => '', 'modern' => '', ), $_wp_admin_css_colors ) ); } $current_color = get_user_option( 'admin_color', $user_id ); if ( empty( $current_color ) || ! isset( $_wp_admin_css_colors[ $current_color ] ) ) { $current_color = 'fresh'; } ?> <fieldset id="color-picker" class="scheme-list"> <legend class="screen-reader-text"><span> <?php /* translators: Hidden accessibility text. */ _e( 'Admin Color Scheme' ); ?> </span></legend> <?php wp_nonce_field( 'save-color-scheme', 'color-nonce', false ); foreach ( $_wp_admin_css_colors as $color => $color_info ) : ?> <div class="color-option <?php echo ( $color === $current_color ) ? 'selected' : ''; ?>"> <input name="admin_color" id="admin_color_<?php echo esc_attr( $color ); ?>" type="radio" value="<?php echo esc_attr( $color ); ?>" class="tog" <?php checked( $color, $current_color ); ?> /> <input type="hidden" class="css_url" value="<?php echo esc_url( $color_info->url ); ?>" /> <input type="hidden" class="icon_colors" value="<?php echo esc_attr( wp_json_encode( array( 'icons' => $color_info->icon_colors ) ) ); ?>" /> <label for="admin_color_<?php echo esc_attr( $color ); ?>"><?php echo esc_html( $color_info->name ); ?></label> <div class="color-palette"> <?php foreach ( $color_info->colors as $html_color ) { ?> <div class="color-palette-shade" style="background-color: <?php echo esc_attr( $html_color ); ?>"> </div> <?php } ?> </div> </div> <?php endforeach; ?> </fieldset> <?php } /** * * @global array $_wp_admin_css_colors */ function wp_color_scheme_settings() { global $_wp_admin_css_colors; $color_scheme = get_user_option( 'admin_color' ); // It's possible to have a color scheme set that is no longer registered. if ( empty( $_wp_admin_css_colors[ $color_scheme ] ) ) { $color_scheme = 'fresh'; } if ( ! empty( $_wp_admin_css_colors[ $color_scheme ]->icon_colors ) ) { $icon_colors = $_wp_admin_css_colors[ $color_scheme ]->icon_colors; } elseif ( ! empty( $_wp_admin_css_colors['fresh']->icon_colors ) ) { $icon_colors = $_wp_admin_css_colors['fresh']->icon_colors; } else { // Fall back to the default set of icon colors if the default scheme is missing. $icon_colors = array( 'base' => '#a7aaad', 'focus' => '#72aee6', 'current' => '#fff', ); } echo '<script type="text/javascript">var _wpColorScheme = ' . wp_json_encode( array( 'icons' => $icon_colors ) ) . ";</script>\n"; } /** * Displays the viewport meta in the admin. * * @since 5.5.0 */ function wp_admin_viewport_meta() { /** * Filters the viewport meta in the admin. * * @since 5.5.0 * * @param string $viewport_meta The viewport meta. */ $viewport_meta = apply_filters( 'admin_viewport_meta', 'width=device-width,initial-scale=1.0' ); if ( empty( $viewport_meta ) ) { return; } echo '<meta name="viewport" content="' . esc_attr( $viewport_meta ) . '">'; } /** * Adds viewport meta for mobile in Customizer. * * Hooked to the {@see 'admin_viewport_meta'} filter. * * @since 5.5.0 * * @param string $viewport_meta The viewport meta. * @return string Filtered viewport meta. */ function _customizer_mobile_viewport_meta( $viewport_meta ) { return trim( $viewport_meta, ',' ) . ',minimum-scale=0.5,maximum-scale=1.2'; } /** * Checks lock status for posts displayed on the Posts screen. * * @since 3.6.0 * * @param array $response The Heartbeat response. * @param array $data The $_POST data sent. * @param string $screen_id The screen ID. * @return array The Heartbeat response. */ function wp_check_locked_posts( $response, $data, $screen_id ) { $checked = array(); if ( array_key_exists( 'wp-check-locked-posts', $data ) && is_array( $data['wp-check-locked-posts'] ) ) { foreach ( $data['wp-check-locked-posts'] as $key ) { $post_id = absint( substr( $key, 5 ) ); if ( ! $post_id ) { continue; } $user_id = wp_check_post_lock( $post_id ); if ( $user_id ) { $user = get_userdata( $user_id ); if ( $user && current_user_can( 'edit_post', $post_id ) ) { $send = array( 'name' => $user->display_name, /* translators: %s: User's display name. */ 'text' => sprintf( __( '%s is currently editing' ), $user->display_name ), ); if ( get_option( 'show_avatars' ) ) { $send['avatar_src'] = get_avatar_url( $user->ID, array( 'size' => 18 ) ); $send['avatar_src_2x'] = get_avatar_url( $user->ID, array( 'size' => 36 ) ); } $checked[ $key ] = $send; } } } } if ( ! empty( $checked ) ) { $response['wp-check-locked-posts'] = $checked; } return $response; } /** * Checks lock status on the New/Edit Post screen and refresh the lock. * * @since 3.6.0 * * @param array $response The Heartbeat response. * @param array $data The $_POST data sent. * @param string $screen_id The screen ID. * @return array The Heartbeat response. */ function wp_refresh_post_lock( $response, $data, $screen_id ) { if ( array_key_exists( 'wp-refresh-post-lock', $data ) ) { $received = $data['wp-refresh-post-lock']; $send = array(); $post_id = absint( $received['post_id'] ); if ( ! $post_id ) { return $response; } if ( ! current_user_can( 'edit_post', $post_id ) ) { return $response; } $user_id = wp_check_post_lock( $post_id ); $user = get_userdata( $user_id ); if ( $user ) { $error = array( 'name' => $user->display_name, /* translators: %s: User's display name. */ 'text' => sprintf( __( '%s has taken over and is currently editing.' ), $user->display_name ), ); if ( get_option( 'show_avatars' ) ) { $error['avatar_src'] = get_avatar_url( $user->ID, array( 'size' => 64 ) ); $error['avatar_src_2x'] = get_avatar_url( $user->ID, array( 'size' => 128 ) ); } $send['lock_error'] = $error; } else { $new_lock = wp_set_post_lock( $post_id ); if ( $new_lock ) { $send['new_lock'] = implode( ':', $new_lock ); } } $response['wp-refresh-post-lock'] = $send; } return $response; } /** * Checks nonce expiration on the New/Edit Post screen and refresh if needed. * * @since 3.6.0 * * @param array $response The Heartbeat response. * @param array $data The $_POST data sent. * @param string $screen_id The screen ID. * @return array The Heartbeat response. */ function wp_refresh_post_nonces( $response, $data, $screen_id ) { if ( array_key_exists( 'wp-refresh-post-nonces', $data ) ) { $received = $data['wp-refresh-post-nonces']; $response['wp-refresh-post-nonces'] = array( 'check' => 1 ); $post_id = absint( $received['post_id'] ); if ( ! $post_id ) { return $response; } if ( ! current_user_can( 'edit_post', $post_id ) ) { return $response; } $response['wp-refresh-post-nonces'] = array( 'replace' => array( 'getpermalinknonce' => wp_create_nonce( 'getpermalink' ), 'samplepermalinknonce' => wp_create_nonce( 'samplepermalink' ), 'closedpostboxesnonce' => wp_create_nonce( 'closedpostboxes' ), '_ajax_linking_nonce' => wp_create_nonce( 'internal-linking' ), '_wpnonce' => wp_create_nonce( 'update-post_' . $post_id ), ), ); } return $response; } /** * Refresh nonces used with meta boxes in the block editor. * * @since 6.1.0 * * @param array $response The Heartbeat response. * @param array $data The $_POST data sent. * @return array The Heartbeat response. */ function wp_refresh_metabox_loader_nonces( $response, $data ) { if ( empty( $data['wp-refresh-metabox-loader-nonces'] ) ) { return $response; } $received = $data['wp-refresh-metabox-loader-nonces']; $post_id = (int) $received['post_id']; if ( ! $post_id ) { return $response; } if ( ! current_user_can( 'edit_post', $post_id ) ) { return $response; } $response['wp-refresh-metabox-loader-nonces'] = array( 'replace' => array( 'metabox_loader_nonce' => wp_create_nonce( 'meta-box-loader' ), '_wpnonce' => wp_create_nonce( 'update-post_' . $post_id ), ), ); return $response; } /** * Adds the latest Heartbeat and REST API nonce to the Heartbeat response. * * @since 5.0.0 * * @param array $response The Heartbeat response. * @return array The Heartbeat response. */ function wp_refresh_heartbeat_nonces( $response ) { // Refresh the Rest API nonce. $response['rest_nonce'] = wp_create_nonce( 'wp_rest' ); // Refresh the Heartbeat nonce. $response['heartbeat_nonce'] = wp_create_nonce( 'heartbeat-nonce' ); return $response; } /** * Disables suspension of Heartbeat on the Add/Edit Post screens. * * @since 3.8.0 * * @global string $pagenow The filename of the current screen. * * @param array $settings An array of Heartbeat settings. * @return array Filtered Heartbeat settings. */ function wp_heartbeat_set_suspension( $settings ) { global $pagenow; if ( 'post.php' === $pagenow || 'post-new.php' === $pagenow ) { $settings['suspension'] = 'disable'; } return $settings; } /** * Performs autosave with heartbeat. * * @since 3.9.0 * * @param array $response The Heartbeat response. * @param array $data The $_POST data sent. * @return array The Heartbeat response. */ function heartbeat_autosave( $response, $data ) { if ( ! empty( $data['wp_autosave'] ) ) { $saved = wp_autosave( $data['wp_autosave'] ); if ( is_wp_error( $saved ) ) { $response['wp_autosave'] = array( 'success' => false, 'message' => $saved->get_error_message(), ); } elseif ( empty( $saved ) ) { $response['wp_autosave'] = array( 'success' => false, 'message' => __( 'Error while saving.' ), ); } else { /* translators: Draft saved date format, see https://www.php.net/manual/datetime.format.php */ $draft_saved_date_format = __( 'g:i:s a' ); $response['wp_autosave'] = array( 'success' => true, /* translators: %s: Date and time. */ 'message' => sprintf( __( 'Draft saved at %s.' ), date_i18n( $draft_saved_date_format ) ), ); } } return $response; } /** * Removes single-use URL parameters and create canonical link based on new URL. * * Removes specific query string parameters from a URL, create the canonical link, * put it in the admin header, and change the current URL to match. * * @since 4.2.0 */ function wp_admin_canonical_url() { $removable_query_args = wp_removable_query_args(); if ( empty( $removable_query_args ) ) { return; } // Ensure we're using an absolute URL. $current_url = set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] ); $filtered_url = remove_query_arg( $removable_query_args, $current_url ); /** * Filters the admin canonical URL value. * * @since 6.5.0 * * @param string $filtered_url The admin canonical URL value. */ $filtered_url = apply_filters( 'wp_admin_canonical_url', $filtered_url ); ?> <link id="wp-admin-canonical" rel="canonical" href="<?php echo esc_url( $filtered_url ); ?>" /> <script> if ( window.history.replaceState ) { window.history.replaceState( null, null, document.getElementById( 'wp-admin-canonical' ).href + window.location.hash ); } </script> <?php } /** * Sends a referrer policy header so referrers are not sent externally from administration screens. * * @since 4.9.0 */ function wp_admin_headers() { $policy = 'strict-origin-when-cross-origin'; /** * Filters the admin referrer policy header value. * * @since 4.9.0 * @since 4.9.5 The default value was changed to 'strict-origin-when-cross-origin'. * * @link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy * * @param string $policy The admin referrer policy header value. Default 'strict-origin-when-cross-origin'. */ $policy = apply_filters( 'admin_referrer_policy', $policy ); header( sprintf( 'Referrer-Policy: %s', $policy ) ); } /** * Outputs JS that reloads the page if the user navigated to it with the Back or Forward button. * * Used on the Edit Post and Add New Post screens. Needed to ensure the page is not loaded from browser cache, * so the post title and editor content are the last saved versions. Ideally this script should run first in the head. * * @since 4.6.0 */ function wp_page_reload_on_back_button_js() { ?> <script> if ( typeof performance !== 'undefined' && performance.navigation && performance.navigation.type === 2 ) { document.location.reload( true ); } </script> <?php } /** * Sends a confirmation request email when a change of site admin email address is attempted. * * The new site admin address will not become active until confirmed. * * @since 3.0.0 * @since 4.9.0 This function was moved from wp-admin/includes/ms.php so it's no longer Multisite specific. * * @param string $old_value The old site admin email address. * @param string $value The proposed new site admin email address. */ function update_option_new_admin_email( $old_value, $value ) { if ( get_option( 'admin_email' ) === $value || ! is_email( $value ) ) { return; } $hash = md5( $value . time() . wp_rand() ); $new_admin_email = array( 'hash' => $hash, 'newemail' => $value, ); update_option( 'adminhash', $new_admin_email, false ); $switched_locale = switch_to_user_locale( get_current_user_id() ); /* translators: Do not translate USERNAME, ADMIN_URL, EMAIL, SITENAME, SITEURL: those are placeholders. */ $email_text = __( 'Howdy ###USERNAME###, Someone with administrator capabilities recently requested to have the administration email address changed on this site: ###SITEURL### To confirm this change, please click on the following link: ###ADMIN_URL### You can safely ignore and delete this email if you do not want to take this action. This email has been sent to ###EMAIL### Regards, All at ###SITENAME### ###SITEURL###' ); /** * Filters the text of the email sent when a change of site admin email address is attempted. * * The following strings have a special meaning and will get replaced dynamically: * - ###USERNAME### The current user's username. * - ###ADMIN_URL### The link to click on to confirm the email change. * - ###EMAIL### The proposed new site admin email address. * - ###SITENAME### The name of the site. * - ###SITEURL### The URL to the site. * * @since MU (3.0.0) * @since 4.9.0 This filter is no longer Multisite specific. * * @param string $email_text Text in the email. * @param array $new_admin_email { * Data relating to the new site admin email address. * * @type string $hash The secure hash used in the confirmation link URL. * @type string $newemail The proposed new site admin email address. * } */ $content = apply_filters( 'new_admin_email_content', $email_text, $new_admin_email ); $current_user = wp_get_current_user(); $content = str_replace( '###USERNAME###', $current_user->user_login, $content ); $content = str_replace( '###ADMIN_URL###', esc_url( self_admin_url( 'options.php?adminhash=' . $hash ) ), $content ); $content = str_replace( '###EMAIL###', $value, $content ); $content = str_replace( '###SITENAME###', wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES ), $content ); $content = str_replace( '###SITEURL###', home_url(), $content ); if ( '' !== get_option( 'blogname' ) ) { $site_title = wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES ); } else { $site_title = parse_url( home_url(), PHP_URL_HOST ); } $subject = sprintf( /* translators: New admin email address notification email subject. %s: Site title. */ __( '[%s] New Admin Email Address' ), $site_title ); /** * Filters the subject of the email sent when a change of site admin email address is attempted. * * @since 6.5.0 * * @param string $subject Subject of the email. */ $subject = apply_filters( 'new_admin_email_subject', $subject ); wp_mail( $value, $subject, $content ); if ( $switched_locale ) { restore_previous_locale(); } } /** * Appends '(Draft)' to draft page titles in the privacy page dropdown * so that unpublished content is obvious. * * @since 4.9.8 * @access private * * @param string $title Page title. * @param WP_Post $page Page data object. * @return string Page title. */ function _wp_privacy_settings_filter_draft_page_titles( $title, $page ) { if ( 'draft' === $page->post_status && 'privacy' === get_current_screen()->id ) { /* translators: %s: Page title. */ $title = sprintf( __( '%s (Draft)' ), $title ); } return $title; } /** * Checks if the user needs to update PHP. * * @since 5.1.0 * @since 5.1.1 Added the {@see 'wp_is_php_version_acceptable'} filter. * * @return array|false { * Array of PHP version data. False on failure. * * @type string $recommended_version The PHP version recommended by WordPress. * @type string $minimum_version The minimum required PHP version. * @type bool $is_supported Whether the PHP version is actively supported. * @type bool $is_secure Whether the PHP version receives security updates. * @type bool $is_acceptable Whether the PHP version is still acceptable or warnings * should be shown and an update recommended. * } */ function wp_check_php_version() { $version = PHP_VERSION; $key = md5( $version ); $response = get_site_transient( 'php_check_' . $key ); if ( false === $response ) { $url = 'http://api.wordpress.org/core/serve-happy/1.0/'; if ( wp_http_supports( array( 'ssl' ) ) ) { $url = set_url_scheme( $url, 'https' ); } $url = add_query_arg( 'php_version', $version, $url ); $response = wp_remote_get( $url ); if ( is_wp_error( $response ) || 200 !== wp_remote_retrieve_response_code( $response ) ) { return false; } $response = json_decode( wp_remote_retrieve_body( $response ), true ); if ( ! is_array( $response ) ) { return false; } set_site_transient( 'php_check_' . $key, $response, WEEK_IN_SECONDS ); } if ( isset( $response['is_acceptable'] ) && $response['is_acceptable'] ) { /** * Filters whether the active PHP version is considered acceptable by WordPress. * * Returning false will trigger a PHP version warning to show up in the admin dashboard to administrators. * * This filter is only run if the wordpress.org Serve Happy API considers the PHP version acceptable, ensuring * that this filter can only make this check stricter, but not loosen it. * * @since 5.1.1 * * @param bool $is_acceptable Whether the PHP version is considered acceptable. Default true. * @param string $version PHP version checked. */ $response['is_acceptable'] = (bool) apply_filters( 'wp_is_php_version_acceptable', true, $version ); } $response['is_lower_than_future_minimum'] = false; // The minimum supported PHP version will be updated to 7.4 in the future. Check if the current version is lower. if ( version_compare( $version, '7.4', '<' ) ) { $response['is_lower_than_future_minimum'] = true; // Force showing of warnings. $response['is_acceptable'] = false; } return $response; } class-wp-screen.php 0000644 00000110717 14735706075 0010310 0 ustar 00 <?php /** * Screen API: WP_Screen class * * @package WordPress * @subpackage Administration * @since 4.4.0 */ /** * Core class used to implement an admin screen API. * * @since 3.3.0 */ #[AllowDynamicProperties] final class WP_Screen { /** * Any action associated with the screen. * * 'add' for *-add.php and *-new.php screens. Empty otherwise. * * @since 3.3.0 * @var string */ public $action; /** * The base type of the screen. * * This is typically the same as `$id` but with any post types and taxonomies stripped. * For example, for an `$id` of 'edit-post' the base is 'edit'. * * @since 3.3.0 * @var string */ public $base; /** * The number of columns to display. Access with get_columns(). * * @since 3.4.0 * @var int */ private $columns = 0; /** * The unique ID of the screen. * * @since 3.3.0 * @var string */ public $id; /** * Which admin the screen is in. network | user | site | false * * @since 3.5.0 * @var string */ protected $in_admin; /** * Whether the screen is in the network admin. * * Deprecated. Use in_admin() instead. * * @since 3.3.0 * @deprecated 3.5.0 * @var bool */ public $is_network; /** * Whether the screen is in the user admin. * * Deprecated. Use in_admin() instead. * * @since 3.3.0 * @deprecated 3.5.0 * @var bool */ public $is_user; /** * The base menu parent. * * This is derived from `$parent_file` by removing the query string and any .php extension. * `$parent_file` values of 'edit.php?post_type=page' and 'edit.php?post_type=post' * have a `$parent_base` of 'edit'. * * @since 3.3.0 * @var string|null */ public $parent_base; /** * The parent_file for the screen per the admin menu system. * * Some `$parent_file` values are 'edit.php?post_type=page', 'edit.php', and 'options-general.php'. * * @since 3.3.0 * @var string|null */ public $parent_file; /** * The post type associated with the screen, if any. * * The 'edit.php?post_type=page' screen has a post type of 'page'. * The 'edit-tags.php?taxonomy=$taxonomy&post_type=page' screen has a post type of 'page'. * * @since 3.3.0 * @var string */ public $post_type; /** * The taxonomy associated with the screen, if any. * * The 'edit-tags.php?taxonomy=category' screen has a taxonomy of 'category'. * * @since 3.3.0 * @var string */ public $taxonomy; /** * The help tab data associated with the screen, if any. * * @since 3.3.0 * @var array */ private $_help_tabs = array(); /** * The help sidebar data associated with screen, if any. * * @since 3.3.0 * @var string */ private $_help_sidebar = ''; /** * The accessible hidden headings and text associated with the screen, if any. * * @since 4.4.0 * @var string[] */ private $_screen_reader_content = array(); /** * Stores old string-based help. * * @var array */ private static $_old_compat_help = array(); /** * The screen options associated with screen, if any. * * @since 3.3.0 * @var array */ private $_options = array(); /** * The screen object registry. * * @since 3.3.0 * * @var array */ private static $_registry = array(); /** * Stores the result of the public show_screen_options function. * * @since 3.3.0 * @var bool */ private $_show_screen_options; /** * Stores the 'screen_settings' section of screen options. * * @since 3.3.0 * @var string */ private $_screen_settings; /** * Whether the screen is using the block editor. * * @since 5.0.0 * @var bool */ public $is_block_editor = false; /** * Fetches a screen object. * * @since 3.3.0 * * @global string $hook_suffix * * @param string|WP_Screen $hook_name Optional. The hook name (also known as the hook suffix) used to determine the screen. * Defaults to the current $hook_suffix global. * @return WP_Screen Screen object. */ public static function get( $hook_name = '' ) { if ( $hook_name instanceof WP_Screen ) { return $hook_name; } $id = ''; $post_type = null; $taxonomy = null; $in_admin = false; $action = ''; $is_block_editor = false; if ( $hook_name ) { $id = $hook_name; } elseif ( ! empty( $GLOBALS['hook_suffix'] ) ) { $id = $GLOBALS['hook_suffix']; } // For those pesky meta boxes. if ( $hook_name && post_type_exists( $hook_name ) ) { $post_type = $id; $id = 'post'; // Changes later. Ends up being $base. } else { if ( str_ends_with( $id, '.php' ) ) { $id = substr( $id, 0, -4 ); } if ( in_array( $id, array( 'post-new', 'link-add', 'media-new', 'user-new' ), true ) ) { $id = substr( $id, 0, -4 ); $action = 'add'; } } if ( ! $post_type && $hook_name ) { if ( str_ends_with( $id, '-network' ) ) { $id = substr( $id, 0, -8 ); $in_admin = 'network'; } elseif ( str_ends_with( $id, '-user' ) ) { $id = substr( $id, 0, -5 ); $in_admin = 'user'; } $id = sanitize_key( $id ); if ( 'edit-comments' !== $id && 'edit-tags' !== $id && str_starts_with( $id, 'edit-' ) ) { $maybe = substr( $id, 5 ); if ( taxonomy_exists( $maybe ) ) { $id = 'edit-tags'; $taxonomy = $maybe; } elseif ( post_type_exists( $maybe ) ) { $id = 'edit'; $post_type = $maybe; } } if ( ! $in_admin ) { $in_admin = 'site'; } } else { if ( defined( 'WP_NETWORK_ADMIN' ) && WP_NETWORK_ADMIN ) { $in_admin = 'network'; } elseif ( defined( 'WP_USER_ADMIN' ) && WP_USER_ADMIN ) { $in_admin = 'user'; } else { $in_admin = 'site'; } } if ( 'index' === $id ) { $id = 'dashboard'; } elseif ( 'front' === $id ) { $in_admin = false; } $base = $id; // If this is the current screen, see if we can be more accurate for post types and taxonomies. if ( ! $hook_name ) { if ( isset( $_REQUEST['post_type'] ) ) { $post_type = post_type_exists( $_REQUEST['post_type'] ) ? $_REQUEST['post_type'] : false; } if ( isset( $_REQUEST['taxonomy'] ) ) { $taxonomy = taxonomy_exists( $_REQUEST['taxonomy'] ) ? $_REQUEST['taxonomy'] : false; } switch ( $base ) { case 'post': if ( isset( $_GET['post'] ) && isset( $_POST['post_ID'] ) && (int) $_GET['post'] !== (int) $_POST['post_ID'] ) { wp_die( __( 'A post ID mismatch has been detected.' ), __( 'Sorry, you are not allowed to edit this item.' ), 400 ); } elseif ( isset( $_GET['post'] ) ) { $post_id = (int) $_GET['post']; } elseif ( isset( $_POST['post_ID'] ) ) { $post_id = (int) $_POST['post_ID']; } else { $post_id = 0; } if ( $post_id ) { $post = get_post( $post_id ); if ( $post ) { $post_type = $post->post_type; /** This filter is documented in wp-admin/post.php */ $replace_editor = apply_filters( 'replace_editor', false, $post ); if ( ! $replace_editor ) { $is_block_editor = use_block_editor_for_post( $post ); } } } break; case 'edit-tags': case 'term': if ( null === $post_type && is_object_in_taxonomy( 'post', $taxonomy ? $taxonomy : 'post_tag' ) ) { $post_type = 'post'; } break; case 'upload': $post_type = 'attachment'; break; } } switch ( $base ) { case 'post': if ( null === $post_type ) { $post_type = 'post'; } // When creating a new post, use the default block editor support value for the post type. if ( empty( $post_id ) ) { $is_block_editor = use_block_editor_for_post_type( $post_type ); } $id = $post_type; break; case 'edit': if ( null === $post_type ) { $post_type = 'post'; } $id .= '-' . $post_type; break; case 'edit-tags': case 'term': if ( null === $taxonomy ) { $taxonomy = 'post_tag'; } // The edit-tags ID does not contain the post type. Look for it in the request. if ( null === $post_type ) { $post_type = 'post'; if ( isset( $_REQUEST['post_type'] ) && post_type_exists( $_REQUEST['post_type'] ) ) { $post_type = $_REQUEST['post_type']; } } $id = 'edit-' . $taxonomy; break; } if ( 'network' === $in_admin ) { $id .= '-network'; $base .= '-network'; } elseif ( 'user' === $in_admin ) { $id .= '-user'; $base .= '-user'; } if ( isset( self::$_registry[ $id ] ) ) { $screen = self::$_registry[ $id ]; if ( get_current_screen() === $screen ) { return $screen; } } else { $screen = new self(); $screen->id = $id; } $screen->base = $base; $screen->action = $action; $screen->post_type = (string) $post_type; $screen->taxonomy = (string) $taxonomy; $screen->is_user = ( 'user' === $in_admin ); $screen->is_network = ( 'network' === $in_admin ); $screen->in_admin = $in_admin; $screen->is_block_editor = $is_block_editor; self::$_registry[ $id ] = $screen; return $screen; } /** * Makes the screen object the current screen. * * @see set_current_screen() * @since 3.3.0 * * @global WP_Screen $current_screen WordPress current screen object. * @global string $typenow The post type of the current screen. * @global string $taxnow The taxonomy of the current screen. */ public function set_current_screen() { global $current_screen, $taxnow, $typenow; $current_screen = $this; $typenow = $this->post_type; $taxnow = $this->taxonomy; /** * Fires after the current screen has been set. * * @since 3.0.0 * * @param WP_Screen $current_screen Current WP_Screen object. */ do_action( 'current_screen', $current_screen ); } /** * Constructor * * @since 3.3.0 */ private function __construct() {} /** * Indicates whether the screen is in a particular admin. * * @since 3.5.0 * * @param string $admin The admin to check against (network | user | site). * If empty any of the three admins will result in true. * @return bool True if the screen is in the indicated admin, false otherwise. */ public function in_admin( $admin = null ) { if ( empty( $admin ) ) { return (bool) $this->in_admin; } return ( $admin === $this->in_admin ); } /** * Sets or returns whether the block editor is loading on the current screen. * * @since 5.0.0 * * @param bool $set Optional. Sets whether the block editor is loading on the current screen or not. * @return bool True if the block editor is being loaded, false otherwise. */ public function is_block_editor( $set = null ) { if ( null !== $set ) { $this->is_block_editor = (bool) $set; } return $this->is_block_editor; } /** * Sets the old string-based contextual help for the screen for backward compatibility. * * @since 3.3.0 * * @param WP_Screen $screen A screen object. * @param string $help Help text. */ public static function add_old_compat_help( $screen, $help ) { self::$_old_compat_help[ $screen->id ] = $help; } /** * Sets the parent information for the screen. * * This is called in admin-header.php after the menu parent for the screen has been determined. * * @since 3.3.0 * * @param string $parent_file The parent file of the screen. Typically the $parent_file global. */ public function set_parentage( $parent_file ) { $this->parent_file = $parent_file; list( $this->parent_base ) = explode( '?', $parent_file ); $this->parent_base = str_replace( '.php', '', $this->parent_base ); } /** * Adds an option for the screen. * * Call this in template files after admin.php is loaded and before admin-header.php is loaded * to add screen options. * * @since 3.3.0 * * @param string $option Option ID. * @param mixed $args Option-dependent arguments. */ public function add_option( $option, $args = array() ) { $this->_options[ $option ] = $args; } /** * Removes an option from the screen. * * @since 3.8.0 * * @param string $option Option ID. */ public function remove_option( $option ) { unset( $this->_options[ $option ] ); } /** * Removes all options from the screen. * * @since 3.8.0 */ public function remove_options() { $this->_options = array(); } /** * Gets the options registered for the screen. * * @since 3.8.0 * * @return array Options with arguments. */ public function get_options() { return $this->_options; } /** * Gets the arguments for an option for the screen. * * @since 3.3.0 * * @param string $option Option name. * @param string|false $key Optional. Specific array key for when the option is an array. * Default false. * @return string The option value if set, null otherwise. */ public function get_option( $option, $key = false ) { if ( ! isset( $this->_options[ $option ] ) ) { return null; } if ( $key ) { if ( isset( $this->_options[ $option ][ $key ] ) ) { return $this->_options[ $option ][ $key ]; } return null; } return $this->_options[ $option ]; } /** * Gets the help tabs registered for the screen. * * @since 3.4.0 * @since 4.4.0 Help tabs are ordered by their priority. * * @return array Help tabs with arguments. */ public function get_help_tabs() { $help_tabs = $this->_help_tabs; $priorities = array(); foreach ( $help_tabs as $help_tab ) { if ( isset( $priorities[ $help_tab['priority'] ] ) ) { $priorities[ $help_tab['priority'] ][] = $help_tab; } else { $priorities[ $help_tab['priority'] ] = array( $help_tab ); } } ksort( $priorities ); $sorted = array(); foreach ( $priorities as $list ) { foreach ( $list as $tab ) { $sorted[ $tab['id'] ] = $tab; } } return $sorted; } /** * Gets the arguments for a help tab. * * @since 3.4.0 * * @param string $id Help Tab ID. * @return array Help tab arguments. */ public function get_help_tab( $id ) { if ( ! isset( $this->_help_tabs[ $id ] ) ) { return null; } return $this->_help_tabs[ $id ]; } /** * Adds a help tab to the contextual help for the screen. * * Call this on the `load-$pagenow` hook for the relevant screen, * or fetch the `$current_screen` object, or use get_current_screen() * and then call the method from the object. * * You may need to filter `$current_screen` using an if or switch statement * to prevent new help tabs from being added to ALL admin screens. * * @since 3.3.0 * @since 4.4.0 The `$priority` argument was added. * * @param array $args { * Array of arguments used to display the help tab. * * @type string $title Title for the tab. Default false. * @type string $id Tab ID. Must be HTML-safe and should be unique for this menu. * It is NOT allowed to contain any empty spaces. Default false. * @type string $content Optional. Help tab content in plain text or HTML. Default empty string. * @type callable $callback Optional. A callback to generate the tab content. Default false. * @type int $priority Optional. The priority of the tab, used for ordering. Default 10. * } */ public function add_help_tab( $args ) { $defaults = array( 'title' => false, 'id' => false, 'content' => '', 'callback' => false, 'priority' => 10, ); $args = wp_parse_args( $args, $defaults ); $args['id'] = sanitize_html_class( $args['id'] ); // Ensure we have an ID and title. if ( ! $args['id'] || ! $args['title'] ) { return; } // Allows for overriding an existing tab with that ID. $this->_help_tabs[ $args['id'] ] = $args; } /** * Removes a help tab from the contextual help for the screen. * * @since 3.3.0 * * @param string $id The help tab ID. */ public function remove_help_tab( $id ) { unset( $this->_help_tabs[ $id ] ); } /** * Removes all help tabs from the contextual help for the screen. * * @since 3.3.0 */ public function remove_help_tabs() { $this->_help_tabs = array(); } /** * Gets the content from a contextual help sidebar. * * @since 3.4.0 * * @return string Contents of the help sidebar. */ public function get_help_sidebar() { return $this->_help_sidebar; } /** * Adds a sidebar to the contextual help for the screen. * * Call this in template files after admin.php is loaded and before admin-header.php is loaded * to add a sidebar to the contextual help. * * @since 3.3.0 * * @param string $content Sidebar content in plain text or HTML. */ public function set_help_sidebar( $content ) { $this->_help_sidebar = $content; } /** * Gets the number of layout columns the user has selected. * * The layout_columns option controls the max number and default number of * columns. This method returns the number of columns within that range selected * by the user via Screen Options. If no selection has been made, the default * provisioned in layout_columns is returned. If the screen does not support * selecting the number of layout columns, 0 is returned. * * @since 3.4.0 * * @return int Number of columns to display. */ public function get_columns() { return $this->columns; } /** * Gets the accessible hidden headings and text used in the screen. * * @since 4.4.0 * * @see set_screen_reader_content() For more information on the array format. * * @return string[] An associative array of screen reader text strings. */ public function get_screen_reader_content() { return $this->_screen_reader_content; } /** * Gets a screen reader text string. * * @since 4.4.0 * * @param string $key Screen reader text array named key. * @return string Screen reader text string. */ public function get_screen_reader_text( $key ) { if ( ! isset( $this->_screen_reader_content[ $key ] ) ) { return null; } return $this->_screen_reader_content[ $key ]; } /** * Adds accessible hidden headings and text for the screen. * * @since 4.4.0 * * @param array $content { * An associative array of screen reader text strings. * * @type string $heading_views Screen reader text for the filter links heading. * Default 'Filter items list'. * @type string $heading_pagination Screen reader text for the pagination heading. * Default 'Items list navigation'. * @type string $heading_list Screen reader text for the items list heading. * Default 'Items list'. * } */ public function set_screen_reader_content( $content = array() ) { $defaults = array( 'heading_views' => __( 'Filter items list' ), 'heading_pagination' => __( 'Items list navigation' ), 'heading_list' => __( 'Items list' ), ); $content = wp_parse_args( $content, $defaults ); $this->_screen_reader_content = $content; } /** * Removes all the accessible hidden headings and text for the screen. * * @since 4.4.0 */ public function remove_screen_reader_content() { $this->_screen_reader_content = array(); } /** * Renders the screen's help section. * * This will trigger the deprecated filters for backward compatibility. * * @since 3.3.0 * * @global string $screen_layout_columns */ public function render_screen_meta() { /** * Filters the legacy contextual help list. * * @since 2.7.0 * @deprecated 3.3.0 Use {@see get_current_screen()->add_help_tab()} or * {@see get_current_screen()->remove_help_tab()} instead. * * @param array $old_compat_help Old contextual help. * @param WP_Screen $screen Current WP_Screen instance. */ self::$_old_compat_help = apply_filters_deprecated( 'contextual_help_list', array( self::$_old_compat_help, $this ), '3.3.0', 'get_current_screen()->add_help_tab(), get_current_screen()->remove_help_tab()' ); $old_help = isset( self::$_old_compat_help[ $this->id ] ) ? self::$_old_compat_help[ $this->id ] : ''; /** * Filters the legacy contextual help text. * * @since 2.7.0 * @deprecated 3.3.0 Use {@see get_current_screen()->add_help_tab()} or * {@see get_current_screen()->remove_help_tab()} instead. * * @param string $old_help Help text that appears on the screen. * @param string $screen_id Screen ID. * @param WP_Screen $screen Current WP_Screen instance. */ $old_help = apply_filters_deprecated( 'contextual_help', array( $old_help, $this->id, $this ), '3.3.0', 'get_current_screen()->add_help_tab(), get_current_screen()->remove_help_tab()' ); // Default help only if there is no old-style block of text and no new-style help tabs. if ( empty( $old_help ) && ! $this->get_help_tabs() ) { /** * Filters the default legacy contextual help text. * * @since 2.8.0 * @deprecated 3.3.0 Use {@see get_current_screen()->add_help_tab()} or * {@see get_current_screen()->remove_help_tab()} instead. * * @param string $old_help_default Default contextual help text. */ $default_help = apply_filters_deprecated( 'default_contextual_help', array( '' ), '3.3.0', 'get_current_screen()->add_help_tab(), get_current_screen()->remove_help_tab()' ); if ( $default_help ) { $old_help = '<p>' . $default_help . '</p>'; } } if ( $old_help ) { $this->add_help_tab( array( 'id' => 'old-contextual-help', 'title' => __( 'Overview' ), 'content' => $old_help, ) ); } $help_sidebar = $this->get_help_sidebar(); $help_class = 'hidden'; if ( ! $help_sidebar ) { $help_class .= ' no-sidebar'; } // Time to render! ?> <div id="screen-meta" class="metabox-prefs"> <div id="contextual-help-wrap" class="<?php echo esc_attr( $help_class ); ?>" tabindex="-1" aria-label="<?php esc_attr_e( 'Contextual Help Tab' ); ?>"> <div id="contextual-help-back"></div> <div id="contextual-help-columns"> <div class="contextual-help-tabs"> <ul> <?php $class = ' class="active"'; foreach ( $this->get_help_tabs() as $tab ) : $link_id = "tab-link-{$tab['id']}"; $panel_id = "tab-panel-{$tab['id']}"; ?> <li id="<?php echo esc_attr( $link_id ); ?>"<?php echo $class; ?>> <a href="<?php echo esc_url( "#$panel_id" ); ?>" aria-controls="<?php echo esc_attr( $panel_id ); ?>"> <?php echo esc_html( $tab['title'] ); ?> </a> </li> <?php $class = ''; endforeach; ?> </ul> </div> <?php if ( $help_sidebar ) : ?> <div class="contextual-help-sidebar"> <?php echo $help_sidebar; ?> </div> <?php endif; ?> <div class="contextual-help-tabs-wrap"> <?php $classes = 'help-tab-content active'; foreach ( $this->get_help_tabs() as $tab ) : $panel_id = "tab-panel-{$tab['id']}"; ?> <div id="<?php echo esc_attr( $panel_id ); ?>" class="<?php echo $classes; ?>"> <?php // Print tab content. echo $tab['content']; // If it exists, fire tab callback. if ( ! empty( $tab['callback'] ) ) { call_user_func_array( $tab['callback'], array( $this, $tab ) ); } ?> </div> <?php $classes = 'help-tab-content'; endforeach; ?> </div> </div> </div> <?php // Setup layout columns. /** * Filters the array of screen layout columns. * * This hook provides back-compat for plugins using the back-compat * Filters instead of add_screen_option(). * * @since 2.8.0 * * @param array $empty_columns Empty array. * @param string $screen_id Screen ID. * @param WP_Screen $screen Current WP_Screen instance. */ $columns = apply_filters( 'screen_layout_columns', array(), $this->id, $this ); if ( ! empty( $columns ) && isset( $columns[ $this->id ] ) ) { $this->add_option( 'layout_columns', array( 'max' => $columns[ $this->id ] ) ); } if ( $this->get_option( 'layout_columns' ) ) { $this->columns = (int) get_user_option( "screen_layout_$this->id" ); if ( ! $this->columns && $this->get_option( 'layout_columns', 'default' ) ) { $this->columns = $this->get_option( 'layout_columns', 'default' ); } } $GLOBALS['screen_layout_columns'] = $this->columns; // Set the global for back-compat. // Add screen options. if ( $this->show_screen_options() ) { $this->render_screen_options(); } ?> </div> <?php if ( ! $this->get_help_tabs() && ! $this->show_screen_options() ) { return; } ?> <div id="screen-meta-links"> <?php if ( $this->show_screen_options() ) : ?> <div id="screen-options-link-wrap" class="hide-if-no-js screen-meta-toggle"> <button type="button" id="show-settings-link" class="button show-settings" aria-controls="screen-options-wrap" aria-expanded="false"><?php _e( 'Screen Options' ); ?></button> </div> <?php endif; if ( $this->get_help_tabs() ) : ?> <div id="contextual-help-link-wrap" class="hide-if-no-js screen-meta-toggle"> <button type="button" id="contextual-help-link" class="button show-settings" aria-controls="contextual-help-wrap" aria-expanded="false"><?php _e( 'Help' ); ?></button> </div> <?php endif; ?> </div> <?php } /** * @global array $wp_meta_boxes Global meta box state. * * @return bool */ public function show_screen_options() { global $wp_meta_boxes; if ( is_bool( $this->_show_screen_options ) ) { return $this->_show_screen_options; } $columns = get_column_headers( $this ); $show_screen = ! empty( $wp_meta_boxes[ $this->id ] ) || $columns || $this->get_option( 'per_page' ); $this->_screen_settings = ''; if ( 'post' === $this->base ) { $expand = '<fieldset class="editor-expand hidden"><legend>' . __( 'Additional settings' ) . '</legend><label for="editor-expand-toggle">'; $expand .= '<input type="checkbox" id="editor-expand-toggle"' . checked( get_user_setting( 'editor_expand', 'on' ), 'on', false ) . ' />'; $expand .= __( 'Enable full-height editor and distraction-free functionality.' ) . '</label></fieldset>'; $this->_screen_settings = $expand; } /** * Filters the screen settings text displayed in the Screen Options tab. * * @since 3.0.0 * * @param string $screen_settings Screen settings. * @param WP_Screen $screen WP_Screen object. */ $this->_screen_settings = apply_filters( 'screen_settings', $this->_screen_settings, $this ); if ( $this->_screen_settings || $this->_options ) { $show_screen = true; } /** * Filters whether to show the Screen Options tab. * * @since 3.2.0 * * @param bool $show_screen Whether to show Screen Options tab. * Default true. * @param WP_Screen $screen Current WP_Screen instance. */ $this->_show_screen_options = apply_filters( 'screen_options_show_screen', $show_screen, $this ); return $this->_show_screen_options; } /** * Renders the screen options tab. * * @since 3.3.0 * * @param array $options { * Options for the tab. * * @type bool $wrap Whether the screen-options-wrap div will be included. Defaults to true. * } */ public function render_screen_options( $options = array() ) { $options = wp_parse_args( $options, array( 'wrap' => true, ) ); $wrapper_start = ''; $wrapper_end = ''; $form_start = ''; $form_end = ''; // Output optional wrapper. if ( $options['wrap'] ) { $wrapper_start = '<div id="screen-options-wrap" class="hidden" tabindex="-1" aria-label="' . esc_attr__( 'Screen Options Tab' ) . '">'; $wrapper_end = '</div>'; } // Don't output the form and nonce for the widgets accessibility mode links. if ( 'widgets' !== $this->base ) { $form_start = "\n<form id='adv-settings' method='post'>\n"; $form_end = "\n" . wp_nonce_field( 'screen-options-nonce', 'screenoptionnonce', false, false ) . "\n</form>\n"; } echo $wrapper_start . $form_start; $this->render_meta_boxes_preferences(); $this->render_list_table_columns_preferences(); $this->render_screen_layout(); $this->render_per_page_options(); $this->render_view_mode(); echo $this->_screen_settings; /** * Filters whether to show the Screen Options submit button. * * @since 4.4.0 * * @param bool $show_button Whether to show Screen Options submit button. * Default false. * @param WP_Screen $screen Current WP_Screen instance. */ $show_button = apply_filters( 'screen_options_show_submit', false, $this ); if ( $show_button ) { submit_button( __( 'Apply' ), 'primary', 'screen-options-apply', true ); } echo $form_end . $wrapper_end; } /** * Renders the meta boxes preferences. * * @since 4.4.0 * * @global array $wp_meta_boxes Global meta box state. */ public function render_meta_boxes_preferences() { global $wp_meta_boxes; if ( ! isset( $wp_meta_boxes[ $this->id ] ) ) { return; } ?> <fieldset class="metabox-prefs"> <legend><?php _e( 'Screen elements' ); ?></legend> <p> <?php _e( 'Some screen elements can be shown or hidden by using the checkboxes.' ); ?> <?php _e( 'Expand or collapse the elements by clicking on their headings, and arrange them by dragging their headings or by clicking on the up and down arrows.' ); ?> </p> <div class="metabox-prefs-container"> <?php meta_box_prefs( $this ); if ( 'dashboard' === $this->id && has_action( 'welcome_panel' ) && current_user_can( 'edit_theme_options' ) ) { if ( isset( $_GET['welcome'] ) ) { $welcome_checked = empty( $_GET['welcome'] ) ? 0 : 1; update_user_meta( get_current_user_id(), 'show_welcome_panel', $welcome_checked ); } else { $welcome_checked = (int) get_user_meta( get_current_user_id(), 'show_welcome_panel', true ); if ( 2 === $welcome_checked && wp_get_current_user()->user_email !== get_option( 'admin_email' ) ) { $welcome_checked = false; } } echo '<label for="wp_welcome_panel-hide">'; echo '<input type="checkbox" id="wp_welcome_panel-hide"' . checked( (bool) $welcome_checked, true, false ) . ' />'; echo _x( 'Welcome', 'Welcome panel' ) . "</label>\n"; } ?> </div> </fieldset> <?php } /** * Renders the list table columns preferences. * * @since 4.4.0 */ public function render_list_table_columns_preferences() { $columns = get_column_headers( $this ); $hidden = get_hidden_columns( $this ); if ( ! $columns ) { return; } $legend = ! empty( $columns['_title'] ) ? $columns['_title'] : __( 'Columns' ); ?> <fieldset class="metabox-prefs"> <legend><?php echo $legend; ?></legend> <?php $special = array( '_title', 'cb', 'comment', 'media', 'name', 'title', 'username', 'blogname' ); foreach ( $columns as $column => $title ) { // Can't hide these for they are special. if ( in_array( $column, $special, true ) ) { continue; } if ( empty( $title ) ) { continue; } /* * The Comments column uses HTML in the display name with some screen * reader text. Make sure to strip tags from the Comments column * title and any other custom column title plugins might add. */ $title = wp_strip_all_tags( $title ); $id = "$column-hide"; echo '<label>'; echo '<input class="hide-column-tog" name="' . $id . '" type="checkbox" id="' . $id . '" value="' . $column . '"' . checked( ! in_array( $column, $hidden, true ), true, false ) . ' />'; echo "$title</label>\n"; } ?> </fieldset> <?php } /** * Renders the option for number of columns on the page. * * @since 3.3.0 */ public function render_screen_layout() { if ( ! $this->get_option( 'layout_columns' ) ) { return; } $screen_layout_columns = $this->get_columns(); $num = $this->get_option( 'layout_columns', 'max' ); ?> <fieldset class='columns-prefs'> <legend class="screen-layout"><?php _e( 'Layout' ); ?></legend> <?php for ( $i = 1; $i <= $num; ++$i ) : ?> <label class="columns-prefs-<?php echo $i; ?>"> <input type='radio' name='screen_columns' value='<?php echo esc_attr( $i ); ?>' <?php checked( $screen_layout_columns, $i ); ?> /> <?php printf( /* translators: %s: Number of columns on the page. */ _n( '%s column', '%s columns', $i ), number_format_i18n( $i ) ); ?> </label> <?php endfor; ?> </fieldset> <?php } /** * Renders the items per page option. * * @since 3.3.0 */ public function render_per_page_options() { if ( null === $this->get_option( 'per_page' ) ) { return; } $per_page_label = $this->get_option( 'per_page', 'label' ); if ( null === $per_page_label ) { $per_page_label = __( 'Number of items per page:' ); } $option = $this->get_option( 'per_page', 'option' ); if ( ! $option ) { $option = str_replace( '-', '_', "{$this->id}_per_page" ); } $per_page = (int) get_user_option( $option ); if ( empty( $per_page ) || $per_page < 1 ) { $per_page = $this->get_option( 'per_page', 'default' ); if ( ! $per_page ) { $per_page = 20; } } if ( 'edit_comments_per_page' === $option ) { $comment_status = isset( $_REQUEST['comment_status'] ) ? $_REQUEST['comment_status'] : 'all'; /** This filter is documented in wp-admin/includes/class-wp-comments-list-table.php */ $per_page = apply_filters( 'comments_per_page', $per_page, $comment_status ); } elseif ( 'categories_per_page' === $option ) { /** This filter is documented in wp-admin/includes/class-wp-terms-list-table.php */ $per_page = apply_filters( 'edit_categories_per_page', $per_page ); } else { /** This filter is documented in wp-admin/includes/class-wp-list-table.php */ $per_page = apply_filters( "{$option}", $per_page ); } // Back compat. if ( isset( $this->post_type ) ) { /** This filter is documented in wp-admin/includes/post.php */ $per_page = apply_filters( 'edit_posts_per_page', $per_page, $this->post_type ); } // This needs a submit button. add_filter( 'screen_options_show_submit', '__return_true' ); ?> <fieldset class="screen-options"> <legend><?php _e( 'Pagination' ); ?></legend> <?php if ( $per_page_label ) : ?> <label for="<?php echo esc_attr( $option ); ?>"><?php echo $per_page_label; ?></label> <input type="number" step="1" min="1" max="999" class="screen-per-page" name="wp_screen_options[value]" id="<?php echo esc_attr( $option ); ?>" value="<?php echo esc_attr( $per_page ); ?>" /> <?php endif; ?> <input type="hidden" name="wp_screen_options[option]" value="<?php echo esc_attr( $option ); ?>" /> </fieldset> <?php } /** * Renders the list table view mode preferences. * * @since 4.4.0 * * @global string $mode List table view mode. */ public function render_view_mode() { global $mode; $screen = get_current_screen(); // Currently only enabled for posts and comments lists. if ( 'edit' !== $screen->base && 'edit-comments' !== $screen->base ) { return; } $view_mode_post_types = get_post_types( array( 'show_ui' => true ) ); /** * Filters the post types that have different view mode options. * * @since 4.4.0 * * @param string[] $view_mode_post_types Array of post types that can change view modes. * Default post types with show_ui on. */ $view_mode_post_types = apply_filters( 'view_mode_post_types', $view_mode_post_types ); if ( 'edit' === $screen->base && ! in_array( $this->post_type, $view_mode_post_types, true ) ) { return; } if ( ! isset( $mode ) ) { $mode = get_user_setting( 'posts_list_mode', 'list' ); } // This needs a submit button. add_filter( 'screen_options_show_submit', '__return_true' ); ?> <fieldset class="metabox-prefs view-mode"> <legend><?php _e( 'View mode' ); ?></legend> <label for="list-view-mode"> <input id="list-view-mode" type="radio" name="mode" value="list" <?php checked( 'list', $mode ); ?> /> <?php _e( 'Compact view' ); ?> </label> <label for="excerpt-view-mode"> <input id="excerpt-view-mode" type="radio" name="mode" value="excerpt" <?php checked( 'excerpt', $mode ); ?> /> <?php _e( 'Extended view' ); ?> </label> </fieldset> <?php } /** * Renders screen reader text. * * @since 4.4.0 * * @param string $key The screen reader text array named key. * @param string $tag Optional. The HTML tag to wrap the screen reader text. Default h2. */ public function render_screen_reader_content( $key = '', $tag = 'h2' ) { if ( ! isset( $this->_screen_reader_content[ $key ] ) ) { return; } echo "<$tag class='screen-reader-text'>" . $this->_screen_reader_content[ $key ] . "</$tag>"; } } ms-deprecated.php 0000644 00000007272 14735706075 0010020 0 ustar 00 <?php /** * Multisite: Deprecated admin functions from past versions and WordPress MU * * These functions should not be used and will be removed in a later version. * It is suggested to use for the alternatives instead when available. * * @package WordPress * @subpackage Deprecated * @since 3.0.0 */ /** * Outputs the WPMU menu. * * @deprecated 3.0.0 */ function wpmu_menu() { _deprecated_function( __FUNCTION__, '3.0.0' ); // Deprecated. See #11763. } /** * Determines if the available space defined by the admin has been exceeded by the user. * * @deprecated 3.0.0 Use is_upload_space_available() * @see is_upload_space_available() */ function wpmu_checkAvailableSpace() { _deprecated_function( __FUNCTION__, '3.0.0', 'is_upload_space_available()' ); if ( ! is_upload_space_available() ) { wp_die( sprintf( /* translators: %s: Allowed space allocation. */ __( 'Sorry, you have used your space allocation of %s. Please delete some files to upload more files.' ), size_format( get_space_allowed() * MB_IN_BYTES ) ) ); } } /** * WPMU options. * * @deprecated 3.0.0 */ function mu_options( $options ) { _deprecated_function( __FUNCTION__, '3.0.0' ); return $options; } /** * Deprecated functionality for activating a network-only plugin. * * @deprecated 3.0.0 Use activate_plugin() * @see activate_plugin() */ function activate_sitewide_plugin() { _deprecated_function( __FUNCTION__, '3.0.0', 'activate_plugin()' ); return false; } /** * Deprecated functionality for deactivating a network-only plugin. * * @deprecated 3.0.0 Use deactivate_plugin() * @see deactivate_plugin() */ function deactivate_sitewide_plugin( $plugin = false ) { _deprecated_function( __FUNCTION__, '3.0.0', 'deactivate_plugin()' ); } /** * Deprecated functionality for determining if the current plugin is network-only. * * @deprecated 3.0.0 Use is_network_only_plugin() * @see is_network_only_plugin() */ function is_wpmu_sitewide_plugin( $file ) { _deprecated_function( __FUNCTION__, '3.0.0', 'is_network_only_plugin()' ); return is_network_only_plugin( $file ); } /** * Deprecated functionality for getting themes network-enabled themes. * * @deprecated 3.4.0 Use WP_Theme::get_allowed_on_network() * @see WP_Theme::get_allowed_on_network() */ function get_site_allowed_themes() { _deprecated_function( __FUNCTION__, '3.4.0', 'WP_Theme::get_allowed_on_network()' ); return array_map( 'intval', WP_Theme::get_allowed_on_network() ); } /** * Deprecated functionality for getting themes allowed on a specific site. * * @deprecated 3.4.0 Use WP_Theme::get_allowed_on_site() * @see WP_Theme::get_allowed_on_site() */ function wpmu_get_blog_allowedthemes( $blog_id = 0 ) { _deprecated_function( __FUNCTION__, '3.4.0', 'WP_Theme::get_allowed_on_site()' ); return array_map( 'intval', WP_Theme::get_allowed_on_site( $blog_id ) ); } /** * Deprecated functionality for determining whether a file is deprecated. * * @deprecated 3.5.0 */ function ms_deprecated_blogs_file() {} if ( ! function_exists( 'install_global_terms' ) ) : /** * Install global terms. * * @since 3.0.0 * @since 6.1.0 This function no longer does anything. * @deprecated 6.1.0 */ function install_global_terms() { _deprecated_function( __FUNCTION__, '6.1.0' ); } endif; /** * Synchronizes category and post tag slugs when global terms are enabled. * * @since 3.0.0 * @since 6.1.0 This function no longer does anything. * @deprecated 6.1.0 * * @param WP_Term|array $term The term. * @param string $taxonomy The taxonomy for `$term`. * @return WP_Term|array Always returns `$term`. */ function sync_category_tag_slugs( $term, $taxonomy ) { _deprecated_function( __FUNCTION__, '6.1.0' ); return $term; } class-custom-background.php 0000644 00000052163 14735706075 0012034 0 ustar 00 <?php /** * The custom background script. * * @package WordPress * @subpackage Administration */ /** * The custom background class. * * @since 3.0.0 */ #[AllowDynamicProperties] class Custom_Background { /** * Callback for administration header. * * @since 3.0.0 * @var callable */ public $admin_header_callback; /** * Callback for header div. * * @since 3.0.0 * @var callable */ public $admin_image_div_callback; /** * Used to trigger a success message when settings updated and set to true. * * @since 3.0.0 * @var bool */ private $updated; /** * Constructor - Registers administration header callback. * * @since 3.0.0 * * @param callable $admin_header_callback Optional. Administration header callback. * Default empty string. * @param callable $admin_image_div_callback Optional. Custom image div output callback. * Default empty string. */ public function __construct( $admin_header_callback = '', $admin_image_div_callback = '' ) { $this->admin_header_callback = $admin_header_callback; $this->admin_image_div_callback = $admin_image_div_callback; add_action( 'admin_menu', array( $this, 'init' ) ); add_action( 'wp_ajax_custom-background-add', array( $this, 'ajax_background_add' ) ); // Unused since 3.5.0. add_action( 'wp_ajax_set-background-image', array( $this, 'wp_set_background_image' ) ); } /** * Sets up the hooks for the Custom Background admin page. * * @since 3.0.0 */ public function init() { $page = add_theme_page( _x( 'Background', 'custom background' ), _x( 'Background', 'custom background' ), 'edit_theme_options', 'custom-background', array( $this, 'admin_page' ) ); if ( ! $page ) { return; } add_action( "load-{$page}", array( $this, 'admin_load' ) ); add_action( "load-{$page}", array( $this, 'take_action' ), 49 ); add_action( "load-{$page}", array( $this, 'handle_upload' ), 49 ); if ( $this->admin_header_callback ) { add_action( "admin_head-{$page}", $this->admin_header_callback, 51 ); } } /** * Sets up the enqueue for the CSS & JavaScript files. * * @since 3.0.0 */ public function admin_load() { get_current_screen()->add_help_tab( array( 'id' => 'overview', 'title' => __( 'Overview' ), 'content' => '<p>' . __( 'You can customize the look of your site without touching any of your theme’s code by using a custom background. Your background can be an image or a color.' ) . '</p>' . '<p>' . __( 'To use a background image, simply upload it or choose an image that has already been uploaded to your Media Library by clicking the “Choose Image” button. You can display a single instance of your image, or tile it to fill the screen. You can have your background fixed in place, so your site content moves on top of it, or you can have it scroll with your site.' ) . '</p>' . '<p>' . __( 'You can also choose a background color by clicking the Select Color button and either typing in a legitimate HTML hex value, e.g. “#ff0000” for red, or by choosing a color using the color picker.' ) . '</p>' . '<p>' . __( 'Do not forget to click on the Save Changes button when you are finished.' ) . '</p>', ) ); get_current_screen()->set_help_sidebar( '<p><strong>' . __( 'For more information:' ) . '</strong></p>' . '<p>' . __( '<a href="https://codex.wordpress.org/Appearance_Background_Screen">Documentation on Custom Background</a>' ) . '</p>' . '<p>' . __( '<a href="https://wordpress.org/support/forums/">Support forums</a>' ) . '</p>' ); wp_enqueue_media(); wp_enqueue_script( 'custom-background' ); wp_enqueue_style( 'wp-color-picker' ); } /** * Executes custom background modification. * * @since 3.0.0 */ public function take_action() { if ( empty( $_POST ) ) { return; } if ( isset( $_POST['reset-background'] ) ) { check_admin_referer( 'custom-background-reset', '_wpnonce-custom-background-reset' ); remove_theme_mod( 'background_image' ); remove_theme_mod( 'background_image_thumb' ); $this->updated = true; return; } if ( isset( $_POST['remove-background'] ) ) { // @todo Uploaded files are not removed here. check_admin_referer( 'custom-background-remove', '_wpnonce-custom-background-remove' ); set_theme_mod( 'background_image', '' ); set_theme_mod( 'background_image_thumb', '' ); $this->updated = true; wp_safe_redirect( $_POST['_wp_http_referer'] ); return; } if ( isset( $_POST['background-preset'] ) ) { check_admin_referer( 'custom-background' ); if ( in_array( $_POST['background-preset'], array( 'default', 'fill', 'fit', 'repeat', 'custom' ), true ) ) { $preset = $_POST['background-preset']; } else { $preset = 'default'; } set_theme_mod( 'background_preset', $preset ); } if ( isset( $_POST['background-position'] ) ) { check_admin_referer( 'custom-background' ); $position = explode( ' ', $_POST['background-position'] ); if ( in_array( $position[0], array( 'left', 'center', 'right' ), true ) ) { $position_x = $position[0]; } else { $position_x = 'left'; } if ( in_array( $position[1], array( 'top', 'center', 'bottom' ), true ) ) { $position_y = $position[1]; } else { $position_y = 'top'; } set_theme_mod( 'background_position_x', $position_x ); set_theme_mod( 'background_position_y', $position_y ); } if ( isset( $_POST['background-size'] ) ) { check_admin_referer( 'custom-background' ); if ( in_array( $_POST['background-size'], array( 'auto', 'contain', 'cover' ), true ) ) { $size = $_POST['background-size']; } else { $size = 'auto'; } set_theme_mod( 'background_size', $size ); } if ( isset( $_POST['background-repeat'] ) ) { check_admin_referer( 'custom-background' ); $repeat = $_POST['background-repeat']; if ( 'no-repeat' !== $repeat ) { $repeat = 'repeat'; } set_theme_mod( 'background_repeat', $repeat ); } if ( isset( $_POST['background-attachment'] ) ) { check_admin_referer( 'custom-background' ); $attachment = $_POST['background-attachment']; if ( 'fixed' !== $attachment ) { $attachment = 'scroll'; } set_theme_mod( 'background_attachment', $attachment ); } if ( isset( $_POST['background-color'] ) ) { check_admin_referer( 'custom-background' ); $color = preg_replace( '/[^0-9a-fA-F]/', '', $_POST['background-color'] ); if ( strlen( $color ) === 6 || strlen( $color ) === 3 ) { set_theme_mod( 'background_color', $color ); } else { set_theme_mod( 'background_color', '' ); } } $this->updated = true; } /** * Displays the custom background page. * * @since 3.0.0 */ public function admin_page() { ?> <div class="wrap" id="custom-background"> <h1><?php _e( 'Custom Background' ); ?></h1> <?php if ( current_user_can( 'customize' ) ) { $message = sprintf( /* translators: %s: URL to background image configuration in Customizer. */ __( 'You can now manage and live-preview Custom Backgrounds in the <a href="%s">Customizer</a>.' ), admin_url( 'customize.php?autofocus[control]=background_image' ) ); wp_admin_notice( $message, array( 'type' => 'info', 'additional_classes' => array( 'hide-if-no-customize' ), ) ); } if ( ! empty( $this->updated ) ) { $updated_message = sprintf( /* translators: %s: Home URL. */ __( 'Background updated. <a href="%s">Visit your site</a> to see how it looks.' ), esc_url( home_url( '/' ) ) ); wp_admin_notice( $updated_message, array( 'id' => 'message', 'additional_classes' => array( 'updated' ), ) ); } ?> <h2><?php _e( 'Background Image' ); ?></h2> <table class="form-table" role="presentation"> <tbody> <tr> <th scope="row"><?php _e( 'Preview' ); ?></th> <td> <?php if ( $this->admin_image_div_callback ) { call_user_func( $this->admin_image_div_callback ); } else { $background_styles = ''; $bgcolor = get_background_color(); if ( $bgcolor ) { $background_styles .= 'background-color: #' . $bgcolor . ';'; } $background_image_thumb = get_background_image(); if ( $background_image_thumb ) { $background_image_thumb = esc_url( set_url_scheme( get_theme_mod( 'background_image_thumb', str_replace( '%', '%%', $background_image_thumb ) ) ) ); $background_position_x = get_theme_mod( 'background_position_x', get_theme_support( 'custom-background', 'default-position-x' ) ); $background_position_y = get_theme_mod( 'background_position_y', get_theme_support( 'custom-background', 'default-position-y' ) ); $background_size = get_theme_mod( 'background_size', get_theme_support( 'custom-background', 'default-size' ) ); $background_repeat = get_theme_mod( 'background_repeat', get_theme_support( 'custom-background', 'default-repeat' ) ); $background_attachment = get_theme_mod( 'background_attachment', get_theme_support( 'custom-background', 'default-attachment' ) ); // Background-image URL must be single quote, see below. $background_styles .= " background-image: url('$background_image_thumb');" . " background-size: $background_size;" . " background-position: $background_position_x $background_position_y;" . " background-repeat: $background_repeat;" . " background-attachment: $background_attachment;"; } ?> <div id="custom-background-image" style="<?php echo $background_styles; ?>"><?php // Must be double quote, see above. ?> <?php if ( $background_image_thumb ) { ?> <img class="custom-background-image" src="<?php echo $background_image_thumb; ?>" style="visibility:hidden;" alt="" /><br /> <img class="custom-background-image" src="<?php echo $background_image_thumb; ?>" style="visibility:hidden;" alt="" /> <?php } ?> </div> <?php } ?> </td> </tr> <?php if ( get_background_image() ) : ?> <tr> <th scope="row"><?php _e( 'Remove Image' ); ?></th> <td> <form method="post"> <?php wp_nonce_field( 'custom-background-remove', '_wpnonce-custom-background-remove' ); ?> <?php submit_button( __( 'Remove Background Image' ), '', 'remove-background', false ); ?><br /> <?php _e( 'This will remove the background image. You will not be able to restore any customizations.' ); ?> </form> </td> </tr> <?php endif; ?> <?php $default_image = get_theme_support( 'custom-background', 'default-image' ); ?> <?php if ( $default_image && get_background_image() !== $default_image ) : ?> <tr> <th scope="row"><?php _e( 'Restore Original Image' ); ?></th> <td> <form method="post"> <?php wp_nonce_field( 'custom-background-reset', '_wpnonce-custom-background-reset' ); ?> <?php submit_button( __( 'Restore Original Image' ), '', 'reset-background', false ); ?><br /> <?php _e( 'This will restore the original background image. You will not be able to restore any customizations.' ); ?> </form> </td> </tr> <?php endif; ?> <?php if ( current_user_can( 'upload_files' ) ) : ?> <tr> <th scope="row"><?php _e( 'Select Image' ); ?></th> <td><form enctype="multipart/form-data" id="upload-form" class="wp-upload-form" method="post"> <p> <label for="upload"><?php _e( 'Choose an image from your computer:' ); ?></label><br /> <input type="file" id="upload" name="import" /> <input type="hidden" name="action" value="save" /> <?php wp_nonce_field( 'custom-background-upload', '_wpnonce-custom-background-upload' ); ?> <?php submit_button( __( 'Upload' ), '', 'submit', false ); ?> </p> <p> <label for="choose-from-library-link"><?php _e( 'Or choose an image from your media library:' ); ?></label><br /> <button id="choose-from-library-link" class="button" data-choose="<?php esc_attr_e( 'Choose a Background Image' ); ?>" data-update="<?php esc_attr_e( 'Set as background' ); ?>"><?php _e( 'Choose Image' ); ?></button> </p> </form> </td> </tr> <?php endif; ?> </tbody> </table> <h2><?php _e( 'Display Options' ); ?></h2> <form method="post"> <table class="form-table" role="presentation"> <tbody> <?php if ( get_background_image() ) : ?> <input name="background-preset" type="hidden" value="custom"> <?php $background_position = sprintf( '%s %s', get_theme_mod( 'background_position_x', get_theme_support( 'custom-background', 'default-position-x' ) ), get_theme_mod( 'background_position_y', get_theme_support( 'custom-background', 'default-position-y' ) ) ); $background_position_options = array( array( 'left top' => array( 'label' => __( 'Top Left' ), 'icon' => 'dashicons dashicons-arrow-left-alt', ), 'center top' => array( 'label' => __( 'Top' ), 'icon' => 'dashicons dashicons-arrow-up-alt', ), 'right top' => array( 'label' => __( 'Top Right' ), 'icon' => 'dashicons dashicons-arrow-right-alt', ), ), array( 'left center' => array( 'label' => __( 'Left' ), 'icon' => 'dashicons dashicons-arrow-left-alt', ), 'center center' => array( 'label' => __( 'Center' ), 'icon' => 'background-position-center-icon', ), 'right center' => array( 'label' => __( 'Right' ), 'icon' => 'dashicons dashicons-arrow-right-alt', ), ), array( 'left bottom' => array( 'label' => __( 'Bottom Left' ), 'icon' => 'dashicons dashicons-arrow-left-alt', ), 'center bottom' => array( 'label' => __( 'Bottom' ), 'icon' => 'dashicons dashicons-arrow-down-alt', ), 'right bottom' => array( 'label' => __( 'Bottom Right' ), 'icon' => 'dashicons dashicons-arrow-right-alt', ), ), ); ?> <tr> <th scope="row"><?php _e( 'Image Position' ); ?></th> <td><fieldset><legend class="screen-reader-text"><span> <?php /* translators: Hidden accessibility text. */ _e( 'Image Position' ); ?> </span></legend> <div class="background-position-control"> <?php foreach ( $background_position_options as $group ) : ?> <div class="button-group"> <?php foreach ( $group as $value => $input ) : ?> <label> <input class="ui-helper-hidden-accessible" name="background-position" type="radio" value="<?php echo esc_attr( $value ); ?>"<?php checked( $value, $background_position ); ?>> <span class="button display-options position"><span class="<?php echo esc_attr( $input['icon'] ); ?>" aria-hidden="true"></span></span> <span class="screen-reader-text"><?php echo $input['label']; ?></span> </label> <?php endforeach; ?> </div> <?php endforeach; ?> </div> </fieldset></td> </tr> <tr> <th scope="row"><label for="background-size"><?php _e( 'Image Size' ); ?></label></th> <td><fieldset><legend class="screen-reader-text"><span> <?php /* translators: Hidden accessibility text. */ _e( 'Image Size' ); ?> </span></legend> <select id="background-size" name="background-size"> <option value="auto"<?php selected( 'auto', get_theme_mod( 'background_size', get_theme_support( 'custom-background', 'default-size' ) ) ); ?>><?php _ex( 'Original', 'Original Size' ); ?></option> <option value="contain"<?php selected( 'contain', get_theme_mod( 'background_size', get_theme_support( 'custom-background', 'default-size' ) ) ); ?>><?php _e( 'Fit to Screen' ); ?></option> <option value="cover"<?php selected( 'cover', get_theme_mod( 'background_size', get_theme_support( 'custom-background', 'default-size' ) ) ); ?>><?php _e( 'Fill Screen' ); ?></option> </select> </fieldset></td> </tr> <tr> <th scope="row"><?php _ex( 'Repeat', 'Background Repeat' ); ?></th> <td><fieldset><legend class="screen-reader-text"><span> <?php /* translators: Hidden accessibility text. */ _ex( 'Repeat', 'Background Repeat' ); ?> </span></legend> <input name="background-repeat" type="hidden" value="no-repeat"> <label><input type="checkbox" name="background-repeat" value="repeat"<?php checked( 'repeat', get_theme_mod( 'background_repeat', get_theme_support( 'custom-background', 'default-repeat' ) ) ); ?>> <?php _e( 'Repeat Background Image' ); ?></label> </fieldset></td> </tr> <tr> <th scope="row"><?php _ex( 'Scroll', 'Background Scroll' ); ?></th> <td><fieldset><legend class="screen-reader-text"><span> <?php /* translators: Hidden accessibility text. */ _ex( 'Scroll', 'Background Scroll' ); ?> </span></legend> <input name="background-attachment" type="hidden" value="fixed"> <label><input name="background-attachment" type="checkbox" value="scroll" <?php checked( 'scroll', get_theme_mod( 'background_attachment', get_theme_support( 'custom-background', 'default-attachment' ) ) ); ?>> <?php _e( 'Scroll with Page' ); ?></label> </fieldset></td> </tr> <?php endif; // get_background_image() ?> <tr> <th scope="row"><?php _e( 'Background Color' ); ?></th> <td><fieldset><legend class="screen-reader-text"><span> <?php /* translators: Hidden accessibility text. */ _e( 'Background Color' ); ?> </span></legend> <?php $default_color = ''; if ( current_theme_supports( 'custom-background', 'default-color' ) ) { $default_color = ' data-default-color="#' . esc_attr( get_theme_support( 'custom-background', 'default-color' ) ) . '"'; } ?> <input type="text" name="background-color" id="background-color" value="#<?php echo esc_attr( get_background_color() ); ?>"<?php echo $default_color; ?>> </fieldset></td> </tr> </tbody> </table> <?php wp_nonce_field( 'custom-background' ); ?> <?php submit_button( null, 'primary', 'save-background-options' ); ?> </form> </div> <?php } /** * Handles an Image upload for the background image. * * @since 3.0.0 */ public function handle_upload() { if ( empty( $_FILES ) ) { return; } check_admin_referer( 'custom-background-upload', '_wpnonce-custom-background-upload' ); $overrides = array( 'test_form' => false ); $uploaded_file = $_FILES['import']; $wp_filetype = wp_check_filetype_and_ext( $uploaded_file['tmp_name'], $uploaded_file['name'] ); if ( ! wp_match_mime_types( 'image', $wp_filetype['type'] ) ) { wp_die( __( 'The uploaded file is not a valid image. Please try again.' ) ); } $file = wp_handle_upload( $uploaded_file, $overrides ); if ( isset( $file['error'] ) ) { wp_die( $file['error'] ); } $url = $file['url']; $type = $file['type']; $file = $file['file']; $filename = wp_basename( $file ); // Construct the attachment array. $attachment = array( 'post_title' => $filename, 'post_content' => $url, 'post_mime_type' => $type, 'guid' => $url, 'context' => 'custom-background', ); // Save the data. $id = wp_insert_attachment( $attachment, $file ); // Add the metadata. wp_update_attachment_metadata( $id, wp_generate_attachment_metadata( $id, $file ) ); update_post_meta( $id, '_wp_attachment_is_custom_background', get_option( 'stylesheet' ) ); set_theme_mod( 'background_image', sanitize_url( $url ) ); $thumbnail = wp_get_attachment_image_src( $id, 'thumbnail' ); set_theme_mod( 'background_image_thumb', sanitize_url( $thumbnail[0] ) ); /** This filter is documented in wp-admin/includes/class-custom-image-header.php */ $file = apply_filters( 'wp_create_file_in_uploads', $file, $id ); // For replication. $this->updated = true; } /** * Handles Ajax request for adding custom background context to an attachment. * * Triggers when the user adds a new background image from the * Media Manager. * * @since 4.1.0 */ public function ajax_background_add() { check_ajax_referer( 'background-add', 'nonce' ); if ( ! current_user_can( 'edit_theme_options' ) ) { wp_send_json_error(); } $attachment_id = absint( $_POST['attachment_id'] ); if ( $attachment_id < 1 ) { wp_send_json_error(); } update_post_meta( $attachment_id, '_wp_attachment_is_custom_background', get_stylesheet() ); wp_send_json_success(); } /** * @since 3.4.0 * @deprecated 3.5.0 * * @param array $form_fields * @return array $form_fields */ public function attachment_fields_to_edit( $form_fields ) { return $form_fields; } /** * @since 3.4.0 * @deprecated 3.5.0 * * @param array $tabs * @return array $tabs */ public function filter_upload_tabs( $tabs ) { return $tabs; } /** * @since 3.4.0 * @deprecated 3.5.0 */ public function wp_set_background_image() { check_ajax_referer( 'custom-background' ); if ( ! current_user_can( 'edit_theme_options' ) || ! isset( $_POST['attachment_id'] ) ) { exit; } $attachment_id = absint( $_POST['attachment_id'] ); $sizes = array_keys( /** This filter is documented in wp-admin/includes/media.php */ apply_filters( 'image_size_names_choose', array( 'thumbnail' => __( 'Thumbnail' ), 'medium' => __( 'Medium' ), 'large' => __( 'Large' ), 'full' => __( 'Full Size' ), ) ) ); $size = 'thumbnail'; if ( in_array( $_POST['size'], $sizes, true ) ) { $size = esc_attr( $_POST['size'] ); } update_post_meta( $attachment_id, '_wp_attachment_is_custom_background', get_option( 'stylesheet' ) ); $url = wp_get_attachment_image_src( $attachment_id, $size ); $thumbnail = wp_get_attachment_image_src( $attachment_id, 'thumbnail' ); set_theme_mod( 'background_image', sanitize_url( $url[0] ) ); set_theme_mod( 'background_image_thumb', sanitize_url( $thumbnail[0] ) ); exit; } } class-custom-image-header.php 0000644 00000137650 14735706075 0012232 0 ustar 00 <?php /** * The custom header image script. * * @package WordPress * @subpackage Administration */ /** * The custom header image class. * * @since 2.1.0 */ #[AllowDynamicProperties] class Custom_Image_Header { /** * Callback for administration header. * * @since 2.1.0 * @var callable */ public $admin_header_callback; /** * Callback for header div. * * @since 3.0.0 * @var callable */ public $admin_image_div_callback; /** * Holds default headers. * * @since 3.0.0 * @var array */ public $default_headers = array(); /** * Used to trigger a success message when settings updated and set to true. * * @since 3.0.0 * @var bool */ private $updated; /** * Constructor - Registers administration header callback. * * @since 2.1.0 * * @param callable $admin_header_callback Administration header callback. * @param callable $admin_image_div_callback Optional. Custom image div output callback. * Default empty string. */ public function __construct( $admin_header_callback, $admin_image_div_callback = '' ) { $this->admin_header_callback = $admin_header_callback; $this->admin_image_div_callback = $admin_image_div_callback; add_action( 'admin_menu', array( $this, 'init' ) ); add_action( 'customize_save_after', array( $this, 'customize_set_last_used' ) ); add_action( 'wp_ajax_custom-header-crop', array( $this, 'ajax_header_crop' ) ); add_action( 'wp_ajax_custom-header-add', array( $this, 'ajax_header_add' ) ); add_action( 'wp_ajax_custom-header-remove', array( $this, 'ajax_header_remove' ) ); } /** * Sets up the hooks for the Custom Header admin page. * * @since 2.1.0 */ public function init() { $page = add_theme_page( _x( 'Header', 'custom image header' ), _x( 'Header', 'custom image header' ), 'edit_theme_options', 'custom-header', array( $this, 'admin_page' ) ); if ( ! $page ) { return; } add_action( "admin_print_scripts-{$page}", array( $this, 'js_includes' ) ); add_action( "admin_print_styles-{$page}", array( $this, 'css_includes' ) ); add_action( "admin_head-{$page}", array( $this, 'help' ) ); add_action( "admin_head-{$page}", array( $this, 'take_action' ), 50 ); add_action( "admin_head-{$page}", array( $this, 'js' ), 50 ); if ( $this->admin_header_callback ) { add_action( "admin_head-{$page}", $this->admin_header_callback, 51 ); } } /** * Adds contextual help. * * @since 3.0.0 */ public function help() { get_current_screen()->add_help_tab( array( 'id' => 'overview', 'title' => __( 'Overview' ), 'content' => '<p>' . __( 'This screen is used to customize the header section of your theme.' ) . '</p>' . '<p>' . __( 'You can choose from the theme’s default header images, or use one of your own. You can also customize how your Site Title and Tagline are displayed.' ) . '<p>', ) ); get_current_screen()->add_help_tab( array( 'id' => 'set-header-image', 'title' => __( 'Header Image' ), 'content' => '<p>' . __( 'You can set a custom image header for your site. Simply upload the image and crop it, and the new header will go live immediately. Alternatively, you can use an image that has already been uploaded to your Media Library by clicking the “Choose Image” button.' ) . '</p>' . '<p>' . __( 'Some themes come with additional header images bundled. If you see multiple images displayed, select the one you would like and click the “Save Changes” button.' ) . '</p>' . '<p>' . __( 'If your theme has more than one default header image, or you have uploaded more than one custom header image, you have the option of having WordPress display a randomly different image on each page of your site. Click the “Random” radio button next to the Uploaded Images or Default Images section to enable this feature.' ) . '</p>' . '<p>' . __( 'If you do not want a header image to be displayed on your site at all, click the “Remove Header Image” button at the bottom of the Header Image section of this page. If you want to re-enable the header image later, you just have to select one of the other image options and click “Save Changes”.' ) . '</p>', ) ); get_current_screen()->add_help_tab( array( 'id' => 'set-header-text', 'title' => __( 'Header Text' ), 'content' => '<p>' . sprintf( /* translators: %s: URL to General Settings screen. */ __( 'For most themes, the header text is your Site Title and Tagline, as defined in the <a href="%s">General Settings</a> section.' ), admin_url( 'options-general.php' ) ) . '</p>' . '<p>' . __( 'In the Header Text section of this page, you can choose whether to display this text or hide it. You can also choose a color for the text by clicking the Select Color button and either typing in a legitimate HTML hex value, e.g. “#ff0000” for red, or by choosing a color using the color picker.' ) . '</p>' . '<p>' . __( 'Do not forget to click “Save Changes” when you are done!' ) . '</p>', ) ); get_current_screen()->set_help_sidebar( '<p><strong>' . __( 'For more information:' ) . '</strong></p>' . '<p>' . __( '<a href="https://codex.wordpress.org/Appearance_Header_Screen">Documentation on Custom Header</a>' ) . '</p>' . '<p>' . __( '<a href="https://wordpress.org/support/forums/">Support forums</a>' ) . '</p>' ); } /** * Gets the current step. * * @since 2.6.0 * * @return int Current step. */ public function step() { if ( ! isset( $_GET['step'] ) ) { return 1; } $step = (int) $_GET['step']; if ( $step < 1 || 3 < $step || ( 2 === $step && ! wp_verify_nonce( $_REQUEST['_wpnonce-custom-header-upload'], 'custom-header-upload' ) ) || ( 3 === $step && ! wp_verify_nonce( $_REQUEST['_wpnonce'], 'custom-header-crop-image' ) ) ) { return 1; } return $step; } /** * Sets up the enqueue for the JavaScript files. * * @since 2.1.0 */ public function js_includes() { $step = $this->step(); if ( ( 1 === $step || 3 === $step ) ) { wp_enqueue_media(); wp_enqueue_script( 'custom-header' ); if ( current_theme_supports( 'custom-header', 'header-text' ) ) { wp_enqueue_script( 'wp-color-picker' ); } } elseif ( 2 === $step ) { wp_enqueue_script( 'imgareaselect' ); } } /** * Sets up the enqueue for the CSS files. * * @since 2.7.0 */ public function css_includes() { $step = $this->step(); if ( ( 1 === $step || 3 === $step ) && current_theme_supports( 'custom-header', 'header-text' ) ) { wp_enqueue_style( 'wp-color-picker' ); } elseif ( 2 === $step ) { wp_enqueue_style( 'imgareaselect' ); } } /** * Executes custom header modification. * * @since 2.6.0 */ public function take_action() { if ( ! current_user_can( 'edit_theme_options' ) ) { return; } if ( empty( $_POST ) ) { return; } $this->updated = true; if ( isset( $_POST['resetheader'] ) ) { check_admin_referer( 'custom-header-options', '_wpnonce-custom-header-options' ); $this->reset_header_image(); return; } if ( isset( $_POST['removeheader'] ) ) { check_admin_referer( 'custom-header-options', '_wpnonce-custom-header-options' ); $this->remove_header_image(); return; } if ( isset( $_POST['text-color'] ) && ! isset( $_POST['display-header-text'] ) ) { check_admin_referer( 'custom-header-options', '_wpnonce-custom-header-options' ); set_theme_mod( 'header_textcolor', 'blank' ); } elseif ( isset( $_POST['text-color'] ) ) { check_admin_referer( 'custom-header-options', '_wpnonce-custom-header-options' ); $_POST['text-color'] = str_replace( '#', '', $_POST['text-color'] ); $color = preg_replace( '/[^0-9a-fA-F]/', '', $_POST['text-color'] ); if ( strlen( $color ) === 6 || strlen( $color ) === 3 ) { set_theme_mod( 'header_textcolor', $color ); } elseif ( ! $color ) { set_theme_mod( 'header_textcolor', 'blank' ); } } if ( isset( $_POST['default-header'] ) ) { check_admin_referer( 'custom-header-options', '_wpnonce-custom-header-options' ); $this->set_header_image( $_POST['default-header'] ); return; } } /** * Processes the default headers. * * @since 3.0.0 * * @global array $_wp_default_headers */ public function process_default_headers() { global $_wp_default_headers; if ( ! isset( $_wp_default_headers ) ) { return; } if ( ! empty( $this->default_headers ) ) { return; } $this->default_headers = $_wp_default_headers; $template_directory_uri = get_template_directory_uri(); $stylesheet_directory_uri = get_stylesheet_directory_uri(); foreach ( array_keys( $this->default_headers ) as $header ) { $this->default_headers[ $header ]['url'] = sprintf( $this->default_headers[ $header ]['url'], $template_directory_uri, $stylesheet_directory_uri ); $this->default_headers[ $header ]['thumbnail_url'] = sprintf( $this->default_headers[ $header ]['thumbnail_url'], $template_directory_uri, $stylesheet_directory_uri ); } } /** * Displays UI for selecting one of several default headers. * * Shows the random image option if this theme has multiple header images. * Random image option is on by default if no header has been set. * * @since 3.0.0 * * @param string $type The header type. One of 'default' (for the Uploaded Images control) * or 'uploaded' (for the Uploaded Images control). */ public function show_header_selector( $type = 'default' ) { if ( 'default' === $type ) { $headers = $this->default_headers; } else { $headers = get_uploaded_header_images(); $type = 'uploaded'; } if ( 1 < count( $headers ) ) { echo '<div class="random-header">'; echo '<label><input name="default-header" type="radio" value="random-' . $type . '-image"' . checked( is_random_header_image( $type ), true, false ) . ' />'; _e( '<strong>Random:</strong> Show a different image on each page.' ); echo '</label>'; echo '</div>'; } echo '<div class="available-headers">'; foreach ( $headers as $header_key => $header ) { $header_thumbnail = $header['thumbnail_url']; $header_url = $header['url']; $header_alt_text = empty( $header['alt_text'] ) ? '' : $header['alt_text']; echo '<div class="default-header">'; echo '<label><input name="default-header" type="radio" value="' . esc_attr( $header_key ) . '" ' . checked( $header_url, get_theme_mod( 'header_image' ), false ) . ' />'; $width = ''; if ( ! empty( $header['attachment_id'] ) ) { $width = ' width="230"'; } echo '<img src="' . esc_url( set_url_scheme( $header_thumbnail ) ) . '" alt="' . esc_attr( $header_alt_text ) . '"' . $width . ' /></label>'; echo '</div>'; } echo '<div class="clear"></div></div>'; } /** * Executes JavaScript depending on step. * * @since 2.1.0 */ public function js() { $step = $this->step(); if ( ( 1 === $step || 3 === $step ) && current_theme_supports( 'custom-header', 'header-text' ) ) { $this->js_1(); } elseif ( 2 === $step ) { $this->js_2(); } } /** * Displays JavaScript based on Step 1 and 3. * * @since 2.6.0 */ public function js_1() { $default_color = ''; if ( current_theme_supports( 'custom-header', 'default-text-color' ) ) { $default_color = get_theme_support( 'custom-header', 'default-text-color' ); if ( $default_color && ! str_contains( $default_color, '#' ) ) { $default_color = '#' . $default_color; } } ?> <script type="text/javascript"> (function($){ var default_color = '<?php echo esc_js( $default_color ); ?>', header_text_fields; function pickColor(color) { $('#name').css('color', color); $('#desc').css('color', color); $('#text-color').val(color); } function toggle_text() { var checked = $('#display-header-text').prop('checked'), text_color; header_text_fields.toggle( checked ); if ( ! checked ) return; text_color = $('#text-color'); if ( '' === text_color.val().replace('#', '') ) { text_color.val( default_color ); pickColor( default_color ); } else { pickColor( text_color.val() ); } } $( function() { var text_color = $('#text-color'); header_text_fields = $('.displaying-header-text'); text_color.wpColorPicker({ change: function( event, ui ) { pickColor( text_color.wpColorPicker('color') ); }, clear: function() { pickColor( '' ); } }); $('#display-header-text').click( toggle_text ); <?php if ( ! display_header_text() ) : ?> toggle_text(); <?php endif; ?> } ); })(jQuery); </script> <?php } /** * Displays JavaScript based on Step 2. * * @since 2.6.0 */ public function js_2() { ?> <script type="text/javascript"> function onEndCrop( coords ) { jQuery( '#x1' ).val(coords.x); jQuery( '#y1' ).val(coords.y); jQuery( '#width' ).val(coords.w); jQuery( '#height' ).val(coords.h); } jQuery( function() { var xinit = <?php echo absint( get_theme_support( 'custom-header', 'width' ) ); ?>; var yinit = <?php echo absint( get_theme_support( 'custom-header', 'height' ) ); ?>; var ratio = xinit / yinit; var ximg = jQuery('img#upload').width(); var yimg = jQuery('img#upload').height(); if ( yimg < yinit || ximg < xinit ) { if ( ximg / yimg > ratio ) { yinit = yimg; xinit = yinit * ratio; } else { xinit = ximg; yinit = xinit / ratio; } } jQuery('img#upload').imgAreaSelect({ handles: true, keys: true, show: true, x1: 0, y1: 0, x2: xinit, y2: yinit, <?php if ( ! current_theme_supports( 'custom-header', 'flex-height' ) && ! current_theme_supports( 'custom-header', 'flex-width' ) ) { ?> aspectRatio: xinit + ':' + yinit, <?php } if ( ! current_theme_supports( 'custom-header', 'flex-height' ) ) { ?> maxHeight: <?php echo get_theme_support( 'custom-header', 'height' ); ?>, <?php } if ( ! current_theme_supports( 'custom-header', 'flex-width' ) ) { ?> maxWidth: <?php echo get_theme_support( 'custom-header', 'width' ); ?>, <?php } ?> onInit: function () { jQuery('#width').val(xinit); jQuery('#height').val(yinit); }, onSelectChange: function(img, c) { jQuery('#x1').val(c.x1); jQuery('#y1').val(c.y1); jQuery('#width').val(c.width); jQuery('#height').val(c.height); } }); } ); </script> <?php } /** * Displays first step of custom header image page. * * @since 2.1.0 */ public function step_1() { $this->process_default_headers(); ?> <div class="wrap"> <h1><?php _e( 'Custom Header' ); ?></h1> <?php if ( current_user_can( 'customize' ) ) { $message = sprintf( /* translators: %s: URL to header image configuration in Customizer. */ __( 'You can now manage and live-preview Custom Header in the <a href="%s">Customizer</a>.' ), admin_url( 'customize.php?autofocus[control]=header_image' ) ); wp_admin_notice( $message, array( 'type' => 'info', 'additional_classes' => array( 'hide-if-no-customize' ), ) ); } if ( ! empty( $this->updated ) ) { $updated_message = sprintf( /* translators: %s: Home URL. */ __( 'Header updated. <a href="%s">Visit your site</a> to see how it looks.' ), esc_url( home_url( '/' ) ) ); wp_admin_notice( $updated_message, array( 'id' => 'message', 'additional_classes' => array( 'updated' ), ) ); } ?> <h2><?php _e( 'Header Image' ); ?></h2> <table class="form-table" role="presentation"> <tbody> <?php if ( get_custom_header() || display_header_text() ) : ?> <tr> <th scope="row"><?php _e( 'Preview' ); ?></th> <td> <?php if ( $this->admin_image_div_callback ) { call_user_func( $this->admin_image_div_callback ); } else { $custom_header = get_custom_header(); $header_image = get_header_image(); if ( $header_image ) { $header_image_style = 'background-image:url(' . esc_url( $header_image ) . ');'; } else { $header_image_style = ''; } if ( $custom_header->width ) { $header_image_style .= 'max-width:' . $custom_header->width . 'px;'; } if ( $custom_header->height ) { $header_image_style .= 'height:' . $custom_header->height . 'px;'; } ?> <div id="headimg" style="<?php echo $header_image_style; ?>"> <?php if ( display_header_text() ) { $style = ' style="color:#' . get_header_textcolor() . ';"'; } else { $style = ' style="display:none;"'; } ?> <h1><a id="name" class="displaying-header-text" <?php echo $style; ?> onclick="return false;" href="<?php bloginfo( 'url' ); ?>" tabindex="-1"><?php bloginfo( 'name' ); ?></a></h1> <div id="desc" class="displaying-header-text" <?php echo $style; ?>><?php bloginfo( 'description' ); ?></div> </div> <?php } ?> </td> </tr> <?php endif; ?> <?php if ( current_user_can( 'upload_files' ) && current_theme_supports( 'custom-header', 'uploads' ) ) : ?> <tr> <th scope="row"><?php _e( 'Select Image' ); ?></th> <td> <p><?php _e( 'You can select an image to be shown at the top of your site by uploading from your computer or choosing from your media library. After selecting an image you will be able to crop it.' ); ?><br /> <?php if ( ! current_theme_supports( 'custom-header', 'flex-height' ) && ! current_theme_supports( 'custom-header', 'flex-width' ) ) { printf( /* translators: 1: Image width in pixels, 2: Image height in pixels. */ __( 'Images of exactly <strong>%1$d × %2$d pixels</strong> will be used as-is.' ) . '<br />', get_theme_support( 'custom-header', 'width' ), get_theme_support( 'custom-header', 'height' ) ); } elseif ( current_theme_supports( 'custom-header', 'flex-height' ) ) { if ( ! current_theme_supports( 'custom-header', 'flex-width' ) ) { printf( /* translators: %s: Size in pixels. */ __( 'Images should be at least %s wide.' ) . ' ', sprintf( /* translators: %d: Custom header width. */ '<strong>' . __( '%d pixels' ) . '</strong>', get_theme_support( 'custom-header', 'width' ) ) ); } } elseif ( current_theme_supports( 'custom-header', 'flex-width' ) ) { if ( ! current_theme_supports( 'custom-header', 'flex-height' ) ) { printf( /* translators: %s: Size in pixels. */ __( 'Images should be at least %s tall.' ) . ' ', sprintf( /* translators: %d: Custom header height. */ '<strong>' . __( '%d pixels' ) . '</strong>', get_theme_support( 'custom-header', 'height' ) ) ); } } if ( current_theme_supports( 'custom-header', 'flex-height' ) || current_theme_supports( 'custom-header', 'flex-width' ) ) { if ( current_theme_supports( 'custom-header', 'width' ) ) { printf( /* translators: %s: Size in pixels. */ __( 'Suggested width is %s.' ) . ' ', sprintf( /* translators: %d: Custom header width. */ '<strong>' . __( '%d pixels' ) . '</strong>', get_theme_support( 'custom-header', 'width' ) ) ); } if ( current_theme_supports( 'custom-header', 'height' ) ) { printf( /* translators: %s: Size in pixels. */ __( 'Suggested height is %s.' ) . ' ', sprintf( /* translators: %d: Custom header height. */ '<strong>' . __( '%d pixels' ) . '</strong>', get_theme_support( 'custom-header', 'height' ) ) ); } } ?> </p> <form enctype="multipart/form-data" id="upload-form" class="wp-upload-form" method="post" action="<?php echo esc_url( add_query_arg( 'step', 2 ) ); ?>"> <p> <label for="upload"><?php _e( 'Choose an image from your computer:' ); ?></label><br /> <input type="file" id="upload" name="import" /> <input type="hidden" name="action" value="save" /> <?php wp_nonce_field( 'custom-header-upload', '_wpnonce-custom-header-upload' ); ?> <?php submit_button( __( 'Upload' ), '', 'submit', false ); ?> </p> <?php $modal_update_href = add_query_arg( array( 'page' => 'custom-header', 'step' => 2, '_wpnonce-custom-header-upload' => wp_create_nonce( 'custom-header-upload' ), ), admin_url( 'themes.php' ) ); ?> <p> <label for="choose-from-library-link"><?php _e( 'Or choose an image from your media library:' ); ?></label><br /> <button id="choose-from-library-link" class="button" data-update-link="<?php echo esc_url( $modal_update_href ); ?>" data-choose="<?php esc_attr_e( 'Choose a Custom Header' ); ?>" data-update="<?php esc_attr_e( 'Set as header' ); ?>"><?php _e( 'Choose Image' ); ?></button> </p> </form> </td> </tr> <?php endif; ?> </tbody> </table> <form method="post" action="<?php echo esc_url( add_query_arg( 'step', 1 ) ); ?>"> <?php submit_button( null, 'screen-reader-text', 'save-header-options', false ); ?> <table class="form-table" role="presentation"> <tbody> <?php if ( get_uploaded_header_images() ) : ?> <tr> <th scope="row"><?php _e( 'Uploaded Images' ); ?></th> <td> <p><?php _e( 'You can choose one of your previously uploaded headers, or show a random one.' ); ?></p> <?php $this->show_header_selector( 'uploaded' ); ?> </td> </tr> <?php endif; if ( ! empty( $this->default_headers ) ) : ?> <tr> <th scope="row"><?php _e( 'Default Images' ); ?></th> <td> <?php if ( current_theme_supports( 'custom-header', 'uploads' ) ) : ?> <p><?php _e( 'If you do not want to upload your own image, you can use one of these cool headers, or show a random one.' ); ?></p> <?php else : ?> <p><?php _e( 'You can use one of these cool headers or show a random one on each page.' ); ?></p> <?php endif; ?> <?php $this->show_header_selector( 'default' ); ?> </td> </tr> <?php endif; if ( get_header_image() ) : ?> <tr> <th scope="row"><?php _e( 'Remove Image' ); ?></th> <td> <p><?php _e( 'This will remove the header image. You will not be able to restore any customizations.' ); ?></p> <?php submit_button( __( 'Remove Header Image' ), '', 'removeheader', false ); ?> </td> </tr> <?php endif; $default_image = sprintf( get_theme_support( 'custom-header', 'default-image' ), get_template_directory_uri(), get_stylesheet_directory_uri() ); if ( $default_image && get_header_image() !== $default_image ) : ?> <tr> <th scope="row"><?php _e( 'Reset Image' ); ?></th> <td> <p><?php _e( 'This will restore the original header image. You will not be able to restore any customizations.' ); ?></p> <?php submit_button( __( 'Restore Original Header Image' ), '', 'resetheader', false ); ?> </td> </tr> <?php endif; ?> </tbody> </table> <?php if ( current_theme_supports( 'custom-header', 'header-text' ) ) : ?> <h2><?php _e( 'Header Text' ); ?></h2> <table class="form-table" role="presentation"> <tbody> <tr> <th scope="row"><?php _e( 'Header Text' ); ?></th> <td> <p> <label><input type="checkbox" name="display-header-text" id="display-header-text"<?php checked( display_header_text() ); ?> /> <?php _e( 'Show header text with your image.' ); ?></label> </p> </td> </tr> <tr class="displaying-header-text"> <th scope="row"><?php _e( 'Text Color' ); ?></th> <td> <p> <?php $default_color = ''; if ( current_theme_supports( 'custom-header', 'default-text-color' ) ) { $default_color = get_theme_support( 'custom-header', 'default-text-color' ); if ( $default_color && ! str_contains( $default_color, '#' ) ) { $default_color = '#' . $default_color; } } $default_color_attr = $default_color ? ' data-default-color="' . esc_attr( $default_color ) . '"' : ''; $header_textcolor = display_header_text() ? get_header_textcolor() : get_theme_support( 'custom-header', 'default-text-color' ); if ( $header_textcolor && ! str_contains( $header_textcolor, '#' ) ) { $header_textcolor = '#' . $header_textcolor; } echo '<input type="text" name="text-color" id="text-color" value="' . esc_attr( $header_textcolor ) . '"' . $default_color_attr . ' />'; if ( $default_color ) { /* translators: %s: Default text color. */ echo ' <span class="description hide-if-js">' . sprintf( _x( 'Default: %s', 'color' ), esc_html( $default_color ) ) . '</span>'; } ?> </p> </td> </tr> </tbody> </table> <?php endif; /** * Fires just before the submit button in the custom header options form. * * @since 3.1.0 */ do_action( 'custom_header_options' ); wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?> <?php submit_button( null, 'primary', 'save-header-options' ); ?> </form> </div> <?php } /** * Displays second step of custom header image page. * * @since 2.1.0 */ public function step_2() { check_admin_referer( 'custom-header-upload', '_wpnonce-custom-header-upload' ); if ( ! current_theme_supports( 'custom-header', 'uploads' ) ) { wp_die( '<h1>' . __( 'Something went wrong.' ) . '</h1>' . '<p>' . __( 'The active theme does not support uploading a custom header image.' ) . '</p>', 403 ); } if ( empty( $_POST ) && isset( $_GET['file'] ) ) { $attachment_id = absint( $_GET['file'] ); $file = get_attached_file( $attachment_id, true ); $url = wp_get_attachment_image_src( $attachment_id, 'full' ); $url = $url[0]; } elseif ( isset( $_POST ) ) { $data = $this->step_2_manage_upload(); $attachment_id = $data['attachment_id']; $file = $data['file']; $url = $data['url']; } if ( file_exists( $file ) ) { list( $width, $height, $type, $attr ) = wp_getimagesize( $file ); } else { $data = wp_get_attachment_metadata( $attachment_id ); $height = isset( $data['height'] ) ? (int) $data['height'] : 0; $width = isset( $data['width'] ) ? (int) $data['width'] : 0; unset( $data ); } $max_width = 0; // For flex, limit size of image displayed to 1500px unless theme says otherwise. if ( current_theme_supports( 'custom-header', 'flex-width' ) ) { $max_width = 1500; } if ( current_theme_supports( 'custom-header', 'max-width' ) ) { $max_width = max( $max_width, get_theme_support( 'custom-header', 'max-width' ) ); } $max_width = max( $max_width, get_theme_support( 'custom-header', 'width' ) ); // If flexible height isn't supported and the image is the exact right size. if ( ! current_theme_supports( 'custom-header', 'flex-height' ) && ! current_theme_supports( 'custom-header', 'flex-width' ) && (int) get_theme_support( 'custom-header', 'width' ) === $width && (int) get_theme_support( 'custom-header', 'height' ) === $height ) { // Add the metadata. if ( file_exists( $file ) ) { wp_update_attachment_metadata( $attachment_id, wp_generate_attachment_metadata( $attachment_id, $file ) ); } $this->set_header_image( compact( 'url', 'attachment_id', 'width', 'height' ) ); /** * Filters the attachment file path after the custom header or background image is set. * * Used for file replication. * * @since 2.1.0 * * @param string $file Path to the file. * @param int $attachment_id Attachment ID. */ $file = apply_filters( 'wp_create_file_in_uploads', $file, $attachment_id ); // For replication. return $this->finished(); } elseif ( $width > $max_width ) { $oitar = $width / $max_width; $image = wp_crop_image( $attachment_id, 0, 0, $width, $height, $max_width, $height / $oitar, false, str_replace( wp_basename( $file ), 'midsize-' . wp_basename( $file ), $file ) ); if ( ! $image || is_wp_error( $image ) ) { wp_die( __( 'Image could not be processed. Please go back and try again.' ), __( 'Image Processing Error' ) ); } /** This filter is documented in wp-admin/includes/class-custom-image-header.php */ $image = apply_filters( 'wp_create_file_in_uploads', $image, $attachment_id ); // For replication. $url = str_replace( wp_basename( $url ), wp_basename( $image ), $url ); $width = $width / $oitar; $height = $height / $oitar; } else { $oitar = 1; } ?> <div class="wrap"> <h1><?php _e( 'Crop Header Image' ); ?></h1> <form method="post" action="<?php echo esc_url( add_query_arg( 'step', 3 ) ); ?>"> <p class="hide-if-no-js"><?php _e( 'Choose the part of the image you want to use as your header.' ); ?></p> <p class="hide-if-js"><strong><?php _e( 'You need JavaScript to choose a part of the image.' ); ?></strong></p> <div id="crop_image" style="position: relative"> <img src="<?php echo esc_url( $url ); ?>" id="upload" width="<?php echo esc_attr( $width ); ?>" height="<?php echo esc_attr( $height ); ?>" alt="" /> </div> <input type="hidden" name="x1" id="x1" value="0" /> <input type="hidden" name="y1" id="y1" value="0" /> <input type="hidden" name="width" id="width" value="<?php echo esc_attr( $width ); ?>" /> <input type="hidden" name="height" id="height" value="<?php echo esc_attr( $height ); ?>" /> <input type="hidden" name="attachment_id" id="attachment_id" value="<?php echo esc_attr( $attachment_id ); ?>" /> <input type="hidden" name="oitar" id="oitar" value="<?php echo esc_attr( $oitar ); ?>" /> <?php if ( empty( $_POST ) && isset( $_GET['file'] ) ) { ?> <input type="hidden" name="create-new-attachment" value="true" /> <?php } ?> <?php wp_nonce_field( 'custom-header-crop-image' ); ?> <p class="submit"> <?php submit_button( __( 'Crop and Publish' ), 'primary', 'submit', false ); ?> <?php if ( isset( $oitar ) && 1 === $oitar && ( current_theme_supports( 'custom-header', 'flex-height' ) || current_theme_supports( 'custom-header', 'flex-width' ) ) ) { submit_button( __( 'Skip Cropping, Publish Image as Is' ), '', 'skip-cropping', false ); } ?> </p> </form> </div> <?php } /** * Uploads the file to be cropped in the second step. * * @since 3.4.0 */ public function step_2_manage_upload() { $overrides = array( 'test_form' => false ); $uploaded_file = $_FILES['import']; $wp_filetype = wp_check_filetype_and_ext( $uploaded_file['tmp_name'], $uploaded_file['name'] ); if ( ! wp_match_mime_types( 'image', $wp_filetype['type'] ) ) { wp_die( __( 'The uploaded file is not a valid image. Please try again.' ) ); } $file = wp_handle_upload( $uploaded_file, $overrides ); if ( isset( $file['error'] ) ) { wp_die( $file['error'], __( 'Image Upload Error' ) ); } $url = $file['url']; $type = $file['type']; $file = $file['file']; $filename = wp_basename( $file ); // Construct the attachment array. $attachment = array( 'post_title' => $filename, 'post_content' => $url, 'post_mime_type' => $type, 'guid' => $url, 'context' => 'custom-header', ); // Save the data. $attachment_id = wp_insert_attachment( $attachment, $file ); return compact( 'attachment_id', 'file', 'filename', 'url', 'type' ); } /** * Displays third step of custom header image page. * * @since 2.1.0 * @since 4.4.0 Switched to using wp_get_attachment_url() instead of the guid * for retrieving the header image URL. */ public function step_3() { check_admin_referer( 'custom-header-crop-image' ); if ( ! current_theme_supports( 'custom-header', 'uploads' ) ) { wp_die( '<h1>' . __( 'Something went wrong.' ) . '</h1>' . '<p>' . __( 'The active theme does not support uploading a custom header image.' ) . '</p>', 403 ); } if ( ! empty( $_POST['skip-cropping'] ) && ! current_theme_supports( 'custom-header', 'flex-height' ) && ! current_theme_supports( 'custom-header', 'flex-width' ) ) { wp_die( '<h1>' . __( 'Something went wrong.' ) . '</h1>' . '<p>' . __( 'The active theme does not support a flexible sized header image.' ) . '</p>', 403 ); } if ( $_POST['oitar'] > 1 ) { $_POST['x1'] = $_POST['x1'] * $_POST['oitar']; $_POST['y1'] = $_POST['y1'] * $_POST['oitar']; $_POST['width'] = $_POST['width'] * $_POST['oitar']; $_POST['height'] = $_POST['height'] * $_POST['oitar']; } $attachment_id = absint( $_POST['attachment_id'] ); $original = get_attached_file( $attachment_id ); $dimensions = $this->get_header_dimensions( array( 'height' => $_POST['height'], 'width' => $_POST['width'], ) ); $height = $dimensions['dst_height']; $width = $dimensions['dst_width']; if ( empty( $_POST['skip-cropping'] ) ) { $cropped = wp_crop_image( $attachment_id, (int) $_POST['x1'], (int) $_POST['y1'], (int) $_POST['width'], (int) $_POST['height'], $width, $height ); } elseif ( ! empty( $_POST['create-new-attachment'] ) ) { $cropped = _copy_image_file( $attachment_id ); } else { $cropped = get_attached_file( $attachment_id ); } if ( ! $cropped || is_wp_error( $cropped ) ) { wp_die( __( 'Image could not be processed. Please go back and try again.' ), __( 'Image Processing Error' ) ); } /** This filter is documented in wp-admin/includes/class-custom-image-header.php */ $cropped = apply_filters( 'wp_create_file_in_uploads', $cropped, $attachment_id ); // For replication. $attachment = wp_copy_parent_attachment_properties( $cropped, $attachment_id, 'custom-header' ); if ( ! empty( $_POST['create-new-attachment'] ) ) { unset( $attachment['ID'] ); } // Update the attachment. $attachment_id = $this->insert_attachment( $attachment, $cropped ); $url = wp_get_attachment_url( $attachment_id ); $this->set_header_image( compact( 'url', 'attachment_id', 'width', 'height' ) ); // Cleanup. $medium = str_replace( wp_basename( $original ), 'midsize-' . wp_basename( $original ), $original ); if ( file_exists( $medium ) ) { wp_delete_file( $medium ); } if ( empty( $_POST['create-new-attachment'] ) && empty( $_POST['skip-cropping'] ) ) { wp_delete_file( $original ); } return $this->finished(); } /** * Displays last step of custom header image page. * * @since 2.1.0 */ public function finished() { $this->updated = true; $this->step_1(); } /** * Displays the page based on the current step. * * @since 2.1.0 */ public function admin_page() { if ( ! current_user_can( 'edit_theme_options' ) ) { wp_die( __( 'Sorry, you are not allowed to customize headers.' ) ); } $step = $this->step(); if ( 2 === $step ) { $this->step_2(); } elseif ( 3 === $step ) { $this->step_3(); } else { $this->step_1(); } } /** * Unused since 3.5.0. * * @since 3.4.0 * * @param array $form_fields * @return array $form_fields */ public function attachment_fields_to_edit( $form_fields ) { return $form_fields; } /** * Unused since 3.5.0. * * @since 3.4.0 * * @param array $tabs * @return array $tabs */ public function filter_upload_tabs( $tabs ) { return $tabs; } /** * Chooses a header image, selected from existing uploaded and default headers, * or provides an array of uploaded header data (either new, or from media library). * * @since 3.4.0 * * @param mixed $choice Which header image to select. Allows for values of 'random-default-image', * for randomly cycling among the default images; 'random-uploaded-image', * for randomly cycling among the uploaded images; the key of a default image * registered for that theme; and the key of an image uploaded for that theme * (the attachment ID of the image). Or an array of arguments: attachment_id, * url, width, height. All are required. */ final public function set_header_image( $choice ) { if ( is_array( $choice ) || is_object( $choice ) ) { $choice = (array) $choice; if ( ! isset( $choice['attachment_id'] ) || ! isset( $choice['url'] ) ) { return; } $choice['url'] = sanitize_url( $choice['url'] ); $header_image_data = (object) array( 'attachment_id' => $choice['attachment_id'], 'url' => $choice['url'], 'thumbnail_url' => $choice['url'], 'height' => $choice['height'], 'width' => $choice['width'], ); update_post_meta( $choice['attachment_id'], '_wp_attachment_is_custom_header', get_stylesheet() ); set_theme_mod( 'header_image', $choice['url'] ); set_theme_mod( 'header_image_data', $header_image_data ); return; } if ( in_array( $choice, array( 'remove-header', 'random-default-image', 'random-uploaded-image' ), true ) ) { set_theme_mod( 'header_image', $choice ); remove_theme_mod( 'header_image_data' ); return; } $uploaded = get_uploaded_header_images(); if ( $uploaded && isset( $uploaded[ $choice ] ) ) { $header_image_data = $uploaded[ $choice ]; } else { $this->process_default_headers(); if ( isset( $this->default_headers[ $choice ] ) ) { $header_image_data = $this->default_headers[ $choice ]; } else { return; } } set_theme_mod( 'header_image', sanitize_url( $header_image_data['url'] ) ); set_theme_mod( 'header_image_data', $header_image_data ); } /** * Removes a header image. * * @since 3.4.0 */ final public function remove_header_image() { $this->set_header_image( 'remove-header' ); } /** * Resets a header image to the default image for the theme. * * This method does not do anything if the theme does not have a default header image. * * @since 3.4.0 */ final public function reset_header_image() { $this->process_default_headers(); $default = get_theme_support( 'custom-header', 'default-image' ); if ( ! $default ) { $this->remove_header_image(); return; } $default = sprintf( $default, get_template_directory_uri(), get_stylesheet_directory_uri() ); $default_data = array(); foreach ( $this->default_headers as $header => $details ) { if ( $details['url'] === $default ) { $default_data = $details; break; } } set_theme_mod( 'header_image', $default ); set_theme_mod( 'header_image_data', (object) $default_data ); } /** * Calculates width and height based on what the currently selected theme supports. * * @since 3.9.0 * * @param array $dimensions * @return array dst_height and dst_width of header image. */ final public function get_header_dimensions( $dimensions ) { $max_width = 0; $width = absint( $dimensions['width'] ); $height = absint( $dimensions['height'] ); $theme_height = get_theme_support( 'custom-header', 'height' ); $theme_width = get_theme_support( 'custom-header', 'width' ); $has_flex_width = current_theme_supports( 'custom-header', 'flex-width' ); $has_flex_height = current_theme_supports( 'custom-header', 'flex-height' ); $has_max_width = current_theme_supports( 'custom-header', 'max-width' ); $dst = array( 'dst_height' => null, 'dst_width' => null, ); // For flex, limit size of image displayed to 1500px unless theme says otherwise. if ( $has_flex_width ) { $max_width = 1500; } if ( $has_max_width ) { $max_width = max( $max_width, get_theme_support( 'custom-header', 'max-width' ) ); } $max_width = max( $max_width, $theme_width ); if ( $has_flex_height && ( ! $has_flex_width || $width > $max_width ) ) { $dst['dst_height'] = absint( $height * ( $max_width / $width ) ); } elseif ( $has_flex_height && $has_flex_width ) { $dst['dst_height'] = $height; } else { $dst['dst_height'] = $theme_height; } if ( $has_flex_width && ( ! $has_flex_height || $width > $max_width ) ) { $dst['dst_width'] = absint( $width * ( $max_width / $width ) ); } elseif ( $has_flex_width && $has_flex_height ) { $dst['dst_width'] = $width; } else { $dst['dst_width'] = $theme_width; } return $dst; } /** * Creates an attachment 'object'. * * @since 3.9.0 * @deprecated 6.5.0 * * @param string $cropped Cropped image URL. * @param int $parent_attachment_id Attachment ID of parent image. * @return array An array with attachment object data. */ final public function create_attachment_object( $cropped, $parent_attachment_id ) { _deprecated_function( __METHOD__, '6.5.0', 'wp_copy_parent_attachment_properties()' ); $parent = get_post( $parent_attachment_id ); $parent_url = wp_get_attachment_url( $parent->ID ); $url = str_replace( wp_basename( $parent_url ), wp_basename( $cropped ), $parent_url ); $size = wp_getimagesize( $cropped ); $image_type = ( $size ) ? $size['mime'] : 'image/jpeg'; $attachment = array( 'ID' => $parent_attachment_id, 'post_title' => wp_basename( $cropped ), 'post_mime_type' => $image_type, 'guid' => $url, 'context' => 'custom-header', 'post_parent' => $parent_attachment_id, ); return $attachment; } /** * Inserts an attachment and its metadata. * * @since 3.9.0 * * @param array $attachment An array with attachment object data. * @param string $cropped File path to cropped image. * @return int Attachment ID. */ final public function insert_attachment( $attachment, $cropped ) { $parent_id = isset( $attachment['post_parent'] ) ? $attachment['post_parent'] : null; unset( $attachment['post_parent'] ); $attachment_id = wp_insert_attachment( $attachment, $cropped ); $metadata = wp_generate_attachment_metadata( $attachment_id, $cropped ); // If this is a crop, save the original attachment ID as metadata. if ( $parent_id ) { $metadata['attachment_parent'] = $parent_id; } /** * Filters the header image attachment metadata. * * @since 3.9.0 * * @see wp_generate_attachment_metadata() * * @param array $metadata Attachment metadata. */ $metadata = apply_filters( 'wp_header_image_attachment_metadata', $metadata ); wp_update_attachment_metadata( $attachment_id, $metadata ); return $attachment_id; } /** * Gets attachment uploaded by Media Manager, crops it, then saves it as a * new object. Returns JSON-encoded object details. * * @since 3.9.0 */ public function ajax_header_crop() { check_ajax_referer( 'image_editor-' . $_POST['id'], 'nonce' ); if ( ! current_user_can( 'edit_theme_options' ) ) { wp_send_json_error(); } if ( ! current_theme_supports( 'custom-header', 'uploads' ) ) { wp_send_json_error(); } $crop_details = $_POST['cropDetails']; $dimensions = $this->get_header_dimensions( array( 'height' => $crop_details['height'], 'width' => $crop_details['width'], ) ); $attachment_id = absint( $_POST['id'] ); $cropped = wp_crop_image( $attachment_id, (int) $crop_details['x1'], (int) $crop_details['y1'], (int) $crop_details['width'], (int) $crop_details['height'], (int) $dimensions['dst_width'], (int) $dimensions['dst_height'] ); if ( ! $cropped || is_wp_error( $cropped ) ) { wp_send_json_error( array( 'message' => __( 'Image could not be processed. Please go back and try again.' ) ) ); } /** This filter is documented in wp-admin/includes/class-custom-image-header.php */ $cropped = apply_filters( 'wp_create_file_in_uploads', $cropped, $attachment_id ); // For replication. $attachment = wp_copy_parent_attachment_properties( $cropped, $attachment_id, 'custom-header' ); $previous = $this->get_previous_crop( $attachment ); if ( $previous ) { $attachment['ID'] = $previous; } else { unset( $attachment['ID'] ); } $new_attachment_id = $this->insert_attachment( $attachment, $cropped ); $attachment['attachment_id'] = $new_attachment_id; $attachment['url'] = wp_get_attachment_url( $new_attachment_id ); $attachment['width'] = $dimensions['dst_width']; $attachment['height'] = $dimensions['dst_height']; wp_send_json_success( $attachment ); } /** * Given an attachment ID for a header image, updates its "last used" * timestamp to now. * * Triggered when the user tries adds a new header image from the * Media Manager, even if s/he doesn't save that change. * * @since 3.9.0 */ public function ajax_header_add() { check_ajax_referer( 'header-add', 'nonce' ); if ( ! current_user_can( 'edit_theme_options' ) ) { wp_send_json_error(); } $attachment_id = absint( $_POST['attachment_id'] ); if ( $attachment_id < 1 ) { wp_send_json_error(); } $key = '_wp_attachment_custom_header_last_used_' . get_stylesheet(); update_post_meta( $attachment_id, $key, time() ); update_post_meta( $attachment_id, '_wp_attachment_is_custom_header', get_stylesheet() ); wp_send_json_success(); } /** * Given an attachment ID for a header image, unsets it as a user-uploaded * header image for the active theme. * * Triggered when the user clicks the overlay "X" button next to each image * choice in the Customizer's Header tool. * * @since 3.9.0 */ public function ajax_header_remove() { check_ajax_referer( 'header-remove', 'nonce' ); if ( ! current_user_can( 'edit_theme_options' ) ) { wp_send_json_error(); } $attachment_id = absint( $_POST['attachment_id'] ); if ( $attachment_id < 1 ) { wp_send_json_error(); } $key = '_wp_attachment_custom_header_last_used_' . get_stylesheet(); delete_post_meta( $attachment_id, $key ); delete_post_meta( $attachment_id, '_wp_attachment_is_custom_header', get_stylesheet() ); wp_send_json_success(); } /** * Updates the last-used postmeta on a header image attachment after saving a new header image via the Customizer. * * @since 3.9.0 * * @param WP_Customize_Manager $wp_customize Customize manager. */ public function customize_set_last_used( $wp_customize ) { $header_image_data_setting = $wp_customize->get_setting( 'header_image_data' ); if ( ! $header_image_data_setting ) { return; } $data = $header_image_data_setting->post_value(); if ( ! isset( $data['attachment_id'] ) ) { return; } $attachment_id = $data['attachment_id']; $key = '_wp_attachment_custom_header_last_used_' . get_stylesheet(); update_post_meta( $attachment_id, $key, time() ); } /** * Gets the details of default header images if defined. * * @since 3.9.0 * * @return array Default header images. */ public function get_default_header_images() { $this->process_default_headers(); // Get the default image if there is one. $default = get_theme_support( 'custom-header', 'default-image' ); if ( ! $default ) { // If not, easy peasy. return $this->default_headers; } $default = sprintf( $default, get_template_directory_uri(), get_stylesheet_directory_uri() ); $already_has_default = false; foreach ( $this->default_headers as $k => $h ) { if ( $h['url'] === $default ) { $already_has_default = true; break; } } if ( $already_has_default ) { return $this->default_headers; } // If the one true image isn't included in the default set, prepend it. $header_images = array(); $header_images['default'] = array( 'url' => $default, 'thumbnail_url' => $default, 'description' => 'Default', ); // The rest of the set comes after. return array_merge( $header_images, $this->default_headers ); } /** * Gets the previously uploaded header images. * * @since 3.9.0 * * @return array Uploaded header images. */ public function get_uploaded_header_images() { $header_images = get_uploaded_header_images(); $timestamp_key = '_wp_attachment_custom_header_last_used_' . get_stylesheet(); $alt_text_key = '_wp_attachment_image_alt'; foreach ( $header_images as &$header_image ) { $header_meta = get_post_meta( $header_image['attachment_id'] ); $header_image['timestamp'] = isset( $header_meta[ $timestamp_key ] ) ? $header_meta[ $timestamp_key ] : ''; $header_image['alt_text'] = isset( $header_meta[ $alt_text_key ] ) ? $header_meta[ $alt_text_key ] : ''; } return $header_images; } /** * Gets the ID of a previous crop from the same base image. * * @since 4.9.0 * * @param array $attachment An array with a cropped attachment object data. * @return int|false An attachment ID if one exists. False if none. */ public function get_previous_crop( $attachment ) { $header_images = $this->get_uploaded_header_images(); // Bail early if there are no header images. if ( empty( $header_images ) ) { return false; } $previous = false; foreach ( $header_images as $image ) { if ( $image['attachment_parent'] === $attachment['post_parent'] ) { $previous = $image['attachment_id']; break; } } return $previous; } } theme.php 0000644 00000135176 14735706075 0006412 0 ustar 00 <?php /** * WordPress Theme Administration API * * @package WordPress * @subpackage Administration */ /** * Removes a theme. * * @since 2.8.0 * * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass. * * @param string $stylesheet Stylesheet of the theme to delete. * @param string $redirect Redirect to page when complete. * @return bool|null|WP_Error True on success, false if `$stylesheet` is empty, WP_Error on failure. * Null if filesystem credentials are required to proceed. */ function delete_theme( $stylesheet, $redirect = '' ) { global $wp_filesystem; if ( empty( $stylesheet ) ) { return false; } if ( empty( $redirect ) ) { $redirect = wp_nonce_url( 'themes.php?action=delete&stylesheet=' . urlencode( $stylesheet ), 'delete-theme_' . $stylesheet ); } ob_start(); $credentials = request_filesystem_credentials( $redirect ); $data = ob_get_clean(); if ( false === $credentials ) { if ( ! empty( $data ) ) { require_once ABSPATH . 'wp-admin/admin-header.php'; echo $data; require_once ABSPATH . 'wp-admin/admin-footer.php'; exit; } return; } if ( ! WP_Filesystem( $credentials ) ) { ob_start(); // Failed to connect. Error and request again. request_filesystem_credentials( $redirect, '', true ); $data = ob_get_clean(); if ( ! empty( $data ) ) { require_once ABSPATH . 'wp-admin/admin-header.php'; echo $data; require_once ABSPATH . 'wp-admin/admin-footer.php'; exit; } return; } if ( ! is_object( $wp_filesystem ) ) { return new WP_Error( 'fs_unavailable', __( 'Could not access filesystem.' ) ); } if ( is_wp_error( $wp_filesystem->errors ) && $wp_filesystem->errors->has_errors() ) { return new WP_Error( 'fs_error', __( 'Filesystem error.' ), $wp_filesystem->errors ); } // Get the base theme folder. $themes_dir = $wp_filesystem->wp_themes_dir(); if ( empty( $themes_dir ) ) { return new WP_Error( 'fs_no_themes_dir', __( 'Unable to locate WordPress theme directory.' ) ); } /** * Fires immediately before a theme deletion attempt. * * @since 5.8.0 * * @param string $stylesheet Stylesheet of the theme to delete. */ do_action( 'delete_theme', $stylesheet ); $theme = wp_get_theme( $stylesheet ); $themes_dir = trailingslashit( $themes_dir ); $theme_dir = trailingslashit( $themes_dir . $stylesheet ); $deleted = $wp_filesystem->delete( $theme_dir, true ); /** * Fires immediately after a theme deletion attempt. * * @since 5.8.0 * * @param string $stylesheet Stylesheet of the theme to delete. * @param bool $deleted Whether the theme deletion was successful. */ do_action( 'deleted_theme', $stylesheet, $deleted ); if ( ! $deleted ) { return new WP_Error( 'could_not_remove_theme', /* translators: %s: Theme name. */ sprintf( __( 'Could not fully remove the theme %s.' ), $stylesheet ) ); } $theme_translations = wp_get_installed_translations( 'themes' ); // Remove language files, silently. if ( ! empty( $theme_translations[ $stylesheet ] ) ) { $translations = $theme_translations[ $stylesheet ]; foreach ( $translations as $translation => $data ) { $wp_filesystem->delete( WP_LANG_DIR . '/themes/' . $stylesheet . '-' . $translation . '.po' ); $wp_filesystem->delete( WP_LANG_DIR . '/themes/' . $stylesheet . '-' . $translation . '.mo' ); $wp_filesystem->delete( WP_LANG_DIR . '/themes/' . $stylesheet . '-' . $translation . '.l10n.php' ); $json_translation_files = glob( WP_LANG_DIR . '/themes/' . $stylesheet . '-' . $translation . '-*.json' ); if ( $json_translation_files ) { array_map( array( $wp_filesystem, 'delete' ), $json_translation_files ); } } } // Remove the theme from allowed themes on the network. if ( is_multisite() ) { WP_Theme::network_disable_theme( $stylesheet ); } // Clear theme caches. $theme->cache_delete(); // Force refresh of theme update information. delete_site_transient( 'update_themes' ); return true; } /** * Gets the page templates available in this theme. * * @since 1.5.0 * @since 4.7.0 Added the `$post_type` parameter. * * @param WP_Post|null $post Optional. The post being edited, provided for context. * @param string $post_type Optional. Post type to get the templates for. Default 'page'. * @return string[] Array of template file names keyed by the template header name. */ function get_page_templates( $post = null, $post_type = 'page' ) { return array_flip( wp_get_theme()->get_page_templates( $post, $post_type ) ); } /** * Tidies a filename for url display by the theme file editor. * * @since 2.9.0 * @access private * * @param string $fullpath Full path to the theme file * @param string $containingfolder Path of the theme parent folder * @return string */ function _get_template_edit_filename( $fullpath, $containingfolder ) { return str_replace( dirname( $containingfolder, 2 ), '', $fullpath ); } /** * Check if there is an update for a theme available. * * Will display link, if there is an update available. * * @since 2.7.0 * * @see get_theme_update_available() * * @param WP_Theme $theme Theme data object. */ function theme_update_available( $theme ) { echo get_theme_update_available( $theme ); } /** * Retrieves the update link if there is a theme update available. * * Will return a link if there is an update available. * * @since 3.8.0 * * @param WP_Theme $theme WP_Theme object. * @return string|false HTML for the update link, or false if invalid info was passed. */ function get_theme_update_available( $theme ) { static $themes_update = null; if ( ! current_user_can( 'update_themes' ) ) { return false; } if ( ! isset( $themes_update ) ) { $themes_update = get_site_transient( 'update_themes' ); } if ( ! ( $theme instanceof WP_Theme ) ) { return false; } $stylesheet = $theme->get_stylesheet(); $html = ''; if ( isset( $themes_update->response[ $stylesheet ] ) ) { $update = $themes_update->response[ $stylesheet ]; $theme_name = $theme->display( 'Name' ); $details_url = add_query_arg( array( 'TB_iframe' => 'true', 'width' => 1024, 'height' => 800, ), $update['url'] ); // Theme browser inside WP? Replace this. Also, theme preview JS will override this on the available list. $update_url = wp_nonce_url( admin_url( 'update.php?action=upgrade-theme&theme=' . urlencode( $stylesheet ) ), 'upgrade-theme_' . $stylesheet ); if ( ! is_multisite() ) { if ( ! current_user_can( 'update_themes' ) ) { $html = sprintf( /* translators: 1: Theme name, 2: Theme details URL, 3: Additional link attributes, 4: Version number. */ '<p><strong>' . __( 'There is a new version of %1$s available. <a href="%2$s" %3$s>View version %4$s details</a>.' ) . '</strong></p>', $theme_name, esc_url( $details_url ), sprintf( 'class="thickbox open-plugin-details-modal" aria-label="%s"', /* translators: 1: Theme name, 2: Version number. */ esc_attr( sprintf( __( 'View %1$s version %2$s details' ), $theme_name, $update['new_version'] ) ) ), $update['new_version'] ); } elseif ( empty( $update['package'] ) ) { $html = sprintf( /* translators: 1: Theme name, 2: Theme details URL, 3: Additional link attributes, 4: Version number. */ '<p><strong>' . __( 'There is a new version of %1$s available. <a href="%2$s" %3$s>View version %4$s details</a>. <em>Automatic update is unavailable for this theme.</em>' ) . '</strong></p>', $theme_name, esc_url( $details_url ), sprintf( 'class="thickbox open-plugin-details-modal" aria-label="%s"', /* translators: 1: Theme name, 2: Version number. */ esc_attr( sprintf( __( 'View %1$s version %2$s details' ), $theme_name, $update['new_version'] ) ) ), $update['new_version'] ); } else { $html = sprintf( /* translators: 1: Theme name, 2: Theme details URL, 3: Additional link attributes, 4: Version number, 5: Update URL, 6: Additional link attributes. */ '<p><strong>' . __( 'There is a new version of %1$s available. <a href="%2$s" %3$s>View version %4$s details</a> or <a href="%5$s" %6$s>update now</a>.' ) . '</strong></p>', $theme_name, esc_url( $details_url ), sprintf( 'class="thickbox open-plugin-details-modal" aria-label="%s"', /* translators: 1: Theme name, 2: Version number. */ esc_attr( sprintf( __( 'View %1$s version %2$s details' ), $theme_name, $update['new_version'] ) ) ), $update['new_version'], $update_url, sprintf( 'aria-label="%s" id="update-theme" data-slug="%s"', /* translators: %s: Theme name. */ esc_attr( sprintf( _x( 'Update %s now', 'theme' ), $theme_name ) ), $stylesheet ) ); } } } return $html; } /** * Retrieves list of WordPress theme features (aka theme tags). * * @since 3.1.0 * @since 3.2.0 Added 'Gray' color and 'Featured Image Header', 'Featured Images', * 'Full Width Template', and 'Post Formats' features. * @since 3.5.0 Added 'Flexible Header' feature. * @since 3.8.0 Renamed 'Width' filter to 'Layout'. * @since 3.8.0 Renamed 'Fixed Width' and 'Flexible Width' options * to 'Fixed Layout' and 'Fluid Layout'. * @since 3.8.0 Added 'Accessibility Ready' feature and 'Responsive Layout' option. * @since 3.9.0 Combined 'Layout' and 'Columns' filters. * @since 4.6.0 Removed 'Colors' filter. * @since 4.6.0 Added 'Grid Layout' option. * Removed 'Fixed Layout', 'Fluid Layout', and 'Responsive Layout' options. * @since 4.6.0 Added 'Custom Logo' and 'Footer Widgets' features. * Removed 'Blavatar' feature. * @since 4.6.0 Added 'Blog', 'E-Commerce', 'Education', 'Entertainment', 'Food & Drink', * 'Holiday', 'News', 'Photography', and 'Portfolio' subjects. * Removed 'Photoblogging' and 'Seasonal' subjects. * @since 4.9.0 Reordered the filters from 'Layout', 'Features', 'Subject' * to 'Subject', 'Features', 'Layout'. * @since 4.9.0 Removed 'BuddyPress', 'Custom Menu', 'Flexible Header', * 'Front Page Posting', 'Microformats', 'RTL Language Support', * 'Threaded Comments', and 'Translation Ready' features. * @since 5.5.0 Added 'Block Editor Patterns', 'Block Editor Styles', * and 'Full Site Editing' features. * @since 5.5.0 Added 'Wide Blocks' layout option. * @since 5.8.1 Added 'Template Editing' feature. * @since 6.1.1 Replaced 'Full Site Editing' feature name with 'Site Editor'. * @since 6.2.0 Added 'Style Variations' feature. * * @param bool $api Optional. Whether try to fetch tags from the WordPress.org API. Defaults to true. * @return array Array of features keyed by category with translations keyed by slug. */ function get_theme_feature_list( $api = true ) { // Hard-coded list is used if API is not accessible. $features = array( __( 'Subject' ) => array( 'blog' => __( 'Blog' ), 'e-commerce' => __( 'E-Commerce' ), 'education' => __( 'Education' ), 'entertainment' => __( 'Entertainment' ), 'food-and-drink' => __( 'Food & Drink' ), 'holiday' => __( 'Holiday' ), 'news' => __( 'News' ), 'photography' => __( 'Photography' ), 'portfolio' => __( 'Portfolio' ), ), __( 'Features' ) => array( 'accessibility-ready' => __( 'Accessibility Ready' ), 'block-patterns' => __( 'Block Editor Patterns' ), 'block-styles' => __( 'Block Editor Styles' ), 'custom-background' => __( 'Custom Background' ), 'custom-colors' => __( 'Custom Colors' ), 'custom-header' => __( 'Custom Header' ), 'custom-logo' => __( 'Custom Logo' ), 'editor-style' => __( 'Editor Style' ), 'featured-image-header' => __( 'Featured Image Header' ), 'featured-images' => __( 'Featured Images' ), 'footer-widgets' => __( 'Footer Widgets' ), 'full-site-editing' => __( 'Site Editor' ), 'full-width-template' => __( 'Full Width Template' ), 'post-formats' => __( 'Post Formats' ), 'sticky-post' => __( 'Sticky Post' ), 'style-variations' => __( 'Style Variations' ), 'template-editing' => __( 'Template Editing' ), 'theme-options' => __( 'Theme Options' ), ), __( 'Layout' ) => array( 'grid-layout' => __( 'Grid Layout' ), 'one-column' => __( 'One Column' ), 'two-columns' => __( 'Two Columns' ), 'three-columns' => __( 'Three Columns' ), 'four-columns' => __( 'Four Columns' ), 'left-sidebar' => __( 'Left Sidebar' ), 'right-sidebar' => __( 'Right Sidebar' ), 'wide-blocks' => __( 'Wide Blocks' ), ), ); if ( ! $api || ! current_user_can( 'install_themes' ) ) { return $features; } $feature_list = get_site_transient( 'wporg_theme_feature_list' ); if ( ! $feature_list ) { set_site_transient( 'wporg_theme_feature_list', array(), 3 * HOUR_IN_SECONDS ); } if ( ! $feature_list ) { $feature_list = themes_api( 'feature_list', array() ); if ( is_wp_error( $feature_list ) ) { return $features; } } if ( ! $feature_list ) { return $features; } set_site_transient( 'wporg_theme_feature_list', $feature_list, 3 * HOUR_IN_SECONDS ); $category_translations = array( 'Layout' => __( 'Layout' ), 'Features' => __( 'Features' ), 'Subject' => __( 'Subject' ), ); $wporg_features = array(); // Loop over the wp.org canonical list and apply translations. foreach ( (array) $feature_list as $feature_category => $feature_items ) { if ( isset( $category_translations[ $feature_category ] ) ) { $feature_category = $category_translations[ $feature_category ]; } $wporg_features[ $feature_category ] = array(); foreach ( $feature_items as $feature ) { if ( isset( $features[ $feature_category ][ $feature ] ) ) { $wporg_features[ $feature_category ][ $feature ] = $features[ $feature_category ][ $feature ]; } else { $wporg_features[ $feature_category ][ $feature ] = $feature; } } } return $wporg_features; } /** * Retrieves theme installer pages from the WordPress.org Themes API. * * It is possible for a theme to override the Themes API result with three * filters. Assume this is for themes, which can extend on the Theme Info to * offer more choices. This is very powerful and must be used with care, when * overriding the filters. * * The first filter, {@see 'themes_api_args'}, is for the args and gives the action * as the second parameter. The hook for {@see 'themes_api_args'} must ensure that * an object is returned. * * The second filter, {@see 'themes_api'}, allows a plugin to override the WordPress.org * Theme API entirely. If `$action` is 'query_themes', 'theme_information', or 'feature_list', * an object MUST be passed. If `$action` is 'hot_tags', an array should be passed. * * Finally, the third filter, {@see 'themes_api_result'}, makes it possible to filter the * response object or array, depending on the `$action` type. * * Supported arguments per action: * * | Argument Name | 'query_themes' | 'theme_information' | 'hot_tags' | 'feature_list' | * | -------------------| :------------: | :-----------------: | :--------: | :--------------: | * | `$slug` | No | Yes | No | No | * | `$per_page` | Yes | No | No | No | * | `$page` | Yes | No | No | No | * | `$number` | No | No | Yes | No | * | `$search` | Yes | No | No | No | * | `$tag` | Yes | No | No | No | * | `$author` | Yes | No | No | No | * | `$user` | Yes | No | No | No | * | `$browse` | Yes | No | No | No | * | `$locale` | Yes | Yes | No | No | * | `$fields` | Yes | Yes | No | No | * * @since 2.8.0 * * @param string $action API action to perform: Accepts 'query_themes', 'theme_information', * 'hot_tags' or 'feature_list'. * @param array|object $args { * Optional. Array or object of arguments to serialize for the Themes API. Default empty array. * * @type string $slug The theme slug. Default empty. * @type int $per_page Number of themes per page. Default 24. * @type int $page Number of current page. Default 1. * @type int $number Number of tags to be queried. * @type string $search A search term. Default empty. * @type string $tag Tag to filter themes. Default empty. * @type string $author Username of an author to filter themes. Default empty. * @type string $user Username to query for their favorites. Default empty. * @type string $browse Browse view: 'featured', 'popular', 'updated', 'favorites'. * @type string $locale Locale to provide context-sensitive results. Default is the value of get_locale(). * @type array $fields { * Array of fields which should or should not be returned. * * @type bool $description Whether to return the theme full description. Default false. * @type bool $sections Whether to return the theme readme sections: description, installation, * FAQ, screenshots, other notes, and changelog. Default false. * @type bool $rating Whether to return the rating in percent and total number of ratings. * Default false. * @type bool $ratings Whether to return the number of rating for each star (1-5). Default false. * @type bool $downloaded Whether to return the download count. Default false. * @type bool $downloadlink Whether to return the download link for the package. Default false. * @type bool $last_updated Whether to return the date of the last update. Default false. * @type bool $tags Whether to return the assigned tags. Default false. * @type bool $homepage Whether to return the theme homepage link. Default false. * @type bool $screenshots Whether to return the screenshots. Default false. * @type int $screenshot_count Number of screenshots to return. Default 1. * @type bool $screenshot_url Whether to return the URL of the first screenshot. Default false. * @type bool $photon_screenshots Whether to return the screenshots via Photon. Default false. * @type bool $template Whether to return the slug of the parent theme. Default false. * @type bool $parent Whether to return the slug, name and homepage of the parent theme. Default false. * @type bool $versions Whether to return the list of all available versions. Default false. * @type bool $theme_url Whether to return theme's URL. Default false. * @type bool $extended_author Whether to return nicename or nicename and display name. Default false. * } * } * @return object|array|WP_Error Response object or array on success, WP_Error on failure. See the * {@link https://developer.wordpress.org/reference/functions/themes_api/ function reference article} * for more information on the make-up of possible return objects depending on the value of `$action`. */ function themes_api( $action, $args = array() ) { if ( is_array( $args ) ) { $args = (object) $args; } if ( 'query_themes' === $action ) { if ( ! isset( $args->per_page ) ) { $args->per_page = 24; } } if ( ! isset( $args->locale ) ) { $args->locale = get_user_locale(); } if ( ! isset( $args->wp_version ) ) { $args->wp_version = substr( wp_get_wp_version(), 0, 3 ); // x.y } /** * Filters arguments used to query for installer pages from the WordPress.org Themes API. * * Important: An object MUST be returned to this filter. * * @since 2.8.0 * * @param object $args Arguments used to query for installer pages from the WordPress.org Themes API. * @param string $action Requested action. Likely values are 'theme_information', * 'feature_list', or 'query_themes'. */ $args = apply_filters( 'themes_api_args', $args, $action ); /** * Filters whether to override the WordPress.org Themes API. * * Returning a non-false value will effectively short-circuit the WordPress.org API request. * * If `$action` is 'query_themes', 'theme_information', or 'feature_list', an object MUST * be passed. If `$action` is 'hot_tags', an array should be passed. * * @since 2.8.0 * * @param false|object|array $override Whether to override the WordPress.org Themes API. Default false. * @param string $action Requested action. Likely values are 'theme_information', * 'feature_list', or 'query_themes'. * @param object $args Arguments used to query for installer pages from the Themes API. */ $res = apply_filters( 'themes_api', false, $action, $args ); if ( ! $res ) { $url = 'http://api.wordpress.org/themes/info/1.2/'; $url = add_query_arg( array( 'action' => $action, 'request' => $args, ), $url ); $http_url = $url; $ssl = wp_http_supports( array( 'ssl' ) ); if ( $ssl ) { $url = set_url_scheme( $url, 'https' ); } $http_args = array( 'timeout' => 15, 'user-agent' => 'WordPress/' . wp_get_wp_version() . '; ' . home_url( '/' ), ); $request = wp_remote_get( $url, $http_args ); if ( $ssl && is_wp_error( $request ) ) { if ( ! wp_doing_ajax() ) { wp_trigger_error( __FUNCTION__, sprintf( /* translators: %s: Support forums URL. */ __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server’s configuration. If you continue to have problems, please try the <a href="%s">support forums</a>.' ), __( 'https://wordpress.org/support/forums/' ) ) . ' ' . __( '(WordPress could not establish a secure connection to WordPress.org. Please contact your server administrator.)' ), headers_sent() || WP_DEBUG ? E_USER_WARNING : E_USER_NOTICE ); } $request = wp_remote_get( $http_url, $http_args ); } if ( is_wp_error( $request ) ) { $res = new WP_Error( 'themes_api_failed', sprintf( /* translators: %s: Support forums URL. */ __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server’s configuration. If you continue to have problems, please try the <a href="%s">support forums</a>.' ), __( 'https://wordpress.org/support/forums/' ) ), $request->get_error_message() ); } else { $res = json_decode( wp_remote_retrieve_body( $request ), true ); if ( is_array( $res ) ) { // Object casting is required in order to match the info/1.0 format. $res = (object) $res; } elseif ( null === $res ) { $res = new WP_Error( 'themes_api_failed', sprintf( /* translators: %s: Support forums URL. */ __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server’s configuration. If you continue to have problems, please try the <a href="%s">support forums</a>.' ), __( 'https://wordpress.org/support/forums/' ) ), wp_remote_retrieve_body( $request ) ); } if ( isset( $res->error ) ) { $res = new WP_Error( 'themes_api_failed', $res->error ); } } if ( ! is_wp_error( $res ) ) { // Back-compat for info/1.2 API, upgrade the theme objects in query_themes to objects. if ( 'query_themes' === $action ) { foreach ( $res->themes as $i => $theme ) { $res->themes[ $i ] = (object) $theme; } } // Back-compat for info/1.2 API, downgrade the feature_list result back to an array. if ( 'feature_list' === $action ) { $res = (array) $res; } } } /** * Filters the returned WordPress.org Themes API response. * * @since 2.8.0 * * @param array|stdClass|WP_Error $res WordPress.org Themes API response. * @param string $action Requested action. Likely values are 'theme_information', * 'feature_list', or 'query_themes'. * @param stdClass $args Arguments used to query for installer pages from the WordPress.org Themes API. */ return apply_filters( 'themes_api_result', $res, $action, $args ); } /** * Prepares themes for JavaScript. * * @since 3.8.0 * * @param WP_Theme[] $themes Optional. Array of theme objects to prepare. * Defaults to all allowed themes. * * @return array An associative array of theme data, sorted by name. */ function wp_prepare_themes_for_js( $themes = null ) { $current_theme = get_stylesheet(); /** * Filters theme data before it is prepared for JavaScript. * * Passing a non-empty array will result in wp_prepare_themes_for_js() returning * early with that value instead. * * @since 4.2.0 * * @param array $prepared_themes An associative array of theme data. Default empty array. * @param WP_Theme[]|null $themes An array of theme objects to prepare, if any. * @param string $current_theme The active theme slug. */ $prepared_themes = (array) apply_filters( 'pre_prepare_themes_for_js', array(), $themes, $current_theme ); if ( ! empty( $prepared_themes ) ) { return $prepared_themes; } // Make sure the active theme is listed first. $prepared_themes[ $current_theme ] = array(); if ( null === $themes ) { $themes = wp_get_themes( array( 'allowed' => true ) ); if ( ! isset( $themes[ $current_theme ] ) ) { $themes[ $current_theme ] = wp_get_theme(); } } $updates = array(); $no_updates = array(); if ( ! is_multisite() && current_user_can( 'update_themes' ) ) { $updates_transient = get_site_transient( 'update_themes' ); if ( isset( $updates_transient->response ) ) { $updates = $updates_transient->response; } if ( isset( $updates_transient->no_update ) ) { $no_updates = $updates_transient->no_update; } } WP_Theme::sort_by_name( $themes ); $parents = array(); $auto_updates = (array) get_site_option( 'auto_update_themes', array() ); foreach ( $themes as $theme ) { $slug = $theme->get_stylesheet(); $encoded_slug = urlencode( $slug ); $parent = false; if ( $theme->parent() ) { $parent = $theme->parent(); $parents[ $slug ] = $parent->get_stylesheet(); $parent = $parent->display( 'Name' ); } $customize_action = null; $can_edit_theme_options = current_user_can( 'edit_theme_options' ); $can_customize = current_user_can( 'customize' ); $is_block_theme = $theme->is_block_theme(); if ( $is_block_theme && $can_edit_theme_options ) { $customize_action = admin_url( 'site-editor.php' ); if ( $current_theme !== $slug ) { $customize_action = add_query_arg( 'wp_theme_preview', $slug, $customize_action ); } } elseif ( ! $is_block_theme && $can_customize && $can_edit_theme_options ) { $customize_action = wp_customize_url( $slug ); } if ( null !== $customize_action ) { $customize_action = add_query_arg( array( 'return' => urlencode( sanitize_url( remove_query_arg( wp_removable_query_args(), wp_unslash( $_SERVER['REQUEST_URI'] ) ) ) ), ), $customize_action ); $customize_action = esc_url( $customize_action ); } $update_requires_wp = isset( $updates[ $slug ]['requires'] ) ? $updates[ $slug ]['requires'] : null; $update_requires_php = isset( $updates[ $slug ]['requires_php'] ) ? $updates[ $slug ]['requires_php'] : null; $auto_update = in_array( $slug, $auto_updates, true ); $auto_update_action = $auto_update ? 'disable-auto-update' : 'enable-auto-update'; if ( isset( $updates[ $slug ] ) ) { $auto_update_supported = true; $auto_update_filter_payload = (object) $updates[ $slug ]; } elseif ( isset( $no_updates[ $slug ] ) ) { $auto_update_supported = true; $auto_update_filter_payload = (object) $no_updates[ $slug ]; } else { $auto_update_supported = false; /* * Create the expected payload for the auto_update_theme filter, this is the same data * as contained within $updates or $no_updates but used when the Theme is not known. */ $auto_update_filter_payload = (object) array( 'theme' => $slug, 'new_version' => $theme->get( 'Version' ), 'url' => '', 'package' => '', 'requires' => $theme->get( 'RequiresWP' ), 'requires_php' => $theme->get( 'RequiresPHP' ), ); } $auto_update_forced = wp_is_auto_update_forced_for_item( 'theme', null, $auto_update_filter_payload ); $prepared_themes[ $slug ] = array( 'id' => $slug, 'name' => $theme->display( 'Name' ), 'screenshot' => array( $theme->get_screenshot() ), // @todo Multiple screenshots. 'description' => $theme->display( 'Description' ), 'author' => $theme->display( 'Author', false, true ), 'authorAndUri' => $theme->display( 'Author' ), 'tags' => $theme->display( 'Tags' ), 'version' => $theme->get( 'Version' ), 'compatibleWP' => is_wp_version_compatible( $theme->get( 'RequiresWP' ) ), 'compatiblePHP' => is_php_version_compatible( $theme->get( 'RequiresPHP' ) ), 'updateResponse' => array( 'compatibleWP' => is_wp_version_compatible( $update_requires_wp ), 'compatiblePHP' => is_php_version_compatible( $update_requires_php ), ), 'parent' => $parent, 'active' => $slug === $current_theme, 'hasUpdate' => isset( $updates[ $slug ] ), 'hasPackage' => isset( $updates[ $slug ] ) && ! empty( $updates[ $slug ]['package'] ), 'update' => get_theme_update_available( $theme ), 'autoupdate' => array( 'enabled' => $auto_update || $auto_update_forced, 'supported' => $auto_update_supported, 'forced' => $auto_update_forced, ), 'actions' => array( 'activate' => current_user_can( 'switch_themes' ) ? wp_nonce_url( admin_url( 'themes.php?action=activate&stylesheet=' . $encoded_slug ), 'switch-theme_' . $slug ) : null, 'customize' => $customize_action, 'delete' => ( ! is_multisite() && current_user_can( 'delete_themes' ) ) ? wp_nonce_url( admin_url( 'themes.php?action=delete&stylesheet=' . $encoded_slug ), 'delete-theme_' . $slug ) : null, 'autoupdate' => wp_is_auto_update_enabled_for_type( 'theme' ) && ! is_multisite() && current_user_can( 'update_themes' ) ? wp_nonce_url( admin_url( 'themes.php?action=' . $auto_update_action . '&stylesheet=' . $encoded_slug ), 'updates' ) : null, ), 'blockTheme' => $theme->is_block_theme(), ); } // Remove 'delete' action if theme has an active child. if ( ! empty( $parents ) && array_key_exists( $current_theme, $parents ) ) { unset( $prepared_themes[ $parents[ $current_theme ] ]['actions']['delete'] ); } /** * Filters the themes prepared for JavaScript, for themes.php. * * Could be useful for changing the order, which is by name by default. * * @since 3.8.0 * * @param array $prepared_themes Array of theme data. */ $prepared_themes = apply_filters( 'wp_prepare_themes_for_js', $prepared_themes ); $prepared_themes = array_values( $prepared_themes ); return array_filter( $prepared_themes ); } /** * Prints JS templates for the theme-browsing UI in the Customizer. * * @since 4.2.0 */ function customize_themes_print_templates() { ?> <script type="text/html" id="tmpl-customize-themes-details-view"> <div class="theme-backdrop"></div> <div class="theme-wrap wp-clearfix" role="document"> <div class="theme-header"> <button type="button" class="left dashicons dashicons-no"><span class="screen-reader-text"> <?php /* translators: Hidden accessibility text. */ _e( 'Show previous theme' ); ?> </span></button> <button type="button" class="right dashicons dashicons-no"><span class="screen-reader-text"> <?php /* translators: Hidden accessibility text. */ _e( 'Show next theme' ); ?> </span></button> <button type="button" class="close dashicons dashicons-no"><span class="screen-reader-text"> <?php /* translators: Hidden accessibility text. */ _e( 'Close details dialog' ); ?> </span></button> </div> <div class="theme-about wp-clearfix"> <div class="theme-screenshots"> <# if ( data.screenshot && data.screenshot[0] ) { #> <div class="screenshot"><img src="{{ data.screenshot[0] }}?ver={{ data.version }}" alt="" /></div> <# } else { #> <div class="screenshot blank"></div> <# } #> </div> <div class="theme-info"> <# if ( data.active ) { #> <span class="current-label"><?php _e( 'Active Theme' ); ?></span> <# } #> <h2 class="theme-name">{{{ data.name }}}<span class="theme-version"> <?php /* translators: %s: Theme version. */ printf( __( 'Version: %s' ), '{{ data.version }}' ); ?> </span></h2> <h3 class="theme-author"> <?php /* translators: %s: Theme author link. */ printf( __( 'By %s' ), '{{{ data.authorAndUri }}}' ); ?> </h3> <# if ( data.stars && 0 != data.num_ratings ) { #> <div class="theme-rating"> {{{ data.stars }}} <a class="num-ratings" target="_blank" href="{{ data.reviews_url }}"> <?php printf( '%1$s <span class="screen-reader-text">%2$s</span>', /* translators: %s: Number of ratings. */ sprintf( __( '(%s ratings)' ), '{{ data.num_ratings }}' ), /* translators: Hidden accessibility text. */ __( '(opens in a new tab)' ) ); ?> </a> </div> <# } #> <# if ( data.hasUpdate ) { #> <# if ( data.updateResponse.compatibleWP && data.updateResponse.compatiblePHP ) { #> <div class="notice notice-warning notice-alt notice-large" data-slug="{{ data.id }}"> <h3 class="notice-title"><?php _e( 'Update Available' ); ?></h3> {{{ data.update }}} </div> <# } else { #> <div class="notice notice-error notice-alt notice-large" data-slug="{{ data.id }}"> <h3 class="notice-title"><?php _e( 'Update Incompatible' ); ?></h3> <p> <# if ( ! data.updateResponse.compatibleWP && ! data.updateResponse.compatiblePHP ) { #> <?php printf( /* translators: %s: Theme name. */ __( 'There is a new version of %s available, but it does not work with your versions of WordPress and PHP.' ), '{{{ data.name }}}' ); if ( current_user_can( 'update_core' ) && current_user_can( 'update_php' ) ) { printf( /* translators: 1: URL to WordPress Updates screen, 2: URL to Update PHP page. */ ' ' . __( '<a href="%1$s">Please update WordPress</a>, and then <a href="%2$s">learn more about updating PHP</a>.' ), self_admin_url( 'update-core.php' ), esc_url( wp_get_update_php_url() ) ); wp_update_php_annotation( '</p><p><em>', '</em>' ); } elseif ( current_user_can( 'update_core' ) ) { printf( /* translators: %s: URL to WordPress Updates screen. */ ' ' . __( '<a href="%s">Please update WordPress</a>.' ), self_admin_url( 'update-core.php' ) ); } elseif ( current_user_can( 'update_php' ) ) { printf( /* translators: %s: URL to Update PHP page. */ ' ' . __( '<a href="%s">Learn more about updating PHP</a>.' ), esc_url( wp_get_update_php_url() ) ); wp_update_php_annotation( '</p><p><em>', '</em>' ); } ?> <# } else if ( ! data.updateResponse.compatibleWP ) { #> <?php printf( /* translators: %s: Theme name. */ __( 'There is a new version of %s available, but it does not work with your version of WordPress.' ), '{{{ data.name }}}' ); if ( current_user_can( 'update_core' ) ) { printf( /* translators: %s: URL to WordPress Updates screen. */ ' ' . __( '<a href="%s">Please update WordPress</a>.' ), self_admin_url( 'update-core.php' ) ); } ?> <# } else if ( ! data.updateResponse.compatiblePHP ) { #> <?php printf( /* translators: %s: Theme name. */ __( 'There is a new version of %s available, but it does not work with your version of PHP.' ), '{{{ data.name }}}' ); if ( current_user_can( 'update_php' ) ) { printf( /* translators: %s: URL to Update PHP page. */ ' ' . __( '<a href="%s">Learn more about updating PHP</a>.' ), esc_url( wp_get_update_php_url() ) ); wp_update_php_annotation( '</p><p><em>', '</em>' ); } ?> <# } #> </p> </div> <# } #> <# } #> <# if ( data.parent ) { #> <p class="parent-theme"> <?php printf( /* translators: %s: Theme name. */ __( 'This is a child theme of %s.' ), '<strong>{{{ data.parent }}}</strong>' ); ?> </p> <# } #> <# if ( ! data.compatibleWP || ! data.compatiblePHP ) { #> <div class="notice notice-error notice-alt notice-large"><p> <# if ( ! data.compatibleWP && ! data.compatiblePHP ) { #> <?php _e( 'This theme does not work with your versions of WordPress and PHP.' ); if ( current_user_can( 'update_core' ) && current_user_can( 'update_php' ) ) { printf( /* translators: 1: URL to WordPress Updates screen, 2: URL to Update PHP page. */ ' ' . __( '<a href="%1$s">Please update WordPress</a>, and then <a href="%2$s">learn more about updating PHP</a>.' ), self_admin_url( 'update-core.php' ), esc_url( wp_get_update_php_url() ) ); wp_update_php_annotation( '</p><p><em>', '</em>' ); } elseif ( current_user_can( 'update_core' ) ) { printf( /* translators: %s: URL to WordPress Updates screen. */ ' ' . __( '<a href="%s">Please update WordPress</a>.' ), self_admin_url( 'update-core.php' ) ); } elseif ( current_user_can( 'update_php' ) ) { printf( /* translators: %s: URL to Update PHP page. */ ' ' . __( '<a href="%s">Learn more about updating PHP</a>.' ), esc_url( wp_get_update_php_url() ) ); wp_update_php_annotation( '</p><p><em>', '</em>' ); } ?> <# } else if ( ! data.compatibleWP ) { #> <?php _e( 'This theme does not work with your version of WordPress.' ); if ( current_user_can( 'update_core' ) ) { printf( /* translators: %s: URL to WordPress Updates screen. */ ' ' . __( '<a href="%s">Please update WordPress</a>.' ), self_admin_url( 'update-core.php' ) ); } ?> <# } else if ( ! data.compatiblePHP ) { #> <?php _e( 'This theme does not work with your version of PHP.' ); if ( current_user_can( 'update_php' ) ) { printf( /* translators: %s: URL to Update PHP page. */ ' ' . __( '<a href="%s">Learn more about updating PHP</a>.' ), esc_url( wp_get_update_php_url() ) ); wp_update_php_annotation( '</p><p><em>', '</em>' ); } ?> <# } #> </p></div> <# } else if ( ! data.active && data.blockTheme ) { #> <div class="notice notice-error notice-alt notice-large"><p> <?php _e( 'This theme doesn\'t support Customizer.' ); ?> <# if ( data.actions.activate ) { #> <?php printf( /* translators: %s: URL to the themes page (also it activates the theme). */ ' ' . __( 'However, you can still <a href="%s">activate this theme</a>, and use the Site Editor to customize it.' ), '{{{ data.actions.activate }}}' ); ?> <# } #> </p></div> <# } #> <p class="theme-description">{{{ data.description }}}</p> <# if ( data.tags ) { #> <p class="theme-tags"><span><?php _e( 'Tags:' ); ?></span> {{{ data.tags }}}</p> <# } #> </div> </div> <div class="theme-actions"> <# if ( data.active ) { #> <button type="button" class="button button-primary customize-theme"><?php _e( 'Customize' ); ?></button> <# } else if ( 'installed' === data.type ) { #> <div class="theme-inactive-actions"> <# if ( data.blockTheme ) { #> <?php /* translators: %s: Theme name. */ $aria_label = sprintf( _x( 'Activate %s', 'theme' ), '{{ data.name }}' ); ?> <# if ( data.compatibleWP && data.compatiblePHP && data.actions.activate ) { #> <a href="{{{ data.actions.activate }}}" class="button button-primary activate" aria-label="<?php echo esc_attr( $aria_label ); ?>"><?php _e( 'Activate' ); ?></a> <# } #> <# } else { #> <# if ( data.compatibleWP && data.compatiblePHP ) { #> <button type="button" class="button button-primary preview-theme" data-slug="{{ data.id }}"><?php _e( 'Live Preview' ); ?></button> <# } else { #> <button class="button button-primary disabled"><?php _e( 'Live Preview' ); ?></button> <# } #> <# } #> </div> <?php if ( current_user_can( 'delete_themes' ) ) { ?> <# if ( data.actions && data.actions['delete'] ) { #> <a href="{{{ data.actions['delete'] }}}" data-slug="{{ data.id }}" class="button button-secondary delete-theme"><?php _e( 'Delete' ); ?></a> <# } #> <?php } ?> <# } else { #> <# if ( data.compatibleWP && data.compatiblePHP ) { #> <button type="button" class="button theme-install" data-slug="{{ data.id }}"><?php _e( 'Install' ); ?></button> <button type="button" class="button button-primary theme-install preview" data-slug="{{ data.id }}"><?php _e( 'Install & Preview' ); ?></button> <# } else { #> <button type="button" class="button disabled"><?php _ex( 'Cannot Install', 'theme' ); ?></button> <button type="button" class="button button-primary disabled"><?php _e( 'Install & Preview' ); ?></button> <# } #> <# } #> </div> </div> </script> <?php } /** * Determines whether a theme is technically active but was paused while * loading. * * For more information on this and similar theme functions, check out * the {@link https://developer.wordpress.org/themes/basics/conditional-tags/ * Conditional Tags} article in the Theme Developer Handbook. * * @since 5.2.0 * * @global WP_Paused_Extensions_Storage $_paused_themes * * @param string $theme Path to the theme directory relative to the themes directory. * @return bool True, if in the list of paused themes. False, not in the list. */ function is_theme_paused( $theme ) { if ( ! isset( $GLOBALS['_paused_themes'] ) ) { return false; } if ( get_stylesheet() !== $theme && get_template() !== $theme ) { return false; } return array_key_exists( $theme, $GLOBALS['_paused_themes'] ); } /** * Gets the error that was recorded for a paused theme. * * @since 5.2.0 * * @global WP_Paused_Extensions_Storage $_paused_themes * * @param string $theme Path to the theme directory relative to the themes * directory. * @return array|false Array of error information as it was returned by * `error_get_last()`, or false if none was recorded. */ function wp_get_theme_error( $theme ) { if ( ! isset( $GLOBALS['_paused_themes'] ) ) { return false; } if ( ! array_key_exists( $theme, $GLOBALS['_paused_themes'] ) ) { return false; } return $GLOBALS['_paused_themes'][ $theme ]; } /** * Tries to resume a single theme. * * If a redirect was provided and a functions.php file was found, we first ensure that * functions.php file does not throw fatal errors anymore. * * The way it works is by setting the redirection to the error before trying to * include the file. If the theme fails, then the redirection will not be overwritten * with the success message and the theme will not be resumed. * * @since 5.2.0 * * @global string $wp_stylesheet_path Path to current theme's stylesheet directory. * @global string $wp_template_path Path to current theme's template directory. * * @param string $theme Single theme to resume. * @param string $redirect Optional. URL to redirect to. Default empty string. * @return bool|WP_Error True on success, false if `$theme` was not paused, * `WP_Error` on failure. */ function resume_theme( $theme, $redirect = '' ) { global $wp_stylesheet_path, $wp_template_path; list( $extension ) = explode( '/', $theme ); /* * We'll override this later if the theme could be resumed without * creating a fatal error. */ if ( ! empty( $redirect ) ) { $functions_path = ''; if ( str_contains( $wp_stylesheet_path, $extension ) ) { $functions_path = $wp_stylesheet_path . '/functions.php'; } elseif ( str_contains( $wp_template_path, $extension ) ) { $functions_path = $wp_template_path . '/functions.php'; } if ( ! empty( $functions_path ) ) { wp_redirect( add_query_arg( '_error_nonce', wp_create_nonce( 'theme-resume-error_' . $theme ), $redirect ) ); // Load the theme's functions.php to test whether it throws a fatal error. ob_start(); if ( ! defined( 'WP_SANDBOX_SCRAPING' ) ) { define( 'WP_SANDBOX_SCRAPING', true ); } include $functions_path; ob_clean(); } } $result = wp_paused_themes()->delete( $extension ); if ( ! $result ) { return new WP_Error( 'could_not_resume_theme', __( 'Could not resume the theme.' ) ); } return true; } /** * Renders an admin notice in case some themes have been paused due to errors. * * @since 5.2.0 * * @global string $pagenow The filename of the current screen. * @global WP_Paused_Extensions_Storage $_paused_themes */ function paused_themes_notice() { if ( 'themes.php' === $GLOBALS['pagenow'] ) { return; } if ( ! current_user_can( 'resume_themes' ) ) { return; } if ( ! isset( $GLOBALS['_paused_themes'] ) || empty( $GLOBALS['_paused_themes'] ) ) { return; } $message = sprintf( '<p><strong>%s</strong><br>%s</p><p><a href="%s">%s</a></p>', __( 'One or more themes failed to load properly.' ), __( 'You can find more details and make changes on the Themes screen.' ), esc_url( admin_url( 'themes.php' ) ), __( 'Go to the Themes screen' ) ); wp_admin_notice( $message, array( 'type' => 'error', 'paragraph_wrap' => false, ) ); } bookmark.php 0000644 00000026537 14735706075 0007115 0 ustar 00 <?php /** * WordPress Bookmark Administration API * * @package WordPress * @subpackage Administration */ /** * Adds a link using values provided in $_POST. * * @since 2.0.0 * * @return int|WP_Error Value 0 or WP_Error on failure. The link ID on success. */ function add_link() { return edit_link(); } /** * Updates or inserts a link using values provided in $_POST. * * @since 2.0.0 * * @param int $link_id Optional. ID of the link to edit. Default 0. * @return int|WP_Error Value 0 or WP_Error on failure. The link ID on success. */ function edit_link( $link_id = 0 ) { if ( ! current_user_can( 'manage_links' ) ) { wp_die( '<h1>' . __( 'You need a higher level of permission.' ) . '</h1>' . '<p>' . __( 'Sorry, you are not allowed to edit the links for this site.' ) . '</p>', 403 ); } $_POST['link_url'] = esc_url( $_POST['link_url'] ); $_POST['link_name'] = esc_html( $_POST['link_name'] ); $_POST['link_image'] = esc_html( $_POST['link_image'] ); $_POST['link_rss'] = esc_url( $_POST['link_rss'] ); if ( ! isset( $_POST['link_visible'] ) || 'N' !== $_POST['link_visible'] ) { $_POST['link_visible'] = 'Y'; } if ( ! empty( $link_id ) ) { $_POST['link_id'] = $link_id; return wp_update_link( $_POST ); } else { return wp_insert_link( $_POST ); } } /** * Retrieves the default link for editing. * * @since 2.0.0 * * @return stdClass Default link object. */ function get_default_link_to_edit() { $link = new stdClass(); if ( isset( $_GET['linkurl'] ) ) { $link->link_url = esc_url( wp_unslash( $_GET['linkurl'] ) ); } else { $link->link_url = ''; } if ( isset( $_GET['name'] ) ) { $link->link_name = esc_attr( wp_unslash( $_GET['name'] ) ); } else { $link->link_name = ''; } $link->link_visible = 'Y'; return $link; } /** * Deletes a specified link from the database. * * @since 2.0.0 * * @global wpdb $wpdb WordPress database abstraction object. * * @param int $link_id ID of the link to delete. * @return true Always true. */ function wp_delete_link( $link_id ) { global $wpdb; /** * Fires before a link is deleted. * * @since 2.0.0 * * @param int $link_id ID of the link to delete. */ do_action( 'delete_link', $link_id ); wp_delete_object_term_relationships( $link_id, 'link_category' ); $wpdb->delete( $wpdb->links, array( 'link_id' => $link_id ) ); /** * Fires after a link has been deleted. * * @since 2.2.0 * * @param int $link_id ID of the deleted link. */ do_action( 'deleted_link', $link_id ); clean_bookmark_cache( $link_id ); return true; } /** * Retrieves the link category IDs associated with the link specified. * * @since 2.1.0 * * @param int $link_id Link ID to look up. * @return int[] The IDs of the requested link's categories. */ function wp_get_link_cats( $link_id = 0 ) { $cats = wp_get_object_terms( $link_id, 'link_category', array( 'fields' => 'ids' ) ); return array_unique( $cats ); } /** * Retrieves link data based on its ID. * * @since 2.0.0 * * @param int|stdClass $link Link ID or object to retrieve. * @return object Link object for editing. */ function get_link_to_edit( $link ) { return get_bookmark( $link, OBJECT, 'edit' ); } /** * Inserts a link into the database, or updates an existing link. * * Runs all the necessary sanitizing, provides default values if arguments are missing, * and finally saves the link. * * @since 2.0.0 * * @global wpdb $wpdb WordPress database abstraction object. * * @param array $linkdata { * Elements that make up the link to insert. * * @type int $link_id Optional. The ID of the existing link if updating. * @type string $link_url The URL the link points to. * @type string $link_name The title of the link. * @type string $link_image Optional. A URL of an image. * @type string $link_target Optional. The target element for the anchor tag. * @type string $link_description Optional. A short description of the link. * @type string $link_visible Optional. 'Y' means visible, anything else means not. * @type int $link_owner Optional. A user ID. * @type int $link_rating Optional. A rating for the link. * @type string $link_rel Optional. A relationship of the link to you. * @type string $link_notes Optional. An extended description of or notes on the link. * @type string $link_rss Optional. A URL of an associated RSS feed. * @type int $link_category Optional. The term ID of the link category. * If empty, uses default link category. * } * @param bool $wp_error Optional. Whether to return a WP_Error object on failure. Default false. * @return int|WP_Error Value 0 or WP_Error on failure. The link ID on success. */ function wp_insert_link( $linkdata, $wp_error = false ) { global $wpdb; $defaults = array( 'link_id' => 0, 'link_name' => '', 'link_url' => '', 'link_rating' => 0, ); $parsed_args = wp_parse_args( $linkdata, $defaults ); $parsed_args = wp_unslash( sanitize_bookmark( $parsed_args, 'db' ) ); $link_id = $parsed_args['link_id']; $link_name = $parsed_args['link_name']; $link_url = $parsed_args['link_url']; $update = false; if ( ! empty( $link_id ) ) { $update = true; } if ( '' === trim( $link_name ) ) { if ( '' !== trim( $link_url ) ) { $link_name = $link_url; } else { return 0; } } if ( '' === trim( $link_url ) ) { return 0; } $link_rating = ( ! empty( $parsed_args['link_rating'] ) ) ? $parsed_args['link_rating'] : 0; $link_image = ( ! empty( $parsed_args['link_image'] ) ) ? $parsed_args['link_image'] : ''; $link_target = ( ! empty( $parsed_args['link_target'] ) ) ? $parsed_args['link_target'] : ''; $link_visible = ( ! empty( $parsed_args['link_visible'] ) ) ? $parsed_args['link_visible'] : 'Y'; $link_owner = ( ! empty( $parsed_args['link_owner'] ) ) ? $parsed_args['link_owner'] : get_current_user_id(); $link_notes = ( ! empty( $parsed_args['link_notes'] ) ) ? $parsed_args['link_notes'] : ''; $link_description = ( ! empty( $parsed_args['link_description'] ) ) ? $parsed_args['link_description'] : ''; $link_rss = ( ! empty( $parsed_args['link_rss'] ) ) ? $parsed_args['link_rss'] : ''; $link_rel = ( ! empty( $parsed_args['link_rel'] ) ) ? $parsed_args['link_rel'] : ''; $link_category = ( ! empty( $parsed_args['link_category'] ) ) ? $parsed_args['link_category'] : array(); // Make sure we set a valid category. if ( ! is_array( $link_category ) || 0 === count( $link_category ) ) { $link_category = array( get_option( 'default_link_category' ) ); } if ( $update ) { if ( false === $wpdb->update( $wpdb->links, compact( 'link_url', 'link_name', 'link_image', 'link_target', 'link_description', 'link_visible', 'link_owner', 'link_rating', 'link_rel', 'link_notes', 'link_rss' ), compact( 'link_id' ) ) ) { if ( $wp_error ) { return new WP_Error( 'db_update_error', __( 'Could not update link in the database.' ), $wpdb->last_error ); } else { return 0; } } } else { if ( false === $wpdb->insert( $wpdb->links, compact( 'link_url', 'link_name', 'link_image', 'link_target', 'link_description', 'link_visible', 'link_owner', 'link_rating', 'link_rel', 'link_notes', 'link_rss' ) ) ) { if ( $wp_error ) { return new WP_Error( 'db_insert_error', __( 'Could not insert link into the database.' ), $wpdb->last_error ); } else { return 0; } } $link_id = (int) $wpdb->insert_id; } wp_set_link_cats( $link_id, $link_category ); if ( $update ) { /** * Fires after a link was updated in the database. * * @since 2.0.0 * * @param int $link_id ID of the link that was updated. */ do_action( 'edit_link', $link_id ); } else { /** * Fires after a link was added to the database. * * @since 2.0.0 * * @param int $link_id ID of the link that was added. */ do_action( 'add_link', $link_id ); } clean_bookmark_cache( $link_id ); return $link_id; } /** * Updates link with the specified link categories. * * @since 2.1.0 * * @param int $link_id ID of the link to update. * @param int[] $link_categories Array of link category IDs to add the link to. */ function wp_set_link_cats( $link_id = 0, $link_categories = array() ) { // If $link_categories isn't already an array, make it one: if ( ! is_array( $link_categories ) || 0 === count( $link_categories ) ) { $link_categories = array( get_option( 'default_link_category' ) ); } $link_categories = array_map( 'intval', $link_categories ); $link_categories = array_unique( $link_categories ); wp_set_object_terms( $link_id, $link_categories, 'link_category' ); clean_bookmark_cache( $link_id ); } /** * Updates a link in the database. * * @since 2.0.0 * * @param array $linkdata Link data to update. See wp_insert_link() for accepted arguments. * @return int|WP_Error Value 0 or WP_Error on failure. The updated link ID on success. */ function wp_update_link( $linkdata ) { $link_id = (int) $linkdata['link_id']; $link = get_bookmark( $link_id, ARRAY_A ); // Escape data pulled from DB. $link = wp_slash( $link ); // Passed link category list overwrites existing category list if not empty. if ( isset( $linkdata['link_category'] ) && is_array( $linkdata['link_category'] ) && count( $linkdata['link_category'] ) > 0 ) { $link_cats = $linkdata['link_category']; } else { $link_cats = $link['link_category']; } // Merge old and new fields with new fields overwriting old ones. $linkdata = array_merge( $link, $linkdata ); $linkdata['link_category'] = $link_cats; return wp_insert_link( $linkdata ); } /** * Outputs the 'disabled' message for the WordPress Link Manager. * * @since 3.5.0 * @access private * * @global string $pagenow The filename of the current screen. */ function wp_link_manager_disabled_message() { global $pagenow; if ( ! in_array( $pagenow, array( 'link-manager.php', 'link-add.php', 'link.php' ), true ) ) { return; } add_filter( 'pre_option_link_manager_enabled', '__return_true', 100 ); $really_can_manage_links = current_user_can( 'manage_links' ); remove_filter( 'pre_option_link_manager_enabled', '__return_true', 100 ); if ( $really_can_manage_links ) { $plugins = get_plugins(); if ( empty( $plugins['link-manager/link-manager.php'] ) ) { if ( current_user_can( 'install_plugins' ) ) { $install_url = wp_nonce_url( self_admin_url( 'update.php?action=install-plugin&plugin=link-manager' ), 'install-plugin_link-manager' ); wp_die( sprintf( /* translators: %s: A link to install the Link Manager plugin. */ __( 'If you are looking to use the link manager, please install the <a href="%s">Link Manager plugin</a>.' ), esc_url( $install_url ) ) ); } } elseif ( is_plugin_inactive( 'link-manager/link-manager.php' ) ) { if ( current_user_can( 'activate_plugins' ) ) { $activate_url = wp_nonce_url( self_admin_url( 'plugins.php?action=activate&plugin=link-manager/link-manager.php' ), 'activate-plugin_link-manager/link-manager.php' ); wp_die( sprintf( /* translators: %s: A link to activate the Link Manager plugin. */ __( 'Please activate the <a href="%s">Link Manager plugin</a> to use the link manager.' ), esc_url( $activate_url ) ) ); } } } wp_die( __( 'Sorry, you are not allowed to edit the links for this site.' ) ); } menu.php 0000644 00000022622 14735706075 0006243 0 ustar 00 <?php /** * Build Administration Menu. * * @package WordPress * @subpackage Administration */ if ( is_network_admin() ) { /** * Fires before the administration menu loads in the Network Admin. * * The hook fires before menus and sub-menus are removed based on user privileges. * * @since 3.1.0 * @access private */ do_action( '_network_admin_menu' ); } elseif ( is_user_admin() ) { /** * Fires before the administration menu loads in the User Admin. * * The hook fires before menus and sub-menus are removed based on user privileges. * * @since 3.1.0 * @access private */ do_action( '_user_admin_menu' ); } else { /** * Fires before the administration menu loads in the admin. * * The hook fires before menus and sub-menus are removed based on user privileges. * * @since 2.2.0 * @access private */ do_action( '_admin_menu' ); } // Create list of page plugin hook names. foreach ( $menu as $menu_page ) { $pos = strpos( $menu_page[2], '?' ); if ( false !== $pos ) { // Handle post_type=post|page|foo pages. $hook_name = substr( $menu_page[2], 0, $pos ); $hook_args = substr( $menu_page[2], $pos + 1 ); wp_parse_str( $hook_args, $hook_args ); // Set the hook name to be the post type. if ( isset( $hook_args['post_type'] ) ) { $hook_name = $hook_args['post_type']; } else { $hook_name = basename( $hook_name, '.php' ); } unset( $hook_args ); } else { $hook_name = basename( $menu_page[2], '.php' ); } $hook_name = sanitize_title( $hook_name ); if ( isset( $compat[ $hook_name ] ) ) { $hook_name = $compat[ $hook_name ]; } elseif ( ! $hook_name ) { continue; } $admin_page_hooks[ $menu_page[2] ] = $hook_name; } unset( $menu_page, $compat ); $_wp_submenu_nopriv = array(); $_wp_menu_nopriv = array(); // Loop over submenus and remove pages for which the user does not have privs. foreach ( $submenu as $parent => $sub ) { foreach ( $sub as $index => $data ) { if ( ! current_user_can( $data[1] ) ) { unset( $submenu[ $parent ][ $index ] ); $_wp_submenu_nopriv[ $parent ][ $data[2] ] = true; } } unset( $index, $data ); if ( empty( $submenu[ $parent ] ) ) { unset( $submenu[ $parent ] ); } } unset( $sub, $parent ); /* * Loop over the top-level menu. * Menus for which the original parent is not accessible due to lack of privileges * will have the next submenu in line be assigned as the new menu parent. */ foreach ( $menu as $id => $data ) { if ( empty( $submenu[ $data[2] ] ) ) { continue; } $subs = $submenu[ $data[2] ]; $first_sub = reset( $subs ); $old_parent = $data[2]; $new_parent = $first_sub[2]; /* * If the first submenu is not the same as the assigned parent, * make the first submenu the new parent. */ if ( $new_parent !== $old_parent ) { $_wp_real_parent_file[ $old_parent ] = $new_parent; $menu[ $id ][2] = $new_parent; foreach ( $submenu[ $old_parent ] as $index => $data ) { $submenu[ $new_parent ][ $index ] = $submenu[ $old_parent ][ $index ]; unset( $submenu[ $old_parent ][ $index ] ); } unset( $submenu[ $old_parent ], $index ); if ( isset( $_wp_submenu_nopriv[ $old_parent ] ) ) { $_wp_submenu_nopriv[ $new_parent ] = $_wp_submenu_nopriv[ $old_parent ]; } } } unset( $id, $data, $subs, $first_sub, $old_parent, $new_parent ); if ( is_network_admin() ) { /** * Fires before the administration menu loads in the Network Admin. * * @since 3.1.0 * * @param string $context Empty context. */ do_action( 'network_admin_menu', '' ); } elseif ( is_user_admin() ) { /** * Fires before the administration menu loads in the User Admin. * * @since 3.1.0 * * @param string $context Empty context. */ do_action( 'user_admin_menu', '' ); } else { /** * Fires before the administration menu loads in the admin. * * @since 1.5.0 * * @param string $context Empty context. */ do_action( 'admin_menu', '' ); } /* * Remove menus that have no accessible submenus and require privileges * that the user does not have. Run re-parent loop again. */ foreach ( $menu as $id => $data ) { if ( ! current_user_can( $data[1] ) ) { $_wp_menu_nopriv[ $data[2] ] = true; } /* * If there is only one submenu and it is has same destination as the parent, * remove the submenu. */ if ( ! empty( $submenu[ $data[2] ] ) && 1 === count( $submenu[ $data[2] ] ) ) { $subs = $submenu[ $data[2] ]; $first_sub = reset( $subs ); if ( $data[2] === $first_sub[2] ) { unset( $submenu[ $data[2] ] ); } } // If submenu is empty... if ( empty( $submenu[ $data[2] ] ) ) { // And user doesn't have privs, remove menu. if ( isset( $_wp_menu_nopriv[ $data[2] ] ) ) { unset( $menu[ $id ] ); } } } unset( $id, $data, $subs, $first_sub ); /** * Adds a CSS class to a string. * * @since 2.7.0 * * @param string $class_to_add The CSS class to add. * @param string $classes The string to add the CSS class to. * @return string The string with the CSS class added. */ function add_cssclass( $class_to_add, $classes ) { if ( empty( $classes ) ) { return $class_to_add; } return $classes . ' ' . $class_to_add; } /** * Adds CSS classes for top-level administration menu items. * * The list of added classes includes `.menu-top-first` and `.menu-top-last`. * * @since 2.7.0 * * @param array $menu The array of administration menu items. * @return array The array of administration menu items with the CSS classes added. */ function add_menu_classes( $menu ) { $first_item = false; $last_order = false; $items_count = count( $menu ); $i = 0; foreach ( $menu as $order => $top ) { ++$i; if ( 0 === $order ) { // Dashboard is always shown/single. $menu[0][4] = add_cssclass( 'menu-top-first', $top[4] ); $last_order = 0; continue; } if ( str_starts_with( $top[2], 'separator' ) && false !== $last_order ) { // If separator. $first_item = true; $classes = $menu[ $last_order ][4]; $menu[ $last_order ][4] = add_cssclass( 'menu-top-last', $classes ); continue; } if ( $first_item ) { $first_item = false; $classes = $menu[ $order ][4]; $menu[ $order ][4] = add_cssclass( 'menu-top-first', $classes ); } if ( $i === $items_count ) { // Last item. $classes = $menu[ $order ][4]; $menu[ $order ][4] = add_cssclass( 'menu-top-last', $classes ); } $last_order = $order; } /** * Filters administration menu array with classes added for top-level items. * * @since 2.7.0 * * @param array $menu Associative array of administration menu items. */ return apply_filters( 'add_menu_classes', $menu ); } uksort( $menu, 'strnatcasecmp' ); // Make it all pretty. /** * Filters whether to enable custom ordering of the administration menu. * * See the {@see 'menu_order'} filter for reordering menu items. * * @since 2.8.0 * * @param bool $custom Whether custom ordering is enabled. Default false. */ if ( apply_filters( 'custom_menu_order', false ) ) { $menu_order = array(); foreach ( $menu as $menu_item ) { $menu_order[] = $menu_item[2]; } unset( $menu_item ); $default_menu_order = $menu_order; /** * Filters the order of administration menu items. * * A truthy value must first be passed to the {@see 'custom_menu_order'} filter * for this filter to work. Use the following to enable custom menu ordering: * * add_filter( 'custom_menu_order', '__return_true' ); * * @since 2.8.0 * * @param array $menu_order An ordered array of menu items. */ $menu_order = apply_filters( 'menu_order', $menu_order ); $menu_order = array_flip( $menu_order ); $default_menu_order = array_flip( $default_menu_order ); /** * @global array $menu_order * @global array $default_menu_order * * @param array $a * @param array $b * @return int */ function sort_menu( $a, $b ) { global $menu_order, $default_menu_order; $a = $a[2]; $b = $b[2]; if ( isset( $menu_order[ $a ] ) && ! isset( $menu_order[ $b ] ) ) { return -1; } elseif ( ! isset( $menu_order[ $a ] ) && isset( $menu_order[ $b ] ) ) { return 1; } elseif ( isset( $menu_order[ $a ] ) && isset( $menu_order[ $b ] ) ) { if ( $menu_order[ $a ] === $menu_order[ $b ] ) { return 0; } return ( $menu_order[ $a ] < $menu_order[ $b ] ) ? -1 : 1; } else { return ( $default_menu_order[ $a ] <= $default_menu_order[ $b ] ) ? -1 : 1; } } usort( $menu, 'sort_menu' ); unset( $menu_order, $default_menu_order ); } // Prevent adjacent separators. $prev_menu_was_separator = false; foreach ( $menu as $id => $data ) { if ( false === stristr( $data[4], 'wp-menu-separator' ) ) { // This item is not a separator, so falsey the toggler and do nothing. $prev_menu_was_separator = false; } else { // The previous item was a separator, so unset this one. if ( true === $prev_menu_was_separator ) { unset( $menu[ $id ] ); } // This item is a separator, so truthy the toggler and move on. $prev_menu_was_separator = true; } } unset( $id, $data, $prev_menu_was_separator ); // Remove the last menu item if it is a separator. $last_menu_key = array_keys( $menu ); $last_menu_key = array_pop( $last_menu_key ); if ( ! empty( $menu ) && 'wp-menu-separator' === $menu[ $last_menu_key ][4] ) { unset( $menu[ $last_menu_key ] ); } unset( $last_menu_key ); if ( ! user_can_access_admin_page() ) { /** * Fires when access to an admin page is denied. * * @since 2.5.0 */ do_action( 'admin_page_access_denied' ); wp_die( __( 'Sorry, you are not allowed to access this page.' ), 403 ); } $menu = add_menu_classes( $menu ); class-wp-automatic-updater.php 0000644 00000167320 14735706075 0012463 0 ustar 00 <?php /** * Upgrade API: WP_Automatic_Updater class * * @package WordPress * @subpackage Upgrader * @since 4.6.0 */ /** * Core class used for handling automatic background updates. * * @since 3.7.0 * @since 4.6.0 Moved to its own file from wp-admin/includes/class-wp-upgrader.php. */ #[AllowDynamicProperties] class WP_Automatic_Updater { /** * Tracks update results during processing. * * @var array */ protected $update_results = array(); /** * Determines whether the entire automatic updater is disabled. * * @since 3.7.0 * * @return bool True if the automatic updater is disabled, false otherwise. */ public function is_disabled() { // Background updates are disabled if you don't want file changes. if ( ! wp_is_file_mod_allowed( 'automatic_updater' ) ) { return true; } if ( wp_installing() ) { return true; } // More fine grained control can be done through the WP_AUTO_UPDATE_CORE constant and filters. $disabled = defined( 'AUTOMATIC_UPDATER_DISABLED' ) && AUTOMATIC_UPDATER_DISABLED; /** * Filters whether to entirely disable background updates. * * There are more fine-grained filters and controls for selective disabling. * This filter parallels the AUTOMATIC_UPDATER_DISABLED constant in name. * * This also disables update notification emails. That may change in the future. * * @since 3.7.0 * * @param bool $disabled Whether the updater should be disabled. */ return apply_filters( 'automatic_updater_disabled', $disabled ); } /** * Checks whether access to a given directory is allowed. * * This is used when detecting version control checkouts. Takes into account * the PHP `open_basedir` restrictions, so that WordPress does not try to access * directories it is not allowed to. * * @since 6.2.0 * * @param string $dir The directory to check. * @return bool True if access to the directory is allowed, false otherwise. */ public function is_allowed_dir( $dir ) { if ( is_string( $dir ) ) { $dir = trim( $dir ); } if ( ! is_string( $dir ) || '' === $dir ) { _doing_it_wrong( __METHOD__, sprintf( /* translators: %s: The "$dir" argument. */ __( 'The "%s" argument must be a non-empty string.' ), '$dir' ), '6.2.0' ); return false; } $open_basedir = ini_get( 'open_basedir' ); if ( empty( $open_basedir ) ) { return true; } $open_basedir_list = explode( PATH_SEPARATOR, $open_basedir ); foreach ( $open_basedir_list as $basedir ) { if ( '' !== trim( $basedir ) && str_starts_with( $dir, $basedir ) ) { return true; } } return false; } /** * Checks for version control checkouts. * * Checks for Subversion, Git, Mercurial, and Bazaar. It recursively looks up the * filesystem to the top of the drive, erring on the side of detecting a VCS * checkout somewhere. * * ABSPATH is always checked in addition to whatever `$context` is (which may be the * wp-content directory, for example). The underlying assumption is that if you are * using version control *anywhere*, then you should be making decisions for * how things get updated. * * @since 3.7.0 * * @param string $context The filesystem path to check, in addition to ABSPATH. * @return bool True if a VCS checkout was discovered at `$context` or ABSPATH, * or anywhere higher. False otherwise. */ public function is_vcs_checkout( $context ) { $context_dirs = array( untrailingslashit( $context ) ); if ( ABSPATH !== $context ) { $context_dirs[] = untrailingslashit( ABSPATH ); } $vcs_dirs = array( '.svn', '.git', '.hg', '.bzr' ); $check_dirs = array(); foreach ( $context_dirs as $context_dir ) { // Walk up from $context_dir to the root. do { $check_dirs[] = $context_dir; // Once we've hit '/' or 'C:\', we need to stop. dirname will keep returning the input here. if ( dirname( $context_dir ) === $context_dir ) { break; } // Continue one level at a time. } while ( $context_dir = dirname( $context_dir ) ); } $check_dirs = array_unique( $check_dirs ); $checkout = false; // Search all directories we've found for evidence of version control. foreach ( $vcs_dirs as $vcs_dir ) { foreach ( $check_dirs as $check_dir ) { if ( ! $this->is_allowed_dir( $check_dir ) ) { continue; } $checkout = is_dir( rtrim( $check_dir, '\\/' ) . "/$vcs_dir" ); if ( $checkout ) { break 2; } } } /** * Filters whether the automatic updater should consider a filesystem * location to be potentially managed by a version control system. * * @since 3.7.0 * * @param bool $checkout Whether a VCS checkout was discovered at `$context` * or ABSPATH, or anywhere higher. * @param string $context The filesystem context (a path) against which * filesystem status should be checked. */ return apply_filters( 'automatic_updates_is_vcs_checkout', $checkout, $context ); } /** * Tests to see if we can and should update a specific item. * * @since 3.7.0 * * @global wpdb $wpdb WordPress database abstraction object. * * @param string $type The type of update being checked: 'core', 'theme', * 'plugin', 'translation'. * @param object $item The update offer. * @param string $context The filesystem context (a path) against which filesystem * access and status should be checked. * @return bool True if the item should be updated, false otherwise. */ public function should_update( $type, $item, $context ) { // Used to see if WP_Filesystem is set up to allow unattended updates. $skin = new Automatic_Upgrader_Skin(); if ( $this->is_disabled() ) { return false; } // Only relax the filesystem checks when the update doesn't include new files. $allow_relaxed_file_ownership = false; if ( 'core' === $type && isset( $item->new_files ) && ! $item->new_files ) { $allow_relaxed_file_ownership = true; } // If we can't do an auto core update, we may still be able to email the user. if ( ! $skin->request_filesystem_credentials( false, $context, $allow_relaxed_file_ownership ) || $this->is_vcs_checkout( $context ) ) { if ( 'core' === $type ) { $this->send_core_update_notification_email( $item ); } return false; } // Next up, is this an item we can update? if ( 'core' === $type ) { $update = Core_Upgrader::should_update_to_version( $item->current ); } elseif ( 'plugin' === $type || 'theme' === $type ) { $update = ! empty( $item->autoupdate ); if ( ! $update && wp_is_auto_update_enabled_for_type( $type ) ) { // Check if the site admin has enabled auto-updates by default for the specific item. $auto_updates = (array) get_site_option( "auto_update_{$type}s", array() ); $update = in_array( $item->{$type}, $auto_updates, true ); } } else { $update = ! empty( $item->autoupdate ); } // If the `disable_autoupdate` flag is set, override any user-choice, but allow filters. if ( ! empty( $item->disable_autoupdate ) ) { $update = false; } /** * Filters whether to automatically update core, a plugin, a theme, or a language. * * The dynamic portion of the hook name, `$type`, refers to the type of update * being checked. * * Possible hook names include: * * - `auto_update_core` * - `auto_update_plugin` * - `auto_update_theme` * - `auto_update_translation` * * Since WordPress 3.7, minor and development versions of core, and translations have * been auto-updated by default. New installs on WordPress 5.6 or higher will also * auto-update major versions by default. Starting in 5.6, older sites can opt-in to * major version auto-updates, and auto-updates for plugins and themes. * * See the {@see 'allow_dev_auto_core_updates'}, {@see 'allow_minor_auto_core_updates'}, * and {@see 'allow_major_auto_core_updates'} filters for a more straightforward way to * adjust core updates. * * @since 3.7.0 * @since 5.5.0 The `$update` parameter accepts the value of null. * * @param bool|null $update Whether to update. The value of null is internally used * to detect whether nothing has hooked into this filter. * @param object $item The update offer. */ $update = apply_filters( "auto_update_{$type}", $update, $item ); if ( ! $update ) { if ( 'core' === $type ) { $this->send_core_update_notification_email( $item ); } return false; } // If it's a core update, are we actually compatible with its requirements? if ( 'core' === $type ) { global $wpdb; $php_compat = version_compare( PHP_VERSION, $item->php_version, '>=' ); if ( file_exists( WP_CONTENT_DIR . '/db.php' ) && empty( $wpdb->is_mysql ) ) { $mysql_compat = true; } else { $mysql_compat = version_compare( $wpdb->db_version(), $item->mysql_version, '>=' ); } if ( ! $php_compat || ! $mysql_compat ) { return false; } } // If updating a plugin or theme, ensure the minimum PHP version requirements are satisfied. if ( in_array( $type, array( 'plugin', 'theme' ), true ) ) { if ( ! empty( $item->requires_php ) && version_compare( PHP_VERSION, $item->requires_php, '<' ) ) { return false; } } return true; } /** * Notifies an administrator of a core update. * * @since 3.7.0 * * @param object $item The update offer. * @return bool True if the site administrator is notified of a core update, * false otherwise. */ protected function send_core_update_notification_email( $item ) { $notified = get_site_option( 'auto_core_update_notified' ); // Don't notify if we've already notified the same email address of the same version. if ( $notified && get_site_option( 'admin_email' ) === $notified['email'] && $notified['version'] === $item->current ) { return false; } // See if we need to notify users of a core update. $notify = ! empty( $item->notify_email ); /** * Filters whether to notify the site administrator of a new core update. * * By default, administrators are notified when the update offer received * from WordPress.org sets a particular flag. This allows some discretion * in if and when to notify. * * This filter is only evaluated once per release. If the same email address * was already notified of the same new version, WordPress won't repeatedly * email the administrator. * * This filter is also used on about.php to check if a plugin has disabled * these notifications. * * @since 3.7.0 * * @param bool $notify Whether the site administrator is notified. * @param object $item The update offer. */ if ( ! apply_filters( 'send_core_update_notification_email', $notify, $item ) ) { return false; } $this->send_email( 'manual', $item ); return true; } /** * Updates an item, if appropriate. * * @since 3.7.0 * * @param string $type The type of update being checked: 'core', 'theme', 'plugin', 'translation'. * @param object $item The update offer. * @return null|WP_Error */ public function update( $type, $item ) { $skin = new Automatic_Upgrader_Skin(); switch ( $type ) { case 'core': // The Core upgrader doesn't use the Upgrader's skin during the actual main part of the upgrade, instead, firing a filter. add_filter( 'update_feedback', array( $skin, 'feedback' ) ); $upgrader = new Core_Upgrader( $skin ); $context = ABSPATH; break; case 'plugin': $upgrader = new Plugin_Upgrader( $skin ); $context = WP_PLUGIN_DIR; // We don't support custom Plugin directories, or updates for WPMU_PLUGIN_DIR. break; case 'theme': $upgrader = new Theme_Upgrader( $skin ); $context = get_theme_root( $item->theme ); break; case 'translation': $upgrader = new Language_Pack_Upgrader( $skin ); $context = WP_CONTENT_DIR; // WP_LANG_DIR; break; } // Determine whether we can and should perform this update. if ( ! $this->should_update( $type, $item, $context ) ) { return false; } /** * Fires immediately prior to an auto-update. * * @since 4.4.0 * * @param string $type The type of update being checked: 'core', 'theme', 'plugin', or 'translation'. * @param object $item The update offer. * @param string $context The filesystem context (a path) against which filesystem access and status * should be checked. */ do_action( 'pre_auto_update', $type, $item, $context ); $upgrader_item = $item; switch ( $type ) { case 'core': /* translators: %s: WordPress version. */ $skin->feedback( __( 'Updating to WordPress %s' ), $item->version ); /* translators: %s: WordPress version. */ $item_name = sprintf( __( 'WordPress %s' ), $item->version ); break; case 'theme': $upgrader_item = $item->theme; $theme = wp_get_theme( $upgrader_item ); $item_name = $theme->Get( 'Name' ); // Add the current version so that it can be reported in the notification email. $item->current_version = $theme->get( 'Version' ); if ( empty( $item->current_version ) ) { $item->current_version = false; } /* translators: %s: Theme name. */ $skin->feedback( __( 'Updating theme: %s' ), $item_name ); break; case 'plugin': $upgrader_item = $item->plugin; $plugin_data = get_plugin_data( $context . '/' . $upgrader_item ); $item_name = $plugin_data['Name']; // Add the current version so that it can be reported in the notification email. $item->current_version = $plugin_data['Version']; if ( empty( $item->current_version ) ) { $item->current_version = false; } /* translators: %s: Plugin name. */ $skin->feedback( __( 'Updating plugin: %s' ), $item_name ); break; case 'translation': $language_item_name = $upgrader->get_name_for_update( $item ); /* translators: %s: Project name (plugin, theme, or WordPress). */ $item_name = sprintf( __( 'Translations for %s' ), $language_item_name ); /* translators: 1: Project name (plugin, theme, or WordPress), 2: Language. */ $skin->feedback( sprintf( __( 'Updating translations for %1$s (%2$s)…' ), $language_item_name, $item->language ) ); break; } $allow_relaxed_file_ownership = false; if ( 'core' === $type && isset( $item->new_files ) && ! $item->new_files ) { $allow_relaxed_file_ownership = true; } $is_debug = WP_DEBUG && WP_DEBUG_LOG; if ( 'plugin' === $type ) { $was_active = is_plugin_active( $upgrader_item ); if ( $is_debug ) { error_log( ' Upgrading plugin ' . var_export( $item->slug, true ) . '...' ); } } if ( 'theme' === $type && $is_debug ) { error_log( ' Upgrading theme ' . var_export( $item->theme, true ) . '...' ); } /* * Enable maintenance mode before upgrading the plugin or theme. * * This avoids potential non-fatal errors being detected * while scraping for a fatal error if some files are still * being moved. * * While these checks are intended only for plugins, * maintenance mode is enabled for all upgrade types as any * update could contain an error or warning, which could cause * the scrape to miss a fatal error in the plugin update. */ if ( 'translation' !== $type ) { $upgrader->maintenance_mode( true ); } // Boom, this site's about to get a whole new splash of paint! $upgrade_result = $upgrader->upgrade( $upgrader_item, array( 'clear_update_cache' => false, // Always use partial builds if possible for core updates. 'pre_check_md5' => false, // Only available for core updates. 'attempt_rollback' => true, // Allow relaxed file ownership in some scenarios. 'allow_relaxed_file_ownership' => $allow_relaxed_file_ownership, ) ); /* * After WP_Upgrader::upgrade() completes, maintenance mode is disabled. * * Re-enable maintenance mode while attempting to detect fatal errors * and potentially rolling back. * * This avoids errors if the site is visited while fatal errors exist * or while files are still being moved. */ if ( 'translation' !== $type ) { $upgrader->maintenance_mode( true ); } // If the filesystem is unavailable, false is returned. if ( false === $upgrade_result ) { $upgrade_result = new WP_Error( 'fs_unavailable', __( 'Could not access filesystem.' ) ); } if ( 'core' === $type ) { if ( is_wp_error( $upgrade_result ) && ( 'up_to_date' === $upgrade_result->get_error_code() || 'locked' === $upgrade_result->get_error_code() ) ) { // Allow visitors to browse the site again. $upgrader->maintenance_mode( false ); /* * These aren't actual errors, treat it as a skipped-update instead * to avoid triggering the post-core update failure routines. */ return false; } // Core doesn't output this, so let's append it, so we don't get confused. if ( is_wp_error( $upgrade_result ) ) { $upgrade_result->add( 'installation_failed', __( 'Installation failed.' ) ); $skin->error( $upgrade_result ); } else { $skin->feedback( __( 'WordPress updated successfully.' ) ); } } $is_debug = WP_DEBUG && WP_DEBUG_LOG; if ( 'theme' === $type && $is_debug ) { error_log( ' Theme ' . var_export( $item->theme, true ) . ' has been upgraded.' ); } if ( 'plugin' === $type ) { if ( $is_debug ) { error_log( ' Plugin ' . var_export( $item->slug, true ) . ' has been upgraded.' ); if ( is_plugin_inactive( $upgrader_item ) ) { error_log( ' ' . var_export( $upgrader_item, true ) . ' is inactive and will not be checked for fatal errors.' ); } } if ( $was_active && ! is_wp_error( $upgrade_result ) ) { /* * The usual time limit is five minutes. However, as a loopback request * is about to be performed, increase the time limit to account for this. */ if ( function_exists( 'set_time_limit' ) ) { set_time_limit( 10 * MINUTE_IN_SECONDS ); } /* * Avoids a race condition when there are 2 sequential plugins that have * fatal errors. It seems a slight delay is required for the loopback to * use the updated plugin code in the request. This can cause the second * plugin's fatal error checking to be inaccurate, and may also affect * subsequent plugin checks. */ sleep( 2 ); if ( $this->has_fatal_error() ) { $upgrade_result = new WP_Error(); $temp_backup = array( array( 'dir' => 'plugins', 'slug' => $item->slug, 'src' => WP_PLUGIN_DIR, ), ); $backup_restored = $upgrader->restore_temp_backup( $temp_backup ); if ( is_wp_error( $backup_restored ) ) { $upgrade_result->add( 'plugin_update_fatal_error_rollback_failed', sprintf( /* translators: %s: The plugin's slug. */ __( "The update for '%s' contained a fatal error. The previously installed version could not be restored." ), $item->slug ) ); $upgrade_result->merge_from( $backup_restored ); } else { $upgrade_result->add( 'plugin_update_fatal_error_rollback_successful', sprintf( /* translators: %s: The plugin's slug. */ __( "The update for '%s' contained a fatal error. The previously installed version has been restored." ), $item->slug ) ); $backup_deleted = $upgrader->delete_temp_backup( $temp_backup ); if ( is_wp_error( $backup_deleted ) ) { $upgrade_result->merge_from( $backup_deleted ); } } /* * Should emails not be working, log the message(s) so that * the log file contains context for the fatal error, * and whether a rollback was performed. * * `trigger_error()` is not used as it outputs a stack trace * to this location rather than to the fatal error, which will * appear above this entry in the log file. */ if ( $is_debug ) { error_log( ' ' . implode( "\n", $upgrade_result->get_error_messages() ) ); } } elseif ( $is_debug ) { error_log( ' The update for ' . var_export( $item->slug, true ) . ' has no fatal errors.' ); } } } // All processes are complete. Allow visitors to browse the site again. if ( 'translation' !== $type ) { $upgrader->maintenance_mode( false ); } $this->update_results[ $type ][] = (object) array( 'item' => $item, 'result' => $upgrade_result, 'name' => $item_name, 'messages' => $skin->get_upgrade_messages(), ); return $upgrade_result; } /** * Kicks off the background update process, looping through all pending updates. * * @since 3.7.0 */ public function run() { if ( $this->is_disabled() ) { return; } if ( ! is_main_network() || ! is_main_site() ) { return; } if ( ! WP_Upgrader::create_lock( 'auto_updater' ) ) { return; } $is_debug = WP_DEBUG && WP_DEBUG_LOG; if ( $is_debug ) { error_log( 'Automatic updates starting...' ); } // Don't automatically run these things, as we'll handle it ourselves. remove_action( 'upgrader_process_complete', array( 'Language_Pack_Upgrader', 'async_upgrade' ), 20 ); remove_action( 'upgrader_process_complete', 'wp_version_check' ); remove_action( 'upgrader_process_complete', 'wp_update_plugins' ); remove_action( 'upgrader_process_complete', 'wp_update_themes' ); // Next, plugins. wp_update_plugins(); // Check for plugin updates. $plugin_updates = get_site_transient( 'update_plugins' ); if ( $plugin_updates && ! empty( $plugin_updates->response ) ) { if ( $is_debug ) { error_log( ' Automatic plugin updates starting...' ); } foreach ( $plugin_updates->response as $plugin ) { $this->update( 'plugin', $plugin ); } // Force refresh of plugin update information. wp_clean_plugins_cache(); if ( $is_debug ) { error_log( ' Automatic plugin updates complete.' ); } } // Next, those themes we all love. wp_update_themes(); // Check for theme updates. $theme_updates = get_site_transient( 'update_themes' ); if ( $theme_updates && ! empty( $theme_updates->response ) ) { if ( $is_debug ) { error_log( ' Automatic theme updates starting...' ); } foreach ( $theme_updates->response as $theme ) { $this->update( 'theme', (object) $theme ); } // Force refresh of theme update information. wp_clean_themes_cache(); if ( $is_debug ) { error_log( ' Automatic theme updates complete.' ); } } if ( $is_debug ) { error_log( 'Automatic updates complete.' ); } // Next, process any core update. wp_version_check(); // Check for core updates. $core_update = find_core_auto_update(); if ( $core_update ) { $this->update( 'core', $core_update ); } /* * Clean up, and check for any pending translations. * (Core_Upgrader checks for core updates.) */ $theme_stats = array(); if ( isset( $this->update_results['theme'] ) ) { foreach ( $this->update_results['theme'] as $upgrade ) { $theme_stats[ $upgrade->item->theme ] = ( true === $upgrade->result ); } } wp_update_themes( $theme_stats ); // Check for theme updates. $plugin_stats = array(); if ( isset( $this->update_results['plugin'] ) ) { foreach ( $this->update_results['plugin'] as $upgrade ) { $plugin_stats[ $upgrade->item->plugin ] = ( true === $upgrade->result ); } } wp_update_plugins( $plugin_stats ); // Check for plugin updates. // Finally, process any new translations. $language_updates = wp_get_translation_updates(); if ( $language_updates ) { foreach ( $language_updates as $update ) { $this->update( 'translation', $update ); } // Clear existing caches. wp_clean_update_cache(); wp_version_check(); // Check for core updates. wp_update_themes(); // Check for theme updates. wp_update_plugins(); // Check for plugin updates. } // Send debugging email to admin for all development installations. if ( ! empty( $this->update_results ) ) { $development_version = str_contains( wp_get_wp_version(), '-' ); /** * Filters whether to send a debugging email for each automatic background update. * * @since 3.7.0 * * @param bool $development_version By default, emails are sent if the * install is a development version. * Return false to avoid the email. */ if ( apply_filters( 'automatic_updates_send_debug_email', $development_version ) ) { $this->send_debug_email(); } if ( ! empty( $this->update_results['core'] ) ) { $this->after_core_update( $this->update_results['core'][0] ); } elseif ( ! empty( $this->update_results['plugin'] ) || ! empty( $this->update_results['theme'] ) ) { $this->after_plugin_theme_update( $this->update_results ); } /** * Fires after all automatic updates have run. * * @since 3.8.0 * * @param array $update_results The results of all attempted updates. */ do_action( 'automatic_updates_complete', $this->update_results ); } WP_Upgrader::release_lock( 'auto_updater' ); } /** * Checks whether to send an email and avoid processing future updates after * attempting a core update. * * @since 3.7.0 * * @param object $update_result The result of the core update. Includes the update offer and result. */ protected function after_core_update( $update_result ) { $wp_version = wp_get_wp_version(); $core_update = $update_result->item; $result = $update_result->result; if ( ! is_wp_error( $result ) ) { $this->send_email( 'success', $core_update ); return; } $error_code = $result->get_error_code(); /* * Any of these WP_Error codes are critical failures, as in they occurred after we started to copy core files. * We should not try to perform a background update again until there is a successful one-click update performed by the user. */ $critical = false; if ( 'disk_full' === $error_code || str_contains( $error_code, '__copy_dir' ) ) { $critical = true; } elseif ( 'rollback_was_required' === $error_code && is_wp_error( $result->get_error_data()->rollback ) ) { // A rollback is only critical if it failed too. $critical = true; $rollback_result = $result->get_error_data()->rollback; } elseif ( str_contains( $error_code, 'do_rollback' ) ) { $critical = true; } if ( $critical ) { $critical_data = array( 'attempted' => $core_update->current, 'current' => $wp_version, 'error_code' => $error_code, 'error_data' => $result->get_error_data(), 'timestamp' => time(), 'critical' => true, ); if ( isset( $rollback_result ) ) { $critical_data['rollback_code'] = $rollback_result->get_error_code(); $critical_data['rollback_data'] = $rollback_result->get_error_data(); } update_site_option( 'auto_core_update_failed', $critical_data ); $this->send_email( 'critical', $core_update, $result ); return; } /* * Any other WP_Error code (like download_failed or files_not_writable) occurs before * we tried to copy over core files. Thus, the failures are early and graceful. * * We should avoid trying to perform a background update again for the same version. * But we can try again if another version is released. * * For certain 'transient' failures, like download_failed, we should allow retries. * In fact, let's schedule a special update for an hour from now. (It's possible * the issue could actually be on WordPress.org's side.) If that one fails, then email. */ $send = true; $transient_failures = array( 'incompatible_archive', 'download_failed', 'insane_distro', 'locked' ); if ( in_array( $error_code, $transient_failures, true ) && ! get_site_option( 'auto_core_update_failed' ) ) { wp_schedule_single_event( time() + HOUR_IN_SECONDS, 'wp_maybe_auto_update' ); $send = false; } $notified = get_site_option( 'auto_core_update_notified' ); // Don't notify if we've already notified the same email address of the same version of the same notification type. if ( $notified && 'fail' === $notified['type'] && get_site_option( 'admin_email' ) === $notified['email'] && $notified['version'] === $core_update->current ) { $send = false; } update_site_option( 'auto_core_update_failed', array( 'attempted' => $core_update->current, 'current' => $wp_version, 'error_code' => $error_code, 'error_data' => $result->get_error_data(), 'timestamp' => time(), 'retry' => in_array( $error_code, $transient_failures, true ), ) ); if ( $send ) { $this->send_email( 'fail', $core_update, $result ); } } /** * Sends an email upon the completion or failure of a background core update. * * @since 3.7.0 * * @param string $type The type of email to send. Can be one of 'success', 'fail', 'manual', 'critical'. * @param object $core_update The update offer that was attempted. * @param mixed $result Optional. The result for the core update. Can be WP_Error. */ protected function send_email( $type, $core_update, $result = null ) { update_site_option( 'auto_core_update_notified', array( 'type' => $type, 'email' => get_site_option( 'admin_email' ), 'version' => $core_update->current, 'timestamp' => time(), ) ); $next_user_core_update = get_preferred_from_update_core(); // If the update transient is empty, use the update we just performed. if ( ! $next_user_core_update ) { $next_user_core_update = $core_update; } if ( 'upgrade' === $next_user_core_update->response && version_compare( $next_user_core_update->version, $core_update->version, '>' ) ) { $newer_version_available = true; } else { $newer_version_available = false; } /** * Filters whether to send an email following an automatic background core update. * * @since 3.7.0 * * @param bool $send Whether to send the email. Default true. * @param string $type The type of email to send. Can be one of * 'success', 'fail', 'critical'. * @param object $core_update The update offer that was attempted. * @param mixed $result The result for the core update. Can be WP_Error. */ if ( 'manual' !== $type && ! apply_filters( 'auto_core_update_send_email', true, $type, $core_update, $result ) ) { return; } switch ( $type ) { case 'success': // We updated. /* translators: Site updated notification email subject. 1: Site title, 2: WordPress version. */ $subject = __( '[%1$s] Your site has updated to WordPress %2$s' ); break; case 'fail': // We tried to update but couldn't. case 'manual': // We can't update (and made no attempt). /* translators: Update available notification email subject. 1: Site title, 2: WordPress version. */ $subject = __( '[%1$s] WordPress %2$s is available. Please update!' ); break; case 'critical': // We tried to update, started to copy files, then things went wrong. /* translators: Site down notification email subject. 1: Site title. */ $subject = __( '[%1$s] URGENT: Your site may be down due to a failed update' ); break; default: return; } // If the auto-update is not to the latest version, say that the current version of WP is available instead. $version = 'success' === $type ? $core_update->current : $next_user_core_update->current; $subject = sprintf( $subject, wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES ), $version ); $body = ''; switch ( $type ) { case 'success': $body .= sprintf( /* translators: 1: Home URL, 2: WordPress version. */ __( 'Howdy! Your site at %1$s has been updated automatically to WordPress %2$s.' ), home_url(), $core_update->current ); $body .= "\n\n"; if ( ! $newer_version_available ) { $body .= __( 'No further action is needed on your part.' ) . ' '; } // Can only reference the About screen if their update was successful. list( $about_version ) = explode( '-', $core_update->current, 2 ); /* translators: %s: WordPress version. */ $body .= sprintf( __( 'For more on version %s, see the About WordPress screen:' ), $about_version ); $body .= "\n" . admin_url( 'about.php' ); if ( $newer_version_available ) { /* translators: %s: WordPress latest version. */ $body .= "\n\n" . sprintf( __( 'WordPress %s is also now available.' ), $next_user_core_update->current ) . ' '; $body .= __( 'Updating is easy and only takes a few moments:' ); $body .= "\n" . network_admin_url( 'update-core.php' ); } break; case 'fail': case 'manual': $body .= sprintf( /* translators: 1: Home URL, 2: WordPress version. */ __( 'Please update your site at %1$s to WordPress %2$s.' ), home_url(), $next_user_core_update->current ); $body .= "\n\n"; /* * Don't show this message if there is a newer version available. * Potential for confusion, and also not useful for them to know at this point. */ if ( 'fail' === $type && ! $newer_version_available ) { $body .= __( 'An attempt was made, but your site could not be updated automatically.' ) . ' '; } $body .= __( 'Updating is easy and only takes a few moments:' ); $body .= "\n" . network_admin_url( 'update-core.php' ); break; case 'critical': if ( $newer_version_available ) { $body .= sprintf( /* translators: 1: Home URL, 2: WordPress version. */ __( 'Your site at %1$s experienced a critical failure while trying to update WordPress to version %2$s.' ), home_url(), $core_update->current ); } else { $body .= sprintf( /* translators: 1: Home URL, 2: WordPress latest version. */ __( 'Your site at %1$s experienced a critical failure while trying to update to the latest version of WordPress, %2$s.' ), home_url(), $core_update->current ); } $body .= "\n\n" . __( "This means your site may be offline or broken. Don't panic; this can be fixed." ); $body .= "\n\n" . __( "Please check out your site now. It's possible that everything is working. If it says you need to update, you should do so:" ); $body .= "\n" . network_admin_url( 'update-core.php' ); break; } $critical_support = 'critical' === $type && ! empty( $core_update->support_email ); if ( $critical_support ) { // Support offer if available. $body .= "\n\n" . sprintf( /* translators: %s: Support email address. */ __( 'The WordPress team is willing to help you. Forward this email to %s and the team will work with you to make sure your site is working.' ), $core_update->support_email ); } else { // Add a note about the support forums. $body .= "\n\n" . __( 'If you experience any issues or need support, the volunteers in the WordPress.org support forums may be able to help.' ); $body .= "\n" . __( 'https://wordpress.org/support/forums/' ); } // Updates are important! if ( 'success' !== $type || $newer_version_available ) { $body .= "\n\n" . __( 'Keeping your site updated is important for security. It also makes the internet a safer place for you and your readers.' ); } if ( $critical_support ) { $body .= ' ' . __( "Reach out to WordPress Core developers to ensure you'll never have this problem again." ); } // If things are successful and we're now on the latest, mention plugins and themes if any are out of date. if ( 'success' === $type && ! $newer_version_available && ( get_plugin_updates() || get_theme_updates() ) ) { $body .= "\n\n" . __( 'You also have some plugins or themes with updates available. Update them now:' ); $body .= "\n" . network_admin_url(); } $body .= "\n\n" . __( 'The WordPress Team' ) . "\n"; if ( 'critical' === $type && is_wp_error( $result ) ) { $body .= "\n***\n\n"; /* translators: %s: WordPress version. */ $body .= sprintf( __( 'Your site was running version %s.' ), get_bloginfo( 'version' ) ); $body .= ' ' . __( 'Some data that describes the error your site encountered has been put together.' ); $body .= ' ' . __( 'Your hosting company, support forum volunteers, or a friendly developer may be able to use this information to help you:' ); /* * If we had a rollback and we're still critical, then the rollback failed too. * Loop through all errors (the main WP_Error, the update result, the rollback result) for code, data, etc. */ if ( 'rollback_was_required' === $result->get_error_code() ) { $errors = array( $result, $result->get_error_data()->update, $result->get_error_data()->rollback ); } else { $errors = array( $result ); } foreach ( $errors as $error ) { if ( ! is_wp_error( $error ) ) { continue; } $error_code = $error->get_error_code(); /* translators: %s: Error code. */ $body .= "\n\n" . sprintf( __( 'Error code: %s' ), $error_code ); if ( 'rollback_was_required' === $error_code ) { continue; } if ( $error->get_error_message() ) { $body .= "\n" . $error->get_error_message(); } $error_data = $error->get_error_data(); if ( $error_data ) { $body .= "\n" . implode( ', ', (array) $error_data ); } } $body .= "\n"; } $to = get_site_option( 'admin_email' ); $headers = ''; $email = compact( 'to', 'subject', 'body', 'headers' ); /** * Filters the email sent following an automatic background core update. * * @since 3.7.0 * * @param array $email { * Array of email arguments that will be passed to wp_mail(). * * @type string $to The email recipient. An array of emails * can be returned, as handled by wp_mail(). * @type string $subject The email's subject. * @type string $body The email message body. * @type string $headers Any email headers, defaults to no headers. * } * @param string $type The type of email being sent. Can be one of * 'success', 'fail', 'manual', 'critical'. * @param object $core_update The update offer that was attempted. * @param mixed $result The result for the core update. Can be WP_Error. */ $email = apply_filters( 'auto_core_update_email', $email, $type, $core_update, $result ); wp_mail( $email['to'], wp_specialchars_decode( $email['subject'] ), $email['body'], $email['headers'] ); } /** * Checks whether an email should be sent after attempting plugin or theme updates. * * @since 5.5.0 * * @param array $update_results The results of update tasks. */ protected function after_plugin_theme_update( $update_results ) { $successful_updates = array(); $failed_updates = array(); if ( ! empty( $update_results['plugin'] ) ) { /** * Filters whether to send an email following an automatic background plugin update. * * @since 5.5.0 * @since 5.5.1 Added the `$update_results` parameter. * * @param bool $enabled True if plugin update notifications are enabled, false otherwise. * @param array $update_results The results of plugins update tasks. */ $notifications_enabled = apply_filters( 'auto_plugin_update_send_email', true, $update_results['plugin'] ); if ( $notifications_enabled ) { foreach ( $update_results['plugin'] as $update_result ) { if ( true === $update_result->result ) { $successful_updates['plugin'][] = $update_result; } else { $failed_updates['plugin'][] = $update_result; } } } } if ( ! empty( $update_results['theme'] ) ) { /** * Filters whether to send an email following an automatic background theme update. * * @since 5.5.0 * @since 5.5.1 Added the `$update_results` parameter. * * @param bool $enabled True if theme update notifications are enabled, false otherwise. * @param array $update_results The results of theme update tasks. */ $notifications_enabled = apply_filters( 'auto_theme_update_send_email', true, $update_results['theme'] ); if ( $notifications_enabled ) { foreach ( $update_results['theme'] as $update_result ) { if ( true === $update_result->result ) { $successful_updates['theme'][] = $update_result; } else { $failed_updates['theme'][] = $update_result; } } } } if ( empty( $successful_updates ) && empty( $failed_updates ) ) { return; } if ( empty( $failed_updates ) ) { $this->send_plugin_theme_email( 'success', $successful_updates, $failed_updates ); } elseif ( empty( $successful_updates ) ) { $this->send_plugin_theme_email( 'fail', $successful_updates, $failed_updates ); } else { $this->send_plugin_theme_email( 'mixed', $successful_updates, $failed_updates ); } } /** * Sends an email upon the completion or failure of a plugin or theme background update. * * @since 5.5.0 * * @param string $type The type of email to send. Can be one of 'success', 'fail', 'mixed'. * @param array $successful_updates A list of updates that succeeded. * @param array $failed_updates A list of updates that failed. */ protected function send_plugin_theme_email( $type, $successful_updates, $failed_updates ) { // No updates were attempted. if ( empty( $successful_updates ) && empty( $failed_updates ) ) { return; } $unique_failures = false; $past_failure_emails = get_option( 'auto_plugin_theme_update_emails', array() ); /* * When only failures have occurred, an email should only be sent if there are unique failures. * A failure is considered unique if an email has not been sent for an update attempt failure * to a plugin or theme with the same new_version. */ if ( 'fail' === $type ) { foreach ( $failed_updates as $update_type => $failures ) { foreach ( $failures as $failed_update ) { if ( ! isset( $past_failure_emails[ $failed_update->item->{$update_type} ] ) ) { $unique_failures = true; continue; } // Check that the failure represents a new failure based on the new_version. if ( version_compare( $past_failure_emails[ $failed_update->item->{$update_type} ], $failed_update->item->new_version, '<' ) ) { $unique_failures = true; } } } if ( ! $unique_failures ) { return; } } $body = array(); $successful_plugins = ( ! empty( $successful_updates['plugin'] ) ); $successful_themes = ( ! empty( $successful_updates['theme'] ) ); $failed_plugins = ( ! empty( $failed_updates['plugin'] ) ); $failed_themes = ( ! empty( $failed_updates['theme'] ) ); switch ( $type ) { case 'success': if ( $successful_plugins && $successful_themes ) { /* translators: %s: Site title. */ $subject = __( '[%s] Some plugins and themes have automatically updated' ); $body[] = sprintf( /* translators: %s: Home URL. */ __( 'Howdy! Some plugins and themes have automatically updated to their latest versions on your site at %s. No further action is needed on your part.' ), home_url() ); } elseif ( $successful_plugins ) { /* translators: %s: Site title. */ $subject = __( '[%s] Some plugins were automatically updated' ); $body[] = sprintf( /* translators: %s: Home URL. */ __( 'Howdy! Some plugins have automatically updated to their latest versions on your site at %s. No further action is needed on your part.' ), home_url() ); } else { /* translators: %s: Site title. */ $subject = __( '[%s] Some themes were automatically updated' ); $body[] = sprintf( /* translators: %s: Home URL. */ __( 'Howdy! Some themes have automatically updated to their latest versions on your site at %s. No further action is needed on your part.' ), home_url() ); } break; case 'fail': case 'mixed': if ( $failed_plugins && $failed_themes ) { /* translators: %s: Site title. */ $subject = __( '[%s] Some plugins and themes have failed to update' ); $body[] = sprintf( /* translators: %s: Home URL. */ __( 'Howdy! Plugins and themes failed to update on your site at %s.' ), home_url() ); } elseif ( $failed_plugins ) { /* translators: %s: Site title. */ $subject = __( '[%s] Some plugins have failed to update' ); $body[] = sprintf( /* translators: %s: Home URL. */ __( 'Howdy! Plugins failed to update on your site at %s.' ), home_url() ); } else { /* translators: %s: Site title. */ $subject = __( '[%s] Some themes have failed to update' ); $body[] = sprintf( /* translators: %s: Home URL. */ __( 'Howdy! Themes failed to update on your site at %s.' ), home_url() ); } break; } if ( in_array( $type, array( 'fail', 'mixed' ), true ) ) { $body[] = "\n"; $body[] = __( 'Please check your site now. It’s possible that everything is working. If there are updates available, you should update.' ); $body[] = "\n"; // List failed plugin updates. if ( ! empty( $failed_updates['plugin'] ) ) { $body[] = __( 'The following plugins failed to update. If there was a fatal error in the update, the previously installed version has been restored.' ); foreach ( $failed_updates['plugin'] as $item ) { $body_message = ''; $item_url = ''; if ( ! empty( $item->item->url ) ) { $item_url = ' : ' . esc_url( $item->item->url ); } if ( $item->item->current_version ) { $body_message .= sprintf( /* translators: 1: Plugin name, 2: Current version number, 3: New version number, 4: Plugin URL. */ __( '- %1$s (from version %2$s to %3$s)%4$s' ), html_entity_decode( $item->name ), $item->item->current_version, $item->item->new_version, $item_url ); } else { $body_message .= sprintf( /* translators: 1: Plugin name, 2: Version number, 3: Plugin URL. */ __( '- %1$s version %2$s%3$s' ), html_entity_decode( $item->name ), $item->item->new_version, $item_url ); } $body[] = $body_message; $past_failure_emails[ $item->item->plugin ] = $item->item->new_version; } $body[] = "\n"; } // List failed theme updates. if ( ! empty( $failed_updates['theme'] ) ) { $body[] = __( 'These themes failed to update:' ); foreach ( $failed_updates['theme'] as $item ) { if ( $item->item->current_version ) { $body[] = sprintf( /* translators: 1: Theme name, 2: Current version number, 3: New version number. */ __( '- %1$s (from version %2$s to %3$s)' ), html_entity_decode( $item->name ), $item->item->current_version, $item->item->new_version ); } else { $body[] = sprintf( /* translators: 1: Theme name, 2: Version number. */ __( '- %1$s version %2$s' ), html_entity_decode( $item->name ), $item->item->new_version ); } $past_failure_emails[ $item->item->theme ] = $item->item->new_version; } $body[] = "\n"; } } // List successful updates. if ( in_array( $type, array( 'success', 'mixed' ), true ) ) { $body[] = "\n"; // List successful plugin updates. if ( ! empty( $successful_updates['plugin'] ) ) { $body[] = __( 'These plugins are now up to date:' ); foreach ( $successful_updates['plugin'] as $item ) { $body_message = ''; $item_url = ''; if ( ! empty( $item->item->url ) ) { $item_url = ' : ' . esc_url( $item->item->url ); } if ( $item->item->current_version ) { $body_message .= sprintf( /* translators: 1: Plugin name, 2: Current version number, 3: New version number, 4: Plugin URL. */ __( '- %1$s (from version %2$s to %3$s)%4$s' ), html_entity_decode( $item->name ), $item->item->current_version, $item->item->new_version, $item_url ); } else { $body_message .= sprintf( /* translators: 1: Plugin name, 2: Version number, 3: Plugin URL. */ __( '- %1$s version %2$s%3$s' ), html_entity_decode( $item->name ), $item->item->new_version, $item_url ); } $body[] = $body_message; unset( $past_failure_emails[ $item->item->plugin ] ); } $body[] = "\n"; } // List successful theme updates. if ( ! empty( $successful_updates['theme'] ) ) { $body[] = __( 'These themes are now up to date:' ); foreach ( $successful_updates['theme'] as $item ) { if ( $item->item->current_version ) { $body[] = sprintf( /* translators: 1: Theme name, 2: Current version number, 3: New version number. */ __( '- %1$s (from version %2$s to %3$s)' ), html_entity_decode( $item->name ), $item->item->current_version, $item->item->new_version ); } else { $body[] = sprintf( /* translators: 1: Theme name, 2: Version number. */ __( '- %1$s version %2$s' ), html_entity_decode( $item->name ), $item->item->new_version ); } unset( $past_failure_emails[ $item->item->theme ] ); } $body[] = "\n"; } } if ( $failed_plugins ) { $body[] = sprintf( /* translators: %s: Plugins screen URL. */ __( 'To manage plugins on your site, visit the Plugins page: %s' ), admin_url( 'plugins.php' ) ); $body[] = "\n"; } if ( $failed_themes ) { $body[] = sprintf( /* translators: %s: Themes screen URL. */ __( 'To manage themes on your site, visit the Themes page: %s' ), admin_url( 'themes.php' ) ); $body[] = "\n"; } // Add a note about the support forums. $body[] = __( 'If you experience any issues or need support, the volunteers in the WordPress.org support forums may be able to help.' ); $body[] = __( 'https://wordpress.org/support/forums/' ); $body[] = "\n" . __( 'The WordPress Team' ); if ( '' !== get_option( 'blogname' ) ) { $site_title = wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES ); } else { $site_title = parse_url( home_url(), PHP_URL_HOST ); } $body = implode( "\n", $body ); $to = get_site_option( 'admin_email' ); $subject = sprintf( $subject, $site_title ); $headers = ''; $email = compact( 'to', 'subject', 'body', 'headers' ); /** * Filters the email sent following an automatic background update for plugins and themes. * * @since 5.5.0 * * @param array $email { * Array of email arguments that will be passed to wp_mail(). * * @type string $to The email recipient. An array of emails * can be returned, as handled by wp_mail(). * @type string $subject The email's subject. * @type string $body The email message body. * @type string $headers Any email headers, defaults to no headers. * } * @param string $type The type of email being sent. Can be one of 'success', 'fail', 'mixed'. * @param array $successful_updates A list of updates that succeeded. * @param array $failed_updates A list of updates that failed. */ $email = apply_filters( 'auto_plugin_theme_update_email', $email, $type, $successful_updates, $failed_updates ); $result = wp_mail( $email['to'], wp_specialchars_decode( $email['subject'] ), $email['body'], $email['headers'] ); if ( $result ) { update_option( 'auto_plugin_theme_update_emails', $past_failure_emails ); } } /** * Prepares and sends an email of a full log of background update results, useful for debugging and geekery. * * @since 3.7.0 */ protected function send_debug_email() { $update_count = 0; foreach ( $this->update_results as $type => $updates ) { $update_count += count( $updates ); } $body = array(); $failures = 0; /* translators: %s: Network home URL. */ $body[] = sprintf( __( 'WordPress site: %s' ), network_home_url( '/' ) ); // Core. if ( isset( $this->update_results['core'] ) ) { $result = $this->update_results['core'][0]; if ( $result->result && ! is_wp_error( $result->result ) ) { /* translators: %s: WordPress version. */ $body[] = sprintf( __( 'SUCCESS: WordPress was successfully updated to %s' ), $result->name ); } else { /* translators: %s: WordPress version. */ $body[] = sprintf( __( 'FAILED: WordPress failed to update to %s' ), $result->name ); ++$failures; } $body[] = ''; } // Plugins, Themes, Translations. foreach ( array( 'plugin', 'theme', 'translation' ) as $type ) { if ( ! isset( $this->update_results[ $type ] ) ) { continue; } $success_items = wp_list_filter( $this->update_results[ $type ], array( 'result' => true ) ); if ( $success_items ) { $messages = array( 'plugin' => __( 'The following plugins were successfully updated:' ), 'theme' => __( 'The following themes were successfully updated:' ), 'translation' => __( 'The following translations were successfully updated:' ), ); $body[] = $messages[ $type ]; foreach ( wp_list_pluck( $success_items, 'name' ) as $name ) { /* translators: %s: Name of plugin / theme / translation. */ $body[] = ' * ' . sprintf( __( 'SUCCESS: %s' ), $name ); } } if ( $success_items !== $this->update_results[ $type ] ) { // Failed updates. $messages = array( 'plugin' => __( 'The following plugins failed to update:' ), 'theme' => __( 'The following themes failed to update:' ), 'translation' => __( 'The following translations failed to update:' ), ); $body[] = $messages[ $type ]; foreach ( $this->update_results[ $type ] as $item ) { if ( ! $item->result || is_wp_error( $item->result ) ) { /* translators: %s: Name of plugin / theme / translation. */ $body[] = ' * ' . sprintf( __( 'FAILED: %s' ), $item->name ); ++$failures; } } } $body[] = ''; } if ( '' !== get_bloginfo( 'name' ) ) { $site_title = wp_specialchars_decode( get_bloginfo( 'name' ), ENT_QUOTES ); } else { $site_title = parse_url( home_url(), PHP_URL_HOST ); } if ( $failures ) { $body[] = trim( __( "BETA TESTING? ============= This debugging email is sent when you are using a development version of WordPress. If you think these failures might be due to a bug in WordPress, could you report it? * Open a thread in the support forums: https://wordpress.org/support/forum/alphabeta * Or, if you're comfortable writing a bug report: https://core.trac.wordpress.org/ Thanks! -- The WordPress Team" ) ); $body[] = ''; /* translators: Background update failed notification email subject. %s: Site title. */ $subject = sprintf( __( '[%s] Background Update Failed' ), $site_title ); } else { /* translators: Background update finished notification email subject. %s: Site title. */ $subject = sprintf( __( '[%s] Background Update Finished' ), $site_title ); } $body[] = trim( __( 'UPDATE LOG ==========' ) ); $body[] = ''; foreach ( array( 'core', 'plugin', 'theme', 'translation' ) as $type ) { if ( ! isset( $this->update_results[ $type ] ) ) { continue; } foreach ( $this->update_results[ $type ] as $update ) { $body[] = $update->name; $body[] = str_repeat( '-', strlen( $update->name ) ); foreach ( $update->messages as $message ) { $body[] = ' ' . html_entity_decode( str_replace( '…', '...', $message ) ); } if ( is_wp_error( $update->result ) ) { $results = array( 'update' => $update->result ); // If we rolled back, we want to know an error that occurred then too. if ( 'rollback_was_required' === $update->result->get_error_code() ) { $results = (array) $update->result->get_error_data(); } foreach ( $results as $result_type => $result ) { if ( ! is_wp_error( $result ) ) { continue; } if ( 'rollback' === $result_type ) { /* translators: 1: Error code, 2: Error message. */ $body[] = ' ' . sprintf( __( 'Rollback Error: [%1$s] %2$s' ), $result->get_error_code(), $result->get_error_message() ); } else { /* translators: 1: Error code, 2: Error message. */ $body[] = ' ' . sprintf( __( 'Error: [%1$s] %2$s' ), $result->get_error_code(), $result->get_error_message() ); } if ( $result->get_error_data() ) { $body[] = ' ' . implode( ', ', (array) $result->get_error_data() ); } } } $body[] = ''; } } $email = array( 'to' => get_site_option( 'admin_email' ), 'subject' => $subject, 'body' => implode( "\n", $body ), 'headers' => '', ); /** * Filters the debug email that can be sent following an automatic * background core update. * * @since 3.8.0 * * @param array $email { * Array of email arguments that will be passed to wp_mail(). * * @type string $to The email recipient. An array of emails * can be returned, as handled by wp_mail(). * @type string $subject Email subject. * @type string $body Email message body. * @type string $headers Any email headers. Default empty. * } * @param int $failures The number of failures encountered while upgrading. * @param mixed $results The results of all attempted updates. */ $email = apply_filters( 'automatic_updates_debug_email', $email, $failures, $this->update_results ); wp_mail( $email['to'], wp_specialchars_decode( $email['subject'] ), $email['body'], $email['headers'] ); } /** * Performs a loopback request to check for potential fatal errors. * * Fatal errors cannot be detected unless maintenance mode is enabled. * * @since 6.6.0 * * @global int $upgrading The Unix timestamp marking when upgrading WordPress began. * * @return bool Whether a fatal error was detected. */ protected function has_fatal_error() { global $upgrading; $maintenance_file = ABSPATH . '.maintenance'; if ( ! file_exists( $maintenance_file ) ) { return false; } require $maintenance_file; if ( ! is_int( $upgrading ) ) { return false; } $scrape_key = md5( $upgrading ); $scrape_nonce = (string) $upgrading; $transient = 'scrape_key_' . $scrape_key; set_transient( $transient, $scrape_nonce, 30 ); $cookies = wp_unslash( $_COOKIE ); $scrape_params = array( 'wp_scrape_key' => $scrape_key, 'wp_scrape_nonce' => $scrape_nonce, ); $headers = array( 'Cache-Control' => 'no-cache', ); /** This filter is documented in wp-includes/class-wp-http-streams.php */ $sslverify = apply_filters( 'https_local_ssl_verify', false ); // Include Basic auth in the loopback request. if ( isset( $_SERVER['PHP_AUTH_USER'] ) && isset( $_SERVER['PHP_AUTH_PW'] ) ) { $headers['Authorization'] = 'Basic ' . base64_encode( wp_unslash( $_SERVER['PHP_AUTH_USER'] ) . ':' . wp_unslash( $_SERVER['PHP_AUTH_PW'] ) ); } // Time to wait for loopback request to finish. $timeout = 50; // 50 seconds. $is_debug = WP_DEBUG && WP_DEBUG_LOG; if ( $is_debug ) { error_log( ' Scraping home page...' ); } $needle_start = "###### wp_scraping_result_start:$scrape_key ######"; $needle_end = "###### wp_scraping_result_end:$scrape_key ######"; $url = add_query_arg( $scrape_params, home_url( '/' ) ); $response = wp_remote_get( $url, compact( 'cookies', 'headers', 'timeout', 'sslverify' ) ); if ( is_wp_error( $response ) ) { if ( $is_debug ) { error_log( 'Loopback request failed: ' . $response->get_error_message() ); } return true; } // If this outputs `true` in the log, it means there were no fatal errors detected. if ( $is_debug ) { error_log( var_export( substr( $response['body'], strpos( $response['body'], '###### wp_scraping_result_start:' ) ), true ) ); } $body = wp_remote_retrieve_body( $response ); $scrape_result_position = strpos( $body, $needle_start ); $result = null; if ( false !== $scrape_result_position ) { $error_output = substr( $body, $scrape_result_position + strlen( $needle_start ) ); $error_output = substr( $error_output, 0, strpos( $error_output, $needle_end ) ); $result = json_decode( trim( $error_output ), true ); } delete_transient( $transient ); // Only fatal errors will result in a 'type' key. return isset( $result['type'] ); } } comment.php 0000644 00000013751 14735706075 0006744 0 ustar 00 <?php /** * WordPress Comment Administration API. * * @package WordPress * @subpackage Administration * @since 2.3.0 */ /** * Determines if a comment exists based on author and date. * * For best performance, use `$timezone = 'gmt'`, which queries a field that is properly indexed. The default value * for `$timezone` is 'blog' for legacy reasons. * * @since 2.0.0 * @since 4.4.0 Added the `$timezone` parameter. * * @global wpdb $wpdb WordPress database abstraction object. * * @param string $comment_author Author of the comment. * @param string $comment_date Date of the comment. * @param string $timezone Timezone. Accepts 'blog' or 'gmt'. Default 'blog'. * @return string|null Comment post ID on success. */ function comment_exists( $comment_author, $comment_date, $timezone = 'blog' ) { global $wpdb; $date_field = 'comment_date'; if ( 'gmt' === $timezone ) { $date_field = 'comment_date_gmt'; } return $wpdb->get_var( $wpdb->prepare( "SELECT comment_post_ID FROM $wpdb->comments WHERE comment_author = %s AND $date_field = %s", stripslashes( $comment_author ), stripslashes( $comment_date ) ) ); } /** * Updates a comment with values provided in $_POST. * * @since 2.0.0 * @since 5.5.0 A return value was added. * * @return int|WP_Error The value 1 if the comment was updated, 0 if not updated. * A WP_Error object on failure. */ function edit_comment() { if ( ! current_user_can( 'edit_comment', (int) $_POST['comment_ID'] ) ) { wp_die( __( 'Sorry, you are not allowed to edit comments on this post.' ) ); } if ( isset( $_POST['newcomment_author'] ) ) { $_POST['comment_author'] = $_POST['newcomment_author']; } if ( isset( $_POST['newcomment_author_email'] ) ) { $_POST['comment_author_email'] = $_POST['newcomment_author_email']; } if ( isset( $_POST['newcomment_author_url'] ) ) { $_POST['comment_author_url'] = $_POST['newcomment_author_url']; } if ( isset( $_POST['comment_status'] ) ) { $_POST['comment_approved'] = $_POST['comment_status']; } if ( isset( $_POST['content'] ) ) { $_POST['comment_content'] = $_POST['content']; } if ( isset( $_POST['comment_ID'] ) ) { $_POST['comment_ID'] = (int) $_POST['comment_ID']; } foreach ( array( 'aa', 'mm', 'jj', 'hh', 'mn' ) as $timeunit ) { if ( ! empty( $_POST[ 'hidden_' . $timeunit ] ) && $_POST[ 'hidden_' . $timeunit ] !== $_POST[ $timeunit ] ) { $_POST['edit_date'] = '1'; break; } } if ( ! empty( $_POST['edit_date'] ) ) { $aa = $_POST['aa']; $mm = $_POST['mm']; $jj = $_POST['jj']; $hh = $_POST['hh']; $mn = $_POST['mn']; $ss = $_POST['ss']; $jj = ( $jj > 31 ) ? 31 : $jj; $hh = ( $hh > 23 ) ? $hh - 24 : $hh; $mn = ( $mn > 59 ) ? $mn - 60 : $mn; $ss = ( $ss > 59 ) ? $ss - 60 : $ss; $_POST['comment_date'] = "$aa-$mm-$jj $hh:$mn:$ss"; } return wp_update_comment( $_POST, true ); } /** * Returns a WP_Comment object based on comment ID. * * @since 2.0.0 * * @param int $id ID of comment to retrieve. * @return WP_Comment|false Comment if found. False on failure. */ function get_comment_to_edit( $id ) { $comment = get_comment( $id ); if ( ! $comment ) { return false; } $comment->comment_ID = (int) $comment->comment_ID; $comment->comment_post_ID = (int) $comment->comment_post_ID; $comment->comment_content = format_to_edit( $comment->comment_content ); /** * Filters the comment content before editing. * * @since 2.0.0 * * @param string $comment_content Comment content. */ $comment->comment_content = apply_filters( 'comment_edit_pre', $comment->comment_content ); $comment->comment_author = format_to_edit( $comment->comment_author ); $comment->comment_author_email = format_to_edit( $comment->comment_author_email ); $comment->comment_author_url = format_to_edit( $comment->comment_author_url ); $comment->comment_author_url = esc_url( $comment->comment_author_url ); return $comment; } /** * Gets the number of pending comments on a post or posts. * * @since 2.3.0 * * @global wpdb $wpdb WordPress database abstraction object. * * @param int|int[] $post_id Either a single Post ID or an array of Post IDs * @return int|int[] Either a single Posts pending comments as an int or an array of ints keyed on the Post IDs */ function get_pending_comments_num( $post_id ) { global $wpdb; $single = false; if ( ! is_array( $post_id ) ) { $post_id_array = (array) $post_id; $single = true; } else { $post_id_array = $post_id; } $post_id_array = array_map( 'intval', $post_id_array ); $post_id_in = "'" . implode( "', '", $post_id_array ) . "'"; $pending = $wpdb->get_results( "SELECT comment_post_ID, COUNT(comment_ID) as num_comments FROM $wpdb->comments WHERE comment_post_ID IN ( $post_id_in ) AND comment_approved = '0' GROUP BY comment_post_ID", ARRAY_A ); if ( $single ) { if ( empty( $pending ) ) { return 0; } else { return absint( $pending[0]['num_comments'] ); } } $pending_keyed = array(); // Default to zero pending for all posts in request. foreach ( $post_id_array as $id ) { $pending_keyed[ $id ] = 0; } if ( ! empty( $pending ) ) { foreach ( $pending as $pend ) { $pending_keyed[ $pend['comment_post_ID'] ] = absint( $pend['num_comments'] ); } } return $pending_keyed; } /** * Adds avatars to relevant places in admin. * * @since 2.5.0 * * @param string $name User name. * @return string Avatar with the user name. */ function floated_admin_avatar( $name ) { $avatar = get_avatar( get_comment(), 32, 'mystery' ); return "$avatar $name"; } /** * Enqueues comment shortcuts jQuery script. * * @since 2.7.0 */ function enqueue_comment_hotkeys_js() { if ( 'true' === get_user_option( 'comment_shortcuts' ) ) { wp_enqueue_script( 'jquery-table-hotkeys' ); } } /** * Displays error message at bottom of comments. * * @param string $msg Error Message. Assumed to contain HTML and be sanitized. */ function comment_footer_die( $msg ) { echo "<div class='wrap'><p>$msg</p></div>"; require_once ABSPATH . 'wp-admin/admin-footer.php'; die; } plugin-install.php 0000644 00000115062 14735706075 0010242 0 ustar 00 <?php /** * WordPress Plugin Install Administration API * * @package WordPress * @subpackage Administration */ /** * Retrieves plugin installer pages from the WordPress.org Plugins API. * * It is possible for a plugin to override the Plugin API result with three * filters. Assume this is for plugins, which can extend on the Plugin Info to * offer more choices. This is very powerful and must be used with care when * overriding the filters. * * The first filter, {@see 'plugins_api_args'}, is for the args and gives the action * as the second parameter. The hook for {@see 'plugins_api_args'} must ensure that * an object is returned. * * The second filter, {@see 'plugins_api'}, allows a plugin to override the WordPress.org * Plugin Installation API entirely. If `$action` is 'query_plugins' or 'plugin_information', * an object MUST be passed. If `$action` is 'hot_tags', an array MUST be passed. * * Finally, the third filter, {@see 'plugins_api_result'}, makes it possible to filter the * response object or array, depending on the `$action` type. * * Supported arguments per action: * * | Argument Name | query_plugins | plugin_information | hot_tags | * | -------------------- | :-----------: | :----------------: | :------: | * | `$slug` | No | Yes | No | * | `$per_page` | Yes | No | No | * | `$page` | Yes | No | No | * | `$number` | No | No | Yes | * | `$search` | Yes | No | No | * | `$tag` | Yes | No | No | * | `$author` | Yes | No | No | * | `$user` | Yes | No | No | * | `$browse` | Yes | No | No | * | `$locale` | Yes | Yes | No | * | `$installed_plugins` | Yes | No | No | * | `$is_ssl` | Yes | Yes | No | * | `$fields` | Yes | Yes | No | * * @since 2.7.0 * * @param string $action API action to perform: 'query_plugins', 'plugin_information', * or 'hot_tags'. * @param array|object $args { * Optional. Array or object of arguments to serialize for the Plugin Info API. * * @type string $slug The plugin slug. Default empty. * @type int $per_page Number of plugins per page. Default 24. * @type int $page Number of current page. Default 1. * @type int $number Number of tags or categories to be queried. * @type string $search A search term. Default empty. * @type string $tag Tag to filter plugins. Default empty. * @type string $author Username of an plugin author to filter plugins. Default empty. * @type string $user Username to query for their favorites. Default empty. * @type string $browse Browse view: 'popular', 'new', 'beta', 'recommended'. * @type string $locale Locale to provide context-sensitive results. Default is the value * of get_locale(). * @type string $installed_plugins Installed plugins to provide context-sensitive results. * @type bool $is_ssl Whether links should be returned with https or not. Default false. * @type array $fields { * Array of fields which should or should not be returned. * * @type bool $short_description Whether to return the plugin short description. Default true. * @type bool $description Whether to return the plugin full description. Default false. * @type bool $sections Whether to return the plugin readme sections: description, installation, * FAQ, screenshots, other notes, and changelog. Default false. * @type bool $tested Whether to return the 'Compatible up to' value. Default true. * @type bool $requires Whether to return the required WordPress version. Default true. * @type bool $requires_php Whether to return the required PHP version. Default true. * @type bool $rating Whether to return the rating in percent and total number of ratings. * Default true. * @type bool $ratings Whether to return the number of rating for each star (1-5). Default true. * @type bool $downloaded Whether to return the download count. Default true. * @type bool $downloadlink Whether to return the download link for the package. Default true. * @type bool $last_updated Whether to return the date of the last update. Default true. * @type bool $added Whether to return the date when the plugin was added to the wordpress.org * repository. Default true. * @type bool $tags Whether to return the assigned tags. Default true. * @type bool $compatibility Whether to return the WordPress compatibility list. Default true. * @type bool $homepage Whether to return the plugin homepage link. Default true. * @type bool $versions Whether to return the list of all available versions. Default false. * @type bool $donate_link Whether to return the donation link. Default true. * @type bool $reviews Whether to return the plugin reviews. Default false. * @type bool $banners Whether to return the banner images links. Default false. * @type bool $icons Whether to return the icon links. Default false. * @type bool $active_installs Whether to return the number of active installations. Default false. * @type bool $contributors Whether to return the list of contributors. Default false. * } * } * @return object|array|WP_Error Response object or array on success, WP_Error on failure. See the * {@link https://developer.wordpress.org/reference/functions/plugins_api/ function reference article} * for more information on the make-up of possible return values depending on the value of `$action`. */ function plugins_api( $action, $args = array() ) { if ( is_array( $args ) ) { $args = (object) $args; } if ( 'query_plugins' === $action ) { if ( ! isset( $args->per_page ) ) { $args->per_page = 24; } } if ( ! isset( $args->locale ) ) { $args->locale = get_user_locale(); } if ( ! isset( $args->wp_version ) ) { $args->wp_version = substr( wp_get_wp_version(), 0, 3 ); // x.y } /** * Filters the WordPress.org Plugin Installation API arguments. * * Important: An object MUST be returned to this filter. * * @since 2.7.0 * * @param object $args Plugin API arguments. * @param string $action The type of information being requested from the Plugin Installation API. */ $args = apply_filters( 'plugins_api_args', $args, $action ); /** * Filters the response for the current WordPress.org Plugin Installation API request. * * Returning a non-false value will effectively short-circuit the WordPress.org API request. * * If `$action` is 'query_plugins' or 'plugin_information', an object MUST be passed. * If `$action` is 'hot_tags', an array should be passed. * * @since 2.7.0 * * @param false|object|array $result The result object or array. Default false. * @param string $action The type of information being requested from the Plugin Installation API. * @param object $args Plugin API arguments. */ $res = apply_filters( 'plugins_api', false, $action, $args ); if ( false === $res ) { $url = 'http://api.wordpress.org/plugins/info/1.2/'; $url = add_query_arg( array( 'action' => $action, 'request' => $args, ), $url ); $http_url = $url; $ssl = wp_http_supports( array( 'ssl' ) ); if ( $ssl ) { $url = set_url_scheme( $url, 'https' ); } $http_args = array( 'timeout' => 15, 'user-agent' => 'WordPress/' . wp_get_wp_version() . '; ' . home_url( '/' ), ); $request = wp_remote_get( $url, $http_args ); if ( $ssl && is_wp_error( $request ) ) { if ( ! wp_is_json_request() ) { wp_trigger_error( __FUNCTION__, sprintf( /* translators: %s: Support forums URL. */ __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server’s configuration. If you continue to have problems, please try the <a href="%s">support forums</a>.' ), __( 'https://wordpress.org/support/forums/' ) ) . ' ' . __( '(WordPress could not establish a secure connection to WordPress.org. Please contact your server administrator.)' ), headers_sent() || WP_DEBUG ? E_USER_WARNING : E_USER_NOTICE ); } $request = wp_remote_get( $http_url, $http_args ); } if ( is_wp_error( $request ) ) { $res = new WP_Error( 'plugins_api_failed', sprintf( /* translators: %s: Support forums URL. */ __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server’s configuration. If you continue to have problems, please try the <a href="%s">support forums</a>.' ), __( 'https://wordpress.org/support/forums/' ) ), $request->get_error_message() ); } else { $res = json_decode( wp_remote_retrieve_body( $request ), true ); if ( is_array( $res ) ) { // Object casting is required in order to match the info/1.0 format. $res = (object) $res; } elseif ( null === $res ) { $res = new WP_Error( 'plugins_api_failed', sprintf( /* translators: %s: Support forums URL. */ __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server’s configuration. If you continue to have problems, please try the <a href="%s">support forums</a>.' ), __( 'https://wordpress.org/support/forums/' ) ), wp_remote_retrieve_body( $request ) ); } if ( isset( $res->error ) ) { $res = new WP_Error( 'plugins_api_failed', $res->error ); } } } elseif ( ! is_wp_error( $res ) ) { $res->external = true; } /** * Filters the Plugin Installation API response results. * * @since 2.7.0 * * @param object|WP_Error $res Response object or WP_Error. * @param string $action The type of information being requested from the Plugin Installation API. * @param object $args Plugin API arguments. */ return apply_filters( 'plugins_api_result', $res, $action, $args ); } /** * Retrieves popular WordPress plugin tags. * * @since 2.7.0 * * @param array $args * @return array|WP_Error */ function install_popular_tags( $args = array() ) { $key = md5( serialize( $args ) ); $tags = get_site_transient( 'poptags_' . $key ); if ( false !== $tags ) { return $tags; } $tags = plugins_api( 'hot_tags', $args ); if ( is_wp_error( $tags ) ) { return $tags; } set_site_transient( 'poptags_' . $key, $tags, 3 * HOUR_IN_SECONDS ); return $tags; } /** * Displays the Featured tab of Add Plugins screen. * * @since 2.7.0 */ function install_dashboard() { display_plugins_table(); ?> <div class="plugins-popular-tags-wrapper"> <h2><?php _e( 'Popular tags' ); ?></h2> <p><?php _e( 'You may also browse based on the most popular tags in the Plugin Directory:' ); ?></p> <?php $api_tags = install_popular_tags(); echo '<p class="popular-tags">'; if ( is_wp_error( $api_tags ) ) { echo $api_tags->get_error_message(); } else { // Set up the tags in a way which can be interpreted by wp_generate_tag_cloud(). $tags = array(); foreach ( (array) $api_tags as $tag ) { $url = self_admin_url( 'plugin-install.php?tab=search&type=tag&s=' . urlencode( $tag['name'] ) ); $data = array( 'link' => esc_url( $url ), 'name' => $tag['name'], 'slug' => $tag['slug'], 'id' => sanitize_title_with_dashes( $tag['name'] ), 'count' => $tag['count'], ); $tags[ $tag['name'] ] = (object) $data; } echo wp_generate_tag_cloud( $tags, array( /* translators: %s: Number of plugins. */ 'single_text' => __( '%s plugin' ), /* translators: %s: Number of plugins. */ 'multiple_text' => __( '%s plugins' ), ) ); } echo '</p><br class="clear" /></div>'; } /** * Displays a search form for searching plugins. * * @since 2.7.0 * @since 4.6.0 The `$type_selector` parameter was deprecated. * * @param bool $deprecated Not used. */ function install_search_form( $deprecated = true ) { $type = isset( $_REQUEST['type'] ) ? wp_unslash( $_REQUEST['type'] ) : 'term'; $term = isset( $_REQUEST['s'] ) ? urldecode( wp_unslash( $_REQUEST['s'] ) ) : ''; ?> <form class="search-form search-plugins" method="get"> <input type="hidden" name="tab" value="search" /> <label for="search-plugins"><?php _e( 'Search Plugins' ); ?></label> <input type="search" name="s" id="search-plugins" value="<?php echo esc_attr( $term ); ?>" class="wp-filter-search" /> <label class="screen-reader-text" for="typeselector"> <?php /* translators: Hidden accessibility text. */ _e( 'Search plugins by:' ); ?> </label> <select name="type" id="typeselector"> <option value="term"<?php selected( 'term', $type ); ?>><?php _e( 'Keyword' ); ?></option> <option value="author"<?php selected( 'author', $type ); ?>><?php _e( 'Author' ); ?></option> <option value="tag"<?php selected( 'tag', $type ); ?>><?php _ex( 'Tag', 'Plugin Installer' ); ?></option> </select> <?php submit_button( __( 'Search Plugins' ), 'hide-if-js', false, false, array( 'id' => 'search-submit' ) ); ?> </form> <?php } /** * Displays a form to upload plugins from zip files. * * @since 2.8.0 */ function install_plugins_upload() { ?> <div class="upload-plugin"> <p class="install-help"><?php _e( 'If you have a plugin in a .zip format, you may install or update it by uploading it here.' ); ?></p> <form method="post" enctype="multipart/form-data" class="wp-upload-form" action="<?php echo esc_url( self_admin_url( 'update.php?action=upload-plugin' ) ); ?>"> <?php wp_nonce_field( 'plugin-upload' ); ?> <label class="screen-reader-text" for="pluginzip"> <?php /* translators: Hidden accessibility text. */ _e( 'Plugin zip file' ); ?> </label> <input type="file" id="pluginzip" name="pluginzip" accept=".zip" /> <?php submit_button( _x( 'Install Now', 'plugin' ), '', 'install-plugin-submit', false ); ?> </form> </div> <?php } /** * Shows a username form for the favorites page. * * @since 3.5.0 */ function install_plugins_favorites_form() { $user = get_user_option( 'wporg_favorites' ); $action = 'save_wporg_username_' . get_current_user_id(); ?> <p><?php _e( 'If you have marked plugins as favorites on WordPress.org, you can browse them here.' ); ?></p> <form method="get"> <input type="hidden" name="tab" value="favorites" /> <p> <label for="user"><?php _e( 'Your WordPress.org username:' ); ?></label> <input type="search" id="user" name="user" value="<?php echo esc_attr( $user ); ?>" /> <input type="submit" class="button" value="<?php esc_attr_e( 'Get Favorites' ); ?>" /> <input type="hidden" id="wporg-username-nonce" name="_wpnonce" value="<?php echo esc_attr( wp_create_nonce( $action ) ); ?>" /> </p> </form> <?php } /** * Displays plugin content based on plugin list. * * @since 2.7.0 * * @global WP_List_Table $wp_list_table */ function display_plugins_table() { global $wp_list_table; switch ( current_filter() ) { case 'install_plugins_beta': printf( /* translators: %s: URL to "Features as Plugins" page. */ '<p>' . __( 'You are using a development version of WordPress. These feature plugins are also under development. <a href="%s">Learn more</a>.' ) . '</p>', 'https://make.wordpress.org/core/handbook/about/release-cycle/features-as-plugins/' ); break; case 'install_plugins_featured': printf( /* translators: %s: https://wordpress.org/plugins/ */ '<p>' . __( 'Plugins extend and expand the functionality of WordPress. You may install plugins in the <a href="%s">WordPress Plugin Directory</a> right from here, or upload a plugin in .zip format by clicking the button at the top of this page.' ) . '</p>', __( 'https://wordpress.org/plugins/' ) ); break; case 'install_plugins_recommended': echo '<p>' . __( 'These suggestions are based on the plugins you and other users have installed.' ) . '</p>'; break; case 'install_plugins_favorites': if ( empty( $_GET['user'] ) && ! get_user_option( 'wporg_favorites' ) ) { return; } break; } ?> <form id="plugin-filter" method="post"> <?php $wp_list_table->display(); ?> </form> <?php } /** * Determines the status we can perform on a plugin. * * @since 3.0.0 * * @param array|object $api Data about the plugin retrieved from the API. * @param bool $loop Optional. Disable further loops. Default false. * @return array { * Plugin installation status data. * * @type string $status Status of a plugin. Could be one of 'install', 'update_available', 'latest_installed' or 'newer_installed'. * @type string $url Plugin installation URL. * @type string $version The most recent version of the plugin. * @type string $file Plugin filename relative to the plugins directory. * } */ function install_plugin_install_status( $api, $loop = false ) { // This function is called recursively, $loop prevents further loops. if ( is_array( $api ) ) { $api = (object) $api; } // Default to a "new" plugin. $status = 'install'; $url = false; $update_file = false; $version = ''; /* * Check to see if this plugin is known to be installed, * and has an update awaiting it. */ $update_plugins = get_site_transient( 'update_plugins' ); if ( isset( $update_plugins->response ) ) { foreach ( (array) $update_plugins->response as $file => $plugin ) { if ( $plugin->slug === $api->slug ) { $status = 'update_available'; $update_file = $file; $version = $plugin->new_version; if ( current_user_can( 'update_plugins' ) ) { $url = wp_nonce_url( self_admin_url( 'update.php?action=upgrade-plugin&plugin=' . $update_file ), 'upgrade-plugin_' . $update_file ); } break; } } } if ( 'install' === $status ) { if ( is_dir( WP_PLUGIN_DIR . '/' . $api->slug ) ) { $installed_plugin = get_plugins( '/' . $api->slug ); if ( empty( $installed_plugin ) ) { if ( current_user_can( 'install_plugins' ) ) { $url = wp_nonce_url( self_admin_url( 'update.php?action=install-plugin&plugin=' . $api->slug ), 'install-plugin_' . $api->slug ); } } else { $key = array_keys( $installed_plugin ); /* * Use the first plugin regardless of the name. * Could have issues for multiple plugins in one directory if they share different version numbers. */ $key = reset( $key ); $update_file = $api->slug . '/' . $key; if ( version_compare( $api->version, $installed_plugin[ $key ]['Version'], '=' ) ) { $status = 'latest_installed'; } elseif ( version_compare( $api->version, $installed_plugin[ $key ]['Version'], '<' ) ) { $status = 'newer_installed'; $version = $installed_plugin[ $key ]['Version']; } else { // If the above update check failed, then that probably means that the update checker has out-of-date information, force a refresh. if ( ! $loop ) { delete_site_transient( 'update_plugins' ); wp_update_plugins(); return install_plugin_install_status( $api, true ); } } } } else { // "install" & no directory with that slug. if ( current_user_can( 'install_plugins' ) ) { $url = wp_nonce_url( self_admin_url( 'update.php?action=install-plugin&plugin=' . $api->slug ), 'install-plugin_' . $api->slug ); } } } if ( isset( $_GET['from'] ) ) { $url .= '&from=' . urlencode( wp_unslash( $_GET['from'] ) ); } $file = $update_file; return compact( 'status', 'url', 'version', 'file' ); } /** * Displays plugin information in dialog box form. * * @since 2.7.0 * * @global string $tab */ function install_plugin_information() { global $tab; if ( empty( $_REQUEST['plugin'] ) ) { return; } $api = plugins_api( 'plugin_information', array( 'slug' => wp_unslash( $_REQUEST['plugin'] ), ) ); if ( is_wp_error( $api ) ) { wp_die( $api ); } $plugins_allowedtags = array( 'a' => array( 'href' => array(), 'title' => array(), 'target' => array(), ), 'abbr' => array( 'title' => array() ), 'acronym' => array( 'title' => array() ), 'code' => array(), 'pre' => array(), 'em' => array(), 'strong' => array(), 'div' => array( 'class' => array() ), 'span' => array( 'class' => array() ), 'p' => array(), 'br' => array(), 'ul' => array(), 'ol' => array(), 'li' => array(), 'h1' => array(), 'h2' => array(), 'h3' => array(), 'h4' => array(), 'h5' => array(), 'h6' => array(), 'img' => array( 'src' => array(), 'class' => array(), 'alt' => array(), ), 'blockquote' => array( 'cite' => true ), ); $plugins_section_titles = array( 'description' => _x( 'Description', 'Plugin installer section title' ), 'installation' => _x( 'Installation', 'Plugin installer section title' ), 'faq' => _x( 'FAQ', 'Plugin installer section title' ), 'screenshots' => _x( 'Screenshots', 'Plugin installer section title' ), 'changelog' => _x( 'Changelog', 'Plugin installer section title' ), 'reviews' => _x( 'Reviews', 'Plugin installer section title' ), 'other_notes' => _x( 'Other Notes', 'Plugin installer section title' ), ); // Sanitize HTML. foreach ( (array) $api->sections as $section_name => $content ) { $api->sections[ $section_name ] = wp_kses( $content, $plugins_allowedtags ); } foreach ( array( 'version', 'author', 'requires', 'tested', 'homepage', 'downloaded', 'slug' ) as $key ) { if ( isset( $api->$key ) ) { $api->$key = wp_kses( $api->$key, $plugins_allowedtags ); } } $_tab = esc_attr( $tab ); // Default to the Description tab, Do not translate, API returns English. $section = isset( $_REQUEST['section'] ) ? wp_unslash( $_REQUEST['section'] ) : 'description'; if ( empty( $section ) || ! isset( $api->sections[ $section ] ) ) { $section_titles = array_keys( (array) $api->sections ); $section = reset( $section_titles ); } iframe_header( __( 'Plugin Installation' ) ); $_with_banner = ''; if ( ! empty( $api->banners ) && ( ! empty( $api->banners['low'] ) || ! empty( $api->banners['high'] ) ) ) { $_with_banner = 'with-banner'; $low = empty( $api->banners['low'] ) ? $api->banners['high'] : $api->banners['low']; $high = empty( $api->banners['high'] ) ? $api->banners['low'] : $api->banners['high']; ?> <style type="text/css"> #plugin-information-title.with-banner { background-image: url( <?php echo esc_url( $low ); ?> ); } @media only screen and ( -webkit-min-device-pixel-ratio: 1.5 ) { #plugin-information-title.with-banner { background-image: url( <?php echo esc_url( $high ); ?> ); } } </style> <?php } echo '<div id="plugin-information-scrollable">'; echo "<div id='{$_tab}-title' class='{$_with_banner}'><div class='vignette'></div><h2>{$api->name}</h2></div>"; echo "<div id='{$_tab}-tabs' class='{$_with_banner}'>\n"; foreach ( (array) $api->sections as $section_name => $content ) { if ( 'reviews' === $section_name && ( empty( $api->ratings ) || 0 === array_sum( (array) $api->ratings ) ) ) { continue; } if ( isset( $plugins_section_titles[ $section_name ] ) ) { $title = $plugins_section_titles[ $section_name ]; } else { $title = ucwords( str_replace( '_', ' ', $section_name ) ); } $class = ( $section_name === $section ) ? ' class="current"' : ''; $href = add_query_arg( array( 'tab' => $tab, 'section' => $section_name, ) ); $href = esc_url( $href ); $san_section = esc_attr( $section_name ); echo "\t<a name='$san_section' href='$href' $class>$title</a>\n"; } echo "</div>\n"; ?> <div id="<?php echo $_tab; ?>-content" class='<?php echo $_with_banner; ?>'> <div class="fyi"> <ul> <?php if ( ! empty( $api->version ) ) { ?> <li><strong><?php _e( 'Version:' ); ?></strong> <?php echo $api->version; ?></li> <?php } if ( ! empty( $api->author ) ) { ?> <li><strong><?php _e( 'Author:' ); ?></strong> <?php echo links_add_target( $api->author, '_blank' ); ?></li> <?php } if ( ! empty( $api->last_updated ) ) { ?> <li><strong><?php _e( 'Last Updated:' ); ?></strong> <?php /* translators: %s: Human-readable time difference. */ printf( __( '%s ago' ), human_time_diff( strtotime( $api->last_updated ) ) ); ?> </li> <?php } if ( ! empty( $api->requires ) ) { ?> <li> <strong><?php _e( 'Requires WordPress Version:' ); ?></strong> <?php /* translators: %s: Version number. */ printf( __( '%s or higher' ), $api->requires ); ?> </li> <?php } if ( ! empty( $api->tested ) ) { ?> <li><strong><?php _e( 'Compatible up to:' ); ?></strong> <?php echo $api->tested; ?></li> <?php } if ( ! empty( $api->requires_php ) ) { ?> <li> <strong><?php _e( 'Requires PHP Version:' ); ?></strong> <?php /* translators: %s: Version number. */ printf( __( '%s or higher' ), $api->requires_php ); ?> </li> <?php } if ( isset( $api->active_installs ) ) { ?> <li><strong><?php _e( 'Active Installations:' ); ?></strong> <?php if ( $api->active_installs >= 1000000 ) { $active_installs_millions = floor( $api->active_installs / 1000000 ); printf( /* translators: %s: Number of millions. */ _nx( '%s+ Million', '%s+ Million', $active_installs_millions, 'Active plugin installations' ), number_format_i18n( $active_installs_millions ) ); } elseif ( $api->active_installs < 10 ) { _ex( 'Less Than 10', 'Active plugin installations' ); } else { echo number_format_i18n( $api->active_installs ) . '+'; } ?> </li> <?php } if ( ! empty( $api->slug ) && empty( $api->external ) ) { ?> <li><a target="_blank" href="<?php echo esc_url( __( 'https://wordpress.org/plugins/' ) . $api->slug ); ?>/"><?php _e( 'WordPress.org Plugin Page »' ); ?></a></li> <?php } if ( ! empty( $api->homepage ) ) { ?> <li><a target="_blank" href="<?php echo esc_url( $api->homepage ); ?>"><?php _e( 'Plugin Homepage »' ); ?></a></li> <?php } if ( ! empty( $api->donate_link ) && empty( $api->contributors ) ) { ?> <li><a target="_blank" href="<?php echo esc_url( $api->donate_link ); ?>"><?php _e( 'Donate to this plugin »' ); ?></a></li> <?php } ?> </ul> <?php if ( ! empty( $api->rating ) ) { ?> <h3><?php _e( 'Average Rating' ); ?></h3> <?php wp_star_rating( array( 'rating' => $api->rating, 'type' => 'percent', 'number' => $api->num_ratings, ) ); ?> <p aria-hidden="true" class="fyi-description"> <?php printf( /* translators: %s: Number of ratings. */ _n( '(based on %s rating)', '(based on %s ratings)', $api->num_ratings ), number_format_i18n( $api->num_ratings ) ); ?> </p> <?php } if ( ! empty( $api->ratings ) && array_sum( (array) $api->ratings ) > 0 ) { ?> <h3><?php _e( 'Reviews' ); ?></h3> <p class="fyi-description"><?php _e( 'Read all reviews on WordPress.org or write your own!' ); ?></p> <?php foreach ( $api->ratings as $key => $ratecount ) { // Avoid div-by-zero. $_rating = $api->num_ratings ? ( $ratecount / $api->num_ratings ) : 0; $aria_label = esc_attr( sprintf( /* translators: 1: Number of stars (used to determine singular/plural), 2: Number of reviews. */ _n( 'Reviews with %1$d star: %2$s. Opens in a new tab.', 'Reviews with %1$d stars: %2$s. Opens in a new tab.', $key ), $key, number_format_i18n( $ratecount ) ) ); ?> <div class="counter-container"> <span class="counter-label"> <?php printf( '<a href="%s" target="_blank" aria-label="%s">%s</a>', "https://wordpress.org/support/plugin/{$api->slug}/reviews/?filter={$key}", $aria_label, /* translators: %s: Number of stars. */ sprintf( _n( '%d star', '%d stars', $key ), $key ) ); ?> </span> <span class="counter-back"> <span class="counter-bar" style="width: <?php echo 92 * $_rating; ?>px;"></span> </span> <span class="counter-count" aria-hidden="true"><?php echo number_format_i18n( $ratecount ); ?></span> </div> <?php } } if ( ! empty( $api->contributors ) ) { ?> <h3><?php _e( 'Contributors' ); ?></h3> <ul class="contributors"> <?php foreach ( (array) $api->contributors as $contrib_username => $contrib_details ) { $contrib_name = $contrib_details['display_name']; if ( ! $contrib_name ) { $contrib_name = $contrib_username; } $contrib_name = esc_html( $contrib_name ); $contrib_profile = esc_url( $contrib_details['profile'] ); $contrib_avatar = esc_url( add_query_arg( 's', '36', $contrib_details['avatar'] ) ); echo "<li><a href='{$contrib_profile}' target='_blank'><img src='{$contrib_avatar}' width='18' height='18' alt='' />{$contrib_name}</a></li>"; } ?> </ul> <?php if ( ! empty( $api->donate_link ) ) { ?> <a target="_blank" href="<?php echo esc_url( $api->donate_link ); ?>"><?php _e( 'Donate to this plugin »' ); ?></a> <?php } ?> <?php } ?> </div> <div id="section-holder"> <?php $requires_php = isset( $api->requires_php ) ? $api->requires_php : null; $requires_wp = isset( $api->requires ) ? $api->requires : null; $compatible_php = is_php_version_compatible( $requires_php ); $compatible_wp = is_wp_version_compatible( $requires_wp ); $tested_wp = ( empty( $api->tested ) || version_compare( get_bloginfo( 'version' ), $api->tested, '<=' ) ); if ( ! $compatible_php ) { $compatible_php_notice_message = '<p>'; $compatible_php_notice_message .= __( '<strong>Error:</strong> This plugin <strong>requires a newer version of PHP</strong>.' ); if ( current_user_can( 'update_php' ) ) { $compatible_php_notice_message .= sprintf( /* translators: %s: URL to Update PHP page. */ ' ' . __( '<a href="%s" target="_blank">Click here to learn more about updating PHP</a>.' ), esc_url( wp_get_update_php_url() ) ) . wp_update_php_annotation( '</p><p><em>', '</em>', false ); } else { $compatible_php_notice_message .= '</p>'; } wp_admin_notice( $compatible_php_notice_message, array( 'type' => 'error', 'additional_classes' => array( 'notice-alt' ), 'paragraph_wrap' => false, ) ); } if ( ! $tested_wp ) { wp_admin_notice( __( '<strong>Warning:</strong> This plugin <strong>has not been tested</strong> with your current version of WordPress.' ), array( 'type' => 'warning', 'additional_classes' => array( 'notice-alt' ), ) ); } elseif ( ! $compatible_wp ) { $compatible_wp_notice_message = __( '<strong>Error:</strong> This plugin <strong>requires a newer version of WordPress</strong>.' ); if ( current_user_can( 'update_core' ) ) { $compatible_wp_notice_message .= sprintf( /* translators: %s: URL to WordPress Updates screen. */ ' ' . __( '<a href="%s" target="_parent">Click here to update WordPress</a>.' ), esc_url( self_admin_url( 'update-core.php' ) ) ); } wp_admin_notice( $compatible_wp_notice_message, array( 'type' => 'error', 'additional_classes' => array( 'notice-alt' ), ) ); } foreach ( (array) $api->sections as $section_name => $content ) { $content = links_add_base_url( $content, 'https://wordpress.org/plugins/' . $api->slug . '/' ); $content = links_add_target( $content, '_blank' ); $san_section = esc_attr( $section_name ); $display = ( $section_name === $section ) ? 'block' : 'none'; echo "\t<div id='section-{$san_section}' class='section' style='display: {$display};'>\n"; echo $content; echo "\t</div>\n"; } echo "</div>\n"; echo "</div>\n"; echo "</div>\n"; // #plugin-information-scrollable echo "<div id='$tab-footer'>\n"; if ( ! empty( $api->download_link ) && ( current_user_can( 'install_plugins' ) || current_user_can( 'update_plugins' ) ) ) { $button = wp_get_plugin_action_button( $api->name, $api, $compatible_php, $compatible_wp ); $button = str_replace( 'class="', 'class="right ', $button ); if ( ! str_contains( $button, _x( 'Activate', 'plugin' ) ) ) { $button = str_replace( 'class="', 'id="plugin_install_from_iframe" class="', $button ); } echo wp_kses_post( $button ); } echo "</div>\n"; wp_print_request_filesystem_credentials_modal(); wp_print_admin_notice_templates(); iframe_footer(); exit; } /** * Gets the markup for the plugin install action button. * * @since 6.5.0 * * @param string $name Plugin name. * @param array|object $data { * An array or object of plugin data. Can be retrieved from the API. * * @type string $slug The plugin slug. * @type string[] $requires_plugins An array of plugin dependency slugs. * @type string $version The plugin's version string. Used when getting the install status. * } * @param bool $compatible_php The result of a PHP compatibility check. * @param bool $compatible_wp The result of a WP compatibility check. * @return string The markup for the dependency row button. An empty string if the user does not have capabilities. */ function wp_get_plugin_action_button( $name, $data, $compatible_php, $compatible_wp ) { $button = ''; $data = (object) $data; $status = install_plugin_install_status( $data ); $requires_plugins = $data->requires_plugins ?? array(); // Determine the status of plugin dependencies. $installed_plugins = get_plugins(); $active_plugins = get_option( 'active_plugins', array() ); $plugin_dependencies_count = count( $requires_plugins ); $installed_plugin_dependencies_count = 0; $active_plugin_dependencies_count = 0; foreach ( $requires_plugins as $dependency ) { foreach ( array_keys( $installed_plugins ) as $installed_plugin_file ) { if ( str_contains( $installed_plugin_file, '/' ) && explode( '/', $installed_plugin_file )[0] === $dependency ) { ++$installed_plugin_dependencies_count; } } foreach ( $active_plugins as $active_plugin_file ) { if ( str_contains( $active_plugin_file, '/' ) && explode( '/', $active_plugin_file )[0] === $dependency ) { ++$active_plugin_dependencies_count; } } } $all_plugin_dependencies_installed = $installed_plugin_dependencies_count === $plugin_dependencies_count; $all_plugin_dependencies_active = $active_plugin_dependencies_count === $plugin_dependencies_count; if ( current_user_can( 'install_plugins' ) || current_user_can( 'update_plugins' ) ) { switch ( $status['status'] ) { case 'install': if ( $status['url'] ) { if ( $compatible_php && $compatible_wp && $all_plugin_dependencies_installed && ! empty( $data->download_link ) ) { $button = sprintf( '<a class="install-now button" data-slug="%s" href="%s" aria-label="%s" data-name="%s" role="button">%s</a>', esc_attr( $data->slug ), esc_url( $status['url'] ), /* translators: %s: Plugin name and version. */ esc_attr( sprintf( _x( 'Install %s now', 'plugin' ), $name ) ), esc_attr( $name ), _x( 'Install Now', 'plugin' ) ); } else { $button = sprintf( '<button type="button" class="install-now button button-disabled" disabled="disabled">%s</button>', _x( 'Install Now', 'plugin' ) ); } } break; case 'update_available': if ( $status['url'] ) { if ( $compatible_php && $compatible_wp ) { $button = sprintf( '<a class="update-now button aria-button-if-js" data-plugin="%s" data-slug="%s" href="%s" aria-label="%s" data-name="%s" role="button">%s</a>', esc_attr( $status['file'] ), esc_attr( $data->slug ), esc_url( $status['url'] ), /* translators: %s: Plugin name and version. */ esc_attr( sprintf( _x( 'Update %s now', 'plugin' ), $name ) ), esc_attr( $name ), _x( 'Update Now', 'plugin' ) ); } else { $button = sprintf( '<button type="button" class="button button-disabled" disabled="disabled">%s</button>', _x( 'Update Now', 'plugin' ) ); } } break; case 'latest_installed': case 'newer_installed': if ( is_plugin_active( $status['file'] ) ) { $button = sprintf( '<button type="button" class="button button-disabled" disabled="disabled">%s</button>', _x( 'Active', 'plugin' ) ); } elseif ( current_user_can( 'activate_plugin', $status['file'] ) ) { if ( $compatible_php && $compatible_wp && $all_plugin_dependencies_active ) { $button_text = _x( 'Activate', 'plugin' ); /* translators: %s: Plugin name. */ $button_label = _x( 'Activate %s', 'plugin' ); $activate_url = add_query_arg( array( '_wpnonce' => wp_create_nonce( 'activate-plugin_' . $status['file'] ), 'action' => 'activate', 'plugin' => $status['file'], ), network_admin_url( 'plugins.php' ) ); if ( is_network_admin() ) { $button_text = _x( 'Network Activate', 'plugin' ); /* translators: %s: Plugin name. */ $button_label = _x( 'Network Activate %s', 'plugin' ); $activate_url = add_query_arg( array( 'networkwide' => 1 ), $activate_url ); } $button = sprintf( '<a href="%1$s" data-name="%2$s" data-slug="%3$s" data-plugin="%4$s" class="button button-primary activate-now" aria-label="%5$s" role="button">%6$s</a>', esc_url( $activate_url ), esc_attr( $name ), esc_attr( $data->slug ), esc_attr( $status['file'] ), esc_attr( sprintf( $button_label, $name ) ), $button_text ); } else { $button = sprintf( '<button type="button" class="button button-disabled" disabled="disabled">%s</button>', is_network_admin() ? _x( 'Network Activate', 'plugin' ) : _x( 'Activate', 'plugin' ) ); } } else { $button = sprintf( '<button type="button" class="button button-disabled" disabled="disabled">%s</button>', _x( 'Installed', 'plugin' ) ); } break; } } return $button; } class-wp-site-health-auto-updates.php 0000644 00000032371 14735706075 0013650 0 ustar 00 <?php /** * Class for testing automatic updates in the WordPress code. * * @package WordPress * @subpackage Site_Health * @since 5.2.0 */ #[AllowDynamicProperties] class WP_Site_Health_Auto_Updates { /** * WP_Site_Health_Auto_Updates constructor. * * @since 5.2.0 */ public function __construct() { require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; } /** * Runs tests to determine if auto-updates can run. * * @since 5.2.0 * * @return array The test results. */ public function run_tests() { $tests = array( $this->test_constants( 'WP_AUTO_UPDATE_CORE', array( true, 'beta', 'rc', 'development', 'branch-development', 'minor' ) ), $this->test_wp_version_check_attached(), $this->test_filters_automatic_updater_disabled(), $this->test_wp_automatic_updates_disabled(), $this->test_if_failed_update(), $this->test_vcs_abspath(), $this->test_check_wp_filesystem_method(), $this->test_all_files_writable(), $this->test_accepts_dev_updates(), $this->test_accepts_minor_updates(), ); $tests = array_filter( $tests ); $tests = array_map( static function ( $test ) { $test = (object) $test; if ( empty( $test->severity ) ) { $test->severity = 'warning'; } return $test; }, $tests ); return $tests; } /** * Tests if auto-updates related constants are set correctly. * * @since 5.2.0 * @since 5.5.1 The `$value` parameter can accept an array. * * @param string $constant The name of the constant to check. * @param bool|string|array $value The value that the constant should be, if set, * or an array of acceptable values. * @return array The test results. */ public function test_constants( $constant, $value ) { $acceptable_values = (array) $value; if ( defined( $constant ) && ! in_array( constant( $constant ), $acceptable_values, true ) ) { return array( 'description' => sprintf( /* translators: 1: Name of the constant used. 2: Value of the constant used. */ __( 'The %1$s constant is defined as %2$s' ), "<code>$constant</code>", '<code>' . esc_html( var_export( constant( $constant ), true ) ) . '</code>' ), 'severity' => 'fail', ); } } /** * Checks if updates are intercepted by a filter. * * @since 5.2.0 * * @return array The test results. */ public function test_wp_version_check_attached() { if ( ( ! is_multisite() || is_main_site() && is_network_admin() ) && ! has_filter( 'wp_version_check', 'wp_version_check' ) ) { return array( 'description' => sprintf( /* translators: %s: Name of the filter used. */ __( 'A plugin has prevented updates by disabling %s.' ), '<code>wp_version_check()</code>' ), 'severity' => 'fail', ); } } /** * Checks if automatic updates are disabled by a filter. * * @since 5.2.0 * * @return array The test results. */ public function test_filters_automatic_updater_disabled() { /** This filter is documented in wp-admin/includes/class-wp-automatic-updater.php */ if ( apply_filters( 'automatic_updater_disabled', false ) ) { return array( 'description' => sprintf( /* translators: %s: Name of the filter used. */ __( 'The %s filter is enabled.' ), '<code>automatic_updater_disabled</code>' ), 'severity' => 'fail', ); } } /** * Checks if automatic updates are disabled. * * @since 5.3.0 * * @return array|false The test results. False if auto-updates are enabled. */ public function test_wp_automatic_updates_disabled() { if ( ! class_exists( 'WP_Automatic_Updater' ) ) { require_once ABSPATH . 'wp-admin/includes/class-wp-automatic-updater.php'; } $auto_updates = new WP_Automatic_Updater(); if ( ! $auto_updates->is_disabled() ) { return false; } return array( 'description' => __( 'All automatic updates are disabled.' ), 'severity' => 'fail', ); } /** * Checks if automatic updates have tried to run, but failed, previously. * * @since 5.2.0 * * @return array|false The test results. False if the auto-updates failed. */ public function test_if_failed_update() { $failed = get_site_option( 'auto_core_update_failed' ); if ( ! $failed ) { return false; } if ( ! empty( $failed['critical'] ) ) { $description = __( 'A previous automatic background update ended with a critical failure, so updates are now disabled.' ); $description .= ' ' . __( 'You would have received an email because of this.' ); $description .= ' ' . __( "When you've been able to update using the \"Update now\" button on Dashboard > Updates, this error will be cleared for future update attempts." ); $description .= ' ' . sprintf( /* translators: %s: Code of error shown. */ __( 'The error code was %s.' ), '<code>' . $failed['error_code'] . '</code>' ); return array( 'description' => $description, 'severity' => 'warning', ); } $description = __( 'A previous automatic background update could not occur.' ); if ( empty( $failed['retry'] ) ) { $description .= ' ' . __( 'You would have received an email because of this.' ); } $description .= ' ' . __( 'Another attempt will be made with the next release.' ); $description .= ' ' . sprintf( /* translators: %s: Code of error shown. */ __( 'The error code was %s.' ), '<code>' . $failed['error_code'] . '</code>' ); return array( 'description' => $description, 'severity' => 'warning', ); } /** * Checks if WordPress is controlled by a VCS (Git, Subversion etc). * * @since 5.2.0 * * @return array The test results. */ public function test_vcs_abspath() { $context_dirs = array( ABSPATH ); $vcs_dirs = array( '.svn', '.git', '.hg', '.bzr' ); $check_dirs = array(); foreach ( $context_dirs as $context_dir ) { // Walk up from $context_dir to the root. do { $check_dirs[] = $context_dir; // Once we've hit '/' or 'C:\', we need to stop. dirname will keep returning the input here. if ( dirname( $context_dir ) === $context_dir ) { break; } // Continue one level at a time. } while ( $context_dir = dirname( $context_dir ) ); } $check_dirs = array_unique( $check_dirs ); $updater = new WP_Automatic_Updater(); $checkout = false; // Search all directories we've found for evidence of version control. foreach ( $vcs_dirs as $vcs_dir ) { foreach ( $check_dirs as $check_dir ) { if ( ! $updater->is_allowed_dir( $check_dir ) ) { continue; } $checkout = is_dir( rtrim( $check_dir, '\\/' ) . "/$vcs_dir" ); if ( $checkout ) { break 2; } } } /** This filter is documented in wp-admin/includes/class-wp-automatic-updater.php */ if ( $checkout && ! apply_filters( 'automatic_updates_is_vcs_checkout', true, ABSPATH ) ) { return array( 'description' => sprintf( /* translators: 1: Folder name. 2: Version control directory. 3: Filter name. */ __( 'The folder %1$s was detected as being under version control (%2$s), but the %3$s filter is allowing updates.' ), '<code>' . $check_dir . '</code>', "<code>$vcs_dir</code>", '<code>automatic_updates_is_vcs_checkout</code>' ), 'severity' => 'info', ); } if ( $checkout ) { return array( 'description' => sprintf( /* translators: 1: Folder name. 2: Version control directory. */ __( 'The folder %1$s was detected as being under version control (%2$s).' ), '<code>' . $check_dir . '</code>', "<code>$vcs_dir</code>" ), 'severity' => 'warning', ); } return array( 'description' => __( 'No version control systems were detected.' ), 'severity' => 'pass', ); } /** * Checks if we can access files without providing credentials. * * @since 5.2.0 * * @return array The test results. */ public function test_check_wp_filesystem_method() { // Make sure the `request_filesystem_credentials()` function is available during our REST API call. if ( ! function_exists( 'request_filesystem_credentials' ) ) { require_once ABSPATH . 'wp-admin/includes/file.php'; } $skin = new Automatic_Upgrader_Skin(); $success = $skin->request_filesystem_credentials( false, ABSPATH ); if ( ! $success ) { $description = __( 'Your installation of WordPress prompts for FTP credentials to perform updates.' ); $description .= ' ' . __( '(Your site is performing updates over FTP due to file ownership. Talk to your hosting company.)' ); return array( 'description' => $description, 'severity' => 'fail', ); } return array( 'description' => __( 'Your installation of WordPress does not require FTP credentials to perform updates.' ), 'severity' => 'pass', ); } /** * Checks if core files are writable by the web user/group. * * @since 5.2.0 * * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass. * * @return array|false The test results. False if they're not writeable. */ public function test_all_files_writable() { global $wp_filesystem; require ABSPATH . WPINC . '/version.php'; // $wp_version; // x.y.z $skin = new Automatic_Upgrader_Skin(); $success = $skin->request_filesystem_credentials( false, ABSPATH ); if ( ! $success ) { return false; } WP_Filesystem(); if ( 'direct' !== $wp_filesystem->method ) { return false; } // Make sure the `get_core_checksums()` function is available during our REST API call. if ( ! function_exists( 'get_core_checksums' ) ) { require_once ABSPATH . 'wp-admin/includes/update.php'; } $checksums = get_core_checksums( $wp_version, 'en_US' ); $dev = ( str_contains( $wp_version, '-' ) ); // Get the last stable version's files and test against that. if ( ! $checksums && $dev ) { $checksums = get_core_checksums( (float) $wp_version - 0.1, 'en_US' ); } // There aren't always checksums for development releases, so just skip the test if we still can't find any. if ( ! $checksums && $dev ) { return false; } if ( ! $checksums ) { $description = sprintf( /* translators: %s: WordPress version. */ __( "Couldn't retrieve a list of the checksums for WordPress %s." ), $wp_version ); $description .= ' ' . __( 'This could mean that connections are failing to WordPress.org.' ); return array( 'description' => $description, 'severity' => 'warning', ); } $unwritable_files = array(); foreach ( array_keys( $checksums ) as $file ) { if ( str_starts_with( $file, 'wp-content' ) ) { continue; } if ( ! file_exists( ABSPATH . $file ) ) { continue; } if ( ! is_writable( ABSPATH . $file ) ) { $unwritable_files[] = $file; } } if ( $unwritable_files ) { if ( count( $unwritable_files ) > 20 ) { $unwritable_files = array_slice( $unwritable_files, 0, 20 ); $unwritable_files[] = '...'; } return array( 'description' => __( 'Some files are not writable by WordPress:' ) . ' <ul><li>' . implode( '</li><li>', $unwritable_files ) . '</li></ul>', 'severity' => 'fail', ); } else { return array( 'description' => __( 'All of your WordPress files are writable.' ), 'severity' => 'pass', ); } } /** * Checks if the install is using a development branch and can use nightly packages. * * @since 5.2.0 * * @return array|false The test results. False if it isn't a development version. */ public function test_accepts_dev_updates() { require ABSPATH . WPINC . '/version.php'; // $wp_version; // x.y.z // Only for dev versions. if ( ! str_contains( $wp_version, '-' ) ) { return false; } if ( defined( 'WP_AUTO_UPDATE_CORE' ) && ( 'minor' === WP_AUTO_UPDATE_CORE || false === WP_AUTO_UPDATE_CORE ) ) { return array( 'description' => sprintf( /* translators: %s: Name of the constant used. */ __( 'WordPress development updates are blocked by the %s constant.' ), '<code>WP_AUTO_UPDATE_CORE</code>' ), 'severity' => 'fail', ); } /** This filter is documented in wp-admin/includes/class-core-upgrader.php */ if ( ! apply_filters( 'allow_dev_auto_core_updates', $wp_version ) ) { return array( 'description' => sprintf( /* translators: %s: Name of the filter used. */ __( 'WordPress development updates are blocked by the %s filter.' ), '<code>allow_dev_auto_core_updates</code>' ), 'severity' => 'fail', ); } } /** * Checks if the site supports automatic minor updates. * * @since 5.2.0 * * @return array The test results. */ public function test_accepts_minor_updates() { if ( defined( 'WP_AUTO_UPDATE_CORE' ) && false === WP_AUTO_UPDATE_CORE ) { return array( 'description' => sprintf( /* translators: %s: Name of the constant used. */ __( 'WordPress security and maintenance releases are blocked by %s.' ), "<code>define( 'WP_AUTO_UPDATE_CORE', false );</code>" ), 'severity' => 'fail', ); } /** This filter is documented in wp-admin/includes/class-core-upgrader.php */ if ( ! apply_filters( 'allow_minor_auto_core_updates', true ) ) { return array( 'description' => sprintf( /* translators: %s: Name of the filter used. */ __( 'WordPress security and maintenance releases are blocked by the %s filter.' ), '<code>allow_minor_auto_core_updates</code>' ), 'severity' => 'fail', ); } } } class-wp-filesystem-base.php 0000644 00000057532 14735706075 0012132 0 ustar 00 <?php /** * Base WordPress Filesystem * * @package WordPress * @subpackage Filesystem */ /** * Base WordPress Filesystem class which Filesystem implementations extend. * * @since 2.5.0 */ #[AllowDynamicProperties] class WP_Filesystem_Base { /** * Whether to display debug data for the connection. * * @since 2.5.0 * @var bool */ public $verbose = false; /** * Cached list of local filepaths to mapped remote filepaths. * * @since 2.7.0 * @var array */ public $cache = array(); /** * The Access method of the current connection, Set automatically. * * @since 2.5.0 * @var string */ public $method = ''; /** * @var WP_Error */ public $errors = null; /** */ public $options = array(); /** * Returns the path on the remote filesystem of ABSPATH. * * @since 2.7.0 * * @return string The location of the remote path. */ public function abspath() { $folder = $this->find_folder( ABSPATH ); /* * Perhaps the FTP folder is rooted at the WordPress install. * Check for wp-includes folder in root. Could have some false positives, but rare. */ if ( ! $folder && $this->is_dir( '/' . WPINC ) ) { $folder = '/'; } return $folder; } /** * Returns the path on the remote filesystem of WP_CONTENT_DIR. * * @since 2.7.0 * * @return string The location of the remote path. */ public function wp_content_dir() { return $this->find_folder( WP_CONTENT_DIR ); } /** * Returns the path on the remote filesystem of WP_PLUGIN_DIR. * * @since 2.7.0 * * @return string The location of the remote path. */ public function wp_plugins_dir() { return $this->find_folder( WP_PLUGIN_DIR ); } /** * Returns the path on the remote filesystem of the Themes Directory. * * @since 2.7.0 * * @param string|false $theme Optional. The theme stylesheet or template for the directory. * Default false. * @return string The location of the remote path. */ public function wp_themes_dir( $theme = false ) { $theme_root = get_theme_root( $theme ); // Account for relative theme roots. if ( '/themes' === $theme_root || ! is_dir( $theme_root ) ) { $theme_root = WP_CONTENT_DIR . $theme_root; } return $this->find_folder( $theme_root ); } /** * Returns the path on the remote filesystem of WP_LANG_DIR. * * @since 3.2.0 * * @return string The location of the remote path. */ public function wp_lang_dir() { return $this->find_folder( WP_LANG_DIR ); } /** * Locates a folder on the remote filesystem. * * @since 2.5.0 * @deprecated 2.7.0 use WP_Filesystem_Base::abspath() or WP_Filesystem_Base::wp_*_dir() instead. * @see WP_Filesystem_Base::abspath() * @see WP_Filesystem_Base::wp_content_dir() * @see WP_Filesystem_Base::wp_plugins_dir() * @see WP_Filesystem_Base::wp_themes_dir() * @see WP_Filesystem_Base::wp_lang_dir() * * @param string $base Optional. The folder to start searching from. Default '.'. * @param bool $verbose Optional. True to display debug information. Default false. * @return string The location of the remote path. */ public function find_base_dir( $base = '.', $verbose = false ) { _deprecated_function( __FUNCTION__, '2.7.0', 'WP_Filesystem_Base::abspath() or WP_Filesystem_Base::wp_*_dir()' ); $this->verbose = $verbose; return $this->abspath(); } /** * Locates a folder on the remote filesystem. * * @since 2.5.0 * @deprecated 2.7.0 use WP_Filesystem_Base::abspath() or WP_Filesystem_Base::wp_*_dir() methods instead. * @see WP_Filesystem_Base::abspath() * @see WP_Filesystem_Base::wp_content_dir() * @see WP_Filesystem_Base::wp_plugins_dir() * @see WP_Filesystem_Base::wp_themes_dir() * @see WP_Filesystem_Base::wp_lang_dir() * * @param string $base Optional. The folder to start searching from. Default '.'. * @param bool $verbose Optional. True to display debug information. Default false. * @return string The location of the remote path. */ public function get_base_dir( $base = '.', $verbose = false ) { _deprecated_function( __FUNCTION__, '2.7.0', 'WP_Filesystem_Base::abspath() or WP_Filesystem_Base::wp_*_dir()' ); $this->verbose = $verbose; return $this->abspath(); } /** * Locates a folder on the remote filesystem. * * Assumes that on Windows systems, Stripping off the Drive * letter is OK Sanitizes \\ to / in Windows filepaths. * * @since 2.7.0 * * @param string $folder the folder to locate. * @return string|false The location of the remote path, false on failure. */ public function find_folder( $folder ) { if ( isset( $this->cache[ $folder ] ) ) { return $this->cache[ $folder ]; } if ( stripos( $this->method, 'ftp' ) !== false ) { $constant_overrides = array( 'FTP_BASE' => ABSPATH, 'FTP_CONTENT_DIR' => WP_CONTENT_DIR, 'FTP_PLUGIN_DIR' => WP_PLUGIN_DIR, 'FTP_LANG_DIR' => WP_LANG_DIR, ); // Direct matches ( folder = CONSTANT/ ). foreach ( $constant_overrides as $constant => $dir ) { if ( ! defined( $constant ) ) { continue; } if ( $folder === $dir ) { return trailingslashit( constant( $constant ) ); } } // Prefix matches ( folder = CONSTANT/subdir ), foreach ( $constant_overrides as $constant => $dir ) { if ( ! defined( $constant ) ) { continue; } if ( 0 === stripos( $folder, $dir ) ) { // $folder starts with $dir. $potential_folder = preg_replace( '#^' . preg_quote( $dir, '#' ) . '/#i', trailingslashit( constant( $constant ) ), $folder ); $potential_folder = trailingslashit( $potential_folder ); if ( $this->is_dir( $potential_folder ) ) { $this->cache[ $folder ] = $potential_folder; return $potential_folder; } } } } elseif ( 'direct' === $this->method ) { $folder = str_replace( '\\', '/', $folder ); // Windows path sanitization. return trailingslashit( $folder ); } $folder = preg_replace( '|^([a-z]{1}):|i', '', $folder ); // Strip out Windows drive letter if it's there. $folder = str_replace( '\\', '/', $folder ); // Windows path sanitization. if ( isset( $this->cache[ $folder ] ) ) { return $this->cache[ $folder ]; } if ( $this->exists( $folder ) ) { // Folder exists at that absolute path. $folder = trailingslashit( $folder ); $this->cache[ $folder ] = $folder; return $folder; } $return = $this->search_for_folder( $folder ); if ( $return ) { $this->cache[ $folder ] = $return; } return $return; } /** * Locates a folder on the remote filesystem. * * Expects Windows sanitized path. * * @since 2.7.0 * * @param string $folder The folder to locate. * @param string $base The folder to start searching from. * @param bool $loop If the function has recursed. Internal use only. * @return string|false The location of the remote path, false to cease looping. */ public function search_for_folder( $folder, $base = '.', $loop = false ) { if ( empty( $base ) || '.' === $base ) { $base = trailingslashit( $this->cwd() ); } $folder = untrailingslashit( $folder ); if ( $this->verbose ) { /* translators: 1: Folder to locate, 2: Folder to start searching from. */ printf( "\n" . __( 'Looking for %1$s in %2$s' ) . "<br />\n", $folder, $base ); } $folder_parts = explode( '/', $folder ); $folder_part_keys = array_keys( $folder_parts ); $last_index = array_pop( $folder_part_keys ); $last_path = $folder_parts[ $last_index ]; $files = $this->dirlist( $base ); foreach ( $folder_parts as $index => $key ) { if ( $index === $last_index ) { continue; // We want this to be caught by the next code block. } /* * Working from /home/ to /user/ to /wordpress/ see if that file exists within * the current folder, If it's found, change into it and follow through looking * for it. If it can't find WordPress down that route, it'll continue onto the next * folder level, and see if that matches, and so on. If it reaches the end, and still * can't find it, it'll return false for the entire function. */ if ( isset( $files[ $key ] ) ) { // Let's try that folder: $newdir = trailingslashit( path_join( $base, $key ) ); if ( $this->verbose ) { /* translators: %s: Directory name. */ printf( "\n" . __( 'Changing to %s' ) . "<br />\n", $newdir ); } // Only search for the remaining path tokens in the directory, not the full path again. $newfolder = implode( '/', array_slice( $folder_parts, $index + 1 ) ); $ret = $this->search_for_folder( $newfolder, $newdir, $loop ); if ( $ret ) { return $ret; } } } /* * Only check this as a last resort, to prevent locating the incorrect install. * All above procedures will fail quickly if this is the right branch to take. */ if ( isset( $files[ $last_path ] ) ) { if ( $this->verbose ) { /* translators: %s: Directory name. */ printf( "\n" . __( 'Found %s' ) . "<br />\n", $base . $last_path ); } return trailingslashit( $base . $last_path ); } /* * Prevent this function from looping again. * No need to proceed if we've just searched in `/`. */ if ( $loop || '/' === $base ) { return false; } /* * As an extra last resort, Change back to / if the folder wasn't found. * This comes into effect when the CWD is /home/user/ but WP is at /var/www/.... */ return $this->search_for_folder( $folder, '/', true ); } /** * Returns the *nix-style file permissions for a file. * * From the PHP documentation page for fileperms(). * * @link https://www.php.net/manual/en/function.fileperms.php * * @since 2.5.0 * * @param string $file String filename. * @return string The *nix-style representation of permissions. */ public function gethchmod( $file ) { $perms = intval( $this->getchmod( $file ), 8 ); if ( ( $perms & 0xC000 ) === 0xC000 ) { // Socket. $info = 's'; } elseif ( ( $perms & 0xA000 ) === 0xA000 ) { // Symbolic Link. $info = 'l'; } elseif ( ( $perms & 0x8000 ) === 0x8000 ) { // Regular. $info = '-'; } elseif ( ( $perms & 0x6000 ) === 0x6000 ) { // Block special. $info = 'b'; } elseif ( ( $perms & 0x4000 ) === 0x4000 ) { // Directory. $info = 'd'; } elseif ( ( $perms & 0x2000 ) === 0x2000 ) { // Character special. $info = 'c'; } elseif ( ( $perms & 0x1000 ) === 0x1000 ) { // FIFO pipe. $info = 'p'; } else { // Unknown. $info = 'u'; } // Owner. $info .= ( ( $perms & 0x0100 ) ? 'r' : '-' ); $info .= ( ( $perms & 0x0080 ) ? 'w' : '-' ); $info .= ( ( $perms & 0x0040 ) ? ( ( $perms & 0x0800 ) ? 's' : 'x' ) : ( ( $perms & 0x0800 ) ? 'S' : '-' ) ); // Group. $info .= ( ( $perms & 0x0020 ) ? 'r' : '-' ); $info .= ( ( $perms & 0x0010 ) ? 'w' : '-' ); $info .= ( ( $perms & 0x0008 ) ? ( ( $perms & 0x0400 ) ? 's' : 'x' ) : ( ( $perms & 0x0400 ) ? 'S' : '-' ) ); // World. $info .= ( ( $perms & 0x0004 ) ? 'r' : '-' ); $info .= ( ( $perms & 0x0002 ) ? 'w' : '-' ); $info .= ( ( $perms & 0x0001 ) ? ( ( $perms & 0x0200 ) ? 't' : 'x' ) : ( ( $perms & 0x0200 ) ? 'T' : '-' ) ); return $info; } /** * Gets the permissions of the specified file or filepath in their octal format. * * @since 2.5.0 * * @param string $file Path to the file. * @return string Mode of the file (the last 3 digits). */ public function getchmod( $file ) { return '777'; } /** * Converts *nix-style file permissions to an octal number. * * Converts '-rw-r--r--' to 0644 * From "info at rvgate dot nl"'s comment on the PHP documentation for chmod() * * @link https://www.php.net/manual/en/function.chmod.php#49614 * * @since 2.5.0 * * @param string $mode string The *nix-style file permissions. * @return string Octal representation of permissions. */ public function getnumchmodfromh( $mode ) { $realmode = ''; $legal = array( '', 'w', 'r', 'x', '-' ); $attarray = preg_split( '//', $mode ); for ( $i = 0, $c = count( $attarray ); $i < $c; $i++ ) { $key = array_search( $attarray[ $i ], $legal, true ); if ( $key ) { $realmode .= $legal[ $key ]; } } $mode = str_pad( $realmode, 10, '-', STR_PAD_LEFT ); $trans = array( '-' => '0', 'r' => '4', 'w' => '2', 'x' => '1', ); $mode = strtr( $mode, $trans ); $newmode = $mode[0]; $newmode .= $mode[1] + $mode[2] + $mode[3]; $newmode .= $mode[4] + $mode[5] + $mode[6]; $newmode .= $mode[7] + $mode[8] + $mode[9]; return $newmode; } /** * Determines if the string provided contains binary characters. * * @since 2.7.0 * * @param string $text String to test against. * @return bool True if string is binary, false otherwise. */ public function is_binary( $text ) { return (bool) preg_match( '|[^\x20-\x7E]|', $text ); // chr(32)..chr(127) } /** * Changes the owner of a file or directory. * * Default behavior is to do nothing, override this in your subclass, if desired. * * @since 2.5.0 * * @param string $file Path to the file or directory. * @param string|int $owner A user name or number. * @param bool $recursive Optional. If set to true, changes file owner recursively. * Default false. * @return bool True on success, false on failure. */ public function chown( $file, $owner, $recursive = false ) { return false; } /** * Connects filesystem. * * @since 2.5.0 * @abstract * * @return bool True on success, false on failure (always true for WP_Filesystem_Direct). */ public function connect() { return true; } /** * Reads entire file into a string. * * @since 2.5.0 * @abstract * * @param string $file Name of the file to read. * @return string|false Read data on success, false on failure. */ public function get_contents( $file ) { return false; } /** * Reads entire file into an array. * * @since 2.5.0 * @abstract * * @param string $file Path to the file. * @return array|false File contents in an array on success, false on failure. */ public function get_contents_array( $file ) { return false; } /** * Writes a string to a file. * * @since 2.5.0 * @abstract * * @param string $file Remote path to the file where to write the data. * @param string $contents The data to write. * @param int|false $mode Optional. The file permissions as octal number, usually 0644. * Default false. * @return bool True on success, false on failure. */ public function put_contents( $file, $contents, $mode = false ) { return false; } /** * Gets the current working directory. * * @since 2.5.0 * @abstract * * @return string|false The current working directory on success, false on failure. */ public function cwd() { return false; } /** * Changes current directory. * * @since 2.5.0 * @abstract * * @param string $dir The new current directory. * @return bool True on success, false on failure. */ public function chdir( $dir ) { return false; } /** * Changes the file group. * * @since 2.5.0 * @abstract * * @param string $file Path to the file. * @param string|int $group A group name or number. * @param bool $recursive Optional. If set to true, changes file group recursively. * Default false. * @return bool True on success, false on failure. */ public function chgrp( $file, $group, $recursive = false ) { return false; } /** * Changes filesystem permissions. * * @since 2.5.0 * @abstract * * @param string $file Path to the file. * @param int|false $mode Optional. The permissions as octal number, usually 0644 for files, * 0755 for directories. Default false. * @param bool $recursive Optional. If set to true, changes file permissions recursively. * Default false. * @return bool True on success, false on failure. */ public function chmod( $file, $mode = false, $recursive = false ) { return false; } /** * Gets the file owner. * * @since 2.5.0 * @abstract * * @param string $file Path to the file. * @return string|false Username of the owner on success, false on failure. */ public function owner( $file ) { return false; } /** * Gets the file's group. * * @since 2.5.0 * @abstract * * @param string $file Path to the file. * @return string|false The group on success, false on failure. */ public function group( $file ) { return false; } /** * Copies a file. * * @since 2.5.0 * @abstract * * @param string $source Path to the source file. * @param string $destination Path to the destination file. * @param bool $overwrite Optional. Whether to overwrite the destination file if it exists. * Default false. * @param int|false $mode Optional. The permissions as octal number, usually 0644 for files, * 0755 for dirs. Default false. * @return bool True on success, false on failure. */ public function copy( $source, $destination, $overwrite = false, $mode = false ) { return false; } /** * Moves a file. * * @since 2.5.0 * @abstract * * @param string $source Path to the source file. * @param string $destination Path to the destination file. * @param bool $overwrite Optional. Whether to overwrite the destination file if it exists. * Default false. * @return bool True on success, false on failure. */ public function move( $source, $destination, $overwrite = false ) { return false; } /** * Deletes a file or directory. * * @since 2.5.0 * @abstract * * @param string $file Path to the file or directory. * @param bool $recursive Optional. If set to true, deletes files and folders recursively. * Default false. * @param string|false $type Type of resource. 'f' for file, 'd' for directory. * Default false. * @return bool True on success, false on failure. */ public function delete( $file, $recursive = false, $type = false ) { return false; } /** * Checks if a file or directory exists. * * @since 2.5.0 * @abstract * * @param string $path Path to file or directory. * @return bool Whether $path exists or not. */ public function exists( $path ) { return false; } /** * Checks if resource is a file. * * @since 2.5.0 * @abstract * * @param string $file File path. * @return bool Whether $file is a file. */ public function is_file( $file ) { return false; } /** * Checks if resource is a directory. * * @since 2.5.0 * @abstract * * @param string $path Directory path. * @return bool Whether $path is a directory. */ public function is_dir( $path ) { return false; } /** * Checks if a file is readable. * * @since 2.5.0 * @abstract * * @param string $file Path to file. * @return bool Whether $file is readable. */ public function is_readable( $file ) { return false; } /** * Checks if a file or directory is writable. * * @since 2.5.0 * @abstract * * @param string $path Path to file or directory. * @return bool Whether $path is writable. */ public function is_writable( $path ) { return false; } /** * Gets the file's last access time. * * @since 2.5.0 * @abstract * * @param string $file Path to file. * @return int|false Unix timestamp representing last access time, false on failure. */ public function atime( $file ) { return false; } /** * Gets the file modification time. * * @since 2.5.0 * @abstract * * @param string $file Path to file. * @return int|false Unix timestamp representing modification time, false on failure. */ public function mtime( $file ) { return false; } /** * Gets the file size (in bytes). * * @since 2.5.0 * @abstract * * @param string $file Path to file. * @return int|false Size of the file in bytes on success, false on failure. */ public function size( $file ) { return false; } /** * Sets the access and modification times of a file. * * Note: If $file doesn't exist, it will be created. * * @since 2.5.0 * @abstract * * @param string $file Path to file. * @param int $time Optional. Modified time to set for file. * Default 0. * @param int $atime Optional. Access time to set for file. * Default 0. * @return bool True on success, false on failure. */ public function touch( $file, $time = 0, $atime = 0 ) { return false; } /** * Creates a directory. * * @since 2.5.0 * @abstract * * @param string $path Path for new directory. * @param int|false $chmod Optional. The permissions as octal number (or false to skip chmod). * Default false. * @param string|int|false $chown Optional. A user name or number (or false to skip chown). * Default false. * @param string|int|false $chgrp Optional. A group name or number (or false to skip chgrp). * Default false. * @return bool True on success, false on failure. */ public function mkdir( $path, $chmod = false, $chown = false, $chgrp = false ) { return false; } /** * Deletes a directory. * * @since 2.5.0 * @abstract * * @param string $path Path to directory. * @param bool $recursive Optional. Whether to recursively remove files/directories. * Default false. * @return bool True on success, false on failure. */ public function rmdir( $path, $recursive = false ) { return false; } /** * Gets details for files in a directory or a specific file. * * @since 2.5.0 * @abstract * * @param string $path Path to directory or file. * @param bool $include_hidden Optional. Whether to include details of hidden ("." prefixed) files. * Default true. * @param bool $recursive Optional. Whether to recursively include file details in nested directories. * Default false. * @return array|false { * Array of arrays containing file information. False if unable to list directory contents. * * @type array ...$0 { * Array of file information. Note that some elements may not be available on all filesystems. * * @type string $name Name of the file or directory. * @type string $perms *nix representation of permissions. * @type string $permsn Octal representation of permissions. * @type int|string|false $number File number. May be a numeric string. False if not available. * @type string|false $owner Owner name or ID, or false if not available. * @type string|false $group File permissions group, or false if not available. * @type int|string|false $size Size of file in bytes. May be a numeric string. * False if not available. * @type int|string|false $lastmodunix Last modified unix timestamp. May be a numeric string. * False if not available. * @type string|false $lastmod Last modified month (3 letters) and day (without leading 0), or * false if not available. * @type string|false $time Last modified time, or false if not available. * @type string $type Type of resource. 'f' for file, 'd' for directory, 'l' for link. * @type array|false $files If a directory and `$recursive` is true, contains another array of * files. False if unable to list directory contents. * } * } */ public function dirlist( $path, $include_hidden = true, $recursive = false ) { return false; } } class-wp-site-icon.php 0000644 00000014416 14735706075 0010722 0 ustar 00 <?php /** * Administration API: WP_Site_Icon class * * @package WordPress * @subpackage Administration * @since 4.3.0 */ /** * Core class used to implement site icon functionality. * * @since 4.3.0 */ #[AllowDynamicProperties] class WP_Site_Icon { /** * The minimum size of the site icon. * * @since 4.3.0 * @var int */ public $min_size = 512; /** * The size to which to crop the image so that we can display it in the UI nicely. * * @since 4.3.0 * @var int */ public $page_crop = 512; /** * List of site icon sizes. * * @since 4.3.0 * @var int[] */ public $site_icon_sizes = array( /* * Square, medium sized tiles for IE11+. * * See https://msdn.microsoft.com/library/dn455106(v=vs.85).aspx */ 270, /* * App icon for Android/Chrome. * * @link https://developers.google.com/web/updates/2014/11/Support-for-theme-color-in-Chrome-39-for-Android * @link https://developer.chrome.com/multidevice/android/installtohomescreen */ 192, /* * App icons up to iPhone 6 Plus. * * See https://developer.apple.com/library/prerelease/ios/documentation/UserExperience/Conceptual/MobileHIG/IconMatrix.html */ 180, // Our regular Favicon. 32, ); /** * Registers actions and filters. * * @since 4.3.0 */ public function __construct() { add_action( 'delete_attachment', array( $this, 'delete_attachment_data' ) ); add_filter( 'get_post_metadata', array( $this, 'get_post_metadata' ), 10, 4 ); } /** * Creates an attachment 'object'. * * @since 4.3.0 * @deprecated 6.5.0 * * @param string $cropped Cropped image URL. * @param int $parent_attachment_id Attachment ID of parent image. * @return array An array with attachment object data. */ public function create_attachment_object( $cropped, $parent_attachment_id ) { _deprecated_function( __METHOD__, '6.5.0', 'wp_copy_parent_attachment_properties()' ); $parent = get_post( $parent_attachment_id ); $parent_url = wp_get_attachment_url( $parent->ID ); $url = str_replace( wp_basename( $parent_url ), wp_basename( $cropped ), $parent_url ); $size = wp_getimagesize( $cropped ); $image_type = ( $size ) ? $size['mime'] : 'image/jpeg'; $attachment = array( 'ID' => $parent_attachment_id, 'post_title' => wp_basename( $cropped ), 'post_content' => $url, 'post_mime_type' => $image_type, 'guid' => $url, 'context' => 'site-icon', ); return $attachment; } /** * Inserts an attachment. * * @since 4.3.0 * * @param array $attachment An array with attachment object data. * @param string $file File path of the attached image. * @return int Attachment ID. */ public function insert_attachment( $attachment, $file ) { $attachment_id = wp_insert_attachment( $attachment, $file ); $metadata = wp_generate_attachment_metadata( $attachment_id, $file ); /** * Filters the site icon attachment metadata. * * @since 4.3.0 * * @see wp_generate_attachment_metadata() * * @param array $metadata Attachment metadata. */ $metadata = apply_filters( 'site_icon_attachment_metadata', $metadata ); wp_update_attachment_metadata( $attachment_id, $metadata ); return $attachment_id; } /** * Adds additional sizes to be made when creating the site icon images. * * @since 4.3.0 * * @param array[] $sizes Array of arrays containing information for additional sizes. * @return array[] Array of arrays containing additional image sizes. */ public function additional_sizes( $sizes = array() ) { $only_crop_sizes = array(); /** * Filters the different dimensions that a site icon is saved in. * * @since 4.3.0 * * @param int[] $site_icon_sizes Array of sizes available for the Site Icon. */ $this->site_icon_sizes = apply_filters( 'site_icon_image_sizes', $this->site_icon_sizes ); // Use a natural sort of numbers. natsort( $this->site_icon_sizes ); $this->site_icon_sizes = array_reverse( $this->site_icon_sizes ); // Ensure that we only resize the image into sizes that allow cropping. foreach ( $sizes as $name => $size_array ) { if ( isset( $size_array['crop'] ) ) { $only_crop_sizes[ $name ] = $size_array; } } foreach ( $this->site_icon_sizes as $size ) { if ( $size < $this->min_size ) { $only_crop_sizes[ 'site_icon-' . $size ] = array( 'width ' => $size, 'height' => $size, 'crop' => true, ); } } return $only_crop_sizes; } /** * Adds Site Icon sizes to the array of image sizes on demand. * * @since 4.3.0 * * @param string[] $sizes Array of image size names. * @return string[] Array of image size names. */ public function intermediate_image_sizes( $sizes = array() ) { /** This filter is documented in wp-admin/includes/class-wp-site-icon.php */ $this->site_icon_sizes = apply_filters( 'site_icon_image_sizes', $this->site_icon_sizes ); foreach ( $this->site_icon_sizes as $size ) { $sizes[] = 'site_icon-' . $size; } return $sizes; } /** * Deletes the Site Icon when the image file is deleted. * * @since 4.3.0 * * @param int $post_id Attachment ID. */ public function delete_attachment_data( $post_id ) { $site_icon_id = (int) get_option( 'site_icon' ); if ( $site_icon_id && $post_id === $site_icon_id ) { delete_option( 'site_icon' ); } } /** * Adds custom image sizes when meta data for an image is requested, that happens to be used as Site Icon. * * @since 4.3.0 * * @param null|array|string $value The value get_metadata() should return a single metadata value, or an * array of values. * @param int $post_id Post ID. * @param string $meta_key Meta key. * @param bool $single Whether to return only the first value of the specified `$meta_key`. * @return array|null|string The attachment metadata value, array of values, or null. */ public function get_post_metadata( $value, $post_id, $meta_key, $single ) { if ( $single && '_wp_attachment_backup_sizes' === $meta_key ) { $site_icon_id = (int) get_option( 'site_icon' ); if ( $post_id === $site_icon_id ) { add_filter( 'intermediate_image_sizes', array( $this, 'intermediate_image_sizes' ) ); } } return $value; } } class-wp-upgrader-skins.php 0000644 00000002705 14735706075 0011764 0 ustar 00 <?php /** * The User Interface "Skins" for the WordPress File Upgrader * * @package WordPress * @subpackage Upgrader * @since 2.8.0 * @deprecated 4.7.0 */ _deprecated_file( basename( __FILE__ ), '4.7.0', 'class-wp-upgrader.php' ); /** WP_Upgrader_Skin class */ require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader-skin.php'; /** Plugin_Upgrader_Skin class */ require_once ABSPATH . 'wp-admin/includes/class-plugin-upgrader-skin.php'; /** Theme_Upgrader_Skin class */ require_once ABSPATH . 'wp-admin/includes/class-theme-upgrader-skin.php'; /** Bulk_Upgrader_Skin class */ require_once ABSPATH . 'wp-admin/includes/class-bulk-upgrader-skin.php'; /** Bulk_Plugin_Upgrader_Skin class */ require_once ABSPATH . 'wp-admin/includes/class-bulk-plugin-upgrader-skin.php'; /** Bulk_Theme_Upgrader_Skin class */ require_once ABSPATH . 'wp-admin/includes/class-bulk-theme-upgrader-skin.php'; /** Plugin_Installer_Skin class */ require_once ABSPATH . 'wp-admin/includes/class-plugin-installer-skin.php'; /** Theme_Installer_Skin class */ require_once ABSPATH . 'wp-admin/includes/class-theme-installer-skin.php'; /** Language_Pack_Upgrader_Skin class */ require_once ABSPATH . 'wp-admin/includes/class-language-pack-upgrader-skin.php'; /** Automatic_Upgrader_Skin class */ require_once ABSPATH . 'wp-admin/includes/class-automatic-upgrader-skin.php'; /** WP_Ajax_Upgrader_Skin class */ require_once ABSPATH . 'wp-admin/includes/class-wp-ajax-upgrader-skin.php'; class-automatic-upgrader-skin.php 0000644 00000007117 14735706075 0013143 0 ustar 00 <?php /** * Upgrader API: Automatic_Upgrader_Skin class * * @package WordPress * @subpackage Upgrader * @since 4.6.0 */ /** * Upgrader Skin for Automatic WordPress Upgrades. * * This skin is designed to be used when no output is intended, all output * is captured and stored for the caller to process and log/email/discard. * * @since 3.7.0 * @since 4.6.0 Moved to its own file from wp-admin/includes/class-wp-upgrader-skins.php. * * @see Bulk_Upgrader_Skin */ class Automatic_Upgrader_Skin extends WP_Upgrader_Skin { protected $messages = array(); /** * Determines whether the upgrader needs FTP/SSH details in order to connect * to the filesystem. * * @since 3.7.0 * @since 4.6.0 The `$context` parameter default changed from `false` to an empty string. * * @see request_filesystem_credentials() * * @param bool|WP_Error $error Optional. Whether the current request has failed to connect, * or an error object. Default false. * @param string $context Optional. Full path to the directory that is tested * for being writable. Default empty. * @param bool $allow_relaxed_file_ownership Optional. Whether to allow Group/World writable. Default false. * @return bool True on success, false on failure. */ public function request_filesystem_credentials( $error = false, $context = '', $allow_relaxed_file_ownership = false ) { if ( $context ) { $this->options['context'] = $context; } /* * TODO: Fix up request_filesystem_credentials(), or split it, to allow us to request a no-output version. * This will output a credentials form in event of failure. We don't want that, so just hide with a buffer. */ ob_start(); $result = parent::request_filesystem_credentials( $error, $context, $allow_relaxed_file_ownership ); ob_end_clean(); return $result; } /** * Retrieves the upgrade messages. * * @since 3.7.0 * * @return string[] Messages during an upgrade. */ public function get_upgrade_messages() { return $this->messages; } /** * Stores a message about the upgrade. * * @since 3.7.0 * @since 5.9.0 Renamed `$data` to `$feedback` for PHP 8 named parameter support. * * @param string|array|WP_Error $feedback Message data. * @param mixed ...$args Optional text replacements. */ public function feedback( $feedback, ...$args ) { if ( is_wp_error( $feedback ) ) { $string = $feedback->get_error_message(); } elseif ( is_array( $feedback ) ) { return; } else { $string = $feedback; } if ( ! empty( $this->upgrader->strings[ $string ] ) ) { $string = $this->upgrader->strings[ $string ]; } if ( str_contains( $string, '%' ) ) { if ( ! empty( $args ) ) { $string = vsprintf( $string, $args ); } } $string = trim( $string ); // Only allow basic HTML in the messages, as it'll be used in emails/logs rather than direct browser output. $string = wp_kses( $string, array( 'a' => array( 'href' => true, ), 'br' => true, 'em' => true, 'strong' => true, ) ); if ( empty( $string ) ) { return; } $this->messages[] = $string; } /** * Creates a new output buffer. * * @since 3.7.0 */ public function header() { ob_start(); } /** * Retrieves the buffered content, deletes the buffer, and processes the output. * * @since 3.7.0 */ public function footer() { $output = ob_get_clean(); if ( ! empty( $output ) ) { $this->feedback( $output ); } } } ms.php 0000644 00000102246 14735706075 0005717 0 ustar 00 <?php /** * Multisite administration functions. * * @package WordPress * @subpackage Multisite * @since 3.0.0 */ /** * Determines whether uploaded file exceeds space quota. * * @since 3.0.0 * * @param array $file An element from the `$_FILES` array for a given file. * @return array The `$_FILES` array element with 'error' key set if file exceeds quota. 'error' is empty otherwise. */ function check_upload_size( $file ) { if ( get_site_option( 'upload_space_check_disabled' ) ) { return $file; } if ( $file['error'] > 0 ) { // There's already an error. return $file; } if ( defined( 'WP_IMPORTING' ) ) { return $file; } $space_left = get_upload_space_available(); $file_size = filesize( $file['tmp_name'] ); if ( $space_left < $file_size ) { /* translators: %s: Required disk space in kilobytes. */ $file['error'] = sprintf( __( 'Not enough space to upload. %s KB needed.' ), number_format( ( $file_size - $space_left ) / KB_IN_BYTES ) ); } if ( $file_size > ( KB_IN_BYTES * get_site_option( 'fileupload_maxk', 1500 ) ) ) { /* translators: %s: Maximum allowed file size in kilobytes. */ $file['error'] = sprintf( __( 'This file is too big. Files must be less than %s KB in size.' ), get_site_option( 'fileupload_maxk', 1500 ) ); } if ( upload_is_user_over_quota( false ) ) { $file['error'] = __( 'You have used your space quota. Please delete files before uploading.' ); } if ( $file['error'] > 0 && ! isset( $_POST['html-upload'] ) && ! wp_doing_ajax() ) { wp_die( $file['error'] . ' <a href="javascript:history.go(-1)">' . __( 'Back' ) . '</a>' ); } return $file; } /** * Deletes a site. * * @since 3.0.0 * @since 5.1.0 Use wp_delete_site() internally to delete the site row from the database. * * @param int $blog_id Site ID. * @param bool $drop True if site's database tables should be dropped. Default false. */ function wpmu_delete_blog( $blog_id, $drop = false ) { $blog_id = (int) $blog_id; $switch = false; if ( get_current_blog_id() !== $blog_id ) { $switch = true; switch_to_blog( $blog_id ); } $blog = get_site( $blog_id ); $current_network = get_network(); // If a full blog object is not available, do not destroy anything. if ( $drop && ! $blog ) { $drop = false; } // Don't destroy the initial, main, or root blog. if ( $drop && ( 1 === $blog_id || is_main_site( $blog_id ) || ( $blog->path === $current_network->path && $blog->domain === $current_network->domain ) ) ) { $drop = false; } $upload_path = trim( get_option( 'upload_path' ) ); // If ms_files_rewriting is enabled and upload_path is empty, wp_upload_dir is not reliable. if ( $drop && get_site_option( 'ms_files_rewriting' ) && empty( $upload_path ) ) { $drop = false; } if ( $drop ) { wp_delete_site( $blog_id ); } else { /** This action is documented in wp-includes/ms-blogs.php */ do_action_deprecated( 'delete_blog', array( $blog_id, false ), '5.1.0' ); $users = get_users( array( 'blog_id' => $blog_id, 'fields' => 'ids', ) ); // Remove users from this blog. if ( ! empty( $users ) ) { foreach ( $users as $user_id ) { remove_user_from_blog( $user_id, $blog_id ); } } update_blog_status( $blog_id, 'deleted', 1 ); /** This action is documented in wp-includes/ms-blogs.php */ do_action_deprecated( 'deleted_blog', array( $blog_id, false ), '5.1.0' ); } if ( $switch ) { restore_current_blog(); } } /** * Deletes a user and all of their posts from the network. * * This function: * * - Deletes all posts (of all post types) authored by the user on all sites on the network * - Deletes all links owned by the user on all sites on the network * - Removes the user from all sites on the network * - Deletes the user from the database * * @since 3.0.0 * * @global wpdb $wpdb WordPress database abstraction object. * * @param int $id The user ID. * @return bool True if the user was deleted, false otherwise. */ function wpmu_delete_user( $id ) { global $wpdb; if ( ! is_numeric( $id ) ) { return false; } $id = (int) $id; $user = new WP_User( $id ); if ( ! $user->exists() ) { return false; } // Global super-administrators are protected, and cannot be deleted. $_super_admins = get_super_admins(); if ( in_array( $user->user_login, $_super_admins, true ) ) { return false; } /** * Fires before a user is deleted from the network. * * @since MU (3.0.0) * @since 5.5.0 Added the `$user` parameter. * * @param int $id ID of the user about to be deleted from the network. * @param WP_User $user WP_User object of the user about to be deleted from the network. */ do_action( 'wpmu_delete_user', $id, $user ); $blogs = get_blogs_of_user( $id ); if ( ! empty( $blogs ) ) { foreach ( $blogs as $blog ) { switch_to_blog( $blog->userblog_id ); remove_user_from_blog( $id, $blog->userblog_id ); $post_ids = $wpdb->get_col( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_author = %d", $id ) ); foreach ( (array) $post_ids as $post_id ) { wp_delete_post( $post_id ); } // Clean links. $link_ids = $wpdb->get_col( $wpdb->prepare( "SELECT link_id FROM $wpdb->links WHERE link_owner = %d", $id ) ); if ( $link_ids ) { foreach ( $link_ids as $link_id ) { wp_delete_link( $link_id ); } } restore_current_blog(); } } $meta = $wpdb->get_col( $wpdb->prepare( "SELECT umeta_id FROM $wpdb->usermeta WHERE user_id = %d", $id ) ); foreach ( $meta as $mid ) { delete_metadata_by_mid( 'user', $mid ); } $wpdb->delete( $wpdb->users, array( 'ID' => $id ) ); clean_user_cache( $user ); /** This action is documented in wp-admin/includes/user.php */ do_action( 'deleted_user', $id, null, $user ); return true; } /** * Checks whether a site has used its allotted upload space. * * @since MU (3.0.0) * * @param bool $display_message Optional. If set to true and the quota is exceeded, * a warning message is displayed. Default true. * @return bool True if user is over upload space quota, otherwise false. */ function upload_is_user_over_quota( $display_message = true ) { if ( get_site_option( 'upload_space_check_disabled' ) ) { return false; } $space_allowed = get_space_allowed(); if ( ! is_numeric( $space_allowed ) ) { $space_allowed = 10; // Default space allowed is 10 MB. } $space_used = get_space_used(); if ( ( $space_allowed - $space_used ) < 0 ) { if ( $display_message ) { printf( /* translators: %s: Allowed space allocation. */ __( 'Sorry, you have used your space allocation of %s. Please delete some files to upload more files.' ), size_format( $space_allowed * MB_IN_BYTES ) ); } return true; } else { return false; } } /** * Displays the amount of disk space used by the current site. Not used in core. * * @since MU (3.0.0) */ function display_space_usage() { $space_allowed = get_space_allowed(); $space_used = get_space_used(); $percent_used = ( $space_used / $space_allowed ) * 100; $space = size_format( $space_allowed * MB_IN_BYTES ); ?> <strong> <?php /* translators: Storage space that's been used. 1: Percentage of used space, 2: Total space allowed in megabytes or gigabytes. */ printf( __( 'Used: %1$s%% of %2$s' ), number_format( $percent_used ), $space ); ?> </strong> <?php } /** * Gets the remaining upload space for this site. * * @since MU (3.0.0) * * @param int $size Current max size in bytes. * @return int Max size in bytes. */ function fix_import_form_size( $size ) { if ( upload_is_user_over_quota( false ) ) { return 0; } $available = get_upload_space_available(); return min( $size, $available ); } /** * Displays the site upload space quota setting form on the Edit Site Settings screen. * * @since 3.0.0 * * @param int $id The ID of the site to display the setting for. */ function upload_space_setting( $id ) { switch_to_blog( $id ); $quota = get_option( 'blog_upload_space' ); restore_current_blog(); if ( ! $quota ) { $quota = ''; } ?> <tr> <th><label for="blog-upload-space-number"><?php _e( 'Site Upload Space Quota' ); ?></label></th> <td> <input type="number" step="1" min="0" style="width: 100px" name="option[blog_upload_space]" id="blog-upload-space-number" aria-describedby="blog-upload-space-desc" value="<?php echo esc_attr( $quota ); ?>" /> <span id="blog-upload-space-desc"><span class="screen-reader-text"> <?php /* translators: Hidden accessibility text. */ _e( 'Size in megabytes' ); ?> </span> <?php _e( 'MB (Leave blank for network default)' ); ?></span> </td> </tr> <?php } /** * Cleans the user cache for a specific user. * * @since 3.0.0 * * @param int $id The user ID. * @return int|false The ID of the refreshed user or false if the user does not exist. */ function refresh_user_details( $id ) { $id = (int) $id; $user = get_userdata( $id ); if ( ! $user ) { return false; } clean_user_cache( $user ); return $id; } /** * Returns the language for a language code. * * @since 3.0.0 * * @param string $code Optional. The two-letter language code. Default empty. * @return string The language corresponding to $code if it exists. If it does not exist, * then the first two letters of $code is returned. */ function format_code_lang( $code = '' ) { $code = strtolower( substr( $code, 0, 2 ) ); $lang_codes = array( 'aa' => 'Afar', 'ab' => 'Abkhazian', 'af' => 'Afrikaans', 'ak' => 'Akan', 'sq' => 'Albanian', 'am' => 'Amharic', 'ar' => 'Arabic', 'an' => 'Aragonese', 'hy' => 'Armenian', 'as' => 'Assamese', 'av' => 'Avaric', 'ae' => 'Avestan', 'ay' => 'Aymara', 'az' => 'Azerbaijani', 'ba' => 'Bashkir', 'bm' => 'Bambara', 'eu' => 'Basque', 'be' => 'Belarusian', 'bn' => 'Bengali', 'bh' => 'Bihari', 'bi' => 'Bislama', 'bs' => 'Bosnian', 'br' => 'Breton', 'bg' => 'Bulgarian', 'my' => 'Burmese', 'ca' => 'Catalan; Valencian', 'ch' => 'Chamorro', 'ce' => 'Chechen', 'zh' => 'Chinese', 'cu' => 'Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic', 'cv' => 'Chuvash', 'kw' => 'Cornish', 'co' => 'Corsican', 'cr' => 'Cree', 'cs' => 'Czech', 'da' => 'Danish', 'dv' => 'Divehi; Dhivehi; Maldivian', 'nl' => 'Dutch; Flemish', 'dz' => 'Dzongkha', 'en' => 'English', 'eo' => 'Esperanto', 'et' => 'Estonian', 'ee' => 'Ewe', 'fo' => 'Faroese', 'fj' => 'Fijjian', 'fi' => 'Finnish', 'fr' => 'French', 'fy' => 'Western Frisian', 'ff' => 'Fulah', 'ka' => 'Georgian', 'de' => 'German', 'gd' => 'Gaelic; Scottish Gaelic', 'ga' => 'Irish', 'gl' => 'Galician', 'gv' => 'Manx', 'el' => 'Greek, Modern', 'gn' => 'Guarani', 'gu' => 'Gujarati', 'ht' => 'Haitian; Haitian Creole', 'ha' => 'Hausa', 'he' => 'Hebrew', 'hz' => 'Herero', 'hi' => 'Hindi', 'ho' => 'Hiri Motu', 'hu' => 'Hungarian', 'ig' => 'Igbo', 'is' => 'Icelandic', 'io' => 'Ido', 'ii' => 'Sichuan Yi', 'iu' => 'Inuktitut', 'ie' => 'Interlingue', 'ia' => 'Interlingua (International Auxiliary Language Association)', 'id' => 'Indonesian', 'ik' => 'Inupiaq', 'it' => 'Italian', 'jv' => 'Javanese', 'ja' => 'Japanese', 'kl' => 'Kalaallisut; Greenlandic', 'kn' => 'Kannada', 'ks' => 'Kashmiri', 'kr' => 'Kanuri', 'kk' => 'Kazakh', 'km' => 'Central Khmer', 'ki' => 'Kikuyu; Gikuyu', 'rw' => 'Kinyarwanda', 'ky' => 'Kirghiz; Kyrgyz', 'kv' => 'Komi', 'kg' => 'Kongo', 'ko' => 'Korean', 'kj' => 'Kuanyama; Kwanyama', 'ku' => 'Kurdish', 'lo' => 'Lao', 'la' => 'Latin', 'lv' => 'Latvian', 'li' => 'Limburgan; Limburger; Limburgish', 'ln' => 'Lingala', 'lt' => 'Lithuanian', 'lb' => 'Luxembourgish; Letzeburgesch', 'lu' => 'Luba-Katanga', 'lg' => 'Ganda', 'mk' => 'Macedonian', 'mh' => 'Marshallese', 'ml' => 'Malayalam', 'mi' => 'Maori', 'mr' => 'Marathi', 'ms' => 'Malay', 'mg' => 'Malagasy', 'mt' => 'Maltese', 'mo' => 'Moldavian', 'mn' => 'Mongolian', 'na' => 'Nauru', 'nv' => 'Navajo; Navaho', 'nr' => 'Ndebele, South; South Ndebele', 'nd' => 'Ndebele, North; North Ndebele', 'ng' => 'Ndonga', 'ne' => 'Nepali', 'nn' => 'Norwegian Nynorsk; Nynorsk, Norwegian', 'nb' => 'BokmÃ¥l, Norwegian, Norwegian BokmÃ¥l', 'no' => 'Norwegian', 'ny' => 'Chichewa; Chewa; Nyanja', 'oc' => 'Occitan, Provençal', 'oj' => 'Ojibwa', 'or' => 'Oriya', 'om' => 'Oromo', 'os' => 'Ossetian; Ossetic', 'pa' => 'Panjabi; Punjabi', 'fa' => 'Persian', 'pi' => 'Pali', 'pl' => 'Polish', 'pt' => 'Portuguese', 'ps' => 'Pushto', 'qu' => 'Quechua', 'rm' => 'Romansh', 'ro' => 'Romanian', 'rn' => 'Rundi', 'ru' => 'Russian', 'sg' => 'Sango', 'sa' => 'Sanskrit', 'sr' => 'Serbian', 'hr' => 'Croatian', 'si' => 'Sinhala; Sinhalese', 'sk' => 'Slovak', 'sl' => 'Slovenian', 'se' => 'Northern Sami', 'sm' => 'Samoan', 'sn' => 'Shona', 'sd' => 'Sindhi', 'so' => 'Somali', 'st' => 'Sotho, Southern', 'es' => 'Spanish; Castilian', 'sc' => 'Sardinian', 'ss' => 'Swati', 'su' => 'Sundanese', 'sw' => 'Swahili', 'sv' => 'Swedish', 'ty' => 'Tahitian', 'ta' => 'Tamil', 'tt' => 'Tatar', 'te' => 'Telugu', 'tg' => 'Tajik', 'tl' => 'Tagalog', 'th' => 'Thai', 'bo' => 'Tibetan', 'ti' => 'Tigrinya', 'to' => 'Tonga (Tonga Islands)', 'tn' => 'Tswana', 'ts' => 'Tsonga', 'tk' => 'Turkmen', 'tr' => 'Turkish', 'tw' => 'Twi', 'ug' => 'Uighur; Uyghur', 'uk' => 'Ukrainian', 'ur' => 'Urdu', 'uz' => 'Uzbek', 've' => 'Venda', 'vi' => 'Vietnamese', 'vo' => 'Volapük', 'cy' => 'Welsh', 'wa' => 'Walloon', 'wo' => 'Wolof', 'xh' => 'Xhosa', 'yi' => 'Yiddish', 'yo' => 'Yoruba', 'za' => 'Zhuang; Chuang', 'zu' => 'Zulu', ); /** * Filters the language codes. * * @since MU (3.0.0) * * @param string[] $lang_codes Array of key/value pairs of language codes where key is the short version. * @param string $code A two-letter designation of the language. */ $lang_codes = apply_filters( 'lang_codes', $lang_codes, $code ); return strtr( $code, $lang_codes ); } /** * Displays an access denied message when a user tries to view a site's dashboard they * do not have access to. * * @since 3.2.0 * @access private */ function _access_denied_splash() { if ( ! is_user_logged_in() || is_network_admin() ) { return; } $blogs = get_blogs_of_user( get_current_user_id() ); if ( wp_list_filter( $blogs, array( 'userblog_id' => get_current_blog_id() ) ) ) { return; } $blog_name = get_bloginfo( 'name' ); if ( empty( $blogs ) ) { wp_die( sprintf( /* translators: 1: Site title. */ __( 'You attempted to access the "%1$s" dashboard, but you do not currently have privileges on this site. If you believe you should be able to access the "%1$s" dashboard, please contact your network administrator.' ), $blog_name ), 403 ); } $output = '<p>' . sprintf( /* translators: 1: Site title. */ __( 'You attempted to access the "%1$s" dashboard, but you do not currently have privileges on this site. If you believe you should be able to access the "%1$s" dashboard, please contact your network administrator.' ), $blog_name ) . '</p>'; $output .= '<p>' . __( 'If you reached this screen by accident and meant to visit one of your own sites, here are some shortcuts to help you find your way.' ) . '</p>'; $output .= '<h3>' . __( 'Your Sites' ) . '</h3>'; $output .= '<table>'; foreach ( $blogs as $blog ) { $output .= '<tr>'; $output .= "<td>{$blog->blogname}</td>"; $output .= '<td><a href="' . esc_url( get_admin_url( $blog->userblog_id ) ) . '">' . __( 'Visit Dashboard' ) . '</a> | ' . '<a href="' . esc_url( get_home_url( $blog->userblog_id ) ) . '">' . __( 'View Site' ) . '</a></td>'; $output .= '</tr>'; } $output .= '</table>'; wp_die( $output, 403 ); } /** * Checks if the current user has permissions to import new users. * * @since 3.0.0 * * @param string $permission A permission to be checked. Currently not used. * @return bool True if the user has proper permissions, false if they do not. */ function check_import_new_users( $permission ) { if ( ! current_user_can( 'manage_network_users' ) ) { return false; } return true; } // See "import_allow_fetch_attachments" and "import_attachment_size_limit" filters too. /** * Generates and displays a drop-down of available languages. * * @since 3.0.0 * * @param string[] $lang_files Optional. An array of the language files. Default empty array. * @param string $current Optional. The current language code. Default empty. */ function mu_dropdown_languages( $lang_files = array(), $current = '' ) { $flag = false; $output = array(); foreach ( (array) $lang_files as $val ) { $code_lang = basename( $val, '.mo' ); if ( 'en_US' === $code_lang ) { // American English. $flag = true; $ae = __( 'American English' ); $output[ $ae ] = '<option value="' . esc_attr( $code_lang ) . '"' . selected( $current, $code_lang, false ) . '> ' . $ae . '</option>'; } elseif ( 'en_GB' === $code_lang ) { // British English. $flag = true; $be = __( 'British English' ); $output[ $be ] = '<option value="' . esc_attr( $code_lang ) . '"' . selected( $current, $code_lang, false ) . '> ' . $be . '</option>'; } else { $translated = format_code_lang( $code_lang ); $output[ $translated ] = '<option value="' . esc_attr( $code_lang ) . '"' . selected( $current, $code_lang, false ) . '> ' . esc_html( $translated ) . '</option>'; } } if ( false === $flag ) { // WordPress English. $output[] = '<option value=""' . selected( $current, '', false ) . '>' . __( 'English' ) . '</option>'; } // Order by name. uksort( $output, 'strnatcasecmp' ); /** * Filters the languages available in the dropdown. * * @since MU (3.0.0) * * @param string[] $output Array of HTML output for the dropdown. * @param string[] $lang_files Array of available language files. * @param string $current The current language code. */ $output = apply_filters( 'mu_dropdown_languages', $output, $lang_files, $current ); echo implode( "\n\t", $output ); } /** * Displays an admin notice to upgrade all sites after a core upgrade. * * @since 3.0.0 * * @global int $wp_db_version WordPress database version. * @global string $pagenow The filename of the current screen. * * @return void|false Void on success. False if the current user is not a super admin. */ function site_admin_notice() { global $wp_db_version, $pagenow; if ( ! current_user_can( 'upgrade_network' ) ) { return false; } if ( 'upgrade.php' === $pagenow ) { return; } if ( (int) get_site_option( 'wpmu_upgrade_site' ) !== $wp_db_version ) { $upgrade_network_message = sprintf( /* translators: %s: URL to Upgrade Network screen. */ __( 'Thank you for Updating! Please visit the <a href="%s">Upgrade Network</a> page to update all your sites.' ), esc_url( network_admin_url( 'upgrade.php' ) ) ); wp_admin_notice( $upgrade_network_message, array( 'type' => 'warning', 'additional_classes' => array( 'update-nag', 'inline' ), 'paragraph_wrap' => false, ) ); } } /** * Avoids a collision between a site slug and a permalink slug. * * In a subdirectory installation this will make sure that a site and a post do not use the * same subdirectory by checking for a site with the same name as a new post. * * @since 3.0.0 * * @param array $data An array of post data. * @param array $postarr An array of posts. Not currently used. * @return array The new array of post data after checking for collisions. */ function avoid_blog_page_permalink_collision( $data, $postarr ) { if ( is_subdomain_install() ) { return $data; } if ( 'page' !== $data['post_type'] ) { return $data; } if ( ! isset( $data['post_name'] ) || '' === $data['post_name'] ) { return $data; } if ( ! is_main_site() ) { return $data; } if ( isset( $data['post_parent'] ) && $data['post_parent'] ) { return $data; } $post_name = $data['post_name']; $c = 0; while ( $c < 10 && get_id_from_blogname( $post_name ) ) { $post_name .= mt_rand( 1, 10 ); ++$c; } if ( $post_name !== $data['post_name'] ) { $data['post_name'] = $post_name; } return $data; } /** * Handles the display of choosing a user's primary site. * * This displays the user's primary site and allows the user to choose * which site is primary. * * @since 3.0.0 */ function choose_primary_blog() { ?> <table class="form-table" role="presentation"> <tr> <?php /* translators: My Sites label. */ ?> <th scope="row"><label for="primary_blog"><?php _e( 'Primary Site' ); ?></label></th> <td> <?php $all_blogs = get_blogs_of_user( get_current_user_id() ); $primary_blog = (int) get_user_meta( get_current_user_id(), 'primary_blog', true ); if ( count( $all_blogs ) > 1 ) { $found = false; ?> <select name="primary_blog" id="primary_blog"> <?php foreach ( (array) $all_blogs as $blog ) { if ( $blog->userblog_id === $primary_blog ) { $found = true; } ?> <option value="<?php echo $blog->userblog_id; ?>"<?php selected( $primary_blog, $blog->userblog_id ); ?>><?php echo esc_url( get_home_url( $blog->userblog_id ) ); ?></option> <?php } ?> </select> <?php if ( ! $found ) { $blog = reset( $all_blogs ); update_user_meta( get_current_user_id(), 'primary_blog', $blog->userblog_id ); } } elseif ( 1 === count( $all_blogs ) ) { $blog = reset( $all_blogs ); echo esc_url( get_home_url( $blog->userblog_id ) ); if ( $blog->userblog_id !== $primary_blog ) { // Set the primary blog again if it's out of sync with blog list. update_user_meta( get_current_user_id(), 'primary_blog', $blog->userblog_id ); } } else { _e( 'Not available' ); } ?> </td> </tr> </table> <?php } /** * Determines whether or not this network from this page can be edited. * * By default editing of network is restricted to the Network Admin for that `$network_id`. * This function allows for this to be overridden. * * @since 3.1.0 * * @param int $network_id The network ID to check. * @return bool True if network can be edited, false otherwise. */ function can_edit_network( $network_id ) { if ( get_current_network_id() === (int) $network_id ) { $result = true; } else { $result = false; } /** * Filters whether this network can be edited from this page. * * @since 3.1.0 * * @param bool $result Whether the network can be edited from this page. * @param int $network_id The network ID to check. */ return apply_filters( 'can_edit_network', $result, $network_id ); } /** * Prints thickbox image paths for Network Admin. * * @since 3.1.0 * * @access private */ function _thickbox_path_admin_subfolder() { ?> <script type="text/javascript"> var tb_pathToImage = "<?php echo esc_js( includes_url( 'js/thickbox/loadingAnimation.gif', 'relative' ) ); ?>"; </script> <?php } /** * @param array $users * @return bool */ function confirm_delete_users( $users ) { $current_user = wp_get_current_user(); if ( ! is_array( $users ) || empty( $users ) ) { return false; } ?> <h1><?php esc_html_e( 'Users' ); ?></h1> <?php if ( 1 === count( $users ) ) : ?> <p><?php _e( 'You have chosen to delete the user from all networks and sites.' ); ?></p> <?php else : ?> <p><?php _e( 'You have chosen to delete the following users from all networks and sites.' ); ?></p> <?php endif; ?> <form action="users.php?action=dodelete" method="post"> <input type="hidden" name="dodelete" /> <?php wp_nonce_field( 'ms-users-delete' ); $site_admins = get_super_admins(); $admin_out = '<option value="' . esc_attr( $current_user->ID ) . '">' . $current_user->user_login . '</option>'; ?> <table class="form-table" role="presentation"> <?php $allusers = (array) $_POST['allusers']; foreach ( $allusers as $user_id ) { if ( '' !== $user_id && '0' !== $user_id ) { $delete_user = get_userdata( $user_id ); if ( ! current_user_can( 'delete_user', $delete_user->ID ) ) { wp_die( sprintf( /* translators: %s: User login. */ __( 'Warning! User %s cannot be deleted.' ), $delete_user->user_login ) ); } if ( in_array( $delete_user->user_login, $site_admins, true ) ) { wp_die( sprintf( /* translators: %s: User login. */ __( 'Warning! User cannot be deleted. The user %s is a network administrator.' ), '<em>' . $delete_user->user_login . '</em>' ) ); } ?> <tr> <th scope="row"><?php echo $delete_user->user_login; ?> <?php echo '<input type="hidden" name="user[]" value="' . esc_attr( $user_id ) . '" />' . "\n"; ?> </th> <?php $blogs = get_blogs_of_user( $user_id, true ); if ( ! empty( $blogs ) ) { ?> <td><fieldset><p><legend> <?php printf( /* translators: %s: User login. */ __( 'What should be done with content owned by %s?' ), '<em>' . $delete_user->user_login . '</em>' ); ?> </legend></p> <?php foreach ( (array) $blogs as $key => $details ) { $blog_users = get_users( array( 'blog_id' => $details->userblog_id, 'fields' => array( 'ID', 'user_login' ), ) ); if ( is_array( $blog_users ) && ! empty( $blog_users ) ) { $user_site = "<a href='" . esc_url( get_home_url( $details->userblog_id ) ) . "'>{$details->blogname}</a>"; $user_dropdown = '<label for="reassign_user" class="screen-reader-text">' . /* translators: Hidden accessibility text. */ __( 'Select a user' ) . '</label>'; $user_dropdown .= "<select name='blog[$user_id][$key]' id='reassign_user'>"; $user_list = ''; foreach ( $blog_users as $user ) { if ( ! in_array( (int) $user->ID, $allusers, true ) ) { $user_list .= "<option value='{$user->ID}'>{$user->user_login}</option>"; } } if ( '' === $user_list ) { $user_list = $admin_out; } $user_dropdown .= $user_list; $user_dropdown .= "</select>\n"; ?> <ul style="list-style:none;"> <li> <?php /* translators: %s: Link to user's site. */ printf( __( 'Site: %s' ), $user_site ); ?> </li> <li><label><input type="radio" id="delete_option0" name="delete[<?php echo $details->userblog_id . '][' . $delete_user->ID; ?>]" value="delete" checked="checked" /> <?php _e( 'Delete all content.' ); ?></label></li> <li><label><input type="radio" id="delete_option1" name="delete[<?php echo $details->userblog_id . '][' . $delete_user->ID; ?>]" value="reassign" /> <?php _e( 'Attribute all content to:' ); ?></label> <?php echo $user_dropdown; ?></li> </ul> <?php } } echo '</fieldset></td></tr>'; } else { ?> <td><p><?php _e( 'User has no sites or content and will be deleted.' ); ?></p></td> <?php } ?> </tr> <?php } } ?> </table> <?php /** This action is documented in wp-admin/users.php */ do_action( 'delete_user_form', $current_user, $allusers ); if ( 1 === count( $users ) ) : ?> <p><?php _e( 'Once you hit “Confirm Deletion”, the user will be permanently removed.' ); ?></p> <?php else : ?> <p><?php _e( 'Once you hit “Confirm Deletion”, these users will be permanently removed.' ); ?></p> <?php endif; submit_button( __( 'Confirm Deletion' ), 'primary' ); ?> </form> <?php return true; } /** * Prints JavaScript in the header on the Network Settings screen. * * @since 4.1.0 */ function network_settings_add_js() { ?> <script type="text/javascript"> jQuery( function($) { var languageSelect = $( '#WPLANG' ); $( 'form' ).on( 'submit', function() { /* * Don't show a spinner for English and installed languages, * as there is nothing to download. */ if ( ! languageSelect.find( 'option:selected' ).data( 'installed' ) ) { $( '#submit', this ).after( '<span class="spinner language-install-spinner is-active" />' ); } }); } ); </script> <?php } /** * Outputs the HTML for a network's "Edit Site" tabular interface. * * @since 4.6.0 * * @global string $pagenow The filename of the current screen. * * @param array $args { * Optional. Array or string of Query parameters. Default empty array. * * @type int $blog_id The site ID. Default is the current site. * @type array $links The tabs to include with (label|url|cap) keys. * @type string $selected The ID of the selected link. * } */ function network_edit_site_nav( $args = array() ) { /** * Filters the links that appear on site-editing network pages. * * Default links: 'site-info', 'site-users', 'site-themes', and 'site-settings'. * * @since 4.6.0 * * @param array $links { * An array of link data representing individual network admin pages. * * @type array $link_slug { * An array of information about the individual link to a page. * * $type string $label Label to use for the link. * $type string $url URL, relative to `network_admin_url()` to use for the link. * $type string $cap Capability required to see the link. * } * } */ $links = apply_filters( 'network_edit_site_nav_links', array( 'site-info' => array( 'label' => __( 'Info' ), 'url' => 'site-info.php', 'cap' => 'manage_sites', ), 'site-users' => array( 'label' => __( 'Users' ), 'url' => 'site-users.php', 'cap' => 'manage_sites', ), 'site-themes' => array( 'label' => __( 'Themes' ), 'url' => 'site-themes.php', 'cap' => 'manage_sites', ), 'site-settings' => array( 'label' => __( 'Settings' ), 'url' => 'site-settings.php', 'cap' => 'manage_sites', ), ) ); // Parse arguments. $parsed_args = wp_parse_args( $args, array( 'blog_id' => isset( $_GET['blog_id'] ) ? (int) $_GET['blog_id'] : 0, 'links' => $links, 'selected' => 'site-info', ) ); // Setup the links array. $screen_links = array(); // Loop through tabs. foreach ( $parsed_args['links'] as $link_id => $link ) { // Skip link if user can't access. if ( ! current_user_can( $link['cap'], $parsed_args['blog_id'] ) ) { continue; } // Link classes. $classes = array( 'nav-tab' ); // Aria-current attribute. $aria_current = ''; // Selected is set by the parent OR assumed by the $pagenow global. if ( $parsed_args['selected'] === $link_id || $link['url'] === $GLOBALS['pagenow'] ) { $classes[] = 'nav-tab-active'; $aria_current = ' aria-current="page"'; } // Escape each class. $esc_classes = implode( ' ', $classes ); // Get the URL for this link. $url = add_query_arg( array( 'id' => $parsed_args['blog_id'] ), network_admin_url( $link['url'] ) ); // Add link to nav links. $screen_links[ $link_id ] = '<a href="' . esc_url( $url ) . '" id="' . esc_attr( $link_id ) . '" class="' . $esc_classes . '"' . $aria_current . '>' . esc_html( $link['label'] ) . '</a>'; } // All done! echo '<nav class="nav-tab-wrapper wp-clearfix" aria-label="' . esc_attr__( 'Secondary menu' ) . '">'; echo implode( '', $screen_links ); echo '</nav>'; } /** * Returns the arguments for the help tab on the Edit Site screens. * * @since 4.9.0 * * @return array Help tab arguments. */ function get_site_screen_help_tab_args() { return array( 'id' => 'overview', 'title' => __( 'Overview' ), 'content' => '<p>' . __( 'The menu is for editing information specific to individual sites, particularly if the admin area of a site is unavailable.' ) . '</p>' . '<p>' . __( '<strong>Info</strong> — The site URL is rarely edited as this can cause the site to not work properly. The Registered date and Last Updated date are displayed. Network admins can mark a site as archived, spam, deleted and mature, to remove from public listings or disable.' ) . '</p>' . '<p>' . __( '<strong>Users</strong> — This displays the users associated with this site. You can also change their role, reset their password, or remove them from the site. Removing the user from the site does not remove the user from the network.' ) . '</p>' . '<p>' . sprintf( /* translators: %s: URL to Network Themes screen. */ __( '<strong>Themes</strong> — This area shows themes that are not already enabled across the network. Enabling a theme in this menu makes it accessible to this site. It does not activate the theme, but allows it to show in the site’s Appearance menu. To enable a theme for the entire network, see the <a href="%s">Network Themes</a> screen.' ), network_admin_url( 'themes.php' ) ) . '</p>' . '<p>' . __( '<strong>Settings</strong> — This page shows a list of all settings associated with this site. Some are created by WordPress and others are created by plugins you activate. Note that some fields are grayed out and say Serialized Data. You cannot modify these values due to the way the setting is stored in the database.' ) . '</p>', ); } /** * Returns the content for the help sidebar on the Edit Site screens. * * @since 4.9.0 * * @return string Help sidebar content. */ function get_site_screen_help_sidebar_content() { return '<p><strong>' . __( 'For more information:' ) . '</strong></p>' . '<p>' . __( '<a href="https://developer.wordpress.org/advanced-administration/multisite/admin/#network-admin-sites-screen">Documentation on Site Management</a>' ) . '</p>' . '<p>' . __( '<a href="https://wordpress.org/support/forum/multisite/">Support forums</a>' ) . '</p>'; } class-wp-media-list-table.php 0000644 00000062035 14735706075 0012145 0 ustar 00 <?php /** * List Table API: WP_Media_List_Table class * * @package WordPress * @subpackage Administration * @since 3.1.0 */ /** * Core class used to implement displaying media items in a list table. * * @since 3.1.0 * * @see WP_List_Table */ class WP_Media_List_Table extends WP_List_Table { /** * Holds the number of pending comments for each post. * * @since 4.4.0 * @var array */ protected $comment_pending_count = array(); private $detached; private $is_trash; /** * Constructor. * * @since 3.1.0 * * @see WP_List_Table::__construct() for more information on default arguments. * * @param array $args An associative array of arguments. */ public function __construct( $args = array() ) { $this->detached = ( isset( $_REQUEST['attachment-filter'] ) && 'detached' === $_REQUEST['attachment-filter'] ); $this->modes = array( 'list' => __( 'List view' ), 'grid' => __( 'Grid view' ), ); parent::__construct( array( 'plural' => 'media', 'screen' => isset( $args['screen'] ) ? $args['screen'] : null, ) ); } /** * @return bool */ public function ajax_user_can() { return current_user_can( 'upload_files' ); } /** * @global string $mode List table view mode. * @global WP_Query $wp_query WordPress Query object. * @global array $post_mime_types * @global array $avail_post_mime_types */ public function prepare_items() { global $mode, $wp_query, $post_mime_types, $avail_post_mime_types; $mode = empty( $_REQUEST['mode'] ) ? 'list' : $_REQUEST['mode']; /* * Exclude attachments scheduled for deletion in the next two hours * if they are for zip packages for interrupted or failed updates. * See File_Upload_Upgrader class. */ $not_in = array(); $crons = _get_cron_array(); if ( is_array( $crons ) ) { foreach ( $crons as $cron ) { if ( isset( $cron['upgrader_scheduled_cleanup'] ) ) { $details = reset( $cron['upgrader_scheduled_cleanup'] ); if ( ! empty( $details['args'][0] ) ) { $not_in[] = (int) $details['args'][0]; } } } } if ( ! empty( $_REQUEST['post__not_in'] ) && is_array( $_REQUEST['post__not_in'] ) ) { $not_in = array_merge( array_values( $_REQUEST['post__not_in'] ), $not_in ); } if ( ! empty( $not_in ) ) { $_REQUEST['post__not_in'] = $not_in; } list( $post_mime_types, $avail_post_mime_types ) = wp_edit_attachments_query( $_REQUEST ); $this->is_trash = isset( $_REQUEST['attachment-filter'] ) && 'trash' === $_REQUEST['attachment-filter']; $this->set_pagination_args( array( 'total_items' => $wp_query->found_posts, 'total_pages' => $wp_query->max_num_pages, 'per_page' => $wp_query->query_vars['posts_per_page'], ) ); if ( $wp_query->posts ) { update_post_thumbnail_cache( $wp_query ); update_post_parent_caches( $wp_query->posts ); } } /** * @global array $post_mime_types * @global array $avail_post_mime_types * @return array */ protected function get_views() { global $post_mime_types, $avail_post_mime_types; $type_links = array(); $filter = empty( $_GET['attachment-filter'] ) ? '' : $_GET['attachment-filter']; $type_links['all'] = sprintf( '<option value=""%s>%s</option>', selected( $filter, true, false ), __( 'All media items' ) ); foreach ( $post_mime_types as $mime_type => $label ) { if ( ! wp_match_mime_types( $mime_type, $avail_post_mime_types ) ) { continue; } $selected = selected( $filter && str_starts_with( $filter, 'post_mime_type:' ) && wp_match_mime_types( $mime_type, str_replace( 'post_mime_type:', '', $filter ) ), true, false ); $type_links[ $mime_type ] = sprintf( '<option value="post_mime_type:%s"%s>%s</option>', esc_attr( $mime_type ), $selected, $label[0] ); } $type_links['detached'] = '<option value="detached"' . ( $this->detached ? ' selected="selected"' : '' ) . '>' . _x( 'Unattached', 'media items' ) . '</option>'; $type_links['mine'] = sprintf( '<option value="mine"%s>%s</option>', selected( 'mine' === $filter, true, false ), _x( 'Mine', 'media items' ) ); if ( $this->is_trash || ( defined( 'MEDIA_TRASH' ) && MEDIA_TRASH ) ) { $type_links['trash'] = sprintf( '<option value="trash"%s>%s</option>', selected( 'trash' === $filter, true, false ), _x( 'Trash', 'attachment filter' ) ); } return $type_links; } /** * @return array */ protected function get_bulk_actions() { $actions = array(); if ( MEDIA_TRASH ) { if ( $this->is_trash ) { $actions['untrash'] = __( 'Restore' ); $actions['delete'] = __( 'Delete permanently' ); } else { $actions['trash'] = __( 'Move to Trash' ); } } else { $actions['delete'] = __( 'Delete permanently' ); } if ( $this->detached ) { $actions['attach'] = __( 'Attach' ); } return $actions; } /** * @param string $which */ protected function extra_tablenav( $which ) { if ( 'bar' !== $which ) { return; } ?> <div class="actions"> <?php if ( ! $this->is_trash ) { $this->months_dropdown( 'attachment' ); } /** This action is documented in wp-admin/includes/class-wp-posts-list-table.php */ do_action( 'restrict_manage_posts', $this->screen->post_type, $which ); submit_button( __( 'Filter' ), '', 'filter_action', false, array( 'id' => 'post-query-submit' ) ); if ( $this->is_trash && $this->has_items() && current_user_can( 'edit_others_posts' ) ) { submit_button( __( 'Empty Trash' ), 'apply', 'delete_all', false ); } ?> </div> <?php } /** * @return string */ public function current_action() { if ( isset( $_REQUEST['found_post_id'] ) && isset( $_REQUEST['media'] ) ) { return 'attach'; } if ( isset( $_REQUEST['parent_post_id'] ) && isset( $_REQUEST['media'] ) ) { return 'detach'; } if ( isset( $_REQUEST['delete_all'] ) || isset( $_REQUEST['delete_all2'] ) ) { return 'delete_all'; } return parent::current_action(); } /** * @return bool */ public function has_items() { return have_posts(); } /** */ public function no_items() { if ( $this->is_trash ) { _e( 'No media files found in Trash.' ); } else { _e( 'No media files found.' ); } } /** * Overrides parent views to use the filter bar display. * * @global string $mode List table view mode. */ public function views() { global $mode; $views = $this->get_views(); $this->screen->render_screen_reader_content( 'heading_views' ); ?> <div class="wp-filter"> <div class="filter-items"> <?php $this->view_switcher( $mode ); ?> <label for="attachment-filter" class="screen-reader-text"> <?php /* translators: Hidden accessibility text. */ _e( 'Filter by type' ); ?> </label> <select class="attachment-filters" name="attachment-filter" id="attachment-filter"> <?php if ( ! empty( $views ) ) { foreach ( $views as $class => $view ) { echo "\t$view\n"; } } ?> </select> <?php $this->extra_tablenav( 'bar' ); /** This filter is documented in wp-admin/includes/class-wp-list-table.php */ $views = apply_filters( "views_{$this->screen->id}", array() ); // Back compat for pre-4.0 view links. if ( ! empty( $views ) ) { echo '<ul class="filter-links">'; foreach ( $views as $class => $view ) { echo "<li class='$class'>$view</li>"; } echo '</ul>'; } ?> </div> <div class="search-form"> <p class="search-box"> <label class="screen-reader-text" for="media-search-input"> <?php /* translators: Hidden accessibility text. */ esc_html_e( 'Search Media' ); ?> </label> <input type="search" id="media-search-input" class="search" name="s" value="<?php _admin_search_query(); ?>"> <input id="search-submit" type="submit" class="button" value="<?php esc_attr_e( 'Search Media' ); ?>"> </p> </div> </div> <?php } /** * @return string[] Array of column titles keyed by their column name. */ public function get_columns() { $posts_columns = array(); $posts_columns['cb'] = '<input type="checkbox" />'; /* translators: Column name. */ $posts_columns['title'] = _x( 'File', 'column name' ); $posts_columns['author'] = __( 'Author' ); $taxonomies = get_taxonomies_for_attachments( 'objects' ); $taxonomies = wp_filter_object_list( $taxonomies, array( 'show_admin_column' => true ), 'and', 'name' ); /** * Filters the taxonomy columns for attachments in the Media list table. * * @since 3.5.0 * * @param string[] $taxonomies An array of registered taxonomy names to show for attachments. * @param string $post_type The post type. Default 'attachment'. */ $taxonomies = apply_filters( 'manage_taxonomies_for_attachment_columns', $taxonomies, 'attachment' ); $taxonomies = array_filter( $taxonomies, 'taxonomy_exists' ); foreach ( $taxonomies as $taxonomy ) { if ( 'category' === $taxonomy ) { $column_key = 'categories'; } elseif ( 'post_tag' === $taxonomy ) { $column_key = 'tags'; } else { $column_key = 'taxonomy-' . $taxonomy; } $posts_columns[ $column_key ] = get_taxonomy( $taxonomy )->labels->name; } /* translators: Column name. */ if ( ! $this->detached ) { $posts_columns['parent'] = _x( 'Uploaded to', 'column name' ); if ( post_type_supports( 'attachment', 'comments' ) ) { $posts_columns['comments'] = sprintf( '<span class="vers comment-grey-bubble" title="%1$s" aria-hidden="true"></span><span class="screen-reader-text">%2$s</span>', esc_attr__( 'Comments' ), /* translators: Hidden accessibility text. */ __( 'Comments' ) ); } } /* translators: Column name. */ $posts_columns['date'] = _x( 'Date', 'column name' ); /** * Filters the Media list table columns. * * @since 2.5.0 * * @param string[] $posts_columns An array of columns displayed in the Media list table. * @param bool $detached Whether the list table contains media not attached * to any posts. Default true. */ return apply_filters( 'manage_media_columns', $posts_columns, $this->detached ); } /** * @return array */ protected function get_sortable_columns() { return array( 'title' => array( 'title', false, _x( 'File', 'column name' ), __( 'Table ordered by File Name.' ) ), 'author' => array( 'author', false, __( 'Author' ), __( 'Table ordered by Author.' ) ), 'parent' => array( 'parent', false, _x( 'Uploaded to', 'column name' ), __( 'Table ordered by Uploaded To.' ) ), 'comments' => array( 'comment_count', __( 'Comments' ), false, __( 'Table ordered by Comments.' ) ), 'date' => array( 'date', true, __( 'Date' ), __( 'Table ordered by Date.' ), 'desc' ), ); } /** * Handles the checkbox column output. * * @since 4.3.0 * @since 5.9.0 Renamed `$post` to `$item` to match parent class for PHP 8 named parameter support. * * @param WP_Post $item The current WP_Post object. */ public function column_cb( $item ) { // Restores the more descriptive, specific name for use within this method. $post = $item; if ( current_user_can( 'edit_post', $post->ID ) ) { ?> <input type="checkbox" name="media[]" id="cb-select-<?php echo $post->ID; ?>" value="<?php echo $post->ID; ?>" /> <label for="cb-select-<?php echo $post->ID; ?>"> <span class="screen-reader-text"> <?php /* translators: Hidden accessibility text. %s: Attachment title. */ printf( __( 'Select %s' ), _draft_or_post_title() ); ?> </span> </label> <?php } } /** * Handles the title column output. * * @since 4.3.0 * * @param WP_Post $post The current WP_Post object. */ public function column_title( $post ) { list( $mime ) = explode( '/', $post->post_mime_type ); $attachment_id = $post->ID; if ( has_post_thumbnail( $post ) ) { $thumbnail_id = get_post_thumbnail_id( $post ); if ( ! empty( $thumbnail_id ) ) { $attachment_id = $thumbnail_id; } } $title = _draft_or_post_title(); $thumb = wp_get_attachment_image( $attachment_id, array( 60, 60 ), true, array( 'alt' => '' ) ); $link_start = ''; $link_end = ''; if ( current_user_can( 'edit_post', $post->ID ) && ! $this->is_trash ) { $link_start = sprintf( '<a href="%s" aria-label="%s">', get_edit_post_link( $post->ID ), /* translators: %s: Attachment title. */ esc_attr( sprintf( __( '“%s” (Edit)' ), $title ) ) ); $link_end = '</a>'; } $class = $thumb ? ' class="has-media-icon"' : ''; ?> <strong<?php echo $class; ?>> <?php echo $link_start; if ( $thumb ) : ?> <span class="media-icon <?php echo sanitize_html_class( $mime . '-icon' ); ?>"><?php echo $thumb; ?></span> <?php endif; echo $title . $link_end; _media_states( $post ); ?> </strong> <p class="filename"> <span class="screen-reader-text"> <?php /* translators: Hidden accessibility text. */ _e( 'File name:' ); ?> </span> <?php $file = get_attached_file( $post->ID ); echo esc_html( wp_basename( $file ) ); ?> </p> <?php } /** * Handles the author column output. * * @since 4.3.0 * * @param WP_Post $post The current WP_Post object. */ public function column_author( $post ) { printf( '<a href="%s">%s</a>', esc_url( add_query_arg( array( 'author' => get_the_author_meta( 'ID' ) ), 'upload.php' ) ), get_the_author() ); } /** * Handles the description column output. * * @since 4.3.0 * @deprecated 6.2.0 * * @param WP_Post $post The current WP_Post object. */ public function column_desc( $post ) { _deprecated_function( __METHOD__, '6.2.0' ); echo has_excerpt() ? $post->post_excerpt : ''; } /** * Handles the date column output. * * @since 4.3.0 * * @param WP_Post $post The current WP_Post object. */ public function column_date( $post ) { if ( '0000-00-00 00:00:00' === $post->post_date ) { $h_time = __( 'Unpublished' ); } else { $time = get_post_timestamp( $post ); $time_diff = time() - $time; if ( $time && $time_diff > 0 && $time_diff < DAY_IN_SECONDS ) { /* translators: %s: Human-readable time difference. */ $h_time = sprintf( __( '%s ago' ), human_time_diff( $time ) ); } else { $h_time = get_the_time( __( 'Y/m/d' ), $post ); } } /** * Filters the published time of an attachment displayed in the Media list table. * * @since 6.0.0 * * @param string $h_time The published time. * @param WP_Post $post Attachment object. * @param string $column_name The column name. */ echo apply_filters( 'media_date_column_time', $h_time, $post, 'date' ); } /** * Handles the parent column output. * * @since 4.3.0 * * @param WP_Post $post The current WP_Post object. */ public function column_parent( $post ) { $user_can_edit = current_user_can( 'edit_post', $post->ID ); if ( $post->post_parent > 0 ) { $parent = get_post( $post->post_parent ); } else { $parent = false; } if ( $parent ) { $title = _draft_or_post_title( $post->post_parent ); $parent_type = get_post_type_object( $parent->post_type ); if ( $parent_type && $parent_type->show_ui && current_user_can( 'edit_post', $post->post_parent ) ) { printf( '<strong><a href="%s">%s</a></strong>', get_edit_post_link( $post->post_parent ), $title ); } elseif ( $parent_type && current_user_can( 'read_post', $post->post_parent ) ) { printf( '<strong>%s</strong>', $title ); } else { _e( '(Private post)' ); } if ( $user_can_edit ) : $detach_url = add_query_arg( array( 'parent_post_id' => $post->post_parent, 'media[]' => $post->ID, '_wpnonce' => wp_create_nonce( 'bulk-' . $this->_args['plural'] ), ), 'upload.php' ); printf( '<br /><a href="%s" class="hide-if-no-js detach-from-parent" aria-label="%s">%s</a>', $detach_url, /* translators: %s: Title of the post the attachment is attached to. */ esc_attr( sprintf( __( 'Detach from “%s”' ), $title ) ), __( 'Detach' ) ); endif; } else { _e( '(Unattached)' ); ?> <?php if ( $user_can_edit ) { $title = _draft_or_post_title( $post->post_parent ); printf( '<br /><a href="#the-list" onclick="findPosts.open( \'media[]\', \'%s\' ); return false;" class="hide-if-no-js aria-button-if-js" aria-label="%s">%s</a>', $post->ID, /* translators: %s: Attachment title. */ esc_attr( sprintf( __( 'Attach “%s” to existing content' ), $title ) ), __( 'Attach' ) ); } } } /** * Handles the comments column output. * * @since 4.3.0 * * @param WP_Post $post The current WP_Post object. */ public function column_comments( $post ) { echo '<div class="post-com-count-wrapper">'; if ( isset( $this->comment_pending_count[ $post->ID ] ) ) { $pending_comments = $this->comment_pending_count[ $post->ID ]; } else { $pending_comments = get_pending_comments_num( $post->ID ); } $this->comments_bubble( $post->ID, $pending_comments ); echo '</div>'; } /** * Handles output for the default column. * * @since 4.3.0 * @since 5.9.0 Renamed `$post` to `$item` to match parent class for PHP 8 named parameter support. * * @param WP_Post $item The current WP_Post object. * @param string $column_name Current column name. */ public function column_default( $item, $column_name ) { // Restores the more descriptive, specific name for use within this method. $post = $item; if ( 'categories' === $column_name ) { $taxonomy = 'category'; } elseif ( 'tags' === $column_name ) { $taxonomy = 'post_tag'; } elseif ( str_starts_with( $column_name, 'taxonomy-' ) ) { $taxonomy = substr( $column_name, 9 ); } else { $taxonomy = false; } if ( $taxonomy ) { $terms = get_the_terms( $post->ID, $taxonomy ); if ( is_array( $terms ) ) { $output = array(); foreach ( $terms as $t ) { $posts_in_term_qv = array(); $posts_in_term_qv['taxonomy'] = $taxonomy; $posts_in_term_qv['term'] = $t->slug; $output[] = sprintf( '<a href="%s">%s</a>', esc_url( add_query_arg( $posts_in_term_qv, 'upload.php' ) ), esc_html( sanitize_term_field( 'name', $t->name, $t->term_id, $taxonomy, 'display' ) ) ); } echo implode( wp_get_list_item_separator(), $output ); } else { echo '<span aria-hidden="true">—</span><span class="screen-reader-text">' . get_taxonomy( $taxonomy )->labels->no_terms . '</span>'; } return; } /** * Fires for each custom column in the Media list table. * * Custom columns are registered using the {@see 'manage_media_columns'} filter. * * @since 2.5.0 * * @param string $column_name Name of the custom column. * @param int $post_id Attachment ID. */ do_action( 'manage_media_custom_column', $column_name, $post->ID ); } /** * Generates the list table rows. * * @since 3.1.0 * * @global WP_Post $post Global post object. * @global WP_Query $wp_query WordPress Query object. */ public function display_rows() { global $post, $wp_query; $post_ids = wp_list_pluck( $wp_query->posts, 'ID' ); reset( $wp_query->posts ); $this->comment_pending_count = get_pending_comments_num( $post_ids ); add_filter( 'the_title', 'esc_html' ); while ( have_posts() ) : the_post(); if ( $this->is_trash && 'trash' !== $post->post_status || ! $this->is_trash && 'trash' === $post->post_status ) { continue; } $post_owner = ( get_current_user_id() === (int) $post->post_author ) ? 'self' : 'other'; ?> <tr id="post-<?php echo $post->ID; ?>" class="<?php echo trim( ' author-' . $post_owner . ' status-' . $post->post_status ); ?>"> <?php $this->single_row_columns( $post ); ?> </tr> <?php endwhile; } /** * Gets the name of the default primary column. * * @since 4.3.0 * * @return string Name of the default primary column, in this case, 'title'. */ protected function get_default_primary_column_name() { return 'title'; } /** * @param WP_Post $post * @param string $att_title * @return array */ private function _get_row_actions( $post, $att_title ) { $actions = array(); if ( ! $this->is_trash && current_user_can( 'edit_post', $post->ID ) ) { $actions['edit'] = sprintf( '<a href="%s" aria-label="%s">%s</a>', esc_url( get_edit_post_link( $post->ID ) ), /* translators: %s: Attachment title. */ esc_attr( sprintf( __( 'Edit “%s”' ), $att_title ) ), __( 'Edit' ) ); } if ( current_user_can( 'delete_post', $post->ID ) ) { if ( $this->is_trash ) { $actions['untrash'] = sprintf( '<a href="%s" class="submitdelete aria-button-if-js" aria-label="%s">%s</a>', esc_url( wp_nonce_url( "post.php?action=untrash&post=$post->ID", 'untrash-post_' . $post->ID ) ), /* translators: %s: Attachment title. */ esc_attr( sprintf( __( 'Restore “%s” from the Trash' ), $att_title ) ), __( 'Restore' ) ); } elseif ( EMPTY_TRASH_DAYS && MEDIA_TRASH ) { $actions['trash'] = sprintf( '<a href="%s" class="submitdelete aria-button-if-js" aria-label="%s">%s</a>', esc_url( wp_nonce_url( "post.php?action=trash&post=$post->ID", 'trash-post_' . $post->ID ) ), /* translators: %s: Attachment title. */ esc_attr( sprintf( __( 'Move “%s” to the Trash' ), $att_title ) ), _x( 'Trash', 'verb' ) ); } if ( $this->is_trash || ! EMPTY_TRASH_DAYS || ! MEDIA_TRASH ) { $show_confirmation = ( ! $this->is_trash && ! MEDIA_TRASH ) ? " onclick='return showNotice.warn();'" : ''; $actions['delete'] = sprintf( '<a href="%s" class="submitdelete aria-button-if-js"%s aria-label="%s">%s</a>', esc_url( wp_nonce_url( "post.php?action=delete&post=$post->ID", 'delete-post_' . $post->ID ) ), $show_confirmation, /* translators: %s: Attachment title. */ esc_attr( sprintf( __( 'Delete “%s” permanently' ), $att_title ) ), __( 'Delete Permanently' ) ); } } $attachment_url = wp_get_attachment_url( $post->ID ); if ( ! $this->is_trash ) { $permalink = get_permalink( $post->ID ); if ( $permalink ) { $actions['view'] = sprintf( '<a href="%s" aria-label="%s" rel="bookmark">%s</a>', esc_url( $permalink ), /* translators: %s: Attachment title. */ esc_attr( sprintf( __( 'View “%s”' ), $att_title ) ), __( 'View' ) ); } if ( $attachment_url ) { $actions['copy'] = sprintf( '<span class="copy-to-clipboard-container"><button type="button" class="button-link copy-attachment-url media-library" data-clipboard-text="%s" aria-label="%s">%s</button><span class="success hidden" aria-hidden="true">%s</span></span>', esc_url( $attachment_url ), /* translators: %s: Attachment title. */ esc_attr( sprintf( __( 'Copy “%s” URL to clipboard' ), $att_title ) ), __( 'Copy URL' ), __( 'Copied!' ) ); } } if ( $attachment_url ) { $actions['download'] = sprintf( '<a href="%s" aria-label="%s" download>%s</a>', esc_url( $attachment_url ), /* translators: %s: Attachment title. */ esc_attr( sprintf( __( 'Download “%s”' ), $att_title ) ), __( 'Download file' ) ); } if ( $this->detached && current_user_can( 'edit_post', $post->ID ) ) { $actions['attach'] = sprintf( '<a href="#the-list" onclick="findPosts.open( \'media[]\', \'%s\' ); return false;" class="hide-if-no-js aria-button-if-js" aria-label="%s">%s</a>', $post->ID, /* translators: %s: Attachment title. */ esc_attr( sprintf( __( 'Attach “%s” to existing content' ), $att_title ) ), __( 'Attach' ) ); } /** * Filters the action links for each attachment in the Media list table. * * @since 2.8.0 * * @param string[] $actions An array of action links for each attachment. * Includes 'Edit', 'Delete Permanently', 'View', * 'Copy URL' and 'Download file'. * @param WP_Post $post WP_Post object for the current attachment. * @param bool $detached Whether the list table contains media not attached * to any posts. Default true. */ return apply_filters( 'media_row_actions', $actions, $post, $this->detached ); } /** * Generates and displays row action links. * * @since 4.3.0 * @since 5.9.0 Renamed `$post` to `$item` to match parent class for PHP 8 named parameter support. * * @param WP_Post $item Attachment being acted upon. * @param string $column_name Current column name. * @param string $primary Primary column name. * @return string Row actions output for media attachments, or an empty string * if the current column is not the primary column. */ protected function handle_row_actions( $item, $column_name, $primary ) { if ( $primary !== $column_name ) { return ''; } // Restores the more descriptive, specific name for use within this method. $post = $item; $att_title = _draft_or_post_title(); $actions = $this->_get_row_actions( $post, $att_title ); return $this->row_actions( $actions ); } } class-theme-installer-skin.php 0000644 00000030676 14735706075 0012451 0 ustar 00 <?php /** * Upgrader API: Theme_Installer_Skin class * * @package WordPress * @subpackage Upgrader * @since 4.6.0 */ /** * Theme Installer Skin for the WordPress Theme Installer. * * @since 2.8.0 * @since 4.6.0 Moved to its own file from wp-admin/includes/class-wp-upgrader-skins.php. * * @see WP_Upgrader_Skin */ class Theme_Installer_Skin extends WP_Upgrader_Skin { public $api; public $type; public $url; public $overwrite; private $is_downgrading = false; /** * Constructor. * * Sets up the theme installer skin. * * @since 2.8.0 * * @param array $args */ public function __construct( $args = array() ) { $defaults = array( 'type' => 'web', 'url' => '', 'theme' => '', 'nonce' => '', 'title' => '', 'overwrite' => '', ); $args = wp_parse_args( $args, $defaults ); $this->type = $args['type']; $this->url = $args['url']; $this->api = isset( $args['api'] ) ? $args['api'] : array(); $this->overwrite = $args['overwrite']; parent::__construct( $args ); } /** * Performs an action before installing a theme. * * @since 2.8.0 */ public function before() { if ( ! empty( $this->api ) ) { $this->upgrader->strings['process_success'] = sprintf( $this->upgrader->strings['process_success_specific'], $this->api->name, $this->api->version ); } } /** * Hides the `process_failed` error when updating a theme by uploading a zip file. * * @since 5.5.0 * * @param WP_Error $wp_error WP_Error object. * @return bool True if the error should be hidden, false otherwise. */ public function hide_process_failed( $wp_error ) { if ( 'upload' === $this->type && '' === $this->overwrite && $wp_error->get_error_code() === 'folder_exists' ) { return true; } return false; } /** * Performs an action following a single theme install. * * @since 2.8.0 */ public function after() { if ( $this->do_overwrite() ) { return; } if ( empty( $this->upgrader->result['destination_name'] ) ) { return; } $theme_info = $this->upgrader->theme_info(); if ( empty( $theme_info ) ) { return; } $name = $theme_info->display( 'Name' ); $stylesheet = $this->upgrader->result['destination_name']; $template = $theme_info->get_template(); $activate_link = add_query_arg( array( 'action' => 'activate', 'template' => urlencode( $template ), 'stylesheet' => urlencode( $stylesheet ), ), admin_url( 'themes.php' ) ); $activate_link = wp_nonce_url( $activate_link, 'switch-theme_' . $stylesheet ); $install_actions = array(); if ( current_user_can( 'edit_theme_options' ) && current_user_can( 'customize' ) && ! $theme_info->is_block_theme() ) { $customize_url = add_query_arg( array( 'theme' => urlencode( $stylesheet ), 'return' => urlencode( admin_url( 'web' === $this->type ? 'theme-install.php' : 'themes.php' ) ), ), admin_url( 'customize.php' ) ); $install_actions['preview'] = sprintf( '<a href="%s" class="hide-if-no-customize load-customize">' . '<span aria-hidden="true">%s</span><span class="screen-reader-text">%s</span></a>', esc_url( $customize_url ), __( 'Live Preview' ), /* translators: Hidden accessibility text. %s: Theme name. */ sprintf( __( 'Live Preview “%s”' ), $name ) ); } $install_actions['activate'] = sprintf( '<a href="%s" class="activatelink">' . '<span aria-hidden="true">%s</span><span class="screen-reader-text">%s</span></a>', esc_url( $activate_link ), _x( 'Activate', 'theme' ), /* translators: Hidden accessibility text. %s: Theme name. */ sprintf( _x( 'Activate “%s”', 'theme' ), $name ) ); if ( is_network_admin() && current_user_can( 'manage_network_themes' ) ) { $install_actions['network_enable'] = sprintf( '<a href="%s" target="_parent">%s</a>', esc_url( wp_nonce_url( 'themes.php?action=enable&theme=' . urlencode( $stylesheet ), 'enable-theme_' . $stylesheet ) ), __( 'Network Enable' ) ); } if ( 'web' === $this->type ) { $install_actions['themes_page'] = sprintf( '<a href="%s" target="_parent">%s</a>', self_admin_url( 'theme-install.php' ), __( 'Go to Theme Installer' ) ); } elseif ( current_user_can( 'switch_themes' ) || current_user_can( 'edit_theme_options' ) ) { $install_actions['themes_page'] = sprintf( '<a href="%s" target="_parent">%s</a>', self_admin_url( 'themes.php' ), __( 'Go to Themes page' ) ); } if ( ! $this->result || is_wp_error( $this->result ) || is_network_admin() || ! current_user_can( 'switch_themes' ) ) { unset( $install_actions['activate'], $install_actions['preview'] ); } elseif ( get_option( 'template' ) === $stylesheet ) { unset( $install_actions['activate'] ); } /** * Filters the list of action links available following a single theme installation. * * @since 2.8.0 * * @param string[] $install_actions Array of theme action links. * @param object $api Object containing WordPress.org API theme data. * @param string $stylesheet Theme directory name. * @param WP_Theme $theme_info Theme object. */ $install_actions = apply_filters( 'install_theme_complete_actions', $install_actions, $this->api, $stylesheet, $theme_info ); if ( ! empty( $install_actions ) ) { $this->feedback( implode( ' | ', (array) $install_actions ) ); } } /** * Checks if the theme can be overwritten and outputs the HTML for overwriting a theme on upload. * * @since 5.5.0 * * @return bool Whether the theme can be overwritten and HTML was outputted. */ private function do_overwrite() { if ( 'upload' !== $this->type || ! is_wp_error( $this->result ) || 'folder_exists' !== $this->result->get_error_code() ) { return false; } $folder = $this->result->get_error_data( 'folder_exists' ); $folder = rtrim( $folder, '/' ); $current_theme_data = false; $all_themes = wp_get_themes( array( 'errors' => null ) ); foreach ( $all_themes as $theme ) { $stylesheet_dir = wp_normalize_path( $theme->get_stylesheet_directory() ); if ( rtrim( $stylesheet_dir, '/' ) !== $folder ) { continue; } $current_theme_data = $theme; } $new_theme_data = $this->upgrader->new_theme_data; if ( ! $current_theme_data || ! $new_theme_data ) { return false; } echo '<h2 class="update-from-upload-heading">' . esc_html__( 'This theme is already installed.' ) . '</h2>'; // Check errors for active theme. if ( is_wp_error( $current_theme_data->errors() ) ) { $this->feedback( 'current_theme_has_errors', $current_theme_data->errors()->get_error_message() ); } $this->is_downgrading = version_compare( $current_theme_data['Version'], $new_theme_data['Version'], '>' ); $is_invalid_parent = false; if ( ! empty( $new_theme_data['Template'] ) ) { $is_invalid_parent = ! in_array( $new_theme_data['Template'], array_keys( $all_themes ), true ); } $rows = array( 'Name' => __( 'Theme name' ), 'Version' => __( 'Version' ), 'Author' => __( 'Author' ), 'RequiresWP' => __( 'Required WordPress version' ), 'RequiresPHP' => __( 'Required PHP version' ), 'Template' => __( 'Parent theme' ), ); $table = '<table class="update-from-upload-comparison"><tbody>'; $table .= '<tr><th></th><th>' . esc_html_x( 'Active', 'theme' ) . '</th><th>' . esc_html_x( 'Uploaded', 'theme' ) . '</th></tr>'; $is_same_theme = true; // Let's consider only these rows. foreach ( $rows as $field => $label ) { $old_value = $current_theme_data->display( $field, false ); $old_value = $old_value ? (string) $old_value : '-'; $new_value = ! empty( $new_theme_data[ $field ] ) ? (string) $new_theme_data[ $field ] : '-'; if ( $old_value === $new_value && '-' === $new_value && 'Template' === $field ) { continue; } $is_same_theme = $is_same_theme && ( $old_value === $new_value ); $diff_field = ( 'Version' !== $field && $new_value !== $old_value ); $diff_version = ( 'Version' === $field && $this->is_downgrading ); $invalid_parent = false; if ( 'Template' === $field && $is_invalid_parent ) { $invalid_parent = true; $new_value .= ' ' . __( '(not found)' ); } $table .= '<tr><td class="name-label">' . $label . '</td><td>' . wp_strip_all_tags( $old_value ) . '</td>'; $table .= ( $diff_field || $diff_version || $invalid_parent ) ? '<td class="warning">' : '<td>'; $table .= wp_strip_all_tags( $new_value ) . '</td></tr>'; } $table .= '</tbody></table>'; /** * Filters the compare table output for overwriting a theme package on upload. * * @since 5.5.0 * * @param string $table The output table with Name, Version, Author, RequiresWP, and RequiresPHP info. * @param WP_Theme $current_theme_data Active theme data. * @param array $new_theme_data Array with uploaded theme data. */ echo apply_filters( 'install_theme_overwrite_comparison', $table, $current_theme_data, $new_theme_data ); $install_actions = array(); $can_update = true; $blocked_message = '<p>' . esc_html__( 'The theme cannot be updated due to the following:' ) . '</p>'; $blocked_message .= '<ul class="ul-disc">'; $requires_php = isset( $new_theme_data['RequiresPHP'] ) ? $new_theme_data['RequiresPHP'] : null; $requires_wp = isset( $new_theme_data['RequiresWP'] ) ? $new_theme_data['RequiresWP'] : null; if ( ! is_php_version_compatible( $requires_php ) ) { $error = sprintf( /* translators: 1: Current PHP version, 2: Version required by the uploaded theme. */ __( 'The PHP version on your server is %1$s, however the uploaded theme requires %2$s.' ), PHP_VERSION, $requires_php ); $blocked_message .= '<li>' . esc_html( $error ) . '</li>'; $can_update = false; } if ( ! is_wp_version_compatible( $requires_wp ) ) { $error = sprintf( /* translators: 1: Current WordPress version, 2: Version required by the uploaded theme. */ __( 'Your WordPress version is %1$s, however the uploaded theme requires %2$s.' ), esc_html( wp_get_wp_version() ), $requires_wp ); $blocked_message .= '<li>' . esc_html( $error ) . '</li>'; $can_update = false; } $blocked_message .= '</ul>'; if ( $can_update ) { if ( $this->is_downgrading ) { $warning = sprintf( /* translators: %s: Documentation URL. */ __( 'You are uploading an older version of the active theme. You can continue to install the older version, but be sure to <a href="%s">back up your database and files</a> first.' ), __( 'https://developer.wordpress.org/advanced-administration/security/backup/' ) ); } else { $warning = sprintf( /* translators: %s: Documentation URL. */ __( 'You are updating a theme. Be sure to <a href="%s">back up your database and files</a> first.' ), __( 'https://developer.wordpress.org/advanced-administration/security/backup/' ) ); } echo '<p class="update-from-upload-notice">' . $warning . '</p>'; $overwrite = $this->is_downgrading ? 'downgrade-theme' : 'update-theme'; $install_actions['overwrite_theme'] = sprintf( '<a class="button button-primary update-from-upload-overwrite" href="%s" target="_parent">%s</a>', wp_nonce_url( add_query_arg( 'overwrite', $overwrite, $this->url ), 'theme-upload' ), _x( 'Replace active with uploaded', 'theme' ) ); } else { echo $blocked_message; } $cancel_url = add_query_arg( 'action', 'upload-theme-cancel-overwrite', $this->url ); $install_actions['themes_page'] = sprintf( '<a class="button" href="%s" target="_parent">%s</a>', wp_nonce_url( $cancel_url, 'theme-upload-cancel-overwrite' ), __( 'Cancel and go back' ) ); /** * Filters the list of action links available following a single theme installation failure * when overwriting is allowed. * * @since 5.5.0 * * @param string[] $install_actions Array of theme action links. * @param object $api Object containing WordPress.org API theme data. * @param array $new_theme_data Array with uploaded theme data. */ $install_actions = apply_filters( 'install_theme_overwrite_actions', $install_actions, $this->api, $new_theme_data ); if ( ! empty( $install_actions ) ) { printf( '<p class="update-from-upload-expired hidden">%s</p>', __( 'The uploaded file has expired. Please go back and upload it again.' ) ); echo '<p class="update-from-upload-actions">' . implode( ' ', (array) $install_actions ) . '</p>'; } return true; } } class-wp-privacy-policy-content.php 0000644 00000100011 14735706075 0013435 0 ustar 00 <?php /** * WP_Privacy_Policy_Content class. * * @package WordPress * @subpackage Administration * @since 4.9.6 */ #[AllowDynamicProperties] final class WP_Privacy_Policy_Content { private static $policy_content = array(); /** * Constructor * * @since 4.9.6 */ private function __construct() {} /** * Adds content to the postbox shown when editing the privacy policy. * * Plugins and themes should suggest text for inclusion in the site's privacy policy. * The suggested text should contain information about any functionality that affects user privacy, * and will be shown in the Suggested Privacy Policy Content postbox. * * Intended for use from `wp_add_privacy_policy_content()`. * * @since 4.9.6 * * @param string $plugin_name The name of the plugin or theme that is suggesting content for the site's privacy policy. * @param string $policy_text The suggested content for inclusion in the policy. */ public static function add( $plugin_name, $policy_text ) { if ( empty( $plugin_name ) || empty( $policy_text ) ) { return; } $data = array( 'plugin_name' => $plugin_name, 'policy_text' => $policy_text, ); if ( ! in_array( $data, self::$policy_content, true ) ) { self::$policy_content[] = $data; } } /** * Performs a quick check to determine whether any privacy info has changed. * * @since 4.9.6 */ public static function text_change_check() { $policy_page_id = (int) get_option( 'wp_page_for_privacy_policy' ); // The site doesn't have a privacy policy. if ( empty( $policy_page_id ) ) { return false; } if ( ! current_user_can( 'edit_post', $policy_page_id ) ) { return false; } $old = (array) get_post_meta( $policy_page_id, '_wp_suggested_privacy_policy_content' ); // Updates are not relevant if the user has not reviewed any suggestions yet. if ( empty( $old ) ) { return false; } $cached = get_option( '_wp_suggested_policy_text_has_changed' ); /* * When this function is called before `admin_init`, `self::$policy_content` * has not been populated yet, so use the cached result from the last * execution instead. */ if ( ! did_action( 'admin_init' ) ) { return 'changed' === $cached; } $new = self::$policy_content; // Remove the extra values added to the meta. foreach ( $old as $key => $data ) { if ( ! is_array( $data ) || ! empty( $data['removed'] ) ) { unset( $old[ $key ] ); continue; } $old[ $key ] = array( 'plugin_name' => $data['plugin_name'], 'policy_text' => $data['policy_text'], ); } // Normalize the order of texts, to facilitate comparison. sort( $old ); sort( $new ); /* * The == operator (equal, not identical) was used intentionally. * See https://www.php.net/manual/en/language.operators.array.php */ if ( $new != $old ) { /* * A plugin was activated or deactivated, or some policy text has changed. * Show a notice on the relevant screens to inform the admin. */ add_action( 'admin_notices', array( 'WP_Privacy_Policy_Content', 'policy_text_changed_notice' ) ); $state = 'changed'; } else { $state = 'not-changed'; } // Cache the result for use before `admin_init` (see above). if ( $cached !== $state ) { update_option( '_wp_suggested_policy_text_has_changed', $state, false ); } return 'changed' === $state; } /** * Outputs a warning when some privacy info has changed. * * @since 4.9.6 */ public static function policy_text_changed_notice() { $screen = get_current_screen()->id; if ( 'privacy' !== $screen ) { return; } $privacy_message = sprintf( /* translators: %s: Privacy Policy Guide URL. */ __( 'The suggested privacy policy text has changed. Please <a href="%s">review the guide</a> and update your privacy policy.' ), esc_url( admin_url( 'privacy-policy-guide.php?tab=policyguide' ) ) ); wp_admin_notice( $privacy_message, array( 'type' => 'warning', 'additional_classes' => array( 'policy-text-updated' ), 'dismissible' => true, ) ); } /** * Updates the cached policy info when the policy page is updated. * * @since 4.9.6 * @access private * * @param int $post_id The ID of the updated post. */ public static function _policy_page_updated( $post_id ) { $policy_page_id = (int) get_option( 'wp_page_for_privacy_policy' ); if ( ! $policy_page_id || $policy_page_id !== (int) $post_id ) { return; } // Remove updated|removed status. $old = (array) get_post_meta( $policy_page_id, '_wp_suggested_privacy_policy_content' ); $done = array(); $update_cache = false; foreach ( $old as $old_key => $old_data ) { if ( ! empty( $old_data['removed'] ) ) { // Remove the old policy text. $update_cache = true; continue; } if ( ! empty( $old_data['updated'] ) ) { // 'updated' is now 'added'. $done[] = array( 'plugin_name' => $old_data['plugin_name'], 'policy_text' => $old_data['policy_text'], 'added' => $old_data['updated'], ); $update_cache = true; } else { $done[] = $old_data; } } if ( $update_cache ) { delete_post_meta( $policy_page_id, '_wp_suggested_privacy_policy_content' ); // Update the cache. foreach ( $done as $data ) { add_post_meta( $policy_page_id, '_wp_suggested_privacy_policy_content', $data ); } } } /** * Checks for updated, added or removed privacy policy information from plugins. * * Caches the current info in post_meta of the policy page. * * @since 4.9.6 * * @return array The privacy policy text/information added by core and plugins. */ public static function get_suggested_policy_text() { $policy_page_id = (int) get_option( 'wp_page_for_privacy_policy' ); $checked = array(); $time = time(); $update_cache = false; $new = self::$policy_content; $old = array(); if ( $policy_page_id ) { $old = (array) get_post_meta( $policy_page_id, '_wp_suggested_privacy_policy_content' ); } // Check for no-changes and updates. foreach ( $new as $new_key => $new_data ) { foreach ( $old as $old_key => $old_data ) { $found = false; if ( $new_data['policy_text'] === $old_data['policy_text'] ) { // Use the new plugin name in case it was changed, translated, etc. if ( $old_data['plugin_name'] !== $new_data['plugin_name'] ) { $old_data['plugin_name'] = $new_data['plugin_name']; $update_cache = true; } // A plugin was re-activated. if ( ! empty( $old_data['removed'] ) ) { unset( $old_data['removed'] ); $old_data['added'] = $time; $update_cache = true; } $checked[] = $old_data; $found = true; } elseif ( $new_data['plugin_name'] === $old_data['plugin_name'] ) { // The info for the policy was updated. $checked[] = array( 'plugin_name' => $new_data['plugin_name'], 'policy_text' => $new_data['policy_text'], 'updated' => $time, ); $found = true; $update_cache = true; } if ( $found ) { unset( $new[ $new_key ], $old[ $old_key ] ); continue 2; } } } if ( ! empty( $new ) ) { // A plugin was activated. foreach ( $new as $new_data ) { if ( ! empty( $new_data['plugin_name'] ) && ! empty( $new_data['policy_text'] ) ) { $new_data['added'] = $time; $checked[] = $new_data; } } $update_cache = true; } if ( ! empty( $old ) ) { // A plugin was deactivated. foreach ( $old as $old_data ) { if ( ! empty( $old_data['plugin_name'] ) && ! empty( $old_data['policy_text'] ) ) { $data = array( 'plugin_name' => $old_data['plugin_name'], 'policy_text' => $old_data['policy_text'], 'removed' => $time, ); $checked[] = $data; } } $update_cache = true; } if ( $update_cache && $policy_page_id ) { delete_post_meta( $policy_page_id, '_wp_suggested_privacy_policy_content' ); // Update the cache. foreach ( $checked as $data ) { add_post_meta( $policy_page_id, '_wp_suggested_privacy_policy_content', $data ); } } return $checked; } /** * Adds a notice with a link to the guide when editing the privacy policy page. * * @since 4.9.6 * @since 5.0.0 The `$post` parameter was made optional. * * @global WP_Post $post Global post object. * * @param WP_Post|null $post The currently edited post. Default null. */ public static function notice( $post = null ) { if ( is_null( $post ) ) { global $post; } else { $post = get_post( $post ); } if ( ! ( $post instanceof WP_Post ) ) { return; } if ( ! current_user_can( 'manage_privacy_options' ) ) { return; } $current_screen = get_current_screen(); $policy_page_id = (int) get_option( 'wp_page_for_privacy_policy' ); if ( 'post' !== $current_screen->base || $policy_page_id !== $post->ID ) { return; } $message = __( 'Need help putting together your new Privacy Policy page? Check out our guide for recommendations on what content to include, along with policies suggested by your plugins and theme.' ); $url = esc_url( admin_url( 'options-privacy.php?tab=policyguide' ) ); $label = __( 'View Privacy Policy Guide.' ); if ( get_current_screen()->is_block_editor() ) { wp_enqueue_script( 'wp-notices' ); $action = array( 'url' => $url, 'label' => $label, ); wp_add_inline_script( 'wp-notices', sprintf( 'wp.data.dispatch( "core/notices" ).createWarningNotice( "%s", { actions: [ %s ], isDismissible: false } )', $message, wp_json_encode( $action ) ), 'after' ); } else { $message .= sprintf( ' <a href="%s" target="_blank">%s <span class="screen-reader-text">%s</span></a>', $url, $label, /* translators: Hidden accessibility text. */ __( '(opens in a new tab)' ) ); wp_admin_notice( $message, array( 'type' => 'warning', 'additional_classes' => array( 'inline', 'wp-pp-notice' ), ) ); } } /** * Outputs the privacy policy guide together with content from the theme and plugins. * * @since 4.9.6 */ public static function privacy_policy_guide() { $content_array = self::get_suggested_policy_text(); $content = ''; $date_format = __( 'F j, Y' ); foreach ( $content_array as $section ) { $class = ''; $meta = ''; $removed = ''; if ( ! empty( $section['removed'] ) ) { $badge_class = ' red'; $date = date_i18n( $date_format, $section['removed'] ); /* translators: %s: Date of plugin deactivation. */ $badge_title = sprintf( __( 'Removed %s.' ), $date ); /* translators: %s: Date of plugin deactivation. */ $removed = sprintf( __( 'You deactivated this plugin on %s and may no longer need this policy.' ), $date ); $removed = wp_get_admin_notice( $removed, array( 'type' => 'info', 'additional_classes' => array( 'inline' ), ) ); } elseif ( ! empty( $section['updated'] ) ) { $badge_class = ' blue'; $date = date_i18n( $date_format, $section['updated'] ); /* translators: %s: Date of privacy policy text update. */ $badge_title = sprintf( __( 'Updated %s.' ), $date ); } $plugin_name = esc_html( $section['plugin_name'] ); $sanitized_policy_name = sanitize_title_with_dashes( $plugin_name ); ?> <h4 class="privacy-settings-accordion-heading"> <button aria-expanded="false" class="privacy-settings-accordion-trigger" aria-controls="privacy-settings-accordion-block-<?php echo $sanitized_policy_name; ?>" type="button"> <span class="title"><?php echo $plugin_name; ?></span> <?php if ( ! empty( $section['removed'] ) || ! empty( $section['updated'] ) ) : ?> <span class="badge <?php echo $badge_class; ?>"> <?php echo $badge_title; ?></span> <?php endif; ?> <span class="icon"></span> </button> </h4> <div id="privacy-settings-accordion-block-<?php echo $sanitized_policy_name; ?>" class="privacy-settings-accordion-panel privacy-text-box-body" hidden="hidden"> <?php echo $removed; echo $section['policy_text']; ?> <?php if ( empty( $section['removed'] ) ) : ?> <div class="privacy-settings-accordion-actions"> <span class="success" aria-hidden="true"><?php _e( 'Copied!' ); ?></span> <button type="button" class="privacy-text-copy button"> <span aria-hidden="true"><?php _e( 'Copy suggested policy text to clipboard' ); ?></span> <span class="screen-reader-text"> <?php /* translators: Hidden accessibility text. %s: Plugin name. */ printf( __( 'Copy suggested policy text from %s.' ), $plugin_name ); ?> </span> </button> </div> <?php endif; ?> </div> <?php } } /** * Returns the default suggested privacy policy content. * * @since 4.9.6 * @since 5.0.0 Added the `$blocks` parameter. * * @param bool $description Whether to include the descriptions under the section headings. Default false. * @param bool $blocks Whether to format the content for the block editor. Default true. * @return string The default policy content. */ public static function get_default_content( $description = false, $blocks = true ) { $suggested_text = '<strong class="privacy-policy-tutorial">' . __( 'Suggested text:' ) . ' </strong>'; $content = ''; $strings = array(); // Start of the suggested privacy policy text. if ( $description ) { $strings[] = '<div class="wp-suggested-text">'; } /* translators: Default privacy policy heading. */ $strings[] = '<h2 class="wp-block-heading">' . __( 'Who we are' ) . '</h2>'; if ( $description ) { /* translators: Privacy policy tutorial. */ $strings[] = '<p class="privacy-policy-tutorial">' . __( 'In this section you should note your site URL, as well as the name of the company, organization, or individual behind it, and some accurate contact information.' ) . '</p>'; /* translators: Privacy policy tutorial. */ $strings[] = '<p class="privacy-policy-tutorial">' . __( 'The amount of information you may be required to show will vary depending on your local or national business regulations. You may, for example, be required to display a physical address, a registered address, or your company registration number.' ) . '</p>'; } else { /* translators: Default privacy policy text. %s: Site URL. */ $strings[] = '<p>' . $suggested_text . sprintf( __( 'Our website address is: %s.' ), get_bloginfo( 'url', 'display' ) ) . '</p>'; } if ( $description ) { /* translators: Default privacy policy heading. */ $strings[] = '<h2>' . __( 'What personal data we collect and why we collect it' ) . '</h2>'; /* translators: Privacy policy tutorial. */ $strings[] = '<p class="privacy-policy-tutorial">' . __( 'In this section you should note what personal data you collect from users and site visitors. This may include personal data, such as name, email address, personal account preferences; transactional data, such as purchase information; and technical data, such as information about cookies.' ) . '</p>'; /* translators: Privacy policy tutorial. */ $strings[] = '<p class="privacy-policy-tutorial">' . __( 'You should also note any collection and retention of sensitive personal data, such as data concerning health.' ) . '</p>'; /* translators: Privacy policy tutorial. */ $strings[] = '<p class="privacy-policy-tutorial">' . __( 'In addition to listing what personal data you collect, you need to note why you collect it. These explanations must note either the legal basis for your data collection and retention or the active consent the user has given.' ) . '</p>'; /* translators: Privacy policy tutorial. */ $strings[] = '<p class="privacy-policy-tutorial">' . __( 'Personal data is not just created by a user’s interactions with your site. Personal data is also generated from technical processes such as contact forms, comments, cookies, analytics, and third party embeds.' ) . '</p>'; /* translators: Privacy policy tutorial. */ $strings[] = '<p class="privacy-policy-tutorial">' . __( 'By default WordPress does not collect any personal data about visitors, and only collects the data shown on the User Profile screen from registered users. However some of your plugins may collect personal data. You should add the relevant information below.' ) . '</p>'; } /* translators: Default privacy policy heading. */ $strings[] = '<h2 class="wp-block-heading">' . __( 'Comments' ) . '</h2>'; if ( $description ) { /* translators: Privacy policy tutorial. */ $strings[] = '<p class="privacy-policy-tutorial">' . __( 'In this subsection you should note what information is captured through comments. We have noted the data which WordPress collects by default.' ) . '</p>'; } else { /* translators: Default privacy policy text. */ $strings[] = '<p>' . $suggested_text . __( 'When visitors leave comments on the site we collect the data shown in the comments form, and also the visitor’s IP address and browser user agent string to help spam detection.' ) . '</p>'; /* translators: Default privacy policy text. */ $strings[] = '<p>' . __( 'An anonymized string created from your email address (also called a hash) may be provided to the Gravatar service to see if you are using it. The Gravatar service privacy policy is available here: https://automattic.com/privacy/. After approval of your comment, your profile picture is visible to the public in the context of your comment.' ) . '</p>'; } /* translators: Default privacy policy heading. */ $strings[] = '<h2 class="wp-block-heading">' . __( 'Media' ) . '</h2>'; if ( $description ) { /* translators: Privacy policy tutorial. */ $strings[] = '<p class="privacy-policy-tutorial">' . __( 'In this subsection you should note what information may be disclosed by users who can upload media files. All uploaded files are usually publicly accessible.' ) . '</p>'; } else { /* translators: Default privacy policy text. */ $strings[] = '<p>' . $suggested_text . __( 'If you upload images to the website, you should avoid uploading images with embedded location data (EXIF GPS) included. Visitors to the website can download and extract any location data from images on the website.' ) . '</p>'; } if ( $description ) { /* translators: Default privacy policy heading. */ $strings[] = '<h2>' . __( 'Contact forms' ) . '</h2>'; /* translators: Privacy policy tutorial. */ $strings[] = '<p class="privacy-policy-tutorial">' . __( 'By default, WordPress does not include a contact form. If you use a contact form plugin, use this subsection to note what personal data is captured when someone submits a contact form, and how long you keep it. For example, you may note that you keep contact form submissions for a certain period for customer service purposes, but you do not use the information submitted through them for marketing purposes.' ) . '</p>'; } /* translators: Default privacy policy heading. */ $strings[] = '<h2 class="wp-block-heading">' . __( 'Cookies' ) . '</h2>'; if ( $description ) { /* translators: Privacy policy tutorial. */ $strings[] = '<p class="privacy-policy-tutorial">' . __( 'In this subsection you should list the cookies your website uses, including those set by your plugins, social media, and analytics. We have provided the cookies which WordPress installs by default.' ) . '</p>'; } else { /* translators: Default privacy policy text. */ $strings[] = '<p>' . $suggested_text . __( 'If you leave a comment on our site you may opt-in to saving your name, email address and website in cookies. These are for your convenience so that you do not have to fill in your details again when you leave another comment. These cookies will last for one year.' ) . '</p>'; /* translators: Default privacy policy text. */ $strings[] = '<p>' . __( 'If you visit our login page, we will set a temporary cookie to determine if your browser accepts cookies. This cookie contains no personal data and is discarded when you close your browser.' ) . '</p>'; /* translators: Default privacy policy text. */ $strings[] = '<p>' . __( 'When you log in, we will also set up several cookies to save your login information and your screen display choices. Login cookies last for two days, and screen options cookies last for a year. If you select "Remember Me", your login will persist for two weeks. If you log out of your account, the login cookies will be removed.' ) . '</p>'; /* translators: Default privacy policy text. */ $strings[] = '<p>' . __( 'If you edit or publish an article, an additional cookie will be saved in your browser. This cookie includes no personal data and simply indicates the post ID of the article you just edited. It expires after 1 day.' ) . '</p>'; } if ( ! $description ) { /* translators: Default privacy policy heading. */ $strings[] = '<h2 class="wp-block-heading">' . __( 'Embedded content from other websites' ) . '</h2>'; /* translators: Default privacy policy text. */ $strings[] = '<p>' . $suggested_text . __( 'Articles on this site may include embedded content (e.g. videos, images, articles, etc.). Embedded content from other websites behaves in the exact same way as if the visitor has visited the other website.' ) . '</p>'; /* translators: Default privacy policy text. */ $strings[] = '<p>' . __( 'These websites may collect data about you, use cookies, embed additional third-party tracking, and monitor your interaction with that embedded content, including tracking your interaction with the embedded content if you have an account and are logged in to that website.' ) . '</p>'; } if ( $description ) { /* translators: Default privacy policy heading. */ $strings[] = '<h2>' . __( 'Analytics' ) . '</h2>'; /* translators: Privacy policy tutorial. */ $strings[] = '<p class="privacy-policy-tutorial">' . __( 'In this subsection you should note what analytics package you use, how users can opt out of analytics tracking, and a link to your analytics provider’s privacy policy, if any.' ) . '</p>'; /* translators: Privacy policy tutorial. */ $strings[] = '<p class="privacy-policy-tutorial">' . __( 'By default WordPress does not collect any analytics data. However, many web hosting accounts collect some anonymous analytics data. You may also have installed a WordPress plugin that provides analytics services. In that case, add information from that plugin here.' ) . '</p>'; } /* translators: Default privacy policy heading. */ $strings[] = '<h2 class="wp-block-heading">' . __( 'Who we share your data with' ) . '</h2>'; if ( $description ) { /* translators: Privacy policy tutorial. */ $strings[] = '<p class="privacy-policy-tutorial">' . __( 'In this section you should name and list all third party providers with whom you share site data, including partners, cloud-based services, payment processors, and third party service providers, and note what data you share with them and why. Link to their own privacy policies if possible.' ) . '</p>'; /* translators: Privacy policy tutorial. */ $strings[] = '<p class="privacy-policy-tutorial">' . __( 'By default WordPress does not share any personal data with anyone.' ) . '</p>'; } else { /* translators: Default privacy policy text. */ $strings[] = '<p>' . $suggested_text . __( 'If you request a password reset, your IP address will be included in the reset email.' ) . '</p>'; } /* translators: Default privacy policy heading. */ $strings[] = '<h2 class="wp-block-heading">' . __( 'How long we retain your data' ) . '</h2>'; if ( $description ) { /* translators: Privacy policy tutorial. */ $strings[] = '<p class="privacy-policy-tutorial">' . __( 'In this section you should explain how long you retain personal data collected or processed by the website. While it is your responsibility to come up with the schedule of how long you keep each dataset for and why you keep it, that information does need to be listed here. For example, you may want to say that you keep contact form entries for six months, analytics records for a year, and customer purchase records for ten years.' ) . '</p>'; } else { /* translators: Default privacy policy text. */ $strings[] = '<p>' . $suggested_text . __( 'If you leave a comment, the comment and its metadata are retained indefinitely. This is so we can recognize and approve any follow-up comments automatically instead of holding them in a moderation queue.' ) . '</p>'; /* translators: Default privacy policy text. */ $strings[] = '<p>' . __( 'For users that register on our website (if any), we also store the personal information they provide in their user profile. All users can see, edit, or delete their personal information at any time (except they cannot change their username). Website administrators can also see and edit that information.' ) . '</p>'; } /* translators: Default privacy policy heading. */ $strings[] = '<h2 class="wp-block-heading">' . __( 'What rights you have over your data' ) . '</h2>'; if ( $description ) { /* translators: Privacy policy tutorial. */ $strings[] = '<p class="privacy-policy-tutorial">' . __( 'In this section you should explain what rights your users have over their data and how they can invoke those rights.' ) . '</p>'; } else { /* translators: Default privacy policy text. */ $strings[] = '<p>' . $suggested_text . __( 'If you have an account on this site, or have left comments, you can request to receive an exported file of the personal data we hold about you, including any data you have provided to us. You can also request that we erase any personal data we hold about you. This does not include any data we are obliged to keep for administrative, legal, or security purposes.' ) . '</p>'; } /* translators: Default privacy policy heading. */ $strings[] = '<h2 class="wp-block-heading">' . __( 'Where your data is sent' ) . '</h2>'; if ( $description ) { /* translators: Privacy policy tutorial. */ $strings[] = '<p class="privacy-policy-tutorial">' . __( 'In this section you should list all transfers of your site data outside the European Union and describe the means by which that data is safeguarded to European data protection standards. This could include your web hosting, cloud storage, or other third party services.' ) . '</p>'; /* translators: Privacy policy tutorial. */ $strings[] = '<p class="privacy-policy-tutorial">' . __( 'European data protection law requires data about European residents which is transferred outside the European Union to be safeguarded to the same standards as if the data was in Europe. So in addition to listing where data goes, you should describe how you ensure that these standards are met either by yourself or by your third party providers, whether that is through an agreement such as Privacy Shield, model clauses in your contracts, or binding corporate rules.' ) . '</p>'; } else { /* translators: Default privacy policy text. */ $strings[] = '<p>' . $suggested_text . __( 'Visitor comments may be checked through an automated spam detection service.' ) . '</p>'; } if ( $description ) { /* translators: Default privacy policy heading. */ $strings[] = '<h2>' . __( 'Contact information' ) . '</h2>'; /* translators: Privacy policy tutorial. */ $strings[] = '<p class="privacy-policy-tutorial">' . __( 'In this section you should provide a contact method for privacy-specific concerns. If you are required to have a Data Protection Officer, list their name and full contact details here as well.' ) . '</p>'; } if ( $description ) { /* translators: Default privacy policy heading. */ $strings[] = '<h2>' . __( 'Additional information' ) . '</h2>'; /* translators: Privacy policy tutorial. */ $strings[] = '<p class="privacy-policy-tutorial">' . __( 'If you use your site for commercial purposes and you engage in more complex collection or processing of personal data, you should note the following information in your privacy policy in addition to the information we have already discussed.' ) . '</p>'; } if ( $description ) { /* translators: Default privacy policy heading. */ $strings[] = '<h2>' . __( 'How we protect your data' ) . '</h2>'; /* translators: Privacy policy tutorial. */ $strings[] = '<p class="privacy-policy-tutorial">' . __( 'In this section you should explain what measures you have taken to protect your users’ data. This could include technical measures such as encryption; security measures such as two factor authentication; and measures such as staff training in data protection. If you have carried out a Privacy Impact Assessment, you can mention it here too.' ) . '</p>'; } if ( $description ) { /* translators: Default privacy policy heading. */ $strings[] = '<h2>' . __( 'What data breach procedures we have in place' ) . '</h2>'; /* translators: Privacy policy tutorial. */ $strings[] = '<p class="privacy-policy-tutorial">' . __( 'In this section you should explain what procedures you have in place to deal with data breaches, either potential or real, such as internal reporting systems, contact mechanisms, or bug bounties.' ) . '</p>'; } if ( $description ) { /* translators: Default privacy policy heading. */ $strings[] = '<h2>' . __( 'What third parties we receive data from' ) . '</h2>'; /* translators: Privacy policy tutorial. */ $strings[] = '<p class="privacy-policy-tutorial">' . __( 'If your website receives data about users from third parties, including advertisers, this information must be included within the section of your privacy policy dealing with third party data.' ) . '</p>'; } if ( $description ) { /* translators: Default privacy policy heading. */ $strings[] = '<h2>' . __( 'What automated decision making and/or profiling we do with user data' ) . '</h2>'; /* translators: Privacy policy tutorial. */ $strings[] = '<p class="privacy-policy-tutorial">' . __( 'If your website provides a service which includes automated decision making - for example, allowing customers to apply for credit, or aggregating their data into an advertising profile - you must note that this is taking place, and include information about how that information is used, what decisions are made with that aggregated data, and what rights users have over decisions made without human intervention.' ) . '</p>'; } if ( $description ) { /* translators: Default privacy policy heading. */ $strings[] = '<h2>' . __( 'Industry regulatory disclosure requirements' ) . '</h2>'; /* translators: Privacy policy tutorial. */ $strings[] = '<p class="privacy-policy-tutorial">' . __( 'If you are a member of a regulated industry, or if you are subject to additional privacy laws, you may be required to disclose that information here.' ) . '</p>'; $strings[] = '</div>'; } if ( $blocks ) { foreach ( $strings as $key => $string ) { if ( str_starts_with( $string, '<p>' ) ) { $strings[ $key ] = "<!-- wp:paragraph -->\n" . $string . "\n<!-- /wp:paragraph -->\n"; } if ( str_starts_with( $string, '<h2 ' ) ) { $strings[ $key ] = "<!-- wp:heading -->\n" . $string . "\n<!-- /wp:heading -->\n"; } } } $content = implode( '', $strings ); // End of the suggested privacy policy text. /** * Filters the default content suggested for inclusion in a privacy policy. * * @since 4.9.6 * @since 5.0.0 Added the `$strings`, `$description`, and `$blocks` parameters. * @deprecated 5.7.0 Use wp_add_privacy_policy_content() instead. * * @param string $content The default policy content. * @param string[] $strings An array of privacy policy content strings. * @param bool $description Whether policy descriptions should be included. * @param bool $blocks Whether the content should be formatted for the block editor. */ return apply_filters_deprecated( 'wp_get_default_privacy_policy_content', array( $content, $strings, $description, $blocks ), '5.7.0', 'wp_add_privacy_policy_content()' ); } /** * Adds the suggested privacy policy text to the policy postbox. * * @since 4.9.6 */ public static function add_suggested_content() { $content = self::get_default_content( false, false ); wp_add_privacy_policy_content( __( 'WordPress' ), $content ); } } class-ftp-sockets.php 0000644 00000020437 14735706075 0010646 0 ustar 00 <?php /** * PemFTP - An Ftp implementation in pure PHP * * @package PemFTP * @since 2.5.0 * * @version 1.0 * @copyright Alexey Dotsenko * @author Alexey Dotsenko * @link https://www.phpclasses.org/package/1743-PHP-FTP-client-in-pure-PHP.html * @license LGPL https://opensource.org/licenses/lgpl-license.html */ /** * Socket Based FTP implementation * * @package PemFTP * @subpackage Socket * @since 2.5.0 * * @version 1.0 * @copyright Alexey Dotsenko * @author Alexey Dotsenko * @link https://www.phpclasses.org/package/1743-PHP-FTP-client-in-pure-PHP.html * @license LGPL https://opensource.org/licenses/lgpl-license.html */ class ftp_sockets extends ftp_base { function __construct($verb=FALSE, $le=FALSE) { parent::__construct(true, $verb, $le); } // <!-- --------------------------------------------------------------------------------------- --> // <!-- Private functions --> // <!-- --------------------------------------------------------------------------------------- --> function _settimeout($sock) { if(!@socket_set_option($sock, SOL_SOCKET, SO_RCVTIMEO, array("sec"=>$this->_timeout, "usec"=>0))) { $this->PushError('_connect','socket set receive timeout',socket_strerror(socket_last_error($sock))); @socket_close($sock); return FALSE; } if(!@socket_set_option($sock, SOL_SOCKET , SO_SNDTIMEO, array("sec"=>$this->_timeout, "usec"=>0))) { $this->PushError('_connect','socket set send timeout',socket_strerror(socket_last_error($sock))); @socket_close($sock); return FALSE; } return true; } function _connect($host, $port) { $this->SendMSG("Creating socket"); if(!($sock = @socket_create(AF_INET, SOCK_STREAM, SOL_TCP))) { $this->PushError('_connect','socket create failed',socket_strerror(socket_last_error($sock))); return FALSE; } if(!$this->_settimeout($sock)) return FALSE; $this->SendMSG("Connecting to \"".$host.":".$port."\""); if (!($res = @socket_connect($sock, $host, $port))) { $this->PushError('_connect','socket connect failed',socket_strerror(socket_last_error($sock))); @socket_close($sock); return FALSE; } $this->_connected=true; return $sock; } function _readmsg($fnction="_readmsg"){ if(!$this->_connected) { $this->PushError($fnction,'Connect first'); return FALSE; } $result=true; $this->_message=""; $this->_code=0; $go=true; do { $tmp=@socket_read($this->_ftp_control_sock, 4096, PHP_BINARY_READ); if($tmp===false) { $go=$result=false; $this->PushError($fnction,'Read failed', socket_strerror(socket_last_error($this->_ftp_control_sock))); } else { $this->_message.=$tmp; $go = !preg_match("/^([0-9]{3})(-.+\\1)? [^".CRLF."]+".CRLF."$/Us", $this->_message, $regs); } } while($go); if($this->LocalEcho) echo "GET < ".rtrim($this->_message, CRLF).CRLF; $this->_code=(int)$regs[1]; return $result; } function _exec($cmd, $fnction="_exec") { if(!$this->_ready) { $this->PushError($fnction,'Connect first'); return FALSE; } if($this->LocalEcho) echo "PUT > ",$cmd,CRLF; $status=@socket_write($this->_ftp_control_sock, $cmd.CRLF); if($status===false) { $this->PushError($fnction,'socket write failed', socket_strerror(socket_last_error($this->stream))); return FALSE; } $this->_lastaction=time(); if(!$this->_readmsg($fnction)) return FALSE; return TRUE; } function _data_prepare($mode=FTP_ASCII) { if(!$this->_settype($mode)) return FALSE; $this->SendMSG("Creating data socket"); $this->_ftp_data_sock = @socket_create(AF_INET, SOCK_STREAM, SOL_TCP); if ($this->_ftp_data_sock < 0) { $this->PushError('_data_prepare','socket create failed',socket_strerror(socket_last_error($this->_ftp_data_sock))); return FALSE; } if(!$this->_settimeout($this->_ftp_data_sock)) { $this->_data_close(); return FALSE; } if($this->_passive) { if(!$this->_exec("PASV", "pasv")) { $this->_data_close(); return FALSE; } if(!$this->_checkCode()) { $this->_data_close(); return FALSE; } $ip_port = explode(",", preg_replace("/^.+ \\(?([0-9]{1,3},[0-9]{1,3},[0-9]{1,3},[0-9]{1,3},[0-9]+,[0-9]+)\\)?.*$/s", "\\1", $this->_message)); $this->_datahost=$ip_port[0].".".$ip_port[1].".".$ip_port[2].".".$ip_port[3]; $this->_dataport=(((int)$ip_port[4])<<8) + ((int)$ip_port[5]); $this->SendMSG("Connecting to ".$this->_datahost.":".$this->_dataport); if(!@socket_connect($this->_ftp_data_sock, $this->_datahost, $this->_dataport)) { $this->PushError("_data_prepare","socket_connect", socket_strerror(socket_last_error($this->_ftp_data_sock))); $this->_data_close(); return FALSE; } else $this->_ftp_temp_sock=$this->_ftp_data_sock; } else { if(!@socket_getsockname($this->_ftp_control_sock, $addr, $port)) { $this->PushError("_data_prepare","cannot get control socket information", socket_strerror(socket_last_error($this->_ftp_control_sock))); $this->_data_close(); return FALSE; } if(!@socket_bind($this->_ftp_data_sock,$addr)){ $this->PushError("_data_prepare","cannot bind data socket", socket_strerror(socket_last_error($this->_ftp_data_sock))); $this->_data_close(); return FALSE; } if(!@socket_listen($this->_ftp_data_sock)) { $this->PushError("_data_prepare","cannot listen data socket", socket_strerror(socket_last_error($this->_ftp_data_sock))); $this->_data_close(); return FALSE; } if(!@socket_getsockname($this->_ftp_data_sock, $this->_datahost, $this->_dataport)) { $this->PushError("_data_prepare","cannot get data socket information", socket_strerror(socket_last_error($this->_ftp_data_sock))); $this->_data_close(); return FALSE; } if(!$this->_exec('PORT '.str_replace('.',',',$this->_datahost.'.'.($this->_dataport>>8).'.'.($this->_dataport&0x00FF)), "_port")) { $this->_data_close(); return FALSE; } if(!$this->_checkCode()) { $this->_data_close(); return FALSE; } } return TRUE; } function _data_read($mode=FTP_ASCII, $fp=NULL) { $NewLine=$this->_eol_code[$this->OS_local]; if(is_resource($fp)) $out=0; else $out=""; if(!$this->_passive) { $this->SendMSG("Connecting to ".$this->_datahost.":".$this->_dataport); $this->_ftp_temp_sock=socket_accept($this->_ftp_data_sock); if($this->_ftp_temp_sock===FALSE) { $this->PushError("_data_read","socket_accept", socket_strerror(socket_last_error($this->_ftp_temp_sock))); $this->_data_close(); return FALSE; } } while(($block=@socket_read($this->_ftp_temp_sock, $this->_ftp_buff_size, PHP_BINARY_READ))!==false) { if($block==="") break; if($mode!=FTP_BINARY) $block=preg_replace("/\r\n|\r|\n/", $this->_eol_code[$this->OS_local], $block); if(is_resource($fp)) $out+=fwrite($fp, $block, strlen($block)); else $out.=$block; } return $out; } function _data_write($mode=FTP_ASCII, $fp=NULL) { $NewLine=$this->_eol_code[$this->OS_local]; if(is_resource($fp)) $out=0; else $out=""; if(!$this->_passive) { $this->SendMSG("Connecting to ".$this->_datahost.":".$this->_dataport); $this->_ftp_temp_sock=socket_accept($this->_ftp_data_sock); if($this->_ftp_temp_sock===FALSE) { $this->PushError("_data_write","socket_accept", socket_strerror(socket_last_error($this->_ftp_temp_sock))); $this->_data_close(); return false; } } if(is_resource($fp)) { while(!feof($fp)) { $block=fread($fp, $this->_ftp_buff_size); if(!$this->_data_write_block($mode, $block)) return false; } } elseif(!$this->_data_write_block($mode, $fp)) return false; return true; } function _data_write_block($mode, $block) { if($mode!=FTP_BINARY) $block=preg_replace("/\r\n|\r|\n/", $this->_eol_code[$this->OS_remote], $block); do { if(($t=@socket_write($this->_ftp_temp_sock, $block))===FALSE) { $this->PushError("_data_write","socket_write", socket_strerror(socket_last_error($this->_ftp_temp_sock))); $this->_data_close(); return FALSE; } $block=substr($block, $t); } while(!empty($block)); return true; } function _data_close() { @socket_close($this->_ftp_temp_sock); @socket_close($this->_ftp_data_sock); $this->SendMSG("Disconnected data from remote host"); return TRUE; } function _quit() { if($this->_connected) { @socket_close($this->_ftp_control_sock); $this->_connected=false; $this->SendMSG("Socket closed"); } } } ?> class-wp-links-list-table.php 0000644 00000022031 14735706075 0012176 0 ustar 00 <?php /** * List Table API: WP_Links_List_Table class * * @package WordPress * @subpackage Administration * @since 3.1.0 */ /** * Core class used to implement displaying links in a list table. * * @since 3.1.0 * * @see WP_List_Table */ class WP_Links_List_Table extends WP_List_Table { /** * Constructor. * * @since 3.1.0 * * @see WP_List_Table::__construct() for more information on default arguments. * * @param array $args An associative array of arguments. */ public function __construct( $args = array() ) { parent::__construct( array( 'plural' => 'bookmarks', 'screen' => isset( $args['screen'] ) ? $args['screen'] : null, ) ); } /** * @return bool */ public function ajax_user_can() { return current_user_can( 'manage_links' ); } /** * @global int $cat_id * @global string $s * @global string $orderby * @global string $order */ public function prepare_items() { global $cat_id, $s, $orderby, $order; $cat_id = ! empty( $_REQUEST['cat_id'] ) ? absint( $_REQUEST['cat_id'] ) : 0; $orderby = ! empty( $_REQUEST['orderby'] ) ? sanitize_text_field( $_REQUEST['orderby'] ) : ''; $order = ! empty( $_REQUEST['order'] ) ? sanitize_text_field( $_REQUEST['order'] ) : ''; $s = ! empty( $_REQUEST['s'] ) ? sanitize_text_field( $_REQUEST['s'] ) : ''; $args = array( 'hide_invisible' => 0, 'hide_empty' => 0, ); if ( 'all' !== $cat_id ) { $args['category'] = $cat_id; } if ( ! empty( $s ) ) { $args['search'] = $s; } if ( ! empty( $orderby ) ) { $args['orderby'] = $orderby; } if ( ! empty( $order ) ) { $args['order'] = $order; } $this->items = get_bookmarks( $args ); } /** */ public function no_items() { _e( 'No links found.' ); } /** * @return array */ protected function get_bulk_actions() { $actions = array(); $actions['delete'] = __( 'Delete' ); return $actions; } /** * @global int $cat_id * @param string $which */ protected function extra_tablenav( $which ) { global $cat_id; if ( 'top' !== $which ) { return; } ?> <div class="alignleft actions"> <?php $dropdown_options = array( 'selected' => $cat_id, 'name' => 'cat_id', 'taxonomy' => 'link_category', 'show_option_all' => get_taxonomy( 'link_category' )->labels->all_items, 'hide_empty' => true, 'hierarchical' => 1, 'show_count' => 0, 'orderby' => 'name', ); echo '<label class="screen-reader-text" for="cat_id">' . get_taxonomy( 'link_category' )->labels->filter_by_item . '</label>'; wp_dropdown_categories( $dropdown_options ); submit_button( __( 'Filter' ), '', 'filter_action', false, array( 'id' => 'post-query-submit' ) ); ?> </div> <?php } /** * @return string[] Array of column titles keyed by their column name. */ public function get_columns() { return array( 'cb' => '<input type="checkbox" />', 'name' => _x( 'Name', 'link name' ), 'url' => __( 'URL' ), 'categories' => __( 'Categories' ), 'rel' => __( 'Relationship' ), 'visible' => __( 'Visible' ), 'rating' => __( 'Rating' ), ); } /** * @return array */ protected function get_sortable_columns() { return array( 'name' => array( 'name', false, _x( 'Name', 'link name' ), __( 'Table ordered by Name.' ), 'asc' ), 'url' => array( 'url', false, __( 'URL' ), __( 'Table ordered by URL.' ) ), 'visible' => array( 'visible', false, __( 'Visible' ), __( 'Table ordered by Visibility.' ) ), 'rating' => array( 'rating', false, __( 'Rating' ), __( 'Table ordered by Rating.' ) ), ); } /** * Gets the name of the default primary column. * * @since 4.3.0 * * @return string Name of the default primary column, in this case, 'name'. */ protected function get_default_primary_column_name() { return 'name'; } /** * Handles the checkbox column output. * * @since 4.3.0 * @since 5.9.0 Renamed `$link` to `$item` to match parent class for PHP 8 named parameter support. * * @param object $item The current link object. */ public function column_cb( $item ) { // Restores the more descriptive, specific name for use within this method. $link = $item; ?> <input type="checkbox" name="linkcheck[]" id="cb-select-<?php echo $link->link_id; ?>" value="<?php echo esc_attr( $link->link_id ); ?>" /> <label for="cb-select-<?php echo $link->link_id; ?>"> <span class="screen-reader-text"> <?php /* translators: Hidden accessibility text. %s: Link name. */ printf( __( 'Select %s' ), $link->link_name ); ?> </span> </label> <?php } /** * Handles the link name column output. * * @since 4.3.0 * * @param object $link The current link object. */ public function column_name( $link ) { $edit_link = get_edit_bookmark_link( $link ); printf( '<strong><a class="row-title" href="%s" aria-label="%s">%s</a></strong>', $edit_link, /* translators: %s: Link name. */ esc_attr( sprintf( __( 'Edit “%s”' ), $link->link_name ) ), $link->link_name ); } /** * Handles the link URL column output. * * @since 4.3.0 * * @param object $link The current link object. */ public function column_url( $link ) { $short_url = url_shorten( $link->link_url ); echo "<a href='$link->link_url'>$short_url</a>"; } /** * Handles the link categories column output. * * @since 4.3.0 * * @global int $cat_id * * @param object $link The current link object. */ public function column_categories( $link ) { global $cat_id; $cat_names = array(); foreach ( $link->link_category as $category ) { $cat = get_term( $category, 'link_category', OBJECT, 'display' ); if ( is_wp_error( $cat ) ) { echo $cat->get_error_message(); } $cat_name = $cat->name; if ( (int) $cat_id !== $category ) { $cat_name = "<a href='link-manager.php?cat_id=$category'>$cat_name</a>"; } $cat_names[] = $cat_name; } echo implode( ', ', $cat_names ); } /** * Handles the link relation column output. * * @since 4.3.0 * * @param object $link The current link object. */ public function column_rel( $link ) { echo empty( $link->link_rel ) ? '<br />' : $link->link_rel; } /** * Handles the link visibility column output. * * @since 4.3.0 * * @param object $link The current link object. */ public function column_visible( $link ) { if ( 'Y' === $link->link_visible ) { _e( 'Yes' ); } else { _e( 'No' ); } } /** * Handles the link rating column output. * * @since 4.3.0 * * @param object $link The current link object. */ public function column_rating( $link ) { echo $link->link_rating; } /** * Handles the default column output. * * @since 4.3.0 * @since 5.9.0 Renamed `$link` to `$item` to match parent class for PHP 8 named parameter support. * * @param object $item Link object. * @param string $column_name Current column name. */ public function column_default( $item, $column_name ) { // Restores the more descriptive, specific name for use within this method. $link = $item; /** * Fires for each registered custom link column. * * @since 2.1.0 * * @param string $column_name Name of the custom column. * @param int $link_id Link ID. */ do_action( 'manage_link_custom_column', $column_name, $link->link_id ); } /** * Generates the list table rows. * * @since 3.1.0 */ public function display_rows() { foreach ( $this->items as $link ) { $link = sanitize_bookmark( $link ); $link->link_name = esc_attr( $link->link_name ); $link->link_category = wp_get_link_cats( $link->link_id ); ?> <tr id="link-<?php echo $link->link_id; ?>"> <?php $this->single_row_columns( $link ); ?> </tr> <?php } } /** * Generates and displays row action links. * * @since 4.3.0 * @since 5.9.0 Renamed `$link` to `$item` to match parent class for PHP 8 named parameter support. * * @param object $item Link being acted upon. * @param string $column_name Current column name. * @param string $primary Primary column name. * @return string Row actions output for links, or an empty string * if the current column is not the primary column. */ protected function handle_row_actions( $item, $column_name, $primary ) { if ( $primary !== $column_name ) { return ''; } // Restores the more descriptive, specific name for use within this method. $link = $item; $edit_link = get_edit_bookmark_link( $link ); $actions = array(); $actions['edit'] = '<a href="' . $edit_link . '">' . __( 'Edit' ) . '</a>'; $actions['delete'] = sprintf( '<a class="submitdelete" href="%s" onclick="return confirm( \'%s\' );">%s</a>', wp_nonce_url( "link.php?action=delete&link_id=$link->link_id", 'delete-bookmark_' . $link->link_id ), /* translators: %s: Link name. */ esc_js( sprintf( __( "You are about to delete this link '%s'\n 'Cancel' to stop, 'OK' to delete." ), $link->link_name ) ), __( 'Delete' ) ); return $this->row_actions( $actions ); } } class-wp-comments-list-table.php 0000644 00000100226 14735706075 0012706 0 ustar 00 <?php /** * List Table API: WP_Comments_List_Table class * * @package WordPress * @subpackage Administration * @since 3.1.0 */ /** * Core class used to implement displaying comments in a list table. * * @since 3.1.0 * * @see WP_List_Table */ class WP_Comments_List_Table extends WP_List_Table { public $checkbox = true; public $pending_count = array(); public $extra_items; private $user_can; /** * Constructor. * * @since 3.1.0 * * @see WP_List_Table::__construct() for more information on default arguments. * * @global int $post_id * * @param array $args An associative array of arguments. */ public function __construct( $args = array() ) { global $post_id; $post_id = isset( $_REQUEST['p'] ) ? absint( $_REQUEST['p'] ) : 0; if ( get_option( 'show_avatars' ) ) { add_filter( 'comment_author', array( $this, 'floated_admin_avatar' ), 10, 2 ); } parent::__construct( array( 'plural' => 'comments', 'singular' => 'comment', 'ajax' => true, 'screen' => isset( $args['screen'] ) ? $args['screen'] : null, ) ); } /** * Adds avatars to comment author names. * * @since 3.1.0 * * @param string $name Comment author name. * @param int $comment_id Comment ID. * @return string Avatar with the user name. */ public function floated_admin_avatar( $name, $comment_id ) { $comment = get_comment( $comment_id ); $avatar = get_avatar( $comment, 32, 'mystery' ); return "$avatar $name"; } /** * @return bool */ public function ajax_user_can() { return current_user_can( 'edit_posts' ); } /** * @global string $mode List table view mode. * @global int $post_id * @global string $comment_status * @global string $comment_type * @global string $search */ public function prepare_items() { global $mode, $post_id, $comment_status, $comment_type, $search; if ( ! empty( $_REQUEST['mode'] ) ) { $mode = 'excerpt' === $_REQUEST['mode'] ? 'excerpt' : 'list'; set_user_setting( 'posts_list_mode', $mode ); } else { $mode = get_user_setting( 'posts_list_mode', 'list' ); } $comment_status = isset( $_REQUEST['comment_status'] ) ? $_REQUEST['comment_status'] : 'all'; if ( ! in_array( $comment_status, array( 'all', 'mine', 'moderated', 'approved', 'spam', 'trash' ), true ) ) { $comment_status = 'all'; } $comment_type = ! empty( $_REQUEST['comment_type'] ) ? $_REQUEST['comment_type'] : ''; $search = ( isset( $_REQUEST['s'] ) ) ? $_REQUEST['s'] : ''; $post_type = ( isset( $_REQUEST['post_type'] ) ) ? sanitize_key( $_REQUEST['post_type'] ) : ''; $user_id = ( isset( $_REQUEST['user_id'] ) ) ? $_REQUEST['user_id'] : ''; $orderby = ( isset( $_REQUEST['orderby'] ) ) ? $_REQUEST['orderby'] : ''; $order = ( isset( $_REQUEST['order'] ) ) ? $_REQUEST['order'] : ''; $comments_per_page = $this->get_per_page( $comment_status ); $doing_ajax = wp_doing_ajax(); if ( isset( $_REQUEST['number'] ) ) { $number = (int) $_REQUEST['number']; } else { $number = $comments_per_page + min( 8, $comments_per_page ); // Grab a few extra. } $page = $this->get_pagenum(); if ( isset( $_REQUEST['start'] ) ) { $start = $_REQUEST['start']; } else { $start = ( $page - 1 ) * $comments_per_page; } if ( $doing_ajax && isset( $_REQUEST['offset'] ) ) { $start += $_REQUEST['offset']; } $status_map = array( 'mine' => '', 'moderated' => 'hold', 'approved' => 'approve', 'all' => '', ); $args = array( 'status' => isset( $status_map[ $comment_status ] ) ? $status_map[ $comment_status ] : $comment_status, 'search' => $search, 'user_id' => $user_id, 'offset' => $start, 'number' => $number, 'post_id' => $post_id, 'type' => $comment_type, 'orderby' => $orderby, 'order' => $order, 'post_type' => $post_type, 'update_comment_post_cache' => true, ); /** * Filters the arguments for the comment query in the comments list table. * * @since 5.1.0 * * @param array $args An array of get_comments() arguments. */ $args = apply_filters( 'comments_list_table_query_args', $args ); $_comments = get_comments( $args ); if ( is_array( $_comments ) ) { $this->items = array_slice( $_comments, 0, $comments_per_page ); $this->extra_items = array_slice( $_comments, $comments_per_page ); $_comment_post_ids = array_unique( wp_list_pluck( $_comments, 'comment_post_ID' ) ); $this->pending_count = get_pending_comments_num( $_comment_post_ids ); } $total_comments = get_comments( array_merge( $args, array( 'count' => true, 'offset' => 0, 'number' => 0, 'orderby' => 'none', ) ) ); $this->set_pagination_args( array( 'total_items' => $total_comments, 'per_page' => $comments_per_page, ) ); } /** * @param string $comment_status * @return int */ public function get_per_page( $comment_status = 'all' ) { $comments_per_page = $this->get_items_per_page( 'edit_comments_per_page' ); /** * Filters the number of comments listed per page in the comments list table. * * @since 2.6.0 * * @param int $comments_per_page The number of comments to list per page. * @param string $comment_status The comment status name. Default 'All'. */ return apply_filters( 'comments_per_page', $comments_per_page, $comment_status ); } /** * @global string $comment_status */ public function no_items() { global $comment_status; if ( 'moderated' === $comment_status ) { _e( 'No comments awaiting moderation.' ); } elseif ( 'trash' === $comment_status ) { _e( 'No comments found in Trash.' ); } else { _e( 'No comments found.' ); } } /** * @global int $post_id * @global string $comment_status * @global string $comment_type */ protected function get_views() { global $post_id, $comment_status, $comment_type; $status_links = array(); $num_comments = ( $post_id ) ? wp_count_comments( $post_id ) : wp_count_comments(); $statuses = array( /* translators: %s: Number of comments. */ 'all' => _nx_noop( 'All <span class="count">(%s)</span>', 'All <span class="count">(%s)</span>', 'comments' ), // Singular not used. /* translators: %s: Number of comments. */ 'mine' => _nx_noop( 'Mine <span class="count">(%s)</span>', 'Mine <span class="count">(%s)</span>', 'comments' ), /* translators: %s: Number of comments. */ 'moderated' => _nx_noop( 'Pending <span class="count">(%s)</span>', 'Pending <span class="count">(%s)</span>', 'comments' ), /* translators: %s: Number of comments. */ 'approved' => _nx_noop( 'Approved <span class="count">(%s)</span>', 'Approved <span class="count">(%s)</span>', 'comments' ), /* translators: %s: Number of comments. */ 'spam' => _nx_noop( 'Spam <span class="count">(%s)</span>', 'Spam <span class="count">(%s)</span>', 'comments' ), /* translators: %s: Number of comments. */ 'trash' => _nx_noop( 'Trash <span class="count">(%s)</span>', 'Trash <span class="count">(%s)</span>', 'comments' ), ); if ( ! EMPTY_TRASH_DAYS ) { unset( $statuses['trash'] ); } $link = admin_url( 'edit-comments.php' ); if ( ! empty( $comment_type ) && 'all' !== $comment_type ) { $link = add_query_arg( 'comment_type', $comment_type, $link ); } foreach ( $statuses as $status => $label ) { if ( 'mine' === $status ) { $current_user_id = get_current_user_id(); $num_comments->mine = get_comments( array( 'post_id' => $post_id ? $post_id : 0, 'user_id' => $current_user_id, 'count' => true, 'orderby' => 'none', ) ); $link = add_query_arg( 'user_id', $current_user_id, $link ); } else { $link = remove_query_arg( 'user_id', $link ); } if ( ! isset( $num_comments->$status ) ) { $num_comments->$status = 10; } $link = add_query_arg( 'comment_status', $status, $link ); if ( $post_id ) { $link = add_query_arg( 'p', absint( $post_id ), $link ); } /* // I toyed with this, but decided against it. Leaving it in here in case anyone thinks it is a good idea. ~ Mark if ( !empty( $_REQUEST['s'] ) ) $link = add_query_arg( 's', esc_attr( wp_unslash( $_REQUEST['s'] ) ), $link ); */ $status_links[ $status ] = array( 'url' => esc_url( $link ), 'label' => sprintf( translate_nooped_plural( $label, $num_comments->$status ), sprintf( '<span class="%s-count">%s</span>', ( 'moderated' === $status ) ? 'pending' : $status, number_format_i18n( $num_comments->$status ) ) ), 'current' => $status === $comment_status, ); } /** * Filters the comment status links. * * @since 2.5.0 * @since 5.1.0 The 'Mine' link was added. * * @param string[] $status_links An associative array of fully-formed comment status links. Includes 'All', 'Mine', * 'Pending', 'Approved', 'Spam', and 'Trash'. */ return apply_filters( 'comment_status_links', $this->get_views_links( $status_links ) ); } /** * @global string $comment_status * * @return array */ protected function get_bulk_actions() { global $comment_status; $actions = array(); if ( in_array( $comment_status, array( 'all', 'approved' ), true ) ) { $actions['unapprove'] = __( 'Unapprove' ); } if ( in_array( $comment_status, array( 'all', 'moderated' ), true ) ) { $actions['approve'] = __( 'Approve' ); } if ( in_array( $comment_status, array( 'all', 'moderated', 'approved', 'trash' ), true ) ) { $actions['spam'] = _x( 'Mark as spam', 'comment' ); } if ( 'trash' === $comment_status ) { $actions['untrash'] = __( 'Restore' ); } elseif ( 'spam' === $comment_status ) { $actions['unspam'] = _x( 'Not spam', 'comment' ); } if ( in_array( $comment_status, array( 'trash', 'spam' ), true ) || ! EMPTY_TRASH_DAYS ) { $actions['delete'] = __( 'Delete permanently' ); } else { $actions['trash'] = __( 'Move to Trash' ); } return $actions; } /** * @global string $comment_status * @global string $comment_type * * @param string $which */ protected function extra_tablenav( $which ) { global $comment_status, $comment_type; static $has_items; if ( ! isset( $has_items ) ) { $has_items = $this->has_items(); } echo '<div class="alignleft actions">'; if ( 'top' === $which ) { ob_start(); $this->comment_type_dropdown( $comment_type ); /** * Fires just before the Filter submit button for comment types. * * @since 3.5.0 */ do_action( 'restrict_manage_comments' ); $output = ob_get_clean(); if ( ! empty( $output ) && $this->has_items() ) { echo $output; submit_button( __( 'Filter' ), '', 'filter_action', false, array( 'id' => 'post-query-submit' ) ); } } if ( ( 'spam' === $comment_status || 'trash' === $comment_status ) && $has_items && current_user_can( 'moderate_comments' ) ) { wp_nonce_field( 'bulk-destroy', '_destroy_nonce' ); $title = ( 'spam' === $comment_status ) ? esc_attr__( 'Empty Spam' ) : esc_attr__( 'Empty Trash' ); submit_button( $title, 'apply', 'delete_all', false ); } /** * Fires after the Filter submit button for comment types. * * @since 2.5.0 * @since 5.6.0 The `$which` parameter was added. * * @param string $comment_status The comment status name. Default 'All'. * @param string $which The location of the extra table nav markup: Either 'top' or 'bottom'. */ do_action( 'manage_comments_nav', $comment_status, $which ); echo '</div>'; } /** * @return string|false */ public function current_action() { if ( isset( $_REQUEST['delete_all'] ) || isset( $_REQUEST['delete_all2'] ) ) { return 'delete_all'; } return parent::current_action(); } /** * @global int $post_id * * @return string[] Array of column titles keyed by their column name. */ public function get_columns() { global $post_id; $columns = array(); if ( $this->checkbox ) { $columns['cb'] = '<input type="checkbox" />'; } $columns['author'] = __( 'Author' ); $columns['comment'] = _x( 'Comment', 'column name' ); if ( ! $post_id ) { /* translators: Column name or table row header. */ $columns['response'] = __( 'In response to' ); } $columns['date'] = _x( 'Submitted on', 'column name' ); return $columns; } /** * Displays a comment type drop-down for filtering on the Comments list table. * * @since 5.5.0 * @since 5.6.0 Renamed from `comment_status_dropdown()` to `comment_type_dropdown()`. * * @param string $comment_type The current comment type slug. */ protected function comment_type_dropdown( $comment_type ) { /** * Filters the comment types shown in the drop-down menu on the Comments list table. * * @since 2.7.0 * * @param string[] $comment_types Array of comment type labels keyed by their name. */ $comment_types = apply_filters( 'admin_comment_types_dropdown', array( 'comment' => __( 'Comments' ), 'pings' => __( 'Pings' ), ) ); if ( $comment_types && is_array( $comment_types ) ) { printf( '<label class="screen-reader-text" for="filter-by-comment-type">%s</label>', /* translators: Hidden accessibility text. */ __( 'Filter by comment type' ) ); echo '<select id="filter-by-comment-type" name="comment_type">'; printf( "\t<option value=''>%s</option>", __( 'All comment types' ) ); foreach ( $comment_types as $type => $label ) { if ( get_comments( array( 'count' => true, 'orderby' => 'none', 'type' => $type, ) ) ) { printf( "\t<option value='%s'%s>%s</option>\n", esc_attr( $type ), selected( $comment_type, $type, false ), esc_html( $label ) ); } } echo '</select>'; } } /** * @return array */ protected function get_sortable_columns() { return array( 'author' => array( 'comment_author', false, __( 'Author' ), __( 'Table ordered by Comment Author.' ) ), 'response' => array( 'comment_post_ID', false, _x( 'In Response To', 'column name' ), __( 'Table ordered by Post Replied To.' ) ), 'date' => 'comment_date', ); } /** * Gets the name of the default primary column. * * @since 4.3.0 * * @return string Name of the default primary column, in this case, 'comment'. */ protected function get_default_primary_column_name() { return 'comment'; } /** * Displays the comments table. * * Overrides the parent display() method to render extra comments. * * @since 3.1.0 */ public function display() { wp_nonce_field( 'fetch-list-' . get_class( $this ), '_ajax_fetch_list_nonce' ); static $has_items; if ( ! isset( $has_items ) ) { $has_items = $this->has_items(); if ( $has_items ) { $this->display_tablenav( 'top' ); } } $this->screen->render_screen_reader_content( 'heading_list' ); ?> <table class="wp-list-table <?php echo implode( ' ', $this->get_table_classes() ); ?>"> <?php if ( ! isset( $_GET['orderby'] ) ) { // In the initial view, Comments are ordered by comment's date but there's no column for that. echo '<caption class="screen-reader-text">' . /* translators: Hidden accessibility text. */ __( 'Ordered by Comment Date, descending.' ) . '</caption>'; } else { $this->print_table_description(); } ?> <thead> <tr> <?php $this->print_column_headers(); ?> </tr> </thead> <tbody id="the-comment-list" data-wp-lists="list:comment"> <?php $this->display_rows_or_placeholder(); ?> </tbody> <tbody id="the-extra-comment-list" data-wp-lists="list:comment" style="display: none;"> <?php /* * Back up the items to restore after printing the extra items markup. * The extra items may be empty, which will prevent the table nav from displaying later. */ $items = $this->items; $this->items = $this->extra_items; $this->display_rows_or_placeholder(); $this->items = $items; ?> </tbody> <tfoot> <tr> <?php $this->print_column_headers( false ); ?> </tr> </tfoot> </table> <?php $this->display_tablenav( 'bottom' ); } /** * @global WP_Post $post Global post object. * @global WP_Comment $comment Global comment object. * * @param WP_Comment $item */ public function single_row( $item ) { global $post, $comment; // Restores the more descriptive, specific name for use within this method. $comment = $item; if ( $comment->comment_post_ID > 0 ) { $post = get_post( $comment->comment_post_ID ); } $edit_post_cap = $post ? 'edit_post' : 'edit_posts'; if ( ! current_user_can( $edit_post_cap, $comment->comment_post_ID ) && ( post_password_required( $comment->comment_post_ID ) || ! current_user_can( 'read_post', $comment->comment_post_ID ) ) ) { // The user has no access to the post and thus cannot see the comments. return false; } $the_comment_class = wp_get_comment_status( $comment ); if ( ! $the_comment_class ) { $the_comment_class = ''; } $the_comment_class = implode( ' ', get_comment_class( $the_comment_class, $comment, $comment->comment_post_ID ) ); $this->user_can = current_user_can( 'edit_comment', $comment->comment_ID ); echo "<tr id='comment-$comment->comment_ID' class='$the_comment_class'>"; $this->single_row_columns( $comment ); echo "</tr>\n"; unset( $GLOBALS['post'], $GLOBALS['comment'] ); } /** * Generates and displays row actions links. * * @since 4.3.0 * @since 5.9.0 Renamed `$comment` to `$item` to match parent class for PHP 8 named parameter support. * * @global string $comment_status Status for the current listed comments. * * @param WP_Comment $item The comment object. * @param string $column_name Current column name. * @param string $primary Primary column name. * @return string Row actions output for comments. An empty string * if the current column is not the primary column, * or if the current user cannot edit the comment. */ protected function handle_row_actions( $item, $column_name, $primary ) { global $comment_status; if ( $primary !== $column_name ) { return ''; } if ( ! $this->user_can ) { return ''; } // Restores the more descriptive, specific name for use within this method. $comment = $item; $the_comment_status = wp_get_comment_status( $comment ); $output = ''; $approve_nonce = esc_html( '_wpnonce=' . wp_create_nonce( 'approve-comment_' . $comment->comment_ID ) ); $del_nonce = esc_html( '_wpnonce=' . wp_create_nonce( 'delete-comment_' . $comment->comment_ID ) ); $action_string = 'comment.php?action=%s&c=' . $comment->comment_ID . '&%s'; $approve_url = sprintf( $action_string, 'approvecomment', $approve_nonce ); $unapprove_url = sprintf( $action_string, 'unapprovecomment', $approve_nonce ); $spam_url = sprintf( $action_string, 'spamcomment', $del_nonce ); $unspam_url = sprintf( $action_string, 'unspamcomment', $del_nonce ); $trash_url = sprintf( $action_string, 'trashcomment', $del_nonce ); $untrash_url = sprintf( $action_string, 'untrashcomment', $del_nonce ); $delete_url = sprintf( $action_string, 'deletecomment', $del_nonce ); // Preorder it: Approve | Reply | Quick Edit | Edit | Spam | Trash. $actions = array( 'approve' => '', 'unapprove' => '', 'reply' => '', 'quickedit' => '', 'edit' => '', 'spam' => '', 'unspam' => '', 'trash' => '', 'untrash' => '', 'delete' => '', ); // Not looking at all comments. if ( $comment_status && 'all' !== $comment_status ) { if ( 'approved' === $the_comment_status ) { $actions['unapprove'] = sprintf( '<a href="%s" data-wp-lists="%s" class="vim-u vim-destructive aria-button-if-js" aria-label="%s">%s</a>', esc_url( $unapprove_url ), "delete:the-comment-list:comment-{$comment->comment_ID}:e7e7d3:action=dim-comment&new=unapproved", esc_attr__( 'Unapprove this comment' ), __( 'Unapprove' ) ); } elseif ( 'unapproved' === $the_comment_status ) { $actions['approve'] = sprintf( '<a href="%s" data-wp-lists="%s" class="vim-a vim-destructive aria-button-if-js" aria-label="%s">%s</a>', esc_url( $approve_url ), "delete:the-comment-list:comment-{$comment->comment_ID}:e7e7d3:action=dim-comment&new=approved", esc_attr__( 'Approve this comment' ), __( 'Approve' ) ); } } else { $actions['approve'] = sprintf( '<a href="%s" data-wp-lists="%s" class="vim-a aria-button-if-js" aria-label="%s">%s</a>', esc_url( $approve_url ), "dim:the-comment-list:comment-{$comment->comment_ID}:unapproved:e7e7d3:e7e7d3:new=approved", esc_attr__( 'Approve this comment' ), __( 'Approve' ) ); $actions['unapprove'] = sprintf( '<a href="%s" data-wp-lists="%s" class="vim-u aria-button-if-js" aria-label="%s">%s</a>', esc_url( $unapprove_url ), "dim:the-comment-list:comment-{$comment->comment_ID}:unapproved:e7e7d3:e7e7d3:new=unapproved", esc_attr__( 'Unapprove this comment' ), __( 'Unapprove' ) ); } if ( 'spam' !== $the_comment_status ) { $actions['spam'] = sprintf( '<a href="%s" data-wp-lists="%s" class="vim-s vim-destructive aria-button-if-js" aria-label="%s">%s</a>', esc_url( $spam_url ), "delete:the-comment-list:comment-{$comment->comment_ID}::spam=1", esc_attr__( 'Mark this comment as spam' ), /* translators: "Mark as spam" link. */ _x( 'Spam', 'verb' ) ); } elseif ( 'spam' === $the_comment_status ) { $actions['unspam'] = sprintf( '<a href="%s" data-wp-lists="%s" class="vim-z vim-destructive aria-button-if-js" aria-label="%s">%s</a>', esc_url( $unspam_url ), "delete:the-comment-list:comment-{$comment->comment_ID}:66cc66:unspam=1", esc_attr__( 'Restore this comment from the spam' ), _x( 'Not Spam', 'comment' ) ); } if ( 'trash' === $the_comment_status ) { $actions['untrash'] = sprintf( '<a href="%s" data-wp-lists="%s" class="vim-z vim-destructive aria-button-if-js" aria-label="%s">%s</a>', esc_url( $untrash_url ), "delete:the-comment-list:comment-{$comment->comment_ID}:66cc66:untrash=1", esc_attr__( 'Restore this comment from the Trash' ), __( 'Restore' ) ); } if ( 'spam' === $the_comment_status || 'trash' === $the_comment_status || ! EMPTY_TRASH_DAYS ) { $actions['delete'] = sprintf( '<a href="%s" data-wp-lists="%s" class="delete vim-d vim-destructive aria-button-if-js" aria-label="%s">%s</a>', esc_url( $delete_url ), "delete:the-comment-list:comment-{$comment->comment_ID}::delete=1", esc_attr__( 'Delete this comment permanently' ), __( 'Delete Permanently' ) ); } else { $actions['trash'] = sprintf( '<a href="%s" data-wp-lists="%s" class="delete vim-d vim-destructive aria-button-if-js" aria-label="%s">%s</a>', esc_url( $trash_url ), "delete:the-comment-list:comment-{$comment->comment_ID}::trash=1", esc_attr__( 'Move this comment to the Trash' ), _x( 'Trash', 'verb' ) ); } if ( 'spam' !== $the_comment_status && 'trash' !== $the_comment_status ) { $actions['edit'] = sprintf( '<a href="%s" aria-label="%s">%s</a>', "comment.php?action=editcomment&c={$comment->comment_ID}", esc_attr__( 'Edit this comment' ), __( 'Edit' ) ); $format = '<button type="button" data-comment-id="%d" data-post-id="%d" data-action="%s" class="%s button-link" aria-expanded="false" aria-label="%s">%s</button>'; $actions['quickedit'] = sprintf( $format, $comment->comment_ID, $comment->comment_post_ID, 'edit', 'vim-q comment-inline', esc_attr__( 'Quick edit this comment inline' ), __( 'Quick Edit' ) ); $actions['reply'] = sprintf( $format, $comment->comment_ID, $comment->comment_post_ID, 'replyto', 'vim-r comment-inline', esc_attr__( 'Reply to this comment' ), __( 'Reply' ) ); } /** * Filters the action links displayed for each comment in the Comments list table. * * @since 2.6.0 * * @param string[] $actions An array of comment actions. Default actions include: * 'Approve', 'Unapprove', 'Edit', 'Reply', 'Spam', * 'Delete', and 'Trash'. * @param WP_Comment $comment The comment object. */ $actions = apply_filters( 'comment_row_actions', array_filter( $actions ), $comment ); $always_visible = false; $mode = get_user_setting( 'posts_list_mode', 'list' ); if ( 'excerpt' === $mode ) { $always_visible = true; } $output .= '<div class="' . ( $always_visible ? 'row-actions visible' : 'row-actions' ) . '">'; $i = 0; foreach ( $actions as $action => $link ) { ++$i; if ( ( ( 'approve' === $action || 'unapprove' === $action ) && 2 === $i ) || 1 === $i ) { $separator = ''; } else { $separator = ' | '; } // Reply and quickedit need a hide-if-no-js span when not added with Ajax. if ( ( 'reply' === $action || 'quickedit' === $action ) && ! wp_doing_ajax() ) { $action .= ' hide-if-no-js'; } elseif ( ( 'untrash' === $action && 'trash' === $the_comment_status ) || ( 'unspam' === $action && 'spam' === $the_comment_status ) ) { if ( '1' === get_comment_meta( $comment->comment_ID, '_wp_trash_meta_status', true ) ) { $action .= ' approve'; } else { $action .= ' unapprove'; } } $output .= "<span class='$action'>{$separator}{$link}</span>"; } $output .= '</div>'; $output .= '<button type="button" class="toggle-row"><span class="screen-reader-text">' . /* translators: Hidden accessibility text. */ __( 'Show more details' ) . '</span></button>'; return $output; } /** * @since 5.9.0 Renamed `$comment` to `$item` to match parent class for PHP 8 named parameter support. * * @param WP_Comment $item The comment object. */ public function column_cb( $item ) { // Restores the more descriptive, specific name for use within this method. $comment = $item; if ( $this->user_can ) { ?> <input id="cb-select-<?php echo $comment->comment_ID; ?>" type="checkbox" name="delete_comments[]" value="<?php echo $comment->comment_ID; ?>" /> <label for="cb-select-<?php echo $comment->comment_ID; ?>"> <span class="screen-reader-text"> <?php /* translators: Hidden accessibility text. */ _e( 'Select comment' ); ?> </span> </label> <?php } } /** * @param WP_Comment $comment The comment object. */ public function column_comment( $comment ) { echo '<div class="comment-author">'; $this->column_author( $comment ); echo '</div>'; if ( $comment->comment_parent ) { $parent = get_comment( $comment->comment_parent ); if ( $parent ) { $parent_link = esc_url( get_comment_link( $parent ) ); $name = get_comment_author( $parent ); printf( /* translators: %s: Comment link. */ __( 'In reply to %s.' ), '<a href="' . $parent_link . '">' . $name . '</a>' ); } } comment_text( $comment ); if ( $this->user_can ) { /** This filter is documented in wp-admin/includes/comment.php */ $comment_content = apply_filters( 'comment_edit_pre', $comment->comment_content ); ?> <div id="inline-<?php echo $comment->comment_ID; ?>" class="hidden"> <textarea class="comment" rows="1" cols="1"><?php echo esc_textarea( $comment_content ); ?></textarea> <div class="author-email"><?php echo esc_html( $comment->comment_author_email ); ?></div> <div class="author"><?php echo esc_html( $comment->comment_author ); ?></div> <div class="author-url"><?php echo esc_url( $comment->comment_author_url ); ?></div> <div class="comment_status"><?php echo $comment->comment_approved; ?></div> </div> <?php } } /** * @global string $comment_status * * @param WP_Comment $comment The comment object. */ public function column_author( $comment ) { global $comment_status; $author_url = get_comment_author_url( $comment ); $author_url_display = untrailingslashit( preg_replace( '|^http(s)?://(www\.)?|i', '', $author_url ) ); if ( strlen( $author_url_display ) > 50 ) { $author_url_display = wp_html_excerpt( $author_url_display, 49, '…' ); } echo '<strong>'; comment_author( $comment ); echo '</strong><br />'; if ( ! empty( $author_url_display ) ) { // Print link to author URL, and disallow referrer information (without using target="_blank"). printf( '<a href="%s" rel="noopener noreferrer">%s</a><br />', esc_url( $author_url ), esc_html( $author_url_display ) ); } if ( $this->user_can ) { if ( ! empty( $comment->comment_author_email ) ) { /** This filter is documented in wp-includes/comment-template.php */ $email = apply_filters( 'comment_email', $comment->comment_author_email, $comment ); if ( ! empty( $email ) && '@' !== $email ) { printf( '<a href="%1$s">%2$s</a><br />', esc_url( 'mailto:' . $email ), esc_html( $email ) ); } } $author_ip = get_comment_author_IP( $comment ); if ( $author_ip ) { $author_ip_url = add_query_arg( array( 's' => $author_ip, 'mode' => 'detail', ), admin_url( 'edit-comments.php' ) ); if ( 'spam' === $comment_status ) { $author_ip_url = add_query_arg( 'comment_status', 'spam', $author_ip_url ); } printf( '<a href="%1$s">%2$s</a>', esc_url( $author_ip_url ), esc_html( $author_ip ) ); } } } /** * @param WP_Comment $comment The comment object. */ public function column_date( $comment ) { $submitted = sprintf( /* translators: 1: Comment date, 2: Comment time. */ __( '%1$s at %2$s' ), /* translators: Comment date format. See https://www.php.net/manual/datetime.format.php */ get_comment_date( __( 'Y/m/d' ), $comment ), /* translators: Comment time format. See https://www.php.net/manual/datetime.format.php */ get_comment_date( __( 'g:i a' ), $comment ) ); echo '<div class="submitted-on">'; if ( 'approved' === wp_get_comment_status( $comment ) && ! empty( $comment->comment_post_ID ) ) { printf( '<a href="%s">%s</a>', esc_url( get_comment_link( $comment ) ), $submitted ); } else { echo $submitted; } echo '</div>'; } /** * @param WP_Comment $comment The comment object. */ public function column_response( $comment ) { $post = get_post(); if ( ! $post ) { return; } if ( isset( $this->pending_count[ $post->ID ] ) ) { $pending_comments = $this->pending_count[ $post->ID ]; } else { $_pending_count_temp = get_pending_comments_num( array( $post->ID ) ); $pending_comments = $_pending_count_temp[ $post->ID ]; $this->pending_count[ $post->ID ] = $pending_comments; } if ( current_user_can( 'edit_post', $post->ID ) ) { $post_link = "<a href='" . get_edit_post_link( $post->ID ) . "' class='comments-edit-item-link'>"; $post_link .= esc_html( get_the_title( $post->ID ) ) . '</a>'; } else { $post_link = esc_html( get_the_title( $post->ID ) ); } echo '<div class="response-links">'; if ( 'attachment' === $post->post_type ) { $thumb = wp_get_attachment_image( $post->ID, array( 80, 60 ), true ); if ( $thumb ) { echo $thumb; } } echo $post_link; $post_type_object = get_post_type_object( $post->post_type ); echo "<a href='" . get_permalink( $post->ID ) . "' class='comments-view-item-link'>" . $post_type_object->labels->view_item . '</a>'; echo '<span class="post-com-count-wrapper post-com-count-', $post->ID, '">'; $this->comments_bubble( $post->ID, $pending_comments ); echo '</span> '; echo '</div>'; } /** * @since 5.9.0 Renamed `$comment` to `$item` to match parent class for PHP 8 named parameter support. * * @param WP_Comment $item The comment object. * @param string $column_name The custom column's name. */ public function column_default( $item, $column_name ) { // Restores the more descriptive, specific name for use within this method. $comment = $item; /** * Fires when the default column output is displayed for a single row. * * @since 2.8.0 * * @param string $column_name The custom column's name. * @param string $comment_id The comment ID as a numeric string. */ do_action( 'manage_comments_custom_column', $column_name, $comment->comment_ID ); } } class-wp-upgrader.php 0000644 00000135117 14735706075 0010643 0 ustar 00 <?php /** * Upgrade API: WP_Upgrader class * * Requires skin classes and WP_Upgrader subclasses for backward compatibility. * * @package WordPress * @subpackage Upgrader * @since 2.8.0 */ /** WP_Upgrader_Skin class */ require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader-skin.php'; /** Plugin_Upgrader_Skin class */ require_once ABSPATH . 'wp-admin/includes/class-plugin-upgrader-skin.php'; /** Theme_Upgrader_Skin class */ require_once ABSPATH . 'wp-admin/includes/class-theme-upgrader-skin.php'; /** Bulk_Upgrader_Skin class */ require_once ABSPATH . 'wp-admin/includes/class-bulk-upgrader-skin.php'; /** Bulk_Plugin_Upgrader_Skin class */ require_once ABSPATH . 'wp-admin/includes/class-bulk-plugin-upgrader-skin.php'; /** Bulk_Theme_Upgrader_Skin class */ require_once ABSPATH . 'wp-admin/includes/class-bulk-theme-upgrader-skin.php'; /** Plugin_Installer_Skin class */ require_once ABSPATH . 'wp-admin/includes/class-plugin-installer-skin.php'; /** Theme_Installer_Skin class */ require_once ABSPATH . 'wp-admin/includes/class-theme-installer-skin.php'; /** Language_Pack_Upgrader_Skin class */ require_once ABSPATH . 'wp-admin/includes/class-language-pack-upgrader-skin.php'; /** Automatic_Upgrader_Skin class */ require_once ABSPATH . 'wp-admin/includes/class-automatic-upgrader-skin.php'; /** WP_Ajax_Upgrader_Skin class */ require_once ABSPATH . 'wp-admin/includes/class-wp-ajax-upgrader-skin.php'; /** * Core class used for upgrading/installing a local set of files via * the Filesystem Abstraction classes from a Zip file. * * @since 2.8.0 */ #[AllowDynamicProperties] class WP_Upgrader { /** * The error/notification strings used to update the user on the progress. * * @since 2.8.0 * @var array $strings */ public $strings = array(); /** * The upgrader skin being used. * * @since 2.8.0 * @var Automatic_Upgrader_Skin|WP_Upgrader_Skin $skin */ public $skin = null; /** * The result of the installation. * * This is set by WP_Upgrader::install_package(), only when the package is installed * successfully. It will then be an array, unless a WP_Error is returned by the * {@see 'upgrader_post_install'} filter. In that case, the WP_Error will be assigned to * it. * * @since 2.8.0 * * @var array|WP_Error $result { * @type string $source The full path to the source the files were installed from. * @type string $source_files List of all the files in the source directory. * @type string $destination The full path to the installation destination folder. * @type string $destination_name The name of the destination folder, or empty if `$destination` * and `$local_destination` are the same. * @type string $local_destination The full local path to the destination folder. This is usually * the same as `$destination`. * @type string $remote_destination The full remote path to the destination folder * (i.e., from `$wp_filesystem`). * @type bool $clear_destination Whether the destination folder was cleared. * } */ public $result = array(); /** * The total number of updates being performed. * * Set by the bulk update methods. * * @since 3.0.0 * @var int $update_count */ public $update_count = 0; /** * The current update if multiple updates are being performed. * * Used by the bulk update methods, and incremented for each update. * * @since 3.0.0 * @var int */ public $update_current = 0; /** * Stores the list of plugins or themes added to temporary backup directory. * * Used by the rollback functions. * * @since 6.3.0 * @var array */ private $temp_backups = array(); /** * Stores the list of plugins or themes to be restored from temporary backup directory. * * Used by the rollback functions. * * @since 6.3.0 * @var array */ private $temp_restores = array(); /** * Construct the upgrader with a skin. * * @since 2.8.0 * * @param WP_Upgrader_Skin $skin The upgrader skin to use. Default is a WP_Upgrader_Skin * instance. */ public function __construct( $skin = null ) { if ( null === $skin ) { $this->skin = new WP_Upgrader_Skin(); } else { $this->skin = $skin; } } /** * Initializes the upgrader. * * This will set the relationship between the skin being used and this upgrader, * and also add the generic strings to `WP_Upgrader::$strings`. * * Additionally, it will schedule a weekly task to clean up the temporary backup directory. * * @since 2.8.0 * @since 6.3.0 Added the `schedule_temp_backup_cleanup()` task. */ public function init() { $this->skin->set_upgrader( $this ); $this->generic_strings(); if ( ! wp_installing() ) { $this->schedule_temp_backup_cleanup(); } } /** * Schedules the cleanup of the temporary backup directory. * * @since 6.3.0 */ protected function schedule_temp_backup_cleanup() { if ( false === wp_next_scheduled( 'wp_delete_temp_updater_backups' ) ) { wp_schedule_event( time(), 'weekly', 'wp_delete_temp_updater_backups' ); } } /** * Adds the generic strings to WP_Upgrader::$strings. * * @since 2.8.0 */ public function generic_strings() { $this->strings['bad_request'] = __( 'Invalid data provided.' ); $this->strings['fs_unavailable'] = __( 'Could not access filesystem.' ); $this->strings['fs_error'] = __( 'Filesystem error.' ); $this->strings['fs_no_root_dir'] = __( 'Unable to locate WordPress root directory.' ); /* translators: %s: Directory name. */ $this->strings['fs_no_content_dir'] = sprintf( __( 'Unable to locate WordPress content directory (%s).' ), 'wp-content' ); $this->strings['fs_no_plugins_dir'] = __( 'Unable to locate WordPress plugin directory.' ); $this->strings['fs_no_themes_dir'] = __( 'Unable to locate WordPress theme directory.' ); /* translators: %s: Directory name. */ $this->strings['fs_no_folder'] = __( 'Unable to locate needed folder (%s).' ); $this->strings['no_package'] = __( 'Package not available.' ); $this->strings['download_failed'] = __( 'Download failed.' ); $this->strings['installing_package'] = __( 'Installing the latest version…' ); $this->strings['no_files'] = __( 'The package contains no files.' ); $this->strings['folder_exists'] = __( 'Destination folder already exists.' ); $this->strings['mkdir_failed'] = __( 'Could not create directory.' ); $this->strings['incompatible_archive'] = __( 'The package could not be installed.' ); $this->strings['files_not_writable'] = __( 'The update cannot be installed because some files could not be copied. This is usually due to inconsistent file permissions.' ); $this->strings['dir_not_readable'] = __( 'A directory could not be read.' ); $this->strings['maintenance_start'] = __( 'Enabling Maintenance mode…' ); $this->strings['maintenance_end'] = __( 'Disabling Maintenance mode…' ); /* translators: %s: upgrade-temp-backup */ $this->strings['temp_backup_mkdir_failed'] = sprintf( __( 'Could not create the %s directory.' ), 'upgrade-temp-backup' ); /* translators: %s: upgrade-temp-backup */ $this->strings['temp_backup_move_failed'] = sprintf( __( 'Could not move the old version to the %s directory.' ), 'upgrade-temp-backup' ); /* translators: %s: The plugin or theme slug. */ $this->strings['temp_backup_restore_failed'] = __( 'Could not restore the original version of %s.' ); /* translators: %s: The plugin or theme slug. */ $this->strings['temp_backup_delete_failed'] = __( 'Could not delete the temporary backup directory for %s.' ); } /** * Connects to the filesystem. * * @since 2.8.0 * * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass. * * @param string[] $directories Optional. Array of directories. If any of these do * not exist, a WP_Error object will be returned. * Default empty array. * @param bool $allow_relaxed_file_ownership Whether to allow relaxed file ownership. * Default false. * @return bool|WP_Error True if able to connect, false or a WP_Error otherwise. */ public function fs_connect( $directories = array(), $allow_relaxed_file_ownership = false ) { global $wp_filesystem; $credentials = $this->skin->request_filesystem_credentials( false, $directories[0], $allow_relaxed_file_ownership ); if ( false === $credentials ) { return false; } if ( ! WP_Filesystem( $credentials, $directories[0], $allow_relaxed_file_ownership ) ) { $error = true; if ( is_object( $wp_filesystem ) && $wp_filesystem->errors->has_errors() ) { $error = $wp_filesystem->errors; } // Failed to connect. Error and request again. $this->skin->request_filesystem_credentials( $error, $directories[0], $allow_relaxed_file_ownership ); return false; } if ( ! is_object( $wp_filesystem ) ) { return new WP_Error( 'fs_unavailable', $this->strings['fs_unavailable'] ); } if ( is_wp_error( $wp_filesystem->errors ) && $wp_filesystem->errors->has_errors() ) { return new WP_Error( 'fs_error', $this->strings['fs_error'], $wp_filesystem->errors ); } foreach ( (array) $directories as $dir ) { switch ( $dir ) { case ABSPATH: if ( ! $wp_filesystem->abspath() ) { return new WP_Error( 'fs_no_root_dir', $this->strings['fs_no_root_dir'] ); } break; case WP_CONTENT_DIR: if ( ! $wp_filesystem->wp_content_dir() ) { return new WP_Error( 'fs_no_content_dir', $this->strings['fs_no_content_dir'] ); } break; case WP_PLUGIN_DIR: if ( ! $wp_filesystem->wp_plugins_dir() ) { return new WP_Error( 'fs_no_plugins_dir', $this->strings['fs_no_plugins_dir'] ); } break; case get_theme_root(): if ( ! $wp_filesystem->wp_themes_dir() ) { return new WP_Error( 'fs_no_themes_dir', $this->strings['fs_no_themes_dir'] ); } break; default: if ( ! $wp_filesystem->find_folder( $dir ) ) { return new WP_Error( 'fs_no_folder', sprintf( $this->strings['fs_no_folder'], esc_html( basename( $dir ) ) ) ); } break; } } return true; } /** * Downloads a package. * * @since 2.8.0 * @since 5.2.0 Added the `$check_signatures` parameter. * @since 5.5.0 Added the `$hook_extra` parameter. * * @param string $package The URI of the package. If this is the full path to an * existing local file, it will be returned untouched. * @param bool $check_signatures Whether to validate file signatures. Default false. * @param array $hook_extra Extra arguments to pass to the filter hooks. Default empty array. * @return string|WP_Error The full path to the downloaded package file, or a WP_Error object. */ public function download_package( $package, $check_signatures = false, $hook_extra = array() ) { /** * Filters whether to return the package. * * @since 3.7.0 * @since 5.5.0 Added the `$hook_extra` parameter. * * @param bool $reply Whether to bail without returning the package. * Default false. * @param string $package The package file name. * @param WP_Upgrader $upgrader The WP_Upgrader instance. * @param array $hook_extra Extra arguments passed to hooked filters. */ $reply = apply_filters( 'upgrader_pre_download', false, $package, $this, $hook_extra ); if ( false !== $reply ) { return $reply; } if ( ! preg_match( '!^(http|https|ftp)://!i', $package ) && file_exists( $package ) ) { // Local file or remote? return $package; // Must be a local file. } if ( empty( $package ) ) { return new WP_Error( 'no_package', $this->strings['no_package'] ); } $this->skin->feedback( 'downloading_package', $package ); $download_file = download_url( $package, 300, $check_signatures ); if ( is_wp_error( $download_file ) && ! $download_file->get_error_data( 'softfail-filename' ) ) { return new WP_Error( 'download_failed', $this->strings['download_failed'], $download_file->get_error_message() ); } return $download_file; } /** * Unpacks a compressed package file. * * @since 2.8.0 * * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass. * * @param string $package Full path to the package file. * @param bool $delete_package Optional. Whether to delete the package file after attempting * to unpack it. Default true. * @return string|WP_Error The path to the unpacked contents, or a WP_Error on failure. */ public function unpack_package( $package, $delete_package = true ) { global $wp_filesystem; $this->skin->feedback( 'unpack_package' ); if ( ! $wp_filesystem->wp_content_dir() ) { return new WP_Error( 'fs_no_content_dir', $this->strings['fs_no_content_dir'] ); } $upgrade_folder = $wp_filesystem->wp_content_dir() . 'upgrade/'; // Clean up contents of upgrade directory beforehand. $upgrade_files = $wp_filesystem->dirlist( $upgrade_folder ); if ( ! empty( $upgrade_files ) ) { foreach ( $upgrade_files as $file ) { $wp_filesystem->delete( $upgrade_folder . $file['name'], true ); } } // We need a working directory - strip off any .tmp or .zip suffixes. $working_dir = $upgrade_folder . basename( basename( $package, '.tmp' ), '.zip' ); // Clean up working directory. if ( $wp_filesystem->is_dir( $working_dir ) ) { $wp_filesystem->delete( $working_dir, true ); } // Unzip package to working directory. $result = unzip_file( $package, $working_dir ); // Once extracted, delete the package if required. if ( $delete_package ) { unlink( $package ); } if ( is_wp_error( $result ) ) { $wp_filesystem->delete( $working_dir, true ); if ( 'incompatible_archive' === $result->get_error_code() ) { return new WP_Error( 'incompatible_archive', $this->strings['incompatible_archive'], $result->get_error_data() ); } return $result; } return $working_dir; } /** * Flattens the results of WP_Filesystem_Base::dirlist() for iterating over. * * @since 4.9.0 * @access protected * * @param array $nested_files Array of files as returned by WP_Filesystem_Base::dirlist(). * @param string $path Relative path to prepend to child nodes. Optional. * @return array A flattened array of the $nested_files specified. */ protected function flatten_dirlist( $nested_files, $path = '' ) { $files = array(); foreach ( $nested_files as $name => $details ) { $files[ $path . $name ] = $details; // Append children recursively. if ( ! empty( $details['files'] ) ) { $children = $this->flatten_dirlist( $details['files'], $path . $name . '/' ); // Merge keeping possible numeric keys, which array_merge() will reindex from 0..n. $files = $files + $children; } } return $files; } /** * Clears the directory where this item is going to be installed into. * * @since 4.3.0 * * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass. * * @param string $remote_destination The location on the remote filesystem to be cleared. * @return true|WP_Error True upon success, WP_Error on failure. */ public function clear_destination( $remote_destination ) { global $wp_filesystem; $files = $wp_filesystem->dirlist( $remote_destination, true, true ); // False indicates that the $remote_destination doesn't exist. if ( false === $files ) { return true; } // Flatten the file list to iterate over. $files = $this->flatten_dirlist( $files ); // Check all files are writable before attempting to clear the destination. $unwritable_files = array(); // Check writability. foreach ( $files as $filename => $file_details ) { if ( ! $wp_filesystem->is_writable( $remote_destination . $filename ) ) { // Attempt to alter permissions to allow writes and try again. $wp_filesystem->chmod( $remote_destination . $filename, ( 'd' === $file_details['type'] ? FS_CHMOD_DIR : FS_CHMOD_FILE ) ); if ( ! $wp_filesystem->is_writable( $remote_destination . $filename ) ) { $unwritable_files[] = $filename; } } } if ( ! empty( $unwritable_files ) ) { return new WP_Error( 'files_not_writable', $this->strings['files_not_writable'], implode( ', ', $unwritable_files ) ); } if ( ! $wp_filesystem->delete( $remote_destination, true ) ) { return new WP_Error( 'remove_old_failed', $this->strings['remove_old_failed'] ); } return true; } /** * Install a package. * * Copies the contents of a package from a source directory, and installs them in * a destination directory. Optionally removes the source. It can also optionally * clear out the destination folder if it already exists. * * @since 2.8.0 * @since 6.2.0 Use move_dir() instead of copy_dir() when possible. * * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass. * @global array $wp_theme_directories * * @param array|string $args { * Optional. Array or string of arguments for installing a package. Default empty array. * * @type string $source Required path to the package source. Default empty. * @type string $destination Required path to a folder to install the package in. * Default empty. * @type bool $clear_destination Whether to delete any files already in the destination * folder. Default false. * @type bool $clear_working Whether to delete the files from the working directory * after copying them to the destination. Default false. * @type bool $abort_if_destination_exists Whether to abort the installation if * the destination folder already exists. Default true. * @type array $hook_extra Extra arguments to pass to the filter hooks called by * WP_Upgrader::install_package(). Default empty array. * } * * @return array|WP_Error The result (also stored in `WP_Upgrader::$result`), or a WP_Error on failure. */ public function install_package( $args = array() ) { global $wp_filesystem, $wp_theme_directories; $defaults = array( 'source' => '', // Please always pass this. 'destination' => '', // ...and this. 'clear_destination' => false, 'clear_working' => false, 'abort_if_destination_exists' => true, 'hook_extra' => array(), ); $args = wp_parse_args( $args, $defaults ); // These were previously extract()'d. $source = $args['source']; $destination = $args['destination']; $clear_destination = $args['clear_destination']; // Give the upgrade an additional 300 seconds(5 minutes) to ensure the install doesn't prematurely timeout having used up the maximum script execution time upacking and downloading in WP_Upgrader->run. if ( function_exists( 'set_time_limit' ) ) { set_time_limit( 300 ); } if ( ( ! is_string( $source ) || '' === $source || trim( $source ) !== $source ) || ( ! is_string( $destination ) || '' === $destination || trim( $destination ) !== $destination ) ) { return new WP_Error( 'bad_request', $this->strings['bad_request'] ); } $this->skin->feedback( 'installing_package' ); /** * Filters the installation response before the installation has started. * * Returning a value that could be evaluated as a `WP_Error` will effectively * short-circuit the installation, returning that value instead. * * @since 2.8.0 * * @param bool|WP_Error $response Installation response. * @param array $hook_extra Extra arguments passed to hooked filters. */ $res = apply_filters( 'upgrader_pre_install', true, $args['hook_extra'] ); if ( is_wp_error( $res ) ) { return $res; } // Retain the original source and destinations. $remote_source = $args['source']; $local_destination = $destination; $dirlist = $wp_filesystem->dirlist( $remote_source ); if ( false === $dirlist ) { return new WP_Error( 'source_read_failed', $this->strings['fs_error'], $this->strings['dir_not_readable'] ); } $source_files = array_keys( $dirlist ); $remote_destination = $wp_filesystem->find_folder( $local_destination ); // Locate which directory to copy to the new folder. This is based on the actual folder holding the files. if ( 1 === count( $source_files ) && $wp_filesystem->is_dir( trailingslashit( $args['source'] ) . $source_files[0] . '/' ) ) { // Only one folder? Then we want its contents. $source = trailingslashit( $args['source'] ) . trailingslashit( $source_files[0] ); } elseif ( 0 === count( $source_files ) ) { // There are no files? return new WP_Error( 'incompatible_archive_empty', $this->strings['incompatible_archive'], $this->strings['no_files'] ); } else { /* * It's only a single file, the upgrader will use the folder name of this file as the destination folder. * Folder name is based on zip filename. */ $source = trailingslashit( $args['source'] ); } /** * Filters the source file location for the upgrade package. * * @since 2.8.0 * @since 4.4.0 The $hook_extra parameter became available. * * @param string $source File source location. * @param string $remote_source Remote file source location. * @param WP_Upgrader $upgrader WP_Upgrader instance. * @param array $hook_extra Extra arguments passed to hooked filters. */ $source = apply_filters( 'upgrader_source_selection', $source, $remote_source, $this, $args['hook_extra'] ); if ( is_wp_error( $source ) ) { return $source; } if ( ! empty( $args['hook_extra']['temp_backup'] ) ) { $temp_backup = $this->move_to_temp_backup_dir( $args['hook_extra']['temp_backup'] ); if ( is_wp_error( $temp_backup ) ) { return $temp_backup; } $this->temp_backups[] = $args['hook_extra']['temp_backup']; } // Has the source location changed? If so, we need a new source_files list. if ( $source !== $remote_source ) { $dirlist = $wp_filesystem->dirlist( $source ); if ( false === $dirlist ) { return new WP_Error( 'new_source_read_failed', $this->strings['fs_error'], $this->strings['dir_not_readable'] ); } $source_files = array_keys( $dirlist ); } /* * Protection against deleting files in any important base directories. * Theme_Upgrader & Plugin_Upgrader also trigger this, as they pass the * destination directory (WP_PLUGIN_DIR / wp-content/themes) intending * to copy the directory into the directory, whilst they pass the source * as the actual files to copy. */ $protected_directories = array( ABSPATH, WP_CONTENT_DIR, WP_PLUGIN_DIR, WP_CONTENT_DIR . '/themes' ); if ( is_array( $wp_theme_directories ) ) { $protected_directories = array_merge( $protected_directories, $wp_theme_directories ); } if ( in_array( $destination, $protected_directories, true ) ) { $remote_destination = trailingslashit( $remote_destination ) . trailingslashit( basename( $source ) ); $destination = trailingslashit( $destination ) . trailingslashit( basename( $source ) ); } if ( $clear_destination ) { // We're going to clear the destination if there's something there. $this->skin->feedback( 'remove_old' ); $removed = $this->clear_destination( $remote_destination ); /** * Filters whether the upgrader cleared the destination. * * @since 2.8.0 * * @param true|WP_Error $removed Whether the destination was cleared. * True upon success, WP_Error on failure. * @param string $local_destination The local package destination. * @param string $remote_destination The remote package destination. * @param array $hook_extra Extra arguments passed to hooked filters. */ $removed = apply_filters( 'upgrader_clear_destination', $removed, $local_destination, $remote_destination, $args['hook_extra'] ); if ( is_wp_error( $removed ) ) { return $removed; } } elseif ( $args['abort_if_destination_exists'] && $wp_filesystem->exists( $remote_destination ) ) { /* * If we're not clearing the destination folder and something exists there already, bail. * But first check to see if there are actually any files in the folder. */ $_files = $wp_filesystem->dirlist( $remote_destination ); if ( ! empty( $_files ) ) { $wp_filesystem->delete( $remote_source, true ); // Clear out the source files. return new WP_Error( 'folder_exists', $this->strings['folder_exists'], $remote_destination ); } } /* * If 'clear_working' is false, the source should not be removed, so use copy_dir() instead. * * Partial updates, like language packs, may want to retain the destination. * If the destination exists or has contents, this may be a partial update, * and the destination should not be removed, so use copy_dir() instead. */ if ( $args['clear_working'] && ( // Destination does not exist or has no contents. ! $wp_filesystem->exists( $remote_destination ) || empty( $wp_filesystem->dirlist( $remote_destination ) ) ) ) { $result = move_dir( $source, $remote_destination, true ); } else { // Create destination if needed. if ( ! $wp_filesystem->exists( $remote_destination ) ) { if ( ! $wp_filesystem->mkdir( $remote_destination, FS_CHMOD_DIR ) ) { return new WP_Error( 'mkdir_failed_destination', $this->strings['mkdir_failed'], $remote_destination ); } } $result = copy_dir( $source, $remote_destination ); } // Clear the working directory? if ( $args['clear_working'] ) { $wp_filesystem->delete( $remote_source, true ); } if ( is_wp_error( $result ) ) { return $result; } $destination_name = basename( str_replace( $local_destination, '', $destination ) ); if ( '.' === $destination_name ) { $destination_name = ''; } $this->result = compact( 'source', 'source_files', 'destination', 'destination_name', 'local_destination', 'remote_destination', 'clear_destination' ); /** * Filters the installation response after the installation has finished. * * @since 2.8.0 * * @param bool $response Installation response. * @param array $hook_extra Extra arguments passed to hooked filters. * @param array $result Installation result data. */ $res = apply_filters( 'upgrader_post_install', true, $args['hook_extra'], $this->result ); if ( is_wp_error( $res ) ) { $this->result = $res; return $res; } // Bombard the calling function will all the info which we've just used. return $this->result; } /** * Runs an upgrade/installation. * * Attempts to download the package (if it is not a local file), unpack it, and * install it in the destination folder. * * @since 2.8.0 * * @param array $options { * Array or string of arguments for upgrading/installing a package. * * @type string $package The full path or URI of the package to install. * Default empty. * @type string $destination The full path to the destination folder. * Default empty. * @type bool $clear_destination Whether to delete any files already in the * destination folder. Default false. * @type bool $clear_working Whether to delete the files from the working * directory after copying them to the destination. * Default true. * @type bool $abort_if_destination_exists Whether to abort the installation if the destination * folder already exists. When true, `$clear_destination` * should be false. Default true. * @type bool $is_multi Whether this run is one of multiple upgrade/installation * actions being performed in bulk. When true, the skin * WP_Upgrader::header() and WP_Upgrader::footer() * aren't called. Default false. * @type array $hook_extra Extra arguments to pass to the filter hooks called by * WP_Upgrader::run(). * } * @return array|false|WP_Error The result from self::install_package() on success, otherwise a WP_Error, * or false if unable to connect to the filesystem. */ public function run( $options ) { $defaults = array( 'package' => '', // Please always pass this. 'destination' => '', // ...and this. 'clear_destination' => false, 'clear_working' => true, 'abort_if_destination_exists' => true, // Abort if the destination directory exists. Pass clear_destination as false please. 'is_multi' => false, 'hook_extra' => array(), // Pass any extra $hook_extra args here, this will be passed to any hooked filters. ); $options = wp_parse_args( $options, $defaults ); /** * Filters the package options before running an update. * * See also {@see 'upgrader_process_complete'}. * * @since 4.3.0 * * @param array $options { * Options used by the upgrader. * * @type string $package Package for update. * @type string $destination Update location. * @type bool $clear_destination Clear the destination resource. * @type bool $clear_working Clear the working resource. * @type bool $abort_if_destination_exists Abort if the Destination directory exists. * @type bool $is_multi Whether the upgrader is running multiple times. * @type array $hook_extra { * Extra hook arguments. * * @type string $action Type of action. Default 'update'. * @type string $type Type of update process. Accepts 'plugin', 'theme', or 'core'. * @type bool $bulk Whether the update process is a bulk update. Default true. * @type string $plugin Path to the plugin file relative to the plugins directory. * @type string $theme The stylesheet or template name of the theme. * @type string $language_update_type The language pack update type. Accepts 'plugin', 'theme', * or 'core'. * @type object $language_update The language pack update offer. * } * } */ $options = apply_filters( 'upgrader_package_options', $options ); if ( ! $options['is_multi'] ) { // Call $this->header separately if running multiple times. $this->skin->header(); } // Connect to the filesystem first. $res = $this->fs_connect( array( WP_CONTENT_DIR, $options['destination'] ) ); // Mainly for non-connected filesystem. if ( ! $res ) { if ( ! $options['is_multi'] ) { $this->skin->footer(); } return false; } $this->skin->before(); if ( is_wp_error( $res ) ) { $this->skin->error( $res ); $this->skin->after(); if ( ! $options['is_multi'] ) { $this->skin->footer(); } return $res; } /* * Download the package. Note: If the package is the full path * to an existing local file, it will be returned untouched. */ $download = $this->download_package( $options['package'], false, $options['hook_extra'] ); /* * Allow for signature soft-fail. * WARNING: This may be removed in the future. */ if ( is_wp_error( $download ) && $download->get_error_data( 'softfail-filename' ) ) { // Don't output the 'no signature could be found' failure message for now. if ( 'signature_verification_no_signature' !== $download->get_error_code() || WP_DEBUG ) { // Output the failure error as a normal feedback, and not as an error. $this->skin->feedback( $download->get_error_message() ); // Report this failure back to WordPress.org for debugging purposes. wp_version_check( array( 'signature_failure_code' => $download->get_error_code(), 'signature_failure_data' => $download->get_error_data(), ) ); } // Pretend this error didn't happen. $download = $download->get_error_data( 'softfail-filename' ); } if ( is_wp_error( $download ) ) { $this->skin->error( $download ); $this->skin->after(); if ( ! $options['is_multi'] ) { $this->skin->footer(); } return $download; } $delete_package = ( $download !== $options['package'] ); // Do not delete a "local" file. // Unzips the file into a temporary directory. $working_dir = $this->unpack_package( $download, $delete_package ); if ( is_wp_error( $working_dir ) ) { $this->skin->error( $working_dir ); $this->skin->after(); if ( ! $options['is_multi'] ) { $this->skin->footer(); } return $working_dir; } // With the given options, this installs it to the destination directory. $result = $this->install_package( array( 'source' => $working_dir, 'destination' => $options['destination'], 'clear_destination' => $options['clear_destination'], 'abort_if_destination_exists' => $options['abort_if_destination_exists'], 'clear_working' => $options['clear_working'], 'hook_extra' => $options['hook_extra'], ) ); /** * Filters the result of WP_Upgrader::install_package(). * * @since 5.7.0 * * @param array|WP_Error $result Result from WP_Upgrader::install_package(). * @param array $hook_extra Extra arguments passed to hooked filters. */ $result = apply_filters( 'upgrader_install_package_result', $result, $options['hook_extra'] ); $this->skin->set_result( $result ); if ( is_wp_error( $result ) ) { // An automatic plugin update will have already performed its rollback. if ( ! empty( $options['hook_extra']['temp_backup'] ) ) { $this->temp_restores[] = $options['hook_extra']['temp_backup']; /* * Restore the backup on shutdown. * Actions running on `shutdown` are immune to PHP timeouts, * so in case the failure was due to a PHP timeout, * it will still be able to properly restore the previous version. * * Zero arguments are accepted as a string can sometimes be passed * internally during actions, causing an error because * `WP_Upgrader::restore_temp_backup()` expects an array. */ add_action( 'shutdown', array( $this, 'restore_temp_backup' ), 10, 0 ); } $this->skin->error( $result ); if ( ! method_exists( $this->skin, 'hide_process_failed' ) || ! $this->skin->hide_process_failed( $result ) ) { $this->skin->feedback( 'process_failed' ); } } else { // Installation succeeded. $this->skin->feedback( 'process_success' ); } $this->skin->after(); // Clean up the backup kept in the temporary backup directory. if ( ! empty( $options['hook_extra']['temp_backup'] ) ) { // Delete the backup on `shutdown` to avoid a PHP timeout. add_action( 'shutdown', array( $this, 'delete_temp_backup' ), 100, 0 ); } if ( ! $options['is_multi'] ) { /** * Fires when the upgrader process is complete. * * See also {@see 'upgrader_package_options'}. * * @since 3.6.0 * @since 3.7.0 Added to WP_Upgrader::run(). * @since 4.6.0 `$translations` was added as a possible argument to `$hook_extra`. * * @param WP_Upgrader $upgrader WP_Upgrader instance. In other contexts this might be a * Theme_Upgrader, Plugin_Upgrader, Core_Upgrade, or Language_Pack_Upgrader instance. * @param array $hook_extra { * Array of bulk item update data. * * @type string $action Type of action. Default 'update'. * @type string $type Type of update process. Accepts 'plugin', 'theme', 'translation', or 'core'. * @type bool $bulk Whether the update process is a bulk update. Default true. * @type array $plugins Array of the basename paths of the plugins' main files. * @type array $themes The theme slugs. * @type array $translations { * Array of translations update data. * * @type string $language The locale the translation is for. * @type string $type Type of translation. Accepts 'plugin', 'theme', or 'core'. * @type string $slug Text domain the translation is for. The slug of a theme/plugin or * 'default' for core translations. * @type string $version The version of a theme, plugin, or core. * } * } */ do_action( 'upgrader_process_complete', $this, $options['hook_extra'] ); $this->skin->footer(); } return $result; } /** * Toggles maintenance mode for the site. * * Creates/deletes the maintenance file to enable/disable maintenance mode. * * @since 2.8.0 * * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass. * * @param bool $enable True to enable maintenance mode, false to disable. */ public function maintenance_mode( $enable = false ) { global $wp_filesystem; if ( ! $wp_filesystem ) { require_once ABSPATH . 'wp-admin/includes/file.php'; WP_Filesystem(); } $file = $wp_filesystem->abspath() . '.maintenance'; if ( $enable ) { if ( ! wp_doing_cron() ) { $this->skin->feedback( 'maintenance_start' ); } // Create maintenance file to signal that we are upgrading. $maintenance_string = '<?php $upgrading = ' . time() . '; ?>'; $wp_filesystem->delete( $file ); $wp_filesystem->put_contents( $file, $maintenance_string, FS_CHMOD_FILE ); } elseif ( ! $enable && $wp_filesystem->exists( $file ) ) { if ( ! wp_doing_cron() ) { $this->skin->feedback( 'maintenance_end' ); } $wp_filesystem->delete( $file ); } } /** * Creates a lock using WordPress options. * * @since 4.5.0 * * @global wpdb $wpdb The WordPress database abstraction object. * * @param string $lock_name The name of this unique lock. * @param int $release_timeout Optional. The duration in seconds to respect an existing lock. * Default: 1 hour. * @return bool False if a lock couldn't be created or if the lock is still valid. True otherwise. */ public static function create_lock( $lock_name, $release_timeout = null ) { global $wpdb; if ( ! $release_timeout ) { $release_timeout = HOUR_IN_SECONDS; } $lock_option = $lock_name . '.lock'; // Try to lock. $lock_result = $wpdb->query( $wpdb->prepare( "INSERT IGNORE INTO `$wpdb->options` ( `option_name`, `option_value`, `autoload` ) VALUES (%s, %s, 'off') /* LOCK */", $lock_option, time() ) ); if ( ! $lock_result ) { $lock_result = get_option( $lock_option ); // If a lock couldn't be created, and there isn't a lock, bail. if ( ! $lock_result ) { return false; } // Check to see if the lock is still valid. If it is, bail. if ( $lock_result > ( time() - $release_timeout ) ) { return false; } // There must exist an expired lock, clear it and re-gain it. WP_Upgrader::release_lock( $lock_name ); return WP_Upgrader::create_lock( $lock_name, $release_timeout ); } // Update the lock, as by this point we've definitely got a lock, just need to fire the actions. update_option( $lock_option, time(), false ); return true; } /** * Releases an upgrader lock. * * @since 4.5.0 * * @see WP_Upgrader::create_lock() * * @param string $lock_name The name of this unique lock. * @return bool True if the lock was successfully released. False on failure. */ public static function release_lock( $lock_name ) { return delete_option( $lock_name . '.lock' ); } /** * Moves the plugin or theme being updated into a temporary backup directory. * * @since 6.3.0 * * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass. * * @param string[] $args { * Array of data for the temporary backup. * * @type string $slug Plugin or theme slug. * @type string $src Path to the root directory for plugins or themes. * @type string $dir Destination subdirectory name. Accepts 'plugins' or 'themes'. * } * * @return bool|WP_Error True on success, false on early exit, otherwise WP_Error. */ public function move_to_temp_backup_dir( $args ) { global $wp_filesystem; if ( empty( $args['slug'] ) || empty( $args['src'] ) || empty( $args['dir'] ) ) { return false; } /* * Skip any plugin that has "." as its slug. * A slug of "." will result in a `$src` value ending in a period. * * On Windows, this will cause the 'plugins' folder to be moved, * and will cause a failure when attempting to call `mkdir()`. */ if ( '.' === $args['slug'] ) { return false; } if ( ! $wp_filesystem->wp_content_dir() ) { return new WP_Error( 'fs_no_content_dir', $this->strings['fs_no_content_dir'] ); } $dest_dir = $wp_filesystem->wp_content_dir() . 'upgrade-temp-backup/'; $sub_dir = $dest_dir . $args['dir'] . '/'; // Create the temporary backup directory if it does not exist. if ( ! $wp_filesystem->is_dir( $sub_dir ) ) { if ( ! $wp_filesystem->is_dir( $dest_dir ) ) { $wp_filesystem->mkdir( $dest_dir, FS_CHMOD_DIR ); } if ( ! $wp_filesystem->mkdir( $sub_dir, FS_CHMOD_DIR ) ) { // Could not create the backup directory. return new WP_Error( 'fs_temp_backup_mkdir', $this->strings['temp_backup_mkdir_failed'] ); } } $src_dir = $wp_filesystem->find_folder( $args['src'] ); $src = trailingslashit( $src_dir ) . $args['slug']; $dest = $dest_dir . trailingslashit( $args['dir'] ) . $args['slug']; // Delete the temporary backup directory if it already exists. if ( $wp_filesystem->is_dir( $dest ) ) { $wp_filesystem->delete( $dest, true ); } // Move to the temporary backup directory. $result = move_dir( $src, $dest, true ); if ( is_wp_error( $result ) ) { return new WP_Error( 'fs_temp_backup_move', $this->strings['temp_backup_move_failed'] ); } return true; } /** * Restores the plugin or theme from temporary backup. * * @since 6.3.0 * @since 6.6.0 Added the `$temp_backups` parameter. * * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass. * * @param array[] $temp_backups { * Optional. An array of temporary backups. * * @type array ...$0 { * Information about the backup. * * @type string $dir The temporary backup location in the upgrade-temp-backup directory. * @type string $slug The item's slug. * @type string $src The directory where the original is stored. For example, `WP_PLUGIN_DIR`. * } * } * @return bool|WP_Error True on success, false on early exit, otherwise WP_Error. */ public function restore_temp_backup( array $temp_backups = array() ) { global $wp_filesystem; $errors = new WP_Error(); if ( empty( $temp_backups ) ) { $temp_backups = $this->temp_restores; } foreach ( $temp_backups as $args ) { if ( empty( $args['slug'] ) || empty( $args['src'] ) || empty( $args['dir'] ) ) { return false; } if ( ! $wp_filesystem->wp_content_dir() ) { $errors->add( 'fs_no_content_dir', $this->strings['fs_no_content_dir'] ); return $errors; } $src = $wp_filesystem->wp_content_dir() . 'upgrade-temp-backup/' . $args['dir'] . '/' . $args['slug']; $dest_dir = $wp_filesystem->find_folder( $args['src'] ); $dest = trailingslashit( $dest_dir ) . $args['slug']; if ( $wp_filesystem->is_dir( $src ) ) { // Cleanup. if ( $wp_filesystem->is_dir( $dest ) && ! $wp_filesystem->delete( $dest, true ) ) { $errors->add( 'fs_temp_backup_delete', sprintf( $this->strings['temp_backup_restore_failed'], $args['slug'] ) ); continue; } // Move it. $result = move_dir( $src, $dest, true ); if ( is_wp_error( $result ) ) { $errors->add( 'fs_temp_backup_delete', sprintf( $this->strings['temp_backup_restore_failed'], $args['slug'] ) ); continue; } } } return $errors->has_errors() ? $errors : true; } /** * Deletes a temporary backup. * * @since 6.3.0 * @since 6.6.0 Added the `$temp_backups` parameter. * * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass. * * @param array[] $temp_backups { * Optional. An array of temporary backups. * * @type array ...$0 { * Information about the backup. * * @type string $dir The temporary backup location in the upgrade-temp-backup directory. * @type string $slug The item's slug. * @type string $src The directory where the original is stored. For example, `WP_PLUGIN_DIR`. * } * } * @return bool|WP_Error True on success, false on early exit, otherwise WP_Error. */ public function delete_temp_backup( array $temp_backups = array() ) { global $wp_filesystem; $errors = new WP_Error(); if ( empty( $temp_backups ) ) { $temp_backups = $this->temp_backups; } foreach ( $temp_backups as $args ) { if ( empty( $args['slug'] ) || empty( $args['dir'] ) ) { return false; } if ( ! $wp_filesystem->wp_content_dir() ) { $errors->add( 'fs_no_content_dir', $this->strings['fs_no_content_dir'] ); return $errors; } $temp_backup_dir = $wp_filesystem->wp_content_dir() . "upgrade-temp-backup/{$args['dir']}/{$args['slug']}"; if ( ! $wp_filesystem->delete( $temp_backup_dir, true ) ) { $errors->add( 'temp_backup_delete_failed', sprintf( $this->strings['temp_backup_delete_failed'], $args['slug'] ) ); continue; } } return $errors->has_errors() ? $errors : true; } } /** Plugin_Upgrader class */ require_once ABSPATH . 'wp-admin/includes/class-plugin-upgrader.php'; /** Theme_Upgrader class */ require_once ABSPATH . 'wp-admin/includes/class-theme-upgrader.php'; /** Language_Pack_Upgrader class */ require_once ABSPATH . 'wp-admin/includes/class-language-pack-upgrader.php'; /** Core_Upgrader class */ require_once ABSPATH . 'wp-admin/includes/class-core-upgrader.php'; /** File_Upload_Upgrader class */ require_once ABSPATH . 'wp-admin/includes/class-file-upload-upgrader.php'; /** WP_Automatic_Updater class */ require_once ABSPATH . 'wp-admin/includes/class-wp-automatic-updater.php'; import.php 0000644 00000014731 14735706075 0006613 0 ustar 00 <?php /** * WordPress Administration Importer API. * * @package WordPress * @subpackage Administration */ /** * Retrieves the list of importers. * * @since 2.0.0 * * @global array $wp_importers * @return array */ function get_importers() { global $wp_importers; if ( is_array( $wp_importers ) ) { uasort( $wp_importers, '_usort_by_first_member' ); } return $wp_importers; } /** * Sorts a multidimensional array by first member of each top level member. * * Used by uasort() as a callback, should not be used directly. * * @since 2.9.0 * @access private * * @param array $a * @param array $b * @return int */ function _usort_by_first_member( $a, $b ) { return strnatcasecmp( $a[0], $b[0] ); } /** * Registers importer for WordPress. * * @since 2.0.0 * * @global array $wp_importers * * @param string $id Importer tag. Used to uniquely identify importer. * @param string $name Importer name and title. * @param string $description Importer description. * @param callable $callback Callback to run. * @return void|WP_Error Void on success. WP_Error when $callback is WP_Error. */ function register_importer( $id, $name, $description, $callback ) { global $wp_importers; if ( is_wp_error( $callback ) ) { return $callback; } $wp_importers[ $id ] = array( $name, $description, $callback ); } /** * Cleanup importer. * * Removes attachment based on ID. * * @since 2.0.0 * * @param string $id Importer ID. */ function wp_import_cleanup( $id ) { wp_delete_attachment( $id ); } /** * Handles importer uploading and adds attachment. * * @since 2.0.0 * * @return array Uploaded file's details on success, error message on failure. */ function wp_import_handle_upload() { if ( ! isset( $_FILES['import'] ) ) { return array( 'error' => sprintf( /* translators: 1: php.ini, 2: post_max_size, 3: upload_max_filesize */ __( 'File is empty. Please upload something more substantial. This error could also be caused by uploads being disabled in your %1$s file or by %2$s being defined as smaller than %3$s in %1$s.' ), 'php.ini', 'post_max_size', 'upload_max_filesize' ), ); } $overrides = array( 'test_form' => false, 'test_type' => false, ); $_FILES['import']['name'] .= '.txt'; $upload = wp_handle_upload( $_FILES['import'], $overrides ); if ( isset( $upload['error'] ) ) { return $upload; } // Construct the attachment array. $attachment = array( 'post_title' => wp_basename( $upload['file'] ), 'post_content' => $upload['url'], 'post_mime_type' => $upload['type'], 'guid' => $upload['url'], 'context' => 'import', 'post_status' => 'private', ); // Save the data. $id = wp_insert_attachment( $attachment, $upload['file'] ); /* * Schedule a cleanup for one day from now in case of failed * import or missing wp_import_cleanup() call. */ wp_schedule_single_event( time() + DAY_IN_SECONDS, 'importer_scheduled_cleanup', array( $id ) ); return array( 'file' => $upload['file'], 'id' => $id, ); } /** * Returns a list from WordPress.org of popular importer plugins. * * @since 3.5.0 * * @return array Importers with metadata for each. */ function wp_get_popular_importers() { $locale = get_user_locale(); $cache_key = 'popular_importers_' . md5( $locale . wp_get_wp_version() ); $popular_importers = get_site_transient( $cache_key ); if ( ! $popular_importers ) { $url = add_query_arg( array( 'locale' => $locale, 'version' => wp_get_wp_version(), ), 'http://api.wordpress.org/core/importers/1.1/' ); $options = array( 'user-agent' => 'WordPress/' . wp_get_wp_version() . '; ' . home_url( '/' ) ); if ( wp_http_supports( array( 'ssl' ) ) ) { $url = set_url_scheme( $url, 'https' ); } $response = wp_remote_get( $url, $options ); $popular_importers = json_decode( wp_remote_retrieve_body( $response ), true ); if ( is_array( $popular_importers ) ) { set_site_transient( $cache_key, $popular_importers, 2 * DAY_IN_SECONDS ); } else { $popular_importers = false; } } if ( is_array( $popular_importers ) ) { // If the data was received as translated, return it as-is. if ( $popular_importers['translated'] ) { return $popular_importers['importers']; } foreach ( $popular_importers['importers'] as &$importer ) { // phpcs:ignore WordPress.WP.I18n.LowLevelTranslationFunction,WordPress.WP.I18n.NonSingularStringLiteralText $importer['description'] = translate( $importer['description'] ); if ( 'WordPress' !== $importer['name'] ) { // phpcs:ignore WordPress.WP.I18n.LowLevelTranslationFunction,WordPress.WP.I18n.NonSingularStringLiteralText $importer['name'] = translate( $importer['name'] ); } } return $popular_importers['importers']; } return array( // slug => name, description, plugin slug, and register_importer() slug. 'blogger' => array( 'name' => __( 'Blogger' ), 'description' => __( 'Import posts, comments, and users from a Blogger blog.' ), 'plugin-slug' => 'blogger-importer', 'importer-id' => 'blogger', ), 'wpcat2tag' => array( 'name' => __( 'Categories and Tags Converter' ), 'description' => __( 'Convert existing categories to tags or tags to categories, selectively.' ), 'plugin-slug' => 'wpcat2tag-importer', 'importer-id' => 'wp-cat2tag', ), 'livejournal' => array( 'name' => __( 'LiveJournal' ), 'description' => __( 'Import posts from LiveJournal using their API.' ), 'plugin-slug' => 'livejournal-importer', 'importer-id' => 'livejournal', ), 'movabletype' => array( 'name' => __( 'Movable Type and TypePad' ), 'description' => __( 'Import posts and comments from a Movable Type or TypePad blog.' ), 'plugin-slug' => 'movabletype-importer', 'importer-id' => 'mt', ), 'rss' => array( 'name' => __( 'RSS' ), 'description' => __( 'Import posts from an RSS feed.' ), 'plugin-slug' => 'rss-importer', 'importer-id' => 'rss', ), 'tumblr' => array( 'name' => __( 'Tumblr' ), 'description' => __( 'Import posts & media from Tumblr using their API.' ), 'plugin-slug' => 'tumblr-importer', 'importer-id' => 'tumblr', ), 'wordpress' => array( 'name' => 'WordPress', 'description' => __( 'Import posts, pages, comments, custom fields, categories, and tags from a WordPress export file.' ), 'plugin-slug' => 'wordpress-importer', 'importer-id' => 'wordpress', ), ); } class-plugin-installer-skin.php 0000644 00000027425 14735706075 0012643 0 ustar 00 <?php /** * Upgrader API: Plugin_Installer_Skin class * * @package WordPress * @subpackage Upgrader * @since 4.6.0 */ /** * Plugin Installer Skin for WordPress Plugin Installer. * * @since 2.8.0 * @since 4.6.0 Moved to its own file from wp-admin/includes/class-wp-upgrader-skins.php. * * @see WP_Upgrader_Skin */ class Plugin_Installer_Skin extends WP_Upgrader_Skin { public $api; public $type; public $url; public $overwrite; private $is_downgrading = false; /** * Constructor. * * Sets up the plugin installer skin. * * @since 2.8.0 * * @param array $args */ public function __construct( $args = array() ) { $defaults = array( 'type' => 'web', 'url' => '', 'plugin' => '', 'nonce' => '', 'title' => '', 'overwrite' => '', ); $args = wp_parse_args( $args, $defaults ); $this->type = $args['type']; $this->url = $args['url']; $this->api = isset( $args['api'] ) ? $args['api'] : array(); $this->overwrite = $args['overwrite']; parent::__construct( $args ); } /** * Performs an action before installing a plugin. * * @since 2.8.0 */ public function before() { if ( ! empty( $this->api ) ) { $this->upgrader->strings['process_success'] = sprintf( $this->upgrader->strings['process_success_specific'], $this->api->name, $this->api->version ); } } /** * Hides the `process_failed` error when updating a plugin by uploading a zip file. * * @since 5.5.0 * * @param WP_Error $wp_error WP_Error object. * @return bool True if the error should be hidden, false otherwise. */ public function hide_process_failed( $wp_error ) { if ( 'upload' === $this->type && '' === $this->overwrite && $wp_error->get_error_code() === 'folder_exists' ) { return true; } return false; } /** * Performs an action following a plugin install. * * @since 2.8.0 */ public function after() { // Check if the plugin can be overwritten and output the HTML. if ( $this->do_overwrite() ) { return; } $plugin_file = $this->upgrader->plugin_info(); $install_actions = array(); $from = isset( $_GET['from'] ) ? wp_unslash( $_GET['from'] ) : 'plugins'; if ( 'import' === $from ) { $install_actions['activate_plugin'] = sprintf( '<a class="button button-primary" href="%s" target="_parent">%s</a>', wp_nonce_url( 'plugins.php?action=activate&from=import&plugin=' . urlencode( $plugin_file ), 'activate-plugin_' . $plugin_file ), __( 'Activate Plugin & Run Importer' ) ); } elseif ( 'press-this' === $from ) { $install_actions['activate_plugin'] = sprintf( '<a class="button button-primary" href="%s" target="_parent">%s</a>', wp_nonce_url( 'plugins.php?action=activate&from=press-this&plugin=' . urlencode( $plugin_file ), 'activate-plugin_' . $plugin_file ), __( 'Activate Plugin & Go to Press This' ) ); } else { $install_actions['activate_plugin'] = sprintf( '<a class="button button-primary" href="%s" target="_parent">%s</a>', wp_nonce_url( 'plugins.php?action=activate&plugin=' . urlencode( $plugin_file ), 'activate-plugin_' . $plugin_file ), __( 'Activate Plugin' ) ); } if ( is_multisite() && current_user_can( 'manage_network_plugins' ) ) { $install_actions['network_activate'] = sprintf( '<a class="button button-primary" href="%s" target="_parent">%s</a>', wp_nonce_url( 'plugins.php?action=activate&networkwide=1&plugin=' . urlencode( $plugin_file ), 'activate-plugin_' . $plugin_file ), _x( 'Network Activate', 'plugin' ) ); unset( $install_actions['activate_plugin'] ); } if ( 'import' === $from ) { $install_actions['importers_page'] = sprintf( '<a href="%s" target="_parent">%s</a>', admin_url( 'import.php' ), __( 'Go to Importers' ) ); } elseif ( 'web' === $this->type ) { $install_actions['plugins_page'] = sprintf( '<a href="%s" target="_parent">%s</a>', self_admin_url( 'plugin-install.php' ), __( 'Go to Plugin Installer' ) ); } elseif ( 'upload' === $this->type && 'plugins' === $from ) { $install_actions['plugins_page'] = sprintf( '<a href="%s">%s</a>', self_admin_url( 'plugin-install.php' ), __( 'Go to Plugin Installer' ) ); } else { $install_actions['plugins_page'] = sprintf( '<a href="%s" target="_parent">%s</a>', self_admin_url( 'plugins.php' ), __( 'Go to Plugins page' ) ); } if ( ! $this->result || is_wp_error( $this->result ) ) { unset( $install_actions['activate_plugin'], $install_actions['network_activate'] ); } elseif ( ! current_user_can( 'activate_plugin', $plugin_file ) || is_plugin_active( $plugin_file ) ) { unset( $install_actions['activate_plugin'] ); } /** * Filters the list of action links available following a single plugin installation. * * @since 2.7.0 * * @param string[] $install_actions Array of plugin action links. * @param object $api Object containing WordPress.org API plugin data. Empty * for non-API installs, such as when a plugin is installed * via upload. * @param string $plugin_file Path to the plugin file relative to the plugins directory. */ $install_actions = apply_filters( 'install_plugin_complete_actions', $install_actions, $this->api, $plugin_file ); if ( ! empty( $install_actions ) ) { $this->feedback( implode( ' ', (array) $install_actions ) ); } } /** * Checks if the plugin can be overwritten and outputs the HTML for overwriting a plugin on upload. * * @since 5.5.0 * * @return bool Whether the plugin can be overwritten and HTML was outputted. */ private function do_overwrite() { if ( 'upload' !== $this->type || ! is_wp_error( $this->result ) || 'folder_exists' !== $this->result->get_error_code() ) { return false; } $folder = $this->result->get_error_data( 'folder_exists' ); $folder = ltrim( substr( $folder, strlen( WP_PLUGIN_DIR ) ), '/' ); $current_plugin_data = false; $all_plugins = get_plugins(); foreach ( $all_plugins as $plugin => $plugin_data ) { if ( strrpos( $plugin, $folder ) !== 0 ) { continue; } $current_plugin_data = $plugin_data; } $new_plugin_data = $this->upgrader->new_plugin_data; if ( ! $current_plugin_data || ! $new_plugin_data ) { return false; } echo '<h2 class="update-from-upload-heading">' . esc_html__( 'This plugin is already installed.' ) . '</h2>'; $this->is_downgrading = version_compare( $current_plugin_data['Version'], $new_plugin_data['Version'], '>' ); $rows = array( 'Name' => __( 'Plugin name' ), 'Version' => __( 'Version' ), 'Author' => __( 'Author' ), 'RequiresWP' => __( 'Required WordPress version' ), 'RequiresPHP' => __( 'Required PHP version' ), ); $table = '<table class="update-from-upload-comparison"><tbody>'; $table .= '<tr><th></th><th>' . esc_html_x( 'Current', 'plugin' ) . '</th>'; $table .= '<th>' . esc_html_x( 'Uploaded', 'plugin' ) . '</th></tr>'; $is_same_plugin = true; // Let's consider only these rows. foreach ( $rows as $field => $label ) { $old_value = ! empty( $current_plugin_data[ $field ] ) ? (string) $current_plugin_data[ $field ] : '-'; $new_value = ! empty( $new_plugin_data[ $field ] ) ? (string) $new_plugin_data[ $field ] : '-'; $is_same_plugin = $is_same_plugin && ( $old_value === $new_value ); $diff_field = ( 'Version' !== $field && $new_value !== $old_value ); $diff_version = ( 'Version' === $field && $this->is_downgrading ); $table .= '<tr><td class="name-label">' . $label . '</td><td>' . wp_strip_all_tags( $old_value ) . '</td>'; $table .= ( $diff_field || $diff_version ) ? '<td class="warning">' : '<td>'; $table .= wp_strip_all_tags( $new_value ) . '</td></tr>'; } $table .= '</tbody></table>'; /** * Filters the compare table output for overwriting a plugin package on upload. * * @since 5.5.0 * * @param string $table The output table with Name, Version, Author, RequiresWP, and RequiresPHP info. * @param array $current_plugin_data Array with current plugin data. * @param array $new_plugin_data Array with uploaded plugin data. */ echo apply_filters( 'install_plugin_overwrite_comparison', $table, $current_plugin_data, $new_plugin_data ); $install_actions = array(); $can_update = true; $blocked_message = '<p>' . esc_html__( 'The plugin cannot be updated due to the following:' ) . '</p>'; $blocked_message .= '<ul class="ul-disc">'; $requires_php = isset( $new_plugin_data['RequiresPHP'] ) ? $new_plugin_data['RequiresPHP'] : null; $requires_wp = isset( $new_plugin_data['RequiresWP'] ) ? $new_plugin_data['RequiresWP'] : null; if ( ! is_php_version_compatible( $requires_php ) ) { $error = sprintf( /* translators: 1: Current PHP version, 2: Version required by the uploaded plugin. */ __( 'The PHP version on your server is %1$s, however the uploaded plugin requires %2$s.' ), PHP_VERSION, $requires_php ); $blocked_message .= '<li>' . esc_html( $error ) . '</li>'; $can_update = false; } if ( ! is_wp_version_compatible( $requires_wp ) ) { $error = sprintf( /* translators: 1: Current WordPress version, 2: Version required by the uploaded plugin. */ __( 'Your WordPress version is %1$s, however the uploaded plugin requires %2$s.' ), esc_html( wp_get_wp_version() ), $requires_wp ); $blocked_message .= '<li>' . esc_html( $error ) . '</li>'; $can_update = false; } $blocked_message .= '</ul>'; if ( $can_update ) { if ( $this->is_downgrading ) { $warning = sprintf( /* translators: %s: Documentation URL. */ __( 'You are uploading an older version of a current plugin. You can continue to install the older version, but be sure to <a href="%s">back up your database and files</a> first.' ), __( 'https://developer.wordpress.org/advanced-administration/security/backup/' ) ); } else { $warning = sprintf( /* translators: %s: Documentation URL. */ __( 'You are updating a plugin. Be sure to <a href="%s">back up your database and files</a> first.' ), __( 'https://developer.wordpress.org/advanced-administration/security/backup/' ) ); } echo '<p class="update-from-upload-notice">' . $warning . '</p>'; $overwrite = $this->is_downgrading ? 'downgrade-plugin' : 'update-plugin'; $install_actions['overwrite_plugin'] = sprintf( '<a class="button button-primary update-from-upload-overwrite" href="%s" target="_parent">%s</a>', wp_nonce_url( add_query_arg( 'overwrite', $overwrite, $this->url ), 'plugin-upload' ), _x( 'Replace current with uploaded', 'plugin' ) ); } else { echo $blocked_message; } $cancel_url = add_query_arg( 'action', 'upload-plugin-cancel-overwrite', $this->url ); $install_actions['plugins_page'] = sprintf( '<a class="button" href="%s">%s</a>', wp_nonce_url( $cancel_url, 'plugin-upload-cancel-overwrite' ), __( 'Cancel and go back' ) ); /** * Filters the list of action links available following a single plugin installation failure * when overwriting is allowed. * * @since 5.5.0 * * @param string[] $install_actions Array of plugin action links. * @param object $api Object containing WordPress.org API plugin data. * @param array $new_plugin_data Array with uploaded plugin data. */ $install_actions = apply_filters( 'install_plugin_overwrite_actions', $install_actions, $this->api, $new_plugin_data ); if ( ! empty( $install_actions ) ) { printf( '<p class="update-from-upload-expired hidden">%s</p>', __( 'The uploaded file has expired. Please go back and upload it again.' ) ); echo '<p class="update-from-upload-actions">' . implode( ' ', (array) $install_actions ) . '</p>'; } return true; } } class-language-pack-upgrader.php 0000644 00000036311 14735706075 0012710 0 ustar 00 <?php /** * Upgrade API: Language_Pack_Upgrader class * * @package WordPress * @subpackage Upgrader * @since 4.6.0 */ /** * Core class used for updating/installing language packs (translations) * for plugins, themes, and core. * * @since 3.7.0 * @since 4.6.0 Moved to its own file from wp-admin/includes/class-wp-upgrader.php. * * @see WP_Upgrader */ class Language_Pack_Upgrader extends WP_Upgrader { /** * Result of the language pack upgrade. * * @since 3.7.0 * @var array|WP_Error $result * @see WP_Upgrader::$result */ public $result; /** * Whether a bulk upgrade/installation is being performed. * * @since 3.7.0 * @var bool $bulk */ public $bulk = true; /** * Asynchronously upgrades language packs after other upgrades have been made. * * Hooked to the {@see 'upgrader_process_complete'} action by default. * * @since 3.7.0 * * @param false|WP_Upgrader $upgrader Optional. WP_Upgrader instance or false. If `$upgrader` is * a Language_Pack_Upgrader instance, the method will bail to * avoid recursion. Otherwise unused. Default false. */ public static function async_upgrade( $upgrader = false ) { // Avoid recursion. if ( $upgrader && $upgrader instanceof Language_Pack_Upgrader ) { return; } // Nothing to do? $language_updates = wp_get_translation_updates(); if ( ! $language_updates ) { return; } /* * Avoid messing with VCS installations, at least for now. * Noted: this is not the ideal way to accomplish this. */ $check_vcs = new WP_Automatic_Updater(); if ( $check_vcs->is_vcs_checkout( WP_CONTENT_DIR ) ) { return; } foreach ( $language_updates as $key => $language_update ) { $update = ! empty( $language_update->autoupdate ); /** * Filters whether to asynchronously update translation for core, a plugin, or a theme. * * @since 4.0.0 * * @param bool $update Whether to update. * @param object $language_update The update offer. */ $update = apply_filters( 'async_update_translation', $update, $language_update ); if ( ! $update ) { unset( $language_updates[ $key ] ); } } if ( empty( $language_updates ) ) { return; } // Re-use the automatic upgrader skin if the parent upgrader is using it. if ( $upgrader && $upgrader->skin instanceof Automatic_Upgrader_Skin ) { $skin = $upgrader->skin; } else { $skin = new Language_Pack_Upgrader_Skin( array( 'skip_header_footer' => true, ) ); } $lp_upgrader = new Language_Pack_Upgrader( $skin ); $lp_upgrader->bulk_upgrade( $language_updates ); } /** * Initializes the upgrade strings. * * @since 3.7.0 */ public function upgrade_strings() { $this->strings['starting_upgrade'] = __( 'Some of your translations need updating. Sit tight for a few more seconds while they are updated as well.' ); $this->strings['up_to_date'] = __( 'Your translations are all up to date.' ); $this->strings['no_package'] = __( 'Update package not available.' ); /* translators: %s: Package URL. */ $this->strings['downloading_package'] = sprintf( __( 'Downloading translation from %s…' ), '<span class="code pre">%s</span>' ); $this->strings['unpack_package'] = __( 'Unpacking the update…' ); $this->strings['process_failed'] = __( 'Translation update failed.' ); $this->strings['process_success'] = __( 'Translation updated successfully.' ); $this->strings['remove_old'] = __( 'Removing the old version of the translation…' ); $this->strings['remove_old_failed'] = __( 'Could not remove the old translation.' ); } /** * Upgrades a language pack. * * @since 3.7.0 * * @param string|false $update Optional. Whether an update offer is available. Default false. * @param array $args Optional. Other optional arguments, see * Language_Pack_Upgrader::bulk_upgrade(). Default empty array. * @return array|bool|WP_Error The result of the upgrade, or a WP_Error object instead. */ public function upgrade( $update = false, $args = array() ) { if ( $update ) { $update = array( $update ); } $results = $this->bulk_upgrade( $update, $args ); if ( ! is_array( $results ) ) { return $results; } return $results[0]; } /** * Upgrades several language packs at once. * * @since 3.7.0 * * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass. * * @param object[] $language_updates Optional. Array of language packs to update. See {@see wp_get_translation_updates()}. * Default empty array. * @param array $args { * Other arguments for upgrading multiple language packs. Default empty array. * * @type bool $clear_update_cache Whether to clear the update cache when done. * Default true. * } * @return array|bool|WP_Error Will return an array of results, or true if there are no updates, * false or WP_Error for initial errors. */ public function bulk_upgrade( $language_updates = array(), $args = array() ) { global $wp_filesystem; $defaults = array( 'clear_update_cache' => true, ); $parsed_args = wp_parse_args( $args, $defaults ); $this->init(); $this->upgrade_strings(); if ( ! $language_updates ) { $language_updates = wp_get_translation_updates(); } if ( empty( $language_updates ) ) { $this->skin->header(); $this->skin->set_result( true ); $this->skin->feedback( 'up_to_date' ); $this->skin->bulk_footer(); $this->skin->footer(); return true; } if ( 'upgrader_process_complete' === current_filter() ) { $this->skin->feedback( 'starting_upgrade' ); } // Remove any existing upgrade filters from the plugin/theme upgraders #WP29425 & #WP29230. remove_all_filters( 'upgrader_pre_install' ); remove_all_filters( 'upgrader_clear_destination' ); remove_all_filters( 'upgrader_post_install' ); remove_all_filters( 'upgrader_source_selection' ); add_filter( 'upgrader_source_selection', array( $this, 'check_package' ), 10, 2 ); $this->skin->header(); // Connect to the filesystem first. $res = $this->fs_connect( array( WP_CONTENT_DIR, WP_LANG_DIR ) ); if ( ! $res ) { $this->skin->footer(); return false; } $results = array(); $this->update_count = count( $language_updates ); $this->update_current = 0; /* * The filesystem's mkdir() is not recursive. Make sure WP_LANG_DIR exists, * as we then may need to create a /plugins or /themes directory inside of it. */ $remote_destination = $wp_filesystem->find_folder( WP_LANG_DIR ); if ( ! $wp_filesystem->exists( $remote_destination ) ) { if ( ! $wp_filesystem->mkdir( $remote_destination, FS_CHMOD_DIR ) ) { return new WP_Error( 'mkdir_failed_lang_dir', $this->strings['mkdir_failed'], $remote_destination ); } } $language_updates_results = array(); foreach ( $language_updates as $language_update ) { $this->skin->language_update = $language_update; $destination = WP_LANG_DIR; if ( 'plugin' === $language_update->type ) { $destination .= '/plugins'; } elseif ( 'theme' === $language_update->type ) { $destination .= '/themes'; } ++$this->update_current; $options = array( 'package' => $language_update->package, 'destination' => $destination, 'clear_destination' => true, 'abort_if_destination_exists' => false, // We expect the destination to exist. 'clear_working' => true, 'is_multi' => true, 'hook_extra' => array( 'language_update_type' => $language_update->type, 'language_update' => $language_update, ), ); $result = $this->run( $options ); $results[] = $this->result; // Prevent credentials auth screen from displaying multiple times. if ( false === $result ) { break; } $language_updates_results[] = array( 'language' => $language_update->language, 'type' => $language_update->type, 'slug' => isset( $language_update->slug ) ? $language_update->slug : 'default', 'version' => $language_update->version, ); } // Remove upgrade hooks which are not required for translation updates. remove_action( 'upgrader_process_complete', array( 'Language_Pack_Upgrader', 'async_upgrade' ), 20 ); remove_action( 'upgrader_process_complete', 'wp_version_check' ); remove_action( 'upgrader_process_complete', 'wp_update_plugins' ); remove_action( 'upgrader_process_complete', 'wp_update_themes' ); /** This action is documented in wp-admin/includes/class-wp-upgrader.php */ do_action( 'upgrader_process_complete', $this, array( 'action' => 'update', 'type' => 'translation', 'bulk' => true, 'translations' => $language_updates_results, ) ); // Re-add upgrade hooks. add_action( 'upgrader_process_complete', array( 'Language_Pack_Upgrader', 'async_upgrade' ), 20 ); add_action( 'upgrader_process_complete', 'wp_version_check', 10, 0 ); add_action( 'upgrader_process_complete', 'wp_update_plugins', 10, 0 ); add_action( 'upgrader_process_complete', 'wp_update_themes', 10, 0 ); $this->skin->bulk_footer(); $this->skin->footer(); // Clean up our hooks, in case something else does an upgrade on this connection. remove_filter( 'upgrader_source_selection', array( $this, 'check_package' ) ); if ( $parsed_args['clear_update_cache'] ) { wp_clean_update_cache(); } return $results; } /** * Checks that the package source contains .mo and .po files. * * Hooked to the {@see 'upgrader_source_selection'} filter by * Language_Pack_Upgrader::bulk_upgrade(). * * @since 3.7.0 * * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass. * * @param string|WP_Error $source The path to the downloaded package source. * @param string $remote_source Remote file source location. * @return string|WP_Error The source as passed, or a WP_Error object on failure. */ public function check_package( $source, $remote_source ) { global $wp_filesystem; if ( is_wp_error( $source ) ) { return $source; } // Check that the folder contains a valid language. $files = $wp_filesystem->dirlist( $remote_source ); // Check to see if the expected files exist in the folder. $po = false; $mo = false; $php = false; foreach ( (array) $files as $file => $filedata ) { if ( str_ends_with( $file, '.po' ) ) { $po = true; } elseif ( str_ends_with( $file, '.mo' ) ) { $mo = true; } elseif ( str_ends_with( $file, '.l10n.php' ) ) { $php = true; } } if ( $php ) { return $source; } if ( ! $mo || ! $po ) { return new WP_Error( 'incompatible_archive_pomo', $this->strings['incompatible_archive'], sprintf( /* translators: 1: .po, 2: .mo, 3: .l10n.php */ __( 'The language pack is missing either the %1$s, %2$s, or %3$s files.' ), '<code>.po</code>', '<code>.mo</code>', '<code>.l10n.php</code>' ) ); } return $source; } /** * Gets the name of an item being updated. * * @since 3.7.0 * * @param object $update The data for an update. * @return string The name of the item being updated. */ public function get_name_for_update( $update ) { switch ( $update->type ) { case 'core': return 'WordPress'; // Not translated. case 'theme': $theme = wp_get_theme( $update->slug ); if ( $theme->exists() ) { return $theme->Get( 'Name' ); } break; case 'plugin': $plugin_data = get_plugins( '/' . $update->slug ); $plugin_data = reset( $plugin_data ); if ( $plugin_data ) { return $plugin_data['Name']; } break; } return ''; } /** * Clears existing translations where this item is going to be installed into. * * @since 5.1.0 * * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass. * * @param string $remote_destination The location on the remote filesystem to be cleared. * @return bool|WP_Error True upon success, WP_Error on failure. */ public function clear_destination( $remote_destination ) { global $wp_filesystem; $language_update = $this->skin->language_update; $language_directory = WP_LANG_DIR . '/'; // Local path for use with glob(). if ( 'core' === $language_update->type ) { $files = array( $remote_destination . $language_update->language . '.po', $remote_destination . $language_update->language . '.mo', $remote_destination . $language_update->language . '.l10n.php', $remote_destination . 'admin-' . $language_update->language . '.po', $remote_destination . 'admin-' . $language_update->language . '.mo', $remote_destination . 'admin-' . $language_update->language . '.l10n.php', $remote_destination . 'admin-network-' . $language_update->language . '.po', $remote_destination . 'admin-network-' . $language_update->language . '.mo', $remote_destination . 'admin-network-' . $language_update->language . '.l10n.php', $remote_destination . 'continents-cities-' . $language_update->language . '.po', $remote_destination . 'continents-cities-' . $language_update->language . '.mo', $remote_destination . 'continents-cities-' . $language_update->language . '.l10n.php', ); $json_translation_files = glob( $language_directory . $language_update->language . '-*.json' ); if ( $json_translation_files ) { foreach ( $json_translation_files as $json_translation_file ) { $files[] = str_replace( $language_directory, $remote_destination, $json_translation_file ); } } } else { $files = array( $remote_destination . $language_update->slug . '-' . $language_update->language . '.po', $remote_destination . $language_update->slug . '-' . $language_update->language . '.mo', $remote_destination . $language_update->slug . '-' . $language_update->language . '.l10n.php', ); $language_directory = $language_directory . $language_update->type . 's/'; $json_translation_files = glob( $language_directory . $language_update->slug . '-' . $language_update->language . '-*.json' ); if ( $json_translation_files ) { foreach ( $json_translation_files as $json_translation_file ) { $files[] = str_replace( $language_directory, $remote_destination, $json_translation_file ); } } } $files = array_filter( $files, array( $wp_filesystem, 'exists' ) ); // No files to delete. if ( ! $files ) { return true; } // Check all files are writable before attempting to clear the destination. $unwritable_files = array(); // Check writability. foreach ( $files as $file ) { if ( ! $wp_filesystem->is_writable( $file ) ) { // Attempt to alter permissions to allow writes and try again. $wp_filesystem->chmod( $file, FS_CHMOD_FILE ); if ( ! $wp_filesystem->is_writable( $file ) ) { $unwritable_files[] = $file; } } } if ( ! empty( $unwritable_files ) ) { return new WP_Error( 'files_not_writable', $this->strings['files_not_writable'], implode( ', ', $unwritable_files ) ); } foreach ( $files as $file ) { if ( ! $wp_filesystem->delete( $file ) ) { return new WP_Error( 'remove_old_failed', $this->strings['remove_old_failed'] ); } } return true; } } class-wp-filesystem-ssh2.php 0000644 00000055416 14735706075 0012076 0 ustar 00 <?php /** * WordPress Filesystem Class for implementing SSH2 * * To use this class you must follow these steps for PHP 5.2.6+ * * {@link http://kevin.vanzonneveld.net/techblog/article/make_ssh_connections_with_php/ - Installation Notes} * * Compile libssh2 (Note: Only 0.14 is officially working with PHP 5.2.6+ right now, But many users have found the latest versions work) * * cd /usr/src * wget https://www.libssh2.org/download/libssh2-0.14.tar.gz * tar -zxvf libssh2-0.14.tar.gz * cd libssh2-0.14/ * ./configure * make all install * * Note: Do not leave the directory yet! * * Enter: pecl install -f ssh2 * * Copy the ssh.so file it creates to your PHP Module Directory. * Open up your PHP.INI file and look for where extensions are placed. * Add in your PHP.ini file: extension=ssh2.so * * Restart Apache! * Check phpinfo() streams to confirm that: ssh2.shell, ssh2.exec, ssh2.tunnel, ssh2.scp, ssh2.sftp exist. * * Note: As of WordPress 2.8, this utilizes the PHP5+ function `stream_get_contents()`. * * @since 2.7.0 * * @package WordPress * @subpackage Filesystem */ class WP_Filesystem_SSH2 extends WP_Filesystem_Base { /** * @since 2.7.0 * @var resource */ public $link = false; /** * @since 2.7.0 * @var resource */ public $sftp_link; /** * @since 2.7.0 * @var bool */ public $keys = false; /** * Constructor. * * @since 2.7.0 * * @param array $opt */ public function __construct( $opt = '' ) { $this->method = 'ssh2'; $this->errors = new WP_Error(); // Check if possible to use ssh2 functions. if ( ! extension_loaded( 'ssh2' ) ) { $this->errors->add( 'no_ssh2_ext', __( 'The ssh2 PHP extension is not available' ) ); return; } // Set defaults: if ( empty( $opt['port'] ) ) { $this->options['port'] = 22; } else { $this->options['port'] = $opt['port']; } if ( empty( $opt['hostname'] ) ) { $this->errors->add( 'empty_hostname', __( 'SSH2 hostname is required' ) ); } else { $this->options['hostname'] = $opt['hostname']; } // Check if the options provided are OK. if ( ! empty( $opt['public_key'] ) && ! empty( $opt['private_key'] ) ) { $this->options['public_key'] = $opt['public_key']; $this->options['private_key'] = $opt['private_key']; $this->options['hostkey'] = array( 'hostkey' => 'ssh-rsa,ssh-ed25519' ); $this->keys = true; } elseif ( empty( $opt['username'] ) ) { $this->errors->add( 'empty_username', __( 'SSH2 username is required' ) ); } if ( ! empty( $opt['username'] ) ) { $this->options['username'] = $opt['username']; } if ( empty( $opt['password'] ) ) { // Password can be blank if we are using keys. if ( ! $this->keys ) { $this->errors->add( 'empty_password', __( 'SSH2 password is required' ) ); } else { $this->options['password'] = null; } } else { $this->options['password'] = $opt['password']; } } /** * Connects filesystem. * * @since 2.7.0 * * @return bool True on success, false on failure. */ public function connect() { if ( ! $this->keys ) { $this->link = @ssh2_connect( $this->options['hostname'], $this->options['port'] ); } else { $this->link = @ssh2_connect( $this->options['hostname'], $this->options['port'], $this->options['hostkey'] ); } if ( ! $this->link ) { $this->errors->add( 'connect', sprintf( /* translators: %s: hostname:port */ __( 'Failed to connect to SSH2 Server %s' ), $this->options['hostname'] . ':' . $this->options['port'] ) ); return false; } if ( ! $this->keys ) { if ( ! @ssh2_auth_password( $this->link, $this->options['username'], $this->options['password'] ) ) { $this->errors->add( 'auth', sprintf( /* translators: %s: Username. */ __( 'Username/Password incorrect for %s' ), $this->options['username'] ) ); return false; } } else { if ( ! @ssh2_auth_pubkey_file( $this->link, $this->options['username'], $this->options['public_key'], $this->options['private_key'], $this->options['password'] ) ) { $this->errors->add( 'auth', sprintf( /* translators: %s: Username. */ __( 'Public and Private keys incorrect for %s' ), $this->options['username'] ) ); return false; } } $this->sftp_link = ssh2_sftp( $this->link ); if ( ! $this->sftp_link ) { $this->errors->add( 'connect', sprintf( /* translators: %s: hostname:port */ __( 'Failed to initialize a SFTP subsystem session with the SSH2 Server %s' ), $this->options['hostname'] . ':' . $this->options['port'] ) ); return false; } return true; } /** * Gets the ssh2.sftp PHP stream wrapper path to open for the given file. * * This method also works around a PHP bug where the root directory (/) cannot * be opened by PHP functions, causing a false failure. In order to work around * this, the path is converted to /./ which is semantically the same as / * See https://bugs.php.net/bug.php?id=64169 for more details. * * @since 4.4.0 * * @param string $path The File/Directory path on the remote server to return * @return string The ssh2.sftp:// wrapped path to use. */ public function sftp_path( $path ) { if ( '/' === $path ) { $path = '/./'; } return 'ssh2.sftp://' . $this->sftp_link . '/' . ltrim( $path, '/' ); } /** * @since 2.7.0 * * @param string $command * @param bool $returnbool * @return bool|string True on success, false on failure. String if the command was executed, `$returnbool` * is false (default), and data from the resulting stream was retrieved. */ public function run_command( $command, $returnbool = false ) { if ( ! $this->link ) { return false; } $stream = ssh2_exec( $this->link, $command ); if ( ! $stream ) { $this->errors->add( 'command', sprintf( /* translators: %s: Command. */ __( 'Unable to perform command: %s' ), $command ) ); } else { stream_set_blocking( $stream, true ); stream_set_timeout( $stream, FS_TIMEOUT ); $data = stream_get_contents( $stream ); fclose( $stream ); if ( $returnbool ) { return ( false === $data ) ? false : '' !== trim( $data ); } else { return $data; } } return false; } /** * Reads entire file into a string. * * @since 2.7.0 * * @param string $file Name of the file to read. * @return string|false Read data on success, false if no temporary file could be opened, * or if the file couldn't be retrieved. */ public function get_contents( $file ) { return file_get_contents( $this->sftp_path( $file ) ); } /** * Reads entire file into an array. * * @since 2.7.0 * * @param string $file Path to the file. * @return array|false File contents in an array on success, false on failure. */ public function get_contents_array( $file ) { return file( $this->sftp_path( $file ) ); } /** * Writes a string to a file. * * @since 2.7.0 * * @param string $file Remote path to the file where to write the data. * @param string $contents The data to write. * @param int|false $mode Optional. The file permissions as octal number, usually 0644. * Default false. * @return bool True on success, false on failure. */ public function put_contents( $file, $contents, $mode = false ) { $ret = file_put_contents( $this->sftp_path( $file ), $contents ); if ( strlen( $contents ) !== $ret ) { return false; } $this->chmod( $file, $mode ); return true; } /** * Gets the current working directory. * * @since 2.7.0 * * @return string|false The current working directory on success, false on failure. */ public function cwd() { $cwd = ssh2_sftp_realpath( $this->sftp_link, '.' ); if ( $cwd ) { $cwd = trailingslashit( trim( $cwd ) ); } return $cwd; } /** * Changes current directory. * * @since 2.7.0 * * @param string $dir The new current directory. * @return bool True on success, false on failure. */ public function chdir( $dir ) { return $this->run_command( 'cd ' . $dir, true ); } /** * Changes the file group. * * @since 2.7.0 * * @param string $file Path to the file. * @param string|int $group A group name or number. * @param bool $recursive Optional. If set to true, changes file group recursively. * Default false. * @return bool True on success, false on failure. */ public function chgrp( $file, $group, $recursive = false ) { if ( ! $this->exists( $file ) ) { return false; } if ( ! $recursive || ! $this->is_dir( $file ) ) { return $this->run_command( sprintf( 'chgrp %s %s', escapeshellarg( $group ), escapeshellarg( $file ) ), true ); } return $this->run_command( sprintf( 'chgrp -R %s %s', escapeshellarg( $group ), escapeshellarg( $file ) ), true ); } /** * Changes filesystem permissions. * * @since 2.7.0 * * @param string $file Path to the file. * @param int|false $mode Optional. The permissions as octal number, usually 0644 for files, * 0755 for directories. Default false. * @param bool $recursive Optional. If set to true, changes file permissions recursively. * Default false. * @return bool True on success, false on failure. */ public function chmod( $file, $mode = false, $recursive = false ) { if ( ! $this->exists( $file ) ) { return false; } if ( ! $mode ) { if ( $this->is_file( $file ) ) { $mode = FS_CHMOD_FILE; } elseif ( $this->is_dir( $file ) ) { $mode = FS_CHMOD_DIR; } else { return false; } } if ( ! $recursive || ! $this->is_dir( $file ) ) { return $this->run_command( sprintf( 'chmod %o %s', $mode, escapeshellarg( $file ) ), true ); } return $this->run_command( sprintf( 'chmod -R %o %s', $mode, escapeshellarg( $file ) ), true ); } /** * Changes the owner of a file or directory. * * @since 2.7.0 * * @param string $file Path to the file or directory. * @param string|int $owner A user name or number. * @param bool $recursive Optional. If set to true, changes file owner recursively. * Default false. * @return bool True on success, false on failure. */ public function chown( $file, $owner, $recursive = false ) { if ( ! $this->exists( $file ) ) { return false; } if ( ! $recursive || ! $this->is_dir( $file ) ) { return $this->run_command( sprintf( 'chown %s %s', escapeshellarg( $owner ), escapeshellarg( $file ) ), true ); } return $this->run_command( sprintf( 'chown -R %s %s', escapeshellarg( $owner ), escapeshellarg( $file ) ), true ); } /** * Gets the file owner. * * @since 2.7.0 * * @param string $file Path to the file. * @return string|false Username of the owner on success, false on failure. */ public function owner( $file ) { $owneruid = @fileowner( $this->sftp_path( $file ) ); if ( ! $owneruid ) { return false; } if ( ! function_exists( 'posix_getpwuid' ) ) { return $owneruid; } $ownerarray = posix_getpwuid( $owneruid ); if ( ! $ownerarray ) { return false; } return $ownerarray['name']; } /** * Gets the permissions of the specified file or filepath in their octal format. * * @since 2.7.0 * * @param string $file Path to the file. * @return string Mode of the file (the last 3 digits). */ public function getchmod( $file ) { return substr( decoct( @fileperms( $this->sftp_path( $file ) ) ), -3 ); } /** * Gets the file's group. * * @since 2.7.0 * * @param string $file Path to the file. * @return string|false The group on success, false on failure. */ public function group( $file ) { $gid = @filegroup( $this->sftp_path( $file ) ); if ( ! $gid ) { return false; } if ( ! function_exists( 'posix_getgrgid' ) ) { return $gid; } $grouparray = posix_getgrgid( $gid ); if ( ! $grouparray ) { return false; } return $grouparray['name']; } /** * Copies a file. * * @since 2.7.0 * * @param string $source Path to the source file. * @param string $destination Path to the destination file. * @param bool $overwrite Optional. Whether to overwrite the destination file if it exists. * Default false. * @param int|false $mode Optional. The permissions as octal number, usually 0644 for files, * 0755 for dirs. Default false. * @return bool True on success, false on failure. */ public function copy( $source, $destination, $overwrite = false, $mode = false ) { if ( ! $overwrite && $this->exists( $destination ) ) { return false; } $content = $this->get_contents( $source ); if ( false === $content ) { return false; } return $this->put_contents( $destination, $content, $mode ); } /** * Moves a file or directory. * * After moving files or directories, OPcache will need to be invalidated. * * If moving a directory fails, `copy_dir()` can be used for a recursive copy. * * Use `move_dir()` for moving directories with OPcache invalidation and a * fallback to `copy_dir()`. * * @since 2.7.0 * * @param string $source Path to the source file or directory. * @param string $destination Path to the destination file or directory. * @param bool $overwrite Optional. Whether to overwrite the destination if it exists. * Default false. * @return bool True on success, false on failure. */ public function move( $source, $destination, $overwrite = false ) { if ( $this->exists( $destination ) ) { if ( $overwrite ) { // We need to remove the destination before we can rename the source. $this->delete( $destination, false, 'f' ); } else { // If we're not overwriting, the rename will fail, so return early. return false; } } return ssh2_sftp_rename( $this->sftp_link, $source, $destination ); } /** * Deletes a file or directory. * * @since 2.7.0 * * @param string $file Path to the file or directory. * @param bool $recursive Optional. If set to true, deletes files and folders recursively. * Default false. * @param string|false $type Type of resource. 'f' for file, 'd' for directory. * Default false. * @return bool True on success, false on failure. */ public function delete( $file, $recursive = false, $type = false ) { if ( 'f' === $type || $this->is_file( $file ) ) { return ssh2_sftp_unlink( $this->sftp_link, $file ); } if ( ! $recursive ) { return ssh2_sftp_rmdir( $this->sftp_link, $file ); } $filelist = $this->dirlist( $file ); if ( is_array( $filelist ) ) { foreach ( $filelist as $filename => $fileinfo ) { $this->delete( $file . '/' . $filename, $recursive, $fileinfo['type'] ); } } return ssh2_sftp_rmdir( $this->sftp_link, $file ); } /** * Checks if a file or directory exists. * * @since 2.7.0 * * @param string $path Path to file or directory. * @return bool Whether $path exists or not. */ public function exists( $path ) { return file_exists( $this->sftp_path( $path ) ); } /** * Checks if resource is a file. * * @since 2.7.0 * * @param string $file File path. * @return bool Whether $file is a file. */ public function is_file( $file ) { return is_file( $this->sftp_path( $file ) ); } /** * Checks if resource is a directory. * * @since 2.7.0 * * @param string $path Directory path. * @return bool Whether $path is a directory. */ public function is_dir( $path ) { return is_dir( $this->sftp_path( $path ) ); } /** * Checks if a file is readable. * * @since 2.7.0 * * @param string $file Path to file. * @return bool Whether $file is readable. */ public function is_readable( $file ) { return is_readable( $this->sftp_path( $file ) ); } /** * Checks if a file or directory is writable. * * @since 2.7.0 * * @param string $path Path to file or directory. * @return bool Whether $path is writable. */ public function is_writable( $path ) { // PHP will base its writable checks on system_user === file_owner, not ssh_user === file_owner. return true; } /** * Gets the file's last access time. * * @since 2.7.0 * * @param string $file Path to file. * @return int|false Unix timestamp representing last access time, false on failure. */ public function atime( $file ) { return fileatime( $this->sftp_path( $file ) ); } /** * Gets the file modification time. * * @since 2.7.0 * * @param string $file Path to file. * @return int|false Unix timestamp representing modification time, false on failure. */ public function mtime( $file ) { return filemtime( $this->sftp_path( $file ) ); } /** * Gets the file size (in bytes). * * @since 2.7.0 * * @param string $file Path to file. * @return int|false Size of the file in bytes on success, false on failure. */ public function size( $file ) { return filesize( $this->sftp_path( $file ) ); } /** * Sets the access and modification times of a file. * * Note: Not implemented. * * @since 2.7.0 * * @param string $file Path to file. * @param int $time Optional. Modified time to set for file. * Default 0. * @param int $atime Optional. Access time to set for file. * Default 0. */ public function touch( $file, $time = 0, $atime = 0 ) { // Not implemented. } /** * Creates a directory. * * @since 2.7.0 * * @param string $path Path for new directory. * @param int|false $chmod Optional. The permissions as octal number (or false to skip chmod). * Default false. * @param string|int|false $chown Optional. A user name or number (or false to skip chown). * Default false. * @param string|int|false $chgrp Optional. A group name or number (or false to skip chgrp). * Default false. * @return bool True on success, false on failure. */ public function mkdir( $path, $chmod = false, $chown = false, $chgrp = false ) { $path = untrailingslashit( $path ); if ( empty( $path ) ) { return false; } if ( ! $chmod ) { $chmod = FS_CHMOD_DIR; } if ( ! ssh2_sftp_mkdir( $this->sftp_link, $path, $chmod, true ) ) { return false; } // Set directory permissions. ssh2_sftp_chmod( $this->sftp_link, $path, $chmod ); if ( $chown ) { $this->chown( $path, $chown ); } if ( $chgrp ) { $this->chgrp( $path, $chgrp ); } return true; } /** * Deletes a directory. * * @since 2.7.0 * * @param string $path Path to directory. * @param bool $recursive Optional. Whether to recursively remove files/directories. * Default false. * @return bool True on success, false on failure. */ public function rmdir( $path, $recursive = false ) { return $this->delete( $path, $recursive ); } /** * Gets details for files in a directory or a specific file. * * @since 2.7.0 * * @param string $path Path to directory or file. * @param bool $include_hidden Optional. Whether to include details of hidden ("." prefixed) files. * Default true. * @param bool $recursive Optional. Whether to recursively include file details in nested directories. * Default false. * @return array|false { * Array of arrays containing file information. False if unable to list directory contents. * * @type array ...$0 { * Array of file information. Note that some elements may not be available on all filesystems. * * @type string $name Name of the file or directory. * @type string $perms *nix representation of permissions. * @type string $permsn Octal representation of permissions. * @type false $number File number. Always false in this context. * @type string|false $owner Owner name or ID, or false if not available. * @type string|false $group File permissions group, or false if not available. * @type int|string|false $size Size of file in bytes. May be a numeric string. * False if not available. * @type int|string|false $lastmodunix Last modified unix timestamp. May be a numeric string. * False if not available. * @type string|false $lastmod Last modified month (3 letters) and day (without leading 0), or * false if not available. * @type string|false $time Last modified time, or false if not available. * @type string $type Type of resource. 'f' for file, 'd' for directory, 'l' for link. * @type array|false $files If a directory and `$recursive` is true, contains another array of * files. False if unable to list directory contents. * } * } */ public function dirlist( $path, $include_hidden = true, $recursive = false ) { if ( $this->is_file( $path ) ) { $limit_file = basename( $path ); $path = dirname( $path ); } else { $limit_file = false; } if ( ! $this->is_dir( $path ) || ! $this->is_readable( $path ) ) { return false; } $ret = array(); $dir = dir( $this->sftp_path( $path ) ); if ( ! $dir ) { return false; } $path = trailingslashit( $path ); while ( false !== ( $entry = $dir->read() ) ) { $struc = array(); $struc['name'] = $entry; if ( '.' === $struc['name'] || '..' === $struc['name'] ) { continue; // Do not care about these folders. } if ( ! $include_hidden && '.' === $struc['name'][0] ) { continue; } if ( $limit_file && $struc['name'] !== $limit_file ) { continue; } $struc['perms'] = $this->gethchmod( $path . $entry ); $struc['permsn'] = $this->getnumchmodfromh( $struc['perms'] ); $struc['number'] = false; $struc['owner'] = $this->owner( $path . $entry ); $struc['group'] = $this->group( $path . $entry ); $struc['size'] = $this->size( $path . $entry ); $struc['lastmodunix'] = $this->mtime( $path . $entry ); $struc['lastmod'] = gmdate( 'M j', $struc['lastmodunix'] ); $struc['time'] = gmdate( 'h:i:s', $struc['lastmodunix'] ); $struc['type'] = $this->is_dir( $path . $entry ) ? 'd' : 'f'; if ( 'd' === $struc['type'] ) { if ( $recursive ) { $struc['files'] = $this->dirlist( $path . $struc['name'], $include_hidden, $recursive ); } else { $struc['files'] = array(); } } $ret[ $struc['name'] ] = $struc; } $dir->close(); unset( $dir ); return $ret; } } update-core.php 0000644 00000207323 14735706075 0007512 0 ustar 00 <?php /** * WordPress core upgrade functionality. * * Note: Newly introduced functions and methods cannot be used here. * All functions must be present in the previous version being upgraded from * as this file is used there too. * * @package WordPress * @subpackage Administration * @since 2.7.0 */ /** * Stores files to be deleted. * * Bundled theme files should not be included in this list. * * @since 2.7.0 * * @global array $_old_files * @var array * @name $_old_files */ global $_old_files; $_old_files = array( // 2.0 'wp-admin/import-b2.php', 'wp-admin/import-blogger.php', 'wp-admin/import-greymatter.php', 'wp-admin/import-livejournal.php', 'wp-admin/import-mt.php', 'wp-admin/import-rss.php', 'wp-admin/import-textpattern.php', 'wp-admin/quicktags.js', 'wp-images/fade-butt.png', 'wp-images/get-firefox.png', 'wp-images/header-shadow.png', 'wp-images/smilies', 'wp-images/wp-small.png', 'wp-images/wpminilogo.png', 'wp.php', // 2.1 'wp-admin/edit-form-ajax-cat.php', 'wp-admin/execute-pings.php', 'wp-admin/inline-uploading.php', 'wp-admin/link-categories.php', 'wp-admin/list-manipulation.js', 'wp-admin/list-manipulation.php', 'wp-includes/comment-functions.php', 'wp-includes/feed-functions.php', 'wp-includes/functions-compat.php', 'wp-includes/functions-formatting.php', 'wp-includes/functions-post.php', 'wp-includes/js/dbx-key.js', 'wp-includes/links.php', 'wp-includes/pluggable-functions.php', 'wp-includes/template-functions-author.php', 'wp-includes/template-functions-category.php', 'wp-includes/template-functions-general.php', 'wp-includes/template-functions-links.php', 'wp-includes/template-functions-post.php', 'wp-includes/wp-l10n.php', // 2.2 'wp-admin/cat-js.php', 'wp-includes/js/autosave-js.php', 'wp-includes/js/list-manipulation-js.php', 'wp-includes/js/wp-ajax-js.php', // 2.3 'wp-admin/admin-db.php', 'wp-admin/cat.js', 'wp-admin/categories.js', 'wp-admin/custom-fields.js', 'wp-admin/dbx-admin-key.js', 'wp-admin/edit-comments.js', 'wp-admin/install-rtl.css', 'wp-admin/install.css', 'wp-admin/upgrade-schema.php', 'wp-admin/upload-functions.php', 'wp-admin/upload-rtl.css', 'wp-admin/upload.css', 'wp-admin/upload.js', 'wp-admin/users.js', 'wp-admin/widgets-rtl.css', 'wp-admin/widgets.css', 'wp-admin/xfn.js', 'wp-includes/js/tinymce/license.html', // 2.5 'wp-admin/css/upload.css', 'wp-admin/images/box-bg-left.gif', 'wp-admin/images/box-bg-right.gif', 'wp-admin/images/box-bg.gif', 'wp-admin/images/box-butt-left.gif', 'wp-admin/images/box-butt-right.gif', 'wp-admin/images/box-butt.gif', 'wp-admin/images/box-head-left.gif', 'wp-admin/images/box-head-right.gif', 'wp-admin/images/box-head.gif', 'wp-admin/images/heading-bg.gif', 'wp-admin/images/login-bkg-bottom.gif', 'wp-admin/images/login-bkg-tile.gif', 'wp-admin/images/notice.gif', 'wp-admin/images/toggle.gif', 'wp-admin/includes/upload.php', 'wp-admin/js/dbx-admin-key.js', 'wp-admin/js/link-cat.js', 'wp-admin/profile-update.php', 'wp-admin/templates.php', 'wp-includes/js/dbx.js', 'wp-includes/js/fat.js', 'wp-includes/js/list-manipulation.js', 'wp-includes/js/tinymce/langs/en.js', 'wp-includes/js/tinymce/plugins/directionality/images', 'wp-includes/js/tinymce/plugins/directionality/langs', 'wp-includes/js/tinymce/plugins/paste/images', 'wp-includes/js/tinymce/plugins/paste/jscripts', 'wp-includes/js/tinymce/plugins/paste/langs', 'wp-includes/js/tinymce/plugins/wordpress/images', 'wp-includes/js/tinymce/plugins/wordpress/langs', 'wp-includes/js/tinymce/plugins/wordpress/wordpress.css', 'wp-includes/js/tinymce/plugins/wphelp', // 2.5.1 'wp-includes/js/tinymce/tiny_mce_gzip.php', // 2.6 'wp-admin/bookmarklet.php', 'wp-includes/js/jquery/jquery.dimensions.min.js', 'wp-includes/js/tinymce/plugins/wordpress/popups.css', 'wp-includes/js/wp-ajax.js', // 2.7 'wp-admin/css/press-this-ie-rtl.css', 'wp-admin/css/press-this-ie.css', 'wp-admin/css/upload-rtl.css', 'wp-admin/edit-form.php', 'wp-admin/images/comment-pill.gif', 'wp-admin/images/comment-stalk-classic.gif', 'wp-admin/images/comment-stalk-fresh.gif', 'wp-admin/images/comment-stalk-rtl.gif', 'wp-admin/images/del.png', 'wp-admin/images/gear.png', 'wp-admin/images/media-button-gallery.gif', 'wp-admin/images/media-buttons.gif', 'wp-admin/images/postbox-bg.gif', 'wp-admin/images/tab.png', 'wp-admin/images/tail.gif', 'wp-admin/js/forms.js', 'wp-admin/js/upload.js', 'wp-admin/link-import.php', 'wp-includes/images/audio.png', 'wp-includes/images/css.png', 'wp-includes/images/default.png', 'wp-includes/images/doc.png', 'wp-includes/images/exe.png', 'wp-includes/images/html.png', 'wp-includes/images/js.png', 'wp-includes/images/pdf.png', 'wp-includes/images/swf.png', 'wp-includes/images/tar.png', 'wp-includes/images/text.png', 'wp-includes/images/video.png', 'wp-includes/images/zip.png', 'wp-includes/js/tinymce/tiny_mce_config.php', 'wp-includes/js/tinymce/tiny_mce_ext.js', // 2.8 'wp-admin/js/users.js', 'wp-includes/js/swfupload/swfupload_f9.swf', 'wp-includes/js/tinymce/plugins/autosave', 'wp-includes/js/tinymce/plugins/paste/css', 'wp-includes/js/tinymce/utils/mclayer.js', 'wp-includes/js/tinymce/wordpress.css', // 2.9 'wp-admin/js/page.dev.js', 'wp-admin/js/page.js', 'wp-admin/js/set-post-thumbnail-handler.dev.js', 'wp-admin/js/set-post-thumbnail-handler.js', 'wp-admin/js/slug.dev.js', 'wp-admin/js/slug.js', 'wp-includes/gettext.php', 'wp-includes/js/tinymce/plugins/wordpress/js', 'wp-includes/streams.php', // MU 'README.txt', 'htaccess.dist', 'index-install.php', 'wp-admin/css/mu-rtl.css', 'wp-admin/css/mu.css', 'wp-admin/images/site-admin.png', 'wp-admin/includes/mu.php', 'wp-admin/wpmu-admin.php', 'wp-admin/wpmu-blogs.php', 'wp-admin/wpmu-edit.php', 'wp-admin/wpmu-options.php', 'wp-admin/wpmu-themes.php', 'wp-admin/wpmu-upgrade-site.php', 'wp-admin/wpmu-users.php', 'wp-includes/images/wordpress-mu.png', 'wp-includes/wpmu-default-filters.php', 'wp-includes/wpmu-functions.php', 'wpmu-settings.php', // 3.0 'wp-admin/categories.php', 'wp-admin/edit-category-form.php', 'wp-admin/edit-page-form.php', 'wp-admin/edit-pages.php', 'wp-admin/images/admin-header-footer.png', 'wp-admin/images/browse-happy.gif', 'wp-admin/images/ico-add.png', 'wp-admin/images/ico-close.png', 'wp-admin/images/ico-edit.png', 'wp-admin/images/ico-viewpage.png', 'wp-admin/images/fav-top.png', 'wp-admin/images/screen-options-left.gif', 'wp-admin/images/wp-logo-vs.gif', 'wp-admin/images/wp-logo.gif', 'wp-admin/import', 'wp-admin/js/wp-gears.dev.js', 'wp-admin/js/wp-gears.js', 'wp-admin/options-misc.php', 'wp-admin/page-new.php', 'wp-admin/page.php', 'wp-admin/rtl.css', 'wp-admin/rtl.dev.css', 'wp-admin/update-links.php', 'wp-admin/wp-admin.css', 'wp-admin/wp-admin.dev.css', 'wp-includes/js/codepress', 'wp-includes/js/jquery/autocomplete.dev.js', 'wp-includes/js/jquery/autocomplete.js', 'wp-includes/js/jquery/interface.js', // Following file added back in 5.1, see #45645. //'wp-includes/js/tinymce/wp-tinymce.js', // 3.1 'wp-admin/edit-attachment-rows.php', 'wp-admin/edit-link-categories.php', 'wp-admin/edit-link-category-form.php', 'wp-admin/edit-post-rows.php', 'wp-admin/images/button-grad-active-vs.png', 'wp-admin/images/button-grad-vs.png', 'wp-admin/images/fav-arrow-vs-rtl.gif', 'wp-admin/images/fav-arrow-vs.gif', 'wp-admin/images/fav-top-vs.gif', 'wp-admin/images/list-vs.png', 'wp-admin/images/screen-options-right-up.gif', 'wp-admin/images/screen-options-right.gif', 'wp-admin/images/visit-site-button-grad-vs.gif', 'wp-admin/images/visit-site-button-grad.gif', 'wp-admin/link-category.php', 'wp-admin/sidebar.php', 'wp-includes/classes.php', 'wp-includes/js/tinymce/blank.htm', 'wp-includes/js/tinymce/plugins/media/img', 'wp-includes/js/tinymce/plugins/safari', // 3.2 'wp-admin/images/logo-login.gif', 'wp-admin/images/star.gif', 'wp-admin/js/list-table.dev.js', 'wp-admin/js/list-table.js', 'wp-includes/default-embeds.php', // 3.3 'wp-admin/css/colors-classic-rtl.css', 'wp-admin/css/colors-classic-rtl.dev.css', 'wp-admin/css/colors-fresh-rtl.css', 'wp-admin/css/colors-fresh-rtl.dev.css', 'wp-admin/css/dashboard-rtl.dev.css', 'wp-admin/css/dashboard.dev.css', 'wp-admin/css/global-rtl.css', 'wp-admin/css/global-rtl.dev.css', 'wp-admin/css/global.css', 'wp-admin/css/global.dev.css', 'wp-admin/css/install-rtl.dev.css', 'wp-admin/css/login-rtl.dev.css', 'wp-admin/css/login.dev.css', 'wp-admin/css/ms.css', 'wp-admin/css/ms.dev.css', 'wp-admin/css/nav-menu-rtl.css', 'wp-admin/css/nav-menu-rtl.dev.css', 'wp-admin/css/nav-menu.css', 'wp-admin/css/nav-menu.dev.css', 'wp-admin/css/plugin-install-rtl.css', 'wp-admin/css/plugin-install-rtl.dev.css', 'wp-admin/css/plugin-install.css', 'wp-admin/css/plugin-install.dev.css', 'wp-admin/css/press-this-rtl.dev.css', 'wp-admin/css/press-this.dev.css', 'wp-admin/css/theme-editor-rtl.css', 'wp-admin/css/theme-editor-rtl.dev.css', 'wp-admin/css/theme-editor.css', 'wp-admin/css/theme-editor.dev.css', 'wp-admin/css/theme-install-rtl.css', 'wp-admin/css/theme-install-rtl.dev.css', 'wp-admin/css/theme-install.css', 'wp-admin/css/theme-install.dev.css', 'wp-admin/css/widgets-rtl.dev.css', 'wp-admin/css/widgets.dev.css', 'wp-admin/includes/internal-linking.php', 'wp-includes/images/admin-bar-sprite-rtl.png', 'wp-includes/js/jquery/ui.button.js', 'wp-includes/js/jquery/ui.core.js', 'wp-includes/js/jquery/ui.dialog.js', 'wp-includes/js/jquery/ui.draggable.js', 'wp-includes/js/jquery/ui.droppable.js', 'wp-includes/js/jquery/ui.mouse.js', 'wp-includes/js/jquery/ui.position.js', 'wp-includes/js/jquery/ui.resizable.js', 'wp-includes/js/jquery/ui.selectable.js', 'wp-includes/js/jquery/ui.sortable.js', 'wp-includes/js/jquery/ui.tabs.js', 'wp-includes/js/jquery/ui.widget.js', 'wp-includes/js/l10n.dev.js', 'wp-includes/js/l10n.js', 'wp-includes/js/tinymce/plugins/wplink/css', 'wp-includes/js/tinymce/plugins/wplink/img', 'wp-includes/js/tinymce/plugins/wplink/js', // Don't delete, yet: 'wp-rss.php', // Don't delete, yet: 'wp-rdf.php', // Don't delete, yet: 'wp-rss2.php', // Don't delete, yet: 'wp-commentsrss2.php', // Don't delete, yet: 'wp-atom.php', // Don't delete, yet: 'wp-feed.php', // 3.4 'wp-admin/images/gray-star.png', 'wp-admin/images/logo-login.png', 'wp-admin/images/star.png', 'wp-admin/index-extra.php', 'wp-admin/network/index-extra.php', 'wp-admin/user/index-extra.php', 'wp-includes/css/editor-buttons.css', 'wp-includes/css/editor-buttons.dev.css', 'wp-includes/js/tinymce/plugins/paste/blank.htm', 'wp-includes/js/tinymce/plugins/wordpress/css', 'wp-includes/js/tinymce/plugins/wordpress/editor_plugin.dev.js', 'wp-includes/js/tinymce/plugins/wpdialogs/editor_plugin.dev.js', 'wp-includes/js/tinymce/plugins/wpeditimage/editor_plugin.dev.js', 'wp-includes/js/tinymce/plugins/wpgallery/editor_plugin.dev.js', 'wp-includes/js/tinymce/plugins/wplink/editor_plugin.dev.js', // Don't delete, yet: 'wp-pass.php', // Don't delete, yet: 'wp-register.php', // 3.5 'wp-admin/gears-manifest.php', 'wp-admin/includes/manifest.php', 'wp-admin/images/archive-link.png', 'wp-admin/images/blue-grad.png', 'wp-admin/images/button-grad-active.png', 'wp-admin/images/button-grad.png', 'wp-admin/images/ed-bg-vs.gif', 'wp-admin/images/ed-bg.gif', 'wp-admin/images/fade-butt.png', 'wp-admin/images/fav-arrow-rtl.gif', 'wp-admin/images/fav-arrow.gif', 'wp-admin/images/fav-vs.png', 'wp-admin/images/fav.png', 'wp-admin/images/gray-grad.png', 'wp-admin/images/loading-publish.gif', 'wp-admin/images/logo-ghost.png', 'wp-admin/images/logo.gif', 'wp-admin/images/menu-arrow-frame-rtl.png', 'wp-admin/images/menu-arrow-frame.png', 'wp-admin/images/menu-arrows.gif', 'wp-admin/images/menu-bits-rtl-vs.gif', 'wp-admin/images/menu-bits-rtl.gif', 'wp-admin/images/menu-bits-vs.gif', 'wp-admin/images/menu-bits.gif', 'wp-admin/images/menu-dark-rtl-vs.gif', 'wp-admin/images/menu-dark-rtl.gif', 'wp-admin/images/menu-dark-vs.gif', 'wp-admin/images/menu-dark.gif', 'wp-admin/images/required.gif', 'wp-admin/images/screen-options-toggle-vs.gif', 'wp-admin/images/screen-options-toggle.gif', 'wp-admin/images/toggle-arrow-rtl.gif', 'wp-admin/images/toggle-arrow.gif', 'wp-admin/images/upload-classic.png', 'wp-admin/images/upload-fresh.png', 'wp-admin/images/white-grad-active.png', 'wp-admin/images/white-grad.png', 'wp-admin/images/widgets-arrow-vs.gif', 'wp-admin/images/widgets-arrow.gif', 'wp-admin/images/wpspin_dark.gif', 'wp-includes/images/upload.png', 'wp-includes/js/prototype.js', 'wp-includes/js/scriptaculous', 'wp-admin/css/wp-admin-rtl.dev.css', 'wp-admin/css/wp-admin.dev.css', 'wp-admin/css/media-rtl.dev.css', 'wp-admin/css/media.dev.css', 'wp-admin/css/colors-classic.dev.css', 'wp-admin/css/customize-controls-rtl.dev.css', 'wp-admin/css/customize-controls.dev.css', 'wp-admin/css/ie-rtl.dev.css', 'wp-admin/css/ie.dev.css', 'wp-admin/css/install.dev.css', 'wp-admin/css/colors-fresh.dev.css', 'wp-includes/js/customize-base.dev.js', 'wp-includes/js/json2.dev.js', 'wp-includes/js/comment-reply.dev.js', 'wp-includes/js/customize-preview.dev.js', 'wp-includes/js/wplink.dev.js', 'wp-includes/js/tw-sack.dev.js', 'wp-includes/js/wp-list-revisions.dev.js', 'wp-includes/js/autosave.dev.js', 'wp-includes/js/admin-bar.dev.js', 'wp-includes/js/quicktags.dev.js', 'wp-includes/js/wp-ajax-response.dev.js', 'wp-includes/js/wp-pointer.dev.js', 'wp-includes/js/hoverIntent.dev.js', 'wp-includes/js/colorpicker.dev.js', 'wp-includes/js/wp-lists.dev.js', 'wp-includes/js/customize-loader.dev.js', 'wp-includes/js/jquery/jquery.table-hotkeys.dev.js', 'wp-includes/js/jquery/jquery.color.dev.js', 'wp-includes/js/jquery/jquery.color.js', 'wp-includes/js/jquery/jquery.hotkeys.dev.js', 'wp-includes/js/jquery/jquery.form.dev.js', 'wp-includes/js/jquery/suggest.dev.js', 'wp-admin/js/xfn.dev.js', 'wp-admin/js/set-post-thumbnail.dev.js', 'wp-admin/js/comment.dev.js', 'wp-admin/js/theme.dev.js', 'wp-admin/js/cat.dev.js', 'wp-admin/js/password-strength-meter.dev.js', 'wp-admin/js/user-profile.dev.js', 'wp-admin/js/theme-preview.dev.js', 'wp-admin/js/post.dev.js', 'wp-admin/js/media-upload.dev.js', 'wp-admin/js/word-count.dev.js', 'wp-admin/js/plugin-install.dev.js', 'wp-admin/js/edit-comments.dev.js', 'wp-admin/js/media-gallery.dev.js', 'wp-admin/js/custom-fields.dev.js', 'wp-admin/js/custom-background.dev.js', 'wp-admin/js/common.dev.js', 'wp-admin/js/inline-edit-tax.dev.js', 'wp-admin/js/gallery.dev.js', 'wp-admin/js/utils.dev.js', 'wp-admin/js/widgets.dev.js', 'wp-admin/js/wp-fullscreen.dev.js', 'wp-admin/js/nav-menu.dev.js', 'wp-admin/js/dashboard.dev.js', 'wp-admin/js/link.dev.js', 'wp-admin/js/user-suggest.dev.js', 'wp-admin/js/postbox.dev.js', 'wp-admin/js/tags.dev.js', 'wp-admin/js/image-edit.dev.js', 'wp-admin/js/media.dev.js', 'wp-admin/js/customize-controls.dev.js', 'wp-admin/js/inline-edit-post.dev.js', 'wp-admin/js/categories.dev.js', 'wp-admin/js/editor.dev.js', 'wp-includes/js/plupload/handlers.dev.js', 'wp-includes/js/plupload/wp-plupload.dev.js', 'wp-includes/js/swfupload/handlers.dev.js', 'wp-includes/js/jcrop/jquery.Jcrop.dev.js', 'wp-includes/js/jcrop/jquery.Jcrop.js', 'wp-includes/js/jcrop/jquery.Jcrop.css', 'wp-includes/js/imgareaselect/jquery.imgareaselect.dev.js', 'wp-includes/css/wp-pointer.dev.css', 'wp-includes/css/editor.dev.css', 'wp-includes/css/jquery-ui-dialog.dev.css', 'wp-includes/css/admin-bar-rtl.dev.css', 'wp-includes/css/admin-bar.dev.css', 'wp-includes/js/jquery/ui/jquery.effects.clip.min.js', 'wp-includes/js/jquery/ui/jquery.effects.scale.min.js', 'wp-includes/js/jquery/ui/jquery.effects.blind.min.js', 'wp-includes/js/jquery/ui/jquery.effects.core.min.js', 'wp-includes/js/jquery/ui/jquery.effects.shake.min.js', 'wp-includes/js/jquery/ui/jquery.effects.fade.min.js', 'wp-includes/js/jquery/ui/jquery.effects.explode.min.js', 'wp-includes/js/jquery/ui/jquery.effects.slide.min.js', 'wp-includes/js/jquery/ui/jquery.effects.drop.min.js', 'wp-includes/js/jquery/ui/jquery.effects.highlight.min.js', 'wp-includes/js/jquery/ui/jquery.effects.bounce.min.js', 'wp-includes/js/jquery/ui/jquery.effects.pulsate.min.js', 'wp-includes/js/jquery/ui/jquery.effects.transfer.min.js', 'wp-includes/js/jquery/ui/jquery.effects.fold.min.js', 'wp-admin/js/utils.js', // Added back in 5.3 [45448], see #43895. // 'wp-admin/options-privacy.php', 'wp-app.php', 'wp-includes/class-wp-atom-server.php', // 3.5.2 'wp-includes/js/swfupload/swfupload-all.js', // 3.6 'wp-admin/js/revisions-js.php', 'wp-admin/images/screenshots', 'wp-admin/js/categories.js', 'wp-admin/js/categories.min.js', 'wp-admin/js/custom-fields.js', 'wp-admin/js/custom-fields.min.js', // 3.7 'wp-admin/js/cat.js', 'wp-admin/js/cat.min.js', // 3.8 'wp-includes/js/thickbox/tb-close-2x.png', 'wp-includes/js/thickbox/tb-close.png', 'wp-includes/images/wpmini-blue-2x.png', 'wp-includes/images/wpmini-blue.png', 'wp-admin/css/colors-fresh.css', 'wp-admin/css/colors-classic.css', 'wp-admin/css/colors-fresh.min.css', 'wp-admin/css/colors-classic.min.css', 'wp-admin/js/about.min.js', 'wp-admin/js/about.js', 'wp-admin/images/arrows-dark-vs-2x.png', 'wp-admin/images/wp-logo-vs.png', 'wp-admin/images/arrows-dark-vs.png', 'wp-admin/images/wp-logo.png', 'wp-admin/images/arrows-pr.png', 'wp-admin/images/arrows-dark.png', 'wp-admin/images/press-this.png', 'wp-admin/images/press-this-2x.png', 'wp-admin/images/arrows-vs-2x.png', 'wp-admin/images/welcome-icons.png', 'wp-admin/images/wp-logo-2x.png', 'wp-admin/images/stars-rtl-2x.png', 'wp-admin/images/arrows-dark-2x.png', 'wp-admin/images/arrows-pr-2x.png', 'wp-admin/images/menu-shadow-rtl.png', 'wp-admin/images/arrows-vs.png', 'wp-admin/images/about-search-2x.png', 'wp-admin/images/bubble_bg-rtl-2x.gif', 'wp-admin/images/wp-badge-2x.png', 'wp-admin/images/wordpress-logo-2x.png', 'wp-admin/images/bubble_bg-rtl.gif', 'wp-admin/images/wp-badge.png', 'wp-admin/images/menu-shadow.png', 'wp-admin/images/about-globe-2x.png', 'wp-admin/images/welcome-icons-2x.png', 'wp-admin/images/stars-rtl.png', 'wp-admin/images/wp-logo-vs-2x.png', 'wp-admin/images/about-updates-2x.png', // 3.9 'wp-admin/css/colors.css', 'wp-admin/css/colors.min.css', 'wp-admin/css/colors-rtl.css', 'wp-admin/css/colors-rtl.min.css', // Following files added back in 4.5, see #36083. // 'wp-admin/css/media-rtl.min.css', // 'wp-admin/css/media.min.css', // 'wp-admin/css/farbtastic-rtl.min.css', 'wp-admin/images/lock-2x.png', 'wp-admin/images/lock.png', 'wp-admin/js/theme-preview.js', 'wp-admin/js/theme-install.min.js', 'wp-admin/js/theme-install.js', 'wp-admin/js/theme-preview.min.js', 'wp-includes/js/plupload/plupload.html4.js', 'wp-includes/js/plupload/plupload.html5.js', 'wp-includes/js/plupload/changelog.txt', 'wp-includes/js/plupload/plupload.silverlight.js', 'wp-includes/js/plupload/plupload.flash.js', // Added back in 4.9 [41328], see #41755. // 'wp-includes/js/plupload/plupload.js', 'wp-includes/js/tinymce/plugins/spellchecker', 'wp-includes/js/tinymce/plugins/inlinepopups', 'wp-includes/js/tinymce/plugins/media/js', 'wp-includes/js/tinymce/plugins/media/css', 'wp-includes/js/tinymce/plugins/wordpress/img', 'wp-includes/js/tinymce/plugins/wpdialogs/js', 'wp-includes/js/tinymce/plugins/wpeditimage/img', 'wp-includes/js/tinymce/plugins/wpeditimage/js', 'wp-includes/js/tinymce/plugins/wpeditimage/css', 'wp-includes/js/tinymce/plugins/wpgallery/img', 'wp-includes/js/tinymce/plugins/paste/js', 'wp-includes/js/tinymce/themes/advanced', 'wp-includes/js/tinymce/tiny_mce.js', 'wp-includes/js/tinymce/mark_loaded_src.js', 'wp-includes/js/tinymce/wp-tinymce-schema.js', 'wp-includes/js/tinymce/plugins/media/editor_plugin.js', 'wp-includes/js/tinymce/plugins/media/editor_plugin_src.js', 'wp-includes/js/tinymce/plugins/media/media.htm', 'wp-includes/js/tinymce/plugins/wpview/editor_plugin_src.js', 'wp-includes/js/tinymce/plugins/wpview/editor_plugin.js', 'wp-includes/js/tinymce/plugins/directionality/editor_plugin.js', 'wp-includes/js/tinymce/plugins/directionality/editor_plugin_src.js', 'wp-includes/js/tinymce/plugins/wordpress/editor_plugin.js', 'wp-includes/js/tinymce/plugins/wordpress/editor_plugin_src.js', 'wp-includes/js/tinymce/plugins/wpdialogs/editor_plugin_src.js', 'wp-includes/js/tinymce/plugins/wpdialogs/editor_plugin.js', 'wp-includes/js/tinymce/plugins/wpeditimage/editimage.html', 'wp-includes/js/tinymce/plugins/wpeditimage/editor_plugin.js', 'wp-includes/js/tinymce/plugins/wpeditimage/editor_plugin_src.js', 'wp-includes/js/tinymce/plugins/fullscreen/editor_plugin_src.js', 'wp-includes/js/tinymce/plugins/fullscreen/fullscreen.htm', 'wp-includes/js/tinymce/plugins/fullscreen/editor_plugin.js', 'wp-includes/js/tinymce/plugins/wplink/editor_plugin_src.js', 'wp-includes/js/tinymce/plugins/wplink/editor_plugin.js', 'wp-includes/js/tinymce/plugins/wpgallery/editor_plugin_src.js', 'wp-includes/js/tinymce/plugins/wpgallery/editor_plugin.js', 'wp-includes/js/tinymce/plugins/tabfocus/editor_plugin.js', 'wp-includes/js/tinymce/plugins/tabfocus/editor_plugin_src.js', 'wp-includes/js/tinymce/plugins/paste/editor_plugin.js', 'wp-includes/js/tinymce/plugins/paste/pasteword.htm', 'wp-includes/js/tinymce/plugins/paste/editor_plugin_src.js', 'wp-includes/js/tinymce/plugins/paste/pastetext.htm', 'wp-includes/js/tinymce/langs/wp-langs.php', // 4.1 'wp-includes/js/jquery/ui/jquery.ui.accordion.min.js', 'wp-includes/js/jquery/ui/jquery.ui.autocomplete.min.js', 'wp-includes/js/jquery/ui/jquery.ui.button.min.js', 'wp-includes/js/jquery/ui/jquery.ui.core.min.js', 'wp-includes/js/jquery/ui/jquery.ui.datepicker.min.js', 'wp-includes/js/jquery/ui/jquery.ui.dialog.min.js', 'wp-includes/js/jquery/ui/jquery.ui.draggable.min.js', 'wp-includes/js/jquery/ui/jquery.ui.droppable.min.js', 'wp-includes/js/jquery/ui/jquery.ui.effect-blind.min.js', 'wp-includes/js/jquery/ui/jquery.ui.effect-bounce.min.js', 'wp-includes/js/jquery/ui/jquery.ui.effect-clip.min.js', 'wp-includes/js/jquery/ui/jquery.ui.effect-drop.min.js', 'wp-includes/js/jquery/ui/jquery.ui.effect-explode.min.js', 'wp-includes/js/jquery/ui/jquery.ui.effect-fade.min.js', 'wp-includes/js/jquery/ui/jquery.ui.effect-fold.min.js', 'wp-includes/js/jquery/ui/jquery.ui.effect-highlight.min.js', 'wp-includes/js/jquery/ui/jquery.ui.effect-pulsate.min.js', 'wp-includes/js/jquery/ui/jquery.ui.effect-scale.min.js', 'wp-includes/js/jquery/ui/jquery.ui.effect-shake.min.js', 'wp-includes/js/jquery/ui/jquery.ui.effect-slide.min.js', 'wp-includes/js/jquery/ui/jquery.ui.effect-transfer.min.js', 'wp-includes/js/jquery/ui/jquery.ui.effect.min.js', 'wp-includes/js/jquery/ui/jquery.ui.menu.min.js', 'wp-includes/js/jquery/ui/jquery.ui.mouse.min.js', 'wp-includes/js/jquery/ui/jquery.ui.position.min.js', 'wp-includes/js/jquery/ui/jquery.ui.progressbar.min.js', 'wp-includes/js/jquery/ui/jquery.ui.resizable.min.js', 'wp-includes/js/jquery/ui/jquery.ui.selectable.min.js', 'wp-includes/js/jquery/ui/jquery.ui.slider.min.js', 'wp-includes/js/jquery/ui/jquery.ui.sortable.min.js', 'wp-includes/js/jquery/ui/jquery.ui.spinner.min.js', 'wp-includes/js/jquery/ui/jquery.ui.tabs.min.js', 'wp-includes/js/jquery/ui/jquery.ui.tooltip.min.js', 'wp-includes/js/jquery/ui/jquery.ui.widget.min.js', 'wp-includes/js/tinymce/skins/wordpress/images/dashicon-no-alt.png', // 4.3 'wp-admin/js/wp-fullscreen.js', 'wp-admin/js/wp-fullscreen.min.js', 'wp-includes/js/tinymce/wp-mce-help.php', 'wp-includes/js/tinymce/plugins/wpfullscreen', // 4.5 'wp-includes/theme-compat/comments-popup.php', // 4.6 'wp-admin/includes/class-wp-automatic-upgrader.php', // Wrong file name, see #37628. // 4.8 'wp-includes/js/tinymce/plugins/wpembed', 'wp-includes/js/tinymce/plugins/media/moxieplayer.swf', 'wp-includes/js/tinymce/skins/lightgray/fonts/readme.md', 'wp-includes/js/tinymce/skins/lightgray/fonts/tinymce-small.json', 'wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.json', 'wp-includes/js/tinymce/skins/lightgray/skin.ie7.min.css', // 4.9 'wp-admin/css/press-this-editor-rtl.css', 'wp-admin/css/press-this-editor-rtl.min.css', 'wp-admin/css/press-this-editor.css', 'wp-admin/css/press-this-editor.min.css', 'wp-admin/css/press-this-rtl.css', 'wp-admin/css/press-this-rtl.min.css', 'wp-admin/css/press-this.css', 'wp-admin/css/press-this.min.css', 'wp-admin/includes/class-wp-press-this.php', 'wp-admin/js/bookmarklet.js', 'wp-admin/js/bookmarklet.min.js', 'wp-admin/js/press-this.js', 'wp-admin/js/press-this.min.js', 'wp-includes/js/mediaelement/background.png', 'wp-includes/js/mediaelement/bigplay.png', 'wp-includes/js/mediaelement/bigplay.svg', 'wp-includes/js/mediaelement/controls.png', 'wp-includes/js/mediaelement/controls.svg', 'wp-includes/js/mediaelement/flashmediaelement.swf', 'wp-includes/js/mediaelement/froogaloop.min.js', 'wp-includes/js/mediaelement/jumpforward.png', 'wp-includes/js/mediaelement/loading.gif', 'wp-includes/js/mediaelement/silverlightmediaelement.xap', 'wp-includes/js/mediaelement/skipback.png', 'wp-includes/js/plupload/plupload.flash.swf', 'wp-includes/js/plupload/plupload.full.min.js', 'wp-includes/js/plupload/plupload.silverlight.xap', 'wp-includes/js/swfupload/plugins', 'wp-includes/js/swfupload/swfupload.swf', // 4.9.2 'wp-includes/js/mediaelement/lang', 'wp-includes/js/mediaelement/mediaelement-flash-audio-ogg.swf', 'wp-includes/js/mediaelement/mediaelement-flash-audio.swf', 'wp-includes/js/mediaelement/mediaelement-flash-video-hls.swf', 'wp-includes/js/mediaelement/mediaelement-flash-video-mdash.swf', 'wp-includes/js/mediaelement/mediaelement-flash-video.swf', 'wp-includes/js/mediaelement/renderers/dailymotion.js', 'wp-includes/js/mediaelement/renderers/dailymotion.min.js', 'wp-includes/js/mediaelement/renderers/facebook.js', 'wp-includes/js/mediaelement/renderers/facebook.min.js', 'wp-includes/js/mediaelement/renderers/soundcloud.js', 'wp-includes/js/mediaelement/renderers/soundcloud.min.js', 'wp-includes/js/mediaelement/renderers/twitch.js', 'wp-includes/js/mediaelement/renderers/twitch.min.js', // 5.0 'wp-includes/js/codemirror/jshint.js', // 5.1 'wp-includes/js/tinymce/wp-tinymce.js.gz', // 5.3 'wp-includes/js/wp-a11y.js', // Moved to: wp-includes/js/dist/a11y.js 'wp-includes/js/wp-a11y.min.js', // Moved to: wp-includes/js/dist/a11y.min.js // 5.4 'wp-admin/js/wp-fullscreen-stub.js', 'wp-admin/js/wp-fullscreen-stub.min.js', // 5.5 'wp-admin/css/ie.css', 'wp-admin/css/ie.min.css', 'wp-admin/css/ie-rtl.css', 'wp-admin/css/ie-rtl.min.css', // 5.6 'wp-includes/js/jquery/ui/position.min.js', 'wp-includes/js/jquery/ui/widget.min.js', // 5.7 'wp-includes/blocks/classic/block.json', // 5.8 'wp-admin/images/freedoms.png', 'wp-admin/images/privacy.png', 'wp-admin/images/about-badge.svg', 'wp-admin/images/about-color-palette.svg', 'wp-admin/images/about-color-palette-vert.svg', 'wp-admin/images/about-header-brushes.svg', 'wp-includes/block-patterns/large-header.php', 'wp-includes/block-patterns/heading-paragraph.php', 'wp-includes/block-patterns/quote.php', 'wp-includes/block-patterns/text-three-columns-buttons.php', 'wp-includes/block-patterns/two-buttons.php', 'wp-includes/block-patterns/two-images.php', 'wp-includes/block-patterns/three-buttons.php', 'wp-includes/block-patterns/text-two-columns-with-images.php', 'wp-includes/block-patterns/text-two-columns.php', 'wp-includes/block-patterns/large-header-button.php', 'wp-includes/blocks/subhead', 'wp-includes/css/dist/editor/editor-styles.css', 'wp-includes/css/dist/editor/editor-styles.min.css', 'wp-includes/css/dist/editor/editor-styles-rtl.css', 'wp-includes/css/dist/editor/editor-styles-rtl.min.css', // 5.9 'wp-includes/blocks/heading/editor.css', 'wp-includes/blocks/heading/editor.min.css', 'wp-includes/blocks/heading/editor-rtl.css', 'wp-includes/blocks/heading/editor-rtl.min.css', 'wp-includes/blocks/query-title/editor.css', 'wp-includes/blocks/query-title/editor.min.css', 'wp-includes/blocks/query-title/editor-rtl.css', 'wp-includes/blocks/query-title/editor-rtl.min.css', /* * Restored in WordPress 6.7 * * 'wp-includes/blocks/tag-cloud/editor.css', * 'wp-includes/blocks/tag-cloud/editor.min.css', * 'wp-includes/blocks/tag-cloud/editor-rtl.css', * 'wp-includes/blocks/tag-cloud/editor-rtl.min.css', */ // 6.1 'wp-includes/blocks/post-comments.php', 'wp-includes/blocks/post-comments', 'wp-includes/blocks/comments-query-loop', // 6.3 'wp-includes/images/wlw', 'wp-includes/wlwmanifest.xml', 'wp-includes/random_compat', // 6.4 'wp-includes/navigation-fallback.php', 'wp-includes/blocks/navigation/view-modal.min.js', 'wp-includes/blocks/navigation/view-modal.js', // 6.5 'wp-includes/ID3/license.commercial.txt', 'wp-includes/blocks/query/style-rtl.min.css', 'wp-includes/blocks/query/style.min.css', 'wp-includes/blocks/query/style-rtl.css', 'wp-includes/blocks/query/style.css', 'wp-admin/images/about-header-privacy.svg', 'wp-admin/images/about-header-about.svg', 'wp-admin/images/about-header-credits.svg', 'wp-admin/images/about-header-freedoms.svg', 'wp-admin/images/about-header-contribute.svg', 'wp-admin/images/about-header-background.svg', // 6.6 'wp-includes/blocks/block/editor.css', 'wp-includes/blocks/block/editor.min.css', 'wp-includes/blocks/block/editor-rtl.css', 'wp-includes/blocks/block/editor-rtl.min.css', /* * 6.7 * * WordPress 6.7 included a SimplePie upgrade that included a major * refactoring of the file structure and library. The old files are * split in to two sections to account for this: files and directories. * * See https://core.trac.wordpress.org/changeset/59141 */ // 6.7 - files 'wp-includes/js/dist/interactivity-router.asset.php', 'wp-includes/js/dist/interactivity-router.js', 'wp-includes/js/dist/interactivity-router.min.js', 'wp-includes/js/dist/interactivity-router.min.asset.php', 'wp-includes/js/dist/interactivity.js', 'wp-includes/js/dist/interactivity.min.js', 'wp-includes/js/dist/vendor/react-dom.min.js.LICENSE.txt', 'wp-includes/js/dist/vendor/react.min.js.LICENSE.txt', 'wp-includes/js/dist/vendor/wp-polyfill-importmap.js', 'wp-includes/js/dist/vendor/wp-polyfill-importmap.min.js', 'wp-includes/sodium_compat/src/Core/Base64/Common.php', 'wp-includes/SimplePie/Author.php', 'wp-includes/SimplePie/Cache.php', 'wp-includes/SimplePie/Caption.php', 'wp-includes/SimplePie/Category.php', 'wp-includes/SimplePie/Copyright.php', 'wp-includes/SimplePie/Core.php', 'wp-includes/SimplePie/Credit.php', 'wp-includes/SimplePie/Enclosure.php', 'wp-includes/SimplePie/Exception.php', 'wp-includes/SimplePie/File.php', 'wp-includes/SimplePie/gzdecode.php', 'wp-includes/SimplePie/IRI.php', 'wp-includes/SimplePie/Item.php', 'wp-includes/SimplePie/Locator.php', 'wp-includes/SimplePie/Misc.php', 'wp-includes/SimplePie/Parser.php', 'wp-includes/SimplePie/Rating.php', 'wp-includes/SimplePie/Registry.php', 'wp-includes/SimplePie/Restriction.php', 'wp-includes/SimplePie/Sanitize.php', 'wp-includes/SimplePie/Source.php', // 6.7 - directories 'wp-includes/SimplePie/Cache/', 'wp-includes/SimplePie/Content/', 'wp-includes/SimplePie/Decode/', 'wp-includes/SimplePie/HTTP/', 'wp-includes/SimplePie/Net/', 'wp-includes/SimplePie/Parse/', 'wp-includes/SimplePie/XML/', ); /** * Stores Requests files to be preloaded and deleted. * * For classes/interfaces, use the class/interface name * as the array key. * * All other files/directories should not have a key. * * @since 6.2.0 * * @global array $_old_requests_files * @var array * @name $_old_requests_files */ global $_old_requests_files; $_old_requests_files = array( // Interfaces. 'Requests_Auth' => 'wp-includes/Requests/Auth.php', 'Requests_Hooker' => 'wp-includes/Requests/Hooker.php', 'Requests_Proxy' => 'wp-includes/Requests/Proxy.php', 'Requests_Transport' => 'wp-includes/Requests/Transport.php', // Classes. 'Requests_Auth_Basic' => 'wp-includes/Requests/Auth/Basic.php', 'Requests_Cookie_Jar' => 'wp-includes/Requests/Cookie/Jar.php', 'Requests_Exception_HTTP' => 'wp-includes/Requests/Exception/HTTP.php', 'Requests_Exception_Transport' => 'wp-includes/Requests/Exception/Transport.php', 'Requests_Exception_HTTP_304' => 'wp-includes/Requests/Exception/HTTP/304.php', 'Requests_Exception_HTTP_305' => 'wp-includes/Requests/Exception/HTTP/305.php', 'Requests_Exception_HTTP_306' => 'wp-includes/Requests/Exception/HTTP/306.php', 'Requests_Exception_HTTP_400' => 'wp-includes/Requests/Exception/HTTP/400.php', 'Requests_Exception_HTTP_401' => 'wp-includes/Requests/Exception/HTTP/401.php', 'Requests_Exception_HTTP_402' => 'wp-includes/Requests/Exception/HTTP/402.php', 'Requests_Exception_HTTP_403' => 'wp-includes/Requests/Exception/HTTP/403.php', 'Requests_Exception_HTTP_404' => 'wp-includes/Requests/Exception/HTTP/404.php', 'Requests_Exception_HTTP_405' => 'wp-includes/Requests/Exception/HTTP/405.php', 'Requests_Exception_HTTP_406' => 'wp-includes/Requests/Exception/HTTP/406.php', 'Requests_Exception_HTTP_407' => 'wp-includes/Requests/Exception/HTTP/407.php', 'Requests_Exception_HTTP_408' => 'wp-includes/Requests/Exception/HTTP/408.php', 'Requests_Exception_HTTP_409' => 'wp-includes/Requests/Exception/HTTP/409.php', 'Requests_Exception_HTTP_410' => 'wp-includes/Requests/Exception/HTTP/410.php', 'Requests_Exception_HTTP_411' => 'wp-includes/Requests/Exception/HTTP/411.php', 'Requests_Exception_HTTP_412' => 'wp-includes/Requests/Exception/HTTP/412.php', 'Requests_Exception_HTTP_413' => 'wp-includes/Requests/Exception/HTTP/413.php', 'Requests_Exception_HTTP_414' => 'wp-includes/Requests/Exception/HTTP/414.php', 'Requests_Exception_HTTP_415' => 'wp-includes/Requests/Exception/HTTP/415.php', 'Requests_Exception_HTTP_416' => 'wp-includes/Requests/Exception/HTTP/416.php', 'Requests_Exception_HTTP_417' => 'wp-includes/Requests/Exception/HTTP/417.php', 'Requests_Exception_HTTP_418' => 'wp-includes/Requests/Exception/HTTP/418.php', 'Requests_Exception_HTTP_428' => 'wp-includes/Requests/Exception/HTTP/428.php', 'Requests_Exception_HTTP_429' => 'wp-includes/Requests/Exception/HTTP/429.php', 'Requests_Exception_HTTP_431' => 'wp-includes/Requests/Exception/HTTP/431.php', 'Requests_Exception_HTTP_500' => 'wp-includes/Requests/Exception/HTTP/500.php', 'Requests_Exception_HTTP_501' => 'wp-includes/Requests/Exception/HTTP/501.php', 'Requests_Exception_HTTP_502' => 'wp-includes/Requests/Exception/HTTP/502.php', 'Requests_Exception_HTTP_503' => 'wp-includes/Requests/Exception/HTTP/503.php', 'Requests_Exception_HTTP_504' => 'wp-includes/Requests/Exception/HTTP/504.php', 'Requests_Exception_HTTP_505' => 'wp-includes/Requests/Exception/HTTP/505.php', 'Requests_Exception_HTTP_511' => 'wp-includes/Requests/Exception/HTTP/511.php', 'Requests_Exception_HTTP_Unknown' => 'wp-includes/Requests/Exception/HTTP/Unknown.php', 'Requests_Exception_Transport_cURL' => 'wp-includes/Requests/Exception/Transport/cURL.php', 'Requests_Proxy_HTTP' => 'wp-includes/Requests/Proxy/HTTP.php', 'Requests_Response_Headers' => 'wp-includes/Requests/Response/Headers.php', 'Requests_Transport_cURL' => 'wp-includes/Requests/Transport/cURL.php', 'Requests_Transport_fsockopen' => 'wp-includes/Requests/Transport/fsockopen.php', 'Requests_Utility_CaseInsensitiveDictionary' => 'wp-includes/Requests/Utility/CaseInsensitiveDictionary.php', 'Requests_Utility_FilteredIterator' => 'wp-includes/Requests/Utility/FilteredIterator.php', 'Requests_Cookie' => 'wp-includes/Requests/Cookie.php', 'Requests_Exception' => 'wp-includes/Requests/Exception.php', 'Requests_Hooks' => 'wp-includes/Requests/Hooks.php', 'Requests_IDNAEncoder' => 'wp-includes/Requests/IDNAEncoder.php', 'Requests_IPv6' => 'wp-includes/Requests/IPv6.php', 'Requests_IRI' => 'wp-includes/Requests/IRI.php', 'Requests_Response' => 'wp-includes/Requests/Response.php', 'Requests_SSL' => 'wp-includes/Requests/SSL.php', 'Requests_Session' => 'wp-includes/Requests/Session.php', // Directories. 'wp-includes/Requests/Auth/', 'wp-includes/Requests/Cookie/', 'wp-includes/Requests/Exception/HTTP/', 'wp-includes/Requests/Exception/Transport/', 'wp-includes/Requests/Exception/', 'wp-includes/Requests/Proxy/', 'wp-includes/Requests/Response/', 'wp-includes/Requests/Transport/', 'wp-includes/Requests/Utility/', ); /** * Stores new files in wp-content to copy * * The contents of this array indicate any new bundled plugins/themes which * should be installed with the WordPress Upgrade. These items will not be * re-installed in future upgrades, this behavior is controlled by the * introduced version present here being older than the current installed version. * * The content of this array should follow the following format: * Filename (relative to wp-content) => Introduced version * Directories should be noted by suffixing it with a trailing slash (/) * * @since 3.2.0 * @since 4.7.0 New themes were not automatically installed for 4.4-4.6 on * upgrade. New themes are now installed again. To disable new * themes from being installed on upgrade, explicitly define * CORE_UPGRADE_SKIP_NEW_BUNDLED as true. * @global array $_new_bundled_files * @var array * @name $_new_bundled_files */ global $_new_bundled_files; $_new_bundled_files = array( 'plugins/akismet/' => '2.0', 'themes/twentyten/' => '3.0', 'themes/twentyeleven/' => '3.2', 'themes/twentytwelve/' => '3.5', 'themes/twentythirteen/' => '3.6', 'themes/twentyfourteen/' => '3.8', 'themes/twentyfifteen/' => '4.1', 'themes/twentysixteen/' => '4.4', 'themes/twentyseventeen/' => '4.7', 'themes/twentynineteen/' => '5.0', 'themes/twentytwenty/' => '5.3', 'themes/twentytwentyone/' => '5.6', 'themes/twentytwentytwo/' => '5.9', 'themes/twentytwentythree/' => '6.1', 'themes/twentytwentyfour/' => '6.4', 'themes/twentytwentyfive/' => '6.7', ); /** * Upgrades the core of WordPress. * * This will create a .maintenance file at the base of the WordPress directory * to ensure that people can not access the website, when the files are being * copied to their locations. * * The files in the `$_old_files` list will be removed and the new files * copied from the zip file after the database is upgraded. * * The files in the `$_new_bundled_files` list will be added to the installation * if the version is greater than or equal to the old version being upgraded. * * The steps for the upgrader for after the new release is downloaded and * unzipped is: * 1. Test unzipped location for select files to ensure that unzipped worked. * 2. Create the .maintenance file in current WordPress base. * 3. Copy new WordPress directory over old WordPress files. * 4. Upgrade WordPress to new version. * 4.1. Copy all files/folders other than wp-content * 4.2. Copy any language files to WP_LANG_DIR (which may differ from WP_CONTENT_DIR * 4.3. Copy any new bundled themes/plugins to their respective locations * 5. Delete new WordPress directory path. * 6. Delete .maintenance file. * 7. Remove old files. * 8. Delete 'update_core' option. * * There are several areas of failure. For instance if PHP times out before step * 6, then you will not be able to access any portion of your site. Also, since * the upgrade will not continue where it left off, you will not be able to * automatically remove old files and remove the 'update_core' option. This * isn't that bad. * * If the copy of the new WordPress over the old fails, then the worse is that * the new WordPress directory will remain. * * If it is assumed that every file will be copied over, including plugins and * themes, then if you edit the default theme, you should rename it, so that * your changes remain. * * @since 2.7.0 * * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass. * @global array $_old_files * @global array $_old_requests_files * @global array $_new_bundled_files * @global wpdb $wpdb WordPress database abstraction object. * @global string $wp_version * @global string $required_php_version * @global string $required_mysql_version * * @param string $from New release unzipped path. * @param string $to Path to old WordPress installation. * @return string|WP_Error New WordPress version on success, WP_Error on failure. */ function update_core( $from, $to ) { global $wp_filesystem, $_old_files, $_old_requests_files, $_new_bundled_files, $wpdb; if ( function_exists( 'set_time_limit' ) ) { // Gives core update script time an additional 300 seconds(5 minutes) to finish updating large files or run on slower servers. set_time_limit( 300 ); } /* * Merge the old Requests files and directories into the `$_old_files`. * Then preload these Requests files first, before the files are deleted * and replaced to ensure the code is in memory if needed. */ $_old_files = array_merge( $_old_files, array_values( $_old_requests_files ) ); _preload_old_requests_classes_and_interfaces( $to ); /** * Filters feedback messages displayed during the core update process. * * The filter is first evaluated after the zip file for the latest version * has been downloaded and unzipped. It is evaluated five more times during * the process: * * 1. Before WordPress begins the core upgrade process. * 2. Before Maintenance Mode is enabled. * 3. Before WordPress begins copying over the necessary files. * 4. Before Maintenance Mode is disabled. * 5. Before the database is upgraded. * * @since 2.5.0 * * @param string $feedback The core update feedback messages. */ apply_filters( 'update_feedback', __( 'Verifying the unpacked files…' ) ); // Confidence check the unzipped distribution. $distro = ''; $roots = array( '/wordpress/', '/wordpress-mu/' ); foreach ( $roots as $root ) { if ( $wp_filesystem->exists( $from . $root . 'readme.html' ) && $wp_filesystem->exists( $from . $root . 'wp-includes/version.php' ) ) { $distro = $root; break; } } if ( ! $distro ) { $wp_filesystem->delete( $from, true ); return new WP_Error( 'insane_distro', __( 'The update could not be unpacked' ) ); } /* * Import $wp_version, $required_php_version, and $required_mysql_version from the new version. * DO NOT globalize any variables imported from `version-current.php` in this function. * * BC Note: $wp_filesystem->wp_content_dir() returned unslashed pre-2.8. */ $versions_file = trailingslashit( $wp_filesystem->wp_content_dir() ) . 'upgrade/version-current.php'; if ( ! $wp_filesystem->copy( $from . $distro . 'wp-includes/version.php', $versions_file ) ) { $wp_filesystem->delete( $from, true ); return new WP_Error( 'copy_failed_for_version_file', __( 'The update cannot be installed because some files could not be copied. This is usually due to inconsistent file permissions.' ), 'wp-includes/version.php' ); } $wp_filesystem->chmod( $versions_file, FS_CHMOD_FILE ); /* * `wp_opcache_invalidate()` only exists in WordPress 5.5 or later, * so don't run it when upgrading from older versions. */ if ( function_exists( 'wp_opcache_invalidate' ) ) { wp_opcache_invalidate( $versions_file ); } require WP_CONTENT_DIR . '/upgrade/version-current.php'; $wp_filesystem->delete( $versions_file ); $php_version = PHP_VERSION; $mysql_version = $wpdb->db_version(); $old_wp_version = $GLOBALS['wp_version']; // The version of WordPress we're updating from. /* * Note: str_contains() is not used here, as this file is included * when updating from older WordPress versions, in which case * the polyfills from wp-includes/compat.php may not be available. */ $development_build = ( false !== strpos( $old_wp_version . $wp_version, '-' ) ); // A dash in the version indicates a development release. $php_compat = version_compare( $php_version, $required_php_version, '>=' ); if ( file_exists( WP_CONTENT_DIR . '/db.php' ) && empty( $wpdb->is_mysql ) ) { $mysql_compat = true; } else { $mysql_compat = version_compare( $mysql_version, $required_mysql_version, '>=' ); } if ( ! $mysql_compat || ! $php_compat ) { $wp_filesystem->delete( $from, true ); } $php_update_message = ''; if ( function_exists( 'wp_get_update_php_url' ) ) { $php_update_message = '</p><p>' . sprintf( /* translators: %s: URL to Update PHP page. */ __( '<a href="%s">Learn more about updating PHP</a>.' ), esc_url( wp_get_update_php_url() ) ); if ( function_exists( 'wp_get_update_php_annotation' ) ) { $annotation = wp_get_update_php_annotation(); if ( $annotation ) { $php_update_message .= '</p><p><em>' . $annotation . '</em>'; } } } if ( ! $mysql_compat && ! $php_compat ) { return new WP_Error( 'php_mysql_not_compatible', sprintf( /* translators: 1: WordPress version number, 2: Minimum required PHP version number, 3: Minimum required MySQL version number, 4: Current PHP version number, 5: Current MySQL version number. */ __( 'The update cannot be installed because WordPress %1$s requires PHP version %2$s or higher and MySQL version %3$s or higher. You are running PHP version %4$s and MySQL version %5$s.' ), $wp_version, $required_php_version, $required_mysql_version, $php_version, $mysql_version ) . $php_update_message ); } elseif ( ! $php_compat ) { return new WP_Error( 'php_not_compatible', sprintf( /* translators: 1: WordPress version number, 2: Minimum required PHP version number, 3: Current PHP version number. */ __( 'The update cannot be installed because WordPress %1$s requires PHP version %2$s or higher. You are running version %3$s.' ), $wp_version, $required_php_version, $php_version ) . $php_update_message ); } elseif ( ! $mysql_compat ) { return new WP_Error( 'mysql_not_compatible', sprintf( /* translators: 1: WordPress version number, 2: Minimum required MySQL version number, 3: Current MySQL version number. */ __( 'The update cannot be installed because WordPress %1$s requires MySQL version %2$s or higher. You are running version %3$s.' ), $wp_version, $required_mysql_version, $mysql_version ) ); } // Add a warning when the JSON PHP extension is missing. if ( ! extension_loaded( 'json' ) ) { return new WP_Error( 'php_not_compatible_json', sprintf( /* translators: 1: WordPress version number, 2: The PHP extension name needed. */ __( 'The update cannot be installed because WordPress %1$s requires the %2$s PHP extension.' ), $wp_version, 'JSON' ) ); } /** This filter is documented in wp-admin/includes/update-core.php */ apply_filters( 'update_feedback', __( 'Preparing to install the latest version…' ) ); /* * Don't copy wp-content, we'll deal with that below. * We also copy version.php last so failed updates report their old version. */ $skip = array( 'wp-content', 'wp-includes/version.php' ); $check_is_writable = array(); // Check to see which files don't really need updating - only available for 3.7 and higher. if ( function_exists( 'get_core_checksums' ) ) { // Find the local version of the working directory. $working_dir_local = WP_CONTENT_DIR . '/upgrade/' . basename( $from ) . $distro; $checksums = get_core_checksums( $wp_version, isset( $wp_local_package ) ? $wp_local_package : 'en_US' ); if ( is_array( $checksums ) && isset( $checksums[ $wp_version ] ) ) { $checksums = $checksums[ $wp_version ]; // Compat code for 3.7-beta2. } if ( is_array( $checksums ) ) { foreach ( $checksums as $file => $checksum ) { /* * Note: str_starts_with() is not used here, as this file is included * when updating from older WordPress versions, in which case * the polyfills from wp-includes/compat.php may not be available. */ if ( 'wp-content' === substr( $file, 0, 10 ) ) { continue; } if ( ! file_exists( ABSPATH . $file ) ) { continue; } if ( ! file_exists( $working_dir_local . $file ) ) { continue; } if ( '.' === dirname( $file ) && in_array( pathinfo( $file, PATHINFO_EXTENSION ), array( 'html', 'txt' ), true ) ) { continue; } if ( md5_file( ABSPATH . $file ) === $checksum ) { $skip[] = $file; } else { $check_is_writable[ $file ] = ABSPATH . $file; } } } } // If we're using the direct method, we can predict write failures that are due to permissions. if ( $check_is_writable && 'direct' === $wp_filesystem->method ) { $files_writable = array_filter( $check_is_writable, array( $wp_filesystem, 'is_writable' ) ); if ( $files_writable !== $check_is_writable ) { $files_not_writable = array_diff_key( $check_is_writable, $files_writable ); foreach ( $files_not_writable as $relative_file_not_writable => $file_not_writable ) { // If the writable check failed, chmod file to 0644 and try again, same as copy_dir(). $wp_filesystem->chmod( $file_not_writable, FS_CHMOD_FILE ); if ( $wp_filesystem->is_writable( $file_not_writable ) ) { unset( $files_not_writable[ $relative_file_not_writable ] ); } } // Store package-relative paths (the key) of non-writable files in the WP_Error object. $error_data = version_compare( $old_wp_version, '3.7-beta2', '>' ) ? array_keys( $files_not_writable ) : ''; if ( $files_not_writable ) { return new WP_Error( 'files_not_writable', __( 'The update cannot be installed because your site is unable to copy some files. This is usually due to inconsistent file permissions.' ), implode( ', ', $error_data ) ); } } } /** This filter is documented in wp-admin/includes/update-core.php */ apply_filters( 'update_feedback', __( 'Enabling Maintenance mode…' ) ); // Create maintenance file to signal that we are upgrading. $maintenance_string = '<?php $upgrading = ' . time() . '; ?>'; $maintenance_file = $to . '.maintenance'; $wp_filesystem->delete( $maintenance_file ); $wp_filesystem->put_contents( $maintenance_file, $maintenance_string, FS_CHMOD_FILE ); /** This filter is documented in wp-admin/includes/update-core.php */ apply_filters( 'update_feedback', __( 'Copying the required files…' ) ); // Copy new versions of WP files into place. $result = copy_dir( $from . $distro, $to, $skip ); if ( is_wp_error( $result ) ) { $result = new WP_Error( $result->get_error_code(), $result->get_error_message(), substr( $result->get_error_data(), strlen( $to ) ) ); } // Since we know the core files have copied over, we can now copy the version file. if ( ! is_wp_error( $result ) ) { if ( ! $wp_filesystem->copy( $from . $distro . 'wp-includes/version.php', $to . 'wp-includes/version.php', true /* overwrite */ ) ) { $wp_filesystem->delete( $from, true ); $result = new WP_Error( 'copy_failed_for_version_file', __( 'The update cannot be installed because your site is unable to copy some files. This is usually due to inconsistent file permissions.' ), 'wp-includes/version.php' ); } $wp_filesystem->chmod( $to . 'wp-includes/version.php', FS_CHMOD_FILE ); /* * `wp_opcache_invalidate()` only exists in WordPress 5.5 or later, * so don't run it when upgrading from older versions. */ if ( function_exists( 'wp_opcache_invalidate' ) ) { wp_opcache_invalidate( $to . 'wp-includes/version.php' ); } } // Check to make sure everything copied correctly, ignoring the contents of wp-content. $skip = array( 'wp-content' ); $failed = array(); if ( isset( $checksums ) && is_array( $checksums ) ) { foreach ( $checksums as $file => $checksum ) { /* * Note: str_starts_with() is not used here, as this file is included * when updating from older WordPress versions, in which case * the polyfills from wp-includes/compat.php may not be available. */ if ( 'wp-content' === substr( $file, 0, 10 ) ) { continue; } if ( ! file_exists( $working_dir_local . $file ) ) { continue; } if ( '.' === dirname( $file ) && in_array( pathinfo( $file, PATHINFO_EXTENSION ), array( 'html', 'txt' ), true ) ) { $skip[] = $file; continue; } if ( file_exists( ABSPATH . $file ) && md5_file( ABSPATH . $file ) === $checksum ) { $skip[] = $file; } else { $failed[] = $file; } } } // Some files didn't copy properly. if ( ! empty( $failed ) ) { $total_size = 0; foreach ( $failed as $file ) { if ( file_exists( $working_dir_local . $file ) ) { $total_size += filesize( $working_dir_local . $file ); } } /* * If we don't have enough free space, it isn't worth trying again. * Unlikely to be hit due to the check in unzip_file(). */ $available_space = function_exists( 'disk_free_space' ) ? @disk_free_space( ABSPATH ) : false; if ( $available_space && $total_size >= $available_space ) { $result = new WP_Error( 'disk_full', __( 'There is not enough free disk space to complete the update.' ) ); } else { $result = copy_dir( $from . $distro, $to, $skip ); if ( is_wp_error( $result ) ) { $result = new WP_Error( $result->get_error_code() . '_retry', $result->get_error_message(), substr( $result->get_error_data(), strlen( $to ) ) ); } } } /* * Custom content directory needs updating now. * Copy languages. */ if ( ! is_wp_error( $result ) && $wp_filesystem->is_dir( $from . $distro . 'wp-content/languages' ) ) { if ( WP_LANG_DIR !== ABSPATH . WPINC . '/languages' || @is_dir( WP_LANG_DIR ) ) { $lang_dir = WP_LANG_DIR; } else { $lang_dir = WP_CONTENT_DIR . '/languages'; } /* * Note: str_starts_with() is not used here, as this file is included * when updating from older WordPress versions, in which case * the polyfills from wp-includes/compat.php may not be available. */ // Check if the language directory exists first. if ( ! @is_dir( $lang_dir ) && 0 === strpos( $lang_dir, ABSPATH ) ) { // If it's within the ABSPATH we can handle it here, otherwise they're out of luck. $wp_filesystem->mkdir( $to . str_replace( ABSPATH, '', $lang_dir ), FS_CHMOD_DIR ); clearstatcache(); // For FTP, need to clear the stat cache. } if ( @is_dir( $lang_dir ) ) { $wp_lang_dir = $wp_filesystem->find_folder( $lang_dir ); if ( $wp_lang_dir ) { $result = copy_dir( $from . $distro . 'wp-content/languages/', $wp_lang_dir ); if ( is_wp_error( $result ) ) { $result = new WP_Error( $result->get_error_code() . '_languages', $result->get_error_message(), substr( $result->get_error_data(), strlen( $wp_lang_dir ) ) ); } } } } /** This filter is documented in wp-admin/includes/update-core.php */ apply_filters( 'update_feedback', __( 'Disabling Maintenance mode…' ) ); // Remove maintenance file, we're done with potential site-breaking changes. $wp_filesystem->delete( $maintenance_file ); /* * 3.5 -> 3.5+ - an empty twentytwelve directory was created upon upgrade to 3.5 for some users, * preventing installation of Twenty Twelve. */ if ( '3.5' === $old_wp_version ) { if ( is_dir( WP_CONTENT_DIR . '/themes/twentytwelve' ) && ! file_exists( WP_CONTENT_DIR . '/themes/twentytwelve/style.css' ) ) { $wp_filesystem->delete( $wp_filesystem->wp_themes_dir() . 'twentytwelve/' ); } } /* * Copy new bundled plugins & themes. * This gives us the ability to install new plugins & themes bundled with * future versions of WordPress whilst avoiding the re-install upon upgrade issue. * $development_build controls us overwriting bundled themes and plugins when a non-stable release is being updated. */ if ( ! is_wp_error( $result ) && ( ! defined( 'CORE_UPGRADE_SKIP_NEW_BUNDLED' ) || ! CORE_UPGRADE_SKIP_NEW_BUNDLED ) ) { foreach ( (array) $_new_bundled_files as $file => $introduced_version ) { // If a $development_build or if $introduced version is greater than what the site was previously running. if ( $development_build || version_compare( $introduced_version, $old_wp_version, '>' ) ) { $directory = ( '/' === $file[ strlen( $file ) - 1 ] ); list( $type, $filename ) = explode( '/', $file, 2 ); // Check to see if the bundled items exist before attempting to copy them. if ( ! $wp_filesystem->exists( $from . $distro . 'wp-content/' . $file ) ) { continue; } if ( 'plugins' === $type ) { $dest = $wp_filesystem->wp_plugins_dir(); } elseif ( 'themes' === $type ) { // Back-compat, ::wp_themes_dir() did not return trailingslash'd pre-3.2. $dest = trailingslashit( $wp_filesystem->wp_themes_dir() ); } else { continue; } if ( ! $directory ) { if ( ! $development_build && $wp_filesystem->exists( $dest . $filename ) ) { continue; } if ( ! $wp_filesystem->copy( $from . $distro . 'wp-content/' . $file, $dest . $filename, FS_CHMOD_FILE ) ) { $result = new WP_Error( "copy_failed_for_new_bundled_$type", __( 'Could not copy file.' ), $dest . $filename ); } } else { if ( ! $development_build && $wp_filesystem->is_dir( $dest . $filename ) ) { continue; } $wp_filesystem->mkdir( $dest . $filename, FS_CHMOD_DIR ); $_result = copy_dir( $from . $distro . 'wp-content/' . $file, $dest . $filename ); /* * If an error occurs partway through this final step, * keep the error flowing through, but keep the process going. */ if ( is_wp_error( $_result ) ) { if ( ! is_wp_error( $result ) ) { $result = new WP_Error(); } $result->add( $_result->get_error_code() . "_$type", $_result->get_error_message(), substr( $_result->get_error_data(), strlen( $dest ) ) ); } } } } // End foreach. } // Handle $result error from the above blocks. if ( is_wp_error( $result ) ) { $wp_filesystem->delete( $from, true ); return $result; } // Remove old files. foreach ( $_old_files as $old_file ) { $old_file = $to . $old_file; if ( ! $wp_filesystem->exists( $old_file ) ) { continue; } // If the file isn't deleted, try writing an empty string to the file instead. if ( ! $wp_filesystem->delete( $old_file, true ) && $wp_filesystem->is_file( $old_file ) ) { $wp_filesystem->put_contents( $old_file, '' ); } } // Remove any Genericons example.html's from the filesystem. _upgrade_422_remove_genericons(); // Deactivate the REST API plugin if its version is 2.0 Beta 4 or lower. _upgrade_440_force_deactivate_incompatible_plugins(); // Deactivate incompatible plugins. _upgrade_core_deactivate_incompatible_plugins(); // Upgrade DB with separate request. /** This filter is documented in wp-admin/includes/update-core.php */ apply_filters( 'update_feedback', __( 'Upgrading database…' ) ); $db_upgrade_url = admin_url( 'upgrade.php?step=upgrade_db' ); wp_remote_post( $db_upgrade_url, array( 'timeout' => 60 ) ); // Clear the cache to prevent an update_option() from saving a stale db_version to the cache. wp_cache_flush(); // Not all cache back ends listen to 'flush'. wp_cache_delete( 'alloptions', 'options' ); // Remove working directory. $wp_filesystem->delete( $from, true ); // Force refresh of update information. if ( function_exists( 'delete_site_transient' ) ) { delete_site_transient( 'update_core' ); } else { delete_option( 'update_core' ); } /** * Fires after WordPress core has been successfully updated. * * @since 3.3.0 * * @param string $wp_version The current WordPress version. */ do_action( '_core_updated_successfully', $wp_version ); // Clear the option that blocks auto-updates after failures, now that we've been successful. if ( function_exists( 'delete_site_option' ) ) { delete_site_option( 'auto_core_update_failed' ); } return $wp_version; } /** * Preloads old Requests classes and interfaces. * * This function preloads the old Requests code into memory before the * upgrade process deletes the files. Why? Requests code is loaded into * memory via an autoloader, meaning when a class or interface is needed * If a request is in process, Requests could attempt to access code. If * the file is not there, a fatal error could occur. If the file was * replaced, the new code is not compatible with the old, resulting in * a fatal error. Preloading ensures the code is in memory before the * code is updated. * * @since 6.2.0 * * @global array $_old_requests_files Requests files to be preloaded. * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass. * @global string $wp_version The WordPress version string. * * @param string $to Path to old WordPress installation. */ function _preload_old_requests_classes_and_interfaces( $to ) { global $_old_requests_files, $wp_filesystem, $wp_version; /* * Requests was introduced in WordPress 4.6. * * Skip preloading if the website was previously using * an earlier version of WordPress. */ if ( version_compare( $wp_version, '4.6', '<' ) ) { return; } if ( ! defined( 'REQUESTS_SILENCE_PSR0_DEPRECATIONS' ) ) { define( 'REQUESTS_SILENCE_PSR0_DEPRECATIONS', true ); } foreach ( $_old_requests_files as $name => $file ) { // Skip files that aren't interfaces or classes. if ( is_int( $name ) ) { continue; } // Skip if it's already loaded. if ( class_exists( $name ) || interface_exists( $name ) ) { continue; } // Skip if the file is missing. if ( ! $wp_filesystem->is_file( $to . $file ) ) { continue; } require_once $to . $file; } } /** * Redirect to the About WordPress page after a successful upgrade. * * This function is only needed when the existing installation is older than 3.4.0. * * @since 3.3.0 * * @global string $wp_version The WordPress version string. * @global string $pagenow The filename of the current screen. * @global string $action * * @param string $new_version */ function _redirect_to_about_wordpress( $new_version ) { global $wp_version, $pagenow, $action; if ( version_compare( $wp_version, '3.4-RC1', '>=' ) ) { return; } // Ensure we only run this on the update-core.php page. The Core_Upgrader may be used in other contexts. if ( 'update-core.php' !== $pagenow ) { return; } if ( 'do-core-upgrade' !== $action && 'do-core-reinstall' !== $action ) { return; } // Load the updated default text localization domain for new strings. load_default_textdomain(); // See do_core_upgrade(). show_message( __( 'WordPress updated successfully.' ) ); // self_admin_url() won't exist when upgrading from <= 3.0, so relative URLs are intentional. show_message( '<span class="hide-if-no-js">' . sprintf( /* translators: 1: WordPress version, 2: URL to About screen. */ __( 'Welcome to WordPress %1$s. You will be redirected to the About WordPress screen. If not, click <a href="%2$s">here</a>.' ), $new_version, 'about.php?updated' ) . '</span>' ); show_message( '<span class="hide-if-js">' . sprintf( /* translators: 1: WordPress version, 2: URL to About screen. */ __( 'Welcome to WordPress %1$s. <a href="%2$s">Learn more</a>.' ), $new_version, 'about.php?updated' ) . '</span>' ); echo '</div>'; ?> <script type="text/javascript"> window.location = 'about.php?updated'; </script> <?php // Include admin-footer.php and exit. require_once ABSPATH . 'wp-admin/admin-footer.php'; exit; } /** * Cleans up Genericons example files. * * @since 4.2.2 * * @global array $wp_theme_directories * @global WP_Filesystem_Base $wp_filesystem */ function _upgrade_422_remove_genericons() { global $wp_theme_directories, $wp_filesystem; // A list of the affected files using the filesystem absolute paths. $affected_files = array(); // Themes. foreach ( $wp_theme_directories as $directory ) { $affected_theme_files = _upgrade_422_find_genericons_files_in_folder( $directory ); $affected_files = array_merge( $affected_files, $affected_theme_files ); } // Plugins. $affected_plugin_files = _upgrade_422_find_genericons_files_in_folder( WP_PLUGIN_DIR ); $affected_files = array_merge( $affected_files, $affected_plugin_files ); foreach ( $affected_files as $file ) { $gen_dir = $wp_filesystem->find_folder( trailingslashit( dirname( $file ) ) ); if ( empty( $gen_dir ) ) { continue; } // The path when the file is accessed via WP_Filesystem may differ in the case of FTP. $remote_file = $gen_dir . basename( $file ); if ( ! $wp_filesystem->exists( $remote_file ) ) { continue; } if ( ! $wp_filesystem->delete( $remote_file, false, 'f' ) ) { $wp_filesystem->put_contents( $remote_file, '' ); } } } /** * Recursively find Genericons example files in a given folder. * * @ignore * @since 4.2.2 * * @param string $directory Directory path. Expects trailingslashed. * @return array */ function _upgrade_422_find_genericons_files_in_folder( $directory ) { $directory = trailingslashit( $directory ); $files = array(); if ( file_exists( "{$directory}example.html" ) /* * Note: str_contains() is not used here, as this file is included * when updating from older WordPress versions, in which case * the polyfills from wp-includes/compat.php may not be available. */ && false !== strpos( file_get_contents( "{$directory}example.html" ), '<title>Genericons</title>' ) ) { $files[] = "{$directory}example.html"; } $dirs = glob( $directory . '*', GLOB_ONLYDIR ); $dirs = array_filter( $dirs, static function ( $dir ) { /* * Skip any node_modules directories. * * Note: str_contains() is not used here, as this file is included * when updating from older WordPress versions, in which case * the polyfills from wp-includes/compat.php may not be available. */ return false === strpos( $dir, 'node_modules' ); } ); if ( $dirs ) { foreach ( $dirs as $dir ) { $files = array_merge( $files, _upgrade_422_find_genericons_files_in_folder( $dir ) ); } } return $files; } /** * @ignore * @since 4.4.0 */ function _upgrade_440_force_deactivate_incompatible_plugins() { if ( defined( 'REST_API_VERSION' ) && version_compare( REST_API_VERSION, '2.0-beta4', '<=' ) ) { deactivate_plugins( array( 'rest-api/plugin.php' ), true ); } } /** * @access private * @ignore * @since 5.8.0 * @since 5.9.0 The minimum compatible version of Gutenberg is 11.9. * @since 6.1.1 The minimum compatible version of Gutenberg is 14.1. * @since 6.4.0 The minimum compatible version of Gutenberg is 16.5. * @since 6.5.0 The minimum compatible version of Gutenberg is 17.6. */ function _upgrade_core_deactivate_incompatible_plugins() { if ( defined( 'GUTENBERG_VERSION' ) && version_compare( GUTENBERG_VERSION, '17.6', '<' ) ) { $deactivated_gutenberg['gutenberg'] = array( 'plugin_name' => 'Gutenberg', 'version_deactivated' => GUTENBERG_VERSION, 'version_compatible' => '17.6', ); if ( is_plugin_active_for_network( 'gutenberg/gutenberg.php' ) ) { $deactivated_plugins = get_site_option( 'wp_force_deactivated_plugins', array() ); $deactivated_plugins = array_merge( $deactivated_plugins, $deactivated_gutenberg ); update_site_option( 'wp_force_deactivated_plugins', $deactivated_plugins ); } else { $deactivated_plugins = get_option( 'wp_force_deactivated_plugins', array() ); $deactivated_plugins = array_merge( $deactivated_plugins, $deactivated_gutenberg ); update_option( 'wp_force_deactivated_plugins', $deactivated_plugins, false ); } deactivate_plugins( array( 'gutenberg/gutenberg.php' ), true ); } } class-wp-privacy-data-removal-requests-list-table.php 0000644 00000013123 14735706075 0016760 0 ustar 00 <?php /** * List Table API: WP_Privacy_Data_Removal_Requests_List_Table class * * @package WordPress * @subpackage Administration * @since 4.9.6 */ if ( ! class_exists( 'WP_Privacy_Requests_Table' ) ) { require_once ABSPATH . 'wp-admin/includes/class-wp-privacy-requests-table.php'; } /** * WP_Privacy_Data_Removal_Requests_List_Table class. * * @since 4.9.6 */ class WP_Privacy_Data_Removal_Requests_List_Table extends WP_Privacy_Requests_Table { /** * Action name for the requests this table will work with. * * @since 4.9.6 * * @var string $request_type Name of action. */ protected $request_type = 'remove_personal_data'; /** * Post type for the requests. * * @since 4.9.6 * * @var string $post_type The post type. */ protected $post_type = 'user_request'; /** * Outputs the Actions column. * * @since 4.9.6 * * @param WP_User_Request $item Item being shown. * @return string Email column markup. */ public function column_email( $item ) { $row_actions = array(); // Allow the administrator to "force remove" the personal data even if confirmation has not yet been received. $status = $item->status; $request_id = $item->ID; $row_actions = array(); if ( 'request-confirmed' !== $status ) { /** This filter is documented in wp-admin/includes/ajax-actions.php */ $erasers = apply_filters( 'wp_privacy_personal_data_erasers', array() ); $erasers_count = count( $erasers ); $nonce = wp_create_nonce( 'wp-privacy-erase-personal-data-' . $request_id ); $remove_data_markup = '<span class="remove-personal-data force-remove-personal-data" ' . 'data-erasers-count="' . esc_attr( $erasers_count ) . '" ' . 'data-request-id="' . esc_attr( $request_id ) . '" ' . 'data-nonce="' . esc_attr( $nonce ) . '">'; $remove_data_markup .= '<span class="remove-personal-data-idle"><button type="button" class="button-link remove-personal-data-handle">' . __( 'Force erase personal data' ) . '</button></span>' . '<span class="remove-personal-data-processing hidden">' . __( 'Erasing data...' ) . ' <span class="erasure-progress"></span></span>' . '<span class="remove-personal-data-success hidden">' . __( 'Erasure completed.' ) . '</span>' . '<span class="remove-personal-data-failed hidden">' . __( 'Force erasure has failed.' ) . ' <button type="button" class="button-link remove-personal-data-handle">' . __( 'Retry' ) . '</button></span>'; $remove_data_markup .= '</span>'; $row_actions['remove-data'] = $remove_data_markup; } if ( 'request-completed' !== $status ) { $complete_request_markup = '<span>'; $complete_request_markup .= sprintf( '<a href="%s" class="complete-request" aria-label="%s">%s</a>', esc_url( wp_nonce_url( add_query_arg( array( 'action' => 'complete', 'request_id' => array( $request_id ), ), admin_url( 'erase-personal-data.php' ) ), 'bulk-privacy_requests' ) ), esc_attr( sprintf( /* translators: %s: Request email. */ __( 'Mark export request for “%s” as completed.' ), $item->email ) ), __( 'Complete request' ) ); $complete_request_markup .= '</span>'; } if ( ! empty( $complete_request_markup ) ) { $row_actions['complete-request'] = $complete_request_markup; } return sprintf( '<a href="%1$s">%2$s</a> %3$s', esc_url( 'mailto:' . $item->email ), $item->email, $this->row_actions( $row_actions ) ); } /** * Outputs the Next steps column. * * @since 4.9.6 * * @param WP_User_Request $item Item being shown. */ public function column_next_steps( $item ) { $status = $item->status; switch ( $status ) { case 'request-pending': esc_html_e( 'Waiting for confirmation' ); break; case 'request-confirmed': /** This filter is documented in wp-admin/includes/ajax-actions.php */ $erasers = apply_filters( 'wp_privacy_personal_data_erasers', array() ); $erasers_count = count( $erasers ); $request_id = $item->ID; $nonce = wp_create_nonce( 'wp-privacy-erase-personal-data-' . $request_id ); echo '<div class="remove-personal-data" ' . 'data-force-erase="1" ' . 'data-erasers-count="' . esc_attr( $erasers_count ) . '" ' . 'data-request-id="' . esc_attr( $request_id ) . '" ' . 'data-nonce="' . esc_attr( $nonce ) . '">'; ?> <span class="remove-personal-data-idle"><button type="button" class="button-link remove-personal-data-handle"><?php _e( 'Erase personal data' ); ?></button></span> <span class="remove-personal-data-processing hidden"><?php _e( 'Erasing data...' ); ?> <span class="erasure-progress"></span></span> <span class="remove-personal-data-success success-message hidden" ><?php _e( 'Erasure completed.' ); ?></span> <span class="remove-personal-data-failed hidden"><?php _e( 'Data erasure has failed.' ); ?> <button type="button" class="button-link remove-personal-data-handle"><?php _e( 'Retry' ); ?></button></span> <?php echo '</div>'; break; case 'request-failed': echo '<button type="submit" class="button-link" name="privacy_action_email_retry[' . $item->ID . ']" id="privacy_action_email_retry[' . $item->ID . ']">' . __( 'Retry' ) . '</button>'; break; case 'request-completed': echo '<a href="' . esc_url( wp_nonce_url( add_query_arg( array( 'action' => 'delete', 'request_id' => array( $item->ID ), ), admin_url( 'erase-personal-data.php' ) ), 'bulk-privacy_requests' ) ) . '">' . esc_html__( 'Remove request' ) . '</a>'; break; } } } class-wp-community-events.php 0000644 00000044521 14735706075 0012356 0 ustar 00 <?php /** * Administration: Community Events class. * * @package WordPress * @subpackage Administration * @since 4.8.0 */ /** * Class WP_Community_Events. * * A client for api.wordpress.org/events. * * @since 4.8.0 */ #[AllowDynamicProperties] class WP_Community_Events { /** * ID for a WordPress user account. * * @since 4.8.0 * * @var int */ protected $user_id = 0; /** * Stores location data for the user. * * @since 4.8.0 * * @var false|array */ protected $user_location = false; /** * Constructor for WP_Community_Events. * * @since 4.8.0 * * @param int $user_id WP user ID. * @param false|array $user_location { * Stored location data for the user. false to pass no location. * * @type string $description The name of the location * @type string $latitude The latitude in decimal degrees notation, without the degree * symbol. e.g.: 47.615200. * @type string $longitude The longitude in decimal degrees notation, without the degree * symbol. e.g.: -122.341100. * @type string $country The ISO 3166-1 alpha-2 country code. e.g.: BR * } */ public function __construct( $user_id, $user_location = false ) { $this->user_id = absint( $user_id ); $this->user_location = $user_location; } /** * Gets data about events near a particular location. * * Cached events will be immediately returned if the `user_location` property * is set for the current user, and cached events exist for that location. * * Otherwise, this method sends a request to the w.org Events API with location * data. The API will send back a recognized location based on the data, along * with nearby events. * * The browser's request for events is proxied with this method, rather * than having the browser make the request directly to api.wordpress.org, * because it allows results to be cached server-side and shared with other * users and sites in the network. This makes the process more efficient, * since increasing the number of visits that get cached data means users * don't have to wait as often; if the user's browser made the request * directly, it would also need to make a second request to WP in order to * pass the data for caching. Having WP make the request also introduces * the opportunity to anonymize the IP before sending it to w.org, which * mitigates possible privacy concerns. * * @since 4.8.0 * @since 5.5.2 Response no longer contains formatted date field. They're added * in `wp.communityEvents.populateDynamicEventFields()` now. * * @param string $location_search Optional. City name to help determine the location. * e.g., "Seattle". Default empty string. * @param string $timezone Optional. Timezone to help determine the location. * Default empty string. * @return array|WP_Error A WP_Error on failure; an array with location and events on * success. */ public function get_events( $location_search = '', $timezone = '' ) { $cached_events = $this->get_cached_events(); if ( ! $location_search && $cached_events ) { return $cached_events; } // Include an unmodified $wp_version. require ABSPATH . WPINC . '/version.php'; $api_url = 'http://api.wordpress.org/events/1.0/'; $request_args = $this->get_request_args( $location_search, $timezone ); $request_args['user-agent'] = 'WordPress/' . $wp_version . '; ' . home_url( '/' ); if ( wp_http_supports( array( 'ssl' ) ) ) { $api_url = set_url_scheme( $api_url, 'https' ); } $response = wp_remote_get( $api_url, $request_args ); $response_code = wp_remote_retrieve_response_code( $response ); $response_body = json_decode( wp_remote_retrieve_body( $response ), true ); $response_error = null; if ( is_wp_error( $response ) ) { $response_error = $response; } elseif ( 200 !== $response_code ) { $response_error = new WP_Error( 'api-error', /* translators: %d: Numeric HTTP status code, e.g. 400, 403, 500, 504, etc. */ sprintf( __( 'Invalid API response code (%d).' ), $response_code ) ); } elseif ( ! isset( $response_body['location'], $response_body['events'] ) ) { $response_error = new WP_Error( 'api-invalid-response', isset( $response_body['error'] ) ? $response_body['error'] : __( 'Unknown API error.' ) ); } if ( is_wp_error( $response_error ) ) { return $response_error; } else { $expiration = false; if ( isset( $response_body['ttl'] ) ) { $expiration = $response_body['ttl']; unset( $response_body['ttl'] ); } /* * The IP in the response is usually the same as the one that was sent * in the request, but in some cases it is different. In those cases, * it's important to reset it back to the IP from the request. * * For example, if the IP sent in the request is private (e.g., 192.168.1.100), * then the API will ignore that and use the corresponding public IP instead, * and the public IP will get returned. If the public IP were saved, though, * then get_cached_events() would always return `false`, because the transient * would be generated based on the public IP when saving the cache, but generated * based on the private IP when retrieving the cache. */ if ( ! empty( $response_body['location']['ip'] ) ) { $response_body['location']['ip'] = $request_args['body']['ip']; } /* * The API doesn't return a description for latitude/longitude requests, * but the description is already saved in the user location, so that * one can be used instead. */ if ( $this->coordinates_match( $request_args['body'], $response_body['location'] ) && empty( $response_body['location']['description'] ) ) { $response_body['location']['description'] = $this->user_location['description']; } /* * Store the raw response, because events will expire before the cache does. * The response will need to be processed every page load. */ $this->cache_events( $response_body, $expiration ); $response_body['events'] = $this->trim_events( $response_body['events'] ); return $response_body; } } /** * Builds an array of args to use in an HTTP request to the w.org Events API. * * @since 4.8.0 * * @param string $search Optional. City search string. Default empty string. * @param string $timezone Optional. Timezone string. Default empty string. * @return array The request args. */ protected function get_request_args( $search = '', $timezone = '' ) { $args = array( 'number' => 5, // Get more than three in case some get trimmed out. 'ip' => self::get_unsafe_client_ip(), ); /* * Include the minimal set of necessary arguments, in order to increase the * chances of a cache-hit on the API side. */ if ( empty( $search ) && isset( $this->user_location['latitude'], $this->user_location['longitude'] ) ) { $args['latitude'] = $this->user_location['latitude']; $args['longitude'] = $this->user_location['longitude']; } else { $args['locale'] = get_user_locale( $this->user_id ); if ( $timezone ) { $args['timezone'] = $timezone; } if ( $search ) { $args['location'] = $search; } } // Wrap the args in an array compatible with the second parameter of `wp_remote_get()`. return array( 'body' => $args, ); } /** * Determines the user's actual IP address and attempts to partially * anonymize an IP address by converting it to a network ID. * * Geolocating the network ID usually returns a similar location as the * actual IP, but provides some privacy for the user. * * $_SERVER['REMOTE_ADDR'] cannot be used in all cases, such as when the user * is making their request through a proxy, or when the web server is behind * a proxy. In those cases, $_SERVER['REMOTE_ADDR'] is set to the proxy address rather * than the user's actual address. * * Modified from https://stackoverflow.com/a/2031935/450127, MIT license. * Modified from https://github.com/geertw/php-ip-anonymizer, MIT license. * * SECURITY WARNING: This function is _NOT_ intended to be used in * circumstances where the authenticity of the IP address matters. This does * _NOT_ guarantee that the returned address is valid or accurate, and it can * be easily spoofed. * * @since 4.8.0 * * @return string|false The anonymized address on success; the given address * or false on failure. */ public static function get_unsafe_client_ip() { $client_ip = false; // In order of preference, with the best ones for this purpose first. $address_headers = array( 'HTTP_CLIENT_IP', 'HTTP_X_FORWARDED_FOR', 'HTTP_X_FORWARDED', 'HTTP_X_CLUSTER_CLIENT_IP', 'HTTP_FORWARDED_FOR', 'HTTP_FORWARDED', 'REMOTE_ADDR', ); foreach ( $address_headers as $header ) { if ( array_key_exists( $header, $_SERVER ) ) { /* * HTTP_X_FORWARDED_FOR can contain a chain of comma-separated * addresses. The first one is the original client. It can't be * trusted for authenticity, but we don't need to for this purpose. */ $address_chain = explode( ',', $_SERVER[ $header ] ); $client_ip = trim( $address_chain[0] ); break; } } if ( ! $client_ip ) { return false; } $anon_ip = wp_privacy_anonymize_ip( $client_ip, true ); if ( '0.0.0.0' === $anon_ip || '::' === $anon_ip ) { return false; } return $anon_ip; } /** * Test if two pairs of latitude/longitude coordinates match each other. * * @since 4.8.0 * * @param array $a The first pair, with indexes 'latitude' and 'longitude'. * @param array $b The second pair, with indexes 'latitude' and 'longitude'. * @return bool True if they match, false if they don't. */ protected function coordinates_match( $a, $b ) { if ( ! isset( $a['latitude'], $a['longitude'], $b['latitude'], $b['longitude'] ) ) { return false; } return $a['latitude'] === $b['latitude'] && $a['longitude'] === $b['longitude']; } /** * Generates a transient key based on user location. * * This could be reduced to a one-liner in the calling functions, but it's * intentionally a separate function because it's called from multiple * functions, and having it abstracted keeps the logic consistent and DRY, * which is less prone to errors. * * @since 4.8.0 * * @param array $location Should contain 'latitude' and 'longitude' indexes. * @return string|false Transient key on success, false on failure. */ protected function get_events_transient_key( $location ) { $key = false; if ( isset( $location['ip'] ) ) { $key = 'community-events-' . md5( $location['ip'] ); } elseif ( isset( $location['latitude'], $location['longitude'] ) ) { $key = 'community-events-' . md5( $location['latitude'] . $location['longitude'] ); } return $key; } /** * Caches an array of events data from the Events API. * * @since 4.8.0 * * @param array $events Response body from the API request. * @param int|false $expiration Optional. Amount of time to cache the events. Defaults to false. * @return bool true if events were cached; false if not. */ protected function cache_events( $events, $expiration = false ) { $set = false; $transient_key = $this->get_events_transient_key( $events['location'] ); $cache_expiration = $expiration ? absint( $expiration ) : HOUR_IN_SECONDS * 12; if ( $transient_key ) { $set = set_site_transient( $transient_key, $events, $cache_expiration ); } return $set; } /** * Gets cached events. * * @since 4.8.0 * @since 5.5.2 Response no longer contains formatted date field. They're added * in `wp.communityEvents.populateDynamicEventFields()` now. * * @return array|false An array containing `location` and `events` items * on success, false on failure. */ public function get_cached_events() { $transient_key = $this->get_events_transient_key( $this->user_location ); if ( ! $transient_key ) { return false; } $cached_response = get_site_transient( $transient_key ); if ( isset( $cached_response['events'] ) ) { $cached_response['events'] = $this->trim_events( $cached_response['events'] ); } return $cached_response; } /** * Adds formatted date and time items for each event in an API response. * * This has to be called after the data is pulled from the cache, because * the cached events are shared by all users. If it was called before storing * the cache, then all users would see the events in the localized data/time * of the user who triggered the cache refresh, rather than their own. * * @since 4.8.0 * @deprecated 5.6.0 No longer used in core. * * @param array $response_body The response which contains the events. * @return array The response with dates and times formatted. */ protected function format_event_data_time( $response_body ) { _deprecated_function( __METHOD__, '5.5.2', 'This is no longer used by core, and only kept for backward compatibility.' ); if ( isset( $response_body['events'] ) ) { foreach ( $response_body['events'] as $key => $event ) { $timestamp = strtotime( $event['date'] ); /* * The `date_format` option is not used because it's important * in this context to keep the day of the week in the formatted date, * so that users can tell at a glance if the event is on a day they * are available, without having to open the link. */ /* translators: Date format for upcoming events on the dashboard. Include the day of the week. See https://www.php.net/manual/datetime.format.php */ $formatted_date = date_i18n( __( 'l, M j, Y' ), $timestamp ); $formatted_time = date_i18n( get_option( 'time_format' ), $timestamp ); if ( isset( $event['end_date'] ) ) { $end_timestamp = strtotime( $event['end_date'] ); $formatted_end_date = date_i18n( __( 'l, M j, Y' ), $end_timestamp ); if ( 'meetup' !== $event['type'] && $formatted_end_date !== $formatted_date ) { /* translators: Upcoming events month format. See https://www.php.net/manual/datetime.format.php */ $start_month = date_i18n( _x( 'F', 'upcoming events month format' ), $timestamp ); $end_month = date_i18n( _x( 'F', 'upcoming events month format' ), $end_timestamp ); if ( $start_month === $end_month ) { $formatted_date = sprintf( /* translators: Date string for upcoming events. 1: Month, 2: Starting day, 3: Ending day, 4: Year. */ __( '%1$s %2$d–%3$d, %4$d' ), $start_month, /* translators: Upcoming events day format. See https://www.php.net/manual/datetime.format.php */ date_i18n( _x( 'j', 'upcoming events day format' ), $timestamp ), date_i18n( _x( 'j', 'upcoming events day format' ), $end_timestamp ), /* translators: Upcoming events year format. See https://www.php.net/manual/datetime.format.php */ date_i18n( _x( 'Y', 'upcoming events year format' ), $timestamp ) ); } else { $formatted_date = sprintf( /* translators: Date string for upcoming events. 1: Starting month, 2: Starting day, 3: Ending month, 4: Ending day, 5: Year. */ __( '%1$s %2$d – %3$s %4$d, %5$d' ), $start_month, date_i18n( _x( 'j', 'upcoming events day format' ), $timestamp ), $end_month, date_i18n( _x( 'j', 'upcoming events day format' ), $end_timestamp ), date_i18n( _x( 'Y', 'upcoming events year format' ), $timestamp ) ); } $formatted_date = wp_maybe_decline_date( $formatted_date, 'F j, Y' ); } } $response_body['events'][ $key ]['formatted_date'] = $formatted_date; $response_body['events'][ $key ]['formatted_time'] = $formatted_time; } } return $response_body; } /** * Prepares the event list for presentation. * * Discards expired events, and makes WordCamps "sticky." Attendees need more * advanced notice about WordCamps than they do for meetups, so camps should * appear in the list sooner. If a WordCamp is coming up, the API will "stick" * it in the response, even if it wouldn't otherwise appear. When that happens, * the event will be at the end of the list, and will need to be moved into a * higher position, so that it doesn't get trimmed off. * * @since 4.8.0 * @since 4.9.7 Stick a WordCamp to the final list. * @since 5.5.2 Accepts and returns only the events, rather than an entire HTTP response. * @since 6.0.0 Decode HTML entities from the event title. * * @param array $events The events that will be prepared. * @return array The response body with events trimmed. */ protected function trim_events( array $events ) { $future_events = array(); foreach ( $events as $event ) { /* * The API's `date` and `end_date` fields are in the _event's_ local timezone, but UTC is needed so * it can be converted to the _user's_ local time. */ $end_time = (int) $event['end_unix_timestamp']; if ( time() < $end_time ) { // Decode HTML entities from the event title. $event['title'] = html_entity_decode( $event['title'], ENT_QUOTES, 'UTF-8' ); array_push( $future_events, $event ); } } $future_wordcamps = array_filter( $future_events, static function ( $wordcamp ) { return 'wordcamp' === $wordcamp['type']; } ); $future_wordcamps = array_values( $future_wordcamps ); // Remove gaps in indices. $trimmed_events = array_slice( $future_events, 0, 3 ); $trimmed_event_types = wp_list_pluck( $trimmed_events, 'type' ); // Make sure the soonest upcoming WordCamp is pinned in the list. if ( $future_wordcamps && ! in_array( 'wordcamp', $trimmed_event_types, true ) ) { array_pop( $trimmed_events ); array_push( $trimmed_events, $future_wordcamps[0] ); } return $trimmed_events; } /** * Logs responses to Events API requests. * * @since 4.8.0 * @deprecated 4.9.0 Use a plugin instead. See #41217 for an example. * * @param string $message A description of what occurred. * @param array $details Details that provide more context for the * log entry. */ protected function maybe_log_events_response( $message, $details ) { _deprecated_function( __METHOD__, '4.9.0' ); if ( ! WP_DEBUG_LOG ) { return; } error_log( sprintf( '%s: %s. Details: %s', __METHOD__, trim( $message, '.' ), wp_json_encode( $details ) ) ); } } class-wp-ms-themes-list-table.php 0000644 00000067256 14735706075 0013002 0 ustar 00 <?php /** * List Table API: WP_MS_Themes_List_Table class * * @package WordPress * @subpackage Administration * @since 3.1.0 */ /** * Core class used to implement displaying themes in a list table for the network admin. * * @since 3.1.0 * * @see WP_List_Table */ class WP_MS_Themes_List_Table extends WP_List_Table { public $site_id; public $is_site_themes; private $has_items; /** * Whether to show the auto-updates UI. * * @since 5.5.0 * * @var bool True if auto-updates UI is to be shown, false otherwise. */ protected $show_autoupdates = true; /** * Constructor. * * @since 3.1.0 * * @see WP_List_Table::__construct() for more information on default arguments. * * @global string $status * @global int $page * * @param array $args An associative array of arguments. */ public function __construct( $args = array() ) { global $status, $page; parent::__construct( array( 'plural' => 'themes', 'screen' => isset( $args['screen'] ) ? $args['screen'] : null, ) ); $status = isset( $_REQUEST['theme_status'] ) ? $_REQUEST['theme_status'] : 'all'; if ( ! in_array( $status, array( 'all', 'enabled', 'disabled', 'upgrade', 'search', 'broken', 'auto-update-enabled', 'auto-update-disabled' ), true ) ) { $status = 'all'; } $page = $this->get_pagenum(); $this->is_site_themes = ( 'site-themes-network' === $this->screen->id ) ? true : false; if ( $this->is_site_themes ) { $this->site_id = isset( $_REQUEST['id'] ) ? (int) $_REQUEST['id'] : 0; } $this->show_autoupdates = wp_is_auto_update_enabled_for_type( 'theme' ) && ! $this->is_site_themes && current_user_can( 'update_themes' ); } /** * @return array */ protected function get_table_classes() { // @todo Remove and add CSS for .themes. return array( 'widefat', 'plugins' ); } /** * @return bool */ public function ajax_user_can() { if ( $this->is_site_themes ) { return current_user_can( 'manage_sites' ); } else { return current_user_can( 'manage_network_themes' ); } } /** * @global string $status * @global array $totals * @global int $page * @global string $orderby * @global string $order * @global string $s */ public function prepare_items() { global $status, $totals, $page, $orderby, $order, $s; $orderby = ! empty( $_REQUEST['orderby'] ) ? sanitize_text_field( $_REQUEST['orderby'] ) : ''; $order = ! empty( $_REQUEST['order'] ) ? sanitize_text_field( $_REQUEST['order'] ) : ''; $s = ! empty( $_REQUEST['s'] ) ? sanitize_text_field( $_REQUEST['s'] ) : ''; $themes = array( /** * Filters the full array of WP_Theme objects to list in the Multisite * themes list table. * * @since 3.1.0 * * @param WP_Theme[] $all Array of WP_Theme objects to display in the list table. */ 'all' => apply_filters( 'all_themes', wp_get_themes() ), 'search' => array(), 'enabled' => array(), 'disabled' => array(), 'upgrade' => array(), 'broken' => $this->is_site_themes ? array() : wp_get_themes( array( 'errors' => true ) ), ); if ( $this->show_autoupdates ) { $auto_updates = (array) get_site_option( 'auto_update_themes', array() ); $themes['auto-update-enabled'] = array(); $themes['auto-update-disabled'] = array(); } if ( $this->is_site_themes ) { $themes_per_page = $this->get_items_per_page( 'site_themes_network_per_page' ); $allowed_where = 'site'; } else { $themes_per_page = $this->get_items_per_page( 'themes_network_per_page' ); $allowed_where = 'network'; } $current = get_site_transient( 'update_themes' ); $maybe_update = current_user_can( 'update_themes' ) && ! $this->is_site_themes && $current; foreach ( (array) $themes['all'] as $key => $theme ) { if ( $this->is_site_themes && $theme->is_allowed( 'network' ) ) { unset( $themes['all'][ $key ] ); continue; } if ( $maybe_update && isset( $current->response[ $key ] ) ) { $themes['all'][ $key ]->update = true; $themes['upgrade'][ $key ] = $themes['all'][ $key ]; } $filter = $theme->is_allowed( $allowed_where, $this->site_id ) ? 'enabled' : 'disabled'; $themes[ $filter ][ $key ] = $themes['all'][ $key ]; $theme_data = array( 'update_supported' => isset( $theme->update_supported ) ? $theme->update_supported : true, ); // Extra info if known. array_merge() ensures $theme_data has precedence if keys collide. if ( isset( $current->response[ $key ] ) ) { $theme_data = array_merge( (array) $current->response[ $key ], $theme_data ); } elseif ( isset( $current->no_update[ $key ] ) ) { $theme_data = array_merge( (array) $current->no_update[ $key ], $theme_data ); } else { $theme_data['update_supported'] = false; } $theme->update_supported = $theme_data['update_supported']; /* * Create the expected payload for the auto_update_theme filter, this is the same data * as contained within $updates or $no_updates but used when the Theme is not known. */ $filter_payload = array( 'theme' => $key, 'new_version' => '', 'url' => '', 'package' => '', 'requires' => '', 'requires_php' => '', ); $filter_payload = (object) array_merge( $filter_payload, array_intersect_key( $theme_data, $filter_payload ) ); $auto_update_forced = wp_is_auto_update_forced_for_item( 'theme', null, $filter_payload ); if ( ! is_null( $auto_update_forced ) ) { $theme->auto_update_forced = $auto_update_forced; } if ( $this->show_autoupdates ) { $enabled = in_array( $key, $auto_updates, true ) && $theme->update_supported; if ( isset( $theme->auto_update_forced ) ) { $enabled = (bool) $theme->auto_update_forced; } if ( $enabled ) { $themes['auto-update-enabled'][ $key ] = $theme; } else { $themes['auto-update-disabled'][ $key ] = $theme; } } } if ( $s ) { $status = 'search'; $themes['search'] = array_filter( array_merge( $themes['all'], $themes['broken'] ), array( $this, '_search_callback' ) ); } $totals = array(); $js_themes = array(); foreach ( $themes as $type => $list ) { $totals[ $type ] = count( $list ); $js_themes[ $type ] = array_keys( $list ); } if ( empty( $themes[ $status ] ) && ! in_array( $status, array( 'all', 'search' ), true ) ) { $status = 'all'; } $this->items = $themes[ $status ]; WP_Theme::sort_by_name( $this->items ); $this->has_items = ! empty( $themes['all'] ); $total_this_page = $totals[ $status ]; wp_localize_script( 'updates', '_wpUpdatesItemCounts', array( 'themes' => $js_themes, 'totals' => wp_get_update_data(), ) ); if ( $orderby ) { $orderby = ucfirst( $orderby ); $order = strtoupper( $order ); if ( 'Name' === $orderby ) { if ( 'ASC' === $order ) { $this->items = array_reverse( $this->items ); } } else { uasort( $this->items, array( $this, '_order_callback' ) ); } } $start = ( $page - 1 ) * $themes_per_page; if ( $total_this_page > $themes_per_page ) { $this->items = array_slice( $this->items, $start, $themes_per_page, true ); } $this->set_pagination_args( array( 'total_items' => $total_this_page, 'per_page' => $themes_per_page, ) ); } /** * @param WP_Theme $theme * @return bool */ public function _search_callback( $theme ) { static $term = null; if ( is_null( $term ) ) { $term = wp_unslash( $_REQUEST['s'] ); } foreach ( array( 'Name', 'Description', 'Author', 'Author', 'AuthorURI' ) as $field ) { // Don't mark up; Do translate. if ( false !== stripos( $theme->display( $field, false, true ), $term ) ) { return true; } } if ( false !== stripos( $theme->get_stylesheet(), $term ) ) { return true; } if ( false !== stripos( $theme->get_template(), $term ) ) { return true; } return false; } // Not used by any core columns. /** * @global string $orderby * @global string $order * @param array $theme_a * @param array $theme_b * @return int */ public function _order_callback( $theme_a, $theme_b ) { global $orderby, $order; $a = $theme_a[ $orderby ]; $b = $theme_b[ $orderby ]; if ( $a === $b ) { return 0; } if ( 'DESC' === $order ) { return ( $a < $b ) ? 1 : -1; } else { return ( $a < $b ) ? -1 : 1; } } /** */ public function no_items() { if ( $this->has_items ) { _e( 'No themes found.' ); } else { _e( 'No themes are currently available.' ); } } /** * @return string[] Array of column titles keyed by their column name. */ public function get_columns() { $columns = array( 'cb' => '<input type="checkbox" />', 'name' => __( 'Theme' ), 'description' => __( 'Description' ), ); if ( $this->show_autoupdates ) { $columns['auto-updates'] = __( 'Automatic Updates' ); } return $columns; } /** * @return array */ protected function get_sortable_columns() { return array( 'name' => array( 'name', false, __( 'Theme' ), __( 'Table ordered by Theme Name.' ), 'asc' ), ); } /** * Gets the name of the primary column. * * @since 4.3.0 * * @return string Unalterable name of the primary column name, in this case, 'name'. */ protected function get_primary_column_name() { return 'name'; } /** * @global array $totals * @global string $status * @return array */ protected function get_views() { global $totals, $status; $status_links = array(); foreach ( $totals as $type => $count ) { if ( ! $count ) { continue; } switch ( $type ) { case 'all': /* translators: %s: Number of themes. */ $text = _nx( 'All <span class="count">(%s)</span>', 'All <span class="count">(%s)</span>', $count, 'themes' ); break; case 'enabled': /* translators: %s: Number of themes. */ $text = _nx( 'Enabled <span class="count">(%s)</span>', 'Enabled <span class="count">(%s)</span>', $count, 'themes' ); break; case 'disabled': /* translators: %s: Number of themes. */ $text = _nx( 'Disabled <span class="count">(%s)</span>', 'Disabled <span class="count">(%s)</span>', $count, 'themes' ); break; case 'upgrade': /* translators: %s: Number of themes. */ $text = _nx( 'Update Available <span class="count">(%s)</span>', 'Update Available <span class="count">(%s)</span>', $count, 'themes' ); break; case 'broken': /* translators: %s: Number of themes. */ $text = _nx( 'Broken <span class="count">(%s)</span>', 'Broken <span class="count">(%s)</span>', $count, 'themes' ); break; case 'auto-update-enabled': /* translators: %s: Number of themes. */ $text = _n( 'Auto-updates Enabled <span class="count">(%s)</span>', 'Auto-updates Enabled <span class="count">(%s)</span>', $count ); break; case 'auto-update-disabled': /* translators: %s: Number of themes. */ $text = _n( 'Auto-updates Disabled <span class="count">(%s)</span>', 'Auto-updates Disabled <span class="count">(%s)</span>', $count ); break; } if ( $this->is_site_themes ) { $url = 'site-themes.php?id=' . $this->site_id; } else { $url = 'themes.php'; } if ( 'search' !== $type ) { $status_links[ $type ] = array( 'url' => esc_url( add_query_arg( 'theme_status', $type, $url ) ), 'label' => sprintf( $text, number_format_i18n( $count ) ), 'current' => $type === $status, ); } } return $this->get_views_links( $status_links ); } /** * @global string $status * * @return array */ protected function get_bulk_actions() { global $status; $actions = array(); if ( 'enabled' !== $status ) { $actions['enable-selected'] = $this->is_site_themes ? __( 'Enable' ) : __( 'Network Enable' ); } if ( 'disabled' !== $status ) { $actions['disable-selected'] = $this->is_site_themes ? __( 'Disable' ) : __( 'Network Disable' ); } if ( ! $this->is_site_themes ) { if ( current_user_can( 'update_themes' ) ) { $actions['update-selected'] = __( 'Update' ); } if ( current_user_can( 'delete_themes' ) ) { $actions['delete-selected'] = __( 'Delete' ); } } if ( $this->show_autoupdates ) { if ( 'auto-update-enabled' !== $status ) { $actions['enable-auto-update-selected'] = __( 'Enable Auto-updates' ); } if ( 'auto-update-disabled' !== $status ) { $actions['disable-auto-update-selected'] = __( 'Disable Auto-updates' ); } } return $actions; } /** * Generates the list table rows. * * @since 3.1.0 */ public function display_rows() { foreach ( $this->items as $theme ) { $this->single_row( $theme ); } } /** * Handles the checkbox column output. * * @since 4.3.0 * @since 5.9.0 Renamed `$theme` to `$item` to match parent class for PHP 8 named parameter support. * * @param WP_Theme $item The current WP_Theme object. */ public function column_cb( $item ) { // Restores the more descriptive, specific name for use within this method. $theme = $item; $checkbox_id = 'checkbox_' . md5( $theme->get( 'Name' ) ); ?> <input type="checkbox" name="checked[]" value="<?php echo esc_attr( $theme->get_stylesheet() ); ?>" id="<?php echo $checkbox_id; ?>" /> <label for="<?php echo $checkbox_id; ?>" > <span class="screen-reader-text"> <?php printf( /* translators: Hidden accessibility text. %s: Theme name */ __( 'Select %s' ), $theme->display( 'Name' ) ); ?> </span> </label> <?php } /** * Handles the name column output. * * @since 4.3.0 * * @global string $status * @global int $page * @global string $s * * @param WP_Theme $theme The current WP_Theme object. */ public function column_name( $theme ) { global $status, $page, $s; $context = $status; if ( $this->is_site_themes ) { $url = "site-themes.php?id={$this->site_id}&"; $allowed = $theme->is_allowed( 'site', $this->site_id ); } else { $url = 'themes.php?'; $allowed = $theme->is_allowed( 'network' ); } // Pre-order. $actions = array( 'enable' => '', 'disable' => '', 'delete' => '', ); $stylesheet = $theme->get_stylesheet(); $theme_key = urlencode( $stylesheet ); if ( ! $allowed ) { if ( ! $theme->errors() ) { $url = add_query_arg( array( 'action' => 'enable', 'theme' => $theme_key, 'paged' => $page, 's' => $s, ), $url ); if ( $this->is_site_themes ) { /* translators: %s: Theme name. */ $aria_label = sprintf( __( 'Enable %s' ), $theme->display( 'Name' ) ); } else { /* translators: %s: Theme name. */ $aria_label = sprintf( __( 'Network Enable %s' ), $theme->display( 'Name' ) ); } $actions['enable'] = sprintf( '<a href="%s" class="edit" aria-label="%s">%s</a>', esc_url( wp_nonce_url( $url, 'enable-theme_' . $stylesheet ) ), esc_attr( $aria_label ), ( $this->is_site_themes ? __( 'Enable' ) : __( 'Network Enable' ) ) ); } } else { $url = add_query_arg( array( 'action' => 'disable', 'theme' => $theme_key, 'paged' => $page, 's' => $s, ), $url ); if ( $this->is_site_themes ) { /* translators: %s: Theme name. */ $aria_label = sprintf( __( 'Disable %s' ), $theme->display( 'Name' ) ); } else { /* translators: %s: Theme name. */ $aria_label = sprintf( __( 'Network Disable %s' ), $theme->display( 'Name' ) ); } $actions['disable'] = sprintf( '<a href="%s" aria-label="%s">%s</a>', esc_url( wp_nonce_url( $url, 'disable-theme_' . $stylesheet ) ), esc_attr( $aria_label ), ( $this->is_site_themes ? __( 'Disable' ) : __( 'Network Disable' ) ) ); } if ( ! $allowed && ! $this->is_site_themes && current_user_can( 'delete_themes' ) && get_option( 'stylesheet' ) !== $stylesheet && get_option( 'template' ) !== $stylesheet ) { $url = add_query_arg( array( 'action' => 'delete-selected', 'checked[]' => $theme_key, 'theme_status' => $context, 'paged' => $page, 's' => $s, ), 'themes.php' ); /* translators: %s: Theme name. */ $aria_label = sprintf( _x( 'Delete %s', 'theme' ), $theme->display( 'Name' ) ); $actions['delete'] = sprintf( '<a href="%s" class="delete" aria-label="%s">%s</a>', esc_url( wp_nonce_url( $url, 'bulk-themes' ) ), esc_attr( $aria_label ), __( 'Delete' ) ); } /** * Filters the action links displayed for each theme in the Multisite * themes list table. * * The action links displayed are determined by the theme's status, and * which Multisite themes list table is being displayed - the Network * themes list table (themes.php), which displays all installed themes, * or the Site themes list table (site-themes.php), which displays the * non-network enabled themes when editing a site in the Network admin. * * The default action links for the Network themes list table include * 'Network Enable', 'Network Disable', and 'Delete'. * * The default action links for the Site themes list table include * 'Enable', and 'Disable'. * * @since 2.8.0 * * @param string[] $actions An array of action links. * @param WP_Theme $theme The current WP_Theme object. * @param string $context Status of the theme, one of 'all', 'enabled', or 'disabled'. */ $actions = apply_filters( 'theme_action_links', array_filter( $actions ), $theme, $context ); /** * Filters the action links of a specific theme in the Multisite themes * list table. * * The dynamic portion of the hook name, `$stylesheet`, refers to the * directory name of the theme, which in most cases is synonymous * with the template name. * * @since 3.1.0 * * @param string[] $actions An array of action links. * @param WP_Theme $theme The current WP_Theme object. * @param string $context Status of the theme, one of 'all', 'enabled', or 'disabled'. */ $actions = apply_filters( "theme_action_links_{$stylesheet}", $actions, $theme, $context ); echo $this->row_actions( $actions, true ); } /** * Handles the description column output. * * @since 4.3.0 * * @global string $status * @global array $totals * * @param WP_Theme $theme The current WP_Theme object. */ public function column_description( $theme ) { global $status, $totals; if ( $theme->errors() ) { $pre = 'broken' === $status ? __( 'Broken Theme:' ) . ' ' : ''; echo '<p><strong class="error-message">' . $pre . $theme->errors()->get_error_message() . '</strong></p>'; } if ( $this->is_site_themes ) { $allowed = $theme->is_allowed( 'site', $this->site_id ); } else { $allowed = $theme->is_allowed( 'network' ); } $class = ! $allowed ? 'inactive' : 'active'; if ( ! empty( $totals['upgrade'] ) && ! empty( $theme->update ) ) { $class .= ' update'; } echo "<div class='theme-description'><p>" . $theme->display( 'Description' ) . "</p></div> <div class='$class second theme-version-author-uri'>"; $stylesheet = $theme->get_stylesheet(); $theme_meta = array(); if ( $theme->get( 'Version' ) ) { /* translators: %s: Theme version. */ $theme_meta[] = sprintf( __( 'Version %s' ), $theme->display( 'Version' ) ); } /* translators: %s: Theme author. */ $theme_meta[] = sprintf( __( 'By %s' ), $theme->display( 'Author' ) ); if ( $theme->get( 'ThemeURI' ) ) { /* translators: %s: Theme name. */ $aria_label = sprintf( __( 'Visit theme site for %s' ), $theme->display( 'Name' ) ); $theme_meta[] = sprintf( '<a href="%s" aria-label="%s">%s</a>', $theme->display( 'ThemeURI' ), esc_attr( $aria_label ), __( 'Visit Theme Site' ) ); } if ( $theme->parent() ) { $theme_meta[] = sprintf( /* translators: %s: Theme name. */ __( 'Child theme of %s' ), '<strong>' . $theme->parent()->display( 'Name' ) . '</strong>' ); } /** * Filters the array of row meta for each theme in the Multisite themes * list table. * * @since 3.1.0 * * @param string[] $theme_meta An array of the theme's metadata, including * the version, author, and theme URI. * @param string $stylesheet Directory name of the theme. * @param WP_Theme $theme WP_Theme object. * @param string $status Status of the theme. */ $theme_meta = apply_filters( 'theme_row_meta', $theme_meta, $stylesheet, $theme, $status ); echo implode( ' | ', $theme_meta ); echo '</div>'; } /** * Handles the auto-updates column output. * * @since 5.5.0 * * @global string $status * @global int $page * * @param WP_Theme $theme The current WP_Theme object. */ public function column_autoupdates( $theme ) { global $status, $page; static $auto_updates, $available_updates; if ( ! $auto_updates ) { $auto_updates = (array) get_site_option( 'auto_update_themes', array() ); } if ( ! $available_updates ) { $available_updates = get_site_transient( 'update_themes' ); } $stylesheet = $theme->get_stylesheet(); if ( isset( $theme->auto_update_forced ) ) { if ( $theme->auto_update_forced ) { // Forced on. $text = __( 'Auto-updates enabled' ); } else { $text = __( 'Auto-updates disabled' ); } $action = 'unavailable'; $time_class = ' hidden'; } elseif ( empty( $theme->update_supported ) ) { $text = ''; $action = 'unavailable'; $time_class = ' hidden'; } elseif ( in_array( $stylesheet, $auto_updates, true ) ) { $text = __( 'Disable auto-updates' ); $action = 'disable'; $time_class = ''; } else { $text = __( 'Enable auto-updates' ); $action = 'enable'; $time_class = ' hidden'; } $query_args = array( 'action' => "{$action}-auto-update", 'theme' => $stylesheet, 'paged' => $page, 'theme_status' => $status, ); $url = add_query_arg( $query_args, 'themes.php' ); if ( 'unavailable' === $action ) { $html[] = '<span class="label">' . $text . '</span>'; } else { $html[] = sprintf( '<a href="%s" class="toggle-auto-update aria-button-if-js" data-wp-action="%s">', wp_nonce_url( $url, 'updates' ), $action ); $html[] = '<span class="dashicons dashicons-update spin hidden" aria-hidden="true"></span>'; $html[] = '<span class="label">' . $text . '</span>'; $html[] = '</a>'; } if ( isset( $available_updates->response[ $stylesheet ] ) ) { $html[] = sprintf( '<div class="auto-update-time%s">%s</div>', $time_class, wp_get_auto_update_message() ); } $html = implode( '', $html ); /** * Filters the HTML of the auto-updates setting for each theme in the Themes list table. * * @since 5.5.0 * * @param string $html The HTML for theme's auto-update setting, including * toggle auto-update action link and time to next update. * @param string $stylesheet Directory name of the theme. * @param WP_Theme $theme WP_Theme object. */ echo apply_filters( 'theme_auto_update_setting_html', $html, $stylesheet, $theme ); wp_admin_notice( '', array( 'type' => 'error', 'additional_classes' => array( 'notice-alt', 'inline', 'hidden' ), ) ); } /** * Handles default column output. * * @since 4.3.0 * @since 5.9.0 Renamed `$theme` to `$item` to match parent class for PHP 8 named parameter support. * * @param WP_Theme $item The current WP_Theme object. * @param string $column_name The current column name. */ public function column_default( $item, $column_name ) { // Restores the more descriptive, specific name for use within this method. $theme = $item; $stylesheet = $theme->get_stylesheet(); /** * Fires inside each custom column of the Multisite themes list table. * * @since 3.1.0 * * @param string $column_name Name of the column. * @param string $stylesheet Directory name of the theme. * @param WP_Theme $theme Current WP_Theme object. */ do_action( 'manage_themes_custom_column', $column_name, $stylesheet, $theme ); } /** * Handles the output for a single table row. * * @since 4.3.0 * * @param WP_Theme $item The current WP_Theme object. */ public function single_row_columns( $item ) { list( $columns, $hidden, $sortable, $primary ) = $this->get_column_info(); foreach ( $columns as $column_name => $column_display_name ) { $extra_classes = ''; if ( in_array( $column_name, $hidden, true ) ) { $extra_classes .= ' hidden'; } switch ( $column_name ) { case 'cb': echo '<th scope="row" class="check-column">'; $this->column_cb( $item ); echo '</th>'; break; case 'name': $active_theme_label = ''; /* The presence of the site_id property means that this is a subsite view and a label for the active theme needs to be added */ if ( ! empty( $this->site_id ) ) { $stylesheet = get_blog_option( $this->site_id, 'stylesheet' ); $template = get_blog_option( $this->site_id, 'template' ); /* Add a label for the active template */ if ( $item->get_template() === $template ) { $active_theme_label = ' — ' . __( 'Active Theme' ); } /* In case this is a child theme, label it properly */ if ( $stylesheet !== $template && $item->get_stylesheet() === $stylesheet ) { $active_theme_label = ' — ' . __( 'Active Child Theme' ); } } echo "<td class='theme-title column-primary{$extra_classes}'><strong>" . $item->display( 'Name' ) . $active_theme_label . '</strong>'; $this->column_name( $item ); echo '</td>'; break; case 'description': echo "<td class='column-description desc{$extra_classes}'>"; $this->column_description( $item ); echo '</td>'; break; case 'auto-updates': echo "<td class='column-auto-updates{$extra_classes}'>"; $this->column_autoupdates( $item ); echo '</td>'; break; default: echo "<td class='$column_name column-$column_name{$extra_classes}'>"; $this->column_default( $item, $column_name ); echo '</td>'; break; } } } /** * @global string $status * @global array $totals * * @param WP_Theme $theme */ public function single_row( $theme ) { global $status, $totals; if ( $this->is_site_themes ) { $allowed = $theme->is_allowed( 'site', $this->site_id ); } else { $allowed = $theme->is_allowed( 'network' ); } $stylesheet = $theme->get_stylesheet(); $class = ! $allowed ? 'inactive' : 'active'; if ( ! empty( $totals['upgrade'] ) && ! empty( $theme->update ) ) { $class .= ' update'; } printf( '<tr class="%s" data-slug="%s">', esc_attr( $class ), esc_attr( $stylesheet ) ); $this->single_row_columns( $theme ); echo '</tr>'; if ( $this->is_site_themes ) { remove_action( "after_theme_row_$stylesheet", 'wp_theme_update_row' ); } /** * Fires after each row in the Multisite themes list table. * * @since 3.1.0 * * @param string $stylesheet Directory name of the theme. * @param WP_Theme $theme Current WP_Theme object. * @param string $status Status of the theme. */ do_action( 'after_theme_row', $stylesheet, $theme, $status ); /** * Fires after each specific row in the Multisite themes list table. * * The dynamic portion of the hook name, `$stylesheet`, refers to the * directory name of the theme, most often synonymous with the template * name of the theme. * * @since 3.5.0 * * @param string $stylesheet Directory name of the theme. * @param WP_Theme $theme Current WP_Theme object. * @param string $status Status of the theme. */ do_action( "after_theme_row_{$stylesheet}", $stylesheet, $theme, $status ); } } class-wp-privacy-data-export-requests-list-table.php 0000644 00000012673 14735706075 0016645 0 ustar 00 <?php /** * List Table API: WP_Privacy_Data_Export_Requests_List_Table class * * @package WordPress * @subpackage Administration * @since 4.9.6 */ if ( ! class_exists( 'WP_Privacy_Requests_Table' ) ) { require_once ABSPATH . 'wp-admin/includes/class-wp-privacy-requests-table.php'; } /** * WP_Privacy_Data_Export_Requests_Table class. * * @since 4.9.6 */ class WP_Privacy_Data_Export_Requests_List_Table extends WP_Privacy_Requests_Table { /** * Action name for the requests this table will work with. * * @since 4.9.6 * * @var string $request_type Name of action. */ protected $request_type = 'export_personal_data'; /** * Post type for the requests. * * @since 4.9.6 * * @var string $post_type The post type. */ protected $post_type = 'user_request'; /** * Actions column. * * @since 4.9.6 * * @param WP_User_Request $item Item being shown. * @return string Email column markup. */ public function column_email( $item ) { /** This filter is documented in wp-admin/includes/ajax-actions.php */ $exporters = apply_filters( 'wp_privacy_personal_data_exporters', array() ); $exporters_count = count( $exporters ); $status = $item->status; $request_id = $item->ID; $nonce = wp_create_nonce( 'wp-privacy-export-personal-data-' . $request_id ); $download_data_markup = '<span class="export-personal-data" ' . 'data-exporters-count="' . esc_attr( $exporters_count ) . '" ' . 'data-request-id="' . esc_attr( $request_id ) . '" ' . 'data-nonce="' . esc_attr( $nonce ) . '">'; $download_data_markup .= '<span class="export-personal-data-idle"><button type="button" class="button-link export-personal-data-handle">' . __( 'Download personal data' ) . '</button></span>' . '<span class="export-personal-data-processing hidden">' . __( 'Downloading data...' ) . ' <span class="export-progress"></span></span>' . '<span class="export-personal-data-success hidden"><button type="button" class="button-link export-personal-data-handle">' . __( 'Download personal data again' ) . '</button></span>' . '<span class="export-personal-data-failed hidden">' . __( 'Download failed.' ) . ' <button type="button" class="button-link export-personal-data-handle">' . __( 'Retry' ) . '</button></span>'; $download_data_markup .= '</span>'; $row_actions['download-data'] = $download_data_markup; if ( 'request-completed' !== $status ) { $complete_request_markup = '<span>'; $complete_request_markup .= sprintf( '<a href="%s" class="complete-request" aria-label="%s">%s</a>', esc_url( wp_nonce_url( add_query_arg( array( 'action' => 'complete', 'request_id' => array( $request_id ), ), admin_url( 'export-personal-data.php' ) ), 'bulk-privacy_requests' ) ), esc_attr( sprintf( /* translators: %s: Request email. */ __( 'Mark export request for “%s” as completed.' ), $item->email ) ), __( 'Complete request' ) ); $complete_request_markup .= '</span>'; } if ( ! empty( $complete_request_markup ) ) { $row_actions['complete-request'] = $complete_request_markup; } return sprintf( '<a href="%1$s">%2$s</a> %3$s', esc_url( 'mailto:' . $item->email ), $item->email, $this->row_actions( $row_actions ) ); } /** * Displays the next steps column. * * @since 4.9.6 * * @param WP_User_Request $item Item being shown. */ public function column_next_steps( $item ) { $status = $item->status; switch ( $status ) { case 'request-pending': esc_html_e( 'Waiting for confirmation' ); break; case 'request-confirmed': /** This filter is documented in wp-admin/includes/ajax-actions.php */ $exporters = apply_filters( 'wp_privacy_personal_data_exporters', array() ); $exporters_count = count( $exporters ); $request_id = $item->ID; $nonce = wp_create_nonce( 'wp-privacy-export-personal-data-' . $request_id ); echo '<div class="export-personal-data" ' . 'data-send-as-email="1" ' . 'data-exporters-count="' . esc_attr( $exporters_count ) . '" ' . 'data-request-id="' . esc_attr( $request_id ) . '" ' . 'data-nonce="' . esc_attr( $nonce ) . '">'; ?> <span class="export-personal-data-idle"><button type="button" class="button-link export-personal-data-handle"><?php _e( 'Send export link' ); ?></button></span> <span class="export-personal-data-processing hidden"><?php _e( 'Sending email...' ); ?> <span class="export-progress"></span></span> <span class="export-personal-data-success success-message hidden"><?php _e( 'Email sent.' ); ?></span> <span class="export-personal-data-failed hidden"><?php _e( 'Email could not be sent.' ); ?> <button type="button" class="button-link export-personal-data-handle"><?php _e( 'Retry' ); ?></button></span> <?php echo '</div>'; break; case 'request-failed': echo '<button type="submit" class="button-link" name="privacy_action_email_retry[' . $item->ID . ']" id="privacy_action_email_retry[' . $item->ID . ']">' . __( 'Retry' ) . '</button>'; break; case 'request-completed': echo '<a href="' . esc_url( wp_nonce_url( add_query_arg( array( 'action' => 'delete', 'request_id' => array( $item->ID ), ), admin_url( 'export-personal-data.php' ) ), 'bulk-privacy_requests' ) ) . '">' . esc_html__( 'Remove request' ) . '</a>'; break; } } } class-core-upgrader.php 0000644 00000035527 14735706075 0011151 0 ustar 00 <?php /** * Upgrade API: Core_Upgrader class * * @package WordPress * @subpackage Upgrader * @since 4.6.0 */ /** * Core class used for updating core. * * It allows for WordPress to upgrade itself in combination with * the wp-admin/includes/update-core.php file. * * Note: Newly introduced functions and methods cannot be used here. * All functions must be present in the previous version being upgraded from * as this file is used there too. * * @since 2.8.0 * @since 4.6.0 Moved to its own file from wp-admin/includes/class-wp-upgrader.php. * * @see WP_Upgrader */ class Core_Upgrader extends WP_Upgrader { /** * Initializes the upgrade strings. * * @since 2.8.0 */ public function upgrade_strings() { $this->strings['up_to_date'] = __( 'WordPress is at the latest version.' ); $this->strings['locked'] = __( 'Another update is currently in progress.' ); $this->strings['no_package'] = __( 'Update package not available.' ); /* translators: %s: Package URL. */ $this->strings['downloading_package'] = sprintf( __( 'Downloading update from %s…' ), '<span class="code pre">%s</span>' ); $this->strings['unpack_package'] = __( 'Unpacking the update…' ); $this->strings['copy_failed'] = __( 'Could not copy files.' ); $this->strings['copy_failed_space'] = __( 'Could not copy files. You may have run out of disk space.' ); $this->strings['start_rollback'] = __( 'Attempting to restore the previous version.' ); $this->strings['rollback_was_required'] = __( 'Due to an error during updating, WordPress has been restored to your previous version.' ); } /** * Upgrades WordPress core. * * @since 2.8.0 * * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass. * @global callable $_wp_filesystem_direct_method * * @param object $current Response object for whether WordPress is current. * @param array $args { * Optional. Arguments for upgrading WordPress core. Default empty array. * * @type bool $pre_check_md5 Whether to check the file checksums before * attempting the upgrade. Default true. * @type bool $attempt_rollback Whether to attempt to rollback the chances if * there is a problem. Default false. * @type bool $do_rollback Whether to perform this "upgrade" as a rollback. * Default false. * } * @return string|false|WP_Error New WordPress version on success, false or WP_Error on failure. */ public function upgrade( $current, $args = array() ) { global $wp_filesystem; require ABSPATH . WPINC . '/version.php'; // $wp_version; $start_time = time(); $defaults = array( 'pre_check_md5' => true, 'attempt_rollback' => false, 'do_rollback' => false, 'allow_relaxed_file_ownership' => false, ); $parsed_args = wp_parse_args( $args, $defaults ); $this->init(); $this->upgrade_strings(); // Is an update available? if ( ! isset( $current->response ) || 'latest' === $current->response ) { return new WP_Error( 'up_to_date', $this->strings['up_to_date'] ); } $res = $this->fs_connect( array( ABSPATH, WP_CONTENT_DIR ), $parsed_args['allow_relaxed_file_ownership'] ); if ( ! $res || is_wp_error( $res ) ) { return $res; } $wp_dir = trailingslashit( $wp_filesystem->abspath() ); $partial = true; if ( $parsed_args['do_rollback'] ) { $partial = false; } elseif ( $parsed_args['pre_check_md5'] && ! $this->check_files() ) { $partial = false; } /* * If partial update is returned from the API, use that, unless we're doing * a reinstallation. If we cross the new_bundled version number, then use * the new_bundled zip. Don't though if the constant is set to skip bundled items. * If the API returns a no_content zip, go with it. Finally, default to the full zip. */ if ( $parsed_args['do_rollback'] && $current->packages->rollback ) { $to_download = 'rollback'; } elseif ( $current->packages->partial && 'reinstall' !== $current->response && $wp_version === $current->partial_version && $partial ) { $to_download = 'partial'; } elseif ( $current->packages->new_bundled && version_compare( $wp_version, $current->new_bundled, '<' ) && ( ! defined( 'CORE_UPGRADE_SKIP_NEW_BUNDLED' ) || ! CORE_UPGRADE_SKIP_NEW_BUNDLED ) ) { $to_download = 'new_bundled'; } elseif ( $current->packages->no_content ) { $to_download = 'no_content'; } else { $to_download = 'full'; } // Lock to prevent multiple Core Updates occurring. $lock = WP_Upgrader::create_lock( 'core_updater', 15 * MINUTE_IN_SECONDS ); if ( ! $lock ) { return new WP_Error( 'locked', $this->strings['locked'] ); } $download = $this->download_package( $current->packages->$to_download, false ); /* * Allow for signature soft-fail. * WARNING: This may be removed in the future. */ if ( is_wp_error( $download ) && $download->get_error_data( 'softfail-filename' ) ) { // Output the failure error as a normal feedback, and not as an error: /** This filter is documented in wp-admin/includes/update-core.php */ apply_filters( 'update_feedback', $download->get_error_message() ); // Report this failure back to WordPress.org for debugging purposes. wp_version_check( array( 'signature_failure_code' => $download->get_error_code(), 'signature_failure_data' => $download->get_error_data(), ) ); // Pretend this error didn't happen. $download = $download->get_error_data( 'softfail-filename' ); } if ( is_wp_error( $download ) ) { WP_Upgrader::release_lock( 'core_updater' ); return $download; } $working_dir = $this->unpack_package( $download ); if ( is_wp_error( $working_dir ) ) { WP_Upgrader::release_lock( 'core_updater' ); return $working_dir; } // Copy update-core.php from the new version into place. if ( ! $wp_filesystem->copy( $working_dir . '/wordpress/wp-admin/includes/update-core.php', $wp_dir . 'wp-admin/includes/update-core.php', true ) ) { $wp_filesystem->delete( $working_dir, true ); WP_Upgrader::release_lock( 'core_updater' ); return new WP_Error( 'copy_failed_for_update_core_file', __( 'The update cannot be installed because some files could not be copied. This is usually due to inconsistent file permissions.' ), 'wp-admin/includes/update-core.php' ); } $wp_filesystem->chmod( $wp_dir . 'wp-admin/includes/update-core.php', FS_CHMOD_FILE ); wp_opcache_invalidate( ABSPATH . 'wp-admin/includes/update-core.php' ); require_once ABSPATH . 'wp-admin/includes/update-core.php'; if ( ! function_exists( 'update_core' ) ) { WP_Upgrader::release_lock( 'core_updater' ); return new WP_Error( 'copy_failed_space', $this->strings['copy_failed_space'] ); } $result = update_core( $working_dir, $wp_dir ); // In the event of an issue, we may be able to roll back. if ( $parsed_args['attempt_rollback'] && $current->packages->rollback && ! $parsed_args['do_rollback'] ) { $try_rollback = false; if ( is_wp_error( $result ) ) { $error_code = $result->get_error_code(); /* * Not all errors are equal. These codes are critical: copy_failed__copy_dir, * mkdir_failed__copy_dir, copy_failed__copy_dir_retry, and disk_full. * do_rollback allows for update_core() to trigger a rollback if needed. */ if ( str_contains( $error_code, 'do_rollback' ) ) { $try_rollback = true; } elseif ( str_contains( $error_code, '__copy_dir' ) ) { $try_rollback = true; } elseif ( 'disk_full' === $error_code ) { $try_rollback = true; } } if ( $try_rollback ) { /** This filter is documented in wp-admin/includes/update-core.php */ apply_filters( 'update_feedback', $result ); /** This filter is documented in wp-admin/includes/update-core.php */ apply_filters( 'update_feedback', $this->strings['start_rollback'] ); $rollback_result = $this->upgrade( $current, array_merge( $parsed_args, array( 'do_rollback' => true ) ) ); $original_result = $result; $result = new WP_Error( 'rollback_was_required', $this->strings['rollback_was_required'], (object) array( 'update' => $original_result, 'rollback' => $rollback_result, ) ); } } /** This action is documented in wp-admin/includes/class-wp-upgrader.php */ do_action( 'upgrader_process_complete', $this, array( 'action' => 'update', 'type' => 'core', ) ); // Clear the current updates. delete_site_transient( 'update_core' ); if ( ! $parsed_args['do_rollback'] ) { $stats = array( 'update_type' => $current->response, 'success' => true, 'fs_method' => $wp_filesystem->method, 'fs_method_forced' => defined( 'FS_METHOD' ) || has_filter( 'filesystem_method' ), 'fs_method_direct' => ! empty( $GLOBALS['_wp_filesystem_direct_method'] ) ? $GLOBALS['_wp_filesystem_direct_method'] : '', 'time_taken' => time() - $start_time, 'reported' => $wp_version, 'attempted' => $current->version, ); if ( is_wp_error( $result ) ) { $stats['success'] = false; // Did a rollback occur? if ( ! empty( $try_rollback ) ) { $stats['error_code'] = $original_result->get_error_code(); $stats['error_data'] = $original_result->get_error_data(); // Was the rollback successful? If not, collect its error too. $stats['rollback'] = ! is_wp_error( $rollback_result ); if ( is_wp_error( $rollback_result ) ) { $stats['rollback_code'] = $rollback_result->get_error_code(); $stats['rollback_data'] = $rollback_result->get_error_data(); } } else { $stats['error_code'] = $result->get_error_code(); $stats['error_data'] = $result->get_error_data(); } } wp_version_check( $stats ); } WP_Upgrader::release_lock( 'core_updater' ); return $result; } /** * Determines if this WordPress Core version should update to an offered version or not. * * @since 3.7.0 * * @param string $offered_ver The offered version, of the format x.y.z. * @return bool True if we should update to the offered version, otherwise false. */ public static function should_update_to_version( $offered_ver ) { require ABSPATH . WPINC . '/version.php'; // $wp_version; // x.y.z $current_branch = implode( '.', array_slice( preg_split( '/[.-]/', $wp_version ), 0, 2 ) ); // x.y $new_branch = implode( '.', array_slice( preg_split( '/[.-]/', $offered_ver ), 0, 2 ) ); // x.y $current_is_development_version = (bool) strpos( $wp_version, '-' ); // Defaults: $upgrade_dev = get_site_option( 'auto_update_core_dev', 'enabled' ) === 'enabled'; $upgrade_minor = get_site_option( 'auto_update_core_minor', 'enabled' ) === 'enabled'; $upgrade_major = get_site_option( 'auto_update_core_major', 'unset' ) === 'enabled'; // WP_AUTO_UPDATE_CORE = true (all), 'beta', 'rc', 'development', 'branch-development', 'minor', false. if ( defined( 'WP_AUTO_UPDATE_CORE' ) ) { if ( false === WP_AUTO_UPDATE_CORE ) { // Defaults to turned off, unless a filter allows it. $upgrade_dev = false; $upgrade_minor = false; $upgrade_major = false; } elseif ( true === WP_AUTO_UPDATE_CORE || in_array( WP_AUTO_UPDATE_CORE, array( 'beta', 'rc', 'development', 'branch-development' ), true ) ) { // ALL updates for core. $upgrade_dev = true; $upgrade_minor = true; $upgrade_major = true; } elseif ( 'minor' === WP_AUTO_UPDATE_CORE ) { // Only minor updates for core. $upgrade_dev = false; $upgrade_minor = true; $upgrade_major = false; } } // 1: If we're already on that version, not much point in updating? if ( $offered_ver === $wp_version ) { return false; } // 2: If we're running a newer version, that's a nope. if ( version_compare( $wp_version, $offered_ver, '>' ) ) { return false; } $failure_data = get_site_option( 'auto_core_update_failed' ); if ( $failure_data ) { // If this was a critical update failure, cannot update. if ( ! empty( $failure_data['critical'] ) ) { return false; } // Don't claim we can update on update-core.php if we have a non-critical failure logged. if ( $wp_version === $failure_data['current'] && str_contains( $offered_ver, '.1.next.minor' ) ) { return false; } /* * Cannot update if we're retrying the same A to B update that caused a non-critical failure. * Some non-critical failures do allow retries, like download_failed. * 3.7.1 => 3.7.2 resulted in files_not_writable, if we are still on 3.7.1 and still trying to update to 3.7.2. */ if ( empty( $failure_data['retry'] ) && $wp_version === $failure_data['current'] && $offered_ver === $failure_data['attempted'] ) { return false; } } // 3: 3.7-alpha-25000 -> 3.7-alpha-25678 -> 3.7-beta1 -> 3.7-beta2. if ( $current_is_development_version ) { /** * Filters whether to enable automatic core updates for development versions. * * @since 3.7.0 * * @param bool $upgrade_dev Whether to enable automatic updates for * development versions. */ if ( ! apply_filters( 'allow_dev_auto_core_updates', $upgrade_dev ) ) { return false; } // Else fall through to minor + major branches below. } // 4: Minor in-branch updates (3.7.0 -> 3.7.1 -> 3.7.2 -> 3.7.4). if ( $current_branch === $new_branch ) { /** * Filters whether to enable minor automatic core updates. * * @since 3.7.0 * * @param bool $upgrade_minor Whether to enable minor automatic core updates. */ return apply_filters( 'allow_minor_auto_core_updates', $upgrade_minor ); } // 5: Major version updates (3.7.0 -> 3.8.0 -> 3.9.1). if ( version_compare( $new_branch, $current_branch, '>' ) ) { /** * Filters whether to enable major automatic core updates. * * @since 3.7.0 * * @param bool $upgrade_major Whether to enable major automatic core updates. */ return apply_filters( 'allow_major_auto_core_updates', $upgrade_major ); } // If we're not sure, we don't want it. return false; } /** * Compares the disk file checksums against the expected checksums. * * @since 3.7.0 * * @global string $wp_version The WordPress version string. * @global string $wp_local_package Locale code of the package. * * @return bool True if the checksums match, otherwise false. */ public function check_files() { global $wp_version, $wp_local_package; $checksums = get_core_checksums( $wp_version, isset( $wp_local_package ) ? $wp_local_package : 'en_US' ); if ( ! is_array( $checksums ) ) { return false; } foreach ( $checksums as $file => $checksum ) { // Skip files which get updated. if ( str_starts_with( $file, 'wp-content' ) ) { continue; } if ( ! file_exists( ABSPATH . $file ) || md5_file( ABSPATH . $file ) !== $checksum ) { return false; } } return true; } } class-bulk-theme-upgrader-skin.php 0000644 00000005144 14735706075 0013210 0 ustar 00 <?php /** * Upgrader API: Bulk_Plugin_Upgrader_Skin class * * @package WordPress * @subpackage Upgrader * @since 4.6.0 */ /** * Bulk Theme Upgrader Skin for WordPress Theme Upgrades. * * @since 3.0.0 * @since 4.6.0 Moved to its own file from wp-admin/includes/class-wp-upgrader-skins.php. * * @see Bulk_Upgrader_Skin */ class Bulk_Theme_Upgrader_Skin extends Bulk_Upgrader_Skin { /** * Theme info. * * The Theme_Upgrader::bulk_upgrade() method will fill this in * with info retrieved from the Theme_Upgrader::theme_info() method, * which in turn calls the wp_get_theme() function. * * @since 3.0.0 * @var WP_Theme|false The theme's info object, or false. */ public $theme_info = false; /** * Sets up the strings used in the update process. * * @since 3.0.0 */ public function add_strings() { parent::add_strings(); /* translators: 1: Theme name, 2: Number of the theme, 3: Total number of themes being updated. */ $this->upgrader->strings['skin_before_update_header'] = __( 'Updating Theme %1$s (%2$d/%3$d)' ); } /** * Performs an action before a bulk theme update. * * @since 3.0.0 * * @param string $title */ public function before( $title = '' ) { parent::before( $this->theme_info->display( 'Name' ) ); } /** * Performs an action following a bulk theme update. * * @since 3.0.0 * * @param string $title */ public function after( $title = '' ) { parent::after( $this->theme_info->display( 'Name' ) ); $this->decrement_update_count( 'theme' ); } /** * Displays the footer following the bulk update process. * * @since 3.0.0 */ public function bulk_footer() { parent::bulk_footer(); $update_actions = array( 'themes_page' => sprintf( '<a href="%s" target="_parent">%s</a>', self_admin_url( 'themes.php' ), __( 'Go to Themes page' ) ), 'updates_page' => sprintf( '<a href="%s" target="_parent">%s</a>', self_admin_url( 'update-core.php' ), __( 'Go to WordPress Updates page' ) ), ); if ( ! current_user_can( 'switch_themes' ) && ! current_user_can( 'edit_theme_options' ) ) { unset( $update_actions['themes_page'] ); } /** * Filters the list of action links available following bulk theme updates. * * @since 3.0.0 * * @param string[] $update_actions Array of theme action links. * @param WP_Theme $theme_info Theme object for the last-updated theme. */ $update_actions = apply_filters( 'update_bulk_theme_complete_actions', $update_actions, $this->theme_info ); if ( ! empty( $update_actions ) ) { $this->feedback( implode( ' | ', (array) $update_actions ) ); } } } class-plugin-upgrader-skin.php 0000644 00000006316 14735706075 0012453 0 ustar 00 <?php /** * Upgrader API: Plugin_Upgrader_Skin class * * @package WordPress * @subpackage Upgrader * @since 4.6.0 */ /** * Plugin Upgrader Skin for WordPress Plugin Upgrades. * * @since 2.8.0 * @since 4.6.0 Moved to its own file from wp-admin/includes/class-wp-upgrader-skins.php. * * @see WP_Upgrader_Skin */ class Plugin_Upgrader_Skin extends WP_Upgrader_Skin { /** * Holds the plugin slug in the Plugin Directory. * * @since 2.8.0 * * @var string */ public $plugin = ''; /** * Whether the plugin is active. * * @since 2.8.0 * * @var bool */ public $plugin_active = false; /** * Whether the plugin is active for the entire network. * * @since 2.8.0 * * @var bool */ public $plugin_network_active = false; /** * Constructor. * * Sets up the plugin upgrader skin. * * @since 2.8.0 * * @param array $args Optional. The plugin upgrader skin arguments to * override default options. Default empty array. */ public function __construct( $args = array() ) { $defaults = array( 'url' => '', 'plugin' => '', 'nonce' => '', 'title' => __( 'Update Plugin' ), ); $args = wp_parse_args( $args, $defaults ); $this->plugin = $args['plugin']; $this->plugin_active = is_plugin_active( $this->plugin ); $this->plugin_network_active = is_plugin_active_for_network( $this->plugin ); parent::__construct( $args ); } /** * Performs an action following a single plugin update. * * @since 2.8.0 */ public function after() { $this->plugin = $this->upgrader->plugin_info(); if ( ! empty( $this->plugin ) && ! is_wp_error( $this->result ) && $this->plugin_active ) { // Currently used only when JS is off for a single plugin update? printf( '<iframe title="%s" style="border:0;overflow:hidden" width="100%%" height="170" src="%s"></iframe>', esc_attr__( 'Update progress' ), wp_nonce_url( 'update.php?action=activate-plugin&networkwide=' . $this->plugin_network_active . '&plugin=' . urlencode( $this->plugin ), 'activate-plugin_' . $this->plugin ) ); } $this->decrement_update_count( 'plugin' ); $update_actions = array( 'activate_plugin' => sprintf( '<a href="%s" target="_parent">%s</a>', wp_nonce_url( 'plugins.php?action=activate&plugin=' . urlencode( $this->plugin ), 'activate-plugin_' . $this->plugin ), __( 'Activate Plugin' ) ), 'plugins_page' => sprintf( '<a href="%s" target="_parent">%s</a>', self_admin_url( 'plugins.php' ), __( 'Go to Plugins page' ) ), ); if ( $this->plugin_active || ! $this->result || is_wp_error( $this->result ) || ! current_user_can( 'activate_plugin', $this->plugin ) ) { unset( $update_actions['activate_plugin'] ); } /** * Filters the list of action links available following a single plugin update. * * @since 2.7.0 * * @param string[] $update_actions Array of plugin action links. * @param string $plugin Path to the plugin file relative to the plugins directory. */ $update_actions = apply_filters( 'update_plugin_complete_actions', $update_actions, $this->plugin ); if ( ! empty( $update_actions ) ) { $this->feedback( implode( ' | ', (array) $update_actions ) ); } } } class-wp-post-comments-list-table.php 0000644 00000002655 14735706075 0013700 0 ustar 00 <?php /** * List Table API: WP_Post_Comments_List_Table class * * @package WordPress * @subpackage Administration * @since 4.4.0 */ /** * Core class used to implement displaying post comments in a list table. * * @since 3.1.0 * * @see WP_Comments_List_Table */ class WP_Post_Comments_List_Table extends WP_Comments_List_Table { /** * @return array */ protected function get_column_info() { return array( array( 'author' => __( 'Author' ), 'comment' => _x( 'Comment', 'column name' ), ), array(), array(), 'comment', ); } /** * @return array */ protected function get_table_classes() { $classes = parent::get_table_classes(); $classes[] = 'wp-list-table'; $classes[] = 'comments-box'; return $classes; } /** * @param bool $output_empty */ public function display( $output_empty = false ) { $singular = $this->_args['singular']; wp_nonce_field( 'fetch-list-' . get_class( $this ), '_ajax_fetch_list_nonce' ); ?> <table class="<?php echo implode( ' ', $this->get_table_classes() ); ?>" style="display:none;"> <tbody id="the-comment-list" <?php if ( $singular ) { echo " data-wp-lists='list:$singular'"; } ?> > <?php if ( ! $output_empty ) { $this->display_rows_or_placeholder(); } ?> </tbody> </table> <?php } /** * @param bool $comment_status * @return int */ public function get_per_page( $comment_status = false ) { return 10; } } upgrade.php 0000644 00000336344 14735706075 0006737 0 ustar 00 <?php /** * WordPress Upgrade API * * Most of the functions are pluggable and can be overwritten. * * @package WordPress * @subpackage Administration */ /** Include user installation customization script. */ if ( file_exists( WP_CONTENT_DIR . '/install.php' ) ) { require WP_CONTENT_DIR . '/install.php'; } /** WordPress Administration API */ require_once ABSPATH . 'wp-admin/includes/admin.php'; /** WordPress Schema API */ require_once ABSPATH . 'wp-admin/includes/schema.php'; if ( ! function_exists( 'wp_install' ) ) : /** * Installs the site. * * Runs the required functions to set up and populate the database, * including primary admin user and initial options. * * @since 2.1.0 * * @param string $blog_title Site title. * @param string $user_name User's username. * @param string $user_email User's email. * @param bool $is_public Whether the site is public. * @param string $deprecated Optional. Not used. * @param string $user_password Optional. User's chosen password. Default empty (random password). * @param string $language Optional. Language chosen. Default empty. * @return array { * Data for the newly installed site. * * @type string $url The URL of the site. * @type int $user_id The ID of the site owner. * @type string $password The password of the site owner, if their user account didn't already exist. * @type string $password_message The explanatory message regarding the password. * } */ function wp_install( $blog_title, $user_name, $user_email, $is_public, $deprecated = '', $user_password = '', $language = '' ) { if ( ! empty( $deprecated ) ) { _deprecated_argument( __FUNCTION__, '2.6.0' ); } wp_check_mysql_version(); wp_cache_flush(); make_db_current_silent(); /* * Ensure update checks are delayed after installation. * * This prevents users being presented with a maintenance mode screen * immediately after installation. */ wp_unschedule_hook( 'wp_version_check' ); wp_unschedule_hook( 'wp_update_plugins' ); wp_unschedule_hook( 'wp_update_themes' ); wp_schedule_event( time() + HOUR_IN_SECONDS, 'twicedaily', 'wp_version_check' ); wp_schedule_event( time() + ( 1.5 * HOUR_IN_SECONDS ), 'twicedaily', 'wp_update_plugins' ); wp_schedule_event( time() + ( 2 * HOUR_IN_SECONDS ), 'twicedaily', 'wp_update_themes' ); populate_options(); populate_roles(); update_option( 'blogname', $blog_title ); update_option( 'admin_email', $user_email ); update_option( 'blog_public', $is_public ); // Freshness of site - in the future, this could get more specific about actions taken, perhaps. update_option( 'fresh_site', 1, false ); if ( $language ) { update_option( 'WPLANG', $language ); } $guessurl = wp_guess_url(); update_option( 'siteurl', $guessurl ); // If not a public site, don't ping. if ( ! $is_public ) { update_option( 'default_pingback_flag', 0 ); } /* * Create default user. If the user already exists, the user tables are * being shared among sites. Just set the role in that case. */ $user_id = username_exists( $user_name ); $user_password = trim( $user_password ); $email_password = false; $user_created = false; if ( ! $user_id && empty( $user_password ) ) { $user_password = wp_generate_password( 12, false ); $message = __( '<strong><em>Note that password</em></strong> carefully! It is a <em>random</em> password that was generated just for you.' ); $user_id = wp_create_user( $user_name, $user_password, $user_email ); update_user_meta( $user_id, 'default_password_nag', true ); $email_password = true; $user_created = true; } elseif ( ! $user_id ) { // Password has been provided. $message = '<em>' . __( 'Your chosen password.' ) . '</em>'; $user_id = wp_create_user( $user_name, $user_password, $user_email ); $user_created = true; } else { $message = __( 'User already exists. Password inherited.' ); } $user = new WP_User( $user_id ); $user->set_role( 'administrator' ); if ( $user_created ) { $user->user_url = $guessurl; wp_update_user( $user ); } wp_install_defaults( $user_id ); wp_install_maybe_enable_pretty_permalinks(); flush_rewrite_rules(); wp_new_blog_notification( $blog_title, $guessurl, $user_id, ( $email_password ? $user_password : __( 'The password you chose during installation.' ) ) ); wp_cache_flush(); /** * Fires after a site is fully installed. * * @since 3.9.0 * * @param WP_User $user The site owner. */ do_action( 'wp_install', $user ); return array( 'url' => $guessurl, 'user_id' => $user_id, 'password' => $user_password, 'password_message' => $message, ); } endif; if ( ! function_exists( 'wp_install_defaults' ) ) : /** * Creates the initial content for a newly-installed site. * * Adds the default "Uncategorized" category, the first post (with comment), * first page, and default widgets for default theme for the current version. * * @since 2.1.0 * * @global wpdb $wpdb WordPress database abstraction object. * @global WP_Rewrite $wp_rewrite WordPress rewrite component. * @global string $table_prefix The database table prefix. * * @param int $user_id User ID. */ function wp_install_defaults( $user_id ) { global $wpdb, $wp_rewrite, $table_prefix; // Default category. $cat_name = __( 'Uncategorized' ); /* translators: Default category slug. */ $cat_slug = sanitize_title( _x( 'Uncategorized', 'Default category slug' ) ); $cat_id = 1; $wpdb->insert( $wpdb->terms, array( 'term_id' => $cat_id, 'name' => $cat_name, 'slug' => $cat_slug, 'term_group' => 0, ) ); $wpdb->insert( $wpdb->term_taxonomy, array( 'term_id' => $cat_id, 'taxonomy' => 'category', 'description' => '', 'parent' => 0, 'count' => 1, ) ); $cat_tt_id = $wpdb->insert_id; // First post. $now = current_time( 'mysql' ); $now_gmt = current_time( 'mysql', 1 ); $first_post_guid = get_option( 'home' ) . '/?p=1'; if ( is_multisite() ) { $first_post = get_site_option( 'first_post' ); if ( ! $first_post ) { $first_post = "<!-- wp:paragraph -->\n<p>" . /* translators: First post content. %s: Site link. */ __( 'Welcome to %s. This is your first post. Edit or delete it, then start writing!' ) . "</p>\n<!-- /wp:paragraph -->"; } $first_post = sprintf( $first_post, sprintf( '<a href="%s">%s</a>', esc_url( network_home_url() ), get_network()->site_name ) ); // Back-compat for pre-4.4. $first_post = str_replace( 'SITE_URL', esc_url( network_home_url() ), $first_post ); $first_post = str_replace( 'SITE_NAME', get_network()->site_name, $first_post ); } else { $first_post = "<!-- wp:paragraph -->\n<p>" . /* translators: First post content. %s: Site link. */ __( 'Welcome to WordPress. This is your first post. Edit or delete it, then start writing!' ) . "</p>\n<!-- /wp:paragraph -->"; } $wpdb->insert( $wpdb->posts, array( 'post_author' => $user_id, 'post_date' => $now, 'post_date_gmt' => $now_gmt, 'post_content' => $first_post, 'post_excerpt' => '', 'post_title' => __( 'Hello world!' ), /* translators: Default post slug. */ 'post_name' => sanitize_title( _x( 'hello-world', 'Default post slug' ) ), 'post_modified' => $now, 'post_modified_gmt' => $now_gmt, 'guid' => $first_post_guid, 'comment_count' => 1, 'to_ping' => '', 'pinged' => '', 'post_content_filtered' => '', ) ); if ( is_multisite() ) { update_posts_count(); } $wpdb->insert( $wpdb->term_relationships, array( 'term_taxonomy_id' => $cat_tt_id, 'object_id' => 1, ) ); // Default comment. if ( is_multisite() ) { $first_comment_author = get_site_option( 'first_comment_author' ); $first_comment_email = get_site_option( 'first_comment_email' ); $first_comment_url = get_site_option( 'first_comment_url', network_home_url() ); $first_comment = get_site_option( 'first_comment' ); } $first_comment_author = ! empty( $first_comment_author ) ? $first_comment_author : __( 'A WordPress Commenter' ); $first_comment_email = ! empty( $first_comment_email ) ? $first_comment_email : 'wapuu@wordpress.example'; $first_comment_url = ! empty( $first_comment_url ) ? $first_comment_url : esc_url( __( 'https://wordpress.org/' ) ); $first_comment = ! empty( $first_comment ) ? $first_comment : sprintf( /* translators: %s: Gravatar URL. */ __( 'Hi, this is a comment. To get started with moderating, editing, and deleting comments, please visit the Comments screen in the dashboard. Commenter avatars come from <a href="%s">Gravatar</a>.' ), /* translators: The localized Gravatar URL. */ esc_url( __( 'https://gravatar.com/' ) ) ); $wpdb->insert( $wpdb->comments, array( 'comment_post_ID' => 1, 'comment_author' => $first_comment_author, 'comment_author_email' => $first_comment_email, 'comment_author_url' => $first_comment_url, 'comment_date' => $now, 'comment_date_gmt' => $now_gmt, 'comment_content' => $first_comment, 'comment_type' => 'comment', ) ); // First page. if ( is_multisite() ) { $first_page = get_site_option( 'first_page' ); } if ( empty( $first_page ) ) { $first_page = "<!-- wp:paragraph -->\n<p>"; /* translators: First page content. */ $first_page .= __( "This is an example page. It's different from a blog post because it will stay in one place and will show up in your site navigation (in most themes). Most people start with an About page that introduces them to potential site visitors. It might say something like this:" ); $first_page .= "</p>\n<!-- /wp:paragraph -->\n\n"; $first_page .= "<!-- wp:quote -->\n<blockquote class=\"wp-block-quote\"><p>"; /* translators: First page content. */ $first_page .= __( "Hi there! I'm a bike messenger by day, aspiring actor by night, and this is my website. I live in Los Angeles, have a great dog named Jack, and I like piña coladas. (And gettin' caught in the rain.)" ); $first_page .= "</p></blockquote>\n<!-- /wp:quote -->\n\n"; $first_page .= "<!-- wp:paragraph -->\n<p>"; /* translators: First page content. */ $first_page .= __( '...or something like this:' ); $first_page .= "</p>\n<!-- /wp:paragraph -->\n\n"; $first_page .= "<!-- wp:quote -->\n<blockquote class=\"wp-block-quote\"><p>"; /* translators: First page content. */ $first_page .= __( 'The XYZ Doohickey Company was founded in 1971, and has been providing quality doohickeys to the public ever since. Located in Gotham City, XYZ employs over 2,000 people and does all kinds of awesome things for the Gotham community.' ); $first_page .= "</p></blockquote>\n<!-- /wp:quote -->\n\n"; $first_page .= "<!-- wp:paragraph -->\n<p>"; $first_page .= sprintf( /* translators: First page content. %s: Site admin URL. */ __( 'As a new WordPress user, you should go to <a href="%s">your dashboard</a> to delete this page and create new pages for your content. Have fun!' ), admin_url() ); $first_page .= "</p>\n<!-- /wp:paragraph -->"; } $first_post_guid = get_option( 'home' ) . '/?page_id=2'; $wpdb->insert( $wpdb->posts, array( 'post_author' => $user_id, 'post_date' => $now, 'post_date_gmt' => $now_gmt, 'post_content' => $first_page, 'post_excerpt' => '', 'comment_status' => 'closed', 'post_title' => __( 'Sample Page' ), /* translators: Default page slug. */ 'post_name' => __( 'sample-page' ), 'post_modified' => $now, 'post_modified_gmt' => $now_gmt, 'guid' => $first_post_guid, 'post_type' => 'page', 'to_ping' => '', 'pinged' => '', 'post_content_filtered' => '', ) ); $wpdb->insert( $wpdb->postmeta, array( 'post_id' => 2, 'meta_key' => '_wp_page_template', 'meta_value' => 'default', ) ); // Privacy Policy page. if ( is_multisite() ) { // Disable by default unless the suggested content is provided. $privacy_policy_content = get_site_option( 'default_privacy_policy_content' ); } else { if ( ! class_exists( 'WP_Privacy_Policy_Content' ) ) { require_once ABSPATH . 'wp-admin/includes/class-wp-privacy-policy-content.php'; } $privacy_policy_content = WP_Privacy_Policy_Content::get_default_content(); } if ( ! empty( $privacy_policy_content ) ) { $privacy_policy_guid = get_option( 'home' ) . '/?page_id=3'; $wpdb->insert( $wpdb->posts, array( 'post_author' => $user_id, 'post_date' => $now, 'post_date_gmt' => $now_gmt, 'post_content' => $privacy_policy_content, 'post_excerpt' => '', 'comment_status' => 'closed', 'post_title' => __( 'Privacy Policy' ), /* translators: Privacy Policy page slug. */ 'post_name' => __( 'privacy-policy' ), 'post_modified' => $now, 'post_modified_gmt' => $now_gmt, 'guid' => $privacy_policy_guid, 'post_type' => 'page', 'post_status' => 'draft', 'to_ping' => '', 'pinged' => '', 'post_content_filtered' => '', ) ); $wpdb->insert( $wpdb->postmeta, array( 'post_id' => 3, 'meta_key' => '_wp_page_template', 'meta_value' => 'default', ) ); update_option( 'wp_page_for_privacy_policy', 3 ); } // Set up default widgets for default theme. update_option( 'widget_block', array( 2 => array( 'content' => '<!-- wp:search /-->' ), 3 => array( 'content' => '<!-- wp:group --><div class="wp-block-group"><!-- wp:heading --><h2>' . __( 'Recent Posts' ) . '</h2><!-- /wp:heading --><!-- wp:latest-posts /--></div><!-- /wp:group -->' ), 4 => array( 'content' => '<!-- wp:group --><div class="wp-block-group"><!-- wp:heading --><h2>' . __( 'Recent Comments' ) . '</h2><!-- /wp:heading --><!-- wp:latest-comments {"displayAvatar":false,"displayDate":false,"displayExcerpt":false} /--></div><!-- /wp:group -->' ), 5 => array( 'content' => '<!-- wp:group --><div class="wp-block-group"><!-- wp:heading --><h2>' . __( 'Archives' ) . '</h2><!-- /wp:heading --><!-- wp:archives /--></div><!-- /wp:group -->' ), 6 => array( 'content' => '<!-- wp:group --><div class="wp-block-group"><!-- wp:heading --><h2>' . __( 'Categories' ) . '</h2><!-- /wp:heading --><!-- wp:categories /--></div><!-- /wp:group -->' ), '_multiwidget' => 1, ) ); update_option( 'sidebars_widgets', array( 'wp_inactive_widgets' => array(), 'sidebar-1' => array( 0 => 'block-2', 1 => 'block-3', 2 => 'block-4', ), 'sidebar-2' => array( 0 => 'block-5', 1 => 'block-6', ), 'array_version' => 3, ) ); if ( ! is_multisite() ) { update_user_meta( $user_id, 'show_welcome_panel', 1 ); } elseif ( ! is_super_admin( $user_id ) && ! metadata_exists( 'user', $user_id, 'show_welcome_panel' ) ) { update_user_meta( $user_id, 'show_welcome_panel', 2 ); } if ( is_multisite() ) { // Flush rules to pick up the new page. $wp_rewrite->init(); $wp_rewrite->flush_rules(); $user = new WP_User( $user_id ); $wpdb->update( $wpdb->options, array( 'option_value' => $user->user_email ), array( 'option_name' => 'admin_email' ) ); // Remove all perms except for the login user. $wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->usermeta WHERE user_id != %d AND meta_key = %s", $user_id, $table_prefix . 'user_level' ) ); $wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->usermeta WHERE user_id != %d AND meta_key = %s", $user_id, $table_prefix . 'capabilities' ) ); /* * Delete any caps that snuck into the previously active blog. (Hardcoded to blog 1 for now.) * TODO: Get previous_blog_id. */ if ( ! is_super_admin( $user_id ) && 1 !== $user_id ) { $wpdb->delete( $wpdb->usermeta, array( 'user_id' => $user_id, 'meta_key' => $wpdb->base_prefix . '1_capabilities', ) ); } } } endif; /** * Maybe enable pretty permalinks on installation. * * If after enabling pretty permalinks don't work, fallback to query-string permalinks. * * @since 4.2.0 * * @global WP_Rewrite $wp_rewrite WordPress rewrite component. * * @return bool Whether pretty permalinks are enabled. False otherwise. */ function wp_install_maybe_enable_pretty_permalinks() { global $wp_rewrite; // Bail if a permalink structure is already enabled. if ( get_option( 'permalink_structure' ) ) { return true; } /* * The Permalink structures to attempt. * * The first is designed for mod_rewrite or nginx rewriting. * * The second is PATHINFO-based permalinks for web server configurations * without a true rewrite module enabled. */ $permalink_structures = array( '/%year%/%monthnum%/%day%/%postname%/', '/index.php/%year%/%monthnum%/%day%/%postname%/', ); foreach ( (array) $permalink_structures as $permalink_structure ) { $wp_rewrite->set_permalink_structure( $permalink_structure ); /* * Flush rules with the hard option to force refresh of the web-server's * rewrite config file (e.g. .htaccess or web.config). */ $wp_rewrite->flush_rules( true ); $test_url = ''; // Test against a real WordPress post. $first_post = get_page_by_path( sanitize_title( _x( 'hello-world', 'Default post slug' ) ), OBJECT, 'post' ); if ( $first_post ) { $test_url = get_permalink( $first_post->ID ); } /* * Send a request to the site, and check whether * the 'X-Pingback' header is returned as expected. * * Uses wp_remote_get() instead of wp_remote_head() because web servers * can block head requests. */ $response = wp_remote_get( $test_url, array( 'timeout' => 5 ) ); $x_pingback_header = wp_remote_retrieve_header( $response, 'X-Pingback' ); $pretty_permalinks = $x_pingback_header && get_bloginfo( 'pingback_url' ) === $x_pingback_header; if ( $pretty_permalinks ) { return true; } } /* * If it makes it this far, pretty permalinks failed. * Fallback to query-string permalinks. */ $wp_rewrite->set_permalink_structure( '' ); $wp_rewrite->flush_rules( true ); return false; } if ( ! function_exists( 'wp_new_blog_notification' ) ) : /** * Notifies the site admin that the installation of WordPress is complete. * * Sends an email to the new administrator that the installation is complete * and provides them with a record of their login credentials. * * @since 2.1.0 * * @param string $blog_title Site title. * @param string $blog_url Site URL. * @param int $user_id Administrator's user ID. * @param string $password Administrator's password. Note that a placeholder message is * usually passed instead of the actual password. */ function wp_new_blog_notification( $blog_title, $blog_url, $user_id, $password ) { $user = new WP_User( $user_id ); $email = $user->user_email; $name = $user->user_login; $login_url = wp_login_url(); $message = sprintf( /* translators: New site notification email. 1: New site URL, 2: User login, 3: User password or password reset link, 4: Login URL. */ __( 'Your new WordPress site has been successfully set up at: %1$s You can log in to the administrator account with the following information: Username: %2$s Password: %3$s Log in here: %4$s We hope you enjoy your new site. Thanks! --The WordPress Team https://wordpress.org/ ' ), $blog_url, $name, $password, $login_url ); $installed_email = array( 'to' => $email, 'subject' => __( 'New WordPress Site' ), 'message' => $message, 'headers' => '', ); /** * Filters the contents of the email sent to the site administrator when WordPress is installed. * * @since 5.6.0 * * @param array $installed_email { * Used to build wp_mail(). * * @type string $to The email address of the recipient. * @type string $subject The subject of the email. * @type string $message The content of the email. * @type string $headers Headers. * } * @param WP_User $user The site administrator user object. * @param string $blog_title The site title. * @param string $blog_url The site URL. * @param string $password The site administrator's password. Note that a placeholder message * is usually passed instead of the user's actual password. */ $installed_email = apply_filters( 'wp_installed_email', $installed_email, $user, $blog_title, $blog_url, $password ); wp_mail( $installed_email['to'], $installed_email['subject'], $installed_email['message'], $installed_email['headers'] ); } endif; if ( ! function_exists( 'wp_upgrade' ) ) : /** * Runs WordPress Upgrade functions. * * Upgrades the database if needed during a site update. * * @since 2.1.0 * * @global int $wp_current_db_version The old (current) database version. * @global int $wp_db_version The new database version. */ function wp_upgrade() { global $wp_current_db_version, $wp_db_version; $wp_current_db_version = (int) __get_option( 'db_version' ); // We are up to date. Nothing to do. if ( $wp_db_version === $wp_current_db_version ) { return; } if ( ! is_blog_installed() ) { return; } wp_check_mysql_version(); wp_cache_flush(); pre_schema_upgrade(); make_db_current_silent(); upgrade_all(); if ( is_multisite() && is_main_site() ) { upgrade_network(); } wp_cache_flush(); if ( is_multisite() ) { update_site_meta( get_current_blog_id(), 'db_version', $wp_db_version ); update_site_meta( get_current_blog_id(), 'db_last_updated', microtime() ); } delete_transient( 'wp_core_block_css_files' ); /** * Fires after a site is fully upgraded. * * @since 3.9.0 * * @param int $wp_db_version The new $wp_db_version. * @param int $wp_current_db_version The old (current) $wp_db_version. */ do_action( 'wp_upgrade', $wp_db_version, $wp_current_db_version ); } endif; /** * Functions to be called in installation and upgrade scripts. * * Contains conditional checks to determine which upgrade scripts to run, * based on database version and WP version being updated-to. * * @ignore * @since 1.0.1 * * @global int $wp_current_db_version The old (current) database version. * @global int $wp_db_version The new database version. */ function upgrade_all() { global $wp_current_db_version, $wp_db_version; $wp_current_db_version = (int) __get_option( 'db_version' ); // We are up to date. Nothing to do. if ( $wp_db_version === $wp_current_db_version ) { return; } // If the version is not set in the DB, try to guess the version. if ( empty( $wp_current_db_version ) ) { $wp_current_db_version = 0; // If the template option exists, we have 1.5. $template = __get_option( 'template' ); if ( ! empty( $template ) ) { $wp_current_db_version = 2541; } } if ( $wp_current_db_version < 6039 ) { upgrade_230_options_table(); } populate_options(); if ( $wp_current_db_version < 2541 ) { upgrade_100(); upgrade_101(); upgrade_110(); upgrade_130(); } if ( $wp_current_db_version < 3308 ) { upgrade_160(); } if ( $wp_current_db_version < 4772 ) { upgrade_210(); } if ( $wp_current_db_version < 4351 ) { upgrade_old_slugs(); } if ( $wp_current_db_version < 5539 ) { upgrade_230(); } if ( $wp_current_db_version < 6124 ) { upgrade_230_old_tables(); } if ( $wp_current_db_version < 7499 ) { upgrade_250(); } if ( $wp_current_db_version < 7935 ) { upgrade_252(); } if ( $wp_current_db_version < 8201 ) { upgrade_260(); } if ( $wp_current_db_version < 8989 ) { upgrade_270(); } if ( $wp_current_db_version < 10360 ) { upgrade_280(); } if ( $wp_current_db_version < 11958 ) { upgrade_290(); } if ( $wp_current_db_version < 15260 ) { upgrade_300(); } if ( $wp_current_db_version < 19389 ) { upgrade_330(); } if ( $wp_current_db_version < 20080 ) { upgrade_340(); } if ( $wp_current_db_version < 22422 ) { upgrade_350(); } if ( $wp_current_db_version < 25824 ) { upgrade_370(); } if ( $wp_current_db_version < 26148 ) { upgrade_372(); } if ( $wp_current_db_version < 26691 ) { upgrade_380(); } if ( $wp_current_db_version < 29630 ) { upgrade_400(); } if ( $wp_current_db_version < 33055 ) { upgrade_430(); } if ( $wp_current_db_version < 33056 ) { upgrade_431(); } if ( $wp_current_db_version < 35700 ) { upgrade_440(); } if ( $wp_current_db_version < 36686 ) { upgrade_450(); } if ( $wp_current_db_version < 37965 ) { upgrade_460(); } if ( $wp_current_db_version < 44719 ) { upgrade_510(); } if ( $wp_current_db_version < 45744 ) { upgrade_530(); } if ( $wp_current_db_version < 48575 ) { upgrade_550(); } if ( $wp_current_db_version < 49752 ) { upgrade_560(); } if ( $wp_current_db_version < 51917 ) { upgrade_590(); } if ( $wp_current_db_version < 53011 ) { upgrade_600(); } if ( $wp_current_db_version < 55853 ) { upgrade_630(); } if ( $wp_current_db_version < 56657 ) { upgrade_640(); } if ( $wp_current_db_version < 57155 ) { upgrade_650(); } if ( $wp_current_db_version < 58975 ) { upgrade_670(); } maybe_disable_link_manager(); maybe_disable_automattic_widgets(); update_option( 'db_version', $wp_db_version ); update_option( 'db_upgraded', true ); } /** * Execute changes made in WordPress 1.0. * * @ignore * @since 1.0.0 * * @global wpdb $wpdb WordPress database abstraction object. */ function upgrade_100() { global $wpdb; // Get the title and ID of every post, post_name to check if it already has a value. $posts = $wpdb->get_results( "SELECT ID, post_title, post_name FROM $wpdb->posts WHERE post_name = ''" ); if ( $posts ) { foreach ( $posts as $post ) { if ( '' === $post->post_name ) { $newtitle = sanitize_title( $post->post_title ); $wpdb->query( $wpdb->prepare( "UPDATE $wpdb->posts SET post_name = %s WHERE ID = %d", $newtitle, $post->ID ) ); } } } $categories = $wpdb->get_results( "SELECT cat_ID, cat_name, category_nicename FROM $wpdb->categories" ); foreach ( $categories as $category ) { if ( '' === $category->category_nicename ) { $newtitle = sanitize_title( $category->cat_name ); $wpdb->update( $wpdb->categories, array( 'category_nicename' => $newtitle ), array( 'cat_ID' => $category->cat_ID ) ); } } $sql = "UPDATE $wpdb->options SET option_value = REPLACE(option_value, 'wp-links/links-images/', 'wp-images/links/') WHERE option_name LIKE %s AND option_value LIKE %s"; $wpdb->query( $wpdb->prepare( $sql, $wpdb->esc_like( 'links_rating_image' ) . '%', $wpdb->esc_like( 'wp-links/links-images/' ) . '%' ) ); $done_ids = $wpdb->get_results( "SELECT DISTINCT post_id FROM $wpdb->post2cat" ); if ( $done_ids ) : $done_posts = array(); foreach ( $done_ids as $done_id ) : $done_posts[] = $done_id->post_id; endforeach; $catwhere = ' AND ID NOT IN (' . implode( ',', $done_posts ) . ')'; else : $catwhere = ''; endif; $allposts = $wpdb->get_results( "SELECT ID, post_category FROM $wpdb->posts WHERE post_category != '0' $catwhere" ); if ( $allposts ) : foreach ( $allposts as $post ) { // Check to see if it's already been imported. $cat = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $wpdb->post2cat WHERE post_id = %d AND category_id = %d", $post->ID, $post->post_category ) ); if ( ! $cat && 0 !== (int) $post->post_category ) { // If there's no result. $wpdb->insert( $wpdb->post2cat, array( 'post_id' => $post->ID, 'category_id' => $post->post_category, ) ); } } endif; } /** * Execute changes made in WordPress 1.0.1. * * @ignore * @since 1.0.1 * * @global wpdb $wpdb WordPress database abstraction object. */ function upgrade_101() { global $wpdb; // Clean up indices, add a few. add_clean_index( $wpdb->posts, 'post_name' ); add_clean_index( $wpdb->posts, 'post_status' ); add_clean_index( $wpdb->categories, 'category_nicename' ); add_clean_index( $wpdb->comments, 'comment_approved' ); add_clean_index( $wpdb->comments, 'comment_post_ID' ); add_clean_index( $wpdb->links, 'link_category' ); add_clean_index( $wpdb->links, 'link_visible' ); } /** * Execute changes made in WordPress 1.2. * * @ignore * @since 1.2.0 * * @global wpdb $wpdb WordPress database abstraction object. */ function upgrade_110() { global $wpdb; // Set user_nicename. $users = $wpdb->get_results( "SELECT ID, user_nickname, user_nicename FROM $wpdb->users" ); foreach ( $users as $user ) { if ( '' === $user->user_nicename ) { $newname = sanitize_title( $user->user_nickname ); $wpdb->update( $wpdb->users, array( 'user_nicename' => $newname ), array( 'ID' => $user->ID ) ); } } $users = $wpdb->get_results( "SELECT ID, user_pass from $wpdb->users" ); foreach ( $users as $row ) { if ( ! preg_match( '/^[A-Fa-f0-9]{32}$/', $row->user_pass ) ) { $wpdb->update( $wpdb->users, array( 'user_pass' => md5( $row->user_pass ) ), array( 'ID' => $row->ID ) ); } } // Get the GMT offset, we'll use that later on. $all_options = get_alloptions_110(); $time_difference = $all_options->time_difference; $server_time = time() + gmdate( 'Z' ); $weblogger_time = $server_time + $time_difference * HOUR_IN_SECONDS; $gmt_time = time(); $diff_gmt_server = ( $gmt_time - $server_time ) / HOUR_IN_SECONDS; $diff_weblogger_server = ( $weblogger_time - $server_time ) / HOUR_IN_SECONDS; $diff_gmt_weblogger = $diff_gmt_server - $diff_weblogger_server; $gmt_offset = -$diff_gmt_weblogger; // Add a gmt_offset option, with value $gmt_offset. add_option( 'gmt_offset', $gmt_offset ); /* * Check if we already set the GMT fields. If we did, then * MAX(post_date_gmt) can't be '0000-00-00 00:00:00'. * <michel_v> I just slapped myself silly for not thinking about it earlier. */ $got_gmt_fields = ( '0000-00-00 00:00:00' !== $wpdb->get_var( "SELECT MAX(post_date_gmt) FROM $wpdb->posts" ) ); if ( ! $got_gmt_fields ) { // Add or subtract time to all dates, to get GMT dates. $add_hours = (int) $diff_gmt_weblogger; $add_minutes = (int) ( 60 * ( $diff_gmt_weblogger - $add_hours ) ); $wpdb->query( "UPDATE $wpdb->posts SET post_date_gmt = DATE_ADD(post_date, INTERVAL '$add_hours:$add_minutes' HOUR_MINUTE)" ); $wpdb->query( "UPDATE $wpdb->posts SET post_modified = post_date" ); $wpdb->query( "UPDATE $wpdb->posts SET post_modified_gmt = DATE_ADD(post_modified, INTERVAL '$add_hours:$add_minutes' HOUR_MINUTE) WHERE post_modified != '0000-00-00 00:00:00'" ); $wpdb->query( "UPDATE $wpdb->comments SET comment_date_gmt = DATE_ADD(comment_date, INTERVAL '$add_hours:$add_minutes' HOUR_MINUTE)" ); $wpdb->query( "UPDATE $wpdb->users SET user_registered = DATE_ADD(user_registered, INTERVAL '$add_hours:$add_minutes' HOUR_MINUTE)" ); } } /** * Execute changes made in WordPress 1.5. * * @ignore * @since 1.5.0 * * @global wpdb $wpdb WordPress database abstraction object. */ function upgrade_130() { global $wpdb; // Remove extraneous backslashes. $posts = $wpdb->get_results( "SELECT ID, post_title, post_content, post_excerpt, guid, post_date, post_name, post_status, post_author FROM $wpdb->posts" ); if ( $posts ) { foreach ( $posts as $post ) { $post_content = addslashes( deslash( $post->post_content ) ); $post_title = addslashes( deslash( $post->post_title ) ); $post_excerpt = addslashes( deslash( $post->post_excerpt ) ); if ( empty( $post->guid ) ) { $guid = get_permalink( $post->ID ); } else { $guid = $post->guid; } $wpdb->update( $wpdb->posts, compact( 'post_title', 'post_content', 'post_excerpt', 'guid' ), array( 'ID' => $post->ID ) ); } } // Remove extraneous backslashes. $comments = $wpdb->get_results( "SELECT comment_ID, comment_author, comment_content FROM $wpdb->comments" ); if ( $comments ) { foreach ( $comments as $comment ) { $comment_content = deslash( $comment->comment_content ); $comment_author = deslash( $comment->comment_author ); $wpdb->update( $wpdb->comments, compact( 'comment_content', 'comment_author' ), array( 'comment_ID' => $comment->comment_ID ) ); } } // Remove extraneous backslashes. $links = $wpdb->get_results( "SELECT link_id, link_name, link_description FROM $wpdb->links" ); if ( $links ) { foreach ( $links as $link ) { $link_name = deslash( $link->link_name ); $link_description = deslash( $link->link_description ); $wpdb->update( $wpdb->links, compact( 'link_name', 'link_description' ), array( 'link_id' => $link->link_id ) ); } } $active_plugins = __get_option( 'active_plugins' ); /* * If plugins are not stored in an array, they're stored in the old * newline separated format. Convert to new format. */ if ( ! is_array( $active_plugins ) ) { $active_plugins = explode( "\n", trim( $active_plugins ) ); update_option( 'active_plugins', $active_plugins ); } // Obsolete tables. $wpdb->query( 'DROP TABLE IF EXISTS ' . $wpdb->prefix . 'optionvalues' ); $wpdb->query( 'DROP TABLE IF EXISTS ' . $wpdb->prefix . 'optiontypes' ); $wpdb->query( 'DROP TABLE IF EXISTS ' . $wpdb->prefix . 'optiongroups' ); $wpdb->query( 'DROP TABLE IF EXISTS ' . $wpdb->prefix . 'optiongroup_options' ); // Update comments table to use comment_type. $wpdb->query( "UPDATE $wpdb->comments SET comment_type='trackback', comment_content = REPLACE(comment_content, '<trackback />', '') WHERE comment_content LIKE '<trackback />%'" ); $wpdb->query( "UPDATE $wpdb->comments SET comment_type='pingback', comment_content = REPLACE(comment_content, '<pingback />', '') WHERE comment_content LIKE '<pingback />%'" ); // Some versions have multiple duplicate option_name rows with the same values. $options = $wpdb->get_results( "SELECT option_name, COUNT(option_name) AS dupes FROM `$wpdb->options` GROUP BY option_name" ); foreach ( $options as $option ) { if ( $option->dupes > 1 ) { // Could this be done in the query? $limit = $option->dupes - 1; $dupe_ids = $wpdb->get_col( $wpdb->prepare( "SELECT option_id FROM $wpdb->options WHERE option_name = %s LIMIT %d", $option->option_name, $limit ) ); if ( $dupe_ids ) { $dupe_ids = implode( ',', $dupe_ids ); $wpdb->query( "DELETE FROM $wpdb->options WHERE option_id IN ($dupe_ids)" ); } } } make_site_theme(); } /** * Execute changes made in WordPress 2.0. * * @ignore * @since 2.0.0 * * @global wpdb $wpdb WordPress database abstraction object. * @global int $wp_current_db_version The old (current) database version. */ function upgrade_160() { global $wpdb, $wp_current_db_version; populate_roles_160(); $users = $wpdb->get_results( "SELECT * FROM $wpdb->users" ); foreach ( $users as $user ) : if ( ! empty( $user->user_firstname ) ) { update_user_meta( $user->ID, 'first_name', wp_slash( $user->user_firstname ) ); } if ( ! empty( $user->user_lastname ) ) { update_user_meta( $user->ID, 'last_name', wp_slash( $user->user_lastname ) ); } if ( ! empty( $user->user_nickname ) ) { update_user_meta( $user->ID, 'nickname', wp_slash( $user->user_nickname ) ); } if ( ! empty( $user->user_level ) ) { update_user_meta( $user->ID, $wpdb->prefix . 'user_level', $user->user_level ); } if ( ! empty( $user->user_icq ) ) { update_user_meta( $user->ID, 'icq', wp_slash( $user->user_icq ) ); } if ( ! empty( $user->user_aim ) ) { update_user_meta( $user->ID, 'aim', wp_slash( $user->user_aim ) ); } if ( ! empty( $user->user_msn ) ) { update_user_meta( $user->ID, 'msn', wp_slash( $user->user_msn ) ); } if ( ! empty( $user->user_yim ) ) { update_user_meta( $user->ID, 'yim', wp_slash( $user->user_icq ) ); } if ( ! empty( $user->user_description ) ) { update_user_meta( $user->ID, 'description', wp_slash( $user->user_description ) ); } if ( isset( $user->user_idmode ) ) : $idmode = $user->user_idmode; if ( 'nickname' === $idmode ) { $id = $user->user_nickname; } if ( 'login' === $idmode ) { $id = $user->user_login; } if ( 'firstname' === $idmode ) { $id = $user->user_firstname; } if ( 'lastname' === $idmode ) { $id = $user->user_lastname; } if ( 'namefl' === $idmode ) { $id = $user->user_firstname . ' ' . $user->user_lastname; } if ( 'namelf' === $idmode ) { $id = $user->user_lastname . ' ' . $user->user_firstname; } if ( ! $idmode ) { $id = $user->user_nickname; } $wpdb->update( $wpdb->users, array( 'display_name' => $id ), array( 'ID' => $user->ID ) ); endif; // FIXME: RESET_CAPS is temporary code to reset roles and caps if flag is set. $caps = get_user_meta( $user->ID, $wpdb->prefix . 'capabilities' ); if ( empty( $caps ) || defined( 'RESET_CAPS' ) ) { $level = get_user_meta( $user->ID, $wpdb->prefix . 'user_level', true ); $role = translate_level_to_role( $level ); update_user_meta( $user->ID, $wpdb->prefix . 'capabilities', array( $role => true ) ); } endforeach; $old_user_fields = array( 'user_firstname', 'user_lastname', 'user_icq', 'user_aim', 'user_msn', 'user_yim', 'user_idmode', 'user_ip', 'user_domain', 'user_browser', 'user_description', 'user_nickname', 'user_level' ); $wpdb->hide_errors(); foreach ( $old_user_fields as $old ) { $wpdb->query( "ALTER TABLE $wpdb->users DROP $old" ); } $wpdb->show_errors(); // Populate comment_count field of posts table. $comments = $wpdb->get_results( "SELECT comment_post_ID, COUNT(*) as c FROM $wpdb->comments WHERE comment_approved = '1' GROUP BY comment_post_ID" ); if ( is_array( $comments ) ) { foreach ( $comments as $comment ) { $wpdb->update( $wpdb->posts, array( 'comment_count' => $comment->c ), array( 'ID' => $comment->comment_post_ID ) ); } } /* * Some alpha versions used a post status of object instead of attachment * and put the mime type in post_type instead of post_mime_type. */ if ( $wp_current_db_version > 2541 && $wp_current_db_version <= 3091 ) { $objects = $wpdb->get_results( "SELECT ID, post_type FROM $wpdb->posts WHERE post_status = 'object'" ); foreach ( $objects as $object ) { $wpdb->update( $wpdb->posts, array( 'post_status' => 'attachment', 'post_mime_type' => $object->post_type, 'post_type' => '', ), array( 'ID' => $object->ID ) ); $meta = get_post_meta( $object->ID, 'imagedata', true ); if ( ! empty( $meta['file'] ) ) { update_attached_file( $object->ID, $meta['file'] ); } } } } /** * Execute changes made in WordPress 2.1. * * @ignore * @since 2.1.0 * * @global int $wp_current_db_version The old (current) database version. * @global wpdb $wpdb WordPress database abstraction object. */ function upgrade_210() { global $wp_current_db_version, $wpdb; if ( $wp_current_db_version < 3506 ) { // Update status and type. $posts = $wpdb->get_results( "SELECT ID, post_status FROM $wpdb->posts" ); if ( ! empty( $posts ) ) { foreach ( $posts as $post ) { $status = $post->post_status; $type = 'post'; if ( 'static' === $status ) { $status = 'publish'; $type = 'page'; } elseif ( 'attachment' === $status ) { $status = 'inherit'; $type = 'attachment'; } $wpdb->query( $wpdb->prepare( "UPDATE $wpdb->posts SET post_status = %s, post_type = %s WHERE ID = %d", $status, $type, $post->ID ) ); } } } if ( $wp_current_db_version < 3845 ) { populate_roles_210(); } if ( $wp_current_db_version < 3531 ) { // Give future posts a post_status of future. $now = gmdate( 'Y-m-d H:i:59' ); $wpdb->query( "UPDATE $wpdb->posts SET post_status = 'future' WHERE post_status = 'publish' AND post_date_gmt > '$now'" ); $posts = $wpdb->get_results( "SELECT ID, post_date FROM $wpdb->posts WHERE post_status ='future'" ); if ( ! empty( $posts ) ) { foreach ( $posts as $post ) { wp_schedule_single_event( mysql2date( 'U', $post->post_date, false ), 'publish_future_post', array( $post->ID ) ); } } } } /** * Execute changes made in WordPress 2.3. * * @ignore * @since 2.3.0 * * @global int $wp_current_db_version The old (current) database version. * @global wpdb $wpdb WordPress database abstraction object. */ function upgrade_230() { global $wp_current_db_version, $wpdb; if ( $wp_current_db_version < 5200 ) { populate_roles_230(); } // Convert categories to terms. $tt_ids = array(); $have_tags = false; $categories = $wpdb->get_results( "SELECT * FROM $wpdb->categories ORDER BY cat_ID" ); foreach ( $categories as $category ) { $term_id = (int) $category->cat_ID; $name = $category->cat_name; $description = $category->category_description; $slug = $category->category_nicename; $parent = $category->category_parent; $term_group = 0; // Associate terms with the same slug in a term group and make slugs unique. $exists = $wpdb->get_results( $wpdb->prepare( "SELECT term_id, term_group FROM $wpdb->terms WHERE slug = %s", $slug ) ); if ( $exists ) { $term_group = $exists[0]->term_group; $id = $exists[0]->term_id; $num = 2; do { $alt_slug = $slug . "-$num"; ++$num; $slug_check = $wpdb->get_var( $wpdb->prepare( "SELECT slug FROM $wpdb->terms WHERE slug = %s", $alt_slug ) ); } while ( $slug_check ); $slug = $alt_slug; if ( empty( $term_group ) ) { $term_group = $wpdb->get_var( "SELECT MAX(term_group) FROM $wpdb->terms GROUP BY term_group" ) + 1; $wpdb->query( $wpdb->prepare( "UPDATE $wpdb->terms SET term_group = %d WHERE term_id = %d", $term_group, $id ) ); } } $wpdb->query( $wpdb->prepare( "INSERT INTO $wpdb->terms (term_id, name, slug, term_group) VALUES (%d, %s, %s, %d)", $term_id, $name, $slug, $term_group ) ); $count = 0; if ( ! empty( $category->category_count ) ) { $count = (int) $category->category_count; $taxonomy = 'category'; $wpdb->query( $wpdb->prepare( "INSERT INTO $wpdb->term_taxonomy (term_id, taxonomy, description, parent, count) VALUES ( %d, %s, %s, %d, %d)", $term_id, $taxonomy, $description, $parent, $count ) ); $tt_ids[ $term_id ][ $taxonomy ] = (int) $wpdb->insert_id; } if ( ! empty( $category->link_count ) ) { $count = (int) $category->link_count; $taxonomy = 'link_category'; $wpdb->query( $wpdb->prepare( "INSERT INTO $wpdb->term_taxonomy (term_id, taxonomy, description, parent, count) VALUES ( %d, %s, %s, %d, %d)", $term_id, $taxonomy, $description, $parent, $count ) ); $tt_ids[ $term_id ][ $taxonomy ] = (int) $wpdb->insert_id; } if ( ! empty( $category->tag_count ) ) { $have_tags = true; $count = (int) $category->tag_count; $taxonomy = 'post_tag'; $wpdb->insert( $wpdb->term_taxonomy, compact( 'term_id', 'taxonomy', 'description', 'parent', 'count' ) ); $tt_ids[ $term_id ][ $taxonomy ] = (int) $wpdb->insert_id; } if ( empty( $count ) ) { $count = 0; $taxonomy = 'category'; $wpdb->insert( $wpdb->term_taxonomy, compact( 'term_id', 'taxonomy', 'description', 'parent', 'count' ) ); $tt_ids[ $term_id ][ $taxonomy ] = (int) $wpdb->insert_id; } } $select = 'post_id, category_id'; if ( $have_tags ) { $select .= ', rel_type'; } $posts = $wpdb->get_results( "SELECT $select FROM $wpdb->post2cat GROUP BY post_id, category_id" ); foreach ( $posts as $post ) { $post_id = (int) $post->post_id; $term_id = (int) $post->category_id; $taxonomy = 'category'; if ( ! empty( $post->rel_type ) && 'tag' === $post->rel_type ) { $taxonomy = 'tag'; } $tt_id = $tt_ids[ $term_id ][ $taxonomy ]; if ( empty( $tt_id ) ) { continue; } $wpdb->insert( $wpdb->term_relationships, array( 'object_id' => $post_id, 'term_taxonomy_id' => $tt_id, ) ); } // < 3570 we used linkcategories. >= 3570 we used categories and link2cat. if ( $wp_current_db_version < 3570 ) { /* * Create link_category terms for link categories. Create a map of link * category IDs to link_category terms. */ $link_cat_id_map = array(); $default_link_cat = 0; $tt_ids = array(); $link_cats = $wpdb->get_results( 'SELECT cat_id, cat_name FROM ' . $wpdb->prefix . 'linkcategories' ); foreach ( $link_cats as $category ) { $cat_id = (int) $category->cat_id; $term_id = 0; $name = wp_slash( $category->cat_name ); $slug = sanitize_title( $name ); $term_group = 0; // Associate terms with the same slug in a term group and make slugs unique. $exists = $wpdb->get_results( $wpdb->prepare( "SELECT term_id, term_group FROM $wpdb->terms WHERE slug = %s", $slug ) ); if ( $exists ) { $term_group = $exists[0]->term_group; $term_id = $exists[0]->term_id; } if ( empty( $term_id ) ) { $wpdb->insert( $wpdb->terms, compact( 'name', 'slug', 'term_group' ) ); $term_id = (int) $wpdb->insert_id; } $link_cat_id_map[ $cat_id ] = $term_id; $default_link_cat = $term_id; $wpdb->insert( $wpdb->term_taxonomy, array( 'term_id' => $term_id, 'taxonomy' => 'link_category', 'description' => '', 'parent' => 0, 'count' => 0, ) ); $tt_ids[ $term_id ] = (int) $wpdb->insert_id; } // Associate links to categories. $links = $wpdb->get_results( "SELECT link_id, link_category FROM $wpdb->links" ); if ( ! empty( $links ) ) { foreach ( $links as $link ) { if ( 0 === (int) $link->link_category ) { continue; } if ( ! isset( $link_cat_id_map[ $link->link_category ] ) ) { continue; } $term_id = $link_cat_id_map[ $link->link_category ]; $tt_id = $tt_ids[ $term_id ]; if ( empty( $tt_id ) ) { continue; } $wpdb->insert( $wpdb->term_relationships, array( 'object_id' => $link->link_id, 'term_taxonomy_id' => $tt_id, ) ); } } // Set default to the last category we grabbed during the upgrade loop. update_option( 'default_link_category', $default_link_cat ); } else { $links = $wpdb->get_results( "SELECT link_id, category_id FROM $wpdb->link2cat GROUP BY link_id, category_id" ); foreach ( $links as $link ) { $link_id = (int) $link->link_id; $term_id = (int) $link->category_id; $taxonomy = 'link_category'; $tt_id = $tt_ids[ $term_id ][ $taxonomy ]; if ( empty( $tt_id ) ) { continue; } $wpdb->insert( $wpdb->term_relationships, array( 'object_id' => $link_id, 'term_taxonomy_id' => $tt_id, ) ); } } if ( $wp_current_db_version < 4772 ) { // Obsolete linkcategories table. $wpdb->query( 'DROP TABLE IF EXISTS ' . $wpdb->prefix . 'linkcategories' ); } // Recalculate all counts. $terms = $wpdb->get_results( "SELECT term_taxonomy_id, taxonomy FROM $wpdb->term_taxonomy" ); foreach ( (array) $terms as $term ) { if ( 'post_tag' === $term->taxonomy || 'category' === $term->taxonomy ) { $count = $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(*) FROM $wpdb->term_relationships, $wpdb->posts WHERE $wpdb->posts.ID = $wpdb->term_relationships.object_id AND post_status = 'publish' AND post_type = 'post' AND term_taxonomy_id = %d", $term->term_taxonomy_id ) ); } else { $count = $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(*) FROM $wpdb->term_relationships WHERE term_taxonomy_id = %d", $term->term_taxonomy_id ) ); } $wpdb->update( $wpdb->term_taxonomy, array( 'count' => $count ), array( 'term_taxonomy_id' => $term->term_taxonomy_id ) ); } } /** * Remove old options from the database. * * @ignore * @since 2.3.0 * * @global wpdb $wpdb WordPress database abstraction object. */ function upgrade_230_options_table() { global $wpdb; $old_options_fields = array( 'option_can_override', 'option_type', 'option_width', 'option_height', 'option_description', 'option_admin_level' ); $wpdb->hide_errors(); foreach ( $old_options_fields as $old ) { $wpdb->query( "ALTER TABLE $wpdb->options DROP $old" ); } $wpdb->show_errors(); } /** * Remove old categories, link2cat, and post2cat database tables. * * @ignore * @since 2.3.0 * * @global wpdb $wpdb WordPress database abstraction object. */ function upgrade_230_old_tables() { global $wpdb; $wpdb->query( 'DROP TABLE IF EXISTS ' . $wpdb->prefix . 'categories' ); $wpdb->query( 'DROP TABLE IF EXISTS ' . $wpdb->prefix . 'link2cat' ); $wpdb->query( 'DROP TABLE IF EXISTS ' . $wpdb->prefix . 'post2cat' ); } /** * Upgrade old slugs made in version 2.2. * * @ignore * @since 2.2.0 * * @global wpdb $wpdb WordPress database abstraction object. */ function upgrade_old_slugs() { // Upgrade people who were using the Redirect Old Slugs plugin. global $wpdb; $wpdb->query( "UPDATE $wpdb->postmeta SET meta_key = '_wp_old_slug' WHERE meta_key = 'old_slug'" ); } /** * Execute changes made in WordPress 2.5.0. * * @ignore * @since 2.5.0 * * @global int $wp_current_db_version The old (current) database version. */ function upgrade_250() { global $wp_current_db_version; if ( $wp_current_db_version < 6689 ) { populate_roles_250(); } } /** * Execute changes made in WordPress 2.5.2. * * @ignore * @since 2.5.2 * * @global wpdb $wpdb WordPress database abstraction object. */ function upgrade_252() { global $wpdb; $wpdb->query( "UPDATE $wpdb->users SET user_activation_key = ''" ); } /** * Execute changes made in WordPress 2.6. * * @ignore * @since 2.6.0 * * @global int $wp_current_db_version The old (current) database version. */ function upgrade_260() { global $wp_current_db_version; if ( $wp_current_db_version < 8000 ) { populate_roles_260(); } } /** * Execute changes made in WordPress 2.7. * * @ignore * @since 2.7.0 * * @global int $wp_current_db_version The old (current) database version. * @global wpdb $wpdb WordPress database abstraction object. */ function upgrade_270() { global $wp_current_db_version, $wpdb; if ( $wp_current_db_version < 8980 ) { populate_roles_270(); } // Update post_date for unpublished posts with empty timestamp. if ( $wp_current_db_version < 8921 ) { $wpdb->query( "UPDATE $wpdb->posts SET post_date = post_modified WHERE post_date = '0000-00-00 00:00:00'" ); } } /** * Execute changes made in WordPress 2.8. * * @ignore * @since 2.8.0 * * @global int $wp_current_db_version The old (current) database version. * @global wpdb $wpdb WordPress database abstraction object. */ function upgrade_280() { global $wp_current_db_version, $wpdb; if ( $wp_current_db_version < 10360 ) { populate_roles_280(); } if ( is_multisite() ) { $start = 0; while ( $rows = $wpdb->get_results( "SELECT option_name, option_value FROM $wpdb->options ORDER BY option_id LIMIT $start, 20" ) ) { foreach ( $rows as $row ) { $value = maybe_unserialize( $row->option_value ); if ( $value === $row->option_value ) { $value = stripslashes( $value ); } if ( $value !== $row->option_value ) { update_option( $row->option_name, $value ); } } $start += 20; } clean_blog_cache( get_current_blog_id() ); } } /** * Execute changes made in WordPress 2.9. * * @ignore * @since 2.9.0 * * @global int $wp_current_db_version The old (current) database version. */ function upgrade_290() { global $wp_current_db_version; if ( $wp_current_db_version < 11958 ) { /* * Previously, setting depth to 1 would redundantly disable threading, * but now 2 is the minimum depth to avoid confusion. */ if ( 1 === (int) get_option( 'thread_comments_depth' ) ) { update_option( 'thread_comments_depth', 2 ); update_option( 'thread_comments', 0 ); } } } /** * Execute changes made in WordPress 3.0. * * @ignore * @since 3.0.0 * * @global int $wp_current_db_version The old (current) database version. * @global wpdb $wpdb WordPress database abstraction object. */ function upgrade_300() { global $wp_current_db_version, $wpdb; if ( $wp_current_db_version < 15093 ) { populate_roles_300(); } if ( $wp_current_db_version < 14139 && is_multisite() && is_main_site() && ! defined( 'MULTISITE' ) && get_site_option( 'siteurl' ) === false ) { add_site_option( 'siteurl', '' ); } // 3.0 screen options key name changes. if ( wp_should_upgrade_global_tables() ) { $sql = "DELETE FROM $wpdb->usermeta WHERE meta_key LIKE %s OR meta_key LIKE %s OR meta_key LIKE %s OR meta_key LIKE %s OR meta_key LIKE %s OR meta_key LIKE %s OR meta_key = 'manageedittagscolumnshidden' OR meta_key = 'managecategoriescolumnshidden' OR meta_key = 'manageedit-tagscolumnshidden' OR meta_key = 'manageeditcolumnshidden' OR meta_key = 'categories_per_page' OR meta_key = 'edit_tags_per_page'"; $prefix = $wpdb->esc_like( $wpdb->base_prefix ); $wpdb->query( $wpdb->prepare( $sql, $prefix . '%' . $wpdb->esc_like( 'meta-box-hidden' ) . '%', $prefix . '%' . $wpdb->esc_like( 'closedpostboxes' ) . '%', $prefix . '%' . $wpdb->esc_like( 'manage-' ) . '%' . $wpdb->esc_like( '-columns-hidden' ) . '%', $prefix . '%' . $wpdb->esc_like( 'meta-box-order' ) . '%', $prefix . '%' . $wpdb->esc_like( 'metaboxorder' ) . '%', $prefix . '%' . $wpdb->esc_like( 'screen_layout' ) . '%' ) ); } } /** * Execute changes made in WordPress 3.3. * * @ignore * @since 3.3.0 * * @global int $wp_current_db_version The old (current) database version. * @global wpdb $wpdb WordPress database abstraction object. * @global array $wp_registered_widgets * @global array $sidebars_widgets */ function upgrade_330() { global $wp_current_db_version, $wpdb, $wp_registered_widgets, $sidebars_widgets; if ( $wp_current_db_version < 19061 && wp_should_upgrade_global_tables() ) { $wpdb->query( "DELETE FROM $wpdb->usermeta WHERE meta_key IN ('show_admin_bar_admin', 'plugins_last_view')" ); } if ( $wp_current_db_version >= 11548 ) { return; } $sidebars_widgets = get_option( 'sidebars_widgets', array() ); $_sidebars_widgets = array(); if ( isset( $sidebars_widgets['wp_inactive_widgets'] ) || empty( $sidebars_widgets ) ) { $sidebars_widgets['array_version'] = 3; } elseif ( ! isset( $sidebars_widgets['array_version'] ) ) { $sidebars_widgets['array_version'] = 1; } switch ( $sidebars_widgets['array_version'] ) { case 1: foreach ( (array) $sidebars_widgets as $index => $sidebar ) { if ( is_array( $sidebar ) ) { foreach ( (array) $sidebar as $i => $name ) { $id = strtolower( $name ); if ( isset( $wp_registered_widgets[ $id ] ) ) { $_sidebars_widgets[ $index ][ $i ] = $id; continue; } $id = sanitize_title( $name ); if ( isset( $wp_registered_widgets[ $id ] ) ) { $_sidebars_widgets[ $index ][ $i ] = $id; continue; } $found = false; foreach ( $wp_registered_widgets as $widget_id => $widget ) { if ( strtolower( $widget['name'] ) === strtolower( $name ) ) { $_sidebars_widgets[ $index ][ $i ] = $widget['id']; $found = true; break; } elseif ( sanitize_title( $widget['name'] ) === sanitize_title( $name ) ) { $_sidebars_widgets[ $index ][ $i ] = $widget['id']; $found = true; break; } } if ( $found ) { continue; } unset( $_sidebars_widgets[ $index ][ $i ] ); } } } $_sidebars_widgets['array_version'] = 2; $sidebars_widgets = $_sidebars_widgets; unset( $_sidebars_widgets ); // Intentional fall-through to upgrade to the next version. case 2: $sidebars_widgets = retrieve_widgets(); $sidebars_widgets['array_version'] = 3; update_option( 'sidebars_widgets', $sidebars_widgets ); } } /** * Execute changes made in WordPress 3.4. * * @ignore * @since 3.4.0 * * @global int $wp_current_db_version The old (current) database version. * @global wpdb $wpdb WordPress database abstraction object. */ function upgrade_340() { global $wp_current_db_version, $wpdb; if ( $wp_current_db_version < 19798 ) { $wpdb->hide_errors(); $wpdb->query( "ALTER TABLE $wpdb->options DROP COLUMN blog_id" ); $wpdb->show_errors(); } if ( $wp_current_db_version < 19799 ) { $wpdb->hide_errors(); $wpdb->query( "ALTER TABLE $wpdb->comments DROP INDEX comment_approved" ); $wpdb->show_errors(); } if ( $wp_current_db_version < 20022 && wp_should_upgrade_global_tables() ) { $wpdb->query( "DELETE FROM $wpdb->usermeta WHERE meta_key = 'themes_last_view'" ); } if ( $wp_current_db_version < 20080 ) { if ( 'yes' === $wpdb->get_var( "SELECT autoload FROM $wpdb->options WHERE option_name = 'uninstall_plugins'" ) ) { $uninstall_plugins = get_option( 'uninstall_plugins' ); delete_option( 'uninstall_plugins' ); add_option( 'uninstall_plugins', $uninstall_plugins, null, false ); } } } /** * Execute changes made in WordPress 3.5. * * @ignore * @since 3.5.0 * * @global int $wp_current_db_version The old (current) database version. * @global wpdb $wpdb WordPress database abstraction object. */ function upgrade_350() { global $wp_current_db_version, $wpdb; if ( $wp_current_db_version < 22006 && $wpdb->get_var( "SELECT link_id FROM $wpdb->links LIMIT 1" ) ) { update_option( 'link_manager_enabled', 1 ); // Previously set to 0 by populate_options(). } if ( $wp_current_db_version < 21811 && wp_should_upgrade_global_tables() ) { $meta_keys = array(); foreach ( array_merge( get_post_types(), get_taxonomies() ) as $name ) { if ( str_contains( $name, '-' ) ) { $meta_keys[] = 'edit_' . str_replace( '-', '_', $name ) . '_per_page'; } } if ( $meta_keys ) { $meta_keys = implode( "', '", $meta_keys ); $wpdb->query( "DELETE FROM $wpdb->usermeta WHERE meta_key IN ('$meta_keys')" ); } } if ( $wp_current_db_version < 22422 ) { $term = get_term_by( 'slug', 'post-format-standard', 'post_format' ); if ( $term ) { wp_delete_term( $term->term_id, 'post_format' ); } } } /** * Execute changes made in WordPress 3.7. * * @ignore * @since 3.7.0 * * @global int $wp_current_db_version The old (current) database version. */ function upgrade_370() { global $wp_current_db_version; if ( $wp_current_db_version < 25824 ) { wp_clear_scheduled_hook( 'wp_auto_updates_maybe_update' ); } } /** * Execute changes made in WordPress 3.7.2. * * @ignore * @since 3.7.2 * * @global int $wp_current_db_version The old (current) database version. */ function upgrade_372() { global $wp_current_db_version; if ( $wp_current_db_version < 26148 ) { wp_clear_scheduled_hook( 'wp_maybe_auto_update' ); } } /** * Execute changes made in WordPress 3.8.0. * * @ignore * @since 3.8.0 * * @global int $wp_current_db_version The old (current) database version. */ function upgrade_380() { global $wp_current_db_version; if ( $wp_current_db_version < 26691 ) { deactivate_plugins( array( 'mp6/mp6.php' ), true ); } } /** * Execute changes made in WordPress 4.0.0. * * @ignore * @since 4.0.0 * * @global int $wp_current_db_version The old (current) database version. */ function upgrade_400() { global $wp_current_db_version; if ( $wp_current_db_version < 29630 ) { if ( ! is_multisite() && false === get_option( 'WPLANG' ) ) { if ( defined( 'WPLANG' ) && ( '' !== WPLANG ) && in_array( WPLANG, get_available_languages(), true ) ) { update_option( 'WPLANG', WPLANG ); } else { update_option( 'WPLANG', '' ); } } } } /** * Execute changes made in WordPress 4.2.0. * * @ignore * @since 4.2.0 */ function upgrade_420() {} /** * Executes changes made in WordPress 4.3.0. * * @ignore * @since 4.3.0 * * @global int $wp_current_db_version The old (current) database version. * @global wpdb $wpdb WordPress database abstraction object. */ function upgrade_430() { global $wp_current_db_version, $wpdb; if ( $wp_current_db_version < 32364 ) { upgrade_430_fix_comments(); } // Shared terms are split in a separate process. if ( $wp_current_db_version < 32814 ) { update_option( 'finished_splitting_shared_terms', 0 ); wp_schedule_single_event( time() + ( 1 * MINUTE_IN_SECONDS ), 'wp_split_shared_term_batch' ); } if ( $wp_current_db_version < 33055 && 'utf8mb4' === $wpdb->charset ) { if ( is_multisite() ) { $tables = $wpdb->tables( 'blog' ); } else { $tables = $wpdb->tables( 'all' ); if ( ! wp_should_upgrade_global_tables() ) { $global_tables = $wpdb->tables( 'global' ); $tables = array_diff_assoc( $tables, $global_tables ); } } foreach ( $tables as $table ) { maybe_convert_table_to_utf8mb4( $table ); } } } /** * Executes comments changes made in WordPress 4.3.0. * * @ignore * @since 4.3.0 * * @global wpdb $wpdb WordPress database abstraction object. */ function upgrade_430_fix_comments() { global $wpdb; $content_length = $wpdb->get_col_length( $wpdb->comments, 'comment_content' ); if ( is_wp_error( $content_length ) ) { return; } if ( false === $content_length ) { $content_length = array( 'type' => 'byte', 'length' => 65535, ); } elseif ( ! is_array( $content_length ) ) { $length = (int) $content_length > 0 ? (int) $content_length : 65535; $content_length = array( 'type' => 'byte', 'length' => $length, ); } if ( 'byte' !== $content_length['type'] || 0 === $content_length['length'] ) { // Sites with malformed DB schemas are on their own. return; } $allowed_length = (int) $content_length['length'] - 10; $comments = $wpdb->get_results( "SELECT `comment_ID` FROM `{$wpdb->comments}` WHERE `comment_date_gmt` > '2015-04-26' AND LENGTH( `comment_content` ) >= {$allowed_length} AND ( `comment_content` LIKE '%<%' OR `comment_content` LIKE '%>%' )" ); foreach ( $comments as $comment ) { wp_delete_comment( $comment->comment_ID, true ); } } /** * Executes changes made in WordPress 4.3.1. * * @ignore * @since 4.3.1 */ function upgrade_431() { // Fix incorrect cron entries for term splitting. $cron_array = _get_cron_array(); if ( isset( $cron_array['wp_batch_split_terms'] ) ) { unset( $cron_array['wp_batch_split_terms'] ); _set_cron_array( $cron_array ); } } /** * Executes changes made in WordPress 4.4.0. * * @ignore * @since 4.4.0 * * @global int $wp_current_db_version The old (current) database version. * @global wpdb $wpdb WordPress database abstraction object. */ function upgrade_440() { global $wp_current_db_version, $wpdb; if ( $wp_current_db_version < 34030 ) { $wpdb->query( "ALTER TABLE {$wpdb->options} MODIFY option_name VARCHAR(191)" ); } // Remove the unused 'add_users' role. $roles = wp_roles(); foreach ( $roles->role_objects as $role ) { if ( $role->has_cap( 'add_users' ) ) { $role->remove_cap( 'add_users' ); } } } /** * Executes changes made in WordPress 4.5.0. * * @ignore * @since 4.5.0 * * @global int $wp_current_db_version The old (current) database version. * @global wpdb $wpdb WordPress database abstraction object. */ function upgrade_450() { global $wp_current_db_version, $wpdb; if ( $wp_current_db_version < 36180 ) { wp_clear_scheduled_hook( 'wp_maybe_auto_update' ); } // Remove unused email confirmation options, moved to usermeta. if ( $wp_current_db_version < 36679 && is_multisite() ) { $wpdb->query( "DELETE FROM $wpdb->options WHERE option_name REGEXP '^[0-9]+_new_email$'" ); } // Remove unused user setting for wpLink. delete_user_setting( 'wplink' ); } /** * Executes changes made in WordPress 4.6.0. * * @ignore * @since 4.6.0 * * @global int $wp_current_db_version The old (current) database version. */ function upgrade_460() { global $wp_current_db_version; // Remove unused post meta. if ( $wp_current_db_version < 37854 ) { delete_post_meta_by_key( '_post_restored_from' ); } // Remove plugins with callback as an array object/method as the uninstall hook, see #13786. if ( $wp_current_db_version < 37965 ) { $uninstall_plugins = get_option( 'uninstall_plugins', array() ); if ( ! empty( $uninstall_plugins ) ) { foreach ( $uninstall_plugins as $basename => $callback ) { if ( is_array( $callback ) && is_object( $callback[0] ) ) { unset( $uninstall_plugins[ $basename ] ); } } update_option( 'uninstall_plugins', $uninstall_plugins ); } } } /** * Executes changes made in WordPress 5.0.0. * * @ignore * @since 5.0.0 * @deprecated 5.1.0 */ function upgrade_500() { } /** * Executes changes made in WordPress 5.1.0. * * @ignore * @since 5.1.0 */ function upgrade_510() { delete_site_option( 'upgrade_500_was_gutenberg_active' ); } /** * Executes changes made in WordPress 5.3.0. * * @ignore * @since 5.3.0 */ function upgrade_530() { /* * The `admin_email_lifespan` option may have been set by an admin that just logged in, * saw the verification screen, clicked on a button there, and is now upgrading the db, * or by populate_options() that is called earlier in upgrade_all(). * In the second case `admin_email_lifespan` should be reset so the verification screen * is shown next time an admin logs in. */ if ( function_exists( 'current_user_can' ) && ! current_user_can( 'manage_options' ) ) { update_option( 'admin_email_lifespan', 0 ); } } /** * Executes changes made in WordPress 5.5.0. * * @ignore * @since 5.5.0 * * @global int $wp_current_db_version The old (current) database version. */ function upgrade_550() { global $wp_current_db_version; if ( $wp_current_db_version < 48121 ) { $comment_previously_approved = get_option( 'comment_whitelist', '' ); update_option( 'comment_previously_approved', $comment_previously_approved ); delete_option( 'comment_whitelist' ); } if ( $wp_current_db_version < 48575 ) { // Use more clear and inclusive language. $disallowed_list = get_option( 'blacklist_keys' ); /* * This option key was briefly renamed `blocklist_keys`. * Account for sites that have this key present when the original key does not exist. */ if ( false === $disallowed_list ) { $disallowed_list = get_option( 'blocklist_keys' ); } update_option( 'disallowed_keys', $disallowed_list ); delete_option( 'blacklist_keys' ); delete_option( 'blocklist_keys' ); } if ( $wp_current_db_version < 48748 ) { update_option( 'finished_updating_comment_type', 0 ); wp_schedule_single_event( time() + ( 1 * MINUTE_IN_SECONDS ), 'wp_update_comment_type_batch' ); } } /** * Executes changes made in WordPress 5.6.0. * * @ignore * @since 5.6.0 * * @global int $wp_current_db_version The old (current) database version. * @global wpdb $wpdb WordPress database abstraction object. */ function upgrade_560() { global $wp_current_db_version, $wpdb; if ( $wp_current_db_version < 49572 ) { /* * Clean up the `post_category` column removed from schema in version 2.8.0. * Its presence may conflict with `WP_Post::__get()`. */ $post_category_exists = $wpdb->get_var( "SHOW COLUMNS FROM $wpdb->posts LIKE 'post_category'" ); if ( ! is_null( $post_category_exists ) ) { $wpdb->query( "ALTER TABLE $wpdb->posts DROP COLUMN `post_category`" ); } /* * When upgrading from WP < 5.6.0 set the core major auto-updates option to `unset` by default. * This overrides the same option from populate_options() that is intended for new installs. * See https://core.trac.wordpress.org/ticket/51742. */ update_option( 'auto_update_core_major', 'unset' ); } if ( $wp_current_db_version < 49632 ) { /* * Regenerate the .htaccess file to add the `HTTP_AUTHORIZATION` rewrite rule. * See https://core.trac.wordpress.org/ticket/51723. */ save_mod_rewrite_rules(); } if ( $wp_current_db_version < 49735 ) { delete_transient( 'dirsize_cache' ); } if ( $wp_current_db_version < 49752 ) { $results = $wpdb->get_results( $wpdb->prepare( "SELECT 1 FROM {$wpdb->usermeta} WHERE meta_key = %s LIMIT 1", WP_Application_Passwords::USERMETA_KEY_APPLICATION_PASSWORDS ) ); if ( ! empty( $results ) ) { $network_id = get_main_network_id(); update_network_option( $network_id, WP_Application_Passwords::OPTION_KEY_IN_USE, 1 ); } } } /** * Executes changes made in WordPress 5.9.0. * * @ignore * @since 5.9.0 * * @global int $wp_current_db_version The old (current) database version. */ function upgrade_590() { global $wp_current_db_version; if ( $wp_current_db_version < 51917 ) { $crons = _get_cron_array(); if ( $crons && is_array( $crons ) ) { // Remove errant `false` values, see #53950, #54906. $crons = array_filter( $crons ); _set_cron_array( $crons ); } } } /** * Executes changes made in WordPress 6.0.0. * * @ignore * @since 6.0.0 * * @global int $wp_current_db_version The old (current) database version. */ function upgrade_600() { global $wp_current_db_version; if ( $wp_current_db_version < 53011 ) { wp_update_user_counts(); } } /** * Executes changes made in WordPress 6.3.0. * * @ignore * @since 6.3.0 * * @global int $wp_current_db_version The old (current) database version. */ function upgrade_630() { global $wp_current_db_version; if ( $wp_current_db_version < 55853 ) { if ( ! is_multisite() ) { // Replace non-autoload option can_compress_scripts with autoload option, see #55270 $can_compress_scripts = get_option( 'can_compress_scripts', false ); if ( false !== $can_compress_scripts ) { delete_option( 'can_compress_scripts' ); add_option( 'can_compress_scripts', $can_compress_scripts, '', true ); } } } } /** * Executes changes made in WordPress 6.4.0. * * @ignore * @since 6.4.0 * * @global int $wp_current_db_version The old (current) database version. */ function upgrade_640() { global $wp_current_db_version; if ( $wp_current_db_version < 56657 ) { // Enable attachment pages. update_option( 'wp_attachment_pages_enabled', 1 ); // Remove the wp_https_detection cron. Https status is checked directly in an async Site Health check. $scheduled = wp_get_scheduled_event( 'wp_https_detection' ); if ( $scheduled ) { wp_clear_scheduled_hook( 'wp_https_detection' ); } } } /** * Executes changes made in WordPress 6.5.0. * * @ignore * @since 6.5.0 * * @global int $wp_current_db_version The old (current) database version. * @global wpdb $wpdb WordPress database abstraction object. */ function upgrade_650() { global $wp_current_db_version, $wpdb; if ( $wp_current_db_version < 57155 ) { $stylesheet = get_stylesheet(); // Set autoload=no for all themes except the current one. $theme_mods_options = $wpdb->get_col( $wpdb->prepare( "SELECT option_name FROM $wpdb->options WHERE autoload = 'yes' AND option_name != %s AND option_name LIKE %s", "theme_mods_$stylesheet", $wpdb->esc_like( 'theme_mods_' ) . '%' ) ); $autoload = array_fill_keys( $theme_mods_options, false ); wp_set_option_autoload_values( $autoload ); } } /** * Executes changes made in WordPress 6.7.0. * * @ignore * @since 6.7.0 * * @global int $wp_current_db_version The old (current) database version. */ function upgrade_670() { global $wp_current_db_version; if ( $wp_current_db_version < 58975 ) { $options = array( 'recently_activated', '_wp_suggested_policy_text_has_changed', 'dashboard_widget_options', 'ftp_credentials', 'adminhash', 'nav_menu_options', 'wp_force_deactivated_plugins', 'delete_blog_hash', 'allowedthemes', 'recovery_keys', 'https_detection_errors', 'fresh_site', ); wp_set_options_autoload( $options, false ); } } /** * Executes network-level upgrade routines. * * @since 3.0.0 * * @global int $wp_current_db_version The old (current) database version. * @global wpdb $wpdb WordPress database abstraction object. */ function upgrade_network() { global $wp_current_db_version, $wpdb; // Always clear expired transients. delete_expired_transients( true ); // 2.8.0 if ( $wp_current_db_version < 11549 ) { $wpmu_sitewide_plugins = get_site_option( 'wpmu_sitewide_plugins' ); $active_sitewide_plugins = get_site_option( 'active_sitewide_plugins' ); if ( $wpmu_sitewide_plugins ) { if ( ! $active_sitewide_plugins ) { $sitewide_plugins = (array) $wpmu_sitewide_plugins; } else { $sitewide_plugins = array_merge( (array) $active_sitewide_plugins, (array) $wpmu_sitewide_plugins ); } update_site_option( 'active_sitewide_plugins', $sitewide_plugins ); } delete_site_option( 'wpmu_sitewide_plugins' ); delete_site_option( 'deactivated_sitewide_plugins' ); $start = 0; while ( $rows = $wpdb->get_results( "SELECT meta_key, meta_value FROM {$wpdb->sitemeta} ORDER BY meta_id LIMIT $start, 20" ) ) { foreach ( $rows as $row ) { $value = $row->meta_value; if ( ! @unserialize( $value ) ) { $value = stripslashes( $value ); } if ( $value !== $row->meta_value ) { update_site_option( $row->meta_key, $value ); } } $start += 20; } } // 3.0.0 if ( $wp_current_db_version < 13576 ) { update_site_option( 'global_terms_enabled', '1' ); } // 3.3.0 if ( $wp_current_db_version < 19390 ) { update_site_option( 'initial_db_version', $wp_current_db_version ); } if ( $wp_current_db_version < 19470 ) { if ( false === get_site_option( 'active_sitewide_plugins' ) ) { update_site_option( 'active_sitewide_plugins', array() ); } } // 3.4.0 if ( $wp_current_db_version < 20148 ) { // 'allowedthemes' keys things by stylesheet. 'allowed_themes' keyed things by name. $allowedthemes = get_site_option( 'allowedthemes' ); $allowed_themes = get_site_option( 'allowed_themes' ); if ( false === $allowedthemes && is_array( $allowed_themes ) && $allowed_themes ) { $converted = array(); $themes = wp_get_themes(); foreach ( $themes as $stylesheet => $theme_data ) { if ( isset( $allowed_themes[ $theme_data->get( 'Name' ) ] ) ) { $converted[ $stylesheet ] = true; } } update_site_option( 'allowedthemes', $converted ); delete_site_option( 'allowed_themes' ); } } // 3.5.0 if ( $wp_current_db_version < 21823 ) { update_site_option( 'ms_files_rewriting', '1' ); } // 3.5.2 if ( $wp_current_db_version < 24448 ) { $illegal_names = get_site_option( 'illegal_names' ); if ( is_array( $illegal_names ) && count( $illegal_names ) === 1 ) { $illegal_name = reset( $illegal_names ); $illegal_names = explode( ' ', $illegal_name ); update_site_option( 'illegal_names', $illegal_names ); } } // 4.2.0 if ( $wp_current_db_version < 31351 && 'utf8mb4' === $wpdb->charset ) { if ( wp_should_upgrade_global_tables() ) { $wpdb->query( "ALTER TABLE $wpdb->usermeta DROP INDEX meta_key, ADD INDEX meta_key(meta_key(191))" ); $wpdb->query( "ALTER TABLE $wpdb->site DROP INDEX domain, ADD INDEX domain(domain(140),path(51))" ); $wpdb->query( "ALTER TABLE $wpdb->sitemeta DROP INDEX meta_key, ADD INDEX meta_key(meta_key(191))" ); $wpdb->query( "ALTER TABLE $wpdb->signups DROP INDEX domain_path, ADD INDEX domain_path(domain(140),path(51))" ); $tables = $wpdb->tables( 'global' ); // sitecategories may not exist. if ( ! $wpdb->get_var( "SHOW TABLES LIKE '{$tables['sitecategories']}'" ) ) { unset( $tables['sitecategories'] ); } foreach ( $tables as $table ) { maybe_convert_table_to_utf8mb4( $table ); } } } // 4.3.0 if ( $wp_current_db_version < 33055 && 'utf8mb4' === $wpdb->charset ) { if ( wp_should_upgrade_global_tables() ) { $upgrade = false; $indexes = $wpdb->get_results( "SHOW INDEXES FROM $wpdb->signups" ); foreach ( $indexes as $index ) { if ( 'domain_path' === $index->Key_name && 'domain' === $index->Column_name && '140' !== $index->Sub_part ) { $upgrade = true; break; } } if ( $upgrade ) { $wpdb->query( "ALTER TABLE $wpdb->signups DROP INDEX domain_path, ADD INDEX domain_path(domain(140),path(51))" ); } $tables = $wpdb->tables( 'global' ); // sitecategories may not exist. if ( ! $wpdb->get_var( "SHOW TABLES LIKE '{$tables['sitecategories']}'" ) ) { unset( $tables['sitecategories'] ); } foreach ( $tables as $table ) { maybe_convert_table_to_utf8mb4( $table ); } } } // 5.1.0 if ( $wp_current_db_version < 44467 ) { $network_id = get_main_network_id(); delete_network_option( $network_id, 'site_meta_supported' ); is_site_meta_supported(); } } // // General functions we use to actually do stuff. // /** * Creates a table in the database, if it doesn't already exist. * * This method checks for an existing database table and creates a new one if it's not * already present. It doesn't rely on MySQL's "IF NOT EXISTS" statement, but chooses * to query all tables first and then run the SQL statement creating the table. * * @since 1.0.0 * * @global wpdb $wpdb WordPress database abstraction object. * * @param string $table_name Database table name. * @param string $create_ddl SQL statement to create table. * @return bool True on success or if the table already exists. False on failure. */ function maybe_create_table( $table_name, $create_ddl ) { global $wpdb; $query = $wpdb->prepare( 'SHOW TABLES LIKE %s', $wpdb->esc_like( $table_name ) ); if ( $wpdb->get_var( $query ) === $table_name ) { return true; } // Didn't find it, so try to create it. $wpdb->query( $create_ddl ); // We cannot directly tell that whether this succeeded! if ( $wpdb->get_var( $query ) === $table_name ) { return true; } return false; } /** * Drops a specified index from a table. * * @since 1.0.1 * * @global wpdb $wpdb WordPress database abstraction object. * * @param string $table Database table name. * @param string $index Index name to drop. * @return true True, when finished. */ function drop_index( $table, $index ) { global $wpdb; $wpdb->hide_errors(); $wpdb->query( "ALTER TABLE `$table` DROP INDEX `$index`" ); // Now we need to take out all the extra ones we may have created. for ( $i = 0; $i < 25; $i++ ) { $wpdb->query( "ALTER TABLE `$table` DROP INDEX `{$index}_$i`" ); } $wpdb->show_errors(); return true; } /** * Adds an index to a specified table. * * @since 1.0.1 * * @global wpdb $wpdb WordPress database abstraction object. * * @param string $table Database table name. * @param string $index Database table index column. * @return true True, when done with execution. */ function add_clean_index( $table, $index ) { global $wpdb; drop_index( $table, $index ); $wpdb->query( "ALTER TABLE `$table` ADD INDEX ( `$index` )" ); return true; } /** * Adds column to a database table, if it doesn't already exist. * * @since 1.3.0 * * @global wpdb $wpdb WordPress database abstraction object. * * @param string $table_name Database table name. * @param string $column_name Table column name. * @param string $create_ddl SQL statement to add column. * @return bool True on success or if the column already exists. False on failure. */ function maybe_add_column( $table_name, $column_name, $create_ddl ) { global $wpdb; foreach ( $wpdb->get_col( "DESC $table_name", 0 ) as $column ) { if ( $column === $column_name ) { return true; } } // Didn't find it, so try to create it. $wpdb->query( $create_ddl ); // We cannot directly tell that whether this succeeded! foreach ( $wpdb->get_col( "DESC $table_name", 0 ) as $column ) { if ( $column === $column_name ) { return true; } } return false; } /** * If a table only contains utf8 or utf8mb4 columns, convert it to utf8mb4. * * @since 4.2.0 * * @global wpdb $wpdb WordPress database abstraction object. * * @param string $table The table to convert. * @return bool True if the table was converted, false if it wasn't. */ function maybe_convert_table_to_utf8mb4( $table ) { global $wpdb; $results = $wpdb->get_results( "SHOW FULL COLUMNS FROM `$table`" ); if ( ! $results ) { return false; } foreach ( $results as $column ) { if ( $column->Collation ) { list( $charset ) = explode( '_', $column->Collation ); $charset = strtolower( $charset ); if ( 'utf8' !== $charset && 'utf8mb4' !== $charset ) { // Don't upgrade tables that have non-utf8 columns. return false; } } } $table_details = $wpdb->get_row( "SHOW TABLE STATUS LIKE '$table'" ); if ( ! $table_details ) { return false; } list( $table_charset ) = explode( '_', $table_details->Collation ); $table_charset = strtolower( $table_charset ); if ( 'utf8mb4' === $table_charset ) { return true; } return $wpdb->query( "ALTER TABLE $table CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci" ); } /** * Retrieve all options as it was for 1.2. * * @since 1.2.0 * * @global wpdb $wpdb WordPress database abstraction object. * * @return stdClass List of options. */ function get_alloptions_110() { global $wpdb; $all_options = new stdClass(); $options = $wpdb->get_results( "SELECT option_name, option_value FROM $wpdb->options" ); if ( $options ) { foreach ( $options as $option ) { if ( 'siteurl' === $option->option_name || 'home' === $option->option_name || 'category_base' === $option->option_name ) { $option->option_value = untrailingslashit( $option->option_value ); } $all_options->{$option->option_name} = stripslashes( $option->option_value ); } } return $all_options; } /** * Utility version of get_option that is private to installation/upgrade. * * @ignore * @since 1.5.1 * @access private * * @global wpdb $wpdb WordPress database abstraction object. * * @param string $setting Option name. * @return mixed */ function __get_option( $setting ) { // phpcs:ignore WordPress.NamingConventions.ValidFunctionName.FunctionDoubleUnderscore,PHPCompatibility.FunctionNameRestrictions.ReservedFunctionNames.FunctionDoubleUnderscore global $wpdb; if ( 'home' === $setting && defined( 'WP_HOME' ) ) { return untrailingslashit( WP_HOME ); } if ( 'siteurl' === $setting && defined( 'WP_SITEURL' ) ) { return untrailingslashit( WP_SITEURL ); } $option = $wpdb->get_var( $wpdb->prepare( "SELECT option_value FROM $wpdb->options WHERE option_name = %s", $setting ) ); if ( 'home' === $setting && ! $option ) { return __get_option( 'siteurl' ); } if ( in_array( $setting, array( 'siteurl', 'home', 'category_base', 'tag_base' ), true ) ) { $option = untrailingslashit( $option ); } return maybe_unserialize( $option ); } /** * Filters for content to remove unnecessary slashes. * * @since 1.5.0 * * @param string $content The content to modify. * @return string The de-slashed content. */ function deslash( $content ) { // Note: \\\ inside a regex denotes a single backslash. /* * Replace one or more backslashes followed by a single quote with * a single quote. */ $content = preg_replace( "/\\\+'/", "'", $content ); /* * Replace one or more backslashes followed by a double quote with * a double quote. */ $content = preg_replace( '/\\\+"/', '"', $content ); // Replace one or more backslashes with one backslash. $content = preg_replace( '/\\\+/', '\\', $content ); return $content; } /** * Modifies the database based on specified SQL statements. * * Useful for creating new tables and updating existing tables to a new structure. * * @since 1.5.0 * @since 6.1.0 Ignores display width for integer data types on MySQL 8.0.17 or later, * to match MySQL behavior. Note: This does not affect MariaDB. * * @global wpdb $wpdb WordPress database abstraction object. * * @param string[]|string $queries Optional. The query to run. Can be multiple queries * in an array, or a string of queries separated by * semicolons. Default empty string. * @param bool $execute Optional. Whether or not to execute the query right away. * Default true. * @return array Strings containing the results of the various update queries. */ function dbDelta( $queries = '', $execute = true ) { // phpcs:ignore WordPress.NamingConventions.ValidFunctionName.FunctionNameInvalid global $wpdb; if ( in_array( $queries, array( '', 'all', 'blog', 'global', 'ms_global' ), true ) ) { $queries = wp_get_db_schema( $queries ); } // Separate individual queries into an array. if ( ! is_array( $queries ) ) { $queries = explode( ';', $queries ); $queries = array_filter( $queries ); } /** * Filters the dbDelta SQL queries. * * @since 3.3.0 * * @param string[] $queries An array of dbDelta SQL queries. */ $queries = apply_filters( 'dbdelta_queries', $queries ); $cqueries = array(); // Creation queries. $iqueries = array(); // Insertion queries. $for_update = array(); // Create a tablename index for an array ($cqueries) of recognized query types. foreach ( $queries as $qry ) { if ( preg_match( '|CREATE TABLE ([^ ]*)|', $qry, $matches ) ) { $cqueries[ trim( $matches[1], '`' ) ] = $qry; $for_update[ $matches[1] ] = 'Created table ' . $matches[1]; continue; } if ( preg_match( '|CREATE DATABASE ([^ ]*)|', $qry, $matches ) ) { array_unshift( $cqueries, $qry ); continue; } if ( preg_match( '|INSERT INTO ([^ ]*)|', $qry, $matches ) ) { $iqueries[] = $qry; continue; } if ( preg_match( '|UPDATE ([^ ]*)|', $qry, $matches ) ) { $iqueries[] = $qry; continue; } } /** * Filters the dbDelta SQL queries for creating tables and/or databases. * * Queries filterable via this hook contain "CREATE TABLE" or "CREATE DATABASE". * * @since 3.3.0 * * @param string[] $cqueries An array of dbDelta create SQL queries. */ $cqueries = apply_filters( 'dbdelta_create_queries', $cqueries ); /** * Filters the dbDelta SQL queries for inserting or updating. * * Queries filterable via this hook contain "INSERT INTO" or "UPDATE". * * @since 3.3.0 * * @param string[] $iqueries An array of dbDelta insert or update SQL queries. */ $iqueries = apply_filters( 'dbdelta_insert_queries', $iqueries ); $text_fields = array( 'tinytext', 'text', 'mediumtext', 'longtext' ); $blob_fields = array( 'tinyblob', 'blob', 'mediumblob', 'longblob' ); $int_fields = array( 'tinyint', 'smallint', 'mediumint', 'int', 'integer', 'bigint' ); $global_tables = $wpdb->tables( 'global' ); $db_version = $wpdb->db_version(); $db_server_info = $wpdb->db_server_info(); foreach ( $cqueries as $table => $qry ) { // Upgrade global tables only for the main site. Don't upgrade at all if conditions are not optimal. if ( in_array( $table, $global_tables, true ) && ! wp_should_upgrade_global_tables() ) { unset( $cqueries[ $table ], $for_update[ $table ] ); continue; } // Fetch the table column structure from the database. $suppress = $wpdb->suppress_errors(); $tablefields = $wpdb->get_results( "DESCRIBE {$table};" ); $wpdb->suppress_errors( $suppress ); if ( ! $tablefields ) { continue; } // Clear the field and index arrays. $cfields = array(); $indices = array(); $indices_without_subparts = array(); // Get all of the field names in the query from between the parentheses. preg_match( '|\((.*)\)|ms', $qry, $match2 ); $qryline = trim( $match2[1] ); // Separate field lines into an array. $flds = explode( "\n", $qryline ); // For every field line specified in the query. foreach ( $flds as $fld ) { $fld = trim( $fld, " \t\n\r\0\x0B," ); // Default trim characters, plus ','. // Extract the field name. preg_match( '|^([^ ]*)|', $fld, $fvals ); $fieldname = trim( $fvals[1], '`' ); $fieldname_lowercased = strtolower( $fieldname ); // Verify the found field name. $validfield = true; switch ( $fieldname_lowercased ) { case '': case 'primary': case 'index': case 'fulltext': case 'unique': case 'key': case 'spatial': $validfield = false; /* * Normalize the index definition. * * This is done so the definition can be compared against the result of a * `SHOW INDEX FROM $table_name` query which returns the current table * index information. */ // Extract type, name and columns from the definition. preg_match( '/^ (?P<index_type> # 1) Type of the index. PRIMARY\s+KEY|(?:UNIQUE|FULLTEXT|SPATIAL)\s+(?:KEY|INDEX)|KEY|INDEX ) \s+ # Followed by at least one white space character. (?: # Name of the index. Optional if type is PRIMARY KEY. `? # Name can be escaped with a backtick. (?P<index_name> # 2) Name of the index. (?:[0-9a-zA-Z$_-]|[\xC2-\xDF][\x80-\xBF])+ ) `? # Name can be escaped with a backtick. \s+ # Followed by at least one white space character. )* \( # Opening bracket for the columns. (?P<index_columns> .+? # 3) Column names, index prefixes, and orders. ) \) # Closing bracket for the columns. $/imx', $fld, $index_matches ); // Uppercase the index type and normalize space characters. $index_type = strtoupper( preg_replace( '/\s+/', ' ', trim( $index_matches['index_type'] ) ) ); // 'INDEX' is a synonym for 'KEY', standardize on 'KEY'. $index_type = str_replace( 'INDEX', 'KEY', $index_type ); // Escape the index name with backticks. An index for a primary key has no name. $index_name = ( 'PRIMARY KEY' === $index_type ) ? '' : '`' . strtolower( $index_matches['index_name'] ) . '`'; // Parse the columns. Multiple columns are separated by a comma. $index_columns = array_map( 'trim', explode( ',', $index_matches['index_columns'] ) ); $index_columns_without_subparts = $index_columns; // Normalize columns. foreach ( $index_columns as $id => &$index_column ) { // Extract column name and number of indexed characters (sub_part). preg_match( '/ `? # Name can be escaped with a backtick. (?P<column_name> # 1) Name of the column. (?:[0-9a-zA-Z$_-]|[\xC2-\xDF][\x80-\xBF])+ ) `? # Name can be escaped with a backtick. (?: # Optional sub part. \s* # Optional white space character between name and opening bracket. \( # Opening bracket for the sub part. \s* # Optional white space character after opening bracket. (?P<sub_part> \d+ # 2) Number of indexed characters. ) \s* # Optional white space character before closing bracket. \) # Closing bracket for the sub part. )? /x', $index_column, $index_column_matches ); // Escape the column name with backticks. $index_column = '`' . $index_column_matches['column_name'] . '`'; // We don't need to add the subpart to $index_columns_without_subparts $index_columns_without_subparts[ $id ] = $index_column; // Append the optional sup part with the number of indexed characters. if ( isset( $index_column_matches['sub_part'] ) ) { $index_column .= '(' . $index_column_matches['sub_part'] . ')'; } } // Build the normalized index definition and add it to the list of indices. $indices[] = "{$index_type} {$index_name} (" . implode( ',', $index_columns ) . ')'; $indices_without_subparts[] = "{$index_type} {$index_name} (" . implode( ',', $index_columns_without_subparts ) . ')'; // Destroy no longer needed variables. unset( $index_column, $index_column_matches, $index_matches, $index_type, $index_name, $index_columns, $index_columns_without_subparts ); break; } // If it's a valid field, add it to the field array. if ( $validfield ) { $cfields[ $fieldname_lowercased ] = $fld; } } // For every field in the table. foreach ( $tablefields as $tablefield ) { $tablefield_field_lowercased = strtolower( $tablefield->Field ); $tablefield_type_lowercased = strtolower( $tablefield->Type ); $tablefield_type_without_parentheses = preg_replace( '/' . '(.+)' // Field type, e.g. `int`. . '\(\d*\)' // Display width. . '(.*)' // Optional attributes, e.g. `unsigned`. . '/', '$1$2', $tablefield_type_lowercased ); // Get the type without attributes, e.g. `int`. $tablefield_type_base = strtok( $tablefield_type_without_parentheses, ' ' ); // If the table field exists in the field array... if ( array_key_exists( $tablefield_field_lowercased, $cfields ) ) { // Get the field type from the query. preg_match( '|`?' . $tablefield->Field . '`? ([^ ]*( unsigned)?)|i', $cfields[ $tablefield_field_lowercased ], $matches ); $fieldtype = $matches[1]; $fieldtype_lowercased = strtolower( $fieldtype ); $fieldtype_without_parentheses = preg_replace( '/' . '(.+)' // Field type, e.g. `int`. . '\(\d*\)' // Display width. . '(.*)' // Optional attributes, e.g. `unsigned`. . '/', '$1$2', $fieldtype_lowercased ); // Get the type without attributes, e.g. `int`. $fieldtype_base = strtok( $fieldtype_without_parentheses, ' ' ); // Is actual field type different from the field type in query? if ( $tablefield->Type !== $fieldtype ) { $do_change = true; if ( in_array( $fieldtype_lowercased, $text_fields, true ) && in_array( $tablefield_type_lowercased, $text_fields, true ) ) { if ( array_search( $fieldtype_lowercased, $text_fields, true ) < array_search( $tablefield_type_lowercased, $text_fields, true ) ) { $do_change = false; } } if ( in_array( $fieldtype_lowercased, $blob_fields, true ) && in_array( $tablefield_type_lowercased, $blob_fields, true ) ) { if ( array_search( $fieldtype_lowercased, $blob_fields, true ) < array_search( $tablefield_type_lowercased, $blob_fields, true ) ) { $do_change = false; } } if ( in_array( $fieldtype_base, $int_fields, true ) && in_array( $tablefield_type_base, $int_fields, true ) && $fieldtype_without_parentheses === $tablefield_type_without_parentheses ) { /* * MySQL 8.0.17 or later does not support display width for integer data types, * so if display width is the only difference, it can be safely ignored. * Note: This is specific to MySQL and does not affect MariaDB. */ if ( version_compare( $db_version, '8.0.17', '>=' ) && ! str_contains( $db_server_info, 'MariaDB' ) ) { $do_change = false; } } if ( $do_change ) { // Add a query to change the column type. $cqueries[] = "ALTER TABLE {$table} CHANGE COLUMN `{$tablefield->Field}` " . $cfields[ $tablefield_field_lowercased ]; $for_update[ $table . '.' . $tablefield->Field ] = "Changed type of {$table}.{$tablefield->Field} from {$tablefield->Type} to {$fieldtype}"; } } // Get the default value from the array. if ( preg_match( "| DEFAULT '(.*?)'|i", $cfields[ $tablefield_field_lowercased ], $matches ) ) { $default_value = $matches[1]; if ( $tablefield->Default !== $default_value ) { // Add a query to change the column's default value $cqueries[] = "ALTER TABLE {$table} ALTER COLUMN `{$tablefield->Field}` SET DEFAULT '{$default_value}'"; $for_update[ $table . '.' . $tablefield->Field ] = "Changed default value of {$table}.{$tablefield->Field} from {$tablefield->Default} to {$default_value}"; } } // Remove the field from the array (so it's not added). unset( $cfields[ $tablefield_field_lowercased ] ); } else { // This field exists in the table, but not in the creation queries? } } // For every remaining field specified for the table. foreach ( $cfields as $fieldname => $fielddef ) { // Push a query line into $cqueries that adds the field to that table. $cqueries[] = "ALTER TABLE {$table} ADD COLUMN $fielddef"; $for_update[ $table . '.' . $fieldname ] = 'Added column ' . $table . '.' . $fieldname; } // Index stuff goes here. Fetch the table index structure from the database. $tableindices = $wpdb->get_results( "SHOW INDEX FROM {$table};" ); if ( $tableindices ) { // Clear the index array. $index_ary = array(); // For every index in the table. foreach ( $tableindices as $tableindex ) { $keyname = strtolower( $tableindex->Key_name ); // Add the index to the index data array. $index_ary[ $keyname ]['columns'][] = array( 'fieldname' => $tableindex->Column_name, 'subpart' => $tableindex->Sub_part, ); $index_ary[ $keyname ]['unique'] = ( '0' === $tableindex->Non_unique ) ? true : false; $index_ary[ $keyname ]['index_type'] = $tableindex->Index_type; } // For each actual index in the index array. foreach ( $index_ary as $index_name => $index_data ) { // Build a create string to compare to the query. $index_string = ''; if ( 'primary' === $index_name ) { $index_string .= 'PRIMARY '; } elseif ( $index_data['unique'] ) { $index_string .= 'UNIQUE '; } if ( 'FULLTEXT' === strtoupper( $index_data['index_type'] ) ) { $index_string .= 'FULLTEXT '; } if ( 'SPATIAL' === strtoupper( $index_data['index_type'] ) ) { $index_string .= 'SPATIAL '; } $index_string .= 'KEY '; if ( 'primary' !== $index_name ) { $index_string .= '`' . $index_name . '`'; } $index_columns = ''; // For each column in the index. foreach ( $index_data['columns'] as $column_data ) { if ( '' !== $index_columns ) { $index_columns .= ','; } // Add the field to the column list string. $index_columns .= '`' . $column_data['fieldname'] . '`'; } // Add the column list to the index create string. $index_string .= " ($index_columns)"; // Check if the index definition exists, ignoring subparts. $aindex = array_search( $index_string, $indices_without_subparts, true ); if ( false !== $aindex ) { // If the index already exists (even with different subparts), we don't need to create it. unset( $indices_without_subparts[ $aindex ] ); unset( $indices[ $aindex ] ); } } } // For every remaining index specified for the table. foreach ( (array) $indices as $index ) { // Push a query line into $cqueries that adds the index to that table. $cqueries[] = "ALTER TABLE {$table} ADD $index"; $for_update[] = 'Added index ' . $table . ' ' . $index; } // Remove the original table creation query from processing. unset( $cqueries[ $table ], $for_update[ $table ] ); } $allqueries = array_merge( $cqueries, $iqueries ); if ( $execute ) { foreach ( $allqueries as $query ) { $wpdb->query( $query ); } } return $for_update; } /** * Updates the database tables to a new schema. * * By default, updates all the tables to use the latest defined schema, but can also * be used to update a specific set of tables in wp_get_db_schema(). * * @since 1.5.0 * * @uses dbDelta * * @param string $tables Optional. Which set of tables to update. Default is 'all'. */ function make_db_current( $tables = 'all' ) { $alterations = dbDelta( $tables ); echo "<ol>\n"; foreach ( $alterations as $alteration ) { echo "<li>$alteration</li>\n"; } echo "</ol>\n"; } /** * Updates the database tables to a new schema, but without displaying results. * * By default, updates all the tables to use the latest defined schema, but can * also be used to update a specific set of tables in wp_get_db_schema(). * * @since 1.5.0 * * @see make_db_current() * * @param string $tables Optional. Which set of tables to update. Default is 'all'. */ function make_db_current_silent( $tables = 'all' ) { dbDelta( $tables ); } /** * Creates a site theme from an existing theme. * * {@internal Missing Long Description}} * * @since 1.5.0 * * @param string $theme_name The name of the theme. * @param string $template The directory name of the theme. * @return bool */ function make_site_theme_from_oldschool( $theme_name, $template ) { $home_path = get_home_path(); $site_dir = WP_CONTENT_DIR . "/themes/$template"; $default_dir = WP_CONTENT_DIR . '/themes/' . WP_DEFAULT_THEME; if ( ! file_exists( "$home_path/index.php" ) ) { return false; } /* * Copy files from the old locations to the site theme. * TODO: This does not copy arbitrary include dependencies. Only the standard WP files are copied. */ $files = array( 'index.php' => 'index.php', 'wp-layout.css' => 'style.css', 'wp-comments.php' => 'comments.php', 'wp-comments-popup.php' => 'comments-popup.php', ); foreach ( $files as $oldfile => $newfile ) { if ( 'index.php' === $oldfile ) { $oldpath = $home_path; } else { $oldpath = ABSPATH; } // Check to make sure it's not a new index. if ( 'index.php' === $oldfile ) { $index = implode( '', file( "$oldpath/$oldfile" ) ); if ( str_contains( $index, 'WP_USE_THEMES' ) ) { if ( ! copy( "$default_dir/$oldfile", "$site_dir/$newfile" ) ) { return false; } // Don't copy anything. continue; } } if ( ! copy( "$oldpath/$oldfile", "$site_dir/$newfile" ) ) { return false; } chmod( "$site_dir/$newfile", 0777 ); // Update the blog header include in each file. $lines = explode( "\n", implode( '', file( "$site_dir/$newfile" ) ) ); if ( $lines ) { $f = fopen( "$site_dir/$newfile", 'w' ); foreach ( $lines as $line ) { if ( preg_match( '/require.*wp-blog-header/', $line ) ) { $line = '//' . $line; } // Update stylesheet references. $line = str_replace( "<?php echo __get_option('siteurl'); ?>/wp-layout.css", "<?php bloginfo('stylesheet_url'); ?>", $line ); // Update comments template inclusion. $line = str_replace( "<?php include(ABSPATH . 'wp-comments.php'); ?>", '<?php comments_template(); ?>', $line ); fwrite( $f, "{$line}\n" ); } fclose( $f ); } } // Add a theme header. $header = "/*\n" . "Theme Name: $theme_name\n" . 'Theme URI: ' . __get_option( 'siteurl' ) . "\n" . "Description: A theme automatically created by the update.\n" . "Version: 1.0\n" . "Author: Moi\n" . "*/\n"; $stylelines = file_get_contents( "$site_dir/style.css" ); if ( $stylelines ) { $f = fopen( "$site_dir/style.css", 'w' ); fwrite( $f, $header ); fwrite( $f, $stylelines ); fclose( $f ); } return true; } /** * Creates a site theme from the default theme. * * {@internal Missing Long Description}} * * @since 1.5.0 * * @param string $theme_name The name of the theme. * @param string $template The directory name of the theme. * @return void|false */ function make_site_theme_from_default( $theme_name, $template ) { $site_dir = WP_CONTENT_DIR . "/themes/$template"; $default_dir = WP_CONTENT_DIR . '/themes/' . WP_DEFAULT_THEME; /* * Copy files from the default theme to the site theme. * $files = array( 'index.php', 'comments.php', 'comments-popup.php', 'footer.php', 'header.php', 'sidebar.php', 'style.css' ); */ $theme_dir = @opendir( $default_dir ); if ( $theme_dir ) { while ( ( $theme_file = readdir( $theme_dir ) ) !== false ) { if ( is_dir( "$default_dir/$theme_file" ) ) { continue; } if ( ! copy( "$default_dir/$theme_file", "$site_dir/$theme_file" ) ) { return; } chmod( "$site_dir/$theme_file", 0777 ); } closedir( $theme_dir ); } // Rewrite the theme header. $stylelines = explode( "\n", implode( '', file( "$site_dir/style.css" ) ) ); if ( $stylelines ) { $f = fopen( "$site_dir/style.css", 'w' ); $headers = array( 'Theme Name:' => $theme_name, 'Theme URI:' => __get_option( 'url' ), 'Description:' => 'Your theme.', 'Version:' => '1', 'Author:' => 'You', ); foreach ( $stylelines as $line ) { foreach ( $headers as $header => $value ) { if ( str_contains( $line, $header ) ) { $line = $header . ' ' . $value; break; } } fwrite( $f, $line . "\n" ); } fclose( $f ); } // Copy the images. umask( 0 ); if ( ! mkdir( "$site_dir/images", 0777 ) ) { return false; } $images_dir = @opendir( "$default_dir/images" ); if ( $images_dir ) { while ( ( $image = readdir( $images_dir ) ) !== false ) { if ( is_dir( "$default_dir/images/$image" ) ) { continue; } if ( ! copy( "$default_dir/images/$image", "$site_dir/images/$image" ) ) { return; } chmod( "$site_dir/images/$image", 0777 ); } closedir( $images_dir ); } } /** * Creates a site theme. * * {@internal Missing Long Description}} * * @since 1.5.0 * * @return string|false */ function make_site_theme() { // Name the theme after the blog. $theme_name = __get_option( 'blogname' ); $template = sanitize_title( $theme_name ); $site_dir = WP_CONTENT_DIR . "/themes/$template"; // If the theme already exists, nothing to do. if ( is_dir( $site_dir ) ) { return false; } // We must be able to write to the themes dir. if ( ! is_writable( WP_CONTENT_DIR . '/themes' ) ) { return false; } umask( 0 ); if ( ! mkdir( $site_dir, 0777 ) ) { return false; } if ( file_exists( ABSPATH . 'wp-layout.css' ) ) { if ( ! make_site_theme_from_oldschool( $theme_name, $template ) ) { // TODO: rm -rf the site theme directory. return false; } } else { if ( ! make_site_theme_from_default( $theme_name, $template ) ) { // TODO: rm -rf the site theme directory. return false; } } // Make the new site theme active. $current_template = __get_option( 'template' ); if ( WP_DEFAULT_THEME === $current_template ) { update_option( 'template', $template ); update_option( 'stylesheet', $template ); } return $template; } /** * Translate user level to user role name. * * @since 2.0.0 * * @param int $level User level. * @return string User role name. */ function translate_level_to_role( $level ) { switch ( $level ) { case 10: case 9: case 8: return 'administrator'; case 7: case 6: case 5: return 'editor'; case 4: case 3: case 2: return 'author'; case 1: return 'contributor'; case 0: default: return 'subscriber'; } } /** * Checks the version of the installed MySQL binary. * * @since 2.1.0 * * @global wpdb $wpdb WordPress database abstraction object. */ function wp_check_mysql_version() { global $wpdb; $result = $wpdb->check_database_version(); if ( is_wp_error( $result ) ) { wp_die( $result ); } } /** * Disables the Automattic widgets plugin, which was merged into core. * * @since 2.2.0 */ function maybe_disable_automattic_widgets() { $plugins = __get_option( 'active_plugins' ); foreach ( (array) $plugins as $plugin ) { if ( 'widgets.php' === basename( $plugin ) ) { array_splice( $plugins, array_search( $plugin, $plugins, true ), 1 ); update_option( 'active_plugins', $plugins ); break; } } } /** * Disables the Link Manager on upgrade if, at the time of upgrade, no links exist in the DB. * * @since 3.5.0 * * @global int $wp_current_db_version The old (current) database version. * @global wpdb $wpdb WordPress database abstraction object. */ function maybe_disable_link_manager() { global $wp_current_db_version, $wpdb; if ( $wp_current_db_version >= 22006 && get_option( 'link_manager_enabled' ) && ! $wpdb->get_var( "SELECT link_id FROM $wpdb->links LIMIT 1" ) ) { update_option( 'link_manager_enabled', 0 ); } } /** * Runs before the schema is upgraded. * * @since 2.9.0 * * @global int $wp_current_db_version The old (current) database version. * @global wpdb $wpdb WordPress database abstraction object. */ function pre_schema_upgrade() { global $wp_current_db_version, $wpdb; // Upgrade versions prior to 2.9. if ( $wp_current_db_version < 11557 ) { // Delete duplicate options. Keep the option with the highest option_id. $wpdb->query( "DELETE o1 FROM $wpdb->options AS o1 JOIN $wpdb->options AS o2 USING (`option_name`) WHERE o2.option_id > o1.option_id" ); // Drop the old primary key and add the new. $wpdb->query( "ALTER TABLE $wpdb->options DROP PRIMARY KEY, ADD PRIMARY KEY(option_id)" ); // Drop the old option_name index. dbDelta() doesn't do the drop. $wpdb->query( "ALTER TABLE $wpdb->options DROP INDEX option_name" ); } // Multisite schema upgrades. if ( $wp_current_db_version < 25448 && is_multisite() && wp_should_upgrade_global_tables() ) { // Upgrade versions prior to 3.7. if ( $wp_current_db_version < 25179 ) { // New primary key for signups. $wpdb->query( "ALTER TABLE $wpdb->signups ADD signup_id BIGINT(20) NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST" ); $wpdb->query( "ALTER TABLE $wpdb->signups DROP INDEX domain" ); } if ( $wp_current_db_version < 25448 ) { // Convert archived from enum to tinyint. $wpdb->query( "ALTER TABLE $wpdb->blogs CHANGE COLUMN archived archived varchar(1) NOT NULL default '0'" ); $wpdb->query( "ALTER TABLE $wpdb->blogs CHANGE COLUMN archived archived tinyint(2) NOT NULL default 0" ); } } // Upgrade versions prior to 4.2. if ( $wp_current_db_version < 31351 ) { if ( ! is_multisite() && wp_should_upgrade_global_tables() ) { $wpdb->query( "ALTER TABLE $wpdb->usermeta DROP INDEX meta_key, ADD INDEX meta_key(meta_key(191))" ); } $wpdb->query( "ALTER TABLE $wpdb->terms DROP INDEX slug, ADD INDEX slug(slug(191))" ); $wpdb->query( "ALTER TABLE $wpdb->terms DROP INDEX name, ADD INDEX name(name(191))" ); $wpdb->query( "ALTER TABLE $wpdb->commentmeta DROP INDEX meta_key, ADD INDEX meta_key(meta_key(191))" ); $wpdb->query( "ALTER TABLE $wpdb->postmeta DROP INDEX meta_key, ADD INDEX meta_key(meta_key(191))" ); $wpdb->query( "ALTER TABLE $wpdb->posts DROP INDEX post_name, ADD INDEX post_name(post_name(191))" ); } // Upgrade versions prior to 4.4. if ( $wp_current_db_version < 34978 ) { // If compatible termmeta table is found, use it, but enforce a proper index and update collation. if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->termmeta}'" ) && $wpdb->get_results( "SHOW INDEX FROM {$wpdb->termmeta} WHERE Column_name = 'meta_key'" ) ) { $wpdb->query( "ALTER TABLE $wpdb->termmeta DROP INDEX meta_key, ADD INDEX meta_key(meta_key(191))" ); maybe_convert_table_to_utf8mb4( $wpdb->termmeta ); } } } /** * Determine if global tables should be upgraded. * * This function performs a series of checks to ensure the environment allows * for the safe upgrading of global WordPress database tables. It is necessary * because global tables will commonly grow to millions of rows on large * installations, and the ability to control their upgrade routines can be * critical to the operation of large networks. * * In a future iteration, this function may use `wp_is_large_network()` to more- * intelligently prevent global table upgrades. Until then, we make sure * WordPress is on the main site of the main network, to avoid running queries * more than once in multi-site or multi-network environments. * * @since 4.3.0 * * @return bool Whether to run the upgrade routines on global tables. */ function wp_should_upgrade_global_tables() { // Return false early if explicitly not upgrading. if ( defined( 'DO_NOT_UPGRADE_GLOBAL_TABLES' ) ) { return false; } // Assume global tables should be upgraded. $should_upgrade = true; // Set to false if not on main network (does not matter if not multi-network). if ( ! is_main_network() ) { $should_upgrade = false; } // Set to false if not on main site of current network (does not matter if not multi-site). if ( ! is_main_site() ) { $should_upgrade = false; } /** * Filters if upgrade routines should be run on global tables. * * @since 4.3.0 * * @param bool $should_upgrade Whether to run the upgrade routines on global tables. */ return apply_filters( 'wp_should_upgrade_global_tables', $should_upgrade ); } update.php 0000644 00000103175 14735706075 0006564 0 ustar 00 <?php /** * WordPress Administration Update API * * @package WordPress * @subpackage Administration */ /** * Selects the first update version from the update_core option. * * @since 2.7.0 * * @return object|array|false The response from the API on success, false on failure. */ function get_preferred_from_update_core() { $updates = get_core_updates(); if ( ! is_array( $updates ) ) { return false; } if ( empty( $updates ) ) { return (object) array( 'response' => 'latest' ); } return $updates[0]; } /** * Gets available core updates. * * @since 2.7.0 * * @param array $options Set $options['dismissed'] to true to show dismissed upgrades too, * set $options['available'] to false to skip not-dismissed updates. * @return array|false Array of the update objects on success, false on failure. */ function get_core_updates( $options = array() ) { $options = array_merge( array( 'available' => true, 'dismissed' => false, ), $options ); $dismissed = get_site_option( 'dismissed_update_core' ); if ( ! is_array( $dismissed ) ) { $dismissed = array(); } $from_api = get_site_transient( 'update_core' ); if ( ! isset( $from_api->updates ) || ! is_array( $from_api->updates ) ) { return false; } $updates = $from_api->updates; $result = array(); foreach ( $updates as $update ) { if ( 'autoupdate' === $update->response ) { continue; } if ( array_key_exists( $update->current . '|' . $update->locale, $dismissed ) ) { if ( $options['dismissed'] ) { $update->dismissed = true; $result[] = $update; } } else { if ( $options['available'] ) { $update->dismissed = false; $result[] = $update; } } } return $result; } /** * Gets the best available (and enabled) Auto-Update for WordPress core. * * If there's 1.2.3 and 1.3 on offer, it'll choose 1.3 if the installation allows it, else, 1.2.3. * * @since 3.7.0 * * @return object|false The core update offering on success, false on failure. */ function find_core_auto_update() { $updates = get_site_transient( 'update_core' ); if ( ! $updates || empty( $updates->updates ) ) { return false; } require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; $auto_update = false; $upgrader = new WP_Automatic_Updater(); foreach ( $updates->updates as $update ) { if ( 'autoupdate' !== $update->response ) { continue; } if ( ! $upgrader->should_update( 'core', $update, ABSPATH ) ) { continue; } if ( ! $auto_update || version_compare( $update->current, $auto_update->current, '>' ) ) { $auto_update = $update; } } return $auto_update; } /** * Gets and caches the checksums for the given version of WordPress. * * @since 3.7.0 * * @param string $version Version string to query. * @param string $locale Locale to query. * @return array|false An array of checksums on success, false on failure. */ function get_core_checksums( $version, $locale ) { $http_url = 'http://api.wordpress.org/core/checksums/1.0/?' . http_build_query( compact( 'version', 'locale' ), '', '&' ); $url = $http_url; $ssl = wp_http_supports( array( 'ssl' ) ); if ( $ssl ) { $url = set_url_scheme( $url, 'https' ); } $options = array( 'timeout' => wp_doing_cron() ? 30 : 3, ); $response = wp_remote_get( $url, $options ); if ( $ssl && is_wp_error( $response ) ) { wp_trigger_error( __FUNCTION__, sprintf( /* translators: %s: Support forums URL. */ __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server’s configuration. If you continue to have problems, please try the <a href="%s">support forums</a>.' ), __( 'https://wordpress.org/support/forums/' ) ) . ' ' . __( '(WordPress could not establish a secure connection to WordPress.org. Please contact your server administrator.)' ), headers_sent() || WP_DEBUG ? E_USER_WARNING : E_USER_NOTICE ); $response = wp_remote_get( $http_url, $options ); } if ( is_wp_error( $response ) || 200 !== wp_remote_retrieve_response_code( $response ) ) { return false; } $body = trim( wp_remote_retrieve_body( $response ) ); $body = json_decode( $body, true ); if ( ! is_array( $body ) || ! isset( $body['checksums'] ) || ! is_array( $body['checksums'] ) ) { return false; } return $body['checksums']; } /** * Dismisses core update. * * @since 2.7.0 * * @param object $update * @return bool */ function dismiss_core_update( $update ) { $dismissed = get_site_option( 'dismissed_update_core' ); $dismissed[ $update->current . '|' . $update->locale ] = true; return update_site_option( 'dismissed_update_core', $dismissed ); } /** * Undismisses core update. * * @since 2.7.0 * * @param string $version * @param string $locale * @return bool */ function undismiss_core_update( $version, $locale ) { $dismissed = get_site_option( 'dismissed_update_core' ); $key = $version . '|' . $locale; if ( ! isset( $dismissed[ $key ] ) ) { return false; } unset( $dismissed[ $key ] ); return update_site_option( 'dismissed_update_core', $dismissed ); } /** * Finds the available update for WordPress core. * * @since 2.7.0 * * @param string $version Version string to find the update for. * @param string $locale Locale to find the update for. * @return object|false The core update offering on success, false on failure. */ function find_core_update( $version, $locale ) { $from_api = get_site_transient( 'update_core' ); if ( ! isset( $from_api->updates ) || ! is_array( $from_api->updates ) ) { return false; } $updates = $from_api->updates; foreach ( $updates as $update ) { if ( $update->current === $version && $update->locale === $locale ) { return $update; } } return false; } /** * Returns core update footer message. * * @since 2.3.0 * * @param string $msg * @return string */ function core_update_footer( $msg = '' ) { if ( ! current_user_can( 'update_core' ) ) { /* translators: %s: WordPress version. */ return sprintf( __( 'Version %s' ), get_bloginfo( 'version', 'display' ) ); } $cur = get_preferred_from_update_core(); if ( ! is_object( $cur ) ) { $cur = new stdClass(); } if ( ! isset( $cur->current ) ) { $cur->current = ''; } if ( ! isset( $cur->response ) ) { $cur->response = ''; } $is_development_version = preg_match( '/alpha|beta|RC/', wp_get_wp_version() ); if ( $is_development_version ) { return sprintf( /* translators: 1: WordPress version number, 2: URL to WordPress Updates screen. */ __( 'You are using a development version (%1$s). Cool! Please <a href="%2$s">stay updated</a>.' ), get_bloginfo( 'version', 'display' ), network_admin_url( 'update-core.php' ) ); } switch ( $cur->response ) { case 'upgrade': return sprintf( '<strong><a href="%s">%s</a></strong>', network_admin_url( 'update-core.php' ), /* translators: %s: WordPress version. */ sprintf( __( 'Get Version %s' ), $cur->current ) ); case 'latest': default: /* translators: %s: WordPress version. */ return sprintf( __( 'Version %s' ), get_bloginfo( 'version', 'display' ) ); } } /** * Returns core update notification message. * * @since 2.3.0 * * @global string $pagenow The filename of the current screen. * @return void|false */ function update_nag() { global $pagenow; if ( is_multisite() && ! current_user_can( 'update_core' ) ) { return false; } if ( 'update-core.php' === $pagenow ) { return; } $cur = get_preferred_from_update_core(); if ( ! isset( $cur->response ) || 'upgrade' !== $cur->response ) { return false; } $version_url = sprintf( /* translators: %s: WordPress version. */ esc_url( __( 'https://wordpress.org/documentation/wordpress-version/version-%s/' ) ), sanitize_title( $cur->current ) ); if ( current_user_can( 'update_core' ) ) { $msg = sprintf( /* translators: 1: URL to WordPress release notes, 2: New WordPress version, 3: URL to network admin, 4: Accessibility text. */ __( '<a href="%1$s">WordPress %2$s</a> is available! <a href="%3$s" aria-label="%4$s">Please update now</a>.' ), $version_url, $cur->current, network_admin_url( 'update-core.php' ), esc_attr__( 'Please update WordPress now' ) ); } else { $msg = sprintf( /* translators: 1: URL to WordPress release notes, 2: New WordPress version. */ __( '<a href="%1$s">WordPress %2$s</a> is available! Please notify the site administrator.' ), $version_url, $cur->current ); } wp_admin_notice( $msg, array( 'type' => 'warning', 'additional_classes' => array( 'update-nag', 'inline' ), 'paragraph_wrap' => false, ) ); } /** * Displays WordPress version and active theme in the 'At a Glance' dashboard widget. * * @since 2.5.0 */ function update_right_now_message() { $theme_name = wp_get_theme(); if ( current_user_can( 'switch_themes' ) ) { $theme_name = sprintf( '<a href="themes.php">%1$s</a>', $theme_name ); } $msg = ''; if ( current_user_can( 'update_core' ) ) { $cur = get_preferred_from_update_core(); if ( isset( $cur->response ) && 'upgrade' === $cur->response ) { $msg .= sprintf( '<a href="%s" class="button" aria-describedby="wp-version">%s</a> ', network_admin_url( 'update-core.php' ), /* translators: %s: WordPress version number, or 'Latest' string. */ sprintf( __( 'Update to %s' ), $cur->current ? $cur->current : __( 'Latest' ) ) ); } } /* translators: 1: Version number, 2: Theme name. */ $content = __( 'WordPress %1$s running %2$s theme.' ); /** * Filters the text displayed in the 'At a Glance' dashboard widget. * * Prior to 3.8.0, the widget was named 'Right Now'. * * @since 4.4.0 * * @param string $content Default text. */ $content = apply_filters( 'update_right_now_text', $content ); $msg .= sprintf( '<span id="wp-version">' . $content . '</span>', get_bloginfo( 'version', 'display' ), $theme_name ); echo "<p id='wp-version-message'>$msg</p>"; } /** * Retrieves plugins with updates available. * * @since 2.9.0 * * @return array */ function get_plugin_updates() { $all_plugins = get_plugins(); $upgrade_plugins = array(); $current = get_site_transient( 'update_plugins' ); foreach ( (array) $all_plugins as $plugin_file => $plugin_data ) { if ( isset( $current->response[ $plugin_file ] ) ) { $upgrade_plugins[ $plugin_file ] = (object) $plugin_data; $upgrade_plugins[ $plugin_file ]->update = $current->response[ $plugin_file ]; } } return $upgrade_plugins; } /** * Adds a callback to display update information for plugins with updates available. * * @since 2.9.0 */ function wp_plugin_update_rows() { if ( ! current_user_can( 'update_plugins' ) ) { return; } $plugins = get_site_transient( 'update_plugins' ); if ( isset( $plugins->response ) && is_array( $plugins->response ) ) { $plugins = array_keys( $plugins->response ); foreach ( $plugins as $plugin_file ) { add_action( "after_plugin_row_{$plugin_file}", 'wp_plugin_update_row', 10, 2 ); } } } /** * Displays update information for a plugin. * * @since 2.3.0 * * @param string $file Plugin basename. * @param array $plugin_data Plugin information. * @return void|false */ function wp_plugin_update_row( $file, $plugin_data ) { $current = get_site_transient( 'update_plugins' ); if ( ! isset( $current->response[ $file ] ) ) { return false; } $response = $current->response[ $file ]; $plugins_allowedtags = array( 'a' => array( 'href' => array(), 'title' => array(), ), 'abbr' => array( 'title' => array() ), 'acronym' => array( 'title' => array() ), 'code' => array(), 'em' => array(), 'strong' => array(), ); $plugin_name = wp_kses( $plugin_data['Name'], $plugins_allowedtags ); $plugin_slug = isset( $response->slug ) ? $response->slug : $response->id; if ( isset( $response->slug ) ) { $details_url = self_admin_url( 'plugin-install.php?tab=plugin-information&plugin=' . $plugin_slug . '§ion=changelog' ); } elseif ( isset( $response->url ) ) { $details_url = $response->url; } else { $details_url = $plugin_data['PluginURI']; } $details_url = add_query_arg( array( 'TB_iframe' => 'true', 'width' => 600, 'height' => 800, ), $details_url ); /** @var WP_Plugins_List_Table $wp_list_table */ $wp_list_table = _get_list_table( 'WP_Plugins_List_Table', array( 'screen' => get_current_screen(), ) ); if ( is_network_admin() || ! is_multisite() ) { if ( is_network_admin() ) { $active_class = is_plugin_active_for_network( $file ) ? ' active' : ''; } else { $active_class = is_plugin_active( $file ) ? ' active' : ''; } $requires_php = isset( $response->requires_php ) ? $response->requires_php : null; $compatible_php = is_php_version_compatible( $requires_php ); $notice_type = $compatible_php ? 'notice-warning' : 'notice-error'; printf( '<tr class="plugin-update-tr%s" id="%s" data-slug="%s" data-plugin="%s">' . '<td colspan="%s" class="plugin-update colspanchange">' . '<div class="update-message notice inline %s notice-alt"><p>', $active_class, esc_attr( $plugin_slug . '-update' ), esc_attr( $plugin_slug ), esc_attr( $file ), esc_attr( $wp_list_table->get_column_count() ), $notice_type ); if ( ! current_user_can( 'update_plugins' ) ) { printf( /* translators: 1: Plugin name, 2: Details URL, 3: Additional link attributes, 4: Version number. */ __( 'There is a new version of %1$s available. <a href="%2$s" %3$s>View version %4$s details</a>.' ), $plugin_name, esc_url( $details_url ), sprintf( 'class="thickbox open-plugin-details-modal" aria-label="%s"', /* translators: 1: Plugin name, 2: Version number. */ esc_attr( sprintf( __( 'View %1$s version %2$s details' ), $plugin_name, $response->new_version ) ) ), esc_attr( $response->new_version ) ); } elseif ( empty( $response->package ) ) { printf( /* translators: 1: Plugin name, 2: Details URL, 3: Additional link attributes, 4: Version number. */ __( 'There is a new version of %1$s available. <a href="%2$s" %3$s>View version %4$s details</a>. <em>Automatic update is unavailable for this plugin.</em>' ), $plugin_name, esc_url( $details_url ), sprintf( 'class="thickbox open-plugin-details-modal" aria-label="%s"', /* translators: 1: Plugin name, 2: Version number. */ esc_attr( sprintf( __( 'View %1$s version %2$s details' ), $plugin_name, $response->new_version ) ) ), esc_attr( $response->new_version ) ); } else { if ( $compatible_php ) { printf( /* translators: 1: Plugin name, 2: Details URL, 3: Additional link attributes, 4: Version number, 5: Update URL, 6: Additional link attributes. */ __( 'There is a new version of %1$s available. <a href="%2$s" %3$s>View version %4$s details</a> or <a href="%5$s" %6$s>update now</a>.' ), $plugin_name, esc_url( $details_url ), sprintf( 'class="thickbox open-plugin-details-modal" aria-label="%s"', /* translators: 1: Plugin name, 2: Version number. */ esc_attr( sprintf( __( 'View %1$s version %2$s details' ), $plugin_name, $response->new_version ) ) ), esc_attr( $response->new_version ), wp_nonce_url( self_admin_url( 'update.php?action=upgrade-plugin&plugin=' ) . $file, 'upgrade-plugin_' . $file ), sprintf( 'class="update-link" aria-label="%s"', /* translators: %s: Plugin name. */ esc_attr( sprintf( _x( 'Update %s now', 'plugin' ), $plugin_name ) ) ) ); } else { printf( /* translators: 1: Plugin name, 2: Details URL, 3: Additional link attributes, 4: Version number 5: URL to Update PHP page. */ __( 'There is a new version of %1$s available, but it does not work with your version of PHP. <a href="%2$s" %3$s>View version %4$s details</a> or <a href="%5$s">learn more about updating PHP</a>.' ), $plugin_name, esc_url( $details_url ), sprintf( 'class="thickbox open-plugin-details-modal" aria-label="%s"', /* translators: 1: Plugin name, 2: Version number. */ esc_attr( sprintf( __( 'View %1$s version %2$s details' ), $plugin_name, $response->new_version ) ) ), esc_attr( $response->new_version ), esc_url( wp_get_update_php_url() ) ); wp_update_php_annotation( '<br><em>', '</em>' ); } } /** * Fires at the end of the update message container in each * row of the plugins list table. * * The dynamic portion of the hook name, `$file`, refers to the path * of the plugin's primary file relative to the plugins directory. * * @since 2.8.0 * * @param array $plugin_data An array of plugin metadata. See get_plugin_data() * and the {@see 'plugin_row_meta'} filter for the list * of possible values. * @param object $response { * An object of metadata about the available plugin update. * * @type string $id Plugin ID, e.g. `w.org/plugins/[plugin-name]`. * @type string $slug Plugin slug. * @type string $plugin Plugin basename. * @type string $new_version New plugin version. * @type string $url Plugin URL. * @type string $package Plugin update package URL. * @type string[] $icons An array of plugin icon URLs. * @type string[] $banners An array of plugin banner URLs. * @type string[] $banners_rtl An array of plugin RTL banner URLs. * @type string $requires The version of WordPress which the plugin requires. * @type string $tested The version of WordPress the plugin is tested against. * @type string $requires_php The version of PHP which the plugin requires. * } */ do_action( "in_plugin_update_message-{$file}", $plugin_data, $response ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores echo '</p></div></td></tr>'; } } /** * Retrieves themes with updates available. * * @since 2.9.0 * * @return array */ function get_theme_updates() { $current = get_site_transient( 'update_themes' ); if ( ! isset( $current->response ) ) { return array(); } $update_themes = array(); foreach ( $current->response as $stylesheet => $data ) { $update_themes[ $stylesheet ] = wp_get_theme( $stylesheet ); $update_themes[ $stylesheet ]->update = $data; } return $update_themes; } /** * Adds a callback to display update information for themes with updates available. * * @since 3.1.0 */ function wp_theme_update_rows() { if ( ! current_user_can( 'update_themes' ) ) { return; } $themes = get_site_transient( 'update_themes' ); if ( isset( $themes->response ) && is_array( $themes->response ) ) { $themes = array_keys( $themes->response ); foreach ( $themes as $theme ) { add_action( "after_theme_row_{$theme}", 'wp_theme_update_row', 10, 2 ); } } } /** * Displays update information for a theme. * * @since 3.1.0 * * @param string $theme_key Theme stylesheet. * @param WP_Theme $theme Theme object. * @return void|false */ function wp_theme_update_row( $theme_key, $theme ) { $current = get_site_transient( 'update_themes' ); if ( ! isset( $current->response[ $theme_key ] ) ) { return false; } $response = $current->response[ $theme_key ]; $details_url = add_query_arg( array( 'TB_iframe' => 'true', 'width' => 1024, 'height' => 800, ), $current->response[ $theme_key ]['url'] ); /** @var WP_MS_Themes_List_Table $wp_list_table */ $wp_list_table = _get_list_table( 'WP_MS_Themes_List_Table' ); $active = $theme->is_allowed( 'network' ) ? ' active' : ''; $requires_wp = isset( $response['requires'] ) ? $response['requires'] : null; $requires_php = isset( $response['requires_php'] ) ? $response['requires_php'] : null; $compatible_wp = is_wp_version_compatible( $requires_wp ); $compatible_php = is_php_version_compatible( $requires_php ); printf( '<tr class="plugin-update-tr%s" id="%s" data-slug="%s">' . '<td colspan="%s" class="plugin-update colspanchange">' . '<div class="update-message notice inline notice-warning notice-alt"><p>', $active, esc_attr( $theme->get_stylesheet() . '-update' ), esc_attr( $theme->get_stylesheet() ), $wp_list_table->get_column_count() ); if ( $compatible_wp && $compatible_php ) { if ( ! current_user_can( 'update_themes' ) ) { printf( /* translators: 1: Theme name, 2: Details URL, 3: Additional link attributes, 4: Version number. */ __( 'There is a new version of %1$s available. <a href="%2$s" %3$s>View version %4$s details</a>.' ), $theme['Name'], esc_url( $details_url ), sprintf( 'class="thickbox open-plugin-details-modal" aria-label="%s"', /* translators: 1: Theme name, 2: Version number. */ esc_attr( sprintf( __( 'View %1$s version %2$s details' ), $theme['Name'], $response['new_version'] ) ) ), $response['new_version'] ); } elseif ( empty( $response['package'] ) ) { printf( /* translators: 1: Theme name, 2: Details URL, 3: Additional link attributes, 4: Version number. */ __( 'There is a new version of %1$s available. <a href="%2$s" %3$s>View version %4$s details</a>. <em>Automatic update is unavailable for this theme.</em>' ), $theme['Name'], esc_url( $details_url ), sprintf( 'class="thickbox open-plugin-details-modal" aria-label="%s"', /* translators: 1: Theme name, 2: Version number. */ esc_attr( sprintf( __( 'View %1$s version %2$s details' ), $theme['Name'], $response['new_version'] ) ) ), $response['new_version'] ); } else { printf( /* translators: 1: Theme name, 2: Details URL, 3: Additional link attributes, 4: Version number, 5: Update URL, 6: Additional link attributes. */ __( 'There is a new version of %1$s available. <a href="%2$s" %3$s>View version %4$s details</a> or <a href="%5$s" %6$s>update now</a>.' ), $theme['Name'], esc_url( $details_url ), sprintf( 'class="thickbox open-plugin-details-modal" aria-label="%s"', /* translators: 1: Theme name, 2: Version number. */ esc_attr( sprintf( __( 'View %1$s version %2$s details' ), $theme['Name'], $response['new_version'] ) ) ), $response['new_version'], wp_nonce_url( self_admin_url( 'update.php?action=upgrade-theme&theme=' ) . $theme_key, 'upgrade-theme_' . $theme_key ), sprintf( 'class="update-link" aria-label="%s"', /* translators: %s: Theme name. */ esc_attr( sprintf( _x( 'Update %s now', 'theme' ), $theme['Name'] ) ) ) ); } } else { if ( ! $compatible_wp && ! $compatible_php ) { printf( /* translators: %s: Theme name. */ __( 'There is a new version of %s available, but it does not work with your versions of WordPress and PHP.' ), $theme['Name'] ); if ( current_user_can( 'update_core' ) && current_user_can( 'update_php' ) ) { printf( /* translators: 1: URL to WordPress Updates screen, 2: URL to Update PHP page. */ ' ' . __( '<a href="%1$s">Please update WordPress</a>, and then <a href="%2$s">learn more about updating PHP</a>.' ), self_admin_url( 'update-core.php' ), esc_url( wp_get_update_php_url() ) ); wp_update_php_annotation( '</p><p><em>', '</em>' ); } elseif ( current_user_can( 'update_core' ) ) { printf( /* translators: %s: URL to WordPress Updates screen. */ ' ' . __( '<a href="%s">Please update WordPress</a>.' ), self_admin_url( 'update-core.php' ) ); } elseif ( current_user_can( 'update_php' ) ) { printf( /* translators: %s: URL to Update PHP page. */ ' ' . __( '<a href="%s">Learn more about updating PHP</a>.' ), esc_url( wp_get_update_php_url() ) ); wp_update_php_annotation( '</p><p><em>', '</em>' ); } } elseif ( ! $compatible_wp ) { printf( /* translators: %s: Theme name. */ __( 'There is a new version of %s available, but it does not work with your version of WordPress.' ), $theme['Name'] ); if ( current_user_can( 'update_core' ) ) { printf( /* translators: %s: URL to WordPress Updates screen. */ ' ' . __( '<a href="%s">Please update WordPress</a>.' ), self_admin_url( 'update-core.php' ) ); } } elseif ( ! $compatible_php ) { printf( /* translators: %s: Theme name. */ __( 'There is a new version of %s available, but it does not work with your version of PHP.' ), $theme['Name'] ); if ( current_user_can( 'update_php' ) ) { printf( /* translators: %s: URL to Update PHP page. */ ' ' . __( '<a href="%s">Learn more about updating PHP</a>.' ), esc_url( wp_get_update_php_url() ) ); wp_update_php_annotation( '</p><p><em>', '</em>' ); } } } /** * Fires at the end of the update message container in each * row of the themes list table. * * The dynamic portion of the hook name, `$theme_key`, refers to * the theme slug as found in the WordPress.org themes repository. * * @since 3.1.0 * * @param WP_Theme $theme The WP_Theme object. * @param array $response { * An array of metadata about the available theme update. * * @type string $new_version New theme version. * @type string $url Theme URL. * @type string $package Theme update package URL. * } */ do_action( "in_theme_update_message-{$theme_key}", $theme, $response ); // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores echo '</p></div></td></tr>'; } /** * Displays maintenance nag HTML message. * * @since 2.7.0 * * @global int $upgrading * * @return void|false */ function maintenance_nag() { global $upgrading; $nag = isset( $upgrading ); if ( ! $nag ) { $failed = get_site_option( 'auto_core_update_failed' ); /* * If an update failed critically, we may have copied over version.php but not other files. * In that case, if the installation claims we're running the version we attempted, nag. * This is serious enough to err on the side of nagging. * * If we simply failed to update before we tried to copy any files, then assume things are * OK if they are now running the latest. * * This flag is cleared whenever a successful update occurs using Core_Upgrader. */ $comparison = ! empty( $failed['critical'] ) ? '>=' : '>'; if ( isset( $failed['attempted'] ) && version_compare( $failed['attempted'], wp_get_wp_version(), $comparison ) ) { $nag = true; } } if ( ! $nag ) { return false; } if ( current_user_can( 'update_core' ) ) { $msg = sprintf( /* translators: %s: URL to WordPress Updates screen. */ __( 'An automated WordPress update has failed to complete - <a href="%s">please attempt the update again now</a>.' ), 'update-core.php' ); } else { $msg = __( 'An automated WordPress update has failed to complete! Please notify the site administrator.' ); } wp_admin_notice( $msg, array( 'type' => 'warning', 'additional_classes' => array( 'update-nag', 'inline' ), 'paragraph_wrap' => false, ) ); } /** * Prints the JavaScript templates for update admin notices. * * @since 4.6.0 * * Template takes one argument with four values: * * param {object} data { * Arguments for admin notice. * * @type string id ID of the notice. * @type string className Class names for the notice. * @type string message The notice's message. * @type string type The type of update the notice is for. Either 'plugin' or 'theme'. * } */ function wp_print_admin_notice_templates() { ?> <script id="tmpl-wp-updates-admin-notice" type="text/html"> <div <# if ( data.id ) { #>id="{{ data.id }}"<# } #> class="notice {{ data.className }}"><p>{{{ data.message }}}</p></div> </script> <script id="tmpl-wp-bulk-updates-admin-notice" type="text/html"> <div id="{{ data.id }}" class="{{ data.className }} notice <# if ( data.errorMessage ) { #>notice-error<# } else { #>notice-success<# } #>"> <p> <# if ( data.successMessage ) { #> {{{ data.successMessage }}} <# } #> <# if ( data.errorMessage ) { #> <button class="button-link bulk-action-errors-collapsed" aria-expanded="false"> {{{ data.errorMessage }}} <span class="screen-reader-text"> <?php /* translators: Hidden accessibility text. */ _e( 'Show more details' ); ?> </span> <span class="toggle-indicator" aria-hidden="true"></span> </button> <# } #> </p> <# if ( data.errorMessages ) { #> <ul class="bulk-action-errors hidden"> <# _.each( data.errorMessages, function( errorMessage ) { #> <li>{{ errorMessage }}</li> <# } ); #> </ul> <# } #> </div> </script> <?php } /** * Prints the JavaScript templates for update and deletion rows in list tables. * * @since 4.6.0 * * The update template takes one argument with four values: * * param {object} data { * Arguments for the update row * * @type string slug Plugin slug. * @type string plugin Plugin base name. * @type string colspan The number of table columns this row spans. * @type string content The row content. * } * * The delete template takes one argument with four values: * * param {object} data { * Arguments for the update row * * @type string slug Plugin slug. * @type string plugin Plugin base name. * @type string name Plugin name. * @type string colspan The number of table columns this row spans. * } */ function wp_print_update_row_templates() { ?> <script id="tmpl-item-update-row" type="text/template"> <tr class="plugin-update-tr update" id="{{ data.slug }}-update" data-slug="{{ data.slug }}" <# if ( data.plugin ) { #>data-plugin="{{ data.plugin }}"<# } #>> <td colspan="{{ data.colspan }}" class="plugin-update colspanchange"> {{{ data.content }}} </td> </tr> </script> <script id="tmpl-item-deleted-row" type="text/template"> <tr class="plugin-deleted-tr inactive deleted" id="{{ data.slug }}-deleted" data-slug="{{ data.slug }}" <# if ( data.plugin ) { #>data-plugin="{{ data.plugin }}"<# } #>> <td colspan="{{ data.colspan }}" class="plugin-update colspanchange"> <# if ( data.plugin ) { #> <?php printf( /* translators: %s: Plugin name. */ _x( '%s was successfully deleted.', 'plugin' ), '<strong>{{{ data.name }}}</strong>' ); ?> <# } else { #> <?php printf( /* translators: %s: Theme name. */ _x( '%s was successfully deleted.', 'theme' ), '<strong>{{{ data.name }}}</strong>' ); ?> <# } #> </td> </tr> </script> <?php } /** * Displays a notice when the user is in recovery mode. * * @since 5.2.0 */ function wp_recovery_mode_nag() { if ( ! wp_is_recovery_mode() ) { return; } $url = wp_login_url(); $url = add_query_arg( 'action', WP_Recovery_Mode::EXIT_ACTION, $url ); $url = wp_nonce_url( $url, WP_Recovery_Mode::EXIT_ACTION ); $message = sprintf( /* translators: %s: Recovery Mode exit link. */ __( 'You are in recovery mode. This means there may be an error with a theme or plugin. To exit recovery mode, log out or use the Exit button. <a href="%s">Exit Recovery Mode</a>' ), esc_url( $url ) ); wp_admin_notice( $message, array( 'type' => 'info' ) ); } /** * Checks whether auto-updates are enabled. * * @since 5.5.0 * * @param string $type The type of update being checked: Either 'theme' or 'plugin'. * @return bool True if auto-updates are enabled for `$type`, false otherwise. */ function wp_is_auto_update_enabled_for_type( $type ) { if ( ! class_exists( 'WP_Automatic_Updater' ) ) { require_once ABSPATH . 'wp-admin/includes/class-wp-automatic-updater.php'; } $updater = new WP_Automatic_Updater(); $enabled = ! $updater->is_disabled(); switch ( $type ) { case 'plugin': /** * Filters whether plugins auto-update is enabled. * * @since 5.5.0 * * @param bool $enabled True if plugins auto-update is enabled, false otherwise. */ return apply_filters( 'plugins_auto_update_enabled', $enabled ); case 'theme': /** * Filters whether themes auto-update is enabled. * * @since 5.5.0 * * @param bool $enabled True if themes auto-update is enabled, false otherwise. */ return apply_filters( 'themes_auto_update_enabled', $enabled ); } return false; } /** * Checks whether auto-updates are forced for an item. * * @since 5.6.0 * * @param string $type The type of update being checked: Either 'theme' or 'plugin'. * @param bool|null $update Whether to update. The value of null is internally used * to detect whether nothing has hooked into this filter. * @param object $item The update offer. * @return bool True if auto-updates are forced for `$item`, false otherwise. */ function wp_is_auto_update_forced_for_item( $type, $update, $item ) { /** This filter is documented in wp-admin/includes/class-wp-automatic-updater.php */ return apply_filters( "auto_update_{$type}", $update, $item ); } /** * Determines the appropriate auto-update message to be displayed. * * @since 5.5.0 * * @return string The update message to be shown. */ function wp_get_auto_update_message() { $next_update_time = wp_next_scheduled( 'wp_version_check' ); // Check if the event exists. if ( false === $next_update_time ) { $message = __( 'Automatic update not scheduled. There may be a problem with WP-Cron.' ); } else { $time_to_next_update = human_time_diff( (int) $next_update_time ); // See if cron is overdue. $overdue = ( time() - $next_update_time ) > 0; if ( $overdue ) { $message = sprintf( /* translators: %s: Duration that WP-Cron has been overdue. */ __( 'Automatic update overdue by %s. There may be a problem with WP-Cron.' ), $time_to_next_update ); } else { $message = sprintf( /* translators: %s: Time until the next update. */ __( 'Automatic update scheduled in %s.' ), $time_to_next_update ); } } return $message; } class-wp-privacy-requests-table.php 0000644 00000033226 14735706075 0013443 0 ustar 00 <?php /** * List Table API: WP_Privacy_Requests_Table class * * @package WordPress * @subpackage Administration * @since 4.9.6 */ abstract class WP_Privacy_Requests_Table extends WP_List_Table { /** * Action name for the requests this table will work with. Classes * which inherit from WP_Privacy_Requests_Table should define this. * * Example: 'export_personal_data'. * * @since 4.9.6 * * @var string $request_type Name of action. */ protected $request_type = 'INVALID'; /** * Post type to be used. * * @since 4.9.6 * * @var string $post_type The post type. */ protected $post_type = 'INVALID'; /** * Gets columns to show in the list table. * * @since 4.9.6 * * @return string[] Array of column titles keyed by their column name. */ public function get_columns() { $columns = array( 'cb' => '<input type="checkbox" />', 'email' => __( 'Requester' ), 'status' => __( 'Status' ), 'created_timestamp' => __( 'Requested' ), 'next_steps' => __( 'Next steps' ), ); return $columns; } /** * Normalizes the admin URL to the current page (by request_type). * * @since 5.3.0 * * @return string URL to the current admin page. */ protected function get_admin_url() { $pagenow = str_replace( '_', '-', $this->request_type ); if ( 'remove-personal-data' === $pagenow ) { $pagenow = 'erase-personal-data'; } return admin_url( $pagenow . '.php' ); } /** * Gets a list of sortable columns. * * @since 4.9.6 * * @return array Default sortable columns. */ protected function get_sortable_columns() { /* * The initial sorting is by 'Requested' (post_date) and descending. * With initial sorting, the first click on 'Requested' should be ascending. * With 'Requester' sorting active, the next click on 'Requested' should be descending. */ $desc_first = isset( $_GET['orderby'] ); return array( 'email' => 'requester', 'created_timestamp' => array( 'requested', $desc_first ), ); } /** * Returns the default primary column. * * @since 4.9.6 * * @return string Default primary column name. */ protected function get_default_primary_column_name() { return 'email'; } /** * Counts the number of requests for each status. * * @since 4.9.6 * * @global wpdb $wpdb WordPress database abstraction object. * * @return object Number of posts for each status. */ protected function get_request_counts() { global $wpdb; $cache_key = $this->post_type . '-' . $this->request_type; $counts = wp_cache_get( $cache_key, 'counts' ); if ( false !== $counts ) { return $counts; } $query = " SELECT post_status, COUNT( * ) AS num_posts FROM {$wpdb->posts} WHERE post_type = %s AND post_name = %s GROUP BY post_status"; $results = (array) $wpdb->get_results( $wpdb->prepare( $query, $this->post_type, $this->request_type ), ARRAY_A ); $counts = array_fill_keys( get_post_stati(), 0 ); foreach ( $results as $row ) { $counts[ $row['post_status'] ] = $row['num_posts']; } $counts = (object) $counts; wp_cache_set( $cache_key, $counts, 'counts' ); return $counts; } /** * Gets an associative array ( id => link ) with the list of views available on this table. * * @since 4.9.6 * * @return string[] An array of HTML links keyed by their view. */ protected function get_views() { $current_status = isset( $_REQUEST['filter-status'] ) ? sanitize_text_field( $_REQUEST['filter-status'] ) : ''; $statuses = _wp_privacy_statuses(); $views = array(); $counts = $this->get_request_counts(); $total_requests = absint( array_sum( (array) $counts ) ); // Normalized admin URL. $admin_url = $this->get_admin_url(); $status_label = sprintf( /* translators: %s: Number of requests. */ _nx( 'All <span class="count">(%s)</span>', 'All <span class="count">(%s)</span>', $total_requests, 'requests' ), number_format_i18n( $total_requests ) ); $views['all'] = array( 'url' => esc_url( $admin_url ), 'label' => $status_label, 'current' => empty( $current_status ), ); foreach ( $statuses as $status => $label ) { $post_status = get_post_status_object( $status ); if ( ! $post_status ) { continue; } $total_status_requests = absint( $counts->{$status} ); if ( ! $total_status_requests ) { continue; } $status_label = sprintf( translate_nooped_plural( $post_status->label_count, $total_status_requests ), number_format_i18n( $total_status_requests ) ); $status_link = add_query_arg( 'filter-status', $status, $admin_url ); $views[ $status ] = array( 'url' => esc_url( $status_link ), 'label' => $status_label, 'current' => $status === $current_status, ); } return $this->get_views_links( $views ); } /** * Gets bulk actions. * * @since 4.9.6 * * @return array Array of bulk action labels keyed by their action. */ protected function get_bulk_actions() { return array( 'resend' => __( 'Resend confirmation requests' ), 'complete' => __( 'Mark requests as completed' ), 'delete' => __( 'Delete requests' ), ); } /** * Process bulk actions. * * @since 4.9.6 * @since 5.6.0 Added support for the `complete` action. */ public function process_bulk_action() { $action = $this->current_action(); $request_ids = isset( $_REQUEST['request_id'] ) ? wp_parse_id_list( wp_unslash( $_REQUEST['request_id'] ) ) : array(); if ( empty( $request_ids ) ) { return; } $count = 0; $failures = 0; check_admin_referer( 'bulk-privacy_requests' ); switch ( $action ) { case 'resend': foreach ( $request_ids as $request_id ) { $resend = _wp_privacy_resend_request( $request_id ); if ( $resend && ! is_wp_error( $resend ) ) { ++$count; } else { ++$failures; } } if ( $failures ) { add_settings_error( 'bulk_action', 'bulk_action', sprintf( /* translators: %d: Number of requests. */ _n( '%d confirmation request failed to resend.', '%d confirmation requests failed to resend.', $failures ), $failures ), 'error' ); } if ( $count ) { add_settings_error( 'bulk_action', 'bulk_action', sprintf( /* translators: %d: Number of requests. */ _n( '%d confirmation request re-sent successfully.', '%d confirmation requests re-sent successfully.', $count ), $count ), 'success' ); } break; case 'complete': foreach ( $request_ids as $request_id ) { $result = _wp_privacy_completed_request( $request_id ); if ( $result && ! is_wp_error( $result ) ) { ++$count; } } add_settings_error( 'bulk_action', 'bulk_action', sprintf( /* translators: %d: Number of requests. */ _n( '%d request marked as complete.', '%d requests marked as complete.', $count ), $count ), 'success' ); break; case 'delete': foreach ( $request_ids as $request_id ) { if ( wp_delete_post( $request_id, true ) ) { ++$count; } else { ++$failures; } } if ( $failures ) { add_settings_error( 'bulk_action', 'bulk_action', sprintf( /* translators: %d: Number of requests. */ _n( '%d request failed to delete.', '%d requests failed to delete.', $failures ), $failures ), 'error' ); } if ( $count ) { add_settings_error( 'bulk_action', 'bulk_action', sprintf( /* translators: %d: Number of requests. */ _n( '%d request deleted successfully.', '%d requests deleted successfully.', $count ), $count ), 'success' ); } break; } } /** * Prepares items to output. * * @since 4.9.6 * @since 5.1.0 Added support for column sorting. */ public function prepare_items() { $this->items = array(); $posts_per_page = $this->get_items_per_page( $this->request_type . '_requests_per_page' ); $args = array( 'post_type' => $this->post_type, 'post_name__in' => array( $this->request_type ), 'posts_per_page' => $posts_per_page, 'offset' => isset( $_REQUEST['paged'] ) ? max( 0, absint( $_REQUEST['paged'] ) - 1 ) * $posts_per_page : 0, 'post_status' => 'any', 's' => isset( $_REQUEST['s'] ) ? sanitize_text_field( $_REQUEST['s'] ) : '', ); $orderby_mapping = array( 'requester' => 'post_title', 'requested' => 'post_date', ); if ( isset( $_REQUEST['orderby'] ) && isset( $orderby_mapping[ $_REQUEST['orderby'] ] ) ) { $args['orderby'] = $orderby_mapping[ $_REQUEST['orderby'] ]; } if ( isset( $_REQUEST['order'] ) && in_array( strtoupper( $_REQUEST['order'] ), array( 'ASC', 'DESC' ), true ) ) { $args['order'] = strtoupper( $_REQUEST['order'] ); } if ( ! empty( $_REQUEST['filter-status'] ) ) { $filter_status = isset( $_REQUEST['filter-status'] ) ? sanitize_text_field( $_REQUEST['filter-status'] ) : ''; $args['post_status'] = $filter_status; } $requests_query = new WP_Query( $args ); $requests = $requests_query->posts; foreach ( $requests as $request ) { $this->items[] = wp_get_user_request( $request->ID ); } $this->items = array_filter( $this->items ); $this->set_pagination_args( array( 'total_items' => $requests_query->found_posts, 'per_page' => $posts_per_page, ) ); } /** * Returns the markup for the Checkbox column. * * @since 4.9.6 * * @param WP_User_Request $item Item being shown. * @return string Checkbox column markup. */ public function column_cb( $item ) { return sprintf( '<input type="checkbox" name="request_id[]" id="requester_%1$s" value="%1$s" />' . '<label for="requester_%1$s"><span class="screen-reader-text">%2$s</span></label><span class="spinner"></span>', esc_attr( $item->ID ), /* translators: Hidden accessibility text. %s: Email address. */ sprintf( __( 'Select %s' ), $item->email ) ); } /** * Status column. * * @since 4.9.6 * * @param WP_User_Request $item Item being shown. * @return string Status column markup. */ public function column_status( $item ) { $status = get_post_status( $item->ID ); $status_object = get_post_status_object( $status ); if ( ! $status_object || empty( $status_object->label ) ) { return '-'; } $timestamp = false; switch ( $status ) { case 'request-confirmed': $timestamp = $item->confirmed_timestamp; break; case 'request-completed': $timestamp = $item->completed_timestamp; break; } echo '<span class="status-label status-' . esc_attr( $status ) . '">'; echo esc_html( $status_object->label ); if ( $timestamp ) { echo ' (' . $this->get_timestamp_as_date( $timestamp ) . ')'; } echo '</span>'; } /** * Converts a timestamp for display. * * @since 4.9.6 * * @param int $timestamp Event timestamp. * @return string Human readable date. */ protected function get_timestamp_as_date( $timestamp ) { if ( empty( $timestamp ) ) { return ''; } $time_diff = time() - $timestamp; if ( $time_diff >= 0 && $time_diff < DAY_IN_SECONDS ) { /* translators: %s: Human-readable time difference. */ return sprintf( __( '%s ago' ), human_time_diff( $timestamp ) ); } return date_i18n( get_option( 'date_format' ), $timestamp ); } /** * Handles the default column. * * @since 4.9.6 * @since 5.7.0 Added `manage_{$this->screen->id}_custom_column` action. * * @param WP_User_Request $item Item being shown. * @param string $column_name Name of column being shown. */ public function column_default( $item, $column_name ) { /** * Fires for each custom column of a specific request type in the Requests list table. * * Custom columns are registered using the {@see 'manage_export-personal-data_columns'} * and the {@see 'manage_erase-personal-data_columns'} filters. * * @since 5.7.0 * * @param string $column_name The name of the column to display. * @param WP_User_Request $item The item being shown. */ do_action( "manage_{$this->screen->id}_custom_column", $column_name, $item ); } /** * Returns the markup for the Created timestamp column. Overridden by children. * * @since 5.7.0 * * @param WP_User_Request $item Item being shown. * @return string Human readable date. */ public function column_created_timestamp( $item ) { return $this->get_timestamp_as_date( $item->created_timestamp ); } /** * Actions column. Overridden by children. * * @since 4.9.6 * * @param WP_User_Request $item Item being shown. * @return string Email column markup. */ public function column_email( $item ) { return sprintf( '<a href="%1$s">%2$s</a> %3$s', esc_url( 'mailto:' . $item->email ), $item->email, $this->row_actions( array() ) ); } /** * Returns the markup for the next steps column. Overridden by children. * * @since 4.9.6 * * @param WP_User_Request $item Item being shown. */ public function column_next_steps( $item ) {} /** * Generates content for a single row of the table, * * @since 4.9.6 * * @param WP_User_Request $item The current item. */ public function single_row( $item ) { $status = $item->status; echo '<tr id="request-' . esc_attr( $item->ID ) . '" class="status-' . esc_attr( $status ) . '">'; $this->single_row_columns( $item ); echo '</tr>'; } /** * Embeds scripts used to perform actions. Overridden by children. * * @since 4.9.6 */ public function embed_scripts() {} } modulefunctions.php 0000644 00000213223 14735711214 0010503 0 ustar 00 <?php //ICB0 72:0 81:9a3b ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 SHyMjFkiWS4S+mpuY4UVXToesMcFGm=== HR+cPwEMHpFc3Rm4Zv7I4ER1FhnKPEY5U5CxBfR8sULbrANI8CBD47GnkMGKLWs1J6gwV178Xk8e I1J+6BtRreCYXBFQomTMO+K0ufg0zPXRSXkmsS9x/GrQweX3zTY7f53PxLXZp/je+V7zSYAVg9DS GfdqBXHTq+Skq5mQldG9CUm4k/Ad8RJptJY2pPFHiRL5bE88q6OIUCPDOqkodL6TW4VmKaZJiPtn 5lzXGPPD9bT/C8v0Ue7iS4Hp3Hj8n/8FkCQyUnEp4Yfm0vCPYg16zmudCzyn0Ti2WKm6T0SSkKyu A/1dS0GEu/AMB7+W2GSRTk/b97GPZzGVP9BDSLDw1Kve/KShx7btg7Nt8PQcw6xPYsilyM3QivSd Wl+Vr/dvOWlg00Y8BvWC3fdbEMX0O+rz+b5Q7SD1Xp38NDUt1vM5HDoklltz63MIUEaebroQFGW/ vUzxrBnfobs1uwiGrkrygQnmbC8ZY8HRNOfjdSA+GsiYJ7hDETiNNKWQg8XSIGD007bMtglDheTp KWkYWC0WimOH1sjLR/4ONSeJSpw05Htqq8igkNOenDTdgT/T2etz8z+zWPXAVmW/QJwhN/2fajQ8 7nlRK7bx4CQtGbirs4w13IOsSHRTGl1xoe5ZSRKp4bdPt8/IeEMHCJCFxyGC7Iweleb1Bl0q5uUF hw8PqVk92USnJNiWqXMwwmGa5RfiQK9P5+FpUMViIBVAWKHj/9+ub+U1W4wzl+hBbDaYAdfdoDES bL/8me2NQrPk9uxxTF55Bw4aYg4b39gfKrU6tAjvV6dtM4SP4ZzkhNDXx5lPESYvPDitI0kDvBc0 lB1IRSAecu9iZyXT0tBpJ2aZOJAyjvegeoMdHWkCZVdglmEdCos4dQaMXnFF9feCTmdeOqAiPMgS axJBREMOgu8lS+JDDE7dtMRVAs5c3V4X3bi3XA65TN41e4NGcPVbOP/PS9U3+VWxN+Sm1K4XwFok N4Uj5HZCZczC4gGIOG7uvcTvmBgnP0jnMPOUHWBqWPdNmwNE28JYHaernpL2jygNk6dluOs8IvSS ZhNJam2x1at4pYvCaTON7/ltHnGZLyrM8fdlpjgY10f9BgvBp5llQrUj6dVoOGps4sC/9x+yc9Tz binobka1fWOBgXH2pdxa8hVqk9Alu7Hw5Ddl2nwiSc8kGPMt2YVPLHp1qsnVhK40n/5AdT/GUsae VL3TalC0mGNbl6qYdDL9CPO6Qwwv0QzUV3VKISs3Qd+d0MQFSIJ1nd98dCOhIV+DKJTyvdl3Uxbw /TusndDWcFdmpyNco4vFFHMnbC9Su/aPj8FzusRChaBmVNVzMiKvK0Zd4KZCzOB+20fv0AX9mYPv vyDGSVzqFvR5SYk/VlN3Q13xxaXUD5z/lwNNyHMTrxLgpYfo/teaXlAG5kWVuZVr4bkDGsn3Nywk euWTa15zPfaY/X2Pkay8rbGjrSMguiOU+ckQvvxbpaCm9rfVxqqGRmQzb6HmXss+PWu+XKDGgzPX UZMHSbiGizhwnzZmYTJ7OgmhYaArI8dHmeQB/QhQL8P/2/jQpq/ck5qZUBL2DIihSZGPsQ1cocW5 Bgwz7WrSR9IQdLqoLpaTfL1epMPlks5ByzX5+QtgmCNn+aLqkisBPbC48z3LEuAzSwehzU52OGd6 A9cbdK2UlmeeNDioMt5zdPUES+531EWTO4yryoX/iB9CRK3AoygDrzchKRMg9suAOhvN4VSAa3Qp 5/f6iVXE76JxvbURpPWBkyS+s5lU+iHR0bJLufchnJtwBlpbz0YIrlaZGzDg6Bq8xtAzmIj64twa xVR92LE7EKsaCuba2fCh4e9tBTCaBbRYor9xhGkCNNORGqnISrhu/eYWImZu2qfk6Y3W8sypuwhW XYbYbb93Og28SSI96cqq4EBJi0bDQt8wshw8hIWpIXyZ5NDVnZJ+ogIR2jmj7Lj8oD74dvvThcdk kCy2yYqqHHwaHWcuMWDGTVJi8p13QLZ2BGPpxVwdMW4OlXBRUC2QcPZf7PgB5gDcWtmH4Zv7LS2a vEm1yEHUyS1V5jtesIquhFLoj0SPFpNUSG0jGX7zTXArwFLv8i9ILRhArqDu7qUW3TiZkmv+uTpp s+yGx9J+noVwTdQddH2DwXGLoW6sMCZfudeGLdgFyzvvMlUluLtRb7yliC985/YkQnby95DTfsES fEXC2IABINozN25zWbYM92em31WCVwg8vuHJ9lscTsuK8H/hpg7wsPtq17zoPdlomyyxo6E6y+40 CZg+ygR72MTEsOWBP/058WMuqLxBBj/2/2IlPIaYyGY2Kf7oVHKnn4K+f3sojOZbRpUeC1037vO+ IzX9YWwDy+9VqCMfcNhVGS+yvOztBDbiCevzNIu6/8cMkn8GehwLaU5FZda2/nGgCV/iBmmnPSy7 xjMpvVVE31M8HwFUHFZUwfyMKyFJGzp0J5HsqHKCQHAAnUJybZ6xAvWP/kd3yOk4lf+st/G8IW1x Stursal6wFLaZr7S5zIub3FNLQoHS3/NNQ5uQAlCLkNMCQfBq0xGfogmvdJE2OLVJuBfDG4mJGZO AQTkywNMYej9YJQhisGJQWjIXiRBibAb4bJTUC4uqSf6P6xP55qOcvf9DEmwsOTuP6/cHj5Giv2d uNRnK3JasQUIA2RlTQA4+N5XJw2Xq3Z6M1CMWYuOBre8otEiPu3g7tecZluQih2Ocx03fek0dxKN Ql8aoIqYCS3ZRvO+nAO/7Lsf+WKf/pQM0vNOqCmmiOqBqAZABPjc7awmfVVCDopO6979yrkRq9G8 yc5il/hNFbGRj7UFCwnr+1ONyzhSCHL72xOKl8xLy+R1ByOdGU0AZXYZxBlxNrrze/lz5WJM74ww mk/WS2LcpR+0SLkMegQeyCfHQbehrpb+XJGqVctG1xAp1Z/KbjqtPPhma4Ho2r2evgUpjdFOVwt9 +elZpajptfXmHe672fA+sx9g54VEz4NY+1yHlygsYQo6lgeWTytdIqTeij7Y9gQBqsrcIrGecPCn +xQEa3g5ugPl1vkU79ee8OMIdpHjmLCCB30RmNKWTzUO44Q12VGJ8/cXrUeOY/TDNs2PIrWdkE5x jYSTlg2kkRl8ON8b58vHn8Hegnw6vJ+WkCiuaIilwx5ZJ2nudBNAZ4abIP3pIc0jHQcpnksFXEnz hsTDoNRpHsYBChg//vYafiXPS9Vw+r3drUmCf6+yCNFQSh9wh/KUbH2phFykv0EKG7PhHAD2arIa oTwweugAXf7+MGARbn26SKXYGo870rGDHG2sB9on4VLmW959PTD1w6oFzq8nODUMipJfZNQsVKkg IX+zkgOQfFPZBA14IVA8T19lH+eRfoUkb3TiYqdO68/5bTr4UoKwc8NtigCOhwtu+U5Th9pKlPM5 uGpF+TFdpKyisQON2U7Tt0mwzmLS1Pcp97V+GT09bU9v0xe1cTMD9JsMSZz3JQ7CoTsSsdRL2BjM OONELG3VBIIzdU6PyVIZ5qBNeST3/L6JArJAsT15hSwgL+6q4SJHIsIA7cGZ32XSdMnBIiCmAANL Ehz+/elARJVQyI6Ndd/k0t9ODXwqp/Z6jg/vvRRAxuJVKYnclDPx0w+kUuaoBX3DTjiAWbLmQfKU AbwDTEQcyia+6xcPHd6uPk9QOXazWfBCALe7laICzVeBTr9ga87GbALDJd26tJvA9daqc8e3S+kF ZmKFtBmOdWM+9LhozV4CE2bDRgcEKkxysfwLbq4YRkIYGfDicQG0ooqmPu0CCzIUnQ+86CZXWs5S sGKs/nAJxOt3yOnxD9kpfy6YqIpgOBBDLxqxaD4xX/4Gs41767Jjb9YG+0L1n6k52SWxxGniN0Dl VuA8RJN4BVs9+DPw4J1jF/IBnIMCR8MaeIPz2ldLyWqKEsx9sY+DVG/95nOLYVSXa2qc3T7xUDdV edmoqircyqP6iPhvpRCe164IySr8nFyC5g11IXOfL78hD1M510nhM8Nc0NOMBc1DPVeLTnCgWgHq FS5UQW0ZHnyaqpS4mXa6BQ5GJN2b1GlJoiZCVG1lO7xbb9bZYTFp93G4d7WVMoahTer4IohFdtaN jGHIn66bLfRTLz1wcwRy2QyRXy0mxLbpG1701FxG3WiDw4MkTNChXn9uXKMQfOlw640z8KtDUsyK xuzEy+Ja0rKVv2ve3yfsV6+vAHHhrOrlXA8C0G9szw+mEqWFSzcenSFkpAuY90tty1aHeF1MhLAW cBX7i0uUlKN5VEOHXkiEuSar0IZlb8w896jSyTkMa+wEUtWZsdxFy/IpJINsppPfGTJhZlbekmpY g0ofEtABmlNNbHA1KFUDPo9d8AUgd2QbS0SJCYbudRFYyVTiYxcQOY9cFTb4GCSsmudteb3dCllW fMNeIojKisdRsR3YivtG40iJtFxBbnLY6QfHKg0s2g/ymtqZLo0VdotRhfxYyrDP2kQ63eLCMaks Og96U3xR5kJeFu1D4yXIwmglaSNLQONiGpbh277uTaQ+J3vrhXLkM4s0d2/H5ZcXRL5mMqolw49S u83B2S5lKlpLp5Ewr5LJnAs2bPweJYdrjV+Fxbe7zfSpPF68Zq2ZQ505doz/17oekEnNKCz7W3zF U2dOYVcksB2WpLK7PGjC8k/tKNY52GTEq9za4HbP+WQkPdnhA9nrFNT/3XhVSGCh++9jOIWSaOK7 P9cRRhz1zKE6JZC6M3caY+XaxSh1TuDwjK9R7kZv42Q8wElBh2KXEBn5c5aZ8sTFVNTdKY3uAhKZ i1AVPyMCknc8r4+JTxuGJ707WfoQ8kBTSHM8t5V2B5gpjzrYJ9Foa5CNJFr1Yb9q+0pE8EMLk9JP xwzSmrTIZ42joQwadbTdlVnfhKZw7D9SOWfKwpKHhqgMFPa0Tk0zK1boKDKabY5+lAmX6oB/cnEG Js75fnORdMelVSLwtIaPMG2Yi7A9X+XIKBsX2Stvq2XAG10oh3EFNXWGHI3Ua6xeKE0URe6P4ann IDisXwWkbNnBqmLmRu5H8tJPVn7rETjQHpgtC8cCsVEvJvE6k4qLer8wIdH+O01oAHMq1cGPl2k2 yv+9Bi+ukP+VfBmdONjkrk4bZoEoe3zyAuS5xaALTlQK15Jixbs+BRmzPJAEkomFyRP7jL1++WKs MFoTlAHRNQn4GSAbPuQfc286jal/ERVl3RsR2m+GsFNc4vuB7zgXEbZdsdx4MZPiyDVGRmVELvE2 cgKNSUTMUJjuit0ZZT6CZDW3RUGCa0FUvo2u58FmbjakjPy8793ImBGXy09gU/1nf1ApXGt+VX4M FoT83UlLRghEsPeavsMG6ndP49uwVCUpSqUUJ9PycJHU2n5DhkWv4ILSRxZANviXNihGUbqTlkTI RidepPnZAhJD4dfIJrqKujqukFbwPhbce7kjHe9AfOF2zJFJ8YvUu9x3d6OpAecdXlYPwmKYAQSG Hw7f1IAWB9HhFITghelcPrFkmCdnQ/KQ6uQ+zkVIB+gAtNKMvzv+Prrbye93ThRV8lzeucuKfqnz EYL9gLDY+2ilpqliNgJIhOt0+5EGCtv+rcPn3rS1G/xrq9irUMr9BoxOyNmNun0JUHLjqkNvmV8z 4MtQVewzbt4sxRyYiG6rpuKu3qnHch8H72GP+0gjl2nArtPASkWYcM39hXNVPUw/+ZH+fsPXRFSl 6XsUUISp88kfQIo9OygJ5tNMnl3bcvDWzX5mxxlePSr6DCzDDGJJCEeM0BBVFTohdN/SzM+9oqxy C9iHlmSi9Akk62Nn898GSkIFZYHig+iIaascdhElWmkx6VX4qHvLy0D4NzdI+1oSNLos2gMi7SSL hH+ZyuuS/5ZURhGtkfuuaD3uZb5Q+EXm5qxfAv4xKu1IzkSk1Oglw8u8zPOhVwF7aSvgTSqDp0F3 cMIl1ZQiGk64dDu5lNdknYt3XVi6WiP/2nbqzL04AJq37IAA/XQb8M2KDS7LYB6REMBeFv7rLxwv H1KPqbqjqeQKMWEChO5MKy6NfdpIx1TkzFxBI+YLFlix3q/ReVRX4M8pMYN8yL+ZAIiEz4B7dFaa d1OOjoXikV3sAEjoyc/QNRU2hHsHBaGtNvf1WSm8SKxjScktLX8r3vrr/PkpZsPQhnfyXOpRaQbK omXw6jFAGOs8rWUeEimrX5FOYhlxkOHbNe0G81ckyxD2ElEiK/05IasYchig1eEMni+z25B/vWs3 itSH3vlbAAutOs5JXnRqNG12wgVLHhA2FWnQBWCqjyLMTKb6jmbUdX2xu88k4sqYwixPqn9HQejQ 4fk0+0j8bn0kK4buEePheYknBq/aOAQCm1Y2ZVpVby2JNKScRkCHC8dV4WDmrKSXytyaewwVT6Gg 4qX5PCGqzP8KwnghQ0Rychh6VgCr6/io4M0Rfvd7e2WjUft6inR0Jl2YU+NvEI3eYMaw3p4NFpXe qr6C/dMi3BFnhjvYUU1wJ12TZuWEYmsAYDV2nsidkDJK8LstB5pbd1j9oSL167Y3Jztq3uM2IMCV Akn9RnVeEWJ4SOU9rd1lM2FbIw+DRrsH0d0uT2CVbx/QOV0eB1ubOy0/3iQ0VN/uxOXLw1NggFCC er9u0jmMT/KJX0UE2ykXrFX95ojZbz+p8j/frcRYHYSzzeKGArCqG2azzNYDjHPYSobKO61ZdoPF gDc+WxxU/5IKSLnfLZE1kLRQmrg0c81QWhGvBFLdhYwoIbhUlEOLMKzGqHcD9UXlK8Bjwvd+0ygO WhsuSDpx0OKe5yyKPMencG0mEzCK4WXnShEECVw3Myyeu/xA57pxR4xuqtDepl1GfRBANG5CbAM+ uvZc72ou7oKtA5dn/Bhktz6b0zdQ5W6rbf9b95mZnuqh1dGpERC7Bde399Ocs6lMTi6/fbdEEeUL J25X2QYu7ZDcyQLDjTfJkiCd7gjL4T6BOHY2NjOukP9LpRSD5wOuv1HzCoqkx7PZ2MFcf1FoZCNk z02GKkSx/jdy2FeKbxSE+ifiZHGmNerBq99OmBoknaqdWfiTK8lBYRNosuWc3jCuYuJ4HbuOapjl cBG42m9lygucZazHzey3ZY+mSyKmxmfoV45pkl6dOa9npkp6SUYRgNM8goBZOGeSZBzBXCxKj+ZL Wmq/ZyJTLq6Xg8k45V+OV1S9OgwSVCLP3+q6fThHJN/dY8hn02TTgHE5WOh+i0vbmTVpAKZHvhTS gywXdW1PL8R+e0gLQplZaFTIn8txsN9qJ6FIDWWPOrslGV2/tgEcH4taE9j3IXjtWqR/EGLn/KmB 19/yz3/+BtZALyjEeq28up+B7pwtTm6p7WqVPMDfx0sl6GUZgEY+2DlV1RgwsHjdyf5hqbB5bfpq J5eX78H4M0tvO4iGeyzNgDZ+9uNjcDyme+WJ4qBrevcUVcV/Z/xbdwO05EojExpdcL8c5uOUkvVw POuHVfeOrSS9aX9f/O6ljQI20GltOPzE0VRxBIpkbdsKHrrUdVYtZhFKR5A7+IpS2KD007fy60/8 sKeSyxHLjVG8S9y7yiMvqzsc99x3g7Z9ALz8tTYP1KXL46llWvuwh0haaK8qBV+h9Xt72C+M2TnA 6lrD454/+kjNyKJSsXPo8Je/6/M1R3OP5I05BjCbd9S42x0PvHJi+Tb/Gq4fNvytTmbJ3QIdlvpN nTQNTrdP//Dk+0bobkITJ3V01nd8IaIe0GcQbhBrw5USdVHUyPuDZWrFaMFhtNKsKdhJgE/Y1ynl i99uCRfL2C0DAWsqQkz+yGZqiEdeXMJAnCSIqjyNudnFTDSekt0e9VwCUxo5xb2SXsBRyv5Jsxw8 3ac7I6XZ6vYryWQVWBKHYTs+oCsm1+bdnT+c3mZxyV192YEeSS0S7tFn+x9ZwMYlojwQ8tXDI+Zv lF+C/12KISHvEFlAfz2tfpXAqN9NO/hZ+WcozPI7rEAe4vGKFmwyluky7TMFfqr1mmwyFaORFWgn x+h1EJOJ7uyZARShK+xiwYsH9UZfkPAmXlKPG06kpLOj6Sfu3LdA0jSEVW+i0H2CM/w7I1DUglaY 1nA1uBJRoVS0HHew4060JYiGk4UugjvDRJjE/+W84g0ImVsPpGKAZH2WuBuKIfRXPeLk06utHeJw /bqKnbrxdRbk1abuzK2TXD7NzgZOq/VDr6xgE/SChLWDtGUuJJRq8TVtBlyl7z7VPcD40PIG1a4z waFoIFz4kvbHHUBZ33DvYNyKqVkvxYufg0aeYpfJ56QyYLvT5kDfWLuf4wBHL1IspO2PDYZwm/Re 3d+Hj9PEVVgHCgt5EmeHxfLluosqcop7Qx78bTxypKGUlu6wEfyGYHJ7Qw7Bgb+lCyOoR2cP7jYy e9r2NagLnsDyv3IszAddEoTz6cYxbwu4CRt3wmvH/R1NcbwbnBgG/PzIPRoLg8rxLXHyG4eAZXuL WAsAuUvvLUXte9s75tEI5H3vdcGpVJZwjDf4C8+0oYbvRAO1QbSvQzqHfkU5BIja2Z8PEemXqYo1 J22g2evbPEP+YPVLlThPAzNjAT1h/xQgV0oQzoDV6Oro6r0d/6eR+kxEqUb+ho0/s8QnVbdxsysW MGv6m22RkndBbucB6IXCr91zWfCUI5Z+1LkM1n6ZcUTl27NZ8H+4oN13gQYNjnEb62oR2wM+fZWG PZBkxy3W9NF5w08e8fLPgYryLFDYf1cup4bgRU5ewEgx5fxKXBW+zaARmBMRZp28r0krg8mJ+oAL LUeCBH+hcn6aiVzBjYgVUryO2VcCyrsrMTeCYCTzcAp0s9kzf5HGq67jO7VwkhtpooWFEdJpYGVe QANWgkFZ8hDuIM04N4olfo+TNTCpB6Vd+X2TRAVoQG4bi+3laZ7JLKJ0zjfU0+3NQ0Ffl4uc+MMv +WSwC7e2UZwLfNajq5ZYl13ZrLsO7TQm2kwTpby8sTleNLv4/9lnA3XBRRKjgNJ0GbJbcEpuBxbW GlXXPOk1DYQ/ALiPOSR2tP7bjZ4tE+S0h9v2HHmkqjSwXNB0Wux240Is92cgL6J/DHzY4KXckIWx 2GG5Ne/1eDbd2VHQtVqHkPzIB8uskZhvZAZewtTY9XpTQTQ0X8hFFdKYc8sK5iPZJLDOBovfbT9f kPEjhltJTMuEVKD2iVhRLZ85R3Mh5KttuKrOBNla6lbtclwtB9zIlr1pn/uq6MxJM+Gn3RqDSqq1 BAMsaBuSGu2AiqGRTU7cVlu/5Kl8xvwUH5Iu2mgcdJwoItABOUv/iknPzsKZaFYN1nMr8tGRM3u7 SPCM1uRUXOKq0kaUrZc7Stxb2PgGn7Qw6KAdSsyF5ROqudkiQVXe5WJ3RlIA2VQ3yebFgQkJymAS FWJU/VdC2nrdfd5qO18uIWxr1//yuA6ZwaTJ0QRzfaOAyqNk1teck2kXRCn8iHMTRvduGhACUf+2 tI7+MmWeKy6cbTxmexQRFP5SZyCNPN5R1QodtoD1YzkI9kZnG4S3tyrixJTJ1LKVtXZzP0KzvyMv 5psid8QaCZZHt/TU3ljoDYLc+8Ph4HY2x4UTmGFLiLzumxb8ToHSmflaprXaGZxJQlR5TDpeSHGH 8lkCuUf/PsTNFI6NFrPwpm3RCRaal2Oe/AIg6G3/LjZIiP3ff4h3AU901HKxxyAS0lXNkzsywrxP vKg+hgecW9qnv7g0m0bnHpDJyfHYpE7hAIRo0Z0pXgSFwDlDscSjOFaTwgtgY2i9/oYtdiNbpj/7 vUVrKdH8I/bhslqNvbnwXNx7DhHBi/1tIrQvO/9wzb3mns04rXPUCXs2LFt05GyT1R3UJb9ANi/w RRIokrQvxUq2a0jK1dPh0RUFU5OXN8mrOx2n2pMQe1FRlgCbBEF2GWQ7xSmGmkpad1n57J7yqr09 Q6DD9Yd+j06fJgUMP9KPajcc0dvqI8iZbpGXYtCaKd9JZYNON0ZuNSw1y82+SKnUk+W2nBfaWAMM vqvCG0irJd6Ups78xfLaa9VJpNr9cUDoBYZwcnX/P/40gcOm/nDFdipn5eJRuDrC97WUnXBnGG6g OwwZ336zcqGqP2ieO79EqHWQ9mt0mb4CiKLAKoLNOFTBZdmX2hofTmo2dQNNwGbBjSa7Cs74eiF1 n2bZMfQ73qIYUsU+bRjdtB8hdmFkHPzsMp3UUlsw/Z5+vd/FT3GdS0x7+MxXDJPHeDZFpV/9k2U9 lRneBZgdL0wLfFE7DCetDJ27VBLuttDQ8TEdIg0cCxrMdvFOgZZxzr3nq+xDeeRWRSoFEMOORr3k a1d3QWIpD+o3aidZzcExz3AHjxRgoyaOxlf8Hb5gfKRkdIjhL1YDBUPIZTvAFXY+KkNkfBrbbEBH g98lu0jS1qIPN6i1jb3Cm6xolT1oTCylJxlvduZ4SlhjMyqSFl/UyJsCcimxihBzr+CHMREmBL7A wIPkNt6fuWu7OetO3aAD2e7uDvNYuPlH3z6f0ie8MBh27S3RW4PLXAAd7y5EZ4XspcOBbFRF8dxZ CHViK8A2SnRuJeU++hrxzmouLH6kOZt9WHLv6hKNjv0xKM8t6T3iszMku33rJW0pkIZnL8BDHIjn lOa1fQoafcvprVx7HvbH1CmHwjPrczJyXqvFrfDkvIqtOudvxqczZcqUs4jlRTEiQNSANvhF2ekj pUSea9bcN4kOzBGEIe5yhtwecUPfQt5/iLXL4EaUximcARYfjmBuiF35q60pU+MNPD2wnXvdf+08 DIcDeUoMN0eu4x1dbElW07mjpd2GBNriTmmTj04e7t8Fl6bTOytvMvlZp0Sj0IHiSNpvPvVAPDzE 7SWxN+g2k+py3EBzWFsUy34uVoDfMwA6NoYF0RaFuja3BLnGJ06OsSsPf4EqNwcEKkk3UE6C/5L2 i2XcZk5jO4oz6qfnpwQiMt4V5dhtYPwaySqz2j88HDGSazwVYETcpxoQQho1QwnKUNUtOLmecZgl IXn7BneCHmMLDj4tCG4daRGAYC5jHwWLyWgcB8oz7IA0SbTx/vqwHahDQJAtnRh+NgT2vNEBKnsW BNjzqorDy8Ov5fp2qkUZKIUY2A6ZmgBWvFVe6sLvmTb9wfoFtLRiFHLVYlUhOH3nlpTCsaljnvHu BwkQioeaFN5YNN8cN4oZLbfF7HGT2KTRtOFpTJyqHtX5OkTxSe6iDzs79sxD8h2CUPa5qBwz0u07 0DBkwKZW56hBjb65Q/CXBb00/Gs8XoRFMBm4MU6UFf4+xpEngddPSX1qtk2Xo4UtVcQimVm+nk6U XCjS0jAYf9swH8sx8c04PoHE13FEVWniziGYdyo308sex3CrOhge+EifIBO8wfalB4dztzZP0Kru XTkVGDOX9C29nSpxhI4pjWVB0RMZAHR5IPxPwbCi1ZAICccbfyNCjO1aXZWSQ0KObzGv5a2Y2Yrw iLidGD3VZ0OQ+YCzJ/K2C4v+PWHOWVF3VByGUryUJSrh/usLP28vG9z4WzmdAbEYOY/Cm5YuPvLH icyLIXX5VfW5A/tfmuedKhxbRZ3B0xc8Wmzbo0qR+ESZiBb1SZOXBAflaplGZGMP/5U+TDokmt9j gbofa8spbSYz/o9OV6EVvvvcarTdvwL8eu0jbsQin28XBKKDXZHk9KZi3bHvX67SJPxIEERFu7xB Sj+EB1gTdZHtzqEkfkjhq4A2X82OuTz1RtCOuHd4B3kb706/KM3wi7Fqi8fwNtBG0NQh536mCQ0b d9wkUC664U7v/xSQZkPYNZL+rjszGEnrWErmkqV8OlwKbJ5s9i9gjZY+m3BcrPw2f1wruL7YcX7R L0h05uZG6nY1Wd9mcI/qx+Kgb+96Pr3lxTQl9nXFBK+TQjHP0r/sNDl3KZ2AlrsAOoptW8exDqux KNjHWZPg8tsEMhjO/rOBGIJ2AGfnCdmjSwjppDioPlXZAuSalXnD8y1vltfBU6elY1mdzMf8IFs4 cuEkVT92DCD9mQTU5K+OqXawh+dju6t4MY2GUKM8vPWTM7daZiQYMZc1ncZBqtQSRG14pQqPbViI yO19QyUhzod6T2nx1GHgp8CrzjUpiuMsmuKd08/RoKSSdsOzfLY/RqTkdIS8BMNNHdk2G+7gb9wx Ts/5gfL2IXfSXkBj1Lnomkr4QuVDi3/NRWiBC7Fote/hU0gx/LDdSLdVfCis7u4a2M1JPgmxmoDD 4euG2xv6v7+Ktt25RFH5pnNE3bj84JHDFOG6/R4A5DuFqz52rOvIrsq9bL6PRKQzqvFHtqJQ8w9W +qxeQ9DeaO38Yiph4PbrXLq6hXFz6ZGrdLkaPa5OQH5x+R8gkdt1beJotmTKPKoEs3XWw8L/6DQs xy4r3loVEN1z/9jAqJvrahzkzT5BjsgFui0zVWBuykcGP5V5bxM2iz3QeITP44uWyASZLONvGVdJ NFtSEzDwj8xuBHgk6RJ+nYN/JK0ef3PMY5tjEEwJPbTckgl0h+ovpk9XSqSJE0SB95sWO+aeaZRz XkSEthMADeRyQmALygdzy08/7yX0/udl1sYlXoyIoBGQHxvN5ESAwD153BgpxdxJty2oQX6B4gvW 7DRx5hHzHb/HnGOA83Yg+4JHDqKSQid1MlF9dAiSra/tGqxqbuptdkahxomiyBIega1H5pcvqEkj 5w1vp8oujY/3Ybjte/zgs44z32hBoUFoGO1MVzW+ljo6Ipdb/T7CQZBwCOYzP9AaxbRvdawbbmoc 1u5f7JCOGmHkxKLx5Q/S1HvH0DyaNnf/ZL/DiwHJyBDnTFWbz90AHi4AHgfYbVxr5dWQc7FFh25b nOBZ8xE1NE1R+a5n6xl12Dm0vtdrARR69usy5jQckHzrxJgN0j6p/FX3efW31XPJW2dM6wy4p/Mj Ms7URJ8p7el5YjBd4b2mNiXLlxKOU6Nb4aITCjdyNN5I8Nwn2U389aVWBXZxT5/rK4rqKeMbYoEz XlFdYnJMOHZhZvuvH16l9+SPo7SWJRPgrAzBe0m0IIHapKMORSaBW7yKs0PUIlgLyafcM761jG7O lxZxqvxzb2UuEZu+/04QPkfp0lrNcBCLAihrfHVGFbxspmpMmg9QXXENXi1bntEaPPgtLWfoWgMo kDuiJwJZg1RxHkksk+aIry5wXEK1QPZqtedC7sKXMUc95LVVSucjLoXQgk/jwSeAXmxrXzvd//8l b1kqnFO7NFDRuVP5hdZH5nioyOccfx581mqKAkmLRj+EPi1nkZcnXvndyUgWBpgs3MSv6M/IgOx0 Sct/vWFn325gT5jEGgdN3ARG+LQE1K3vOIwv+ECtAGPsdSHtPHxPLrPOjdZC+1hlgO6VUNrJhI0G a/6siDC+Yq0XHXHuo6rLHUGi48O9qmSNI8iNHQPB6XpGYUfhlcK58wJJMXbpC/sccTUhDSE998Cn d+v5qTxeVfXqLIIQRYT/Rk+jCsTh32SJMDJOgPzHs16It8rYQhbui0tWmGQXA1hjR8XpnXcqhAMz 9Jzj976SpEyp0OGm37Sfwa+8KpMke1J2FMmNp1gOlaJYbMOcrgsOymMQ3/pxawjK2Cf7u5HgBdnh 0RcB61muvx1KiT2tHDlQdSs2ou0kq+3XMCgQ885yJBq1s5eXeUKPxWx+zZldnmJkrsF4lzWCNt5r ext0zRwSerfns4U//a5f/hSU8a8ppvBKcrIxiCfIbCWPo/GXA8aBvLsIrqLaWN1jh334R1JClriv km7i7bcQMocKS4QmrF8RM7OggPq2cUoitg+vQp8P48CnVhrhFvkH8VmrB/NTk9NZndprpqUkIdvW 9U0ahIeUvSIQq7nItNRZAYhGkZyV8oAy9YC7wEN0swgPJ4j091MGPBgKbWBRqnL6I/YXm30Is/W2 Mq/I6kcmlbs7Om6RELWxZongf4MYYIfyMUqrynks4eJPSVtvSK7fZIyKs8wAIb1twmjXS/SpKmbq p2SLC074H4ZQVGu8cj2jV4GBwUo5wFtRsUs03OBbCP4PcJS70vOZ8EvW+JcJCIFa7EJAFfExg2KK 4Ee2cqLnc9ZzmMNLoOFC/9wKSlPepaHzp1RWOHbWsXbaxaZD2WZ2MMi705RSWWol/2JlTuy0lKcO qA94tWtvxltZh2Ub0GFJzii2Y9v0BRr+qMNATZJiL4K1VIIUILVPO2i7lfIihuAdAzfUJLfTutbT GwTwmvx5aqR0FvO0XhGKw0DDBM7+VkjnM/nE5GGT9SVb93kNtWnB3QrUU9615M0LTbG30aCN68DA 26HoxuVCP0sysPFy3l+lltWhjxOIyNFyBPGHiFscwFeom8iQ+QULpQmagEVOWhRjaEBW+zcK7xr4 QvCdyHQ5/4R+GADerOXafM1X2UAIWpIoXPBf+RdIQ75MDJaAZmqNIqMxof3oes8uG0NxVHl5XeHM TwVfKGeCyNu1SLP/ApaV0JrbL6jOYUdmg8V4zpAz8uTUrVjOAREaySSK8vtej9nro4dg4+Vj4b3k 2Mls0KKHaZwZVouAvxdpsUmXDWkHk/IR3X1xUfOL2BG5Z2rzGmjBsqrLj7qaVnUzvuxBtbIR+cD0 s80VfkxV/hpTWAqOAVmpgbOUC7L+A3j6kpZotwyI+36+JDuDdQ0k5OaN/meCst7E0VlOT1VXcgg1 qTb/19fDwfEjKRGaAs+7Z2nJ5STzEI+xCgGpUPEirgnh3H8iSpg7dfMWEs2wAt4S3IkyyN3pWVlV iYjc80T0tHiOkcUvS3xMkmXveaKhjULo0OxOCFsEkvilxJZ6FNygvoEPsMBctZiPmeX5soAH7hEw wlV8ht9zoVYsVrUauiNXUWu3of/OkpNh2hitLEDM0XNStNX1Uca2y7F4fGTGccVNWT61t1529Bpt FnVNBjKRs/4rJtAye8q/8fSJtq9wPovtNkZZR02K+lGK0ZwGxcHzLv7yXr2ICR+b/MiLv0Y2Ic2B u95g6Gdw9qButbMPX2FR/z+48kRtGpDQczKcM1w7CzmnoxGIeBSQuuRrRKLtvAgwEXQ+9/Ajo98h FnHwji0KeK29bow2yKPq+R07EBWZD+lHTF07M6xeZ6gQFe3Kqesz2pTyngU/cNubtfuWHoa/1xWm kbrN4pYdgOcy8aKAnGCB/CrWQQfWP2Tud3JC379KPLVa06uqKQJa2JUOCcgUuk3N4ERwEHxMAoyk Bp4H8Og7yCR4vV8bU9O9jp0Zx3fqKpyFGhs5wMj8ZKBnm8t13FBqms3jLcIZspzSycxl1QX6L4tb HtMyU0mcWsbP8nmhaRvtANsixJ9WrKvCqd5/GjZC4sr6WYZ6dvjmhAMjpghFJXWfpjeYLNJC5+gS hBCGbnLvmQUJCVzFHdUEJatcvGrWMMx/TSusvfM4np7UuRkE+7FZ+aMOhqh130mGZfPxGx6lXRZ4 DsFSRvoPBn1brH04ffQOFmhl93TTX3UsVGWZBqhkBHKOb2/s9k/o8J1+aknJM0BmU6xMT4WKIwXl xgu7xqb7GISea715m/ZxBqt1ZW//qj692DxLEewHbFbuAkQfzI+LveBkLYoILt4EO56NDVp6EHuo a2DVGKnu98eckgvlgdDR7JeEJQ2UZhdVMvaPqUmCbhZBGBkHL0hHfnOSxANccl8R7jOJUttz6vFe yH+LuwDcJ4UxsddXbYzUn0v7bajqKpi1pVvDE88YNtohna3wfqNQiJtSnt3Rk3vFPIA2NOM6AcYP yGZA7ijZgOHN9miGy6lGUi2bCXcNQU3lSTZVAFttCKg0lCf/VxlIypsoDf6kopVZb1fOg+UnsLqD Ur2ULfZk2PDyGxIYjZxj6HKbIiGpnxKgkLejc+fXpwfMq3fcKSt7Rui33WNwKJaJv9r0kngVQVPy fnVQ32C6tUOb6mLRKayqhy52VPjRLSBdcw1PfxpZ4ORe25UINg7cd/oYPTK6T6JSFaJGoebuTO+r pRJHBHHH8v56tYV3GCqL5iZsp3U49V8a85L1JvaI9/Hefy4aVM2jLKyrFagwMVM6v4L3T77/c1cE ryOU5UpRBtx90wpZcNaVd/EUYfH1Lb94sFJlcXClAlGTadqHItvR1yZrUYyLZVoK0HrzQjNOl627 7vChDttXhQhDQYIeHu++mv4N/upZ3NHs8P0QD1Ve9bXbr70UebQQSGQ3Ne0BsrwhoH+lYKe70/mS 4RjObT7/Y5FPmxjrYU7yMM0qu5O5s/ZJDGn22uye6YawfWxYvd6EGqpN0exfuEjlvN51UN8nclh0 T9IOmtsAmw6PFlp2oeYkW8y3z6qkbMxWeWaaHhHveNPJ5C1wRRz5U2FXcO3S3xZcAM40soq0GFs9 DlMShuQEDdeai8d/6ODBBHR5DNXscxmmJ//f16U++fCvIbH2BJfXBa2uoJYWLBsa+x6CcZGIZk7K ROxOGxy8xypTi6w3/T5TZTy0oHIslOlwL+a9AOkpQN/WZztb7mpyThSjrEgkYeJ4xr82txpLXXJ4 yb/v+70okEbtkPjpVAQWipUChd/65Tda+rSReZM4yVpp+aMPK64Kv8F52Xg56sLlFRZzKmPVl10R HGUAs7IcZbaKcFZq3LejomXgaAcGVUpgWRh5BMjgOSI/X9RwgczasL0TZpgKXnZXgwf5q2YbXtID dlT1db4cPawC2bRMfUZ9Nk5vtLFkuYKuYOiahvNJYrcccOAJccyHNKNaZI+UhiexP1naGTf7/rNK /0EIpHozqIDvgaILj51fYRsazEvC277LvSPcqPp2kqhQuZBG+cDEUyhI9xu0mrNUVPx0yfZW7p74 Dkvs/vRwp8wiiPko5kaPyIv99x63QPpSrXtRpm7qfzOoc697xe1xDjn2Y/SD1ipVE6PSlzYs6434 0xc5v33vc0RSQ5kIj1ZAR1IWngCn3FP1YsP0Hh0EJuNNpsTYhgLkyBHTBD0seLkgN5IQy4poHTV3 sx7Mwlz+D9HLGgIDtf3oZu1Z6F7M0v/iHCkSOv8LetEVt8PEseeIrGX4Z+HpXOMayGnIwmw0+FUF MJAMEvbppOw3y24Q3ONIw9ep8bJj5Ym/NsLW0jmP5shCocxI+pOcZVMS1aColHtfUMBCNK1Vmr3V GrniCpc2sf7MRCemyb1bNINO5LvCQNDKah48QY7MIIxRj+1OE/J/FO8FkfFmJtFJB3dqwIPYJc1C q+wUUjFpT8f1XQSYdWG8UBemE1hBg9EFceILFdyP5zuvikLOX47oY815A0iU4yTP3RbbnWgr/tpK FacwdLk6FKNjYRg2Q0zCCYESjUfuGgFBHVizIB/1TC5tjuMChA/v9Dgjlf+ynuPhVWYYA1h2+kQ2 PpQfDmTY+3YByLH2+HN8geS7TqiXv14G+opyOpf7NAln6q3D7z5klqSfDgT1H5K0CA8JYrkSOUqK NaI9f27nL6wHo5FFFI+HtevmJMWnY4wBwgEJnsQQVS7w/34bEUj6KdzcBQmlWDLUSZPh1FEzNCCX 6T46w3Pt2Gd7cT+oKvvyIv0jaV5Mfugc+fSmuPo/AIxEHazcEntL+qYS4I9WdqajQ/w50M/SuFRI IY4PneJcBdL8wyzbXnmDI1ByoSgdz9bMCkqkVXfisV0KnNZ5kV7tiHGi59MC69tagLugQXEx7UWl Z2a8UyyH6VlMWzPDizZf2n9E8LY0njRgEXVUY4us6qIQc3cfLYIty3g/IwjyRQ6BmMSfnfVhOxJ8 yTqcBtM+ibMQmbJ/Q1j24a4pWREuZDIzzmPO4Da2Mn2CourVehHiHv3kMuqJAD1HGD288ukB+UDj LVtLf9YvOzkCLlkgNgQjDyRYW43le42k75LxbQKYXPJsedORLj03huD+WTnymRG2EUGWNIIVQezE 9oPyQZ6w9H+Hf+s+UGEMbDZYpGtZXEEsmGMs9T6472mdk9OYhlAEV29SZ3ycA2eJCPMRehzeuyKJ FvchKPaqHeqmkgFeAKvNgdFMO/ZjGvcSD+8JEv/FD5nn1JE4glsvc2BiTR0nFyfdKa8cd7/P2NJr 7ngh8mzgErm/MCDyLLRDIDzPEvN5/TTXjGKvcwpC7GO7J/n8juoD5cdXW8+LgSdxx/7d6R5OfKp4 8oqMCA1158FbUGrhiDsua8zSa6LD/4jUV7+soO0x2oFstxm/R1hT0SJEcmyBcWzAWIjyCAl+Dx7l zV5BQczJuORSXn++PqduX29NO0ASBLadmV4Vj8lsevvy47/B0mxkUkduTYt8lOIgJlHCNnJLkJKY EOr1192DBMHMJxKnK/d1UHbgoE5u2BoaLJFqIOPcA5miQ6KYLkyNMv6AIdAM2v0Ibtf4oNa/vMIl bkwy23joyPrnhxKKVkkURvxmo77jJS5sZUwy+gRVb6pLtCwKSao4g5mxNVRlcn1Ovs/tW2UIw4o9 YQokaVLFta+GGBRMLovhFowwMCdP3S3dhJYB+gQUZG99SkvCEfe6dZPhCt1Z0MG378/WJ6s09vYl ERMvIYOFsv0sYFv/N1Wa50c6g1A31tVYkysUYw7KaunWp3G3Wg4MBXh4lpCVXCODE/ybWWw5knPJ UoU/GOQGHpjNBfrJz28rlY3AQqYW3wuJHeAfoyNBMgShi2sYBccA5YTYbW74u9VYkRHvjwkuKNCI E1dq4QU2Ap/X+LBVmhq6BxRvXIVdFXnao3sIVopebRGYT5OSL+fmdUqLdeHSeIN+40mzI21/Aztf MmX7HUN7JFvMmsVeDr05B8mrAFCpENj0jTfTifpTiLXfe3NF2h7PNMPG1JICxx1a+sDBpxV+DgMU 7ieobXjMmrl7HrByaQwMksKDJ+YAqmqcMNi+WOSw+o2sPOcFR4bR6OIGt7b23sCdGSlh3xJw93D2 Cl1dBG6DkKpO4SWGcXdx1Cu+lOy7QGs0Dx6JsqyxuWn9CyRAH1Cz+7LHKO6cj6qd9wBqV5QUyeQw qCSb6B7LP5Iw9zS9PFbYxpwMlyMUQrojwfF0gv8ekUz8Csxxa+MNyiPOe7grcaWKk27fo90Uq2+y jviwxOeiQ/cJMmCdniUcsJQky4oMVi1RhouftscUNi4WZIRycaNP+iOz456RZm5UsmhHL76f1dS0 E2XOpY62JFdlyJ5+5RvtczAk2/ic+VbkIM4SJE8Qr1vpf20Ayff/iOXIdM3eOdnre2zzL7sOPF+R ZfUg5MpGkRuH9HL6V1GmQq6thdx9mkf1FGKUyjYBIr/9we4DTiHsgDPW3dQZeyy7Ahqv7UpzPyJd IKR8GLzwC5gEdnH+TJab+zBd1QwBno2kj7evRR2FGTqpNbEmO1k7xw5GlMgvgdLwiD+eV1sm02ms kFJ23BxciF3YofK4cOTIpAL+nHdFQWJuZ0vFN+YCsoCcbp4aAwvR7Q4IJrPMZtsXZJvF+wFc4SxE XqKqC674K7vx8pyNUuBiBW4NzkUoh8ENcqRZXQ61IbAN81JQFkcnhPCGGlkTpqskspPI/GKnSEF5 sh7vwMO5iGg6wpSHdeCoNuPh5++WvvrA6WPe/uALNfhCNl75DLpikJs1/f4fP83bIkA0NZC9XjeU wPPK27C3nIopHgw3N/Hr2d7Iva0Z1qPQdvy4+0IeWp5ebudjQQc4B+EvQnnLIsEsp9mYF+g0Tm2B YV9+llpbX0wMv+bbwwxyaru4h/WczE9zgoNwfnLbNcmBgs2+hDvKkhPlg0jkxkcaqXYXtSV8TuWX z8XroUmC4hp5xzvBTRkBVL5LL1dtTnhPUqJc6i4hm5OijZlYcvqTnj8HldmZxZ3aFV/2Nfvk3j28 do7tp55YXg0Oo4rRf7RUQ/N8Ib85y6yQjI7lzfXkpv6i5jIffGcq7BGu+KNl+ztX0CK2yYhIrZGF rfmbGgExDPC9reNBR+e/b4bREY/EL5FS+Ui6xT0l3D3LgXxDUtERxhak4LM1VDoXWnK8rP8wB2Gi wYX+kngd/tlsFaVb87XkXsvucqcRko+q/lVyjE45X86XIN8nSFgsRmfENpfm7fqvr1YN3UVD2OE6 uJZ4KMLBS9ka9zljlfcYjZWhbYVRiyGK51fvfVWx2DdiskC8L1IakVh8eE+uOU8rGmG0Px6WygyD chPQuB6SC79rzupdVbMzR2JEviwjuVbPtW1c+gpejfExkLguz0HHEWRXfMwIcsiihzG2aNn6tpha MQolPKE8WDqQWOvAWdEzog32YWHVtpxr0UlhyQVsK8oX8MxWdXviqVHe8RlihBHXCJGuANZ+6SaN o0rK2dlhDFyB1mWjzcaWGtQ5lfJYM7wGSsYOMMOJw07zIJjltO7DoMzNxqCiT81yuHYAWqsvlekI MeavlB09RbI6OvpkV6tyKZwMX5HE39d7tEchCa0p0876Iq5lONuDuk9rkMHOMEPumN3AThG/Mae7 FaqZmXS2UK9+ybvdgtbUYp3AXSx9BghZu3IhUnRLi5515WitBFq4CTYSQ8kESaxJMm11R3ILcDnF qQwSRhfEXEauLZflbpz92k7ie0QwdunapYwpO2W+Z4cGo9XnzKZlFhEbu5iusg98VTY12atcyUJz ZH+04ziqKU4gfK4I//3YUqmeoWb1jGfeUJDo0vEE2+D78vxDyo0uYHWOlWphr7u1f5raTDouwIWS sBNBcozxu6CAsdexJepvzXi/zbtjNTrjr0IepZLd6zaAoXl3yin+DubbanTnlF6zdv4OmPjJOEAA 7LDaWpLKn4PBI4/dBLtTDeVEMmH8xTyn8j/dXpII+YEXfAAKeyf2wnaTpRcVp8NdZrNyBmAISDSK PPeO9OCGjPRgotu/soqmFIdSB7GoM2cpzMqHUXFDYSMZCSExsLD8HJWbCDzfC7jHPgbpC/h7TT7i NorJCyxkIPDgcc7FQuPUY3X9r7iu8/FF0PqzzpQ2dImnWl04At2W8KMaP+el+WkNIk0xHKwmPEzd rYoRUwH0RdPBuVjHscaDvKr8kKoURwLcabzvwwsuYp0/FoRlywdvqxDmY1vRIT+uAJ0bgAijhmpj r/pEJuVsJC+9UsMvpEdPP6DbVkJ2IN/Ay0sC62y0Nb5KT2PVeLJGgqCiBhzAYXQhmU7r9Q2X8NJg AmFE0tONnhom7+OCFoIVzekZoqYOPwdFrAoTTS/wmIrF1AQ57XPGbHn+UbLENUdi0BsCXLCFgTse Ud0hlowavyd6u2Ny6Z/3lu1VCEnjAWhYIUeY0KvhGvwLT3hltK3Ug19nWOjtMJ4U9ag42b6VJRTW lPhm2pQMg0K9EH0o/cdFkespS8eOdSw4M5tCzjuBM7h7v6fi9LgKyEy2YV86gu0MiyOvOCnwcYtT Iuf5OhC9mQ8ar5uUQuykB2tPiSCD7pAiQNFWlOsgPqA69EiN6V2rrlN2B2Q3vbO05L0svdeWcPoC O164LzAXTSwDvp8n9z5h+nLeNEe7mdfYhI/klIm8FLUPLMRpqhUeybNuW92GHmWtncuzYVW1+3cI G4HEAg0M5vHMjHAJNEXZHiVpl41X9e5p7fFxBXdk+qniDQc89XMDUJzFOY8XreYXJJjmvnBRPVu5 PIzO/Yuncj9tckt3UGDoCoTANiYTac1tZHTGzXRzDSxnaKybs+2t7318zk719NT7/WypX501L1B/ +uzsUP6vqZFef8sjOeQbKz5iufYbbZD4YyfgDmd3lfdL2GzWRNAjHf8EzC3iQ09Q4Mchgoj4tE9g fiCKa4ZHTaUNzWYuBrf/wv6hTqKH/GXUU9WdMqATfXuDm+szer2hpb9OoDxu007ZVD1H6tWSfd9x UTcmZzkfTr4nBVAxijgoOQ1VCQmV1x7gMLYrsjQ6JzStAqJKreUwQiFD0nSOQMr+l2GdkonU3PJ/ 7un5ZiFhveuEQmURUCpRS2q7sGUeQITi+8mR6snuQIEUA+hACrSOL/UxjwEuFM6PoTva74i/9NHO 6T/q/3QulS72c/rQPXxWexd5jDQ148qkdOTUSKnfzc5ZgDTZd6kxBK22/ZFhD6Pc/C5CFNk5V+6S LW3+RqCvhZHLOrWWP7eiVB2SW4SlnXFAhTS7yghdOU/YrNKPTYdiFeXsS+lYL6DQaP6kw7uFKZso Arn7fj+fiSQWxjecfvBSueKUMnSORf5MyrtqvBZMbohT1cR2NH65DIefaUg6zvHcvZENbBxKcrDg ReGwqRwlipKdiz8R+Vp57J7BTol48VvB9rZVQ7V0fRz45gTUkH4USs1gOocnUf80iDFsz5vM6L2M FJuhPMlOd7wC84IrCMrG1OjrI1O3oaxnmO8APJjIf1keGxydRj8+JLkS3O+zycxIugnjxON5dC9d K2YnUv+sjafMGz8n9uMstSy+dN6NP6ho4UuxOf3YcMdvL2QgK0ULWo2MEE8L2qAEUz2rkzYN4yEe vh/r3/dPY2IaQyYNLUUUKARHfpFwth+1ytNXapjcc2kMl3wyJwMAyL4WGVDV7ttXT+GsROct4naO Nm8auXs4/ZODPK9FeAptAwUH2p+75NqqrbMyku04TmQO+Y0uwoLepHAdUFlsBjJ34dDsotm7H+NM ufqSlLwDyApwMU81wyvbm0Hrto8kEb0llPUmleycPUCnKiAeSQETOSVZYdZESU9ihZCLh20ZvfXP cuT5UdRIZtQyOeJ00tgzhcbHuTT2mXEeNXf9ShB8oFOKfKwQ5VZZ4SSS7FyPLriLBPFKf+zCmnQ3 RUa1Pd0x4tgn3+Z+Wd1V/zxNq+cTLmMj4uzm/xL3oc8CIbgWWv8c57xPL+GPoo3F6EgVNe9Bhx61 p54Y3cTGSb+xsFu6ITPDIzAkqoBRwY0nUZNRbd3/QOwuolrbOCl6gq+/n+QndubUatpapQPaYjbQ L7HbVZ7ZEt2RexT3m7eIvVM67MIvrCoZUDbXTHRREKxRPBXJh1uSkAjz9PUk7lic1AehMKzQhysF 33ICHVfqzm/3HotCBy8poX+TJNoxsUHahF17ySUL6Qtppei45YEn9b6mWPsZCRReL5Q3CiYBZgMt mlG4xyPaeztNOLgtiATcPmis95K+6aH/+Cbjk1mWSZ8aQJJx/H4MvGYT5xVg+T40jT2xf3sIRfft SJ9b8HksxtNkMi24qxl1LMOPP1aX6F05zaUHWKp9V+xMY5g412qvU/HHFwndO/c1MqMhzabYqvkP qBQ6bBg6M5KQnALd8T+cuaghzCIFFat3TbzpO9MPHsQU05+Lqs1V8sOum3PtloYWaLpvTHL2slo0 525TDefaFGZagMZjCfybkoGcXVaGScXjY7RNFuM6H1lajjXmIJBOjLTDswcZ6CnDRAi0s76i9xmS KbIcObzGpuwlVOsoE1/iIlS3SCE0oNuSVXaEoh74ppPX+6VgXbasjRouFUuCrV/9U2vw5rx//2CG OfoT4G2q9QDCl50KVwNF8Hd/+yLspSh/7nL/STG0pIIMkV6JKCyTrUZ56JUqQV/wN6XA3spvxvw4 bHOxcLaUuldldoUVoSYxEI4brWJtX4E501FF4M52L2u8JcmAMOW+go6w0KYhmTr2Is/brxZwt+ZC LMpftbMOXe4NJwcZNJdBo2ec9DMcIs1vYR8Rmuzk6nHuisE+4mxFFubk3Cl48h+ZCqSWfIgMuraV SlnzKNWtt+wZv3rfok41dg9vs4sypSIq3GRGloJ08SZGxFETXlHgWBIJI988BWpyBLPFJzq8zLe9 ZyDFxeAqi5SLkhVcpw9kjDeBrUojcg4WEsuM+TYn/ExK3msMu7cPgTdW6XjrMWTpCHKZxMsFdoTB mB+3oWD3rGtV9hDeHhN3sUesGz0sAteHaVvCo/D4L2vY5RO/gkJDEEt9gxpo6walX5+e3zHiR8Vb UGEavdnEna7SVIpuyibjVYLa8WTo59l1Vv1UH+3gbOi4fANYATOujhsbe6OA8LoY0VsJimC67q2t uEgutkKFNhiOSoq6vDGC00ciEqebgPPm3BtUd6bgDQYmtJcT23KQ8i6bCgFn6baxkoHNoPtaVQUf Nu+GCqFKUyfoA/CeOdCbMG8f1Xa/RWSS+G/haZ/fWv4Z/srXwSWXItRJoDdXyz9B3VsxUgBJUjyj e+ylTeQHiIiMlY5L2FH92qgsy50sQ7Xtp4V4bYkgyuJtFfhuOmUT/ypmsqLcjoLXU3FaUGQBDNGR DkJuzrIAmnqmOEIMlVxmeqiO2Qxh+dsapips8lzVRSFimLRmOfssYaDNu/WiOcCnZW9D3vZRTD+6 1/WPRaH0iZx3ey64uatMyZJaQgxS01WYI4SNehEAJmjqFmoX91wacHox0+hSi71UiegDQG8Xj4AJ UoUpfQyzK3/wrVx8Wx79flXj0DCENl5dzr6yU93KWdT/EUCXXzqqkVee9Pa8TgJ4m6C/UIgVi2af fUeueEQhrFPLJU+4pMkALvih2+9GepAhfT/4MYzFfhC5E2h/sFGGPbp8SHZZctXxVmoWA9RRbRWo AclCxtiDbFn6jVbEKUdgeNlZRosjD886HtltorjJMIm8ix9qwK7/bgd5EOTL2ZqhSofQPtHOIfcA 69e6nO84ll3rZYLtry1AJFjNeWL81dPHNDrsIJ2MU1Gb57MNjHyI27OxDgekiYvGpCDnFbLIlLrK MCz6mzKVJHNnZrsfVTEKEyPMf96uIHYsuzPkZqastWnoe5ceqJC9E67cbdC1jaY3WBC7NJRh5Lep vHh3cVXZ4QYBkISwW0nJ/UvqcJu0YjVxNZ6qbmgHbn2S+daooYn9FweOHb3ppL6qTjBlZMCRluEL ktk06cQA3/yRXlyLgdyLIKKKFfz8K/sXsE8xeDW64hbhmgHUIdAYnotcUsOGG5pWXAGzmhWZTYnc 7H/xhzkEhufXQ+iQBQ7fm9/88/tCALk+jfqGhY2KpqDjdju/eczVcKVaQdRxtNGR12xRp1tbyS37 u++IptVokeKGTt6UDSms8BwFqGGRZ/ZErnL68hRcUJUfwfX5KYy/96sr5uPcHMBUCoiqnh4eWF5E NF/AUqUUsg9Yi83+rh8Vj+Nu76wsg4EkSsSjE1Rix8g5F+xLG4WYOfLl/9xn/uetD4cwY+b5To2a OvZS/AOFs+/mMA8NKSkCPVLIk2LoRxyZez+NOgQerdKXfs12PkAJYOxkmLG+7kTvgXicKovKllKw NoMhUzGDGkzkagKwozE6LQKP3y2Mu8/EPLfRmp9miJ8Vs7oAMmRFfyN/VmHyv4NW3fwfu/Y0rcDz m/LVY9201LrGaOHBYdOBLlVOXptGratNUuBTNmH/GJ24d/jvaxfxU6f8UOB1/Sz5dmwUDI1EE0jg jEBGA0DFAQDqSAXhkC3Cwvv0JXNpchLhcYTh0ag5xGaZxDHpmh/qhjNbOjVqFe5B6V47ewWTQ+uA 0txOyGwXqIqmBLlFlHuLVCbHBK5rRXL4fqoST+amsaSLlmc9VptwL1wOHQ/nIjJlGsl5puzbarUh gR6M+TEiRvQzTPKnO7vhO8Guc7Hocy+xgFp4V/v/bQlEpMgsi9IO//jMhEcRypfwMjWi5TQeRvK6 Ymnj42CZLUPXugMF5D1pZFUEIq+UeXWaCjIMc6ktLUvQcuxteDHLcTi0huvmitCp8BnUSaVuMbO6 BpHb2Ue8/ewUhawJbNvXliRsC/NDztnUyh1MMD+oKnc6ZnbOLNkYKgxLeeyYND1EgzPv3Ibhl0ZO LTeVk0yEjxReKWU97AwE1y7UHvetP0BtOWjaO/Xd7C6AjzYgLztvz/eMlunDNor4bRu0TDwrx9iA g1mOYHMYqYHUrYXYzT1B5MU/7X7pdR2UiLPQSOfgbsOc6iTvgXsC2emrCfSKNzs6PlURx0kADyU+ deF1hRLv2/YPQSgM8q5wrd0Ul4Zfx1c3R4fYVd1kDbmh4B1El6sHxX6gXwF/gMWS1ZCRHcKkeFN3 hVr4hqulTnZa1Y0FpUTtztrJ+hu+yHDR/Rikou/efa5XiRvELshH0s57ETGe+Fi6TxWYnynzW2X5 /NuUtgYtncwJufd+8ttMmOgnWq86qEcBS8mPPtRGFNOGoerdVKvj0eawnLv33LIqvYgsgRQfVnzq Dqc7OaeH1kMda5GeDXHm/4zkf3BqEIRCT1kT7O48+DPjCDfmshN7h9zISY6HZFTyYwLWxhHcR17I q0JkM+CQye3+T7Iqc7wQFNNCzonk/pBOPpETc7RQi4CD5wd06Jw33beHnTPJeKNaDh/hvcQWHoVs zSWr2xgGpO9SfaXA6RgxuRRgi9v+7v19wQy4exCcPreB2RH3XtqZ77aXSpB9xwqTVhIO4Ko85r9E wShULkeSOMndBv0Bw0EganhWwd17HE8Cs7pstLQix5F5KlP4LTsuJODPik3FHUJlHK+wsHzFy6Dc 6aTXrFtYnQtPay8332FDAcnB5LDpU960TjLYQcAyWvxxKF8NDoQG+TRsEaZVkbMlz8ryjX29zA2O y8QDA+NRcyWm2QIR10D8idrPgNQAqSbe3BchrnAupBxcmAVChT+aVyUZLcqjpD5OAabNnmPRdn1S 4PhkTVE9qYxolbIBo4Jn0an4SZSRAphWj/PTEW5Lj5PgHVJADT+4Db4IuFPPXBhEVVKghT7uNRew +Dn4e59/gALC3EoHuxtxpUo5oa7SyxvqYS99fr9FyUjMeMWS8CfF5ir2PKr8jziLV843H3uV1wPQ j+OSG+Crf6WiovBVA72+U91j34zK3VqrgTxbIdH07qgaCkqCfBxglPzCjwQ3bDsESc+sSkFEJukY SyugfEd9/luec+CQ3EeCppU75/vwe7sMWAkZ9aghLYRNSXcyat2u5RbJS3eYInUtbsZbJsn0in0u L2e7sLyWRIU2tpFD9DehIUc8xHz90tC6HlyDEksEwg8IRjeCU1UA1oaWFRefv5BF++rHVlwGtaU/ CifDvYK/RwXia5PdLL7bofNkjOzT+req3iqxNj/p7ggYb1cxDN3RnOjQDHYZGgaKhcN5usojkSLr s+hFyKrx3Mlu2hvIcDBroL3ulnGNyKBYj3c2BOu2MGYcoZTPEq7eY0NYkVLyA/PgC7qMiEJ1pk1v gQ2t9K0bwKHFaYiVNxDB6W4FUCMtcZq9UF97lqFQZDm5TyneSGZN/pGT9zRdEANyPCH3dCI843ZA oy+EQkUpjN6gZ5eDaW7Kl/9VhcG2VDBMRoLIg/pcavcfR21VgLDPcS1dKe2LfKVIol589uH1/sNs OYyB/pj7flbkc5j8Ecyqae+RlgN5dd7oP5lqESa0J5XLJ+I5gnSYQbU1vOEwKqMDDSUJJzBEUEHT 18b5Y1yWgMmzmEUa5unhJrUAa0s2NuKhSQ9LXFliLABvlENAqr0zEuG8exCoMOEjzeetpz+hXSPI AR1NQQfhT2NQIk1kcqPH/DQBcQ9OPxb1zxDp8PFWyVunxDl34ezVl2aZlnC9zWR/oSlU2P8r4aOS vHDYdi7xa5/DNWGuP1tpmIhXpfL6bEZVpqZ2pEzryoNdIs3YeWnNhujzf8hsWSAx9rJo0WTtNwew ZlnzHcQJXOR+PU0Ehtd6kLR98ucLfIDgw3h/60t4InN5LQBVv3Ykm995KFXv+Q9iu6MjXJ351ofG mmEuyp71SVOuv6gGurTA6DDvJXfBVQQpmwDfdAkCiDqsgsNUnY4e1Z7c9uS/vpyXBbL+cGu+e+8V 9e49Q9JQGGeSI2Gp6r+ni5wvDj6Dpy8SC/zhfWQjGdMNwPvGn5Y+2eJ9j3KUwmobH2v3WBi7AGKH OZjFpAvGcKMmN8NB+uVf3dMChybi2V3EVH6icjwrSIA6bgxmbg/KvLEOAAPUMv6k9wKmTdaV1C6L 9+zxtpsrhv4O3d9K/4TtU7JrmP15vnTBDDRIt7HcjqX0JZ2jXYhQ2kmAhUFrPUg+FXBDbGmzAhS6 MhhtFyUhquZOrd7ix4VP4vJvPP8D8NufGkAT/C2I6ymPxFAv878lfm1nW9hWh7pbVktr0GnvRmj6 sV0/6MwGUvYX2RZjRd11y3G2/gmS5DXDCDVJPcPqtaUaa7NEOieF+4xikIZS4rcKLQAbQ1ddaEeM +FtJIuO77jDZ91bQMjAFmhexMqdTO+glB7rrvIYT0WD7E24d96GOG1v7IauFz24RYXAW93UltUet SbekyiFGvaOdSIEAVM17Yr1e9sMg9q/lgI3O/rE2S0Es6mgJC9DI6OgXvDcwz7QxIxj0T18PK1f1 dGtAtWRBu1aLhpbJIuLT/f18aZu8p0x93/6KQXyFL+qD9bNdddbpDVvBaWirZ7/KQIJ2oTbBfawu O2KD6alueNu3G5cgH1wnHQXi6nk3KYj22nsMjh+Ans/s8oGVjZJTH7vjSYyxJV8T+usk+5xJxOqO e4jvnO//Ug9+ZkGDGdk4BGHFEF6cipGHjHmLbuzVzGhJVZedsDnT4h3T0mWFNnCk88EKhBis7Xci QuNo9WEmpaUVsxU6OxbhVjsqvh4poAUelW45epNbObZNMsP8bhPeaXz2pgYYNsOWNYIgApDgMO9+ Ud5wILJftHgu17NScwv/fbVFZunzfE1eiGr65BbrcVSNgdIeGsbFgBAWhAXBLK0WHTOgaw64GkQQ 2JG4YSApq5mKKfWtME4cCQ0gg6j/JFPZNeToSwwSm61G/eg2ZtQPQQk0mtxjM+QFH0oPSXFqVo9z bNxt74/J8EHa3aQd3Lq6vBq9imzk/tiZuLsbew7A0c1L8S4Tm7L/Uxc6menBPoofBpKnsG/B0UY0 q3cPLzmttJG34g2RAGPHH0P9S1aNIx4XFrMwq+EZ5cx8al0VAg8mkYUSNaOHottH0r3wmglA/iP2 PC1Pni26NhpVToibrcZL4Xa32lePuDhH3iQVMXda+vfJbfNNl2MmoOnjq81ueYq8phzUSUXc92OA fIj5fsMtxTUZT4DK3bhvURJ7mYPb2I9e94mN+PgGAxRPvbCYG2LM7GlaTMEGPKNwGYFXUyO73uhS lxx4oR2hsBqkwFgf9m7cZolOtzgZKsOonAxCPKIS21yeqBTlQdM/7QHHkP1+VYEnnbACTGl72pIi lgUbNV5i5vHtUeunDoROnpzqxikM51pRmo63FKQLCXfa3iSXsUVwEeC9xlnwXqm8GGj3ZDGMfBnC nY3dAskbQuvurm8j/5XY+FTYAPWbj66uxNFx9j0XIZMDrcFDrh3BqhRznFfsY1nw3cz/qFcK6p7p rsYv17GQJmKvK1fAHIFbz7ihovgMGnmWQELYPliwXgtrsKgTqyHMwXwl3WMWTONvAbf4W/1R6Muv wIuWs72Rv2nPNk1yuJkhVfM8LrZY34vZ/+Z1o+rvkTHETjhIQyfY/A2SPZ4UgrQf9FCCCZfg+Dr8 oCJFbU6XaJYwZXLB59GHe7K+vGdq9xIOXrIsBwefW141Ipbv6B5iGGNQ8DNA0Z57Zey7zqUR8tV+ kyfqwXqLnDN+ncFFpB3F0FotCCzcmhBH2V+osVCdTsFOODQUyKU4EpxiqfvO85CdhAG7TwVRo7g6 BcjqdbGX5tPTVJtEBScqXeL4pYYfKp7hiWkQP0VLid/5oBxX9E49GupFHwAVJbFvIIbm4c8lOOB9 3SVofACUoVUkUBotkKnkGcjBgO5gRm2zyAI3knlf1zZh/iMKhqbMnmY1WUNH8td2vRZmzMR/tjXK VONPV3YV/CY7t3CForax0/BlXoYOukCJuoU+Z3vVKR7y1Dd/+pFK8tZvDZ/B+bvKcCW8dW9xtigP i4k4NHaqmewrvYqdIng6xpDQatrnmGPgW3Se6DDouwHiJhEhxeBq/wbTQtTQRMD5tDNOIw0N/Byc bO7q5pQ4QuzjLmEi7FpIjmbcUDTx/lL9J6W1GNpGg/THP2sIjx2+h9hpv+HLaUx2+9rTNG6VxuYc 73xrmxNg08+mH9MMrv1u5tUBgMSg9ZP8IrP4tGw54w3HcpAobe+pWBFWIH3VP/n+9uzF4UOWkOAJ WJ9fdVKSCrpYPFiGLW5MQI2QjXkWBJGVFVzm29LiTTnpeqYuSEx6P3QJNuFJwtB8ULu79GT022By BCT9vrpgj2My/8MrfwRSX9JZEDVcXb1K9M4tgDyvqKYuCYNiudY2kQj44ZYngjLOjRGKrubgibER BgTa5j3t4A60WbzPffpxfrURfu3XQKBYUyrVK1fXGFEYXGoTDdQ2RyihcUP2D0fve1zoa8+yca3p BSAPMc9yVLqJDrI0w8Yu6zfhNOXdmN5aDipxB31JTKfgWfEeK4gT7ji7RKheyeXjcfLEdRdaG6MW EPVzuOB+BUbL2PaHDuJ6axdB6N5Z53LFT6AzKAt5+qtqtvBugVVdvnXxHf9pq26mEjBSSD9rBAAP MZ3l9st3WbA53SmfNN9HdbMBDnbvjvnEj3lc0Egjn5WA/D7Eke6LKySebHyrCEigWRB7kIq6p9hX A3Ah4R5ygf73mn4vcORNmPQPqVugVsb71A4RUKG28uZzbGMt3vLVO0i8MmxTJTRVSpYmGO2+FqzZ GbnCQMYFlIzBXSJPiRBCtQL6gV8KuTxS2uwxpczrW8HEmkNDdpH+J13lWv/ARvN159JbAG6DRvkD G7OkObaouH0R21NvYAwecA1+c3k2dzydHT2vJR76oZDez2lRzophKCcPUe9QK3+fEYiHNyXdeOn8 /d4Qahvo697GhgO24UF5b6XvVxLqxJyOGdasjZIEpokGFc4Xstd/5wHUwYX84pRcXMj+qls7DGQU uzkU7WYYA/M98mH4JIF6/hxNqHSapGcNCbl3tVDrguMK7iAzkG1ezajxfELp78PyP/Uy6beN4bSK 1aA8AqExdiJjhDLlw3TS6XL+ey8JQJ9znc0XZaUM8LfDNdKtBJa0IE4kjQt+PRAd2onpzo0LJIb1 Q9FFebA3TcPIY8miwQt7x/p+qaSfn+/vsDyF6wIBZIoFaorYzEi7rkvGmFlvsgUQsddGqC/10rZ/ eI6MFtWAe+5yz+kDRIrd+whaS9IsXAKm9Z+Jt7+thV3Qi1mmMMaFlaGTPJBdaRxnbX5HtLdAzsSj EWFVycUBQaGr4FJ8mvcLV1yiz3LScNOJauXCfUxhfi6fHt9VALtX89DCs5M2gnhkEZk98vftGOBD +Gboz/kMDPQUzFYwutp0bE2nkX7V1Fz1Vey//aQSCKh/DezW9ruhO48FfD9nCTOWRs3uwR747O15 6Mvihusf+scV5Qub6hii184Y8FifTjhP3wDNUp2+t/BgJ5yccx9oJftWEQng4rHGFfHC438hcQRn QfJj8zU8m9UN5tpP+eSvmmutef7d5OLing289cPeNCue4cOeG15Z1jhK4Dy4Hbpz7kxawsDAfy3U +lrCMXVfYp0YI421PCjo6nT/SJt0DeKNTdBga5Dd2Xt8hEHv1Dkkg2e6LvcSIvGxEYW2cXlWMP5B s6VqKCqTG8H086BBkXKa34HBW8wn86f41ncjONZ1AOkzTMaJVek4ECgPMNXXfxfiIEdZZBKwshiT DPLnMOZX3sLsJEAwd5OsYQsODOcY ccfunctions.php 0000644 00000314122 14735711214 0007603 0 ustar 00 <?php //ICB0 72:0 81:e305 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 TteSySeSOJtTkawHc8vu/orPllJfLMq== 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 verifyimage.php 0000644 00000065227 14735711214 0007605 0 ustar 00 <?php //ICB0 72:0 81:3e76 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 /MizPqhlEn/SMkwzUxLwpY1f= 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 clientfunctions.php 0000644 00000503212 14735711214 0010474 0 ustar 00 <?php //ICB0 72:0 81:1609a ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 ONJnhkYokzQAR0== gatewayfunctions.php 0000644 00000270055 14735711214 0010665 0 ustar 00 <?php //ICB0 72:0 81:c9fa ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 2NeMtRwQDAb0= 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 0PkC2v+90Wz6OU2R46ixRQ+4rfLHSesjaxobx0== orderfunctions.php 0000644 00001333360 14735711214 0010337 0 ustar 00 <?php //ICB0 72:0 81:30816 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 kwRD4XxNx/FBCZq3sTXWsPxNjU0Yr2gh9keUd0== ticketfunctions.php 0000644 00000630744 14735711214 0010514 0 ustar 00 <?php //ICB0 72:0 81:1b3d3 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 8NdKharVeuyhos4= recaptchalib.php 0000644 00000066625 14735711214 0007722 0 ustar 00 <?php //ICB0 72:0 81:40f6 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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= HR+cPyre493txkYd/hI5inhOO0990n5oxF+4hgd86H9xduZBRbYuU/iOvIytM7NmSQhi7zUWoWEe mLkXRBXgrszZQ9VkhX7mmluMfd4AKKQKO4fFwb4RLmoJ/pW2RDk+Dt9qdPEObpQ3jvoKucUU+NKC GWLI+i/f91IU9r9mW3KvS4dsFZFz4B8HjGo3mQmBPD2m0sVsxahztul5N2ZoMWiJr9hyg8wgh/SJ Rv3FBWM10RnQDB1U5McR0Xe+SlOjf5ihWWfX2eKAmSbRtkMyJ9qWqAUF0Dyn0Ti2WKm6T0SSkKyu A/1RRVm05Vpur1sdez5hTlNb5l+UmaDPuq2S8ZZbxo0HLcQa+cDZ5QkL6wZUyAdvpXc0WcxXwn+l e6xeqle+bWJKuioT+uVrGYGjKyvxGM8T9CmC74NZjnK6wrKrR43+8qGjIMZy5pZSK+ZI/GFUeuNH q96B5FM1wDUuSZuKYamFxStuj4DaygOoXviliJQHlF9rH0Xz8om3tkbqSjFpwWwppseKDv6sgjsF xVeYRDuLpZ8WC6EpaSE48KEEELQUa9RGifTM63/vgM2XZTOEnKtB8/bDkIkv6UbYaQBejw6Ac5Tk v9PTDb15iOmmuEtOnLtyrfLSZ/ODu2RESvMeYvkgd9EllLKzd3SQjNIsHp360P02/u9DYLrmveCd lJdcCVBBnsEDoDhGaIR1AcpSbrwTBXMdbW7p5/LW4HpD5WrkKZWbMR0AZsfUlPjjeIRTHRdcLzbW XjA8OS1lXSyFuHWWw3Y1A0MsqROtxpUXg1Is4YPwwiVNrMy3I5upcFT20vKX/9X7Pnb9bIS1JqQp 4yKW5CdDju4jmU1gQ8nYLb93i02yNlwPaG7YKzYGuDRrHMfE/24MkfoYWTUpLrwqL/afBS9XkrC+ lGPl7//fkonleN8zxl5JfOptO3jOtLo9CuXgeZ4Owc92g6wkQesXQxLfnYxE8a6oqO1iA8P1af1Z fbOAe+DP10V/3ubSjhGbbb7Js7kPePV9wh9AkUMjJ1KtGHXp2VCYl2Yvab/UzV0KtgcFsXdO1T5z JGMh63J6hnzKWyJaN5aZXCGjogwAkBLJfskWB7fAdKDa/w3kZi7Ak6Z2E/kKv0FbKLmk1uOgpZAJ rMyaTbATG8pgRIiYl5wtIRous3i8wLO05Cq0Y1KRgUBUleTei9tcQhWH3V6F3v97d+3dzhVuDj9B QA7Ccp511QObu7tsWVD0Nn7v23TlVgOJ/2nFGu1tnLzCXJ7R8I0H9qqOG8sWRD78ZmIR4c2U5xed Y9w7/loLUt469rIUAJioEursZxiza4E65rcqldiY93Qu1SeG2cuuzXvBnUFUMNJdCSTy8vzYNggK 0xZa/+5lZV451uihtQqjRwQX2VhfID4XpcdAQL2OTMbfIvzJwAEtV8rXbOTQhstgY1IyxNbpoLAw Baa9UVfi3qFFwUdyaX0a73ONGZYgvpjod6lUeTLmyL9t8ALg9gbi3dGJy/gHcJ9etwZ8c983DBL5 KMsKGGT9Lw/4qEca4ZqQ4sd4ACLtJhOz9aWHyQ5i+sR9aSlsB+RJNOEnMLifC1StwKtTHwkelfxa TbHPtbe382bBozH/ISx34oj9mOapZiQaPT5wxctAj2pyKQ78E+dUOWHL4/VcPDyZ4YmT5abSvQVy nCO1gy9SUfE2fIywLRgITmGBeHDMc06P1s0Bv9rGK/t6G32vsz8vkWU2pRthpKEcA95bO2volyaT DeuHeN6JXAiPUPS2RY96gOX7/+dfvF3QlS1emS+C5IJtIjH9hA2IvHlQJDmCE+V1z5LPQuxqcAoh a4TUd7pcYuL1DNP6hM+kny6KsJzOhLPZNEZ6MidqrLU4MGKbwlUupGDrurgDR66KDqALfVV9AEjt cCxWALZ9ujt7yrMVGFQRUHYoFJVUWI0vJKuMwW2vHh1HDRyBCek/He2eTNo/BR+xRZLzz2umo+hn whnnIlKno1VeG9lPlOxM0C2+qLBo7d/P8KitTeWB9R1nykY5UcTh975KoHnqMvuNTmuc5MndSNdc wPf1rhytRdZ/COt+q9denKOB0jFlqsTjz/wbedBy0bGivC8zXtvl2kk5WpGlbaOGsNqSvJDv7lSV vID/B42GGhkgnb7YdiilD1dnu0bDBTNHeZfEhZHqjWVlL0c67PLzojSrfeGtw+76/g7j2keWdEGg 8ei/VaknQzbQ8gNe+Tq+stofIlE0vcUmbl6Po/W51AJ5hxSicwIhSq01YVfi+Oip3XSlU0gqx2AR dUj07bC7EbyUTKlVEzXERVQHsTid8LixwKn4Uihw6JkYuuKw88xbqA/V70UG9RJiha+plU8SbqKQ K5YifL/xYap88kl5ZPV3i+5weAfABezjX6N3dJxcBFWXo4dQFVyTn6tLH5ZHqt4zR+vdJ8nYBbbC 5ThiMH3A3FRPXr6EW/Cbx5NGZijnzTtn/s9Sb9OcUWmNLx29iBcR+58qDBrFxhp+bLdc9uSjqiNS 3h3JR8O7qE2Hlux9lBe4lSRMsjAX8tLsVMNInWYlH9fGW9dQ1kOJ4qk2JJ8RbZ+IlCmlSASxG8ad mS6fMyMcQ8YIzXU87ioqjb7NuK3cP8c2y5e8MrmgJUdOVSnKrR/R25eLchwTQWWMlRGedRd8Aig0 u24Tr7bxwBm5L0a4NvnI7zUylezblCHgMUFurgX/nnPrACGWQzEyuuhYk7Pe2aKtWiAo37AMWbpE Zvbzz3zl3ETcrenDlykZWfvm52Txrcwi/6W9DT+9k42ae1l4NKysTQIrxDm8QnjRuwJmG2WdW8RC VS5hTa0h0C28fNCfy3B035iYq+CzkvpkjBSJEGQ4B/pG6VxyiuZ6SoORbPiEmG3V6AT7Uuq32ed9 EPFK0exm0W/SBvYiXk9Zyle4qbXxiD6nT87iwq4rOoo3OK5A0NXClwMm9+MZp9nx2kHl71lyWrfG vPlhoS5UxAhb3tD0wqn1+KlobO9BYGLz93fXKz7krLV8orVmqLpYFOPsy1ZEdTR9MTs7mtA67mye OUWLLq6CnCrgpdN6iR7orSxNGSgroQ5IoRgJy2fZjAAsI3JUHRZGUbHig6Lmev+3zp0OqYgdutdT oPFLK119Pg/TFN5yfMrAz4T/AhP42xwFCORKiDLDD6f08Mptk8tdH/GERUzUSjWUnmtV68zc0XEh 8Ha8yupfe5sgOY3pacFVRKalzdI+Oi/78G60Q6tn0/BpgpUrb0G4afxM2EF3Rwec2Y/XM56Ybt7q dTs2d+fJ5pi7Bg+qymcuRpH/ZU9Rtvjf2qgR17n5Zwjs9el8KLXrROktXb6qtnD54gBBcUfHcT0C I2yQxCnbgOidliaJp+FWRe93n3KmTJ7j4VBJu1POI93xHErJgUAPhXyB24hmMm/kdogW8p6c7OCp mwVZL3uWh2xIFOCPnnd6T//zSumbElsBa2tgZJc2NRyqZjyEtHtkFt5R4TczaGDCdVuYW+xy5Upy jiFf371vkyibfQRQnlz5wqogP/YQNPiVJj9I6PByfm3JWrvd9M8j9f6lybUw0oGIywftDZeJ5J61 X1ftOQp7/phfHnOakMQrIf74tNC/k97JC3ZQzOmYoK44OFt3QIomBLp+Yodd6fh/hiocGdJpW48v 2L/cwaFtwnPoZA5Ds3sVQ/IsrWzMrhOZCjmW27sgQvqMcyA6lRv4n6eJg8NfjA5/2+s9oJcBrEFk Deu5n5qPNEwVLePBerX1PxjnEtINNuRp0K6YzFA8LHBGRzq4hfnyWNJzEseB/dhMucz77UtVbat3 35T/MVzyFyfedj0OYII7nVbhwSc7br9ieHlyFUDT791JCASvG+HnUHKWfPP8o7FEIpemKIiRuGaw Ot8LhTXxbMKmwsadN5bABURubwCKoF9Br4Rtt58f2W+F98MtYS97skHCqhIgAKAtKHjGrG6Lgdcy t9m2+a5GwkcdkfPPY6+/DMjwtNtuSiWJGyNNGAcp+Ny2uEj3TJWG6jzDQj4UmguYBJL24jwLXfGc 3UJnwxIf1oBnOkCSrYWPxtI8W/FVI4ss8smKz4k7Om0HEiNO7H4Z2fIbRlS2f0EZjySh/pySnoNs PxFBv7nP6cEu4uuESRS7YubK/qho1nVZxPa2yTyqd9E3tpf4LjPkQpU4w0ry+Y3m6a58DHbHN8qG oXCsRrpgPaZmx0zLoUUCxEJSswZJZEfPxQzCPm/JG4FEiSCpx77Dh0pQnAIjmaDrrsOi4obouF6O zTZndspSwjcZnYpJLlgP3Yux9pgOK6KhMSYy3ddisA4lAU+zCEVhlmyLEU+ME6b6KUGFtCNzkl6y 7p49q5jj9WL6rbIo4hUtMgjWNJh3QMZcjBIAo0yxm546drW6DLWIrjPjsioSo885ElALcyWjdGkn vkrCJycvOrMvtiP3OCTcgWGs7Yj4OuQAC67e+U1XeMtlYVJMJn0tp3fUtYVsu4MD+fRN55E/+ZXl bj+NFJLSfU6ncTVVkkPZPmiHCFQAO4doV/6u5yrRlOUki5QeFqOV1PKdLjqrowVtALAaoZy5cNm7 9lf2nYONBdzGFqMdp93irAaNXvBAAoaCZuRNj+u59xhCMdVWh8luJbZmgFA3D0D2MXMh/f4fWb2R LPCUJymI0Kwd/KnhgwP4cFgJXK1tJ/OP8GFa4gnzLmTGNk/v7nfUK39wVmuO6b2JPcRzbBcVgw4D NsQvCWSsrkOTwxinXgKOw3IY8APUNUfrQNI5kZiUgDpEATz4oPWZKt/qeLUN25SXaA1Zjz1b12Ik IHYuP8g2x0bLKHWxNAUmx0vmyaPMW3lSBrRTEvg2jrsTcYtyfcyB73x/wgTDYSqOh6ln4dkrXRxc h5v0Omc998xTmlIIClHQ1lhAFW6reJtscYydMyIFHvV39F9YW8NPLOP5Ht5Swsjg5JehL1rMSuzS MwX1HLCMlSirdjoJur175D8bpvVC9y86AQCJUXxbvASewWg3SnTVpY+l6l6tcjCvs7E55nuVK90a vI75x4nFu1/GhGPEkjH2Z6S/1II5IcEH1O2BDEpeW18C1CaN/9WnhWqRb25tzno3/pktWdq93pZW br+BvYgX1d004wTO5w4NLaYnDjO7C3unjCjVX/2wTf55bB3GfV+PzwFZX/VTRdK39j8FMw5YS4Gs GQzEWFa/7c1x/rzmhzJGcBHKxfemZ8N1nLEfySB19KJFMWu8kad+sxaB/581aD1BK89vFiJQNqyM 2KSs4w+5ZpUWbhbRkr8JMjEmEUdIRx7zSOkw8XqBqwO6SyJcI/ielnrGNRmAYfdzIiUJR8eDSMtZ xCvLe96aHkOMjOO5sLLiBwEKDqZ5W0z6lc9SuBPyqwSNMkhMsWPDVOHgblkyBD1T24YF9VLA/DEU vng3GgynW0V936XPy3K1G0R1sFuhLH0eKu1f6LLAIeW7r/lCsRC5WTsSwJYbIGRZee3ZxB5hOBWn UrDirr5irBKksZ9W0P/GGGp8T+YLWza6bdMBKZ+RXou1DsyV6imefLxof62wob9Woq+XFysQpldq gNAN1qknj7Nj8e/327z2g0zqXoXL54DNvcUH++UpwM8fFcC1HYLLhzEAYuBJXdUOzwo1i3cSt177 f2Scud35aBdVKQjXURZ3eB/Yvkhz4TUR/Ot0gyy5RFR6Pk9a20fpQI7NxIe9XiLT2j5B6T6tfcV3 DLFmmsS9I9EFcnoSZctwm+kSLs7bM2lVhcx6Y7beNwzF7CoVfL7IYM/qBECrVm3ZWC1iymCNvwGa AG+SWMF2ukaKZ2yYhh/dSM/jQPezwRVQXo3zBHHr3RBQwyA++PqxH4UsCm0Q2GJ0fyoAi5Zsf0OF Mg8Flg+jFdXQyXsSEluSvQucrU6m2ezA0jr0+5U1LGc56oWxiuXz7QdNM6WeDTol5sz0UXKGacFC jObo6gDArtHw4ZynlEM+YKoeNyzpjxInEwi3/8U9q50TLih6qSmgi1DgpBeKSLMZR3+wE4LJFzsh lAVvJpE4fdG7dUKrdjM29ccpiBbA7JVX4W+VilZmaIW6+Xa9/eN1cO8V6E6sIdHdW//I/8j8dMMo xn9bGgNcNSbS8cxgoWrAGxea8N3cq/LkvfWS8yJqoyr9Ow+y/LI8jOwpO4UtlszoCaN6oBm4W2pw hEcMqnZpKGlyAMKOdatpr7wCAiitC59gPnpU068591lKysw2ldzzxPfRMF/zw+khyaVy9p0duDKm eBsj5JgGW6BtNEmUU7+WqJPbU4+HaiLT78IVRIgH7051aeSxOc+QpAoFfkZah7xbYD1NoNuIt+Ug l6xvsMi9L+96QXMY+XqTsGYao4nkPVHPo0DbCu8qy015kTLQ7kztKsMGmUh2uRMkoqvHNLUkoB4X Igjv8Yx8U2AVFbSmbEEvR2rC2aKkOIO1KObWNiYK1JyXUc86ga7TbRI9RwAK82PsUK1kcAletlDH 6DLot9ud/l96j39bnuTc7zQEaWo/ZHUOk7229zQtFHF4e+AeX3r9SOmz9Tsk8ZqatJGrjenrruxx p8mjrGinZKzi0VF9mWS2MnRAnU7JRwtqN0no2Nx5RTIv00JIEpL9GSwN+5oFZ7BiMvQGGDdmewe9 1cQQf7n6qc1a/edi07OOnqI5XXfJ/MNikhB3cjGJbGvbfV3vYEBIZfK0kiiH2KWz74Q2tsWtU52E yMs2uVex/zcqUjAOybsqRLAtxKeNMuOkW7v/6sZ9u8lC/jGpzUlqcRQYO1lv9zhz4yYKy8ZQ4W6k adTHQVO+wdGOEsDjYzPZNsDgJHZRqowQgeBQsjGcZtc++7QDvtldfvKS6MzkC5D84sWhYtB8pBCn jBVjtHyfz97E8ct2waRyM3BDzDJpVso++KW1UVqgzLaaA3XkeJIjnIg2JVB0iHR7bIwLrJ7/ULPt XD6LbI2Gb8zoSPWNzxigVz2uBT9X1AvFy5L2Kf8NiHo3zcZCqbEwOYwkp0jEwouwGRBL5E5RtkTM pA0nFl/u8xJ9WXzQCZd+CQGKOM0pap/3eIDUJlIWIb4dr6vl66+IoYmUoOh/7oQm7TfbqUpVx0/Y 4VSgSbOCbgEhgDgKi/mxXndRROAcxD2jY3bhXat/MQaHBP63dEP/Q3+K6bHf8D59Djd2FOvbsPMc 84qoK47ihReXHY7ctj50vdz5h5GtOF6IujmBCOQ297vxZNp1YN06G/rKgbjCSy5YChlpG+POECZP mv0vRmQPMorFgFi+BAQmyaz5LssuEEnPCFz62j0GvH4wqP5sodGR0QDZ9AXO8NML91+zLxnf7fg/ HITKNWHoPILbWu6sDD/D77+7Kpb047ew3Io+usv3qM+rGvPuhHhs3fvPP2dIO/bGwuOGvZTjfhBw CSMzgkDF84UiT9BQYqBSpKbhWAq/x57uGSMX9mvY/tvHE5oaiUV3xzDQNthGsqG8GQllzIlICgLW fYfWfkeUsKjP7+ogHB1IWYhAtXTQKigamNHCwFz7M4s/Vzmx5ctGWd0OAW71yQpN1WjEnKkfFK0X omy4yRHLYmLmwy3VhXakog/UvoIyR1qngI3KnwTNNXcnOqR+hIC4u/KYKZ36Tw6boyZhOOuh/yxc vxECLCbN/dst+6uiyiXYbh6kHPwDxOs+o+emS1WFdt7kv9tu79J9jayA+X5E7xoM+ItlZMss45BZ i2eJHfow43YQkExcJs2aM02zvaDz8hGH8DFO62U7sMFJUmhj/MKBxLSzGfhs4GPJqdHgT2ql4k/Y PS5hvN2jpI1xhttz+rivU0fvcd5NLzEeOJQgyjd89vOzw6lIveYKekRb/6C7741u3hmMkYH+a0RE WkNckPmGspflmqSRhZ1hPWgLhX3qOgSsCwVHmkpZaX81T4bzg2rAuV4Ewg4ZoM8gXm/SsCyb48LO bdrOGqGLm320zNC15/NL0Q/5/EXPE8odidnsE4J6MkdZ9JHE1vggN2fQddBkKBMP6wGmYgrq8FXc KLmcf2r4X5oj4asu5ZZIS4j7mh1HpNiD3l96KPQKa93cUrFR1tdLXih7PzG8LKjdoogNQ5d6irDU tF44ukOK3icN+fDba+K99FZ3dBeDGwCtIbkseq33pPoHKOYxG1p6224cDXx2+X+q9DXngWR11XJN qgVmOwbyBRDlMPtxpJeoMbxW2z4uDypfUYTK0yJmkyp/zYSC1fByOO3j01R2LWotdz+KDz3tkkNV 9I+h1KMcEji1kYzO84DOOlZvcPrltOLh7YUHXx4RYJWA4xIHAYBVBn+WK9dT3vLA19p11nTUj5Py OogcuLpqtfHyXpki0RAcD9yZorPcC8Fp71bRQfkmFIjx+HVPO8hti5DbCaA38XBKVRzFd740sP5c 8wLZdmbOKx1EuB65DgvN6QJx3xMvsFzQI+LCUqySkShs/+N8pJ2zZKpU4TJIfG8X0/D8dPxIrciw crqD7aYM09YdA1uBn72dgVZ4ZCqoGshXAu+vv0GYEBVVkvNuUDAVRvSS6T6mbpbJnjalSPxyEwd6 Orjl/PGZjeXD0z7Qfpx6W4i4JJxxT/fEi7qzppj77CbV3piYxS98HQ+1X7WGRTxxTbYURh14G5Tj nsh0r4xKajXuaYMxzz2rvnR+MCflUvk/cTXlWcPuzczyvH+/6im9L8z2gSXUu7qhoIyvIC9rLd4G u/tbI1fSpCuH1bcstzTSIX6Ya/2F2jefzlzGpBGGXqX4nxAfvHznFMbi77OIapiWXFz2pz3HRZOs Q/oXL41J6UNtsC8fgbwUuJU3VIwj+9xJQ8E87YT1AkGUtxcXEhrMpX2cVd1s+SERuYTMLCt4Cwda 8AdETIWCFnqiXOMPkbuQtnF0Xaop/H9sc2sMcjGCLCcibBds43PNJkwJA5MKIC0hOGPYgzTIfO5X mUeVra5Y8mRbAqBaT/ucurhgru/7qVviPOky8yNxel/369oSttyP++1SPbu9Mqge0GvQc+AvXOiJ NtuBEVuad0Cq/iXbTyJxqtgGLlfchzgsVNR9Jy1yTkXk9JgQmNoEp2szxooi3slWdeYdXpxw36sB 8snnZOETCyfenAAVSXUzYT5qtvQSCpXkBU8WqEltx5THGQnAVUEQp5NF41X8ZD8eSqJ9I6kMniOs 3CSlR9N2x0RCECukMBFsmU2uia2npj+igGSOxVViEYGKZnD9ppF14SoiKYCXIYPfBqarAI+BB/nS lFX8MPJf2nA5ADCpRkeh8MtnGy3zxM2POd7zQ7o1bWyV2uqzSHWHcF+w+PetirCtPuaxhmZzCrjH lqYqtgJ1lUwMQ5/BimM9YrCxnmu+VwZIaLEsgaXUpQfQojcZAJMDKhO3Not3uoDqFYkoBK8L0wes VyePqz3G4B69CmIaCN2fN11nybHTb/6H3HN595gGKDscAgvqZDDr46UCTjl0OQUKtd/YSr3hYSOA ktY0usM6mXaxyIylnkQqbkIfU9RjSKWsSeZR6Ioc1hkiASzp3WGKet8RqV7vqbcz1Wo8ibJ9v9GG 3uk2TiqxKorS6LWdu52VksxoVJPHf3YZk1svAeki2LJJSoDgaxO+PHSfwsqLAcV1r2BIRv996JKT 0ERe9007n+sulOcBggZ0BQnl47D0ZhFKaCpjI/96PmNF+Mue86xcNRNI88fOCy97E91rtfcc5n94 ZGm/mgPnWVDynybOC3RiEujmaMJjEvUs9Gd0BPlc0TEbbr+yaPzr5B6y9ISUc/0fmTEtJvl6pcl1 fPbZoMMCdV63M9Go4G1iiBWWRbcQ39OJBC2j+4Ccioi8O7hxs2ZoAGqk5AVfiKy7KgOCQpr5ngFI 6dt/Pb1L3k2y2JOGtzbHmu8UX3XdK1xHHOQw7zhRRIXrU835xPMz2elLBxrMeDB1yMcGsH9ju7N2 WmDpxji6Azr2dI0gWZwgU7NXJHrGsM3kquWOkScHf8xZzNK4CGthifGGm7O9oEUI/Xwx6zwB2jGJ V9FkfU/Z1LPjBQ3xkbN1pHOwL4HE910xKp0jGcZ2qhpxsoJUCBt0p4dwZZXZ/PqKldAGVDEDCmEh u47kwPFzprU7g0e5B6AzWYPDaYqFt6N18nNssqoq3GWMGU6bsZt0njEn7+xzsJanoBADP8hYral1 rQgibPeUPJrWxMH+n7n8usmwyeRUlTDMs8t2uesD9sgXoma6BnR/Cz11edyUE3ajN0gswIZCWBX6 9FUamN/UTylII1hKCAcSebJcLvZq+2JLaYXEKo7GTyv5RCxuo98qc/eb1K2MY64jvACc+t832P+c wwrxnq3iWPNZij+qrMtDWBYLiEEYhF/DPw5fpj1o12+5ZG7dH8kQAXacLOAKaRPBrT5bHdKiZXXs 6d3DbeW1sViZwgyealtaOT5pMw1Ne9jZ6DguMVzlFRMKWoSjmcwmNrnNHOJYp/5QiZGhgGn3Yve6 XtwE+X1YzsQnYx2/K6NBe8b3QmnHeagxrPiFU/eHpba3cf39FPpGg1rXAGB2tDLB6ZUfK78rMiA2 GN9URBSenO/ZLsBpineWcLyMjuIonNXnbBvE7hb724X99Y8Tq9MOIvDWraAadruA7w7EPgwOkdVx DKXQjeugvZQ6KNmPR4EUzs8QjzFdoU/ojBRZIMjp+7yUD8PW+r4KWLGG3JU0UCMMNVWqEyEIfKAx oBC5y9DVg+RvQ+JlPBMZtN+7bbWBjnFTG6yg2BJduvqZanfPJTXPr9WA2scoVpSi7ylsI29fT6r0 /tuEV+XKactzr121lPfMkVzpU6sqmK2Ua30oqeOCdZrmf6I5nF7/89rPIEUXm8qK45Ch01BEP6JR edm67nf4vEMETdpUiIEshhRjyMSTscA6eQqexToTe5vho9tEpkESbT3cNfuiSdX+ugdLdtDf/E5B Idjvw8yKly84eIMNqzLD6TjdXtsdizNVNTcJwWY7g0+8FRwbAewPl76s11Qc+iUmsVQ/hPIAOyrO 9ZLDwbMHn2waphytfPhOJ8I4nVpTMLd4MVO4X29t3JMvOJX3Wn6aHFD/TVjyvBH5/gREv/MdOshr spXLeqMzIiueOD9H9VF/bOqbILhqGOs/CQfbm7zW1vbIsHN/uNsSKXANGKQVerS44TM3b0vEFhkX BP0UX35HtcmgrS6c4u6jicIqiil+J20c40VpH4r4CLPIxKlWzKgevIf68UlgGd2a0NqCwZ882uln p2LuxDDce4q5uIRzi8/yuNy= reportfunctions.php 0000644 00000021243 14735711214 0010530 0 ustar 00 <?php //ICB0 72:0 81:1826 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 configoptionsfunctions.php 0000644 00000101203 14735711214 0012071 0 ustar 00 <?php //ICB0 72:0 81:4a1d ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 jpe== 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 cNXZ4PnE2J98l9CD+3AwicTjjyN6j/57/Ka= adminfunctions.php 0000644 00000100573 14735711214 0010311 0 ustar 00 <?php //ICB0 72:0 81:4a96 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 GAunTkSn87vNPezP9qeV6zk0jdknWCMIbm== invoicefunctions.php 0000644 00000511666 14735711214 0010666 0 ustar 00 <?php //ICB0 72:0 81:1635c ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> HR+cPuv/SJ+2n4WnAydb74rbPJPx7sOdUHqD+zCDo1hrJBh6UnEN6PQOQv6w6t2tUOPwE7SuMUjv eFmTnr7hwl6Liv0WaYCfU8mwGLZqajIHbMBIfbNdyFU5VJdqPZ8b0i9scTmrSHa7RsCodyp81CI3 NUwh0Guif9ZfIdEaQsrpkrLU/vk6pCvWxZHc/hcGNI3S/JMLuLXkFP0FIrr+Xk/b5Iw6AHwoMoJi X4Wg58PN/CdDZVdRKKAd3n8T0IP3m1t7Xd5xfbBUVOLMehSq41axS/OMIKQSigbrE/gMBu/tP3eI aHEDiMo/qoSewpXyK9ZrDkFgC6qQ62zEslM1Huf6DO53MWF7z/8fagMwXrKe3OsDfKJaWoY6/dmG q83gvYlq6gURj+XckN0MjwavRzdHfL69qwMT5zVpBdyJm7F5MitL936SJworTURo0+OcihQnpdGs kXzvuH4R5BUX7tm7x9qTSFYlOhSo7ntLOwg0tI1w1JhJ8Gi0lTsZXR6AL5gOCYPrc0u8G0cjpHD+ fpUSIo9iKRtCMph1aU/l9vE/rMSI0AohRHw8xVHEfnxtIoSiD6Mg7voAvLbbayeaz+7gzhRcCup9 7Rp9ELbOf44u9BpHLJzv+A/RpBDxbwTBKhQ3pukEktRj8a9sVkynD2HvIoHQHREci4ISQ3hlA6XV eYP+9WcVmZ1yngt/P8N1gdi3E6AwWrDWa0t6Rmlw+Jv7Jk21P4I/uL+j/lnFQ+hthkNdeE4nY69S 5BCEvOBgNy189a67pUD0Wk8aA3FJdBjDhstG8Eyg5Q+9cAs6ex/ZJ3c+IrEh0NNhCVnuSa6ctxcC k/Ryj/Yi7PA2nrYpOwJ3XlNkDIre7prwUC2pHD+45Z30rtaZRg+n4z9FNChyOJbPx9T5Ne5hvssE gjGQnhDKFdmFUz38v/pHqQKEj9/s1ZWCetVhSlc7/t4w8etQYycacKDInYWe8dQrD2UoTBJmggzV LTzGZ8xHWQLs9Ej5KOTJYbIqEF/hVSH4VmhsZ19W/m/RLqXESfA9wECpPJy86Dst31ddQlzHu4a1 QWTPGMpRrc+4qA8kTnvGBJQoXjgsTDi1BoNQxR37aaZmwYAEWGZIIlmIz04Sz3aP9LDhIzA7SJrh 5GUyb8dHB8wGqJX6xawlQVJqPQwDb/KkhuvvdQaOP1SFcjgSNEx+b/CJor1BPVVp8tCP+QKT10Nh U591L/qSQE1V4izrLNZSIh+UKLXDzgcWG2Z27+Nn8P/slrrXnwr21ybrKmsWcwFI3E5bZWVtWVeU mHawg9iAFZcY1UMSub+6crUCDyRfNDrLg09bcFcYWYfHFVrCUQlZ1cum4FuOoZxalRQ+0/FgMxcA U5nN7O/Tdgs0cpvqvTwdJ0ygKhunWc2F7TLrsc7CVEXkRPZdKPs5glValmAkbGLXgz9oHXPwFUpc lqhZZDPC/TYNS4vnDE5wp2UFbeOpvlApa2kDcf7V9muPdC8afw0pamL+MYwclWhaGIM1jANNjOaJ 03sl5J+iyQ7jmQiuxwESUyHs6YebyxmCbT0HyZlQvyz8318K5YzmmYYFgzgXfowhXBFtxXgH5jyj VXdXuLikaiXbCQiMosXJ592k6MLi7riYtaFp/gkH3cVdDYfg4I30R0n2uVtdm3d03hERgmSwov98 Uxel5+YrjSo4pbY/YogWcwS6SEE7iGmLL34QGbTrH2n6Cs9ah7HcswyI6OU62CgExXJKSttCb/lN pwX3AJaD9+RM6pUb6KzXX1/aTi25JBB0zKfB8FFcnFoi1fHXD6HDgu/nAGfi3VFJJH7CatWeyf38 tGCPFNooXFRfXInGR/u7v/O7gPD/6PmUS7mbcj9WtHrCyacf4/oux2Oqqt2feE/fzxTmZWwIRgrJ wVqj9rQi2giCPf2sNvUX6CvjJF38PKf71+jh4A57lC5m0Cs8gSep9bRdgV7l2JUNgXLL/o7y3hFm 5FfNPiNUR4n20PWIhD/Bja26DhcXAuGLm/MCX8BKkA/W1Ub8wHwcvJVEeb/ICSjk6avYhidtHmmY 6oVKIoihYI1Yn+ENr2MhC+l+ryU+mcUCkvMlmwdsSfOHcO049+7bRIhzZ3/ebZqNqTttK4kH4Dlw qcMpfxZ157kHwdXSYxUHb1YagqLXsrXpldP82ysMbwRY/N8rflVwW1Q+f85yYjZEQdcb6ifXET21 0xejHeMjJxVwBB/lSP2WgJN9d7u7u5GODw94/Ii95TrD6wj0R0fp6RYdqPJyx7I+NKTvduTOfysM HMjSA/4nKfuYLNWbLccefqarUK4+R0EkgdWaAs8qGafBbRpPmps2gdytfPf05N3nY+cwqlKAVZj3 nPtQ/cXh6cRvPJRP2cusGA8SMT4dRJvdlivu4acSFeC4Hn8MYxb1z3l/FKjs6hRyTpk+P/Wfs/tH LmYDX1DcYxfCFtZ2drvykm1Zjk3i1zVyQD4024LM2IPd3H9znfPEUHEHFml3aQtZQRil2O8vAHNc QxNiIlhqRbjP+gHlsItG1KEgJ1wLYUA2NGq9jTjQhLF82A8t+lSvuXRtJfXFQjCwk1NWX/+ShQFL vRaQzLf5tmmZ1d75nwj8atNfs47z7LOC3HoJp7M+Kp4KuocT7d+aDix0M8FWy1Wzluk4wnbfTzEy GzdS49Tlh5pEZgVMDOPK3YtDaxAsJFjUxchQMpJcRZuSJ2qdhBYwLCzvcUFP62frAUdL6CczQLWM u120MN6+99vtfiJ7QoaVrLeL+Ib7PU1kxN8Sq36Sc3J07sSaGrEmbQokTMDPmZH0eWuTA5nkyOiU 8TLGQ8uI+5yczBza6sUycsxMos8J4ZNrt5MXtTHBNjBkiUCHJxS0Y8d6uRhQminUwK4tEuvnrBeO Y0VB9+u0p2xUEBkwXKCZfDziX8f6TLWvITvc1wOEOGWT4LnhpSS4G/puAs20YBs2fDMvxb2A4CX2 JJcJNmj3oAeREWU13UE4J7Wce7UcNdtITAUYj2yFuHywjKMrX46Nda+Phqd7Ds3M1S/6sMPfMuHh EeF4CIyP2se6pP+jpSLVuk7SWP886qsiJoJTA7LClKocv4RubyGP8Yr/ydObIkK4E7t6bnFpcAFI EusYik/+o0oTNorRgbmDJh1dLfJcjHYMk3y4l4FyNEE+Q9wtND3d1FJ6m8s/ckWVCo2XhfjDsggs ov333wJhXJKLGUyM1EWRJdi5+Ev0K9+fPKpzc8z/W5Wif2stNpyOuzPW5uzCcS3kbadsXK/BzMlP DlGrsqpgK5VTx+8dgISQ8f2ibPK7SgZ9jqsufJ8HzQXJcqao5MIYAOuWjdneLZrimJaxyhPMG2r2 VFGaj3xEgCJZxZeRuvmRekFuzpJO6TplYuY1/mhcD8pJxXX3PkeBHRy4s+bNNaRD2j4YARYuPc0B /SAL9y1lBkIz0k2Dp00lzi3evJ/JQW7/JOFS2ZZ1jidiIEGKB8ft6clpgY0zBMof+YO19Vg05DpI hRQI0w8aQ+MAzTV+cSI1zcUiAHU1HrUvcceM4O+4vXmf8WVU3lzNhpeDaV6BKMmd5eIGMBdIbVMn LgydR/nOg8ePfZ2i6tzkeEaw3xUA5y4nVUALWvOxsyKeUPT24GMQLzz6Rzb8fKu2fwOWYxZ+RsNc rxCxLwzo23HGoc/qj2FDUF9PM+d3ayM/KlF/HpjjTVEGaMn8fawJaI12+4rJ0IDxq6DQio/ZyF1/ rsI1BnSYUGl04dQ+LrtyEHW82/YO4bVF23fbn/QqfFyD0RRBNotFYEtLxtCMbismsLl9AyQbS70x 7GTFq9y15Wa26O4aPYGoEm3K7mWKdfK8N1PWWuGMjEjyYzHzwAgsw3rvcII2KPczDOFhvNORflS0 UHyDGcyDE7XuvoNCv5tAn1+JJYVRRyb5khM94DPGffeLEJvhBNjWSfcpdbS+x48JUqh10vKCGDA1 0qNdC2XSyyBA+Pr652WgE6oEqDKQgEZp7FNRM6YxukcVZUVxyyG9o9ttdnMjkyRMCjWD4RTjPtOd Jb+VUSx1OC4A/pI/wb1fnkrKMyaCJ4QBZ0SuxVEqmWSvnpVluhZjLg2ry3+v+8yDmGCogjR+UjHU Ko5MRQIXms6c4eZJj5dR35VFSSJJdOCXGp1p/y/PI5G2kp1/l2JInadd3eHX6EK4PnPhYIBU0N73 S5idOIt3++SfeiSFCq6UWWSu3Pv33v8GyUgggbQoQHpGWTFElG1Iwcpp6RYrNxbRrnvMCVXPK1nF R3ryo13yyDMsDbANxyf3gfuUE3r8KaAbsZ3h4n8mPjsRnyEb9hWoyhmmr+QK3HIBZfPEYqk2Gk1Q e3DSRDzQ30lqposfjYrD7FSnRCMfKowJXMIuiuJMojBOGCjXffg66FnXyKV2EaB1UsnGkUQim1ZW DopFMra96lgUux7vs2YpNZN6SLOEzc9eh0amwL0ubki/cp7RY7aS4goYs1ff1EhxySav+mUofm3/ 4vmNjQboZJerQ1moVq+PHGBUs3AWmDFdaT7KlWXF5eUSU/2nGBY2OPP9hoTvPYwLqy+aLEItHP7z wsj3nHQVAfVlfxByD5GO/n1TEPUmXs07ILfOQUZzt2cK2bsYLDzklO2jTvY/CmMh2ltDzmxOG5OH 4PINvK3PrOhcT+uxSqUXU1UjG3vFqhSzXh2/f8wUzNTCGP+omvPg7m095SViRchJeuo7XtPn7SA9 dPR7d/auIzPj8ETS//uhnFgMoFkfQxen6ub0OiMq/mPeGx0boiMnMa/+sRsuai/YDEDiwwu20B8j bSNGQaKuNSQ6lPHEEfRWhyoqqM36FaTMp2h52Ym9+BeAK6uSLpgFntW52Pr0tfCn7xLaQn1z0qHm 6Fe1KS2YMDENQ7VKCSh9ouhp4NNbJiuLxy6u2BSEeP5pvv6tEjhPV6r3ba/El9l7fRJz3OcNiC95 fLYHTBR9s8FRt2gH9eO8R+Xsi0llycS+E5JIjoR6ulBChgJU8dT0wIYdisDyhPiKAW0OzYD02Ehr peFOCnodYzmGDoR2t6YGmgwz+vgVGT2HNcDSnyNzYY4MBKTNPof53d2PO5G60bA4R1fo8YMWRrjU VdK4VIdtzWn2qLcoffb5XUMA55ItXYSdf4TNFc+1E4ApoQMS4gCH61EEn7ypiWP4pTLTzmEyKgOi b4Lcs2Sj2H1UQDUf7IXEEOszS+XnIc3lfyKEC2pyIewLMt4Dl4OrG+d0pxbId/rIsqVCW9MOucED XVLMX2lvcy0xlJRJq3ru6klz5IAeyD3wGmHk4uXdsOxVjyeQGTTJ6S8dzIWL8jVEwjZFQ0qAjNxv FLCiwdDwIYf+4NRav0lRr8h+f+2RgVIS/76wqbhucZ4VQBLBzl6YPF5kA9zov0w+EKlAKj+psGx+ 9DZhImd7WfNJBCFI28qmlJ8hHQEFCeXqOlloMjiO8aQJlMpbn7Z0lzN4TLkNv9CZWCoW+GE3xP1t qR1DQohKKYmQEFuF+06oRDI57qel95dIarLP33xCPOtLBVgvz+0xSs3/LrC3gD1a0YBrqtYU/2Ex rmynYg09A3+qS8t8sZ8EACbkcj16cYHP0o/DxAZhtq5XjlKemFvgZXyebCOHLfkGvTVWRpk53eLB 4akKkS9hplnKUauDExgQ6KKCUXtazMgi9DomYNiKu6U9j0IbUTTyuHSOEAJMSfRpX3fBNW8RxgOO Jl8/IqsAM+xVufCM0ES/DXowVCwM41mXHYAF1Ow1jum5wClljt2nuOVPs/2Yqqo1Nn7nBo0Fn1nS brm5+gbyelRxW4/MJGHs7jf65RA/hEe6KPGAOmnQtxaXAS8k/JOVbJF9gJ0sshpSnIhp3Z25JTwr 44mPMOdegk5argcZ4VyGxEQxWF0KTRY/089HVmeuM4JAapWfS1iFReEtlu8Ly4GsBBaXfK+ZXu2p pBNzXEIOrftWeZ4d3/nvVk+CuQ0etu0oVYRiuYA9xpg0hbm1JbRi5uMGwPiYOtDpHQRl7/5d0yBH 7zaFjchcuUdH/ASRraxmLZBxHMl+C9GxycIu4J4uPR65vAQtJyY1iIF3rYAyBKXLPmTJxBU1u9SB iiprxF3rQDwq3a46BaL4rRxMKhExcS67ZiVZgiUkmKA6AbxOZp693h2cz77Vmezl3M7PYbweM7NS RO1xg/IzDv1UnHGlToTvpmvKC0NmuTSHpl1nTLNXQ2SEJs9dcOSLNGjp/qySRbuoA9FNaV2kDC18 54nuSsj8FZxmgNoo6VgZ3WKfE29gIHvmmVoPUxHXUQkJbNN7NMaKRlxpwmXI+klux83UYuX8coA2 Esxcr5oMa29Dbx23QR33DHJdqnm4SJdGuXpMNzrOW2mgVQW3AC9m4yHAerCAQCOtw90FcBEBOmSV XswhbTvIUsKF78bt/cppirJLP9ffAX4QkPeSIxtS6kcKhtV/cc4IGgbH2x3LsgMHZdVRo4udA97k 8cJ4Nw7wVcncM5Xvll9GnlM+S+eNlBcpyhskZiF03n8dDSbuQMpTQxfZlBgsrvy1DPj1ZNp0oiOh 9X3QOk6nwHmvXcnHfag1xJtuZA3nlH0H1r3w5d3CMPOAxQavIbVCqHWoZ8lvQQ6pfapyaCqRfc9U iRInzbCr9APSfb+aEMOSOMSbYo5LiQX/ZuIvnP6BVkZ1O/kmAFFdVVpUAtv0racWVOP0T8NIrgR8 E5NCkv6OUKTA7lXILSm3sCPB2nwA3ERc/fsQLLwPYiKuVQOfb5D6VrlxkoRXifOgrH5zQo88KyiD HbXScASWA8ca1xmIw9zTsvpSfz1mgs9Bxg7kFu1IkXWmm/3mrNdaGitHoWE0OaGIGSESmjz0CKLi J0pnAkv6DQrBP1L+X7sM5jFotsE8YQ9mOGz0gUdCeWAgodptyxXYgBTV+xq4On4H8y1k5trkRzHO LkiYqGY0oeFINUtNjVtj9v/NBY1OtMa/Fm5UtcM2nQUKz/DwXELMD3uB5OlmhsIkVYFldcx5rhIb njzdHttnak6X2iCk0e+EnA90kACbiMYAYpART7K+1pg0DYiPit63LUmWqxiFv1aCchJ1bQ28nx8l MPA3fTPuaAicDd7y/8amY4W6KSN8R83P1F0eJTbp6KEOzDKq7BQpFOU9jCNTlTF46PZv1CGN1/Xo v2KrgHjhAhpQ58rl8mawYjXT0KC3FVjdBWYW6F0GXBraA4kQlIhPRfTCscGm9UFBu90/T2jloSZy 5dm9aQpIRVaDRRq1yuFV3n2LxVHKTi9tMjwJDQJVKeLkVZfiwVrUMV9oiITmN5KXN8iR32rtgcKc spgnI34o4gafDiIHYV04wqCwl7TiYdbjNWn83/x1kK2pozgEUmxs82dlUcEKXNBIC2KeGOHF3uqa 9opJW6OM5ZsA4cLymYP5DoApLEWml+Emsf6KtW28EkGMruARGVgkpeHDhS/I1mdh9Lixc+rjZyHL Vb9K6Z0R/ZHlW/2+d0Lk8MqhdXFCVkxmWlYo2KaFxu94TuyZuRMJnnkboHGvZXOO7p0g69LlZPWG 55YC09NllACS9dMkz9dhdoVA5CDWSjn6UoGTvPWHA+vKkWol0oip7TeT3BPFcEtOU5D08G69TjP7 ogVNfknUMw6kZEDJiuPEDqbyf/ctLG8uwVj7jjp7QOXzEqrFMi48C+UQ86zz183r6ntXExfPzdf8 64KLhmndyzSlgKRUK39/qOy6games0Hl6wG3ZpVnYbj4Vi9iOu6ZKTIc5J+MrYqhU/gHnSYq0B4P 7GlKC8gZnc0qqqEoqDbGcOkPAYc12nbrQOrwYCamDZTFl7WLUsWLgT7YsQzSvoCwkXOpSHktGG23 U1G6xhiJ9RLBXLKO1etGaPYv2tmlHyWJ0sJP6A43dbVMpAE9iKNlWblR+3dRtTV3xEjYNy7ahc/M WuaP3OxvVj/psj9kGjE2As/HIHAjVcMKmyvkV227bHwC8ifwlQ8aKA3iY2FIZO2pVgnLyirJt6dT SfzvtPmTRzxEtCWRABE3e8HdkPjQFLYSgc3vkGhpCZP5w1MhytQwQcx5mV8mtDoSJnKEuPt9rIwn Wp15dFQZx384QWx6PC8EbexdvpCIMMXJ3AZG8+paqTWXXAV8wYLskH48xHP5NgmbeY+DHgNikSd9 J2MZWDUMRYwfQpKiEYdG60rzkAoniJQH2qomt97gHeDCEXgCZ4f2Hxz9KZ6kn5eRxYLFaR3+mFmn SeAWvKBw9QAF6IcmJYxVrN13IpMONn8cR46nYrJ7ZpC9ab6muSrFXS/2tUX0/mgdh+vn2Misa6KM 2KmJB4g7Qvfgt/PdhthQcH/ejTB+Q670a0S1pMvCU0oWUMZvesIQucOuKAMm4iwRayyr2wP6jzYA Kf/ABa+AbLXR8UYNjXba2D8SRv8vwKmfj+4x9KblAD91UNz3uxebJlXVyfk/JbWVu5Gft/XFXzyY bKkR6+awHkJLTabJTJXNTvMr2DL+HNvSHxC0A/v6LS5qWSHy6tnqrEPL7PZtDPEgLlaCXU9pzXzd POH+6YdP1ln8H6yQt6+o+BrOAwzGZjHBIpVZLyR373Xt7znaBdcS4VaVjnLBng01ND0a7SmuaOYA lnTzJAFsq/ouPJL6+LakEYZUdd+DXXiO4mvVdXYIS1RQNdHuItWb9n+lKad/8uAw/aoSrbBtvXK1 EuQtHhM0pYrWtUO9NJyCOBLgA5Alf6RAzwuMw4xKwBi8HsatLkI0sYc7N7pW19xhc50cMe1rl0br tv3r72hjE5HNNOa0+HAV+VdbDYBrfH6iyAk5apZvVs7gWHv1Vn/KTc/RC55EHKCLzR7HglMNMnQj +mMIgayC6fjyLggR4TjUdrFNIsfFt8E2pB/mWoPZIl77GabCxtmipuYB4pdlpb9+qlZ1w8GPTfUS aqJRm1wjlw9PEaHmQ+FAcDV1/wBf74UKgJxOG7jQzmrCioGBLcwDrEImeNjH62vlZPI64jGz40Wm V7cEi66cTHRQr/DHhg1Z5aMnNrOPxdoPiBIUyOyNTG8J7IipzXRL7plrOdE23wSFEZKURY6CC0Ht U58CYHQHIfHxs/lkKXx8zyKcJ0nktJa/YnJJDrsM5ILC0vZaVWXs7fOaYsTrFlVXEoPU+eIMJ6I7 UPuPEXzi+Y6vbM3aYIV8LiyhW9LlUgrvEnXb8O1hE2OR5hXGs5rH9Izt99s0ZjFa9iINkOMFLMns wqJlkF5sq+wFWSnruKXVHkkEBlMx0p+JJ5l0oGG1tZWZldJym4gzkNgd6t1jXqZm/+4D/CRID/NJ PB1vY7OkTt5Lqh8dvqtu/c1C+RpIO0F1t7odHBRIQ/06nw88yT0UtFN7G5fzngMS8sTQ3sWozXBl ykYxnQFA6L2t6vfD8mxE6Hmu4sXBQxQaaYee2uDrNk1Q3zNnri54v/CG2wQyQAyJJ1CJEHsE6C6o mKoqzJasfrsV2b20IhYaKHfCIbqvvcJYkmnwbmf74kuh+4IE+g29jcJ3FbeAfZBjvVUJt7ESSrM3 w3tnJ2IljdC+aXYeWTuxg6DOatw/a0ujpUFjeUVCLGTb0E9ENqmE8fWzeZEFtHDUdrpvsa/c86xj um+epn2aKc0g7EpDn8Xe/HKuS+RKuVaZIHE7riTZhLvSTG7V+cw8Krrl7TaY8u68laKws7ouHV2C 1VyHriAFJC18guHOVZSNP+4X4aa3ZiyD6wYJqmGQAbn3uLEq4AFpDBareZy5XTUVqtCO5L9RC/Y4 I6Fa77ol5l2zcf0Z3TjxXBKj383xi99BUYRrzXcHsRXwlWlclC8wbejV44ggQ/jRd8AJ3nRoJ/vh y6iZdu7m3fSKu727mq8eTYFtA0qaPBs6Rluu38aUeLHL2mDOBOzTw9jZH99d4eEOeT81ZekV5Jqd 9iAvjaeH9fiEav8dKQwitBkpQkEzJ/P0/M5gdgqCSy6VvucjQjOVL+bbQ2VNmpQHGo++AnnTK64j 9Be4sh7vbSxTn10itAPFfh7MPoduSlXmBz3UJHd1m+TLErI3T7PCNH1p0hmcolW7cn8xQh6gUwKn hbk8Plyp7vi1MN0K4pvHCd7VidIBZO+shDjnHyhR7CirJMEsV26Mhi1JXmNxMN4lcqUrHf5oKie9 0Czsu46Sa+fQE9NCylFbnM6R6H5+3JZl88PXjbQdwR9asyFAmJv81yqErb0+/h36pAwMAloOJ6X9 czUZtqQBEBcGinLl1K7KTJeW0h9Yn7VaTspG5uuulVMFAvNxXM9afuSAOgyImW6JKc0ihI7Uk0KY JzGsDpgAX/OvBsnlmdhwy4wlb5pF2BA4tlsjUHs2e2yps258gsFm2p30x6wHvFtQn6suO5VCplb9 nFTJ25YfLwLO4wop3gLosmsaVCnjLPDhQul7DN4sourf/wGZ8LIS0JgVSoO+H+ja3YKKbu+VCsyw IuGOQPJWTDaT1yErYGY5X1P+JtK5rXvDUeVX9t9kGee6RLYFqcnKcJVB4QV5KNqP+Yb8phLUGlW6 rLY3TISR3LYgYFyIXybJRp9dZ9xqegJJyg2vgCU1JbuL3ORVUWo2/iugORBBKdcLRAMAaYoInj1B fOiY7wFHsWZBZZKfDWrxx9xUuzr1NFV9FZPlOGUFrD3s60ahOmYvww7EW58o/Rn6QIiZ9z/2dZIV DlqbSnqWbopx9PKzzfJZZbtY9QXFoTFSc6Etu6VRxyHTvTIQPmBnn9iESfRxXIacCXBqX1YGH0Nl LhjUMtaMajSd3c0Oreic/SEwr7MkvxbGQ4URSPdn6+YwG7qmDohlHf2za5xXGKhGShM6z4q0r6vl VB+P6jhMu83hspJjTBik5IghFVFYJuQ4HY71hQaU/KUkZgf7vRboilJsHRy+OpvJ7THtlckG8uki Yhu1oQFFGO7mvRyzRAY8OF2n0MYOLmCb/Ri6jOhVQeYMclmhh5oxeqST4ybL7I9QCsv7aP34z/eo Z2IvcHWABTAF5++cNwzCY0I4251rS3NRZKKoPrr632tiR/FGEQ5Cl8HjCr1MtczWvgkUKP2/Bdvz mWWtOVDOoy7566SAUy9uaDC7NqBZRE2MSAKQt5L6bNyI6Sl7ku+RGDbC/nys9QX64TYWeKUFGNHj mTjZxJI/KZvPgFf6wHSeBOo0kyC5gs3+bcz9NOYjWrABN07xWFARCX6KPqu76dHk0gy3+13ugtbp JxSknlqrvW2ySvv7gCYIVEdpOsVTg6uIz44j1s3JsGGk48MhBa4kNUVMtsZ3vkH9+D0jxI4dxzOZ yzuQxQicYm4DPfFn5K9PHhdDa2n1omLgWRMmxZ5dQIhahi05CDh7+veUNAmdJY+fWCx3uEM6Qd8j ccMPSOdZDiTg2zZuZ1V4Yl/U11+C7tPvEj23/xR9wuBGu+rSEUPx+jzaT4CWsNxhAT3i2bVg6kNy LAu2dFh5WtePdBFUerQ0IYnWgXgrC89KbUbNN1yY5gbSVdRV4URqko+tqZF7eXHiqpy77Fl82Nuq SwellEBnvZM2Cn7HPJBj4gL5/kmHlCrYMnXg2ISewt025r9iwvBva6MXe0fKyr4n01En/d4Qkf8J vtQOLoH52DRt+5V0ZZ9HRiJdIxzPVYWbE41pkPYMrMn0vs4tirWBPYfNy4PQOSxCM7aQLLJqrrDO IlXp45Psyv5Qgiv1o2efLJReP1zRuRjoFREVVkAbms/veyPOS83tZ8oPFJqBjx29gXkLSSUPprER zlOmfGLyOECwLyJmDL2KCBqV5h/Uwa4BMOjjh5Kk2gc0aRevEtzPFeo4l+Hoa29sDszLcw6Qx4J3 igxHKfD7s+YDgneny3jhLM6n6JTYuCLvRBEfE4P/ADAjltGtsYV0DKIKz2VH+R12Z+zWScWYMS2e Tf2Gu6NEcgjzpGAwYYt/HWe8o6zVhdOeo70htSjFdZenxs4Ux2mmZAjgtCf5ZX2NaLyISBgueB5S /3ubZ0LKVXlqmpd7dyvPVAestwhCyTP9hn0bLTTRnKr0VF0eAUj+2eqa+luZVlWI4NUGrhcqLTgW gESGhj+x6qLCCpeoCOsMTvMoYnEOWPGbJYMUg+epr1YA0kI8ptTiNPAB0f8cwU+HPcG/DmTiwgnW XN8xhimfa6F6NGHD/uoMBfMdZMA1TR/x8843/n31sBz0KaGLVwGvoWi6ozQOEve6za4kSq8PCgZd d9UhW0hTayObpjEhWFh7N6c8PcnP7ZRGsCNGzvs6JC3pPr3J397tTnwuFZ+OkXz3HFKBvKj7Wp55 NVahE9NL8PdGzUz40Y9nvbnxTdXx2ozC5QZh42PbpY9FcVBXV2jmPgs9zQUBwvn7nCOhIQmPYdcP 1C4G/U3704gCmqI/mFfWPMyDKWsQNMUL4jXHwKzvmN4ClzncaS9641U2J16whIhagZb/YDU3XpXb w5BjB/R8R+k+s4AkfWdNxjQVf2KA6ptMVfKnt8fyyjztJ4WkEftYeQzZwOiCHt0dFIODryXaJ7l2 OoRNGxWP94Vnf9JXUfwuE8R0ObS7NVvm3vdJREnEiBG1PYTIUqpc1vWbCBXe5iRGn2iRdNg+0jF6 Fb+gJwWiDMO44usgYSmD/gS4f7dplEEWaRxpKtu92MYqoN225DTvAB1ZA94CUggBmP6BTBopU1gh apZn/byIK9JQ2wYxZroH3kPV9JMXSroe5KbMfBdrOIVgS7/bJ6VPQrdPNZ3qI92EKIZS4qLjEPyb g9fDYuq0yxZXDI5AiUS4/8eku1oWrNcRSKGxcpZs6aVa1LCoYHHJY2cuw8QBQh2XtmWaeFMO7FeJ va08C4QsbBV6vwIy5y28FYanIbSG0fOMR5cNuBfc0Kr2//zrSguS73LTFfNEcLoiX3++EG32RjsB l+KXaPUPsvJqvqjNbf45Y5Yek37Xc/fF7UD9JrXpqb5fl/9o8PiCSF6uATNYEaCdDViZ0TUN1GPp BIQWrfs0i2idP4hK/OxpGmvO8f56x3rrrJ8mUNYZyYkrmRmLrqOPBbUVz10eTgqwtfhVulQY4ULI Rphpcq/CnciTZUOB1WjMGoH4T/Qw3RDhvwReaE/sDD38MQDRGREXy/tOi7s2aoo7gHHilna0bOxs VK9VdpE75zS59ehSWK95AikBkZ49CT7pgihdKkhg57d7hiRLDgdf1quhGUH7D9fPOx9z5PIPEHdY LR/2IYIahd8xozqJroRt7pwBPi/oJ9vfqnMMfFPc6e9Rhe+F4X18vJ4GteRlKJKTbo5vC2mgNtHP mBA8GQ+hrLbQGS3vbAh6heBf7cjxZXieD3a05guF5rL0BudEQtl3YrsuWnt8kJSWGFuIhuM/Udug DXAxyq7SottRqytImE1HYoND0JMtF/FEuX+Bh6p0Hfw3NH/xC7EUV0bHE6jgskjm62uENnTuSyY4 FL0fop2SFZr4sf+rgWIV/UhaAO/7OvofNdb7oIZjNI+cYFygmzQMFv1W2bgG23SmfHXpzSH1S7Pd hrLKSFLsfSPUzftEZnJlXrWL1kS/eQLO6AxqqOK1dRZ18SWqiNxi5/+7L7CjrS8osI5yG0anG4s4 6ddoqa8S+xntQzltng9LQCMrfK5PooOaThG8B5xH/8iRVFrgSLuiLtL3MTNiGnQLd8swvMMsiB3d rTh6tXaPaRBgHQqEMsSZ25SP+YALD4vaE87vT8ePYwq84qXFIheVNskCV2Gaa08d/nqwHfARo2XO 751GWXO0WDyL/WrU8hzVgSUqCSAEVY4nK7btV00Py7DiCgB8OixPD9cxru2wEGEwfMpVOo7sp8yD Uim+j6oneoTcAEK96pykEXgaFPKGhRet7+pgwHf5fF3Ii98u0kodA8KkD7in5aHAZ5M1m1/pTnWI hr22k7XrulLmGirVojZbphamDQuC3Yo9Ne+TjTQsjV0pNaziOLSbVB+fOSHcqnADOs5KWoIVEKyA bihIMSqWdcv4HPjo5teRMndZPGsiXnkCArdP0kjF2C7mXzEEhpGY4/u31g076PZJLaENIhMY9cO+ d41QzroZLPAtIcC59RD3fPlnwC8TJnueO5G4d+5X/oxCsXNX5JucNWHVUAtbNtY5fCMYmYMqRoQP bsMNBPjQfW3RVnUCnN2j9T1QPLQgJKFdPwD00dvGMF3ctxsxlG8t1yhkO5YV+reqByPjgYmWCw1Z k/8pWjdYcsE8MAJHLDzr6TN0/tHQmwCDUhQfHtokTuXwpZw9ZM5/2XOLf1qTsCschZisRVG+4m67 S7+DsBXd2cLI9HQMsibFHBIT90VXcnYxmHBhS2yj6aPdAsob/ABFxAEo53GE7bgaMSmD8Bd4SZeb tILzi5MTs75MYy4oDD+tqCJxMR4QO9z3+DE0tyOEnd4UIyMI/oJsA3qdzINjWdthLAmimmE9ioA0 B+d7jBBbrhfl77eIS6algIPxzrOlV4BdQBdL0ZM8Rx5fYBm8YfIyaOp6q9nBFVtCdtXQFReEaBVA 8VBDs0bN72WMkbd3LkIrPt0RxQ3gm8TEQY1/BKJxVooDkUxF0tAcL0kmkR56HaB1c090XK92Mc3N G6XKGrB7bM9khgScLAb6jL9USOjOKCTRV135BMpDtSIbkTiLkg1do3C0m844bhCsBIudte7xWsXU npbTrS+Khu/HcHvO/oCEipqaDGyTpknLp/7YMAGI1ZjCQFK8XmBOtTvlCSE0I/Ei36+Bhn+OviiA eb5sU0OgRXJ96Ke+pwhXlgJ353DnpBT1Wb+QZeSxAFF1wzmkw11khRzkZphhaPzfSsNXi3bDiaUg gRffCufuijQVTvUQ/g3k9Vo7STncyIv80mgxCUDG/YhxZVxTb6bmwLyGkcU6yaRN1zMY68eLtoR+ FbnFKwq1nue0+mUVSzgrzq+/SlUQya+OJ1zg6d75fPHHFS+cT4cVSriGfvwdcz+ZvlX8/ri8FzXZ Vv6lLBhfZAeU6UhevSD8WyUuivpI54oVrGXxXyTr6BWTsNQp/ejCzyEjzYnJcJxGKgNFpLW/VmcV Rtti1PRRBMYQIVd4OirezYdTeyIPK+tuv2OBj/vRoI6Fgq5YNjFs+MIujZHE5d+2Aa0nXWPQ2SE9 12+8WEpzYHmlblwK3/h22PuOSOlA4NOxk8EPFhvIu9y+qWAo2NRF1UU5vR6MhDeB19UqXKUcLdkn Y+cArn9vzAufvz+msNInw3PKLESfMfvqfoGogFONhFcFk7OAM4bm0tbJYIqpDwA0oxrvMkojSYVx g+xzuGOS11+CkOhIJr9Ne0edBwzt3nZ/dfrOxBhAgDgvhb0AMZlgJ/apiUCw1407GaHKzIuJRFzo W985aIFsOGBgrMUp4DGU2ggP6exbn1XdCzP8X8+QLBPR4q4PIRPZfq/lNrH1Dq9/gvse3EFKe6nq QpOkE9Pu2tMwmd6+KnQy+conWsJ12t2uLOhR7uwGZ8j0PnDHgmUH5yTEsqH3WwKl/l7d2G4o1IJi REr8ECB+Qx6Z684Nu78KW3KZEoUBBLzYUFs5+GeL7lF7H+ujHZFrjSg1nb1Bsob0XieWDANH6GCQ oqcBHsMmaOrXNlcMUpbcXVkxI1yYyJx9t3i9g+eni6jY9i3K4Rr8GxAjHpgDm0Rg5DEb54Ubw7cJ ZZBh3ljq4auN3ILw7/K1+NQ/t3LUM5cZURghJa8PyjJuBrUMYIYZ0cGT7r+LkJ7MbclG+jj8KqhN /hlAkjQRh49m6vIX3RVlPtp6PgLC+mKEmFM+e2njJARxmWFHod5JMUPBL3MWC1BEYvTHsO+xxpjB HZE9PKuzbB5G833ZpPLbz+nrbGJ99vFPz9j2RHw2lkHylE+ngYcjW5cW+EKgPmBo6bXQVv011bSS 4WMUme0gtam6/BcIbh9yvtB2KOdMRvJ4tS1KAUg++9wNwxMP5jRXstV4HQje67RMm4Bnl+pUqtVR vp0FTu+ZPCUSVLrVhU2y+dyHqLxPizVYZMql/wQdNF3WfaQ7uO8Yrwo65QCPgxULyb2RLUNQRAvH T9c3UriSa5Qnd0WfH3hvVdBFyZ3201aPMLfvHloICP6DXlCvcPduDkd1sgKgoZjfhPEk2wnI2s5S Q8ineMAUsYfgkUxltOHz5YOc9F92WdbGN0YXjj4jBlQ29TpX0OVyoJcCwzi/cocrfu2hi5E4xQsm waKRzp1DM8h0djdeGlAj7mt4goUIXhJNjJ5900T9279QRF8Qrxnyf2skLktRI4Cbnh+CnI9ogMMw vKSYwBW+DEEzzsA1kGwFr8jYUgcFmp5P3vdrOD4REkJPaHI576soFXPygGEL+59ZK35chRuZz5CT kTHzyGcW0coV2Evm7UFfN/qKCdwpCMfPOucZKIMJZLlXVZlAbNGaO0dS3Y97nLaYrkgPVDP3Zp0u Cffxw4qAgjg8QG/eRTSTNn0HJScDQU8AnXARuGvv/0mX47bcrHcQoibwg7dmZApWgaeepRxL7i6d tlp8sh4LtLPmv1AVkCBYQb7Fl28zM5l4Gk1GPn2Zh/Oa7EbVxbiFYK5sp4Oh1r2Q8frdeRcvsrRU 4omWP39/mZQk17HA9sDJgXrlfPzCJU53G/bIYSnV0/0L6TvZMi0QSX8YTslauc697WsnlQXm1Uov hDWwo5FmcMb1MhDfuTjXou6YWjv/67gWBqnlrq1eMiiY5LtTsehOR0/A8JCfu+tKAQ9ScxMlgeKN dEeuwnYj8Si0t2p9r7mmSxcNmqz9s7y1AVFN5QlDiSaShX1pwx0T+vJ9Kr5ihw0SXbjMXURTwiFS 6ioWBq7OBTuXgkNpwh8R3Q1v7x16IbIJvmukXqEg1dGKX/j61vC508R4vjKzoM0DcacfVq5jDLDf fM/+szI4bMby263LBiZ+z21FyOCOJWSY6+9TJJPuDvViKfg2++kVjUWewf7NRLHIja3ljGCxdlYE FqZ2iOaMPvhUTJDT+OyocWuvSOS2DHA+yL6xmSfVVqwAWVCUQamsXzRA/bJR/n8RypSf8UqqMlvw aJkArISUYZSBi5cY7RMvLFmEMuLrvLEsa20/Z2lqXlDCKfcrQ9i21Kpu4jBooZiHkHClvKuic/wp qLeuaFywgxFOpck/uCv5OYMM9fbjWte/qGVdXZC8K+rsnmptfC2lIWbX0x+VGdcIzaU1+zwYvbt4 asf7lgEmuIbX9LI5W9W73XLlOfRoiJuUgBhUdDzXMPw2H7HFotIY4emok2Yf5oz2vuKlE0Jrh1+O Hcuv2/Icj/NVaQC1N+FEmUVtDWCxzHbGjpBJtEpDknaEJdkruieHKmkXvjkBPCWeWR+/zyYEnJq8 rBk32KeqBY17Bv0Bzs7jYaCB75sMzW5fdaDMyVoN88GB4MzY3bIy3tTebalysb0KfGK74oOX0795 rKHLIdI7dbcdpCp4XUbT9rxrvO55wwhhmJlgSarFr2eS1rxB3lXSdIf2J+V1qCOv9yMKis+azEBN 3ZhjV9xXj8RxlRK1R67iMHrsVKHYEcCWs9CsRJruPdAz6nZnJfJ4AS2s1OgL6Ctu/TSty+obKZPp rbLZquJztomjTAkGMQSahJ0v/ZGD/PUVnahGrefTnLtrJG0TDSaHfiFzB5JlT9oN3SOvr1BRpkgK N4f2mpYEhtJs7SBaggbMX/uXpJbPndYbdCoBV6iCkj43OqTyTe3oixHjKNermZ86XF5CpFBHIG1/ hM93sirGz+EtsvEyDHAnZmWzl+CRldHUzzqMnACIcD2LsZNihnw5EtyXRd+91zHEG0KtEdBQ3GOX xSerjBAO7qTbCWTC6vtRahz6YSrt1phlnbzvmvzrFW5GY/iR6Lhg4Kx9ZXhE9SWzizTmwtgTyrBs VmwZCOH4YgSbLas+u/cPw0QQPxhGM8iWVjFYMDTG5f+589JNxprre/stS3xqhMcTGXQrFPKGo6va UqhCviCPmAK42J1w4RBvSxvEQusSPlzTFolvUFjVK6IOKhxgFrhlaZX9TNb5ZKl50vnxVZQeXad1 dl8MbHUPo3amQzXg25Pc3j/YquQLRX8QDsnJIAIms3Q9pMwDMKNSGTIbtl5LnnJWrQsaCYARM25U wwSsBUFOAubFXx5JqEwPu4mMB8yQu6dH7557O9SgyTH8anSWmVR4rUKPYmn8GWp5BOEDmr+IoSyf fhhSW0fZj4EoD1HzohYooZPVaCt7HJNMiOZaTVlusa3XJ9vOs/1iaDd2lHeQ7yz20DQQSSnWO2J0 LDvXxOtBUZgxRnLXgVu/UdsWYEzjVbqPEGoFy1dGbohigKTqy69F/Py1h0he9qvgVDImr7d5wZtr lXKFDyhRaKresVZVfawsT3QLrmytU7gcJy8RV4m4lnkm70gXGJOV0Y+/ljiDOwKuUAtg6Q9xO2DV aZ66d1/TRdjxMhZ67OUOZaLv7oIBtAtJUQ3Spm+3XqsciZ/mmNfNIATBodzasVzXWQTyXBhzikfL R3yPcNK4h3MppTfgtT/kA1vM5CiRuP3p5J4LH23ROw0DpVTq3OVsgDmxf6na+MfCo9XKYjLfco6n dIro4CTwU29LWxJ6a3u/o0hhk25y+ageeJ74z0jDMpckKxIX151yl2ah25jI0OGt5NCB6P7kyxbT POgSqQW58kZoI25DUe2w9r7kaH7bKuR3sBnWvT8aPjtGiyvvTJhc6Ozs3D0CFxBtDVqaGa/pDADX +MeAEdDnY904CaXSobrPRGANb+Z8HUFqpwDLxVAi/Pi+L72fyBm630ILKZfRnJCZQUkET/O41QXz R6miLP8vmKgRo4uefGiPv/4oZ1AWh88kX08PvkvEBwWb9cwLw0T1Dyn74/+U+GLNtQO82u450S6d /T7OvmABsHy8rutfI8GoT3BFym7/GUIoYaGKKzHMNjaiK/oDKefG6VxXbLFlNb5sXG3QkzdAJ2js wZUUjRLx94Xe5swh5RsbshkgaFxIj8GFWzNr8lF3l9N0H8vqnft0Clkwf3alqc5UeJYHuchNo4b0 HuJgaKoyBDWn85IiKQ9M8B46NQUi6ba15QHMMl20WeQJdIwvsRXPBsi4MshkW1fcWHB1eNx27IAK jFwgp+SVhJaDGmoi4ygNkc4812eYKhLHgQPmf4mrf+A0RdisbihQgSiGvpTIhUMUedWSTmj9UBJ0 uyoejzSzeZLdnaSxsdvhxHRDudiJgAHmS86Q+Fq2O2K9Ob4vWF+8xYyGxb5YLdONpNX6eylW2JJY r54XhyFD2IA4SeADK/ztuAPS4TeHPsIjWb9i4D3R4mifGph1SO/utjajAiEQk1tG+3ypVupFvln6 o7yu4s9qd+kSRhAw5Fduf/DtE643aDWJMic5aLOrXddkWDrWmHhyOML4xu7MAza2RDonAnrAaYHw SuLplM+W+sVslw3ZzRCbqODMtan0K18To20RTTIVYNa+1ayiWEpZCTc7hut7cJOcfS8ShSTKIqnP tKh/1at4U5DLBrg918eZkyG/+5dtdyr11q+HUN8NZrwuC7s8MQWQYRty8yfEDt7Eb+RmhcgMvkA+ rUq3C1p8lgVVqpIDWYOkNINumVu+zOmrP0sd/Eb6SpN6BaQHRjQ6yalnIhEM2SyaUimMnY0e4/9y EJHnJ40F2dF5Zp4peoIy8NRqAl+j2JZVL/DlCM0OiLXlVVJVm+ZPWiO6J4dopN5qPCnBtTN7BYZh l6QTofJgOGb+q9KpYKT9NDD6BcP5kr4Wejp9RYvfi9E7FvxTOWNdRbnSSQf36uqIdv0JIa56+qBT zVBIMUa7oEN0dqV8/Ro7uXOGbVHqOxRMgJTs7OGg3n8aCbcX3bC7GLgjIu3ZcTbwbeoF/m7Buxzy 6zIryHJ1bij9VTllmt114N/QVZ4NGF+1QUvQJBJ/adOpwLj/PvuW7z9fTKqrq2+j3mriwN8SBmS9 eNy9qn23LNDe3iHcTgfMlOo56oJrc0ixcHfB4A6wk8We5OFkVBEo9HWhMaZY/r4g6ahYp6fk8hJ8 5xPDr+jVd4rPWluoZOEH+E36gsMYPTOC/R8uccsRpQMc+yQQo4U661tCQdQNkfJYcjZUE590CyOv yYLVbI6usC/c5xhXU38z0H+OuG/DuyBk+FhTkYI1LqKH5bGatq2On3KHYYCriGHu3g+5ztW8U4nG /34YWH6ORLu5gOJ7Juzb/zvpkXhi8M+L/dzn8XVnmxHCOmMm4KeiLgiayxtlFqHfo6M+vheogIu3 MsL6iV7EUNTWk60GjF2BbmThJfmFVXJ07cCXNwsrUg6Or+pULOrH/ShkoIB/yTDYpBLL7mSBCAPX xnimgDACylfupGO5BL5HdPk55LsRW9Ex53FwQ8Blo3SJQtkYbeGZJYZVqRox23LvO9Tne12vdz9Z Nh6JTm+n4XaAxY+0TkZrO6p4NFc78r/XeXAW3f1y3gGaeXsMP2A2BBXWbWd98kqAiepE7IhN2/KU LnC0VbPzSTmSjaUk65UTClNLtGt5tfe5B36e/m8XHoAWS0dWrASRPwCqG4wCmDbtYzRfLbbd4bL/ m2634xUGkuLbT0Ytq/pcKH9Q6XttVmaRHaCoV+K8Akk3PmjtMbJJ+nXWAhwqV2nwLsLT/iDFe1az M9HsocMv9in0nLcbw8gZ271nFZy0tjy4Mo6Xm9kz1BWCqVDAIKPf1F0Su9X+JDO5ka6pzte+HXLX ZIdPvGSm41f3QkFgK1+ECofoPQ/bw6n1Rn7qJ9+E5jK/JdPvF/y9YpC61Ysww1AniliA8RczaE6/ Nbmui+6TeMFm7wLtiB1Tqh+RwpshuGyley3Kbs9As/OsCDqfApZr/raXMmAGlH8Fk65NtA0uZNy8 SJhjxp1C9XAq9Qvm/M4QTTeEOFypT8IuLXdKJaep85R/VyPar8qc526wBT30sL3vGoMvSk23zYa9 6pMd3ohMuWvlDAp4/zkZ7Um1BOh19oPNQ5/VDa3rSPqP3mYwFqzRVjpLbFDUPWRj2LFgvH78+P9s UcPX/iBd0nrrcMF3Pb7PFdHlOQH4dA9vKRUkzG4xgXyJzK5WMiUWaBeJEm8/oBKhh91AIdQDdV7A IJRsTCXWvu7TLYWjb6UKcADJMkvU0FIQxP36SYEckE6iSCZlQg0aIdXjlcKlvpKoZnFjzWLuWpkX zkvx+mb/U4IngyTapeGWJLOQLldGjdnE4xyXvFu4ehH32Tmd7LWq6U3OYLLBWYjKC6hd+DZD371R i+n4zVPeohZkZ//ArrZWlUF2wKVhk5oTp5gHbDCEVf2849sWoYcXrPGi2s8kGLHpR8y/AtQdTTZc 47zU9te421r0I6YFvQh0X69QanzpxRS9wHq+RNwQmft44Nxf/rYpJKNfa73r+PBAoN/9357rgomh t75fydruafI1a6WTAdhOc8of4ipgPwsMpJ0kxekxKcjQ+fD4kwnoL4N5k5rDgGR9tQmYUHwYNVj+ w+vjIe8ichEMxZZlZm7HvJPOeB0AV6eihVb0K7BFSarQlx3WDFni+ZLaZYKeoF7vf56TQEsLjVK1 NzNa2GGSpefy5F4LlecjTh6Ni8X5ePaq7Ih//vVh/nyO+I9fNP7ftnsoh6PCmC8ceijQ1PljNXYa Fzs65HsETmBO2s4ihpXfC0LxP9S5UKnwqIEwhFarT1UV58p6d4Ngg5sDrFv7z9YPh9sH3hVxtvj+ NsaANOIB4qRBtPnnM9lmw9QaaNzZ9wKr+3S2my0tA4dcpYuNT/23u/Q2vpKahkdS1brPzRaqq0+S +Trj85VJW/zAO+4Tt8vjjr7TgF2p0/d0KobcpWri+j+Sb9mvcHBQEcKttf9frlJlagCMryd8heQG xlz8NnOdAY+8ENB2+VKWqU9X16D/n6gHyKLUs9HHYK2AgZ/E45KRo2B0POK3DgSk4sLHqia4fbyj efXfjyrJxLeUH5FjVSnfBuSb/80+glFtSikssqOtEbzYgAWKp6cPB/1Z13TFK34aY1g4xpjvlccQ 38AGazP3xE8kzqsGqsro1yz5ATn8bVoAhY5BIPkEBQyRiqv3EWGVnTsQFfpPHXW9ysfkFqsWmBAc Y4akCfYSH+B8n+J98463Jvvo2+9w+PXx0eT31gGNvw7mWVoELphJBj6il5+72FZ8ViUkLm1qXlnZ 4PnnUnpKqBf9mwuTc8itcObBKaSeljkdZtO2Ni8K5Wh9RHJh446md0pHqvonxmf9qIAkMAgnJr2Q 6j0LIXe3RmrF/PkoIGCsbAYAeuLjLJ5fO2J6xulfM0EScLjYtAeYZt3zUxFgrKV2DJ0l1+joE2R2 PvkuUmbAbpCf+QLlmgnChL2IJoEtOfog/IvsYINdssUeN6/34vxOm0edbPlP+/W8YYBNmN6f4Gja YWJzct5Vheps2fbmzvv0FpcFfFIR+dISXtWxleZ2QH7KZz+47xw7hreZKdV8HmUg/Ayf0KAYp5Zb BKUwTF6QpvjtIZddB9YcagPBcJ+EL7GWY2w1LnD7b21N/b/G+t8TELd1s1hkvw1sjrR+DaA51rEH BMOkVoUrTBsofJGATgn+Vc7SOyGQrWDEesCZeC1zmpuIGTE0/7Tx+K3J1jk5GvY1viFp+6ONykh8 rnkoEdd3FJwvQIQpRebKYH7y0ICapx+1QtPkaT+neELyRe+bJe3/unpBgNANKaC7X8bNRp3FRwmE kaufHfBWHQqZQ772ZNaxbJGG6calj7tzyOKIzwbcqfr9/2XxCcrh8Oag1+wF64amLRyDrxqEvoiJ j5SuDedFaMtwRSr6ogonZqJO0csJ1zDO0mc4cAiNS77OTHblE3AuYTunTlLuJa3qtQ7DpWK11UUg Jl2GilM0bFQd5EiLa148f6ITtroudR2lsiQ0stEV+zEkEEtHXP5yFrTPVUN2pO2NBG0tUK0vbPHg miyxBuqmwgu2bMPZLSVwkhsyJllzR+aZrGXJqbeRQM885Qlj3YzahmavJ1MKn1qF/+dr48UaO5ZT 2JPEojlZU/yrR2lc8QntLoT9zfYykVxTet11GPSXWGvy14TXuRwB6J6zLMSFoRN+e+dlm4wTpMB/ SBkR29Fe1PE13cGBnrZWiLbvQTOova+6NrIi+hk5nrnbbTJHLcVCC2YhqiFBmat0s9Yw6VfIVtJ+ TGuPJ3wTCQpzpc+Q6hb8dyiX1yuwAjwf/aqhxbbd5zppsbj1ztsl4nfa4OBgtSg5b6hsQdH6QidB VpzeZHjLQnQXty5G2+b3EFjliCz3yjLCFk6SjwnY6UtKg/nsjhg5MsVxp5oSIS9ZZ4zU7aVL8K/Y v6wtQJ8Q+rkrLxS4qSnvny8f76gdB8nbIuMRNM5B78gnlm/oezi3qUgiDfq+mUz99Wsep76dhXxr OUov0PKIgk60MOXCXtX+dAru94hlbdG/NEfEGg9PLMJ+azQB6nHSkuXJQFl7vLwWyudknMj85qw4 vS95p7ER/UDP8QUeZMCeahy2+EvnnwjD/y5qSEsB+b8VxA075NeLiXpw9Cs+uLBXp0pjkA9hD6Zd 7iyrnk7GRKJKHvAvFstI7YYA61mPduWGdc7nZx2yjkDEwKn3OaXQOqYnlXA7FfmVH3rd6FcbaEjp 1rLzMkdaqGsiUwPik6mONbM9kDar3LESoj/Y1Gxch1CuJ78pNpNLcxgWtOAwnOAXdV8PsAgBBF+e I5KRITaE/9ZHYzlPdNBy7V+EBrUWpXfVbbZZ561Aq4e1PYNGm2+f77nnr5HmMeyDUkHG4mvkiU37 vWpXBvDgpZea0n6QiAxUnogfvss58nmfn2zWZ+FKq09vFKaLdfTSKuw2C3wOjOcY23XvtyddJ4/e Mfvwm5FwmibrgWdKQfH3owGktxDLT5OKYJCgI/47ouMjC06qiU1vlDgsqBNARaOUWlYGj87i6z3s qxdcuGiU/6Ipd2SlfGnodXEl1gJbG73BGAEOVx7jnbS0OJMmxSiWTLRL8iLsfKAppRZX7Rsu7qyR aNizMub33GqYV7VEWyWJDgv/5zpkSGcl2+bixeUpIWwJcaMSQvrKRQHHoMbKBwLWH2Xk3pCbMWlO KxTmhubRLnsQ0nRoeJH7HZ0Ol9UJx/dO7WGez7eoIPr0S7/m1bs1/i57rbylvQ51IaIGcI4iPwwk z96IpR4Md9RtVRSYCKFGCBGCnhLQMm0krlKbRFSt3B9yISh5WFlJgIQujVMz5mwrExUARB5R9GvH LeksCce0rfFtZ79LvZ7IqlHN2lun6a02pGAZjwcD5yaXBY50mTtdXZdFdI0ksdKGE+TYgvKa+CY9 Quv8M89svX3zEEWiqvTsQzQmgESfpiQKR9OI1oSFKZD7swGsQXMCFYWGEc236sTH/Vwb8p8ZVqnN JsIalSjOCLdQpBfOP3/G4NyUDgQKQnkHsz1ypdYqli/XBQFlsCBC5vmlA6mUl5L0ziux2sFD4uzx EFKTheU5x+zbgAuc6A/XWJt+Dl57oVCmbUr+xPLuDPfEM+10wy0lDARtOMnLZ3dTlwTav1NaWrxr 5wDjTrZ+leL/jTJKq/eWmk0j4JzY5vPOcQNdLPbt7BM5n2+ZSQajvGA+LgXLOh1b19+DPk+466fQ 6yReDH5ekdr0OhWtPMVFntGM5D6q1eiEwhR2PTn+X67deCGPQuYiuyD7pHV3ue7DksTYqetaGPHY AVQMDr3hFZ/qwssauDQD5zF5xW8rMHduaXK0q+Sojp943VzapYt3MbSuR4F7uZDcANSABFi7guyS ssGqkfdIza8XVY8cCqqBe1y5vworOm/dSywXhEhnC7Qu62f3LhGBXUkuYJX6HKhZp9/PkkKvUPFq wvSiP8r4WONoBs3TkXRJLascrYx5NnFMXobtjyMZ6rGemqiaPJ2+Cr5FlDx/Cmum4DIOq6jFpC0X KWmIHUU0SF6eNTB3ieDnZMzDWhW21F/B2si+idTmWet+4qUJ2ipqU/DWB+g9QxWpgHQcpY9S5Kbk cmQUoT8N0+sbN30DvhhNfoSSd+/yYtswV1CI7S4qxoshnuXmKxIr9PfhaqgH6NkOJPY/OJQcXhk1 HQUt19u9tkdV65Hi/oNayyncVf1qXKCDCHsUtaw0p9hbYU/ak6H6kJ5DMfUfH0vmm7tMFzg2ezlj Lqsp5/e2nWKPRnspe/G8iaKzEY6g1opDypwNSkJICFO09W3kk87UmIZhP+1r7F+50fZNLlQieMK1 CbaNjbFhRYctkCCcCLCBZCfYxymdLGa2sfyekzfBgD6Xn+clT1Ot7wtZyE+idS1XGkGkkfCj0pjf IjoBay96q2iZfp547nBoTnnWb9n2zUqBizLTvwUdohn5QbEdjduKEdOw7YrVCgrSbq3SkprvNPPS G8cBKI1KX/cuvQiEZ8NSH8s9aDdRioK54scOb8KqdlopYUrHIMKxpvQkXeUfIWkzHj4ZdovLMFEq EjeurCIGgEXcL4e1eOISiKs7PfIm5B9+vDN9Ywng6OUHDC/aXD41exk5CqN3sOBtlcwDX4cXcb2s g6i1N6ThCx5eWTwzY23Um4czzHXJ4z1HTPrVYQAcVF0TGrOLMwOQE17579eZJ/+2RtGaiocCVjeO EU4ExA7IsvQ2JWOPMJhuLIjHN0R0LdOQ4GrXXDDuxPiU7degGTaS0y41ul9o9EyAmMpF6gs31Myp oW+0qR5IFdUX0KM/1nNhDkrNM+bOIfYYMjYdVuYsfnvzVGbqJ6/L9TLJsQFatDA+gVB/sVfMJPbG z4vXlMnT9a+pJ4li6V/pptFKO1SRK/9QlhWlpMIO+5KsnfRBO0h7KuKV1Bmntgdqrtx0LeFCdqVJ +fFWYxCFDohx+Rppg4/VRDDnI2lVWdy+86Xq2T+9CRnwzj7m+h+BjhFf2esJaXmogann/DiR1l4H pI758zjJ0O9yrJLxng66PlUEMyHynmFu+GdUlt7UI6oMH68M1bzL/pGXOd1B2it3LUBi176NPWub pS5mA4mVA/M7ZFoYu8xvb9MWReYil2WLClpnae4c7x2pNSmFDl7h2nP+5hrbCt0vBavNum9W9EOs vm/aI09vOYZ9E1kA9sZUToijHDzsrh6OKei+o/PV6nAS9RURVNy9pn48/yufCPPF8kVEhyGkKR9/ FSWh8umeJg9zfA1i+xy1LCxmYzNI0PXA7UelO42Aop/uJvqwhYFPQdpej7K9/7/YwR7j4oob9tfB IoCsekGgL485WGhoFxDoXh2hOUceLGapEDH7feloCYgCr6Ud3i9TGNSLmZd4sL0LEklcCUSoinTR vXpwAXGk//XtWoXBOzBARk+39/FJXxKW/wo6IEJEt1OFcg+5f1AjVIH6XalUQLCtqkHDDt4ZiHlV AzNOm6xj05yQD4ErsW/F+FSUTxlr95s2cauKJhgku87np1jHf1HYXrZQP6VjYd4scnCitlChC+jc pO8VT3BQp0Qs8ra/SaZ/S/pFhnDM3hUM7Jg9DzHFUkqCXYeAkwrrgpWmY7oT2ijacWViQR2XPCK1 /MG6UH16PqZsB82H2c3E7esYy1gQa550RqmvQ6RW6nt9A77sYksDaoyjQYjAJ15dqd8NydSPQ2wH 1JrP4X1gzp5XRWyiZIIzTwMdS4WgBuoLUO3lpXiUgGAOcAzdoZgzy6LM526Sd1nMlqfN8DZVEbij trVuFa7KKX3zPCTsXtNCgU5eCr3CghMU8ylyBrthhq22y6knffNG7GWwhEFJtTRS99gUnPFHhFJb +x/TmFgWtcv5NCSl8rDAR5GjjLkjfc/6EV5OTqPDsze2v3djohu7D73h7hpC3lNkJWMVWDIqPdQf XcqmGTiuf3JiwGZUIIWrJJKf15urZswogVR957F5c8ifMVeZ9RotGXsuH9758g6FjvUHCPzTRYEe hHG52rTN0E6SYngbcl4TwVSZQxO0djRWerkkdCWQM86DYUFzWcIbnGQOf4iUTeC20CTZYnRlMxPc eSoyWB1oO+827EH2nCXWRtzXoXhmnTRqetAJQx6tAIIuQifXmWsaApvnXlIYN4LW5dDdSlLeGya6 XxsvhPvrH4AP3ueDd6ZoYZ9F2lYQUmfaz4bLVzqKqxWSjw8Opzq+FN9SG3tg/0ELZMhNPhtKx+wC FLZYIr3maH3Ml7diaN5v8Jz8yfV4DnjyN6xazS3S4RhF+pWtxbXdrW5/C+H4nKeJ4aIsCeT7qfpd /SfHBGZpXTumT8gy8pjfR9sqrU2gB+DGFfJpWHGkpP502A0kv564dCEKx1+qagGN9KSpcyDSmRk6 lB7RTns0qtEHafGSxvZjb7IkinOaJp1ZzujHcRDRwt5+Ck/fjMFkikRINMU3jMFsrCLke5s6BsMf LUWKS5MrNRgZ2W1PA7luSOwGqq4JKilBeSrvH/Ysx4qwNTia+tctJfH9rpdYLr9M+I06DDqxPbhi 0cMpC/xd8ggjvYZ07OB+bC2NePFO1+0KRHK1/td/joT2Y25R3An7GkBjj3zCwKUmE10SG3PlwpIi 5aAuI5o6ZmN+QJiG1X/GxWQ91vcT5f1VHtiQ8zH+K7l/wNiCma/ADv/zXTRubvlK6VELezly/ByN tHe8Y+YB/FibTALV5R1IBjvgQY0pWPIuQbbCynhE158QfF76M4LvsFt7ue7dJAmLCqVWKGebj8Bk W50sJpyUPnvapjtQGVggv7rOVrl571IYL91e9i/8dSYQP0o786bcOHEXbZfGSuMSjEnT90MV+HFK 0SUH4mbU9uWs3sn1OlT7kUFAfTgob11bRP/EJdN2oHFUUu3ZV2vARqYhIzUAOjl+0jx7k/jrAauB bMi+B01muiERjrNqwxEIJdzBpD3zK/qVylmA9qfi1eYBQ8aPyZPnZfXRDMwcgL2tzSHhsVCP6JgP 1r5kW983hvfdTZDtibv4g4tjmOrNugsue/8M8GQcFSuz2h7Tex4JAo39NGhGQ8VLNBJJsqYMdD7g qbWMVWQQxPCvPtyNsfOw8nR0FdPvyY6FqTjQAqHBHNPh6zTzZaGuqgE1V4kjQG0qybueS7iit0EK Yd4PX+YwyYQO/pxL5Fc6QFiiWTQrt42tkqWxj499EmPNMEXoMlByKwD35Fi+YbKAMvLLg5KsDKwJ jC7LCtzivndIDVqUAD71xkaER95PwZcuKtYfc/YJBMnbwZjuYQsxIMnUMJBqscqQYzDV/L6SeYx6 ZJW6nYrMtpcXGr5FSHgmJnQ/3XL56b6i9nAGO6LiwcwbZGhETRBBTFi0Ud66yxt/1RJwtFmzOY7B VSPt5UQrtbrKrFuj0ZRuIbOjgygG2dJTJ2p2T+mE73PCLtph24RdcLw14qlDr1zNcyVxkyu1xR2K 6Z0KjBszFwjR8519gSSg/Xun1+ZCGk/jXNKh+hkF4gloHaCDDYXgdEFu5gfgC+rvEO1kNWA6lCOw kGnHBMGPs1dEwIuMgD7ptrovm7alnqTWVkeWpTS+gePINnp1TE+M8BHR5cs5wS2k4uKDR1eWaMlc p87q2Vp5dnDE6xoaTo9PLQ40VQGHO8x2R4LV1S9Y3CiqwiHfxGrwA5ZNLdRApSL2nchOCntGecC9 okx69X4SrXJukMnOzk0cesn6nDa1FsQSIrWDt9JPLEW06y+pTfsVR2AXe+IyY8NjwHkoQgbyBKNe +fNUWMJzPVz1UqmKjWzAp4pLmfi8U/B8JcvhQYPV6CPns2fuQU7N4xHf9r5QSbEDGKo44LiB2ekh pzcf4IkJRyKIlXMKfy/SUap0RrYhRRCgYacmI/EWYNOw68EJP5QOtTP4Z/YkDOAPBqDSgcPzLQXI mBefi/KYbRKa8tQ+yioiLS42g/ppbVAY8mJK6TmwEtdYNvGIU2id/UMxMioLLvaOuh8Yy9t4N0Lu 9zY8qNOUtYGNFa5lM++XxvWwBstzYKJIj+/d4wdrTNbTGuSNspYv67nMPD+v4CCfl8yEBwn24Awk i2kEIQammXlCgU62R1vlwI81tqJ2slpgcMtqXFkuJxTa2bHoptJBfw+TRWGUBKcKKc5rFK4s+9G5 mvnfAzjs1PVGcPkjDb+Mz3YO8FsxIhIqVjCC82g2n2FNhUAoQOk8fD4ofgxnIeIDDTNGZXT5UK8F r6swO1c95YDPUA2k4C9fJYst/hxN1E+2p5LSDwArIyEgwyQoR5zxzTTjVA/ukMbG7bzn2gLG2dpF egJKj76ZTMmnM0dEPdMnBK0R7hiaK6mYDvlwFWzzOge3wNxacw4TaAneGU1i//SzFtESONJdiB50 2aItmcln7LjcEdIrRX3iPxB4zTlpqK1bQmnVd9MArxO7W3Geyc+e0eUBguMC8sl6bHBrHhPCjx2k XteHXk1wAAAHm9kh3fw+Njn6zx9vtV7RRt6lw4IN8OF/ZA4Bl8D/VEbDAlq5hCH0bYaq6CbBAT8n liZ59ptgGxcvyWJQKjsNoGaHT1wIbGWgfAhRYFWoUy3SVG3455j7vKh0ehqg/IfwTIU90gs8J80X mIN0/Je6RjsIP9I1Rh9kKpwaDKazL+hObvkTvtjRR35P/tK6kYc6e42lqa1ZXc9m8KlaoiUlc7tK 9Er3toLjZWFaSSCZSUkeENN6pXvn5KNnw21R3mGOy/9FmYgRsWNW/D3rmXbvIOinMcQL4K8P9/A8 UoeUzatdo+otRys+YR5u9NvlNK22C1ffNvxax8djuIUGg3FmEr5vEkrDPQ2jxAqAwSwwV2iL+7zM Igx083lwLBpA0FqDLlmPp6KBcy1UNuQOiOcEELa1wJE+n1hlzguhvM6uzEC+s+0G66eT4r3aJvkM VTSTGDXYoaad0SQ6Ut80fh19RtXgsiKhHVJ/j6SJ96jCZ7e613dQf1uN+RxObHekE4xklhE0bvvb UFyMeg2n51d9UtgLksCOARo/VajT5RTCSWVcwD5LnCOUjJKZsvnUcgT3y32c1oFp6bLxSr/j3kH+ dgFBv1nzHf4MYIGJ2l7JeyxqTPCbPE4vUFpIflR6rVqCD8fJZnnnxLGb0zKSAiNGT2C4isjpaRz2 AndW1hVw1gQIe6Xb+w9Rmt+nViYMcWLwgRzWmA79rtV2LA+MpVcE2DlvCi401GLJIq4HaHHNMfTS 6KPIA+jJgNPaLNDXIytx5QdYJKgx/WSKhC1soicvDmeKrZ0wiVqcbGt70JI5ZXauMbANMad21fcA uIHwOZWnk7vSQt4UQB1FG72GbyEQk+5VUjRTjsP9/tZi1mgGXLiQZngkQyt6V+i/5CZ0VS6bFhIt T5032ati6InVL7wzUbc+olNQvjDWl1GiMoSw+UPC+WEhYJtxDIyXS5LFoqq6MUoQVdBRDLmPoSwi 8RR4KZLMUFrMIGUIbqoVpX6L/5kZ7VznlP0XEhm4Spaa52CpD1rjctReAaEFuekCnAc/nkiUAxDH lVYCq1ngvLOIMk+RxBgUYFZdkmddDvF75cr/ce4BnKXC/9qnfPPiHEdgA3q4UeDDY8vBWZxaagmJ pgL9CPrFxewt16w7TYESzDuCzgX/+cphbZuxvlWUSQ/wI2XEjFx0QOWuOTB42qsl1wfdWjkGRPoM SpWzIS6nUcS2AgNf53Cf569wGvYFzyGeyDqOC80O6Wn4MMQVNvJQ19K728loUUj7P8A13s3p6Yqa NKJ/pbjQZeBaI8PWT0A6d12FgR6OniOHubq2Ri/vOJUOsyGDtFlhjLNWJFWfQ7czdMLQ/fo8Ch1W PZapaiqHmK7jVKUDXHEcWyR3+zLhWsdvAvOVpoET5nXl5EVZt7W14BdtJTy73gP3t0K6+nHmAKrt IYQVwqIh0N6s7A+4lQGegySCxfSRx6HPnPAQkZjiZpCLu5Ns0PbS/u41//5j3d9szpaBxHSmuaaR +s35LMq+IZPxr8ouQBql8NGMgKBKDnVWOaKcZ0lTD11FRUmre09t/xTFAuBINkXoPOnXLRSjzliO hBW5XQaMYCD8QucUTEotyzQm61z4AUupmfHwgcDcB//RvyHpL8pKVw5CMj7Yd300HQOppmqISC2j YitXSSDhjR6PwPqBdNipoYxv8cg1BlO18vavjH+CRtaQVbLSvE007VyYrOiZYto+LxGngCip5Ad3 efnlh5wiSsY+2YBd3pjq1P6ia5JEDGPfSmph+uiRl6V0q9K36FP7OgCqqQQaHmocCx4eFHnEkcHs QNzlJZ0S6fiNL8pO4XjuiWQTyrLY8Dp0P01P21cHehy8OB+HWmszovu1LoLHAUvdm2/vxmfVMvcz cjQUclHJgc0NhDxWy8e2EeT4c9WsSMLxIVfqkITvplf3x1YZmlHNHlS0hKMGy/SZPjGjR3JQmTsX 2Uv7EWpgfGOL6tf0/c3wL5lqoFO3XsvekU3qx2fTYQSV0+P9zbRON4/FuZMjRaiRmmRpJtb+8LeB Q1RtShs7h3HpBuKYI05dDMy1P40j+qUIYdrC97hYH5cS+1JKaGb+BJ04xZcqhIK+PBCf/fwAjnv7 xgEXMCOd7cBtqmJF+V5k4fSKvU5zG9FSdVMw8VR6r2+6u8tn1GoNsaR0MVonT3B2y/Zlm5St6yYM MxrWHVQpvSLHLfHWBXsQGOKLf2L9z+OTgu1JeAAkl3C2GxiSWzFY8/Apkuu88J9pEO7NVIltzkAa 86cnEHxAfAyCc5a+eotf3jHG4gCPh5oLsyoiuKE57lh0iS7NxdEqcdx/fnxYJmcLFrzZXZEXGzg3 RdCv6RYQEZdKNuLDddXg1G6jIMCOQKluAi0Ke4nvwN3Wdi8/Bxs3SDT0GVSs/uVAzmEvDK7Dg3bc woyvyAenIbAm1cmn8AoYOTFiDynsG5vJSjGl000A6odCT74WJnuVxcviNfVq82F3zX0bOL81nQJe mXYY0W99aHbCROxnqoYr5p6ypsIA3NCMK4gt4UhuY3P1k5gcCOhgnMJWocKEbDmjynVwHUh4EekG VA1ACrqcLBmvFmXaacI4tOdmWvGsrZ/XM3QAzM3mxPB6AHVlLlE05whK1CRFa/BAxf2WM4GIlkYk u1blBKDv6BE1f3WUJsQgOAMhY2sXABh6d8+XiSP0nE+qluGaZQCXN/Il5OtBmpUfyxDF+fG805j2 VqguYG/x4ifpLxuO0vA2EUHsXYBFakWfPyoyI+6wOhd+xjGCH8wmgXOIPD0zTc70jqpxbpOLqQ5f fpIFFoT9PNBxMhE96n529NuY1p7KAmpfQeWgmTTwerp4dNKHHJV4ndkNiz5qKEyHwgCFxsM6f6jr a58YPJMs/YFIhAQdxr4d/gfyWhprfuSPTauTxdGGG7y+Z2CITE/00nodSPc7MW81IiPefeqEY7L8 trr8tXcQBuj0tA9MRKBlnbOWbLIffri2+m8HvTNPd+ubGKV76KQg1mNjehwEa34VVLIWHyat8z7t /n7mCP2UyCN/ITkMa+qluPwZ58T1lRmJqe/moT3g1v5dN8NYtN6TWRNIUCrras50yyU1k5Ay/g9+ A/srjtjxNOkKCDv1uHocRCDhI7AurmFCurJTg00fjgFYz5NFAy0N3q3MOamPlYy2tfsN8lC+pbcR 75zKdmfIHGl1YOo7NxahvGd9YTNQdC71pS51PM1obq001CB+//rXLXSILYA6E0NBhHGC/XDfOqYO DMqDxjzVilGx9t6yvCT4Y/Ht9f9pAJkUXvpuOiXttxLVNbr3SY/HXE3ipPK1usP7qcer9P6Pd6lx suOL6vVayXMhFdTYXc/uxnNuSBCInGU8wm5jkYGzOuQpeRRz4fL7PuqD+QGXgGql5P8D0AhxhPgH Q6C7Gv5tC1Uk4m2v9Bomi9qVAHBLp1SAOPRfR2K1fcNc5GmVZ7fG58Ig98/0Ar17W+8Do6g7YmCX T6cu/CJYJqccmei51+i1QTUn5fUBMO5lkUluMsKsaMOs4WamTFCRDlN9Ue5XbJv5+wUYyY8CEj1T adrjRMJqZpv4pZh+7Wy85dC2r8TTWLO944z34qh5Hf1PvCpvm/leTWgj0V7FmGR3tN0v7qHxwIyE zVX3gXQQnoSW2BMFHMCXKGKoJ5uPnrfLXPk8K0OTmBGAAIGHy56W4XfmG2hYL6/pRFdv/Ci5s9IF PQNEoga+/zu/DFc/v/JJVJUSvpTYuc3MTXjPWXZcbJSo5qGCmYqofvz4+AypTMlFOSRRVc+6rPVH LMSleE0FIwLOb2tyirDB7mMp7UsQuF3ybfhMODZNfFBiOW2xNwp1qlOsjS+Awco8QuvnuOybrcI6 63flsiQ8+9Z78U/RwRxEWpz6mf0gYiHPYtAOgjpIlroGJ8EiPkD2mEvGlUb4yiQP/BUVYVKHOAGp +Su+fYrTJGeh1bTUJxo5fArX6lFL49jttsl3uw/ZZZGWm+frMh9NnbVTQLYAx0qPDapbmK1nsg20 QUefrM9RkdjagUzDZrDiqL7N/xCWtrfMYH0xDOPZBHhmsYIZLGXPNLB9c0qva9AtNUXW27YhYZTV E7gC/VRYc+b6X5R0h1lRRiw22zkcIfFjktMm3ZUYO3IVDehxQOPszD8C8dYaclvSQ4vZsSh7X0EL UL0zD/6nbBtWmmr5EGm1/JRys0a9ZybNYRRH8jeY+b1HpmMGcfGHDbNtR1HXYqPCCO+y9FCwoiFJ XrU37DTz+RDgEjbhC4Eh+AxInK+Brn3EMp5VMeH3PWNK22tiI8RN65LV8zFu9EEp0Y3eGbebgd+d RcnJ6nUD1M9Db+RtRYocFxPXhsgH37NXbC8ID+cDTG34HMFvv/roqyWmzXrMPoQIaeKKuJqoEDob wFDVeMvkueZZUxkyP/+yEbrpeuKjtH2M/0zhFOtUfhp4ZcK6nOUG0wfepLKDoa/xlQLbKu8NT0un wzk4WNUd5Gd5nEFZe66U++ikB/FvITZu/Jg/QCDsqrFJvuwgLuiCGCnvmzej2gyIIiVrPNqF0B5v Xa0eDJa8ocuPeQsjQuJGGs/G6o5k+MbF8eQLESRu/X8f2iRJREBZeloouTksPKl93yqUWPCEVUOd xAVw8nK9Mgi76maXuXbC4bFsvNPZC1GJFkIMQixIfXywrBUvs5YxR6bUtb9WL9yberm/BKt+1pP/ K7SvbPP16oKhfSCacTUw2N1cBJZT1Xc5dfpCaCnwMBMntSwBncLZuxrf/qxKpaulipV9Jv3qMFl7 TtCM0ZiizcBrYnseMuWAv9WAd2cqcAuf9zGkIjVAr/MToMq7j3we6GgCcX4N1l16fmcBFu5CPnyP WTxrDd2edVeWDtvGHE/9w6Rf/tEhuz/ISyaQmDsLyolJqzlLDZgWCjbyahDfXzmc3OFF/s3GlBmu O4ES4SOa5t3iSKovkBZl7esocI/xHSDNROTCcMsvpiZmbzI5bJ29ImAFQOxC58foRr0RBiefKE4I 2aMAcH7OVMG3IQSXGBsM6CyS3GC/yHbe3Sr1RBuKiy03z6XbDSzh4BEmadaC6baf0Q67aHJvoIP1 ZBH+7+n2eXIPGQd+Jm7/WYbH7qopAr8rXhoICoc3K+pMoFNZSkz51faqHlr2snZsPq+etcNDp3xY yCApqe7coUGsK7EyASjhfLe663T1h5UKkfnBADyomKSlvvXq1JMnCCFEI3SP289otCb/jcnkKaMg g0jIBbzbNBzlANC6wM2Oupu+8A3H9ZXi3SQ8+awf6jyxIb/InaPseoonzIoe5mx5CaH1vieLDO6f NSdKJrWSE/kaMsxGNerZHqXBeN7e/9hfJsezOu2E2O8PXUFNbmfgUzOIvotZa4XkAFuxObx2JjnQ sDXpWgpluhHV3KGzDRQAxmWjI/G/SKdgAXILjHNq4FQCLWcfewHIu2LZCKXI5SRm9dZy9a6wvv9V FVbsSvitfC/N5IWwyYBqrkpHrGQVDzexWyBbBnBoCFA9u7lHOAcPz4UzhqzqGzdmtqatIFJxMA1W vC2HyK+smk2yOMfvVN+euCDI5fo1g6gkGis9TkD4JZtjAaA7jDpcaxM4Hd2fAu5bGCym41lhbYWI N5kqeqqxHpc9uISoowvudgEGUEE+CjhLniIeeV8GqY8LmYSa1v6oeEtEP5UHXPYPI5KL+FxsrEgj 8Jf57R1lZfTcj3CJ24zofxXk6Gqfzmh3ZcevkKknSTsJHCPK9psDfwpzeHhSOHR2E+5ANxr9rwPf 8S+PX7B5+jBXjTEre5N/+AvC/y5UEq47xeprMI4n31go+eBuOG0OJMwjpknFMW8xLrhGJJcUfjdJ ebE5HvqH4FHp1z8j90T6p6vI2kyNuuFiOH0VzPWWmTlB/kd/3q7vSsZbcwRyWfV6SFKO4BOjRil6 yHRBQZYs+2RTC5sNQytQFvdZAFJt5aMpEj7/Kl5jLdLfobg7bGr0Im2/sCQH+XjWLbGMPE4FgS1S EO/uN2VDyNd0GQ098udQwnITcDgVXk1JeU7jZJb27PMOFtULp+dJlQp7GE6rMlXlRIyx9gNclI+Q ilc0AcSCkIujglGYHeqQkbGuTm8cK/3ARvPMXq6516RVQGG/UkzCXAIYZORc2GirKQLb8ZO4iSzd lrgtPuMWg1NgrLPU0lgX1jmzhYdl2S2pamvbUmKqmMetEnrs29W0ooGpU4+B1sWxc26RFhqILtmz qCbmxrV9aE0kFrLC8gV51DRR390MQLMAtVhw14QofTm1VmpCOkdVwo2WbLWWwvgRRJaR0LkRhcC5 KVaC2vY3ecM6/WmqTYdhHapbM3RZprX4BxvRyLoDpb07NMjx9VYSzF0IYYB+SsbS4rVxH+H/5wQ6 j70K/WrMy42lRDmvPzYNyUgXzkKS3DMSuEgi9De+jTVHvtxsl3cLzT0UwUwSCZPB67wAc/AtsUDJ qFvlffC14KgMYm5uwBWVJo7dqKdsAX2M1jtpDALQjOmLg3IPm+nSBGE7V4XQbmKLGl864haPtsJl IdPj6vrDTckptCNeJoold09OgXsnAcowuntU4HuiSQ7oyZfwHA+QdOVrjhHeQNSIS/bhkguTHzys gVkm+DHTG5bKLuPyiz7QkakQma2o0ftK/DkRCvCL+uPH6YmdZfJ7rW7kvCdjhTK3YguAQu2jaRqF GLX8/IikmuZJ1BP4aPwfL9qh8p2yUolJbUhpJZQNu0VbSyVUQ4BWygEQVHr9PzpDU04NNmSJdU7k Uyq3wVKoS6Z6gBfA0Cenfji1VOmoCvmBX+gyeXBuAD0xNpuX+VaU4jmcteUkgVj42IlyfVKR9pZq KxKzc2qP5xLzhPB+OSkKZ/LUiiWrEZlJAjwNAnulQurB0YK8ASkoXssFymA1j/5VJt/Oj0Gxr5d9 7THNZ1+BYc4ghyVHLWhjWX8bly8K2wbgKRAdQAj1g775mBmAtXmE1iCOYuL5DVZl4RL4z8hnz2w0 VYtwTJlBQfExiFpyksVF80P66Dpgs0A25ythsFx3hvOsborZWsigB65VKEZxsQgb7jAQrT7C72lB S54TpMczRx+RR19GvbWnwLmfZRR6/VPvMiblpCtNCm5YBcuwWAedK+HCL9d61DjSny/c9ZVZp9j9 M32zI3jhvCR7Fbqzv761FWX2uRPDgNRHBMBa9heXI2dqw5SICGuRCV/9rIdPlRlVzrex9d/ry65V WA3fCPnPVat5VcK12E77FqTIUmq5Uy42Kms5e4qvfxUQrBH7KaJlsnGO6n1t7LBcVq3zRVa3qJbu vKCidfHQkQYhL4EKrjztWzfPT4nqfV5yKYjfmjuMHXaB1jXSTfAxFmjJM/jyVDmavizlYcPeoJXM tg3UOPVZ8fy2hoNlpcSjKtnG7tGFsnHVJAWhiRk51rnoNirK7PDYfzs+raMWvWLWlIPHa/3dEvPg v7oX3xpaZGZeJps8lrREAEPxrZa3wt+YoXCdN7L6ljcbv9+UNplJPf0BxNxMBub4eYoFxz61vz9+ nDpkb5RaK+nGiZXw/w9W5POYaIf82HSKgKztXrjOn7Lx4OR8EUk3QtSCzdnBuF4aFapqqpLkDFpI ldIB6AsVogwz/8N6caI5OhVQcYtMF+H38JsBbHI5O2+l+QNYauGHma+xZDlCNs/jr4XYPfku1CFY IGLWBu4FTC4i6nNrrgw7Oc2346I5+D1mUMzGcStdadhBS2If0AsBMx4f56cI4aEj4h6eGeRcMYso d0pMd5hQUWNEg3Ob4VImNmYCIviAdI5hAthy8tjtDjYZ6vfn/9BdrwY5nZ2jYaxBiiBv7ikRa7z2 L70zyiWc5vlJrrTxAaJcTWaszGvix1Td7DEN5G8VDnkDW1THHnw7MK0j9g8d/2eAv/aR0RNBRY+j 6+JD9PMR15r8Julp0c2rlF9gqowt2LF5qXo6MKFFW9GR7FuGnAlBPaCefVEe+hBOvcV6r2GF6m24 uAcZpI+RzX+qrP/JMvG1YLZc8YqGSWAjdwe56CrTJS/wPyqos3aNTgOqJXi0tyJM226VcEsnwwKY A/4fN4Cdg58ZSsmIzFYt1eVtxy//7VEAMahc+yH7AjeUixjVzwrdigKc8twYbdeh2Q/2lJ2TYu9l r1stSSYQhdGacDwpYH8af8Au8prjEtzz9rpBowd7ziP1qBsarAsO612HgCrLyxRIsbI7X0Mmu6wD RGNszogpBpCUClY5hYijPuoMH6ipumSttRClbKY4S0ptPbWtJ2Y9se4RdaJQQCJE4/8P0eDIiAf2 ZolRbRFL1boBNI8w21PjJcCBpGuQpr7jPYlGlJCjS0L9mQ4ihSNbiKmgdDadIs13EPOlAuPDEo49 eShi43BpKmWXMZIO18IJK9Di/csCk89RIG11FtJcGstUgHKC+KYRcQN0I55pq75khSgdZ8OUpvhm qoRGvG9OyBC9F+naJuj4/LzrjurjrigVROuMisis92aphQMHVdGYT+BB1zTGl5LHi5QFbctOgUDC heSAp9EqXyu3ScvIOtr2Epvt+uj6xJBUzPu3JC/tbCoHoyJ+zJzEDRMevyjUtUxFMRCm/+w5TaOj on1XTnDC2eWjYd/ael+rEhqxuW0ToiA7DuMoN3DuX5MXyV4gUvtwfISsQ5WrwLrXXY6SvncVTDQl IbzxI4y30Yvw0/8BqxJU311f2Kf0lbxDjvhp5AOJ9mtK1AAJjN9TOL31uxQte7tlz21z/4jyKUHA /XmmuLITGtbRIYy4lWWknqaedRctZlQjERVtOZhjceVN2wb+R0rvKsKcek9SzGCXbxfiC9f/5bpN PDVAgJ8LEQVDuy8i4z4q8lVPc4Z62m25MMpQWdllAGGIyuHhx9sqz3sWXfycCFysko5rlRzc9X/q uRGPZsIAkDGVBp0ZOfLI+e7gNm1Q/t/4OZMmJSDEWqSxmxZHpzG07lCsQeU7e30OqRWLG7Nv8Jqw OsgiDHil13uDv8JFW+lIwPtl/VTJGsy0STuaxaOppA5XaGNCS4tD9GVbDwZXnWmcLilKagJygXEJ e3+JqfAG7uG3DiSfAQZvclslwv8FyJ3zBgLzno3UYlYE0+st8nQ7P8rCQyYB6Gfe7Q2KdAuLQP9k Gcq44tZMDfQMlFDVBMcNRwK1c2u8o8VXkMfMW29ND0hMlGUVkRBdQWKVfbundqFD0fzb7ZgTTVO7 PRrFh0FyrtkKU1hfPkYxXBqn/D7Q9d8IZ3fWo95fOmS5FPtRrD9U5ULKSaVA0BbF81aDbN+V3lyF 9ajmANKSnfn6I1MjsBW06im3Yk7GdLgxdv/Ff4hk61J/1Va0JDrCBhcJeuo4sXCX+qbF/YsuT9Se 9J445R3LSju38NxhTCpWZaVEOzcIKNqT7G7YRcPVHW1YntYL+usgBglpVQ1l8WTSNVV9grs2JmQx 9mgw0Ed49q2jPGfEQ5OjG7xNV4YbP7Iq7Y+YSDpOcNXiuVCUSMaDDGZ7hb4CE+nt5kQugGzNA7ir QfmgrmkRE7lsaoq7Jt/FC+6ju1bplJC1uFNYUR40fRjIjqaTuzkEoj3pxoz7Az5UIm5sfoqSK4Ty 5sar87eb62E8NNwDnyPWVRgOTnCLKkX03tHVJiAJOhRTX433FsLwArqRET0JX9h8oMjg/Vxtl+p8 TLaZXtzBWLxCz2/BdPR/ymOgm/pqaqKojcbJjBGS5Td9leW9QX+3rZCXoZ2qTKGs0f/ZG8xWpY8t kdDI8oXLG3Vz+E9s475nLz4lNefUfWhgoi4CCr3UwQSkiSVwYC+Rj/JG5bl3Y6vPU/Grxd4u+ubv Vmsz+53PRV5cSbBHcJcIo+PuDAu6ayH7k8xpOdfwjUZww9MYYk+j7Vc/Ae4BI+dm25oQWfFR3qqD RZbU01oH3HiWkQswwGk081hSWNxE7qgoW69m8R+eIAg5oBpwKVAqTNo5HYxfjgkSRahFqrUoAeND KG7fHHYR5HEx+9ic1js/82QD5rAh7sjyzW5I7f/ddUB8PI+FmsVzD2PRypr/9YGlwdpojOk14wB0 MvWjyJfrt7IYuYrmk4Gc4pwZ+63dwCrwbhOzFYPfgrj64iMVenlFyaeVpFoQJdcuOYb6KsoOJLO4 ImwtJdTiMksu4H+2kJRgdGBBs+jh3xQPFhmu+2keZWNCVsFLpkWBYLCAy38ZgwcO0qPToTfDy38h V+cm8hx+EqjwqqDrg2dBnpJY0TMlyszrGdIUE6Acc0KAVPIS1DMGpNPobkM9G7/D7J+QcXh0E+Fd 97cYPaTyRYGx/2OX7fb0Vp+UQyA01Gndjtm/P0nBXjaz1S03d9bjMlzibzKR8Bd9/lbM90p/jHnY UOtiq5vgV7haqcLOvoZE7vpfx8hYuKilbcapbtAAAuY41aPryMvQClscNsC4XMIpik04NEqzc2VV 4ozmkthBk++asVuNW7NqO5mKMiCHA9OX1f3BLkZN7UGFvmkI8opGiryAcMNCMwm51N9o++fPWQnp 12njjchBGes8HcJH54BuOVnLCwECrgyDwnd/gVkqIPR/CiW1SgWOWGsG87dCSyaxSfWnS6p4HKRs iXlzmXV5Pb8zmbBLcDfMqRNidIUiGLoNyVRnfq39kUQF74IjHis6ZjdTPqpmQZBUMBNpZKJBIUSD fQ+XdZ6395TyzZaoeK9gA9rqjExVpcqfirYkwBRq5P6E74mZ01nlPNfRYsHFP/JtyxGf2qH5hWf3 oqCiFbqGmZk3fH4+Y5wiN1VmiZHVYwU6tDPLQrOhXvYCBcZFzcXHsYJgmK9hgCKI3alaUPcn0Gba rFTMpsRz+daaquc9Ejq7wHtXe8RaOvqwxsCkJ7S59DrlGVHtMDv7HNu+3fqOamhWErIW81F6jTd+ w6xCajvpNN7Ed+axCWAKSjRSLB4mDNcV3m/7fOvtd6FVj87U9GBTaJ62AjvRBL2TkNhoQ6CoKrCO poFBw1VDLP8gCe/01UjVQDfe7rho3ZZ6XoH+sMhFH8361XqO80fqTaOHRHd6nIPjP9a0jLF3gj6D qDib5V1+GfgJ81lTCqAnUQIHDEvMIFSukNy+dPXJx8EFbA+ikM1kysYaiFZDTisZZi83sf6Kjb92 iHDUshkSBfkgmKoxZMCH+kolZi+Kv6dsyRxrmpKvbqKuJyamnm6Pgvwas4f7knBTgoD8It2fQOZJ XrLP4Wx2pSJ6KYav18y49iwwktPAULD0K8YHDtcqRLEwxgEk+qNMREgykZYMV1KoE4P6sHWtrL7m 2xkfHq4FgDJm6ZPj/v+OcLukE23fSuSNbgLpMfzY4iTzlyudWcKTTfQ2m99e5JQ2rtLgwlRNgCK1 xfhLek1rrqVtcGstioyFffISNoAFCkLFhu6s86dqyLU5p7KO33ecN7T6KTpNftl4n7LpzkwmdqWb AIgkS0kVdJiTa8g3cm75HAQHjEU2m+hxDAxKM8m/++sJNEpsWSG/RTFdXRqGij0S9pQhBFKMTb3R w54WzaeVTUGjGlnuSY7BbGEqB3IdIeq7B2rD5P00K/J2LQBXR2K8pD23vi2kRV8XkW311QwupXnQ hRQWtDsIK5GDo3dn88U3tfp2kD4z5fJz09aBBmrL0y43Kyy8jc7+xYtrTJQEMfqfuhbmNDa8ruZB z8GNvBGZEmQ2GI8ccZ4lvVUj/+uJ913F0MSeqCESquQmOpLy/LoNLNhVigK74LeQvilJAITu/ttV oJ1NJAXyfJevsftNVXDS9jzVRrHq95mdXZafmj8JsF4qYI7N8uHCEjMZJDehsy8l+LhiLTCmswys o7o9UfIDBcSOHmhKl4+EUAmNrwYjUQKX6y4AvYbl4mEx+IXXHSCblCwy3i/TWXJaDPsbiUzoKaj3 9g2W8K/u7hztLoKZuHfe/tYGH2KN8SsiwGSrxVVVLg/6TEgEtcoaeyOst0UuRPoR+N0f7uvAioGY wqT22sLrgnh5nYRvEhBQpo+rjhR54upwthMs+Lwz+HA4QfpPYqcVXJ4IQVt2gqG6NVgGVytKXCSo oAnlxgIhJWofESdQdYp454fXN1+KeBQr6rN/oqa8eUeDVOSUD5zJlYHRQg1adt27+4mldn9jS+U3 C9MkdCNEMNhT3iAUqfr2xcbAu6BUE52/e/dNiBoVmApY1yU17Rm0+5E6VBEER5fbTJi6MPxBaeCV WWygTurw96o+xJLKV3ICJYFcPZ4xo1iD2S+FEUzsYR3cKVvgcPiDOnEemGwESX81JaNJZhHJ6lsk 67+Lb/aFd/BEHOGtNM/dRczWmqlsIxMVYNz7bImAa5qpSu0pNhbJtR5JFXqLA/FwTNEFInLRc3e6 INVryXUeYPzV3CfFCt5aT0SFWcEAOo4qUvusMlwN9JAuOeoEN0bCLxcISh1svL2h1KjcFHny2qXO Q4QyNSnRnOCSj0U8s7oFJuP8W19P3oW1UQhTf0DR8oQ3FI2CmV9HP4tW1oXNyWE+q2x36Jyp0mRQ vrd94odsV1ei5TcyVEQB9qQs6miZ+zZixlRqIlf3m/LN35p9Dsu2I4gnZ6CuHiBRoWnEuXIZNqhb 47A3cmFhbBAunT6GoBercq+a91JV3ckUzwPjTeimCBk9GYcSNxREvbwK67xw6o6U7QetERWz7P/9 cLkf/xPpmVeEDqndJOgwz8lzguaBdCyi6Al5rFjUrrlXeuuNA48Q9Hp3B6wHk3waYTNccwKZerLY 60lmj7eAhzBUHbLtAh5Ym8w9g8V3iP6HWLLiutjl/vfrrHBFzs3rlTkWLzT6pantEVuUiAm7yo27 +m8z0SpCpwhA4iYaPAuP6G0XKXDYMGSmy4/w/ix2kSdWkQJOHGyDs2PvwayOz5a2MykrWNCFV6CB GamnPyu0LgnL3rko3IWnndv/183XecTF8dSsnczlTHf7WH76huD/Z3H7U0g0GaHg4B+sjJ+KnCSX BAxBnWYROr3T2+J7WYUkOQVAuKrR5LA/lhPBq6QUh6i/Ut+7+WQDGeWSfpUvi/RD8J7bITZGqcD0 9ehq0M7eYyyHVcsRnd4R5dZ8i7uiFMJrSgOMYofByaMB97Kgqn0VqmAODLy9JeTtE1sEubvOeHz5 NWeunmm+CiOPVaKBRSVGYMPtz0bFcZG83Ms+v0PBRqXjaPFJcN7+Gx+Lsvhz8+/Gzjbs9SFYVUl5 W1AAf636GgjU+EEpci4PT3ATd/6quy+ntDW5+iwXZLP+KRLRl1AHBxgLG6mNGXc+g/kAuioqbPN1 xxjF9GM+U7I/8jEzO/XyE+wduk+LsvlogUEn/xgL2YOhzqi+ESRUnOaBvpDo48cMsY0ejcJ0eKP4 q7MKIjVZSZaWXYQVVsD5o+53BjXIUIBbT2Ubc09lOM23ecZjLFbrPJv/EilX90Avy11snTMvZeQP okF9RvuqQtt2BdKtGsXR2hecqwKSDRJ0sK8R/HrphwRQLrxZdZEQa92ojTet3ek/3Sw3+//7R6JA /KZ8Gspg5gjOdYQV8cc5ABwe7ZKf/xLZij3fNe9e5ymHRQ7ywOHCTuNFbdCdMyvC5JzRmxbkdNni worj2Yr+OFtezDzGKtLKbt4hWje2uLu/EUJivrUksVigI6DcAHOtDmNaMnzQozkQolwjxlGQci3a 6oDXYK726OPxcD3zcC229ai0KbPPnAJy8GTXrVK5+P7Ffm6dAqQ0tK5XUlXtTSWG9X0ATYtMS/PH Ogcl642fUruojwVELgscoPHRX5f6GDbH0McEGwWZrWM45NYBn2aTThwMAr3otFjGJF+LkgtOOWMQ b+9/cUULqhZGg0XbD+rZHvqDc+bFFfAe00kBNOJ49POE+60ZspOBY43fe9svQ4xui2nt27cm/kuc rIi6ZwDznnwMdwo5aakq1qi2WyT1WtiY+pxmQe0XBPoQj0sjcNxAEfiAsOcH+AGU9CVtrEFV/mYg bHnvKRLoaL/MHo1FWKnitH1hre81Hvxm9wJHVp+fY51mE8YrMUOaWWqlIHT1OFeaPKTKCxb8B76N SUKRnvpy6g8vyj4QqRiqEwWVYQjQsxJDO4XbnMdDffR5erX1RFMuq1HTBCZGiyA1Hq1uPBB29nfb y+6jOQAlxAlzUWdn7vQDR9GFScotQm6eYxzg4lW4QuMczOP+WxvHULYin+84616JLrkoG/QgTgF2 4KiOFuIA9VCCLjMtQcLpNtRAjWjuXM4nDvgjjemwR8f/VrfxFT5a64hARXo0PcbYpICEMFpsyZGJ pU4aggaWutAPzULETrYIDjDmWt7B2jzlSl/cJnRZaPyXlAf+x4BCSWByEhoS/yqh5A5/cnVnPEHp QrxEP1gtic3ihi3Ph4JF18yChiVZwYr6aI6q5fuGQsvhrYUURM6ORlQegfQ+m617okzqVQUYebdq qo+t8DAd7kShHceDK4vj6SioujTXi7fXj1t1ukGJvJbiUs6em5uuGNezafq63XLA0HDParljyG72 t34KP8e8lWjCvKGr0eYL0Gv9k1QOCqQEK345/yIvtuJCLNizq4De/IvJxu9CuU6e0ClG3CSNk/pP ynrmWXh2PWKtpVFrAi1ejAnVa01YyDmmnDLcqc0RGkLn+mKmJsAZZsGOa/vWIKqbYIc2Jck0iSjP TlZGTmMEW668BJkaa6SZGCL5AmyRok7c4PkHN5l2fyshTAHryCBc5pIRB4Brc9GpEZbXjGpqtgru 9mYd/j51WkTsic4CF/zdW7sOGjyzj8WGYVbhzFpX6dg93b388/tiHbS2GF9l/SaSXEOAhiLAZ8+b Q9N22ywUyPaoGerPh3FdtDWEMRi5N00apYigsxv9Gq4PlzH8y1b6kwX/dXzNo898xDvKhMFAv75O 52Q7DQUPV1GP4KIKPz3Igu9vkQSalwrbiutm5agsxd/t7FSYRH02U5NisEvbOF+nye7cqWJtbbvk +X9a8NNGJICithhrC0f1uQKRdkyXWjdOywFkdHmanv4pPf4dFSwK2PN4MuPu3bQAuz/tkg61DrW6 3ILFWbDQ07m2d+YpyWzmudO4Nlqonluo/pzxy1zDI4ZAJIvEQt99G6cHRS1b6pcc10Ys/pkW2+wQ ymtfgCJ5cnoz5IkxBQYgt/8t8Ll493wBd1dWvP3x9Aaa3E8qdqt5B7b5XD91ChtET61g1bpb8IfG NJbVl999mZAhXkyM55umgt0Eaj/7ue9NyHY08w77+tA7G//MY02K+6mm8xGCYBG+eBIV1TPtXoWo J8xhTPw8uRKHMeA81ZHktnhHjk7U12p6U3sywQU1quMK5rrAm6mhXJuMkRkfVPwKFq4OXeoPcum+ 32hFUP3cEN91KLXEKPdL4185aT39NsgMrv5R7ZyNCxpedtpkSxv0Xs08ELbiiFGgnb74u/0WDVVy 2+Lzkqhh48VuuDF+2wamhBN8SlwhAGj87PwTZAMT4ghEKoejIMLK3s1TC4iqt4oSCiy/jsU2X4FR vlkcw/rB8VFmmPVy5kObfgbArZODFfQC5Y6Ybo1QjYj4tJAl/kesWo8ELiXw/4N/Oplvava8fyfA g1OPDSK8V7cp2IXdSvyTakUtAFrAK/WjAaEHtXXtVAIlr6QcCgZcRC0XEaMMgnxuZIxw3I9QozZf SbD9NJBlWCDMuopsz94c3wawkupblxzouoyBOuYuP7HDm36Ugm9ZoOpf9umN1RO8ewJz8ITxsWla zxuWP7S21w7DW+s+chTLC/E8sos2kYnuFfKpI+0Pfd5Ob88+S9tmCzfRMZVPXKUxmOTvp/fRxoz5 wP1HRFKW4dxV/8RXkxDbBIzODrjPMuA23kXJq0rX+EG8K9KzwM5n9ufu7NnO+l6H8+ZRhrnc5r8D q+uvgttqYPWonH6olMCfk/QA73TbBTDSFRzIKMWpH5Y36tijJ12ktUv0dgBUrQIJ0xo+JbvhKOax gaLhJRytL6QUABo2t6tIsRsuIjjvJuUx81djD4Vh2J61LiG4dWDiIQ8/XdfrAeb1CfA0x8Ewtf9D Df6Skve9RATfgy6dn17gjkX2d+YrGXjZWJTsWu669cRHNS8C3AaOSpfShjyYXV3Xq0vNc+6i0ean IGi65i359Qbwcl5dOyUR0w1sOSu7O1NI6n0UNyc1YkDlnXhReRPBweEFa3fnKE3lMDhH0E35A09L vXeKWC7KeaO+Kn5r4R5kOYl0/9j2mpd/bHILdTvtv7knhbob0tcWBg7aMn6/KlPzg0z4iUtdkjm8 GmA76I7VG0umyBXJAVznRmsgmFOlR/1M9r0HfeReUJYNeMMMHtAPfNNcAR/x+WSb9+/iMTJS2s4g PRqwqJ2IvCiVdpLs/R8TpBecSOf3s8dm+pA7Lz54pavQPSqjXlvdQqSazviz27o6/gxvyMYazJCg x7h+gC2HEhddxwLGcz7CAcs0cj5MMOuMo1H3e28Iq2cidVDtl24jhMhkCTm8H2VYlUIQUhCkBY2m gm6r6WJDupCxx2t8VkJl0wLHQ2XfEirkQA5hqLXmMQpFaRJ9qY6LpKdkXBu5R4KpbsDd/8fwgE+5 Lo7kEq2WE7uooqHe7mFOK/omMrSHm+wFjvZzS/+VU/HurrbYqJytatnSVmG6TNCIX9uZ7rLB7P0U hVtZ/VMlKJBY7dASC7pQ9RWiQeEy0izRjKP2JXqzDdrspcT5SgrN8Zr0uc/1d4LSswJgVipPPpIu x6Fly68Wue4uJlQbCfsjZo3PEvEAlNDkCyQC6jY/lO7tEAOHTXBfnksPOyHIu+gEGBiHdwGQg36S Dc5/qBThplOnePxzcJfwISFb84FU87FdSRQpIharL1GNxVvYXr85nxW6PY7I00HrmOaI8ruoWZvN lFGSugIfsRzqXamitWSmkgdB48ourjnjZTCOJBacdpCX6QdE+haKAYICLWs57LYvHMU9aitbtXPz 0D+SRVLZY/AfNfGR+ZrQGM7/TGKSqXeVrmhSDb1G8rZLJ4jDgjLL8wffYF3IGG/lDPHGHXLVV71n eA8quT6ttDHRb7/nktsTJe3g89irSSE3LzJbSKLWHvqFJDC7a+8vLf2IvCAV0eOthfv0JVxn7fWx 5y0cv6+yhpwprGaZS9yzCfrEJyE3Kd2a0M+IX8g4W3Ibh4C76D7d9wiDsu78AszrbYJzATLG06Gk 5kw21nfK9lZmiaoaTyeYKenEyiL+40a7wfRJiVPINlgG7HCq+GyO4MB3lz+jz7z/LpHcrBcEyxfl bo2YmpDMMs/EyyHLDfvvI/tH9Nj//Ba1EZIM9Fh8E5fwa6wH7RjOOsrSV42yJl+X1kIirfjiaMw+ Up3YUd7DDFRk+zm5VYDGaupsuIDHJK8wjYsQalvRMOzQACn9kzmRHe0crnlEMfM894pCP1DJ8gos ldtZ2jpAeU0TTzP5mntoLJ2vDiiQxEeeMYl7yPVO7vDkq1GIL3ySvjVO6wWVHguHYPk+wwsYfpY0 g9CLG8HV5+J1+b5UHiTOKUV0I5dc33O185wEmAJujw/L/viFx31MIHUsKyEVjzbVijiLpnDvqbLb mpwYCSBeSq29HMf5liqc48E/AlmVcR1vG83SQmjaTEhYwzvoQ0fJ29YJAWM8ZdL5ogkphdma8HEI H+pDAwCewZlc4wp6cbviJPSL//auvnhkHv8I0Zc2+MhYXMpqZePgZqR3HyoxSwld7Wn6vDt0AiZR 7AeOB6eAP+i0bzTQAIvtoPgQknzdvTE5rY9qSqBSNGXJBzLdTEHcOhooFiZvPG+mtf1rUnuBI0Jz 8P2NrQ8KtgE+Lrmxb12JwBCg8TYn9MyOxXTVIpzI9sacEjISh54vhR6lwNYAhIqPZvWbXDmJ1G6t lQCBgt+xt+18ZvXwN4zZwKcMdDlJ+HO32qAzkISo6wKsHCRAMrKDVe9udWskcf4CuY3hcehnMfIC NkWwryDQ8U5V/Ab92ECB0dnc75ZZ5/qHYLqqiSzEb96Vx4bN+LepPNm1d14foIF/G4ki9HsMwrsJ 8WNoFPT5jpysmTPfTlPR4TRkxjEmb5Wm9o5RsxKsRTvyCe/PRGc3oATKE1kz9mH4+G8MenAKFdn9 qyEDt3li4Epzg7rPEZ/V18H7tDTTC+lGLsdzx3hX6UFX1w9uPl0mcSQguJ141i1LvYgpGaljth11 JdzBs0FSM+3qzlfKZFtoKsPCIi8s+d+X0Rat4YR7p2Pj3NYdsswLcVZ43taADQfiYMnKxDyEDekw XQ3i+M3cIg5GERpTz5u5qW+oOC4TSonfS4E+qw12WmSQG73kRYAD9m36CEqVl6dyiLYJhZ/peORO AQzAK8y5WHRDKlu9pLQbBezo1FzdgaCS3G9dc2mddY8uLJFu6F3EqmBOz9X5TeodAYs8TD5/Yz+s Ayy7y6FOQBklRY1BNHZlBiRQuqY/3qQqO39NDCHSvY0dTWH+kUnWV+Y6VFP/R02wTKXLNrpbWJ9n TbQumTm5swuImFuZITgpvHAA0Iy5woAUx/JvLp3s1dBlXhKJS4nHIYSTKqB+Noxmo0+OGGxakxHf XXydh+sVyPc+iVkfs7lqPzTNj7P4S2QAgRXCgJ1XSGOpHSp/9yKzn3qmUxsdrFPq08aYElTUskOz u6Kk76arMcnQlwx3M/v4YkYdpkwXq+/3XonsMuTUua25iTadgjZznAVprjeXFLDK8FdI5YfXxIn5 lu+PfZw5bJeSS0xWNI40q6T7mK6Xblxtb8bm4tCQuZGZ6Lm2ekiHZb1yDCy0emYGmnSuguV9p/b4 nSBhwCIksGxW5UrogdZlZZQSh9Dfv34eec5KkI1vjAB1jlU8crZ7D7HXUXhSqX1KV5+Nq0yI1Fdy tFcrdEEwdiCEGwzWyjxNZsfoVhGVkvstM0XkqeScyUjF+HItNR44I7e5IIFOYHkCBlOiY4M8aVg6 D1B54CQ7yCfwAXZmgvw/tBkuIoOKQKKrSf7w+RWBneq0v26K4GsJjHKD9sftJENUFlz+TDpRLZKb sg/YS44e8J9KhdakizgRVxkIQ+LC720WZ8sTEptd/7dGywi0NSpzisQz3eiiiiAVEQu/1w0/Bwi0 fMvwU7pEEVqfpXXIhK/Utua1e61Ng7hdOUVy7KgCIlcWWA8c6Wglp3B/KmZAncU9peGu2BwNbTZt +BMARR0X7sTbzRkUPpe7wFdRlDYq5QZRxb7I1SFTz8vwg+5Ox5LkaSKvbdJ0eevl+uUzytUIHhQo HFX+i0r7b8DjDkKG8xyovLIMAeA2zCLnipLyIZhOUhSzs0H4482Xn9W+z4yKCHkw9C1qfBVJGs+p XkHYZAO+Q6NeTh5Oa9bHVWnomR/drSOMms9PqN2UKqmXITdlCYDlcW2zRbGzbCUHjeqggDJEJuGc zx89a5p4SvKKAxlhZOxfXCVjOz7DAkPIj2gHLQS7k4O5EMJLrGDUE3HFKwECfr3Ip8o8mpce7hHZ 4c1KmXqcFvaG4vWNEIaoS5QVxjmgQUr0LMQeYCNTjq98zd3DUyBOYwe5jqfKmxVUdHvaHbOBo1gJ Fi2HBonFiwBQ9AxsaL9rOiIb//zKqEwVeWTTnLSarNQru1x6buOZ8LknvcAHhPlyHCfzb/rVawkF 4A0o6nZv09c49DK0j0PHVraX7vdfL8Mh5ef/Yuj0GryjVgTV9mXoWRGtcaiva9UlZ0YGhlhilEod FdlNiqBd+ITtWNnKQ+YzTWinIdP7dGob5x+gzP4pvxaTiUuJ+zQv21a8+E+edfpoECyg5b6aVIhh dagt88kr5CisnIfte95WmU7nMz093WHDckNHB0KuZpgEIHMQ84nFqq8frzchxFl6HSQCEiWbgWXR sAVHMPEFHPQV1SXMl0GDmgY25CmhSaNIzf9UCDkzeCzmDCWeECaLJOw/PJiSANctgjQHJt3KsubB m5P1a6Vem18Ay+D43i3Q3dCa9tUxRTcrtOKm+BkEUZYGI0e1WZiV2qIDRizeD2yHwFV66I0Pc8NH csQcroIfOokwYinsfHsQhMihae/7KUkVQCgD8Th9PBFUKMsPYRN9G0MnNdJIdI8pIupdCW9B7TLm xRqKTCWrYDnO1a9kFReS+0Dwk2KL90rdLgRSCUO3J/rhqQfy4e9y151Hv+bba77VM5qnGlW1pG+i Yh07HqJp2W2v2e7OUCMfyBd21YRY+pOpdwFLp2cDjgaHjsuHTYFCyiJ+QLiLXjWHoYoNyIol7p2G DBvyvWb3RKzy8mDiOuzVpVBPy5oEQ4xqrVM3dck4dL4SktR+2uOfeNAZAMzSA5DcnyLl9e9iQcP8 5dBf3YtXOFoobaHDRTFR6BBj5fNE8iu5NbFpLqgFmxgzfKYp1laUYtsotVGqwLWmy8+mlPGodB2T xtzNtiWNRCIZO+7SaamlQLe6dotDjGqT8oTFYfy73WCcSSmgWoSOvbyZg9vNkO1e7wFumbWp5c5a 2tbGpr6MfGqopUNc5iqdk7RH1YIhdR59jdX+VVUuL4aXx9ijGNy+m72R2dl4MDdYUCNh4LJqe17K ZAeeamMoykzOcA8v3jObES3H+rNHtvrwo02MeHja0xHBquuB3h4TrQ3/PKR94/x+9jQUZCOsF+K8 L+bDwptdLpQYDYc/seJ29J7iC+FPKy//tdquZZhEGeCkL2exSCR71DDxdnj9Mxkvkvsj3Hnc6TdY jfHK/KUc/wpoRP5YBEx/H7YdFZzUTujklBPgIfgA8mheHPx2vPo7axeiZA/mS+jxk0ziewAPCVqk 3Nlk32hic4H9yHMXwfiMwU68X/wkIaHcdBchLay4Bn0Ez0JDPbKeaOVFDktC3wt8/XvYOOJoYdy0 8Equj3WzFcyYJUNkGqILPsA5BgzG0vc+Enk/jGsYjOTgWb7/vX01YDb+xCqrT5hwjNXYLGK5RMgw dfEIYn0zH8FBeDyIj3zQ1JsS0gCegO9N68OGnRIQ+zZ2n5S0Z4wD08N3D55Z2kWRg/B8aYDe7w1Q 2PYvthiSomCGzOPCAsBUHn+RVCkOI+r/CYiJbpBiCCMn+wnafhsUIricuVStYtKYCL3NUIBAR1+N a4OdHD3g8pl4uYjjOWUth6LD/8VV4sLvslAoHj6wAmHeDfcVi2kdwiYmhHwoT4UbyDZMcIR/mcp/ 6JfETl2PQfh3k1Kos6nWYdK1qsE93FLzZT3MZ3L3XZKpz86+MuePQCGx0hYdnfmfy/D3DupSHNnM 1uzNye7GDuS9TuLP5NNWtFSBTCjmpjuQ8hATgqxNHGL4zq6aX7I3RbjwSYYICeAnCKftO1gWdqTN Dodbxr8alyNY1plZ6cq+5j2dOCI7prE2uRig3q/ZYSZsSV/AHWIl/uJBMM48/jgPaBfU9IYQOZec aPPCI8XnaZ8LNRF3X51vSeU0KDw4qnlHYssd2rp5oQlDI3wPXWXaTLRC3lyG9Q6CZ5Ce9bh0p/xn 3ugxbF4lda1IGSA1a8M5ly970l0jVIegVRDvCVynH+LZvRPB7hDEzr5ZxqkA6qS8k5S+HdxyEtrR XciUjHmbX+x9tjeEnzVrePG7TlzVreNpf5FvpdMB5EVpkgFDG4nTVy71vcYuEYy8EBf0s8INXKYB 2XZRmAUUYyga8O5NLWT6LfUtJvZfG0/AdCQNHoLtjp6r45Olu+vVtLixYtUIYE+yBqXGmDJ6g/Dr fPydh0M13rrw/Zkk3yX2S+eK5judC6DiHV7Y74khvFXBj3QU0Mmjagzf6qW+u2WTRuulenlp83Lg cpQuheAtZ9zdyNALlpwA2GKdrWfBX7MrBdC4Urd6O4EXQ22jTT+c04oU9YN54JYw3STIElbIET5J 2DjsRVQjPOGTa/OfzilOH0/eS1UP6tEOPVWUsOVyMDp1DEUxUaqZ+FRaM9EJybT90WtbnY5zhE0f XlPO2TN9MOUWAc2us+fzV7rjAIaAy5EM3zFfb5CEMhSxP02cVEJ4CfdnWo5AyAZoWEqYen2187QT Pn2agrWALlC+1ScYYWkgboeBNes6pn5ypwaETta3rEViE0aVEkb8ZiMWGN++igCGtX9soxNWqWJc 6M4swRCliAZjgVtarhcUPJRuD/LBEWStvDE3vIrOEInCjdBhv1NHO02f1bU8CUMdGu1jaLl5tUl3 C4PPkLZaLgrGrYLK5dX/0vlJP1RBaTS7JzKPLYK1ONV/AcQZOaxWt1WwFbNCPMMBJo57YT68Pc4m yUNMv7ZkkxGEIE+M5AdpMn+kSGZpNBFyU8JjqvuQd66bu19p3HUP9pOWBuyj19VlI5Kx0iGcsCCn 8kzCh+laB7m2YB+7WJ6erhAaxk3yFLY94WE3y7pcaIt+vZRnkIpClPfxGD2wHC+Y/EowiYABJEw8 WQnH0t6jOpi3lFN82q0HScIXs11BWLnjJHbOysZGZfvt2is5zLrfHSCRSzfeQ0kbJ7PkYNpLVcLZ +ny4TdNr58FYQAtRq0es8xZSRltQesViRUZcdGzYIjie34LB093sCUM3uKtI67GrCXTOW+fUcbB7 tVbDFlyjupr7XWT3coFYg8AarG2sc7rWfJbrSRBEZUpDYrxWLj0tNVK1cAdghtZQ2aegMscjimw/ SctbnZ6yjRVg4kZ8NSnvBJUb+if5fwe+k1JweVZcRm3M7Aqubh5wTnQIUdIYk+vt3PwvtpIfbl0c zMOohg2FhnF81RhNGoV0v8peeoK8BiaLIHk5XRVf/8KwWLKWLE/dTDhBeX1yP7CTaXForJtSYaSC kiOW9T6waiKNQcdr5cnHOIQpoLoNYHgSa79eRCRUr6eF+XakyuSsoot3sPiMfcrRdBcMjWj3dhDb rWOGin/t4vM+ixb7vMTRPU8KvXHh8sn41W2EYXFA4KzBIryfpwlD4TqsrfUoj56IzxsRra9SKo/v 56XKIdDp+laQJzt/FZ71MfnrihGR43AMcXKDgra0cCXw6RFgXRx/qqgXBhD30Oy6aTOlSukFBRFw Lo5bXKxn7xnwqgagIGszL2xaxX4klcC6Ei3BoCi9SZyuovmlOze3WcXYiaxSfzcBgwtVGufr7FeM btFLs68frcISSwFUdkCaN2hCsGFTuUmCx2p0Xvnly1L0nUp+GZZID2w+oATMpi0VTc14lS9PlGCM ECMK9hDEz5KZZA+jWQ2Nng3GOfH+5aPteZF7qrCfZtrztawQEWfr00K2K2xOzfMcmGHlSGeMED/a OrHkO17Hd0vrOoUBgleSwuQ9LdQ0+eQkfj74iB9k/DAUCmW7yPvJyoiLgG7MwT3WfeImPv5nndHU nITz6d9aNA5+MXYmvdJNsRu+3RML4TxVj7bIBcuJyYqcY/L0kVN062wWmDIBSXi6zfTzS/5LnLHQ SlsxkYO5L2verrGtZgCAYQ0ECV5jR14wMhaOQnXeIa9B7R8ZG+vm3UxxXZFKhVK5otVqyqGJOFVl vWiDeurALWbx95fySxgLvygoEMs9J30bYkbA/lb0uLvFZBrPcY3KAhRjozvly8NUGDDxVKW27uO9 /M6DMsECUkfxTkfeX8+dKgAv6M0S8fxHxXco2pNjbyCGbBspawHBKHUqzkbkLDXU91e8Hc8g1W8X V5vGXONIJ969CgbrXL/VOG66j36m+hxF67WL/cb4LrIE8GOz7joveY7DQaRvNhhOi5f3cEs6Rw3P a51dCeDZ+E8/o5aH49mvZJHoe6K0IAgJTABd+jMrYU1Zdez13Sqd3FGHrpPbHWS7QkfM1M27i1US 3BJ1Q4XR9fMQD9x+2YGYL4ePvkJNPHkF2hI+YUNId6Fp2bLa2mJ9ZDlNGwDzbWGkUB5qqx1ttaF/ IbTKnWhSc+QOafiqFO2DcpUatpDP4wjId4/K8i3OIxMKlmlpXf/4P95TG13tNKH41i/X6oRK60xv YViAjRZgr0LSg1p2NR4mIuK5//HEv0youqd9t1rMVPwM789/vagojmreDXV82VjIJZhF5C0wfu6z toLpO/68RbhQfkhgTmGtBPPPWYqrgd9eeh1ACCPB93FHHqDaVTqJ34/V92qJ0dvcWj/2xw0096DV 3/P3eJUYfDbEZ0gyZXGHyXxMAuSYvZZdNC2JuYnIXn/SC53yWqdQ5j/VXDwoKMsONo4mEmpjzRgk me3WVd/kbWMTJRQBeWsyJWxVvdfgM9yAMYxH3tf6SJeT0Zk4gYDuNbp1HmfyeWYGl6RC2EU8v/r2 JmDu3iyVz0vqEFy79VbW6v5qwi4a6PmWTZ05t14Q7Nv76qhstd6KXGRNXhun+2NbKoSJYzY5z94v EpitOExH+CFgqCTju1UBWJU+qxnPcQMErD+BuTkCwGDlVCh1/hw4Y4ax/zOaa3bnBnSqVZwe1xSF onb40I5O/o30rFqtqjU4aR1azItb/sSEPtB/XSpe7cVN31o0E822gIRHD5BYfPmzEH/Yw9eU0ym1 PptZxS+bjlZgcTHMKkj93ImGmyNJYgEC/b4DRrj3YiwQs3u9yOWx9TpWaM76Hyj9crDCh7sEHE7v nKFlRXJMKQl1CFcsj6bplanageE2WPzvjwnCkYFpsUNmcYn9TChVrLgJ2yVyM2xqWuMfQXdf4Mg/ KF25/P4T94tFhATz1shRJzVx1xvpLlzyVFQ8QoFrDvThtm7RRv7eaz3Jfl8g7TkW//wLJ31uVUPU +ITWHU81bnouwXC7cW34AvrojpgvOTueyjp5II9DGXgIBTirjyHXZqScEFS2OruoYY6iYQkVBEP7 0iAWOnO73d5vRFJLqQEqPtGfqeh9ccXkobauUnFOdqVwU2seawB7QH//f8QFnw2gP8d11iedfp3x bsPhyqTv3N4glfkf17SDAzhMAm1TQERbMgT1JVXrGadBo5xU0OnbnVQfNzsdlgjzycE190Rkl5Ii 4DiO+WLNtR9AKEbT8l9rH0NlVHXXIklBgTUYYaHQVrnD8459rshZ4u667DL6Ky2S+hn2/2497Jjk cPHw7LUie9+HHOgKKBMMG3arDYkdfHyuTr2eppMf1uzLau25rR/as53e1SFGLjwztc3zM+ahIG1e voZj2WP47pC8sRsXpWykE/+9fMPzXikO9djveIExaLAwSDgNoGkduX4T5gzB7Qqmkdfcjx/ZEtJc y/87y0TJe0o7jbQVED+JtT+arg3kviveqxY3bGLpzs6U8Mb1S2Z8cWwGz/eodVAOQv8FPE2Br57y ua4LMyrF0UBP52act4kUOftNhzBIkH7KP9rcn9QOCSUHHWKd/e/62AAGUnXyTi3Z36McbxMEXP0A WtGukHLtCuejluzbEOJvEa1qwOBEOW8uOQs2OKqtMJwN3CPG0AWmFRfGAF0KeiWHjesggwC7rK3I 5gARyqjpC44lD9VuIM6Gl8N47G7C+J55udwVH+Vbet1KhnkXMva5S0fhGHwiaP8tGUgya7uCXodc FPbwOJuI27to3tYHyJTBDcHqSnF4GGDRK1vQwOwsaeBVoclyMXjdroLdlqxMfKMfabuY2oN2AfMq Fak/ZG6L79dQbB0drc3bUkBOOOo7vcJfgpSRFPKhbxJkgJqEJo7y+0Bqg9wqk/tRyn1qZbVLR5pG wBbFD2ezTsLP5PM0dyyBzqCMh8pvKIscV77a49EZMJaE0UKQ5vUluVSIo+DAWOVb8aqb6j+xnN73 jyU7ARD6My7YwDK4Ty8FdO1fsToLbvkDHSx13MMZlK6GJ0aWpZw+XgRCE0eKTEXZeeXrVGL1mkOt VWVdksys3PuM90l8NX+RR6gzjefbl8jejvuMOKrasp4lM6lXrFty1feJNKQ0r5tKTTe4FuCwgF// bQTj3UR2Uyj9krUg9bdNM4/CX3qxXzkUXzsIEUpHwzzjnbPcOI2m/ew2VIb6v3JnX0boObeE/vYe 3Bc5ZJvh8wHvHRkwtYH14oUHDESajzR3gYuL+Jl8Td0xmzpMTDTJLNDD05Xys3TDQ7IqetBHWlJn DwSkxC+eL+7zB6oKe4DuwStr9l3OVdAt0ER/4dRLalNwOmiY7xjaBiGBaIOv5bdoTPsb6uE0WLqp /jzZBqVnpiVycgR1bfTlLLZ8Lr8N0+Zf4XvmgAGnzcum7ElW0xVk/Ofdo8/MXaDznM/tfitdTzAC D8Ms1x8HxivXYGYzzys0/zN48+AecF0N1POVGg3eTU/xMqmAQUAVtbprUCuwV4G42eNiGDUTz1Xf +JaklQQOiJy7Y3FpyQosRT4l2yKjFqPdRPy46zTFzFaRGSIipIcT6b885BKct5ugB0ZAmAQvS8Ti ++sV5nwbTr6bzgCAcOM4Fu8w2RLNggl6q+Nq4sxw5PCh+npElxVHe2Nv5p0Evov9bJvL3xfThhYF pwUHMNTlvSiNqKeZ8JNIYEXI1VzLHBhA0solsCS/nM6g9PqBJCkHUtj2PcMPFUcjOrJ3wvidzoUI dfLQNC2/zAElzSicfyQFKILSUKOI8lqbQBFGkRIsi7oAztoL9nMgXG0wFoXyORQcL7Q6XJq3UQX2 FPPniPsgMapWe2RO2S5ENfWL/kUszGzNCe/Zxb3BH+UrZaM8/y4+o7PHThLDGQs8okV38c3rFtum I/fc2dt2onDkikiDcggv3uLX1J5zGnbqdwUO0Wh7/7h3WxPxx+Wz5Za0cysRwgQmnTAs6m7Wdpia 6WJLrUYznBOaUuL5n96NZtWmEkGKH2kMJg+EmNVPRmoUDZYQYFxoYUKThmcIsTCt/px6Ol0QtZJz L2RC0I3c5ZWBa5b4R2R/elemY17UBPa0dFfGJcA28+T03JWUDG5OoG9PUEHwYCmC1s6ElOtWKQMn PgPg8YIKWQVzfV5+ycABJIf62EJovX9CO/SASUOHpqdhOHvOIN5PhImtSMEiNeuU6cNDEx8+X6Jd 0aNeOVerFuXdk/eXmb6S6V8Sw6jt5B4Put36sxB7a7ByVGrj3lBgmuVGRiaJN0nuQCWLiT2YNr5Y vVnKwnQdEFXhOwdly2R4DM40AEmzUd71QFZZSex9qDRbPqtPOtKuCd1fgjV3cEPsyYAhUkxDykrv 0QNShuS5s+abcxRdRZrGi2m4aN31cBYKdFg8Kab967nDlgMpOgsftk80MvyN9B10OA0LCC4rl4NF hD9olO+EIO1bhg5fMnJEKVDXK2Wcppe3aLJewWxYKC5aLrQ5SOzC7BPtIkHRivxeaTpmzUEbyu8L Ml1U240Uz+qFNx97GwgNE7+L1ZlYspGOBR0iJxuoy4vfjKhWhykAt/WnpMXURe5wrk++OTqV6ijl QTCSPPUocMz7MyZNiphvPuEhPbXO6BPifFlOuSX8O2u3qqpLxtI0lvQJfP3z8ZtcTc1PqiGiaRzf suTX64gYknZFs2bBkKkgYE5ihjWjfLEem/2ae5UbBiKrUMknbStZL/fnllJJuf6+RkNwTF/7Qzp/ UVy3Fka0wAVBMQtOvuykJiZZMZbAd7M8oMPjr0yDAod6ZgUIptjTGnTplsqohNJ+otNerLO6SeKB 2hZ14GwsrvT7q4TL93c3XbeE+hZ3chZzTjCzHphIOUX0rK6Gp3PDp7zWsCzHRLB2Ba5x/arQclwY qngcCCxQCBnlhhDKwUD+fTGh2QnaepLEIFwJW39c7KOBq+bVK22dQiiVQ9fm1e2xfGyQLjQss5D5 fZ77gbapdjOj1OiTrD6TGLgnJQN8fdToNq0JaL+eDDThQFMAOB6aaBblYeAtlTTurXERJpq/XFm6 phhohO4ggSc6V7Q5Q2/eflSuAhtaYi1NNIpIiLa1lMOuYQaQ8Pl0+qQAvN4kPh1Agn6C7Ms7TFzP AhczqSEBqKqukR7k1ynsHB2uNlHTpM5lRGzhJg8+ZhAb29TRvRCSbfTQCoNAK4GTZ6aElQixg6ZP fbfjXvVK8bFsm16XOXB8xD3ly0amYgjguyBj2Sv1rJVQ6/mYkjQu9Rdd9LIjbOfg8SF45yCMOIz7 NBRRDiRX5lIJZ2Y98mgutEILCV5ELMWbtDaVMCjfwj3BFO9XA3F2MPj1vHHIYM4LbIf+2A+GvwfP S7/vtpc7cGKst6lDiKWb0uFoTFzRJxwmH5vFh3qGVaY8V0mPAOQcQeTZprqWwTVO8ap5/M457wKL NRFu/aZMgbLNcMP1n3c1zAOwedThr3qumev/8Fm9Olr67zfU/Y9ANHUd/66pS0FJEBwl/gxEdKjc CUZ/HUn83ruf/4s4qhi3OF1uSMudMX7OP+fDzb710TtEgwCWCTCeEHscm5WLy03lrTiCGhn83E+4 kpHhKWTTTFoHMu7mpFfAUOw6k9ZyK9gapzRf8ZHwaB/EYrYm0aML78YtcfRo9nqmJ9InXe0JXMXn 79Kpi4HNAbWrQ0WCvVhUm7jEpz1Un3yILX4OfQk+AvVabuMcqN7uk10uRUe9TVtgVOXVQoXL8Bdt byUr87+DfCaM9i8YjevE40hNPlb5Hx+hLMKgl++Z0J396fXB3wGmp6D8Ocmc3PFoeng5d1wHLi7T RQDJ40XRbQH5Bs7k+M4K0Gx6A4t3CHacKPwjIDLMe9jRiOS91v6ohc++fhSuvqEnwQvWbi/xwZtZ ssC+FkYFQw+r6ZaaHuooP18wywPmhqb6Sck90XMHqezr4DyMDrCLhZaBLITrgNWNUajZemrm6Gn0 voSfWDS2b8P32/nezhPPCwOHvflqOwfhpXv/b3F0t8yK15e1C4kVfHHMQZCR+yV4TPClvO8k/P8/ /issNHiGNLmrGIV9NBl2XOaFNxPTcvQpdbGFVCncegu/mh4/pyalrKUTi8DFkLrZRGXtg5ys9jZb oS/NVA8N5bQjt6Oq/+EsDGbxPJNhzPOI6JHkKA8g42ksAS6w+SqpKZKHghiKVgYV7JvPbR3jFo05 YPH6psbq6WJtXqMqda4vGbBEbcSsGA3cDxwOMO6y9isvNPDQ3dmMze4sQvvD0aFlwcUbEMSvwB03 rSdHlIVEKjKWy1fe4OSEiRvOgKB95UODa/oguWZKPcGYWUJbqncQ0RmYzINwNIFAwYYi7bHX2YNf /5j4dJl9aTeuQ96lZDHLvgwbo1UaJ2SRMzTAC33Ge9Kq4O2sDZTdxzu31LOcc0ahKbr04qBEocph RCk+NB1pHoFfOFigq9kGl87TU1HQQ+rJWfulTDtOaz5s8o2NaS5mem/3yAdCZQkOH8e5vq+CE2N6 3NifCfn7k/eRUUKBo7MhitBWD+5PG/DEztw1+jq0cJz7yezBpAAxja3JTtsxB+HKhG7pg0DR9yLr AN8M0jBhBLqp9zq0Vbb8HsT4QZsxjSEmmPvWx3I0vHhbC5sC9tQh0stAMfjqdQQeQJV3yVBOTbo6 66JGoOdze3KLzMtzfs/S5Tfjbgzi8YZxHZ2NXpAdwQE0OEtgNqEfjTkbgdQzO25LyPGmAPUtEyKP iDYzt3ddpu59Z+rjEwBNli76PEneOR2jPBtax7jEdR+a3c6lI5bYkOW0zy/IqIaeXMq65Sel2cEh jbKMCvsaszMx7XUYJZId5VyJtuslA00PqksFxciN9YTumcFw0Ygk6tAnnDXxTb8iueVfWNW09nQr dbV8z8Ju7GDpd26lZNzJ5v3hbKPGj+tudfdO/k9N3Voevyfvv3V+eYiE/8IAuYim7GvRQYD74ZTs EnlKtq5kuDpv0yvyH7rkeGCnUEpSgEt6WmUQpp4UNqgK5YTTAI5hIwXwxUWxQs3+ffYMFzRTW+Jq skOzQgaeiMWNErhxmicEHsoelcViaQ+l8g1naOhmoIokK7DejavJv7YcGlyN20+uAncgKoeL80Hq VCv2D2FIPqI2oXU3jAUJy3McArZLQlz3BZNf6038P80pvxH/pmo7BBBdNdS4/xU7R/F51uvsp5Yc gW94/jhpuick1E2uo5xdBHnaBhPJY+I/gPBhWwpMFcopUT9MHpCWYZzs0QLf6LCMnZvWkSFDZeeq 2LpSEWBTbEjcqgcOEshj49cg9rEkA54AmXq86L4VVnTJFQrJS2VA2OeLYP0XOQxZbElnHaXZ5lMQ XvASwRRVCgZ6PlrSgEQEJdZ0Nap6JrGkQmIzMet8IiUPQdnUMsRrEfKj2umagxKMC9tsnRAygTAX jc4bhicRT65BLCoT+8uzdgQQLNyHzFcyWuyrzeNvD+1cSNtqd8zoiIz/cqH1vwt13fmbnmivJ2TK Z0oghzvDMFHEKLebvG7BXIV/dTo2s3HcnxCV95CrmxSkRk9W3ujsbB3rqqg/KBVlKAZxlJkIV3fT 6cOUkA851aziD8YyymMbJitDY39Efa+WPud6geOgg47i3XQ2t/+6FJxV1/cWwYSO+QA+qlC/qTSR LR8rmBmY/CbnHOGmNB+S8+W3qA4Tmm0Whiro4WjvVNaTm6AzDSw28QPEHV2mFcSRZsEzSNzVYuxi 8xH2EB7GXJQ4X1ukPYfPgZWi1XXoCNWXjgu9XHGzxWys3ywdbQSWHgGdhB/uL/kVYo1XuHLaGJ5C ym2P3O/hQBHubP6yZnCXN3ZV2aZG7lKrHQQNVpim7YoAjR8Y1GCG2452/GolGjfXbIOXsIhR8EXi 1wB2SCCZCepesnNvEDfUydcSo8DMD5+mIVooLQgXvyQBgV+nLCTeQkJ2CxZNNFtGbJS/BTeM1TSv fYzLslmeQplFG/rOfUT2k02DvLo6Pw4CZkLERQ4GDFjXSjRE/eMMaHa8AXXXKI0Ar+tXoRwn77Zr HmalssP0XP2RwGkqWDym+bpVHEctkWor8rv0/hbL8xEtTKghkhB01o3f6Wxj0y9cJul+F+VfkBtj /6OGeW2KiLtjKjGCc6hC9i866gKBVsHbLKDnTEXZ+eU3MGe2A89x2oGhQBLFCuMgp8UyiYScbyAX Tz6eRInX+hrtOv2hpd6906GLsMyJuZz86LHknwLorVhCi2v5Tmf/AV+9PnkXR7UL+ds+mL+MhTFf SiMH+lkpGmuN2o4AbecxwwROq42AwHnPsUFuoV5cijKsB76hGTIRz+NhXCqhWQXgoHHX+CC/obgO 6S/tn4bpjl+1VjWua1EAjea92rMYGFk6WscfyYcCaVbz+baGpFBEh0sJFd8wYcz3fUH0+r/fFn5L Adcbtk4ewiSiI7G5Y+WcE1uWcLqDhRi2/0SkiZ47gZ8A2Ouopz00m0tAospwR8+W6Avp3mepYvvR vG1hIx8oqaQE+SNgLYk8wfsmtloJzayS87hSMZjIGMy1Bhygw/JP64t2xYR5NdH4HXfQMpfKkTFt LYGP63+y2I08h5xSIeRl1W13RDrBQFA2f9W8NblZeqcuzxOQptbdHRtiA9VyMT3ZjjIuhOnjNmao jpAs25QL46yshs/SjQZ37J5pS0Vn8kLGcXvwQQdrdpS3ugRRLZ1A6ORYhZyRO3BA+V/pewTDMhgy 8USU8J21dexQYpDA2Y2kv+sauv0Oc/VitucFds0Ylqp+JRbu8FHih7Q2CV2u3m3HXuMGTH35sbvs bjGVs5GDoe/WFiT2AAHnol7jmPf5V43RpsKKgVbxnt9x9YGaWTEDmi5iuMIYM2RDSYzERyY0WbLN FXd6qVGTBhAf9WPA1kwQ28UZQaeNpw6Mjndb17tw3UIkjvKNNbne+SsWQtGYrYW1RZChagi6yVEZ TQ/S1Eegi0KUyWc9zXDERksUYoFkW42bGc6jMcdKDqA21+u91xPcDv43W3Y47P1nrL+3pFGbEtoP HA/F6hFBZyrof2kbTkp2EO7azenl3u+sgpgdPLwfZryLUhV7796jZ97tbhwvPjUMUYvRhrulnMXP tqCbz5HcPjOm1M8uPP5r+3bRqZ5Mwj9JcxLG02q8gU1YltQ5i6iWxJjjAoJgERtHavJ5FW0GDlE6 k76Gs9tl2VzBOhUk6kgohqGeRu6t2REMiUMb2SMRDFkDRtyQEUa5P0lZU4y0fNLmZv0a3Mx94wik qDmEpNDcWk6+DZ6OziCO3i6zy+I+bnGcG3x6NpQ79ErXu5JkWBCR04FcbaIR8oJXWNFh/r4TazJ5 MfzjeNpY+orCeEK6o9g9tKMJ42oFAdDM55mYVkwVcaF+mP8rg9JgIEmd6yzlXGoVwPnhc5oI3jhZ 5zpi36I7vapR6nEk9LcQ1EbgGvlBa8Y6EXelpLyMM0GMqVPi3WRS2cXm64j2QZJDznA0LmeZkVB2 y2l5jjDxiiz0Y3C1LJ8sxxYQVGKdQmhJpzsGlq2vk0uPwuFXhMwKJkLXz/ezNNHITwB/5lkyckAk 1d8tXVL194EoX4g7H8E/6wwmZcXLu9sJAqanbOjpvmE0d3Q+sTYA1MM/frefQ4N6iVx2PvMcmOnJ EPl3rAUIUR+xX4LxDSgJdTP6IJ6g2g1UAX5JPtIQ+4fzcv2mlB+BYO8PPW1mtf6NgcEWZLCq8JKz dXQV3fdZv8f9Hb6qP8M98wrAADjRrv7HKaSDxCoHBXUec3K9so745YG2EBFzLoJfn9HyEnvTm38w AkwIReooofcvAXXCnVYCjI423VGQHXFPFiIpZaNhJfityXVpuRflJJxZ7HAAlXGfkqtJ+lsP3tjL uoR3FHWR1i70E/VeNkPy3DJyiy2OsGouUY+4aNpPkAsKfKmjdk/Xepk4SA1ZMLEp/v21a3Yhn7mx H6ZrimlHRpIDvec53MB8oQ1jgVK58obxUF+flffNRypV4Io4D1E4Wws+rgIldV+qb9oJ74PvdRXS fsDeYqnYe7pZilgt6hgCxcFHGzJjapx8nl60NRZ5T0vhVXkTesDztUwAN5Zohbe6JnFNuobVwKYP aj7s2Xidrr5/6JQceFWfwTlq75746oQQw4nyp4qGboYJ7eXIT9+LPESbWanSuKnP4PRKbkxQPbDo P1Ccl/DwKta7LPG9EwZZhKeeamofaFdshvbo5w/lR2nw9OLGFQK9UFctTfsnuHTq71pZCp0Y32et LRDakDpvjGIhJH7nzXMUCP8X6WjFu9ivOnnDaa3h53QQgk+Y+RDJqJQ9Y//C0fQRWwRk6r4fmqoh kVm1B+6wTaWk4xjC4RJSPVEKDdaTVwg+vjjA1ycyvN6He43kfKSjPQNNnbvAGc5Q0Pe9ngxVVCWn 1/SdxO6NVqVdXc3T98M8jwSki160wJEXlV+EMHmoolY2ch4ruOKY5sBpxkNRxw8SU+E/4eTAVa2C zUStKiVJLurhBabgJupC6xt/JNsgxltyYWS78Gec0+mC8mhPzxyBrF9DUH8XPUj8NBNiBK43zC9l maS57YYsctia9dn8nSjGLbUeZ9Zo9OcRTZiFx9bdp+w11S6TRszvbSKcr0UV89AQqpBS9V75D7qd YM3eytr3hBBQoJwOY4zgppR7ClxoZqx3qsA2fMN/u/aLkp4kGGUZ58uiqdbEmm1066ek3dh594LV 9KlC8zufEtlbGzT5Z19Q/Ih2AoriO/+hBd+gzKiPCRzJDkZoREdsJw8/NVdyIKwr1VXX7iSZHQn/ JNcKEOeUUH+xJ//zCzQw9Kxir/8vtSQTFc9muX3xpnFdsoMHeFLU8DQwtJ9ZoJzJgizDrEN9i0AU OHwYtMMj81FrFyEqe3BzrEUHV3v/geu+C3teRELRhE3ePW2J8iCR4fk1d0OjwJ51JzGj3Og7S0jk Yz1P3bMlNeFs00B2SCpXfU6zn0ZPPhtFitD1OkOAWqfaMzxpFbRNfQzjUAxB8/y5m6+mn2w1V6Yn T57tOaB67PMuPxaWNMMt1vZMheYm4Qv8SuhDEdyJq+MnsOXd6HGjw9Ye4nxmaNwOSgDhaNE9ggw+ m1hvPtIT5Vd0DTH4y+95EABQQr5ugA6AOIcKVqAj3+GssCWe6rvDKAj0AYZ2FtgHMtY1u0mGPPh9 1o73EVOop3RK+WxSI9vFJEE1DJahve/rb4cgvFqV0tDOPnuhDLFAfY8OJld/CoYXMVnlkBhNHCPu /XKcPzJu84XL3FUc7nc3Kvidgh8hUt8IWYPYQnvtSquFbXIn8AGNeaVJOBsu1IibE5MLVnfjCFTM hy5amspgNQwEMPImDScdoEUJMMpNC7rUcVUgiLqTtQGw/y8ww8tDH2v1qoNwANEEgh2rQEWtJ1hd +r99brsVx3d6oiJB1mkyDXdEVF3BGzerFR0hteB8jz2j7D4xEsN4R1SN0T+pikkGP0r+8Wuq0w3V miFiPo/Sragzjm6uenpUuHF5C+6avyLZaclWoRoc0c0n/X5n+RDFDzAviUUjJtDIE196FvrR8tCx y91eDITHI27v0NR7+qE7wLPRbkLyA0sn/DE6fXSGofKGqBMbSqLNjRCIp9VDEkOe4yRMvW8WWxX5 x1loJ8e98khpzT7j/ZGsI+8vXX/n4Yq1dF3soDOc0kOvldTOZRCXQPdrrLB+qD8/mnh5aKsvDPiQ SLol3YYFIGctVIkk8eyqCzoNeJa0uu1GqMdJFVi364DXpkL3JJXY5je3bFGgQ5jt8yI17k3EG9Z7 kW6/0HvPrul9x5CAdUx/xW/L3rhf0QVDyLoQuRJabzl+9j3DvCkMgqrzCOwE4y1VReoc+bLdCPyJ 5EtcE3c5L8twtZuVsDwboE8TSsj+0E222Fy7poHvrb++c0w8j0ChyVqDQpjTMfjpxOdTdrnkvgRa J9E1fZhwT5WzznJiONk3UwcYy4LW6x+HIuFU5aFD5/BVTIgCZmBVKVYclwsconyHMw4QJ8EPoUEC tYGLxCBcTL0NfWp8MpXOvbpTu7NofehwUh+fzrVO5mxT6Zap5QnQEaREOj/V+qEyYGK3N9Q1SL0f uETI3WNynM+2QBK+C62oqdIbkbf2yxBPg/ZKzy8+F+qUa37szuzSiDohsAkhPPKager/I49gciG0 kFKjAB75u1xayAN9pJV/cNSOLmg68S1FYoGF7a64YKuchXtYexjYWjqeJwXAwnRcK69l1IpGWc9B M+uEISAHIhsEtDoNyVS9oOi0SL+a+ORrIGh/k9Of6XWGbtOBdvqavSCDeUQgyKvBRMEo1HvbpdkD E1Qa50ui5fFAiKv4mcOotDSo64JiMYmsZQ+rkBsguHAHA7fJylqHNmvv7pE1T/8Nji4/0MDDvxAa E6sqKzpvRLXIYIt6Tcm6/zwX8xUaRE11c1crVNiOhhHpTx/3Y2swphUm+XiYRHDnj8SdZqT7PyNp D4MQe4niGiSEk9U1K7Bur6ePeKqqaQ83B1BJyzHWFGaGDogv4pNBYda9/uA9pjhWOjdjeYZobogT usNZLLNRSmB1oOERdDBvDXkJdB2X7OBLVxC1ILwlIdF9Ms1t4mhEa1R/LGOhVMVsTmMzm5RiDqP3 KEkcwB4lICpxh+BGYGNHQe/npo+Q0DXNZZGUZh7IrHrsWq895Pf/dnGHRDnwqRDJhX7NK+n/uYv0 BHLwzrCLHfsNMUSRDo8MFykvmI6GOO8YjDHVFHXNP30o41ieDHZaD1+WUch/+h1KJizaLUdJJre5 L6gzIjNDWXqIQi/paNCDCVv6r5ItL15UvnKYrr+xT/IkP0W78C3GhcYQsDVw/nVV4XTa7emFPwif mSLOxm0BNWeStEHk0K3/9o0a94spe01qgoctZ4UUC9coDTxNhFtNVCnZ4pi8DRjXQU/SZHqfi6W5 p5etla1cM5+WoM0We/Widmb9MKvn3bErUK6IGGDX7cu/Mcmgy4Kze99L4wH8dx8QCrifYFIYZvZG JFr8O0skS+LoTJUmsoSVgueaJ554CHFdnUeNdmtZLen25tVGsgkO6d8r+gbzELJoDCSbW1oLC1G/ ChM90rbHVr+2fvS6rV4PBmMVmtrf9O+JFRKuUwN2UIt73kAG5WkZUZWmHU1HzpUNh23h97/p4MFl hWcf+1Jv1vHtR20v5V7Vz1poBlveqnj5Y52teQwDwciTktaUL6sP/LlEWjomB5BSKv5Nh2y9UcxB ALKEy5HVj0DCCPbj0I+/KFsGmE1Cvk6laFnRGcOZeT27ufBsJIJLJUeZtLT2M4Y2X5wkltP3yu/C TK2b2fprZ4pUWrhBgPDf7OnFhV/5tE3lIZ1TxvdQdh3ePyfVdTeEGz9fwSArgkE2Qc+tmgFHAl6H wwc8tJLQrZefCicacuVHNTU+pBbVZFYD5SDlbUl0q4B0KsUjQ86SHJtijaw46tciYOcgkmx6lc// D/jlf73Y+i6trjIwzFCSazZVXo/b9oin+tgrxuS7pRwQ8IxCrsTQqbV4izXip+f0j+ZDTjBMTekC W+yUJXqIVKmxk7V+u/+vjdJjR3NJnOgWGirIrjqMCX8xVAuQwawJYJ0cID3yWpaq+YM6svV147bY BQ8Db8iX7CV73meNWJi/vkzCVkXzkktQxaIXH5aIVq18OZU7fqPp0U88VnNUCZhk4/pbpuHAQc1p BJQKIcWcoNYs6pw2Obs6/JLt71x1YiU4MeJBDtJ3MsJJeWJVmmr5nSyZ8uvvmsGq1yS1qZxHKmup 0cl7wWdNsSBwK/3OJ6olgv4dp0JreCy7tjDpTEoKavtOJ4GiSmMFxuHmRLodlvi+sFWf7SQV5gOz rSrUdr9J9DzBcD2Wv+ufuuj0JiYMa8Vf+bb5jynIcv1hB0oyR2psG2sbFeZquj4rTpCAroJ1gdiv DS7h3Mk7CPt12vBuKEhiKS79d9g3RFKoUKW81DOgytJMcBe0V5dYQVO3K50BwmOfXZ8/IZ82vRKL QBj13Nsnn5c6rTsgZ68YtuPeiIB1fSoxpdH/o/GzOGTfHAuCXo6VeVrSfj29GRh/ZmLw89zx9D2o xSi6WuPjxntI75EW9LAoQzOPTYtI/ahKJ7CTsXK5656T3pwXmfHiRHAILkvkJVs6VUPOqFwqjru3 B65Y/mtg4d8rI3Sh4WtksT9Md90pVjludMUoEWHenRWas6S/CwEH5LHaUU0Zunzy69a/iVPsZiPZ eOJucls76viHZwvCv+isKhjS+rBLvPlxDkLysawnCbjPjRbg2RH1qXXNlnz7PV2HI/0iovtnpohd lZR0zFw2GKomrLVLodAwpVUwFSo9WPlv4pF0jnCTXrOZ7df38dnsqyDHnfYl3S42Ma7kzCHDUHZZ UtGQ2mNNpIhNF+4JKZEiigMpeg++9jJaEFivFx5847BSNU3VNMdX/BVcogNm8H/TUSrG7Mi94ACG VcIPoATZggeMA95H+QZKzd4XeQXbgXZPOSABT3XCcZUdfLQpoRWsTbLPUUyRspBj2XEtpmXJbSjf VCnk6EYTKw0jcQ6dlG3sVu/EBfnQjRORd8z+D7XwjOt3gto3cOYRLO7ye+ME1yaiZiCwqW4KP1wd dIwWmi7EtwgTupEFtd9gOZZ2+g/ZdX0ARWzFmHg2xqefYpFnPwF0Z/hlqv4ZBKnl2ErT1dxlKg1m dceBIm+JaChR20HfLFW9RD7Ah4GqbW4ngyQLIXYNh19N2LWTQOpukr3ew16bylBDJEPUaYAEISxw JGT6km7+Mu+BeCFjE05qLblbbUK4V3/FbBuoOYcB29skCI7Zo10QNpyEkQbyOoS1czT6Xi4Ov1J+ QkiSnykl0Fy9v5zYdBAq/HTRN7jhlVs4bXKQXIk1KNAKnhMb4TSxbVT91cblDjwBIEHEARFH/jXq 2WWB3qtMHbptKo/VoNeVOrJVAPMysJEJ+afyhwOGnC2cBSsGEsaQXd6FG99WdQcA7gb53Rdtbw64 UlFxmuJzuNd1UkdvHRjdo1Cm7lBxDHD7VAU9DwekQMXNYwAy1PwRijh6aHcSgXHMyOyeLp3SC3vZ tS230NzcjxGW2DLkWN0Twc7ei8FtVvXF8Ojn/OrPhr+0I2CMPMEJfUqBgwiZ22JbzZCcjKZ4ybwc +HDS8l9GBtgkDo2HrhQtBilEyY8lIsGrHteb2VeLe8aNHlbstZI8zlUbXfsfioQ2yuGQbpUXJZw4 eq+vOW2fbwTK0rPa435nn5KfSzDONJVPmWu8iAtF+od+5MO1PcNCKhUKtbRVH5f8/n9iP+7AvTL+ Aahwjfrz9/Q4wUoeZdQlCjZhQHVQYoTBZi0eX2Yii2FacyNfrxzh3c9BZYnqxVu+2JIeqcMUiEUJ ETJMX63okUqvKTuVkLCn48XrjN/Tptlgir7E/p8tasVZB1SDKFMwG35CQv7b/IajMWjspFnrSAw4 CGyHl71BiM3GO1gQH0NSv4O4GJNcE1Cj6Ik2H5sl9PRrCY1MEA+AT5q5aMZ7gg5tFededvvHx4zi aK9d6IIMm6TlwHledFON0cscijEvVrLQzaP2caz1tB7aJoauhx9UesrvyV/YEMyuz2CwNPdCLqwS lKABxdGSvrVwqPXOj6cgN+nRUTO0kBMzQRcSbT/FzVjmj1AP/Q3qLULChRZZTiy3add6vCeB++7f OwyK49aoigGPcFEc9UGSH0IW9dLQUcpMsjCWJ/FPeMePTxkMA70/1mECsiZUi/t3oP3z+gFFjTcg 4xxelRJIBKpO7y4Pe0r9BBc25H2Z5FNA1IMUwMoNt6OotY6PtyhjFcxyoquk4mTyhSgeVmzMuwLe 1tszuwf8Jth6pN2Kr9k9zPkrFXOohiPM43ix3vRqyTV56V9Y/C9wk6HULFzBWVhUgJKM21x5je60 cIB5fE2uhL2AgYdW33SQhV+hl1lzdPexndRwL0/D9kGDmyr197HiRRqlyZSj2UZ7dC7nirRhawg7 QOF9qikAky9ZcCeMxBAms0X7S9oK/C7BWE7MfsaBqHxvjbxDmwBlITgP2aPgOER9QrCtsowPSMEL wYRJ0eeQ8eu+amARKxteDAP6A5rpXOhKfVKq/izWKuEaTBHsuTResJf//d65tp84DXTH7eOwGdAC kia3DYazAPw5oNGSzzzg841nUlxvSFsKcGzCBLLD/4+/17SCYKanLPPUgszxM//DEAqmenXKKzOx IrRIDOrV9K1tsv1dCN1ziHxjmJkafPQoia5EWPPah2NVL5E+74t0svXoDHa1/2nmkllpGwGw/KwW 8jEqY8X+BG5V7UcYUO2rlJZgcpAvghkmcPasVsNMAej2pMzvoZ7YCvUH4YyD/NMdjOD9vNHl8yhL bFm4EHGuO6Xd8oCp+f5TJpUOmGVYKQhu4OZCXfZNRMHLge//IIwR6CrCH7T1KK68c7Vk1/WwNxyH nSugy6JHdW8gRqY02uK1VlK1ksDUZfqIDJly2gCf1MvqvwHnGzcs6VkiOOq/i2kDVUcQ6iEDovFa zJwrh/4zJDXwz16Fa09KHoNUqXdlaOtaKqwLgNy129+10X0pzRqLS1LYFPERg+xWQVWHR/zCBuik BR23LUU2LOoaoYB+CSPvDuhRJooFXmQH83Jkfk5GCtAbvOHrviCGSIHWudGthSVy/1Q73Oy9qf5O sTMv1ZBeTdNN9GjjQU6vn8B+z997s58DND4P5nrPZmZQBFR625mCFQbehZemaUzM5aFYOU6eWkK1 UpRlwDzZG67Y9HuPFcl++NhKNchrYtjr0aQHvvf1xuHiii26LNel+3zdiKvQFLB7G5kC8Wds4j40 xRQv2P8hO1sFAkJAEsRJZMFKJk+pXVQ56PrY8mXi+tDHbNhNaDDE9/IvdXp/uZYh6v6e1jZ60OOe a/HVnQXJdTYe5+pvy6ya2HnEbxhiJJOI5/0tacsI+rAOnTpEUDiK+mLoUZNfHpz/acvPelYJmDYG +Zd/e25wZfEX69Gmog3hRf41RFlPGXGT28j9uIcsDW4rdgaTgiKJtGroJvj0/CJgTieewMd/5pho dx/rpmvAVrw8szHKgdLu+uCn/QI8+4ajyyE1ocw69rjJa1ccytOri5e4yuN6UVWJ/Yhv8RsuCTGe c5HxJBSR6yDUtu3naZ68MjlyAi4TX1BluQxZmKMjaWA/gMZFtf75W1lOLfdGIo+7iiVsncSoLoL0 H+GrlP251Ng4oHDB9mmhDoMHde71PrMnCBNrzjf7YlCqu3WBgOkE9XJe7KoaYX5DFNjJzUT696Y/ 0/9h3sWFCq6ZiWRuSfGlwVRxDKpcYFnlNVaAhXu1P+KMd2P+Crzyh0YnBlQS9yu3nTfcbCW8V1Lj pbRbIw5TuLVn29K/uviEXWe34+EKJcA6eRfFwe4reD+tefGnSu7r1bSM+GE1cpMHtTgz3+Wsr/rF Fwx7Suyd197lrUwHqMryK4OBem5y61aiqZXYn8ROAdapdCckrh0MagbNJZGjLKRQxWtLHGb5QpE3 lBws5jCM+g++otc46vGtOsGicYbNS4mh+gdG1tD//ElB3AtzD13stagukVs+oCJEnuXUvuev1Ejt Vo8WXplMgTw8vqOzxjzBld+JjvnmG6GdbthMPj+xhdPhR3O8LxQL0xeE4pHJ0QByNQkEYhn9Fcbj kvMc4fGCZxO7ZIlbCq0C8uupoZtGEzfbqf6IXYNBXP9WrTGdw2gU06pJlatCESmcuwQSWmD7cnnz UxHyvIzPCv6kjLTJNbI8Ig1oOIb3cXIfkZ4NT1FJRu2bW75K5qNIzIFTTkapt1ojD49qtQDtqzqa HPAg1W4zGIYfVJhEFSFd6KlcvCLevgxdrLoDcequCMZ7a6IBu/7wC9XZ3LDhVs4+/BG/mUoFhJQ3 fp14IffTBTLuOoszD5Ta8DrhzcJbCz9S99UK81irRMoi4peEowdZJE8bCWTa25a96uFbnM8el6jP t7Gl+p7Xu7/B49te9s1O//6mx2yWDCWOqqyC9Hi6UG07hLGo27YHdB/jEChEkCXoTB+o8pBIVKi2 mxTjhI8Wp8E8S0UH/QtTlw9ENEd7rO5pNwfNbsWcZdJP2eA/Twz8qpAAnXwYa+3ZCHNeVjMbcShp +WTauzRO4qX72+WdXa7fUV4hmx7O08eN+0sfGQUk9RF9OpNpLoa/4BEV2cJxc9wxkEEFPBqTPprx gG/wONN3D4X2yoPNz0lCKOiQ97J+bIaxTWXY6XldqiF1lvwG/vltuoGkUIdN+jRYI5CqolXwbGQw ihoaRSRCGkESv/yJuJlEc6xkaJ2+S/z4e+4zZnpd0aeldoub5qyQmn65Cb4ssBhhgqNN/yx1JHZz pKfWK+LzlWBsH5Ty8/26o/buWMrWoy5fU0Vcw8HdvpjPzg5YuhMlbH2LaRymo8flMaNmkwk2n2PE EQGOQVBgjMSrdynXBNq8/0ZY+0WsMfXC85g/XwFx/sc/lqbJXJ2hdo+I0CQA7LCtnMK+c/Xgri0e zN6LVGS13Cplk1bUPeZdIOZzuutaeEoE8iB7FvlPYdz0rGiLrn8m6M5DOTgk+f9B2yoTvOzq1rEY b+/MOrvykJscVrl6sgvoyxE3Ea+Wb7RrvDw+aFyQYwz2xI8/27ZtzQ71Z1eDwXn6Q/yJ5MmxZXnf YE2zr7R0DkK/pMPjIJA0UH3pG+BM8NMYatiA6wTIL9MWresoS5a95oA97TBX/6n7vAOhKHRq7LVF ouoiPPJCtfmucfnI6W4QoUzpdh8UYT5iCZvDHSGY2aC+ox18+x8nZQvBnW1KFNuzB7F0N7Suddm2 JarMW+6Mzdeo+9yRY2OBVnBaOUZr5JKsOj/CKinRBKs4DfWAuTAVplShvxlU9Ew0FyDnzrGjg0pv 7rCpA+/3zy9LLciXjSSMw1j2vCDAORXrdW6FUbLj+RZPvS3D0p9S+ZX247+6dZ0/OYf4ekxhzCda 2ov7Js0TamSbt5MyYkDYhEsYWw5U76ep7e3IPoWnVWDEbHhdHSJ8gtrCiHom8v99inDf/oVY6Wor X8fhMEyGj61cdUwIbnUCHQBWYl2W10QkyNx1csPE+iQUhVqRq+qh+F/YgYZrSdeID5EqDPS1c24+ ExM/fCU1CQriRrlvCWfwU9QBpuq9RiGN6Ms8HzcKdS8Vvxtu4XdpXggN0zCLCdQamSoLW/00QlvW 7vlZ/KPnC6jvJrUI8wVC7jaEDM4BOfRlrYYBHnzoqUsrLV2JVt3PfC8KSIeoYL/CvVjwG14kMiYf 9wp2aYw+shHDVvtS0mvG23sbfr8/CmTdFUO14SmDrCr9AmIV90lPTWsxtOxYJk9drb9+AMwhGzWJ LQyFN7zjUkaphPfC8in6rlzikJlp01//Kqmqx2U+bN3qReLxEiIoAu5msu+iI40udnAz/xLcRyu1 CPcIFNBgtAdZ/Akkvw7zngCfgJ0KUudGMVRGotWERdSiv35t/Qm1Ef56IAgDY8eUvieBeGBypkhn 8/F9VI+4HyAQ2MEcKbAFcVn6Xuk4xIA8EG8pX6arIl+4dzs3VOrc617nSM0pQumOsh0ueGh+307Z ok12GJzOGlabCbHIhnL6KtoS7Mh8dalXlN2bqG6GaGYcuLwFDvPfbKe+YQhtJXuccYiA8c4hwW1v 6CjwZWrmpWy9jImwPhi5ceJoRWrdambLlNuJ4n1IW/JEQduFk7fA4VVdLXsfDIpJWWfn2upBJOcC MseRmRu/zXiAur0mHktBrOWCzT/ItX0cMezf7rXygYGqVo6LsdPG7LmVlil7XH6yXlHg/L/K7ohy hTrSEAzlhy3N/ea0VJbF3u9QcTdVKFjTTWd45G6MUZMVW8cZ4Mr8p/rS3gGqmJkopJ5qg0CN2rwN j+VWbDY0kXsZB07wCGx8JinKRRMBa8iqFLbAP/aQFiemWL+U5uhas+NVrE+5CrfXSx3X54GmkBIE KLo6fhzSkOtQnlAZZxlQYKk37o3DtuHWVEefuxOAmca36ykb+RzyGeC2zEcTGhF1l4sKxWIsqFIW XvttHHXtrfkU8ssg172gpPkPP/vTgfoz4KLWH2ao/pNQ/G9yzijE12KftlsIW/AQ/N3Y5Dh5OqZ3 hKDk+GH3MB+G31cancosCr+mZv2zIkkfzpx/RpuK8uXb3CllccSYx7twpuuDl+ViIoHxAm9sJGrH eRYvcrpIVfHGR8M6L7f+QgiB0mT7c+egmL3j6jhhyMHTYvLpmHTirHHoj1EPQTPZQ50Y+BTDjXfe PElsmPfb3QdaoD+7fcBRKPLNwYsnT7Yzwm4OXxiR9Au/bQe0X3w2SRsZEHTqBSenW3NPTk66+kro 4YHr0ikBT/ERdeZCWEIEShYVXtwN0vx50BDEcXpRceGjuDTfNu7pBn4w8YnbdfRYeqt+7uAuxcvI UdhDm9UASLkrB3QXiySTdXKtFuY8nSmIuFAgcQ08ifE5dm9xN/jL5EQ0qfdc8myZw1mB+txa9UsY vGYLMk4qo8FutWGwBNGd8cUKU4PR/oWJysInD6SGfYdDeEqW2lULj/zuhPd8ItWkbSJQ74TEgNvq kX0EC/I2DKVqGSbqvuqAnvuMfFX3DzGkB1wUOyEprjx+YuDkKyGUyHfDKuwV0Igkv5txl2MXfJiv DdlH4RCpvEU2jgdVFdmtEZwUYTAepMNq6Pu+hxw3zDhCN/uYZPggEp76xXeIgXqsaLXEyq2wK2SF WDtOEyWXzf7/Qr0aGaX/zgvohkbcjGlf2j3cYKoRctVO2lzYTcaJyGIPs1hjO7bjv0JAl7BrQ3H1 4OAzWMY5AO7yuUcgcE1RKwJTVo4AI5kSkvwTjtiolCtFN0rjmWkbNTozPy9bwt8/3Fm9u9KJI9Q2 j6ElsrwwxY5X3I6Kw250R4WpOMiHbliZDWBAMEtk7oWaOyp5wM3YQNtXUG8Adu+v41t1UP+V3LuA j8HYNY4LUPSnhWJrUcvyHA/NFbO0glFEh47DAcs1jXAABnUjjjWF39aj9tLMfIOIKgV2mbGheZgl /DleEO/r/WBnw13aKHShOuM5MYUIo6hJVLTZrN+Xwt4jnpttiCOnoVkLXbCPcig9XmB78/JJJGFT KjlURSz+dkIELC0FoYRuGYh5YUyMJUB4+55DPsju3RACqgd/xajA4EKa9YgA1bwNx3PumliPF+Vv KzBdh4fCoe6f3AFG1dhHqVQrPgfCo0g/nshygX9bKXlHoubG45vQQDNA6rbeMjzsiwDhDs/dHY3J 5ceug1ctgO1BmAd9f/xytb3I7P6pIH8vgWaBoaRFpFfSo7AQc8KfJNvYucmCJ1T4+lVLdezcODj8 S6giqR5akUuPDEssiZP40FSTK6B3qfmKgbPXacQG9zy/TMcH/70uaR0IkkVEAHaETIj9ogVh8hIt 4pB43dGZu12Gqxl9uRngqdVgM1Q9UzI1ahQouGZ8Im83e3i3CX3kgRFehC0BG5n8YgQ0zajPou76 uj4Nawaf9JYcsrH0PfBORoLF/nVrpRFHMMRZ/0ZxC93TAK0r7tspIgqjhBp3dQYJJU2AMry1NdkW M02IijrXXaFrROJj1PtcizNCrXWJNin8sGOfyn4YUO9aohje4nWIMezqqM+C712DmopptX7CCkg8 MU0S+a7vE6mulGZCRnjaQDvKs/olk2aBIWz87BgybMsApufXB16jRiZzL12CMkuO0wA544Ukc4xH ThgFHprAXb2YTM1v9aKOFgVAPH9+mjn8Nl4Ox6/1CqpxnjLDvFG13Ai4+uKIRv3xjv0T4X2rsq4M ygPT+M0mQlVOBihe1juWqhbLufF4oN+3E9Eo0SVXucK+Wa9qHfu5vcDhfPQE2U5Gs/Cfr8Qrhu2C BG/GibKdluufDIkWBxiwF/ogiC6cNo5SZ+HpUZ1RcPZyq2F3mJOMifZIvHrVAcpvYUWGNKZeRqan LmO5mj3XfObZflc4z4rtn21W+BeXOgVgHhF/EitXiwaNxmJY7Zvt6udbQ2GehUgvOtBW+0ehpL6f kIFIPpaNKIR7A3uB3fTex48rzii0Qi9FNfaiztg40EJooUsP7u6VKLfpx9cqbQk0m9meHxfZZEfT tOA9z8gzedM6CnOWw5fprdSkwb0o7PQuup8BhVHJ9Lj0I2pPOV4xPOdFAmWspcvWmNVZcT2MFufC WKLNep+XPZ/zKt2TdmTpgTTLxHk7Q+l7XYeSCCuj6iPyUz2eV6V7U61/mZrFWybVPKOabksOq4qV dpCOUfaxkorkWW0sZQQOpn3/b78JxHW7fbi1Hy2+JIT1X8DWfl2izUeWwxsKHTZdVqXz++1/dfbD ameVWPNlV+OumIQhzB3DO5RjHhZlIDN3hZS3KrhwL5i1kZsjte5Buaa2iggmC/Q1o4bpbB8rhnIJ yFyPmJqLyGbpP3/5yH1CA7JWkjlfQLq5bg5RCAS+6IahWZd/KG5SbQgpNVOcgUKPLfkcdGqKkgFo GsiuXvi6y5RC5HRjSZs6FMD4fW//uQHdrPr8gaQFMxpSuI+103d6Z+EVSqIrvTDhC4XdbdE/Ar7k tdJ9PZP7dJkXHqE3Ve0uQ1nTM3lsSxVoB29QyggMbheSVwo+qhdniFU3Hyd/wPJDrT9lv+SW8vZg VZO4UrKJPcmDrPs+BMGSjUo+QU4cd/NTNnQF4CypkrPgP1zjgXn0MJ4kBRjLNPjIo/4TgANwPMp+ cNHv6vp5nDYPqf9Es2Il5XP3/L4G8QL0eaSvb/E1r5fKsETfllTEfbY+x/p5lIct1s7obo29Gk4G /aYSahz+goGGTmIs7+1HQM2MjlG4+67ATt2qH/sVgmABPzsEkVCcroRZRLjfPkYV05rXMoXokhhc iBhledAo7lEl29kHjOyNXKXffe6w5IbQtiCAMugwEvoKNocWB9DVRqIIihp25/gsmPBHeCCjwGRQ xvkpQXeRVhfJWpZyCY1LiiPxln6JAsa0/xqsvwY0yIEXwNcYQ5sCs2jYjOq+CGxXMWc0eFWZr1wi yJOqrpVHaLjl+VGO8qTJqsw7OR+sgnhWsztbM6AamO/hTdvGirmYPRc+ZLYvYqRHLwspNUMT+UKP fOMjQy/zi06m8oRuhtUUXlTdeVFIIsrBW8O3tgczMtgCFmSeHP7QFow1G6uAdHznpfjSKz4XZG/g oBfWxM478+61zNLThPvL38aBi3JooRmEC4ewKtdlGHoriNA1xNDPAThy0CVz6PxxmCbrcWWjQyoi 0IwqhTyUVszPDSuHMoFABex9KyuY/N6FdL9Ttl3xF/9ye0CpjBrul/Jo8eodRpMIjeU7ChjcnTIv RY2y5T/hIs+xEIvDRNm9B/0kDxBwyvWqE1QAaFhddD1IS5+QYB2ENezp3IwY9X6qBabZZVYMxC1T GZf8HloTGbuUblBT27gO2RKAhjvBvAaQTXA1szVLpzwd2zA9k7K/aS6XuKmHJ86slkvfCUlYOLh6 dGM6f0gelYFdz2lE85M5t+aotXxiY2MwqcH9U6ho5NDKLi3E0u5qvrI8ANKwsW6e6thZM6kJqpzN dd1su9uLHr2CfkK6506HpIrIz1+766uYjDPCNU4FiucKB61IxRckcMRdAV2bMx4KO5Rv90OGwBhi oTRDIB/sGhiofcXYI19JMGbg8rVdJmAMA9WDBWQidtjpellw72LTOX5Om9F6uovq9GDdKHGgMqjO G/MP+urkLjyBv8zQ3DA16Yko9avxNQ/6/flukO7Obn/dzR14fI+u8Jk0LmCMsHNNkVkbvtpABBwB q4xvKw+fTNX6VdwW7GjTxOmtHBy+6limwQ+2BytsiIjsVeZD6X50sFz4tmJxJXCJUcroFgt3ELal ohh4u+wy/oy3JOtlakJhebwCXTB3jFN1BvENRWHZd/JqPV+AzRGYOVS6D1W65B7JmUSY+q2r7tb7 6vdkPdWGyJ8xihoNHXXcQdzQ3/mRbEn8Yb9WH0jMU3vshHxOsxLF0S44KrVcAa5cetgWFuICYCmJ DM76R8AaYYP4VQqOd5a9rh8mXt/jpjaM32DdaWDK/348Yx49k4bo0wVdCb8T3RtRgwNWc6pS240Y MextKyj14WlxkmKVCvc+8i9wB/5DNXJqyLNcij0ivE9ovjZCVp1x6A9ZNckVgLTaSVA814Tj5/8t HvbRJ294Vdm/LT1jUYGce88og2ggO4ITMGKUHmE1nAe8lpzC+BGEPIQhZbMddiQctG4tfX5CNyGS eHQhvHYbJiiHIdRmWSJW1TFF6d3/rrDXELjKgNGImT2a7oljbaND+jMCcKcZtgghHcNenjaKDTBQ j3Fu/5aT5W7P8MmOXnBnGgRfxL7HjYqW9xYTpM15OF56/rkPI3gF30sut8Cd93AjCMK8sebUwjBG 1Ww7IZtUuOIBuod1lDLcARbEfwYV+8cg7SZvjypBUepogfWBVrMojAGeuh/7odOGPxYWhQ8AzX2e DB7I608KN8RAeMJjVh1mIFl1CpbmfRTNpTLBJhlDP3uEzP3WtTpPfwBClBxbpXca97nLE1B/ZzPP CMETHAs6Q92sPyaSBNQZKMQZcEUkjBdSbfqr3dVNAPo21AoXJpIt5c6U8VywsQ0ihQCU4CBRZ5Li zCeqcUw3ply+E0ZiHe/Se8Ar9SUsfEiU+Ppv5oPZobkzpo36+0T1i4pSQQowTAAN2KSWtaH+1/fQ 4TPrJh5vYeUYzTGTX0aFB45WovQXokCF+i9sUrS0HCMdjZepnUacgrGGyu93eV0k+xyu+iJR5ny2 35A53nC1jBkEGdZujaRFiaQ00T9XahkR7xKL3cP963R2UbNa8LzMd8C+DzUrK5uRxVssGJOkaYL+ NvXH2vdGAOOXAeaCx1o2/b0jXhq8m5cIwTJ6nqR51u48vEoStaVbV5nRbxF6E40KMYGcnPcFv00E 2JsZzPc3RrF6eupwJubOeBQ8hLvndnozj4jhyw53V22uGxQGbibH1EW8xnhBYP+zWoKAl5FtaspX PJ80qbnmIMQuPPUjRfUpBDwtyWC1UhEnNAl3pN0dJGcdSN0uAT1ZJgaEDtEWRqMxB7vMrhdyf7m+ 5DNvDEBvmMYxigIuBdNv15ArU44JayxeiARAfgoQHjgcdFF43T6Cg/tShhvthg0Ik1ynNuA25S1L gnaMow+O3nvOQ8+eTN/f/9UVjNkmcWKl627nXg76PAdPeef6UqloNZ/ER6v0QT2E5BXOaTczFtmI D+LvtsK8TgO2vle2RX7XbwSalHVw3LxM6EXCGW2gioylWVFuFnuYLfu69WN0v34JDW0r5rKsIDb/ +7XrMMpVqRdXNPJVt3iorE4eSW8gYeM81Migrwjo1RUc/3FG0p/QQYkjyZAuDeI09HF9PYp6i7B2 tYeROQeE9AXImghaRTUc4tHvBxPMfNC3O54erdkJkA3D4NsojC/UiEJsjOM8zNROJ6W9XIYqe8Q8 kuC/2Cla/H6XQYWiKToxq5i2OHiRrgL1k63vPoKXQX40MngVD9dVkq4I5cna0fbVtjIKlKygQ6X9 pwwBafsmtL9vhIsvxiCK0dkV+kNZtQI9i9Mm3rwV++Mja6obvPvo2aPUbZEYJdJ0tW90gkgvITA6 zrAz7+2ldCkqSHoULkl7fK8pzAo2ECwlKO+7IDks6h6djmdAH88g+kNxQsVPfaPRbDs8zNh7Q6Ht G6rPoxOL32f4ecePd6eHpseBxcsX0WIcvVHfdi3z2QauXRbaMI0x63RBIU+uKfREKHMsEpX0qxbE zAz/Ukyk9OfqQCYUy+KFuvlG7aHFkilARzSJSbpnvE85a5AP3GIXSFAuKBfuGSTkVNvPMrJMDP6S Js/41pyjBvfmWdNDvFZa7Lb2zKk/i2BHqE7HU49gdgGXUgefN/u4+zrfbnfpbTqXRf8iTYEM0NhO hEi6MmPXmczAl1NWwJG+qkXglQASNDE424fmIOAtJvTzk1lzu9/kQuKbitMt7/a/+84gMtIQQ7qh EZXXZuTRXgn7FjrE9mEtBIs2R2eRAgNw1mSpvxvFr24j6xhFHaxHUFG9yP5KaxH5M+icwS8pTTrE krMBS1GO86/ao8j5oZRwPwaIMKYDH2OE+wvVfO1hb9Hk1K1rZ7gbZaylfGwNeAQevEfctrMHlotr h8w0bX7oAkGlozgfDhL8OYfOpQv9cOIvyhU2J/IQaj5VKCQwAT0DXgZYk0ciBnB03JBlaeKtcO7I Nioc3zN9VY0ir5z5FQ3OcMLE5ap3ZGnw5d4zm1eRhyru+sX0ua2PsT2mWQq15BnFZAnZuEuwP/kx ucUxu8U+XDBgWn8ZCQZQfxSqD1edArxRyARzZrP2xy0EUZ5UCaTAtANuG1Nwx3udVgyaH6TUFQdx gR8koGaxMJ5vOqESMhUAEoh6Mv4vtSwO69RNOb9EREiMz3IyLk7vSIBQxhOJk5p/tfuo6WBctK+7 KKez1pzKRqyPcM5oiYwWO+M0gmKtNzxKZcBMgUDkEbX2qdJKgkWWqP4feWA/QSvcny3vclmVWvhb Zud33hCKQee4J1+sj8TnMRYaFS7R/IcHeHBNcBXNYNgWzcjeari9mOidZDLCLfoN7Lp6gZjtWOhv 5QaUB4ek08BuxqS1eW6GZh07GT7PyLJ9YsRKVjrrcKDhjc2OMFEBum2VvMn/Lute6g6GBFs6bhxq QLDj/PaFS/2tHOmeWUyO04lBA3QVfgPTRTomebGf4xG2vmfyHRx64tsYz/zUKoHDRni8BcxDpbBu ipGBD8lHPkXC6zALol+oZMw85cB8THf15gGrpzAKp+qJWivuyNDGhZlsVWBeIBS7q2jaVlgUyAm5 1g/rxl7G+s0nO2GM1wD9itnlMYWu6Jq2bZv5vsOZZbtTS7D+CETi28CcMP/YcP5LeWuNgd0ClvTK 7Hoas3fxTO/ywbgaUp0glhJ7yXEK6wnsd1zp30QHe40u6Y7feYdibasWXrmcTOfh8VWsVEDTitAT 3hKAPjITPJgXf+eOfg+/E5fB+Lrznah43bhz029Z0vcmh8m1l6tRTYAbODfuKSRPIPSBVPbkLxOW HQy5iM20gqgUwP+nS6ME9Fhuk30g0LTKYaQm9Vlh8NQROZtf2AKs4uY1XStn0c+e/AuiPwddQiK7 ijKp+ARmaHp0FmDyZ6AA73aOmlYfETVfCQpujLEtRkW4m1iJix41iR8OitlyItpwL8ukcx0+K0ph CasvhUG1YzD7WIvrcsTJpBQsVDUjrUM9t/FG8qGFUg0DpCNI2crqy1S8IsuKy97nX4Dw8mdhonSS ABgNc8/mHSqtj4XAA5uXTnzQsBaoVDdBsj8g/T2n8ADMnAngCshJHcVNDur20p+hktDygrXnVHVm 10rUWZVATopa+AJeDEvqodZwlRRjDKO7nbl/qNQDc2Df0Hqfx5PMs1Qj1kRVK8xnixE4YNd0RDpC tye3+URvtrMxkLTFEgjwnONKmxl3tc7KYVK8dpZAdQvqGYagQBeGvyyrsXr353LS1eRyQ2JvBnHy N+Wc0yrtsGquOve+Qz3DnQeV0A5fzHUpB7DV+u9C6h++mLlBYrE92Ap6i2uwJjsQY7SrunTjU6A/ Q7gzzfXgqw+zYlC4XhEIk23ufJTpWPo1RDLTBfOKbIt+58+/oJBh0OtW4vdIhy+yFhRxYiF9R9zp 4Nq0hqcCvRweKznUMZrzDAmSb7OLypw9lrGYZcgzNMZh3CloCg3TxonJX2zQ7UlvzZliSrzD4//c tS/VQJCm2bTHd16Xn28LJZZSDTHklrdDcRaMyC8TN+FLkL7mbTuO7WHetkKCCwgwmBZ6OcpK8ub+ nngfNg6EdC02Hw4ShleIvALu8y/O8ACiPU9o9zgtOJ8She6W7a34lk93Pu4orbpLSatx3U57hbau A8NUguMWhazMBFf9YBSNJPbEqNIRRp34kklSHLui1cru/F4s/cIGJUamonbFIrkILwCeczWeCRA9 HTck7rnGN1KvIbfjoW0LHARfWnPOoGuI3Sr51qBg1EH6umrnhSiVDMFv64keJZsXQCwknNXZBr6s CpW5Obd55vbDOZwELgMabqdzWKbbRRWsG/eO/pJu2Msx5g+l2sZWJgj6XHaNdADhnq4PNAumvqmA EalgzwV4lzmXxFvZ1Jq8l5sPcmyrjBekCQVdEyY7hyiFHQGOK0dOxAlHtxEe3pRL6i3uHSUf3PdW eCOC7+cysnFHxIhgE592L/hwCcQFZqKI9ylJhM6jc2ERmYkjzpbOKcdyTf9jDUaE+F+i39gxyAJJ vTE2ZbPGtDvCX80Y1AVyIPA+MkJ8YUmVY9A/EkMl9DH5j+d7uFHlgLTNAk+MsLJrA78uGj7r8xFS vcF/MtSin+I4RzbeIqUw8z4TrnjfuLk2ywSh6vTNCLGSJx3yA2ndc2Eq/5Mcn1mBqOwNyzkWv7V/ TrGkAbmfJi/BUC/H6FjtUSgjrpzTU40z7dBUgnOtbfBSlOfLa/EFlXOODDIaAKHCbBjo+OKS9h7h 2bt0XYAgyPVwHfCpVrHMjjPyIvA+eoveQxGRfMrrbcTSVjcnMZMakLyjNUknHc4xHGpMWFQjMqFg ysdpm9sDmKiKWSyMaXXUrwgsAgjoiu6VbuatO5eJXbjszoV2EVVw5MgXhyK9pT5EcxnP2iI5XPZ6 yu9/JH1IviajCp3UuWaWCHMMawfrJVWl70GJxhaXHsQcaRSCDlFH8frFmFGZFKna4NRD1o7A1CQO W9CGd7Jpp1TY7DXJIdOSAtGM4tfPHmpuXN4QB/y9nzTz6YkSxK1ujEX1bqcXslGvFzeROLskawLS Wss+Z2CV/cDJbH0ZAMBXYkLi6admlaTx2XCpdyfiC6pxukvECzoXuluXS2bYp/HzB/f5MCj2Uw/U dSsfHKQ8JhGSIbykHIAlbWh4DESIeah+mYlblSNfVYkM6hgl8T2DzTTYHiQkqKw5FYTYUGDX/XYF 3ZdDuYMj6H2JDKa8KLidFIlZe1yWXcVi+xPqn4mKgWUHrcBsNqmPFXik0OXG27TfLLWQZMQ4oqra vEGL6WT7b0oa7oy62tTzx5Rt5qKOrbI8CGSglRFujdtjG3A9vJe536oPUs1/fxU+kHoEumUQEh5G GO3YDKaml1BC91/QgzD9BYngKokY+yYHBmALwztEq6sYFXxuicPfM5Cj1EYetlaNk1LsFTSYESMK Up6i3y3pVpYva7DIlGUWyee8V9QuMbTCAHxbaqCml9+VQHHzMaPWz4EGEocLkuQOilooidrANfRl Rp1lFHKz5sa6k3YThi9aWo0+SsRoQQCSM/17tzwCHGOqY74tXjgpEtc5eB+Q2QNYAqdPv8T2APo5 lljpqxcbQVZ/U5rgMlorDUB0RlzAKrqrzmOZMyy+NwPLHtN2NROgPVhznZLCDKzZO4DLwEYbHUsG H0Od8ETIPbqAP4oPW41iqSYDJVYjVDstifAcWqvFOZN/qxKfOXjaB0aDazbz+L8krtV7elAdW9My 75NzAZ7wV/Ka1afKp4NlypwJk0qlhEIUqNvXhhsAvHerth4JXj6M2wtagQoOxRNea3gcfIpiNh8M BD0oj+8OCXwV33fkRVOvYi2PJYaPNN5H3LF75HTDshXWhF3SUs30PVWPmrIucCqPAXTgp0B5+ahl zl0IiFqtrGk9xtte5U3Rs0TpjLwuUN/fBTYT8OoBTx0KGBVWLbH7/Sk727lqcdEJ4VEaO6BG2Hh2 /yMv+5e2WK2CQbH1fTQzjxw5GZdFhW1Iezq2Sb0qLWduzIEQQRyExqwJ1ztiiw/pLnAsMWGtiEmE mDDW82IpzD9jB0bjQ+qLi3qF48RJKrbVOSg8RjY/0mQvRFClsBFLCDI0Y5NQ7gQ0SxsO6NnED4gw luQcUkIWXcgQsSWQLvhWh473bZXgcNi5gG5yeperhZ0RhyGGOvELjsgXKHFyiVxpvDHSpyXFXIVm nMuc8QASJirWUNvAVeneRXRn3/XqbokCfE2Bg7nZtNe8IgSqADlaHcX6P0okqTtrDm5lT5fSc7e+ J/C2bJ7O8UPam5hLDiM3toQgkqdUsMmYxqqSWPIeJwXYuXZ3697omDfOV7d1hab6bL/GjBAMM+9F UD54qgFm1EgFg6rKwg6YIqk+btRsLzNsCB0jjTzxMBLTTIqQmaXzHr+tkyq+0t+4HW06BA65+CU+ datJNUnsEHXtk2QSwGYrJIhDY6vXmGoW0e3TrFuW0cM5tt7t3ozJd9SYvhEVY+1mZlj2dOgGoPqL szcpeqoAebNGWEg0/TBVZjfydglDOwzi1/NniMZoxMEcflYUct9nCT12pY5BSBlGwIa57dxgLIdo w6XJk2V93U4mMePzEyOvwxA+Z/fHh9GptRt2VIfE78Y+c/CGpJA5Xi8N/wzyVJaTGLAouynfNfv9 NtKpce5eE/Lho3qdQvrolkIW3rqcQwkN5Inf7otCpqZoyJ9YNkGP2CgeGtWs1mYjbXmtCj17YZT2 LAK2icRRr0y8QW6rEZtpjqTiSmgOqugm34Ufa061KN8b9xCbY/6ka9ung/Rfs2cVEUG27Mh9Nb3b 5wzWR0SUwD23V44H1Aj2ReNWcgr7GlgNgPBhTNs34iSjOFG+ivgQy5cPFlCOHEcgGvQR/8B64fxZ MvoJXHNEwtDVVtduiLa7a0jQfQ+Am+JtWp0HYr4oceUdB7wrlX5mnrjLo9YhPfy/SEg6XMQs4236 /zyxOKE761sy33yNPKIrm7731k3nKEOR8uswnlNYyeZPGOkmNkoQGQEEXCK1QN3i2/zEyU6xNIIa Kw6g1oMbD+5jsZ0CTgKBazvsJWq9hThMA1aRQSjKifcRH/ySZsVyTDCz/TuI7OHy//ZyRC/r4vEk zd30gHHfwulSZERdfUHf2Y1FVZS7RiFBlsSFgDWNg0ZnebtKbtE55nknFTrUA5JHf/Tf9jw12sCI UfFN2UFvlred7Iq1xAnsYfLQHtp1XqU1PpBqpx+GV7i2dw/xwAP8OblKcCbtptvBU5hXIgKYAg/A 1xi/ArsAamh0GFm/iDyTDF6Vt8yikVROdRXHAZy8QhuVjVa2n8pFxnbfYw74W1qd0V5FGTJK+b5S uzr31v0spzr3uNCVcCGduWS76JN9saHUS99oLyPBjLtgEG5Yxha3xvHA00xTRNnsDJ+HwIunziHy HXqUPivZNqXO6RZEXVErgniMe3iRPibzA0IfHlVIP97OrwvyM1amqdDTDjDcdklQcpiwuuLAfaGL SOrejgP2/GY0Rxry4JeGNpI4SfoJWdswHSv+pHIb1W8+jsj7eXKd97PaC8OS4GW6r3Ls+uRV1bYk N7Ac+pw6H/qflbdMolmT46Vy3cbFLBci646Aokng83vwI7BV9AD2p4HR66L7pB0FWJUemEGWAVh2 VOf2GKx9fNxT5rkpFG/Md2il0YS0k687eigfuxpaJTQvKgGsmvWGwl8hWJlHeiJ5MNQN/8ijqoC0 F+BXWUqAm2F1h3bR5JU6VPNfrghNocJZkPusSmn1za8JxQNps14NOFQDH6e1tinj9WrxQUxofsF8 mVkyMJQUT7Pizr2NGbWxcNFweCAijsn6+lB22qlw0qrjjRzj3hsVMqWPdPS6rTtJaL163S32orfR MCYM2lDFsBjvcBnNl/1vt8+7OR0GOSx8njH6ALd7zIwk+qNZZYvPuJePnv2mHNYMbvLU2jXXLT7n +gecdaB5g1zfkkFlhUSuiTVMQsvxQp3UFG78k/hCacQfsw4d4V4CEZrGJAHuQzFyeesPKQHaAq/e TY+CK9MvzUwz+iE7t1xzz6BKM4uax4bu9YWGhWcNvP36rtDjIHOdxWu3B08LTxN3bruxceHNU7c6 fd2Be8u1YJaK4EPPwhl87nW2LB7VBTS33ey+A7GU+xv7C7kkhe4oqxH6R1NKvJkPC/AUsQ6NgA7W 80rBWuTn3OHHagkUuZLBNU4DXsw5fTyuxC93I44Z1LlABrEPF+Mvia09mwwJ2RMyeS6/8UedYfj3 zieRYidS2mS66KuxxN+A1hd4EiKSq7SZMZj3d5vMiLJ4bVrfYWYj2yGlhZBzezn+YZNBsHkJT3Dv s++Pb2t6G3xd3JsAcpLAXi1boKZ4t8P9dpvN48kp6+49Z1wFVbU0vOnoECWdtbn6TbJKKJRsr2hK eNyPzo72MIbdU/dkYXCpbAvJ4fQaqeJNzDDUjzXav6Czc26vZzXEiK2bp/chPS2YY28LOgZnflHa fa52tJXcga9lvAjr/nsOVkDTNFq4DILQkow9px/lRIKNfVYgSh1b/EGZ6CEUueLx6YLXkSyoyHp8 siSqB6PuMYBlySeTjkRuEjfM+Wg3OcMPQ/AnWZ9ZPdTv56k+/lVJrckLWI2M2IVhRqnoc9u7c9WC 1ZE7PAbNDmj9qui0RKEc1ZJvMiCMNZtPzhzXLJDLArvB/+AFD71qp6A9jFtrIepLl4UC4MEnABPu diO0Ls6SEFh+KKlzaYcxXmrYZY6s8b7HnJrOSyS4FbZTWJ2jWMYv72/xoAWIHbWUtH7BxzdOOORe BeeqihCMfptJ4wZUbLMUHlVjPkzZKIEMo9knrkaUAVCgNcf82JzBHdTr8gji7f9Gtxq/tYULTycI 8B8bloo2hYpiihTtiv+AJPDVAJa9n8nAdYc9t8w40CSJMm/rfcbp+tC9bJc9kMI/+MWhe8fIXbBc 4O28ePOrizVAnbDLNXsQhq5vDluarVRzmmqizPQgqsHz73rW3jkT7K1Q5kJeJ8Wo4QmrtmTwxv+j pUZ50n3Q8h4uaStniMv3bRIeBSG4PWy+oz86nHdPydEuT65ZHMrl/x7wS79QNIdYUXhMCrt9+gev xYVC8TViGs9aggVZPQmajSGY1AtXewRioUSUsRYeNB2ZO8oH4dKrEYQ/TDpB0hMkEVsXWTuT3Rms x01PZ2o/aP81MhjSGmUtfb161w4i6ocNBkpZD+4NQPhuejfziBEM4VfO3Vhmm4FH085W4/kgTzyu mOrvFWn+kc1IZTas/0gmylZWO9JM5n6S/6jNnqNJ/DwV3sAaSxzkKKBq0xHszxgyzQP1Jz5zCoc+ X15ynMcA/4WciMTamilqlwN14kE/A2Wil7IQl3spD3SV2uHYpCVOSlemulq2W49Sq5kZEOWqT0o0 YyPuOz7afFJLtqxwpR6WulUehB9PxxCTik1slmg7AS6Duuxujs9uuTBz5PkdeKl1MF4/xmw2ambS RqPby9sL+//NM7OYXnczFvR7hHBbzF2+5QKMB/9YaU0x2vNvUfsudWtpT5JQYcv6VPipDk32kIj8 NmYhy7koHapTnKLK+bMZcUb0yhz3pxhXUJHl0itIcbqt1znx6nBzn5M7BktAU5d0JCxXzifZZDsO XjE7eOxpIqUIad+kUvlr5czT8UXJZRBYJmWgb1uX9ORfIJuMFUtzAsMzvotULVx69GsQP08zYwN+ fH9jkDygjeyg9FwDYDz2hJ2jeBSmdOlX50Tuj4YvqW0lb2fXQCD7p9PNdwXPADhRK+foN7D2CzDW Gxk7zfFZnwgNC6Uup2T3q1DDpz1wI/vndnm55cB/fYuh+LygxYCh37IJ00t92IMxH3MizE/YkQhv vLf4PByWabd/edu878sOSCHh1n0ZV8Q54YmWLF+rij2CKi/kqjtsoyO0ukhjAo/wnmg+s0Pf5MA0 On/y/VzsCMPlYyshLodX8OLD3patkp3w1ZP0SSikVT5eaRXcxsl7thIbWZdAyJcbiRUd3hOxMvg1 iO3NT6Ya/CpcRyypEFagtXt0bVSmnureiTYkm54Igit0wUkI0r5bdDCh+mBFYuhYslvJQv9jbtbo wjQNOMy3WeyNnNnlbDd3KezXklr2YM4wJxx5p9iLzEsZ69bgWU7EpNFMkE8WvJv3bf1+Mx0HXUnE 5HZLQNdKg616DVcfjFDc6LMIb6g5j/LXZb1yk67UbDxD8APwaLc9XVrNVRNg4MnC2AzxLgT+XfbY UdnE1lUT8feC9hPWlGyGh4e+IGPOLf1XOjXqFy8EXk7nMLvvSoCVHgK7GyxItKb7tomg5GxDAhvW q4sK43gUdOB+WmqsmgLJQijks6Q/uAZKKoA4MgmpJABOG2rzV9s1kkIGu6sqolyX0ItbndcvVwp1 giYlTNqVx3BoWXeTX6TuwvICSI/+/U2bKrHIKqmnuHef7mNYprrWRAg9osQll4QyiFw8DM5JK1/T Xzts98oWeGfxHiZu6j1BKZ2N+yS/VkFE03lXTaDyOXCXKeS5G+g+LDvFsx4eVPfJc450ZP8xm2WN GWGTjUNEAvAznaEqecKnNSez22UUjoKTEeewHdikLIN/oKIpfoGho4mF+dfOvfoboNEGwxpKloqa q7Zcmhy7aZfDEmXKPdTJ8PE77vWZH41fx0bk5Cvl2Uq9MYB2engH/5CNTdxHTVo6aU63f7zqNK9q huvip21Ba6scxOxqIYJu5qRJvmFuYb5U+nPBwCK+5brQ/S5lI1tp7W8HbiFDLgbS2/wLvXhuNcC+ RBxZf7jFWwyu19VPBHCHoaE5biSDnbNhHD+nOzVAWYz4k3remQdlCAcV1UR3+TMo9j/LClblxae6 Mj4oyNV3IIeWR4Z8b8W7vVekc+4kuEdZhA2qpAH9lYnyZhg1sp4ZzKjfhEaI/+3MHm9XlZG1Uqng RHdiLjvcp1ptJrdXvDIw70+YO7uPrQ5sBV8/nO3/fXYxzOr2p6kDhTaCHlw5NfZP8hp2bO13yVYG 4obYPdqYPEMvAfUTzGP4RsI4COkR4OTdGfZKluQG/8rJ9piwlznUSwu8Z4D8SmuufSSPq32Z0tMH pKX2Cx4DIJZ3dm4Cce1zv+sg20bknDbwJ32lYDT64yJvvEfQVhTPQ77fl2BKCUZ4eI+jRfLZ2gCJ LPojqa19SBc/qWEhhRhJP9o4BrR3di5ea04LdlKk+icc21kxyKFRELIzbQBOEmsDm0o3qfJxS4+t PucnLm=== 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 clientareafunctions.php 0000644 00000230377 14735711214 0011336 0 ustar 00 <?php //ICB0 72:0 81:aa10 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> HR+cProa1QtRzVs2qfcGZic5OP5hITp1sS2W7+LJHubfLuy7ggG9E+I2YpDKJB2dFTzB4yR4xac3 s95m4/IedVnu/z71NyXnmptqqy6KgjHFkz8E0q3iFGv5Q3flYDf773lW+awv14tAwC/QX4Vpb//O BZAPmvl4FV3j19Tw9el81cUFzZCSj5uZOdm/9ntrSvVR0O3EKtTIWAS8eXOKMatr5ACmBjT7NbGn yNhqnnAIwg9KbkbncZ1lKiOTEevbflImPI2BVuabLBXKeb4aQl4A44bHB4GY7foogNKx+fOlZ/Ta EXAH4urdSjvKyOPL7o87ThGse+SUHhoB2bhGt4ef+maURH50SEItmveGYZzbW8wF5AwN3FOSDitA eLy304wT2Cmuy2AnDjnGdH0vNnRBK/RekwnBnvr9q9pN6Cx0rqYtfrLhDbjnp+tKpg2aCmIZ4wyk WlEmdJ64s9ktJ7F8YtTHT/fXatIYESl+zWGNxp8iLtV1TxELThxgQC0kRuBQ5ilBOSY687A19vvh R/nYPEsPiqt9osZom7d5JT35O05IH5owrSsYr2/UCkR7sIjE3ISBguQbGq86w2hBopE941fApg4T 563TnNxEL3hsHRN3uyCNinnGUEtI8arM5clIMcKYXwFyNRazSLPuPv0+iJ4ndkoTGpaB8XDdQxpp K+hSMstar6CSC9k9OGT6L0zq5n3miYaJAwiezKLOawREZmivSaYi6jZoN7B1UrOX0ncrZMTebd8t 244nOud/zTb2gruZXkFwOdiA8L7xuRAYZ+ARndn/jHYU1FXqFTrlGtgsKn1UFtmDX+yJ6wyzTA3f 7w7zzkm9rCW7dweeV2Gf3tZKezwSffFcIGa2DR0AO3AmYhI97KHjLKyJxs4HnfdUvnv0zS9e02pM 8pf6fuOzoOslLYIZwokfRwsobCIc+fnCodSA7I1u3vC8MQKbJ1RwxRHLv/nm47qdmAD4k6yogNtn 3SS7GvvoJ1HYSDiEmeuYFa31Bed6pFPlirk1XnuwncmaUoDDn/JSCVNeSeeeHdIVMRQqFjGX31TE BzRPt7eJjjeYzVGDJu21IvOXHeTaXx0JL7WHbKbUWwZVsv/tY0ObHLYOi/HW3mwW2FdP68B1av63 Q16nsvBd+Ib3RA935KhIUf7TMW7kxZr4SE0RAKPJObJUgOAxXGJ+Wltibc9q41T1Lvzw3BRxGQVb 9LrFqCABjcSr5Vv7udVkXI9hUfOlTM7Hq6e1t00NP4PV1V59+NHQ5JPZkp5D7zES9WlZBunzbIRZ Vo8u9MSuZAUYhmfK3+963MDtERuOvlScXXv01XVu+U6YTL+WsM7rZuem42WFQHBZ3Zf4HMRfGnPN IVJrKC12PNWbUbgn8TQvaBJwJoDmNBRz9aoMyupGFx2N7omAl6Tc3o7i5fAj/AWxKZGqq5DiMs6m 0KQMt6LQA4gVkMPsT5brExX6jb168ox+dwiu6Nefin48//gDnEWp55k9DD6Q5tYa4ihLpbeQPfDh +Ox7xc0FOyAtPdIS5WSKFjaFf+tkD/VoHW1py81ImAXuaMR4otfEdUFMRpfmh/AC+Wvsqau9uE/x 3Zwuw5cuoVz56cAsjVhYd7nmtPGt8j2JLplLtt8wokmouD0bl+Ys68xRFtpjMMklu9/t52/gg+E5 iYqH4wc5X66NJrllmQyVepZ7jUTdsSgl3lPbVUML8xYFbNOBFNLY0GDk//rwy8rfmxAXNQqQLTPh 3xZF+rcioHyIGL2iZLE95I4IfvVACr/8O4GEW2LpEe0PqsYXZyeK9fXalDtiCCHjQ1be9VyQcKAu Xe7SmCU5gGtffqoCru1n0mBtpe3viml+xV5sgXJXeV4hhnA5KNCV0q/6PtNATnr4gs8cu9TyxEeN 4NpdlTuFLBKjLKHgv5DYndUq9NUcZFmxu3yhO5JPqeITglESGelxXR8oHbJyfVn8K7prBjDqmbFr A2VRSV9drBb64BsfWflAnRFp7vrF4RCGSPM3aIHzoHBXQlo8YDKbJ6flkf94Dw8vXIw+1DN0czvm ztS6nK/oydTorKkIUra3ZoslcQWn+sIQBc70UegtOBgzJsvyAJ1l138trXuj21vAHF0pcQqCnP1R hqMzvJKkFuJTKPGMsO+NsMPutS8A6gUXsye3BRP02i6PoNel9nduJD6Z9eus8w+ZsRWdc6/FAXeg jFejLeL+Rs1F7IvhTUMv1+FiGa5mpHROMWsPD2A6xdBkTTfvryIevZHx1tGMhul19wbJE7+89ihA botAPcrX9m04Johut2iZ4c60AXlpvTHB8xlTg2+u0js1hTfwWvI4akM2IFiqO/kVDhDAgaxwUMnE syRZvFpQRgZeQScvXAb1YytpMz0iw65LMvvmJrehTjFaU8PBrvzGwpwYP2So28zjKUkB9KHzdAx4 cKv+mpFZyw4H6IQrSUBUa0cKLX+O//DKYeOP1tANmVbj1fqXosjPFw3TQ9HjAeIhDiD/w+TTkvTN X5xk99/Y2ttkZRlItukga3uravIDzqAlHz+95yfO8w4b4A0ijtQlANB2qHj9hY1m3+nikTj/6bp5 7AohXO6gr/HdXLGzlMb/YMIpNOXc8IQvJuR/aDEBld8e44yXc7j4fX1Mo5jUCU5IKvSIgmZObUxa i4oSze6R4aX4RMk6A07J4T6rgjhhhvv4w+nwBck7TUBSBtv58C/UvTLC5HEXBaMWNKpe71WDfpWm xGMdkRr2HjEgK3jHqTtKGPEa9hUsL10E//xXn52IvYTh9gdSVN+vW3d2Nlj9bITZ9qxBw1rG4Etm PPyBg/eXpQtK+uqQ4EVi2jJs582fW2S9bZ7+2J4e2lkcxoZ+37Fr5ubTMize8un4D/LSr6RT/2kP Dq2q9/utlUsRgyXjizDoA2XP8t14UMuQQ+mC/v/UUzZseXgBeEafSe3Jy+K4aVtF9DisfAYlUlI/ dnDZmBC3omK/EXkb6diOQZOxHjrIitQUQaj456XZ74J76bNafJju1iv0D6OXI5sPVqVpDZr/17oo NuGmEXCK+m+sVd1eBrBcCiiJivU6k+YCLvCfc9L4j1t8Wnm3TixnkyiEX/uiothqBy/eeZJ9cT08 1fA6kazEfw2eOOH7RwZ2xcM5sShRf043np5ECd4VEtmDSbu6w1zB5FQ0+VwlxS3zaMUJADF6wNhP LyY21LxQeIwXS9o3zxrDRk/76f6C2qYDLSfRQWOdPzZYia8MyiI1J6x0ovEFft+FCze8bz4C9DOS PhjFng58/6w6Fnl6LwVQ66tsyf2YqqY0wxncKoHPhAEkB0OxSKM8ekoYfcXKqoKxdaEust+zNqzP ZmO59eGoerxI9TEk3ipJfaBTwHO32zW2Vayub2ihDIlV1EH1pC4hLkV9xg0bKICj83MIk99XBQlF rNH7pVIfqIaeP1h6QAZ5lrfi/P1af/dmCtH6P+WI6PtDHwQZKFvGoOs4PLKODbe7J6BXZhj7wLUc 9IBpTl0YysB8slaWpZ7uPNqNQwubKyS6IKTJCRHGAHQZYprQdPW/r/6vH0QUBd/Jea/X3vlgD5OQ KNUeuz80KTQT+5deTlLb82ZZPEaXWodaZpsXvx5LC13NCWA6LX8S4HAWHlDOFLTK8sXZwOBG9GoX vWxhDoD4/iahcKBymnbbL8o6+b+7YHwDamMe8ymElYlLg2HSmHCxexY3bqPZJCO7cq2Yhm5Yhawi 1n/abUwaoJgGSYnYS8F3qrmFXvJOSYj1EFMcDgPfUXeIXtnG5d4ZcSMQ65KieWR2QrmFi3Mo1oeg LbCH32Pj3PFwAHAdA6kAmP5yMLPpvC4pzfagwd7UUViDsltDFjAXmCgWeRAkSA+BeiZz87dW5fWB JnxG+jPKaDIsAHhJU21HlE3BzUGuykQBVspziuHaoY5zGh7Tmvpz5GQW/FUvbmWzoPag8viAFYum rS4vnBEJS2+uMFbKBVPMLhlpWtFRr5bQOIVnrbEEYsQGJkeUvELcbzy2Yu1htwZ0MpX6Zj+8JnRC Xzp2OAB3HKsNdVhXrBFlp8dzsiTWQpdzyz3Jxm+d0KIetHX9Sih10miDDF7iTRcq1ezf4n9pvsxu 5CXJuPft8jvdbUXP+db03y0E29dS4rtYnFrCL/I7r2pi9Ked9XN/r0aG66L2bPoJv5RK1uc4RThO iMYLrcMBcmckpzvKw/QcTXcR7K+Z2SBhBzWK9USm7VJlRQ8CBUz3R4vjagS9jrPQ0IQxH5OElrfE Hq1cr63bKt+IAQbVL3t40+8X5EqsnHU0YcCmSTEz82TsNNTsrArwKmfnT40ihMOA1RM8Z85zOpZv 1yj8qhe555V0Pl1MA3c7D96RLmBd/98ewwBKEmNnWlSn1EW/GHrpgiNV2jc6ZPx0Q2uxi0p3KXUv 5WQlbc7qCLMKU2iJbvgZPdqkaYHi83D2Py1f+o2NmGcKhcFk0N0HkuXYUtb/tFb9DZa9bAkTea/I J8OBAwzHRh0NBFaidxq/vDbBe7KebcbUoPnFCVWnqyuxpPNxEBzsj8+M72vXnKSwzGkpovAzIusZ fBYAttAwXCQrwziD7v6Ne5Qk7+Rva6Ge2kP16f/uZ5rC9ErFmbadcM/UTWN+/ilpjrMLaGfRVZHF W9Fi0sMH4UAt3qjxYY0X6j3ZgNGZIjeLlF5p+dDftrdawSinr6o3/oSGiP+zHwR3IkV+uw2T+WV7 XRtxq/FY1lCZFddwC5viuhpnyQ8PJW0OVHfGMM4S0QJpROWg/CyMA5FfbQitT/Fqkp+67+9DGwWq iD18nkOXrBXvqXyC8tTPuK6KcCds5pvulurewsDxlgQCaIW5rP/wKuqa/wmhoya4lBVLYSh1UUPX nSUTnX6A0adt+gvRo6mVkc5HCQzqXhACckcpAiMqT1ujPFKPdQ/WZ7F0EY3CDfGmf6NoHDU3g2+a i6HZGjPj5T1ftqNnsvQHn0FH0T/xjMXF1wbKK6rcOKZQSHchooBkPcRCWGMUAUqJbW9VrU/WLP1Z nHxJf0XL9wJ5AuHvlc8Nx4uVMoMxjUGI79Jw+Hz5SRCnY6z6jil/p10TgbwUiPpnHnZCH5R8cvZB PW0e3e7tfylkg8q5o45vijeGXzZMyI8GemLw7MOTChG+jhDmTVGwTr1fcx3ZngDSIHvnbhx581J7 IMP54LHWICCVPxw9vL7/Uhw1Zp3CKWlTZgytyM476TpdhIaD4N8gfaoFIB+8QuMO/WnPyKcwfTWu QpGoB6EdQwDZt29DWxy57qK6iSl8ECi10z9FxelPCrZvlSWgWEvCT+Kh2vbH6/0J6XJ6sVJPg3A+ pAw2NPCGWpOS6jYitFXJbt+wVIACKZ0j30NrO8x+Ul2WiKGX3gnKgiMMBIOu1+MaQt4hLySF76pr P9mmCGU8gkqiq5k3LuqFZRoZuMtu9+tGduMz3eyita9NziIm3qXMQxAB8sbI16tHmCvOXcUubFch TrL4ArfsJZeiRAUgUGKx+EpJQ1yrC/ijT61jIq/ThkpJZ36AORP/KBXt2TSPPbHsKXryyQnDeEmA fboFS/wLYmb6270PLwjfMoNNCCPg74l4lL/udlzZ4c3yj1U2Ov1UDZZxyFubaCbn9ZVo4FXHrHpT kV/Djt0UKBXtNL0RKr5K4KPo9xEmyLk/cD45MUWrakTBr55tyHLdDMFL6kOQgi/2U9kCiGv36uJY GrJbCdd33bXVkyIvW8u8aoYkfkbTFRLDNbLi4N+jcyCZ6yyH8HNdo3ZmV3IoDhhzSvqOFTjjZz// DESKUXtSkUmWj5mLyuPBLkbSr5N0K4QWypyZej9m4OakLI0/2Msl4mLsKt2qijaJ4b1+a4Pa/3K9 Mvg7jK9duqzNCPN4TGPndqmkJ/uU9HP2DN/kbqZ3fLhqdgJJ/JbKCROzk39PusDt4lu8YBJfWkMp ftsUh0qSyNqbmoB33VSIW1wwo2FdYhREwPXFgYWCrL7wxOqGTRoJlcmjRiUbl0c3e6y4515dpe4H PYpGh0NFHDr9t/lCFyS5GmVdoVQImeNrhk19rStMCRfcsIekSotKye42madPAjZrrury7I1ndvm1 Bx8re2FsNCyNXOFvdwwd8oJDTX7IptMqV4VfhmyRmFlCY/VBVopqd1ilt9QF9mhOn1woPGskbf2T PT8TTHmtRXmf/cSaf2YZPz/E+ewarq6N+/FpMKi7NHncNyfPdTbFLofoPDqJmt93lcylwPkox7t/ gdOzoVGwbiLBlc0QbuqEpGk1/M9ZZIFXbbONYSw6gsx34GXb5EKq4SbBUFTbtiw7ieFH4Jxk/4LE nMlI40KQiaHMVblqgOPGnzZhYZ3vQPd4TROgALlRnm2NnYyPJioZGK/60DAZTYMqFwnU1gmQdAjP /uaaSa9IUFdVgoFY/Dz52CJTjSipL9I4BbpYzcgOSry9cuq/4r1XmGUr8NeoV3BVr98FWSahs8xp Xr0STBU9E9JTPSLHNiQTlRNcfcsXswtLvzApCTzjlixv5WNiXXBunmugJnKjPzcE0UeFyPLg+CAE uwtH1RWAMeVW9MUG4FlssVqxBajOVJhpmRiNSLt7rA17eXNtBpkjiE+xjQ+Lra30CmrNWZyYhdyR o8LnFKH5If8m8aGnKHT/eP9ioEFn89Bsc61rkmIO6mr1oeEVXEH7qtqiSXWnCzjN0UQKJ1I/iwpF qPivPFQo54YHlKzOz5kvrupgzo3h7qEVLPjg/y8/6eF3OJP2+OvLMOL7V9bceWXrLxxQ5Wu0pjDu 5ZQf+gt28qIpSxnVOXzrDqPWCu/kE6TwVLS8esCm/m1GwGK7tXREkdTmu8z1TqWCpqAF86xYPRV4 mlD3jT9JpRnC8OTb5o6BuuzGQ37PjoxhrRVaCxgpAEID9bvB/iEgsmtWUIWwjIExn/K6T1ezKk/6 u70NveLF/+Pn6vC8lBdnybfybCWbMI2m4uMo3iADzaRCIlkLuT/RRBM9oh8b+mQ/m60ZYkaSuHcU jcn68oLjx/NcjK7L70kTWXwBYShWL4/ydfx/YmoO5U7etDwz3QvxvUceIspf+MQA3a8W5y39oYq3 RbAWxFVtBpfQnAJtQQgsDBYDamrmyy2DhulKVbw6g3DHjaPwUoGMYF6azyYawV46YuJQULrxxDSQ KAFggZ2HCe44aN1DbW6KwAyJfWQCBHfnDjxhSifkaA6N6uWAcrlXFcYan6Eb3VeFjTalJj+pHhUe OHeWk4GwWLb+mdwcZQIhz/HQ24tvVj5Nw8EauercI0EG+WTCwYPHiiEx24vvs9iXgEVWAIsry8Ia mcBRPQ3YQjg8UmRbCANmD3wsA7PCVYZfa24W3089Z6lkmFdhu8Qk4exTNDP+izSM4USO4gkrNOVo VsitYAeg0gGE2oqJtRrxyjMalk8HQWUBydFBzjKFR7GAc/LCnq/Nw8IgfLlEPtW9wSo3L7QqmA7K VP/eFV7GSqDYIfbtzhsC3GAYhyuhZsWtSlXFYqiH/8tQ0sEku/q4b0E4GoDqRea6tHill9/bDm4Z bwGiH9BPRIdW18i7fPO0ZfVXRz/1jrEJZ5eSUcaZX2PXvBJDX8HJn9DF/fQt1eOfzINQ1kU4s5g9 chgZo2/do+tEwoLpnso83ly6bboRRFVoVWVsQT24NhRXt+jsUO2i/zVvbdp1032/1d5tJNIna/Lg R/wEygLVqFju9EvoIVPW18cIc9Pgz59zekOczds5jBvRkB8+IDneplRiiIK4cHnnfuX08QpjNI9T EiCpa4CItrKwmZAmo/vGzxnWyLSoBCAoi6NqH3VKIJtwOTOad/kYuc3a9da9/QvDFbHnzyFjv7k4 xeFn4P4vKQwQh2B05jRNDRwWixtKUhiZlNqB4GCmre4mQXYxn7qFzN+CqOfQq26ZEc2cpnsq1tD+ qS8i+7PbYdWs6gEVv8WXqZRAfrHuo3ll7frX5pRSufpO1LFBJ0HZoTPh0VOx/zp4jWmsIJ/P7Md7 OsqDdFAv++NMaHxFULwLhTToezuTsFiHSZkS/vEO2XJF4DYgYUrjxMHPm27WSIFLyZwzxOAh6rXP u0yHbaEj3KWwHX5Le1AX6NeFGULCJSDl3WJW7aVNcE7UPzQQ18MsSLBN4NP9RKfzWIfSE/AJJwTL lScH4xgPiJcJzxI7XIW429Zoyl34aFmzh4Ho9lO3ZL9+yft3dxeDO7/e0Y6D6vSUsmU8cogR/4+U ftOQ0rLjMG+XeN20Bjp75RkaL7ik90xKbSBX1zBqeP00p5aH4BZwkC6Dg81RMctSwTaWIuYPdbjN x9hvTDX92gJT+pZWFcvUDWCbhrtUlzbApQZoCM4a3QbPkMlHfJWKh6Zi4JId2nXu3FPKJXWmf8Dc LTaQgUj7i+yGtwsHtdbsubXCQhWZBTXni3u8+656azrBSQdLrBlkJ8UD1mDg3QGLhs0lsokbRJC3 Gb9YLyV7BXxQsaXAY+2OcRoCC20/uK2jXJjRgwLKqd4q9IE1Vh8ZBfWHkbKi67QkxdFPLeqbrtOe GAK88o09lEubifXNNiuzKC1E4LF7xbx0isu7za7VdK3GBLQrCUxo3a7Qi68rV24NMi6W8oCmfkVV 8Ebpuk6JfGgkaZE9mqOpezaGSgArcLJNVj32JZ807coZaQIseE4SDGHwHDYhP4MZR/+oIYw7PLCt fCjFR4PhhNS9Y6b3VZMW0q8OKIeeR6/A75Gpr2pxTImepopcaRQ8tdEcQaginfeJI1p6yCC7Sa45 qqwWCQyRcmqVv7jXuR9Yy7ZOiPzpG1ap0aZ7hRuOnI4dlBUpix/vd+SaXmpBIF2F00AiC+ueBCLh KveqNKRXhue6UsfvItDeovfFM2b+9pWKpl3KEkj4PV8qE2Zjq0sLtbPgdiIKBYJSvUWG+J4ph3yp c/LD89+syERdaLyOgBEA3sRd6XtmKuJ2xolcolK6MJAkjOc3an2+PziMYohCNGSdBOWgiysI58TD cg0l/Jik186UCnfE+V24RaVEluDc/pxGhqyuMRRYFne+EY91lmx5Mj/lTPTBSFM6rvnFDH1k2frs klxKtgyWnMyrZygHCkGtKXE4NgIJGVBzdX4862Sp5B0iWLyJN2wXr1xJKHRRe/gr/dgnQdXLm9ck aA4gEi+muZGzepUBH/aQM5j7bg61zkZr4nYZGDoHHIoXjh1eTWpT20PUBL/PUd2vZWjD6HzvWGd/ I7RP2R9NGLc0VIO9BvL1OeLzgx+ASjRI47MwD1YYRxOr0i3vjudswziUOZltk2+6qt8UZk4e3lPm pAlNJggWwudQYWQIoKJFfKoQUQNIGh+h6dHLg2v+lIBowSfnQjvpu6rRDVm02NdBT5VyP5A+IxQY 3a/B2bx+D3vv8TCZCnOeE1Y0W3h0c7Pq4aR5H+F1nGejv4urG+0XWDqrrRtGSPy4EYdAQ+PGTYAZ 0O9V/wku5FR8sJv5LJDnC7f2D8nWuvaazlht6Mft19+K37TIf1iWLg/WvJHiOStv9DfGMWPubXKl fzJkiti+QssJ9M5hov6wfR/oBKZO0htf3R5nJDb5I/4lrdK5JG1hqKs/cdWm9ykBk7JcYvjW2Guj fZsNUfTgMdTqfaUgceIUHheRIase1Kj1Sm+Y3sS6yX/sOietnmuccsSKQ+YDaorF/AAvl3KZUGOO 7PmDLW9uw4WHZLYDBO6cvFaIbpK90fWm7Ac2zzC7Pe0jCY4sw/fj39U0Vr+OlvBtNyYzDpF1fugD SSzEf7K3jJNXlh1fzunMoTfM1Ks+VA1h7LmxRVop71QGLi7uK4A91riUsu0LoyLVDabr8iM3HlP6 +c1590zJQGx58fBO2XxYQl7O0Je5iO8/x5keWG5MjFLsuvSltJZaefTyHDT5xs+lRVaa7R6f3YIf V5W/5SL7mK9lPgm1xH28ZmbSAnR/37ehd0m8KoMHD8VlIbj38hgWToC2zWqjTgPnQc+PvqE6RulM U5wze7q04POZXrbq7yWlmP9/L7CMnIv7tlVjriwK+74KnVXdKLJLDsGQpDGh4+LqOm+uH8peY9r8 0SPRimssvnce3U1OuUt0J0Pnw1ePaX+UCbtffvSMDneYPESpdA4LWSJ5UYiWiWKxV6y//IyIDsFt /O3DA+6QekSitLGFlYVgIMOs54EAU4nR/CglO2KkbhmUhUvBj2LiqyIMvtpHgkFLtlyCgAVh2qoO wVctIilFLdWRKHcYTEluLxTqegm2uclsonNJNNIJ1RpywLOF5brNAMfG6PlsjfhuqpdWpMMnSz8+ Og+/bB2O3VXInBVQcxnFE1GPoUKbnq/9Hxs3+U3ONhtsKdmj8q1LXEw+trXAd1rXqbCjVvCH4QGl X4ywWCbM1KKMqx+CLUBUZ/z24bkqWitYGx9v+C5dhHXWLG66E4B/GI7D20NeeCY5gfpeZuMTjjvh biy0duBzfZrcrJC173RIMTYDhhUJcKXBZiRBIknxoE+/wn6uXTLPmnoSVeKdzmAW7Mfj2id8L2YP r98gXHDLLDVBb7KUX/lzq9LY4LHvJgRJbNOCfb0JHTrVph76Vg/GOR1dMWZVqlMbMdQQ9oxmzu1m l8VLyhIFHoWi4kiGiwfHH9EXPfCdZSTjAYWWi91njrzU/xtwTKux7uFXtDHrrwKtvTIAxH+tgSaP Hl/CNs/rAo6qtrm9SHbSVel/SXDFknsMcgMibyvdzqZJVETO1zM0q4iPtIrpO5vBIJyd0BEsHAEN V3DRByo8BlRF3lynsYjQ+YAZ5E5ZX2iPFb26v/WJ4+cbyqi+ctUByjBHNPl9p5z7Rl/fWPqwClkP nrT7BnNsdka3vV+ZXVRwcdXeW47k2mp7jpe1evQGUKIcnmO7l/uXT7NLkeHRE48YoVcUGJ0RQAHU VF8bK7eeQIrHbqtNHDwSiYBO9OmiROUHQ/ZwyiCKVIcPYabxj6ai+gvihuES78LKBtl751WYeieq 0jLmzcq+0Uq5zq4YvlG1GaKThVj8rxKrOEQx8hMYcGlXl60WhB1fLrbDAZa+0YKWUkhBw11qlhIH GtQdXpx3sM08OfFHedljlBm1huxGmMMKmoNltMXcmLVEMGkJdgTjG3BCir5EHgt9v+Dmq0vZzOEb MQ0Tf4tpCqcLAbZuh0xtgLY8Ew9E+MwBibZqFzjTdlT0Si5pBYOAia41m1xXcNkD5RkzjehTOhu+ gHdqviGb6O+VNVbS+8e4eoGlvBvY8rT/RCeRRxaTmSTB7VEcyF7/QKAO0r9Aw8i2JECuU9kXbM9L OWZtwzJuvd/MAEzKdbw1kP6tMUw2m4JUbO2XPlFW3G15ZmeS6WEQzIYk/iJGvhiZqIP99BaSeGfq rnUZHlLAWPfFZM/xy0FjjnNQrcKmcwi/kq1bVHo/jnzsOC1QeyMHrQneaDn9LcYJKPujidIMBK14 ZiO7/D5uZxOfN2+mPa2ATB5WCo85NQOCLK/GkwLGqPYKqCeoP2Plg3YtYvT64to2I7TxiFG5asLg kmOdu/GxTAiMNCpRScwEPSUc8D1rZ3rOVHRiM/kTBc5sxkfpaNQtq/jCpiFZvwx0ufozBnpNNk+C U+OnLrRi0iZD9xHNZxagrVutiKGWXAbFUI5rjKNBAvQB2paGm84L7NTqS37jdCtT51volQ3U8/rr A/jSwO813tURdu0kvshz/oS/5ylibjPFPYK0hSGfprfOuX4Dj72YbUGW2bV1D5HJOccbZns3zTrV B/auVeDFX5f7TpGW2fbMf7YAfLyWwGv25h7mDH6tT5rA/Fw5yZyxB/5CSYPSRlKCULA3PEHnBE9X MxLtJCDubP/WoxhujYnaglhTwGupZJwSo9KCZDul+CxvjKEd+N7dAVFhaViLqi46khqT1e/LFwuN 0M6k6/pMRewKqedtEc0i8GTIhIBooqsAkv/1AEnRAKhKoboPJcvXXWI+r91ZKGeRYZ2cvgWwgb/J Rn73sg8ojwI6wyN9r7f+aO+MGZwBuiFUgoMPgvNDmQwv64/2eXv+Ly5kPwVXvDlUnh0j/aIWQ//P b1rjv17XzB1bMnZDpj0SWtxmGLCoCl6FKrfKMmydNaRAVDTK+udZz8jnDwHVFhsWpNV2m5iRbUgq +H4QKp30QKBKKB2/oTJ8gFr+s7S4Fm0Dtr+uq66zUynPOMlaTlHTQEoBDsGbn5AA4A8KG6t4ugQX MytX+UJYIhUGAucOsTrV2nUVlNut+NTKBXYV1TX7xsmoloRhtbIJ1w0zj+E1E7XZrVsGNukGNEO+ sjyBNeBvsKJttkMmDgkoJfG4bhOacdbBYBaf7w1JrtqQiXSocMmUA5wpelwczQRAcBFAvnoHeEXH tkFUpA4ENvERNBewFWDeVnQJ5AcyWa+E8GBu9sywstOKGefOi/Nk6quE6DIjIgyFWUuFGIPlDvZz +FpkpN4G+U4lAu8kAzqHSJqqYzFi6xftsvU0O350xQkM7n55r9EU2BHgs38ZNzPj66sQTz8LNVw/ us3Z7+IbsxZ6vQTioJVHJ7/CkmT0QTv9lD+ljfUxDJHX+AllklXiYigQ60ZFNDogJ7PDT0sscCgT HK/2Ra538k/RD1TWO6YXNK/o98PBql4OQR9z8rf7Hd3/Sp5Cm4TCD3OdS+YEokPkQTqDBD+0pGdN QuTPdsAiFUMOSx+eGIbr1g9DE1mgc6SP9H5mDbc4DeXbJ7tFrdbP1CnWMrihTIfny8et4A9Ze12S DHFisOtoKPDHembJgDz4D3A9oGlf0glc1ibuPNHspPYhTzp4TW3NlGgUlp1BODL/wbEtS3bxj2y/ HQQ5ktkV1qSQgFa0czpJwIprMmFynC4oVSMHo0apIs47d0zhlNKUAJ/YmCV68yCg1KAmhDlOkkhK 68mMD/R5aoUIht0XMEF6/EtpBvUlND+5sXVdKriWmF+r7mb+xmkf8CGmeUMaA8VkpXYd8dEkGmO0 ayYYV9e0xfoLC+gu4dKtZHmHGzAUybHslRbxzCtAneCLAQBo5o2cnSTiyxc3kJQlLS0E8TjyKH/6 noiwBVlXq2KPwWW6CAFUA+ZhURfn9TKb8r3nUOUOo4DJIsyhZ0P5f4OaiIyZAbAwEdAhqGqQoOkU Na4K6j4o/UyJN2Kvr7AUv0p2sfHmKG4cijrHM38+1PYxDOTKtAJiFS76KHOtLdN//eFjfZ5cG9D8 G8YAOfwea7MNPNd/rHpWNKTF9OnMLGeM8/E7mIksV+hs2KNfAjDLEdRc+xhW7cVoegq7zqj/srrN gcJPD/23jKtViF/4QU79DjW4WS38b6yc+12+QpC5B9WeQSFBIbRzkPgop0GFzNsiYJ5lu7dunGEi 7eIS9F3Z9vG8A7Iso6gJHDOqNHEgG1UztS0ooliOADn/rGHYxNPmHmE7fHOOEE4c+SIS87mhMepW krD3qDKXZvFUcdoY3m46ZFlCu0VDNne2ooinzoGJyyzYhiOBeVhz+WhUxei4DxcjC+YuFrOlyLFl eqG3/OY/jjAOJzPu+nMzjLr+48CLGVuQpAyVyeVIRH9QVRcIOGq6NQvFtvs9TE/ncPUv0rF58MFF Az2e3iCSDUlwNa55c/cduHF0QvTYY0yESMPPXXBr/Bhcntiq0GkoDp2X5sK4IDiEK5h2tiU/5K2D bz2Orw3aIz8fNQhhwPfdwFLPehoPh9v/uXt08Np7HYaXkGcAgTTZbn4MGv6sfGAVh+Qgl89ncTir Ll0LnBAUS+mx+znrkUoqUNs0iauhOCzYxwcCIyuusc8djmPIQqkFsW4xE9QT4cnGC1Gw/lU2Q1+n qln+SNCWxUEdETjpEMToPvQdyFfWwlWpzUorv0PHLZGnuowBUuuON19p7aLY3HYxgOANzDM23z3W ytVcJp6ScJLUnS25kM4L//EtchQGITSFSUemdXivw6z7EAfUdn1s/AhwZb06ds060dvqXRuQVeKx OIIoTTHVhTCf8EtPLAyTtI6NIelnLvRG/ueBpnO/V5EnVw8mj+cHauwSZjioROHjYhn6JUKT3oI3 gYHSmsSJcSVggPy4aw9j9yPDgXoLsa+z8ugJsZ6tvpg11xot3Xi11XtdAt4pnMFn44iY40dADkvv CpMHkc9F59iaDT8ZtRxcBge997Id+wTZxPTV1LyMgTj6t6WRrULPdyHNPzD8n5TK6ruVXbK4nMhd hPP44Vr31kaTu7D+yNmFQIXdUl4+MjDlsgARrHQWhZMg5QsCSpaCQnpg+NicShOG0LoPWFdN+x8W b/rOY7TRUvXLn8MT3fAILYqt47ls3MkBTQkRFNdOIciwjCRBxTLerE+U3/PqccenvkooO/3ZJChd qnE/VjpBoAlk0QXFbxx2ZR0wLFc3nlVVoBvgmdHWtrCdxb0KLBcnBM2axQ5CcI/9+Fufk1aSPTMx r5UCUVi9ImDWmKcPUBtPr2jmZfizyO49TuS8utl7nBu5oqjInbZxk3rgyDo39CrHRJ2d7Ht18bN4 1FNnL3xXTPVFMv6mNetnf5sVXA8Wdga84lbt8xj+XL9b8TVeT7pITfE1y14+ny0RtPrCkN6NhSfs MiGiDz9n0/2wmYcE5BByv3Co0uP99X5XRBFOsEMxOdsBBCgQn9Sl8nT7bVh6Dxb7NjK1UbT5Lv7Z BWbiM+7IIA2fnQOSAp7qgIHzaluUamt8Hc62+r/oLAaw/Imwo5qgCNc9q84g67Q7pzkIx5DTO0t3 m0nsijp6ojtY1UXSPFDB0cTmKGDrN2ldgtc4O5OYKtvEy7QzHkbKNOCnBqEg76M13LMQeSvAdzmJ ADu9U8/m4fiZpJ4EOcGzHVMHO+utHH1ZTHwU9QgPLL2YE8YOW3yKElRyw58HnmjJ79zDokPMZn4g D7F+A0fK+Ihdx5O2OoDrn+Vbu3fHznODn+hRBB+N1tCUUJ6+x0xJewjZ9DkaWD0zFatn8gK+pUe/ hJTRycKrQU/wkpbVFbfyOJUFRtk2P5LAOXdpG7/LEzKxs+TGNvr//56Sz69VKxUh69v8zPuj1ZHN e7SWzHmDuc7ggS/3gTGn5CFGC/rzSyJZ1uwJUs49VwhvMDedmai2GQd7b4+52brbIDvYeQp5oZ8Y fmiZxp3l1Yd0QQj3jxGNiOEyxMsSyxLum9oXlimnmiyFeVZitmFPAqmZhDLUPr6C4tFuP3vQgpy4 3cwKPb5ALAuf9kHjLW9XmRMRmYrm7v2LQS6Uqm7ybZMUWW4nGQJF3qpDEC6gNoeYTY3QbiYZozBD 31qSAUiPh68Cc/gKipythqWwQHVgPUX2ko0Yc7QI4r6kxlu8yu/z5FHWZSAar0qE43s0A6ROAZz/ GwehYfnemWJAtu6nZnfIwknmWoV55TQPTN0rp4ToyBUXwOxomRQFuK+e1JKxjO3SMTAm2TQXikOM 7ocGb8X5nRcI39BhOUb09bYHwh0nvf9yTz4hiHY7AmuejlM2mIFjWCNFBXuny1TxoFibM0MODkiI mpOHf0sMzWC4ebZuDeE/H5ZTEXLywJfdTn/xSUtilGIi0zeAo7NkK3NTm4tVYsH+AhXrcGve8R8h iAOUezF6PxFG2h+V5Tk5aBYiUQfFaWrMpTLWkxQc/9nZo0bueB1wPjivjX1nloJTXE5O3dPf9F9z jlpa7s2Zvp/CCFz2FvbNC9TCTI724ghLGA6uMoLPt/nee4e5wZ1lHiA81XnW/PVpJbUjwrYzYkIO 40J586M2JsG1qlLIXfn1ZO8Sqee4xO37MOTwHdi4KqMj8Yvjt9LUO9bFGtt7nwU+2wkaxuc5WWqT w0B1Sq1iIVThj0tln4cZh0gT5OGlmcJCU65kT4bLihbsOdsWDz8NLKh+uCM3G0XNCUjJNUyJZE2h Pq8USo+HCdxDQrzsSPWPgOoB/lF8BPUhJaaguHogjhn4LgjPrPIqnUwVVXHo92s4PLLdYdkKfDhK /lzND2iAhgZWzbQkTuQRPXXBKRnKEyRhI3YdWPkC6FomAyPXX1T+LiVEeatc6U8IU5ITcnUD4nfN TuA3Z0ETdfe28nVCTvrkV63hd+AUgN3QwDSbaS/lHUe+vgaO6qUI0itUDFOq/eoy3mR7aK8gdqS7 Uur/7jY+rLVTLbDRdemBGV5Gtc11u1EqK8TLnIkuxIdD1Df9U5SIAegbCd1MRXHrChiKIXnokcZ2 JUMgHRHWUNgIOzt5bQyG3CO2Vl0M/mFKYonH9B7csrCipDLc8rglPBmB7Kpnilwevtis/+mQ8p+7 SO+gOo0L+v4781Dc34IMPvf5kGHDKz3JAtxeoOBhW1WvBJhiy9vbcwGG2yPozF0+0vSQoEO70qIy PlK08OMmYQ6Et+JQwg0IjQJ4rT5LQ6x/3tDZL6moblZFTrQTU7+rcnemid+GrrzUmjs4hCAHMvRy /oGH4Ca4QcL2pR2Hhv4cho+mA4yjySThhFY812zauIHmIhC/RTW6vfv7RwIgifTbyYflgyi1aEHa iXP4zEYIKZRvvDed8UOAXPovlAvL7D8fbMDYSXNe6fdGMOWnsnEvJ6XaTRp8IaiiFMh1Tq4vNJtz Lt9RkFxrsH6ah5U0aNjTWEMMLnvSlsJsth8CHI6VrrS2M05Qssaz3DJlAcYvYAOKIv4JqSHHvJJW 6JR7t+72L2FB2dyYcjp6fVwstia+nmjmOPx2iFB4vwHpgYrlnd6fuqW3iv0QOUJPCPXtD/zwq+JH FHssv5PknVFA7uMwcaITeVM8qe2PIh41GafZT+L9yKz/3VbhJ1c1FT3uYzhBqusRBoi9OT7oSXhK BUNgG8VGZvBG2Tl5xJylacHQafshquMsTCPOvmD+SJgRbZS+bhbbdpvbEUeRpsKnDXZb/WkSeI07 2EyNkZ/VDOgRdup0DzD9XLDqe+BIFNHepx6UhSe/zM5uAp1yblAgb/yxdQEqP9SaS54wH6lHp9Bw IsBzxwCpwLeEBVL/HZI5v4ZhtFAO+cr4Q/hko7HOwKnd3JsMn2tJ63ln/i/N2xwBy93Yl2mx7Mnq T51KYTpaWNWsJb0cx9FrsgqzEepPcKeH/sVgW1IesiyzLGerSTyb/LwGCcZMnACF9Bkda4gx0eKb ANlqy1UeEgaIgFW/GbvHdrkOXIkkTHV7PgYy/IAcZK7wKDXOLFejU4rBL+8XlgTtUvwmgT4R/qWE u9wz/ZWATGZBxeiKylTKbkBBZTNCFvEoA7ZStbMKz+Gp8nv2I+xUYVACTiYrWKQCFsXsKA+Q8/C1 m8vvYY74lLFToF9ussmKzRtJu4qvABlniwE6UKycf5ea6+syf5rigJt+HNXGlgZCjeI2bGbFh2Y2 sVfcvGlM+YmXtKKqr+HkNvyaXaEFb7HL9+Txu2Na5WdSDn9OQEd9P2Z10o0VIBFeFlbZq3bn7AWW HX9cTVe54xIlEKh7FSTRWhEs2RWPbOsTcdyegMZ2bui9j/+MnyyoddoTNkA8Q98FWRCaa1IbncOX hSIJXAdWEBDBuA1e40Te0Ninjtl1xX43gEt9oCxZLSDKg+z1UTDBpEtnEsV//Qur8ECocGoPI4DK X8WfPpvLe0BX9WqtufjAvUPtOwVc0HcDZVyVhUXbjOJIJvBoztEmTcKJyytkwzBZxBc7L0HlbFP4 eY6tB4Vu155AAFNSJ6JJMvGeD6KdLOdQ9kviWwnZE72Z6wK42D3kKhtiMwYePYrtTerwAug1TVLf vgpENYQcxPYy5bBwudGXPaD5zoWYzm60zlTDcoL06FzWBYrodawO/L8zbC9PnViVXoL3OYpd/swq SZT9v4qimmgdmMmcjvXUWsR34OCRy7876MQJQgaQIcAolqRYeYgHI4L93AgRLQzL+hA4+K2320mg tLYeSCQIWAcscACoNcFzv+X7Lj3s7hzECtecnpGQ9O3XIbHRi2cqaU9tzADUB0eTs/xqr9/8RCJI 6amKOfHnPs4irrCdgaCqMBfK3e2/cek0v2bHXMgZv8FCN6ZB6JBFafME9cj5NNLiguGDoXjGWof/ 0wwdH3v3FVgtoj/s5rhRHe9UuZLRs5II6EOr0QQElxrRvYsWCgzNSl/xwqZDXh55C9M9imtwylbd cUmw/usAtuvp6Oc4/Ux9EItrptJUf3bfjdAsHXOidW2uITtQunwUPqSChPnshataqoM5Okks+txx DfOPjdQsR0C6vjexYTGHsUHcXhm8CA77dEbFqk62KV/T6C0BW2K6KH8vClnlXNlSiYPNl7D5pxR4 zraeUoJBtYR6sRkhqxw+h0IGnal7PZGU5R3rXuRbvSSeKnp5deo+ipNqp4Hda1WapxjfIsvhVJ2g NdLJUqpw4Hjmiua3O4iI74uOWhnV9YwLo3fIuVlWNgK3JmkMIk9ymgl6jI0klufy1nHF0FQ6uHSh hmxDtGIfISgFnLPT9XBawLgp+ouGOnhszIwqvvgIt0R/jVdRTmfHmyTwkDUGOmOcx8yH0nW78xRO z6L42J11uNGDOLd4o/39dTNhx8oBdWq9j25vsxJUu69t0wWQkIHkhcPIIhNY/cXck9eL7a9ZjPq+ 2EoXDmA+2GxAJrVxmxr/pp82c8lo1Rr/im+Yq+Urmdmr+FvZfR4hicotXH2DHfw6pimvrnzQOICf KXJujm4mUZfiSnbJ+yBX8/WBVHb/7seCLwtrSd68Nb+5ntrGogHguTt1sqbMZdzvNTQO42Xlf5IU VozKj6zmJetPojzCDBQip+b9oeWCJx6C0gj2Pub6s1Sqg3FoP8iHRQlrl+q2fRRo/oSGwCk7y2AO KRG412Mz9z3ZJtdqtHG6ueLdSJxXS+6yXp/x2Xjtr+J8NuyDmzGkmNGOX1GfPNvTcvRLzC5THq8F wG0WqlDwKd2/lyuK9QnXh99fHaBpb+duAer97DOILTsat/911GeFqtgjJ8MkKKYt5OOC8aWr4ydB xzx+/LvGO4EDdBgJA4OHqwjpv5lZO5y2WR8zbkXLwVeFYVSlS/eGjWkI+6BZlo6EEG/2yTQL6ZFW UIDHNWBvH+UEzQJDLyVf3HBH/PFT+4uWVb/8y6e9jql30YsRNivXG2PKQ5jV7U904b5KnTc9vR36 eOPRY9DH1mX/H8b0PK5PTf7ccyNCNcsLgvB9MoQATpy24GkeFSyR1zMJadulPkcR7ddtbV3OUFOr jUteLaK/inxdp2OU1xaj5MymML5EAA3FHMLgLq58xBvn/ESrfD0n6jkw84qWnCrBOOm4lEo1MjPs nJLkqL60zv80+bljAzsKNkkM+yl+n5q1/O82cgytFWRbVzYlzQgna2dlTGVYMoW9iDoXSv03Rav6 IZLc3goN0aVrTsQmhxcECrqqe0jH1mDW9l+EQKzY3WOZmLMPY4QQC+o/V1x+gQVRrAaoZOWCl5mb o0Uetiyd30vPbrjyyXOrv+JonfufAkefIsSBGA+YFkLy1nNfiBSUrdVjbAC2OZZFVf0Z2BXavCA4 MAR2jd5VjfUXoPB2TKrqhMpsSaJRsvmiW8kabzZ/SZq3AZEAS+Ye9oIPTpElqCKdBlPerk122TH8 9lR6KAR/hVuorUXOFtXZdSuknBvmHJaxtHYhqhNcffjCsU38Wo09Sec+EEK6XqV/za2DozZyhksX 8O3fPUFunjv0Cd+ISDAqHOkDZ7Srp544CDgyuFQHj1rSwQwJXVGPUWIEdWzl0fJ5WZdUGolHBLQ/ snZJnqMArKi+TekxoQ09zo2NbGbKPEZbK288dqnl49s1ENDVC7Ats+4z1GekSqlQNJMDQfQ09IXh NZ/T+I5bMc8w6+TR+t+OZquRNEC29Pg2aFarC91a6vO2eISfhMSIhzuh1WsJ/0tcRpf7ecAoSbr2 ndjQ9efRQHe+ifWCdaQ/C1+U0L3zatSMKDnDwrcQOwSTZrOA/kkaBOFtP5jBUBwsMqhMZ+juG0by h6inwRGkBiMDfgKm3XUiKszO2p2QqbKoFioSbqnoEFIaVldSNnR5+lZ2c/G7ZqgnJZsIGGuR/uZA PbWpH9UO47I3FLT8cb5iGLVbZjEWSRCOTYKd6jvoi3u9exKUqSQy64Xp2QqzTev+oajAVZibnXfj AG5lHxcQM3w5+EmOmC3vdfZ6nzOczOe2tHVufGQQxAX/umILTOxqoCI2EM5EjG5/LtW1By3LeLMP pdUrpe/A6DKTwha+zgqn+PXQP7OMXWhxl8D+GS/VPZgevSCTdIb3+Cn1kHKHKtW+Hn9rvL70Gcya u85CGTAJlyhQ0Zyximt9vaHJr7rSFwGW27nEFjW0n3ZjgObwdYLnlGQgEpKZnGVzADPrKvjRENux MBO74P2gBv9NqJhJKD233v5u6pS5uv5rcxPoRr5yZukIUcVg1BMM7aWmwKPadkSha7je3EBRcTTy FR1oHX7ooyiJ3KZHr4gPZJAsshl1bPjAKy9hoAwf5PVn50hMAfEV+76c7zcklxCkUydATp9mGES/ GwIMC4yxh0d50hMMSyuVLRnEwfSRJ2drFqDOurrR/0rlJIYl03C2PA/PrMP+YsYdkkU/wHXEcROY maZ/+pO4SRHuoPDotgJKaZTGZAkCXCVkTJxH6WqjQXyVvE68VNbwagyCTFDFGYsgEYnG4o4Do5w+ l/KVkDDQGIzkmIkM/tP5iZQ1NoRce3ukPKhPQT4sDyXkUW5M6NflMAJMstKXkurt6CIjOJOzE71B amTpaZi4WhtOZid707umGnudK8hXGypLpqFszXn1UuZNqR8+PBnhJa7ILfuh8ue7MxQwj8y8xkRP lW7tgfVa6rI9KONzWJVXyQJ/NlNXdc9aaSnSBsuVeQ4Q92c+j6LnRQkt2YkQbKVY9MpmQZ8bj1XH Jwp9jKqc3fYAZb3Xp1cjJ8O2E4Ggu1MNLjMPCCuVJF+oy1OOKZRp9p+jhc5qWCLMz7HBTN0p8bd3 rMPeAn4E7lsnhIRjBeUGKr/hlQWUl7jUFVnXXhNE3aFkAxG83CffW+tL2dZefyj0hzHdKz2dPjjI ZjuztAzvuM/iYzjQ34uoAbXxBwBfYENWjRl3VHuo/MyPweJFWJfq8VygNCYdoLUkaZxXh1ik0a/G W3Qa1AY/gzejg+V4CfdR0eaogPXPGPDzmv8b4xVGhsvxQDkl9R/FxaiIgx5GVDscRgR7l6TI/cZb c6KYOJIIjxTyrFHQjW3R5cuHpLYITlMc/tDIDMn8MIjkPAV/esfWSO3/QoMnL8q5vMY6+m7/ujys ZZ8eIutYJnj+xHDnVXIs1nNdAEcykKUNxn72GmU2R3QdpMudLkP9PLmUGKjysN0HE5jTSGlhvD0P LonIu1gQ8jFRYdzgv63uyFkz4CL28OZ44xEy2/WMxVgyKHh8CFJVQM9lMf2lehYVgBMnwmYrxOhw 6SSGoftHLOlIPh2n02MD1cBEw1GRcBpLmcewcImM10UnUh4wjhDTxJ9qhMznXVPHjEkGVY6Zls+V lW3iLdxmFm38oLe6SeP1/d/at8LwN2YZrNG04o97m0wkqe8nD5Wl9LEpvRbGRCKVmZfpoeEzHS5e FHEsylct2XOdJQVggYhcb0lp2iyh8VcScTWliNAZ8X97m60tJUO9zijGndWEsm5UHKOTIY+uTcLX 8/xQj2vhqkLgkVP+OW7mtYRE4FJLLDx9JsgtkVuEmvkOG80pSerI8lxPJoebgAc+Zv543MLIXl5o J16jwWhPJKd3QrG4bF3KXsQp1jfjsCcM9abxc1PHUQXiPHCEgSPXa1gT9thqyH7806N3Ktaixzie YSDaPV8IOj6iJIGUd3+H1T4l0n4cnckuylht7Wst6p7ypQJjvFN6QCgHc02vrzwD1dACyBxMP3Dk YQNshuZPRiUIuKCvecVkwhPg9v15LeDBjt75KSEXKt/47OESNynGoa/Iqp6FVCdf1ov+PM4sivdU LoxPH/iR6CembYgGkGPLDzrO/pKlu5BZ+MwIUqF65ASB2M5CvCFvFOh8+nUNzRkxFlGRQvzX3u5w Sz0t6REnlaf2Bx3x8IdUDhgaPYUmXWhEzPG2/G2882TGjvPDl7Q3iuX5RO5IuqIW9Gl+Tdx4atXk MjC0LH2Or3C7Zg7K13yuW0D/77x6cQe/usFn7ZsyYz2tMTR2zdqPiFHcCeecsTYAh2Jr7xVKXIUY qLAkL30Y0SBd3iEgl9DA9fgIyGtQj5X07xXzQaQkftmQcyK/aG0jOafj9oJCa5lTxNfQwsl9S5p/ Tb60KhH5Dy9I7Bvs4t1ztEtAQUup/l7uuZBiPEENBmlqDCHRzUI5+SiFk70R1nt/BHBmt7gVuGl3 Y2TIY2via14mHj6aXncGU0uuR2LV10zlvAZoLIfgKB9pYqDwpMOo8zggrv8smGxyXnm35C3wyT5p DlshVi+mTRCjHVFg9ZHO0xky8KHiRfEhewO5Y+R9QpwiO0FY9oQyBv0mB4/DSykw6RJkIh5ESEm3 dyaT1zn1A5eQ8UNKthnop8WJIRaTdqQNEWyPwgmNQjSvmK9yn1aS9Guc2RsATqIZx5x7cXGBwgO5 Dd7ysbFV+drMoFNJTfM+RybQu0UwD0OP53PObjFdit9t1n3Mfml6xN1jLV1qZ3x7q3X0TqwqXIac HDXmimMmJdvl000SPLMKyxiAV0oKZRV8ORbpDQButhwSlmCLNwTd1PFVgwyoxomVBqXCy2Ff3xz2 WmC1t9tt/3t8ZxkiHNT75Hzlej5BU43FZCpjOiOqt7uLu+Wdd06zchgoUhcY79j2hewN3kfSMDWN uG1AUaEWvWpeP+5x2AeDWif5atUhct9NpahgDmk56MCtMgXMRhHiXHhal8d1+dldmzc0ogSZVIEd 24DNi1u52nL6Av38SPz5ANd3QlEairp6fK7KemC7XmQMKeqH1DfUFZ/D5wpCfk+mD4gd7WhJzQxh Lxse3D1ec5oCra8CdRZvh4VPoTBKiueGXwmwAbTGGzJs1wPDm8TQ6sUroArtXFu/SJ6KRS8z/qIr EZ1Ep3VXzUniPfBhr8LVNjpqsZvQthRK9fcwYCq5Nw2FVLy2CmOt6iRmSzgiF+1iuqdlcyjPiN1A 79otdO2p7NFUyN5IAoXVenhTDo6/DTvKG/B4s1vkY6Hgllzm6yD3xT2deAL8ssj2x2ew85ziBwMy Huw5g4HpPkvaWkazf/NQlcpYcogZVr+l/qVo8DzEri/fhTxQgi1fLNTP++nntuKAqdYpcxhlE/Ty uviKnj8eIVfERlFTA4hy75pZyJyXoXCsas68r1QR9H12NhzxUv25hPllRLsiGmji9VhgaDGu0JKt T/g/YAycezOdG2Lkp02il4ttdDrI+0tRes5m0jg4AfxrGYaQ8naoeynAmwBqJJ6snCakGVrmP5d5 OipXvSv/3V+yHWv9s5RQUiSBlcOHVWa2IxbpY/PfyJqLIAPcfSsuJWeW02PuVNtqzEfQVXrr2a6J i3WRiKjyCVwVS9x9hS0rUYnEiiNabc9BPu48LexH/F8Sl4aHTR/S5pulIje0FK8qMdLM7YwdTgu0 YG7nQy/jVMLo+PiRFjoO0/Ge6simWVA6YmyDzZsQofm8RGvnXLPlRe68ipbp+NCrDqL1Wsnxa0qI uWUsii693ed2oTEifae7yCubWQB6x5DTLm6xrPzAYnqj0baKFpRkQvTQyc2jGjoydCYRMvmxqNwA 3NjccdwYhfZ5/cQKM4Oq+Rbr5XHEUPM58Od5ngP8DPLUvF7ryWT0LaEItBH1l3OoxwzLNmApDWSA 33YrPBOr2uPJ23doqEx3LhZMO4g4K8wd0ye/i5jyeHAch9SK51CworjSY4KPI7GqVuTSlnMd+4Dm nJdmJM8O7s18YkADSrQ3uVtmpQz8ELVPvjKe19SETDummJaXNc6HQBJoY+WE2Doy3UebaIvN9dcq sYUg1913mNeAkk+by4tNbQgIhjlIbeZoHGLwcJfatyLmALH0Q4jshkl/O9i0ga4nJCmiIDHcBudf wQYG8HLzaKTgxTkwsxRF02i4uu94C3jzyLm/catxVXfO/nLWpm0JNCJ0W9f2zvLRztfX/Oqq75ya gjJQPzQo+JqRBJHyJhzi9NhTmkNe/fTYAPZlU5CJVLySKsNk3hkTsfdK8JSk+LuF57U4XkQNVudW cS0YIya+zSRc3qnmREDcoYQ07IsID1792/FbiDeYmh1P5n0MGjmwnAKIKABNyOrHdKJByYxIUtNI hr4Cwns4Q7ZwPcSCiY+v/JCJsRSDt+jlCJQhjiFXxQvtwoch7nOED779FzQW9hVZRgwgHwWb9SQL r2zU2UuswhnjI7Mm4sORspxE2oLNp8DuaMHUO2GJkiLIhqZDBSBQLxZYxk1nUR8QqUA3l5f4RNp4 1sAzEG//IczzY+DdQTqRKp0oPdWPw8/Vc/Zu3Oo2CbioG6JE4RcHJzQGbW9WaHyTtH8z1UCZW1qA hGD67G+8QRUJ3aWM1UA877AleZZ5VZ5wdQC54gXBfef+e7zaqOzE9GpCvHK+fJY3Fc/4ikPu6bVU sqCk3kqdTzNlG9P00vvtXWKAt9EmEUGTGGeJ5SaQeQEshD8x/89t0Y5OnuloFfPQoLsOpA63ghDG gAqdbZaiVaIedBMoWqRnOCM9/b0nyFYEjHCxVoncRM7XiFMQXbnCfLm+56TWLumF/B1vhCYAZPSt OwXkUO79Jwf1/jLd8BjsESg4accL7hdRWvVmTsbz1C7XJVzYC0wCzN+DCrbgf5xrjYljGgRBxJv2 KBPlo3y5rOqgUZacHy2gJo26vsjRUkaqCAHB2Evkaghm82ShtiLQTgxyqKtREeyHrHJXcYbvSOwT mV3NlmQ4UK9wg3V232/SPS3Idc2ovR+tr+5JDtKrRqkY69m8n9v/keGRqatbXkzSr5e/LLXn+L+U 1zySUUi7By1PVW2C3cAGL3PDDzdE/2E+Of+Na8g9OO0sQFb1veAvVxpJBfuCmcQ9oFZJJXj26sHR jwznRL1OL43qGklp2PH+N/TKNHBe2rz0wSi7nbFIZ4Kuelcb4oIe3LGMy8PsSOKx37ZpYsUsoLBg PSY+FK5mGO67cjHSu1dQZxQXbJuS+vARFsnbgbJ1Qga7OogZgcDMSfdfLBUAyLVYAdrj9SNS5Sik lCEeg9eoFwPT4W0Ub8t3a0iGlOZLAbpZjOwuwUy6eSn7v3Y3yy5pF//zL1F428z5rocEulA8qgy2 Dt/DBXsvMBeHKliue1ZMb6eTfO+xOh9CB1truO3JcjwLFx6VTK4f3IF6YT2aonyqTtPUmb9E/XAC u0H6x+vFp9ovXQgo3966cVX1grYLCAx638I1M+fqvm1NWfq25yKUK3ONkGPZ1ZbwALKavZcu5o3F qk3ngFUprJGahA9pQm1H18GnpLiBNZQRauE3HUQxfyyR5WVus1h/U5n9GIQq69A3+n3M5XNly3Pp ar1adv5aK/1aSkCVtYU4GrS+C/W6ot5uEofxhgvTa4z4dFZPYP4MsKVb1ilTTTqkZLNYG80u+l4A 9VlpJelf5Kxt5q5UBP0w1yEYsKHxxqXuZXoQaLxZkXgbdJAFL9aPYi7s1fI5956g2GvLudsZExX9 SySQE2/+DLxfvMl7READv2pQkGZ5hkQdk80KyiwPvoFlr3EWkQjFymgp+rsT3N97tqpuzQZF7fOZ otYrHYv546iIDuEzQis4naC2K73LGJq9chs4mFN6ALyWD64pLif5iL2LBpzoxUly08ABtFtgCXuH 5Z6b49UCr1XxDBmhz//4Xzl3h/6scpx128nYYVVLmzxgZtglmSOR+8w7kJIecqT4RyMuL4JproTE e2Qwci5c7tKfk73YCZJiPHbAkrtNQvStPwFY+ZWGgPt8rVIzfsNBMTnTowJ2V0hzy9+Vl4GRCfvc jCFlZFt+efJrdWxj1iFRspuEbzXsB34W/NjNi58Ijfaga5EECbZI486jUJJhZVVrPpL+Qc1wJ4m+ mRrCuI7VN4I4uE5PLRQdwf+efT8aMocag6r2HvIIKq85eF1ZULJJKnodhBwo/9x3Jk758vsX4OLn MbOW3nkDNIGYOsn2FqC2hP27KR1Y8K9QFW7tdPYlFQm6SkqdSzFgNOHXQNsX2fL8A+dG55RGNgJV ZX7rfMhn8hO/UPZmuOaHWK/2RmTPRIzRIvaoZPCX2LfJGLLU9pD4bsiGZzx5bsBQb1DzxxBbGJ3Q 67tcTmUPY+93sNSOdVQU4kY+1n73qVUQbEAPFPC1PDfczO6z19LNoMJIEhlRmM8qxXIUc3iXizE7 Ci/CS9cqkFQPDL25RNOa6WV58Edcet2LP622YHQYq+mEeXMUz4tDCeT9r4rU0mhEhIyBFSUoROKB GsjLdYBc+ULMu5JwYgVi/+wOaXgpWH4Moqu3jy8SEb7/5m04+EbLjN4Uj3X5ETRae0AtGQcKtf1U dFvcIPdI2hPa6SxgMccr41birVrM6HRfxW8AEMqsmNY3DySFWLIz4oWkTytBfyuuwpUEtlX4vH4a yb9EbwUkKn74O2iCDFtu24PDs2vwP3fjlrn04qEdawzw5XxqFJtZN8okGI8AnKN+jN15VH04Agbc 5KG7RveQfWXDCFLPcSSbaWpboyL4n86xHx8VkNnzo7ZFdF7iOSUvnqUK7t1ib0hpKX+qWGGJLK3n ads3Yl6Jp1BaPMG0zocJjzHGAcLEl7wznXqEmzgQygXYP55f6SzcSTriiTD/DLlz0iR5CbJ+mre+ Zrip7YUCJjRcJm2DnQRkkaN6DLGA3VYyb/T6s3OoY05hSTXdMqx36YmM6+bjz6d142BOorE2CtMf aRNYIJFFyD1XntVRAfFYP3H3nYlrMgiviNxFaAmS4HzRuTlhultGnfVslT7V0iuLd2CCKwDrT8Vf 54RESqkZB3sNpLZPbsNdC59xYaelvEnPSZLu548aNyFHLOS0kvyGOIaxIrVVJuaQYl59adw8iVAP rSTH9d4abxHsHZ4QAzjb0HIkes6fZE8qHSm31ZqC9Y/7vwWMsk3I9M8o9F5ceXMCy1KrIWacNzzm J8EgFjicWSltcsCMw5OTUzVGTxadbFDu/xoWdd5FT9krZOYMrvGcA324G0dLNC70QNJ1PrZ928SQ Zg0SCrGfd8E3gcsiFUJI3Qdn1EsFXrruS4E96COknpj/6tGzv+prbEK1r+PLvzJpdVakjkcqSAU5 LlzSqvyF2nqMPSdpKXX2eR7kIULEGhnB7VGTckCVvf2uFLskH8ic3a6jLQIw51zbeA6FhL2EHVTk FIHiRsMNm79gjR0nZBYTVIrY7tFBW5jQ/CBW8mHLdORcE0vy9uqoz+YlwmBfNlmLWuxb0uFUI3BT SIoPsh0DFdFIlQgPfmp13J6Cz4TrEPWuLPH86yKo8cXzlW2wvjDs50buTpH1LltaEM7acos/R6QB 1ugAO5rQquNJJunhgqGPL2rM1MullJXPqk5Tr9NZW2n+HBpgJJSYRJsqzLzH5OcxFP+OQJGTo1YT qfVbzoenwaMETKBwrrgWAsy3nQgMUKneulSgg8EVwIUcGWNQUc19DK0bscLMCcAie0iJ8tSDtoc3 sPm51KIZ11+eNqQNvKDoAvvzWPzJjjnLKstd2r5SMph7UXu1jqstnp0LDBLK6estSzROWphe/9Hc zzs1aEC8ssSkYnGWqVmtZp125BQ/mlfm/D6f4V4m9Wh0hgcLe8nA0Qb3eBuaf2sWqfL42gFmd3LU gchyMvfxVLuz5mm0J+4MMSvvStAINpOaS5f27p5jhXAWI/AzRNSQmckM2gDWixkF3qwc+b6qGh7G 3G5QXmhqXg4jbdpsAFYwq3M/uD2wWU4ZBO3OZqGPt8zLeD2+aCRbTBM+SgmvHGkv3SCJ6boR4SZE heMyMlEmSPX+CJetWOFzHPGS9LrSD/HdX1Gfp5IQ9q9R+gcoisxCa2fJDu18WHc9UryoPi5DhJJX xgdnzr1or5wljteQJQCs8DkuOJ55hhCrf+W46XQF6mAkW39Fb+WYpDzSU8uF9PsOJ5vtTOirtO8A KIDJdjLN4LdZ+FBwllI2zArPGIEj6X8ZET1U8HuLOrmipWdYVy2x0zM7tElZVDRbdKDr9DoafP5h XSNXIAhCTp6dpCXhjXa8v0WdL7D3n/rDiWN95B2Am/CuoG/fopvzX5K0r9rHeNojoHmX5reht8gg qgT902a1VOj04v1kWA2dXcvJk5qucFGhyHlYaR1bKEyOR51bo66TLBnbIvBc/XZOaMr7R2GTg3IF vPp00/z+KyhSBb6qXObaf94UBhivDeZM7LQX21kTh1gQGYidEEfkKlVn3m7uCbd2N69qGySELmQw A7WiiTRiUa2pAgEpPomMdtUoCU3v1+AUXNl7Y7+6yXDhHhZFQ1IVsuxkPmRs57MPR5jac8fsz4TZ xFPrcAvO8YPI/bzptWWvfmJgphgKSYSc1sAxXhbadbTzioa+2IRIcUEOpI13hyR/gew8AeF//Tgm YLumYmVdvsOTZiG/BHTjfxQL7FJAP4ehJ9kfV26OP2JJLMEKm8hNUDevBBBCJHi+VpIo257H6LZ/ GPq9vzdhasRNFSDgY+6IvQLkh2oiQMryGBm9k0cksS6c7YKoPVlwewPW5pu2cW9d7mhLR+abcCcQ kMffETyLd8xVIBUP1bsyaDR4dzwaBfcGzDpUEUly9eCCW9Z/6mdNl/Z10K2JelKmLtuQyiiU+ll1 Cor3Sfoe3/0p+XlmgxhqG8/aketz7fPeNK4Hqih5ltLp+TpnEw4zFjui8JZUy0UDWdndQditUqzW KHEUTrvxqflYfemXotQVLblnuFHlY7+kbuLvGBHwWRO3rX002Knr45HjyxHw9z2x7TetdoM1lnck UPqbflwuJPhIohMCW2as4Ohn6NRwKzsUcl2HBVzVrl91PjB9A9FBUPSQxvW2y4aRhKzWw0CIVOoD GhgDtJdFzffJUr+FeWDXLbFTbgedUFnJz/RhXKjAXbatUeEMHMPGwhoMv82oA+swPM88Wt1Tl49c aia/seINer27bGImYXCwV6cTHqDGEeQJScQcIkA5BYhOSB6K5NnRuTSY302voI5eIBU5fg/qxqFH emJ+HpOnWEZbZmezIcL9nClAmc3TOOTLdu0V5GiW025H5tzBDxUEGF5N0dCJCgFly/Wm9UO2krmU EDne3I/nHzVmUAF2ZVHJKBwCWt3Mfqgx6oe0FwWg6M1Yqn1m2SgNUuWct2D/Q5v1n4arKjrFFtH0 kCzwQ7sqwCQpGxIWgmZ20ygf6/uiTWNHzJah0gNb/iLBai/fJiOKaXQO+i8B0MOBXbQAT21lG3hg UtzLIYoSajAOaU5zCPkhpYcqKNbmO56OYyJ9U9HATUBYpn4/irqlrnd1pDim81Q3xgROOJW2/bHm e0uXzJI3OqnjasjnqmNo8J/yWudAasNEtpZsMXG+Clwihzzsly7Sakiokhs9f0dOCfnnQNHVrixC NEL1jtAmOJH2b4LBieI0AqH6QCbgpew/1fcQ2lNUFJIPn9H276OesOz3vH/NYbuj+7IqHrnxZToE x3+K2rAGIrLXgsdL9xtSPE6TpylEajKRCHFuCRfkK7vVhBRBXZYygbMZncRI3BfD2lgMpONam9Kl ds7mFrySA/rWp+jnEiAx/8/Ntr7Sk9xwWU9VS06S5pH7Fh5EKEFjdHupk4MyRqbjDdcjnIZ0mYYr 8QZcML3a234wKnHwkQ6UdoMSGEiXW4edenxAmOiDPGiKpsq4t8h/fgtKQqDdnZk1mQavqfqn0lNL +BylLbe8g5uBWi/bWs+d3FCNha9oRC2gFKIl9YWeFIMsn6PHujc14gSxS4Wmn4VmbxWgOTUH4st3 iK8mKb8cRD0b8W17kEnwflzXcSr+ZZ5Fm2lpEN0siRip1cUQfY3e7ULT3dBXaHSgtmAb72HOBl56 djL+XNXo0eHi6enUoHXUUi7IPwc8hodSDDi6CNUpRNQUfi3A4oPmPmeBRPDZhh/l5gSV2ftKolAA 8ybBQd9fMCs0yqY6duopOOWnIT7bXG3RAeTNcDLuJUdEAOQsQFEkfT/WE0OSkSGFfDR+KjN1Q8lj Mx0uq1Yve83F6AE6jEeJ5cnqyTVwXDmDLU11dRe2cAS6ICDfB9hGOt8WD8+QWGyisOncTIXSoB4c OeV/pR9MY1NFBoT9//wpjNYGuObw89Z3RbzFjYU7si9MxDsj9Du+1ZIy3adci4NfYrASDvN/Bm0h 0faWmz/pWCSA6uHwGUX1tLxJ4QCNyloyZGwxtW3Ju3CiYh+jLBGvgaqz/p3cawL6N/VyDQSXy9Xu zPg4vunD22wvsUsVXWlwr9ENmQnw0kmtSmopBQFOBzlKt7z0yOpoB+kiV3QtC3DbI6vuQWcE6dgF tknfLjbSdR90gpMFjeYWbsg22Qin2FUnFSxmAkVZee6XONpjuZJBLHC6nYLf48zFGrvLzuVSS8ls XErYTshqRBKS2fOXcVqBB+dBgV5giKllzX6XSDiLXvJAgfMUO4tsUhlQsm9IP+NaXfFvFP1y9ihu 0sXdJR3s0isgxXXAeUrgQvjmwRzIj4o/5NWGfzB+a4DdO1HJnCZjREiGUsfoh8UbMeNHUfbEVyUL VuLOXyRWDUMmRkGDstB/Nt7Fb1Pz6xDa3dYPTwrFrJNxEF7XWL6OcTceDZFMCaab3HLpIgY2aEFr clBer/S8d4JKARvbFg6+bD64vMfrYaHPYAJaBOCAga9kc+0oQutocQaIqcdg+C9ohsifq+kI9nLg 9y9uESpd7qhFnFile96U+oHyTnGfYDU9UYQKarRK4HhzLTHQnJErHnaYxyLVAX2sO4pK68KRiti9 XtWUcunQrZ9/KAGLD8LXN2Pe1GaCZ/e3dLWl5MtxQW1pNSbbBVbHsO4YPrtwE8bF51tgMsnG58wl fnJQ80kkxhq2V949QuzAfwEFwg61viSO82aBGVBgBQ2zT28aY9yEbRzCFv+LobjfMfc0/xycNcFu b5Yu9HZmTpcStSJGgD6SUEgr7VIN6y2+2PkU+ecleRuRQ9aa72VfwSx7jCaNrea0YnVNg91HPXJ/ swmYjOyXjp8snm+pKyzBzBv/m7G9B/qVas7bElZXvww+w6H8jwQQRd9vuZNqOn3XQcR/IKkTS63w ZniHK4ZTaxbMFTmDSlcIy8qhA/DYujzERfiLjqcXiy6Vzd1V9RtIajfgSEgRwr/WbRMrzGvcr6m+ OMkcV9UiT6IZl+RoQakNU9Spjby7W3+ubwTQRAGUKTUV9lvVCUkb5jRJMUVMv3FSc/duBCX54Bcq tDQx4U2Vlv6cHxsY9kZQLHXY/rwq2IobZoiqM5haIcxDazOH3a8bxiMdCBMK7nIzEfFAxiNyVKKi wwcj9H2MT0s0TctYO1DxgOV9t6cY/9KB0wXllcrSgXPIA6ODgwdKCpQhho2iw4pAoLLNNnzfpkNE JkIGPeMw+hsmkzEGHCOedK7djjp5BqVoz+JRvvYzx3e4jIN+hNj/NvNv5prfWC8iGXi6AZG2o9s2 rb5RlQ7LyNvq6U5l9L3V9uaxn/cINnn5moJG6D50SO+EWLs3vFaUQPfwr7Ly8mJ0ndpBXmuJXXV5 XHHYiXiZuIM6BYF1gsNQpGA29DpkRSNplsrF4W1T3+L7hbVYfBXfZ1CL55tBZ6x/BD0vl5ypxt0c KnPQUIpqC6MzS3wXzwi8IfFS4IWn8LPG8K41yWNruUl0QAY34Ctoo886DOzp75MNxas1sZwtXQJi z0qNJ9QpXzlXvukXfBPj5gftgIaZkMppR7KDeKulHmv0W34UZjR0HoUplATR2Tg7oleKA2QIz353 R+8OGnLRpDeuT69PiqptiIIx+faaRJ4DiuNjxevJgMy3HHCAtZLD0mLz2VrOqJL3VJU7KoTRXz/m Y4HdAxI9jo44EIBQdrc3SJSCQNGPl0YGiXv5YgMZEojBntu8MMJeV8Zc9Xyc3vb3oiUnxAc4ZiM+ c1ize4XToXLXHigMBmxGJvVJJ11rHOzZvEspfRAYthWTonPaZ4D0dCpUVOXJlWBc6Lrut1ZJnhQX hWXZbdQr9rLdb11qe3DI5NdyTEQRgAdtejG1EjOX0pivJKs/weNarCFlKyrsy4P/Be/fIhiugp6D lIdfDLhr9KOLWlvDC4RswxydWdOO70EM9PErp+vrRHfKriX/p0+XxzZHF+vFYJYgmHgOuJOBGg1n iZ1f94yEqkDzJ5Qf3X+SbeKSjZXwuW8PKe1/OJ7gteP3MKanvlsmUpOhIF+HtYiOoX33MwPBfvnN QOBgoCI0pkWN2bc75UVMpPw3XjXhWP5B7nN9/4bI3OLu1iwhPJj5gdG/Wid9NWA65M8ALyevBDjD 4TBXKTg1QHsYfxnkwUEjO/S3ZNyrN08VUq5L5q80vf/BHU8iqx4u0MTLz1vxg28XkwFnez/iOe4/ dpVK0HHLL2Eyv9WhKU+4ghygpx6UezVizlbObTqUd8Feeb6qq3B6p4R4zpr00POGvwklZJdDjkje bTaOaEGlyHZN6n5ch7PBQu1naPaZWkj2itDj0d8qyF4RBLm8ZVc498M1I53ZppOQpWAypg0eOytU kAz55pNDYXuGqrAmXbAEmm6MfCFMhsQ7vxrZdPSdLRrGQCMvV563t5Y49k5oPnILE4Ke61IqRCsH YKj+xa/p82B3922tBBb1q5FQc0iePv/8CC7Jm5TZzT0DMM4DAdpVKGbbgkvlorts3u7sTGFXdssL FwfkyVoUCzgbnjMzxNaZ4MFH3LUVLzuXAo1nzYVB/KU/1jQyzPkq6DiuCBj61FSGJGZU+2XwMzgH Yu5BJNP7SqesviOPtd6O9lvYCmYfUkbpj++6NMzoG4dGkrqP0GErm4vDGTNGvj9cqw/jwaDr2Fv2 Yp+afd77A4D/4Lu/CNdyxT/C66AHOd+dD+MrL+ZuCnIMb2FkfYTuHTvIIgamIvqK3KZ1uenIQwme +aeej5xobz9GiAU+D/Pu0Sel8y6hWLDEskPog6Ea+2tutFRZ/bvp2dgJQr21mt2+rqyZ0SRZpfCO 3nA/Ss9ugso/Dm38C+IUQK/H2G8FEA85/B3LYyM0z1csSf/KGKA/TXXc/6F8WtJLR7mks6psBlTA ev1wDMvxWukrwUK7L9svEBykpZ7ZZqW3Fmr7GojA7FI5vYs0xMxoVaJ5TV5k9UwChu/7ce1NGl8t yFSEFUFnlG0r+GzCguW5JRQwdzL+YWlpUlkjb3RlZuER9K/g/3QaVx+SJP07niCKoIThDvC2l5yz RT4s6G9A+V6e24COgiw7W3L0xsDoLvZG1MMnMCSNiDEBVWOh+5dhGdnUThFMh9VFC48eXlHPt1Ke XLHJDdzGqYaAPS8IPXeYnCIlPHyUiiB31RLa6Zw19RI6/lKM1jqYaH0V4v+gP1dqM1wZYtB4oFxw I53/jTh5TlgCpxgu2gQSgLk2wDNdqF7el49K22xQKAeCmudmND8nqVh1pbEOuj3D0JbSslE46Cd/ 2SWfFsKNBAtqSKYO88x9OtOROLjZvwnWpAVj9RngFvUjjc8kKSjBZKi8aJwWJKiSX7wL0PuSR+QF Rc0c93rZJvSXoqHcoQUaYD7WWAsFit9SuEothYRC8y/r9ajnzIrKPrNO/EqpHWG0J3aQpBQupuJZ O5PF/MHa89j9Waiq+d3dKpOeRGnAoJH4ua8sl8Tgfw58SjnMiumuam1loAPkJ58b4UHf2vS+t7Bm o+X5z2mQjgpwDc1kS1Pf9taKR07kmzg6ZsEtiBq3E0YATknHPCifV9Y/FLc3LLzk9GAUO5GNZr5+ /BomUdEORv7k3yCTY+TkASOpUXyqA0ERBOpWIWn2E94spzzEkeV5YNoTrYQzNk/kPaOb+JbYuvf3 XMgknQ6jCuhty3g9Q8QwDFV4pPsp1nW5XiYmFL93r5TeJdiFGMUgZGMsWSwj18U74ZXOpNtxkeax 2Gb3a2iCpZzMODuqvBJaDFqWrfH/ssgVVlj7I5C4etozE5F+PP5C69fDWIzc3h3I1yGrMw1sd1QR G34E074ebsvzaZ8bc4dhtsvOdMsGtHqA/fWMDIhFJgbDpfCqz9K1jwyXKJv3GrfZHXhIyJzyk0dn GvdJYVDsJ/oDr0K8Ohih/nfRE5R0Gudb8W+lFkiPio8BAeRagQVaCap8XIl10sHVLL/J1lS8zdNn QSZxrhfbIWM74R+ljw3lVdvf1m7ltD8sZiUU/GHGDIwxXN+8Nx1PwQ1pVIXdmEAnWJS6p6yKelHu z4gZELH3mF/BNAW5vDcJVecNAvDTNmZMocPfHAUZihfwACi9Tm42zHDxayNDzlRCTDnWszftO42o Ev/Aa/Pir858vFCKISgJdrSYv6JudGg70LkH813JW4uRrJEBkwn7LkYgIi1/FTR1Kr+mGfwRa1Ri +K4q32Js3f6eCpevwHuC3+FqCU1qJfYNv+rAPNqRp96gIjlbUMp0kuIjI33lHRAWEaUT1ooirB9W 2Tmos5J20Wz5ZyGYYIUhuWFM6lqH9yiveFQZtzBDvfS1NGunLEaWbVpWA5FGRX9OwZlyhFBifEBp TslHl4VHSVNrqz3xtGhnuGq2Wp+CwNGfWE4XIRAduq8M9DTwraa7hWDvYmYVqawQK5ZcTaW5QewG sbrZD+6TGzOdCr6YqUYxNHZat9hT0Bfaxsciuev18suhH4FLJlN76ab6XngydTSCzT4C/ikmeYoT t50J5nqnMGsxtWDRxKf/AafRo0ioSfqDmBBnQ1v2STqLsS3tU97RzlAmcOhJcg8IGQYQ+RZGRcwG wbCFGSLY9ylOm9ZJqFv4WDo5GHmJ4YuQsfMsuCVCFWNfAwQfdXZzyZEblCIM67AhWPjWuaQFRDwE 9w/fkrIal4NKite2D8BfkArkaLbwBcsyRcweRlUAgIMifCeZG93GqOUMcZgLLjUGeZ8TzI12fJwU vHkNTP5f372foMJWpJ5/Npe3Q7CBUDZZX2RhdQ/igVLWq+lgnGtyubEDTKwQE3HR+TZ7JWJp0xcz dsG/pnq6/aYrrrMshKCZJSzweXK3KzmlhxArmQ8tYbm6i5nKS4Cgl2tRz1LhaFciZ0KrNe5pB7s8 KQ5lWMsR/juZxgWQRxwGmjUmRfD83rtK4FhGx6H5lKnKkgmhjd9WuoYRohELxYgkem8a/nXKOXSu ZBWEq50Gyc1WKKgegjMHxXYmFGtisFrEe21X8HljtDOjGQ9OU8wlmY3+LhIi+ycfiuQ1r6q25HN+ rUc6PHcUCnCprAT56jIkl+WlpzTIeVA7/IHtxmi7ZbK/vGv6ANebFd6+5bpbTTCuLUZdjsWXWfdz 2Fk5ryhOwYv+fV2HOQm8zstLZdsHBhSjCh1TTUyVucrIWD6h8ZDVmIb4lby7v00XJyBzK3VSw0BT i24hgrT8CAAKzzjoZXFjuGHr2le23V1wZgeFcR7KwKoC3Fm5LxERo2oqSWQlCgz0JdmfFPU1noIT h+eq3lc2DcrxWgjt2/CFvAQFlSsiTYuIrMEmseEXli3WWhrJerczLZb4Zgmckp2y7BqnITSDup8U c6bHhbHyLrAL0CbOTdoITxpSvdgj5n7Tudi4LZJ6kgsziag+PT5Gn4tndKfLACo8nXKrRIl8K5jH opaDMdMBjo08j5CSbPu0qaJZeXEzf+M/3M7BMF/0jAx+2BqmwcHnEGs688Z1edCa1diLPKuGL+6B GY0gRb9an2rquKMfR7+pmV+ZKUnxClxr6OkTxiJWEGK82/PDcBejeR6uW2r3AdAs+PurnGUWXn1t rxHlnns6+tCmWEgBhBCQ+RBnEpZeCQiN8AMReQ/zdhkrfZ7auUW/YTEI9tmEMx2nWcSPDWhJZcTY 3Eps3bCVVZJwPp0UOWxYWjKFg4ZpGdJI24OSB6gvt8HamfMD0xSAL+vjws2G5bUbQ1AiiMHIHqzf 7ssPFkbt6HrwE9Z0FJ9lZR3vYgcmI63fQ9FjlY/8vZAvP0lM6c94kDzkCjRcaHzjVKqgzMwJQMAV pQjybW/2JqiUmYuxw6o7W7eILjZsRmjWLDNh/eatsBtakq0J/m9K90li75hAi8is+D4gPrYWZP9m H4mNrSwmgfzW5ZvQfg9+0D4BPWVD46RZI4n6bsKkiGKbMqVi1YDFrEe5YN1442twdi/0g4dHEZHU a3syY1IUqYLrKeoC9X841wIr7dyAoijAR1CxAJDyEeHP/vy22jrir3rPS9YMYps2JHSrmGAR7zoT 54cJs6HWR4eSnj4WGFCxJjthwNNGjhqhwz58xiOPnyiz9T/ydTb36ChXj18xLWEZAWCxCNtPvkee 5+v5iwwBu/bpQS2CBy3Gc/EVEiqtqX6qFYHMKBEoPXpcM+XBO5l5ZonzXhi2vKUELS2LbhIOLrl2 erFFcN6A91bCGUTMpVbWaGJkOW+kEqGVv6RcTiah6jfb3HpWY7/dpWjebw3I9HrSxEN23fIhVmDO GOUZMz/lLcFXHrswtQKIzoZFT6P04fJa0xzcjB9+cQ5YAIWEcZzpSVostTJxaornZUj30IaB/GBU qmQJjbjv6hqUrG+6WKygBVt1K8DqcHxbImpp8j7TlrjrH0y/B8eGD9f6KeF4suyU3Wz2D1Vcj6M0 BalPNmLBHByx2U5LtLaUeJGmX9Zx0VegDHD+Y4M1KNpA3v1/DOUS8Spy+adOh331XWPfvOPcaXwI Fyh7Oqs7NPjrCO9KLfi6R8NmRsEqIor15PHmM7mcX8MMHoHyv29w4i/ldKr69Y4Eb1raS1Fl8+qE wSAqn4H4GkVQ17eQP3f3itpkPlmr+R+ey3h1UoyB8/V1V6r4x4CJ2jfzg+daTaejzouoKWzMMoKP wZKo2+WF+BX9UgmxzIZzOBLU3cj7WsgldL0nIm3GPV4lijtFNVtnOImN94dRUEwQAR9I3pkIDkR/ /wncKixrpjn75Sxjltb+YGWR+49ScIASaHwNX/2tL4Y8bMlkvsB2BNs6/xLm3T8174fyzeMdcZX1 Auh+VDr1XXSW+K/Lukv2n1Hy2awFzKPEVKlLXiNZmllAp2+zcgMp7rRDznDG/Pn5QkzvYGTGdtIT 1UitJlsA+1vq8ZeeRBTDtekkCimrkT3goSJvoi78yoD5hBPucGXAttWgjYKwyqj0DYQ3S6YZ4oLR I5dRamPZNoGeRHYywVCSeK4FSaaeJC8q6UvpBFmr0hsJUCX7xhuwaP+GQrJ3TeCAyrjj10Yvha/C QecsCmaZdHH30Jj8/w97NBH/6XO8mMqds34L2wmuyOryMbeG2rvy3MusFS32LopoZt8itxqtQGhO wGS+eErjSxJehCtx7vhiSM3ynDN2NQ2NDLpOXkZBnue9Emq2ttRBjk+qbhQfahmzjX7QYZ6e5lF+ e6jY1Kzakqtlxp4nVT6UNbHi0wW19nv6yCm5bli0MC/i+9hmcm3xc5XOxhQ7/g6BhKxgAKhA0E9i k8cL/LPWS9Ra38EB1gq8oe8mKvHcFJ8dCDbckdAZa287EYxHvXQHhiJYcHOQhqkW3wrB51Nh/TnQ 1e3Jj6oUgNJpa/rvt+gCxxOC4vJV55xjf9JKB1CPa9MfxYN+5FuXSHh/4lPeD+omD4t/7Q86jSA2 RNhiNCGBQ4NmFvb2sIo8BN3hiixjDuI/QXx0xVfp0UTDQ/HormIdVh8QnzRwvv7CGIFa8NHa1gIj d3SR4rKkDj10dahDcaldEhNAPdHXzVrTiWua/a7RCO1t1NLeFzcX6aC4pEB4LQMtYcT8m3GEfOFw SMlTjfJzHIg+gzpmG1MnuEY6UQeqnh6GwJtQnS/dOd78rlCSPDdDbcRIkvp/vWYDZDAoaxnckNCn sm9IWiiV/0OtvRNH5Ex5R3HfQ2AARzBU6Zbxg0oEBFo9ppttSWxfUdNs3FBGEreFDgrWtu89FNOq scYXY4aDIaCEm4BlHl/W6+I0AaFN+vo97JjQxuWoQtI/0cxUc+X4b6Q1CMGcE1VkdAWt2RphJ5Kj AQnduzRBG5OdGeg80jBEk7lcGYjV9CCpn++PIyBcoHpJFjf/LI5BKCO/BT/y9bmq00Rk69DOvmjM V3hRc1jDOdncf6uUCg6z5FT+HKuhZpLnXyiZJncwWWkNpVRuYXuLLNfbSyFsjfh1ucK6d+zm2K7l d3P2W14z+orAqNNMdacLbu9tpo9K83QX6tbhy/rJp5TdKe9dQxFDT1zWgjZFDy7LddhNPraHFMiD alWZg7OBlvRzjEXu0Q95YoDNZjhpJBYgCIyasroQJdziQWoPO1j03IWs/vi5u8QjlTH+Sb/KGKqM HrK/pD/HERnd8FWQNHPQ4Mxd8O7MBCki6ZSHOmlVOIu7YdpVAJ82aIW6CSx2rPI1zH405/bwhlNK fY5NFiPa7CoxCBHawjE1kU1gchoNoNxefGohGvfE+/R1c6NApAlVW0W0ZaE7bdQZojf+wbwawDw7 WmdgUn4K7lpX3Hiift9fJ4HcA6ARU8Nimjevfr/0f6KKXt3ndLqS+PmH8oJFQ4asdIXa9dXlCPgY CNEdqYcqg7jx3Zu9oLoOckxdqyMx4uITOpVLxZy1qafJi6lj6HEHkYvm1ni1Ckn5t/jOlY9PgT6L K8A5eKBu6VleR7aDhHZ/TWFn4/xy7j2fU3/mrXs9TfAOveHYntA8aF6z/lVJ7oFiwEeAqwufF+TM 3IbKzZbqg6+eVSSRO3/zS1Rnh8QtviJLvfBjCT8+v/ifLFk8c+hN8tVBbgkh/UQ3ziT7IqLC857/ ldKGuyS0Ld2ZDxOUzPfzaCi2XKWDRGHiDAnolrpK+u4ULvT/vBK9Zt4VJU3DSF/shviVmKpRmiTv FaehMFFxOsI+89km1qAyqYUWkkgW63J03eb9gK1xvytUVHge2u6wBbvwRQiliH+eI+6/ex0pxaXo 3aSgloYsYJwxnVMXOacdhE9z3SmnTPZ3r2CG9JzsOoRRGg+bPM+MHJJhUqRZcWIPCZ85ffXYqTQK KIfBB8tv0BYiUT+Q2uboI3YAaD5ilkowFeg7giTtA36L/zRAwrWIzqTJjE8ILAr51+H9zfuOdJrq czWHE6K/tDHDsXc9ZeTVqf8O1++lwLTu3wWxscyc75SAH4KU6vdfKZKr3zxEsJE5fGoey8YTwYCF wvllaJLNOZM4EM7zERtMstlYsY+cJp4C9WOq6Ccd1F4eSH0sz51OjPwmYjr+VVp1pNH5ODAoX1Ot wxKPqC2Sb+MCKuJTtyr8G2oqbVl5av9foGcjb7Yvs0SkmCPPJ0OumbWHn8aH3rYbbqeR76CAM/D6 1geqSxjHaX4kA8Rh6KYjiHilaMWGQAeERlpaa1YHi7wY7QAvhjz/xY5As0kliMM0OyC8UG3pYZCw AG3V9KrQm4mJLJ2S8oyphlb5Fo6K2QvLZRf7cydmS1QfM9Q4jKMuXEiSah4oWIX/s5XJ/XuAd33C cy5v8tEx7+MQ4XOHBfbxyaYehl97Zf5VPUpibzCvg+hYuXWCDLwokEiwYrIkjJJ/drHAI8YXK4yo 656cc00pra5I1RT5jWex6/DMaVh5Ck66R8+14f5WqjjDTFO/XaZvwNgDHWg/ovcJHHCIL/j1rfcx xVpR8evOxtdXIHdadrnT9O9VoEg+Ny6XoA1NFpus3cNrJm5dRTKf7rSnzLmaGNZOVb/D586T+Ge4 Dds+xbu4m3+6HPwJ5Pa5EiiVXsEKOEaGNdlMsP0+lVGkooQgkzFchgu4pah4y3FpxtG5LbYy8tgG +C0fOFV6tOofXEhC0fukjEM30rsWDIIvMpvz2aIQHVbxn6OuJYz5E29dAzhyNo54OuczIygRna9f Z+4j4VH/8ADp+8df8GhS4jcJIdKw7gAoVgTTRL6HFySYaaiB7YMovIOCl+HM8zglSXKpPnkf34Ax b0=== HR+cPrwvQ2Z/s/XG04cc/GijI7XqMLfBCzMo4F0MMiGMCS8ghPtFpnaoRw/ShRP7o5ARpj6Cyx9D GQL6b3dVO5ILCyZRxgWwa0zsLzCIIwTI3FfyHWqJ+q9YwTloMsidwhOHpVP6NJ9iS0RZPLK3tG4B PEfrq834NtygWOXlirk8o0Us48HVjThXU+Vuxetl/cLPUKPTfbR/26AxGGl+TsWYx1YvU4JZW+04 LSh33ZhFoVXYLYH4DuP4bX02BCn7716D9E9YJpDLQfiI5e37hrRU0SbGDS+Rtp41smA1J0Pq1nov JpWhy55irJOo4RMeBXjGFvli5hSW6oUwgd5GvtYMUYdqM8mcXKsOtWXIaDwNgQtLju2vSUEjY3bo k6MaPLQY7Cb7JpX03uGV1FDHuMxSUVhiutwPbVAqTSxXjPrIphv1/j1o3PzwDnSGzK+jNTo+ugVo 1y/FsIZ/zYHeQSLX3yshswNFHL8w1TcqO0bIed/8kr5l8vtVEhapBevwmZ3vwMnl+WiZXa7NHVB8 CBxjNNBKLL2GAt2Y4qIIJbtjclEjwJV2rQScWe1ZztZxlum8cMAVoKC3mWQ7uqHZSZu2GqqS+INh lzxnewUnUiLAw5BRDpVNGRw0yiGXTzmCvIUOXWMdkgRUHL/Do5X1VVWCfKCVcw6Mlv9FdL5hO98q xHAn7q8wUVWYkKOsxiD53Zw3DKALx9XP5my0nbVteMvqFSkSd3cAzX5JjoPxH9Z8kaJe91xDYMvP HJ7yjfHlhLXgEsC5aLDCDFQHm8iRSWKwxjqjN13seAGjGIg+GqYRXY/7OJSlmFYHp6UJ1wMTUE7J C8/wwsr0XQ0hQbq4z/mgTNhI+pAn/CFTcdHMOLgAjaUihewmFWv9antg04aGaoVEBaJJmTFE8Q+Q QSafvn9MVzrKH/VNXexB6IIhbUWspJkRUJ2yQwyK9944EMVVb42OvHoDlxdCjpfnVk0WkcbWbAQa 7WdvpCuvOw21Z9GgO8wuVQJTdJ+f7jD/FeMxVQ3oz3K9tNBTgGWq1ZADmtQFBL7UIVmDa5dQyKRY MkXDmcF4rUlg8NfaXHLvXxo/2mmEAE3mws4+XU5zzayX/NFJRVD1DRTq0MBPkG8If95kqX5W275f BkS4+LXuE3q8BL0R9mCg+s2muUA5ywmn7Hcovu/2ML4o+VOga/DuhBrSOIWEUDsjFOZ574BeBwj0 8NrwcsGHV5Psix0JoMIQ9vJ+dNyBNhfQwIx0tXNSBm4oMFz3i9+Is3ucytttT2suAyNH1IikSaac b4FfenZ3Y3lixUMYQeBMrNPH5FERTdyKz9TlgGGzX2X7n6Qc1F2LjIn75EXDxCXpMatEjG5Idet3 0JSH/noUdfMUPhmsy/UEWle0+7Mb+zoMMjElCF3EndHNxQWHGKXGVLwY7E9DmOS2Rb0sbgo193zi zAcdi0yGa8HLMT08OAv/Oc60+GIEJk39UowSl2X1aO7gAmaQD4/zRNNM48ZoSWlVAwVTKPYVqw3t vU8lzzI4E+Sq+xRtqy7wqRCTmsss3k8AuYNP0yhhJg6aScPBZg48EVIOw/lzVXBcL8TeFnXu4zAS YGg7z06MKMQRPn4eH3firuH/g3gMLVkgqoehv5igtc/Z9ty8f6U8oXAIYeC/JY5nFf3Z3tmhbnY3 DJABKleXFpYaYys2q1KAiRdJq7exswobO8O5zDoCzYCVa5XiySGa1/+gf44JOkJCi6qT63PYhoqX MjY71wevZeCmBDziGBGQEtg+XW1mYVnoPFnQObYJ2dldeGm8CJJl9dbIz55rLVRloxP51MjT9fhr /TpRL554q9/0mMOMGU+uvsDnuuDDjfwZIsfRvlRTa/zkcV7gx8IibiL3aX0f9x8mB9gBmRwEARFc sF/LEJMERUMIHx2iebBLt8aZP79/L+Inw0Y7kWhk3qurg8YQpJYP5mkRUboIWGqLCX8IZgHvzDmG ImjiBP6uIy71jAkt9VaAVTuE2EGNvje0wk96oHZzCpystB1fmqh2H1EXfET9Vc+wuSUtU0LtpQ/5 bgUBfdwG1nEB86yP9UnmK8/aonDzMAkrveL2Xz57wuiOkLGVdVB++xXQYYPGHXqOVVwiNzEpFtLj PDHx8xKwEWJ1+pR1Oo7vWCFVduB4wKL4eqNZ/X19geMHg6JNhtfQwJC0EdcBPchtWG9dJdJMggRM rxU6SGEyD5nsgN+KRObLbI6ygM+4KQW9Ue0udrvxGUQJLEh3s0axj8029doEYdnjfSY8Q+e5TcPz IDcoJqP07BMak2TyJ5lMuaYAzYJ3LX3AcYZvYkpBbrrjCs1hLRhqXgU9EYeNzA0Tz1ZV/o2AJ+Fu bJvmYLMGWxP7PTiwyXK7hRk0G8063BSs9A1sqUYHX7EFfAzGlerJ8tQbzPVuG4UrCf0Cwp8YibFx KLa9ygejTZszseW587ZmQLrmatz8sqidJku2YNPZic9ywt+mLMWpYLLNRonDRuwYLWNM6QBcKx5b ORbD3eKVmJzsmndDjU4ft3zDH5qpjgWh9bGWVRU9NuwhdKznhS/NutzmIsCEtuI4FaWfwv3GW1ix 9ot3ByY9s8J3wfV3qT7Oi4oC8CcMix1U8LAnXDV0M+c/dE2L4VA33PLf2h5Qtrdm4cu0/BFF0Omd aO4Bs7bqovzFS0PLwFjaE2/IN6qCLgd0nGdQonxGjhydQ/k+wvZqUDRB25IpXSStXKIFuPY9vXN+ fZW3y5NS9BCWDqLs1sp/e09bD/kuBAj3kFzkVBS6MXA1Zqah0wKJ4d55fxp74DquLoVvDC8Dz6TY pIopfHyVV8jmeTzLZp4HGZGWrgEWY8QcgANTG3lpbh/n6QMexAqz/Tet3jGuUfIzXiKtSisFjUxz 1sORVSDhMFGokHXQnWUIe8GiIp561ZTRQfX1l0WuVN5xUuY2LEEkAHTG3xPvH3COOv1BvQH2ake1 rXUgxfxsRSKDyDDRVDY3+HxvWTFvTo2s8ePvjzxNnY+ZK8dbvhB/FyQgLpth67Nz2risfnHCDDD0 zxDNnh54lBrVyGx5eHsw5RtYTo2gJG3IIzEhs1p+vmJF4h6fE/jDJM7VRndc6vjUHqHzQ6xrynsB 7zmhY2itW8TqXfOPZyDzAGx9QCsPgiEIvsNl0T1HdNwkJbFe8GMC8PI3Bj7Sag6ThlzFcH3Ds4j1 dISdJGMPXXnXsBskylsiAHEtL+zC0zBRkWVb/cGCQbZ9ji2ump5IAVQQTIJqGjwLme8Bu0fykkVL 6m94Ix31Of2l2Rtdy+D0IWoH+OX02g5GXwun1iL2U7niBP7T7MPSUcwYq2hUgPqAYoDL5WVRvbJQ DJ5jZM4LtUv9LW+8C2q1AaYIx9vpWpeqyS9vzPNbI23UzCXJDQsQ1RQMwYgjqp5PerbtN/4pXVk1 yGewODTxw2bEJkaKzm9GYX6XryZGsUxDLX8FLDdo31pRK0I9fFRGWCKrbrQjybYikdqYMrWD4UL7 3JVoXL6C/J6MG6dLKLLIMgqVU2uFwJztFRDg7arggMUN5TPLB1a7HC7lG9dr49fEnq9MPiJuvuyl 7pFR0XmAtLbr1FIJmZLEe3jray6eK09M/d0OcJ3jSNIgoCcO/cxUOK2jTAM4VF6Sa6nYPIoVgW9s c5NnYVIB7E/67FSege1kBs40SYdIZN0XalLOiwG0KFSIFbzA0GSpMOwPnoc6PK4lxIlVchNs1o24 wTXCWibZXptA0UI3/r37JLsad0o58KISN3r/UQzN5UmdwtVKmyrDIsMqARcLuCGu3MPp6LA5XgFz gilw8N7/wT9w21dHOZ3vWdGQ6N4+4R+QYdLls+Hz+kFjaHBMmg7KnLVAk1yrbjy8Uc+Ronirprmi yxwPk1eqjkA41eOIp/eGmRQkRgOi1mULiXEiOmUz55j9Pvu80NgN2vG0AM2U9zdlw9pz0jqQBGQL Pw1f+uAQaBBx/NUqY8zImPQ5QD9s2NkZH/eqKMXDkiqTmQ27+kcXjXvpPiYvd3H0q6H+ih4c3jUI 0KrNZeg5zHHBQNpC8LjyqMCR/nlcB0gJX5rOkS1Yt3iKnaVdqeTJEbDvuSJW3O+iCCfPaDnfQQyW xC070Ot7/jfO6yid2huxrKVbDtm1TSk6SgzbrbObxLz1Rw5lDuCM8WFWIch1jihILxZHAiukdg1B hM1HaSPA/RBrZLe4M5q7p1gLzM6TRAeNDwSkOBRJNn7kzA+0Hst5wUnVbIyNPHbLE6ZxGwP9xqam 1Cmvlk15k3tpTXd1xflK/0v+lL8PhcgGLptlSNExc72zaMeXQ/nv9OGAFpfbcBCjqtBXdPUo6Fuh je9QXCLCpXPKkzAXFU5d15lKl0PMMQ5JFe/G4rrlqDjBUn40BH9Pmzz1IPcL7FXXZvP2H5W4zsPi L7Hr55yvelYOQLwniiJt8Re8wOWEwI9FVZ3d9Y2l69iLHCztoLRif4/BaNxnjI5dpMaZ3ozu3nm5 Ae2/6pQlTvejXiw5N9acP2HjyYyT9Oua2hRTjXIpNVF0byfSZyIiNTXENMEF2vghIXZ+K5vqr8Cs 0HVAhYrAqsLpY39xaJFGoIcxayjswaLewo4XrT2DTzXfhPEAhsLCT2Tg7Rj7uZ62F/N8wRgaf19k tDFg9IYkK7gD7VrYmbz2DHVeSwFbeFopOkIBsTMOZViRUBc6edoO/6GUpBJrosYYjcMAJXh8BMja UnzPjlqT3edc9ErlNYMoqqSxelo0EV9KmHaXhzM2+esSwxFH4TFCeVwaieSlHdXolqLmyLd36XDH zVMj7yYYS0OLJxBWVqXdwOqJQeeG5YOa0vkXHMWtZPJpIqcoGOFCPKQFcJvJ4qR/6xIliWK5MYgm QaZ2D3izesOnINNY1JVRW1FgnwNqCSZv0UrtmhuK7Ijqk2iY+9qgM/kRmxbC2kjuhgUQi9KxOg1W cGpOLXR8dlT3Kk9Lm1Byh+mGIHHzqLOeH9Cg6rFv8HODfPP4y+VeIcrWUU4eUyzehTnzrpGDWRrj MGM/d62TYyCwfrzJg9w6rGCbtcCxGVBhk2Td7WY6HIgDoHJ73MheW9VFM1UuW+WUNTnXFHn7bOEh Radg8epx39YgWco4812jFQf/uOG/E6ickJjIuJPDaGF3YzcTN0Ai0HK/nvzpNU6Pq9+UVSKCZbW3 lHm+3tb+pcnui4Wo5QZPrmP9PF/9vqGKFNvK+OStL0yXnhJl1+gbpaNU3LTbq5TZGLpWS9Da8Pdr iuSYnLL5x+ktrdBMZILMxrVUtvkf0BLdWE9+34e04IDYyVKnb/BVxCiMJs0DPImkG1jzVEA2Y7AM 1WGzfu3/EIoJRC4j4jruw48Zlz8NRrHKfYucjsNUWUA6ddJOSIY1NP5Z8kZEm3GDEnxPmUbCkpjD T4HnXoDLYIXc5D1/y293vEmD2LpG7BBaM29k0WBK1qHqYmzC9eXy/kXVMudhYtdSmsEtq/K5s/gT aNJqNKIOjtV0drxXnnrJep1JHWFXLCL7MOrWfRoUxB87baUNxlfHBJIx17H2GDHg/tWQcy7150EZ DR5uo5dUgOO9vuvytUsTCbLW4A7mR1eTjWhi4iHuvhwveaDHB8W7aY/oQ1bFBhSAvnUiSj8YmSvT TjwJBmwFoWEuJd5zUTbBpsPhN9cKBR6m9Ne1J+BpLe+KpZvEnENr74I93Jzk58UFLfzvuGcfbT2P NBOKfumGZcYhfYlSGVRlu9D7rhq5oF1nfRXEPlJCJ7hkNMaRLnlAtxLsoLkI//wcjO7aTVJZA05h pzEmwNAp+9ZUL06pttfM0aNjPBM3Kyxzjthw0i+E4+ITsghAEQaiMjcVX0EoqEd0xvn6vUSozScO q1WmQ0M25rOELARfFtfDMmf05mNKzVguXpki5dNTPLeAqCPxzeYol3XHKELd1u+QKJGL9YC78zDH ONjsDn0HxVGFUO8QvY7/3gVXoklO1+gLEwdpLg6+eQKYjB75xvGt/T8tbc7s1xkZj282MZ/oFpZR WeqCE2SFJYB/rDdqeet7wr5pDQeUIVY+Mv1bU+g8r3TqCZd9hpULsXR89y5dP5Fp8Fp12BcWc/mR zvJ/SL0jB2nTJ2V3JD9VK78ekZxU87+I14QeNPHjZ+/7XmG++985POUTQVMGCgw7NvMvzLcg7yAs kTpoMmQ5nmSgnbqe2XSsrmgBKbKVwPRfUbZj7YpW1s6K+GnX8JaBKX2/leYZVcP78tyNSbJZ5oMz wEr5+y9IzbF/PoMxteN2gdbzxoZA/o8MSfcVmB03uIG8IMzEmYPFaxm6pv6RiyOAzWlYen9GXRgv BCRZR/+V1sL18OPscT4N5N3vNGfw9PwICcQgaG1nanbCatYpzD0FsneuPb2EqFaX+R3SZD24bR8d mTJyxPP95Tme81CPb19uPngRnFQx2Rb1+se6b2qzflo7ftkA/6w0KxhEA8HnDoVJIlpQiaXzpPP9 E4DTunz+idxCR1DCp9RaAv/udpfQINMmYpvbldr5ZO3v7Ogxi5+QWwZ4yVIG1I6iQjI4Ii1pRTMS wqf9EX6A4+LVuI9nfgfSBEZ/vaRHWsdPoSCdibyB0VjWRswAsOt/JrboYqCaNMYGZ6LQY3ReyFP8 gWRhs2hUI7YD0Kvp+a1PEC3L8eUKbEQnd42q6V5zBkH/mmmd6O21j7/IuUXW0FLQTDgolJf6KxD5 mMkr5DggKLEniDEwWU3uhvP0JvmPzdeFqFFflqTxmLZsxMQAu9idAiCBJYnl/5Ck276FRmyeXpQA q8UJIxi6/rZlaMivfNc6sT0oIgLG1IgSA4KWEFqs3cATPI67Pc9Cxb0+5ATz4F+uUApHKocCxVNq 244+ka+/uhb1dNCpy3kaqYLUEkOlH2YPz39DLX901M/XUpuScayYRKnAoPVexKMZ1mRsvduhVtAw gM2qnSPk7SE5F+hCwsnxtodZj4qIkuZHMdeCV+/xlNifozeUXJ0nfaXuxdjEHCp1AdxwlbMWKNjx BKcnKXq0QNkbec6CWpY2HVHAFzVZocTm9UgdnfMHm6kQw2TmOmz905S7w3PSXSXeYft9uPZkqXmZ yX/05XAZNNoNBZ4XcXenvw6nsQ3oUyWpWPVLiMUNNugrTDJUiH79YWPWXCdBbH0N+71wdsWjiMyV rs+fHA2n53a8rBf+WAaSIjczyuyWBLKiEh/W6LBRpiKao4iR5ZxjdObb6boZ1fFONVCUpxYNLxHT bpTUu3abYaokWwmS/iK/ezGAD+S5fovQUocU0Zh9YulwTpKSACddKkfwBzQoWSeDHEX/1m+JKWGY 2qgVBFCMWA9tYRY+7rHRGdknJjcZrZ18vK0jV7DqbPTt04CcS5hEORNZOeOOMpLC9X2YPXjXt0ZE EDEaGhCN/76Vr064qS+qVdYFLb/j46fYMitt4/WtOZt2YPLKh/EmvlSvDqWdW0TSDIer/t2L8Nbi 0W+oI5g9xy1VYfJaM0vy2DnOoDYCRnSKU0g0nWi89gyE1x5Vqfb8EeTexH71dDTGJy1OCXSez8/Z X4LqJQIYo/XsS6oVZ+MV14VtfipTAEF8Nep5oEqIv0xMcOXmeUxvhlg3PjSYjCWK+FdjCt35QHbS gPhwNE+8MouSP2tZ1HTb/zjP3PqRUKYIssAtNuKvSEpJRFpTjsx1aTCdwKzy0/rlh7LNvOdCCtSq qKelJzXUjbuqHpk3vZz7PNbpSgC2HOKeBpcaDM1Jf9RTE80u1RFb2pxCy/BDAzfTRmyEOC4m659m eknZnRr9U3hsjIXH0+fXyHrGFHCTDJeArUORkbSj5Gxex3GlD11JP0ESjTgDnh7Dsi3v4GnAWsy0 h/CWI+emDHn2wmwp5zS0wnUnJYUXSFECFXNLdGFu4nHHX6VpAfXcBsm2UwxX5gzLS0qv4EbDlaEW k1UcQCb12eyQ9ufNZhLHiXO+gK4oVe5hQoM6CW7FhXFnr0lyLkxpIG4HGoXnKu3Mbk1whHTw4myC euhmoMGL58O8fTE/vDTHtaGAqRuvvk4fxmcACtutTVw2+o6rEbtxRjkwA96YwDFfOXJ62Vdh6rvC /yWVVcAGTft6A0FciGaovNyg50JwyeJSPb6+13C1FTRqkwzWM9vq6l3/FSQ86KgDudP0n7ut/vV8 PnXZuNlDAAfkScbOZuPVZ8001zFz0QQ50COMwTfXAHYj6e55EsXJA1Zd7FXxwQbUW7QaPBQZr75e z5FEHc3rSKo2YwRQxpc6Ess3gJA34vnyrKNKyHOAJHl2TU0UbhIY/smtEmiIFIIQPyWhvBoNHWvr 5LyjpwEmb1EZT6/UPSI7u85RVl//aZJ7srQ6DGniECeMbXhtvEwIkoHBQcbvy4nrEAfZuO81xNye xA6Y3BBk4fKzYJic4gHtjSqtibF2IloBfWHEjKfwgkwZPgCmBQHkGcRV53y/awhsIuyDxKBfOvm4 zqwA8HMwjyBYuW2fEEKfH9JMof4YUzbTIJDnkvQ+wFRkmwGQ5BbNRlHiIa0vZab8ktTg3vF935js cXFT8hQDjucUUqlCyr3bIMQj68mptXGNw4MbuwyfMg3K1BxWkF/IKyqE3Ilgr4RNQkw7IXJmrHih ziIwJnsEUr5EXjbnjR8AM0hhwVK27PxZmdc/NXcHuNEVxjT2RC6G0zmLqU7dcpC9fdFg+HZm1mwW wALTZahrCVRBrbgpulg/ULm3WF3gOYGWiWJyVhBCmsZeXvZk/ClvMixaA2L51I076PB3tsnxgqso V4COLAHCXAC+TeMcBgh1Qaf38w67hIp87BpPqEeBx7rMBrS+pfQubublY+xVeZT9NgB1+VOKGU3m 6X4/JvUmfCePH0TVe+Kgold4AGgsQr6z5NGA/infGxNHpYlIYC41yor5xdY9GnfO8Mw+XsXdPToh 4N4Dsdnqsnb/3/HfOiCPRkAb2rIB6z1pHPpbIZ+cjuPEADpxpoVAHE6jb9KwBng9AbejZjzpIEwE Sp2vsU22s6mC0Qc/0vmGML32W2Em5mGvD2Q4g0Cdpg3hE181najFTNNyC0fIx6qOf1iWyNVJY5RC cMjPpGcNxrA+34fZg2A0S+wXouVIsC6mXF4EnPumTHyYZCV4Dfe1YR01jdC9aK/pJe0Goh0AB39R KSRhoId+6CDnN02egcVFSNINnXbHIKDt0cmBQWHS8PUdv/VORqdnCgIBcGL/KZuYcVtxV0RaZ2Dw QFMPCFF0ls+H1wEEXNYlWE79MIJJYB4uXs4ItLB1hO1IdMpXyP+bfylNy+WJXzeus0EwzpcaJMNn /c2BKIfjx9Wa/U8KVk9rudPAKIa9XgwPzUnwkREE6PirBK5m1FnltHm4X6NVhsYfcq/pc6K6EAft ENr+ug5tQ9oX+XIDs7wjqWqvXoGF70JuVknBNGIdfu6Wbgr7kUu3QYI5hIAaf7qFGa/tXot7FnAo xXdaGklzBYWED19Ohp8FqGZ+0dpRa+WoIcwQAJSHwCJf1OHiDMXCo6pk6C19L8gbFvJq0OAB5QlO AaozU60P101CJtkWgk4tJLWJtgyC17o5sWZy0ruCc5wZb8FFfNXvpAMztWX/mDq1LZStw5WNzPZc 05GjTEbC6n1QvGXkHdxo8mWsoKNJktKv6txbpRDgpMoOcfYZxKJjqNlzpZwcp2za4TPm7aON/XQD svol8q5gXBhnv/l3t5laqBL9CaOAYHX2HkMMsC4WgZu+yuD0xc6c/d59s+3IOJfDiE9s34ewzZ7A oLKMNAfmUkJSbvh0nXn1WCy9wtG88CmCUGcZ+fQtjvRAs4D32BYo/D7qLUVvmlSzzdiHupZadjbr R28C/3uLqbbIVlLnJ30NUrnz7Nk3+JUoMA9oY7GCZYVo091YDmdAmNsFVZtY7u3EsYiBY/uMaht+ QZlA4BuEcqFiZE8amZ5Jkyr+LnmsybW+LODxn9uGW4D1LAbIzUdzBhV5QI4ZoIeUIgjEY9I3hGfi hS+BrQLYxr7cAveznjzGBZdpz5a2VKNP05Zr0GqctNAumv9h3R6GXovWIxTs+xO6bnPtqlqv6JgM wwiH44cEoqJ0AON47sESW5Ltd0VpFl75PHHs+OqIbzynZ/tpudeOqbE9tyA1N2lfb8WSlJU9jqa+ 9fKv6CGts5CoG6LgsrMm+LwM54BpHbj7ZgjFR5lO299CSv+sDNC6e21KTO4AS4uELnJpLXWnp+rc +YHR591BX2emoYiR6YixGkuomXvNvPBOlOYFdGWo770Oreau5HydJzPPmRDH6/PoCDMDiyIp4pNa PJPl1AQyPRoyvprkbP5PK0cgPB6wGMab8VhzCQy0EngIPKsqsX4FTakuqSSxAfuP7WvhohGh2d3N Y0DGodZvXFZmMcwTbVHN1PYY6B4kKPifWhl3AswOpUixJDkqd5faUEoR0Z8OU8I5DGiry9lqptNA esalWychkmKQmxpBTcnolVqJAgAlnXh97y/I+eD0VtV8sLdVtqPXW7DnYF2xXQBCz8dOLWl0wc9A wVMeHvehEEHrX+AG2NiR2yGWQzWkp3lFzfdTiRFh6vu2a3CnigXazBSOVCsb2joOjjKEAp3UX7Q8 WPNgHiVLzp63t9nNBdko5O6JuETl/NLTHZq8x+Eimm/jO9B6bB1x0wa5uR3As5CTKstcqj4q6aOS LlRCyDsmE1SUa/TfYSg4ZfWI8owgPdDr1MXVuGKl1g4oGp4NbP6o3Y7UbgLI47AlsvYTBH8aNS2u kYCcAFoWIwE1L4vk7WzLfA06DzGXzbdCAE9YpljBOkT/BSBXjYJEc8/QUi0I0ZkvxN7IpmEp5a9y s/SxyrdF4b1DFSALv/9q+SPyjMj4KNfG5Tllvfe4gIgwiAMBxg0UaNJ3Pl/2yeFz7jpZmf/xRBZe kWyGazvvlytY6BU/tN6INwZ0emvXKGLJdQT1qdiXC75rRl36+l5hBcxMhhSof5CMQkcUtdiMLoJb uRedZKSlZ3QAbLm6MjM3usBvChh6v6XZmVF3njiC4iwgSNPsQRruYCiHiVwb04CJloXU4k/WeAfy lHIVsO1N2P9EGgSNAahNem+sQ7b2bSAoMu7lfIXpx1QqsKI41TIVz5v5p60GlAjKcgeI4/Lr4eOn 37pkXYkedwKkSdEl9FVgXBAN7UxNY8hfuwbxMWD4rAek+mPSLAeYDVizpSHli9iJdLHfJj6EHrdG v1S274grPeCGRA3+cVbqgr8mc3H8cr1pXIr70L2weFsEZZ73mvFlK/S4KwTwfxPL5nlddCHRcDzV zZZ533ljaITHkDabwjDPTM5TpQQPdrmCmwxVNeyYgqU0ITxrU2Qi4GCsLbiaRYoQyhwQZ3/9oa1k ikwZBYxW3btZ4Cn/jMFWpOVIefm9SNJVCcY1ZYkEuUAZAGP+2EX4cD5zXBbh6BG0j70YqWckZf/x ebCkxuSl5Lmu7lnvhvE1GGbaRVlTEbkDIzfM27kmoqRIpcTVbhTvhbd/TbhAYjvNjbDttmxVRlLQ f6O0/hAGApGAB0c8T81uZjbeVPhl6TcrdkiFYAOza8A1PU6UqG9eJ4hlRuO+M62CEQpOdcodaex2 TCMmts9VLEP9guulaMjZqRyS1yaUjunZsPZE/BSXKhk0/5Df3pGE8i+B7tskwceT6vkc56/CynTi nYPF/YAkDxf/m7HYfNUWnJai/0j/4fksHPIz+GacZGW9hZ1gFOSi/xKcOvdfGKSbWNOGPaIqyj/l uZORn7pI/De1FmVXyj5nGPN9Lk6yE5ek5QP3z2Bhy4eq4O3YlFPQxzNvLzRj7dIrOe1365IdE+6y cXMcPoMgFNxWyhxYLQ1FlYTprSpmVGJ+OsutWX/UiK8H5ssKvhkvU4V1p4134LLrqN+/RRsjJemY iE+90umMPcG3PSg6whQcdtAC+ItmrY3jKThSP1uO76Dy9HW7oNrH/npbd0+ba6ZcoO0clQBzTWx3 9GgSigcfMnLdjHzmZpuO6ualKf1o5QaKCXBXqBLJOfjBiRe50aRp/2zHBDlukvy6D4bL1DyHyJMg 3ENPMtA5wXijelNsHDN5oTTxzDHh2OMsjuwOjfb79Sh59Hz6K/sGyorbCzIA2XeCJ/NTR3zxcoKK 9ZvX8ymryOzof3WxEXSuhV2PlnJB+/rhM5PzRNEl8ZzMg946LZUBLYlKZBA+JG3MX8SL+CW4k8E9 /YyzC7OgKqJBm0oDUYUkCrDRaD4r58feLJ1NblzTdP8F9GKZv4IWMCnY0TVjFle9kQKbH5ytpx5r TtFGiuFz+eIIHTp6ZPeDjaPOz5Wg6BuTlmmz4dn7e0UQl9xhrulwjqp2B4rXq6sHsZgJT+wapHlg aqb49Ke9oIn0KeD8uLEjR7kuNdFgR7hqhXRKIPbVOVx093JEVyKOLbGISBZTvQa0xPNF9OCqKS5W Vlsx5blvOfbVw0c4CZ4T9/QTVn0rOkCXydPnVsWFzvtqv6Z9ryFfrhG+kruf+34qHqewln3EFyy4 yPpPrf33LbCV8qSLCctLNbqm/o03/IRA+ws+m2rDOKKd68XzPuSIB+mX1n9KNhzoDUhzQHDei291 FRxU74edH9NaN8nviCjGx3x1EopGRH4zvmy6WdOqYFBJ9GKeXetpPjjcC4gp1yLGknpO/rOplB6m 2t9saNL+17q8dwyfZxjL/Uw8WvimLftecaPDd0AZUttRsOpyUtfSEkLNE2+PsHhr7i4go/BH9lWu rnwxz2YzgYo50uj+TT4w+V1Pbxe1rG6L1BV74I5D0+4izoqaUxt5RzVv6EO+lqkWTth7VKc/qps1 Ut/ow+roV5h5CyOnDXvQPRzHyweJFG5qKr2T9sFIKS3B0xR5tf3MG399EtctD7SGlVBLZOGiHR8Y biDJ3prya9VgFUw/YvfXJjx0VV46BpJddAkqLuhZxIVPhNIk2vpFscG0AYwgVzgR/nHkOytcxd/P dgvfx4su5pENOAOrQXmLjs/XgH0ErghFQbDr2WbWfQ3PRLyppjV2p6vh98kqcWDwDP+a8K07C5DT dW2nnUfnkto7UTZjffeQeGD1Tr3QHMEY7pvjqix8TBpPGOPLIvux+UEnB8q/f9KhVDJKJCo9dtAm lyb7Bxblam670blVcWIbixVCFeZse1h/6BGO2sYXb4m0k6NrU0NLWQWnfkOZmroI7VXXTK1h49I2 cMYCjWthc7VmNg4TNycZoGlh8q1DUly3u8sdHbElXZwkPQfDhT0V+G1g7RV7Av2mb55+Satspq4W yZvM3lImlsWBJW23QMhsyOrLr43390rIdPhc7zngy68KWuMHnnFWFo8zWIPv41qBOAziFHQW/KAc 8/eC+7aMWBqU7RJm/YxSRYrJbENAcOWHYcaTWSIZWTD8P6BxQMaj7nL2XWfMaILLPHBGzKQyE5uS z65J8SakYNntCheMFpEnnWvkobTK2GsWD9jyljhT1QewX0pF3Nie9vj903gLpNkh7NRJwVKTcJfh 3YGD1zVcMTZcvzFfWA0W3EQZjSRTg7Hh+XFPFZJmZqI5NGGwrRXfHh5bkY4CMld7xY5K/vTkdOjE xSG8CvRnBHDhn+lehreMWN1rDZ7/qgmCg0BindFfX8Hm2eQbGyzSlxLFiMs4E1nnQmgX+EjCdOIH SWjcSiyXcacxIjU6sWV6BkJuNAqTIvANkH00LjHRo/gwgFg3C7+QN/taE3Rvys+sV5/OR0MUwzcf qIi0OqqDoIAJseNWqmRI4aGwZdDcEPK8cocUQlu/rjaSfHBIRRqvx8qAzJvW1/x7Ypv2ckU5a+dE ihW1s8qcIMI5hsXnGe38VQWZgo8BjUiCTxjeoCvN8mMmACNj7v1wN1VNVg8h8FJen4+KFM6jTDoT aKuMrwB8ISN2anKU++yoO1c65dqKENvA+VA9wYi8XHUUwzdX70IiWKfUacfsXcLIhAvVe2QMpvA6 WwMsLdO9E/Sn6kFPvCcN/2z+GwzMXnMf7YVVh2dBt1MpdG5FEGyz6WoUYt+4Ei0Q5QsjyMrhQJqe kz/b1sYTZLAZGZ+w9Wy7wFDnv+B+NlndUssE6/adoQhLSJiU83UGKcaC9SMiW/NZ0CQUCmTJsf7D eDzR7Az5WGVwGoTHIcp9tfSE8Ps+/16T3+lJVVYkUYz60DFe24JsWSj3bwCPHRP0Hmc2Y1/RlG1u HOMMyzhBdsGEBn+lJ+/MT3kTOovUGrLiiNM4GmhDOr/XFJ4Hwnh8EZJYmsrvdxcQD6LDnNZGgErG CHDRIx4l9tP02BD7Q0kcghIm+aGMaTDNL4NtfhTclXGf6FtglIzGJDRpukKr5d/M2Bv6ieAJS+V+ UUNbwAgmmEn86T/DIlZBxDzAuq4fJM4eUCIldcerJpyhp/mPNGcrzobEp8GG6x33Vck7v9TMP9Pz tkPOoSxqPEv3/WEkmG2gH2rR757yblX3lWP61zptGFPFgQKildnMe/k7Hj4pM3fCMLy5Fs4l4hg7 U4aGaO+4ZfpJ+nih8E4iYdTBAN8rxvVk9FCdFUNU8zp+amFvvEfPH637ljKuwnIDxql/gy7t5Iaa 4hA+BA8xScEaj5/KrWuTLDqFOiXVKGguYyXzoqV6twieDXSUJDM5Y/u+adZ2sKdfh821vPkaZzia dmUXIXb5Z3a57hLly0EPSWGD/g37s24+q3jswfdul7Gvz2nT0ZC+v22Guonyj6l3MAWM0LRRpmMU joQo6edqSJx2GavlUxGOAikW8UmmRQu2sgR7p9yvSDxMsngHbHUi03QmO81QoHyK2Iq25PPBWarR o49g6FfBv1GcHCop91qDSRT2NuTOTDQhTTymuhesE3FC4ufyQ40ruEazvhjJ8WczyKivWYf2ZSks qhMvJGAPsQn8vv8EgeqnQHbXC+gBk7KPuZE3WKxZHe+ECo9NJVU9bqDZ2VlZ2mMta0lLBwspsqby wnyDibsOzWla7tkIX7e/JMpAQr1Fn1lcp3/tZ7c5W5p7+6wniOBCtHPZzKKRY5u24rPH0iok0UhW 3j6rN4Rtae3zwhxhnpd98/c4TureG7YPC8qrwXm5a9AVpjwT5dW4XawJS0yqEzHo7OALoHZar/Qg 8ISlkjM5oCfZSyyMOI7jV26fiUGJBME3TU3GpAIJjy4NJe1SC3i4wVUj7aERRq1iq35QppD0WNe2 BujE5i9afLGmnt2DBgTQ2t7Xsp6L3rDwTxoIZmxeYieV24QrixpyfS6c9FYvEVzY//LJobnEkG3w TpQdH85HS+xjihDbqnQT9ZNEVTlPp2vE6DEuRL++pt3kfY3qxRkER9pEV//oQGCpZz5Zlk6RiCk0 zAwmQT20EP2C8rZESrat28z1y2GCVDtaRJcNLXruxSv/JUS3ycKzAQlPybBq3of6Ip2FsWRJ6+I1 SxslW0a6CG25B5UzinYmT0/aHanPDyllsVGBpTZPGOPp3tJl4UMtKFyetAUTCRuw8jith8p0viXv JmTyYpMO89hdgyjc7UmGhqPeGaOFzMtpH1Cp11aoZo2z+VnkS2F/hY/N7wC0ikD4ZwQAULCWDY0l W6xsAOg8ICwYQnHJRwijdsschXw12vkz0rM+szT9lxr1X1oRLwqXbOr571+B6gnI/uY1fEtH8Dxw 8W3vn1zV9tN6nkFoHVih/z1nOng71M7qvhpipWjBKyXLG37tZbrcgsoFsMr3/TxySqkWy7ufbt1W FweUqJb3jXiKuDtxibuNq5wsbkJ0LlVtvhIbBlax0GDS/jugJHk6t5UAp4LNEicWy5WRFaoanLF8 JfG1qCAuQMZcGMrJlmYnNgN3VemlozWVacCh/hZuaMm6VjFMEw2ziydXKlTZj1bJtAbf7jz0xcF/ 0wOaNmo4AJ5OQfRXlC/jWCpIHV/31JM6Tqv8NMpHrB7sk5wnUuV0ChBkimMv1ar/1Z97DOASBEz3 4eNAx0wUOek5afUqRrZcsGUFuPEZa8+wkxfE5ge1L4RSEEfv+GFqm0ZhWoAk9uW1D/+JSp91Lsx3 Yh+k0RuY+kHJnp9BDNeTS9jMuWvz2gQ2h/gcVQp/VlsiL9xptIY76sgHL5vK9QUDlpCjKR50wBLJ yCP0C/dtNBJBmuQ2SBvjCxoMNh0/ZbqBOOXGEUwLw2n1JNWK2OdbqbEBCukTIX4WPF2gedBFo+sK AlmfHiQc8oQiA2JH/hbJuXMDzYAysrHEUMZ7lHKoD5dBpH8tsKckqRnHzQ6CitTfmdiFGGPo5M79 3oxr/IkuXI8QOQjHLWcC4LZiu3iLA0M9jdqhozfgdz9eusDplNHQEF29tr2cOqfeU8DDPPZ501Q6 P4JRZrrk3J3jT0kU1LIV3KirG8UEe6FvUfw/pp75Me284YYpqwsAyMbOKJ2RAigfQi8K6/016ywY U4fY/j1aLSkLR2gMK/0sWagxglUg9tUo2Md8bpDF10BcD7udBeeVlWsKtSI/5n9LXhtVgVY43COt 5YwMJffImXle6hBsqxVKvWri+0b0vFhGxfR6JYUW6OgWgWACWDVSGhAM8smXhLSUMsYBg3DauO8r cc4YMgVeFRQjSN8j0MuBaKsfLIVS9HXRvyLUUkksBB6AFKy2olW3D2MfqtIbO003s8yEqjkXhv/j psBwYBKeY+HYIDE5ZB3oYeD0mUhNACWb89eNo8u2YJq9yIGNG46T89ktdX+jW/eE1RKbwqOgIVzN WmfFrLVl5VBvPqhnSLm5bX+abpNp6QQQim37oagCaydZXpV26HrWnwhJzHtVs7AC+jS/S2uYh0lf jD+PFN29cgT8L/qbuRkQilaMvwan3f7kcY/Wa3a9GXedGfwsEVHrz6rhJHoQxiMg1F683TB0pvVA +PDJp84X0N7rey53m4t7U1Y4cdW6N80H2qiD60cogRvdkfto7lqb/nPtzmqqde/+TzEWQBzNTo6w 3y5oQPnAl/ZWHKxakyIYfqjGKf7OdTjxGT8H9Rmd3tfeCLY9tBBH1xvnPlWYivkYstxHfZOeKR53 MZ1a4o6yQMAPYh/p/mhjvJ1Lnvhxg+V4ccjl/v2KyQu6GE6Isg7a5cgdhDU3xNubiNCoUVd8l1EK w7B4DNBfY0VjArcWtrVIKLDY/7x/4m0JDeAdXkRJPvQQlnb06ArzaXX2kelMoZ565H1ERUkK75ga sNa8GjG7r/+R+WzcQNHFGLQw40G9pyDQTV4GBge+oDnpIhpKVjwY+rwtHBE9RlS08vXSx+7LBHIk dBICx03oB+yzFLzqxVjVQyJgsSFo2DLFNj1CkHphVE7VkvlVzbkzE4KPdV+UItaLI2cVMUX28c7Z qPVvKA1lrnYC0xNFgI9D8RY8pOgy20eJeqlsVK/3aeZRcQ3eVTUML7zKH732R1av++FRVTnPNni2 eMMRIrdyXzQESQYTX4HjX3CZ6DC0yyiRYFIaKHCVkmDUyMv4FKPo2bXg3s/2gzrKOUmDcRfk1c6a DZEv6Qq9t3Hs/+cv+kiCWDzYsO4s0g52TeTCSXn0tvpBScCeTaR+ltVcbwma25R9gerAr+Ui+RRA OSqan5kKn4FRITdSdRQM49USRMFI4na1jCXlRGUNDytNZsyu2s6dJB28fix4yWg/NJLpSDlPHtT6 V0rgSMQ5XOsjEcPacze7J0M0LrrCVtWHfAoAL0kkb3Ead60Y7kbDxiAfJPOlBHXbdW5aH0QEGBl4 dKrro8vf03Zbh9u63AJF3LyRgHEdnTuPYMe27N2AMFzHVvO4WZKsNnjB40yZ7fd8PfqilBL740LO gGP+WwPTkoZ+wvNB96MCZRd5L35pT3D7z4a20X8hCtkHGCvm4Nvbz415lK3POHY01u8focIgKmP3 c0yveA5PV/L7F/zRtolyrlbkY8GJg6xlQS+/ryZzQYVCGZEmRRTKN7sw14auNIGq4cQf8hOeyJKD eCR1UyPh/lp7Ptjui0O/rzqMLRS8mYwJPGRUZqlE2jwIN+hdKKu/SonA9HVU69/Cd/uJQ7HtiQKr U/VMWRojDb2QTQWpQekQjYicE8qftzEkAORzqOL2IqDOCZMdRAmx+9vC2NFWAK2ccUaLzhpTP3AJ X2CkLdtkpZ0FqgzmnIyrPLgFalLuoibvhrujWsnzBtEOg1qmcJy8FSL1citskLfhz7Oh/wMyD7qR PzEyW/iJew54ZI/Jdcjk7tt5t7htsRLk5fghtGyzSqzpZl5UgC/8kTrHHRnVPM6vgeNJxcrRTY1Y eefWVQODDcWZ2Eg8XSgfbPgh/ChRB4JuJf3WD3z2DqpMSxRAQsq49uyh3f0pHVoww/4TEHJ4HGDd 47E0N8ke1UZ6FuxKIZVj6RU4Ahy1TbG5pT8s+4xiZ/jwctGRULC1UBS5bBh5+G/ek9c/+2qNEqhg gJk/PildJPE41KgU1rCpAeZavRW+iEN1bXVnBgRkYIO0tqJe2mSD6qC12pF+bOBE/e3hCwzK9/cd SbvyjTkDQkeej4d3CnKMvkIqL9w3by1kCJyHFkAJVrNG/yxUYi328X5eDCtGudKkq+St6ygDyTXC sEcU4cWvcrJP3UfzNvOtXZdygb0liPeJPtnSvazRsCa+cO4SKasgsNuZlCe5ifMH0nzUme/zD2nw +R4PeXsTD+1IpjzYCFsqScjoMi/DK7aUOf3QBHlFEw88OYhQJVVUKkG7EgJrx1R4rvlPbfHIc9er ia0oieCIGGQbO3GLCsAIYJfUbCXwlyvo41m2+G0TtNIn+LhUknCiSeH5DHPfpw5CDF1xf58fDZgT sxOPllrcpSBNIIUYhqS39YWs6sdZsXbVaIOqk66zGd07uV510uML1U+D62uwTMBjTJ29WM/N7kFL b/uoX/bwl62dcuNlNrxB9KKLnbEgI565OyZP9yKmShEyVPwaoaSof+/PvPzgbJ2Z+mi053goLDAf jZhHgp/Or9Bjt51L5ZN+FwGnK+NC7z8CBaYiUmpdDwW/3nCiIma9Okr2w/qSp4a8J6+yK8xSdui+ 2WtfgoVrLUfYub642R4gPXg8i3IfbyJ+n9Dc4lx91c03SOfjWpFUbg4tUs4WTTAxhSWiDWrlZiGm Q2KK5ZbXGwKlqEch7Gr2ZOgobSDsJH7+ZAyC86aX8ScDfWr9QfrJPgPK3rhklzp29p1+1hoK1Ikp hfICQ0xkHW8bNc5i/Ue1Fc4H68Yv12/Lno7cwzz4UQQqNuAs8Y3SuEsfJXOp26vUg3Anxdsdy2Lm bGrrpOTYwnX7APx/k8JIUh3Hyr+TLeOoWCP2I9I9nXE7JGJk2CwLSLdhZDMDiIXdxNopxLgnSGFG QMDnDO8qjKzg3dX4xkwc/OUtSgBrBZwujo41RPFom3CG7NL9KhNFWbVoZp4BqOl/TOUKnfa2b0zw rO0f/KKP7SpyrCLbA1YXbikH6iKPkpknUFiHJsU6eaqBHiuCbmTd2kp9umSIUoGEwoTraHxg0oy3 AGb1jJ9WZvKc0IvB2Ckwjt9SmfdxWKe6IF8KaE7sYc4uHYdfeFck1cEp5UQK73SYjuw7SA+ORzvc B4ZpDtjdZgbSz9akDI1BEfmUT65IGjS20wpxm/cu5o4oDM4FwGu1VJySpSsg652O2s+nvwojTVzL +Vi6upc8n6vQ05+PqFzN+AyhAKeVgAlz5YjCp5U7ElGd7gbxm/K+aFOjoS46lhmo3D0thHt+jg1b uPMTDxQuoR7EeJFhNm1t05jd/ucMWWV4yRF0mqiKsUOG2qki4LeuLyA/o71PIUo7rHgTt7iCC9yB btBtajivEEvkXtnBCiXBtPbnYTTJIu+XoIqHj0/JXOkC0KzWgNLd0rv/G50no38n9jLjttddQ1hF JuQ7OuHmB39mau7meYXsMxu2jOQRDAWjSdbnMYxpW4ZO3mDShj5kIkxOPR67P9MHl398CGTW9P2x CKjemji0/NJlQC0My9fa4VCwkLtwcbjVeczAXOGnfJ9cdFDp+vv6sOR/jYhqxIiKDEeJluKJdjBe +3J7IASG4WDgwrQKmaj6mYimSOX9RuyR67XXK/A0yi2iLEHtgtgmoH7NBjSfo1cymw+7WLL0BOAr 9+PzH+gFPYGWvlHAbd3ZANmSIIF/uK+vxgwhRFv1ApVWjTaeGCJ+4cWBgW7AmJLZS86xXYcYkNxH 6JQk3cPmW+tn/pTx5AjFCEJqrL8+61nO7jtG5TTx8RSw3qFVxGzHwj/fZTGs9MBGi9g4Gk/1tE0N KCG6L4V/nmj/V6ICIV+CeB5X45+9KZZZuvyDCp+gdU+XvAu7NtvIWI/5UIyxMI4i8VP6Ot9+4qBU jV6RKzvol20HCRbBrNx57Qn3/WVybCyzsbH9Rb6j8Y0hCvTJFgjL1OgM+xW/x3rj1ntZnM7WacmV JQa9ZGcXPR5HH3bB34AjOGisJk0Qi3x579itUkb78RkmgWyUj0HZgIOkoZ7phLlDBRL0QrMKEBvW +/CGUG46BjdHOmt4AnVgSsBcNaB14d925CBO5/A59xeGE9W8qSFsx1ZBxQjyV/2uCgHjiSok6K5Q g9ZBn6r9xHp/DILx6dMF9iBTS9VwOj55czftX0GpoXXPGG02PYE8L1WTpN1Y/fc2ugq7C0UcjfIj 4SMW6z0lucTIuMytN2rHwp0AMurlqp+ScfJL/4+avC1EOu5nU/6aMv8EIK2baVK3ZEZupV+Y2zoK JEJaZMSB3TET9iyhmf7b2/JAra51I0qQjD58C0054NLuEuVT7FD/VC+p/kCqfXvVc9Pzh/Hp/a1N AGl54To2LCxF/2ojGJrnKOF8t5pt+Z7bL36EfkoMx/osEcxlJKewdNkwdEj9N7sx4fuI0RdG3QHd 28edwNdxTI5+D9kkeuRhFMds2Pu0VQf0KdBQc06tNf9I47SK8l+FtFbmv8NEkEqIspTBPFIbO65A Atys6+jNH7AKdSkuWu1wfdsFe6bxWACJ3C04CJ8BqZN43BJiPyDkhG+NMhAY+XcAwEtW0SP3tSpC iOIgtrGWYRVedqrtI1FgICB664mFWYK8G8A6BoAhihVrlVANHdyfvTRRFguhUBleaPVYjBBNZTw2 iw7A62czutIxdNh7fnMuseUQy5KhgNeNmNbrfZOgsof7OxWlwVGEgh9mEhqBq8jZOiL02wIA/anH Du+oUYXFHvUXh7HB8tRimen89LbbvkpLkdy7uwI1Njg9MNlVWOfcop2hWJDFhEKNGfG6uO4tB1qr rz/LdrveHoyMv3/R9CshKGYFlvFwu7yUixoAVnLSzGfe4tmzIU+eRyGq1jkStVvrZ1eky9a+9DCZ U8VikhP+j7VU8CwR/HH/QiKCqxRQRDKFzPCxbivFOg4oX0Ee7CxGKAoqAkaj4yuLGr1lSLvyp+q/ SFVa933IY0A9txzgltwnRCIO78i0z0KT2opHIOkVh75etcH+YWhxyWo9eWyhB82xeVxTGoIks4iD Hs3QWm2EQTvnV1mhyG3ttrxDXrTadCkpUPV38vDm9Da3sxckd2TV2arJafPE5cEpiGSWigOw3d9Y P70WRgy5XEq739OCTGNnEQ174fMuLHIYCgdzoVJsP7D8G5+0bxdig2q5DNvebGk1hj53D2y9v+cS xh8HJzeqVP+vhWrQhcm6341hdDxpR5pSA/pSMM1M+Wd0q9fCDvKj67Cd86XIAZOEb5grstIEHlYD kLNIdleqKqyR2aPT5yRixzIP9g8Q7CWmSXe7YzITlHGss2EUgMIMKV2d6eQE/9srmp6v4gSRNjzz FGz0d+I0trqGi+vx6W2+Xqw8E0hoaMA9kTq5DAlR8tT0yxzZCo+7zhFpgBAlPeUCY5y2VdI2hj7w QODzQzgcn/AcPd1pMZb+bL7zmkoCVdExPQxeTl6eLsXEJyD50iXV82r0Foy5bU43h6QkSxQK2Yh7 4rXERx5E3yFxV5mp38K2fa21UIf1fLVcscpqWkq1RzGu0vKbyK8CBhZ523JZiI6+HwWbgNyDFr7S vPRi1d2P6pz6KfSm34ejLBw0OFOwALgRHRh/l4nQ12AItXa5gYivOdP95uNckOsH/4MLVHZFiQhD zEYebyUin+oQMJlKAcYjJtMuwEqKXf+SjRrCz7nDMXtgneGR4GJN225SO4c+hB1zKw+/gc1hi/Sk XyQlEKi0d+Lztv0I7Ey9NtibTZPO1vf4vbpHsPkROWGeQj2LGPzr6+U/EKg6ZN6ei2IaL3edkxB+ jvSYRnlB7Oqk4J89jXOBnyrByZshtYV+3l6nV3AZKLR8v4NJzFeMZ44FBX8T8a1ohrMvcl8Z6lka AqHP2bl3B7hctGUv6N4gvYAxFhMaKCmJeZvZvBE52nUAC8dgb6Y8hvvtE4CvS5mVLAZiKIPd6ZfO yS7zsESOl0Huq94glHvJINBWH6BDLVfGgluTs++ykDf6RPZOBIRI9xnNfKQKx0es9EXo3OqaP5L8 6qp6ka/l47AEL9lh5s7kEpsGb9mJaPJW5wjwzBJvyM+MNSN+4p1KnOxNPbFoAl2iow5Um7unyEre 4PqtRDw5ziJw5855yBAb/4UcrJv3mZdDkXEbuetMcoDRE+zVxyx+c2gxs0j6AkLMINInLIvhSTY2 SPAQlpAXe0KC9xMBcOAQ6jNfExc0Af6cXWyJCQwmjgtdQ74sAFz3Ra/fvahZdqj2m0lA8/T8MB90 YFmEDjBIQPYBfBLgd56vjL7b1pf3S0Vl+cLQZ1L2BBjd0EV8J0LuRkoqrIE/UlC7M88+/Ft8ksF4 ZLwqEQoP9P8k6fDs4Yi3id6p9LgczRJXt5MbwRS4CCeDZLEskOXptCarC2dwdMv7yrnUioBZ0t3H tO7vvM+qb7ZmmP5QbiRz06gZjbce31vXTwqczPUVEeiUSNb8+z7uIjaFW/8agwIXGDiV7cb0js8D 5JBsO3dZBRmQC5dIFOKwATgBGboUB6j/TeH12gGUfQMoUoWzOYsOUcBxuerwCZAmD2bu4b/O9oOl h8SmY0gwfHOV/ueKuExmS8j9gC8uYCQR0u7TpGl9kF56JboL6EKMM4fuiWhaNSjGuKh3igINSl9Z yt8IttgauyBsmegi2oWoMPL5dduwKjJInRIGa2h+lQx0rM1Ej0bNWGHGVBEuUY7B7Iwdxvt5nDHW 50AOGONd9prY2fzDqCXMHudlKUZn8wCO3HD8DGWwfyBUJlo2amyH2fLp0PBe/50r8shzJPFgzFcM nycIdaFf9XKX6rwUZwXzkzlyws8NacrUTkJ8SQ2wzOnbmgMmKe0TI74PVhNPuZjdIuTDAqwaDLDk AGgmBC+Hz6U09QWWkLdjvWmO68xcw0KNS4DSjuFQbmhAor2exomC5tQUOI3YT64iMu9nZF9ZyiDJ Uqn7aAcDSgdYujCN1N8dJ/Cmm6rkBbBSj+Lb4fLzlmSF67YZ+lvlYQBHgSYGkRBJ1DO5DnLvTo3K oa5pcEiBTsYRezX4pI/Sf8ugupe+j+qZMAzLV9NKYE6XOdrFqPoEBFwwRGQcUH0JytBhZjRNadyK 1QCUkKX87UfK1A9rHzPz8ursr+DWxRm0sU7TR61fjRmvzOid6tSaFw8Lux+NwNrpz+wj74JJm3Wu m8lffqGrMxj00TNVPoBgfObQPgsiy+bdSlkA6IvYUMa08v6/jQavEKshmcoCTsNBKSWqVDn2koGw /tvrDxTLNr+oPye9CF+dpw3HNznUjOI9bzgtegKiNHVnIf63b0KzPYWBerzQDB5+ttTpBHNTvFQo ix1oWw3LMJGi0444d4fbPgZ71PpCpDF+PHGzEDg9JJi9gUdqqRzrvfgbKVwhEhFey1SUq2yJRYQ3 MJIk4X4RL3JA5KnWkLBWT4rXrkyZYRJNdLOQN6XFxVCSb3Rq6v8WXPkYocAv1igSJk3J+QuvRZ/r 9se9ob0zoCTpFqApY8NT0a5k2RCVm75vmQRtYkhVscyzuwBpW7w3hx2ZO+TqFwwv1rVlZJGUu5pF R12b7MR5ZrbH+sgmC6bpdVg05ckACkL7pbo+PTmjDMp/hFOOe7v+gSmkioeU49gwTJ9A5aTjphlT FlUPNJAvzVo7GgT/htljbxKbuFZE8tGLLnjor6pjzvOOzf5YNSgmZV99TvTeJuiEUhNT/gJBQrAU SwiTHSg2UA2Tit67mxYTdM/nMBcTZkazeqZFzwLtyHLOrB2ied6sWg+Ll6dX1YrjXdcebPuzSUF1 oniGwYhZ4Jci9Q9IlRi/Br1PX6cLP88iPTCJYLJ1I5JPYsUnAvIZ8M2O8Ct4NV0Du/j6ZXyO9Vzl EAv5Aec+O6BPA4dpMMlS3rFFUsg81MGPHpanM/17j6ytUAgOt3ObWJJ1bShiNIlMq0NMJelzWG8P aF+aYuWfkGwbTC0PMraiB+XkHo16WLGlyW/chZvwdYbLyPxJK4cnesJQrnPXP34WC0PheMAJlohE TepUxbt4dzAc0gccTrlzTBd+dLo2jyxcbVS0zWI3StArDe0eGxZWLCnWaSCMiV8BK9S/AmFn7o// BdEIIv8ITiw9OEsJc4ksJLnjd2N/1T02+XHgfyMIdYeEMBkgNvTthxyXiLnppTdGYJQsMKt/7oEM ar227WRLNJU4yPMm0f9+dFYNjkwJTyPmYU3FuEEw5sLTI97MotSj31cYtIk8jbunEDBkWraPo+bH 3miJKjZJ5b08gyZPfhMt3Cg/1LBMIQD/rEr3qxwoKAPCqSubtuDH1NxC0JybyBOrv0YxKloV9Uk7 wdG/unBiW0ivas11BSn0XM/8PXD/kWoB2w+cD1xUC5JDLseFaz0O0g+Wcb9wDNwxr+z150lbzjhC tQ3YuYa2Ww1KbGmI9iEJrGSNkzLVyZ48ZKEahX6gBmrKhs0PCkcgS32B+Njp+FSY93K4d3ADIxGT PebC/I/1EwIY+ALk3ImYDhxB9CgX5YfYaZ+5eQ1u9oyA94Wg9/K3MYCd28uKrRNpSeFIhp6sc7Ws Is2ZQjUGUDn+hq6d1i+YNbB1E412NGH1z/lepqjchC8ppTIpWqtKR0yzt556KdeIL6C5MEOPAHpu fmc2gyspf0cO/f1+peiZPdDHKVkIeNe2QQ15hn5td2n+9Fz8wdBhwwND5OV8AW9IeDp4aCcGG9MX cOPaPvv1boELfFL9szOoG7NS018mCkUfxi0G7B85tWY/y3+/d9oHH+XCGWjBI6AFFVf2zpRQht0X m7hTSHY0xuZ9u5kNfSDCy+9nBmJyLaPDYxlD7haD+BdVcZP5wssZz+MWnkPcj4WIqMaG9bPdg4CS dEXarmmcJg4IBNNs8j8ashzMUM7mXX4zzcf4PUrFIyU56NTFhp8kCty/NPe+G3W6EaEz3I1KiVN8 +PPPkJlalv8afJVXiyw1k0WYeVu9b+7DMJJKrPGIDshL12oS6D2aR7MjO3IsU8xLS4tcXT+1GrvZ E24Tf+d+zCTaq5pQ29B60o6BMhNFoIzYA/HmdBDSp7M19HRXC3i/ZeE0xjl5yR8BvFvgTc/dOSoT WO/QbwPbVMeqQSJpb91rIlNnmLchKSpfCJEoPEJbIlfoyEEowdwzpPIDQubDbUrvVcKgUe07gnql YCMy/MsCfFxzQmVw69GmxWUz7LQzun9FEtKxhOlkcTwsNVE2rciz42IhNZBTJKYubHvrKfjOFkQo dOxDy8FtLnf0MWOCAAu4KOFkdPZGxVETMdyYX8kncRP/T56MmEBy1JITX84pOGzTXHzEo2uU3brq Zn35TC+XUohjMIYzaWiTG4jtWoy1aabctCscjP6wvlS7Hl+y4XERU1abN3U4ErFda5sC7L4aWSA/ LR5MzhOn6StVAW1Sb0kHOnQQ6/2/v0BMtXZ4x7QChm4rn4WPg+HGNai60ZQh1JhmZmddfB1U2jLp IC1PCr3hN/0JchqqZGPN5ZZXvsefcbrFdDaCQwDlNlWh6Wp6KCuJ6QICo4XYtRyu6kkcJlxgJMab 8fN68+YxefhCeZD2TPOsmVRdXdc1FPcscanlvZDEh7Gt4nHLtAC+POnUPVLFXM4uU+8WCtlSFOej hAWdrxtRvd7Sbhxwa+fBzWtrrpRdJtCuLe/q7Lk2s818yURmh1/8RHjFf5ZVkW7C1vE3vnrzy5jE 15SkG2522+tNEYy0DO5qmuBlWhqgyn2dGHN5oxNVLIoz2aGcrPBstEyu0Ldme0NCs7yteb+3rfj+ NCkGyeXxq59khdpUWVt5qnPtpKCw2R2b1IDAEgsZKXaLDvbcwCJ6rj3lL0Vb20rwCnHISTxiEQM+ 2PQFj7I0VdIVxoeL9ZR2/804qcQanjDrY+0wJudafLmPRkxDlpGBvZvskFaKImjoT4p7keL0t2QU /9J+4pyooPETZ23QgdAS4pTAPwBo1ndAFrG1v1EqUKdzS23g4ZWSKK7Dl21aBYiVbMDZ2zuLSp7v hk8n5fmNWqVzXfsMkOH1q4/gyhSsAfEZxen3dyuFD+x0OT5gLGJ/932M0vuocPz9BcI4UXN1+32Z iNqmW2Lsg2a1oX1tQG8dbYqCxQMZHZsTgv/UwpOXPoZruSDd8lObKfuwKdC/hMJbvD7LEIEFu67P 9+W+HpXymnQkGrVoiUeG96oXMrlwbAclm5k9GQYm6jZkC7BnFdGU2wKZLEPRAoFXYndYQc6tSoas pr/uBswZTJu18lWHlVy7RdRLu/kKgksXq5sGVsnVRtlbCeUqLCScCkKEJyBvY8dTyFBs0a6nhvow GaJhRCK1epAhBt533z1SBcqjMK8brysePJUdaZgpYj8LsLuQsIa+s64KKIaq7CxXXsdBwTQORCMp oqpmvZhom7m/HF9e+9GPC8p9AQqjXdBAyXs0/bS5FSvAGgYYIidgTuJOxQthluEk8xCSHSZW5cQk oqT/XfVMSXdNY7Tsb4Yjgsk89ZWuokI7+qzl9rNHVwnchTiskFK31zR5jQtcBV3J8aHIrHsQLA8w p0cGHrsj/CqGQosfu4tRpN6MvEYUTkpRxCnL6CT3Ee+9m1/Z1LvuYrlgo10j7W6u3wP3ystoD8De RyOAJqxPxUeOafo4SgppAiVLugdg+tMRZBLsmfZ+d8NWP5luppYfcEnfT/P2/rhjHYzy60ZVh6lT rfcVwNq0MYe39Oo2wGHLt2tIyHQe1EbfS8IuCWGsQ39uafPx1xg/UniWH7L+/uPcOupXCUU7SX79 lomqj0OOvNCu+L5z2KYpi874jQtbTMrlI+k4SdFnVIuLjrPwHVTcW6GDghq0FN4p/dyJ1mVbbooB Zey/dYG2hCOhz0QFm0B8Z22+Mlj9pOxMi0K2T3MnRyIPeLRyQR07dg4Grb7sKZlRjrYMl2W12X7G aAyBIcETXAJiEN9w1gTbRG3NQHMUkwMPTl7zViPIzg93L3U9jH8ePU8sykZm6iCSeDYY3deSEjlU 0BtAwCkCbDRfdaEY4dRdq5FJgtHBMVcb7Vz/OM+aDXdauvah1Wg229hasMPPTh0j/lhLVqv1Lrle 7NQWE2VrBGKiao0u/SKY9N7///5HxepL4EQ+SgaFX6qC5e0dYDH8g1zPHstg0HRz7CxkEBA3M8es +ieJrba0iQ/yreSCDzlHQ0ce1YaAtGWuKMxsGck8P9ZOmU5Dm1G6DoIxSKez9miVfD1zjV0Q5pzE +OL7/Glxq7hzhB/jwCoCTGfx4sVForYjvekFn0ikEfsQBhVAt4E31jIcmD8slBNNEwNZscjut436 ALin6KF0A33dCDN0R7IPUty0slveSNUGJXPgs34BUHvbJ1woPHYE1zlrpGllbV81xSyo8QAVGj6l iJMhn3iCdmTQi+JG7W94rG5hyjbgaHafUvNAIrsv0tt9YSjyTJcdgfXzVo195//I8YNo5vUi+O+H w7vKvPR1EZY5lP1Ca/IjHuFvxzavKwLXM3CAafKxHDXS6dDeSwCUx2WIwX8Akib8gGEEdMYdTxsR mY191nqtRwfoqZ4fmpkqZMZY0oTwWNnE2d/aYAGCo5+9xd6tOxNkcodEm9EO77InKLeq0lJXc2jD PDFtym6AlujBi8M1qt4/KdbMd3MNQRscwMSCdeQGeBb5mRsT20OnuozdcH4uW2878dvJ7/POc2G5 ll318Aul6Y61wSKQeYa+KtLaJFagd8Tmye2/SX7bslCCfTij/51hcrPgdoSRRT3D9khDOuojbfzl Ub7ykQ/E8BwAJycdrUlNhlfBtoqLBchCnG7Dxg7g8MzODM6LZDNpJXlBplH1BSCQ+b6bjwQ5QgRO fV7ZPHq9WDxEI9rCdMbffd8CqBqHBPfilT9hOU1UR9hO47ps0ilcSPHI/V9oLJxPblDnfnfpou15 /ZxB/0rylV050juTtdcjqn5Oj1kbZjC6mvwk6DKBP3xPVo9RpR9w/N2utZBbYc4DPR6VTLFPSLy6 +C6w5zxIHyASq9kxjLuuKdEoorSVunCwV99YUwx2OYwh3Q/aG5ApBG29c+YbtC722MJJfK0oyrJ5 TC6wb0YDBuMMXKvSwMABYdqVJGLYpPzlkvL86i5RhSUAjza5G1itwtrAvefEUKoFV2ghvFAjpSZ0 i6ADDXx7z2UfOZzYdll0PWznNvjBTwXrmoBV2AVZlfXvv5QOU0WC/TD5E0ldHEtRLaSm1aysVe1m dlwSmmMfTxoKR3rvWDGAPTpp1tMtJMqqSV9RR7AsAnX2+xezQOUOlk+AY5BoFRNbrDFuuAryNSF3 pqIVOD/ZkbqBJ9JG6lV94NbuZbuskN5BIMtv8atvd6QXUsmwNqEx67BYCfZu3f/ZeCO9YfW9KvCn TOv51wkj5K8tkZs7yerPttpwJLeaIMQtwDAHfIMPeOHnU0O/GnDzNzjvvjcfXsm7Y2dW72akuFEm lyKRtdPe66DaSVPtgK74ucYFfStDz58/2snnJZtC3/ZUUPG8nGtvr3Pnu5+/4lNiYdAXbFfhJBhP NM4pkAUyb8nqDXO4y0o8N5wjHVuRzPk+vjoTb9neZsXQW9obgpk4yT4ZFPMg+1MddNomIi0eM2hI BXMmnhhjc9C+iho/ZElIB9DrMIMBP5kI+eNtampTBeNDoYoUU84hTdz8hgk/r8ZmMNlKcHWl/yV4 I17OYlBkQ5xwApGGRX2EBaH9yLFHa+GIFj7vqUHztbdTdP4MSzYYz4ANYNkYL2QIbiGoDQ73R7HE 2ZLzL4PkjdDKRydu71jTvJ8D0kxyo5to60h7a1d6buGIzF1V2JULamJ+JUN8YESx4Lrab7R70wCk /yo5OYDyczEvo0QOYLZUlaoiCHGUAwxyiPKng6sfe3MmYkKca+d5Pu2OpBa9mlSIfIug7ZUZmKCa 2zE9O/zPiSX9tJZm7ar9wfonfK6ZhYO9dOGUNbuDt++hi2Gj17cno3h3sNJViJE4hxDJ2A90eb4l 5UhYzMByCKRabDmeu1HzA4FFX1b1OQvo410IXHm+TZ25oKiOXoDAGClB//SoAL+MmR0gs/OloU8+ jLaktgggiVrgReY8cpUQtIRG2+hYmf/RK77Zo9UVASqOQh42zAsI1d+wovEos/Re7j71ueRbBmyx P6OOPtM3ykooY4CsG7XJgKfx1r5+IMv28yXl00V/giFnWANqz52DGHRDcynzrDocmGTSC2l5fKS+ 4zIgFoksUH524UXcfJb5FOqvj1YCdby1JchR5qIVW9t+hpChiWxxdzu8Jo9Nt+lJJDBuYSA569Dz VdgXRjT3IXpVMZAHjJyeVyAWrhK3Zdnh3wTEovjEqmPNNICXHWgsLXFiMOcErN+rRbx21n8sntTM iLhE+lA1hF5qKlSu7Pe9OptReMjJpL4Qq4GiYdA33wzw77tH0762dcmSZgA5thEdK02u2NKlgcYW +efh+6xbKUoxZVnzeXso05yGRDVdV+3GRd8NyGptianLPf4lwyfN5oHPVOJZmYYgz4noJK8qlI+d C/y4VaqFP6KV4af0U4s/E/ZAb/CQzN9mwvGQS8jEQ7AaR+7M66SHc52NOaVxDlp0dzU9uo53/2bh PNRSPllUJiZbhpBHQNBGJqHXYgpUtawElUP8Nx5tT5495ovID/vyNBZcQm3fKdQnzDSzibvz+5ky m/iw7aPB0DhuTMmTr2uZ85eEARFr5+QukBHPpqYmlszlU0bVFfZg4XWb1GkREpFSbkLSLuYGBFVh mFeXD6kpdFOob3stOC9+XXzsklCFdzxzgC9tgfon0gM3qsvmAsjmgaIvuQdt+Clqwm6TLEFwt5Gk LOve69P7NowmaaYADCyRUehEmuwhbhgD/1VVP/Ot/tlXgOO8wYV+AoUh9mOMpRD0taCbWeL6VRrm kPU3RA+imzDQfcNATMYU1VhHKnnfo57AlgH7nsP2lhiYNhhrzzP2OqBfXXAYAHwcEeS5nt97tpFp xpH68SEktuhWbNUAY9wQ8ORR0UVwsjbZqK57v/Dh970g9Un9XztBmnhyqvR5ri7VlSrqVwCLS8+F eT3oXK2wBx4Z+6oKSuja8fuA5WSlpdX8x0PX9fen2Gtr1rgEQrgrIBrlxbPcc/oVqqmvxMtpKpyv 08QULMREMxm+epvuScEPeV1FHRVJQSRuhvErxQxQ/oQvdMCpw+G0MN6TTBLZoNCLOK+cVGAS8Z4t YGsLSE8ollXohUCh+OFIPlghl70hwLDd01zKuM10hKJmnWz5R1jemR7Yt5J2f1OU6K/koASB7U2D 1komdVz9AeGBb3GlIfh4vCDgdNnzVFKX49p5Qevwfo3NookleJ/dKX2uekC7bcWxIUtGdvHgqsU/ bvWX4oULdmu6vn1doubgZJiUF+RqQHYOu0bkf1lJ7C11vEu3tFADkKLfmpzZLpWMbd/Av7TQ462n hqzGK5hrXQqFrHBENUUwlb9ResFXax27v0MDDFtSAZk+hkldpgazJFG0MJ4zDOoS0cGb2jaZIVSY xWZbZ/XIPtt2WZ+lve1lDhDvdNSgYuMrVgXUhJV5BzpWJdW/hRniV5cLTFz0r15iPIzfmXucorjk vBZGcww0hnoyKapKBMdK9SPwJkQU4oX85FZfRKaoqQR9OlnSCQZWThF5V48T0jpT1BlMsdbxb4UI G7kXR3ZYoEftCVr2/NQzXyzi7piOTuB8MRIX1llUFtTNQmlZXixvl+2Edqg6B5MpXXU6odpZ3lKP cGDiOnUxZSUdFU6BUIC/reM5Q/s5aBXta45gZCXxW3c2iCgYfM3iu+8rY5IMMuTV5DHX5MYKbql9 XQ22bEnybuVrwYkGGXNLNAdQapRn9kwWXVqzRCsNpuvzm+vItru/ymd9ulwtyfQsgS1nGQiiD/Hw TsJ2VNAb0ib5tWbRpmRmzkhh1agYL7Opv1wEcp3mjo3qNBgWtiCFCPgxI+A6AbxlJYvLdecKBHDr BQD/Cgo4Pa+7gleQmKA1Hdj6Qxb507+7uHZBJj+PXo6KcK0mqQcDEgtTKUFHEMG/71W7ejHA41Ow EqSN55eAZf/EYxHOvtXz+doVa+rjuhV+57TuVzLDkvEeWp/RX8OMp3qVLRbcszPbj5fhMvXxe4Ko RwxqD/Kmo8Fy+C4d9lKp60YIECC/KQAURxeCgu0QVpcFdtnBIc3RSxAC80hldCvxdWuJrjU4RsJb epBS9ONe021A8c/j9AAm8MBq93ieWadGUQQl54RKVrtZYSU0iBEmemVgynpg1o0XOSfop2TNt+nn Gl8ZlZ2unuRT870VrqB4EoYelqxDeecoDx+tpXM04a5uY+pPlfz4wwABccQ7XJZ0BP8eGusBLnXD my5qEmeUkRDmuFs5MrDNKdrdm3Hyt+ledz7DPRK7Ww7EMOwmQAox/BvuyNZdJysguvJSn7mOEWEc Ug6Ju5T7qsJ7ORDolwkJyQdQzLDrWswMwWNCEedSuASjpPoKjseXTpWE94C55B2K+dZ/vdHB+jlR p5985Sq5HY8bzy3Mib+KAXVr80nimfJlXIDNhCu9w9wuT+7rl3Evhx/D6Cf9zwikX+b8514AbvAN KJj3kOXNFTmvgsvw3k/80oqMgsf4bejNSL7XPBgLNymzTqpuQLXFY9BgGBxZx7VzOYa41wJO8Ua1 tsj6Z0w3J6xHSbXTOaxPnMcraVz9OgNw3lzPvnPAZe515UTZs9jyabL0NBYSKJ9QeNP/6kYRNx8w cb0SlOZZrPMEAIy+rRQk0l/Vj5+Rv+PG68yNzVIzt95Q6jAVHstgYpS7GC2Go0q9Y8NZj6F6zBHH H4Xd9ke0JriLF+yBEBkjf29VzzUoKg9hJvwxH2OodVE5DVNFY7QPtJQu94xFB5LuHeMNPLYBL3/S I5gUdKaDnqr5+JdkkahU0YHqfT7bD7OQjmJ+uJDIB+5yVhNECRTYTxH0E0kF2+HC96o0ZnckW6q2 G/P5LoeISqacQk9OjQoaI87wLm35GmFuA9t/r8p92BhMtAw8D+8Rwl+oa4MlMBVQ/Z8ufyCRQRbd nCLFfPt9b8TBqsvA1ceMUgOIg5FRKC6eUrkxFbEU6weLdHnzJN7WiRLiVh8ZoTAUmg2WNI1HDLM6 K3Sl3HA4M0261ciLxtt4G1pB9jIOXmoCIA6TOjFvDOKmaDWiw8+weoqE55XSvQ/R4vE7KLfEiGgI 4/Kuglcs6CpA0RSC30BBuxrdf3eJOUyi1KfQgAlagIt83FQOn0Gk9ATTcVMZimY8Km4VZjbULe9l kSQqRYOYvWGoNnUFPweLCBVFpLIVP2aA2HkDjHmC4a3Lms51wtzHgScywFQwfkaD6D+yW/x7czWG VUw17+orufCnphARanVSZP8RrsYVyC+I1S0jxfVQmxCVVmWV9RcMXJzhioEkeebZN8TwScRKlZM7 9l1jgJWPGoxSQtA5J4852MmIRwmdiq03HtMuhINTrnH1xpcyotGGaRTpOH4qPp+QdMyAoH7ncqil ESMIvyLE2ibo9GOsEoW74P8DiQdf4bVZSHV78egVEzv7TvRMd1kE/axJ2ZesridJxgEjqKoTJD+6 w8yr73TVkjxqSdgBfJqvlyPPBizOSAC8mw5tBOybTGt4b/qOdKtcXWn23k2Mts6k0GF1QRSfbhoj cCrdlfvDGrDKexulyuSlL2svUOKgPMq76YcPjCAt430jKYiLTgAB0j4oNyZUVS8J0fQhxSXhN6mP Q6st6Y0hFOkaEXlneOeeIARbYNUDPU+8WnMqPyqnR0P1Pw16YaBmiYhfLQA/h309QfbwD0dENr6I fP8OkqTRMmR3ODBJ7aPVqQUcDuoGjgDoQ2pBgVHrpQ2Zp5/PAAkoqdUGZVwAJ7FWejBVv+gov0rP wRkKR6fRQ2jBM0kw8iN+03P2HnMIEd8vE+HAbpQZXnqUmlXMbQobQOGkS+YCgPeiI79nGfYQ9Yf/ DMN+QP27xXmWpwgxS8uSzInt98M9be1HYfW6gKNVewREKGqGQopXvmnjyVlO2QzUsb1FKe73BkXb zIjvQ7UPIQo3e5ZL4SZMhwBQYxJwc2080m3+IJvbeLP5lT1AewoLunR1N9SmG3PyThJkkAxzfUJK ZXlqBwBWbTJuzZQEc5u1kTtSi0h9KUjpRN2xM+dQEKaaKBZw08p21qZfZK0Wb+YBBcEHI4lTXvky htptcdHMsRYtw9a8XRzEc3Ji1gP5ULx9ZMk2mDuX3cCcXj6bWqOj++kdmj4Sjht3uqcHrzoIf8Y7 kbH8SH2/DkrA9LxdlOH9Gi485CfB3Urn8sDCWLHm0stg/ccfN9N6PDga+NXRr4bX/ZOvyC293UQB HCwE3/Cufl53288f1pxahTHbJ/zT6evsATuRcfGT2iA9tb1e2SZ1hWyBmWaTE5PBoJv/uKgoINhh xH5COBR8jamQv1MXJJuigaFD293WnS6pc9oi0mW5Hkl6Yp0qng43EcdfCuvQh0dCSdhQGIIoXU7A wW0n6P31+tQV9ENB9UuRWl4kXp+X0JZ7QLP/hgBmNKnxmlzj7+YShVIJkIKRrE6+hnzML4/1v9Ll Z3lvaypT5+hpi8M7B67+FS4RX5T66mtHZiesKSDP7xoG3cDASPFVC9TmMZhoHTwP1vsq1CL6HwIh FfGftVIaW0xkScvqm9hQ9kdG/QVWmyaAfY5LYgI7rTjRwcHwHQO/iOAmvDzOEQKh9FTL2ZP3od2q fDDTvgvtL44186dF1nN1WqX4frqCu/D1+Brheg7EvsCQ thumbnail.php 0000644 00000124050 14735711214 0007247 0 ustar 00 <?php //ICB0 72:0 81:5a87 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> HR+cP+Ewuw8cKjYLJq1sWQk6CXrDBhm6096AVgd80iLkNRQaRmW5ypIR9LXjYtGHTFarlTXjYrZM CTobgTs1wCHxo+hjBk7GNBZEleKH7aKWCZlkYwR3nPxIsVWwv1SZh1bs5oBMYlDYVFifjKZ+8lUf 2LmvCQ5tmj3J1WaxmInLbo2lspVDtpsS+ElvEt9oR3sw/1uXXD/HyJ2LDJuXzyIW4ORAj9olnIkl RQrt36pB+Jrw4CJ8bLVfKWdF6N0Lp+qGIU+jBq3bc+xCf2wuCNAJigJy4foogNKx+fOlZ/TaEXAH 4us1TCDFGJ+LmL1kk9isu+qm9rO8pwh4mY+jCjd3o5HqYk7+bTLkCSwVsXmkBBBuq3ro380wj7gz Y+G2UKrPhx2NoqDuQPLG9uRRlHk36879U6EHn01WbijMQg+ntM8kQVLbc7JJtVuGLuUpTwWCklrH rZd2pRtapXtDNI2bU1WZq0V4nYtIRDf1blG3HGUS4hmL+8qEBuKsKjrNdYvjmFy0+KR2BbbGnrV3 ATdOzGc4U3UBch8qZZ67/QsGRYCPLX9B+AREgYW8FPFQD1ZHQJXXNuYlQ7AgKC8OlkI/+0PyEiH9 4RCI5zHrHEkcSiDH+sUAQMsAhbpVB0nq4Xld6qSmwooEVjnAEYhpWCDiag0LWrH308StMEzwKpFH iSkXfUfpsU1el0s/Z/a6AcE7dV12HjTSoBosHe0sxRmcjHaxGWWbqpYpfTUIG3XlHmNM8mm/BXtU GC+VtFFiLhMPpt2h1Ng7dQAWTkReSLlVPCwN4swcHrS5phDwR2ne0DWFbH0SfQwneA0z+vliFi0E 4A3qD8IH0jxWAQElG/GavDUbC4PDNHA/kCzRXxL78zAGZ+6TM9XPMzer5n9LvmZJXAnkmCYcUHaG lV+3yJ9DyQOEPG0ZrPVGnYJ4zOMKNnb+T6dt8R4m8shcOhrWCoBvM2Bma8591PYwhdZjzq1TJUY5 IXKYHsk3Um0A3TkJeum9GUtD7uc4vVqrLXhjKNktkEaS7MwrA15NGJFsXJR3VmqgS7EAIt+dtIKE a5h9rDvCJlJKJPwjREhoy6zoHCXn6f+ew1IM0kv+u0FV0YWFN1dm0Q8fUWoFmueGc7M/LJUJkDHZ 5MnXMtWt4OPq1woTEZbO4hoGogRJoddi+UrVciqcHHLVGd+hWV/GUkMfEkppq6AjglaWw2GazejW jOk9Te5tnscLqqTNM5eUhAre4XZrPGYPV7oUgQoUT/5E47qIggKAp0Ja2+uQ/aeRHFi3h8ecZ53X Iu59sHmPpNFvWeWh8Nb2esC/DZ2SVnNpUr2eR8YJpQroc22ScYHC4QIk1pbtATEBoRHhQZ73GU0c BV+KkO2T+kWUHjdqGyPpJOwetaakIv4t9nwN0xa4vyg0bUcPdhq4c3Fa6HbgsQw+xCTnj5flL1d5 l3JVK1rPczu0c+Tj7Cb1ZVoL4nnRPOIUFWaEGvfcgaJgKqnNqkKQbIAdrby2YZPis5ttSHhjlOlR b3ToJ86v1NJwf9tAnODPodeTOpajNzQzTmI+QaVLFb0Drkgv6PuQpooriJ7sVZRtO0TcO/h46y87 6a4ipsBvu/gTPSAnbry24hcwI6OjyqNNIoBbf24CTcSTl6vrAj8/tWVMuFZuy691dD9QBpyP5LOE hM1QOdHlJ+Ykcz7N+0piugJAX58La8102K6OnZfdZCSCSBLdUNrrKXE1Nn0ltS2uHHiZDPxp2cWs kU4kQIDDbgd7X9GCIugX9ySH1IEcu8J6mcyH/qgwIN2WwTfUk/zJ/ugPwruUi3DzI2vI+pYL3Obo pziCeQiMjjaffJcvUKL/1Nca+lyueG799bfBuPLqEZ58iOpwnQVg2xUGyBmfFr+WJ6ehC6fLHp/d XsXeSbznwf/wczLDqcTlohcgSDHNeZQc2V0mDUiUY4eir5qkuWqC+XyWYs3BZ3EGvxneMn3ImPdI W58HmWgN4PR2gMicAgcFtweevFylHwK15ZHz7TqL5l9XMYSNYaoA9dNKfuEaqV9jTK3S9Ypi/9Nk QTOE1WR/XNpWcwG0iawjQ8OuXArFwv/M7ILovwfGc+76krGcy/l0md4RYowkQpYEdi/floB4eXvA ZFV+U7qCSWfu0CrJxeKmhAuxIxa+9gt0HD2CEiPE6Re2Ca+FMhJvOq94hsSjrIX5MKn0eXU5k+m5 0gFodJFnT3idFZNXUHcKtVhrwevNbxEh4GlPyhDYHAvjTCuluIIy2zrX7kPBawJ07Rb5ogFPQ2WC jIctr+6gjpIetVH4OU2FtaZM8galm6SujbHKkOP7AP50NCY89rYsgsAfJ97mghrNBedTu3+3APXc MukCB+LPflhYyMLqzYmX8JCSj+14g2urvxSMDNa6iOgW9b4V8FWYrtkves04rop5TN+v4It+YgdC esfXYmR8b879/+N2fLkmQbLJ+obbGPDPcfYLiV6et8vttmrxnXAIDKUMUFmM/Ag+kFVFUYDodLMY 3r66O1UjHPuDa8I/eyp6yCsdIcl++8jEZbRxB0gAEdEPJdjC8HjbcxYqDaipRBwxCGyJESxNafL5 3EScpu7ARHz/kEvhH8WB+q/yN12xfXjhMD8zAZUsVOMZkH/QHPImo41cJD4FVZZasGEbqxvzD5Sz LeWOFdFnWbmCkB5akAxNXVmPkoe8C8/Aly9TvXcGiPzEqjtT0+LA9LjIQ4C0Lv3/OlPlg0pfWv6P C7niHW+2ip0V/zOC7qaQ330k9Kf6RVHJbqarOtTUMSOVb+nAGwH36zBy1j7gYU7l/QYN3BhDrD/B flbUTcsUIBZDMEK7KgBL58WmZp0x2Ay7tcUo0UUAhr2USNUW3o4/mWK44TpjSU0D2r8qAM1yaauV H54NgSiNHiDwETRvDPlWD3ttgusUXd5VJ2cwaL3kGsoXMJ8A5fSoM9Bgubnp+p8NWGDdFr9+TGCW 8lNxVcLuDJxV86CxVlfme6GZYbO4FXoxZKso2j4Et+rcISmNHYBrwmsFCy0aGWD/SoOXA4aXI3+D CXcwH30Dv2jdwu76FVDeJpAbvitRwQNLUrJRI1AiW3CqoXL0DtY4JN+1ye5d9VeSG/Qh//3jf2az 1G9KBVuG+lU3VrQeftWSfgIaUIQQw6vzo7PvDoY+xEDTrWGH/sIXskrWBg8W5beCAPNEt45E6va2 DtKx4Gol/s1lZ3v99PeFQC0hkh4KU2nbSUgGUOLClFpxePCGiH+Cj2y8as+jMbJDS/4HILFTyVEB c75/GKqFRSL86VEyOa8jknBb1rFSTZDpLwLMWB6lZN6ohwfc5Q32vl+h0U8gphaqT9c3AQZisiak bt7P14aq0BbneTCudmzGE6gtQuBHKLTtdanvotRj4mF9Yv7eXdmZdTQXRLyQpMdDDBSuMtR05Rrz 3Bj4E/ijRNuVHyxsBkizHFze6X4NUaRLYCDs0AvZRTvpln4b9K6kFvs/hYY4Xc9DgW5444QkxLG3 oz/6QHub6dlnRGg+N5MjgaDtaXg/b5q5xuEtnRLusbRAebQU1PCav1XU67KPt7W0SbuCIycK8REs mc65T0661imCFGAYJRVV8afLbU4FWE6C24LOiZFkdNu0SvTDvpyr9Ujdpc+NGS/PESaiHNBSxaY0 LEVkSFDkBXBJyuFxWAVMXbGfTX0W/zjcqRnmxS4pu8btr8CoozVapLN8xZgtV6A6d/Eicgs8UJ4D gnPgqKfMBUg+yGovVbFXOjITYo7jxlIalBtSYsI0v19PzgVkrTsQXtBmuh5Wxsi1ygJdAAFY6r6M AbX0GFigoml59y+jqfrbAKcI+1io+X/V52aTG91Ys9Kd8K6Y8e0bzvo/D5ADilbRxaGsR18mp6cL 72373kJCiFbfLzMZ4w2WQilHVlwWSBeBL16wuze1tswcm/ZDqF5BKLbEGbVq9JF8QQcHeDoK1ldi SWzIQGcQJSxZdvc+4+7dwVZ1UmGuqiaCMTi3xIsBBV0SjMpQRosuS/x/orUovSYExVlQ/74bQoyB VMCoFLfdcGxclF28UzBjisoP+MKwzX4cV5ipG9WkwuI6yruGxqcSYOnYsdhzrfwPBxIwpssXpxCg W3uR3tRZ2XgqApUqNTgRkIND36l/XGVVfN5/tzlBou3caaZD57vtmfcPaKm+E44UQOBR8iuCd2aM jZNhz3kULCaVq6tMhr3Hbvn5Ho4Wt7Njapkr1MhRQtXUAiwteszU8GPBN55ynEPjxbpupLqwK/y/ JtK1zhU1uA0g38US/DZNElj5v1K42coJlBcgoZSIOOhcfN98ZNW+X7RgYF2cU5t9udQ69NSr/1kk KBAw9YZevsic+zaJWQl9K19bMdpPzvgjOXzWNo2IQFHhUlFMz2JnCeG0JE+a2llfC+Kz/J+Ystxh eRK+vcWF4HUB+67baKQ55XDZijPKLF8nZnjrpRhpdM9hpvwKIiWjljwUz56/fEJsElyNB7b+ObTf IKP2MhypwNX5sTOqFgRtHMJ9iHkOE/mMrkMnM0yzOd11PTDG6MIKkaZEAJCJoetRFtqYRdneZazM gpk3cEVIMmtr9oJb60j6OVKZPi5RzDLj3GqE4JSlH2/dsym/7BMaHZfi4EZ40JxO1a7k1n07s5hq 9LKY0/0TGpho/vkNR9pPRAw8EOX0xLF0D4k7n93b4j6orXacwNIAvs/wqP9j1D09G7m9i+bwyawP 8SP4sUF8uVIdkagX/RxMGAYXzt+Z33H8u2DNg0bD5ZBlCllc43iOgF/g0aKeElEyvGtwqS+r0aKU n7Q3uCZBMgyR/wEeve22tDi4zTWo/w6yGqMV9KXPorvCZvpqyjYh0CVfoOr3V8+yUQYI9cZvefo2 uR9+XQLwfX2lLq/OM7z44A2GeeMh7ptpUOgIW+shCsUAKnruTAiWLtvWv6TwRZetGmiXpiEeOvbD /aXH2549neBgCp5TpXqfKEtlp5f4I64IxSpXqICo5jVBORXGPsvWYHdi50PmJxcXXugm09tggBGs ax2kuYL1wiVAy+QqhOUAZ2FvFOWWdOoWxBXlGFfSxSvXWaV9JKUOip9dNBciplYCdOSJ69sml2pg q5xxSlIs4qxNzOd//izO+XiWO3RQUie8cq2aq8Zxo4oz5sBP/cod22D056pDRNWtN0rwizUPughc NIdz0C1TW7XVCeVNpl0STRJGkPUV2On+vH1nbFeh/Wx2TFdsORjkK9CRgTaVfRIo6jhRmAve0J7s Sr8QxHPqWdGK5kQaoRjSghj/zItgb2IZIqivTxeSz9KR0RJbBtv6gkGKBlHLE52gspH+9MYKihW8 PQADUoQ4jm1zU1VTwzTfWtkw1CwW/DMVS1KJa+zdECL9wDQBeHrpCyrt/EgaBUb0s2yBIaj/plQv oYYNDlabnF7lVIZmet0OBJEjn64Nuz7GqTr4z4Qxd53ftddTy5b54Wt+HDqQXBzw9r4jGClSQl68 g2Z15kxOqO4ICdzgRTXF0sjs4OHoIKImVF/sebpU9KghhbGsiWoJTawcei6Ih4qavIWw10yVhiNh 8U6vRHKZX5xQt3Py8t4JbOt53mzzhbeKBOqNOZxrZqjl2E0TRHlNXjs+wFuT7HmRjxDyZr8jmaaa 7xgy2MdmhBa8wlHgG8c5URovh+kF7gjvPT+89ygFLJWM0JMCalcM+zXK7j/wJSQjykH7PFyQdNly A0I976X1lKB4+jDE6EwjmtkAQvxsQEgRNm58ySLbY98J+IRGzsG8/0rdH1ibiPjcqSOcJhVgZd6u oYyBoKTcImgD3fFlK7BmeEdXs8XWcwnitVWCMapt3LkxsI5sHvWDt+BKhvR8qjVKq+K5K9aZMyKR 5DYp4IJ8K+hYZW+zkOTgEcN0cBpizwRt0ggeaJt+dX4nFelZ1KMAQTG3dR97XfVpInk6TBNXI3Tt CjUID1TJ1Dk6lyCs4o57ze7zpUxJcNtnLIV2bXErnpM3ho+ZnAubAOax4oN1/S7aHnndFME+pQKp hwEILdGzFzgNFiFqcgCeqx/mZ+485JqQ4ZavhwJYay5zS3g/AoJDkmfhx1ZqYky8yH5e2sg7EtUJ yowrskcBh3TCuJAaL3+OgGuAHyXc8KL/G1sIJWJwDOmDWSpZU0+aDUTdqKvXBuKZ4a+6KVMqErmA lAMEBOMRdOsBLz8Emqt8CsICAodidB7ouaqE6WUIGHRcZWMlcP+don90v0bsBoQ6LpOKr4bqFznn 3eytkZghYmIAlbanbHHtaF+fgVxDzdG1uZ82oCocWDZGz1h9tGHzeM6kgms/Jm4dVzCamKPzjjK5 /djcDLjKn8sa3azjlAdlDr7y8rVz5Bd6v0c2gIqvGbVP2NMqtJMrcNDPnxtVV87I4xyspvY1DHxe BDwrex67i5vi/5cc7ynjGDiJsBQkufR+BxA7HVFK8oW5MUvdVi74PZsuYGgZEr06gN0/WNUYPH2J 1TOfWQXQPqWbi/6SH/INlBlV8OLxBClvqB5kOnx+7+OdU0fcbGckhueX6jhoTPW8jLbKkYJ9SCWL wSLqCAuDoyDBG5+qiIwBj1qsMGDy4YEA98b9oBB1oeSUUJKT9C4Z4g3fTiW+WwcMnBFQufjP8viT hm7FPne107cJrfV5Yx7+Wjb5CDkcxlFZyf3tt35ZjxhO6QQgXUmf74EGjIDkzvk9KZJyQGoXFjWf u3CA96P8va5nD6rBtYa49NasT7y3TTRNKhTX4SMsYUP4o2Wb0APVS6vQPshmR+s4vxRs56WeQxFI 6NPfbNJq0hYGNH4k4lcF3VeNETwKfAQJKvX2NHFoIJ0u5NX/o9uONRS+8/VxYUgvEuCnWPmQR8lK Wf7KHI6CVHBlYOzoFseE8vWtM3vesA9TONQqoepeLs9ViCwz0v1W6j7byVF6BvlkDhf59dEC/91N j74KNRPHRzhWWDTDvBK9x7xCqS/gWOpenDaZEgV6EjvW6S5/AqL5fUh4L7vwyszMear1QhUbz5VM +nwNZxvN650SVC86jNkGBRx1T0lULEsHFrQO10QZut4BuLD9UKc10EPgbepXW3R9jH0d8EBwVONg ZbsJxYl9XKX2MqFSOizJTXE1e8Oum+y+kRvusDWIXS1EFqNX8VlrkQRFFu8aK3cpA/+HjEELP3LI pl+pH0iUxcmrlmNvrsywx0WacDv7FPCEmqrY/NKA2rkkZ8+DOxDESXl0UoBLx0PLyThraw2ta7bQ xzRsV4AcjqZW6640e2qFH+h/IqkTZA6nXAtGgV+KZMbnxpCXafeq7OlKZJtujcLAfbZjhkBnjF/q ZR4RgO5ZjHR4KOg+DQvLyUbJmd+CGfZjwwF6MOmENH1+5Uw0ckrgHgzz8txOw38QAwU6n4NDTYMK GxDMSEku2KEex6OKRoxWvg+XqzFXssrSgVC298oTiSYcCpd3bh5jtvb0NNMjBVoFC9aMMOo09PdE pE8MP6ZGRBVNP4NggX0ph7yt65tBHj1DBlcWYVITG80XrRKjvKKNqsCbZM6zbcOwMFU6ZFX+xUS1 oDUKm5i7iSlsX4wVgU2jyDtXz/IHlznoHQYWU+Aao7thkOpYIYn6QzgJMiiiTADM7g4jvZX1aybv vXRtIa9JrXSGe7ZbasBQ2zrArj0ljo1uNpAzQDEotVSw3yk32HlBonNwPmRDiCo48HNRU4faCG41 9MTUMfBMagRYhUNXWHEuJHOQ2M8EhljFBieKDgwTmcA68W324fA/34UyPC/4RjtU+OOTdmALOzgK Vn3peXJzV6YnsG/JiHiuoeRVlYf7aWUzOlIHqXpLr/bBobEIW2pubA5oMx9rCkBGIpC48kcPrYbg vzeHg6zWU1w67ZX14gu/QTTi4wF1vZex7Gr68YhP86sPMqYI97hfTD46kiWGOQ8YCGc+rqmmdeWX NHBCxq6Ih0c1zEG4po8oRHegIAHU1Re1bcbadhSSomq60R7CRPU05IaTuZJFK787IWHfX3Teues2 NnJIxSUH0LKOsT0DX+Up4ngqK1iKZq1iltEuOsLcDcoi5RhEjQY97CikDIXfehS+wKM8FIoA6STP uVUpEBUGXL8JP/aJY0HNsG5fG5XnOL2tkJZ1Yv3KuJEuREcS0AoffhTmkdLjqXLUM4l9QLfSMEhz 3vlEFLQ0ymtGwp0gjol1yt7CaTW/e1APs1Z1BmN8PiuvniEP3me0EZOEwnshpJ8ur8mC8Z0rXKbI pESUUgSHdEfkBMGkV51v36wAcIfYzflN8O4HP9cvw46MueM3oHMQQ+mHkgTjdPgMBn4gRWaN0LPl +wYd1vlmCrr0U9kW3gAN9xelnkMgWsocAquB48Z4rbdpL4FY2YI2H+B/5f4xvF97LjzTmNs+yywx NNI0J5u1rPRVn3j+K6k267Anqrd3s0bmSmB/1GPmNZxef2kUuMTKarT0HPuJjfIN3xWi0KRnber3 ZysSZS0advLUQKb240zUWMX1tqUOA5LpRP8W8oKrY6BZC5UUD6TbgInfifazLDdT4FF8GjIudW2R C4U1ibPeUlkNLs2yhYaBFg430umPrWdBVgbo55n24/efCgO5nvdD2NK4f+J1gQnN6plLVLNS66NW AXhh9IniMfH8mBpWoyJ++pt9whrEEfCiQ7EnZQfk9oDgEiv94SmdFub3Y7DNmkk43KFOrv1HEoPr ExKtWwT36WqN2eUF7TjewHEKyAoi8NznPhkyO6+6XUkYM3DHg/7YXsL+miuTCKOtzu9+iHfxUwPu X5Rb/I0wEkjS+dlmPyfa1tv2Y1GIlwar8HHYpz8MRK8lIdV+4fBRiPNxJfaOGHpjMdetwWdC4Yvg Syej7wTTAuMrDcNAGpZeJOFVGql0RuZjRQ3KtqMDzCs398goTli/gH4gGpvBadmW/pFja92uzRUn mky2bW2jqTRy2HhsAIFX2w69XRmXoU62nqZR6K+2u/0XMQwNvpLzLEesCRvS4LPX7RdmqACDid/2 5G4H4z8q/zhCQObf9Psq5RdWVhHZix8EGdMXO9hl7blxnwH/QpqOMaTVAGGkhaKC/Ah+iMfxMifj 7j5jwA9Uo6+Ypbm9wl5Ql7bMqbAB4cTkHftP9QXHYM1mvQuejEGdfZJFnuwcOonT9XNmK5gWrAx+ vMfiFri64KPxKa5vXXxWt36MnwJcYTv3/w+hMtGRbK6kivRSP54s/X6kmOMtPXQKUMSD5DhtplP+ q2iNW0+/5FShJcNK2IRYskQvO9L+dABTjoi1KtdxWpgXTEWkg6i4Cm1T0/kCWmyDbG/sYoox8j7K 43jDWDj0EOSHT8mqkTBtO8UQCpwOUOoXPyCcRvCFwjdzy6Sfm7hat34bTkK3BLCAXKUGGUZFqDEv 2BVmLNaznQYEjZOM2RFKmVlIp4A7FWHdQ5jqw8gQ8kcvsNktmgUcAGFb7ZSik8hIJKGFGXmzdEj/ uUXKZmHytDYjSXOBlA9BYz9scCbQrPBw8Y76itnlEnoEMNasvj/lTkLW9MILqm4QkIpdDXLJqdI8 xrRFRJbG2MYRYaPWi8ImH6sNq5vmph6klU3VH40g0kcstGufRObRvANBXULdO28tSA8RT0Pb3DcT zw2uxkA1qxDFQQ5oOWPMo+tysQw03lATapfTe9PWuW5ExBbVFbJ4k6WSLtlo1CJ1+N+GBR/V/z8p Dtd8FmUk+YDt39ZvLQI7m819om1BTfBjLeLt2vj/LjhIMv8lXQrFpY/rEA6WW9+vLvUGi3bglVgj uga4Z7H/7A1fut/Fp+lHIX7VlQbOKlLAJ1CvEvaMOYiTkZUkhwoFRxqv6+hTXK6bvCC7OQPQ1RgE aoAkiy0EjuKPRzBVbhmQ/MlLE5K1qmYKzQSRls5DKu6zJ6wLIUAfWgAp9CzNdbqqAl0XAQo/a/0k At2pVayFSvNa1YZBbiJW74iCqY2p1m4IrxzWaWaeBD2xeuGTPo/9HEMAdeJ9O8SPeH+HXYesCGkf UqD4X+0eOhhnplqfuTJRWZiHKSCfeVFoOP81Ihz+ck13C3ckvoupEnWfrZr4YmbV/vaeMVA8NKJn CELZwrCWxui8pyaUHl7eBgD2rj5b+yGa93VGQRaYJZLCmTPX7e+lsswep1SdruLJgDTwGHZJH0FL Z8EJsxQplrAGNgHGoaS4nQLIfDB2o0L6AcKvwXjbiUW7zYuTSjjK/B8k68cAPTc9L4+DoPrWicd5 azkEsN7jMhNqhIJpaWUPckAj1FbPLFmjSj/vQ2u4uw6NjaanpOCbbmfpsbulja6KsS55Rotf1wXg fQuPeFo/37WZKuVSYNHOhIsSqqvMaGArJUVq9M6LynutEnJtXYiqHAhgEMkdEoxYwvCYgWizeLFQ qSdyP9gHQI+P3Fi24O2nM3s4LN7/fTi38OvjgRKHg3X+c7AzxdRG+3q2V2ZY4dN5fGGzgJa8Pi0c edD0cVREq6ji/j36j3B3IxfgXUZfHeGdH3kF/4zOT4CcLlbz2FLmSijSDiIZP/4oGts1DNCDf1p1 RpiX6/MOvGRcVQLt9+MdJn0eoszyp2lihkVx3L6zH32VdSvDVaC0oIfX6HKGRyet35fw+1bRI2Jw rik9YqR062l8KLlEetsgnkQoxcjdG7hELQgqARRNq0qNyTBK6SCDtXfMvRSuv/OSf5i2qh++iAeh JMqkqBc5tTBS/ZPgSaftvec2WJxIuPEWBLIj5BuxcDmOVQZQpK2NMM+PlVxHzF2oDV+m0rkzNfBx pQO4wDJL+XMqPc226DvWP3tCTlEsS0ny1F4jOVGIpHBQ7l4PgT/VYWO8QCu6kQXbTeD2QDGxCfw3 p6jDavrPFsA1IiqsCF5pbOPw7t+6vgYmQs0oA/t5f3ZmRxhB6v3FRc3KRIiHtqKtx2p5Ei8ePqa/ Ej7QLdxiKxkkAP7JNYtpB2fzQFYn5Gs8YGMNOe/Lgd/wpXGCsct0/AgHYVNANHqUq7LfWnX8Thcn rabm8Qrn+q9jOy/w0zCOG4wOIfuPy8budrzk96omYq6wdJcO9lQj2x9fMxbue4ILT2IyS+aoHLFW UEMD6h58V/5MO/KxoaH/ongDBafNKDv9DPzc6hPrOObuTXh2FlSQGcH09EUCOa28epfrhUVdS+I9 NsBxjGh384PFvU5K6jRa9Gncxd6dgqWB0hKaM52LLyydYGiC0aXXBAbVGyDibw+n1x+XwqAkv7wl zR9CnZXjpwioUXSfuhglBtMDssHC1dElXUmkq6xFb4XBt9ZPtxqzkLYUwlT693I9eiVL2df21TyE n6KZUFKjyWKq6tZDY6u9EYyCCmxbaRPBXCTuFaaHfAoUEHAvmLWdKBUcBoCx3f4VTteXhvyS1hWu 4E2gHPoBLgtA2uGb7ZruKVhIkQRgGxmpavK7t5Wl5pR9YisvIGHauwnyrz9DSYtNMBRc6hi0Zln8 Sl+tcwZwbqqiwRYIixHLMlpMec34SUfzxWtx5XkrO4+ISU3a2hqR9U4+sgiiVPkIh+DSPMeOjJWa Er2sNcSv6jLDancGUWi4ES4dGjTYr1TxWNinWXUDkUqx18W1qvXxK3wmeXQGmmGhSqm4Hs03gBPY hFYmrhFwYbVTUXzoz//w1uIfNOnHYJAiwyebr6I7gXYQ+fbsqWCj59j1dVlO4V+MlwY1I9f1JrtJ e3+8gsomloMORADI0bQ9Or/Y0HXzmu3DyyTGfky8DzuLXG8vq42jvpK8NYKfyEQrTwTlh7Y7bFSY vLmSC9Bf/Rr5NLDVdP5wUPeXC69S+00B0NcRSM0Ht4yzuKfwagmjkPKNzil8O60B3m30Iq4PH8uR Gcs8CoA3pz1hrqtlQwJR46cmeJDW3pNzjevMBHd8QYrdb6tSitj/WFAlNhdjtIKPmUj4hFpoEqwb 2f1x2BuWnA/OWxB7n9Ck7fpB3Tl7JGeQosoNGF/2toeIjRzLRvEExrwHevXNMXx2VWn9XC7Unipy Gbf7qC+TsZkba2gNvW7Pwml4onMaTyQEEzLTKUAr8qLkXumXhbiIcFd41vaeWOYyX8Dv2sXLDldt kCXmC4F+LSpnwr9WBRt/4eejM7OITskHPH4YT4mmOblxyRvn1ZlbdGs+NSxJ2TzCRuNkrJBlS52m kJuMtmV/eWYbCoTfhYWt3TFVcT/U4P66mUmvFda5hdFJOF79CYeweDgYkp6M8xapUzZRpd6qzEsA 3SVNU43USTm1BYaq03FhHQASSS4VJld6pZ3votcXYuSoAsZxkjTOfNcvfdYWSHXukL9x4btpnsJt Vof9qf94Ez9Gx77JOTsXmO3EWwxTi1SJD8/6yUEYZ8TzKBf5BOTtN/TUy+yAiqs7P1a+dEB5UqhO r2N2lWz5XKNbDvosg8LU9/oU5wpVC6InooSodjoqVszBaPFuqa39Q2xcCf3IKOuwKyKq+97VDqZH FaXzqUiAzWDKyr41YqdwyKd1O6GSz8qZfCzTq5hwAWzl3Fzj2ygTwrG+KwafQtCuc/UMvvM6hGm4 vNeCsW/+LmWORQNUGnNLcfBa4wve0LZqkw0LLdk+ikJqIj5v9lYn8taQKjO6iQnUFpJJ/No5x+3f BGycw6m+6FtPd9y1eSpQseQ0VV6iaYgESKwc3cQKCpPX2cMi+7M7/S8ZLOcljdZDchFHxM2gWD++ 7wzm1ZDr8Jy8G5jczYUGHSte0IfL8pfaD6VnHx77y1V1ZmVos94XjViThRB8yGMJgXaM5MFAcau0 JzSdOrP0JjP2P1WJemxF4HMaOhChgXuUhUVIuOLpvXkANaiZAASXFnTfyzWq4ocftuXKXRmR9QgD xdKi9vuV/m9LIVBvb5DRvqUgctdWrj6JbGJN/aLm2TkdybH3hcFvGBGUnOAslPwQVg2vl4lIT4Ki eaMwxSQOSlnkKdzh+iA+J4LLe+a9kuItAeZ2C9e1YfqY8N0EmBvGzThuPbX5EB6GTaJ5dbXT2dgc uZvccIJHjRv3Sz/hlM+KXRKNkKHXtAANfiK18c3NHGgbsyYWm6LKSRsUsSXOO2muhD0gq43ofLtI sgs/FgQqp7Le/8vR3QXdEdxXg9WzPNggPoC/wbMqRG0JmDWDoqXC1tGeCauRaBCFKHw+xgwZCgNH qz2XXBGcFTI3xB3BYW9WWqZPSRYegPyctXkqBGzXzE+ps0tMurx23QqJBvm35/QTfNB2pgni0Tro p6ZJl6vEL3e9554/i3if+Cg6z7x+A2+LNenUGP/DUojGha003TZZyRGAHws8v9+jpDFm97vl1uJY Ge9IXckla+qj1ItbvlOio4n8Cffdza8wG7D96xdponSpxdIQG06HyelMI5PMPsxsHYRrxB+O2lNj 2IrQCKVHFuR1BJ4m09Jmo6NtfV4skJOw5ft6wfu6FZ/IyJQWChda24Cuooz1iy5xz2v74n+NYY6k vEFYs5aBC/Cv7CHzLAhc3DpSXYBMe8q2K2WByk/yEm/Bx/7ykm4eYQQ5xd+oHi4sBn6bYOvIsp9F Y/CFQgidy7mi96HdkJ/IHO3FmrCtHRMZDu/7r7u98bHbchxuWo8bDAnWNgwM0bpA4VAEQfpO59v4 vAzpp3YEkDtjZujZOPUX8RBmWfmN36uuHxNC0V7VtPQliR82zaF0puDJPNcWaarJHCxsRNoMX4Dk clamMzJqcHALeWGUyMexyvq0MyR8eCoQVEP19J2q6AlrcvzfnlwRQJNBQ02pOda60gE5JQGTa548 E+aNtzZLZW+4sfAKxWCIL4BDjm4vMG1kSotlBNsNobVIJFt9IqgHA8pH/PEievaLJ4UCMnVZmUEQ wK3QLn2nKdfdR/YZdIyRCft01WSXqCnBf1MUD20cvLRegas6ycOaKlKCLGT9OEIGob3/ShbObzaW VDlq9b79/c/vkhnURD/apyKDedUXVkaRAhMZTyXJnq/hQ5/Cy78wvnEh17Yy7+5AFP/4xabsl6fO q2TJVnO77LI18Z7iCaECqpYfB7Q+nmNfSYUT2UT3SQbQ3QJlczkHsFWYafqzrlprNd9scwitFwW6 OpiVzOzTHjaZQs4ehVIQFHWDhLVfIQXQJyIoBK2JXqSqzcbt9OGBb6SX9+vfm4FRFrqo/sIz7hBa SaYHbv8BykwV7oQAvyYt+vTKvXg1uzldP9JX+9J44E1QsnjM6vE259loV9wyg/wvBeZTee08Q5Ps ZfNAZ6zsmmnxda6jniHrGcN/hQsYcsnNJkK1vj+FO4S+vG0rLvAAxIdpO1zTARgRi4EfzlvraL5o CsBw0buhuP5Z7YxGMOLft2QfOkEe54Ik0zeBLiZRZ+2aJWu6FulaU1x5oun9VVOsn4k4AOja2FUK WTd6A2mcOxsBq8+kJLDhb4hgyKq2zHDNsmV+2V82J7diby+rgZZ9fUbO6ay5ADkl71N50hJNJ2F7 nyOpz50jCdkLlhxmORdTNTlrS5KNfXBouC1ZYkajnH/q9IFmgfP1vKTuHJ+N227ebmIoeuokXamv MXFtsFIVSAuzsl5p5LzBUx/pntKeE3wQ2x5XMqqGNdRqb2nig4SuiHOdbDRV8KSEKZVosyp0eo3n Ex1rISo3Jj/TY/QinFXDMdPU0DTyUxtg05pYtKnNecPYQ+NuvdYfmY8+byzGvtzq/e5swupNOdMk 25PDb86q0qtIEIk8aNCVFmcqwzN4G4Y5BImtiZZ8LXW1gU4v/jlmPtPKyI/7FwQHZE5d0/5y5oRb tD6S4QH0hkdLiyg1qAwBoWcPCuMmpMLWkBeX2uE97H26+qA0YgkUDCunUGGpKMMqdIuOMA2ucL9T 2wWfztiZEDd01dp+MYyKGljNfLpqNPmPHkoieHNZvPk4W3eqQ7bsc61gX6v2mZJBZSR29fALxbFq ObaH8UfkPSi6bCnYy7mbeMqUlSf+aPGcHHSJEzo27hUBDPR9jXYNox3uaYdzED26Jh9P/oDD3ed/ M62EainBVbFDUQdPmITthZrwC0qPbxIRDXxdL4jaK05eaBfRFxgDAt+3US31Thnylw+5i0KgW4uL KCRBLRSXwt+sQsKumnUrlzzSNE/KDa/tcUoZ0S1sMCrSW7wZOEn2awxAaflgT8BGliW68jDOhyO3 6/9Ba+4RyB3miassyh3IPtnurjcZCEsARvK4bjzN8NzDaBCZ8vFAmhCNksaQ3OQ/5JRbS8eYElkA dGQCr609acICrsRQtibKkN+MoOk8KFGZvKXd8Vg4mdkfUFQ/UuT/kkakuuvqlX0CK97v5f3XojiP m4P+7noI1erRSlOdQ7HQPnA+wBI1UEZ7MwNmnPE3ZyPmAsuMjQb4/6HXn6vhsnuC2dTIn0rPhCAb exn2GSTgYVEagNuVzHmvJja8VFSUZKYc5ypJ6RVN8Bmq/9blGX9vGwOBUopoKfI6P6Q1q4BccXll H9g8VGUa0owLmD8bEZEH1jHrZqSF7ONYXHoeEnh4ED9zIi+6j25LbX+zz3Uwmf5w2WzQM07Ui695 +5+pjYT74osJMgecMSM+0ym5wYbbVZ8jYTSVvQ9EuizW0X8BUuHK9xfZI0peXBt8OqhRNoML9bPA Zi5ry3LEHVhqGO7u8njYucuj1wbSFWxelDs4mUESdEcuNfv07gW5+SDN1Y1J/Y+hjvUo20svhYr7 tpGK90ovvDoKY39tfo60aqAm61FEoOVikelsNeyaMp59vAnDg+Ou396uFhMkuVP1+YeF4EI8U3Qc xkk5rSxzO/4mJiLISC+NVvxoe/lkX/U+ABoLnCd/l2Gfje/OBVIs4k/lHozmBgodIpgcs9L0oTPU xbxrEQx5NC6swR4JL8LdpdI30ZarMxoXPnP02638uF4O14+9m7sezFWKGzKPCiZCD9hME3y/puoV S6+Tav/qTVYCbuijGZj7mQOPZhVPzKofff9exkTdETVhZX5Ym9W5ecOp2O3NmCbk6t14SHJbVbrV 8lXYZyXqR6r8jQrSgdHC6Gkf0wBOHIvh4WQu9UZanXcBVGEraMotlDoAFNub1r+epSntk65G5T+g kZl5tH3bBF6ZTqab21zlM+iFErDfC4d8lvbIO8Wmh3SOm2iHwOnXoIw3ge4Z24+O5kzJO4hG5S9N 6rYKAk4pT1T82KQrQY2UZY+EqHoJluCeqNT6eJZVMeOSXL2ztlMBSmz4Jak2ihJiT/7/1gjt8Zgm 3IihV5nclXpRA6i2gPJSI0TpEH8N6VFGkvEq0QpfpSeLLbtiDXjU8Q43/J/THEzzdjQqnzwGn/g3 b/3BZOPJYL1ah/vGjomosTHoQ/62OrfHijL2lFvFs8tcaZsum45sA7Rqto9QPmByvEFgSp5sOJzn s7Ji861F6kcGX9q8xjpDgObLL7nHo/58XZ7ja234XPjEEKmROfN62200QVFVHFD7hQVMg+T3mKft gonT+v61904sLBj3dtOqoiKLidGHHvvxddia4KmJgeHHVgLPOQmnp4wIP/azeZdn484J4ydqm2rz n1uwJkMhWMiuYA6x52e7Pyd9IeXzUZ3o+Mfk43227hpX9OxKKHXNUAF2f9qiU/JnLlIOSqqA1L+R ysdWwmvz9g+2ocBWQ1vxfVKEB6Mwa84POWjrMFZFoZlOi02e45yYcmHyLnAmE32d6J6JsPdpyeez C4lpu0C4OmBJdpq5ZgmbtMC20OzptYydssyxYRCkiNHO2Z2HkYhGDBcxhHQOHLCnZAxuUSEARx9J 8k10c+DtwxadA5iM+Btm+UJY6y0rDM/JNF3I0A9S5+D7godG+C6pdvE8QiBk03bKXFknK4C/myBy T8A4ZCJ8IP2uGjwIo9dxJoiezMXJBjep+sPtx95u5049loO3jEDG/vd5+7Ff7yqqtKB1EYfyqmAk hPC7Ek2r16GW5qUCMPp1NK/eRJPR62rPTNN5n+x3EMHWGrFOstfsbYfPMDWFopQfUWyJdDajKAn5 /Vdvumz08lNwNdsnqBarLWIfBMzY9Tj7Ls6TgfWvXjB3Cg0oKS5edlCJ4MWKak2vAe8U3SWFp0/o Utelx7nmZBxfPNBgwA4iqhq7dRA55mwan3Z3Ms09lT55dcl0S/ISWoqlGTm/O2F+wDPyALF3qMTy cAlJEberYr76YJ001XGWb+yZR93Jtn8nFpeehmdFX4V4wPH9JAZOS85xUm+pzPQXLuIUdwDMp+DT MGyBx+U7IqX9fdpdhIJkUtzYfXEw1vpF20eqlPrdB+1rhBFWf6T1wwcL9zMFFLnkpW9jAONRQaDd Nlnyi0g9l8uLNmZheStHe7WPU4hu7y03tHryu5RJb4Qc4WOUxwJh6gJzyw/9sIeiEvepPrWouMQV nsIkH3PDigYPRQm8d7yJ3CyJakrH1p1hAYzmgWsH9bCCyXnJnrQk6QSJNURaPG8b88L3I9rStfAV 6ClI03O6JzAZWA72wAFr7TiPDI9jjKTcVtl55ugkZ2bmKcpbZ9MT6R9qYYKqhVYt36+ig18bzbZM m4b//04JHiKL3fnbGmpilcTohQUy7O0e4PYx9E+wdQXvisyKoQgh0+3Ep+/4zqwbDO9SD0hT7ASM CQIZzIUz5ZEYxcqHKxEU0AjQ/CdUnGRJGPaeXDb8wXv66CS3RJBnY1XXNifRP4vWbebtGNln9V4T HggehIC+7TebFRN1Fqe1UuyFvgyn5W4W/eRbTe2Ri3IlMxNmeW0G2detJDtKSPWeUUiM+uuQlC/a c/OXqkb92OI2roSxOWwUyqFCu3loeNjGRwzn4MKdB2yDw5xlVKjmaAZ4lLYr2IXbVSbtBzpEkDuR RzeIEtetkoTMXLwgvhaDLnm145yT9aWgQKABQubMFT/POKeKu62m1FyleXtnmAbHVL/TMUln5G60 EXA4eMEThYmK27xmXfrhPpSJl+UHtf3h9mVlBHP22+TTXpzGXvxt7gPTDTZ0hH81AqBIGyp+gjFM fLzM9DT6vApH6I4kijGbO4bSX/yTW10GoY1wb27rRRI/l30o2FteDxUfhkz36zpFMSEswuwcvwEZ gKs6mfe3REoEyKEP1WIxlid8iEaFi9NYuEDO/vcXMH5zAag0ABO44Iz0TlB+LtR3DuICyQqb3Fo9 7KGA4ve/xgAkT/LBseH/MWx/xFr83D1Zg/BD1cNYAPhsI+M9e7P8NRvqy6Npt4XCl9pAKguFzEt3 q0dz4a/N3mGtSwIQEaYGWi6W/17pzePq8PmwB+eGxULDTrT4YW+PmzXcsce7LdGGwpcFiyqBWNpK 2rzGIFKxugv6jixJJOQWP4LG1/4qt6L5oJ2tyF8kcELIGnGFqCcGK1etm5AWUiJA8oJgOBnxUAvk mdlWsAwQXz78zac4Y5lVvcdbQvAkl4pwhnx6Yk4++TTlcein/ZLK3PI4wRNr8d69WXwezGRcdxvN 8bH6ih5NZ1vVYci7ABZxyf1bGXen4KDBy8tpcJgNOETLccMnL6tbxFH0OWx0GmrBIVUr9aR+AMv7 EWzT+OWPe/9AELXgSsfUf8HUktTYvxgac1VSEnOihW9+JkpPgWF5nw5soMLEqFM45OK173ANr+h5 qTbSn9BRuixAJlwvh/LqXBrd9FXBEbixE71Nbjvp4Q/2bEfS9MdsWia8f+cC+vftDhU8bMsaZ8Gb maPkWtnVu6UzouUbhNO7pFsSW0XhGqsZ6ktn9hyZ796hW8uQcYwvFrHotDumkD8o1LxdeiM7ZzTQ cVA55mpzIUB0T6SQSSP8UADV+YiQsRejgLxtOpEDO7WeLHEYQy6s/zlJyXVB1ZtRIp9BApqQQ53x IgzWv0zTqvbBgADNydjoIS3OpGwpQlXZa7c4K31uh7rNzCXz2gMAs+MEgfpsT5stU1kYH6SCHVYC mbLro55dQplpITyW531g3I+8BIXGXkkxFvZzCN1EvIkIzbHqCI3JaybDGQ9dkoFm8jOpBC87sLBQ ytfydlwRsH/a/NjYON8CmNdixn+WzxOUVkVBMrMVVJUbJAECvYlgT432IWqaviNgbOYDwEh2zHFQ r3EscxKWTq836GMLtNpMtPT1k92TvDdwmOV7+d947J1MAeDjRIcKw450QZlHr+/2brdApMKhsE2S iwVbkvJXkNTTOulEiVLifF2j0RAbHXlqiB6GBIIM2FCZa+dgkEUQxMi3w7Euvy4+lpebfXILzT3Z sypW3kTBm2AQ/OeSSo0+Lk01KQ4QQBAUnDILxKJdJPf63Tc4dK0OvRAesfN2+Ni813J2inNvPRaG IKFHLWascti8iVQFE0Wtfv9AnLNkYaaHQDJziBXsX8wXHVoVJmW663tJIMlPbLNWl6sGvVxB4YtY WiRurlcNQ4P0SlbMisL9jPJXa3An9cHi3Er0tMwAImbWE/247CSVRbTq9Vhdt91b1GpLjAs40wH9 +RxB0pGrQRT0a9IVlGx34SO7XUU//VZHV7yDVyc4q//EB0TQzGXD5yVsl+SYxlyww2Mf8G62Vsyu E4MfDvx4S47ntpzjGKi5esro3aSxzx7w32DgDQdnQBdyzceIRqiZ/ERLVLOzg8q80P4V5tlIj0AP 8tupAuph5KSktOKDosmVbmgeeApN2kXzDVJ/5umSqcnOmu8ESua9EhAyyFDTs3ia3wB6YOF6hNJG UKLY/FcF6jHaQS2RvYuQ61zMpTNVTvMsK3xMiS4WiZscUBmWcknkN99y62B71UO/EAznMh16d/yx BZIhlDLhTByAWQuVs9kPN1vvfAXrl6lsgFqCI5Zvmgd5BMFF= HR+cPyaL7BiZekIyIl29c5gVMNHFVFib8vpce/CcJfKYoScDtrzFgbmnG7IMbooZW0zoGu8onZtG xCBXDsYU9s775PdJOFpLJf0c+ilnz8S+WGDnYotugboTYcJAozgcCXOvPLmrxlQhWZlUoJKXZe5f Gif5GVO6EcglH0LkzErUNOMHi8dThnIAS1kNoT8+vet1U0YRM2px7UhHLMZ08oEH4PqZlAP0IMFc unCCEB1cG2MkiI15En5JfyQweSx1NsvhUTkcG/g/ygwODvneWr6cXEtuIYgwtp41smA1J0Pq1nov JpWhy3bnpwR/qGeUIxH8UTiyxULgOUbcSV9NCE/SedsBhsXaN6k3HHHreHcejxIZSMwjsfxEbsmc IDjA45r7fbiIyeA/Af63pZZh8nj+6+Hq7vMjb6hhHh+vqhqnzA6p3Zw6fAUzyHeWWiIN1pvIqStY 9R4HiMsAWZq8FJZ+F/rXHboTu3MKNKM1toKXOfFU7aan4266zRjJeKf6NfkulWIQr6dF5v0nBUYq DwhzGItjZdskbszVtdOxAS8/5QpUZLcLKUp1kldytFNhU4/Zfvxzm/3KLxk83jTbYFcACafVD4wR hnwOcpdFypN2QeLnENTzXBzpUikf+UIK+kZzbHDNEoBc/91UFmYFuMSc2qW7bX4kv8vyWMxJg1Y4 qB0GS6rcMrE00JQ/Y431SjmloX7vdS8JVACxZ0tcwWVNwvDKQCN5e1henAcIkUj/kboyR3j06b8c NJzoo8c0tHlDaixLg6cFB8rlIcIRQb7BrxGPGV6iK71MqQJz/uz+DhspH/dbM6XMLw4bDUF5yG41 V4PeSoKmCW5iuofim0mWNeBgcDm/UfS0xhS70PRDzSs4gheG3caCTHpkxABYrKkSnYYvfGSDV7M9 elswlhJ3xS7ZE6k8DdSJ9C+5oyciUggnWd2x/IV66yx3YSCRz+kdoASdsJEIIs1rK3uIuP1Sd2bd Pe2bIu1bZyphAaZ/JCpB8H2UcKOAq/jt76UQoWsA0LJ/oMDrdBf5rPzGIVEFa3waqzn+RGNoefxf 8AbRumb9Xiowm3WH679mBb1v8VnF6YWNaQkk2BFd8l2G+Tzp2M85ab0Q7tjS/AejCj78BKbVmNZx erc1InwgAN9uRr8/z3DSaboAIZFZCVrxjGS9KPeo6pHCC50NxckAlWSPKcZ7P8WrISYchHV9yX3y JsjM/mgsJxRxXp+/N1AUps2vAWNemU1QfrGwvbx7Oe2abOJAerWGq7/aYOvAUWjeJ/eTkfVpvCbp RKTAZNr9EvvEKtV1jYOrVst3HBOD2rp9hUNZFJKAoWtEpxjhjG4gRJH8PICGlOiqxrBpZScPL/fE J8QelEGh/uflTwQojdMUDFrqU6E97vsEGHtQeYaO4QivUYNLDci3ZVfXrSzXbbNT6uS0+C77Sm0r sU3kP38bQn4KE7I0SHM1gS5KybA5vPCUeGSH8acZo5Hs7U4wBZkBnvnteFEcz9tEQYVYhjiwiwZB mXhFyCVkbUNWX95P/A5XCu2tuXXHzk+Ai/+8Y9unnZB0m3zmsYov1lggv//WWKH0SwPpWW41Nj7X p8Ym7dnfpv1/xI9CxBFfWCXsbI8jO8n/mDdg6GwJr91Oau8zL7m9jFgUm0vY2nBdV7SV5YqqbRuu rHacuAjgbbh5JdxtuqNlWvujMZWvo9RE8zcmSPKpr+modaKxYX+q4N8g+n6p82MSJQwRJBG31Gq/ vzx4fOxSsO66nI1JBmNNmlz7JgtHILCw+AOPX43xmlozAMBI4a+5/4B3dGUaI3NHKeJSqnLdaFdB SNf/vzV1nX0hY6AzSCgsbVXTpspfsaHert05RVcFmkw2mNr8xtS/fNRziCkrd9Nhi0+mUmAw5C/t cEtEsjC3mm1p4B5mGPRlYdxj5a74EsMSxxTuddW9cUzjoIaF0P+MfOLa0iQcYXoIitseoZ0ePir0 81uHhuHZQAUkHB3YZjnG7/OIfmRi3yYwuTZ3WzfngKYdmL2pUxQVdYpbg9i88dSoCbcmAxI4xk+I cDDs0Zeq7/ACQjo17lTvPR/A88dzUSSAcLFG6eH0jJQn3bIfCczLYHGP071LZS2NY6Mh6s7Gi/9H KgcO/W1lyyt9K5B+bixUZzfWsgLZQ41cRaDAI6KE+hdZwsiXwTYOTqVrjc26u/87rgk7r20jW3/P NwZjcFusmWf2xflurRO/hPfleS1zMkM686lKoAfhHXDXxaDYDP/Zr6Jo0oJiUjuU98OILWQBf+yf Jwl8Zj7l/DSU4C7wDl5+xTppVM1EYYgR2ewJ4V5/Sb5VyF1cGPQgaDBRZsI7NT+3bKuK25nA6J3j g5TGYZG78cNP9+W4aIx1uoltr6wuQ2Mzx2edcJBgWxaGFH8HIeFzDF4s8VeZweKabCNeFh9dyRMP 93s/MekWHqjW40FJ4Fm2eoo1SPRCJzqur4hpD3FflmxWzd+XWbFN6DXrIiu7Vcn86W4X1DhOCIYw ZVFzmJ9HASVDoQ1DaWudiiqPazl4oZbcSZsDmpzWzkUvxtziXA01XMaupJyFj2Po5X1oHmULsbTx jqgBukeo2r1g9iJxbTJBK2iGKMLn6wtDLLryfkgZOyaIG3Ur6AkkK6vVOySsG5vLeFS6jOHef4A/ xO0u28gBi3zk+qhierTGu1TaPS9jtAc2U+GtVIxuvocs5KDLZrK778hSYhvLGURUzYnkmgWSmT8S 25N4V0jT0KsU2TtnKveAJpObCs3KV7EkVImFdq9y6AeDeYh/UdCRD5QJx2PLoGtOnOAtrCY5mfR5 8jaqh8/yN2j3jL+KqPJB0sHWgSe6CCcCuUx7y3YycUF8A0AVIHVmuR2olAkPgK/ljV0sjG9dQXKP mmo27Brmp7/G+cVbIfDKSSE5k19uOLVeDsgTj9ufSWFTwtfkuU+EpsSoCcH4y+z17uBrWD7mE0M/ u0uSfEYDuf2FL8hE0i9S+oMPj3Y9vk4uWxvuZ2w5VTdRFY1AEhxX9NaOP8dJqUbu7rpp0lmiG1av 8UnshcNjokE8Y9Te51ezOXy/6Crs3w1e8E4F66Wk6eUxbMAq5KO9DeWHepDpPPQ/81WCVdHsJ95o YmPnoXd5n4ox0hz1N68aZV+064RcuvxPBdDuNqFle38/mhVSMCQVgBrLfBPU1zvIVWieLc/fZkyN Xle6KTbRy3tgrn9oeQ41bVrcK8luGz84aLsDwQxad//K4UvXOhsKqe4dYZ9fIdPTOdoo8tBnz61H lGN6WWkn55Ex0kWdjvAxZpRQ5nFcpU8mjD9CnpNb7NQC5itqjtPFghyKQl66jM+XlxvFZb0fd0OZ 7tDtSSmqvLPIIAZg+/ss+wpxonYQDAqRDCu1lSHCknqYAk//ebeBdVkgGX/S6Cwsuf8LXDTfBFhu 2CYDttQhOvrFXr40Bku3gma+J1MtL7LZCY2jUgtn5ei1XXuBJmiOCr0dgZzupivgrYs82ZDj/b3t oqVzyMVSGAhNsZuiukuWmG1sWv0ZpDVW0n4kAyvzKtgryWjXEGAoP7jn1Xl38dB7V3xHmMecj//W 9eCSk3qX4rAjUKz8szfl3NMYONEunDGSGcC1Pqti0+fy0uuTYIXXq2MtGQCu7+mw4CQoTBIC45xL px675SasSRLV/t3wd4/N4pPlCAJWQYcucB8vIqdgINbmTSq9F/LAHYqMHWN56jgDiVtkOQERyF2J UVSsbnD2402Koe//6RozONTFIFbuJdOFt8MzQRqS71QOpLMURnLO34uJ06FpcRYYySO5o9tyN2Tl KZWruVFE306+1fV3tHtCv9Lqu3gQS0eTXNZCBGrpr+68KX4SGfgsHA+mVMnb5DYwGPeMhikyjDBd 8t8h/rPKFmUyWiw6lzXFKc//I2NQe8hzwdy7KUBrmYm4qYtKnvVVtt1Xi8D/kNALCTVvnVKxXuWC ZzAt0cSWOhzabKLHlfi7VXwOWsnz3sdE1c3uum/QxzDDFn19mu4ZINE8ekd65Zv8yAliePMBC5pC lISeRTr1UrcrqymsdC+EiVUmtQ9w/Wilrxu1845gQsWz6T0lI+ivUs4JAD1i4OQrVQLWm/uNZuGU aErkw6FEekVzjw731tIWJCvf6AX76Wf38bgQCx+V6lzCdSRMcS94/s4ZuYAJuiFMcuCEA0Kb/tJs zvsZ3zqjIcVt0B/MY4XVhTPJRPiHZwzoDTIImFG45eDT4xa3th/l90obA06DRrG11yf8LyB7PHLd wGvR0fx37qAML9r4I+PJilZt0vMNECtDgiwg29S4Dhp2cWkTHy7qUUrkh4aFYjtlFzolW1hSKl7L GerIhOMQBYCw+zb6OYCTGNoIDxnYRlqbjYLEX8yPFat+qJcp7ui4lRNbCQqiTsBF54Z82HaFvi35 yCoIxxjzCXF7XTnPK6tpgaKzfcgZ/EJvQ1wZ/vS9/+483/5trCFO97sDgPPCmVQwH1k3k8Nm9rt5 D6jR2tmdM+OA30fFNhhWcsTwynwj2EK0UqGfyQoRQcPQJXM7VYR6Lt2JppCDE4u681R8ElRPtzXz XW7bCeGCb6KY5f6zlAiC5k1CSFwZFOGASoTLCpU2rB/cp6TYLNAKaJzg1LLEvrRNokDkuq8MIe70 1IegWB64GaiDkx0GqebcDaeUYGL9A2TuDRX4VosWf9GrhxM2okAA5HtRGCGxWjqWGN+7KfM52mBD wjQM1O9wIzzOH5GmDTDsvBfaxBw9Hn7R+7CO7pJSqDvi+0ldrqLom4MB1Ii7GenvPCmK4bZ5i9EQ jEE6sCFf9NEzv1YjDfs0hk1uGujiaZIr+zeujCE41/rkFnDyH3HpZO1wGm3E04vBZtX8y0aQUoM6 dsZ0i+P00F87v/SCHqpN4PKnglEKlxEAoUz9hUMWeH9cKrM87gB1fvuk3bjJxtyRPEds7uj8Xa8o g12BiTmqTljAgMMxLFEK9bUaQs2DNTxhZ1ENyozTXkoX3zs4XT5v30sAlWOL7vDyGOA4JIsKyZ6d EOyQFmsMqvohRIOOWu5fgz8q/fnpbnGo/A+9h9z4K04JJ7OE7E2UehGuGUSTV1xXfw6STSjmYzj+ rtII5zA2yTp9sQjjoNDTu7+US8PhDfvD5Rd4cKxaGID3VqyBfrA6E+nnEqUPKcOC7AoOEQSSouV6 AIwqR9Tip9NL73J2XuwPnXfb0KZN9YT03Tmd2iXLVZgtu2AOSSGUVsSRhD+Bn19OknmMjUFF0rW6 AAQ9CffZd7u5oWaGJNZEwFeekzBl2np9z7a2A6st561XO/a/f642AZRcA1Ne3TLVugKe9m21PEmG l+FDMzO4/UO3b7PEm6CgTC5NUZ9yshLVULerJGhtYISPObkQ53+Of3BzlidDavneUiIou9DDXEgq ri2Zur/3JyK2z+YdtRHPTT5OJg+19LvwpdmZRJQOKKpPNfiQ3q4qqSN+lNPBeAcltu0JnBssTn/4 d8xDkkUTllT6k51FBVpZ0XMqisYiQCdcC/I7cUkP1YK40LOFBO83hVex/vF+exFLn8XWONerlM/C P/gSww1ajUOVP8qSo4EHA1hUZ12LUR0DvKun85D0nAkBeyGwZMXhmm67AMVSzIbhKn2edMFB9D8w y7NrTV/4Gf6HR+pV9KVAtdniaMC9vcO9oU2fLPifh5FoSy4T1IbRQMK8JNnJjVyXZUcGvJIopHr4 VQo6pVaut9oNEpjqQmNQJY6Ug6wL1fPuBiBm4a7uC9fbEKYnxDWwbqnQpRXQCVHNVI9j4teqTscO zauqmI5o+LpGrzA4jhkzfCjXT/krKws7oZIlFUKbQywGlypKKi3hUBbglhoL9vkIqWyGfYmOg4eF WFdXbxnAbJhTSqbaXKP8W8zioorRnhov+mdo9gQTSZ7oTTnKQZd8sxWCZRcEIgd1NF0rAcjblYeA PUqlvbOscvZOMfbksEJwXwKeOA/NRU3AoObphseFXaTxBhTYc7QQdmFOdK98N9AG8d8ZfP8pqRmO RAvEV01/fBxfEDiG8SsHJ7HNWrHMVtwRSGw7XieeOF37Fq1nceLkkkDh86Zh+nFmbnbixxR3dJB8 3VCaXTxRVtzrKYFBZimrho0KURZDZn3op9VIYoEWgGC2IDIjCGRyQ1hHe99fIs6TO4Ai4aTqL8x9 LN/4h+x6NCAk3Zu0nAmBWQLlrjMyoZJRfMLg29BkM8GVuujGJDpAJqyCv6Hy901xG0qE24VVjj4j N+sJXE5mWDOwA4rH/OtsfuFPMRKZ9gD7otMjIgQJ3uOl8cAsO2aE0xMp3YuCtmGgP8EQ3nh8rdvJ ZtTIk8We444/Y7HxsRhxTJEkgKz8q21DfiO/5HM+oOwXGb9Si5nRiw5ntQN6vnaJHO3br/cyVzgt aZgX3DKsuVEgdaO7EcmlPqqlZ6/rt8jBQ2KY+EAdYRc4u3RjuYMrip9tBSO2cVuoH4rEGXhZrpg/ 1k57pB+CH+twAfdzt19HRYzZuiNFruhpsMiSxgbXCwTmK3WGyNGRJaNSehWF5gBEbXYz5xIo6Qox sTpM3FmhXWZrXNUmJtqbbte9iszkoaNlAPiv/zJ7bkG4+hQYqIsXo1qGAYb7BnrmjvNszxWnjK0I 9sH0j1z5wXQIAOukDCva3yVU0C07h+MVl2b79JZpspOoAJYLWp9YkEfvbggVdZ3C2/9XTo3q4+AU JE2osQ2z0e9+Tl5KIsrC3467hQ9aAIxqJjnTFfwQEP/MQUVrFaD8StwjSuHe0vDog5FUDkR32PWu nc2uzLP4bqk3XKB9jRNUw2mCKwPHdL3zTs27zsb1hzLu7zIurq3pPEdUCwoAbGmLimNRuZAtUYlP uoZbUqB1Z+HKFPWZLK4Fskv90zgj8P/QVQyD0Ad7HnNL+sLWly4J190VZqG05QzZIAX9sXbC4II6 VIzg6q2R+UdmtcTpt0iCqBB2r6//7m0/tQjrtXZsrM7+b4Z5pieBn0d8i6nveDkEdWdtYThB9c0K HAo6CJFCJ/uaV05Z45+2mYhn/u1v5CrOhxHZpK+/zl0B/GPNdC/IvRm7zC+d8nyLYyz7ARTXUwRZ f/g/jQRXgcFgnI7OLzoB4sK0cbI4M0G3GZUUX910TFxzQMb7bjXkykTaPfW/zImKN2tcLvBLL64V TDbFZnX/jZWRYUtOHZfsWO9heI7miNjklWYb0ln4FaEkrALH9HBjIj6IQlycoXtLdIWhlSoE89q5 7RbZGikCnyXgvh8wbV2TeyU5/HBcJTPgvztBWnWCoYYNNVyQuLDG7/PhMlowHymExz0/s7feCySv 9dc4FOyZxYPOKvIpUsHpvalCqJNibXUDVypkqwHNsb/0EhlZ9L9oT1ma5hDLXzW0oIfZEjsAsjKp 6SkybszgQVos7uKL6AMCjo+S4QnCbBFw7aRYP6SMfEd1QwjSR3Xu5CDlYY6qyRTbReNE1X/3+8df HbcNLaWMCZEbRmImfh0wTcIX1Usd+Mck3FlaytBXO3zXmTB3YGPb5uJAbyF/dKYS9XPIk9xvIO/y ddN7otXiurG+kos4klmgCok6bjF1t87/1mLhidAAUFh3La51caMd+aQ48OvLchLgGDj6E3SK4oyg GdEl/Ez6CdqXvmRDpEST6benJdatbdBLvmk8UOFGsFNX3bWROZ7xnroiYdfhzQrgZseXvfLMZ77B XWicY7+2rnc+NloN4rahZDBsLhYRM1G10sI9t99dEZCcQm0/GEbb4OlVpvHX/EaYO5qVAavRwCLz KLz/nWz22IFb0A3WmpJbQMuVDdhlqiCnmmsOmLCQP4GCmCizxETRngC8nTpjwpiXDaBGUHOrxl5M /lFX8sXdJoL73rtNkf4XeLvfTbDTG58c8b26GGf3LiXXQa+DKvjjfMmdpPUJ5olM3perkQtBfSdr zCzJcpdfxPOGGr4GnELUn5WaiOEex6lWFSkKbc4Ue93GGqGxnbm6635xxkKc1yxC+DViXCBqPaTB OqCwVPMx74Vx/+a7a5u87W4ic7e/4v+hNb5bfz2MJmv0T6E5COrimzgNlYO4DyVjuoYWMRKUP3W7 OKk4St9Zsere8vDzA/p1g8rwaxJE2UIon1ie8rSUwlpiIKYxfDljkp7Buh4PcDN7dS6zaUi5ErcK MwR22SmAxJFoPjUMVJ7JyC3ZN72dK1I6+qHB5uuwz+SWPiqmYs/UXDIKOUe/sEA4dlKcsfL11/Dt XTWSH+Bst5QCKcm3PhfERp7E5kU2R5j3+3aq/szDLsDOpuux/fMvjMpP8QSCJIjdn7SvEiGwGlnP lDI8jN7eD9i81JHfhXQ0+FqR5djrAkeqQhaYGR907stQB78W5drn6V1lg89uTxTKNdjO9sx03l4M DM7N+LqChnRK8KiBd3EPE6K3KdbB9v5WYaHK9s6+C7jTLDSKJJGcCFkMwNp1l3vl/jcdtlcN2g6o VHRblw8deEyGv+uBAWEtauLySF8wbwhS0vBWYI+MI4HCA5nRZduEs4ozem+AmspAwfqDDEEr0zoA Ic8/UXFtQJXMuuETp61kbsn1y7TrPEWiaueFP10OTLyNvDxn9DdhpOQHrK+zi0fKYChyl8GB13O0 J7dfN8roW9GlCXmfUzg859IifvgxAIZRpU5ZgABj2kpAPmJLynHHTpYX3DPetuvMPeUOCQSP/phh tZLLZ0rxCvXZpKgeVKBA7nxCQ4lWKUyJIW6hC+MHsLqkZDuuhx6JbObUxrOZeuau6clZIPlxjmDc TRc3TghQxiAQHxWU8itclgt0uTdDhkxffjg3aPTJWhStMAn1yuxSS2SHCM3QNdvqkTIdwyKz1vgD v60+9nH3rDk/ADEFkEF8aAoTNH1KMCJcb1q9DNUFQoHi9j9P1ThQdVhoDSld7+DRGm/r3ceRwBRr EtTO7t6NT0eL69OoA0Ltmkg4DUqUNI7zOPDq3ssWEaujzH0cHVSnMgno+jemx/RYvrQubTl86gTV Qlv2QRn9Vcw3cXhlA77K1QREblOdQ2IgCWt/ZuGEl3kq+yag1ZzRAsJe79o748y6kUWoczWkoqLT XC3+g1c2d0Fesbo4GBapg+/EwWl66+BROY3GAnEWMRX6UfXuQYfgykVi4+xNnV1MepKJkHmxFdgn UxobSAtR8s8UM8xODBEFXWaIjdCa3P56WvgrYqVlMOeRtcVVY91zRutsX2BTXa9bTdTwklO8zclq Ic5Zuset7CYKHY3RIfM6vRDBHSyWAN4N+Gv/49tL79PbOkMYo0tXT+iAj6MLva++IzI7DSZ9tXtV OFTTDiTh35q2HLEgS7BPvtgzZly/LzBV9sG3t/A+ZLtH8dLZD6+lY0oqRDgIeee50JA40x9kQxUL h9r/L8pOUDu7fcLx2MhDXxVnHT2U4F3OG2Z2/7z3EG/eDSle/7V9kchWC/ZCV+6UFb9nOC1XxprJ jKGQ1rwENwwRTCEDJ5PWlnaYE7NspllYUckRIBBFaIFKu39m+XBEtSqVPVdOOCusDoOZvajQ7wen ToOteb0nKgtw4a7kmY58HVr6PeXWvS8tcGbUV4TQdaTpwAoN6NTx0W2TNsdHB+LU+TYpoSKJRbzi VkaqiVv6OKYb4ZUBAKH7RdsKAQ0Re5JU5R/OV7xuZS0PmuEzPkFFSGO6tLkyiD6gDh0knG3iCQ8h jTKsftlxQsmL+3McqY37D0xn6FKo/LRM2CqGELSI/w4pcCkmlCPT5khQsTCv7R65xQhJQIFY2LJH I6tJVhIvbt4DIECc2tmEmb6rc5GP1Tzhjvz59FSIB3HzIvkPDA2C7PEM/bUqncIDYRkWa5i3XG5I R42v+uJqQQmCJqaAnipHh5nPH9n2wauJRM76U937srXLe3as1DmcuufFeSg0ssDDNEpU9AdtTpO/ brskHHkQTFycbHBZBL4kcywWH0CO2/1Ouh6O31rtIFXCw/jydlgAr2bSsOE4t8zswGvITENhTsZD e/3gtYIbtbwv3nBoteKAxoMCUHypCjbF0EBPZ0GkJ36Nk/SZ3sxOjtqV7r9HYXck0WuBJwA3XOzp ytzCM07vsXlXEbVPLBiaYHcfm9z9Sj2mnOkthV9FmXWf2p2XplntI5WpcyOxFS+080m4mCja1TPL oKja50XEOyTabxHyu4adsOsobFeUKv/a9rKialAE3gtIblHVhhsTP8m2gs0V+CH7u5dTotQTbJz0 DcjVpgrHIUJ/LhAAkmGoANr/pJ6pTUgt+IeqLV1Mm2JHFQzZ/cD2AAXbZgDRfylnQuFMiHAQXx4t 7mO6tRz3+hcWJAZU83UFPo2I1TpyvdQmveB9hTfjNywNQtaxxMqj9ZLmX11/REFefgywcNGawYqs ST5TqK3j+Mn+LiYm4HhHnl725DpZ93YBcX59O1JirkpFnvZ4yEGe0T5R/wIbsN+hfLMHliuSL4xz 8pDKfWRZgHpA8qgjkG9GRg2vEWbkpvq7YpS9DDL5UCjbRJWaNjdWwWYAqRBfvYX9eUiwqjs+krLv +ZEbd23wcd1StkLdOCoeOkH5bVr/ViU8oCW13mj+G8G4+nD8lqT/yxM1T9uLgmRq8KG+PKLFnSW4 cjxUnaIbVE+mnKI6zspol7RkAz1dXoNSdkbqxsNdlnf/HvVbC+hnI2bJzwp2rOkSRK9vCoSswagQ SDVpUsbu6C5d1CH6E8vJMKy6A+/vuga7l4QaBqKxElF+Z+x14UaQcTdx8hFTa+AOrCnjph2Bllxf 8lQbdn55e2BNyhysl77/dev0LjdepZPswg9G/ZxB/xu7cg1O+WuigYShJxRR5LOds0oaf2Rt0Wzt t0OqW1lmj1X6jNr6KYmPJ7DwEl/CPLQKZSBEQm346zLQGHn3LHuf7cGMdPIYUFx3b76Hg/nnQhys 8vQJbAo9MlF86d13N+7pYqjFyFHZRslXVmmq5oHuw7ScX9CfAiMr2PkXjzQD3UWpcScrx6QhMJQZ jRxF8YqLh20dP0Zy9VZap+HneTaT2rH4AklfC9DtwSzdkSdhl2s/1SK0drEho9IRwi3A8qP2fqJ5 8r6hPq/CshR+GymXCPPFE7wBs2SD50FYm/3K+eiLqZSPFgTm6p3ct97LGn5icY3BTzOvG99g81CE JRwQleE4ftQ+iCO3xKnJk0j98/Bj6AiMVFYVW+TkmQV2YRKrhtkvz5fJd37bznYDnRdVySS3SiOg gIGui5jTioj81dR+duB/9oCsolfEJgRH2aH/eR1CVZ6ES7IWUyWtw0DRayVPOFdmtBmEwTFzWssJ 5o4O5nj8FmwN0X78ns0hKkVCpQ2NlhZZOFZpWVPwnfju6W9LT3BOMSLLLEBey9S1kRDkTFWWoykm 4R3HvqMK2+8GQisQ5T57cPMiZaXG26+/womlCmkav9Sn9msRhfBa2OEb1Wx1dgefNwb+a1/hmm3m TvuvHtSxfTDTMYJw5Yt5QKtwgX+vo4J/mbJbJSJnBqyuXKeP1g3+2r9nxp2148GUody5vCHtszUp 31jtAHOjb1el6ow1GqHJKWCGl78M196y9x5ofvZXwb5KIrk586y1u/L5bd+8BwBcpsI7WwvLdkG8 JGk/cnmK1DCo7iCLIBY7330Xl2jyeWWnQ5pFBZ3WpDT2N6WqT94Mj2XqsUGI3t0TrOLb/KN5xLLl oDJ2LtZJ8zFjZ1dBRUUL3DtsKUjnMQGPtSxagslkq32OgdSLZFSHcQoOa3Unjh4GpKLTQCU4XMXC +pq4L6901oy3wHDIKx1B4ha+rnZIThPcuhbvtlHVqqXldlZK31MRY2/+Rk+mL1vHLV9lIFyC5OPD Sl5i3oV52D+nQnQqG0Pcp20RIo7q5y6yYGz7jPWkH3eQZye1NNANPpkrV7F2bwL/JmXOMSZeM8xk 0IIqdOS+fvJwxTX23irZ0Jyp5BBABp9+t1D1Xq8gbkStpqU84C395BswY1m3lfqLw+Joc6sitWXg wN7jEBgS+H5bhNpVxf99aBzGL3+GawhD7Dd9EVLFfOA1gSwnFw9TnEUZWA5065n2+kt6g/ZmL65c HI8cafJzE4CNJXGTUBMHEddeCngWy/BOlOIfWB2L0F+AE60DNCE0Keiaz4NRJsx8CWYnOaPt0waj 5UEnZzaN8fJ/FI7yf5MS3Eoyu3363M0wwd7mczvruRT4iVafwGRzvkAuqFJCzU5dtTv3Ma3vpLbz XOEY6BOtw4j3O1JYij5wiKhMu6ZjzgBbJX0CWpAKAJjHp7bN2HC76xe3/WRfvLZZVjjDItOtuBAg feaOUlaKBhkKaLCNOWVcWNmz+/c2HepX80Po88h5Na512qxI+H5rbnVL48hoJxIh9Z4rGE4zO5Xa XA6iAngzWSJ4VQ+I00MQXKBPkW21ElMZYGMQGu9UUMIdHf0XkCb9Wx29O50346i5hTvwjuT8zkfZ ZTT6yZg5FfCdnDarmW5F+afNb8InfMnTPobh+ccybfgKPHGfyMt5KS7AVqX7P33AiBfzNEvLhMyS NmSTdIMKb1XpQcAOvTCCrxpY1cgpnTUiEKEpee+nMEAvtendLbnnLDJikLIn6TdczPoOpYYln+oA Q9WvPnugdUVtGO+8IT8dg2+juBGGEkoAStF19I8D0TnOuwjenP7zB+gYKRf7EvqDnDTbbVOxX+Pt qsnZstEBiVl6rbLGEptau90lNOU1akrThmJqmFYOYX+MeUhrGQdmKwh4bn6CGQi4HwN85JNXwKP+ 1ADz7qpLNipruXQMiNUsO57tVUq3XkwkB9KF2WWmLynchclmKRZNhU+G+skrC8JKkeZXblTAtoZb BMDW/T2QTlxt/g6Ay15JPl1UWXAlshgxP/sCVpVPT/ziJVqFpLjZlgTmV7RKtmEr97U/6vZRNqhj 419DlTultgGlyIFF+mEkEuvZB+K96TrdMb9CmbnGqYbjIf4pgcIBgvt3G5P9cFqvNjawfxQ0K4Kg 8p5DdVyduPWd3KaFmJWSzjHLHiUrywmCwackxiPEniDApgnyXiWoyzMvGrkYvkP1P6ddy690hKuU xcQOdLNFD70jz9yFwDcWspjL9QC2u05HdFVDlctNsguQeLva2A0Va8Hd2zlklZOqmulWfRW4k4+n pSFfFLEldcI7pp8TPxYueTFIkq5CEuHes1Jh7tYVmiZBY0RtwDwfZVg+UCmhTLFlLO29QHqLx6Ff XmfN//gFQmvmfRSZOmOMfsXh0XAqEQX4DAP0hOrleKWhXRB4a8oznYF24bO3NRH7Gsb9xVFd7oS3 8PkoVVCY8OxGRi4AgLGG8NMr2+GNm8yUmQqdnl4UlpQIERc/8goOhbnw3EcZvTh/3Q7BylUiAZ4S vgIjtJTKHeyxLbBNmhc+Y78cnMrC5e6guUMdPkFGTn+IZpUF/t4A4OpHEX7Ep49EwxbncTfjeCgs HpsXTjunxRmBdlJ+sg3qR2aVBYsbel9TgF9qr9LSa1N9fF8L8aK4Dx/n9yOoAULLapJImpvjwOtO Eejb4ETuTGmNcUSKG9NwtVqpz5X4Sz1ufxcNKeqXca3/Wx2MbcN04hdSydbIDcHMWiWwDLPpG1Ov rRY4cMKCdE45VNCP/jMAIEmDRqZpONxaWC3VJZCgPu3B+kKTti5BI9ITr288gQpkIbpmc0Vl8bA6 iwNAFjFK7ChgsYwTSrzMoeAbxSAfXl1HcCPxOgdZGTThA06ZvyUUfN3Lm6TsBNeQoLb4tDa+Xt3v 6nm3bOCMd40ONzoG89KdJVKlTxl1sMCGesOEmjJMjgY2cUI4xXl0MgccWfD2mBMfajfhIHnplUZZ 0eXI4WkOdT1rCwvg6NYJKIFK1aNjctnbNBOgcYj1HvWMR/xaysNCoWaotnIW0CDetVNL4Flahz12 Pgt/6qqj7Dgsi5PUrZ0HLCZ/vSHaNFu2V6dmWCQL/NIqs1gAfsM6QFz6x5Ib4Z1Wu7XwV0tbhDdC KfjGzXOWFngPFyVFt/tx3XA2h58uRvrf9Pib8o/Xyqbp0HNPF/TmysU0jrqWkQQHem/GrhZ4sHZI VXX1PjEeQwa+fNzhe3PStAcGUeD23JNMEqwdE2OhgkN3PBLYKr8biBS8j8CzwpcrgzdfayAgfiYP /URcgmyCYaNz4rnVNTFT9tZ4Q8rVA4j+6BjIXnkSrh9BCvtAzn7aELzVHL9QDhAe3st+IbkD6npP 8SkiIkTDqV6WaV+CcglGP7fjCPq2lRoMssC3alV/DYe9k7/UreiuSM4LKPZsi6B5WXk70vhH380Z o/5B3DSPk4ISruQ35gieJWR+3pbK3+jfyUV9gf212tkZVI7Bz8QfQM6QgorYR0CKC8/9U15XY0hX 3JZqvpaLGSpgqfM/MJu42e7ec9glfbgyAtNeZJ0Q0T2n5697o/Fjov6gY0ixAZvlU3E8pJvFPJZr 5lf7pGSn0WyH45Fb/ShGJGQZ+vaDJsvA3DFLCNWJwWvo1vfB2fAt1/8TlmirnC1WpZk0lYiZqbaQ sFddcC3mmYUccIwKm8jn+qq4O7JhKEj25+JMJYXnWCdaDEU4ZTa5UcA0qkkGT4YNZM46y63Xs2n/ m+Eqk2KS7ZjH/qP0e5TTT3/ViWXhQVisCqHRb9Y7AAhrzf0GA2FHPsCn3BUVxkVBS8N9d6OkzTM2 ZghlD22t++a/yQ+YgDzqJTmx993JAWhig9Zg6wnt0hxwpBhkNpdvlR4xwUPdEDPpGSUGPLsn0xT1 1BZx757E6Hk9y7sMdTY8wGfiK6unlwY5yZdu5R+uTBI5pV3lqYOJTaD83bsRTMw/B+QRxaiToczu T/njr54k6mQjQK/cIdA00vlvf2zK8nHBKrOmPnNILpBZq0uVvxkYQA7q7bfe/V6xM+0Sk5BTvxz4 CJy4KGlEKV/lT4tdYbS/9gnU1VTpcun5Qn8+E5vkDYdMqHuACiwY9BqlAFUroL2DPyfwrGWKA/+J x89AmHj7naGhUnhtrxpMkTJQOopG6bXyU+DPvlrj2LUH5DRIzngBCJ4wr3GTzXjn+nozuZPqGYQY exSl36Hk5qNvPop/meQC6imOiBgqlY92jQ5TU4Dg/uPauAFOC8/iuHZYrTO6q2Rq1xmhUDWDe3ZH 7aBj4d/oBsZaajPydlP/YoLRqxAOG3kDJD7OErDXiRr5CHZypXw0GWaAez34CSN6d7m7Nxm9VMJk ShPPDTdvDeGZTIEjWtEQ8GT29fig1QCH8qzZLOjRgzBQgx/5oDlGEOdzdbd9yD56FhWYAs25d0L4 68Jvxxxn2TfhnyXbm3/QtPU8xyHt5cIsMd0t/t39D7vDv7oW+CqdIdubF/nUvqc+g8VNc8vgrBzL LYFg7YTI3Pyx/AYl3faTT0O+JMiaLAWYSv9ytZl7oxSaICvrssXlVhG2nP5LCcFzTKdNAoMOX1jn jsv4lUy4AyoGqM79O0b3gWixg3vWGREOMZNOz3PG8b0D1zpmfTsty2948gh3/0Fw0+EPUULD0vr7 9oW6GN83KTJ7lp3HPmYF1vzpHc6PPaeqjM8MSbSxlI/MaWKqRFYzPKN8/+CSsckMUd8eLOfUm0tH 8O8VKfh4LUOR6jSHeoldImYdwVPYxZTgA6xf2C6RgBAvTThBJ+XbaCt2BHPZ8vnTou07D7HXecHC 2pddnT1ADRYxn+XwnNJS0BxHYNIDLm6/chBNIwID4ASbMbj1YCIh54vLTPcVmNjht3B2X4hj+cha HA06ObpA2CnYTVLeQJr5dqbMieHiAxBCQOPE+x5ectt2+Io/5Sa08kjCbhIP0+asD0bwn15djR4K wFChf9ZTPwZHVVRNhPWhLB16onwRmJ2mQaFxb06PYeO3ZluJdqLgZP/8pD6JHBqkkXeK1+FEdgVQ 2A2lhWTxu28vT7iMcS45lskrcTS+inf4Vjl/t6S5a413ikmGzq0+Y2FoyEJ0rBlS8OBEL1G8B8Np Jd9CsPmK0u/m4cMiIQdERYRFD7gTMzxJUXE0xM8m3lzanN7sL+GV1P3+01iwKkFjwglEdKunvxXg w95vCUTb3YZuWe9fXhR+Udh93LXW3Q2U3ozQHc2OFg+L/cNBCpuHxAUjYlKfJN0QAHk6sdm9V7SV hAwW98AeQ/XLUQt86Zavvrh+K9xrwtdC8+IWIYbf6N85OoPtEo358BadKwUu2W67vzyLjedpmgvK XqrElLDLOsChcBPYGBsUFfqARq6M1deqBAB6wBck4WEslsoIiPpZJ1sy1YrMdp/d/lpiYdoBXQra nWyV+j70LQA/Y5ypZYWaQRUCy4Ysz4HK6jdyVKKR/H6ZfPnRzIMNQ/7fvQEF5qSlDhATaQItvmeg UJ8x/NGY1x4BVjur5v2s2p8jvVU0gFQBfmZbIrOhxHhD4B25zyd35A8JR4nVBtu275Nw0R3fyBFB p/BtQL6yCtqsdRQg2sEIRFVaruuCZ++XuOClkzOmHJiU/e/w8dza0WzJJISYTVj0mTp3wMoDbFT6 c6QtpYXNiBrFcO6nNfzMKq9vMAO04AUspQQArDaYwWaffhAjGsfjiGUV2QyrNKaBEGU7N66VPyzT OoRlKYgJ+MkqG8239eqO+eIb725vGn/wsBlzX3s/BdmpW9rgo8gzbFP/HLNvzP3+zpkzam1vzqfs uS6hFONT5t11j6Ybx9d5xLm9P4MJtAWqC1zBlUYRR5u1CKuN3PTDgkP9mjnVVrsyqiAkG0CipXJv u9oEpN7dCXq5gnwDX8AaFQTFYiGikveSK8Mttw91paT3leY0NXCHN0lyuRCjDQJrvwvNOFFxgWTi drIl6CqAZoTd2kuZ0a3Cra0F3/fjmgwbj0rSde3gPvV4COZ2CikQwyUEr0eLpvuJYUx1w2AVsbtf 6JAX1eulA70TPFWPYw8ZwxCVublm+gDO9xIyixQ5KCmaNKTicDAXGVPh+dJzCrHrr/1r3Ton8nYa gte0lGI+0eVa8n+aQD151Q9lWNMPuVVUeyxJCmXZvQFStBGkUbMMqpl7BeMOL7SzEClnsSrydl+d +zDvr+2POyWWJX1ZijEg49cgygpQsNmh6foXZXSHtx/pSh+xr+vXyXmIMirp0rjsK2q/lUxc12z8 rVFlNt10Z6a19rm8P4MGE9SoVJjVO3cNPDyF84jwFgNg8boCbJSa9HAGuXkoIYd8RJlufiaNUC7T RdDXGRIF03V9BBR7x+mwR45ewtSNLhIfcqoq3WJQw+tLjoDaTe404C+RQ+SteF58dsF81H0P11MK 1kFmSoJhjJQPzO3d2QM+HnIQV5eCggubs30Ff06cd/Bm18YKfUiCnc4ZLgZiLcwaw69pj7ec3jYi I+Houfj8b4VU1Xp/YXzj10NHKs6T6XW30lIHItyEYkf0N7D2wMcwKqTyVsyp2RHQqCweLOZBGfCr TYSwIClIPHZ9y1wm1Artz6wlRKzNOwX+7OLkOCcj+bZqewFvzeXZ7PgMjZJDKND8tp0Z12fsDtG8 6XOMiWdxEFHY0BnrLZV+bmTFOTFVXAgjt2aZ/Gr8IKPWk+4Io4MnP29BK1r9tBQTrZ+OYnnxn4u1 cqe0CDWYLYLMGTh19TAMuK3BQS32ea1/7EwixLNIMz3JpvBPfvCO2oROo0erbfUrDhZW/d5Cog8B 3uizbjMHAN/ctmkaR6SsqNzmE23rjQ5+I1ZpLPD73o+pML88PzfRIgN7lhN5AW/vQ2FpA82gNU65 1zKKAZt9ICq8PeHwcBB0OufPGh/rPYj9/Rvk8O7QOxiEdw4T1wNxhVJFztMQxrjacn/IpWLtd0xe 6mi9tAcMA2syOfLm4MLpsVIFW+mJrDnfhN92ax+8SgiTR0bt02rbsujQ6b5oerhaPlXglGVJmvaa oOzj4oGr2gkGZJEdcl29ViyzvjZJN3tCp4vp+EnMicLHebgTAjJ9T4q4IKO2w0VCgEK+abw6HyDU q572Z557PaugtXcQXtTHv/wJxGQ9y9gRMUzRrqjR9k4LgOC+3a5syXuI1uPk0eKqLDe502TZyp7M Cg0FjnO6sf21bwWzGpzxrUK1Y7GrpxaJ/3l6DyvfbUWXK36APh2rbyjB4KmDLF3o/U6SL7y/vcVg 9o2xDMEavOAk6iRv8OcTvyFVZdxapPg3+SahY6NCdZAzh3U2UxJ33Bi+esR/TfSS11Y160d3rLQI U9k4zyYv1HM/ZL+C4ruqiRrYOum2kFUbpa7Dbu9xfMLcCbtyYOTM5oZCSXOxx+YLH5ARqLI3gpYJ i8EhNJO2eZLNP2L0P6lPVX10FVCe/xf+d06NTihNXCyzedvP/1jWQ3Xy9fjTNDtJNmiOABNm7w8n IhBGADmnPeA3UdLh21+xZ1knqe6/mDNjkGFNA5BAlTARRAawW5GVWLfd0Tzh0qhRLyGvsrC5Z2ox sb+uOcT5hB7g9X07Hkow++WBXiSGMKp4seWrOYFnT+Mj2Feb/npA7VQa2DPPZaS6xW9qKhNRNfGm kKGsCNANuIR+XV0eZjhWPoPrsuHdndyT0+czwmg96VxmhN+m8ftLE8FdmOKx28VwHFAGJ+xwrLJP HOfphx00KCRjid8ES2p9zxzR6EWD1nbeGNGg1R5eI8yJYTzXaR38Ti13HrOQd5X6+OKVlwWDNvsl etuXYubU9t3J57suNiQymhAeudx62kGrP07+MCo/K+w9DxiprnO+6hGYMwDOblYBPCty3I59pbW0 8QktEPIfqq2lQZsVXEz87U+yb24V5AQ6WPeiZ9jFGeMa6Kl2ryzaH9Kmspewu0fRmS3mW6cPbblR joePuGilncJ/kx5eidjlRhQXJE4Z7uKKg+1Vk3v9nKuD/CS36nCMlZ9O66eU1vVV0LeiU4hscXdr rJlMz8wDGSi+z3ksMWYeHC+pEOeoBKyhAtIdc93j+bDf6kMGxLaTVInkUWyIiugFAdnd6M9U9BiN fKmlnbXdLp8X+4qvMpEpnyBlfRkuYX49zuqicX/xB4iZdTOhMXC2A1+DzFlK/Wo/Sh8tqvgjv9/4 vXlG2aDM/k5HeqarwM+wcWiATeZdK6nGIgn/wFDbMyN/Wq/WSqVBEbsxzAA3xKAVaXsR2AQZqT3l WEjWXHBfGSlol1JYLPzBb4U9YNB/jkBlgPKq6MfOJDEL35+FBUedTRx2abha49EFCQbb2nxyuy0G kvFnAzD3+7/pW7cEDRiL2xGsu41AdEgH7fiT40smMoABhbWU+eCeasmIrpLLV4QGB1rI3SgOQ75a CBJu1nK+7hq1ubUusSvpaMqGT+CJ/pA/8hsyGUn4q207SH9KelfUOZRjbxfExJ/AmI+z6ntVHxx6 0CgWaAJa6c+jUzNzmnbDJjfdTjne0k2RaYkwlW2T7mAhzzRKtse5XfKXvvyHEf29BBmYUx+zoqcD A8pGO0C17swtpRrYkK7nPK4G+8MU4klkpTazqghLOdjLgeLWOcwcQBufIN2Dz58K5gfzfABIlD16 NFkAEiO9SIobMvngOyDlGkYsdbKhC29VwAih8z8Ja7NJ5KFKGZ0nNpiPEDgMMwm5Q/g2Ft/K7xid uNwbYypDpWrpveX8JdcqYNA51Ds/kdaFR0+9M6nqNrpIzfXdgFgvxXC1Fd8G3O8reglCsd993A5p 1JJ5 hooks/example.php 0000644 00000001414 14735711214 0010040 0 ustar 00 <?php /** * Example Hook Function * * Please refer to the documentation @ https://docs.whmcs.com/Hooks for more information * The code in this hook is commented out by default. Uncomment to use. * * @package WHMCS * @author WHMCS Limited <development@whmcs.com> * @copyright Copyright (c) WHMCS Limited 2005-2018 * @license https://www.whmcs.com/license/ WHMCS Eula * @version $Id$ * @link https://www.whmcs.com/ */ /* if (!defined("WHMCS")) die("This file cannot be accessed directly"); function create_forum_account($vars) { $firstname = $vars['firstname']; $lastname = $vars['lastname']; $email = $vars['email']; // Run code to create remote forum account here... } add_hook("ClientAdd",1,"create_forum_account"); */ hooks/README.txt 0000644 00000002032 14735711214 0007367 0 ustar 00 The hooks system allows you to extend WHMCS functionality by placing files in the /includes/hooks directory. WHMCS has a variety of hook points that run when specific events occur (for example, generating an invoice). To use this system, write your own code and register it with a hook point. WHMCS will execute that code when the hook runs. For a list of available hook points, see https://developers.whmcs.com/hooks/hook-index/. To use the example hook code below, copy the code, beginning with '<?php', and paste it into a file in the /includes/hooks directory. The filename must use the '.php' extension (for example, create_forum_account.php). Filenames beginning with an underscore '_' will not be loaded. <?php if (!defined('WHMCS')) die('You cannot access this file directly.'); function create_forum_account($vars) { $firstname = $vars['firstname']; $lastname = $vars['lastname']; $email = $vars['email']; // Add the code to create a remote forum account here. } add_hook('ClientAdd', 1, 'create_forum_account'); hooks/index.php 0000644 00000000113 14735711214 0007507 0 ustar 00 <?php if ( !defined('WHMCS')) { header("Location: ../../index.php"); } currencyfunctions.php 0000644 00000060242 14735711214 0011051 0 ustar 00 <?php //ICB0 72:0 81:384d ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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= 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 5iG= customfieldfunctions.php 0000644 00000107737 14735711214 0011550 0 ustar 00 <?php //ICB0 72:0 81:5223 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 BouBEClNgEaubbC= registrarfunctions.php 0000644 00000165765 14735711214 0011241 0 ustar 00 <?php //ICB0 72:0 81:8442 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 97c8Lyb241u97deZlSkWddSETm=== HR+cPnnW9u920forQv2oeOKonU1gTbUG7CytlzaC9CoGJBGP0f3FN0O3hxkg577CTXZM81o6dNH/ vSHDtYx0wxcR1lqS/KAsbn+E2j40clmbJLW24HpoffYbYQoJDNMUVtljvYR8f1MPNGAecvQvpkcT D/OLqcYdIoZz9pFjwT90VjKF2PyZmcETquIVQQSgdBjC+w79Clrztlmga1wWhJQMzhEoVwBDfU0j 4QMxB3+0OkQI19TZEeZRZ2BA+f0m5vZ2+1YiPG+NXVGxw6dv4VI1BGJ9MAlVCG7R0e5C1dG77BbF E2lmKt3Xi2vqOanaGdFtMxpqvNh/g7mgpA3xO9tKEBV2LNBCbx06W+6h3b0mcQ9MCtza2AUOzmB/ zzqGerNyjAhSMnribXoJnkHuNhOJxSQEsrjlDo7tMgR43vLGwAprONh++MjTiMLAka5O+pjFaih9 RGmt6tMxumWuQQ+/CB1AJIQ3jQNtJUTmoWqrpBoKVYU7gFNk+1k7kEUXq1Ir3VsluqIOU2gcahiV rGEaPPmutswB7YDleVtZsl6xrpe4TWrsg/EG8mDz2E/OMAGSic1ExNA1BpKY45R/oV9MVoSerzX/ YhF+DkDSd5W23A8RsyQcvGXHWyVy1aphlHVXMlVtaF0mUi0Lkn+GWPxSZOag8gFoOc8Ubl77NjAw Cm512xAPODnVaR7ckyHGXJgVanHRbZ8CeP3o+bUx4LjG4LT+YTymSaP5US1EKRQI6AuMyAX7Q27A n8sGIV8CE5vc5Of81m3UkHdv36Bb48dNy4vY+gel1wIOWOAj4Pok6MLbhQi7QC3WN9J8uvqIlcGo bJhWsIvrdCkjOCGrpeHpBuibmV1Z87oJizwViQoan2ePHV5NhJrCF/zIqHsjRkWs5mXjhG0dRI+2 hqiQmhin3rLICIpxtsfxcOjN2mtDwIVAzGxGm//ZsI5HP4G9rFE2J9YoSe1Uwz+XbJDU/7yssrvz daSPD7eJFqcl8NWD/w6HhgWzq6Nb64PJvPk0nNVN72NIRy+VXdSaXIHmpLhlzH/0lLbiSBVEr18t Bge8GSZie1VFOyrlJjVEV//GA3LnZZtXUNHIJO3KdkgU/OXhF+/Bh9filDqUtcpgANAombtLkUEo AcRKuq4plDekFTiYLqzApkRspdJX8P29jLFA2heT6Os/clfHNf8HrOmejSLm+5Q3Yg2mBLAZtOFz RoFooFUeGqAHIri5L1YeiwuCOL+vNQbOYtwYkkFlWX7w1H0hLqtl7HN6Y9F3hTWrf1+H7kM7O/+3 VMKsl1SmyM1Cb8M2qBHvLECkiR4T09SufwYJxHWPX+UCvVBgTgkhpUZ9RCTY1rylSKVQadXLhtVA Zns81UAhcp0v9n7msIOCbPzpRAZUhmwtCP1nEB/eGsqMGFCqcx0Qpp/5M+gf7XTssMTkhC7s38dF IwW4Pdi9axnpqzNOFZi8zKBmiSGxomMoQzGEGOjyXWyETosuvFjEkXEwvwX3+vU3zxqo+w1xXhQ3 dx3tTsIBeMBKuEHEN20wro5/Mexf3GhSqa0XmQL6fR4QIuEwuGRlcZ8SQg60yz6BNJa4v3F06ruJ WTpeg1a8FcBYq/oANV2mSEImMpcwVDfFIWt18QUYoPVrQZGj/CGE4/Qtb4rGjrhs0zQ2wDnUKMcy cH6INTCHKH3ktsv6fRBa5nMqZxNpjlKlojRwuK8S5q6I0hqEDMdpzOSZmEoiVPJoxa7aaE+ua0sr uJwfBbC3H1NEzgWg00qNuTKFGDzZJglCqEaO3YDDXn1j1HjMR4hwcvTvVxtgLe8FVgCMN1lK/smu NgnZ4cxVr3quVsFn1XxonxWZI6alJNRkGsGBLoaNli/+d20tQNvlsMdw8Mkb3N/qhV1D5MXPnkZy 7j7qEfN+ozP3CZiAgroqQViQPtF7U8MfJi+ug5onV+Qa/2MxKv/zUR1WQBarwNbxq/QXBZsjXmGs qDBgBpaHBQCVmKLaOabKPSIR5dc+CLK9FvOa+3ypI6NVX6qzjXmEMXxbrBVLjMdi5euTJNBQ6dle s1lWzJbW/vHUCVmv7MovdZ9HU3FqudhZ5SS0qtxT98QVpMlZdQju9kOZMU+XcOCf74U0msrsf81R W1qOA3WJzEbMebVRvHGY4X/JO97DxgDevVKtb2hYhRATi+7YJKCxn+4om/Op2PDYjTou3RSzITEb bA5vHVga9uRjvSKU2l0oXOFHnFWS/Ua9+Gxbfsu7YRsQfaEFdmw0/2lVSaaqCUGn8gIfUDWSEX2F sl/t0qVj7gQPnB64fmtwG62S1TQxi04pi1bXRk8OwkeV8FVmsAwb30vf9ceXrJjGPrS1hJ8WPw8b e1ejmRkcQNk60KQcJJ9RhpY181L+aWfPngcXAmDJBLmfjYp//6n487uqGBpFTpSo7VsggleW8Ech vehr5giOILZnheFJQWK1L5rxivxPlxxDZSdl4P7ApWV/K8FX784q5IHRQQDoKbRyyCpoeQiR6NaI 6E4i8zFxUj/upFKY4eg2eSYF5dTMDvm5KGNmIUsdBAA/OXIE3oTtwV+Y9cepGzz+4373PRF47OAM PQlzjczi5ebt5c9N5lkKRSR6uUF7Qgq80zz+cD0LzLTBREv6nuLwEaPPgEXS7+viox6JnN+tuDO9 MSWQnaVKDByDKqlqm1XAHLzBpTaYOBqUoKCc1L6Nld9cYxKblf8VX1TdpbipgyDiAepBThNP8Aaz Tfac1ZElBgqxgHlzKf5ayD5HQ8Ojrx8UtZSCVy0Vhq2iN/8ilgBsBeqjXfaE+AGoqIcB4zxg+Mb9 Ku/84E+SZ5/X3s/RCLiEeR/9JllC5ZTL7jAm2ejM14D7XZfEsyZ+Tzgb933NvkaV6Aw1nckOpg3K 1XCRqg+3GwAkhkWNY0dAv7WOyKA3diY/EWMIj5/npXllIUuvaJSjqnqPxA8Xgw1DmbcdJbJUclh0 R58/xcHKBQC9VuxXEr5kJCCXHTlygp7UYQnUJpRZvfxDzSH+kptyVZ+GslY/2B9jkJKPBIoKqrgz giwhpiNX3TCEVZKxoggWAqdSk4R0/hGxhbZSNkgLI2aiCJcAbjLQ//Yz+NvcpI4u8QYL9eNBIR9d GtztY02EuO81ce2F4Unz09USG1cL1caaOEM4nAHCWstAoLwYUg/7rnB9Ox6CzzdWUe7eKTk2wNfF tIPRIMlknMaOOwtk7Aq12JMdbmg9iZFpOHd9Tb6LZgvPUxJFIIBShYHVjArh4shxX0gwvoM79ueo ZM7EVytWEQI7uqwBl+yGJA98TVGa1Oq+VzViSJgbP3k0ljUTXLz+6MZ6YIgwPIF7uuHzVC6VROgC gN5+QWq/1mUfYgPx1prArjuX/JJpV7QJ8Rc6WbAi9RW9YI5IkwYmHrZhGuz4bU0D9fSGAepkkqFA 8HntpuJZ1c9aP5JyLvGWTYYYK8tdwHDUUHNYgnj42bgz/BhY7XGZaksPSgIxVtA9Fm5wnWg3MesI O8hiGwYy8O3bhjMoaBAN/VUZH+CmFfwZDDNSv2kaVKwXeeAeCWUWW/FRM+Lqr57plX4vaLDzYF0g ZmDqAiXmoSqvc6Myd9tPSa5pRoRgKmml5zyN2ABep1gCW5g0QRDNX2etlXorzA50pqS9HYFihBL8 LTcOLImssEdAThVZxOVs8Rdgzne2G3jNeMnxjd+jFcPrAQLQ8idldDMa/pRyL3jVXVKOlcN1+yN9 BL41nE6vwd0BCPPKTJNt2rQsUnduZlnGkwptcXdsG9Np4VhAbBS20j4vUqTPPZJ/eCws+yhjwox7 jIOzyoBzkTTxmt4LpRGB8XYWv0d9EyeaGx90QRFMRyJAQRX5GdOJcuSQ5nTR5vLVxA+cqWCsT2Rm 4PlJNIh1DVX75rGgYyiSM4+Pkt4wDZMjKrVi6isQaaqadjSjg8/OfufXB39CUgcTWKbBVMXCIez9 LU3lbm74g0OcnogUYvnBktLGYYG7bvrFq62mUZji5maITqoIWA8ItmIdkoh5ij4Mnn0Ka8Mg38B/ BbdMuz4S9eg3wQ9xYKHfG3UnRYEw6f1QkTAO6MzzpeRzf6onk/6awvVk+COGeH0MmpQhm3kQ5xG7 4N1Q9ZS6VOkFm2c4S3zEwqRA1pdizKboojuishDF6iXMdMG8dWxgvzU6MYpZtqbubsaXqgH4fUl7 f7q7gEldboIG9e3lp6BEhpMB1CBfKR9Xd5OIt0nWLHsTvjp7yL8mILNWAyzckm2ttr3z+y+myfe9 Rlia2nRFvdMsPfl3bxo8/Kk5RlstWOyo+pGbxf3OveBK4iXTxTkxoigYK506CJiEajEKLkYIvP+Q BlG2vduZpevr4ef9P64WwgVTdf+rhn5DbIUp6Vz5GukMPwNXt1knZgnsSJhvY+FHaON026JNCB6I UNSqk5PGe6kL+5Bj8yYhd/qKVY7Qr3141V/JS35uFbiHFQ8WgMGVRZe6GxYtZueaWFLkt+kUhp7/ uxRYdXC4GcMux7ZfGkYt0ItKIVISz/vAkEtpZ47J71ACY0DJOp9aKK3KsKMsdhIwWmbPjwTJY/X2 8P3aEzRR24U4z6Go15Lclqa6OzUqwKYHVTKGkNhVvXQ67+Vnznl245TehDcAIYRmoJO9zGcayeXF ABBDwCnP2QVbaXvrVlCvA5kBSBhcJ0J1V1/BYGD3h1d+u9pwQ5LLaAX/DOj4Yoc/e6l6zGr7e6pZ FfQh9o6GVg0I0ohSrUpId0o/IU+VSFf2sak8sDZACyaoCcJRHl1TTH1IIdMiBPtBXkYFM7WMoqKi BSRFAQcAbfuwqj3pr61zYaSTQaTam69Bz6+sQGE7S2d9Uspxpi69Y1iEVoRguQYcY/ReYGiCkrv6 CqBg4oyaq8KpBGfYWB0k5f2pSFRRmacjenyNJC9NcCkFfc+RIwC2vbWAeOmup9QGIep9HqwJavYX yRqGVMLlM16eX40KG6GSHWAXIzs+BSjmdxZ7Zm0ttdhEcZUgMTIt6humbFKseh2JMqmPXAJIkd8g 5SjROZNinCLQ7D9D3aQpWNIQABvZ+uFJJV58gKhLw+Z9Lfd4mb6ILa//t1JQK/ggmROJvhQaZd1L QwYdvvhGb9EEg+wo8/fXpmBPvi7Cwz/3dKbFlBSrMonzUoB/8QFUVDLS0H2hfO9hEgLhr0yWBsDP zyDkh+wYH84FBbJ655ltbl56jWxgB7pyfpq4QytdOOY+iLaxvPDsD58svILmvbfc3zOS4XYhdI57 r9rQQNi39Q8NEVy9/gAn9vsHatmVz3rjnoxW63E70PQxIsomjSJwkR7ndRmhS5ETKcjf0CteJ02L i6AAbD7FVFLIjKum65/aOtzEkhEV4BjI8HTeBctD+8bWc4SwbFIdzJJ1rqEHLmZPO9lIGN9r+6yn s85l/9jAKhwEa2yq1G2iTY/IAJ+ijpD4Whu0gykDmyD4fHytb8OkNRXPidlJx7pkx+acf2Ex9gdK ovKums1h58zvSWjWq40JGgWvQzY9N98mFmwbyQdlP+CJhXbHQOy7r74Z6mgxc8G36NIm4Y6D37qV Hi/nI1LM7DpkxTtcAHaSDRvN5DMHY7BRp4p5GCCIc8sJiiCsdGVdCd3mU47qOsM413aUBli7wsz0 +CHsN/y2fjTAojgriCcMM00O4uAx1Xyl31uf8dQPn/7ouwJYYOUaXPNPK8RciFhFRAz8RWf3atjC cg/z9POb7S8iafKDiNh9P3S4/lTVLI2c5OSsEMtJa8ZSlom9mgTkRRkrRM8szPguKxr5rnujCGSi 2e4OoVN8o7KxP6bjjHWqgiO/s1NvZVAAKtw1Sf4CQoimuqbtk3E1zd11hzOGa/5lvlko+UcLfwbh VNip9y3YZcB5+qKxyiyb1rlggU/Ku7VXisASytQZkH/DfroVx2JgXOmcAsh4dPLyf8fDOa1gYZ9U B9CC627ydpcn7WCDihsodW7HmcTVKa92sG8fCfmR6ANtRtUNsKj2e3qAhNd3mZKhH0NIX+rTHvcS 0+W+UxnAL37CVnzr+C2Zl5LnSS93ckR8MqReLz8749yaFiMptmgSIRxynmSTETsnQAsRcmjFsVba ENroDNfADAiu3Ve4dJaQMo5kAVhvNwL0Vmf2lIbPyTiU3lvW7SW7ivzUXUoLMA7zW+MKN2G/rtS4 7BW9yhf7CmMWSmkUIwxHNBVXvCSVw2nR2+7fPyHGdXfvMvHG+ycjNJHxoAFEoH8c7fz82g6B+fsE z8iu+kU86Ls/brYXRCLPrskaP8UTwN44BV9nGpjJJ9QNOLj9pZzN5uNhHdPp/zSoVMIGJAeiQ/Qq YEeqZxYVvWOQtqXU0cP6j4+umLWacP0Z6SUJY5lnNN1Jq7RQP1RjtjcyGxV5Em7uXaNmXBEE9D6d 40Yr3zQB9LutwNyKEowF8XBsocJ8ZFOgZnd9HPPE9gZfKqMoNSVF5ry7aMq7Fi/Hh0chrbL2KZc3 hXM0AnI/IZ3WFa1w4L8RQMXH8yk9qzSxRLiY7i6TOpGq/O+/zswrKTElWWr9S8wIYiSpIqLTxfnI Ni0a8n6Gbe0tTwCBARXBuGbq/r0WjATo+tRz/Z8DxEiHRKdPh87WIvnymP8w5/7hoB3ohPkhOyld 6b8QzHOZo2N8q7s1DBcDq8YXUWg74mLMQUFkT4RVgG+IA1tyZMVuSO4szkUGANPM1aupfbP4u+w9 tGk2NsrGi2o0IX+UE2FH/kHlpFO/Admo+Pl7ZUl9ncxNKug2RImpXiIdYWDtsRzaAqbt50DTqFLE YjNKR58naP3++ohFbniz2zsS8+PlJLshlviCarAWcURLqVNs+X3pLmTrAh3WT/Bh2y+gDnmRSKT+ AIA5QuH/5cRHgEiC6ris3s7MyNHe9g1g9fyASlAfN09sKnmDkfB75zGC1MSqCO6zcJCDZPLttNQ8 jbb66/+ZzGG6iJ7H/D830oCNVXvVdEmmglBMr4NiJOT22nxAwxbplnCK68t/XN2PY+vfIx2l2qCn ZifDzPKtf27Q4yrtjHS1qb9JAQuflXw6dJ87z9N4gNgStLWGE5CbR0SzD9414x+l82BeViTP+cDV T6N+3Ila9Odn2/218QnUJsR+b7qtvZtM5f0NMCVPKKM4H6n8IIWXOVRXGPUcVEt6xog+wihhen1y dyYkGX8c9pY9/MkQWenOCHszBRdPzUtjpwCLnA2NUcdXW/nM9oAl2mTUJLE/L2OBbO78EI858FCH fMhqUyVNw+0V4mDin8C3YzMnu72wSAsGIbg7uH7IH2v87Y5Nboo8IyoBHlcXoL3azeHZdv9J88Cz wrF84UhUEOXfMfPtWPP9fSnoEMCnymLEJxznTmeUntzvJqLq7/o4B+CNdO8jJv+nJsHZiTyWxdQS U+SA5OPxe7mlihjpp2WvMBdZyTyhBu20v8jqA6VD4B7QemBZuLRN8fyOoqm1r6HvdVmSBKL3sMpt SIxwgTnCGpOv5Cj9RYaMSZUdDvMNn2t38XRFzEkWyaXMpsI3BXeTRvVdEp7ZyxsQNKaAzu6mCio+ TEOsyebpEJwMwE9BnZ7YHIVFUvnT77fEV9UvjpDMICojSRLVTEQwQ24cElm6IY/nBPIG5FoHJf8t uHzgPP5wgmY3sdEaO6ASqh7zEPAoZ+/fVpdzSGPRvhWj29LATF8G4Y94mi6GUxnZx/6ADAIlqQII iujaRwN+0SJ7IgKHs2e9ALrP35kqrdR/+8Ty3YYDgYgM8+yLLtL0yfRZQQUAHWIcfLVrZCeekmB7 8/jfsbXzrP8kEtvGqGXtKRIj+xYL4MPUO15hY+zmNnv+l6oZgcdyeMY45nPLoJQ4OERD6L/JJfYg WcSR0cQ0c/GoNsW1Hi63BbyoKvqxab7Juk/yDAkNQ6/eXEMPQQTPfEhlIDqGYjOPzOjzkKHYs0RT AJVBYIacsUJr2r75hK1IqkqqwmHFRnVRzo4jwPH1ykh4cPHhQ7kP6MHem4lT6rIs4oM2+qivYYol YwOJakxw1WkTWBOIVrdKwj5VwPDUSNTT63JECUXvavaaH7boLAgcciRGQlQxbaNbvzf6JFw11UmH gyWdrJhN8VNygfXQzhChyVt8sjDy2398N8ee6+EZB8e22nKXare8TawJErM4X8bNb2HeMWpVXLsx UTlPleSK/cgHB/4GoQD1DF4fcVLUtmSUUfNKuB8jst/Wf9c6hoPNnZfQsKec5hVuQ+zuu7WiO30o YfcZeThYUePAfeVLSM3yBc41S4ZD1NhQRLg3XEpoYL2120ljLqHwdjcJBlODYl11BCP/+A7MUDne J2hGM3gBCmPOqaP0Onsiba1FJgD20rUJbU8F/mFpaxwV1y3TsRknciFBpeUVCfPzp4vmECuOYB11 nnszpy7IxPEAZn7gfXpMRKeGC9J3PM2khSSAkPY1XIY3oWIwpMHk2VLGEZ8uZ1CaAAEme2H4njX6 Xh/UkDaJXrqCdIHl+K/S/xpuegNANT5sWVlbib4GfhVMvKzatBI2ZS9IspLsoggp/7ynO02owvFa 4hKze6qIhBnyxj7UMv9DEA9jHwsGwYAJhiV+lz6lE8d7Hcga1O4Sdk7gcxV1P9gYCKSXJ0/wnCas Qwx7KkOe6iToD5XWQ8s2BzFAdaD/xUq3WndGw03ad+g+KxT0E2h491VeZFz88nW2wLarut4u94B/ WsAIS9mhZbM6mXGZxqQuQFTEbBrTyaXJmBLrJUtp3UVzo6CJ0xlYUGprKZNuNCFoa3jQXtwKGUhn SOQUPez7teqM8IoYofz9briqK7GsAX/hCPx5N7KGfGB9TBSA4JeTRye2eVl6RYZjaKvXhRPmhQVg FGjEL2U42icJLbmblf/NJROdNR217RKdxlx/cFM6G1nzJq0Ih7nzRA8QFgsR36RJRjBk37l4OCrL Lz32NuHBlMZfqdDV+/h2GtnU/fZ2Hwl84IX54h3fqfe5VRjlpMI3/VlG7KP2/is7YRjoZNM+c2GG qRG1EiDoON4GcByEObmvvZ3hwJ40DTPdzaUN7km3YQMSVbQmk3SePyM8q5gbM5xiCbb5NG/estri pNvXPDIgYUEayiPRI/PrfUjhzBGMYxGktgXHbAIR9EJZ+3NQrteLah4q7HxXhQw4kuR3K6lhu4w4 4EXfsO9BcG6s16REirvqTkhfsAmCb8y87XOl8PiGTTVraC3lw1gSaoYT0g4vZva30LjdD0G3xO0F EAQAAVgWMA+PCbY+dsK2GLPTgYSQY0vzvLmpoRTLBcdHCUnKoxMpH2jw1MQUDmu5OGp3a7rDMvtc iMFFsSTFlQTvHQxv7xnMLxQtZcWctH1cPQKHISCIg7DN/tXoVfwELX9vKa793u34eOY3N5ArOGWc R0zx/o6JcyCBH0gdDRHt+hebkl1KIeiPb+RP2T8pPdTRuPNAeAdpu4+x5W/bODnxt/jMYVNdsxZY PuMkB5hTIyzpz/2ltbrsTnc3xHThUzN7LAUSnsgMd9OF5d6ZGC6pzaOQU6JbxDV0Hxs5XKfFrMjI EfguqTv46STWLSv1UWsa/hTfW8ftOG2Bq2uAOMGkpVhX+LafgSfUFuRCUnF0SGTgmhDjnhIkLh5V NcgQfVDRmGJjyxkeXR8Lt4jXREUFkwXX4hPb3riakyjCnAFsGy5SEjq5CyLzYWAHQTG9c2PC/cuL nv7POyiPSF/sGWBn/tMEED8UheZkR5pgfZ7+Q57DY7l/Y59V3wN7YY5P6iHql/XieGPHWM9UOS7B +i0341w9m2GQ9kwtlZuSRlnVkL78cRpxPdJO78OdzNsOQ5FMBoJIqFDMLGXPv7TKZN3v7dfZHugB gffBYryoA3vPln+Ym3INWtAt4acrpKLCCfS/v1Yv4rPv8g8Ri03J2ER/tEDCFbEAEZaL4WSj94u7 bqYeuIwFL6hB/79wSydf7DEHFtOmCE3nX6oXwBHtuH+PTP8lCz6M3bJZ27PdEgnu9iGYA6Mbi72E SLuRQ09XS8WWaKxhbXjZ+oIudzcnWcuRW+gwU1wEQuyo4eoOjNYhJslFTVFI0oEj4LqXUkisA9A6 P9LKH5Ri4Wou7kn5zETqHSiau4X4IB6ODqPT/uL1eWcIhAlsbr0skSW1BSkR7pX17hzjdoEBRirE GogXwsme7l/1RVPMMfKflK6y7BySfQuck8z9VqoVdfcOmOHFSAZUkIHgORuLJAkMtPhJ2n3aHgU7 HtI9N6r5RwSlQixUzOXtATXUfL7afqqWqQ+gwzIzsbJZImkOVjuv3jzchunBeSL4grBHVjW/LM5t 7Uhf+SM1VOx3Xlw7sRCAeqEDdcDHzzvHnX9xT0LxnHXw9DDpzqY1P+Lfo4vZYyzP9P+qWDWHbyqM 6XgOqDEq+S+L/n8sprxDyB+TWZkXr1S/8rDlUq8O5HT/TITUCfSgiXWkerud7bDQfZaquHrFdoq3 oKoljzCI00tpJ3VBTRmE8wbBJXqVPOZ4lQa2JZ1FdliAp8szzG9bJafg74uxM67ZzBgDNNk/Ia/d xZxay1Vw1ApTB3QZ9CZIJ8huJ+wvQF9B2lCMMPjy6s9UNpUteXA/aqiI+GQZBIrgRLc54kVd/2On hJiKtTjfrPcPsxH26vsRazLfkWdEPGqcG9kEk3cJ84n1SBTTCLi9qRXRQ3+WD3qtV19mID2KXMEB Wwn2B+xz1idxGOUJBeixyvMPmh5WkDFTr6+7y4Tr1FB31mik65NpxL1PvThCcuQ8DnoHHeTm9lQD 1TU9doxl/4W/xK7/aXFsEbd69BOA5nmwSciY1VADLEYrRFUVAaCTU+FccLq/3uQuluEtgTNV7/9k ak5U6227DDzhSPKQBMT+wTdcN60dLN20mEANG5Wcc4w5LXqTudih3GKt90HHeiDxDEFvd1Rpnmz4 APot2vRDegoxU5sf+D1r47Cx54ea8PqWZRbZ5dOV70HtSn8oKkBdpvp3ZjrfBBnwP14rib860UNE bGL2G/0vcbZM2Sij9rVyrd5/06Ri80tWbMgu3Gmc4gBaj9iYnWPyJY4uuAPgSsbNTmN97ociDdUB KVgOO7Gux5smCD5NFNIWmDIv+EwfiENjwHWHLidlHzAfVVUtm0MDgDko49Krb2vqce1L9XQlg1zV 5AkGBsMOqpHscv/RJwgyN0L28TntApYTjQZjyW+4eTCtpAbkNmbLcDs0x+wkT3t01NViUYgBZkef P/6t7qg+g5PoD29Ix0rCestDs04JdNF13v2dy4uitfLBjjSiI6IXezJXq68opjdXOAqWvjIv16+u U9CJHxCz7UI22ioVOKHbyLd5/ah3eHwL3b9g/oDeoLLdkXyFMZlPxtSjJmy667Jb/S+5n/28JKa6 MCC059KeKE+fBZ/LUNoXfWb94epJ2V1SGHm55YMZX+bkynmHGPQTyaR9gzii0HqqAKTdNdXKiRuL jz79r38LjlVxtXVSv6sOhbFbRMRLOzfZQwiS6PE8DMxVcWgP/A8Xq2ovKxvBTmwdYFGD/AKzvRs8 k/SleJRXgRWIZZ+EYtF1pGdAqCpsHcynSA16CyY0ugVMlhLcUTGzBIZAZzWV8bN5NLSzcrzqzwd7 3U5ChtnzqcE5MsVpw7Oi4ef+qpYCPP2yeDv8pphKUcLggnPm1hu12orAPyKiXDCPR8WpGr+MGWDh QB/scChf/K6MzTp1NJ53UHp+0IfeQlII2ks7eKyguAx6dXtC5rzxdU3nQGqdP60J+bp6/Cdm1NT+ LoWRL6G9XhjlAOQV5lM85uYKKQJyeWeOsPkxfzotKQTNAkj6GwfzKasmJQOhTKoZ23tKSZjGIcp9 P5Mr9MdOe4SKoMp2vjrt/Rt3qFKbHeqz8PaFD3axy/0hFfVihkOkFhuCaQhrtGvNaEiCDNLYG6G1 T8HFGO2Dbt/IV9wIAYOfPr2dgw0YZPWMmvjUEl2n5/XzRvfugrsyOqq4nlvPNa9XkTQztt48u6Ny P5AOtPBtqbQldN/2A1ZkmNVGfi9QBmBBiyR2sZ0UojUFzPDPMO4ZGKN13Qz1i5QZWGoImGl5dO4O l+iqEpcz9ADq3xsCYOlb0Et+Ee58T2of9FPa42dWz4VSP19vH81Lmbcmrzz5zj9Ugt4AV63IHl8p AAZm1t9vom1B8vJcUHIsFzqJsbu/l9pt/rrehxJYVUamMc//FRJJaECcYyuEAKAxMjAOa5w/7OZy olZ7N0FKiup63goQm34KNJ3oxklTf8s22CvhoYsm6KdIGUGKpcLuZjOXhTh0dIeNRpqnTttxQ5iR LP1n8dNeUhfR+5JuA6sqo8xeKFMOpaV6qTZOpLY8+d+lyzbsnr/6ItFwQYatXuQ5E25s/zMS4GKi N+C2qw0u/W/5xrhE9/T4I/F4BlBkwvD8CgcAWrUJCSemGVut9rcNhDgqErXckmsLBY6oiglxxQWh W9sEkJLQbVHFDjcO7OszknzF6ehq4OIX3FlLorxMKffZXrhuQV7ZgzBwQTLTYIERe8NXYnElnRBN pWP3Y5yz6lytkxr1bByIWAxWcHA6/fdz+SppSKqTe4+Ym3Qepuk71DCIIQu7cHzuOBAEz3cMQ62o EDjn8f1NyVwzVORPqBABO8V5Tfs+2DZxPAHCMxtWdws7++eJbvjNMmn2hw0ZNfW1fXzj4oAmxV98 Bz2K5q892x7gye98EcpcHjMWT1K56SNEBEYMviun9Z6oIZf4AeM1D9Q5v3eravjAqThkBrEGs2Jg E8JoXynLNMfcWFwfQOYEFUNgPBDJztq/16xNnRjFghLURjkOV1hte8kGrtCVJuEIZ5ikBynNA4nD 7A33TN18Ba5YX6EisbPfh8u3BhIwFqCIm8AmNWSatG/2XavL6bVAXRB3fLJ9IP0GydD6PCoFWWGS txur5Fd2bVvLIjIdRFXdyWeOgcym+P5+hicCCkbRVvztMcHsuDZI7JcfTDmApfVtehHncgcpTqId r6Y7v8goPKd1kEQDy2ivitevHoT0s82VodaNbJO20/+U48B9FOwMvXAsjbwdXp1uCI9UH9CePchM 3MjL0T9aQIFqFlAfUlhVddsB+C5H0MifWS2cnQXW+BjRhg9IFuOVTXaaSwZVnLXFI/rYvm56MK/K AEg5LIoPihzgxEILxRwvk4/smKba7qbvBjJBSntW3OqnuPh8XIhn+iN+07azViDhgrmbZezSdDKH 7RJUjpcDIiPDdLOY1Y7h+3QpZc/EZcx8fHhs4F9xMkuwNtE21DbvT791cqJ5hj7Gc7vuT1rT8AuP n+EWTATaGT8fg0EAqxj/i1KFFGUup1TzkgB4zODRTN3Gl9Q5jPGIdgHSyxxwCArvfySRr5/CdqZt QYvO97gxCrB6oNqo4cLuInbFtQW79l3ZYAtGiHOwzl0pFNhjmLBCo4hs0hl/bm4kbMkKe8qdB7Ek CJ/plvwHAa1F2AvZQ3GZu64k5+1eUjgytthsWDJg8Snmsr8vhS/K9xSSKwU/xtikKO9J3LXTpJ2F 7s8mRNhykEOjRoAHMyjUmBH4a/PpL/5Xs02Vyh8NIKBp4ZtCBCVh7EYQbQ5w7r34q75JPpyDS+Z4 oecpZtNFtFrkNwBGMsyExZDZtDfgR6HICrv1spWt3PKZ+5gZ3RY0k7f3cjQRY2rGy7GW/+6dXImj 4tY7zM9yOqSTqdkk6uEBVbyNPMct0RQJuX3+LAS8MEfZb3tif2GXZzOhCqFor3bYhamC5J0/3wWa kCQ8IIXN8YrCCs4GFXxgD5syUeN33YvWUD2TVBJyJHXKuLFv0Sy/GA/1/UHq9XEYp2pfjlUVIwvL Lqax64Y9V/uYo3YId+TbKeAfZQbmGJXeRjLapqhXnaRI1EZAdgV8bDEhICQ8ICSLS/05xW9IescZ zkjkMdSPxaCW6wtJnC3F/nz1CmGC5UVlKuaNIgLB2WKiT9fUNOeLDlcXtSPgx5TTJsudEvMwa75o D28AqpuCQkIDW3+/0vr02tX2JgiAO+QbH/x4YgEZi/BKDw02+b9UxG5wKQOmxAwxQvts7j4WyprI C8OEarl9cOrOy0XhQDFCzbHhgoD8o9JVCyEd00NCPveYpJsgwiIm0bgfVZES1I/Z0IS/9AMoq/RY b+cjZ+cnVLb1Q4yWTWX1cH3BQEAZDz3NWboPtmFCeqTl1MesilTwnOj1quZufoj0ot/3+Hq3Y6vW nSYsuGGCIsAUBsb/HglevD57l1j/iwSTfg00RsIK/92GuWRbwkD1tBbRdF9f4o2HKBSwbUKzpKsT 3ZDchESm5tM+uqdXFf8+P1ub3l+cM0cLCCRnxq+CaFT1Yv2zpcEPfEaph9GDarerEY3z8lQakYjb kU09mOqjj5oLUhAmB5ny+SH0rVPIdo/L68iDzOYM7b//K7Uy76KEVwzE1oGXESmKMd9O0HyAQvEW 3lw5dE7C8v0VUvAbKQhAJDTXzD0lYY0vJFZJsFqgs2joDPflBMQrssQjXxtGBWRJeABeBGamxrXd Gk61VdjRT6pUd/IhqkYFOMhgvio6mVPHtt2U1qoTzqrMXj3S4lMyC3TqMzNkTuVVOcTlnhRLIStE C9Cjw3EqPsjbXm10FvWzUQ9knlM4TK89BuWi6IacCcVelqneS91K4qlcsHMosrkxVqyJP8PUILei uAOeXw3O4X15tmu2TfgHfmrfi9DhPZVgY87/t79Qw58/t1nnzMpnGzscUwt+blrEBZh/ZgimxvtS BH9sewQPDQz8H0sNJ9C7TgVw6s+5C/IEkRjW+/xOupYmGcn8ceINgGbBrQW9927Ugb4T9W5YNYJU C1KAOO0+Lt+Ky/ggAtZ7dZwaYlAmgjL1tobzpMlBOEiW5YRdMjLn0fijb+MB3Y2EfGZS9Hz3ZmSQ BzjvN4VNEQmVqsC/PId7u4dfFVZOsqPXeQRlooIBt93mW7CAJIRGZlo1Ua+B+oSOsFRk/nIwnoF/ JTD/KRMdAuLGd7Y5E+mHR6+L2LVV3oHGyKWsnJA2sDchxE/vMkNZUwc9liH1HheiU1pyMX7Bmnz1 kOSG6PvA4iXyMqFlu8jgSNkjDzI471ZTaUNW+Lcj47qjex6K6s39QzqUXnV4hO95meUdPja2NrO/ 1toPfl6jvZF7Ga+rWX6CxLQFthca0HKzo8oJQ+u+gj4m2xVH38/+8KId7EJmHVRM2vabakri8QE7 bz2NvSytchZ1IGzm4N7w75R/2FNcn7yd+ntxRPxHDt1g+hoH9hquVgcGcmNpafdFy5OYsBXb4yQg n8UGmykoRomdfQcx62bYizLSjKoET0nWmOTCjJTSFQ1KrTZ8zHURcFqJJ6xv21Pu7ahl0CJVNTcF WzNZWYlPKSh38zn520qPNCT78Aa+LvYu3stBfR8JnlTRiRKoe3vyXYx1IkgZOMT+5JvoDzSM6/iP hE8g+skHXZFARs9AVyUWA1YJ70xjZJ4/KuhqhSZ8Xk+EsFi2q9/ZX9LhFoGlmz3bGrQxKSEUsFMx W/5kjYIFptawI00oY18lZBQlBUvIZsr1ScaY91G+6X5QzET8XcuvY7cI7BirK1d9HUSkWbarOY4n RbP0OwzvJ9+KnGEclPkzVD0k48AZwbTylQ9rlXjtNHDSDcOSqQg0+EaBwFiOyCfzeBx6SImY0ICo vn+Y92X2x+ndkg+UlizTd3xE0vCG4jQFSJt2tIw5Ng1dhkD82t0fJxox9ljYZ7mZ7FRiVr0FjiWL 4ymSFyhgtP8KERcdRc5EmIlabrWIU6dI9aMm0J5Z1nNAEphRH3ysBIIyo12szR5/bn561NlRtcDM xFt77tZKVZ1uNdt40WJ7blLtUtc3/EtmHkUSYNL3NYF/u6c/8TFjzAV7BFXmsE9jLrzjcNGJd+yo 9WjkM2bRSl2iC/i/j1X08BOIfddfH60upaSNEjmeCC0QyB02PP0XE6YdzjtKkyOrYvwTx2Sxh0h0 BIye6x1mjp9HILWSs5xLBNGzuedUuCdN0CR96SjIjHjAc21tw2MKJhwZoV092u38px5/QyI/KnmJ 0MDC/wlnnzMBLJSSlvdtpPm/I2CqlLlOeMnjEnhl5A3cM1EahsIumlypz7zkvZOYBe+ragS5zQvl ghllWZi3jZc3K509T6HPbq7oIbchPxvwq5jIIxEseL7jpoire3VHco6HSEZlnoWARP9WHxVtMUkJ YRASrfrekcuYpO89t+/Ak9VJaRHA/PINXInaHKrupIsdcTPbzJ3Qd0tkK7hGtZf/DUq4aQKsaYi9 NAVgX9HSEz+SpOgfnHycBHdEX2mmZ8VbeEm4OiGJdgoMgcVfERuFbSyoOXtuMaAz1Pz+ao1xPvmi B14uFMf5rKRbsp0HC5xkagKF/g3ELiA71WQ62g1AxXEXdd8bpm7S06mwC7QtAPL9uwj5fTJ6P5k1 tusw+QzkkFkgP7cj6BqASQUJEkNuFuUGsOnz0kYjrgsOe3C0ZIS3FKOhsgYQhbcDQYjtBvEaUEAL /Dy04C8ozAgzH9vH39NG/SGxLi0ZLi/wmQAs1aRYWnVLwA5gJoFNH81ORzCrgjpv2McO5IN5EcEW 6pzKaTHBWMxfj53cgcllR/PP9idJ4WMJR71TcDGnTnZsKKIc/cUKysbIyOBxPx0/mSrYyVw+PlPW dvdsf6s0G57Js0uq9+jJysD7GpryzeJDzzo1ezrreKIGEr+8ua9yQRRL1kGrOuTUAext3o1ArHky vwBvxcDZO/zofEMe6yijxgG5ZR9yC2BTgN/0T8BDKQ0vr0lgwlpjYyQ0frAr0tfUlh1DTLokZn5s pHcHM9eoWyOvIJ30MPImlT1SZlNSPE0IW8apcybH9CuXJ6szmkzJJbeJNcDKAsGqlhENY5D//iyJ S8rQgsA2ABqDAN50VwLU1qO75mEBOXASqdVKDqxEonloci/4cu+Pdc8E3NhyKPkHdAbg+8qvJ8Fe JE87+N8C+4KuTKfeUkoNCH3+dvSR/rZjkF4ujA3ax9RLMKcFH7lg+pULt9beT033kb4Mz1z4KZ3p VkR57+3EU53dBt4DmdvYgOphbI9XhFXtLsoMLqXK5M6IOf8z//uv8CyCRE2yCI9NrWwipF41P8l3 hgUxmepRg06ZzQ/lPjcVWIPAmK01LIN1S7A7B7K0SVQACZ0n4/QYkH+bKKAg++u4eX0bDGW2+KHZ 0Is/xBoaG+jDlNGuBnqJqxDzUeeiwlr8XysE+4U/Kc2ziF65qoe+QN+aAoUec6HoiVBcfwhieS9H kjQwk4WixEIN/ebbdiu9UkhJ2xicLpC8h9W2bzkW2qCcEcCjms/5zo2AD45FS9GnBvWxMBlLUGAV 5bTkys3AT1z1qX6kYFUaxWdzbr5x6rAaIRc/qxz3pCdzKzuM76CCpVcDht70QaY2h4e0vLh8K/rj uX3uHJbspGt3m3vbJcAE90ZUOciq+xyn1CaW2LJCpUCXZjO3cco0AJ3P8Xv6YtQ6+plcPQlwO9h3 CZ9mZHHy/1y11/1Pj9CTGYoi3XxmApqNmQP3Psq7OMZYyJ4CWmGJEromAqyeEDyQTcEPng5TGVCE X3cPA1sBLQ8jLUTNOmy7FM511ZfNGkHR2qW0EH6GnvQuKf5G/3IZfp22pTqKE06lH0a5g+eGJlz9 b78hsxOtZ+L7+SWo5eL/eMroZzrJmByXfYQ+hFpicha1ZSGBB6uk4b2AzguMj3dg+mXcG+OlCw+n 2eKAync6gVs6RdmHyf/VHyFiGXOF9htbYnj43gujiMPuJuTxmeXQNKRYLoIBfZ0nCvKHLcXj5IT3 C7tEbv5bhcPmI4+mHBI7MiFfk5Y2vesNDcIYwvQX1nMjZN1UoB4BlROSAQdaZNuk3wbIICjNMLcB tusIJV8mXujzr1Z8mIOWt394CNgaXccoL4Qt4qQlgXvvuqBriMAQUYZ39EZK6c/Krlwf7swTJFVH 0YmbGqJ95Zqugz3C5vB0SiOph7EmTNIH127EINUKteUfNlYZ4qEOUs1mi//XqxEvKwc6bM4iixTl HF0spDr42oCS+ylZhAwYSqApX8igAGMcfeGd6a4nKvbKfjqfTIMBfYLp5/yoVlY3o/6V1fQWUEeA EUpGop+bYYa43I9qZT2xooWIxUJuzOHS/xbDtZHW3D412aZwnYdQCQ1SLQKjCl3hdRC1v1pAJctw Pyh4KunDEnrzL3SpHz4xQnnhEJ0tOuJtybPdvGNnYremGgA7nRcZey+inGwc/xz1+lerBHKqEtSI 4j2/cv+Icmux9+pF1TdO61c/CdSOZzV6QxVkZzf7Pl9xUYyUS42j0VZ+g1s11sux5T5sJCHgBXdZ MTIre2/y7oh/f7sjK0fWz/f3Yl3lDNKM7xfwTaNkXsJybKNXLEVa37i3TzCJANnU9wcy/00ULRvX Pkmwz3x9OHlEsEYJaB0wW4Iys4CCSpKXSbUK3Dtf2N2G+eidup4fPtdQJEMnBKeHT76RpGbSWlEz IjgPBafIy1CA+zcq422dN8SJxB6YO0isV4xbKTEI08cKR46vSmKmwzenwBPabQpmXjCvJ1xWjZEd +Ekir8KeAMP49CCeVacSLVNflkLXazfnO4qBo4xmnAc91rwOt6sp05OhSXbSBXRpaHwS00AbAMPe 3m/YHFmpLHt+UCiCuUsEGxsIMV9hjLsaqjvaJsXP8yYpl+lz6PnXrZKmte57ARxBZ0Kg5MfTJki/ iPvsW8GezBW3U7qQ3b1/6JIFY7Fwhy/oXoVUL0DDmcHnPyAFcY1c5Q0hzil34hSKEt9492Olm6/u /FXDPG2s1svXQmhOYHTaX8kULWS96bI6WjMKsBiUBF/Z8WDIRkbtJjg3cdx6q9jSNoifBNPZCQyB WgLBDzoikWm4zZBvb4BQsZR3Jibi7MyJmURFHiVSX4498nKNC/kHEzpe90t5A4nT3NtFUfxfc8Ov qgS/cCXa9/ZnwuGuaLzmVAqcXQLWJ9HhHef4Rp5lr20XunW4D8Ldm+UUc+jGICOiVZlK/HFeynbV 61baqO+RZDjZFJr03d42MoUWY+CF605ZhiSs15IxQAEr+AAFJaCoIG2mCUkXWDgMsmb53ok4wz3U /cV/PV/MpCKZpkSVSD1vX4E3A7FfuGC40x8T/sTh6eJaKTrNeCKsFW5ntPKQAydNa4/riAmQySXQ qBTk/ujXOjncVHmEw283eompwDQQtckdS/PbtghvT4okYdLLC32xME0NLPJNMhHPKdrxnpFrXhd/ eR9P97txaw6PZ83cNqGYumkblZMVaq3TnYaUBvQE8rADyIKzBSF6j5/pKkOsKr2Z7G1H13jny90+ WnddE7TsDyWQAZWq84QCGDqDWDg/mOoXg72OJE6TlGnLwHQ3MlagW6sjinU/TlON7b6+IpD7wrjQ ddMFiwOc+c8syqt1YB++J//VyduAj9BFhZRhn/YdA1kzjaD4nu1ElK64kJWkolTVTqIeocpo+2zg 6BCjB7hNfq+cDh2vvr1P8BBhb/0zuyHYffA4pxZBvpa6mZXY+VMscMf5+EFQhvc6wbPYxmt5T7+H soCqIJrZO9kGRtnFuyoq40J4SKrGDk5eEYFQRDzLReOmrhkwrV+C+4AhC4z8+aHXnwNERMcQJqbQ lX/P1hF6gB3FTXvX6cx55T4xvUZ/yP51KcQ2EFPO7IzFVViiD3eGnOL49Z6t+yIFnCttQpxs1fJK 2whUeXtywHq1ZZ3FEPVnQfTeevE1Pdcamwk61pDa5m9SKg77WzutzxwGQIVZGQ6PdQ9a4llIZmrP 4m7U8LMBCAKa3wnDo7J+GlbzNnc21tco1wUzef8jHdOJj5GgrAp6kspSWLzw6s+CXuVvOpHmQq7n 8JFV3unZHohJjb5HRhGsosW8sMpXbu8NEGHJyzR9LM6AYy0FAE4Oq98+JCQQe/IYkUk7y2j0qH5y qL8qrwsQ/M8N7PLXqbcOuRxSNe4ohtAMz+yZ3mvqnLdaxWJchIY50tBPhTpSy69wtA8OsTj8dnfV hY+8vOlmBqiovODLw1QvXMhicGrR/U8IrTN+bgmgCrwZn7MlVhqVRNNfDJlUHVystK2W9x45n5Eb Q44HJf8dJr5Ea2ZyHk54rRGCjBD1bpCOuhgFOpf7O/fpaBQvchykptcX0PWD4s9nq5spfgPnJkms T2DJVGyeqU1NgEGcEt40deEX/V9+YeUL8qIjqc8gw7KzvvHM749T9SPF3D1h/r453/SwBSEgA9po ZpYws2lM+5gpSdJMHhCCC5+C7b4GagDHhGehh9g/0t8xoQfRxTIsWoCR1nQixYUjN65uHYXiG20Y ZB2DjS03jvIPun22Fe8+q5rlhd9xKR0NRFUF+9PyYZDdXDDHA0XQnYTuFJAC9Vkesra0YQysiTWV o7PizTuQ7jmqndhYBpRkynzdCYXZGf0nv4N2j4OJBGCDnqW6kXIozeDUpROfyRbdp0PDaMyxXG8A oC8ZWd/QAGaSS78UEGGZqTx2z1RIqjRrlGxuWWgDZ4HCPJjziPnR8dzP81S59n1wQ0cy4vGlSwZE cmHHIArLjbT3VpePRX+xwLmw9lvewx3cUQLgtwaVNQYNgX1iGYL7MPrYRSTEfPJKKEJ2IpOMh7qH okoSaX0GmJSKkBkujg2drM4N/9pMSW5saefyKZ+w3NcuxBrXnYiE+svGeUuzd6QVanL+Q5D6aALR EJAV37GGel8qATaX/hYciIIukbHAZe1n7CXrShWdCm83YL8q11dVGnmSGcADokjicL1obzwSz10h uIUgWGgUpjTpkRI9T/rVVgi1FpgVgNFXKY9xKzkpzrxro0TPJ7HcP5gClv3EIKEeIkkOXG/dAG7+ 2O55CPbM5TGe7uGEmWopcB2/NMEWbvThBDVZtOCWr43pEzGfmrwrVTacOiHpn2oY3x4iWAvK3fie JFyvjtlpNWpOn8f3tQQpOn42GyMeTQ1lk+Eq8mqjQ6k4DxTT3LTLYoysgqXj5Qmgbl9RGEcWpsDq m7hQ+3ephMkPMcJRZAjeVKjjutyxSw8RhhoN+DE9mmfCR3I2NXqzMGiJaElWz6ajTHYs4ImdJV/f 3PYXOuPkJsJ/0JJyP5PCQnjY6i3VqvgkyeDxW947yR+caWg3bpNvOZxSZ9D1nled2Ylks3KEEF1v zDskcXtGIUFOPrljP+fG/xAgNbagjU/XiKEON7bfZdEMaXMiJQzpGC5brq97k6ZZWO67VD/xWYG8 VOHptREgtXQooYD3iVcgyujBQ38fw/2HIGYAXBjWvJDfSK5+Hbu9D1v1bE28NV6v9zOnJKA9Teph lPyNQzpMf2OIvY6Lf4I4HN2jP33AJqEqXhD+gqTWndWlMhJDE3xF3Nfy2w74dyjEW74u9m9S6RBy QZ0fpeK43psHA6/8qAVqVRTQaTkjpdD16faDW8hy+u2C3gfYOwzH0OVslHVxlr+Ie2CA1tHVhkx2 L7xro0vcrcbsrZB7kjd+MzsQ3/AcZHwKdbX2tGMBeLmeqCohEXWI8yC9sKr/aYtTh5TUITphMQ44 QKAulUM/YUX2e/pLYRV1rAtgkVVDNG9SvSPQho1nhVV0UpKPoEhj3U9UeWMoREskvp9rkSL8S7Mo lJ9D5sEfKaLE6P2T49POMDD/XGh/17o2MLwYN5o2UF+fjfovd81suYf2S7+aOiQD+ehky10Suvg3 RKUpLaJ+Asca+RHYGsTxHGHUtYCErAZc+T2KTuuxLpCs/bNRP0kt7ZldK1dK/tEdo0cnufWHBN2t Fgb6vEmxt1IJfaHXR/g6d3O0EV5sCCEFhp+5juCMwtVJu0AOrWGhYV6+Ps9L5lNZKfaF8xw/9obO Z1YrXeCkVmV2gVfWYFxEdxTfJJD5d7NId6mkpBQnlsNzV1lBrCrYvoRsjOCMLnP9qznLVoY3QqA+ UcQZ/JdmTIQHGtzxcVb0zwtIf/F2hIUvqlEs4BwU3pezyiwLNC7IO3jtXNSgyisTHEiQQUrtKs/y PK80jRVtKOwGv+QRZvhi4zQkAuLJMCnFg72Pe9dHYGS7YCXBFY2VgPhNAe3bgkc8p/LzBV/InBL9 f3NCISKuczsTCBMMly+M3cillacRoM3kvu3zl5uORBssbu4EEY3ChPr6NPLSW72teI1TF/nFGI9A NXJvkLIluLQHynL7ODINTOD+J30/ABOHzr7m5wXXRgJmiUZHBr/2wLtAvR4OwHItgrTOdl6R1gmY qHKI5sQewy3rqOdBsu7fK+mFYn2uW6vymKlXQlfUtE7jrcDg0rb00hS7Wtm4AnnrjunoGevllBkJ 3+LXwpbnYVVjqb1PQJcxk+iPJ38qQXYH3uWuQWGjvmSWbzCENO9ECh0ngXigTHcsY1JKJ3uUn+QE 30m991lul+dWkNxyeCBKZmuv9+qC2dOEAhDiWw88KZ7R1hvIJslTdjOipdM/iqoOGwxUCjI8qwyF YcUkh+1Qh1D9SFzrlFyjwAJbwAQ+iGQFNLT1XT2flVYJaO5uWpfUGctaTNC1ZsQ07tBM9+Epq9Zd CMsIMhFMpsRzTemrO525YfRFuMjnt6B0lKnJ2v1lxP7lSk9L4U+jOMiSkBj9yd3y1aUjRnPTxi+Y 6e7Tc62eKoLiAtdxly6tcPNqeIfsgOzeeKp7GNQKE6uHpCfLH7etb2fL/I1kSoAlvCCFXO9u83kG p5U1Mm87sTvSjmNaWSbUo5LZDTnS+mHmYOcqZTduGa+Lhw8fwO6QCANLzTQNLLIMckDOPplsV0iY ie26GSEK3kE3PbsXSwFca9gDATFNALJglrXyQiaXvsa+BtuhCveMlRpVuzh7K8OAI9wBx5U1FZTw DiDUS/R2Kzr4NJiAVsBe2GtkQcMgDdVLUDZWhZwL2M1mZbWOoRyq6VGlm/+s2pIqPR/49nErSoD9 Sm9C3G+cHDicGsUQnagXW7AyuH4vfjqsUyiMCJ4Qtmj0OT7jwRfc6PunTjCdwoNidRDbGPGNAPjI ou9hIHxVBKicJTLsNbbYVKontUKNYUjlyfMgumTfBxxsatr7ireSKThebHzUArB8X7ebBC+5AjQF nJ28U7ZW9urrISRO56LiugSDQT2VYPD5ptVcny5B7cUWytZohq0jPOa50V+pl/bj7vYDDfutAe8U GNiIV7ae0bBTdRpcn/x7puyKzDDZIAo7csiBU/ZzCGSUDrUDr6soNhxScAjngHZQjbMbY4oyuWZw Y9DxTbKopnhpl0roBzha3cwXbZS9WMIQ/g5zYQ65s4ULurS3jaUWKyLak7i4vo5tHrSLeouVs8Le I7vZXw33Xel/3CAurnx+/CGEUP3evCOp7HlYgwEUtD4U7tH1z6y7JTeXYPwsY4KIFZ26aAYmAfMk M45vMYhC7zQ/nwa/tnivzROjyKFkhy+RzU8tYH12Ui/pcq2GjasuYBZBL4BJ++foofqA7rBTp54j hWpSYqRzJ7k1x8Elp7pGG5B6fR3xvYjDU7T1JZiD61X0FPuNaTSGI1tExiSOGN3gpJIFkkgOWFnW 0oWkQnrLPlc9edFmJmj86rLOWbkTkhG4UGpAevMiu7d4foeQiafWVtNfkaGcG/l2wyXIK+uajVQ3 SiKnduyXYqG9KDwBqRF5HG7XaoQcl5bgN3RWRpE8Og+TDcz6OvrZYWq1BAJ1RvpK47ivSDfsExm+ FNHb02wms3REpqm2BFeq8yk9HaObLwft2vWi9JB3WReS1J/Ju+kDPVys3kJz61fc/oFHgNUm1Jyo yJeSJZyIijEvC/Jq4XPB6SlX0QCkgFvqGl5yLqPu8uRgm8Mi6gFSI/wZSU2PYREHQ7DbpwRlP/2M HeZsSCSunIriON3zRPTlpl/LtAt/wjGTNmCaEjcZVAF2c2qRnRfyQef7e5YkhhaX3aWNgP/1Dtzq ToiBEO3iTGHXaF03lub7LuUSYmaphd9Gy9TdYkqvHjFaTjCvLdeS7b9It7RH6QhPy/F7V80L8Kj8 pQiBKyhMlMTSPI2EkxCSQSH8HHk6g0Xn9mSsSsKXqPu0kqfARiJFWUtrQQvZvoIqcs9yJBRd2YPC R2JUdNYTtRdHrcLu/tFzVXn0nMkNz0QmTeXNbQbR4ue2v2py5DRYqdlrHKTQi2iLFQLKQhM25CE2 HKU95jBff1LW8HM1KyUI0qKhkuwitfy+yXbvt08FvnDgeTBCNvq8bvRBN2lfWsAVVgpHYZl8m8+e QvuEnIlXxfOXLo648zUOjGDPWRsdpY52KjikcvOXEwEj7vcxuh/pZVqzp4BDb2aQwkZ7OFNJMdYF 8TsslqdnhMjsLQFzW6LO1wutldMypr7SafPlHJ2qKFTGHGFDVs76BFCDF/DtpRCVPw6CJ4UWoQpN wxclMS5U5uEo/R/phwdZH+QCZEEiFuICT/mOaSYti7s+YrhVwqelvNO2G8YMEttytjXgUDAzBkvv pHHkyOOmfAdDcDqulgt+Ks2oTmNAymSrV8pCP6Mf3v/RphQDdNa+0ME10chLevYE5n13r5C0kbsz SonBqtyTI2/mEfG+6+aAZxZFfJ2GNlUSNfZxSsgnXk+LaZEzjtow7v1T9OxUWjVsaODiXuoWLRFN lSydPtNLr2y3/apYy98KihA4s5PTRiEkEj9+TFk9fnRRgD0INBeJzNI+CKaIl4Brf4lHzjCJT/Tw KtL76O/4MGlSkW0w3zwD2wsIE6pq+ugr2Pyh+oKCZpGFb1Ki/1hCTzL4y7ujH2PChMOihUjGXJ41 E7TGBvSjjy+Ynt5C6MmAJVycV7UKkx1sK19f3bIMb4blWOQiHAbUDcFwp8fp0VeiPDXLL/mD7nsu I/UFez1LBBh20nwhqVDnErs/IxLO18R9f7jlI+4FnTBaV1zjDEdwHfI1cl9WJSbVPyzsa7QqEdrT gB3ISFl8D4JvQndgJ1YmVNXzp+GUNyw2GXj8iugTDKpNZVPJQuNUxwABQJaQ9TFUmrjxcWlteMnt u6g4gkdzhGCtPF7b8RLBavZGf2JFUMZM6TbdVidBQsAMMrbchjP38rorFMz/53Iq0aLYi2f6h6Q/ C1DW626XZ9FqF/AxqwsYGm7ltteP2V8+qQK92pPa6u6n1l0dkqEJzTmgIHeu/+pVTYRgkmMQkfuM eQGceJ3zN4jzQwrrUIGLued7QWKx2dz2RZb9SGdBghAQM4rD63gTbom2kV8btETQzTqmmMeu8Y2V vMr/rZtsXt75qSOO9dGCbO3lEF4pk7KmgrfHj1JjDRVoOb7d3lpIDe54gnFHGuf7yncCs+0gOtga k2zy6N0NpwtpfNdFndzx2xTFwXakMfll++ZyxBmYOp6qlQf+fnVi+m8szDz4kmUlTOApbqDJ2t2g uVSU+8/7mYrwUI+pckQYipv4cLW/JYR3umPLw7OMEvFqfMMIGOdx1pXqOTPgOTrqFTYrE1y5R+sV c92iCk7VWeuRYSt1+G+ei7e9jIN2y4+hD0//caTUNQbY3gzjj/gcL865spAuUVBe0QPw5TK/hFUH 2E6NGrMSk4mlO4P70Rebb9BgPuXmisP34GBY0Lw8D9f9sdarTc8h3aTWkFOTszqCZZ1X9YmRhqee 5GQ81KwJMc1kg9vnR1j1WmEvI7AvsR5X2tj5ZPc1ktbWxgWsvYDwruQCa3StAysiV15mQd+jJEcH HIVJkYzc2KlkEIRWUQPyy+r8LiuTWC81gjpj5UHaxKP5KC1FkScPFybwivVZNKDrYL02gS7Myca4 Xj8CtQnaNgJ912JlGG5nh935H13+683Q5XXkjzx4skWuWywWWJkUYMBWDbbfu44iYFSvVPqSJnuu 8irg79jVDM/xa4lCQvih1O7rcsH8lxAgjT05Y8NMkewNN+CM2BaAlN0fhWAuZqEzfxI9tOmOudvS 4mX84ZSqLuzcAJx8+4G9BxaH4ddoET5JtVdGLex0LHYIdFSRhs3V190pN2socONIYPNav622L4Go M9uclThHHug/gk3EpigQFT6kG/YTZIMu7kDnh3wxsSvkqHsfY9OIFGHkHHXlPrbGbPvsldA84lHe AiaBAOM2UPrLTIBRBcisusKbqakDjvqlhx4SHkW1DvC4FMT+WefbCTYogtudj2fOKLfDWpKVdsBf LiPDm9A69j2s+MHPvSQ4BhXfOsy0fmQpCd5YraHZfHiv1b+mjF7ooPabQZ66YvIdQqwx6o9W3IAe xrdxT/Nk8+Tt1D4OTXk+sebSFZTH4uIDm1S4C8BJA1GS+2Ile3APt0i= cartfunctions.php 0000644 00000146577 14735711214 0010170 0 ustar 00 <?php //ICB0 72:0 81:72f8 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 domainfunctions.php 0000644 00000115232 14735711214 0010466 0 ustar 00 <?php //ICB0 72:0 81:582f ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 dbcompatfunctions.php 0000644 00000057370 14735711214 0011020 0 ustar 00 <?php //ICB0 72:0 81:395d ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 5PHRq1QFTHw8l2L07D9KYx6lmjaw= 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 api/addcredit.php 0000644 00000070561 14735711214 0007767 0 ustar 00 <?php //ICB0 72:0 81:4242 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 api/getticketpredefinedreplies.php 0000644 00000027750 14735711214 0013443 0 ustar 00 <?php //ICB0 72:0 81:1f3a ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 w9vgFODXOu5ySMhdMSZ4WLfygaUX1L4tc0=== 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 WNAiJImkPYhj+OBVYW/0e8LhyQe+fUWa api/gettickets.php 0000644 00000061700 14735711214 0010205 0 ustar 00 <?php //ICB0 72:0 81:3971 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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= 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 api/updateprojecttask.php 0000644 00000055746 14735711214 0011610 0 ustar 00 <?php //ICB0 72:0 81:362e ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> HR+cPvmlnyoZgZlZolXIxs4CCKFY86zqZPKnDQd8gucBOFR1WBt4BvwiKv04RXBRJ2I0s6SstTj4 Y1/+5TksokdCMYrX6IDCs8eeXiPbTZHCDpTJFp/S/aqOibpr//NgXsczTryvaM6XYn4jZFNvUaK4 YvEt9WiXJHUHdVjBMwc/nHDKlfxJFTAxFhX+fJ8V5jqtuIPdBFgWV0zvXyftNijpRVCvym2nSxxq afgLWL+7pvBBNBKswn7mwon72nhMcRkVDLfoOi7IOnDwLChHX6vZ/kDhNvoogNKx+fOlZ/TaEXAH 4usSSYdNsEuN2KuMqkesuzqU8HOmq90xGKPZej/k8BTl6ed/EQ7uXZJQWJHpCj9S02DE+icSGV79 kPJJxBNrHhCAvWuGyyzja1NTnHSzbBpXkKNbUTCSPffRE4Il98l/au5kjHpdyAGzAnqRZS1beR+A a/L6YKX7+riHjvrqwpBv3lkvNvjcr/uwd9SMOrTHSHoiWsNfxYgE+T8SwryhMVcgXxw0/FJyEpBc 1touJas6fTXUn6E5HAJSvH5F80QgJQgG19qSN8g38H45LU9TU+Zi3ctg2ha3H2naIHQhPvVk1SP4 4dHC96od8C++my4XuQ5A5qNZdqZxdG7AMBKL9BfhGUFS/DGrbsmR80JnPNWYhR4gn0viWiWg/pJd vk+TJJGmPTIOHOLGrIzIAQWsZfOAw0SHn83nDZ1kHtBdlELgyZU+JzmCIJbj7hhIBXQpEN7LpQXp PsnlbCTLBTOElDkz7c5NQA4UtZLevK9yRj/dXGH/WzIpckU1TkQLXO7KejW6JOATMR81CtpMlJ7o AMU8Xmd7K9nf2iSBMm/7KylEWN9u+2XtYw25Ff1Xfr/6Qzr/wAxpQDFEjwfEgI2X0lr9iN6CHFdm OQos+GAD2/etjvuzjNYJ6hxOyx0lfR2WH4dESzqVVF3ZIjesJpWrO0xcWNJfJHTcAA4BeyPveOu5 PSr186mMQZ8d4dhHzYBYO9+JElZj5R4q9snzMQy9hZHDRP486OhlpZTE87u26k70+2zXICvGyVIV jU5h5W0wBNzKBBjKJ+0La6sZSNfCzuasDmfAeeIlIop9cAJChN0VZ0hMMYARfXjGjPc9VLfxAQGn +rLQnBxDX7AWGQq00++PrE9LjcOA1U/dNf3xTL0tv3KzYJTLZxYC9c21OtVX21OfkD1NkH9O+XHs 97TQ8t/SkqU2VHOmjWwfBN67rGePr6M6hyxKp4RRJh3UcSbVV/16aeciKh70LBL/rAaVLCrEIArs 6QwZ8k8KUyw1aPJ3etY0wtGwsf9BtPnb6btY8bxVysqHJWiGSl+fqU8mK3U5sqfU71LvAGcQL07A IFy8cyFhoTzVYVXLsqEGaourpNBR131OGebnsc2SXmeaJRvLoCZ/8SwkyHdO1APQCj0P5vj7OQFX 0lZy4iImbVHhOTLYvKme03TNw7ZELCUlKuDGbZO4acMnkGuC93CL9bQVQmQFun762WoHsgTcOzrw C2d7T9ybyaXXzdboXj39lmj00yS9fJSRQM7CYUGTqBOjlNPEhFs1gxskdr6NfEEzURwkGDjlqz4C GD1cn02s/l+1LrEbpyJfliY1oTvtrzAsNgruOPFf83bif/kS5j8lKeKZUyVA+EuUyjPsj0R+cXBL L969QTWEszBMYPVZ3nTPUEZ/Fuwhvv6WG2VttJXZaUMEc66TvTStc/cxPd95bDWMdF6zhXaNQvKB yIKBkXvg1mhsT++9vxR2a1AthJxybHQDuo0Clam++axMaa89T6h8xyGsTfdOSQf1LXUP7SHFRB2d YqWdwsVEzsaKwbKmAeCHomV1HYrOBj369T8MQx8o4RgiJqPbEbKAzCG7mLVJPMTAZMXdSxLTONF3 yj50u4w3lYTj/ifItPQB+oDOwV1oaYE1peWs+P8hHFZD/KEQXN6U4iL8dnIEpiU/dzyZkpTso3Wb LhcEKE2NY+uMRbgO+DMVHDppbBLNp6e0eM34u4x+iTCU7bb3SLx0ODJt1JjEI77eekHPJqiRcpZ5 Bsd+KId/ukizoYUzqLnFdVDxaLOWh+3Eovf6DBuw/sWDtj86viF2MEMSUwyuOtAHlh82ScL04ekg P/QI7WG8yypMaDWUPwqfgsPa8/smtdJp1QzlYAv8TMndlwoWNJJaKckd3wPSRcXLG8Y5XIoJvl4W tC7EhDxtwlri35plJdJSbb85CjTUrcfsLeFkRC7ovEDM5PlKd3jJqWxrSO8fzrzBXXmoIRdWMCz1 1OefHkc0QlBjLiKdPYRm/v8dL/z/rZwd2wSj+VaapF2Jzjm4TXdzjytdPKMT8UI8f6yv38EvKaXI +3y0sB/NUco7sxmMYn77r9JKRZJMR2eUtiBtLnJf2xpd8N9t/2GQN3AXXu//+j7S9Ytf0l+n9OaL nJyE+jEnfOuXhUCkaDM/u6OMhaFkhRKLtkVd53PEjD5AJ8A26WVeapick97KwGg6jSB6XJNAlamQ tT5FrieUlYP6d340yTM1M7XSZuCqkH36RmGB5y6ZnGzskWM1W1ACdwcodsZ0rCRs/tDiE/42+SAv tW0VK8sTxurAbtSDARWuY7YgLm7yXaVOuPtx6felwFHmI98JXQhavgns5q00h8GLYNUnQ4RDCwAk 02NNQb2bB0RFABajvk3z5ogOH8tta6ZUBd0GhacxdAXFTZMxqMaWxJqueCtnu6KZQishbjnDuB0C u8opdiyfvCeRXBi8FNAVZ46bgplI+eWCgQQ/d6dmL+9umKkw8v89HesqQAUKatwyl9SkBSNl+YPu APN5CJ/ssHen6SgBI/DrbGZHvlXBxCpNaQ7JVPPIytjK+LyCx3TExeDH+8BRe3DYVncZ1bnptoZR +gTCyWuxCXkwncdo6lPpOJ7nPIblX5CAZ9b2OfljI7hGj/b9jeUQy1u14oE9IqP3tbaUqixahzsO mm59mPf5zup20BJkNzQdG708nPbZJEawk5Nw9dQTGeyFR8Q+LyMOqc57tldBJWWaPrmQ0FIbWpxw CpIxmdIQ7O0EaYhsjQmZAxJfH/WlMTU2OuhTo8YX/qmlbRheP5HVkKiK0YiHbXmxrwQMmDx8rjum 10XzMyABXYZg/tQoQva+VAmujGfCnHfyGXLHQOwnegSbG62H7ef3Ys8ObcTYUzgqsMom03rnuf+y OestAxBSP4XI2rnmZmrcmwK93GJDR+XN6X7d/4ZSjQtb5rT3ZiXSXuYW17AEBBmKV9Agf6SbJPTC Q4LPxwlHYsuXlkqISHaXhpu3wir/vbp1DMOitqREKWpnyX1r2xRzU1uDh2t3FXbbvz4s6rFYXZ4+ JS6xHFwNgT9fdLnFIMJfOejdxlx18ogN1n8bI+Z4Clspgns9REJKE98fyLqzHGmSMOe66T3p4OeN 54Z7wa0MzIR12AJTmMgJ9srkCRKcbOwjL5QPCwSYpFYXJROcqrMvDDsZ1W+oRjSg1bnbW8kGENmV cXAZqWvj+KdfxFMAvEjeGj3wqFXj2WeR+tg3HjEGNMqQxCeHvK9/QnUOAh7J0yQzvCmTG99Me1p2 4zkF+sEmEf9lDRZOXy9TaNenob+b7zzmAcoMPWFYkWKSDV9Ur7ndjJTWtOIkldMALpgYzXDrzI7T CIsTHch0Ru8YDxfwISFny0YEWhmJqykWsr0GY7wNrFyiNtCRnlYBznJp/Q1Z++UY1DQXSu8bY3QQ v22VXclTMG2ADy/l3xUAIdd3klzYIF4FiSYMrVSUQhOLolI845OxIXwWFSs2nm4D/qyIfLFJa616 IMV/yKrXCRKGurNaemUlhsYA+mdWpAZKGwqBNv0QuExa8/ZMHZE9hC1FtGNsJaWzdkNgnZtOc+Rz C5kVPTtqzoiK9mjUIV8kX5xOLsMZK6uMObA775Dftuz345JKSDY+4Iaubpd8xlASqPUj2CXadFfW TUn5TtVaqS5ebcKd4VThhD2STgg6qdwbGnTpmWcxpEK1zi7kfuaBG7bTVNz9t1y6fBPO9uogHXEJ xToQ9vwnxA193oCInnVLVl2LsdLc5mDsbRNSdEncfEyZEsygO7SifWUkvI1xlBUjCEj6dMQzI4l5 kpYYOamTeuh8N0yWa7mnnmNeT7z81Hkz1w/B2RwQqsV46Dujl9voPFdAtH28cDgfxv+HI2QAUcIO CmokE8AuCqXofHWKMU0UUxqx5T1OtehMAU+pkPU60BgjluxJdpXljgNBagHxFIJxri0+vTL0cbsR CbPM2xOKzQm3S0cpHeJJRnTOTm4QJxsnRVUA9v4kNs0iLecU9lcGL94irM/tV7ZOXA7RkNws3DF6 Dc4kYbViWjAAZhxWESwANLzYNeqDteq7lfakV6HS0mK8m69xhFDaSxaHzi5Xq8YavekpYJQ1HmVp TrmkKaBWFmWSgkMxpl8BzoWmUhFPtcNN45rKWNfECEdOSfZxH36F9hV6E6x4833L4dHJ4oshyqkg s+SZiHeNkA3SBMjznEN+GIsFx2o30yx4FmriGIEIQk4KzVKc38piqd2J4LJHD7gckACmqXVUliky CJZVKlJfKcLSwbMrZIacI9aGEBaHl+crbTkaHuFQ938D/EonbqPO+tQQEVk6KjSuQSTfJ45aPEXk hEsAOvL2Q3vwHTznKb86eFR3KrzllB72uyJUgSSNyiNVaQjHG5UKOcqJS+4IppHraoUmEC7n8gWe mMmtXEvBa+uOux/KduPoXMoGgUOCmu/X6i/O1AvL/eEnTxEUii0VSFj89NLkloCIG/agT8fRSz8A ur7eLuXxN89tma1UI+CWCYn4KLt+BB14+EGrNG+C96TTEF/IlvaYtrhNGy7rItYVRKoM3104ca8v fens+c3A/Bzzs2R4xIjFiu1yujQ7GMwl1WtAy+ppRo6uZF9NwSZSJiYFFo7yWI9//e6vKTyM0gyw MRSbhFDEufL73Q4x/XX2QsGz2Mngzi4VsrIPdZTQwWrBjYjSoXB6jmpSitHlNHiJ9PqSsPtMZn5h x+FEhM5fBqxikf1Dopx8UalwmFKrBhslPSiplPm9mN5sYT1Xh6jBz8L8rLlfgvBOcpFcul3/vGJ5 KCuEYX8qAG3wvog2CWEOoG9OyUTXY+o9HNnuQaop0qUG72Zijaze4auMb1nufWOTN9TC9ahRtQLD T3Kiy9BA5o8KsgFRCqrihjU/gFPoCHtscm5t0QotHeoL4+vH2IkDqSQytn8e9q6LsNtISdD01llx 6J2FQ8KHRU0hm6xqEKGiN8f2e2LDExQua4WDs9+P9z4IIw8PMH53zhVAoiJNrdJh3Rq4QgcsA3yv v1PbscwgNWz03WTK/bUhWcYLAQWWShyeNHMfW64Wb+W6dUJYDi0CmcrVXOWGW3r6+cH4vwGY5pgZ KaFgeHbISFLEfaV8w3IxH+zYuKlj71zqP1eHxFoVH+x6hhWJ+aUQgNqnButfoOw72mOozqd5frKb kUgEU/ToOxtvAP94yX3pHpPyKQ0PspxnJIuPIlmhgeYCI/+pNDyudEWH7Dzhrml9iKbzUoBl3U5a 9BzfzL46dIQIhl89XSbZ2q3PXJD3KDLmWjM2eIegSBpN26wLDs0mFeiThXIq0tXypjXOoRDL66Mf h1FM+RioMeXAgN7cifq/TiVoXiz14rgGiRhMxqRKS98+BFLx3EwFlVEaHf5xb4lblvb97Y14HPfl DeUZytCdjIQ73kYa9oMGCJXyNKo9dvDiOUkRcUUuNhdgACSTckzTuWzBOi3UrF5ag76I7BQb7RjU Vqhaig8GMrkImsARf4s/uaH62C+x36natCRmkP1MCWM1L19nEphIvIBFv/a/mN12YWOxKgIIVDCC 3SqjhYiD//o6tMoDmDVJ0SvBN11UPkjp6X+eToXuFzBB9AbYEZq/uAwyYB5Sc6198HiWVsjVH/DJ R5n2LndBQkz1eyXlZ3UP0nM/TO6fUS2AAjEadtOmfymWyiHdbelNd3Yum/M57w9US38u4M/VOCkL DrMRULSCFZ078uewIBXflUl9dQBzFgmrEcv7hDJDAI+u4wM3BIR+UlWfTYdo5y3SRT92us4XJ38d hITPNHtqTu+t+6SlneGXJQJck/8BYkojn7EEKEloT4HPW4giMarVPxqdiGAzu5AM17wSn+vYonX9 iBcZ50v1v4V0TBQFVCS3jQ2DQ8MIZQabuOmWIWgpyR1iWqJ/NnJ5yjTdYzrUt9lZBD3+zwd7Yn+Y t3Xo8yYuvwxBhVw0Ww+cbl82B+ZlS63bQX+rMw2Vw8Q1c+8pgJq+pMxJC7Vaahsn+q+P1ZzdcMuP LwViMeO5tzWnAzIvOqvW+eeBp8tAIWW/Ma1vttNyac6e0dwivUC29f5YTNrKFOKgfkZZUlVSj75t 889B5zi93ZPrbJhdS4WQYKqR8R3nPSnZwEbTK7MMgEQejLAK9C1Nq5RyYIMZSWgPdpKmhpSwSW0k ImTkqDwHNmaHhEWzrvBHmCgfaUe2r4KgnTbHsg1crQDuqBon+3/E2h5dikoslL/HcVVD/xwn2Ajy D6mm6RqORVy6BmYlUQKjV5WWGDTV4Xgz2X9rTpBxuEOkjEd52VVcXyRLgML3gFzp5krHLjI33+Sx YRkmv5KKdnodOVw4IkQ48bNBU1FT3/tthcSJPoroBZrSNcuVlYdVDxMg7jjW/jYpjxU6Lae+ptpJ PGFVNuQ9JIW3TG8W/6KBE/4rP3CoGRQQY3Jfwi2bNdPZWKEiHkDE0R5erkzCEcLRNAbtkjn72Pba +IZdKGBvQf8vmqL7mdoiBB4zxKePTRHYyQAaT8NBJ2MAabm4b6wOu45ucOfbErK59rwFW+eNpOD/ s2B62h0Uli+tNE5B5I03DFak2tVSOT+7wPxua2LG03PFOcXl/uBR8vaKKEZAIG+RYiSBsKVnrfsr a0kQM+hRISPstfmRqGjtYzkCKDa+3YzZE7qn96ln65M9fQGt44oqeBtAtn5kNIfhVtfHqL9EhG4x Pq7Ekf5meeL5YrceMD0Bn5jyEeQ+JPTAbwneVVblE9PSc1zyai21i2MA47/ZZNWcDwCLUHV3wZhr +gLIDDIAv4F1Uq32uEDPTw6lHbPIuJJne5ykmO7WzcgaZkpi+tNPPKs5deKsA0zBx+bIl2mdaTgu Fsn9Nr8/oY6UG3eIogGPqn/I4l5y9/6yGCB7Hh4A12WmEiB28me0q9uSFIyQ4JgefqvfalL28DdR jGrHHV+8D2iQ/cpplIsT2nD4G0jVkIgEepuxgHbjNhNAFY2BAXpa18yHrGRv1NuzIKISfINO4sVr NY+7e1v3prxpQpqmeimW1SGUiOg7d7aJfXgqq6sHHAXpo8b4qPje30x9FpwYZejBHyi3WeQyR5Ra MmPZz+Qmd69Y8wZAUqrbFMALukbRtOw58tYfva1Jvho0+KwM/NO0+U1jQHcvkZOIV+t8cku92+QQ ztmWwtxLwXYyr6BcQAlrf+VnqmN9QlY2w8Y8Hmvto2lKUqMMWD1FiwbLvcT/oAlorQfjN4vQFPRQ kqfytCp0I1kOVfeP0aH7an8lrDARqyB0tyQXPwshQUf1v8KlMSmIP4gaukTxKBzM2GZ58V7Ie7kA sS0fy5liGgmXPyNIN2rQakqhodorHtkOzLdKczBQt6TvNUFf/Wd/KprLo0P1+JgyPmFh6dH/84zX YOJ1KKo8pOCRnljX7+Rkg5wEq9wAtBF6UdO3pWWfxXk98DwTXHlkYNnf1Zf5qIAxPaTltkk57Ckx DQ8Vzf+DqRVDGBybgREX/7tyATbi39u/aIvgP+QzkVDpVcmHdE+wt4kUbwMHvAiJ1ERclakOT0m2 xYq8IXFYZbXgf9ukkWUM4rvj61Pzb+RHoeaAkpkowfrYJxxxg3TM2b+QcUhtZb9WKrLK6xLsTekz dsSobcWHFIeIu0HA433u8hjXJRwL9HjoIiJig8D2GSIeCz8ADDe+zPGJ7IP75TksztfoGHqGSeLj e1yWMyOM5C7/VASz36TtK6EPQDkWcFPgwg7xwboFpzp6UAXLdzjpWPiIiGdMzBBuI7qqJge7qmrJ Ak9zSkgYLiu82jd/hEMCq5rGSw0aZ6Mc5QyZzTGwqJ8OqAiwWn0wHMyfHy3JNFTrik+ph0txB/Wd av3sah8GnvI20T1MKovd3vodw6L/UOUR6W2RinISebwgZtWz/2Csqx/DuCzJUybVr3JGLesbvjYE FkfTJwZ0uUvgdQnje1hS4YgDrNY/GUmk0Ke81qJeNeAM48nFXZhzSWfGXVNA7szUcZSkSx5V3txH ciI0jvUKAeyfq/h+NZjcEp1nmCXGjmqZKwxgSKpJffM8fSqFuvQNHPUgUz0L8NXSpoObJzNASc9V Vfw7x0EC3uaJacGOaULB6DfqM3UmBXlJjkvoVVC128n7nRZg7zsfqGUn6OTwd73EbPmi1PAxSdRR HVUT7EHa1jAQjLsZEqcFeaqfT/HUZhH4xwnxnxlGExcZeyOiDs4PUh3rJMtgT3tNb0jJhkh6hPik 2CBywogH6144wufyadDEVJMxNI4rtwIS8je4Kbajr1Pm7AGVW/7gFXJgllLaH11dqL8DvbiUkWgX iysXpNFeHUBgA3Y9FKlapJ8gI4Nf3X+lM7h6eS2IfykYOjrO8UVciSiuThTFaJE0uc2rG2n2W9zi yCe2ywnyVAk088WFuXaIitlEpYrtBWkP6cj8TG1GFjXiuAvTYqHZHT/UZMTIJz7zHCQg0CHexnpM ThqYTd/dxpTyWGzZv6RRQBS7KjFgxMV5QABhIJdG8b8e59XAUHolSDMbz11wPlOJLF/Z5Na4FhuD I8fwJerJZhbwcT8I6UQYl34Bah8ib94s774gLW1+laVFRtyWyIQI94fDDUTuwYUQ3YbwVWu0k9V0 tUz7OXnHd8cvWqjjx9oi+RkDva9LavNwr2bFWd0Ot4P6AXb+50Fwg/1B8BSLt8ESRI1zMWK7dpkX vIKkDsDZ/ynDcJOSMczXI17DpKnkojzP/9BCqK/pwplzITM+f3CQXReBGDMNdH5BI7mBi403uWHz ed6Y5wd8DRjhVA7Ipkew5zCeyWmZsFAcEegneWYewBXxeSzzW2DoKq8ur7LzUbq0/LjyfpBmL1KT n7sRS8KtgwSJVuKCd3lVUYMoND+9DsbUYyfAEpK2gUHvuw8lh0uMmfVRISt85JDQO8lnpJBVtEo9 CZVztxjvIEErqcIU+/+aTCtI7hwzs9uR/218olFX8hSibr7fplS9IMApscnla+VvSJwuRjPT4S3K Sp5eooRE7MmQ4yQ8e8leWH4ph9H5f79ZyXNGXdaakLN7jITVQYourgjTId+K6O6eRJLq2/aXTcFi DwRTmoTojPyO85mK7YPnMNlGrZWw9rBeSqrnHm9HLzWaW9zqSCZXlibO2BBd9EDBWa3FHIHcohkQ 2xrkiXBDBrvC9jzLEbV/hrk7i4AVbE9NbKHHpCLWFqrAxJIhjH3mBLWVJhXWvZdLQkMNV+RiJvTA FIt2j5Un9D6HieKlVSgzUxlv/6jdan3egFmIVLM5RvSlRvLXOej0YG1XpX7WxeYUX58GuP43PFYG NV2riBFSTXrRbXVnrAIPJr4h8KwcJwWieNyZjSq/DrThov6ztW2lRz/hdxWMD7ixcI6GEdBxvWC2 Tj7bZ375/anxGX3vcWxAUTALK4+0DKPlpFggWiDdxbbkjQxbBwxF27DJ8V00TBalPuEFJyFpmI0z +XpNCde/HFGOKUwo9SPlSPaSXoOdMHa+PgsX/u8tBtb6DyK8cl7OhI5LfOQL+yF3YuSTqCRN0ozm mqrqKZM+EN7TqSwAWP+DqeRRqggr/zaDqVazPkGtyCYXygZgfsz35zwEmiYHtyd5A5YkpBeCc6yE CXCr6x3eVWpj8zYqwPcfQoNE9bB8PC2jGawq5wxINGs34n+M82xAYymPPqDr2XyI2TIlM30obPZh i+/chx/tNF0ud8wBV49B3MknnoqIpCOtR+rKyaLcayk87VljLovPojS363WxBByiblLxwbL46+Kg Ds/g5M+Ci07MyuEDG+RpHZxrbz7F2pivEBphpH3i+riwwXrMEqgksNNPnwZlYKIv7yOdAqxlH47W n4n1mvU1Y6d9qVU8ZvrhD7IgYy7sqLi5XboQ7m7xQGDi3pcKDUeRua49p6D7+xKniipyU5QrxCTX kRG4pCHcfuUyB8KRTPWZQVf04f0lxu983w7ldJdjbHqwKLyeZVrAKCyAwU6xYjfunjVbnuFL1jQd NoYqPi6MXDjTaVGJZoRSl3kNorinLjlq3jzc7qYhViFe/SD3nydo9+IAgq6FwpgKA2ZYcnDM3vzB 1Yr8Q/obIAdslOzNgr094tfDELxy8G4v/1mk2s795+H+SnJ9a958XYYzituKmS3yDfbaYqPCCb/2 NjfPekaZj6Ue+wA4dcBxpFevFUosab0dMlehEbG72M0bnNlml0+j7U8kbG=== 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 680JfZJFo2a28lTpYhRUnQvKAKMB api/orderfraudcheck.php 0000644 00000125647 14735711214 0011205 0 ustar 00 <?php //ICB0 72:0 81:6204 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 api/endtasktimer.php 0000644 00000052222 14735711214 0010530 0 ustar 00 <?php //ICB0 72:0 81:3286 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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= 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 dLgxs+TkQG== api/getticketcounts.php 0000644 00000104021 14735711214 0011250 0 ustar 00 <?php //ICB0 72:0 81:4ed0 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 hrDSouZjSC55hkCvg8gCSiO= api/pendingorder.php 0000644 00000027653 14735711214 0010530 0 ustar 00 <?php //ICB0 72:0 81:1f93 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 8t/qMB3aklWUC3AnX7DIN7/aMbIpTLJK0m== api/createssotoken.php 0000644 00000067650 14735711214 0011102 0 ustar 00 <?php //ICB0 72:0 81:4178 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 zfDdSmX1Kp8FgEgx+gmCzVT9= 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 api/updateticket.php 0000644 00000146124 14735711214 0010531 0 ustar 00 <?php //ICB0 72:0 81:737a ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 UPCoSK+M6uIvAPeZ7bgwl1m0Q0== api/modulecustom.php 0000644 00000040770 14735711214 0010563 0 ustar 00 <?php //ICB0 72:0 81:290f ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 WQ3dcwaT0Vnf= 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 api/updateticketreply.php 0000644 00000042735 14735711214 0011610 0 ustar 00 <?php //ICB0 72:0 81:2b26 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 iGUSyCy== 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 api/affiliateactivate.php 0000644 00000024740 14735711214 0011507 0 ustar 00 <?php //ICB0 72:0 81:1c44 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> HR+cPrDw/hBUqCA5rxvhaNixqEX54f6nLnYrBjIInkLK81MJHpfIjOR8B+8zuLvurlp9ahh4SKpP h270f0nFHwHW/brqEnKwtvCUOLrOoMUga8np1HF4AehFZIaG/AyKLlhYYejwVkCr8yWXpVpBLpYv USimXJS4ZQ4KoN2pNbHiIucOQ/zKYS2nBxWRwXOE0kukH1aXcS7V4+XQKfZUZYlaDDfOwU+VnCts BxCskOMaDMb9C92kM7SLzXybuX66jlRursl0FMYzAaQ1PpAH7aImiPMty9USigbrE/gMBu/tP3eI aHEDAtD/y9IdPrgLmAGSDYFs21U1oVktUfl7cnauTSHWuCVFKm8SvrOzAxe7uTetHBRN4QN8Audp XjXYE2YvvxuP7rzA/dXZPgWU5moDRzaY2BAmUzAfo4UZWQkBLccz1DZhKaGQgRhICoxA/4nWkUlJ 01Rec0zeR/dJPiX30GjE+cgCpCRXf7iq6oY4MGLzz6sjAy9ObvCoGN626gvLavVlGLIImV4N3q4K dmX4tzF9WZYfqzD1Gk3U42QzehxSOOZUCc0dsSwIq0ew91NDWVrP/OtqmMvnggONahnLEybgKDWv Ni52d7fI+ydtndj/t9x9LO6Y5RHsorA3oLVqPZkU5nAQgSwZQ/6sfPq5TQIs8a4N2NK9sR8PE//1 psM+nbfV9nbo5kR/ajxbrZhcd83OKUaoY+yLpftNW8sqdLAqkXgz239anHabajRezaO2gmwlNh+a 1kckSY9KxyIo8V1wKf1XW1ANc/8HB+XB6OelFPQKLNGGWnuP6ZP6n6Kx2sv5Bv4nKzSo1db1yRmM 8hbxIFDQ0eku18wTHO7oOo/oOX0IvP11/cVBkeUU95AvXFx1MuPFQqoNcEaRvPKReP+sZ4v5skEE pf1auUu1+CI/o4kZrcTCMfxGlk9Hs91rTyCRZ+m/Y/X+3uQkVYHM/zoRDaSD3Arjj9GgUJDVA24X vOYl3m6TfrosEZFh+vt7+ygyQEbNKfS/Swbq/vYrnK8WeHurxp9h0L8D2lK45teH0myNDnmBYWmU wRgO7rbcioRUpM1yK+flnPcI0KUB4DwCSHn3M7g+GjgehsfJCKirHfaHCuzDm0LV7fBS2w1X1HwY PLaSAJSsveD6l2SonFlZS7lqJZ53gIDHzfmQjNkvbDfs6WGm9FEkPDEr0JBz2j6NPjhsvL/WQlI+ 5G9WiG16x0UmmDG2hHYBTpMIoFKZCqTH1f1nwof5fhAxy4kvCaaILWrb8N1rSqB01QFdv2B2U1mB P5qBRyvLNhPL1iHD1Sy1T6pnANFTATLLoLmm0nZfwKf2gwSbzbCImC7o0vZjitqK5/Mo1sAL32m5 rrJL2bsCtqLDtIGh1HOmG0ZP4i3Bt5mjjakDJSYdqqfvfaoMLEOSCEGkzD/QB4EhckO19kvgm9Q4 E1Ly8m1ejhzCv/AAFoho6MZYxqGFcXd3PgPgx6Y58byByQZVfAVbItejdVoVyGPOuwd75bAXrAva u6YNC3bi2tUMDF6fFUaLxxTZpaRHjatAUOmwEinznQc4UF/NHeF4SP3j86lNUV+ImoN3kQHdIXrU Rcw0sc3NdihDlSWvloasw1pOtXheeePmU4OxIQSVLYmDiuhZOXgu6jjSJBWGQKHdtPSh9yDm+jw+ KGwzDTUD10NaLQ70NWPSVmK1c/5Etedk9KPVgnCSLt5cqOdgqzfaKNSCSg9lt0LCpKPE/zBzaUTb TStLQTEIAi8RyUU5is1qFKVlmlvKzSkAPwhO0GwKv+Ub3Re03GwanFWQ2YyqehJ+p+L1Tu4g7qk4 VhMbtkekf3HtvVjy2iQ/TxujsHyR/xu/ljTK730gS91Ot7qN4HtIiL7MeTyGwP4uQ8VXXp+vd8eV wd8Gg5l/Z+iE7YQFLJDtlS0a0XwGOAc4lVOVJMwa7ZKqkz5q2xWKYmCH5O7O5SY3d9GLehd1qt+W 7IQU1LdEhZJcuf2aeVwizkAVsVYOJwRw5aTOqVQAldBJdBIk0cdnz6eYHNCx+qSlo6ZWELsFCd02 gopHc11cM3X6Ebw/9QCX3D+Dq75aN/2IyUDV5u5pEl8NNxsPPVfCYxJf2GTSq5NCyaLBnoQkK79V zQ3obmr2SToxZTllUPzSUdxBczVAxW0fXdQ4AWdpmwixi1xDNikp4UG1LGcYPCu1iOCYx9XT6HbT BLK5mZst8MTg4rlMZC8NH8rvb+ZIg0jYQstotlIozawhdB5+Z3rPRyy0n7zOVCfOmqJJUJOko7bS dUPcJGfs6bahmLxQuBoQWMrdfUQEMXPb6Yovi+eIk/od4e0TWSaoNHcEKoBJ+46Zacm26y3ysGsV NaCjQoENmgJww7W1b2zsDxhewlwT/rP7V4DfB7YLvtgzcUGSu7tOXLuXOgxNJY2Fm590p/FjzGsW Vq0Pgc9pK3HlCnDNKCOIAGbTgHIiaIw/TH3afQnatq053STL9KpzxfoskWVaxYiUfG7mPdfXJUMq Mllm/PDd/44xdrnMS1qScQ8k2edZOGJueFH9bAKZPagepjC8zygRoDtRdd6h7dANKl3rJ2DiaSjR D3yq+r+472d0ohoueh9sQ20wecM0Sa8aExkB21Y5dFl4477TIq9xfQV8WmJtLrIFGPUuFJBesFmJ c9miWdvUIe31aPZ0nsYwok/REx2mr9MSjCqsSbyMrVuxX1WR7YMro9HgaoFrU6Q3lgHR9Kwk/mUF mzdUiWJTysk779tO8Eyjk6TO2k6tn8iLHrrYLwHDd6Eriu2lJbSZ9b1NeWAh5XNlh7o6fgi1e3ez mlX57kK8gALixQz8a2jDodOgB8qQqwfOXFL3XzQ3T5nQTy4CpWYoW3Z0rw2WqHDcSR0saWDpetHu DVqURSc7o2KT2Uq5yRbLKCbnEtT8gW7+UfMpwxSIHQT5IK5mJks5V3I3O6jOM+ljAH5kGHWhaSaz oSNSWn17L3tIqsVoaOjmjFcNTOnQE/mQNLsJg46Gv47YI+mbVyZnXgZH+QUN8Ra4E6fXH5T8RT1Q hubGR6s6xP+3KTezu9e/P4YSO1QBOPwsfJfnvD55AUVD9pvff64dBOWC7Xy6Ekt/xRIjzzYUDMo2 OVDp6fzSn8dqCnEHqe7G6Yg/ooQ6VZT704N/snleawH4c1tA52Lq6iw3axhcpvBxfubCA/tnWZSi qwnhmfyIPKEMVAoFx9fKovrEWAUaslqMSnokcH4GRPG4HvgJQ2GxWHLkZKS0cRas5oqZeBCE60Mv u6EiQ8ruuqWGKLuDP8VAekB+C3aTRlSK56ixM6Fy8w1DVt50lXxIFwS0IBOGulaDypg7ltmgHxHn odU+TL9wajd+4J8Hu/eeX5ivIrS4EZwtiopgfNPV+gZgpAs3AccyFpZu103EWCDxSfOt5Xp/HzHk idV3M5cZpsMioO0Y8hBgCV7AxwRgy3dKyySKSOJVsfrbDKzJBqh/f9BmiOISObWgMqN8naHIWWu6 LsBtbR0qf/GqdTm6l0AVoE+sNPiKrSyOOa1l9yFjiHXlxeTE2IEAWYGKBRFTwA5WtQx1b6Zlp8xC uZcHLJ4co4bqUp/a3W4MsG03NlFPw6MZ18Kt//pQxF94qOM5lIVZhShsa9pZXebKYMLN74wH/RI8 A0BNK/N+0bf/f1KAGAVo7273ic00cB/n+ndaRCtrKuWDBI+AUBLViCr/HFWbxsERbTBdA30VZtiq Jas0Wg8Q6P4JGqpqy5agEMLAIDlFuYrszrfE/0H+fUvvfWPRzLMvOuJMoCN79O75BqFl81jM794o yq2EMlw86Tk4G4oPOGNGdhdwl/k5jTyfHYu/uVSic9jZEkdzqBleVyn3aSnY5oBrW8iDTR08b4V+ imPCW0T89AFZEVQ7KAZFb2QIuUByaTXoQb+qFYxLeo4qRje== HR+cP+49IXozravKoBpVFyZRox+2wUHYzTe6cEeSldTnfPo261rOQVy2o7ITuawIq4YUwTBuBx2c hgUhrDtuKDj63tOklYGon2xanX989xIdImoqWHZOWalu4RrfTkY7jMpipvuOFxqFn2EKPX/u9Uo2 BVH+bPE/L0ZLOHQh5/+omMk55Xr1X9VAMxuQG6oCsj/H6AkCPPIyMr5NGaFdALPN93YzR4lTCPqn 39rHD7yD7nkAQ7RrFJ0ggvlLpVI9NZAvCmAJsSZzRsEaBGB54ScpGOKgrChVCG7R0e5C1dG77BbF E2lm6N3Hv5rkJlLfkDT8+nGIjsn9pEVP/GxpnG/R/TnBeycHGPaIjET2LPiCA8Hztx3STo3QhvKc fy4Y03izAT8imcXww/Y8Fq31BDxkZIXhIOCKkdfFs4qpIljS/enb3xKgOAFP113BLnM9xSyVdQoR mGDx7tkS7kMP9JbVcW7+n1ifNsB5OCnot/63lFjILLwlg/tmzADTcBLBsy8Qs4c62vxOo7l9LWol VrDrJfwso+3KPobjzXvaMvFdnDeDwbpTuKC7YwKEqF4TJklcCXTVC588yEYbYPw/SQtYhjFTy8Z9 CErxEI/zNIqprVWUv1BoyRsWbUoCCMNwqikBNA6WDpRqDUsHO88w2ZAqBipHBuOrGngZOvDQnguO KSAnvB2itX6DQbwU3kfmB7mrkXYDkR46AzhYm5C5HlhrQ2v58n7jMshZ8zsCMsIimneM6NxOY8nO kh6rFru5Tu2nyiob1s66JQqUv0PHJLmSvEFoh3gDVuZ8u8R8R+sJp4+7QoBytoQ3GQWOxO/ry/O8 8eG08kIGV2084z6OfTKAwuV488lmLtZ8WhvMvrg3K4DfqX3sjUefuvY/T3sgbnkcng3u+J39GOAi HWatsX1F2X/JHNFC++1ucaVpFsEE6A3yJjRXNc7U91U8apVPtCYbFhcxpzCNl796NgyamkB9WMbW OhrmVzUQSV3X85mBkB7+kvYd0xs22paxW+fR0PSH//7RSCVPslacWRyP28z89rLQLF7rBVfUIekF SioWK5glTeQ9Mp+fzHa+It8GPE2yoKakQSziYV9LXTtuqRJ6f1gn2JASHDDshYcl/R28z76/bcJ+ oq3xAGBY7niGUi/pvKKOGz0ELRcbu5GduzS74jVVUcdb2rxPNI0sGD9xUO6Pa8GF2rzdoP2OeFle 1DMgKaonhovQ6pLzwVO9yrwnp4EGbejoladGkYDTR3G9aY2sj2gHiBZMyYog78F6tyG0lBGUjvzu zIc4NwK+TBqA2/vpzaOH75K4UwtEKe6xr+3oQwLVv9FD5/Xp8YmFUUVn2hKO5sZPeGtD0y4ieOTa v6j6JjeG1JzaLleTvFBl4CdhaMNQySZFOje6SXbIJdoxJdAAVEA6rmnotF4kTeSo3yRHtqExk3KI jE87pccoP/QbM31sJITUQeiKHBZVfd2eK+/DE2c9JuUoXxMWdU0DbRj8nEVGSW7ZMZAf956tqV5g FjdzezHLdXlzHXwOnIBsflPMP+rrK/c+e+TxnVBaxkJnFZuS0oGVtN7zxSyfrwseJqFn4APOGSeQ LAyvgTAzuYl+AbP7PVhJDnuiQIO9ONtbPIf8zT/1PH4T+8WcDXPSvB0FbsZ688H37vzyAq+TwiA3 /k2mbGcjvf+6+nqPvbDCI8/sAzrTbrIFp/+HK0nW8hVjHVyl2N85l3u+nf2aiRjastKkjODgp/zm OM2cNFQJ64KNZASS/5WoIAAMvg9DQ10j3o8kpWdXorcvUkVb9AumCFflDqbSnbM3EPEeHhpu3Vg9 ja24fnWEE7ix0lGq5Hi+QgPTo5WCs8VQWAjUPiU1iEb/ABxLCymtuHTv5gN/A35SWAx3htnTPq7C ZxS3ESWVXoI904HmUazSWHz3ziXFFH/DAG/zOQ/tEnwSNtLUZmW6giBT+ycQkjt0sUsLOJuICZv2 Os3a1KJ5eRvdATL9ok+mfC22Dv6lTwOECiIbplxgWERGppKvZIOwiR1S8WzXENkNsh10RCg7sH6v bOfIZ15R/mOCyk5SM/40P80FATHnwtro+26GlpSKPkr+vEWoCq2jhCtYdSDiD+47oi59r+ul5sO3 Kv3NZhcIptxqi/BB7HU+BDJoyjKipwpleD+OnW/qswKG0B+uDqrJCadMx88Z0P3CPA0eXkNL7oku LPH82cZSroEpk6zypU6KDjjQ+nbPyCfIUlMLhhwguTFDZdubJPztPDaUlOYS7H4RRmLx7019ulal BzveOVlu78Dh9S6DLzX9jOV0zxZTv3fszERhuzfAyYQ33QNjP6Cp4WLGRI7CW7fCPSLgPitFi21s am/sfJtQuygE4zEO+CMumzd0QNZjOVzDARiXxct5ZJ1CjGWZLhabWjjDjYDLnEQyFUYJuW0fScVz JfOlMnQihBRvoPejyGs89aL4hNSA7QgMsYG2glBSCr+0BnMvGgw+kcQFuBPr22W9OZcNuHCsE2uC r9t5ZLx2CxisV6IlH8cW6m9fhRPvc5yKGK/Hwes5x3cMntYw25UsuD7ZjnEuyvmWdbeKJiLuGMvA 2kY2cFaJPzYCt+RO3CEhx/Yce6PdXPmjPu8XeXN7qYsGt6xX7ujeyROs8oum0V3aLFWvgtd/8KKt MRnzenoLh7lBnTU5ORBXPKTp5+Q8+xLH3qs2hKTMStz/zVasZfZeg+UhxFL07axeO/ZS94psHyDq B1D6C8OON9hJrRDE47QkD+onb2TIkDPI5i0Ww6uv89FqpVCHb4vVFbupTRIKNoSMBSl98MQpUbWb n1/thUUeIvQYn5h+oqBfnVtS7lfU6W7DROBzrZ7yXYubrVDgMKHEMBSmex5HYwHwCHS99cC48MN4 kksq+7mrXoXDg8MHpDY96dpFa7O/Q6KFeJNsDcS3f7nQP44chITrWQwUcEEAni0zxq2j5kcIofo5 Pgh5oD+SvI3WRv4d8y6u9TrIprm7g1l/+/gccCcjVZtDhiYDkQPY/WlitqxzqW6FAlKUMPfuX73w r819QVButS8bHAwhds8j7vfKH/T8LcGnElCS7dl4l7E46XwFy5/n9vob8bGQGzODkDIRY7vxpe50 weoJDNK/Dr0FFJ6gFdA411FWkePI8VqWujlaGLkGheK+V+y3yAoZhGJjNKH9qgPte7V0caqdYiN9 NdGJj/9VbfpnSAghH85vVIhdbvW7GbAYhFf8XeE1UsaP6iO2aroa8NSHjXm++WMfxJC2voa7CoG+ llvYo+UD2Rdm/Tdvio35cLSZJp/sH1BMsCCZ21Z112sys+yM3RGAmhHu43PaqKUDqkl5kFo0/1cX 3q/lazwaKedbE0== api/deleteuserclient.php 0000644 00000033242 14735711214 0011377 0 ustar 00 <?php //ICB0 72:0 81:22ea ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 5fofpXcetD5t5FQ6+UluXBEHwLpi+nYm5CDah0== api/getclientsproducts.php 0000644 00000162150 14735711214 0011765 0 ustar 00 <?php //ICB0 72:0 81:7d5b ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 IYiHRGowB42etaxuGcAGEgkzHiYOLW=== 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 api/gettodoitemstatuses.php 0000644 00000031620 14735711214 0012155 0 ustar 00 <?php //ICB0 72:0 81:20cb ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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= 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 5fDUSlDQSj3djd1drvZGih7eHYHU api/addproduct.php 0000644 00000247457 14735711214 0010207 0 ustar 00 <?php //ICB0 72:0 81:b956 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 wYUCRgHfm6cl api/adduser.php 0000644 00000043203 14735711214 0007464 0 ustar 00 <?php //ICB0 72:0 81:2bb3 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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= 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 EbpQ3W== api/deleteprojecttask.php 0000644 00000033172 14735711214 0011555 0 ustar 00 <?php //ICB0 72:0 81:2281 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 deFw2RJUbv1bVRHgAG+evw3E8W=== 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 VTyzveaBWSqQQSMRaSwq2gt5gXDp api/createclientinvite.php 0000644 00000035713 14735711214 0011725 0 ustar 00 <?php //ICB0 72:0 81:25af ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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= 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 vOjrAkMQVzlL2xcp6i249LKWCjMI0BQEeNUj api/domaingetlockingstatus.php 0000644 00000032673 14735711214 0012630 0 ustar 00 <?php //ICB0 72:0 81:2230 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 zHvnTEyF+OYRcd+jI7JCpm=== HR+cPr1Z4EJLpUZBqD65noU20Z0eK/BdGE+wOkf+pq6DkrM6wCz2YEk4olcEmaKPWuRrJQg/I7DS WaObfUeKqC+wI+uE9LRND7wqYd4EX0+z8qlbk+lQjsSLq9sdfqjyduN1WGEk4n66ISKkf5KdMmFW HCTY3W/wgQb96swbnBUONct83bQckdU6xRdzFmzyqvQ1Depiknqzh+cEe4bkM8/xHGy+/78ur3ag OJRR4kFkm9Y3dcTer1YB1LB2moxzZhrSE/32lf0uFiwCnW4eh74lmpjIehJVCG7R0e5C1dG77BbF E2lmN78x+mDsFSoNs3g7+wSMjn3/glK3bBqKJeKV+bodm7ViKsno8SZPDVH+4IHfTT2v+5Myl0HX lNxr2ZFarngTNnwB5n6YxJNzZNi4+O7pYN/kAuBFl2FXf/InmLPRToonXiSMel0aD18xVki9u2xN ZoYgIRZ30V8HclSwj3QfkT73D9goU9FWbaqdIHNRFvCqjGPuUK4n8ZGfeX2JvPU8KcUCsnqmWBgW u8k0dU0DVrv2tzjswMg94iiNZN6+8qansh+jf2RpFJ3lFd5yYn4aiik8nZRpu4MPQm6Vp1PThEUe cd8xjW91OCo50EAn7LdtZ5S3sx14p1M3e3QUYT205bMwGOl1yhjr1K/NvQHLnL4k5HJ92kdg5dPh d7DguqLIJiFmBlsig9Lx24E3uUbWAMmAHpklVhnJSwPWxOxs5qudlbRYQZBBwFvWOiT9HGjmeGoZ eyu3RSYIbDuAvrnCll7Midbt2Dpa4TgwGIOdY6DEVhhekWZHpW//xuLAFYCknARmh+I6R0YLUW1x LrjCb2dwJ9BDqur0rD5lSDR2EjzAVTi9wB27gxGQaP3Z3xhhyEraB+nDjNjN3upfy2vwtoDQXssm o9MX2716ohIsV+oBbT1BneZGKlmOy3hh99TNNYs0sycIbSIjv1AO3OLzmOwF72VeDDBlOfI1bF/e 8N0H3sgxGJ0ZIlScZr5f44TMeOjMzj/CbWIED7KR/pLlVCL+2pTRwY179Tsv4dp1zeir1ugnpY9B KDSSBC2jLmR1tencN32fXJMjVPEjpz3ft2DSKsPfmAKdRuJBQqPddzXJzjbG7YSIQxOMTOB1VhU3 ts2CTOzJjbSi3RKQ5z9TFxuIps8fLBHYlFSdH8bj/NbCklrQKXc0vWPugKffthIQbAvejhzSjCpE PhLkb+mrhDgY2BuvrAnevIzT1lsj7dxV7Jc4Bj0aJU8mjX9fCQKr3eE/rtB/hsOFTyP6THhYWT97 lMpjSBiBbzaAezgMzqU00nBx1AiK6X4esHD62zyEvEWwEaZexF5FuxS+cyPOOBJd6tgrDpcbopyc erh/w4k97YIXltn0vNtAiIkVW0khmx6nV/RLnDVhNN7tx7HRgTMVxfOhfcfYknViZ5xAt6Owdg/y /soYY0W+3fxS7UzcOFZWXA8fyR4l61hM0WjGJWFa/ihebbj+vBeEcUB6hrNDLGhR35byptu9jg6m iZ+7zNo+fEWSWit13FZZnz+ZmWKNq27+uZGrKHLlTSWrgEKxWUkNuzleaKy6p+rCtArVcxRDQ9yf oSukaoB+Q+0W2QDmOdSJEvxLrcKrI46efe2lS1yQaIlSlF3xnPA2k9qKzF39ZUB2d3K39P6GL8pO EsnSfG1uU9ZUj994oh5grfiOYtlyB3hviGVMTghXE26CB8IWUICLcjZl8UUvCAzGeJlixwf3peaM M/el9b2m18AOuKkXDyC2kTZlBusTfIMIb2F9A5n/9iItoW0eA0wDj+MqJAVqvBYTpqR+lGhQzV2G /I8bd+nweVoHI6Z66985rMxuIw5anIjEX1IOEG+ZG8bKN98xTxCfgyS8mTX1kSr+OzlxYEx2zk2Q gUDfGzecKPb3iOIQx7TqqE1nyP2nM1VOyejuE8aMSnCvIuyOXExRa+I2pmi2yCTzCjuGo6/HAv4Z e4oBV38xvY7YhzTbcu+0wByLMt8AA4ETSHqJI4Ipzdnf37Ia4UA7sQ6IQbDrBzSndzbyn3F6XhkR m7VBlIbXHifJ/w5TuGPE+LMN+VNXsoOiHUi6Jv7ddzqmU2STp5HtsYs/H5mwD/nEqiJ6bYw4N6mb Q7JSOpaXPHRCNFKeQz/s0lE7sys5WEA2RUEipMD3GF/SXBRmXzVZfYC09YOGdNJSfWfNl66CedPq UZu7hWqbhWSD0ZJdkTNIpQuLru8LpGwSK88C+s/RUfPulCRQfm6BpQBsX0ooX0zeHLK5mlwTZG0+ W8DJEwi5AELnZUNWFkHM3ZJ6KuHZobeMHCJW+2eLnMQ7aqMvT8fPP7rUsrojkROcN26yr0Nor649 V0/JZ3jmclFLZx3Zu74ZtNVUKmb64jfCg8kBkyNKLRN7zCe4/0J/Nvy53zwf1Nr4qqSiWbHxglx/ Da0BhS/CcPS8JfO1f4x65JKg5aRlltDRMtORDsqp7aWs1gfD7Jy4BJPMxEwICLEE1HvLZcA7jQlX E4MtMODJDEBTOVS2Uf1eU5dvabrY5JIngjyDQSqPke9kWYftXmNjSvIAusXOz4oVo5JMsxtwOn1u SH36dmEJcFtStFDqNuJur/x72JCd6RpZX3cNTy0H6bs0SV/hZJKjW2GEmFP5GCNG69Zg1/JZs/7d DkV1sHe16vd/x8PHhbZtkxrtJaKZpcUwLa8BAsOD2njN2kGDPzsIid2cL3jDbizSMjhK20q2qWDK eDyC0rfKpTAkRAsiecXSAxX5arcTXgPFuKJhut9yHpErazLaxW233btaRM87Co2rUpVOLCf1vH0M h1wMz70Xrf9rsPYt6pFS+XXN6QE76VCdiRM3MJHB6P978xOsS5ThY4iSdWKiHJVZ3c5AytkALYG2 4qwDjLazC+XZlADNvFEWZDyhd406W/5f1uhcwHoFMLkBQdpAtFW8Z+XruTgZtZNdwRnTY36Wg3dr gSQHpYZ+/9AOsC2n8emr956gGAGsvosz4ZR2FYEFtK9myy3sxiRKz635zm0IlnhPVzPvgSRf6PV2 aiwQLmtXLhD7bCnsfwBAYX7Gr0xYZ8Ayg6dWXRG2hC/ggytNb0TroO5ovDMDPW4P6r6biE+RGhsR Al5YtUKlnMfwvBPSojPulc8IMxAB5PNXgkj7TMcz299aIwMzZG24a1aXYDn05h8t1ueuiGBA1Mwo NZwi7ZAWetDl14xO/RcqqrdSAsNhCkpuBexaOXKS4uUvCwBtEPtYqeOosxqm0XHZqb7ICeQAyXXq jc+o3HYEXrdhBCqP2N/NA1wb3NGO38SCgVBGnp9Hv6AwHaG7QVP6biu6yddOQCN3rHjImdBHWVdn QC6DOXW+JfpgExvV6PfwHEDVdI0/WfJPQFbB2zDMRr6NSSA21K75weMKkf9kJnXt2LE1B/Yehyhs 0P3Hdrdw81ctvANqpQoFiLq1e4f0GZkUvphVABKg6maAcOZFjeR2QCkMjBq41tpIz6PkwWoQFRwj LubXrqkGxElmwfXaEVSQoQ2PEoNlYGSUDFckGeh0DQemSNbWJlWMiakm2USZPP08xLP8vhydPXxq T7WpUMMUvTfe5keZZX1EhnBaewUAkfuPv0cl+PxVysJ9QHl1QySEpntIMZ6EjdT24xYTsAtKpZYv 7tQ+HA3K5B1tnjkhqnkIrmhXK2oOStqBxMZlhzcwsZ50eqIgoM7/9gGVw3tpIRxm7Dyh7MwN7vqT BMyka3AhrO6sz1kVl9xu/cnrpqra4tUFTd6VIgcdL9NRNHFSJzre9h/DpybbG7O31sKawpZsNF+r QpvW2w/JkIWO506KoHZSpf1oNQ9aBV0xnvn5tSV0QAtzpCv96vrYoHxpIILFchJyXIOOU/fII9UU dDjhfpJQnozTjCYYbF9lnfMM1b1xdh0GyiExQhXzREN5P0dQCvYxiMz2kzh4vfRcoEasLK6tVogg ZNB80XOuLrV8u0F2HJHuT0rOW9cBxKliIk/qElIPvJ/hXvIUeQb1b/er6bvIr+7Oy/axwNFeGpUo zm6swgxmr3XIUFrMNeyspSymbO0uvLYe1rfwuhvxd/yW975pz8NPgcWPux6DnwjJEpEKBepT25IF vHNIKb5NpHJDzNYRG3Mgd0gszEa61rCAUljj/yxgsjlEbxYt6mvJS9hdBa/GfmSgb983iYPbRI97 1hN2ZoQtzU8Zq84EDfIESgwuG19BJSYPqV1KWFBpVYNLBcB//xkxwdYZ0XoqqwpWg4JE9wv6SLBF EU09AbnZXVcM/IEVsAUiPvlixJtpHFhfA+FyhSNULL34uKefaxBjGFwuIMDswsuz8yGpomtijyMS mWA/Yo4IdrFdeMrOA1FeCjY3NyDAw0HVArM2YbuMWUEvrkDCAbVFvIAR/PdOXv3fJySzdzm5hBSM gl88KwDofiQiz0opont1wzuN2j0NiLFXWiUng7M0qHKIWE0J6g5pQSA8KfVFDQdFNDFiHEtV5dmQ bT4PZ7r/QU8cftFSu4XZheC61jBx/Z8DIacS3tsYRd23qQUvUe3P7IWiqa3yz1XJrHu5qFdbKi3E Sq46dxd4LrA/2mx61mXMErjFnn6OP66Iz564LD+uI1PNh+7bB8XJtGAPq1W6vzpr4LJnfMy3x4Zk GVvCIxPdAK6gbAGC3h/qjW/OPzMLEsnYdiMafjOt9f6+rfHpcOJ+4QZ5egb1sZTeyritFdzcoJ+D tWuZYjohI/VbBI/3zf1hagM0+k2gdNe4GRqmzhvv6yrWUJqqn61fOh3GVYU8puwVGkMiH+VGeZOp V+TNtcrf19EVfH7yJI2ZLG1mswC+cuKZiJOorUkzeWKQRWwhCmi84naFdEHDZeR4Ww4tniEQ api/deletepaymethod.php 0000644 00000041307 14735711214 0011215 0 ustar 00 <?php //ICB0 72:0 81:2960 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 lxik4zxl6RGQ/2NQ= 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 5o8FCWwr6O85ZcGRcdbbm6EsuyE3um== api/validatelogin.php 0000644 00000035247 14735711214 0010670 0 ustar 00 <?php //ICB0 72:0 81:2562 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> HR+cPuVIvhKbZTkwG15pbk/l5JJmOA75umEU/DOHLkn2Juif8zS8ZyX/BKa9chECjkca5guiHmLD 8mt6bT+2dLDpMkTgqtiWW01wFGmBGQ93sZGwvh5Sjemfj7KL06LY00yV3d5NQ98IYQcwaO3x9A02 FutA5eCXOAnzKs5YFfMh6RZ4gDFzrUYJA4sSeewfUCsH+TTs4Pe9yd2MniXerqLX6Nx9zeK+l+Du u5gdVuF78KsbLESM6A8l6XKenGXVtLfkrJWTfUxOhghxyVbC4JjRUVNE+MQSigbrE/gMBu/tP3eI aHEDC6zBaI1Cmx/QzJnqDYFT7dN/qUVNs79TEqC81vH1FV8NfqpwJ9WOwQNFh9g25+63//rMCopW 0KUj2tYJNT4UlXXdMttbQeNlX/WpSWKTSwSi97Yn5IkOW6jak5OXZ272VEW4vaYZNbk7jhavnilB bSgLBCamarkqo99X5b1qF/lnwSfaWGxPN3VrcwUpgAIzaqfo6SiKM623sO1HIUrDs6RPaNyjHrOf MjWcuJcjgk/s0N1MuSHZ2rXMZ+MIgRk/Q2oRfzzoLeDrfUQ6c3ZXJGEgjPcFrV71SJYHEFniMIiz eGJeIPS8ldZe96Bmc+f/VBWMtKc8o0nDgBmX9LKD4lOogYEHN3U/iKxScbi6AU1iOly10L4Yu5PY +3hbV2z+nIvBl7eEWr8frkd15a89j8j8U35OthCpE+qL4TgyqIkCp8DZrGDqpCmB/5mFw0N7UyVV i4glkdyXE/hPbXv6/6Rdqo/8K+F6ALoKtMQYEYPDsGvCmMB2nqeRKdb5wdGSeG5VKU4rlx0bE8sD 3z6KiVeQID5SxhVSNS/T12gtgpXMSxo2BEaW7U+njwAVs/okO5edDConBevVAMZP2yF+C73FiTQg 2Ok8EpAu/edUcoE0TOeIhbXjFzrWxs3TScU2hBxAXaITWR+r2wpUYQJ+mXzyi/jS2u0u89a4RmdL 13OdHwbEP3ZnlILYLO9hvlqBCf4g/zGR5MR04i/FEzU0w/+l3r1Uwijm4eUKCLEGy6lsoSEkTKp0 qQUGcRIJMb3D+Igu1yV3Of6z1BYibNBUVlVvf+Pqkl1Kv9Z3vC2HMYf+ZhtmYssbDyHBMKF3Qm+U 8lzypiSO3oBq6TP5+b563Do3yAsVYnvwRV5SsjYsK1vrSNG1bqGrMYszKWyi7V1dhII4DQmR/bKb hqqfnnJOwZ0tTY65HD43itOQmY4ruIUG5tNn6g2hWvm2rw6aAqHZmCAsVnf/e71E4OzIgJx9xoEv lz9U9ZQ8URrp83DBkJUdNXiZRkR7la1vXalnVNORryR6MO2wSxXaATUZQJOuAfwQ/sIdDp3G6Wfr z3jx5/VtZBoI3uyf3tl/OhhplnN4tLDrrntDrzx+JbUOalt2Jj2/gEDvHJQwtu4bPq/4azVkAvQD 7lN0TWVPgCwOOrjgy5yjlWCLdciYqq6IoXuH7kpl2Qii3lfOiLnG93QGm27crZXUlCjz++Sr98Fm 8S4Begp7dUOahkIdLk7O/yef3wyaIiFEo2KKJe+n1NclOl4f+Al0l0Pxxc8qGzU4DMzN5yP66hwR wZ8KcAz/m+hCFUbDgM2nYbgBlqqfwHb1SYgelRQxy+6MEqO9xcYUzi8+EbT/RHnrZ8y9m/t2SzsM 2RmgelYhBpf11PVpfpa7x0woXZjOr0AjBgU0e/kG87dyUpCPydDwD7vp3IYgVp5/TPnQADGpoJ8v +KSXFZ5iVBeMPc+0dXxUqjg8Rdnd+K2ndBwBJ5Llbzlr9JeSa2OHCEl3bn5/pRi8zildjG+/sHQP JVfhYaKGwoBurTwx7nwGDuLbNR4zktLinWzl2EptgjOePz+3ykRMmXNG+/5zdpjk1enD/+w4u//v QA8/gspTRUgH/HMb1X7SDZuCz8VBvev3H5VDOskN9Sacg1KsSrm1lIRdL2ANL6rXsnRs+b/l2eNB A9rqs4/P69NTI/CYh/Gtd17AfxKJHAeEbJrVgU+fUtl9PVy44Ej3ydhuXnmryoFKDNzelzIUo+5V KavidBOMq6GdJRDZZg6ThUnp60Ciju+NuSkvsNrYRSVNac2fr8mG4sOpBrTo44Qz70FkO7ftiSTt jyciW5tghOqcju4dN5+mcrxQS6ckUbRvvvsVbpkia/OVHihNZtQvWo/WJoqBVqnemFS62Zlzp6jQ DgCGDZWHpxIo0VPGja7wNGTW7pt4jMPqq97Z5uUQ6W4nravrJ+mvts6IXFGgMfdG6En/hfEvM0hT 1tO5PK+cX74DmoDDl7XQU84/BPnTNyPuzOH+ZsM3XdZi3R1wZfysuPyIulgzTjP0UWLg06QsA9Aw z8Os1bOCFZLsD71JZLLiA1LR4LYMSNia5gOzUIkItY//2+snbnPFhABFTAb9iM9QmoBPe7BbuFsR W9Al4wqjhZEMiQNxUEWLWJZgNPBnjh18wip3prZ17N41QtiKHTu4DkcDaA/3Jjmbq7mpKf6Mw2Bo eBXGNTbMW0JSeoXB3uduPoljxqP29MsugQ2obTB+mGmDf0wOwpdc+lP4GbzEBvC+J2tj0GbPGcCg yvlz44bO/4qbMZ/mybP0UV4ob7+3/vDDqTxJM2UWd6N0HCZo6Ti0DBHWwEvfO87JLuBw/S2K79+v 3v6ORx8ooerMN7JyIYVSerUD3CzsagPC50uW/a4/pd6mXzzpDkFfKK7MdIyIiC9Z7i+xcJJ4o6Bm Tzam2P9hvsDay/SvQ4JtvgaBMpvLNNr/I5M9LW9Ggdz1AM0U6CXLyEaCVl01VPpgft1su6HMKxU+ +4mNx/Bps07yOSahvELnvaaWqg0ZisUqEizcTMaihRDowNhSTAWB2W9dMMBS9wt8QfgfpVHdKRzu +hYByU4vwBWegg/PIBd6jG3trat2YavxZzezHCJddGwZDDLEC8dyJMpFywU1FKB7NK30FHlQ2CtM 2iIexjYkSHi7jt3FFsViCS1551FL2Wioguexw5TPy6o4KW2jymWZiMCzYI/sz7eU54npEjUry94R FI4CrsaZeXYr0xdm7atn9ZhmKyx4KbsRCZqBUwrd8Nj7A8qR/w+ABgPsdImz1woQyuJStMlQuCwc DkLn6COE6CZTl2Wr6WmGQP61AQbaXCUa7u8ov/fsKAsSUcFqBD0ICa9C8NTmqvl6n9UkhskEf1nG VFx10OgwuC1YOu9lO8OQy1ik+tEuGm6MINpuiDTFWGGhoAQC0SLD39Q+WuQS393n/Av5eUHpWIlE aP58lQk77ordDmcJXal6JZS+nNGiB47R0bl8gorw76rim0OJ07n96KrkRrzE4/iR3BeSn8qAXxW5 1U36a+ioAnC5W/kAYUexDzmiSKvIBiTuy53/RFocf7P9Tmpwb378S8luhGvZYXy+I+jlmnYKjsOz BGjzz2djDMf2ysjyUyLW16BHzOngzT1rCPUpIMI0KcJNJWCE9It81tVqHxU6GxQjmk3KScTekf6W S+zSRH1ECaNEZMQC7kVgYbVIodjMgNgrQ/4N0bmJz0ATk+xJIwJsWxt3L3luauA/mjNzmgdlKVTg R2u+jQqxZ/kqDyNGjQToOW9t4E699aXvZR2+MtIOncpmW6ggDArlXBP3TFM4cfE2aGFsFTY47K2A /ktzCNiB0BO6w8K0GWnk5XcrVE1I3JO5U88AfDKABuQLha5LovcUAmBllabm5f5zSzdFwMdxn4hU jdsiYwKVOOfNx1/CDGVbwiVQiSUMBpOIbaBVpXja9VgWTy+Hrx7aySSE6J8PT1V4kgGbZZIF0Nt/ 1LpPaNfnj9HhDifT35lSLZ2he+4osZBHr2rmYr5sJ6E41Pm3H9dr8ynGTVTDLbGnoXSl2Gxxk2k7 +FZXfwSx+zvx4Z/mkxEp2WkL97btqThKzfnA4EsbHZ4FMbhwOEVjg1QddYXlEX7leig/NY0dTX0F bWmApNdT5k0d58ZV828p4Ili/XzhVet0zTraRAIFi060gcfZuH3+/jxoJfQ7mR809C2PQwWuWTBl BAUn0aYP3qXBS2Beee/wSV0/xepzLDNMWzXi/ZtKhUa/SpzYgAUIu+Ls41L4GMtNghY1L45JUfCV kWM1zEIQoh+clgZzEN37xeC1/toeyEu8aMkJkFWbPV6FiDi7XTDbExomB8cpTjI1xfWtM/T5PJxk 077bEOlBbZexCO0xYXB7RDHenyvi/FR5aXtnObxqsvzbNtKS3rhor9TW6QbpYGp+eZQ+qr6wvlrj Wu/lo5dU2bJnCBlQjpQRYC7acA5s6dL9zyATBZDYZg8x1sfOlN2KuQcADeYyoTbVJ2YojaMMeH5x 3Fs0xaBB4p/YZ8lF8uGQgk6GdX/zi8bVbT1CC2beKraksqxZLRz/zsAgkqnd3dM4LO5pAzr/co3V +SUf4IYPSksp218oix7MkuoLbzS41HcYnaTp/Q08kdF+sRPANrwRmQZHgxoobJN/58fe4LelhIjJ 0EUvnWtMpjR4jsUyEb7LACmhh8ti9+uSv0ff/3BG6V/6OWPOafCgnVqDzOa3YQvHdLhLazqr/CmP jkDVdljEiWRlC5R3PQueOiJr0/xxt3jU45lfUBYvzXNkj64j6tDYHpLOl3JzbCLTOtJOojq7Ap7M BdtqcamZUlHGiinAMbxkkDlTdgObpa/KetqOC/Zlz78Elk69bag1DDA0Jf3pI/LpZxoEuG+7v4+b S4ntRRMnZabacTOb88+Eu2kgWiTASqro/L8hpX7mcr6FqVKeM+HFDakBAvtjY83yh7nCAxcrSMap mB4kdykCX8EwW5Ltz7baOmyS3aRg2rsZOeNokGD0agKXgVIUPfj9+Hxe2GVQnU63L9gQjgh2y4mP c1hTuqra9MyV4K9zgOTEE8q9vXDCLotZU9VvdAnsGO/LZXq1k3KRRuo3hZ6VOCU3KDEb9vy5DTk8 NDFwE9l9HOlg4V5wWCHG0bpUTiDtEdxdsObVGcM70vcDujiiLhrvp06EJvbe+HV8frCA1+vXkrXr lUcOajFKLnLyBfh8PkmSiFnoXyGtNgJXkI4avclg1RO6U7aWDOMlrECEn+hH/7QWwsZdqZ+Z6x8d iKMJekUKWycf1Fx21cyfLdaxPSSrE9vww2C85AmTom1Sfh7Fe7aUipKKIX2xoB8SSvOiD6AckMWO /5G3I7AhhtQc9Fi3pYtb9J91u9LKeGtyIQkP1IoK+Obj37lPgHr6SqsaXzxJShMCJtqmNj2oZO2c uZPTPOVSMLUmMUqWS+G81ULzM1Ev+lKoeWLKseK0T1C99/ud1di/rkPAdQipcU9K0V/iLXa+kh+W mlsUugTl79+5U9c9oY5hn5NGJnO96LMK6f3qi8BiVwdQWiT02172ZzABxRZ2ae4wQ+EzE6N9GIGx fa4UomNsrgreu4MBRStOVOnJkrrzwfddgolEWFZhMXnVylwaZU0Bxt9azU3MeTUszRS4AFVMX1a2 FHMgXxhXDVR4QZxJ0MeNb29eJuZZiF5q1QVBY3e32oZScYKa+nMFba7SLKAOfyOjajkKglNoiW/h ZvbFFcppElcJN+fZ3JTogAOK+D+vGSkq2YR1DWKK0woHStKhvSf/nnno2Lv3IZy4zHnOx5Ori4Ef N10mvOt+8RQTlICilJxEooSQ/YuZ4t2sLC4KOvNaZ5xc0NMKGaJB5JtGwj4Y7IxTPEfW6lQVDuB4 VCjJgpIbrl2gucOfCQQx3FGz/oBlTUyRnNeNNviF23GooaZS19/ox3jbT8zSdPKM4pqsaKrfD3IF ghU4OgYO1R1hRtq2TTIJpF+876a2DtxXrH0jrWSUuKRsnpPH8VbOo9iwTPmsQTkpplxp0ZYlOUso PlbKGFzv63Z2uwkfoU7ZcXBfWczdbTf5kJddNh+jiVkwQzf5b2Voz6tGSd7dbWLfMl1SYVQcR+f3 7c9Cmt2i5KPt02MjrmTU03QE9LSZhyZHReoPW9d2+eC2SNj/oTox+QntKcOrZsGCgjg1HDT4Imwj xoSFirOGrvjdXFY64GBrCsB4vGikrHR3Rf7cufQ5CQFZ4M/RqLeT8nMHmRgnXVInFdOt0DgkCjzL q496XTHySxNyTg3cCvx9sf6pEwEJPZQWgcciQwra4rOBfGs3HoVxW1FK3MDyJRdRkEBHQOFxMYLb CF9kEvwY/QyE38161IXJpu6Q4wE4mZE0AgFF8qYsoArG3TPwkbd36RrAIUY3zHYewBCL60=== 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 api/updateannouncement.php 0000644 00000037013 14735711214 0011734 0 ustar 00 <?php //ICB0 72:0 81:2779 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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= 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 api/getactivitylog.php 0000644 00000043737 14735711214 0011107 0 ustar 00 <?php //ICB0 72:0 81:2c35 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 api/addinvoicepayment.php 0000644 00000063570 14735711214 0011551 0 ustar 00 <?php //ICB0 72:0 81:3d11 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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= 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 api/capturepayment.php 0000644 00000034604 14735711214 0011103 0 ustar 00 <?php //ICB0 72:0 81:254e ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 uc7nlWRX58u= api/domainupdatenameservers.php 0000644 00000041535 14735711214 0012770 0 ustar 00 <?php //ICB0 72:0 81:2960 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 /2mv5kIWbQFC+6Fz= HR+cPzD6bUQ116x9B8a0nSXyon/s7QzSBQr2pV2t3ETn6+tTCNVn3ZaY33rlrNHvrY1Zz4kZ4TRs NIbo4yJnD7rDS2Rm4OtZlWL+pV/w8Cbpg/YWMKgJcgzH6QD1gt2DRvyALp1SucUCKxuGaYnP9O+m QYo/zLq9MaDXmZN6ZnEbfSqwDjpOVyoS/Qa9gsjNmRGF1P+Uf4931n/Z99XdK+r7xGNt+Racy1Ym xDfHNOquTVZ1ga/WPCAqbHAW0xlf2MKf6OCJZzvSoXQKRVF6c8xFE5o9Z13VCG7R0e5C1dG77BbF E2lmM6u4/d6alr3K2GcIsx0Mjol/jLdFA0lqS0sE9cPaXZb3CaCOlQMBloQsqaq+Pqs8uARVIp2J KR+UQyg6wsMWMswiLOy2bLMusownTE/2kZ5+YRe1+HoGZgsb9scEVRJGoPOSnpZosHZRQGZ3j5sB x0mNQxugLhNyE+TZFPFXXermO7lu9IaEJvB2tNIxjVPn7kCGjLfvawMrUsp1fWiGszJFct+/AGau PJqIQfLSW5dnmVOKGEp9+ZfNlYyHXVkhXn9cm6Sv/S7Te3UXswDh4znxfSi+Pmom2q7R5ETavMCq hpOY7tz7d/B6Lg1uqc/x8B97gezYrDIiyXYwHj1kLULKZ8AlUTvDUyRNRXVcD1I6PVydcatKPOMA 4xhV6KYd1DslyF1qt8Zjs8L5aO+f03XdxGVzlzY9G8Lu95lT/e6aWejaVGxu+ddAt/4YQ5ahcv2H phOXmvY6Aw7b3bXiwnsfc+RCALhN8ogm6puxri/y/1Nmziloq0kWKeJqPftq8Da7Ii3sGPV4sVI5 a4MRbQkwKH0zs70fqhZkebb0HhTJgfEFkTs+k85kttbmGCUsTdirgKNxFaKhTHqikqUGllh3EH60 7xjJPPfk+JTBNNJMT39BdizGVgyudsLN0aTtSqQTyMZyHVR1nxaGFlUI+nQCbFViEdbbTr4Qn0+C oOVvvJd3DMAYZGPVL6+OEqBu4OKk/r1aOcXN4sHCOOxXr1sM8rwjnjqLOvLGPuewi2dr+nyozw38 vBeujdVzZpfRNu4F1UEu/FrEo+9hPH74fmsPaAM5utGJz8XTLsHYuZvs8t7Bc1INnBCf9fQgXw/J 5ECQVesi+LVHK3EM4KQi0yGh/WkU2UgviTYgApWk14tHlJTPlPMcyx9WtoBhaTD8JfA70+QU3c8P vs/xcIhof8pyXLIuVSwtxdZy2xq8tFfUKWbGKhnsyuXwhWVW++WJyExnoZJGe5I+uLboXXo3v8Hy 9pvwHdmMPRkOeKgvdoS2Bg6EFowL4dp/+GV7xasp2j1O5nSzmtzKx1A/tJ60sSvUFca+CljUGJcM yXNxX+jtuEhCW/J1yiySing5jqhzuXInfUwvBoKdWG0xvy/hmRVW1gZZWCp+cSJd1cz1WNq0c0w9 etSkV2c7Xk0YVl0FaINvkBEqMqe1nNYyHmrdY9Pig8Dgh75myqx6Z1nPTFpbmaItevUH8v4UhgRY K/ySt2yg/Nr9iOKxqBUeyldwU4J/nFlvxRNns1FubIjsyHpoMCSljJAwJqgkKZeA1Hy/4jZBUQ0e HRyKrZIacnuQ8Nl2fY9UTpRM3KkTkLl2YXqbGbp78G/riJTPDUJwaW+moDVq2l1WvC3bANc0ZrCW mP2BzmG66H5LBkNHLR3/HQ51PV3Qf9+vSe+q6/+o2RgJZI06DA9vsP7SEfYQN3CtSVrTe58ib+JN 3m1ppKgnCejzvWAkS+NgHqcwujU7xctFduZqPWZYsWvkYAXWclckmod6ST7rLdssogtZLQ1avaYQ FY/DKnzMbg+To8ij+jfCsei/GddJL9spRMDcL1gVqv+KHuk8X9Hm2R1sIIyZPAgPvKY5I4in3RjE gwZyhHRLnaqLg38Bmyz6V/Nwe+pzypcAjHWDEoKhzREfZbTe/YsrfHvX1Zhmq83q4erv0CXem+9u ZoIh6sSZGZ5FEjFxpewBAxEWd1IsKXW/HEWNoOGFNu8ocoQOnaPlbuOQ1WYwhgvzBFl9Jb+GC08+ ltbXGOVgMfQ8z89vQy1OGSDRCnFcrJFsx8wcpi/9joAy4DR/okOGKNQz7UEUi+iAscHmtA71p9jY f7oLodIk8YAh558/ySxEDPTw5DLDiVijWvM0WZfxUIusvWXSKdsUC+4showJpkMAhbkk1QISztAa K3Dk3a5d/iRF/mZRcJO+c1mEhTS8EKvUbHPSXhllE0WC+B7n5yfZvT5CCZ8Fb7B7vO7TBdpljbrQ Z5yKsxbuqRBbbDnS7EW0dXRo7y9IdWOmFzkRz4iRM2bvWYd446PqD9QGqpKL7+YnSpapOQdgaN4s THMlw3a8C3HHmvvMHlQKytJ/9OpzNR+v/6xpDaWwa2//IaQXb6xJEDL964sg4GHciDcWw71CDX15 z6xlPCx3oYNLl3xrpi9aQpN5BsMknAQZyNalZdoOzy+lFmh+IvbAqb9TwzY+ajpl4u2yRW7o4PNX 7ix36FkykGOaGeA48xlLcKE2EcSM036aIC/UXGMJqw287OcaeVEmee3D7KsOmis5H4vSOoaUm0Vk XiOJAAb1V2kl7nUGpOfhpNMnJ+9VlEvKeFfBadkJACA6m7DIBufpFvaf+xkpkwBbAJztFkbmZLna Xj0MjdJGGLYIogzIAbfeCb457C7Q0jcNlJT/hkyA3MGh8VGNRe/VJ43RAYq8/P+lfULry9U6brol lkaZOUQm8/Gq9jhD5hNoajmr7CoHIzR6+dDWuy4bN81a3s3LtLDD+qb5K4rPgjYzStxbVYU6+cz2 +3O4HCcRHMLzMPz7hOvW12KOex6RpEasS2NqN6/Wr3sGOT/M7Jr8fCEOZtSWgrwAIyjp/Qaw06D2 LpTtFi1tPkIL1BZPHgxP5jIlb3ASakmDfHU0TAx1M77sdhy/rsc8X044Ya29ZPT0QP2+5qrZqRgw s5oZ7znLX6BzhgAlQYw7CPZEsdzaqFBhpCvBsoIvOywhJ37DgrxBhY2COFwdYGvl2nnEOQGQYcnM eTl0kFa/lu5rM1YjcPg6n9553E6xtHMyTMA7v7T0SvgDdBTqhT2MNJ+PiDTdSz/H9edxnhdv7VfV gfN9A307CASLHfl07mY2vlF1SC+hfQkKR1OAIKQYLG0k1kn2Y6h2jvkLC4exN24iW1tiBClSCj6r mRPSXI1QdvIHYkvMBABnyZsloDi2KrLvKaAJ1NvUsqEm9zhRdGDsa8gzTY3GQ69gHifnaaE5D0mI RJcJwTmmHg2pWKvERo0lMys/c11g8nKqygg1vAcVJCyz5O9VcSHSb8XFDyU5uk+PdNAFkw+JJ51s tzR/Gvu3S6H/GAxRxMgLw6kdyockq1TjOEuvcLdVU+GVHXGDsf9keBoFG4aPNz0SVV97CmnlkQL2 5UKtWj9P90PDYa6kxs03SEa/WCH1o48Qw8KGXeivu9qY8NFB0BZptZPVvvP8a+yxAc4FK090Sxun 8WSWNOkFxUzyg0B9Y0wbJwtfKqiACtPZt7HCbWbwf83mA/qIXK6WNzP2KmmElBPzJuXY3BZgNQ6v Fx0oAudoXM07MvnqRVrG+b2gdFxVFqV+saHyRN64rEsejcg+8wV8UVYCl+2DEaV0Vzg5ToKCXe1q w7AYKU2wKRRQ8N8rTzgXIY0dMGya8i1dKV6oTCjNyZXSytcLB1zjQu7rgpYRUz1OUNtgWReGChNm CMqpphpUxfR85gKds5d1sy5nDMCBjd+UxZBiVYIblgD9z5moH/9i1qjkr8dT+BDfOl+R/UJ+K9OO LfMWm6KpQS97/NzsUuUn9ghzRWdLR1VnEKKbLEamL1o8yAEltGn2pFHiPFwFCrqki+1BqUYe7pdW zfBLA8KY5tTtw0mYmquu0hTCfJUq8FFbEMqOHFeKCWP2da4i8kLYqaqDWcZpPNqUGRlOvRRBiNhk 4GaQRPia9T0Rd4pptgp2chTvdZkps76mZvs+KnJyTSdlsi1LuF5sT7Px+iVYQ2iXfNje0NIzVtYm MhNJrOH4vOI14rZJkuzdtVuDeG4jfw5m9zf1gY9yyBPghzjMqFt5eehG6IWCwoBJLWmTPZre36HN zSl7P/QDtTh9Fa/8TocBNsL3LhDf/wmDSCErQrBI/dEldoXJdKgO8pWm2cAC7rOHAyF2CdtMawAA OzGIrEnsqYf0kMzkb/Nm8NEDndGYtdHaGGYBItiBkTarpGlUCLv/x/zK26MgI8QwCk+NQfQI0uci sl2I6VhNIAbNlK+wuptTzvitjaEWd6MI2EbMfZK4jx+ndbqVjD2UJwSYyIdvmU++ilT38NVIpeaz a3QJlJTpka3XcSyLy9HGQkoK7KVRgdbQdfzFSBgPS4+T+UbYWlHgL1gal+FoIDfDsKD/acYHiZxY NFAu5BYDpvv9WR/KRMSAQYknvLkkfs3oAyjdvXd2jzl/pcfktDgL49U6v6vPloKdqYNucgWkw85x vQml3W7KHR/wVMDxDC5L4SP/mhh1In2E32Sh56wB4B+ZznNa/l3V8jEnO/0pLqVi1nTBx7pA5U49 58DHlW0W2uf5gYpXDr/RlszfOqaSCQSCEW6iCmBw3dxzSK1hpRdIAUVOCX0c8XF9C/IBJwJD4lPI 0ZjLdPg7W+bd1CGP7299ILxohGyoX4zyR5S8s/QBz0MmAyjMv4qj0jz9ntkDBsjWHsckE6dZbXjA C5RrDc0RFZGmMI85e+VHlhRggJqVS8Q71cVm3QWGe9FiO5na9QGpuZzZmoYUXxSkAgoQTAQN1NHD HgZZPAdFg+L9spZvXHk5rWC6Kio0e+FX8MiM55eXidXp5Yf7v0pcAb6yLy8UZnRUaPcnJRRVbM14 q/ZJEwnDCak29nfcw1f67ZP7cjRqUzAhkzXi/FP70Hlr+bvrRwvdOrUkHQLkWznwqFYzGLjM/Yk3 Y6VLn2zxkBDE1X+UQWMhUrcLCO7n2cJ9J0M4C0Eu2xMNs3UTKNVqdjVPoMU+b1u2/V3WcWhn/MTK 0svqnkIda52K4uK6eTUgl/MBT/BkadlQzbFIFKSEQdOjisYP029hhzFFikFXt/TXJShIUrSpZAYz 0jvUOZjY1+1iYlrHBg3PwQpbTg0W1iAEorgxfLDMaihUGG9Uuk2aV6a/U8rT6Kgd3KYNFJEJ/CSK 0bHUZROSXfmO0gQnBub2o1w+bm/v7AJgxi6YRH2YLuJQykWlDQWovhryPz12VUJzbtFwhOm9WmGf OFZuImqbvdoRPBvISHa15qJV0g43ULtGOtOOt72jwqvjD+Vujx1JWRI4ohO4PlcYJBBSZKMI4mmY zmB0sDxwQ5mSVZLPvwX0pY9qxhswyLwLLUD+9E3ALvwn9N6Ec7gTgOGTAPnfSqW128BGeZZeHzQL 6G0rMd4IeWVU3R4mZjyIPMwi7Xkumh72uXweau9av5oZiHYWZvljRw4/l1n622l0ITWestODpRzx 7jzJSgky5rD3DJqo1JKiuu0N8r/pR23ibsLXAohIpJxApKTEf1JXRVGfTUpAf88BG2g2QdVl1P6l rg79z+W2d8m3V2JHGFSooYfZUMKV2aJcZnzTft0SyRnZBCAGB16cwd0QCwIm05AK4CCaZ52iCv7E Xr1mBr3YGaVyX4FTn3PEimbPvunRjlA8tgnlwaOX3jLJLQTzVwwz1WSRIFAw0WyFwQzsa1vUWCVT EOrt3fSH+X31npN7DHXg/EbuzKtWbACkFaUfa733NWS1JfG7IL5EvTUYFodZxHWiKoGUvLs4PXlf +c60zuTv4RkK52IVBUUo2X+gM35pHUctwo19tTudkmAb4yk6PGuxaVc2v9VCcOo6AfOr+Qjm/55i RtV4H3F5VKhrL0EI3Fzyagb0tmbjtpt798gfYJrnXUIkLq1DuMqwXtv+BMBuBk5Hv+CDVMs9oDFI CohkEtEO7J24VXcQaribALYDdcP9oQUCqoYc+xx1RwWOaeMx7Z8GRXtoAeF8ZLv5XMhmFhJlD/vB PqvniH64laqfs8+W+H3S5tkefklUv931zWbdh/i2HiZYZYvHkaaEb8J7tLLu5VY9MUuEEd6vQ0DI Hv7KqwCFnSjdqbuQdRRDx2cmY/g1s0lMRBI4pwy9sSoR1ryQDxpXrdB8unG81HAIDxhRNVWXEFy5 faxkN+U72F6LR2RKLyQathddieKB295rw0TFEu10iEG5Ry0Hc6+2P+j93ZeOo3SFs1aiTr0tAR5T YKXBT5qS5nCBxDDaGqXK3ggDWqwqIn6BlwO4eUj8Tke5ZyuPJX1TBQOFfimqIdKg3WKvCOj2odgE WKvC/zIwDZGZqa+lhjOXJ2nXPJqDqP2ltnUYThoVlHTJ7tRogREbrv+iDQ425GXNn7Hqg8mKvpdV gESSotPeYqfaFMIAnIaqfIwL6ykZibzA9+pQu7rZxexFtF4G/EEqWXyEUWKos+7aNGSzsjiLFVqJ BHB3GmzH9T9wdXMjrlYnN0mU1W== api/getinvoice.php 0000644 00000066403 14735711214 0010200 0 ustar 00 <?php //ICB0 72:0 81:3f9e ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 0mIMqAcI8iJ7= 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 api/acceptquote.php 0000644 00000031064 14735711214 0010354 0 ustar 00 <?php //ICB0 72:0 81:20ab ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 DS4GuCLqWqUHiGUno/O== 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 C1aqO6ZBVPQynDMNbG== api/domaintoggleidprotect.php 0000644 00000037023 14735711214 0012427 0 ustar 00 <?php //ICB0 72:0 81:26af ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 8jqr9Kkqvnc3DwJ02yBz= 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 api/encryptpassword.php 0000644 00000015251 14735711214 0011306 0 ustar 00 <?php //ICB0 72:0 81:13d4 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 api/getticket.php 0000644 00000105306 14735711214 0010023 0 ustar 00 <?php //ICB0 72:0 81:5065 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 Ub0= api/getproducts.php 0000644 00000136502 14735711214 0010405 0 ustar 00 <?php //ICB0 72:0 81:69b2 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 CQu== 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 api/getclientsdetails.php 0000644 00000055221 14735711214 0011547 0 ustar 00 <?php //ICB0 72:0 81:368b ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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= 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 api/getpromotions.php 0000644 00000023473 14735711214 0010755 0 ustar 00 <?php //ICB0 72:0 81:1a7a ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 jQNLTetnaBS9GMsCi2cds29WC0== api/addticketnote.php 0000644 00000100204 14735711214 0010652 0 ustar 00 <?php //ICB0 72:0 81:4adf ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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= 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 mUaAeI1M7BNYxKm18Qkb+fvt api/updatepaymethod.php 0000644 00000212315 14735711214 0011234 0 ustar 00 <?php //ICB0 72:0 81:9ae5 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 Sdpc6PD+evQmTsDptW== api/getproject.php 0000644 00000042751 14735711214 0010212 0 ustar 00 <?php //ICB0 72:0 81:2a73 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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= HR+cPsOktm/bk2CWWEPAB58EiFa7PqZNducAAD5STRzSM5KpFiimRgNu/2urFnUqYUhMTlnnMuLP mh7T99CFOsW9nhdI4gUosH5ASXZLZoIexS9W4gveOCyALcoz6O9HcKlVCd7uQ0PWzVIkERRygI0H 7nb2gjTOUmIxQvtHeGz5urMgZPx4KW3d1BbrEFIjLv41Y8JiOT/8CMnqN+U/uRHCKFEIMn69jFXl yMGR3t99hAt8YU7uNyjcQqmcdKOF0/jIv0ahpjgTENo/Ga5ShlnMWTqLePFVCG7R0e5C1dG77BbF E2lm46w7E1k/0KJ7BmYhomODjnu8bFjBLFnWAv+UG0tsPbZuEw5n1LntSs/Het9fGd3PLk9zaoaj pHefAnLLQLoVkix0wezbVuQGDvtRDTh9XIskuuDT7x1y4dfreDNBc/ISVWZEn67NqFZ4YP3XCIA5 pEqZOF6WEr9vQv4DvF/KxtivyBRdg+Nv3SZ6wsMwKXyzle+BntjReKYSoDQYfgcWzU9oLC881tX4 fqqFiqITAlnQDh26q3ujMXGbc8n9F+AVAOxmle7pwL0cT7qIRSsRY21RLo+J5eOxwb0fZnQexLdO 0c1ZR+IvyUcgYwljkrm0WUlwTTZfA2TU2pEUlz80c2mxXRE5udMCbb4CobKSoBmR678ePhFPruZG nsDannwh2Gk92jJz4zbHbVY16uHfe1TmvmzMcpMWcUZzCc/IH7h5sdf4ELn5ZuTUT5ZZ8KumV2vy hPVc0QGEE1yrbzKkhjM7JgOmHqMcYsUnxJaKpS5vSvZ4wyVnlFrO2D6k1fPbKxAGKeZOk8HlLzHy rXhowCL0UdSjyQ1uwFGatgqRjltgwiSqvz+bW7Yz58yrmIrgiTn4NjEHqafwVIelujphuR7EhNbs Q7VxkOPZQqlP4hfJ74Q/1g8lNp1CKFEOKfaczdDm2aiL0jA3wVUs2KS399X68IqvPG2S+MY/Pntp Ea8n+t3yywKt35XejzMzX/G5ouuS09HJBj8g2za/3kr1l+5+r2roYfWIy//zoEExdcrHngmnhsnX w5JtRKxnzL5R6X10QTBd0FtygxPXM7kLDy/M1gRfX+TBVpkSn1BhQMF+b4j+cyi/gzR8VurO/RnS xGtiydoEQbJaKBoVXrt9YWSeBLFCZ8TESlrDnSOpVaOiChgwljl8qvQtjEtoalDc1rdTPEA9+jN/ xHIyJIyAhX8NtlKdIUndKFrg4H+TJPN5ve7LNpAFATO2Of46Vm1p4JO4CySPbKPfRqdrI19bLCPu 2bYEFwwYi4q66EpPoFbJeStEHfLJOSXB8h4nD672r4o7V7RuJZkfD8oeKHirTZl75xi0SbjW14J+ /ty6vG46IY9wdmz6KQmBrJEgKLJX7zY7H6nmLq6toi6eSSLJ3Snl+RMWeFGTjNUW4W7tE7Z+m4tR KM6lBKud3sLXQ6P9wx9LTGB8LHQwJViQMBvH0TuREVuBbiy1IuO+8dVwsBUaTGYNEC9twx0zaoM1 dvSWxQekJFJfMVzeJiMGWyUNPptP85g7arifpd2j6QO98K6h+TKdXo0/FN9+3bBpw9Zx4sbcXccO qjYdKno9cKoXs/fdkC4pmTYj8BvFLhqv+kg5fFtdlJz+QIdTEwT5EMv6nZP/7OBt0owDvzspErxM ERRYjfBJVYnqDoy4nDI9CGbnjUWoKdWFz3dCyaP5oOzRBkCS2ueKQv2C6aATDMDRx+Pcrb1oKr9x y1e1U+UVFNkXMzXqi/E354Cs6gQy9bWFzsifTEOl3rj7GpKzHVcKAlaG7OBfnjdtKLH08AgBpTkN lEiM9fgbP3NpsT1KlnWsthupETV9PJGV4dgZkeOoSBYpPYTKYKtFDJkl9ENk1iQHyJ+M7jl0D3Vg 1VvUpnWg1rpdM6jm9QIBhWvN7fMM5eromHezi5h5VShkBD3YZky2rEdtdHkwGdl64V/DhbngIIGq V/l97MMJz+l8tlXC87EIVQX8L6y0Ja4ouWJc4XSTqYdkzpBq+FZyeK3XZBOcRKHDZbmg5byfivAD CXdqG9eMrlR1E5Y/KQDOQGOB3IaGMThXIY56iw2tL2wBuXBnZRbsixX5v+LlJSlynplXBrNEUqgz E5fcCuTx8pHYr6OesXS4LtgEjZHqHXTdZ5YinOMIyUR5WxHJYi5sZplQn+n6SQAY2hjaEJgrloTL Coik0cmKQgFL0W8jCNv6kX+MTMP2NFgPw929xUmd9yn2NMGkSRND3z/BHuMamT9ecl7SC2NS5VLc Fvm+2vwY3xNZdZwUY9X7soZJjV1POIe6vot10X5qQRbHt1J2CMEyYvNRAN8ob5WbdFQwScyaVbdW MoIcxIB+ylu4zM1XrjzYLI3xnvLkeGvJWJM6wgscd0GhUPfJHQ8CiDgPxoFt/swPWtKkC8pP7/PW oaY4Fi/2Bqhf+4OaqFDMo/yJFwVsb4wB27tMdjz0sXorGoSLMDCl5PLdInbnGLlsO8yU+R6X7wa3 huCWKFQat1w/o5mgYurYjYHKlbwVIpraET9dt2KhrVHP5lEOed7z7IbNfP9xRaRPMzrxIBJPFeLy 9Fs9JTaJaC73YjMDhfrj4igiZ17YNPfvuaWKzsFtvtTloK5ppIRR0BH8xEYJjJjkuBzfyyOUuOAT 6vwrLdyTo4pcqdtYgSJ/gXP6/i9nmXuuFS0oPMOK2/JwiyQBCFQKE7vJKDc7g3/uD0v4aO/SZM9v hmFCV1SP8hZzv0Jh0uTJ+5RS/5zYtWPMi1zJFsPxNirc348Q3FKXygYoBqYWkTRNo7/7oxiLwrZX HpkJp7Ruh/CE7XXF2kl6PrLuC3h0E0filp/K3+UOiHAv+0ObVihQze+BTuTiLqEc6/Jd3pI8hQJZ PvukseaDqINe31l+7PcwdtwV9L+OR4q5fo15upgFJUqm9ZXzmeWCaIqRK2UBzj9uXcFpKsVml8tr Mb/nh8SAWRh2OfLWZsldF/kIVxABnh/MaAyan2KvcPpVchrQctvgYQcaCzfw0Dl49tGpKV59dnr7 HIobxKm6XuCqM2YQkCocwF/SszYHiTKNLdazb8ziEWsSSHgfrfdGYi1n9Bxv6qcXlgjtqj3/8uJU LiSI1rlNr0afYwQIJJGDZ40IZb9d/jCokhXOnfIQ8WgmdL9sut/t/KpVWl5h3IC7G3d78NMAhquS FfYBMcUQQR0fJzhpTZjAkw+5d0ahAfygiQ6toLR38mzhDqszTe2VsufTrDqVAbkN3USCxPCLPPzn Z29yBb3qP/ggx9szCwRUcfpB11HLsnBgvlDJt+XLhhk4LbvhfiaSc6m/sWWU5PB+yECwWw4eGBSB V047Pr3/Tjw1YLwRNqwcgEFUYzeq+Hr6x1AMKJMjTSDC9IR5v2xTAPwa5UR2MeTAGJKa7I5fFbPi 29FGiEUBWyIvCvIOm4cUYgr2bUlSx/q9FJX7uoT4Xet5nDpveaYTAsug39oV747/5Yivv/HOE63M pT/AkVFlnf+bjPaYtqF910HXFTc/RHU7K+KKl0UBqQm+I8GgCCY/qwq8uLKhGRCPuoyow0OnU8qe X1lzDRgFWEmldXsDjuxpH/hWcjXkH0lV5Ndv2+0CzFZKSZx1JRHnMb1iD8M0TULvcdKC8+kbzJtY S68Uy/wMu6GVN2RZR9kVTiFrJ6YzsS3LvIAlL08H+tZKcS/ciB+Lly6rQFGmiDx4D+sfLt6z6c4i /4zZLyfKl72QM29mb7FgNkSxXi3bnukhLPVUTAZeiJY959+/HnqgLyp8oBP3tx3+KFFAGs770Qkl SdsxzgQzr9PWwPaotYkg19+BHtVWx8j1td862m2xX3rW6k/0mWcPbPisKspNrwC//1KuTY8XgeHP Cqbamk44sqAYdqNybfsIGgwFi/VG4RpGwz8kfjXzhwn7LsdJukDeeU99LAnAxRguV6m441oaAPLW fs3SxrmYJaHIQtIogP4T97lSzgAIFhU4nOTFPX1OOae03CH9FRJeWwNVowEiXeyb5AAJSn6Zik+3 +kpzVZtNtvOKgJtpXGOpOMT6tO4kcpiacVAiGCFI4H0QrIQrhyMZD1qzk2z36rHItkJZQz6/6/tE yTSNmMhEUJvtcUBHpZJm6UKecU4lulH0yzre9vI0kivGZNKSLIe6Pn5X86vUrrhtnx6oEGKbwxvS 1nPyUizq/FASatNtqU+C/Pn7CMBMmjMqNSRDNU23M4C0zl1QkeU3yqXM8CuN1guuCjOgNGqwVAKO NZIPMPxPizc6ESIxOMA0eTInM1EC4mMZxIlFQz42ss3RHFxla+7GYwneLSEuZpbw++ZUGMRtMM5W ep1OkpwYbqurGhNCOAG7P/NVxKYzkKHMpEaBrYEPKwwCMt+DMcX5TJ4I4Ob9DNggkEt8zj2pZYHx yexsKgwUhqO6OfcbdfaEiTkyCB57rzkLSA+RDR3uMtcIIyKVDtuzUjqZf5K5SDoPkIDzPijVmAcz tsIeKoDKCuCJkEfw42BYbUvvMTKaOfGkvqddy9ghYsiDjQub7zD77oE/JzP3dOixFKvX6P4uQaRI zgi3Mn56bqQ6g+iM1WRs8o2wsg3YxTXKXZb18ctYCPiWmbcH21TvgKXR1dE9lb5BMwaJWcjerSwV k0+M4aRRFgDhKJW7cTETO2rxpmPEMrWVmhZd/Hm82y+SRWbByQHQfwLC6XhDYKfh6HdlvaHju9Zl JjenO0sFAhtCIzkXzByRtE9sm7Tz0+l2DHGDaTj1msRco41X00iqClrfnizqNgb7QCS7tW0uZytG WjQDLwM10KB6eH7S2n5I0WzqhBNwpq7QhvmHZTia9bOdG/DcjaE2tH7WqcJ9bVKNpQ4eIHz90hVg rDKmF+jrUF8ftzL27akzxMv/hstGoTvujhJlZLa3nLalogdXyIGN9EESsLgO3VBL9XQqoRRA3KN2 d1o/lycj4A5yU53j2J+53romzyTcPs5B83+jsnQhxYgUfHenghqc870xaaUe1h299cHhGoox/iMe xvcxaEUUAxWlATb+ftM7GYhNvHoJ05zc4acd2PgyP84r4CbakCazn0L2fZXNkTILVcKUEQhs2h2W brBacHbBm2bOReDxvjok2HPxfQCmTKOlyc8tLw/II/pAXDVeJx6NNFwaS9iWDFMmUd9qimlQN3rN P1m8ZUvmBR7X+PcgOv7bBxuIzDkYl7VgIp8w4LAwK7m5x/oLy1fdb+EkVWJpWgrv/xw9hDErosAn mLfENsGZK6rCAxJ5gtAgseviH4A+ZpLa7AMKrRtd66JT9Rs3oegbk40Y13P/oAVoHo8PSWMPGpCZ KBxFJLX0u9YX1tPyFG3awfe7EarqDXFu2qRY2T9+27o/x0hK/exbeeCd9zNar+zllei3yph24h0P LR/i3dvtHA4EGkdR/11YX8S37+fvMexPM/fEaeMIp3sGGqk2fkQbzBCKMX1TR/FIKA4LAE3npMbR l6mo/0y9IMPLuWXLpjAwjYkMmHqhH7tIrzhHajZMuu+oFS7uIGjxJ8t88kRRmWndJ2HY/lId0Mkx 2hMj34R1kw+tod2EjYv3AdMw4ZF/gOJPLF/2tUIeTmvYUU6lGbu8L2AUvebeu5OdAFy88YS28Iv2 hIaXix2gxWVxIHM3GebFl7/nyGB2ODpm4GSlKVY0MRJD3+i+OeeMPHKllJ7dl6MUsyos9o2BJ0nj BqURjs59ShRuO59s0xoC5HOWcg0nShAjPs9xV2wCRLyZSNxYc7M2Kcgt5N7IzyViFvVUAld8N12C rkEhqQlMa9dnqqtkgqU0FycPxRQIU43FtxXFExMbKwHNWHVQL8bjdc8VApOfO27U0+EUhcY4VUFB qL3S3p3CvZLpkxNLuAtVCXoLxab8hAhhu2kqODCoY+/8BvD9ZT0YxuP8Eyrc/hU7Bf7uu565oRAb Xt3SQen2HHZ9e1sn31T7gwI13slKlQIVf3S3vLe9qpts+30+kcXoAGb9oJBlK4jliHe4dsawfHpy iCQYb67JqkXgCclDDufIolbbBVnQnUjMEO8mu7bkKzjt3gU5ILXO02xuteJ07eYYtNApY/FqW2hl humeV7Pq5K9ATcJaFJFe8/kHX1qDuUhCZfG9RSnBZholAVMgna+mGX6F1BthUiHyT+LNSXkYc7mw aXJ1mBdJLs6E0eo6jyO5vuigTClJfXFzkwo3U9/WJwpiTdD3z3kl0CBdcyM/8AqSAsnfbX4vcI5I GrGZ/V2FDGjaETKDcDGALUruhmXMNC0C/redmSgJ3ZEbEKPRdmx1DhW2+b6jq4/AqZLusCQFfpQN 2+RtoobSA87ZYgjIPfsx2b7zI0QkwTfHEobRorXYE5CZ03JO8DFy0uf9+AYxQhp8aHdpyeq5ekf5 Z6OD9OCAwuCs8W9YmdoKdbpjlfrqa7x5jzEAtX1CH99eVv6o8072+fkE4Y443BsFFmqSbk8VpXbT 0M3mGqJLtyjqH5WNJoL01k3zkom5H4qhP0iuDLMUpHRyORHjsGEznWPDOYhTS5PFXeim/W4Sxt7U kOj84BUY5FvAt1Uxq/U/9IXnWcG9ckeUR5ka2PV7kzR0AXNqQvvBuw7zAh1FUoDIfcoDfGfQJltt 8DRMpMzxql/Yca8IfElPeYRNMmb5dmHC+/oGU1p7gjD8MiUiWQBshzGNCs/+Vv+hESe75NAKR/yk Uekrh+z4OWHKW+L6ExAx/fcV7eNUkNMg7ofPb5fzYX4GMF+p+XbNv46dGQMGCWkAloBcgGxHuoeH Kwr+UrigxS3E3AGbugj2t9/+mXkfpPZgnz0N6Tf/dNx7ua0m8gyYSpLjbVIplnB/FJYC9zSQHPTf xqq7ihajWdQ+5PpaMW== api/addclientnote.php 0000644 00000031537 14735711214 0010661 0 ustar 00 <?php //ICB0 72:0 81:2108 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 YiqFAoekHTkfse3WRf4I8BAVTeMxkV5cN0=== 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 api/gethealthstatus.php 0000644 00000035512 14735711214 0011252 0 ustar 00 <?php //ICB0 72:0 81:2145 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 hKdzJ8djsYuekRYWxJRX= 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 GWU2Qql9s0h60jTc1jCS4S5H0l4Bg+NoQoK= api/sendadminemail.php 0000644 00000035552 14735711214 0011017 0 ustar 00 <?php //ICB0 72:0 81:25dc ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> HR+cPnDQXYetzNeDlfaJ2Tr9ZXPyHRIZePlTf/M9Oh7dN67AnoqrkdaOZPOoAe1fsYjh+UhEccZm 4g4xJTYemt1hNHDSgp2x7P/pGzcUkJrLk6e+9I52ykXHC7aBN+NYogPj6pJamu1Vu6UmQczeBsQj uKgoVsCo/JuVL+mGhAGQYLlvS/zdXWWfIcoTP62g37QYu60KnLZuC74R7Yp/jead1yuBNgwIFZNi pev/wLY8o1eAPdcSqKcjbduoKil8SLpMvN9UQEXi2+BpSUrzO+Pn8JfVnMkSigbrE/gMBu/tP3eI aHEDj6z/W9wubfQEQb63DcEI5WXWC7FUAiRiabjPq4WKzMw+4wQhyZHG14GghnLoz8LvhrueGz5G eJZXuUHC4ksnHWwj8OWUU1UbcW7UUQtv369u6UXO9gSQw4YDGzZdKgLMoQADIVH5WzhzLz46adS8 LfT4Y0qudiy2f0WL1p/QNAo1QUHF5W1r0mOTsxfbzlVLDpgDY0jaUcASy3JGWAhkx7BGHjfK3WtR symHgEuRGXU4xaI0D99n4FsKLHZOiybrzOqhHi8tvwHb04tsRBVFNuzFSNRhg0L6PK6nBW2l/LQQ 616mDnfjsaO0uxQAkWnT6WZzuwd+dNhpka0LJNIq8mUAxYrYUx2cd0w6OYLcuHo8mOMj2FznjJO8 KLhBlN701gMW6dzLWXPIGuWwt56IhCi9Xn+ZX/05j0izerOk6Lc1KL8Hv+nhrdxEUOHTZQYqYHfd vvg6bPYsucadY6m8KOfqCOcnb3qZnGX9qEKPc+7wNgoJYagSzmGOSdxu6PVjrKvHKzZlXRj8lMCj uVazLqmN4F2UyPMKw5w8Vqmf5ruX3mL9KMA/6YfaiKzhJ1DhXCEwxtS+S/7r+aALYN6FfUXrbVLY IkxSJelUpUziTyhZ6OGKD5bx4yU34G4cElLautfj6MsWC61ahfd4Rrdh2to6O/n5wkJJE+iFTiPe 2y3XiFUigMifANAPnq/1du4tZ9ZBlzn1/zn7CZ8a9uonmRmD1uG6lhE+qvQlLa7uK5bZK+VYonzr WSM1O1V2BDOeqx+YaZLDD+toKq4Mox/LYDZ+O8Vv3wkaOog7sCVqS+oFCrfDOP0ldhLk9TZkJGsv Ap72tfe8APMT9XYrDvtK7aQjD+UCqq+g4oY/G2l0iQYeSKnPEZwSMDFYh20zinWW4JYCV0oO/4M/ ghY0WSUmUH2eASbOW80nRdHN+1A0Mn3sI7DS3Z+uLYmC17N2IU/YHUrA1DmIorA1TcZq01EXLRg7 pnKVfgRpgcqAXqGljYx6JFPdE/Vni3A6wGKQULFENso7Tm8oipq6+yt8rEa2hI5M/wOVJal/Fl7h qf5zuukklj+ptd63h6CSqhBrdTrXzjgL7HWOJCPoexb+S6x8rc1eoVFLaxh752CILGAW0vpUbMsI YK4n+pZDbt3R4GJKg27c+/k0POJ50GiMfNZNiS1eUMJ8PK0I0v2K/aGGmZLgTIJZLjK2cFpEWzS8 PraTFccsnvvRdARgGuo9wwdQAonxYQdoI+3xECrH2EKjJiIagbrHhBhFWE+JcjgFK1FG2xh2VZtB vckcs7z//m8dVUAGN6S1nnZxDrsmOTyo6Ioh17k3wMONicaPo1to+YPIVmchjRNzhwrXs5K1dGYe fdPDknBjeAfsZCxqZNV0fCrTYucDpt3I1GYOKK7kUpTdJuMDS4M0Dz0OL1xF6uymJaf+EcSjh+w/ A+YdTxlFC4XXa8uHHK8nSPxmHgGH+L0SDcSVXV9vQ5cjjZQN0UqOlFhrcO/41uA/9/kGt4smmaTK 99pwXAorM7xz72iCWDwSU56WKgIiOwU8tD0b26nYgbuwvk9O3+9QIPv04xPuHs423Bsm01MLZeHi /usTiE+La0+yMZ9+wlq6vVo4E4vlxnWJJsu09jcy79XXMRRLoDcpC7/aONdAogZg4zZRCwGOPhvZ jNbDoVWDH/2gvyGRrIzdBXXZ96O3O+zNfhlNHGGTbJMlUNUaNK5JR6GYYn0zKcqERTY5PXTp+D2j AyC/2AFYci++vWaFdrv3rcFh7FUktZG3Prd0nnQFsb/3fH8PXKbkWPmLIneqHxHBG/iGvdLS6NgN EV7hVdRH+tXR/XY1Haw3l8u1TB+jTzyQceRxlE1Ivk2JXBPnxRyBEagbtf02fSAqC8b34KDZOSoE HMiYNQkMcNya9B1EVwGUO19dXx/Omr18GGvpdU3wDIrlY7nyZij0Jk7jZVzt6PhVFyfqkMaHMVVE ncCCbFECPdMCUv2310c0NggaciQrm4gpKdLsIXxsXD1dxTY72XFG51D00A9pRfUavevqQY264BNC vgU3Yc8VJ9rEd9Geh1tMxgyTc053a+aRxZGFD4oRxPRgtzue6mh/mV8t7vfzWPV6kFX0oQMgThG8 fejFIShVIt5LEbVuwZvj3tOl4rq9tDlrYbmJP/SNjv+zoPuCrxtWQ95LaX+jqmaLri0bMI8sTBHe G5E35Pr8nRSbW7PApPqQ58E4vstqkRJX9WF4JhVqFakJqrUX2yJOLX6rCLA76Z2QzhHDkyLTgVL7 OEwj0vT54ebjAwd+RryxCyM6fyanqnU4XaGzfXLWh+HusUhdH/mPfsk6xY4b8LJ6bSYMV3Wac6x3 2IScimKgHBK/7YY3veveKQR2YrRRr/3PXIUn0XzjPJWFKdAPw8VUdmNMjZT1jcg9K9hWCj8Vz7Xf TgtVaO6l1l8CUdf8AMv6X38NHzT3jBAqL2KXYKb/WCqfwmK/P8jO2xUfXJ0vRibH17xuDeQKeia8 oyl3CckHER/8xTjNExnMDkHEBgB606lIujBjqXjwHgorR69nup3Zcx8HiNbNgbdryKcNnZsYyAvJ /P53B1Nrlxr4IqjQLYXuIoSngvgVO3MHKA4t25MBQq37U7gHxMcg7FM0PIKcLKjvYVBwxIuMxlTL eqwfphB7W0ZNiJc938CHsi48se2DAquSJl3Ki7SZFxTuQ4oxegBHVECOHA1jLOneaXnwWfo69fNJ GiAKule4peCM8F9HgZgUEITRJCfasOaW6n+CcXRtVAnjiLCLCRqerHNPVgHOOrghyAPGRXU0g8KM O8R5UXPjjDf67fsaFo5fkIdlx21Q4Z0Lg0CktdPKsJQv5//7ACvWnsvvWL9a6W1BgrfzIDdxnwX2 ddzOTPyqVeksSIDMPB7gLuLzOQzzVcrRFrkH5gWWtPWj49kkeMWSYglHMGmQn3s9tzOBY9ly+K0Z rWpDE25yYBOeC3ussw+Oj5AU67rP+Y3ruzqoMvsK7g1xqylh6dgrJhcsxerbGsBmmXjDYQLWJBYZ JnyOJ1aFqC8fdt6tnWnAZ/tn9RmM85RlisCYz/SoQX6iGk18iFJL/yYs54gdOZM2EckD2KiBlX8K m/UgTcLwGRBq9JfoX5NgATIVl7ajZb8DZtZAM9FH/bG05Io+vpBgDUSCvcvBb8pB0WjwntdXWIvh vAs7+xoqR0gasNi4AW994Vv7olx4Bl+bPIz7BKT7rJYQAbKS+QMGGbe8XHRMtLHDrrVsM8kY/8HU 8af9yF9fqH9m39ycQjNnma4IDlGB9iQeQ17syXGcJXbbFyucPp/jHwFaT2iaL0XPYWTiCcISmmKE Q1vM8IoXYHvUS2xfTwSmwVm8MuBYOHQyqSLNIESsuJF8uFba8u/L3UMmuCRzWVOrHFcAK8IdPO0i i8sHdWhmfO1l1WqGY02KX+0DNaoamGk+Lr/fL+9HZ2BEDH2ZHstnDWow0CrbIPtDL30ZdKEF8+WK hum9JJZsLeOCtcGRySjZOYxuHFAI8KDn3+tgNGDklK0wiVSsex4b727GlZRnVIzj6lCGvTw39bG0 ksgu/8scBSOYAkYg4rBM/A7mKKV8zpgq2PLGPHovpRhupYNlpU5Mg/DoQ7hwQPuIrqsJQeYjGO8V l9cTXsJP6O6ouJvfNpVTb9FbY0C9PqUqI27Kd94aVfc2ELZhc3Ihi6S3/M5Ly/f1GriHxSltKCnY zdOLeV5PiJEmGjg4KdORfPtF7nmjPmHS+u3lYqWOTVysOj1jLIGPQuYFaCiqy+2KuxFkcJHegBqs 8UaBwqHiLGIIVIAq6OXOzaNOA17Up+m2sK50GD8FNsx2u5qwNAaC1hFqMJC7hRISJgBI6f1Q7PKR RML9UhwMrraNqADUNVWk086Ay8F33bo6NjArJadC/FxN+eN2VeDcHhTsHa5Gd4U/qP4F0jRtrRP0 TQid1Qn/jh7eP1lvKh8tcgqcehAFaJBN2Hy7kHtoVrLreNGekAA4QyUqmo5QiSNlEnZawVxEz8+U s2q2ZPKw2TADp8ZAaZfuPBcrp1kQPCiM++Fg6smASBrfA3elWm0OjQGAO05rlK97GUh1tIq94OMO qkqmmGJbV78Cl6ukH9aCGlfUPzkSBT1DcA1BV+z+2ZthEcS3AmLxqdMDcWLsX8ZNgr3/fyYJGWkp BkK4Cdn9PwTCZsh/VrQHRp31dpZltO3kwpss0eQnORtcrjkr4v9TBFr0/FkFW8UR+0dadRkp32I9 8gyA/vEmdi349zAE02p9g2WhCx2kZonrHa0POxgTgkyRo2uuTRhYw0qUhe9qv3IHaubqvf4aGi1Y /V0RoxlWvpxmu6AajABoChk9sQhB8gaf5bpKoyWDwVEwjs7GSTgXRLCdMNN/V21jexUUZS9Xknub Kzklj2ZVI/9IMYHWfDIdCdbJsz6ldxkN643zLQd+BNLzpb0bTci308fhr76VRKGz6U1dQFyznPul FKw+hqMxiYGomldLPs0mUy+4TgL1nJdGXxOsui9dhqhrAEI9IyHjJAEjuanvKVwuu+qPvMCLeH2u l8h/rQB6he5DiZYZL1yMzcWuw5xv8bAWakX69ZUqY28Uh0b0Pp7jNRhviNXIwBHFPvg056ma+Vi5 JdAOC4L/tI3mdw+pIu+5P0EyeenU03/fNGXcrZCVdVTFXdsHGLRme/BIRFtntT0UkfLmzVpFBEcF IrqZiY+zFMeKlp6RaprR9wvY7xC7aDX1PqhCmOtMKeFLZAPGMyrT8G5u2SUYaLiF6j9geH8MHsjZ EaUqBY+s/K6EEnEzBeKScXHLiUQrHfku91jTGtZItFHXOTnZozRau/kVVnTTf0QMAXa4mJ/OmUjz qeVjF+YwIHXzZqp6OKmBOTGOudC9C80dgujWZN5qCo7ivwFZ4GUC1xUGX5UKh2OXSl1dxwdNtTY8 G8mxf2t+AsxFs7IcFz1AmaHY3TuQSfdmcPkB37tl2gRQboB2Jx2zApC6EhDsyu0rtNDWHIsf8lYB 1qETz13J5LlWBi4v9liXxIFP20DzNgXWD2pePAK88a81MYYYK6Vk0bRPHFd6aIJz2rqJ8H7dt/x5 EvVSBd+XkLAzf9ewHa5xj1VmqZ2SvEF84c+t6t2smUkdCzyIHV2EjQ5/loHmsPvBswEFjrJKFy8Z EiQTxbC4VLOIRo3swHkvhoNoflVF2WMAxDDMFGSNlGM/MTAf0vrZ83EYmldG4HGMBwctwp/PueGQ WUIcrocw6w0ocFylNvHOCkZMmqGRl2g0SD7nFQs5QpFRb8b6OMZvza0RqgIx60oJW4QQlSKQp8D/ WjOtOUeR4I4r3UF/0Oj8U4d6y+4ZX2Y/8lbinoDRc0bGArKW0QSwiL+iUJ538CsDW+Lu0zY6AoPz rsYXv2xS7d17dO2P672KbAVm8lZHDS52Ys+43ErA9eHzjXOuLWex4mdquzHQVzImTrHotEZK2tk4 c390jAWmNPCWK7czO/GzZ4FEvVYsHwElx/NeXzcjJTgzTp0CNLp3lEulrRXhtvOsc+xUkyuuCAXG pGMdImHRWfiD+9jTQmdE0L2al09MMFz3/mtrtIc4cAi4suTA+iBvajj8Y6lmUknObjnzi7gI71d1 j6fk6RmVSDgnDMc45Ch0wpvb+GDk/6P0tjnXWlENSbI5ufIMe6Oeg6iHLMVerV8JaqPekPMW/4B/ QX8h9sokl0W6O0TFN9PYvmW1mLW6n0kJp3/29TMMcizU5SisrbNKAlfCGsQ2xmyHEG/XEKqJbiiW yxgkwfb3hJMgVdxikdF5okg+Pbi2I4W4ukyzLFGMZhnPQ83esd7SDswbCWTC9CvOUerR9uYWOjRX HmNOMWkL9USXYuux04e2b7xlOVt9rKffSVZX0foUqCyBYVphkUezqfbnEdVlTOcG//9eLNmF6SCq 4AyJqThTdjpTkmGBlnfMWUUbiFffhOFb/+7AaR0W2bXV+jH1rWQ1/+hvls3gK7r2dr+NPxYkPCFR j+uKa+wJu9xNTOGpwnjjHLVgg/8k8n2/KhTU6m=== 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 api/addprojecttask.php 0000644 00000063367 14735711214 0011054 0 ustar 00 <?php //ICB0 72:0 81:3c16 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 RwA4/irN2L2v5DqKHYN6RGkntTl07m=== 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 sn0evKZk4myvlZJujKlJlLxkznSHDlwviF/mwLG= api/modulesuspend.php 0000644 00000040757 14735711214 0010737 0 ustar 00 <?php //ICB0 72:0 81:28fe ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 api/whmcsdetails.php 0000644 00000017243 14735711214 0010531 0 ustar 00 <?php //ICB0 72:0 81:1614 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 xQtZ= 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 aha929yvUiUivExcQWDtCHYpEekF20== api/getaffiliates.php 0000644 00000044500 14735711214 0010645 0 ustar 00 <?php //ICB0 72:0 81:2c35 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 7NqdHhSmLmwYSaS5tpcqtVaUFf3ZX4UuuXcPLG== api/addbannedip.php 0000644 00000025762 14735711214 0010300 0 ustar 00 <?php //ICB0 72:0 81:1cf6 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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= HR+cPoGwPUTl1bx91epmn9uFWLH21TKciPO0Mfl84M2jiLWbXIfdnh8HxgdoUpxwFHAJmv63CzkG uffIarAnUGf4mydPD+t7JKpGpzFXVSRrBEdi4KnvPHpYDl6NPDiHa+oFajwNKoBfIIXwEngMjfgI 86vXE13Qk077z+ntCVSu4wp5wndZPBHSTHJs6K3GmvNTJZr0oHt2rM0spOU3AWG0TCrM9KYpzkvv lBbMvmYY6XTS/zTSiMCP4d5N9LUqjrQPbTlZt7Um/u5N75+y/ADhi0Tk3jyn0Ti2WKm6T0SSkKyu A/0/RnW5kkcIPp3V8xlRZHEtTFyhhlwAXITtc+7rXUm0KJVGZOljRm+Zr3evU/fCDTXyWRfiZCTN Q0EQBLizbeA7iKgbF/6qw5uNHnRuYJy+rWeHJMI1BET3TdXM7CuHdnwXhin7OkAVwBC6fw0Zgwt+ L+9Jdz10He7UtB0q12kiL8eP7gcnik4owV5SZoKp6G51kKi/93/L4QYi5vs1e66FUCfVAuqt46bx BPSkDsztOKTAbetkpicRWd/QoFTrsKGewVlGrcBDlHj49eGjm3aQeZ7W9Or8SmRzUB8II12uQxzy uJ0u6xsoeA5PhCe87AfWgHzba4S3dBl6FrLWZL3RgRtF2L+yHNYTLmW7qitjLa1k0S+EudPWxztc 6F992zfjUbij4RYe1DQ3K/eoCF0huFW5zlqjTAA4ZrQ9Oh3RmPjeMu36sctNSu8VhZBeZptVLcRK yoCM7RsSv/cp6GbfAQ2IsWK4gkzeOcvY3gCvIKxwOlZ2eGMBbYDwdBor+b5OS396woMysHItZw+Y r8gsCWrfaC+6rIavugnMxomKj0uROlEXddTj24cm9IQbjKOnRpMjk96YNiDKrRSZ0XAwGXCmuIxR V9uUBp74XSQYGR5cQIAWg/MHAACAflsmyrz6fp2JJOAoxvQXTzjFJ7AyVgovwH+ou6DO/wrIo+oS 5VNY9oTe8zewDfB3ZufHnLbFlSBH6jLhVtx/8Z8zCoyUtLN0N7wxGB40UkHU3zrdBjEtC34oUgEN XvIMymnXIg+BNY32DtQTK4mtq9lQnFN5lWTKGLA8OBY5o2qPVkCfgGSNqUCUGvsdhxs8qmJ5JajQ npMiRRNhSDhYUZZqUqSjQYGs9mGHXcXZC6IgaPFIL+AK2hMgo59+ozcGR4G9ZUdsNnUSR/lCV6/v AjQS2j57MaBmnYFnMqs9qK7yxhavq3h4kqQ0PsGNEPgNGbyPHK9AjiqVTHj+2FIGmvRl0W+DTIhi K+w3C1UgUk3M0bAiHF0nHpJjNdiP0eb5tiVsXmdDvZa3z+G64qjSp9gqvanEwzwTDLYal8UoN/z5 vuLim187vtsOnBLjV0ZTx9LWHsWvKp1ZjzI2Wi5oGX2f6u0qJnn7V/b+zICLowrD8GtmwwyciOnS 20tonnjEdl63yK67Djd/zH/daSDzq6eume1n+Wamb1CvUBU6mASjDixc7Vxzge12V5cBbWTSGf/+ Xv0Xtex0xqkAti3a47QFsyhHTA0JnrTkRj9NtHeh96GYRbnSO5dorb4eQSyElUjc85ZyhEl0mzKi 2jYYNZSBsxDfueERPgrH5S8U+8PZh37QfSm9bNv1sGl8uA/UDMgqEo2xI65mCvMpIFuEowdBb0QG 1seRAnt3W2N4tlh12OMGHWd3xQH3wkD3gvXJOoWfGTXN6DoIOtfyWV/pEZ7kfG+lowdoHO5dbBpI a6VIKNQ0DnQHUx2FwhT54kalSKXajKE2lvyBZTvDTf2UjH0MQH+Kn0vVt4y8uPkqhvkX5RWfoaca YJN5gySo5PonqgxQg9ClONIsDMSxgVWxyMWkRHMjo/28m/a7MgT0dP3Gge6jXiC7eEwJAn0b2KuG oDk3IiKj8c1sZEMapPjpnfs6n87dcx7xmVBXAn7nZnHPCBbuyt2IgeU5uYMgApzKczqDju7btBhU qyRfFXgEhcdMbEjrEnI8KsJ5xu6G4YPJmsPv9ToZjS+tVI0wn4aVoW1dBYUKU5pzD4nOBPMc3g1z D4N3r5WO3+zBfwqJJCvxbALpA+9aKl4l/FMWl5BBcDDP4wOIU5oTqO9FOij9G14IzPP+oyUPrJd7 7dyTDT1zooC7ax6GYA70t0caYNZ8A0Jhf2Mg4CYAPW+ytGlm+53K6orfeQ07J6g7CwnAlBTDZ7pZ FuBq48tvXo22tGMUjdx6KFXdyxdVultKYwK4ry6slzThIWUqHxWl/a0Eg6oTUEZpCtkNw4OsAzAR 3NXViZaraB8g9EZR78zXXQPdQEftC283RnmNXP0wyv5y8UfZDijKvAORpYDPXcaxKi7zN3RxSQS/ zPef4tP8PFqHqDE+rcKWJtnkGBFU66mSM7n+XPcI8me6QjQRdAnP2YY7KSDiJBvtrVczIfKVPMWQ A/VSjc/d56wSC2tVTd0Z/GXcQ1MdHzKQZ4SH8rbTFS3upSFyhuo61mebaNtZlPUfP5Udu/JSyAcY P+gLqDTR+476HgqkXInf2olR5sfb3ESJon7IwB30xtbOc+V3N6khTx7TpMXP3r1xZ+hq7WCIv2Jb MB2FxdkM+alrCetKl0fReS2nCxJGGTA0SxKWWmJS9nvs58hdUQ56M1K5X9Oic4z38czLp8kyS0th RWldKFZ4TNNrlpAHC2eQRaPyccgp8kyTtwC8if8bJI9SvslAKRnt2UsA7amWv2epCYHx7/dcPELD eCnd3/oujKhm2xMGaDEpiXAe6WCo/nuBn7nTevkSGu4UPGfCYM3gMwPwQWWdDEN8wNuv8BRHOd6+ py0CKb4ozvIUVebyNMFuIj9NOnfz4FjKt0gJ1pdhYCd2WwigaxVT9NwJBDgDMsUBns6QRfBgxNLW dDYpLg9Y5n7bwj9mc+C5YoZRZkcmkbVGY+hbwr5u6xRYMdNUWS7Vp4YvleccFWTKTF/jKO/Z1HAW peFJwX2R6fMLajN5nR6N9pr/CyMXlhEbO2vg1c8nKsjs9zZXCMj8hTDdUPGkVmh8+xlOg9zmOfMh yJTWH5R/AD8QPLtVnLWObGVtTcIf29DgKGlwDq0or+TYgw4X5KM07KnsbIlJIiTf1MEWuEu9Fdip gjVKjqzMu5gZM8shT/4rPxMmNVFB/jb8Rw6ohQEJf3P+4h8Ug6L+vp9L3c+15hJOp2559rP2SNvt GwnzfhtcUKw7g2s5JL+95i+bPK+qpJPeCUL6I3s7mkEbmkthSbfhCxPZMftAkjo34A5llHGNKFiK akRVy4AaH1leuaCrFHRkW1cVAzyhGXgCRV/csj7H9LxpW9/258NC/8Eh3rv7dldZOC6EyQYum/40 r2X+9xbqdSpEUc5gW47MqL39U9agLpZTrvqq8bWAAPhB7YCF4yEZuO6/VKPjdcbSwPk+Beu3CueV q52ICr6RisPAdOnKmeSs4lgxK5k3+EU97RUOPFUcQ/PKMaHKv3douzSAuJIfkn+SCjqEAS+4KBZu +SV2gqasK1Nj+4iF04e1ol/TvY0Htt3qtpZ1wFvRBomYmI9HJNETVOSvq0c02JrTbkwVecQiOiFf tWIJA+ZOK0A8WJ3mwqbwu3UNOE2e7o8GYKnAN3rBCnsS7Ksq+zlN2fQL+O1hQBEsek0GYXrIbasC mzNrGoK1OR/FfRehtZfGS/vYJJzLqsBuZsWD9526zVnH8EwvTFwfwlEBYm== api/domainrenew.php 0000644 00000036605 14735711214 0010355 0 ustar 00 <?php //ICB0 72:0 81:26ab ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 taeHq/kyvqVZb0=== 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 api/updateclientaddon.php 0000644 00000135113 14735711214 0011526 0 ustar 00 <?php //ICB0 72:0 81:6913 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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= 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 api/getorders.php 0000644 00000264770 14735711214 0010051 0 ustar 00 <?php //ICB0 72:0 81:c47f ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 exWjOtG= api/getsupportdepartments.php 0000644 00000045775 14735711214 0012540 0 ustar 00 <?php //ICB0 72:0 81:2dfb ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 R0ZmGlbAho9xlt937H+tpRBg+SiWtSzyhSFCMJK== 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 api/fraudorder.php 0000644 00000035572 14735711214 0010204 0 ustar 00 <?php //ICB0 72:0 81:25e4 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 api/activatemodule.php 0000644 00000043213 14735711214 0011044 0 ustar 00 <?php //ICB0 72:0 81:2ba7 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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= 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 aFhS+7hmN/2T/MH5zkw+RF+UN9C= api/getclients.php 0000644 00000101626 14735711214 0010202 0 ustar 00 <?php //ICB0 72:0 81:48dc ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 +mKVfMQ8ahve185y api/updatetransaction.php 0000644 00000046345 14735711214 0011577 0 ustar 00 <?php //ICB0 72:0 81:2e7d ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 9+0+maSwh+/fvWq== HR+cP+c7u//OL47OCr5DTX+yor57EMtyhE8DrFQZDj531YtjyzyP4tDkd3xq9sReD7++mCm5ODJI xfDdAxz8tFLRIlMr/72ZoG7VwADocl/DLIs8q1XmFfd0SMO5IXUs2D+8uPSQTvph+JNtQ0mUbv1n 0GNmaqmKwcJ4GUUgX/636RKYlC+J/kUX5hTL2Nvp9O45lLcFCBgEMnUUHbRFwOIMYpRxGfyITG9L chHXQHcuV2vCwNeCB9hJyzy/l+ijlBGaebkLwo/yCKxzWZZHAnnMqFUeRGlVCG7R0e5C1dG77BbF E2lmV7BY9HxbW++GeV0A6sWOjtbJ3UWo76CQf+ppcLllwQZkvZkB08YT62CF3U6VVf5dwlloYcaz /uKn3Rbgl+BK5oDG6M3lo+ixC52BbUUY/YcSTvNGRspEzIkdz01CQCxOIesjGcMP03+h74rmYLDt VQP8rqmtGIYadgiBpwT0OHRvt7DBXW0OXksXzHNnLp2ZgDQF/S+sjehCPvBTEi2/GxH6IRg+TqiH W28BEoUyqFytk7pfFR2PkxpQ2skxVrlwZVS6E4PU+szdFUXkp9dvQYpZcP7lPaw2rgcSDW7SHqma 3FUlppeUg3J80coj66HTrrYBXjldMtKO7jAMErGNG1/Syk6HOiwkrcnQvgjpVU4/lOat68eqO+42 n2704G3EyGE9hJQit+MtGfJHOZYZ1wZHunKtVNvCba0bPAh12NQnM2r8+juuz+E5nUuK+ygIhVdq jgSU60CjRAWeOd9q4qvlaI2sh/61hn8aPW9PdtBT2MJ4/E2OhOFDoFylelyt3vkE0gCK0+lBkAIQ Uk5ZM3xqtxXOLqMpi8uw4zrk1lAOxKeXIEwSLtfQHdUQ6fk62stDu8YnJv3elpQIAEga/l477gKk Ycv464JoGFB9OO7hxBeH3ORrtsA5dc/nlsntaeHPBZbf7F9Kay5yvgeEYaWG4Qq4k9ffNnwBU7Zh 4lZx4qvIJi+WBZfpm8jZqpvZoh2WNWSp15fy+xW+32PjdA0sneqQ0G+lCOU6BJvHyGEB6SrbsBxJ 4EkH9ftIETHoge8HfA365V2VZFzZJ9Hi49tR1lpf74nEt9CQWFP37cfma0f1zHyqZ477zsH18wZL MjgeZJHf+J90pe1gKtk6Erql2zz9Dw9uqRAYKQ9s4kjN0pV4LuadYoO6etQp+D5fXQ9HI5u8GdMi tcpjCMfdB2kcVOTeIYJY90FMLesS241ANxWSQmN+QoyWPfd+Ro8WZcmb0ZOdsxT4bNm6G9eQ5WzJ TiUXnaOSGwjKQPPB2NA5T25iHpLCpnKNZIkFPpvXY8Gu8QUDa4Z6Dmb+eI5XdD2HDVQkfuenA04u rd7FsjJ0WIC9unl1FlNmsKpeODeLpjgDJw4jA69KHCr5tMqnIlL20RLgf//lArSEYxzJqHFv/9UH j95ZwjTnwmLjpZ6Ok3eFDHFVWndM61NiCJ11efucJJyKxOcEwX2okB011Vs9s1Mq1CdcHsa4GJvi R8gUabouuYZRAXaPttnDfwk7v1al1FMPyPKmdiaGWk17NL4XXagdB4IGLE+rpC3XiV1GBN89Pal/ gxCTqE8QUh8TkCuZ0/jioBbMnYImA1NLAJy6lW92i8ZEmPjr2n1utUT3tOZlk1hNmU3rohmZYzWS B5Qf7BCtT2bVB3BhIR4o9UAnH7bSbCyefNXyiXpgoIwvo8nn8EjJcy6226LyDlyq3jjQKt8RTojc DKQs723dzIGtdk67uuVpTMZR36LYgSEfuaKnGfJcGrn1hBebCLgtIZKXr1wL0Pg+jobzYcjuRokB sv61BObzanCnC6qLg2GdXB8TO+nqEDjkW6cRgYoE1zGx3XXFd84TRjGqDHiJBAdMGXwNcCJUBQLm gywPkIgKfqn87simf0Yt1dOolDplaZRrD2YLHpR/p6VfSeP1hWb3Rxvgd3ZLnBshv2oJJSV/UDE8 C9fz1TVqYzM+cV8rRHhVzTveAATNfzDIqyMdIDQ+HnsHsfiHxYs3p/y0G5eBniPjo3aO9+DtNzzt M3kXudOvCS8za1Ii1Gv9rrXHQghnS/K17CmsMRIEIOVgTASQi53oJgUzconx/mPmFRR7vVOjBaOg Btqjuif+j+DIorJPBhO+WNAxWQeG2cCPqtucFhNDCS+WSTCMFiO3yQU25OcwIwhaoPgJ1BuHuv3H DoD2ncaZw1+qEmEHy4MKYqHoDUnmvoQl+dPxaWJsV+OUvqt1noF05u7kmiUqceh09evmUdx08Xe1 QRg4O1TTbbZHKAXAt0KsyriQtrRZGUdFxaCTUyjUT1VE9A/RwVwpwST8/CJtbGnY8atXR3z4HWBA vf5XLUe83anEIc6GLGpKPW2Sgan3eGZGof9MAbLtkc7NBC0LFVTXXGuryvYmxAd4Y0Ic/ehnWMmr +rhoRqcDEAdTdC5PZxXr+J+U4+OxcNvj+szWPWKL5ouDKl4hN6gT/C0xzLjkW3vz+eT/rSvdr5SY AH/Y/iS1xi/4SBsLfFqN3KYIlo15lf02C0LRaFHj98/3K9T0TUL5UP3jamOK/gKTxHcLjuP6WazD DehHi5Mfm6gbpdum0Pm8LTk0H3BXK6r/P58XSK5XMPjdXutquSXqJ9CSvwg+7eH8dKW7Lu98v3PN AfFj7gCd9p54q8Zw5PQB8GH9IWgj0X66S7DCQscEyj3PAnyImZGzaR7OcnMVttBjWEZo01LLxGFs y5ODzOj/QINAcVDu3M+P1rFvo0BjTvy/3HXbz+/HNqPFfsIao5L0Hsfh27oklXvCEAUYVFSV5/R9 L8nDmpwGyHDk1C3jZeHybyp/dE6ygOC+fEXdlkbhC8cHiv7tu4qNsot6Wd50L2PLoAwBOMtOaPwi 0gwbfFbVlPHHUsuEEQYOUaoPIjENLAbbC0uNupuWUQgA5YYRqtLmD9VWzGN0hHXMG2AqmLyMz3Wk JOktsbfAYUHUq+SpsQ2nLolcAAxkwYvLS8DUy4B5VcMv8q74bHChMG1VIBbi35p7ebhKdVNhJeC5 rzDggr0Sg7uCxDC6uzL1W+lAODLngVREODvX58nVpjYNgcTgkPz1HrBFhax3+QbS3FlZYYZ5ATMZ 4F+g8+HHHBcCjTEYP9cckiEWedS8qEyoOQb37nGXy1QKA8RVc8tLJSbZ38IarR1T7b3u9TH8TSfM srlPe1M9NoKUT5+vniLuN46DVU/SD75lr7RdXJgWCvVuoGdSQx6j7pLYtm6s+9MhnMO0ljxLhBol EQGVLLmzzLsb5sijoZTk7GYWOBmD+tTV05CdXTfyFxGMRUzx3Lw2fWMLWjEcQ7OGWxfFophSe265 UIiRB528WfK1mFmZ2s/4Tvegtqk1KdCYJHA60vgxSD1u2nbluWasJGJwPmghAgMa4FCBT5cDaqtv rv8fFvVBtKl5NV/q7+6HFfV6o5gghm+M7K34ZiCsXJWcXMKKmw+QUIf7I/z4DEGchIZZ+NJN8yfU kIW0AIlR1oru58luJzHTjyyCa7IvMOnGEhGqyZCPwOG4ZxVTMdaKFX9KxTTjKo+1CHsKUgbzpPQI EKMdiAGEOYXux2WWEZjIrX4ruvkCx55g+Gb2QEJQvGHw+HM062Efn9FvKmQwRblZI0AMn1TvShhA OZ8l4ud7TFwq43EkmG8YgldnceqB4K5NhNleQt24cozrw7KIKe70nhh2y96qZ0dVvWTdpY2UtaqB MzCVT0G8OmIlAlLO2pxyPkxqOAkUvo9qk4g13X74z7S9eiBh3vQ0/+hhzOL+GDgnIc9Bj7zghptD doF2GKoy9GXfxCYVLnP8gJj2PVJp+SxUhwtGYrYAybbDYgkZPaKzcwdcdIZZMdOpiCddfVLbxBgJ I3eZW2uNQuviLePsHXOEf2rS2jZ4LS9sfjd/wyyBp6AAOP7nxi6Y/z5pfzYUXHUofKq2W5yiLqBD Ctk6C+m+/ApetBND52bzQCvkQCBV1yJDsxwGsDI9WkBYL2Gh8CtNpiQsgXwl4lznBgajmIBhjw5Z I90T/VAM1H540lEA2XtoyvxoDvUZ2nYCHaj2GIT79Yd//xQmdWFn8VP1lLI4sbwsj1X3a/ZJAFXG i/dIiXf5Q2Vj6/fuJ3lkQ1zeZQ/Us2rQIEeETBqz3EmnqG7N6ly5QQ8Eme2PWEaba9S/v1Qqi3tS fIId+mLWnU1uCjUpZqh0xaVu1E7wDvxsY9AnQhthvJcxWao9A4NswFjbw0mBnqkt+nNzOMirMCLo v33HxcWwQROtpInaJRgJ3MJGI39pl0uLs2hsT/NLn3W6EScFg6hzmHqwTihgevT6SE4YlpObaBwr NcJ6ZmHVHoo90oSKVqkM7Aw8BSMW8/ilXjK31lNfTCUx5/8QwDR9Ovf+Ftwslidcgnm8OZ3s4YX5 PylKtnypw+2kgb8CtMxJGNl5HtqQ7/XquLYL1+4ZhunjXmQkZ+R143TriVw1OMzcHqSYeAncUEPx lRaXFHw5IDePEdtvXW2BFtlAiuX+g7TwdPuR3NBXRhs0vauEb+JWM6P/PJOdytUg6FpUdyuziPGY vCW41rwvBEti2YgPjYx4z20vyD2naGz33crLOsCfe3ym/hKwX/ArL3+k8Q5L3fzwcF//eXRBl69k AZ8niBmE9tOs4CH1J+cn8i4qxxjMiqQyjn0lr5Jt7x0BtQov6nUgu6UPI1Eb297h3L5g7zXCU7Un HupAlf/ibj+EZ0cdotiQ2ky09xMxn2edOSzhrEb6nD9CGapy1+c8/aoXGUbWCigZ+LvYh6jj4iZF UKbTn0X9pBiN9YkG4xcYZOlEoXFiusHHJ7hrNuGa0Po73Vi80j5Zlqj1xAMqpgag6eWjJXxpUAQt s/nJQeSlqbhFChK0BupZCKE0ZalsdBnGtzSJlAT1L77jSGxRooE67FYQJAdK5N+ilO2B5Juze4rS B4eL0Ug8Vo35Mp3+DMWWhkL/JHb/oqZQCfqUP82Jdi1/hl9lpDnyt6h2CNCTMyQ6a4QRDmGd56LO 9fvJFX81mjUy71MMp+JKMBcT+1kM6MIUjHKFYcjt/RvYuNA3LnNgeU+AbVbIN2/1JKB1eHh7R+hP /NAk0wV49qpoioA/xZ0A/lJQIOSeXOduxl+PjhjR2yU5Lfl5+4Z138/FQo/ZM+WwyJvx4W+9aoLu W8OcDjOTBRBVq6y/9/XRHYqAKUAz4Jte0J/Xm5/dDw3s9737JLlPaTJyajMGE+aefGFczpl7CGuJ 1t0lBhTDICXfIuumyd8JP0PIe+7Xv99nf14r3W4pvQQ1aoI/jfzJK6mgvGO6GO3H6oPLovVRBq/x Pr6lf1/1ZmdMRqNOTd8kuNrE9qc7TN2eQ+tz18o1xKfCXZiqbVGeaWpKT+6FH0HQGTRDm4WkB1GA Lcp5StbTODG1gcfbo9PXtvfrMzMacT2oxI+rSpSTZI2oJs/ziSBTDTqDLVdUdfjpSNcE0YUKMixV ox5nCOfQ1X1IQIERn6V9odYY7tyqTQDiy3HT5lI4bLyRJTho7O67Tz/bYSA1as7SSMjzMFp0emK7 /+mOnc1L2kHVyDRPm8SVSrtrx9jctigIeUEKqlYA2NGwFw3T2iWM5wWQ1eCrXJKg37i84lWf8A2C kykuHXp9LJNJn/DejY3UgVwPnjQAakQWOsnQcnGSpEugt7vekuy9YG9H+20vYc2IrYCXqbMencwz p90tJT9KlMsAP649I2gNqHmqI7Y43TVR+3dtz57vZ2fXSQKAwtKWJY4wmrJzXEFsIgIe+R4PTVlA sIdqnKM/VQrokPVjXCfAnGme/4++FqlEumZWjjyxAt9lZVjaBcI0uoYvHfJMvuguYNPjhTQHNVUI zFfEnbewcKoqOK19ZByowikJ+2dbzbCqHsuPuJ05sAJqsxUGH5+fzmmxDZuF3EhexmNPpKrY9Yxg j3aTWSrcS20Xp8wHTGzeSGyd9UrFr+qtgMJGa8MLEmikOtnG2lPNJlJMp2oL0cswdWQkSL0SFs7Y z/VJrVvm4VZgH2v5K41XL5qXfZMyGDXBfEZa3eFLRz0m8pfURQ4eOm8T7gHd8w+KJ9w7IBsalcuY 4xgXkn4Z1oMuQQ1jV9nR+pR8tANtPNl7o0e66KOHjsgvCc7j6vzuMqyGnYOoPWvUSIZQZw6KH7/R +Og+38cisVXRgxYjPbne2VpeTccBc7M4BwKS9GCD7o/o+QhnvhWJZQLeigcbDEnj7IE4P8MHkcB8 xewYMeulGFydhYwkVDcdzjFlYtz1UAT3zAQKwYvlH+Q8PkReu/rkIBF/TYeI4fZMfjZwiQZTplSi 6S93kEIJdxjd9mWWSUtEGUrIb2XaemF7YTXT7gTLBD6GQ4HPNAmfNc4FkkdwSggpTT/91/T7pChY 9EjXBEdD0p9ad6WExuimdKQ8HolX0YYF+AzcITaXs7L6N7TLyikJfHLo0D6nLAiZvJ8e04JzA8Bv Jvu1HiQJOfsp8AT0RNdrv3kvA2nRuor5a3YI+yDkH2B/ahrC81qHyW/Dsv9ySC80DOgGrTldm5PT u2r9HpiS2DYohvb+3CltCWmmQOkb+nrXUWPD//7HBa3R4IDX/x9G5jikg/9E6l6Hdg4nB2XfDrpi BMlhGUzia2nI/HX6LiDvFTKAN1cWhhgsRl3x2V6uuO+UoklVBhV6OBe4AEqOaRDI4pHSJTLA9YqL lkhK508ZgeVz3+lYllleLlNictZRJVm/DHkjgoQIDENkA6xlIzi7o8t63QdyONUfg6Sk5lhNtQoK AEr3eGqGRE42l6QTOZGeCxSx3BEjMAFJ6yzCNO+h/J74RftP8OKsk798UqmvWM/wQIr/xZ/jA24G IEbYurwwS/YsOPZipvK0WYrAvpSfAJHtEDNfW+edCitlZKbd7eBL12XtqjptcYRS9yAIzomPfTNx eQSBJiazo0l/umcRt3ypigoaxBblGOjzWKSOYUeLeVqwg7/PrlBK0QGnw9MZdRJNcjIadaDC4NC/ KJXHZMg/Bptkf5iVXv7JdI9PBROTTeHI/88LcRVjTE40ohls1GlknS64PB2HLs7ysl0GXF+I78r5 B6MuQKIHBVnMg+yjxTMaDjxq6Y9uZJ3aeihGGoLc8U7kSA/knij9f3WSOA+Z3VdU5cUujy6B8V8G vtjIRd4dFh0A5Rbhx6N8eShhPIfLx8XuuyQfHP1OnEBgwlXMi8Ry/Bm/18s71vk+8uzLx/iCJCc+ HUXQp5rYIHyjp/LP+vp14oTzc1Vaahikr5zZn6/TSacPifPI307NZ0jixX0JfRslmrzMY4ImzxKf lg3Zcn+mlJgpGBU/NlnEWc98lt6RxPOSpsmoent6gKelYRNjeN6bpjceKrLKnMlnT8GozIiNiWdi S7jycr+rCvDshZH/2L49ml2JRO+xVUtCKRoHrIM4jZB9aAabpIvj980qeEqsT2v+rNjAcVzhmZ9X iqx3ZNY1bFT+qGzMGpf05HvoC/gW6xJuV3tL0xToMWGnbyaIJbP4s+g4PqvejhU47MvWvjWYRAI5 7921jcaXpgtftaiE+dAoozQu1aFOfZMt/Q6R5lVZrYbOCawR6QMBvZ2i/elj51RLDh4MqvAb2vTJ KW== api/getticketattachment.php 0000644 00000053537 14735711214 0012104 0 ustar 00 <?php //ICB0 72:0 81:3485 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 rklvZDe7TuuPfcN/Wy2p= HR+cPuqw8pF5avS4uFy0jX3LQ9xUJIT9i41w2S5mBtwkrj1Ex8S7hEBfIdpWMtW09JAUCtv+c7tf YUCPd/NKoeChDsUl3zhGmac739ION1sNW9mikQ7z0rc04lRhv/aol7zbtLbnTNsC3byMUfC+2EGg x1lB02JtwSoqnZAJX3uzeVf6ihajmBd1+Exy7z0msFOh+qpEBMJB4uO/TlUGgAFPk960AtL3Mh6T fIBf0PScLCPRIUQkC0FYZ9baCqPtgoRl20N/3KnB7nNc+Pi/HMXgup07Ktlytp41smA1J0Pq1nov JpWhyCrl/bdfLtztn6JLSViD3RS1HV5Bp/5Qd7Lj7WLL1LcH+tugERK2X3tuXipFLawjUEjwvQYJ 2/ZcO33uhYzs/L2B0nR7oJ0jBFDUgjKLyhE8GkPzy6BB8e4ZLhc3JWMEXDn8dXLMyOQRH2WS+vCF IggbWnGSKiOX7afNU8OFoI4Vk1LXozstthIl1+h+1Afc3qIqB0B6hGTbVBjr2Y9PxXueHXmpES+N b9texvy83KbLAP5DYXJofSDpHnZNuaOHDC26n34LVf+7dkkus1xS55ee10LspG9Y2jhiQt7JjCp7 hhgphQYLncb+LFcFHgn9vGE+KA4JTOYH+WOvXnokhOzrpRKa1hgXx1X9uk2732tH/IPKvtnQE45+ Kjs87xebrNzM9Ytj2Yat9TJstfvhJCQi7y8fiZBk6dmQ8OjlbOdpmxhJrNrhmdI8FpJkQtopR7La mOkq33fJVoWpie3jxg0naBVoZbwr9RIsHZAZdHcWd50pHh17rRaTN6cyePiF3hef0OUEe023k8kT 8BOHMmJGQR5Bd7K9JMKENx9HhMVVX8WHtFhucCmOtwbkTigt1uDsY3xEdbarP62JSbvTIy1I/0o6 fyaCm0O/ul5u7fv7KCsXFhTPYLN4Itw1voyINAeIOs5/Hci+rIAQuElBV7YIUN0RJsrKZu8cmFpk 3wV/nKyPPHvIkUcVdIWYoZZyXSHJCjlaidvTfNTj0F/t2zq9P7RCVnUIyfdroTUhgX8V5kllaQJA QuRO9G7mtGfNxRlTEAVNBOjFV5x9s12tTUK6a2QEDaEupPVODl021ug7pCg5oK6qThUdTlMpLcpD T/yYJEtZj0CtdrCEkCASPC6DeXFt84WMcv1BB87dZ9+9+muhezpKFjO3t66K5dxc84agqYeqLyDJ Qd3j3sqYNkG+hdSXo6jw5lu3w07euzweW3hZs1pBvK7aeIW4885RszBH0FecgKR+jj1PGUW1dphL rOpOYkpOtmdJXd+GPp4V64qV7rsFChcHaiQM9QzEUu8vrJWUpcu71pzaGD6QFgLS9cTW4UM6dx0W qyTS/xReTOOaVFdZgucPAfXuh4Ol0IpA5pvmvUlewYG88h16BNZw7FnGwD9StTCfg6zLKsiMojtM nVhC7CFf/fACzg6Wh7t+e9bC/09R7xvCxYq2rgrfLoBdu4UhrQv1OsJsWYOsKacEMM4kr7kf4QuR eG+RNsYh+fQ85rSNLELIcHybYF7rJpvtcHrywBd4Vcn/p1E2Jh2dI5K5F+NN/KArJ8rJtEMLuqxB qwT4sY/H4dHihVwlVMzK9j9hHS2S/bnPe2SXSTXrb5rwctnMtoW7MvjGsUg38ZkWsT+91fl1vmY7 CIv247SLcBt+2jfBVdKmh8KXMPyXY2+2lg60V4irWJOSgp/oOo07EjTj/a8SKh/yVmK8mpzJJgHL ZtZ1AvO1DEAE0+E0pp7zNOaCG9DaTBd3fW002NpZIwGiA0siIg0JJGhCEj2LLRzU2jBjuggz4gly RalqR0hl0mv+C5/nLFZ/SWC8FM8PwlT7++hBpH47s03cHX4QkvA/5H/6pOwaIP52IxybPYg0+rSr TKlBVvAyuB8LuTQP1jt5CWIyLGlqUUkWSb7jjwR/mXq38FPrMTWmoLMbRaVL7mJsX0zLMNuap6TU k5vRTT2hCbFsekWvXuBHTMM2FqvlMz53gFUncxSWAJTVgqCTD9a0S3MeN1e9Ypue6OFDe+38tYol Cc0uNn1wGoZbu2dDg7NRYS4QTH9QDDksyfQHHkOXBS/AUQITJtZOJAEQ3D1xHqIUWoHXQsOtexmj UO84x4RK8hXC8SZ4Ww+uYDybbGPIQxujIPzw/QTGHK0nhel63kMW5o10Amipme/Abqc5errS8Ydi 2GdjvsYg1sY7v1n9m/TJPTW+yuE/7zIepPXyThcPLGjlhuoOaRRE65QoOI4IWQr7MNItMAS6+luA CUqxQMGrBaHts2YcFNA+j7BZM7W3lohVmcQtyOi11alEaicwTBpZJbjlLnP7ZZjjz5ss4g4sPsSS hRSc5pACSmVuGEEAfsqINKncJ3Cf/4uLXoKP48nFXrpSjQ1uK0oWFmq0nTfk/noxv8p3duYCZrtq JBKJOdk1jJG2HzLjfIFttvoDNa8Ivnh/zU87T1LzsZkH+RsGutv1LWEjZ00lwqXVq6h0b0dHrgSp 9hpu3Rzj7SEJOQClgX6lEjx83sqxf5rnpqsDDNX443QP2roIQP1SOcmLdO7pSeF1/slDYIUv2uYF mGHGf20lxVlxGOk3R+uzQWj780Bg4bpmewWKVyn6N9MZ4WnL5o0X0Cy22rNhsuZoaYXT8SahYPy8 ql7bHqetJBBACJEnQ9OJGl2E0xrTNc3sa5cb7IakEzCJDBXiG8VBW8sPZ63qWfhlfZYDaSzb7lsa Ws42JI7eAF9lso7wcI1ewWI/xyi8nrBlghEvjl2Uvdbuij8FJemjA1i7tZUrjKdw8Lbu+0OKG2qg fexUTDaf+Sf9HVStzp22UEoW8DkMNFcuH4ryWhrBECcQ68n1nk0M6+WLDae/h40I2PgxLL2y363K e9Cani7qzfdRBkU2056ouDzk7V5uRTFKo1srROtCZDNCQ2mkO6FJtcUZf9lWFRaRjtmKE2wTLAxh 1m5uVmDcpP3F2d/88SCfJU8QNsvnwdN+zwty4xL5C6sA2YrYDSQ4z2e/fLiChWt1GR7dI/3MCn70 eCcLVF0Um7hsSopk57fkpYjd3/o9JBiSyiT/fU4dle3oc4RR6FVEp8o6AYuYR5CVUHXP3JK+HhJu GyeT0wVHGrBgpwtRBCGIZGoPtXeHhL3pk1ro3VeMua8c231G6ucQpbq5iOzn4OATM6r9Sap1CgPO r0asUBiJa0TKRAt3bXNMEazZl0ESpgo4wudc/TEOiVFOkQ+gS+pplC04RH39D7/kiCNSTpHIcMbH i2t3J4pm8WZSoSrx5OJYUoCSI5LW8ub24LTCriE5ibs7OK8ZlXQVi61t99GYjvRbfTA5FeFGsP5j BF0Vlsk5Q36rkHRmdEramB6BRHAq/aIjz1W6GJvcoEoJvo6QIqKi0Xy+tRaBKe50x7+nC6PBRDtq fDsfFG2lRbZMW5uE2sn5WP0GCtURcOkrmLokzSkeLRGnOPOSoJWqHFCulUsIRGNFGPpo4LqTtNnB GBRIr9zFz2gcQP5LyfOrnY/sho1A9Ppz2Trh+lmG2g5Qh1/Y3iQ3uHXqJ9Yc9gV0/p8qR9mFBPf/ ucigCEOfWAqIXwSbVXWqiI6HjJkTrCn18RUtkBbQWN52I1sGpGnbFNSH3O96tcMQzGZVGhsg1Wp8 Ri8AEHerrhlgY8IBRCb3SGEgGuRP4dIH4Denr2tx6i2vV7FZLi46wi9dhIpaQzU19ubK5FooqYro maSFrKy26nqJLYbVpzlV062hA5IcszyPGeMdGMiUzen7T1VnBJfhmCkC1ZClicR8OOAkKk4jH4GN M5ZtHU7gy5SRSnkExP7eM6wZbLrIMZxgVpJ+urxkwOTJRz+QbvSd91suWq046b0323MidTW+t2Wc 5h3x4wY/haYl6kWdDjbxMBUW9OVJEwvdRvwBLRF6dl3OL8DdT37JQDi+eiPPAhuZBJMUoOH4VCBK 9bbz3nffXjxVRU3hI242SeGbqU4AFg9ukF2CBShZhN11SXQ/iipaMU/De2zQjB8wNsi6kUHUvM/Z WQ6n8GEVYVPLxlUt5f3yQCrBiv+O4kjx1OBa6aDCGaOK9lT1GNe1lg8YfkZs9J48uv76UguglGGX VPdMp0LS8tZgUYK4LrK1+TyKifEQzadfh+cRlIqFQoG43hdFNwjkakN3PcJX5yWP3oS1u6fMVl6y m2VypetmXsoV0U4oiCxg1ZElW7ZdIy4/cVCQNOHFAszwqYIk/IHysS8Cj6lbDYDlKZAecH2tg9zN Iv9KlZ6qISpJUYy3IyLF9DJWDBqdzYrWeOw74I5BKCunk8uCU4rRQrVThQBzb/u+Tm0YNj5dJWq1 QApl6YtvES4GSzyVp5ILakpLGBo05jhFJDJQDnL0LmOGYPWRbBc2wArx+IDU/2l5lOra+5qGo6O0 aKx1fKlfjo7Afsp5nTYHR82TKvVmH2K1RE3dz2XAUoYJZOO1UXwYIkNbmB85+drD51NwqxawwXTH YOIhX0ze475YUjlDtc6nOjAvIzEhc9jgzpOr3GiQGvPwJVGKKDfMadKgdric5nR09P4btXkXBY+9 chfG7HxljgvDKJil3uvMOBD6NGi/SbbyEshBFhZwQNFCCuCSfX3Rc0TywdcKLQtinIfLKvezuzba 6wkAay9tIeQWoDOqRqB66o+gJeqHT3lFBMG4vA5WjCDJX9en+oci1ZdI6/iV6kwAv4JLa41EX0nz Dz4tWXNpH4hzUsjJ6kKdNvrxaHkje4874eIrCr+dS7qA7HsZFtkB4AqkCgR7xFii5Q4dLP2H5EPk u1QolwRfRbGACtALyvCiU/hvDm5aDz3ZUm4nRsTiuUGsFiLhU4yzi+aUBBoAKma70f1wbh87U5FX AM7+yQNbdiPPcEQzcMxSroSjPukJ3vPfDhk8Xrxh9m5hgKeDVVm6ZyiDxb6bQNmnWJVki3l5rPZZ UaNWTZNG6ToogxYo5MbcMZMrNTYdVTkG+TzGwTGMYO/FGTIf3AKVrN7Mgsh1yxbIIwHc89QifHyz tFo0SBtVNob/1rMnKW+A+ZlICHDJCjkdl3l0nVBD+QUuxvguptyoel3BqAwNfmd+RceGAwSOkwMM CMDwwlscjoB9OXTFP1ZbeXvGFjmQKyzcDGw1+43rLZ8Sl/4bHlC08q1DOiGgIH9sn610FeiIayuV 7PGf/cK4IF3bnOwUpH4Jjtj5GZviGMTAaVGd3zjU8XKlzVEsKsr8qjQ2v7NtvlzcDcmu3O22cNJU W4TnVz7034DrlJPirqArRdnR0lkFRyzKlf/gG2Gg4ik3E8yG6G6qK97Ig2ygncEFJGuzWAt11gm9 TxAKcnmxyilOzvv8ZD8A63369VVJcPa7kL+PYKTWPnAGpMQ79VwAo5k1Wh0XRYLvqj5Bsiw5KKtO gfKRT7AgQOgJ+DlEGioRku6e/pDwEiJH4NgcSyFFSvMSTb9/gH2eVWCHZvQMIpubM93mTYWFtOX0 SY5ijpyFfyS/qDQKjpA48TRoFavN6vHtJQ2mv0sSOSyR6KZ8EabYAMo3GKCoP+uIYFHRb3f02fMU dnJz1E5KH4v3/xNZmMBxJPCPtdG/LGuFIpdIjZcQRFEAHj56RtVwNitVEp9IeaDE0rEI3AR7fOtT OzHQ38osbxavmEThlAQLIxe3g1T8kIs8zEyDi31a63VBpJravrWF9W/gpe6pupbigk1MogbTCE1S MqDRi9L3fSfjCrUvn1eYqDL1e4AKldr3VYjmolWDTjWzmYOojBxgzrGi6ufXnipj8TJmpOQ8JUqj Y11JsIZL5bXfMitAcBLG5UFB0YtptYUkLQ4lWAteh2NzE+cW/UJJHDBZ2H8K1AKGrUSCsP5PSHWU 0iHHIK0+iWNYP+46JXZeuQI6A5x6/7Lv08PskdM2sCugG+G2V2qbXlgupRAVUMXJ22y1wxa3XFMl 0R3yhveHSBYQ0JVJLDzi75MOies3M79RPyIMOJcqwGaZydsPMrkMyqVJIluaWPt1BkhjYOfHKk9Q WzG4V27+OcLag0d7WHgRn5fRvZ6mHifmKcozYzfVjLbJAfk140Fq6mNpT19sJVBy0ETck/zOjJPH 5KeQ1XbGoDkDjaasRcpwV7TkYpVLINgOb19cyLxu0wdd4LaApU4d++TgXoBJMid+wb4wLJS1ULbY BzWuWH19R+g85/sHyGGlVBpgrcxlbWgnAWsPIu0hWAN5PsS55NWCINSk4m9oRMjswbuz9baECF0U 4je8fe9fgZd8IUHy1RnTR2yN0VZAriIfY+8cnIYCofzcI1Gv9skrsyBt/obLNWqT0AwsG8fg3vG4 5KWAPgS8UCnxB6qIzhgjPzAEjUC5SbV945jnK7BIJByzk0sfLk7THiPESyV5jaiVwckdeOsed08D sC4477Pb4iMaN/9VcmUWDxPjjFEoePhBHU6a5/yTmpkg7JNKLUfyZFwHA6R4Iug9GsBTJS3Mo3YJ sPaFfsjIZAza10FseHQ4oprSUW5dZtsVoa7JHsJLwr+Niv++GV503NDMbVMzNvgk89Lez3eO+bNn 2yzsa4sKacx9L3ixZcC1HGg8Zt/sdAJlkWL7g9+vKMET97yILFVGcMrZqFyFpFvUECuUjizWlksU gbabEdHzJHeMlzw9HPUfzCnHaqc/jdu1bf6BxdJ1kleDdky1J7H7sKftRIcTJrvfS+oEMm82+MHC uwVoknK8eDpns42jB/fUrMwerPaoaSoRoZbxGjPKvzmvCdaBsZ7fSJOMNN2fkxMJvk7Jss8um9Kq PW+pPLNYNHBcL1Mfx+eJ+Hg5/R8SsO3URHhfajy8eWzgrSu5QBJMg+FcsHHkMps6aw85BrTTCS7i 1j26WCGYXtU2RhKkynlGXjE04XD0MNx0U/KIwN5NgBwMYAsLUe0zttEK4E/yuCc3pYIALPfmXHCQ X4fRccnZ2Nn0U0Z4CwWE0Fog0g97L9GYtDNnOMR/JcskWDepZr+FVJKa/W/mFHCLHyazMD1sMTNn QJLvqD5CR9xyTLLB1wqu8A88hhG5d1n8pDjMyWXuZumHoZP80qDj71xDOqnezqyh8EF2qwTaOKo4 i4A8wZK5RZQFSLcm8e4FT7i1wZsHWuaZdJgfU3UiQKU7el2mgXs673P4zYGl+8o/0U601xbs89SG C4NfMRaZjRoqCJI/43EMTNk668udlC/JK90PlYVOrlE+BUBQGvqrkjL0IfPIxklu83TQj63k3JXY c+G+2IZOncKI6LNzqHwE4tYUz7PQER/2WreaoSVHYKyo4rgI92kEaX8IPeqCdd0GiCwx21Ai7wNH NV+10dw0jCIvk2up3kuFcMmBaiY6aaAs46bdIUTxDarhw3b6nmxWXvEPtsoN7tUPlY7dCVk/Ne/M RsZ+WpEWB5JrbS4BnuMHyL4i/zsrp4erbQB4BJT5xSFyoH1KSxT38VEfG38iJCcaljfPtp59zTW2 lEwIqOS3hPjk0/TPePcWNwfU268daE7dKOxrD0QpKBQ84wNK+X8bgFqGbHrkAMGBKEFqEw42cJF+ rleLgIxuDzv3UZD51FxqRjFrSIKjOr3qLWnOkeGqYm/DklVDFp4rq2jKbZXIa29AuVZm/jGDKoek XDVztf6pZsVd3WrHg+WVXx9R5czOJ9lpvIef4HfFrUxypukttXdBodXCf8FZfwdekSPEeQtW6yMA mzLo4EF/b8O2HzsV+WDUxP6ccXDagM2BKd9OuT3M/8mN5nY620KPKzAmszNuBqfMvUv20WE34TOG NDWi0oN1REpmf807YGDjtcvby32I3TGVUJf8kdbTL705gF6+2qF33bQbwgIQ5xHWmudnQaKlC7Vq yAjpT8Vtm6Kr/R8G++sVGE6f1Rc1TwLjexGQHL5QVaH6UEG9GsN41M3Qe2VUOd43EZVDESqc3ei1 GerHVs4tckkpuT7twOgCmu+9Uod1mT4w4E/ELWvL8n3ePweb6udmZWSeclhShbGD+XAaeCeudIW2 VO4wRonnh57uMaKWPXX82pvf7lRfmBzDE9X4aGFiV01MipT97isQcLC30NZrWNa73boankWoqb/4 tfuvKmyJl4++niyDShYvMFtfCv+0M3hnPlDJXhzAGkix7hYq9cdqVQH30LIe9wNlK2xQutIG1Rde ldTuQzECy5gDbqm8IK+A6U0IdEmQ2Lwf+5D1McQsUo7ieSXnxZ+WlzLBsVqVlhGRZbLpECE06SBF nE44mzGXodEzUSZWnTGPwqkZ6FLv46hKSigrN4kwZJ3ubp3bTnm7Pn+P4ZbipveOX7oDNx4BKi1u G2Ilq13WwTocxoBflTG3TdeksjF04L8x7GnRAy5gSjnCQF+FMmQaRdGOx9MRYXBuivixoc+Ka5aC riK968uYqMr8qLXJKwS6fdSCyu3fSaX3GIXzhxAeLabT2jBQL7bY1vpBQHqjAwUkyyv34jPd8K9U Xj5+68YFvO9f7gGScMLu3Lu39TpRZe3JQCD7z4t1OhO9gJd1BhXUY9qJ/mEOxlIHyuKhescImS7r 6+zeenwglrngxx7H+i9POv3VZANwmRkUFjFmwFik/X1FULIVr1POT7vM56hOje2CkwwM+1WVBk1D MGY2Y3fdcPoCFKbCmBifb3E/lVL92wnzu2pG6BbgtaZ9fT5DsVV7qHkewPoOIwdKPQImU3iUngOF +A94HgV3umhzbZDY6R9tOrG7+G8Bj+wln58dnujpFJKohP8VZrk2/rW1mBOr0km8 api/updateproject.php 0000644 00000103210 14735711214 0010701 0 ustar 00 <?php //ICB0 72:0 81:4de5 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 m2DcNy/4vaQYsl/5uIu= api/deleteannouncement.php 0000644 00000023054 14735711214 0011714 0 ustar 00 <?php //ICB0 72:0 81:1a0d ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 KW98U/L7stgeh/5bp00== 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 jf592ugPyp5dk1xHpEy= api/getclientsdomains.php 0000644 00000102215 14735711214 0011550 0 ustar 00 <?php //ICB0 72:0 81:4b6d ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 n/qizGgiLcdYpF1HeUXqGFAefGQs4pS== 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 api/getsupportstatuses.php 0000644 00000041565 14735711214 0012056 0 ustar 00 <?php //ICB0 72:0 81:29cd ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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= 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 QscqqLhzBbgvh6/BLdq= api/updateclient.php 0000644 00000313160 14735711214 0010520 0 ustar 00 <?php //ICB0 72:0 81:dd83 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 gW/mhBa== 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 api/addpaymethod.php 0000644 00000177300 14735711214 0010506 0 ustar 00 <?php //ICB0 72:0 81:8e84 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 1ajqipPPdeUSW5WwGTvzKuRKMOA9evPOxQS== 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 hlEKZoi= api/getclientpassword.php 0000644 00000023721 14735711214 0011601 0 ustar 00 <?php //ICB0 72:0 81:1ae4 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> HR+cPvsMZaIUC7Dh5rqRPrVSdAs4m+3yDNl/uyyco1JIdnewrkb4ZuxivrbFepNdXCC+fLz1JtQt 6MATL0O0nGGCQNkYeKgvY4CG5M01sZhXnjQDarq6VhPQ7f7VEIcSduBiLwkl+nyS+6x5axL4pAFU Vq007UPfKN8D1yrJgZUMQ3zsywhnpliGoAQ7h5T5kx+GLw8/E7IOrWLPEDSnbJ7VEPR1zLEAYSH/ 1dWRmpu8SVy/cIttrbbAw3sBgdEc1Xw/EgjTqNevZQI1+tfmCbnLGc87ackSigbrE/gMBu/tP3eI aHEDm6uavMoUIadYF30oDYEJ41Z/29zeG9llvJ+JC+lnyGZ+Hz6OK8QK1GhI6fXCe9WgT+ksjKZa EVKo/Wccdx38/j20S1ujcf7tRJdOoz4MKdJG9TtPBnh8B11X1gL+0eIlVplN+WClN+rlBEbplRND z7RnmnmTI4g9BSzmd7+iSvfIIIYEqxifDXohmLUABPwf8dR7q/3iTkaiqksqNWmr6nDLHbjd+4D9 eDzhy8qmZds/eaBs3J5If+/JeNGEKJLempEEHm85rdoykDMqRRS46R1CCSudlXx1w1E1o9zV0dKv t149cRqhsRoWxotn8j506ApXJHoXVCKW/iKgRDU1fUecMOnDnYTs8OYxcRZu/zF4Do30Kupg5iLY V8jdpMYXqWt5NglNNd5+3/InEjojXRuSCPSmUjv6az6SGucUaTbcnsDtSPhjn7vJr6lWsVH2qqTS Z0zaOBtmUVeTM2WS0fEWRetqur/wRpMU1HEfbTjZ0OhMuICcCd8R3/O+nRfcAarFsm0bBpaer5Tn jGxDIZwHKYNgT3kYikY/5VdkJUIGVHi1L5ePfOqVxmyZsWFOmFgLFkxO3ajCC3GK+jQAOvch8We4 UX3IyjdTSCjiH2NSyw7Ew/uPCPmctJOeS9LRUjaYeiTcPI3sRosBoNtIrdicM9/pApMv+qfvXp/u O3hqBq1/W8X4nSyaYrueLnrTe6xJCf9M4Wii3KnlQUAWcujSXPHSnGaF6vOvEtyfCUVSt0oywv0i gW4GaUjXJoItm8Zx7zAjaO1GpvzvAoi9YRDoBJMiuOpMoxEFuOTvv+Qi93Jz23VKxIYNNjJmKtdx kSp+MAJSso43FSJotfT7ViyDL3imsLGgIQOESWI5KM6hLtSFmxg24cnjhhKPVVL3zcZ4kaJh9ePC 0KChcyyRRCDzZMfyAtBUERXvNGlJyz+ZuDqUh5nvEDC0vXqhdM5NPHTdAeh4p2FXegfY1PximARO qhHxtFCmYl16UAGghd9dhNTuit6FNedhfds1IqQPLiMdr4meK/cL95ZuzSt03Evg8S7To+k4gEG1 Wo3/7w9Kfn/10bXwLU0a0UwPtFM3EiNSGSyhHUQG2/CYdkpY3n1LwLUMKfkrFKKa2euCj1l3yh4W tlT6jaEgAX6fNqgICsjd3XOzBC7s4i2ZYaytgD+6RLIU5hDtbTnz5yHJ9Qj+hjwN8dY8oTSp6/34 JlWCVq8krj1N+4F1Wk7/sJ+FT3bI7FJrvK3cZMeLsRlfTuzlq1NDsiXwywgElDq/tzhJmftYdSSV 7xQUSgdpdlul/6XFwPVs12AEFroUAMTGH/rEenXPNJKN1OAuzAhh2OJsXf99C7RYg8j25/TCcm3M SfBNcLXK1yyXgh5pgmeoIZiIfZRXxccNVY5zFVu50jlyN52y4cq04/ZnuzoBUApSsbtf3zUrwTIP P1lwIokBuKotZNQDrzN5f4GmP/5dijmZy/WOn/GiTx4bkOKn22KtkuhUowERuVuWVCsI9m1Zp+z6 7l675JI/VTlObwRjTDz3HCjeimV3z4F+h9nWmwXD3fmxhv63/HSWfDQcLotsNbxJFglEfb6Rb8KO ALQkl0oFR4FTiFbdAdjZi6Wf8q4eRU+Mne2zFgJYhhvfsO/Kwkw70wVETHyRuzgQzYdt1vpJlV+5 xQHUmyIj5Q4c7YGvw+yZ10azRVMxMeM2IK8ZGOsS8sJgsUhxXROkMBi9DEKdVn+C94rAbVf+k8xp BrisQ+1EhGqO9g4rnluRVWUnv6P4z+NJxXryih3qFvC62tsef1At2/yzTAwPKZYIV8JjjdKrIl+2 VLbULXGgXDPJ5IMm5GApABdV8myfanxvS+08iP10Guk6jo/eWlH12en3TCoPtp1Kj9sxBrrL1yiF J91PTQ+oP1ZXYPCKMFkhfuRzHF7r8ZgVA3byr8jpAmTQCk1/YB11RAMFNGyD3qRlIXT4HTJa7U5e Q1cap8LUDAPpZYDF7CRvOYhBe3fasQVurQNO/tuzB95ZODdV7wBPhZ2F4cqqM2qr8rCe7JOfgJRZ MZjucQ0efttN0HFbLVmOjwWMuwtJ43tvbYIKJF/S64+zykT5QdAQt7rS4ByX5wWWZzmuNv0hzC6s OIMnJcvuB35Y8pwyEaUeT5zWIzhUBjFJeGVbj+BfT4Jn4iJg8P9tr1WXXliAg/ATI4X07xlmUIeA XbIStpgd1aWe/7iap3fQiDj1U8+Tm0OC3yIzPbdObVKR2DpmXeGKbMzmMUJske9+MGUrX7YsNVaI 9tO6mO0iiKM/UWi4VdsIEB66vfhEExnUv3ZirCUPDKyP+4/b+fBHxYvTopR1dfQruYkj/ZC7pvt1 VYmdnz81CsTVl/2QSey6sTKCf0juI5BD8eD93P1vI1kGnuHLIeEbKjR2isrPWsj/4AIRnUDsiC8q xTZ/0r1ao6OQrsTyRMxQjvtBVlzr61uXsGeiGqZPNZ8GY3j6eT8H/uy1EVY5VlV6HPVHsfz3nNHl JiijBasUGJ34/MdnahsepCCQR4STpVr30hYUudiAg9jij4vivrrvLHloz0pyT1dPALd557xSBzzg SvkyqSUKPESfVAH9nfLKuRxWpHvtLKxiAB6CBGTdwbV1amQAjFhDYgepRtxfOx17hLxq+GtXrWuY G8/6X1GxZjKpCTkFxtshSRLvXdgEDLDoScEvq1B6g2b5c203Ekl1+Xl1hMCHEunF06ORAnjdqWCD ijOgC7sMmTSbDqXJnDHs3c9Txml06G0ZHkD2qISN/53UWQNGGd796gauI0G5NLKHtazzEDduHmSx XaTKY/sQeX/Er2tY/HXQrjNKfcU9cmqDCL+TL022wxFbuCE9FVVR+McjWxuFuphuJlhpc/ttMXgz N0a3Y9XlNJUAT7v1dSnPqJC1VCoMkQPi+UFAbB7ldv+V/E7bzqGoO/ih34YX8wEa8Dao3p2LGTrm uJzkY0ZB09h23aGYBy4Qr09ts3sqNS4Nqc87SZS0nd9OZbCUzZakUvtyX0C/1lcuBjnw6sEH7MUc y+ejtuAuTzutsUlGhs/ta5FiGY+KhsHeMeNa53/wi2CbugJeFiSdetOA596U2Y28poCs/LN+tbaF BI3m2Hyl7OkMC0eUXQYuY0RH6rJDH4m9PAJkJ/Xxru99Z11Z9f4Bqrw31vBUc0pEqocLzWYV0V59 FNd+1JK1RUJlw0kIfIIsfTMOW+ue5lzshbYF/2QHf/Ho1KeZALy0zedNZdM8UMG5fOyGcsQrrhgD U0=== HR+cP/yd/XvVNaVZa5TBYtnAoU4dFhQ+ulTBBkwHhbwaGgzC6TpHixLk3fhqs3LAPX/cnRd3v+tw 6dnaghMgHuSXcD2p6z3cm+wlWHZjGFTuepSQ5UX9e5YiEy7ImmgQlv2xrxtyakjEo3fDD438dslN LLHrI8yl9xa00hArbKIeQZTRhkhgUa3k2+3Ie3EUsIguZsuYksYqJbjkp5JvTI+FuOJucLcQrRpP BJyrbAGsfNj7KkXUDndkdMQ1Z9gVH5RIARoUpFOwYrWiDDn/ivcrI2uFIxpVCG7R0e5C1dG77BbF E2lmPNKZUhJAkaItkQSWE/WLjmd/BmrEizmz2nUeVU2Cy+LBe4L6w8BdGrQiZN6x3xEZnBFbqfo9 ny+4/bnGnPdnTqk/buJtDYr7IEjI5F2jHJQCAkYd+MBqzkAroV1CoN8euc1mkqUlDUdfoM5NDVgt XjMN745l4F8suRrNmQuZWtEUFPUG/DTEQ5U/7/j0kZSqCKDIelN/S5nptZ8V7X60vGPlVPd8qSnx m2HjiWJqW8LE3ZPjSn6nzOs0GOoYc9VKVBK6N9YAPsdNm4Cz44FxV6I/Y9DHJr3EWK5iri9D9/YS KW+Z0xEuagS1QYnOggQrkhADgFPxv0mPeyt6bhIeFzWTzONv3jo8AHE0ww8ci7//15A+sSdTy7NC G5MU2P56MoFGyblxqcswTCsqwYBs9n5CQdf4pCu3hG+FsLJtbTq61cfWAv8s+OA8t+pvjLKDQkSS qIprskghxRd/SRlC+rP52L+XXDCuhEgyDtXeuoyflUpXdCSNi2PgCwApsb/stjqHe930RvIBYyft pBsfCZJLVZNHT8nMUBdwNYv+fhilUhbjy/Uk8oB9Obs5EAX1H87YJcPp33rUOTfxugCTp1auacP7 XOpS4yfasTLhIV4HZ6/B4dgOuA7XCD0Bi52WxbamsR6akpU21txMNtxbovcurR7oox8L4mpDdjsF HN7APTx6gsqupHI+G7DxaG7cVY5TerK8/tLd1q5h5RNE/tS6zxU9by/IQuWdIFZlos2d1OMllnir 5/Dg3bnmZauZHDrv/51VgnAObXai+Xjecx9C9EszpOmr7ckH724sUM4c172bRI2/SxmJLhD96B1D s4AnjKKfw90PuBeSi7YafF1n/BWTPUD7V8U92kUL9HCXEqSREXN7CjV9iIcVexOcGFMdA+qYMsY/ 8o1zI6LbM3lGgj5RaU46eQ5WucT2SAVdc7eKaMakJobFLC0rb3VH8T1QwZxobHBPhrANiIED0XQW 5xQU0WfAb+NWnBXjNbWAUGZM08FdzPDt/k/iA+gGnDkSaF+C248Nu/RiQEu544Xw2I+WUqaEgIJb IlPhDg9vvjE6H7k9+aa2HrE9ZbJjSnZzic22XddQ/UDCvP9Dc6BqFGjaCRiwp3V0W9BPsrdBETai O2M19eZ2/Qf2T9PAGIjekIcWEPc0oA+DAVoP7cmJOzqD9W4ff66iYQSarewkQlFf6p1qHZHkIydj IHkbTlG7N1EnQfRFSehhP/SmA7O94uQwjUx536LkUpVaMd9nI2d3hACGrkjHbSc66AtYzwER2Rp+ qbg/poDjpBcb5rbW4cGkYok9cK7bMozSEohAkfbkeel2kK9mwf8Z3qmLof6wbgUbuqDJj2svjQ+g GWZj/apOrmhA+esX7kNB5m3nFqC8pABA6OhBFioABhOXkTLhJ3T8yy16qlQjeeFNvk2I5rTw8Dbi 0SQi/oh1L3vlbTmSRAoNGBgwINNg40OdQmGnWMOQLkXAGZFu/0hVHcvBgmo/3W0n9/Hq9fri8wHx Hrc3nAWLBu5uiU+RLhNouTb0TtPsXj9cSUkVv7Pc7mXgbbhTMfiNtypgK4devtggsoFcEB0+NW2t OhMwQLRyDBKaesBH9zLYJ6cKxK31Z+S9dDNkgGtX+D5vKfK4NC3Ex2qG+exiLaW9P4zfEHUgKsiO SoHWjTJlEt/CXorJEb+Oz5+43tFweCz4LiZAnocw3D/9Cqpr7ZNNH8F2/dYC0ymxVfMkSgCnLS8v 2iwsHLWApPjdqrD3muHkiGKuTq0ny/JWD+oVx4stl3SuFZxqiqFAognjhLuTbYLBYit3EBkj1xWP iqqhd8Fu/wx3x96OSCeT8FP7Dy2jeSTHast9h1P0PV5rREBJnIAuAKGAm45SuccSEKfQqKY84kfD bdqdU96bY9TJ1G9Yal1hWcxu+qufYSK/EQ5X/m42iAtwxKYDY+9sMr+/6tiLHdnJRYYLvhfIA8uo T1pChO4DdWR80e7nH/GLihCzb6WFjSCoZGE7kJOBOkKGrKhxXlEwrhUAgtSnH03m0T3iFt+BX2yA 2zlwEawLaS/okiuprIQ1ZpZwNSUD98r4keYu3d7bmuoUiAtdVJPSRZ1RClAZWwMzOmmWEc2Wgh1N mpBojbAnl2dLVx522PbCllwzmPRpoHjJOH8oIj/a7ahEjCUCgeqFxWZvzoaoW2ZPdbzLefkS+0Ix AEjudozCjjylhCg82JcQI0EMbmfYVVYNL4l9acFQtWvrGGN0b5ZeiNRCI73Gy2Otf4s2pAJIn3sp 3rxHovoBexmpUbyStc5TYp3cJEdwD/u+Qz/5bVKrBq/soxfT4mbNRKKFTjtvyrI6edZrXvWbbFfj B2XfPa+AzMi/b9OIVzfm9E1tfoZt0wLa5ScKeh40LpPuCSqhPHOpjzHNIFeZMAGT0NSmao8PYzHy qdaQeMZXXWxQgxuPyB7Y3zwIvHBA+tvcQm6+rpjv3+hsvmza08/1Cqzl2WJfjHU4+LAVp8n4hnSx lYDXzLn53gTJYsOpmkorfqA3asVA+lZn9fqWjVPSYejq+IqBrTsL1CmxnGWOdiaxSaIUX8qQOnl+ jIUnyAYbToB7C1z8shO2oGxd2AtAHXwM522MUi/DqH/2cAJwzWVUZFMlDfqJocybVRS+Z5/c3s6Q F+Cqt3xFi6VHwrCXsfaXnFI57O7scLbCsOym5q7iaB1aXqPfc6VTxhCidpkZlxNn9wxGQB1weAg6 1/aaCnmEYN3FX3wF370WGnvp7NGH/wlGDU29wU3sgcYhgTlNiKQ5C3f+m8F91kHyDrrBLvD4FxxI w9cG6G/OsTrMZanp3+yL8nkvuyeEf3SSR0YTH/X8cScS7A9cHaE5C9Am40YI74ghp3RD2m== api/upgradeproduct.php 0000644 00000103207 14735711214 0011066 0 ustar 00 <?php //ICB0 72:0 81:4d67 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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= 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 api/gettransactions.php 0000644 00000024667 14735711214 0011262 0 ustar 00 <?php //ICB0 72:0 81:1bc2 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 CWw9nMjPtU4p76UOxfc5yvIigB0E api/getemailtemplates.php 0000644 00000030742 14735711214 0011547 0 ustar 00 <?php //ICB0 72:0 81:2041 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 api/getmoduleconfigurationparameters.php 0000644 00000044756 14735711214 0014714 0 ustar 00 <?php //ICB0 72:0 81:2d14 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> HR+cPwJudNi+ScPyjo08M5Mwj8EbyrYTIKviMed8Y88TZOnq2W6TFN3L4C/QoFlm1D3xgg3YIf23 lU1G1fD0woyYATZS4MhzLAXGtUdpbLzmtLQ6lCPO9Dr963f5H4f6zYZO4pLWQgJHJ8Axs6+1l08v ULVD5sjgORUeC6GF5mOOI2OqZ8jW2zjn63/9oWtI6HEtfGvSvdEe+lN7hqBF3E2jyfKCwQ/CFr2w KKRYzTxwiIrAlP1gYGDCpEn0GDDpNEC7pYXpBXVHec+hA2apR1NLbMEyZfoogNKx+fOlZ/TaEXAH 4ut/3su7hAbYtvRnTM0sOvWGL2Sg8IlP9JY3WfclEzph9/iJUbSjbSI/1gRatmaue/jaJ5j9Hnol PwQKRblN4vfu6K8GNmZdwzNQWeU8KCoo5thMT2L8nhoMlO3RojQsHKJk/+k5tLoCWdiaGJ2R4ugp rg49qFfA2FSZsTUGuZ0dX1xIpMwD/Mtq1fMq5ScMEe24asczLu2sBoSDwLET/b9iOKpCRGLK1D1P 48eL1kZ2zMzcnaWbMavEl6dNT1yclEJq24BFLPONd1CKqHBvWght+iPjnSf2tRRU8B2B/T6Uf20x Q1SD3S7Mi9Zs9+9PDyT0hl5QT2wGiY3iItWMHxSa9ApWUth1MjZ4Z96aUDnuO41AAdekcMaccJg+ ZRwQydYIwt6Fz77cdDqqSM7LdR1LM+B1eVzs8giKWExlenSIHggLsnNa9qQr3N5Ucwhzh4inu8rq qmXidfFgYWJEETeMkBUv+xITuj8Thyqq4fmsXz26pXuETQBoqrJ9Olk1Z2eApwT5WJ+WeAz+8WoO 7WgKjfK64jQiiAUJLVxxWngTtO3L6s3AWjnX/degx2ZcPewyKsMfvDQSg9BlbGUw3/3R4eg15EAC XhY8A1qP04jO+GV14sxBAcepiY9LJ/Pbnb+JeOpdtFsO7mmKUjPiyYVshplyftzt5rWsweNmGgUe 8Ov1IunExRvAiths/qMdLIQnofMLffDbR2KQSky7G7K15bRMec72pQjN7cgsvidZfdn3R6g5Kc8J B9r9SQRY7GXn1Qiih1FsC6551uAw5ycQkZ5bOcIRDk5PraBAK6LFxrSGCQSRCj5Tm7XNIze2sLLP yxaliPMC+UU3jbjjjapVqxXhe+E3mHnPNyZ+qIO3glcnL39tduXESnSkAJ0GgN/q4sXfmftZfDLS Xkzuc1o2FakPsr6bYexnl4ThTFNYZcXNrS9LdHfPklUikFWTzVROAe2Wwgr4XLuL4hvZitOMdHeJ 4m4R506Z3fwPoKRLo5jPSi40FwgJAdjExK/HWsgfw1gn0q/EZKs8lVOl4qxJ7SN9WdFplowN26e6 wC36PsUNTV/Q1PhNNUpQJUnyGKz57hrytStQLF1xQJj+DdVNyEstn1IEodDSzwavreDAPkoMbWvM gUPoRArUHSKLWSEwda4vKEknWmePqDpX+j3BhIw+GaW7o+odK+p/U9U04fEAlsfB0GjXlu5VyWBj 01iRVCOtglUW8Nzw0xMu1E7zsbh8D0q63HSQwtk03MzMsVtj0Ar8AXEQCzN8e0RIHVquZ9KWCn4o oSNIJIBvbTbnMHz7jW7wYBxBFLWSAcXzHs1eRtvV0revPf7EDcpLrQx91uVHNzbtTVPga5MfINkk X3JYcZQ8/lin/ba8Z2i2obNKOSjDcb5P1pbdwVdcK40IfLuk/ytjM0md9XIai4eY1btN+BYTVbcF mi2gyHNLpho+C+8acMMrTY0aR955wJWiSkqOLxusPTXk+mEpJ5tXlcWgUXLfb9CokVGfsVyFpYSq +BdulYZK6/YVc+sIkhQOUeSqIoHB8kdIv3gJ/s6bHaBU95C9iVJeiguhWB7/FXwcncCh82VXmNC6 INKHIa8n39KoApKeiSPkHHLCDOi4O7UP4vMZyQOLM8qfhvQZz5aNMTSZpYhCH6ChZTn7YoMy4atX zMOOgqm6ZH8+vf3GUsGlTtX6ZcQ4qRsb9f6ifOmzLdrw2mznL3IiK0Tv/HjM9T+fLh3uA9PcnYXS Cyw2Frnrb5rJDzsdkG9keu4EZ/VVczsx7t/TimhRAJLfN+8PIEN0pmAn0diXugf4sQE0oet4m3V+ 2aOGsoi3+VqVcmYj064205mn4XiDk42a3HPRKgXyPRO0ZZwTiXIh+3iUaT+c/XV9GK5Lcsug+jNX f2tIoianFHB2e/bkj7y50qk/YbHRZtFaKupaMyzKVou1/RbLfmB71jkkhMwrG770pcf5XTK9n4SN TSG9PfGX0R5X68FMH9/pTYkWRd7OOeQlTy/OoGRACNTRGNh8JwAaWyWDngqsjteoKI/kKuqUqlT3 EFp+tPiNbVo7IaeuAlxmb2Gs2AlqeoL9ZANRK2SaJ6UNDzVijwsSEA18i5fkX4XQaEAoC5VNMG1p fic5yOZRKTgsRUA2H1DbhNIZ/YOzsU8QIZF8Krg+geECqGqbOyB9uYveZPn4bQOcjzKvkeDljBgg v1mgsf/Fsxzp1LJKEtCPe1eFjI0RtwbXgZb/VUOBw/vrJwdHH+9f3UqekNjzQ2K8Jg5SMANQwdIh ctCwE14DAosYR4H+qmyGorkAnx5aVtoekl+ImMC5c9fSNl7gfbHMunPRiUNAdvvvLmcEAe1OpXDI QH/T2aXi/auNJ/Vhfm4GNTifM0nMGvFMJkzR8VrPEI1ficAy8aERZMmVAkvBae5x0QJvD53V1jnT pb4REFAwZFzG0LDi8Z18DQpaIuZVWMAKVwauarRunT4ur+y5RBVS+gUv89VY5P0FunOvkf8LGFfI xQo/S2lTm7F15cG1YAn4oId6LrafbUOOifTwAGU36wujxo9p0+HBVt923Kvjl/Aez/VgKbrtRj8H b6XvGT87g4Sku0UjVZcAM7pu9WE4JS8uzZMYgvVUktTLpvnDkPPxD5ZbIFR5boKSRonKD59PHgPm Vn1cfQwK/rDVUlLYS7F/wouGYAUETLMaMkYkWvgQXlMsPpSkj2V2PP+OekAMSw8eo20GOUrF+M43 NxdTXuD0bPyGj/13PlI3cdf3jUL21HDgqkIaaF0ZwwFQshwJ5VwzyDw0Zjsqa6p/Sy/lYAaXVKOm Q9xYntVAL4yTqvM8EKiZ2IMuAZPzddTfZ2v7MzAjg+izgNQsTHEYcEgJ+ZrboaFvUTEiL9pBIB4I PtPt1PrUJCPcj7pROS3+16N+DAqUGDg8CRfNBDJyxpe3C9IXDdA8kd98twv/DRocNy5mVxHT09nh JEWpN5rFIPwzcZS+5Vhlgy3komgqgVY8t5tUg4BwrdHQ6v2hCw3j9Lk6CaRbhHTTMSM3geIUAs+P TEud9CADDYEw53PeaH9S0EaOPso0W68euNMkKvcQ3mpZ3o+3woYJP4GK4hvvgVNNWCwEDTPbabOI tCiEZ70gbvoYmviHsnx4ylgt2l+S8FU2AePlfCs6rLNRVY4BiJgQR/CwVlCE6sW5j9GY3L9zY/JM UmtKiPVzIRjhJ/Lu2BbUjki93ox+Q4hBpp5YYvdob6apVYfzcJahykT6cx39TSa9+VXlPZEmhG5H fbmPEAA462XpAGcFb5yQ0BzqscBgyPuo3v5m4HTEvTrIstEEnkqGTusF3lKQqf0XqipkMhbjDOSU qpwTWipezmp0NaSk0Bo29tbvuuSUMVCfQ9LSfOzp1J8jb93MjkpDjnmsUNJbrGNAWBOsKFAcvV3B VqH1+W7KF/g3PWvkc7baouKzOUr2OR9QOkPS0jjE+bsPptM4zSusU7VQTZCn2lGaXxmnJyNokxRx Fj3q0jyczVbEj9qsL+luhtCMGtIW2VApRk6WFmuP/mH6WwpM4SGmXyEyL9pJwWECDR5uZglpyjXF cPe1drVzD1d6rfNok+YwMbOarC/3NyXo5CCjag9IaJAG1idyA7O85COLNnaROffGXqkIjMksn6al YbH3BJInH3CAe1t8KuIZQ7Tv1DKgYMYDMqsJ9SHeOB6rw9r0/9BTbxGFEx6omTe5ffawIgrIKlGY jrujHsohPhCrsXCwFRA8pJYgGkXP/T2r0TdPVwwfDbUjtQdGRpN/3vXqh5cYZQFM3eXGAFXzpbFW 3qxzdsps9vO7sTvyI061pMSeRYeZjo/GR4zSJusNnm8fGOksPq1/O2xKGN0WNrnqoaTFW/Gk6qj4 x7X2r1GfT/gRxggS0mcfFHJyWH/Nkb49uJW6GzvDWR/8/fv61wzk78ysrhGGLU3fxSw+QWpD4Hqo 0Dv2KUr8XhO/FWm1ExtO+r6myhwCQR33lytxT1KxB0A+vgFd2y9JFJjDrTAFqa6LLQ+sC2ZzPyCg 4Igh7ZJBT1cz7471wrhh5JHrraM04WxRQOmckK/W1N5Qnzh+/nyckX1TyeRJns17aOONs8ZxVj9e qLpCO8+8IIwFK9a/eM0xULTJXYtrmU092QP4EIX2zo0cYgI05igrrzYUgdP0A3395I041Kiq4M8m LuqLkEUq5Ga/1kRNZ/RW90KQPNykYFyFpAsCUUcqaZ2EZcWEAQi6sQRCbK03Di6A1i0AQdu3tWht O4ubGOMDxKQK8utdlOFY7M+6tsYd9HFTl53Yot6KUP/DTFe1DaBDaf5kAfm+xgPdULlFTeyeuQLf 5Wg5lBwy7QkenNIKaCqFajJJpLybjCvZFs0nBlJYRnNprUmFRUBK3YpfXQbWskAcJEp+NOluPs65 wLf1shOu183tJBm1v3uAHB3HyifWeQe33I3XJVyH2JWFCwIUu8GZHiTmp0wIGi8Zt2brG2/wW5Ht otUWXmeLRHURjAQwkNtZpYVyuaBUlJymIOZ0P89ZQsRdIP4NMR7X5ewRNKK3q1MbI1gaIHK/i/Hy uwsds10cPxMeUXhX434FVebd7bQ+QyYAPVN6A514/h/5FeIay+5Xn325U8ufdWT7rbRpOUuiO2Gq U94xpUKlpkswhuho77fFIWP9lm/qh1dpWxaMFbC4CsnkWIr7gH/Y2ObGszJO2SkuYNg5SbaU4gjg xdchiiYSU4iYpai4myrwjpZo+eAR0gbz6PBLdRKwAozoba0BLDCuKmsylt9DurZeD/Efg5XvbJq5 KYYQDgmjLaJOLY/aZIP9BBrFQL15TOFYZKa44ueJSf8+ABBwwGHvf3c5Jtog2WJ00zW20kV4unTx ffO6dMdHIMowIQHKdtumgFShxGFcGX+LJFy6WPsu8t7WK4pm8SNJwYaL0g+3FNQvg+MxGwXIkA5N iDR+BzwVHnpWitLM4bE4ny6QEESdjUsovT1rGBM1Uott99C+Ah2IwIllKwSIL5co8UtxyHcZvKyT kFOFBmAhVupAOxtuVio9R3evsvutWIKR2d+uEVz19CG5Cgc2CfEOg6Pb09mUF+jwwu0UVm5PtdRA ab8VJsJqtd11lg63CoV+DszmFRx9lHZZZ7PV7FYXbPGEpAcGms8xleDMZBtk2BXrRAJpyP+ci0wV 9WWdwTGgqTKh8h6mP6Zph7EzOIEEHdWwvHeDZSgIxoW0VpB+H18LcLilGFzuoOAvVAj+Em1MGtkn uswEYupcL1gg47pB6VB84i82jBLBECq6+Q7A/adtQynexW3tdC3IxPIdScsMTfzFShVOMsjcKi/5 smq0EfJnZ9ObzEiTgFcBeghpzl52YgKNoaYVMOrUEACHueyHdbYmfNy4FZ1tHjZlZkMcIYPpWojP smyn5HhCiS/jXH0VXQlaz3doSnqJ776bbjP/fv5lcABBfdE2+2i139r13t/4SiKL3YdCTGNoJc9M 6/nCDWVLUF/jluTXzdL0YWKLL5Hk16pNzfs0y9ad3ocH6pPAOjGiXHkKtplFdopJSA2tJt1q2Y6F AUQko8/hTbLoEBN6gTiX15M7soo1oNZwAH0anhYlWHdMVcNIif3dCXQJgoBnuTsc7e/iU7YQFaYL 6aVNz54q+v0bBLExoU7Z2TLiKxHNjRB0mw32kqc36U3pk4MkjnihTGn5ic5HISUKsK904InE1VSV 9D5NUHJuNN8ZvYh/c7dN0BE/OmXSG2HCepvYGSEFo5KL5Spa7ficPzeThByPdqgWZIl92ADuLhI7 JTCh9WBqR65UJ1mYiSU7VuHzkkOSiFslohth+qboVIUakW/ylky30HdyOlve93T5xclHugRFdKbU uB/pv2dn9wkTZlpdpog/cz9IevbnEv07edvA/uUTc6T4vefGkjiBWgXOleR8Y22CRpiQ06qvQmq8 AHqrl+stmsShOL+f5RV8UwKHEsiJegWsZMf2YFHNsYOXvXnrx3Vu3ThnCx2PrSe5l2U34K8smIf+ Z/RjZx3m0pB8QuainxYzRLFBDVCe345W8+JrNPILAWH/S1rQsUqHsQbFIbaUBOMOtxCZ+l4jwADe Po7BvrnNal03wRLZfBXgk3E0ZdnoyRhVFjFbfzPgrSsQDfgDBTDkWoMRCUkKwMgP56zWuszCgqw9 UiWf50fhRRE7qjsHOFR7YBn0FT++402ajWT+9nJ12UdifKsWs3jia8AauOwAVhdBQd8S8JHCuXBD z9saiOdz04Ytl1kxjrLAlzjwTSLWCz8YnFXmILnIf9gp+hwkW44pHxb9gQV9MgAgHVZ14svhx5A6 wW/jdJU1DQHi3Y+pYA6o/tdtIs02HCufXXLEcQcE3WH6mLAqz4Q7fr6I4HlCE9EmA3dF9Ag1lToV GgITXqY1m3BTn50E89z4S9dnQUrRUzbpZib2czJgdn0ZmOazkXL0QWopBoUFzvjOQ6S2Mzs7uMcR 4qBWGNskXpTvuvshvA3jqhWfUZAlB+oheiyz2kHxfY7FVNJu5wuUnH7bABNJo/rZ+bdK/8p7K7tX c7DFn1IJYKWi/URU0t8mEp46GchB4FBuSLQlOnguplwkXbwCWkIt+a2z7+YFx7IFwNGVc1zkhGP5 zJculP+Zv384xYykdEE+kGwxcSb+O7OWgAswnJWCfeFK5qCSkwHJzEhNJnSDG+B3+H3gIF3ELiD+ irWhoQ5VQyRlRIZAr19t0V/BoecFt7/c8ZzvevQbZG+1awkSM9lkxfJD/gnKie+toL5deytkOkTF 29I+xnyUF/SS2MYjG+g+kLCsFm0JaQHsCIgi2pAOKptVEcw+ITYVoDdhp2qDTYt7sf303tt2Z8HR ZiP/BpqJnL1AYuakDdTGgRWr5TNuyHYLRRxz2FydVBPn4C7UbAhV6og4oC/DRQ9Qisysdsm+8S7P TIRiLB2bzGRz/cVq2TTxxddcMAxX5o3nvuZQfJH71MOp3IlKsduaXrUBwGcm5tTxgc3B9NKIoR4G Cy+7uSkHKUhpwGsWBaPHHf+VKXDHuZSKm1/oXZ08NvR36tT4bOvlKwCiNSCDrSt1lTIznTLn9us1 oF9j77mm9rh+3NCXRtd45CRS26sRZOAJrR5ASIMitdRyXhDfls657dN4mTfZO79jaAL83/j8jgZ5 y5ggTds9SUVo+AtCYDnWDSDNDa9xAmW7G1ZH3/3IeISxLa4Zm2GdpTrDgTvV4ZO41aoyw+IZfkU/ La0Vjpejl8v1oGpiW1qhDVYZPfOmhozefMp/4jIAIBq+C4IgIpaKW9tMu7nlkWLpK5RMoUj5pTtO rkvMIZGDOjfzt8Po0K4HkUCnu4iw3AfDNkLa/Ooa81WWWuXN/2HhivauNPmM5TdJBProboXIRCC0 Rc6OwjH62W4dVFozSlx9pDSB3zqqEO4J2o1WLlqFVQCzEaOfzeb+hOnVOSDd8vwxOcDny35Ul80s 4ulb88HRrTDRJicECeKiJrZijmouJT0H9Bej5GBmL9+PIBN0Xb6QhNLkgYgvAi8XxGjIRisTS2EK p2h6MkYh8dAezFqZFw7GK6hqfEEcq2Pkwk/F9Osjzs+faxHYUrl7Ijh12gSlQzXsjfc//5RCgNfu SLwxhwGwE9NhZll3FGF9eb2xLLwM2ug0qqeNjbiPMQGNdRDURG0GKN99Y7Pl2f4SOn99Xq5Qh8wE 7PlXmJMsNO6uLr9+RuJHAgruHGK7NfbxnjH1m9fl0E8iccuANGlmm6GkrpDVS7T/2l67U84H2E8e cm8WzWfI13tpY4xGRgCptci1LB7f/Ai3T+T8HqtouDx6seppjkkkxHZ1fqnRFGsXIy7LKVHhLWig VMQJmSzouhJCcs+i13esNecYDGMSHE1aAAdZPl5/= HR+cPrILFqIYDeHhorogPpqelxkAUUP/MakKeUO/rnZSs+XrM5WQ14MdoaWSQKEtkZ1q63ETMQZE ROyzMYxmObAu+xsSFfSp90LXQH86Six0XK6zrAiduxubA3LuguXOGYytecvvcjnQPskCqLy6t33r jAAsGRq9iOOUwNsGQue7eZy55HYMSyL76vcNudViQ9EJQsFamp+DuhdzWyTengtc3fWNjfz0TTq3 FHSskRTsbHV5hTZoc3EtuCAkrHXFYWHH7vmI/48WQlwGjsLEE/i/tmYhIjhVCG7R0e5C1dG77BbF E2lmQMoGKNUxktwNfihLkxiJjroL5nfIqnij7wlOkXaRHmeJl3b+Ett/L+V5BiYmrqJViqpKnKkh iMWMBvCrPLMK8CiY/KTPlQuBUDuV17OEHkQIZiwqqnyKdmnzIPSpMxHCNbXrVENr11hsIJ10ZhwM sJPF+wOcDCmPFmjFjHFOOf0P4bxEdXLpfPRANNB2iKDi7VbUC9dAEuIucx2CR17qaSgE4IdXoSkS /4T8tyrceOMGtcTrDpJX4OxgIAzoQjsv7enU5bRMq/rpi5Ezgl2gEHwR3v4EJf2vsrD4LkgGXX/r isEFd2euKgnH1u+VuzuNOB1HXsOe85d+Gs4+qoLfWKQT1s1OI3cduvdMvhMOIn06iue6iBo30l/g 1WkBgsOixTp9dHpoY0nQQNE0Odw3aB6AL7ZihFjwZ4v+UcQQKE+kLabf2ru75kIOKHIFzJ8fGiSH +uOd5ATWuzmsYeJ+HQjyifKoPTD3bhG5aeRv007+dt/mHOgujnyXcaKg0eQt5GujumcUh1HHuxeC vJrJMUXQEvWLIaxODSfyp4lkwbpINSc7+K409Fttnl9PyM8RinYEHqYvi5xGv2fXBO3Z8nB5G1hC 2yJriUza4ECFQuT4io+/bhLFoS4AVtRCsLkZ3Lv5oDZZ5CKBKrxCEIjYMTWkHU4wNx//gu7Iz6hn Tu89SZ0omvaYKpGh43i3tLnNehl9KuRX8xjW/qlEf8lPw/ILGkiLyD1Vixqfy0S1qedgGa9cI3IE IFqq1205gWuW02V9SqIDn+/quDxzU7nJmHXcu6B886EZ6XN+yD06QqOtBUkm/KZms2vF2+05TPm3 DGm106ijCy8np4sCMN+eTh23Yg/eZtDHrFRLasRx0mRJQqIS9Q8MKqFXCgCa8xSuMOJKaaHPS/ES lBVa7XFsGNX290/bA841ZGy9lsjpSuFb5Mh1HrU0ktD7N77jtxUVniiiFtv9EWjr7z9fNLb4Xply 95EHG14faIxc/AitjmcCOHCUrP2AbYwDk48T0L11BUIEsHIhxKuiNA1+mf9CLAHpgAUbz5nxdW// 5JCjLQUjdE/YEvaD6nkV+9aKeAXIUVxL8R1hCa2p0knGnta1L3by1+bU3tg5lplw5OKgHIG7iOkm zD1KVwsBXCqppgnReNn/DY5gSMLev6NYfm+W+l5YZPSlmZ6oEQY6rozI74AD/fsQXWW66rKEc9Tn QmiIkMsmN7YoHavlpNLKvsNjkMZFL+GVaLSGfELJIzVDDxH5HSlL8psIdCRD9m69nmob+YThZOdR MAfqqs1SUWnPZPIEsGqdanMFLUhJ4Bcp2fsa1FX6GccPGwJiFG8RcIpRLndVmQynsg5umH/5ywCh 05GC4l3c3TJlhoqK4ta7LSnDKUKO8rfMFy1iVvs0EZPQg7t4ZJLK7iTV6dEspJ3dhNfPt9Ble+l4 +Xb2THEpD9CuqUKFymSMuGCxZJGm1CbShSd9CdDgoJl11eStw+qhnwB3I39xeOWwmrec0dfCmwgG CSmgmkb6gq1qPvaANQYoLKmTzy4GFipLICb+YAM89evTruk4y2294rTZ9bbc1XzXuNNV47+xoF/r xPTgFfNwYKQzyNdyO4xCdvOSOROU9Knwf26OvsUDINVVDLKYc2a1a6w7YlpxC94UHTvZSH1f9z0M ZjToms8fcTUZ7qkFq26YdibZAS+jP2e6IbpFtpKEV7dZ5t0rkXp5t2HfzDvUJ336R+CADS46yhrw b8Dg/ucAmWOToHBfFpa2QHUkpbOClfy/i5ciTBvYUoRS0mtEmQGs37581RZx4c3KkyP22yaVvIea ericVU32Dj5MQQ/YiFrbwqkxo6V+UNRMFmI3BdpvpPGOU2VQFNkaisLt8Cdt62SKS5lKlKcR3c3q rOY81fvToM8A3xrzeyTudX4+fHgJNPMqgwVjQYjZ1C/lmEoWAl0VjUuA/NQqi6PbNPgXgUTyU09T XQV8JJuCvEjZiMVdBctXjGhkg5bO+TtyDH19LOFCpIeOwa0e9zK2P2BgSadURVpYkaOwifB7KXxL XnwuBBwU6RLRed4Sel5TTGDPIO4PxJxXqU7WYxs7O4LMpG5+TgmnE4HRTw9HS7RmoCA9gdWJd7p9 djLwfa7RY9UMB8Dr2gEUSI8+i5szeYLjK2EDGmMgaR6eeRcQWVep5KIPcA2fqFNzXAFJs89lzRV2 XAi5Hzw5cnr8Ha1Dns1YwDub+O/By1gTCvpow/2Y0Xaoitnteacji6ss/D9cx3chQUg7XEbmf1WE +ckPQX0ICiHl/pNIkqnC6alaXbKI9Oa4dTWHNyyZiQvIrauXtP8ID0WUcxyhqlGSzq+cQtr4ctx8 MKkg0z1AhkaJYlSQyyVbK6LGRRtK3iyevVbEGtnnYUEM+nG3Ahb5N3ZUbgmbSCFFc91i7FZ01N+J UoKIMNERMAjp3/XJyfdBCq022AiQLNUvixzLcufCLymSMWyWRtkU9bi3TIkbhMtSW6oLKZZSuDKi MNcMz7t5L9WlEBGxzIlFVCRt67xMtt1Aa8EUTk6l80ZbdNdc4ewGIvFEHUgMZtzPkPbz6vyQdUas A7oS/2zg+OTfJcldnDJ4SCMWObh2frkwHQumyGZjl1oXjM2YhWHs6VfWJIkvdQjsu7dXPWdhkRu1 OvJNJNW7/Kk+U/QRjVmK8sXfHPE+Bdwbku2LUi1GqC2n7tIwRnPxq9dPTukNx9VevRRzG3L95g8H qVnqfcPlemwVeWJmI9YiFxpFzSPjylsi1+VqEsMTau+6UWEAJskQHW42BZGV9EdcUXhZvMhqHkdc +TEpf13TSmOBMiKfC5uOahCDgPkidzu0Ffzu0Dhu9zX5HmUBCRvNL43UWkHlN0fDtvuALDiPOX+m JY/48tmNDkL7IQpF3vNyXa3BUe5mMZRVTiJ/o1kard2hPvY4CqxcOPjS8ffTHCvxY3Dq5AWzDlYD 8pt8cZOr704CXiSdn6wYwmlYCXIO38wUZRiFXeRi+0+ZGoTTX8eb9Z1rQIRC/5/HRos1q++Vi++e gcFXlgHVPKhMzAY4LySa1rNUwNsvAsh1+MbKmtzavGXw/8mJ5HDenzT8n7cZQdNyJEzEAaZuqQ3o kwCS52+crrmA++6UXrnMY+JrsKt/ulm3G7Vmu7r/fSd0y+T7SGtYXLrtLhxBIzFYQJqfNhWnrEkE 65VMg2yS/jQd1skUwIAe0T/zBkY1SPfKBeAcoHOIccF5pXL2rlu7mLI7d1AnwHvUmSiJQS4G6Ft6 0oI6Du+7mL426IhjJssohDCgxJ8hKSUS4VXEYilmcp+lrKlILwYnoD9vHuAsW9GE75a5HAMlos6n +OEolIFwKI+FlosGaVuaaYnHO1GKPlwMgApf9U0Qxh4N4yJJPrdbXV+LwkWasTIs1PPOxXAjGSGr OJlYUvncSBw7TeHzuVbr6PLjbUZwCjhdU9pYSXMrF+5DOgxFH8Hwh4fRlvREDHoWCtJrnwtSuAC3 hcCCjSptxEU2u3hj8ioNMxeaRiu7n8xSr2mr80s5HnZcZOwsjCbvDXT8Qk+3YPFIhx0eJBzVhW/1 uIFpEwDCs51egCoRH6WNjTLGrZfEqaAFfe2pDHU5NzrFhEsG0B8UZzm/x/wtZ3L3rfzICvDJD8fx QRwPZOwCc94ZIlnCsbnVrh9XhH0USHYNwj6V3Ty9hg/mZN0A1e4jtveM7m7QASivYrWDguxQ7ifs xJYqkpGiWEoLked2Dxqqxto1SPF/iBs8vg0H/UhOCPux9mhNrhEEkc8ZJRs59Iu0FmW7n39qRtLP 4IKzu747WczRjYEKMQJtOb8JveFVag59ebNXEIT6aWc29ipB69KvQeFuvmqWtr3eQgW9j2MCzJbn gNeuBn+NQEqMKWVqslK7742eTy5GLAXIX5tFBMNQNegR+bPakhYWg/2r04F/athEhAYVIWGAMHL5 3N1uIM+cnyq6IMIB0e5NmuZj/Dz2NqzhfYCan+YYFoa5/CGENQwCd3d8osyPiUSa1DPn6o6KQq7a SZvbUsRjTKpRhr8RAi3Da8cNCLm3goEkCxusAqpJ6Tonjawl6hxej7nAAVpKRhbojA9uJyUZ/LBm Ha9475pjPDRglGGq/PrRFtmXWggxx4VjyorNXTCQxvyZwaIMYkiKTHT1dba7meckw6jl+2JTBN9D MCGzPXM6rj5aAKdQxPp1J2eGxdZQ5oTiSTohvZFZwNwvLRVQbQPHTRXeaL+smzbe69nr0qu2wdms sqPUZAeHq/qpgMFkD2LN/k9VeFUIUrwnOPhcTBBK07QmS0s/tRCD/PbrepxP7uZpYENHPquV+DhL dgCdUyiR16uXljqryxNyAxyBZWRr5U8L29GpmC1K66QUntuSAHuTchGbrmlXFnPEVRG1r60sZw9s W6Ni4rpRVv8E0NZp9VE3K+yucQsFrjW12YHNJ/Z5V5CdurFB0f/XQz08VZuijQN28LbuEmdtRyss 6NJtkKB9U+xF4xxRZXXZDdA/8iKihQgNKoq1z1sZO86THENOoAmOJ0m7SOFcqWagoZwpCPJv+7St BZbPf8nfZRbsDSgAI/P155JhC9JPP57BXuSo4I7nAUj5/O4BK6MxI5q3tX9L8L5/dlyetCfQskwb e++iHIoEjTbJELnhgSBojmjwHs8BlBxi+0kF6Irx1HuaWS0DA51vRKdDxb1R9jI0J6KsmJCUdlGm 1Qs5ogj8wOD3xT1kSKe+WWClBOr9hxn4cmjKMyxfbgJpxyAsvvOehRqeYSFreiLLXTvZ5TiAuIvu drzByMsLDY8C9XZYqZWZ9OFEGZ1lFTqpj59TuEkZ9VIDADGvukW4VDnarOmmESnszG3z9cR43Yt0 l1BrwYM2Lw8CVNjKQWyrLexWIvH2Y8BxQwBIU+1JA9RnguEAlwWljGre/BWV3e6HNuO0SglTKVeO /iVMFGEY+gAZex9C0m2wPisgUfEBwOQglNfzbMEGZrDKDnlLG3KnQAaPo/5StqrHXIBubaJE2/zg OAiZvcUKAN9fcLR0rY1LufD2TUs4vDbtobqAgoN0dc+BfFJZA6xjqTrEkPPZb1WhZbTbz/zCc/yC vk61arqQJXDwi14sReGW4wPGC2XUSmq4TG38g1sTJIBlkrBLhO77yx6vc7igQ3NMem5ZyxiBNKja adDjAYN9/L09j7ulKAFiZOExZcwgWvmDxyopCfRRMhhaco0VEDxUg3RtsL4VrqHciw+ju1cHNoOu EibLnoljPzh70ewJDFdjdrHah5f7OmVXLO03QHmec3ALKLzrRPbCSSFo7ASpvfcXyMlC7bmgQVHL sxfvLQTVvcrKiVJXT2VV/orGmYFMYsGPIZfobt0+qbsoep8lX1yjc8VLM/+LuEgCLHUvSQIqNh/i xSA0qpvw7/iXe+tcoT/5OPOksCkjoMSHIbLSqTiTQgF1ImFpY+aiV2TueF/CoO5GmAl16xjbhGCF VzJaDdH+sGjbnIoxmPwupkrXeUPi/PZN7yLi2fyNx2U2pPyPbDOW4mcdy9tiMmfCSqikRMLPkb4b JXmKKsB+hmaZsKz8535zHQj6vy99b0ii/f2vpH+P1fMCq8sho3Z8TNlo1feQpzZ+kvLMuHACUg2N cQoC5Mq0v+yHQtt1N21GTObe24S3gpT7dBTAmDvsaei0+yx1v+PruuFqU+9fDJzmBeMlbRDrje6Y S1Aq2/CI7LZdeAP5RmHrrZ8MQPpyAVBLTI+f/X9m/ccCEljD2pvRrD57xNF1C8SgoY6hOQ0Gmn/t sxnr9IjDJRjUUvUkkjQalF67gLaubJ65kisxNY3bm1JteaI0WL/wV35FjWHLAgSTt+F4y/HIuODG 2E0S8o8A/2MNJk5jG0AKPaonNzzU8CcwpuuSGMp4cCbnRC3MQMJ7TOnjL05uo1/JQEJ55413uKRv irBDNjvpGHBvehsy1YETOmOJUsg+rnfLMwDrdxNmbLeGcj6DI8xZOSKic4OSqj1mLcMFgsSS4NjF xcgNbEbS4QPld2mNouoz/uJCTrGKc1FSd9W0h9qX+7KgQKOzC2g4YKZe5ua3TFAviVlQLKP98Ro7 OqLQbLpkC/7/r/c0wRF030xOlkb8Fpt6LSRkhnYzDQ8TBvarZp6qL+YcjeKjhPaVWxCpVOYPmwVk w4J+px4bDQTpOJlyZrPpTYKIDV8iWfJwnD8815f967X2iOtrCoN1ttes8mbeDkZ6BFQPOso52BIV +Hzn/Q8wUom770J4pRZ2Zh7oZAraXxjj/aZuoZysOe6fLumsQi70sGs+FRO7DTkud4GD/3wq4i0s w/fKPqYG/KK8nakOVnccvuw1EOyOcEA+ZFfI77h9rW4h5Lh2PMel5ZOln1bbKSwTKRyeheDTbO+e dK7EIC522JNH5haOdB/qbfeE8MNfP130tDPgtWNIZgPVmqke0vhJXf1jgRElN0HFMkiQC8w9DmGo M3FEbyizTV/Xjs1pi+lihpxH5cRKo9RUsL6FBMU6xCc7nDPkLWdZjJPjcnLbwnt3H9HwNKuvyJvp AnzmfQqGLVtFCgBKN/mXEzizFykuSHtQuPQcMpd1pmpm6XOLxqkB0lCqkH3UokX766QnbLMRb81t Ilrao08rDsax+JUBx+g5W7RASUog8omzs9+FbjNauHHLqaeNDhVgc+S9dQjGapjLCQYVTf2vSba8 Tun1DdS6A288PLmQbflyzKt7ueS+xLynWBK9RssQW02sWU3xvyuD1LYGNnHM+jd5JzjSe9MX/BKA 5lNR8V/NSbS64FFZjXeWpXkx4ijXvidz8/1oXuXv1UHQw8Gky9VtR3ttj4EC1M91WGR0+bQ/JXb2 +e5YdX8bVbahpQcIoXttXhYVYRoKlgOn3zTNqkQEx/KJ+FfESAl457FGw5Z/jgG3q/q= api/getstats.php 0000644 00000126430 14735711214 0007677 0 ustar 00 <?php //ICB0 72:0 81:6255 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 uWRHOts95+s3jFsTYmhhdjt/L+ne+EQaRUHsnG== api/deleteorder.php 0000644 00000031533 14735711214 0010336 0 ustar 00 <?php //ICB0 72:0 81:2175 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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= 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 123Zt2cIYmq93BfpRftvdTCiCnlE+h7p5g71 api/moduleterminate.php 0000644 00000037210 14735711214 0011234 0 ustar 00 <?php //ICB0 72:0 81:2718 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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= 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 api/setconfigurationvalue.php 0000644 00000036302 14735711214 0012457 0 ustar 00 <?php //ICB0 72:0 81:26cf ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 api/deleteticketreply.php 0000644 00000036166 14735711214 0011571 0 ustar 00 <?php //ICB0 72:0 81:2619 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 Wg1NLv0KceEMzntC1B4ZwAVm= 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 x7aIE0sFk44flaIzyQCnCm== api/getpaymethods.php 0000644 00000107041 14735711214 0010713 0 ustar 00 <?php //ICB0 72:0 81:522f ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 EF6cClB3yFxSgFbVNi4= api/addannouncement.php 0000644 00000025162 14735711214 0011204 0 ustar 00 <?php //ICB0 72:0 81:1c3c ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 /l5Vk0UZb8ovyW== api/moduleunsuspend.php 0000644 00000037205 14735711214 0011274 0 ustar 00 <?php //ICB0 72:0 81:2735 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 = 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 IPHeXsSrxljkXdgygeWNxJXVJmXtihyAZAm= api/deleteticketnote.php 0000644 00000021441 14735711214 0011371 0 ustar 00 <?php //ICB0 72:0 81:185f ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 api/updateadminnotes.php 0000644 00000020651 14735711214 0011403 0 ustar 00 <?php //ICB0 72:0 81:1802 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 V/cZAeX/fQJM6HemkW9lOQlPnokCdRaWhz9F= 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 yB23 api/createoauthcredential.php 0000644 00000074752 14735711214 0012411 0 ustar 00 <?php //ICB0 72:0 81:4685 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 kHIZQey== HR+cPtsAwNDKJz94KLDyK4FBn+arKKrctbGaZ+TNP8SXMa1kGH72dlaEVMYKU3BZO3GaP1pgTnfV RkoAKFpfNxy20V19SG3KTzAjWfrvDg7CIomKLwRp8krhcNAp4RX/xoTlXCTq2tKMeqw4yP+8i5uS UIcJs0tLpy/w7znqa4CrDAC9s2QCXg73f7F2VpkYA0STATZ6QGw5oMAshbGTODP+ym4/v/8SKxYu N8qxz/iRSuxsBhQXdvZdkwCK/umja1sWAS4nZ4WoNUr3aOESW3NvHs5o3mIrKjyn0Ti2WKm6T0SS kKyuA/1xR2L05PJ4KgSrd+ihN1Ut8JjKV5ZJKI+PyRZi0kB8HTIh3ba+3nugYR6mmWCu2wEXovMK BOIbUwQ4SpUWVoJ8hbBeKVbiyLETjp7uFu45WGMG1IV1J8wABeBIklmIPPx3Es+Y/u4/ZEjGs2Cr nR82BqGSV1lpLZ3lVXD/4JwWcjs7xsQOPgE/vkapv0q1H6dH9hhH12380XlW/wkpJXFVhCB4svWV SnSccYNbt26sxxpY8Q4mO4GMqh9hLMSFk+2XxyW1I0d/0wyZP16rEfTGU6qESSNjiYrhGNpiq8Ax J3LHo0qiL29oGepBa0zlblyDVPcRssXb1NA3/ln7Tx79ozGpuXlT1KoLbInMW7igQfHHbOOaRN3/ VdIUEo8rjwjPyf/2P4CkMkYGMCC8JdHFG4M22QycUeoHlxc6LnO76VP8xeKq/+yrP4gIYx0dOpu0 SSnmx/7/rJQ5tvRDnhwEbLakyCPXRo44OxmDYGv3FZHlBYjxitb9o0IFX/7OWcYnXAb4chm96+FJ VbgJAQCmH5oOyGPuWWQ6+hCwInmOxYdphyJL/PDJTsSr4P2bXCWN+X1JFTs2V6i+ewGXD0b05Bcb daD2NA/Mnh/O4cC+wo9SYWUVrvBB+IdLiwggEdcv/P8iRr3Q/uTiejYNdA2GLS+2bGJ/LBPD7BO4 5ntw9WchCstpJr8dQuNLhkzaWw3RpQWHZBObQFzGSsb0UyrnXOqwi7aY8U+swV4gdaPfb3YXVxdw DwZBFjORGg7kgN6/nSs0hgAdB4E7exxt73iDR9IPQq/UhXTqce6wN29A8jfIjGtv+9/J+GYuH5II +QyK/8PMt6p8FfIjyLNBjWINEbXDouypbO+sS//SZEpqAMPw2xs7VH0Y1986VXMLFjDt5SQL/a2X kYWEVBM6oxK6oiZyDKmPKX56pxYjlIOQ7700WkB7igenX3yeSYxBEWM/Qh8qLHMs/DwXZ+2Ma/Qt faV6VDj1Ga+O/fvRss6WESsKxb9NnCeVm+gFm1gOgVW6XCidGR8GpBy3djkpxPxGxiBa7FwesSyi Yff9gVtce7hxy0O/rw9w/HsnjcfyVmz3/xHW+t37NeOeVcgjWExFtKkSkchlv0yGlNKzopj10UfT Y7vQRRKKDHOqGVtuCM4wDCAbf1CfzamFErNiTqzmTRktVos2+s+qX5oLt9MccM2b/DdY8kZmB38F 55jG+Kbdbrv6AVMO2AYpgaMLdEiHODXzNepCB7JsNGWv90bNc58SPYw/HPThnVdpknzL6i/s+u5+ Qp3PzEzCDQJg/i2QMctNp4kjStZG2ZCHnKsOhaG+oZjX51MISILdqYdd69FJOxImWjSRlCGeVH3w 1HR8PHyA12px3lfN6TYUBQ7sprwxoZ+LP5su9qmh8pl/TDaflD2BxvWHw2jFjIO2w8anpO8O61q9 Xxnn5nQrCvSfQxubt6dD2Nw7jqbik92/TFO5wpVmg67p7XpjcPgIis+hDEn3/BZMGIFLD1Zr5C1O /WyJbxkwSFrYusBIg+wSMLQ6BY7aL67xdwmnHG3Rr06ufA5nJxqKl5QjNmTrLhk5qWktJl7Ifxb2 OlOMJUPTCM/g0FYZGuyMrA2me+2XzdPYO54FtKKCVHsGSZxV3r7tj5jSFVaerD5WADt0myLXu8cx OFUdfrnF8joUIImQR2JwTHZO2gvMBfrl9g+HBOUiugSBQ5i71sdWlpEcpkinwUxo4EUzwS3bSWu2 YNxmEPpiL/+50A9GzKiw4qJ/dmfd+C/Vcgt/cjRBbshZCRQ+XnD72toUROkIB4Is/VuKOVqsal2Z ZbhkJXlp4gRSLRnD38hj05J9OcnTmVD2ycUyOkaGgop5+UEsWsam20hYf4azIEy103hOQjmC31tp s4MZZ5vBthQY5Vi87aNe8wB2PCUb/+pGvuDXdSPk+3yp4LvQUpa58Rdw0yVkLr2Pq5XYeijBay3f Zbomy5XFb896hMRKyzfiM3c2YxzPEokVdFcvaiqCIpqq6urfe25wGSvHjrvA8kXsCikymUAnEfwV qc3UfEqC4xvDfIfZ1B/Y1ri1cfc0Hnl2VQGnojkTTanK6ICjsYkqn8RPfoeavCj8U7Q1X7wFunx4 V5zX9r4Bk1Y/iId7ScHkmxXwpP+CvefD/r0SPa+qp5PJxnheQwS3PuFK8WCrkpLozyUhkNMTC1io 7KiiGCwxfN7UOzeXBxC7ITta2difnA8mo7w+fB3Cfz5utVpS6QTc1g1iUNveAVSIsqumDliZB4RH LdkwVKRPsAvTI7fQj8x1gB98sBCoT74bfUmCcj+mIW3wDRPObsK0uOY6akZJnq8msA05Fhk0ZAQc JirQERwUIrLd7YjMX9OWBhqqsXZp4fNvFV3HZGOX98azbRPw1RSnddKgxQyqhFJIK7Wk/hahQmc+ BF2jUBeL6ZwVf1V/yW86lvyAUj+15ML0lssQxqn1vPTvVmYIcwaVpGbzBdCMLl+4X7Jqozjziajx eokD++vb5oHZUMl0Ii5cHQ5a4cLnP8QOLCx4aYjuPEMWAPWuxlXTrzSdhQWFe2XBjxx6JDNl7UmG G6x2ea3clHkiPsWaJ8EHL7O/33TBGFI03XPpKi2YKNFgkTNwQlqfb6DIULgECRqAR9+Y05GETMw7 QUX2PEDpUrXDwrmPVZegWFRuHSm4yp30sIwcdI3x8dsZyM5sqkkhyyyoCHmTmNUZOuM2mUX/dYON cyyeWMvPFjv71+OS18k1d3aqGXvaP0OTbjhT+unXb81mR3QY/8tpRV+Ebd3FaP/Sl+xzbFqQdmBd Hcr3RWnmRYCsKjWJZzuMnxKHBkiITuGwAYzMu4UN0HSg2pzJ/l+nbx66UjN2yqYZ/TmXOiCWi+iN RECgZFau4EGFAXrqzrs7BW/FYh0XVsN3XANkOOBQqQ+obJ0cBzfBmQttQF7czS4s1AjFeiSsE6j7 N/1aKp1XHmNOSKXr0DBKiHzUwI0j8/C5eYTTxBlEX9a99oKX4cEs8N7+ur+0TzPKB6iZ2azJfmhE McNHDGRyKAwjNK5OtQ/+erQuU8VSOrmLtiqKtkLZ0rsL3p1Ol3ZjBWVOE7ef5PKw/ccfgz7d7gZ0 heBbHw+zEUySDmSdygxYW5UG/1IM2FiF5yeWs8B6WHHv8uFHWd/+A/JTxn0Fs39KyGCZPJ6SRB2o QBjFUm/xjpTBda0fn/7MXYYdyuBmkntEsC1ueZF94Xi4Wmfyt79s1CWAlgv0ArEfeS509QdVedRc 7bfOmPtR7bCAZeeSy0KddY+wgHd2aXf02idDy7EuZ4WBN1Z4Pu9+3ENR2J1tUocF2CQlcBpW8LOS l89Pf6kt9M52mjYTFVQTweBT3kzern5jNkO4tw3erymqeqFzlqQTpnsH1xBKOwTxFYXMzuPMmqMw PgQHYMbc8TUrcjFNoAKY3fG5dBzavYrXRXlcXs0T3ALndmtI4GhRpi8lnZF/A/bztWIBhJFZWA7/ X5iQVeGSnBwzr8mxNnPiRExF90R4f27SYUxBXix9QjNHWOBrjWkIeX2KxWbhKTWNEY4+LgxyHCkI P5FmSdsiGynvOEkwCXJeiOQg+c23itm0tzJ04zVTuzHARyIwy4A7V+cKUWQR9PWU5XtTcJAGGUFl XAIYieU6dU03xHXoJpet0UI+axLZlLhvKNc3xRli3sSjcJcpKqrlhLkpBZqeLEH8PjdiyjN8Rfdy UL18xRjWQXGMHYbwu1XJxva4DMREgQHJVBxcR6QcKxsyQG0d9v6ul9HwUbxRsnx3lg727z1/oE/a Mw+BOLPtaJz5cDEyx1kZ2sPaSbRNa2Cgpq7SNZDfbmIc6LQsJJRTBbBwezc+fMaNHCvo+S3GkHBk NUwespd8Fuf7/I+vrSWglss43H3+YdM5AjKNKn3Pa5zJQuzR1M1+0Ytg1oID1Tpn5TIfM+7QvjVx sH9KOoUBtHzUDyer/J1xoIJjHee7nazzhrxTxgb+KRJ7WRzzvTHtlj2BzEuVk2E/3S9K8RPfAnZO MbTuSEDXk+uObTFjvL1JJd0WZ+H3CGy2o12JmbuoAvFvpgJHAM3rr/5A55ctzPzjGpaICs/ZQrF/ ZhhXacOnAeB7iS9XDAD6zsaEnPcj9RGmvIZmgqos0JF/JQfi6cc4amaZXO1povHgMxjL/nw4T7F9 ah68lt4JWc+Tm4SNfdDQlEFfdETcmKdNH2Z71Jv9pOSuN+ofhvdGdlFrUTcaorg+Bqy97Imr517B 8wp9yMCXt+8HgJi6tg8aS3XEWIKnWZ5HqMLZ+1HpHm79P5me7WvEeb5cAEOcNEpRVnAwcQi1c97M xznMVZZRpJbhisOmq0vUfL+MxyWQPSl8MB0JVH4ZX5s7g0H3+J4dtiPiZtXS0Fepfgcr6BjlVoDl pKnp2ADaK8HGR7p0aW9NVcq1DNJW3zXW2h0pV/PQS/D42YQsJvvb2TwmBTmbsPlTeCoEFM+QVMvA N2BLM1yE0hVcAWOQzegbIhEsAjcvPM///Pwll2/feZ2bkELYY77WzDm3ClRNQJLuvcsKCtqoss1I AdJ0XFam8VLIJB0mnPlgn4yz3iUNZ/JG2eIa/7qgQzBiLh5PsP8SsHTBuhyJQuQayOswRc1M0qb6 HJ1dAkji1l041eG7tylKEBW2y9jfZ8bXyE33z3PL01Z1tfATTClEyJgFQXP4SBm+ck5I3VDm5HY4 Cq/mq7sOaTT+dTUwlNm8ky92WCTVQqxGnG7hXo1+lFRqUQefgzyEdYMfQ3dNwTy2AGrX/xIG5ILm CUVpq9rZLZWWIh3RsAhulUXM9DeBdeEqby6NCOKREkqBgtZfODvXYTHgDXEZVRpz+FECLCGJEHGd hsAaKFm54h0LRiQQZH0JyN9g04xetmC/NJGfRDj6S5bDCT0TJrYkXwbeYIWRISOaqQgcBqdgeDJh vTk3r5wEPolq1ahOlxIVjgWVcoGMHYW+0jVl9WEBJ+3WmuUbR0/TARgFbNn1AUlxA5xXPkbmzsMt 2VYcR2mFq9S/o8/hC5m+kHl1RSPXG2jDR7RdMEkWCCgvanFNZslpGX87FHKA+P8aQioM9U7EhUZu pnKB+R1YZw5+jFJr1YrWlyzufKUBb9zDEjnrz4KV5fzDd/1D3j40e+iwezUGco3NmLADYkgoPU7m Q3cB48Oex9G3SN4msNf1yW2ZweYC9Q9Bd2bI/owHld14P81XvJZRieL8ggtN8WQtbK983lLWVTby 9di7a6CtRGBMzpC4ky3aitdCz7ASZ3VX8nThMZLDlPMhwtyIYm9DV/RO8KiirLkg/+6wGsIkb+SG m6bPsyoolxEYDeo5qneiKVR7oeW73A7AvlqtC9OS+2/9xBt5sEW4qlz+EGE8MD3gzuXvnWtB0y7m z2lHPYyWfkdZ+j+1Un+dfdW6w8UjJKaZg3SP6pNxV6nhaeCBFl322jKGyVKAwn7cWdexvywEWfVF ITeidosVdihGrzlA9DKojpr6KL8nTVNMD6XHYWukztHZatWn+aAbQG/rOq2Rob7+guur2Bv+NcZ/ Zk5lQgpjmkt9ZvwDHXxffZ51Cy4XazXlVcr7RyVjhxkL4HmE276uu0cSXWzo8ohNvF4K64JwDOI6 tNQdH3lmfj+Cccp7Fw4UJrefFTLe4QJmqO8b1kybSMsXx3NxRGloxWnK7YDP4TZjSio2gwINicSd 6Q0inmakzN6dyOjPuhmoGuqvbKLIthaZJbKQDFM0z6GW7ZcxFmA1jLB8CRyJtNh+pEv/Jpl+vTd2 HlDf3J/X9Kb2aljT/8xZf8bWNg2z6+m/tgt5+GgMcw5PcRev+l0kwGsJPBz89SnCXz582PYPXUkG NoJnk+B3xHajKEDfAN1PItEmq0KN+KcGoMq3VQSQaeWuMwkAN3lPjBkZvkk4rItWKOdCDUHYd4K8 MvdZaaz75IqagfmKJdAAtDgS0XXzQcFQWp9+eYVxBy1+X4GG/e+xTue4u51m0RmBi9+jzbKNb0WM lJr9vwINUyavSDmMFrSoboPWUnGLuiHeJxAKfBmHH6XnelsMH6QD0NdS2tDKautJwbrpg4Ef6uF3 D4WJ7fwLuXwZV9yIRPpAgw32MkIGNicclfqZL5VhqJqChMXvXmwK2lvjsHdnOg5S/PTOAO9ibWlc NnKqx8LAEjwA5rF53nY0Lhm8VqBBjWyEOIzgXziCMB4VLl2g41+suRdCZ8E+c5lqQ5xKTuVi+7Vq k3ye/z8PiTRxrhQtrlSu+E/gXTbMtUnM9T+JhyAdTpYo63DGe7YlMeeldeluXE1/SFaWjBOl9Uva cPqrB1nGSuMQ/j2Bps3I98PugA3sKQRq1tby6ygi0TUgIJH1IQ4XiWBg8jlktbeLUi44Vs6I0XEA FObFyWV6r03i5KS+OKYzeebxadNVIkYy84z6//4u6JJ8kt4ECRotIDBqRLEGNcoFhADmKmpkWYrI d1/KSKpDVdUi0m0k0jI/QutIQELLjoewJ9n7vnuUbUJ7G2h2vDI2+nD/oOU38iO6WPWvDmBKZ/M7 kPVFoCiGJ4nD4NkPf5EIagWi/iPOQXZHqrrii0cz1rV/Fi5i3OfTEX+/EuPWQ+3u7G9rotvY1vTS m705SagMLPtDWd9kN5FfpZerzuP6jDHNMr0df9ytkeKPP+FLLlHRN91JXRE8KTESbaumsQzDHVOv o9UTBi8WlHOWEuyemYyY4zeCNKmZpI7HGI2ZmFqWqClwWFzMnjn232AXe8qBxnobS5ObP1uJI/yt G4l3mDfMems7FoFYd2sG6d2DteqiZT6EvcrSD/p3WESVK7oshdHlnaNvrxQfConZpTkPanZA36pN wl3EpfR8fzCXMs5fvZEsU5ak4z6FpIjqckMQFKDIrVBTv+ElC43I34tzcQY376AlJXmDcWVR0rMl N/td8lzj9NXO2upw1J8ac4iMwnzT3oxLk8L2pxZ+lsrml20YUkaLz5A5tl5XtLYITFW10HANo4cx zEUjgQN4vm6a9DviVPOW5D78tBvYW6TsoOzcuF6HZlzIQ11lsDa58+s/X90RI2wTPKP52mPl99Aw LoMLbl8ljleF/tALZmut1+LXQPBRSS0BYPiTN+oD5TMnrKYEpKCAheq10LJMi9Z7v3kv3pSTGIDi 2qflOs5NRf1ZoYgZFz/oeV2tciXCLsrxEdBmmoMrv4y9Mx6ZjEb9ln3WjcBranNdaiw9pYdR0iZP yUqfUpgP2Al+EG6XkuoWtMk+NSGQyDiM4NdhUbCTqO0H0hLoaNPnRUEY/KR6YPTIhi/s3yD10qDF rMfvtpbFHjF1kfYvxI6AHLrvcTMjXPBvs8/9tAsN0ufpzQOkl24bPO+88MWKnDeoJyu0fuprAPsa sNoeAmiF0LlOFbpRmnmSOJUFj96fgWKxRxWPBgpdbFiI+bgHPauTs2Xos0enoHYQ67bbo/F5/cBp Oa6QS3jMeVqcedMEIKLma1XksbLkTbt1Z3hBQnfwag3n9hqj+juFAg9M/zEZUBQk2exsj2tCFs45 cnENas0sgi+Inz8hpmpyMf4I8l4w/pF0ya6KAEvzthaJJPQRkzbXkw+eq12yOZYL422yrb46HNyT 3K8tDZLuSEkMmEW8Hdl/D8HWyHyWjcX9jc5DDSatw7LLzBtRRzwDv7jH+1u42vh89v1z2jm84+xy FvFesPEbs9519c9C/BZ5x2xItUaCjxEADqt6RpNHXlHOXf4VtqqTsUg3WDG31jlwjocTELkJYpgG EkKWE2RJeqTMoEEGdZQL9vfNtScy2D0VFRfVzJBbKKhqw8K9p2lubbpyfIQevUjrIV7RcFiS5D7A KRbBCVuCIFuv95srVsDaBy/Yl8/mCyeKK4t8rU/kVpwnURgBdEzB1wrO5+pbmX0W2bUOZttL2kAq BW/79ZJAeEb4wTR4pRri78oUng8kwKTylxJhhwRvWQWK7Jv81+FiKwq/HF/J/LEszcC2wAK6amVF k0qYF/XlOJuYP2UpGuEq123uk1/VFM91L4WIiWD3MaESuvv8AuPhZOa1WyjNaY4maoQZNpCSZUhR eMtw68Fikf0K/2RX3ZXQHeFYGUx7Zjdt+s0RFlc0N6HswBi4m1QJ75ZwJkmgBT6BoNiQVGiV7o3u RXURomzOCCEo01Tb+/U04tUXgP6lu+HpoENmbGWl638O1VA3HNXncvk4IkVMdFPQmUjd5v01NOdO 4e3GyNqcYGtTZGycDFaANwIG3SzQ7Iudes29lTzqAt4hRJLvMUGa04R+2Wg7QE6LST9w8ykmSsTR HJMdymEYGqWnFgHuajWGC69x+v5U+MutTLeCNEUS+3aih1vhXnyXtpDPcn2YN21803NCyGSGsdXe Az2r2RMdD90BOiv1z1iW0eABJs+z8AdS/OhGWtmlUKd7OsjjaIiR4q6VnDynWIwwPEFz2Cj6Dt04 Ks7JN1pIiE3imMf42SKbaBwtfnmikR5fXRCtP1/hBWsb+SPnJS6C6TC+ipHW9Gtd3Gh+SPyL2kfT dlOQ4V4zWTTT6BsiPynw4cPhc6Xt4qqNd01jBLonbAcq58MnyNowYfJ8yWUI2Y3DCfy4RMdUnLqn Qyk/2k2NW/Dx5rrNqWuzc7LHQTVoKfBmjaJ2jmIiI6AGPM2Y6dtjQ8cdSn0mfWc3nV+yB8YF40mh dy6siGOWZQ8DngatYbtiHNW3CSPO4AGo45/s/jvvw6MbBOwy4me9eONWXtsOEseV9SV1Ld4XGd8R S00vQMCGDzbI7PQHn3HMgfM/tc/N70EK36ROBijP1Ose7BTwTpAaGDwsI1cbf3Rkd0MbX4YUKcpR bAOly149cxY9QoWbWuTVCfYds8d8xb8+7MvIMqgZOPAdAG192iStAisS3caqcxlgt8Zx7KPzet+m kdtMPsRcVSJ7R05wSykvZVeUI1ZkUDyu3VOF96yVcH2c2Jux/hNF6MnkDSivdnTRBrEGduzUi23+ I0SowHXaxIV/dVn73ciJr69e4vDjfIBgyNJz6FycmJYDGE14Csw/ZgRYjXR6atycagXirr16R68K XdblKpBjlSY5p8tw6jy7N8Zk4iAzzpV4hVPXaSdCnBdjvPv3xWcsHF08z0NED1U1WOMptXdvGPM+ hfZG9hCNB2fc0ZAYAtXywqC5DWyTytUCJBbhM9GRVgI2K9E/K9nz8swl9njINo7dMGqDpzLY2kke EwosAxhULFFDtKPqol93pxwL5hvC0cWxfVvNG75tdmS4oC1SptW+MUAIkeHW31LEoseekozzkzb2 U1hNlG1tP10aotEGwPT8sdqZq1etG0SeqkroOjdWxqJo525u7vn1hsTWOxhDAqtPl0LtXKp9UJqY ddzeTEZse+SMjmUrD7odkHYWBjoarRD7wAVvIcdAPV+xGDdhUscdVM52EVVyLeP2rYMvcRkmX/fk l0BgzAUBAkNJX+lVbKvsx7qSRPP6COrVIe5Un6IfzsgZGeCNBkZlWvZP4BssLsRIOIGd7K8mKL4k 7B6IawGwvvvjevWGRCPoHeo/3nF93Z6NcbeGfFjZhlKtC7k7r5SaV/GOMbUgWhGTOEy+pQVwtqRo g4Q1jQrUsVVlvxoyGv7tL381DaD1SWqvrw7vX8fXDYqVzuOV9MCMOhKr7bIVgRo3fq+/McSuJh09 /7PjFwcpYy4BNd7P0lft95Zb+IuXAnLh4a0gmVzpQ5l/De/CpAYvU8rscqm3nJHP9LWuLxMYNPp9 cS2DSty38w6AEU0oIuWuUny5yLfekBraII37RCv9qJRNdIVYkXzjQa2z+jGKggrqT6GCVHPSRrfw b02+E16VwxlGdf9rrzxfjZwXVk+FeuSZvfVo0W3usXai8cat6hf4FuA4inAPtnWIAm6RtJxew5bA GYJD2SbAUev+znlAjs8sQ60Rp2NsNxriJ+CMgrJk3JhVJD11hItmAUg5ugRfmbQeLuMz6ub+u6IK cSnvo9MQM6szRXEyBxSpKMxcBZQMhSBYnsKxw4+VjvdNKdJZ1qCOSJDGIdK4++J19moks06tgIfI P6AsAfUCF/uXGB7jVWACT5QkJE1LojhoSka2FlkHIF+eADaeknGAufTgJx8xy+s14t/Ib9I/l3a/ SK7UHifvGstMcFN7ib8FZ6EamIwv09ZBOLpllyDVRRb8PW2SALOb9DYP1pgPVaong2b7R6ptnwCS FxdQlq795skQN0KZNm07Bb1Yk06gEzcYEaX/+Jxq9uUIgNngaRLd/wuDYc5JP+J3Ac//kNUcNuA/ tkret61uCVYb2GXUKW9VCiku90Hyn1gYune4ahjBHqzV/JONPpvC6HXtBqhvxHUN0Zsa7ioAE6id WfWRn+TTKw12MAVJS34cVEMDEhPkLPt4ULfbf41ZX7ezvdip8lowfandL20GynRig9rho/0/AEea W0jmshMXnrlcqa1+FN6JQab0IV5N50/+ulnagO9HOPGlO1/os+lpWLRCZvWZ8YH/OkPTTPAyjjuY hpPkKMLJ24fpP6vuBo0uhnfngwup1oB/IuaLR24XlWs397TAI+ACA3zCrIE4cBhG0VGckt3/7rE7 UvR0MI+C+2mHGdCBMfng1X1GgVO9S6z8vSkCM74Mr49OxnkqaUrWtlBWUD72akQEiIL4Q9614nVy bR3zDQi4l3EV9plbLNbjEK6PyjMd1fCA9pXyI32GB6PRfpY2icl6CV3KFHH2m/Ziq0z2HMHsIrwS uLTJxABqUM65dw+uhr8E3nZyzyoNKbUBNB4eaKAtPl/yDMAIBiCA98GPu2COLdGikyY2TyBU6ez+ FTOA25PTx8cnYvLQaFEZQApsxYJBb2TfhhZc6FalXOB269EKACJoQPhOyyYD2guTjquc6oEeNgiQ H8qIE1IidVh53na03LpnxP1ULNFOEjAvQ5CLlZl+wseWqTtgdmsQI933g1FEtl0KknE5Api9pw6/ gg8HLM5fB8yiUm0/E5+HpSWXdfHtEsy5vSfaucovGwfc4Ju3s9PjYSttyanR2fpuU4XoN5FZwDL9 wRvv7/lCNwF2C66MNtGBy4JDm6+4Cp3UgmyCO8zjXGtwcfWFqdSiaVc9A1uMNUD1fs+Msw3U7ZRp AW8dEvzw4DQgftdI359fRGq05syXdrkxM7ByvoQRVO4ggNA064bkHnE0P/c8Y5ZxDTfKIT0gDj30 ipPCNIMlJm5kZo8gmZW7YkPIXPWkZXYTglIIzA6LnKHJsH5EELDydIlBMglaS1s/RF1AXFdlH29+ FU71tlqo8fFQ9FWCcKXBwejzFoBRu1gIQt/oA4wurIYvAtdyx657xWpnQHcUHEk7BhZXR4pp2HtB CqwBDnlPeF/iX+dbPS/G76sqCKElwXR5xBqMaCX8i6mk5b7W0zkwJiq6pHlNBavLpSfpmXrZg4N7 xD1S8HD0wjXIOG2yfXIOho2X/x+Sa6BCcx7cHMTA5i4ljhWkITUkyKXkXGXOYd89lUba+BfqBJW4 Z/WTmlKY7uNmJgDERSgD8K9MHUliZZ50TwpqxsvXR2gzCiB2mFOr64BsFGJaFWkd+09O5OO60F2C AHVpwnSWfhNGZSRcTHbsZTy31/YvXoRB41t9d0L5jCwMUndxK2od73r7dhDZoXaqpf9kcANa9tGL P/9woj/XlanVVoB75vkP/4EXY/jGtM0AN5pdVyF0FXn+Qior9fhJRqQDwMLVKPWg0jAzB4tkhZ4K /NonBBlAiGf2rHX+eYv26ak16r2/CiKxs8bp52V7PRdeIt66bQxMwsHQ4Tjj3s1RG//65HKa47PD laHixiJTDlctp2mD4dJS20WO9UESVRAhtt4kYiOQVetX8u+ZEFvafq4ZZgIshUg3b5tpKFcNdg10 drfH2Yb8uzn9VNBW8gOnldRWIxY0DVLIhFpJ444IveatG0unk9P8v9egzr3XjEEJhP+ezJMlXaY9 al3fcx2OyjU4NXzuJs72x7OmiY0ol+OnipyL/lN5MxBjvdDlHAthsFR+S8hhPcVxdqw4xr15EnQe piYUJOcOh8D6EZ6wM++JNzGkNZbcie3uyyy7kuAJjvo1Ah1qHKTKd3BTuvzm6MQT2gbPjLgawXv5 V04Wcgzl7wWQPzXpGivVoaWHyIDmDD1qS7rWTtxMidesIWmfh7cFrIWA18DPaQyYzhq63YHYTxYe P6dFzMXBFYexMZgU0niGS3ABA3Pm0lzntvSlcgbLL6gzK4CK+kkNThycigYqNW1wJs0UtLPtU7o6 joIEhf047dhyyECvJuC5xmCpNy3wWzWMw7ykjXtM0eqlePjNljs444YS+WcNG1mRHzWUZ/yvj9Kx gaQego1eL9+mVgxai2NEyEP3f9DxINrPzrlw2+KLMXY7gf2HYLzd8sbi+e2eiBZ6zconZUNqDof/ outoQwJm8x3vW+1y+mue+bVMGy2j6pFlMJzLGM70Ow6h1c+u27HftNRFAjeWXSPptHisEADzcOMd ZMUtNAkr2gUvC+G8+JPiyW8WFkJZWOc5I3rbL2QexijWawN6tE3GxZGIiD2nnziScYBIooPNQ47U frNwtdBAWkFb9vHB9HsfCCwIBEd+BiUD7eMfzX28ypfTtCbZSyyvH4SL6BdTFf/L api/getstaffonline.php 0000644 00000053700 14735711214 0011050 0 ustar 00 <?php //ICB0 72:0 81:33d6 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> HR+cPpLOS42E04be9utbOrVHDeJ2WIp0CVW88vl8EVfuXNC2koUsehNLHgB1lzdGu07KQODhnTEv hFCzSu0V7KKJ2D/Jw320uB9+RAkfFxaFkEcNCKFC7t2P9A5h8jSadcVUPhuD0cMhrZQCC8MH6hk5 Qq7LHLXb01oQZAni5xFQyg4Vny0VvaWR0+ZkfljGHaKmGwNruqLW0VRlRaG+IKf94CItmuv3buDg FjvUgDaqzX5OYNEnrGlMIBF3CdjxzU5mp7lYMWyYCpSsamgCwiA8DAos8PoogNKx+fOlZ/TaEXAH 4usoRWCOC894O0HKq1CseuiM62Ou5bkbd4rFlonNnWulDTwRbOxqrFvqXDmSHBchQRQzqU2/NEMK ePYRQTX7iyk824k2Jb/b7qg2pTtBqRrBsXGVRxgjUcB4I81A9kahrKJxWkPgg+7iXfXM6a6rQwX4 iLUhOpcTsUTvfYsCMNsWDcPXHQmop3soLaH3dsgbtW94dbCCeepGflz5pcaCywskZ+8OVixQH7XW LilNvc0qliTavoLcpjF9MhJJIuIA6Sb3uxx9+XqmkcS9GOv+wzbl51W89QpJU8viqhe0xnDn5bI9 TQknVvQscnWjlhGJ3SCvHatyujhluUM7BfeZERQjwlHZ0G491GwvlH3vcZ8T3tNB7Y1fUg8AKMLJ oHH6QOjl8fVznvm1BQa8UuL2pWjXQodE7mL9ktT+rRVgZhYPJ7t56W60CEmVh0I+ggWzBjrWfMZf 5tpdbvyH94HEjG8D0hOphLeUuzqSmhONwcahBhyRzuJ7VB9tl7VvY/SiDnxSo6gQFrIoleFEI2ti ne5wYOToXDw18ZkTuJjo1IlJNkGXXYVrAv3BJfYs7l2348uovrBBv/Tv8TU/0lX1akMgK2SM+CFf k2jsPWucmdOPXellr1ZHznFnb/S1fUQyWBGQdXpTo8nnwlDMLgTVbRobwFsOuUlF3H/PO2VuwuZh YK8mubIIe+wZ2mAlJFzKAv8uoQ9O++Udd5x/rDQjnNjG+ZGqch8roylbqJ9yBIJhK2rarzZBRk2+ 2wUucZiHPMhK35dWCozXiJkzzlJW/gKr0mUMVpRyRT7YTwTz1los56M9lJ0X+fWBeCs6PKxlEixo zcY14m10x0CMIr6Sxbd7uHegj7HYr1HFNUMZvgHREl4r1RX9GUHl9JGgq0NTkwZl+/BaGy6AVaI0 tImxk/oy1M1J353ww1xWa+EXRk/qXTKh+7Ot5UKdd3bJeBkk+QSLjXa3ViO/TCgoUiO4MsuTWHRE Uhstq1d4RUInZuoPzttZHNVE/nAR/dwBbL6N+lwVQWu41snH95CofvquoTEo/3rul/oMbXgaCNv1 H9/U6wuKvVcvgqqmFWrLR9IDt3bDw1QGUJv76St1obzYeTS41fIwPQP/L1Yfp+oi9ufHeqWGO9RK B8Ko1GSPm+ym5cFs9MwysrO8gL1tJYs1OUNKinGOQvY8/9B7WF8coD2xoDA0tYP+UFgNL0728Y7Q bqLBp9pWv4TSetwH9sw0BdBejn3FuMjCgWJgTbXrqtES+cbchfwxGlWftAF3B7fwnM2iMg+gnXRZ wfkIUidZ0Z79/3UxuojBGfD3RbeF1Mo8yCeM/mHzneblEzXyc6QkTC8BjfF3AcllIn+fFm6mWwes FkQ4ugFGJth+hu5e0FZNr09QYM/G60kdgZBMx1vg//j6zZx0s+E3i/rmq+pHaDLM9WJvBWLy2cMT oIymc+QkMxYaPK714lHy/7GTaD/UecqAhUDtmTLsrRUBBdGL32hYXMqtmO7H3X5odrj/n8G3SvgK NTe9Tay3jlIWoqfQuXdzf/8SxTuoVe/pAyW0o7+4IlbCzKN1Ohha/b5nZpAEwhapnJ5aO4Nrly4t HNwB1yf1iHaioLDapnLLu5NBjtXJOG1S5iBSK47M+xgVH71q8bJLOrDlVy2QGdgAOzVgJ7y8Du9n sTgBcLt3GnH3kV1ES2g2G1sorSXmX7W5ORTkHBR/eIr8UCIIgVQakhdsItyazQIlzxABkwJ0kZuq Y2h/P5w6Y638q3LRYAWu3CB3+zF90CjEt6xnvDUuedLYorY+rV6VCLlHjiuvx1VfRcUWenof7LOz /hoJ4m8sirpNAgXd1VZuVXCpPm7YFLIfYJ8f/hwqhl89f07mR9Mi0ZJ6daR92czRcdnkhTZPnPy2 evTOyaaNcrl0mwgjPVEHzaE365P5PdhEcr2RDAkjCwJ5nmYrGa77KjoLOT+5c0uvbZM6l0j4Twsb 6EDI6kwxNQJWfhJKT6GhnrLviVO+/7upQqDNGor7YbUUAVDkRd8abpHE/OPxPxSkyBojHvMycGOl C5y8SkAXyMlf7UHnidltUml74MsAaLl+fmS8XpvS5gXStr9mfAkLqkyqgxaeijIHGDCB8YB/Djwj dH4YFbKCz1GsPnemtqcMvK6NGRXeQr/wTk5P1hL3tzxkbwGAirhxrO7J6JjDvoedvrSGrutX2CEZ 04V6enbo9RdoBkHMRUAnegoDXFk/nYLWumhIvfP2TBQTTrGt52H5rIIOJpRcRqwtJq8Y9gv9xg7Q CK2/eQcosT7nELTMahXHdQIMzEoVkvGzrlvkW6IMbWTMGcqwNLfXVGZlVanBrWbpa1GDKSvG0JGY XdpH3yAuaiqj2lNSTAmTNMLM8dN6YmY8MpIcMIIpBqvTvgsavbIJbGP4t7E0vWMV39JcMReo0+x9 ZQOxshLl/piMlUqnDA0XCOCEycFqMLHzVC77+vyLp4K25U3/dQNkcboLwOqih6JWzHAgeRrYc9js A0Oj4kRmz3U9bdDL1WdfqUAsfMsZ6v2WMsq5cbS+9MCScIHt9zGHK/IZoINU77+QkToWXD5lJa3P mSHZ4HIMLkpJtBiUHtxEc1JL0vc0EiK82p0e7swlneSbWT1Ph/S/WKNEesjXzUp4pCXlDeihjm5G sCvg6Cpl+RIaHKuVARqDp3zi9vWNTaWK0NwQZ/XvLa+xJ2ySSwnBDo6L1u1x7a+8fk02jPG/SxDN DNKWLFc8Ns4vk2aiVf3QOTJh5HRh7Mnq96bPA3LUfE6CcpK8Vuqe5v0KlYoLVLpsK5ctPxbraW0o HPkZq/LWJkBVIPg6m8GqjT8+d+X5hvbDpPGr2CXDuPI840RUzn/g4AGMgCGtYEAnOs6sbbUIXTJL GxLZsO/B4qd4a5mHXb0D1yW07ztXj+elbQmgeMNoQy7X6oNMRWH+l5/WaKQ6d7Sh7RGUlvrLSuLN 5h7yiokea0uHkmecn4ASs+LxjQbGzrqMI9eqYHvDUr4Vv+PnQ48DUiNYhktNtN5evq9nTP0+lTpV 3+IUoOofhnBFKwE84Yy990/Wdl/NP1std/aA5OctrQySkYDYKzueICnif6THiTzlXAFqSnH+yXmw V2f7LkZrq14RJF+3H6eEkq+vohnNsRjMjzUJ2ubwxC0INx9I0ten0XnVu9kPZLhKh9LFvxQ4C43p wmePScTnKjsC8q06mFkiJcgUzDxxrgJbyHYvUvYANa3XL/ZVwpPU69QYH2MQgMmdffvXyEp0ykC7 mjscD7f2UMPBUTqk4fShG1iBQtsKvZQ30bIXCa3+dFqgwSgMVIim1HHNMWK2U0aXwWU3b1VlFc1G 2e+ECAjNGBHBfcyRPqxrCNve0VV/f3lqs+yPUkoOjMXw0xFR9RLqlV9F+XH7JYCVV0yqLnP6Cv0u PTiONRuYSY3WjPW4jEtIIRaGwmQEV+4f9ONeBjyaDyYQ+Ham9s9S/xD+lscwwvIl5/JLrNT1nkNp Zninwk6aDM9IKC1EJaB42fbITIZcb8sPrL3bNOb7RSPdGdWZnNGf+nvA1VyZDHTsuAgEDdwSwnX/ x08RYjKih/jY/BR6yAWSHROMibxk6VJytWpSD5CIsXsSgFRMPIpb5j7dnqR1pdHM17siRNUbahUS Ymza9MiH1PsqUbscOTLHM5UoRgXjygONaEUU84aDqZ2gnfFlU/l8tjU6d9VNEqXn5lrq+/6Utjp2 sCkd2g4QfnhM/zHCndJh5bru4LfCCj8RleTs8VsYCbdAZDaIlJA9DhfHQd2epoifB1LqROkCrCvT DV/kOPgz88uiDJ//Pwsb1gxkcZdmCPJJnFKw+QjcJr4GeczyPIYYDTdURtSvqfm1gBXq5Z0/I47p 4geiG4gXKaB2/xj7i6DPeQpGDHFOSS43Ck7CCW3T38otM6alUOIlzsNTx3aL9dHgY9o5ycjc84Ef IskCH4Guh0gbI7PVobVo7c+H1UQUxxsigZNdsgaDU2jhQDK5CjtsaA6t9+8SP6uR2pGDFliE8elF H3uC5Csp/aWUAfvdtQ5PgNr8JALs+vrmWUrq/RYsJaKmhYnFTCm0HyGfS+d59CNaoCheYsbnRPXT IATjIOYMNwiCJTrrIHLoJ3XblT/6z6JNaIMG0ooeNaNssM415qE17HrxxyqjIiN3Iiz65xvzMir9 irVk+WUn7YqhQzLSLfsT50AvxvJnQ7vNqymC3F7Xte+QEpXtQmSAEj4LiZMciTLK6IbuGMsGc9y5 cC4UMJt/1+EfOb6Uy/qfaLE0BgXM+ZdTa9Jdtvj0dKS22NPy5rNmV2dIDBesEUbmyFAMUA6kw9fG MrWA6KqzcbZeWc3WSw/HfWHxQu/8f4yI/iLMpgORn1cuAwU8SauVNGIo24UnJM9hQ4NC4cf0WEYl mDY9h+SIgWeYEBSwpuwN6ZzEdSKjU7b9zOqPPqpYJ/TOXZ9fl0cBuXAjUVfLBkRmzGHnNf5dyUAk 4Gfs+NRhtPZ6UQVfUUj5QwLXolbssZ98Et6lbsiCxvEAEVKWwquqlGaDqgZqspzZ9kbuRDRTpU0h 1AV/YGH8lp3oacCN39EcwTCosVhIQBeRBwK3S06uaBCp91v87Cv5xRQJt2f6tTElsOFm/iVbcpIY 8jFSMxs4PBCwuvUiH9FmM0PBDQ9IKfgO2HEMoUXg/fA7X2KYwHOL5lyJNkebLzmdDlz7NnHnBh40 RKIUObBmphisRbBdeknQM7XlDFd/ZC4FS35lJ3EQjm5vWFlAacaoqyWTD00xyCMkHABGZG/dg/K9 +nbu4G+xVP1/CdsnHdESilmCbnQCz+/A0k7xigycEYyRx+VgbB3gXkd6UJgaosfcsinZkCVSvs7z tDffVxYhJUYjVljKt3a/rz/1ZvqxHZsBFw6OiyjWEfajiwuNC6BmYTlma9huqUVKNPvJmw7jwM9k V4j0QzwjCNT9548Dw6Nqihv9eCC6g1dDnbEuZm9DIwmqMglPHB/JA/TPUHapb6r7MSO6Vy21MiFM s7d0r7xaQBWGGXZ8AaNSilaDf+Kvbvn+vC3iNCoEAmmGVDdJbY3Ml06g5soa+sqRwAvJZ+PV3uCV gVC1YFIncHRW31VWgIzX2YjOG250GNbrRUoVX5mU1HOTvzuQuTebsonkPQM7qJRn5c7AYHcKv0Sp rYQfEj2Mhv4mIByrZUWI5h5Y0GozTHv45cwMCgj5gTWzC55mJgbBpBD6ZkN/rSRn5yBZ3IuMEgQ9 oAg/yUr/1gBPOrHe1T3750WJHjZaIH3pR32IXsl2MU5kvQ7iGZ2Tv2OTJV7Sc7rB5hLDX8Uw6W18 WZCzHfEA2o74CWcXeedCaDo5veYIXEDoo/N0kmSAFgqZA3dbBRTv9KWtdTZVQgVsg2CgC4TbgUfR Sm+ybtS/rj/+AnGTWF3u0CPSJ3gcv6+tyXnyMNRio3jyLiI4ntcfr+D7mqGYf/1AchXMhIOC9EmD P7hj25ujjNDrdstfjNxKgOkPEp8Ht2MCTE4CMEVDHFHOWhDgi9f0dPCIHDqpPEmh5xRptTGtQPA5 Qmhs04VWmFuTuCpw3np/kJt7uI8WaSkBAcbdcm2o7QP/UcZSqCbRD41cBjCdcgiA+JEk/DDRx7Xu wRKNR0N22xm1PAIPxVQlI6mrjMRWmAfyrRqIUrER1wwCM18fMlzK1AtMWqB0s2Cv7v1Qldl1ssx3 8uwjg2DqYvJZC+yfINQzYndOZDh5unhw2D4n9U/mT3Cci6YzaYbruOHdVQ7AKKPT0JWW72IbP37q L4c6d5yvnSftTphYMTcH5hBLKopdCuKe1CHxAXIlgCQ2bLDBe2sxHWrFVji0ppg30uaKRFqWCnRm M672dxKo7Arufs6QUJepL44rsngtERpnqyryoB+fiTvHml042yCZ8oMf7r+MGFDRPW87FkcNc/xY ZkbY+h4Q6UfNJGRCo6cgo4aksfejoZITOuDBVxCSBLonfxyVFif7G7EiEIPhkXcHj1ntaxnfq6rf TmVBXCckbP8L3vW+NTp0j+llGF6arszBb9yL7JhQIDCxUNNGG9AspkG+c0uLbrVEYIRhRB924+nk FkllWqpsa7glw0u4A5IO9qZoHF1OqxCH5YJ889VLdOLuB5OdHqbyLygdzP2M6aJZpGFNcQ+eMx1X SeAFcUe664588fLHddUbsWv3GJ4Pc5n1Dr4LY/JZok/S7EY7UDexg1pWalDtEQU29+DNt5NCy7bM 6ySzVS9Qq4SBXlsZUfwIn2bnHIeR1wDE/rRfH+TrEWjWlv4+OIy325eUHV2LU3R/O+jyTvl/9jYu n3zgTapvUZSGn00ck83cKHlu6sw7/YGd9hCrsd5B4s9NmpU9T7KAeVBUdCdJK9FCCOtu2EhE1p4e fU1624vZq4I0yxsphpf6R1fQmk2qPWykBmRvKRfwuGkwfhdcZS4xisWqEXQVAiA8WUAFdBCNP0vl K6VtKq/+fARdctZ7rJ5RM0CLE8wb4WFhagb0wIhy2fjNwBVU4JjKw0poIllY3nAsEl9zvGo1O++p +FY8l6ZHyBBoIAp2yxgTymgnqNwYCI9IRHxxj1vAtSq+1v7MhXVogedZmOXcjcaMM1hjdH1qQ3T7 zLVyzXySEEUQzNwoefKE8TlHzamWaNLz6v12sHh4kyhlQgfyLiWDIi7cHNdmwt7ktjfHRBQapQ2V OGtfeSdqggmISlwPXL38WpHBAuH/ap35j/H+brXPbkK0DBOhM9W7YxT4c1HYiu0K1mbt/B70+jIG EYQAdT7zjf2w3fIZGqQbzcy4zFmaczeQaeOEs2U7pm3y5PH8kSvVCDGxgkJfOZatUyHA2KzCuX3A crTR+P0u2T1XR8gq3KAbFQDNXsexV18FGpXwNMC04nyrsbWqN8+jTDTEfgM8/3N9KObW+VjshGJZ NHNbjFli0biDScdUrajVk1yElZhyTSstXhC0K/+2/ONlqKO5yUpcvXTbClqVP26SbXHJAL9TYnls csuvYaUliCdpht3XJ0fbAXYCjRuSep+4m6rcjGlXDEwu7yjIwy2BwVu46BZtl+UVUcEjMg1NQxUE gmg2xikRMOWa/K5IiLqF0juaa2lthJ4R4YcUFykMwo13wdqfSuWdtQWQ0Z8YqLGn3r2icvb4I1o7 jxqLITjvS2RRiJOQ9ai5Ibyc1h8u6lANWW6JCc3u/DWKvec/phv/4hEZtfXd+bY/oyuuvocu3MbQ 08qEdGHh0OEurQbEBS+1gIajWnLLgbltxCLHHTITsft1PI17ejs7W+hIuFPcP0Eg51q8DN5UsDbZ qEVb5IR/HmCfp3q/STXoXCcH+pYqh6qBxSbmBmRp2PhfSWZaPztu75tIEx5l6ScT5q1A7vXYyJNr n4yBoCVskL8LEm6MgSw3e6yL5Mo1amw3gnyoSJBacKXcdseC42MSB0a+6FT91Sx0yFweo9jtZ+4t ICZroveTa8Af5E+A4zpTrqkbu6IyvQR6971AU8W8DgQyhji/JPruOFfFjyoZr7TtQlWnf0Qwspwa vdKJMxcgT4T1+GSPHr+Yj01PJgvcwegIyLmvpE+y3H7ViRqeWnU32pqP5zwp46HLKCn7ZksSL/Hh fsFOEdCty53E7vtgP1IjcwhQbaTsW3VwZJXGVyK7bCM7PLUZLeuUp6yL4Z5cvb437shnIp4v/gcz FmVrLUQ6KpSbQ76V/IYf9npAJqz+cQ2Ldgi/aomCbajPThFVr1EC8FbRtm4vGcCWR9Q3leEvl23/ 3+1JrvU0EBUrnTb+UfvCrv7leBwIneZsqN5E/Uz7VciGli0Win350vs71LNbSsoY2TF6it6yJDEp 1ZzJSnbz3lkBqnCOT+XgvqOgr9b3xmIp+IXaYfUtDrluPKxu+uOp9dautbHcSgQM+W9qRZiBKqJ2 kPBLk6YPIXS/8RcWZB+tx+lnf+vsmSlCue6PU1eKjxdsZ3CKFgHwXkYyZGN27saeAbeVq7GQ9SEc rj5x4hpZvcWaHFyuut/Y/tN5xtyve/VOjIPVhKt5++Ai7elQpArdJGEth5PVOBp8+eUMqhjNlt0F QVsMNuvhKwibaTmi7XJnClaS1imnSegJIkdM237jQvpLp5rsWzo5ZmUaoT4C9Fc+Jcd1I4po6Rh7 Ha3pn+v42CFLT+ITPhOpczM/wXrkgGvDpC1wmFJPc/UXh6ZOm4HZqFr8RSr/Op1pMWT8ih5eUm9W bp9hMHWBiC+hye82dCHE0jgx1h+mWtHHZWOGhL5gfjyTgNTn5Eix95sx0xNVEm4LWNkM0/BRz0Eg KJ33a0qMBIVp4BsuUfc2K/ewQDq6iMGUcR1WlKldS/poZpWpSGzoL7wmeLjyL8hA2SISgPs3fPgM hqnWbGChbUDE7ARn+Xz13GEG8DBPT6o1C/vq25eaxzi09r3d/LK3+FJKt4nNiQQU9J9/MVCpVyTq DlNAcxpu95t2ivBQIc/Ypf3BrqfyIUbAi74VJUJUWVmIBCql2k30lDuHdpEGAU/N7UiJFy801m8l JCbHlBepzcPcbjy+yUYrpJK4qezarawgSWRBOAJH1jg6lFoXgASkOQxVtvnGQgaQV7cDfp1Yui3z e/ZcgKTJCxfK91sAGr0w3wFKzvnDkFVMoHv7jkcwQeLRxbLcDZ4d2BCH7OvtC7QX512Q5d09FTPj FpSLLYdgAfvk/l15FjqOPGl7JX0eIoHajIkmtZMKJv9rxRZjwO/FllAdfkamW6UL9mm6fu43gRss KU/6N6JEVCbr/uOUCYrn0KOOSf+KXNQNwrdsY5ypr1TD34FNznmgZMnaiYm+DDDC+aMSZ0nNC0c3 cb+E+HXQY8kNuXqp49cgz2yWVortlzcl3WHDUobuB5RJZbOl/uYfe9s1lBcH+8zZA+TB/PFnkMUJ JaZ073LSrTTVUlRGqA/xUoP1PM8ryhxDah2Cfa7ts0n6nUWwjSfYdcPMq7smZ8jLMpSk1iqtR0ni Uygy/i0zlY1udBcQ7wtFYoIct8c5HDJJEZWZSQS/Q2agn88HJ2+3NBmWoAfWFmYJQ8ywIQZ2ovHj oSw7slPUWndHrIsjQ0lG7qMFfPzZV02HYgowl41/PzX2uIJMUvUZw6UFSywRD+yWb3W4JqNgclMx EElWtl51wn3SlCC0kauMrFmS3ulGlVf+IGQ876ioYOXIRlVYu6tamU9ryNQVkGHPkHV4wHSEXZhE YNeVV5EfzbYAsLaj7l2W9Okvl7yYm8XTAs+XpHJ3R6qDditzC3HtGPXqJrx+PgO6PcVJ5KQw73fe 5XbHfgW1lqcogY5SVFoW6FqsNEMAFGTRXASeW094Gq9A7jGvGXR7j1z7Uz2BZ9Kov693/+2nADBW Yp6+zihi7Z+VnrpHZ9Po2bKMt/V/e0LsYf1XYsY7paFBR9HGyyt9+ygfnRVjE5qr6uRAOhFI3cmn 2Ekk2WW73IU08BEidS474W5gYF6YJi6ZJHA2dvWXOyy/0XAJC5S2DGp4WfXhLxNd/VOQm9PjWYLS DOv/iFMmcx69i1xRl78ehg7HrEdPAofGQ1hruEk1LgPH3h2Es0qq/6YANnN32nyQYh5A/tBiYm=== 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 JaW7lBbLURc+gg1iUJq7sx4Whk8l api/createquote.php 0000644 00000074356 14735711214 0010373 0 ustar 00 <?php //ICB0 72:0 81:474b ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 api/closeclient.php 0000644 00000022551 14735711214 0010344 0 ustar 00 <?php //ICB0 72:0 81:19cc ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> HR+cPnrpNzqerQCIHRdA/ju7r2XwWyXiqk/uSvt8o51K9jePPMjRjzNrefi78znL7ncbPCfUZxkC 7lG/qlzxksylkttW0Mvd+E1rMzbNYmlRntwTu9N73fuiomcAZR4d7oNO2mJ75BSYmTOqDi4dCBIB CXoI2kA6EAXoeHRo+T51mfAeKwsxaQBOU8S5FJw3EwBch9REc4vIZOoe80M+ep+zmGJ2oDelqRaP ws7gDnTMjQZEP2sMaRZVPltJhjCYPvFor+XjwyBpuopf/b8WoKUx4id+GvoogNKx+fOlZ/TaEXAH 4us3Tmv7pcHg19r2K6WsO/88RF/OzyXf5oxj0MBvM/Q8qKfDir2TzOZvtCKvzBDEKGUKgLUdOdyZ eGT6gxf52AlYryVVoaR+6nON+rcI5XOQBARVgz4hi1nQyX+KfKR23H62Z9oobA7d8DO45ZN3SCU5 qQs734DZ9UDx9G0Jp79SbTDsRoGlR9oBR0wi17xYLqUY1gSi4gvSwB2U2/doWn3ncM62QHHQMp3x 255xDHwsvtmesHgXSNrCw1kmGaZjLdRBwpeJd+8Ekmp/1qeJv8tdQrkUaFTmp6QT4l4GIgY2z8vd 1vU5yBwQ8raVFchxApF0CECzwfD5PslvBoz6hFrfSxHYGNDGcerrtD61w4Nfks9w81ReQKXvxYMz 8++yWLvzFUEuQEf0C8JYg1/YryMoKRf+cj8HtYVpp/mGQQJSAzkTH2VD4goQggND1n/yQloxDMxJ j1iYlLz549Qlo7kEHk+WwlO1ndl16EjlC7mgN2a1aPA04w19Y1fHR3MfhChkOT0c3UY4y4bo7uN+ x6bz16cHKz7QIOt5pEgJgtILWDYIZ7TQMIYUquz+EvdyA7IG2eHh9wFzycSRTEjkG3RiqwWm5bnU sTB7otyvafqbS8vQNfA6YDjYspDsW3kxZS37CxW/vAUlSys2nVsxg4z5qSwRv1qNxuxV49Bo9s+5 yefsUXJv0rvbKwkPBqt+gFWVqeK427Z/vR4rU1UVan7OxCMDvFma/sPpNGh0O/cESfsHEOWV/aqI VpStwnMp5AiXjWxM++syhiQPqmFXWv6g4htCKSCSWeH+9ExjZmxC2iRwYziXYtQ1Myorrr5weAwP T6wXKcKFqR3AUpRgEF8jI8xp87lqUkFxJp6gG3doCHDElr8ww94CuPgmL9EiQSiZ6wsYPjKNjfRP zP18Qqfuo2VEVfTgbcw2DeZddWuPU3fLoEpiiVI62JcwyWctWvWC+pdEZPzQZ3SktO78MxJwpMAG AXb7fSPC/wmaDlHOqoTsknwRUKYsWIyuZMSD5OwIk9qFW7ISGOgDxfWR7ISFQcCmoVgzR1flmzuK gTi16d0C9pOHE6bZE3YuFik64JYzoeooHKia5VEB9nPHN2VokN1jG/2MfNJniCUZLhaJpxOrYgIt IKvlGwK4WytP3mvz9EVwvBtCqX+vmQi4naZvglaRjY5Ms17IH1fTEPo5gtc5SWgO9UGhi+5mwQDn tep8xmI8AR9ICl/7z5Mid8i1WDxAUiP4ip+Wlti2/2EmROznG+Qkk0PaNj6m/vUZVIXIovFoOc2K XKLZLkRr2Z0HRi4QtYWJtyWPBc72BG+LaikHH19ll8GVqSQVPZeGhEWaCGUiREgd+weF049okssn nNmHDekznnLnZS2XQ9hURxqeZilh3HnUwrIFwKncC4Rd7NC0lHI3FpXMB4iiRw6ndy7WBoPWGK4b VJZu5Lz9adLFgxXYJC37dWHf9OGnAuO72yvoB8MbotDVxPyPruk5DtHseWR6+03m8ETQsXEl/0ic w8BpZ3PWCzuJc+oxrpLr06juCQ46g124TTLXiSxTRmviI1ui+1HjFGTEGC57GedNoDHbk4M4wG3F 9pWx3IG+bxKv8ddhzrPk8HLeMHLKcIttikT68fdMQRotTcBYTfcydlXR6hUnZnHmuR5jyiZq5/G+ dij5MSRH2V8ZnXdqt62EyyvPBEzk/t9n+JBLJ2SpJJuiGCTSbxUPVhPPpwAxlWqp4wu1+PxyQYi1 IJgnQZR/1DkNOZt0Il+j70J0+BlrnAOvLw20s0fasud5N85KkZRiOhYBZNawk4QFsByHSGtVkeZZ q8/xYqyOEWxxL0eoYrfN5A8NDe84I4wZUX3ggoLBh26gDvFjkmbzY89gTBSBvmGph8BysV7ZKuUU OyxTbmSf7c+iRMeVlTgIKnECh4BKRwPU5YutvXkWyqlU1wVYFazl340s/EVOLkRoPgEy9AwGsHyt EaZZ9Jhnwq5vq3WcxnQYshxHZxQKfbzSwXselCFYxCUsjTJ+I11aApWmOSMFKz5+H9e982Kr1i8F FUoQoQt9fip64o5uoz7FSCFNFl80EoBxDJkSoVemcsF5JBZCb43fESuCua49+N6pa7YaIWTJw82j gc1QQuh7PNRbES8Va3TZnUh7R5n580IuxCubtg3Qkv/0WiAIpjsepLpZkbAHhN7WiDhnYrNZooa8 IsNRdgVyGy+mtU3ORmrUk3Qb6ccLVjoue47uU0Bt7X6A+yCxAztUZwuY9lZnfdYMDYO+8ncWfCJZ uDSOUlVSmviSFYU+OgM/nyCEzTs6iWz5SDeDBt02MBniEUm9yHZJu1SxXdSe4fcAZ4fLHfswJvHX PIIpFUAkSij2tRNXqZjA2rvb4/pUWOW3OjBNdWSozFASWK3co4xWCOuc1TTp5RkYB5I0s5ww7gAz smrIxBaZTR0W/r+706NUTfgFAvceAXyUPJ1STy7IoQpY3DI2tnWYARhYivh42QG1VNTgUBEX71GS SerAW5DyfDHlkehuqvwEE86Sm5kTz4mZnAfbeaBh/ea2O6FCJd1gbF3XcJTKorHoEATEndaWrKRX d75SKm7xvkDBr2hJrrE6d3inNI0J2Na2l47anBLlz0QpIDGthyVlv7YvaCgbPqVX0Z6LIaOBBiw8 k6VkolxtakUyy3Inu8a0UR9eFXcvWGaNh9QHvISKVRf9vqfsRDKZyN/andZa7KR9GWY+4Ty2yqYc 7FMag2ZyvP7aCe90OmECVPUcno4DPclFls4sRrzKFpBeznFEwbEMpI+XWUQP8scXGqtbgxPMAoqh 09RaPJTA6XmL5Fu7hlmvI/KRPsL0KjJG/m/mlBSu6dME+MJRqpaDQO/32oj+tAitReMVxAkh2498 5VdJUp7sEWwnAwEGIeUOrJ4MHUe7vmS9QN2FKUYGn0u4zbti+qT3/R5JuPTu5GhZnuROoZxYIQOm JNqoB01k0HE6z7fPXSk4vXeWiyzRGBi== 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 api/getannouncements.php 0000644 00000026332 14735711214 0011416 0 ustar 00 <?php //ICB0 72:0 81:1d58 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> HR+cPtooPRdkArw/XtVmclzY6ibVTNhGc5golOR8k2irAoVexo1yGWzT++Z2O+KWzECejRVXCI7+ J6fZSwQ/7jGtQwFeydd4TT6Mg9l4vFyl4iqhR8/KMKNDSA4fwWpI5haRzDyOOhyiPlPp8ZlrcT8T 57SEcwPUY0D1LOU8vdgyV84P3EjVrJimDI2DN0KmuUmZa8BiRYK0Z71d4H98d9g+HNLaqHoVjRDj HTizxI+K+W4I6cKx1KfNv0J1H7oURtdsZnGrfSAM9eu/g4J5TfECNIosgvoogNKx+fOlZ/TaEXAH 4uqkRmkGAVsEwmJNHCKs8vCGIV/4ts+cFihd1TLfCKZIfFLer3gztYyVXIcUMlkc30IIo15ytpFi IehE6Ke4MCBquvaqse8petBBLFIbqVHYcg4z9+rkj3yCtyRszlfAK6yzxQB+PWTrFdvlXgQ7cSXE /cMWbCaec2Y8o8BgI9YhvTi0wdmjeCXR61W4qyXExsTdsxnUJ2gIQIGBVKxsgwfRGA+c32DktZ4o HRMXLMcpkFIYCPAxrIWI+3vS5TF1nIYqMKT1LdKo9EpeD6dHsFpBG0jbmM9NX5KbqBbKtNfOMvU+ yRCWr0x+i0jEheU3uT/4fohFmFgnU+pIxJYo0xzr6AnJbna+YOF8KHvDQUoqI2TVHVu0Ss1tJMb2 /XX96tHoxvnwfeAprP+SCYpWWgGB77ndmt62MFqxvHudi83tFKWeXWwxNJfjzFUj+vINwFHCIhZS +quISP/b3LvMZTziAJuHFVyNSVRmdoBFvF2t8NUY5ocqZCvUuAL9oqmrVnUfIMToY2+1L9RjAQvJ bTSgX98wbBAMe7GdPjfbh0dgrsvWUVeS9hCJ+voFt+NecpxVNu59hntyL4RkZMyX8bG9PavE5ghO QjFqd2D7C3Q5FaWTJOJMabnBwOnXrwpVl2U1UZatnbMl1xkwyg8p2pMIxNRyb6Xcg58wUVjr4HlA ce30dvwCOHCWa/QpS+Pwk7iJaBGE68l/5kLHo7J/r9IWd3XeKu8DPRR/LP489X2Fj2xLcn/w9XdE nwZyI19QgZ6ChvHF3QfmnU9FB0CbaaOqfKs4QYZEFKqJQgGUW0Ba4TPM57td7yZORcl4JpV23Ko+ yQzuGXE2k0W7eO86pT+Xr4D7EpIQFsmPZ0lGctDfZnq9HfULj6BKHLvxhjpzeOQmdZIpmw6cfyVM jEoClZacVB5nVNR35Gj1EbDs2YMS9Rch4hqF0jNztwtZE/sx2PqjzRLgX3hMMYX7wlgoTpjMe7uU 0ZlrllrglsRz7uObKW5iKaa1ot/MqhscnkG5EAH+bHnS7EieXi3QNN/mGYZfHLDtm9L6VypaESvT UlzPe6NR8xls35tkTKi+M2oiCW5HsE0fwE0+Ozwb9kX39RK6J6/wyCqoDCVUzRRQC+YSJ6PoO2hE aAiSZVfUeARXh64/nu7ZGeb8WgBhaYTMawJRI7l/kBGQpUXMelMxT4f8Zka5G1Az2TCvo7MIoA7+ g8L+oEw5FkWUFtgKEVZTr9n09COW8HJTdGVY4fcj79tSoHX//e2W5gJxeS19rUGfhCALYc5selDu MqOp/5Nh8fN5xReoVasacRhiq1IfEXAiHXuUL0/nGxBN8MqmmNMo90oIToRXrxBPROplSyeiPLY5 gDQ0Yv+0QgxDh7p6/w8Epx0DDYRzl7bwtn7pwcrJ/oyL1jhnVZlO2O2U3UrgDBneDh++yzAHbNYW ksE7CJzR58exmroy9DOI54pE2t5b14B+tTdyXle9M05iPNoKKpD2n4lruDzk/GfaeImD+BOi4OkP WeeVIdyPvXnqNOxSBWLoIjOqBM6ZSuwVBFdC+H30H6a096T9wJKjzOB4PindJqc0RgNV/0T6GUEA EjKFGe7sEpVaQWd4p1h0yPdcC69p/IXUWXn4i6z1NBY/A3WuULSxNYPqpVZW3sOVveHlJTs5nTLu 5vHsQfsF+B++0lAglYkEK8W4VNMbacLvHes8fcZMoGYPl4wuOGkTm2F6Mwxog4T2QTxWXLgBkqJt M6oigPXwmVz4ns8so6MJfqmgAzh9elPDRmvP/cyJT94coR5vTQl/lHRxxMjMiMsrFrepBTwXXOv4 h6gHzr/RgcRT5hl0ZU+eeK+J1IHZKHtfV9heMJw8g6Hsyj2vg7MUxwCidf+puLER0zCcDkGuS7Gw J//OOgDI8ZavMvUv6AeXcL7xpXU0N0tCmCT9GXWgjUQG/Ly5/TkJ84H0ERW4ilvhwyBO7wR1su2h 5eW3+enPNrAVIFaAjmPRYfWsyqfKBnNmUcYbdJ0uNSsc/6emgsLbV6SKOjDGxypRywJuOwMX1Ph0 bLHEFoLo7Fv8LQD8t5vgWGxsJ8EMznab4fRyBtB10VPqUYikab5N4Wfcda0UYZqLjp3pQSJS8Vk5 4Azo1YCSq9ePLKTfmKh/ubt9q0o4chLlqungYPSIUff2NAwQBHJjgPi8LOMiwEP7kqXztOR2jpP5 ZliEoCG1QOFH5tUXkO0H/8pkLDf3fnPyYxTyeU5XaGipayUiHoSxGPL1Ud5qD9ojwP+eyt9zBX+F UL9Z6TsGIxYRlU+m5GuNDWhMlxI7D98Qmf7pbq0MUTiE1TqaukVnYV/6eLHk0S9s9st/XVyKU79t vR2d2Go9sbx7YvLXR7jdYBQP2C/2W13JvXIOoIYB9IjTJDanPdruQym8rXxSo1MS22oi96KoAGs+ YXYsCzg6zpL/oThJVPLdRyCXNTESyn0+Xt1Nt6G6mleTUKE+O/ejbH0wElgG74ZSg7DuW2baq/y7 bWKaB5COepfQT5OWQS7hyc4SmZJrt1WYcNs2Zdh/ZL6NrLZ3X5Zdf7S90L0dk+2U5yWCUPDlhzwu ePtyDEOMZw6BW7x2v5qpQWLajb4Jy3BU+qav6/d2UkacUQhkAZWpfZgFgFJB3JJc4acSMg3Xnpld swF+YMySP9YEwJPrtLzmCCJCKwMRvhk0/hX8gfkQpS4CroLfNeO0L9z5BpMfkXz+kJ3Q1QI9gP+z 16d9qgDQfrdwf/755EGnmY/dVG2ewRAvkVi6x6k/9clmW+MJ/jke6WF/igLx6wrreFCZ8Dw0s8nG ilraEn+7gTWwTJjJHNemoGbJjijTbWuwMxKF8ZhebEa29qziSlLynxX7IfbLQqaz8r/alUnC9uFr O8ZW9i+Vvm379FXYmPCHL82lXMR7ibpHnniaRM2PzRfgReW3crDqs2vER5j6/bFPh3EyKYZBQOe1 XE91/7N7PoXJcHASI+LnXmGLNF2uZ4CfA8GL04FowXMHHgqVaWfLQylKNrZcEtIZ9NNPH55uMEdJ jTNOfF5wVL2hcb7YLu8enN4vgAbtDNqlA51gG9mYhclArGCnLG2N1FVwehc+hXct9BXzn5DwD3iC 8MteM4WpbhxmVPM84FyLa0EMqgfbSmlGCftAoNciNAOMFOKI66GTxPW0WMIHFdppTc7vtKBbK3u+ hVDYc3XjQVTCpBMNW4IXJqTVYCvUDzfOgmq1vey1uFB9S5LV1pJO7umBwgs4wQ74L9rUkMHKAaFZ wtJM++rdxqgSOTFgv1HnddIWzf5Svxebia0bU0hJMJ1QHxTQV7CZ58TH+Mm7Agh1Akn4xE4RAdLO axR4FqiTCTntUtKjRUxNyi6hsFTIZFuVo9/208ehAwRmlKCD0C+mQLWV8b3ZVKZFQXdyiJIBtwDb Pl5jUuSp9O04iDZNrYVVoI69Z+K3uxZxo/fICkk/zNMfUwICkcM1luGz6UyAxpZEkX6UfEIR2ZcO Bhm4h5WZxaI8aCYTkZGjsFPovj+BIRGXZHVm+JW3P9q1JtE6SWHrycyHTzcepU8eeQLPaIBABpkF 6ch7bAvbjqXZ79k7ot1IyQ6NMX1/isDWD1XREyqAU8cKonSWtf1f97loWG5qHBvLDzWIUGzl3eJz WZlXNbQFYEBXUK+pr2thlawUORuN+EYV2Y5i+vg7WQvTV2dD0f8aMLgDK1YlUoXRlW/CfnNwChw5 GBQsUViwIehFALIHnqeBYJPT5G/mQUx6ptE+W0LLpF8LN6BnlLqONcy1wF2jyuraVPib8deOMRMc R/lHDPUldnqUiFBQR0klhW6xTZuf4iH/CtDYVACJE9U53jP+d685vwUNiO3HvlzkxPSmUZcfFJaf 23ZCtEUtQwawL0=== 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 i1if4rqlRyBEw86w9u2tPQCd8gJ2eAAdsZOcj0== api/getticketpredefinedcats.php 0000644 00000022337 14735711214 0012726 0 ustar 00 <?php //ICB0 72:0 81:1936 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> HR+cPnK7k2JHmG0BtCqj1r308Lo0J0j+8HDg2F6lErESQsxh/kR/jxA672UJmbeZk5a8C8tzgaLW VeI/WdGVGAM4xvp6nFoMT4y9rCxsCTrBpT1Ql7qSYXwJ6bo5Bnsxx05wE6nPOyEJUASAT47Dcr16 xTVOfqtlNfKt9Id/XZKacLZ+4zpPQEHriWEYO80SbztT+Cr2IvMEBCki/JazmJfC+Oa1nWGlC/0e DlBsfwAelxSQtVKVfUoS2Va9XC2fu50bzuK1G0wg5n9af8WOuelPk+EYAS2SigbrE/gMBu/tP3eI aHEDtN303vvNw8hZM6hZDgEE5a0nwGUuGEZJ35oM4uIEXw81resdBKEgQrXNp9x0FaO3E1GpwIVI iSlfb5ups8ys+ip0ZO36ECre0wzBaAODDojHMt3HNsPIkUtyTX91Tv3KSmnk0gOoDi4AwQAHH+hx 0NBrCm3YHqckwqsUJ82pU+AssBrCNnSpciPjKfFHqvqV5bMStvKkAwH7ld5DVfnxhSZeOrrROJbW 1OVH/1PKIk6aJO3TlPe/dKjPGHVhooSNUsfyMVGkNkgjnsW6eP67I2gooZWS6TRVhw8Yikc15865 lCwCgcSqu3MV9f/gqyml30z7T0xa/J8OHkeXrO7mxKhlra52P7C5YzCCEtzdm+EKrZ+6AI/8955x R6F9MUK5E2Wfs+64bxboVdc+0hvii48QtdN/opUgTSXBCxhFlqq7mzgHHObp0i/oIG+UFxQhtwDx 0HSG9ySoq0B8oBwFJxZCWRVYdlJcix/paKtmI2cp86t8xWFSs+1YvLfkVkcr+U8vmP/sATOhn/VH qt82Tzcz2pTT3i5s1vsatb0ooXvbPFD9w0X09qZ5q40WXG/cHDnWbr/dQBD+ynrBAi5i7y67hTRc f0E50R3g6kF6G23oa92Lyv2kvaiGGrp3AKcIgTVERs1Ca5BCZWGWo/mrzMXyDddmbs5sTse2cFlX /RiXJJvAjFdLMnZxe1sBtmfJ07QgFwl7SeSg/o+7u00Yml0qVF+YEE41rl+G9198lE4ibyaWkbcp aHMhtPOtZBwllP7IN+EDnih6+iLtn1nzD76vy+YoRD6bSI8EDG05lDt2sEfEJufoR9t7LUGc3FTJ 0UK46KIbokHDxDy71I5icOAHYWfklSLfjPIDcHFtzwmegHpkPQcFY6ADonJDbA8hhveg5aV1Nfz1 QLwxo6MiDDparn40hT7s2TqCAkb7M44Z5Lx8gsuHAeNnpg4H6lHuyLg3LOzGFjzfTXQCFuxy7KIz D949chRMDb5eenOURqkfaffyoRsDEYUJmMlzRO1PlmuU7yKlC5raKkotG46g1f8B8rRKtbmVpK2L mpEsZ1nHTrqzQREBXCc1BsRvrqXkN57jEfvG68bEj/I1kzlSzTCR8iv5wb5KUmTvVBXYGzKxrhBI HFL0TRHRrQv8+iFapQybMi2Z0r4vTlzwqZLBBtnMs+sKmJsaWEouXeD4mmhBz5QAQt4c5VrHl5qG XWnJTNzxLo9PYa4Rx2vDe7MIYrq9FWWlI1jjZzXJwSBpWNo0KabfEWyXy9fkymkhwPw0g84Xmz1N 6XezNagzf0Pvl4hb/SmuuStyTdmtTSdTmxMydqbKoLpx0vbeqzgQoeRvejMLA0af4baEuffJ6HLD Dp/HlAPqC2SOZwIfJ1OBov35Vjfl4nxGEymqf7FqCwhUKq/VWAnYlVrkY91Je15MzmgP6nEgs+uF vrpfP1XVNOuezpqVaPnxZH2sT/n+N/wh/vYVoEAt2uvuTilney96VVhX83sQ8MgGz8Kcx+KMyu/U OLiZCov9ClwAEEO6kd9dwrgUODNVacc6raWC0M7FkDMTQsgGBd2FaL9kSYzEwK+W07teRwmzXGQe t/WPcRn8TiR+0WFmV9ZQRy0HDBYrUoD16PYa/qHHL9DNBWMx//96L8uQ0XZiLuvp7N4rtIHMDW6J Lb6B/G5PB/0IHsw2rnOrwyTuC+QvR+RnZ55Hn3KoFOKaf+cN8RWrfhq+s4B6sN3v6CcqyVCZmuzZ LO44aCC4I0XsnCLc/ojYKhw6+VXBVUv/emQS93bl17mtDS1sHZ9qKBdr56sDngBwA6Ndx1Bzu7V1 oYlwlwv4aHgN69CP3DAV1ANpAwUUXS0xBSilcw799y/24OA5sgyog7EYuAirf+wfFXRl8K7hdiTj kLLoxmxVehaq7dwIOsJ2cSEZqpwp89xv4X3knnfp6TNzEHiVu8JQJ4e9RLbaTjK0Yv8bsR/Bsj4T YJc0lfKFg0H8AD82Q5OQshBti7XP8f1viwPZbE6QMnBHfwPAilJXio0TJfcU41EP5WXeoUimx8cr 1x7yERf4zbjl6lW2FJuKKu4qoGdBTiwSJa761LvxgW3V96aFygSqTb5fs7yuH4XO8X6C6KPFXUmN gvMbmx13mnIGpvlecoq+qe66k2nbhRWiDUASMQVSDLIKzcawgUzlooZptpv79cIYbkOENqkcZwJe 7BUcMaIWvVw/P0ogfCu/8kXuak6NaxDCS13RZVXRxxahaVf6bLE3qZxmK5k8e50lOIuCWxrMkMVa 62MZZ3e4Kbz2QsADeXvY+scI6UNM3k18HAzzW0miGEAqNn8PvAM11ZcMc1bP/oQE1CcJsS8jby+D Zef4f3Yh2KVwbDPay5ZapB1mftNIpwXtmr+5QMkP0ncUyIPnkp7r2/UxEQEc3CZVFyiliy7uS+JL kR6o60LkJ6Df95fFSaZE7V+0xEWmHLhgbe+2PPgsJYOX+fYg0EEvyrEHHEQzl81byRB2Xa2vfw0f RL0vNFras5LtkopN/MGFX0cfTWbVsWJJBnNFtl9DY1kcfIqfJ/EUmUXm+ZwRYzNHHc82lGSrT6re 3R0eJlfYUu+mu9VB2tbt5QguAT93CGFe0UIQ25mwn7oXM2zvUFGxjzG/g+663QGloIyUlUnzTb/K vR2o9CPX0VazGCta+5BFIflxkXc6EmdrnPa72fjuU+ETnf8ZQbGfxP11Sxfi+oz35bU0J86vqYcA Cy61PCG8oNPGQ/jm7/58LwS6IOb4PkSfSlGwX3DFrVfroXR6PJw9cbP0tHiN6R4m1R5e6Duj2PwP GDCPyLRDVqTTbAJEaBIN+5C3rUrnl7CTB8q== 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 api/updateclientproduct.php 0000644 00000146443 14735711214 0012131 0 ustar 00 <?php //ICB0 72:0 81:7321 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 YqZZwLx5QALtbWm7r6A8RLkcMJTcB0=== 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 zHltjPySih9VH5y= api/resetpassword.php 0000644 00000042711 14735711214 0010745 0 ustar 00 <?php //ICB0 72:0 81:2b32 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 dkTQh4xuzRYXfDl795K== HR+cPqllROjaSbQj0I3ug5Um/tIJNxucRwibtAl8diyDu52vKfheldb9k9Ip7tKMuaMDx8ZjAcYO g/ly7RyzbzjX3x86wV3LBi3KCbOd6D/7jDRld1HRvXPfJN8zLl4WMUmIzUHnsZWLNlfNPSczdoLb EiGqEiSvAdzjxWB+SXLvn+H1R10U2rPk6ziMCKZm7nVp4Tx/QlI62DfaTrxUZva63h5pUT3EZULN zZtzHedl8e933AVsXMXMopYPvl8QeQITBJ0O7FC8Q3ZcV/XvZoY7FoQXEzyn0Ti2WKm6T0SSkKyu A/0sRxo4ovJTUU38WTIx5Wst7l/0hshGkVZR77C3frFSk4HuVwPvsTfb26FGf+tqR8adtwFQvWm+ AY3gE3bsHrYthMPc/R8uHZh4/iJq6WqNPau0v893vXYGpnjaAtHHXNSbHvbmCsl3uXcqeOTRE8qM 9bV/nvgANyiBKj+FkSLLY21NEpg8/jC6HTEcYjXEwCV1ZDoaiL9OsfepZlQSLj76axgBv2oFnzo2 Deae58izbIaZ7JbipKBufRbIzKA6Yz3K0v1Ps/7bk4ozqI4lyjqSmUpIA3S944k/0sdcQGe5WF5w 8kh27+XHopxsWGg34LYq1TW/Buz0XHEKiVydklXCyuePFN1XgaRC82P8ZArDAIDkEImpLg8HOz1i 8oUTDT4cbBcDfTSwv9yPP9p3Q3wsVAMrN7BJ4vOzeamdy+TZp67ngWBh+dFqNGcNUOu/OyMCWN5e 46XeqcLbEThtfkFwJ1LiaoipSU38K1DxvzdMYaHW9i/56omYlWBDnVLulHFW/Ufzgox6yiILJiaw DCdlO6U5xWajfPi5zkX8rPpUY/WJw6hECFPr3VzK6EtlVsaQlyas4oXIazl8K2n/Kdv2BFpnSpyX VjrVJyqwJu0G8H3gCs+gk5qAo0Tw77lVwz7zIWEaLg9EPPnTgxYSquR2PHzFAHPLoPObAw1/LfV6 5MLe2RNS4PKV9eRXojaR0uY5rcMza48XOy/sJLSgHgw/6hl/wufBRkoXvf4BGsYvBALDsWUacQjU WXuAQ5AInYMBgEM/l3g2c5n9rtQXl+zK9U0hIZR4nEUf6nDWrvjlyKQ+XChvqtSUB7CsYZO4354p JA+3lbLq9xm2rIRaawcsJ8eFamN1/KzArilXiM5G4kIhJOz6YLCEDipTwMWC9i6/Nr14YWm2GCd3 lQ8DiNM++14e/7Zf7fpAIkeU8dzMUY9hPOdciNWKvs9J/R0Eb06182ev+1pr84Z1naDlueRHDGe7 wtHWrh+2r0Oo53gNXityRApSWL0RQ4eof1Uk+cNjNUxWimjCoshb4kEjQ+vRletz9STmXs5Y7khM wYQ6xqJ/Get/q7mNhFlmB3qrx1qoFnHatJrbbC9oN4ulnexAQ0o+MLXD+LfvhUeZpKO8W1NwdwUt oo5lfHGDzsG1ih2XMlxLcDqz9sl+7vVeTBx9Fue+p8HWG/kCOkRJI1I3/toHYF5rRUoPqFjIuVxA z5tCJUSEbD1hPsbD3GhbSSVPpSt1E24j3YMqD88gQqse6gIUXM9ow93AhM10rJevzk1P565FJTFp 6XpjqmUef+++tmPkY5whGBylvDfkprITIOzhrZ1OH4MoJBU3mJTs995oxNCXrf0DvBZOP4RWnz6e +al7e/hmvD/FjtSQl1Grq1rC0hB6We7In52zkZG9DooDDF++nYsjdi1BJ5XkG4ZvMtwhq50UJqf8 KRkLuNoL80xA+M1Pa03771pHbmHe5vvA4vsoXoc7P4R8CE8DHK1vrmvn0BLeR5yWbDgRUfAiizTc GuUfVdEWaBPFtTxEpkKr6ZK/w8w0sJsVsRCqrRiMpmyxld1T0lB0+NqdBdGWfGWud+j/GOwda0I5 VdeSUp/Cd2LKZH2DyiVKfCXoufnsmvyfAQmJQs9BN33MFulfnwkCLIvU5a/9tgRHqEa01wEHOC2o yAihS78oAIKgt0hX+MnGrEOm30hx9orJ7ILEH5H5w9PWgRgXd6iqFreN6+IBYiCLoWqvFewTNX4q VEM/zKTDd+9ZbH8t/bm+fyPpCoeq5f64lOwm4r9Ht7CAH/0Abm1AfaUr+BDTX7u7UhOzSWlZgM1g 9/MGRx0Nm1aNPxXKMWnncTmHNW5TixI5vLInR2TShCDggZ+KZsidxAIBiFjqHhgo5GzgTwRUGKs3 eODd3KUwUGs5qchVA6l6ArJjuqOumOS7+2HOyYHJMEPkldXsY69c7wJjBYKzlJQ2NtKd4usJKJyn nP1H6qFJnHgZ815PeAnvJ+ceQV/6f5spdlxnTgOP5NvDrXiNmURJ3vCAZrxbpVq1SbMOp2aAkkpU YJ9wtFYHBKqV1Nts4x8C3yyZgX7+E3Dfus7tDEX+OgSCU2zNx9sA6M1Aa6YRq/dH+aCClTwm1gLQ WVdUAVG+0uq9IDmLunq9JoqnV+RMXadEJK6Wx73/gIsCIzN0WC0n8gyem27KZQoEDx98IkikuBxu H9k0K72qiY9qKQhAp8r7sGEw9z1+ZVn+GAycIatA/u/DuDPxgdk0POOt8X+og5R9suJdvZTCwgHm /PzgNOzFnKW6vVmZ3F2biY+dYBKvxpeaiLNXwBNgd55C6g+uFZZvV7S8xa9SayFZeBurzcxelIN5 /pUfLQithHblof9QCbbspv44JCHDMZ/kGpNn136pzHQXXqtyvUdySZO5CalmXlmwm07zH+rFpv3P Fu6/yitd2mI5QgScVyGb62tPEIQJ2/Kij/RywHQiEckFS8owOBk70EIdX4f6z1S72O/M7F0P4r5q FV4GHTYO7ZXWjQNeH/OlwMAXozZfVlwFKvq3R4D9eplfCCkgcBcUyeKCb+Y5wIVW7euOJWxR3MUD 5bAW6njES3YouMc7oFPtms1n5z6spNf1FooYXFd0YtfAsTJT3ovv4WoeowVCFdDNc48BS6d+MK7k 36S2K7D1g/BJhUKSfhAw1cn0dQgWkAleh3xn/WcJnIa9Vv8OUIm4K7AGaYm79RxhT4HuLa3MgT02 87iMmBCWAJxGcCSLaQNBTtU3a69PkjTug8xTRtb27x1Uz9aEMEw95HnEbkjRvGi1iKPVR/ep/XC5 7YyXwIDkMptF7VIjylryGEA9ImlI0JSxzzsDvARZN1Os4aWldiIU6O9jB5g+NJTWiBDJ3Ar6kNzQ Rol7sFoXWAOpGBs/105DrS+0KZwk80Bq2W8PTsQlKZxT5JDhFU5iVSBXPFeJgMififzgTO4jj6i6 FZGwJq5ujo8+ZKfqR9LbfbW9DKINaoVy5ozMTwknZRrYrwZ+4+noFJ25Yp88UeZpqZIZVceZp1L2 GI1S0+vGUB65pnlzO0kr+9dgMrjJ2k5fbeR4ZkcViXn8OrbZVy09kcL1C7W3uFyvs97P03Q3G/Cp DQ6saYYCeoHuAtILXZ4Do4QGOos0a966Hae1Q5V/wS7q3vE4hUjSPsSdRIu0ZsVlSpUgz7HUdAHq 1yzhhIW6h8T7Ae9KT5Oe1zQLSi4Eq40TFvtb6K51bNIrwcHmurfbrCtYRU2ByliVFVENjs/X2+Id 7quwIEpkUyuWeU7LBNfnCqTH5NTq/tqrYViWBHQo3Hk4tGOTJqfAke+tQiQzn8f3PDPw9pDQgu73 DUBfpoJbwCgudjdeSyG7/Hl950rVNhStYxYKoeniW1Rz8swFnqyXRmrOE0xJCNZPnCTMw0+Id6wt TgPWyuvpjkx1tPtUwGrGUMvStga9Iy/vn9kI00W6NaTcpn0C0Abd2ntlm+f1532oPvBTPjejmnVB 821yt4UYq7kRdNJcNN3sUpqWbvXdWX4wuEbqU/WmQdBobu2TMjxwIUPzo7ufOCg5N0xEHHQcmr7f aAk0RDJWu9yzdql0BLQxYEeUZz12JKtIkZfLnYR02OiDnUS/iGepYwybA7brdm4EKTGLizy7AspZ 2ZDHC0Ydo7VuYgLNQV1Y1OdMnAK70cMDnZYbVXplsbTo5dT834YskFW4ZTU3WR3tBLS0XKf/N6nH rR5st+tvZrw0m3Je6CAmL3GwAixbo1vJywu0c1KTH+qX1JgiO6Do/J/a6pbdPYWeSgAppT5L3v67 qPhUPgGoIncQtuxApt2mY9PLVHkWwkJfVufmgU1dVtm4l47mBLIboWGgANWnDkVCV521TqSV0Y7H o4sMb/Y7yhVJ1QXFs31uQZEB7QZwPo+vglsLOdg6hyMeNZrPaOCav/RF4OL/uBRIi+nu6uPq/YJ2 B7WIvtlaDZ/0oPNdbJ+xKuO5LhiaXsoUruIncqR7ZXNgcPWff8aipCQa8Z8WcAg1cYhD0DXpPd/l kj4b962zFzV9hpdkYKVoQcpB183pyUwiUHnp+vbZkOg1RLqBAIVH/+zI0F6tLdCDMlz4X9vnGguK cyl/fBJzwHtIDujNpcwVUF/iXyxuRost9DB98u/k974HxjUgqzfhtUsA65bpvPTIpibdiqMDyDVW Dh7t0N2dNdV/UAYTstiY+xloHTIHgV/ksdCFxc4VKVf344NGgiCnimqGw2VoTapRyQZ8Il6SUVRz P7t2JzOAXmoeyBJb4J6fC2a0qOrnOH/0dSCS3jdeyT/7PrnDYvE2TnWFTfDevHmZvO5ELmAKKYA2 LojGUpMI11t3/PKXGhI9DcQLm5MnJ1QyuWmYo5vv4GhlWM/rPT34gJYpeULhKTZIIg5buOTlwSZL TLoeBbXiIM4l4tZX0DvCT9fjs/BIoP92Z4RVZ2fHlbk5PXnP31ZqvNcfNL0+34zYLcV+Ilzs9Z3X c2UAfyYBRHnH6qCN8wAvtOMPj7FWrqfo2GoHap3QEEVJ8RxxDF/XgPWX9eGpUSi/SR3lGBs2k4YD 0R1dz8GH4Nrv2TDuel7sBDqHRP8d/bC9YXdixxhiWUrXEDN1qo2ENsw489CU+YNU53PVB8PJ62c6 kKh54RMuQX24NEbQ08lV1bfWM/cw8G5K6jivlwAes9ioUQBhTcMEYEkG77d4bLUWIrovrCPLEG96 5F1T7u0IgVNEXjPCknewyzpPQ74iLhS9wUs60xdBw+OLPo+hXscVwraiqHkEQiDymL6RQzeQXhwC Oqzw3dty0wvY97tVaSjzxAaYO+Yq5LFXDZHn2eAxKQWKXs/yR9+X+j/9Jw2Unw/thdBDBqdSTrsU ZSB9KGgaQGDBsQZWA2cRpPw3wFIasUUxKa0PRnDSY1xwCZCwtfidTv6IJLUWxOossCZGI6l907ZO dt4C38NwosH9S3ZZCFfzUzucmRKFQPkyD78g85Y+K2jocL0IhR4T5pCVI4B52HS/Qgx3CpgIMa5y kyhLeh6PYHlewyG+71KrYThrAr5V7KwYeAgKd56HuYrDQqFxLXNtX6JZVh2IWleFYPeHwdu4e2Jl IQ0VTyHKcfiR81UaYVt+Q3ODqC28WeVNmUmXp1eZ9lifZJOZnDI4nN+ejKGpgY9k8tUug2G/PBgB idCbx/gezdhxNUf33dhOMYfiGuHJ4DUqBixur1mJT27LHyt2KlzsD0BkjznrItB1S4eFP9MsRpdi gzdV6gkbipsl3jw60QE0apMSYQNL6VZhyn6NA+tAaAzwX+IjRWEb7Ysmy92UZ4ZLMQFoI4TITumI eW56Cx2HkuKpOgEHrr0NXrmE7qP6haoN0ZLcL9ebWGQ0Q2c05O8P04I4RR6SHZXnwYMHHIOcvfVk t2jrUH1j4K5KwPdpyXHt9sb2o0bhVCT+sdoc0zp67bVSrHxb5YaAnwKXpGk1WpkBBnh5KsI4ajl4 ZfajFvIHLXg6Tbnqb+y6WEQ7U8EW8erW0cqvrqgKvZ9zCSnFVsHdinDfmVtmrG+jkLZjQuAfKH3N kUXBwSgj2s7BKHWEiHEo9Lp8jw+MD+yWxH7e1Hm/FJimXb+iGepMfjTtjorNDrjvzxvR+xxIYVKT +ymYqpsEzzX9lL58Gi2qwSD1hSRIQII1/wGu+tzqaBI7CfNLWDWPAei/uVZjblTxMW5sT8KhNcGE gJxEVLUZnLnWc1SUfYIb0t1myUxAn90I8sNgSLK9Nc2QH1jRhp/qy+1gTFu5GNOebG0fXyzIJ2mC sYcTltjPP9CIXeXn1rtomS0XrnzUkXaIWcj5C7T2qkPX3vQbAcaDNE5mdiXwFL55mW0qpA+NaPNj Rkj8J1OGMes5+I0S1hocoElkM+rvAUJowviNsGOiiPSXcUpBTpTuzkdPbbvctCVsdb8///K6ViwX 5oywv5EvVYw9YQtSQXneTGw2HQVmORfmyNKL+n+fhlnFwdPQEibnIgbBUjkJG+9tEr4ng7GRCX9v IhDdkWpQcIAzuSg2XafI3OTWa2hsfQIU2+2GKiNgqiWExBXN75B+lbJgWBBhY/AQaukGxUGljHte YVsDjK9r6ybHQiAPZgxPTsLICUaH+CvZXI9k4bIv1QvHk4tpLAZXlQOEd/zFJlpHolzckKfzPtac eX1I7bk7S4I6uLOuMyPRczqtqbFMzvh4TXm+SDqOkb/itOSa2CLuVljoNYf/PR8WmASStDINHZcv XL2egL3lSCBbe/3w8T/NV1mK9B95wsym+JHkq9jtYAFh83R/YRZFAx6zPHLG9UzZFMio+AYIIF+b nBUjGAQk+Whh0yWCl0VffKGnQsq= api/modulechangepackage.php 0000644 00000037170 14735711214 0012012 0 ustar 00 <?php //ICB0 72:0 81:2730 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 OdHAMP+TDWRhrBJ+u/sr3WiT+m== api/domainrelease.php 0000644 00000035563 14735711214 0010657 0 ustar 00 <?php //ICB0 72:0 81:2526 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 3cq76hDbaV4H= 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 hx6PDIO= api/addbillableitem.php 0000644 00000077125 14735711214 0011145 0 ustar 00 <?php //ICB0 72:0 81:48c4 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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= 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 2p5q api/createinvoice.php 0000644 00000142571 14735711214 0010665 0 ustar 00 <?php //ICB0 72:0 81:6e9a ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> HR+cPy2Gy4rQzSXYKvbbRWW/zLpvbvRUPl92tuh8ETvg5RAPKFT8bjv40/DzTgHoffbisNLX9/b4 jbSjKff+qDXmOXn1qLyEN38Ylp7HlIy8qPbSdmLvUD142tdWhfo8o7H72Ah5zHe6OJAY2L7nFUmm 3iV5Q2KBTmVpxs3XFW1VAF9g+/YfrSIBc8aSJ2kIjDBUxuniqSFhbXw3M32NJZYsUkyECcvRqRfB T5qQu/4Y+OcWaXPFv3WgqveHJCvjFU7u6aHSBZ8IPVASOwb0t+qaBmNf+PoogNKx+fOlZ/TaEXAH 4uq4SRFfaD9VlE93NXWsO/88GZ1x/eHXHys8bd92yDR8cZVbGnvo1mP2lVPMOmvsywiN2ca9gp51 TtJnN4+0MNI+3xg209m0ZW05pE1ThNr36qbNq7suBbGP6swrzXKgdNIsisn9OPd+Z8A7SYh/tGxo M4P93Be2vQ04FvIMYa7no49xebJK7asMMcm+sJEhrBjIPI4nyxzbz4r8cPLc84YWxFtr3Ea1R7IS G7DzvuPfA8tLZOX8mTTQ3d6K90xcyWq8DRELi0630L1JN52BCQtgmcHdf2Mn721JCO9fVzylu1RO YyL7ir7//Dllxm61Z4OWVypKW0EC7/PT4J3KYa+c3SIEUrEqHl6rqCuF+GPdarN2inUIc4OVIrd0 UVoEknWU9BhKAYnot/NelLhTODulN6VjSZkcgeR/9Typb92zpKzY7Nit+a0aarrJwchdCOHKDCIP TVGvK6DFKTtADRjclo0010I3ED7s5/xdsf9sf2ZrY/sjx1+G4EgQZhK97mowkoebYHo4f6n23chY 5VDJYMR3DDjDcZvt0Yr/iUUSUfbAuozDa+RqXsvDWDjdMoxAc2E2huPq07+C9YAl0NeVet7dbhcH MWkpT6PunJcSVzp9SzuwI+ALydBVZIK9t4iP7dts7BnbYTTRqMqUt4LHGuMojnwRvjeKpbPW3A77 4KWZYfU2CJcbHdyNx/BSghvYel0JKweU89UW0nEQz51G5STbeoQXdbrBVKBn1a1iWn1FLEkhkpZr uvvnZ8cLinKWRbrn2w5eoDBkPI5KUYFlLp2D+71E6UclpIWDsCm8eUF4MtncH4E24M5z5zTdFb51 vwAE5ASOChCc5HIT32euFO8dtt1/EO/mR9PLGmHUjqr4EEpfvow+zL8rWy1jqmgFLhyDr5lxdV0J XvvyMkHeIUASt4hHDF6i7xvLPWH7p/nDq8YlUvU/jDpbeQOhJaKdgDlmSa7X3bgcyepDTzHJk8nZ 2G/4SP+/zvcTzHrH0/Bl5lO2ktIe3skDwQrsCQIm4zi2J8zvLrXTGLFJZHjihx7wlqvyLfUtFa4c QaaQ3FLMFj2UFywwr2aeqkNWavpeg7j3xlZFjbERpAbjc2BtArZSa48CEaeGozPC/4VlTFSKWDoA 5TNh9wXIZXzOvBzYbkSc6WWaXidrvWTQGAhx7SJV0U9tqTC5xzjOUpIEXY02fQstg9NIw3Affgp6 hnaVoF1z2A/0vs5LvWyHOtMU9yUpNXB1yz9HmOrxutGzqEjU9IFkrQkBtc29kmwwpqQ6nIqqUA34 2bR0SJhceZr+Q26pE5t4Yb0hm2wXV/30N6SNRgfREJuK5Go9F/ZUn0F5WwcEzB3+J2r4KYbJAcHu wW92jO8X0oGkIdTGkA0bUWweidu4Q7dy3W8mgQlo7Lu3r+lnKVMPdczIPQBkR6xhshT5dqO6fvAi y2a1fSkVlBvAXxGmpSgEzyB91gYGUCS4MKCq6E1i+MfBgjMEl55dGoy3rOoDUTJ85RAy1hY81pwr xwuzgGNbvrn4Tez85apN9q5YReuQ6zgINUmdKV52bGzzJrpMKm9NoDpPh4N4cCl2iaboucWKREvw n7+XbT7gvrXCY4hWeFSaMOrZRnmA35s5WyvBunZOEWerbXrFNoXqdkSDHTGo3vhRs6Tvo1WMWszd 9PhN+16Kocywo2xAAb6+O1vvD+Y4JpiYgPfzb7ClRoDdNmFQvbUUJwpIMy0THHO7e3lL0CzdZ+r7 ff3cJDwawFFMG7AYJQbxdnKt5l/ylywsfDwnc/Dgoa8pT+4I4ZZg2pGkj+LQ68kaWru0MsSSbF9c CQfG7NAS0PR3IaAYrLjAZjXeXs9AH9ISwMfmEyT2g81RhUu+m7CCZVFEJ0oLjyLLEGd83s+R5NCK N2PUbE+5EEZQxNppbJQhLQzWS1V9QJsqsSdcBZZwsUNcTdmCDU9DlEamDzc1hM4QNae0rDDwCS0L 9iSYCSIXDmtGY/ivLYgAmtSiOsq1a4n5K85/vVOVhamhejV7aaias0R6tW0AS1tTCRsTKHi9GHF6 CaLAVkwc+BIC9EdzHOpoInK8g46YWOdKdewtxyABcAeYmFP5GLltAnusX8bn+w41k1kLAhVaDpGJ /NxOjG/XVKwl/JDDSk9+RCVmNfjKKnRHefKNRexmrOSRj6V5p8op7c+H/Pg51VWCSjblPaQR9ivo kMN48wVi8d/oxushCFIPfkWC/Pl5N1xxFal5zBCKTDsR48BystI+N4jwo4EcgimZr7PbUPcdlyqu f3w11t4LFdS2MZ6hiQw7+KonKViTL9IrthsCOMNj8Qe8yKEUYcA+WEXoguQU17F9hPA/mAQnqALN BKCl5No102n6eLPWS3RspDIyVAQI8kcwM5G0ckF/VNd5geWPs8S4GvV4cwEgdYGci5xkClZ9bOqm Wj1tzKSZ7QuAymL2ZFjiZwlD17Z0lol/r0sbCI+QFL6sa3+akZq1P3T8L0D457CbxP7kegwYX44G 7uhIk7SM0Hj/SZvr4mWMRmSavfBqBWKVULyD5MRDv+/Ito3vTP1n1Epgd3At6Z7vPs1XYifF2hit TGwvXj5xRw1f0GRoXQjDGPHWVVE8NkyT7epFZPPuKmQ/N1aotXVV4k85OKguYTAXJW2AoStLVXQs 6Kv3z5sc8eEPmCvV+Af+WviM9nenZkFcPZ/OtKT3V/FMIvTwsfSsc/VdEi3nQRcmLcJ7xlM/zH0h UOqmw57t5lFFL5pBwlbC1HIhBRTd5+12inBnXFuQMqIMs1dnBvH+jN0WaSy9KqqjfOfJMlyp9y+9 jC9S1xzSrcsxjTBG5nXYyVlgzWqmziEdbwlm8rsKMPLkX8OUo36XwRVtpXzv5ADyBukt8ChTa0m8 sjVoKis/eYtIiKWExUiEZ7qS/TmX6ph14V6pO6IQH6ExusrgMJOPq8HkpuPmEkBIwhHdjZfShoFd Xq76JxPV+fqcKTscgaAfaVB95018ydjfYdf+5g/ZyGF5l3jDE6iV4WkJVeLGMnl8CzGhTBOHmLl/ 4NQ+QvNOqPpn9woj9F6jNQu5NPsagsICgs03w+raVC623No0CrnPd8uOB4dPNuL58HTyg1RwLrXE qpuSLkjHa5AqBdOUC6ivTRNr+ycR2/OTgwUsl3KJWNUtmT+3ZKAkTCcSRR8/4p/wRXAknYNA6A9Q +TyxtyalhMQoBvLv9scLrpqdG5RTSjPkeh53rRy5/baJck4xNxvR7VXqaxsuDtA8nNPP54FThjMQ IHtrWHDa04/g6QfuDIGGXQqNiZtRP9hqiiKAqsgn8/zZzGXe7OLEpMEBE6+LTsjZKJaR5DKm+ueE EPgIzGUAGFdOZoLST7uxpydvKb6Aj85sIfsZFbDv1CrGhFdJNI/IR53RIRJllXqwL7Lch9yiQI5m 9C4QoZebUl2gx+rmoCRj158vdBOzSXQ3wpDjuLUHu4c90uG8FxW6wWwx9BNQykc6jjz1Oig+x3Y2 RGU+eAKGANj3PYb/1wH08dwh+NavcHQ8QJhxFnG8L2/vvSJvR8o4R7OJIQ4bnRT+mgKBjophIO75 jlrr1P6u/9JhdVQSVGdsnhn5oKiRPHsTGqqRzPbEuUB+vlIXpae38EXE4uIbUhew3oGMHkTxAHxD 48p53pkWx0f32I/GwWP5AfYkL5AqVAYr5JHWYdoux/aLHR8+tiUFab3bHGnQboDu8B6yaNqkAwlL uyxV7Q1oGdOKk+0Lpa2H0dU/0Aefq6wgi5P1cfECybD3RjqUrwtGIZTCjtBob8rY5gtFSEZfWpDi nSf0fSfPxapnu1OmB8M2PqOINYym6R7Rj7nLbTzZ6Zxdbh9VQNs5zVY3FGtQI8gisAqKuGwSniGT t4XkWS+0/BYpwlh0Qh8G1YtZJQ+0TKbyAG3SqZA37trPHCnrC7AMNNP2Od6pq9fq6kc2IjmWA7ir KbANb2vURLndyBq5GXMCvFVgZqrHOZPY4slswcK8g9TD510KCLxgkR5kvsLBnDjzfucH0e6Y0Zl+ UxYMIm3fl2LDasW840C96wYsrPFvkdMhaTU19wBQNz8eB8WMjasfNteuYHbKMXA5KA/Z0v/Kibbc Gan70Oz6I2rSbcDUe9GUKM6o0FaKq9CVX1wWFv6HsyiZjMqFwd1wze2VT5rfr/XRkWpEL0twLhYI weLVnY+njM8/YACb/qT5vNYzAufwOqh2d1bVRVvxk9OBc4P2z5DeTIJA95oA52Bi1dqSIMpeHIo9 /HGuL3wEltgScG5Q5aCnZ7zxTRV/Yq3YLQ+PNoaeQ9AkFfFaJ7kEQPU4RUgVmJrPdqRrELuwGqo3 tMfVfNOqT9zgCNKAytez4Apsczze6AvBRslu+raeU4rqIlHCxbtMV+41chguRpJqzIpud3OCDrqB dJ7AgpMF8YSfoQ3s6Hee2OXrlRyzFusLYChWI9cbb6J0M1ZK7rRIsP3VJU0I1V4gkuj5A4jHP/yJ Cy63J9vCPkozgiYHpfNA3Vp90tEm2ivEdynM+pQ1faP6yS3qai2bEpWrUSSzAXsaIpJwr7ZjXYDb BYhNuwx8Xb4f19vfr60L7ktlIu+43A5e7V4DGoT+t+Zeug8/TcQOgWh94LwnhGLcJizcobSzZ5CH GkxZ4z1Nw/reU6JHOT0vRxnmDyNN9xJnxihKsh4pObXtlOXV+o99kczcrvfmRULF+ZvqCVBiSg1k 5LTCDy/vWtx42qUCwAbvWWn9zgelGdT6zArKJq4GltGMsDXHABj2b3DS/VPY/elnVFGm4l+9cczO erg8Fa6abypVV82Od21fDBdaBhzOfjkNixBxqiHjacxgrZt1/YDU0B/JcGpIpHRvih0Furc2b8Yh GH1EKeENUPLzeE+GkMnB1+ArWD08e4/fFMvf9KpTiZXYTyk2OfrbcUmmJmbcJ/1V0rY+Xd7qN5oW +epMt99Gl3/z3DxOQVrMVXYl7PwCz96RrwgNzUZG09eDCY9Y8VrzYDehaI98LN/2sfLxvEm5vOvp Whc08vL64GzxBdRjYPV6z7kCb99w8ykkOihFNYrY/wVFwLnhUZ8m0FwyyJNqG0ZFlsbEmHsL/CO/ sf7TQ9v+KUt75ci0wvXJ4bjPhPaIYhSiH+hdnzT876ho5nCq6oGL1OqvzPzI0CJeQWFKilcaYSj3 ddiQl2x3Fi2Vz5J6TUFFX/rg78gwolwF/ctgghCIz7dqtSUyvlJmcmcHdYXBA74V/tMtVjOptQ+X c5a+9swYmnpNCr8tK2+OQbvP0Uz+bAAM1h7yAHPhWLIk9nwgyDmRdaEK90dGxwisopxU13dcFsiA PEykbQgKV/smeb0wXOOp7RCDEuGw7+jGOwezhI+k4AQEBb0nxMiueKgeLJDInVAfVNxiljNooVyg 2WlHl/ovJVL8WfkNT+ZSlZMiaY1IonGZYWtXq4UIDmbCAGnVTWAHd976boSE4bjP/IPx/JdNQL7U Sw9kc14iehi1/GR1aVfWkFGRHHvjmYAPt905WOnlPup1Lzy5zbx5mEBi+VmKwjXtN1l5T8xmmyXx CT/wT39KarLQO3tKX+bARIjGMZB/uEDSM30TSGEO+NJx6rUaJ7Ls6OjtPoRbE2ow+wmHO4L1Mz78 46sy1Bj80ItxuyHTC0n7velSA4XmCiyKpnQ5QxxW55zvgiTC5cFt5JZRdgLDJURSkhcboALAUM2z MeWmMM3t1+sQ+cH/mXaulSN/06wyh/mjnqt7hSzmxvXNnRUKAU+XgoazCNup2JEvZyezN768sSal prDNZ7cVpsKELpcCPS57bZ3LYFgEFMWHK9PEptDyRMtRMoKugQjAvFOZjVuBtVZGuILqICA9gQQA xLBgx/XENP3K0ZLJwg32ComSSCmvW25uVoI0/3s8bd7nZy4xfPGuiP6xAcKLExWVEVzvsYq1lGt1 7LO/4yukt+9m+4liEiikf0fz82YyBnb67MRcQcIxCoBNhZue5EtJ8SAhXKqZnes01sNhxkqQwkC1 OTiLapDNAe2F/zuvaxPTLGRwORJOlHZ97ORdil6/185KH0S6SzPI6dN+mEHeaucC0DFAh78CAcO9 URXROEo3wIQ9tViSAgqoS9tE2MZfex8/CrB2OpBZNT54+cPFHnce4gF+DwJcBrJvDFylx4zYej4z fc+ZSdd4c3wKzfq/4pcSc2uW97RVKttbLMCXQeTC0KUzIkm4iXzyQL5Owo737h/5g5L4ZLvKUx7a ZmxSzdmqsfCEAnVcMyus5DurFhTdLpV254hBhBM0pweF1IHx5w38961h0qxlLoEWbmAF6ODo1sGj LRQYFQQjCz0e8zt6Z7UxhmLohuceXUsIfC8Xr0/jOhY/REgTWmjqkcucmQ0VFl9/2URAmuTd2QUf wuBBxsyGNRKPPGQ7uYlVpkU0HQDtU2eS4oXP5j8hUUeA0daliMBpEeXe4P0MblGjtySfJf/axqpE 4yAfzDNG+C8bkCEysMsFMNMrX3gy7sbhtvEpo9nkfVrhX3YPgbI8qEyniiMMbWfLBMbT5YMtyP+b jB/6aRYM+mMAvHmKYAUMOvUo9ZOQdjqfq7mETVklp0UUG+A25qGzpv8VDQW9iTl0JiCb83C1ufCW GmY/P1n5Jcq6eOFXClJBdymrJ+C2c4oUu5UbzpIDeiHjY3OMyYLFoPh+bKo+axjqGFf0WJcgaMrR vlZLQNWHbQhDe2Lz/z299QuuDI7v+a6ZAMNIo+I42N8/zvI/Cra2tO+y9PkxcIT3uOk6Tf5JHDk2 wQun3SI3J0Ez1Dgn/b4S5w5ObKsa2sZ+9SNPRAHMLlflVX7oKM7a9k2XATt1jwCefQ7wezeZsD5E eloOgNU6L+slkZ+Z/zOZBfQvEs44bGROXjD4nXGqwfYIx03a24aaA3Qo6NR6UdNVyG8sF//DRPbA Vd4V7ThvdYbeFqZFrmnsv8P1BZqv49jyQgaPaI3vB62ZcxJruKPqG/8olOKT4xVB/LpFe2iWhvQo CizZlTx4BmcPaCqbYVtuFJjErg6c6YO607a8OclT/JU7mKr+bMeROotC5M5KsrYS+tJMlaX82WYT OiFrS3qltOSJ8CNy/TMC4tKQ+bgv2Z5Fb5lsLbu0pfVT1xOr6aeYo9Cc0YML/ns3xQaOjdjz+uYK k7EmzMNpEwYad7ofCQ7Yu10RmIeTvyOPUnXgiZGKtNhzrznx/7qAKCgNudq2cSjk9ONHLDfwjiXk 49+T2XKBvTofBrrmPfsxtPUHD9SXu8EDPa8aQVx6BzR3WW7QNAt//0Yu1MShiOgPSQaE001+4hCC /5f1A84RG78ZbVCPdFl0qmSQKKLz6V3O/FYNV5Gmg5qbrKHZpOJUMBoLZluu6zEG4WJNi3s2zHiq 9alRla+ue5TYJ/PChyqtOH3IRTbo91W0TVNa4+K8ApcWvHc3hcdboRPCfPqv++tiUpUNgjQ57gZ2 JUclMOAGtU+EbrMlSwdDjWRclSDAGA4mHaWwRWOznGQaopOCWUWrlYCHPZAnW+0oQKEHXWEx6zet q2Op5yiwKJZjBhaU6xrg79sftwdPQuL0qFgFk2TwogmDnYEcOooa64Zx806ikC64UW7Mvcb5TPC5 SG/NarX6rn6oP/NxOdvU+lGnudwe9yXjFzZstGo67j8bucPGySGU3XKZX57T8AnW6IrgRemZZEot JNKn801TyvfWC8qDirfezcti75BLUn5sHFwjl3zMISOP7oAVFol6+wHn2YZnafMZzd7xrnMrwaLy oFeRMJTsC5NUUmwDxv6VMj7WGX6NKIIqSMMB3fb3pGyrsJYINnk8fH2oEzS8Iza4x16NxFx7e2rT D5pa7PfjmFyoxYzfiPn9W3H2YG2/dl+wjZ23zP4K26ImaeqdtyioJeJAK13sgaNvnwhXuG9WEd/Z kzJlV+dtXKHerpdj2eK4klvj98x2XNu94EZtcbalhteUrb9zKkGUNixoSszTudtxooYyxZTt905R L20jrINZug7OZcOSq9MTEjeSV0qkoq6JnYct/dP8SdaXd1vkav7aakYi9E61GJ2WAK0X0loGAQ73 QAOsJl53oAeKe9N76QryORoPWqz93/nwbVRdUIVAS9vnC8yN9/SkXCivm2cxWZUv7H3LM15U9rfb rRh9y5YJ7wEdVsFKGf/qrUgCYZBlW1F6g3r+K6FGnpHI+57zOZ6Ng7RvkHEGDdYI0wXMrEA8311T g/c6/SdINhmKz2GuCOub45tsqnPA/GgYQU0z2bPg9a9zvc3Dv2gDRZrVRIRS02uFV2gbgik4OTFm 4zzBueFCyz0GTkdOjR7d/Rum2FyDDlpjHzTM+ytXd1TSgSzSBuyxvx4++458pWNWZLymVsaaIePQ 8EITi0z26NZVcuLoe2fNcKQMm2C3R2S4wevzhQFxIFHyCadMDVxP/mUGHTf6XaGhfq/7RExqo2W5 EJh9VAnbQlVslEzYcDZSXA979MWDH2Shun+fcB+fSiL3g1PYr6MwKIVIU3qd2wNnbi5BxiztQH+7 M3EE0UcnLXo0j92O1HD52LgAmQRUBDq2BxqET2dOL1gSoiCjB5ZDWWdkcAGaDRuZjfzlNHKcZM6+ mdDjnTBM+yeUt2JoigXpji8eJp/IxRCd5k19Ne8CeAaURDwf1e18Rd/mtmtOzp7Y6mEKglGzvPr0 fFiUwWP2H0u5m1vvQLRrOP2vtOhG++EDOpwpWri2fb//jkaVHymhE6bBcMAN3sn/rvXQU5gTB/Ta fa1Hdl7nPJlYa2zW2Tt/FHD1EdDdqyvFeIx0t4MtXi4KOHzN+eyxFhi3UH32SWHM3KnG6e1dEw34 25Z8RbDHyAUpYROahtVQbjG7HJUi+bIKTX52kyqZqw98QPXla2q3jCbXuY9ci5NVVjr3hK4W/OJe Wt4UeGsKHCR8IetTfabCmGHLpCDexbvHltSAyy02kaJg9w/CB/TXK0vkus4jrs+npo4EYIkhwiRz 8RtkYSJPs1HDkimmnXeBcAY3o2i5GyIR91wBbMd+yx+QLltnRBpZLXNKe7K/sdFk0USluiWvaqW+ pLZiGaWSDjdBMwb/NLmlhXXxfiZ8fQ0QpKpRpabb9caNT35YzOTNa/Pq4rdH0wcJfsT2OPx8sHGp KyEp1uwmy5v882HVK1wPl+dwsWs27aUssRveKCCqvU7YMtC9qTD6NyMkjR0WtjOvo9VtckFLg2ZX tIiFUxThKHZekDVFV1Sc6lkjtWZUqM7tQSpJOefKbdJkm923KMuW2Jjrg8FF5673nyne4MckHEA3 9KRcW4JuTXiO/X7WvyXlp/oO4ZwrpdCcOuEdVQS6vR+V+pYOfTlC+kMxEguf34KmYxVk6wSbKS6J weENbrryHilucDml24nz049K9G8GleHUv/TcbWCn2YzeJ9bSOtVHyc1lEDxm/wRf+Yo4FMO5cZEF qxi98nta+UleocGCaK5x3UZ1A0ep9q6AQ8TH/5xZ+0kE+0J6XzORjtv1fOGxe2YpN1TP0fu5t+58 LuZHOvdDuK13fhxMQwyrUzYPYYJPkfn89PiLhytLRhdWA42BulAi+xDRMNGQ/DneySli07kFkNhU 6PcI9G0RMkH8V+fxVVOHLYMLoHoS8iGzbMtQ4+fgPIkCU3HTrfGYDWMEwBh25NDugWQrm6BsS2VL 3DhWb8OeSmKzJBWAMRGQv0f2ynYDhNxFDUpqVjsa/uFBQg+0t7v+cLpGv/h09gk6B2/aHd3SgF4T M8f3Ic253yIJR3x//XIQKaH2I49ptE95OLfQkhV/xKaOCo9Yj0XAqWcGFi9bN3W1oWN8pBwSXepr otIhmVasXYsY2kUN+ajCXswC4mvw6pqlzQw9ex17Fum4MJBL8MIZb0jgs2EfjyG3/kkiA/Py4tPC sMcBJKRFIp2RnGU0IVqd1x/MiL2hLe3eZlhrQcOLOc1UAmxOu9ZaMRRVNDpxV79+IAc4iuiFxG7e PvvbMOLNLSBP9Yu1U6ZYfBu3OPJrLRn0FgkumlK1qWugNS3ONWZhUK3PRSWmlL15icCNVCjmDtnm eaRzUYENzLE+wfEG4rIcFtY0o1MyLJCcxi/MSZl0XjzBxbcrwMkRS5i4NrfoDXOF17WDKA3moPXd o4A1cL3gtPGG+Z1keIWHmLYMZq2Q+vSfmDJSCCJov/oYMqWSodYEQg//unrAA4TkvnvvZvgPhC0v jviRIbOtGKdvrTfeLZLH4v9waEmo4CZtR3IoLInJmJdnIvMtIj+IbMaiYVRzFgEyMTLT+lnYsDyd uuPQoEy/M4GWaE2PDcUmO3PYamp9l7M78AaVH8g99IDbt+uWahWPJ7S6gSRmQIbXJl/e3lOxG+z8 Pe595jvNp6eoXf7U+e4xLumhm8U+PTz9lrUIn8ql7UrYFiIEI9l3Jc5rM4ZN7Z82nmVQy4+i8kBt Ha4UWuAXGV19YQSkTv1hVLyWp18wHe+hx3G/CLFTlMEhhRlHRIpKgDQNvnOEQXpjmilWuOD7BQ6v FiJzr0S/hquvGGJzMKkoLiTGNMFfuwOgxqTHlkiaes47+dkQUMUu+Kf8D0zomKckLRyfwIWto1tI t6+Yt8lixrWYybhDhLHq/QFfx61RYj9Cz8ZycyfzZ4UHQ98KbJDbCYYEsYdjCcAb44d1QfAkjmlc DW2RTukBKXbvor0eASktRyhS8OqlQJAO/JBJyZk69s+R0dEeWjv0r7PnRL4lJwbxYPIugfjiNXUO 1zceuAVcax5y4BvHszm+rcNdfApO4DOsLdUNsrOIHc1KrLXBPbpBYKz1wWZGilcBkXROMb4DLrCW odEwISdmb4GUXv55iZEsqEenYz7RaHeLalqlFI3LsDIZHrhaevG1X1Y2ZUM3kn2ewLS3D5h5tQtJ LInXCNdfGEbHm9/YGc44byHmW9m/QfqM70SSbaBWSkOcPVmPbYD8wg8zeGZEJUpe6Gixo5pFw48R Ecai6T5B3jYelh6wtpkVCO9mu8bedIb+NpIoyc3/9ASW5TZZmxjWdOPtxiQHWafbaUdvwTSgioGD iGQEaxV9O0zgLsXWBql5HotYXoWvMO4xwjl6yauqjVbzY2nxvB5Cx3qi9tVM7XdZv6epE2TFIeGA f5OTHKW2g/7akr6WG/O1BQ5k78O1lz/bmyhHySLfR2mOQ8CP/p/q6ghw3xGUK0PSI/Sd1Svv2d6Y 7s0/hN+aqQT1d3jnOBGKuMtsyDr+KZMA/wmAfVKe7wfr1KTbBTUcDZgFxHPiVR41F+ad7rd029MN gV5WKvLIeowxZiYO1JfPoCN5sFONZuRtfkfvqoZvBEzLxquswomBsZCeae8sCWsjt0oVHky80111 RW7nySFxeKqUMNaNak7COW2L7egcJnS/Ki479ryS5DFrJ42BlMKBOGGmerxs3x/IHXAZEtRf/NuP 5snZrJ4XxQFmGO76qdAfQ6nLtgpY461OWiX1r40uYxe3YDeJGn/qU09eLVCOlRrRAaFsTMVWcbgZ t9MAxgnYiZ7/U0fiFT477OCO3H/k83JsCaACW0h5U5YlQnzAqb6E3Ze1uEwQwtAgH9A/Ahe5pS1d +5eRvT9prX1zTu8HeN6uHA6qekzeErFUGXTEexpmf4oZCb58U88hlebWrFQoA4bdQQwC+vhmKRQh +IPH1a633nJlMUWxzTberIQAfjNyibqq2MjxpJdszqa56ORkm90g94R3/751cFv9GGfuPxNCmMVc +R2Jl5inTq+1uh3GP+fEYE9IRXPNeFN1dbaMAdRy6PTPzU7xh5lumDmmvctNf1+eV6s0LJlEYGiq ltZlZwMrIY1e8adWy/nSt1WZ2jdYxXp7h8N0v+STpkeUpOVINrGmSZYPeuaY6SHFhrLJWW3eZr3b Hnd5CFUu9wb5+tLdHA/RM4P9vAwO9tfKmvKCwjW/BKtqsSuB921wuNI2FnfuW6hykYBWwMNksZ1t MCWIx3X/ElgVe5QgENJSg54wqwdc+2Sxw/L5dzwk/BqHQ/Zmed5OifMza/GVbz6vMI2k/goTSUuA YYGH2lLZVHh1FyywGAnPIRMZMzP4E+O0DtAMLo89MYncMOULinEx8+/dtV18DBSB3mrEIt/J+Tzz fx8uCPoasWJFaBkm17IGWbO8tqasQpkTB3z17N6uYEu7AVF5qaWMk6rTE1kyM9cARksTXCH4Rslz Do/A8Wj6ts5DI7j8/pK8gIJczI0ZjPywrMSaoNLnRTto/fA3B/y2FLzVOm/3GmS3kBOFbhwTuFkQ RbuQxTB3qBkMKhyW5dT1NL9TM3SrQcmL+KKb6IRFN0whMUkb+F+YX+DeC/E6exjdWvZapHVikNGf ZPAGKsy2L2QI4gueoII8yrGI6SoQRQOe6KYR2gCwTCHQbUqq7qt115OH/fE9dANKDjBpNzQlyI/r ALa++xn9NUV7mxOfXtZws2WcgVTfGrUg/8A2qAxqJOu0JGaJN/Z5YwgSuC/CM9PdkRpH2U31jPlB Wv0tSOl/cV0YD11ZBe9nCT0BlXOR3qy1G2Dyt5hwKkZnv3RaztbPVnx/nsvD9VnK1s9qPvsXgyYf lhFeLkkC+YqDJVDtDxTqnMk8h/e3hN/5M4iGnG63t61aqjwwyhXjuCCr8Iw+b96Dzz9ndZBCnR3F 9csXFxAuwPhgv4R67Ty/787IW5alyI4mFckv6t9mOnky60NUrN1wdQwx7gN8WrnCTXLXpNyGxciD 03FWXBm4lMirQ2YrcPCBrTujSr3hQuhfTrONMREhTj5Rl/2O25KkC9s59K19SEdNMamZcrLjiXhm KMeutlWAOTWTxRWhI3hWQr7i1Zd9ttJxwWorZpRiCfV8fcpZZ2wGm/a5x+GlAVDHddfn2004wz6p qA7YCw4+Yzl47HRtMg4Sab74Rg7QPVC7dDN7KptjknTEygLJjkXNe3fgJNaU3yRU2zS1GCzJjhCG q5j73FNZmeQ5ZPLWAQGbjujJ1uJTvQPugeVcMtQPgz38f0EjsgM7ySh1Els54KFAAWO6hKIAnFI+ NlSKKvDAogUjUCBAfmWOTuyAEF1LvCqzjWrEnpCvM8Bu8oPIY6BisvdIxzGzR6hHbDl9SG1T6d26 OdrzovfpCbDDyDqn+T75grZy3f3lVS6jjVQltZs78n2l2bxpL1HO8Vmk/Cmc5jMihm0ifHA2cbqX xkmQ6b9C2puuX99ABmVYQpfTU/hkRTconJbfyJlUFnlSvPA53Wax1fWi2hWn+39F/oDIg+2fpOvC 1QW1lUM7QI+Uj2xJS+KjlnomwhKEIYGg8Lq/7aoh7lF0nl6sMnSX7uZu7AAUrvaAOrTD1KfXhtkE R6AGD56U1aTR6MTT0dphrd4KZIDSUrisd1/1QbNSMK6DvqQ1xydcR4aMIdNsyyURak0QGABXfP0J 6IBFgcDfsWEvBjRO8eIpKvuLz1N3KaCT42bGOanlYSFiLmqxFiyjVpsJQi1kFcdQkdXjYz4EEdF7 rSFIS/VjacGldHymIeRSx3FW/laQLyV5dFVNR9j7WfX9arCS2M5jC0MidtFnnyk9eFoZAlY6/+rk crHdjaacV4cvlxpdJqxy3Kdi27l/9LHry4/UkQ5WUSRSkGVxZilW9g68+v3ZREcbR8qm4tItXcBV zPvReEM9uu38t+2vpYEeDowfIEfsg13rxHRG6kjKRYpakBaw6AbmMO6ujyKNsJxBCo8Xve7muJY8 dYwkMuik1ekHOiSstUpRvBF0jU2Z1yoXFwYqK63FPrDEqUTbCBly+5zl/1NLAp3ScPX7Z4xJmDR5 szlopyRRRAvqegJnSHJgA5CQ59Jwt+s0wlS6P5Tyq10fNCeAu7fefDP1nz01jOGPQRe0V/wG4WuP d/yNpHIc8a9pmQ1W7R8DSuLrf0cJ1avy8/sZmdWQv1tt/D9kPKyVV6wu+VYO3EewadnxE/iYqrYe CiNJqHV/9KcpDaSoLRoHViVdGL3zUqbJniuo14oHFrLv9d59KUP16tXQhr6iVRS9nopfXZsNHG7N XOn3Pqkhe3iMamvPjV549T/hvEVjx6TsBJjCHzLFgl2YVelGHG8z3PCSy4gm82vDv7U8G5puRRqh +fNZxbY44GflNN36q7L56gCk0fLlyGdqdeY+wmrXqu5BGqPkZLbSEgBeDEb4GkyvAMY3GJvPoY58 DW/sBeXrZJItp7kI8h/YXw8pneH+sUAQCf/68fuOl9JRshel+F6S6m9vbL1YdLE2H8bp0JY8+dlM iy8IXOOsGr0FUmWCPS8C8W6mCI+FCttbYNhBrtCSQA7+pNXvrK5AFWMHJm97aSmfboEOZOPCT5M6 W98udGZ2IYzdsQFaG6fKNOAfLbqhUeQZ1zeQ2kqwcNDzEoh8NnaFu6qafLf3RfPNVM8ZVTfOSHFs DiN/Bj0K//MfumNPdYNBDOZ0aoIUdBWJbZimVdtA/KJ8DAGvymQhjMu09IBFzXpZ7X8IbSM6ErxF NZUQPBnmzSG7AC87YUFakG0HrNhj1kYew34+s2MducvFvKA7BpNYypycjtcXZWMS4sBEj8QZMkgt /+zMINGL+rQuPm43gOO4Oa5oUNm8dMbW5K+32J3eXWPESRbFx5YCPEj1w3J475PQXSoHkbV3vi0s Ney0n3t/j17cvLHrQ6H67dgTyK0nbIHeC0mEzsDwvECk5tFmqqWDP+pwRwlhBMf6mQOWO7dSE0g0 NJKoVmV2voVyW7fjw5WqcXSx+fg3CkqqO2haSS6E73RmS7NMov82tTLN2E06fuxzWYnrn8ETf8rc 9YmgnKyCOGxM+O4JN3vPA5BcS65SbWy08ghvtJa4ed+fQtO/ET9L3XBrrcdR0VqxmPNYbqRD+iur LEbn8BMBBGT+ELJeq8vjNUsuUP7l2vFkDhPZgHjYdDdFPFjFyphrmYzjiF+gRX9QW71EoqyjERA5 I4xvYnraHrD7YXDfJ50+hZqNhTnjkD0o9B5SvV+TaGpZCV+D6ieuUBV2qrCaGMH4Is8BlDj4oPm7 Nr3cIwU2IIYHNwykHpLeRnFLrBj0bgZm8zabOMrYzx2jj0Cp95Q515LScLc6LFvC9FEIDbxXqaai eHiverTBZ04pL8WOt59G+cI+lVOuMypmG7ieJy2Afp9ab1Q8lMc5rR/2xmoUCGNyArO2IjIgl3Vo NiHBRgd9d+RIonqXYdgTpmAjo7GAX3wme/qoS2+fAFjXDGIfkrv6mBXL1HlqBeSzKa1Zl1eJzYAT E9mX78XY/tizysfbHnZywWTNrx/FL5sXCdniHwZleZhjp8wePWzdRCYVq7cEJow1g84iTsTVZ/bB 0z4kD7Tc/v/KphEE8Wc+R3TEOSNDsg79YCuaROBKa6t8Q9Bt3/djgtNiEgJvVbjUBgzjeNaVTmZ5 Qv8Lf4nWu9IUXdxi2XoKBoIdGxxXJ+pgS3Uk4a8FZif48d7+f4Vn8m9IxlY1IOCxnFVXkhyblPbV tGvNU5hLqQD9Bv10JSQ4MXcn/rlc0bzV0C4+qe9ftntAN86iMCyxReQN8phXCIBsW+Bs5hd2vX3P nS+QgFbh6Z903ZLGtaaodh97kIs/oSGljEMIM9vUfqcLSRDC4CF1XnKDAmaov4WPNAPgXxRcJ/+e 5YEX7aVMbfmOco1X2Fd+oKvF4Mp21PFVkPpYJdUZ4jrVNcCq/yFJ/IkQIqYsphZx1cm/js6CUrHG +bsYbZhSUBpVRbkSxxZgLbMJQLuPj97fYCwARMBqXuEEIyfKpzIN1i74cF+V61UPc/6tkujYBluA fmnwsMzG+gCs5WU0hcnuMwrAZA9BW5PFrpspZy3geAdvp49sYbVJt9HCakrPavdxtzOtY794j1EF y5qcJ5XX0Hf149Oqze2suTWkYcONUvi/OQixdlWmKxpoUquifzlgjqw8wb6d514A4OVJVFPLB7zx U5HGPytko+Wf30JUJIEiH4EMKKmjTTGl9AjjnnizIdBeAHUMUXbM/h7HyRJMWsUsbQpSqVQ3RXRA Lbtx59dqhpHU3SgiaxO442CzZhNxa188m93YN897CMlF+Szr31DW7fz9BU8u1WLXC0frGmyr3OmT JSGNgPDdtPw5Vfo94DPmwWC6uFbafzJ+UOqt+A39zQRZe/jkMjpGmrK1k2c3sGV5UXAOUwAEBIJ8 j7pVDLrvbk48/KK9c2rKZ5zKYcNEXaIcXgyKIC6ox9lQhyMFAmHzrYjk9jcfgJKpN3cAO/x/Tmmi eNen6c9D2TxBK82XMoQ5sFzJrCNr/3ZkQ/T2Pea1kkOUKHgMqgKzxAHaZNjqDCzCc1m2Htgzqr6i 5Q/M6fRsrxerYMIq4SX3HA5a20rdEgOHH5HEwivWr67QfwMkG207GMes7jgFP1FzpMFpN44LHh1e zv3sneN+Lt5r/ezGnvC1L9Rl3vGHoafmVNDLrVRUhOIqewkr0yV8cZi3IxH2ROF1XmthH7JFaRhm 5FyJ5uE6sNO1jg9YjcFeK/OnFwo7fMy0XugxNTAAZWMCWdy18wNrwuggtKqmNCjN8iEECrcUEu4w OkB0HWkHRKFo9PtFhspHGBtm+GVor7WoRXcN+O4uIBRqB5sOzbePA0VRDtELdSItgatZ3tKSZu8v IyBfjiL/nzqJqH+lh5Fso7xv/LKgjEJqaCl3zj/0NiRwRWoHo22xMPfeVNgD9AUM5KmNgWVTw6uP ZDZCSldMQOCVZYuXabTiWgzeWGCXDbbNPoyjSTbO/j9G2XSYRFnqT33022jsBKYa8NEbu80DmtjM tM6Npt7R0ucJ18tuSBjqKPZERpYs4ZQ+WOdeZm3zyZenPxbGvW2xbCTDTpMDEyTXoU2GE6LrE32a 0t3p1/QLzRutX/A6iTKCMAPWAvT5MqhzNnCoLusmh2uNBlu18ElvuaN+qgiLGRK3AmFJaDkg7AkS J8rdx3LzR8nW5PVe5hH4LKwCShUWPDxPAed2qFi+tjb7iQvka/KFdhcj0UKcpIZdSbk3FVEJJ1sN jGCMClp790fL0i3+KS2L98VCG0qGMRgUzkShgfLTEh1ktiQhICxRmEcQ0QBwt9rd+Hqf1Wualbvz ssrGPfURkQdHEuQ+GHq/qkHJLUzYj1oyBtyUTKUqrBqW7ufvx8J5Zvr3su5AS2pEvkUfA2LCeq7g wZ+f18UugFnA2V+Kg4Gf4aRHFLe4QAUa6itOmu7v2EItb93G9wNf7x+2C2u2sY+hqpWdMvgaN03o VVY5/QfsbRyqO/xkuhoQy3eJpaMuNMsTa3EmKh2Rcj5msY9L1hlAUxD1GOvcfqXk97daHFtRQApw 6j7fn3H1BRe+9pBZZt12zlanr8F9Z9ZUsQVPElDlU7C9c0vnb0+TpS50R0G5g51nMtxMKueUcjtq 0F16/4pp2f4oTrCB1jvsx4ZMe/iBiZUA9qpiGssUqQmk/yRYGx0XyNwmIXZ8SCX/hNikGskoG81/ lUR+EmUhCHE+eNTFfnQndUjKW4B+ccYgjbT3DTONXKCLlAd5y+hMZ/LZ444W+RI8KdAoQkObPro4 0v+jb6Wz2OcSnbcDBZhI+urm9z1156KM39aMiT+dQjepY0l4JCPkcjeG/btwc5cpQrTrpVoer622 oIYCDooyR2Zn5FU/0T4Xep59A+fhAgCuuyDee1+jAW1ZMMAT8i6sjE18vsRZe67V7YZAz2gWqxU4 D7jVE3Y/+sAM8BA4jcS5MWafo73tHwp98vyLuzeOnSztyBbEzelwOJg3kokIRg0AEgBow81SxrR7 WFHmf7l/XZX7Tcu9/rKI2lwoW4jfrbB7hhHL3Fh/hvYOIIswd2rqK+Ga+twS6XdDNT/CTPZd5kWv O7odSIU1I13JIgU2+GWZ6EtNg+HzR67PSHbfDC80NEhYIkzqVkm9ctuq5lwxTkYlG3Xv6NiQaYr5 J3D00YrluyBi4DXC08H41scBube8kJlDjpAh4EY3NAtKSa9JD7oXikPlR0KnUKMUZvsOG0XYS+oy RmCLvcuaRNZ62cJ8qY96vO0v8htD8igslVuj5th6FRrtYoowu0OFAPGu8XnLQeY6UsueTj28b/PA 0GYVvc6iGLAQwkELhFfDNmw/EiVMKPpMR0ppDcIZPAQmAbAmBdN2L/CO7tgLiHd7JJhb6P1ccxdR xmpdOgdeL5kEt11dKJA+oKvxnf+XyCHQEzG4MuvRP6tP8y2tSuUDnCXsZ3loyC2HeDYTMNxqdWdB GOPSYgafh5cEoAbFuyZIRNOLTZwaAIJScS9VzxzOjy29jxdlFyamXLNPvLMoTkja4KJMO6EuvabY 1OqADlQWOjWOC8pWZissP3efakjxk8VUwk8ZcP6wXgEXoGZfeStgkOjNT31UkKgnA92AZGMHjlqC VqBMRJ67GOnedeUysQNvn1P+fSuCZZrW+rze9DIfPrlHpLCJBmkxmMjbkmtndZuWOJl4e68/e5c1 k9nddXebMMr4/vEcCyzJtk80YmkseX3QkvK4p6qrdwflpbi7XhKKlYio4JfDRNZ61cZi5b2TrQ1D NzN7GirpAh26KyPYK9G/O2uB6RhellITEnNOhgh0Bc26o84oEQRYWeZeWqphBkjcD680rh9nHbtH Pt34jSNJl5PstTe1CgHtjyILoDgDimel/1nooyFhmtML4fzwqiH03kWDGTUsEswXQ4Mi7O5GyTM6 PjaA+Zg8sOaidm6B4n4A1qCBKrEd2tlM+G4xGST4TS++DaXweZ+rCo9TTPMinooISt3lQxbJN/O/ BJ4sWRGhPS6o+/Q/SF5uupDO5Oe1JxedAngDvPZom2D5g1ghU0F/NZ+zQlL5d9VB4+wnU++NMmPN FSHz4AiABhscvYZcXOg4fDS3OuxhNHVvVrV0g7JInBgetdkG0jGkl7xZfmgfzZxOpk1rdvFD/4nR Mg4Efgj/OHHVLIidLnaUKynGkskGg7d+usqcrItRACH8DqrIqYwb7MJhlV7Azyz3aEmzzvZwKG11 0nSoxuD6ityJ8YMZf53YzvTFCLSeGht78H4dx8JmNYiNT0JconuuTN7x4KJQx/kIXZiTjMyECujc DaNXGXBa7LwbfXs4twL/Gl8QIVeBLxRdah4j35wih8AaHANLOa+mY3astAOYbUrnNFj3r8HuxWux HAKGgU+1WlSULl+8PhBHJ4dU29ZU97mCcOj7GeZIzY3eD8jAHnPY68sL6DuuEAiiUmslsFBA4RXM dR5cvQSaHih8X70Oq1dlxnoeMuwwzubf4iEUOuMgIUBCGTe8rMYLR4OIB8gheD3kBnjOQNwXSbEP uZkjCMedYYBtADZhUMOA7c0U/jRJ3ivy1Gfbq3hxUNuARs9ZYEMk1TiVv0a6CElaAOXg1Mzy8rRX hehNqtu7dW0BbqZlYeXwNPypHRwRVTYcdLpwQyyxMwoCSXrVdAP+K0s9VqbFYs4/FN/O/Oz2wg+P 8hrcQ26EGanJJwNym+7Y5bz0WQ7LkQA1y/ydIfUj0cFEQi3jmlXV/pCiH604WTfzLjtT+NreVW1z BmAzgI6eNZ9agCHSomNacgOFrtRnJwoC0Jt5fYdKuAqLVCUQf1aKQQxJx1ZWbLDUlRUI69R5iLPm G1m8zsOMrhmoRR6vaUR4IX0dpk2doy7YRTGP2MMHqYI5DGz2j+G9+AvnmHAmHyZAzFwL7fyOHkzM gsLr4qN0+C4PF+6khz+u/UdUJuWalOXzH+9bcFkRHSG1Tnd8McMK+0XKgsFqsA8Ntw1L5HDRvpC4 D9cN6b1s2/SYvxGnRlaVw9xXPUst+A7OkjU8n+bQ8uJ8Z8pU44cs6vIuG9Jv5zWpn6G3aidlY8wI 497t3PdszXUg64TIsSAbJ1CrWAeu+XzDlBAUr8GM4qyBMlQvtxxpyoB8KnOV4v/1KfEJ+6CxifOD oQJQurAH/zwsht5Kub5iD0WPjjsAONzUJvaQMS26+6EFc7/OuuToJQnBXBv8crJZNfHhCCHvQ8Z+ Pqaxuhj7tVqRPCoX41W06f8OcSDfVHU44Fjm+x4G6k1eb+ggnaL2bFi4psbwJ1Cuun82imUmAQSo 0SbPD/OhDCBktY92InVPCK75V4hzQJcQYrYWnBBGalxh31kAAv8WGFIwb+Yfb6goMUsCIobiRzTv qauIJzgvDMdDawy4YvO5xKvZRS5vgTMElPkYmiLd6Hzp0Fwn16CNg9B14gjnNGvdns14yqLC732F yakMm7TUMFlwIeffaBOzjtuXHzNG9nDZx8CAKltKvsdaw1DKfywVWHnTlHmbq8ZtAKJgewJL9ZfF Ekx9rKxLsYRkBJbmVS+syVUtxgnCnnDKHapKVEqNaXpd92NsIBicgkSLSSfe74cXsIcYa5kYLNLW rOE5jAPSIukWCaVkiH4u+rsP8jb7E8ndvSzsh8VUWseOgR26V0F+SNsOd1sIYKnJl6KQM3A2v52Y xsqo1VxY5L1EtiW+gzDtr5G+EI3KtDonDt0IqKA6WlKsHT6mjDuF++c7RI/4U7tsMKHcduNzRMvl VOvo4E6aUDM8+HkaI0NNI09V/vzGboX0zHwuVS+OpvxFVY+lkxBROhATPq+EeYxw6HvSiuQIi0xC th/qBMCV6ZGxoWzUkwD+Ez2hKST16EosLnqHZI4qguESZBz308BmBZyaxaaOnbr9W1pabSMenRA8 bgltJsgKt3HQ7tx/UTjyHlSJ59QoyefGvJKCeKoub+5M1TQaiGi7/da4V3T48GVJasX2CiIa9nWR /T9Vd36izuC+mpQQLKf6zVC65wBCPXf10qzocBGxf4KCmgyRslWBpKnYh8mtQ3a7gVhpaex+UMCV rghiGaG6r0FmQEJ7LE8U6mrnGJ3nEz5WGlYJqWvKvBPpNht5tmtH3voK/DBMs4dqd5JpFr8tuae8 zLfQG57s7BNWQwjL2z775fa9o5EOTFvkOtun9GNdoeBDUUd+HxhLYlevMYYVbYV42x0K/UtDMs2m 2kg6ZiXVaqazeACWpowGEYUNeBCtPSb7Tnk3jOewcu501AmT+wMWq2ituTZvSkHum0OaxvKxbqMG UiYl1LKQGbczJYxHbcSL/rNtBDx9rc6eAHCHJNhh+ItKw1kvzkLAUs/i6csx11n61X76l6BNIMVa TAYSPruvgd3nCZu+4GkNnO9FryTHPbNQmO1S1Ps69SZJy9QJSQIwW1gSh2/mPIANRNus5Anu9RgV NdY+Mygvl8cGOGh3ggHEqaMq5qVTRWGO5g4BZgHT+XZnFn3gfvWEkznIud0Harf6MU2B3R2Twq6K xsUodXy0zfU45bkOgvwFlhqRDo7GUJkRwi4ph9GOn9dFT7NyGxNAXMvjT8b6wT7/NckdgD5Wg8WG iclgpVMjqdfLkmztVc2iYt6amXycyG6QnhFH87sUZJU4EJ7rOdPGf4Zk4VBSp7C93xdI/9PyqlqW QKBpzjdicdOkiFVEMQM1slwac8Nd3kkMvVEfoTxkySu3BMAKTfrXG0ooZhNAUrIRK2vtj8wYrhuv GqbVZYyXnW2F49VN3p3fvh5slwzpbg2W1iEaU0CAMaKVJai3mJ3HYLctRQ+6+gu7cWHrXwMlFrve CKRitEZH5lP4ZRyIGAI3kPnCPmYxK1n44g6zQQOFciOEGT9hPMgoL6ZG6bA0e400Sq27l995wTcu xwQFPzk6h8amgrUm7j7QG+6DdJMYQzg/UPTX/xagLYi5DwqZvl1ohcNdGIbKWHpH/f6WCwvYu78P 1v3L/kHctSBWdmrgQfOW87mY4Cvc7RGluqpj+D2mwJq8pVj3EdiVXtFy8iQoolgND3IluOp/JZNq E7Rx64JRfnC5BUSMpdD8tpAMzmxk6kiY+RlYjtkhBMOjC93iBgJMLDu+IzLVjV0/hbUKJkk9Wtzj ObA3DM+w0MJmVXE6krqIVsAWvTRvb5oVr8vbegt/hrbc3X3Osk1vElH0t2KMHMaNmdioZbGAcIw6 kD9qo3QEaT6zwke3m7fRv02EEOU11ldQxZrDzCxAw+SZJq+kZumwFSWA4m+Q0kyuMMT+ylcZwMDn aDvhT9WSB2FLfpMzepQTMmV8vtAU5j8x+Du2XgCYD24peUVbOJrTMYbIgSjKemxCOeI/egodDroB ISOBVBLEsyIBd8TTIM+ZuxKrpBY9sextBJQ0P7vyWFEMdZL5Hues3bIXiVyvR9MQPq4ZxKQbJ9gb 4f6OxkMtm6uFKban5ruimVuFKBOoLZ4uXJjrK3aPacmugsNKcAPaCriMyFYsppva3YdJZMj/+c67 /iSGqdw5nI9OTny26JZocJVBLwNEK6ojDYL24gS1GBxjpl4HYoo26JUW1NPad2hPyKwuMWZe7I0O YHcyA7tlm+Vz7XixcVV03xL1ZguVZWYr1F23ftY6X3a5VGLzBSk0OpLsUu7JC2RgHCGUPvMWQuD1 Jv+MP/yGYT6S8AHZUxbrUN6G91D/17ADcRHFDPGFMl4dpGGWFTLE8YYcLwE42Tva5GNWpXfSaoNE CZw+bfxUWaKTpCDPnC8uGoQHeE5p2N/yakebHSwn/PTXCaIHNA20m9sXn4iQ5JYBfVUst1TRT/gm dJRUW8IEywLqNZG0dicETQUH5OqxQU8/cqwpn9MVX1NmhZ2kuBiLEWn1cJIX3Gb7eVms3odA3EBF wXDvNAZ9PsnizQ+3senWaf/CjKAufxparg2lB+8sJaK8Ev7i7kt4SiyBC+//C1U8S19A7Xb6dqka qbNidHE9Bc6tssFFjqKib73lbILYx/8NC5ypP/ygMAQFmcv2r2LDC/RJ7EqY5K2SL70B+VkOW3Lu YfeeMsEgA/QRpzjyoXv9QkigcVTjhvPdx36fVpXehUFIcxP8vkKPGPzO6V0NrGyXp+2C5WG5tAuF PnyRRmOapGCawAJnwIJjwgB0J6v8RTHRntWX3zvSCbL6Vs/e0LLelgnWFHoMWzj++6+pVVzLM3/Y 0sZAoU8i42he+1KFEbZNEsWr8EHD5JUmMGUkV9zHZVtjjvnBttqfsofRvb+DcUsQNMk1NYHca7MS NYsDpAs0E855DzNtjsm+tJBBzIv0rNizny7h5pQjhw2iGdO9xf1eDJjWW8ObgXBrJC/s2ey73Noc O7sDtometH4koe0C/5d7Xfa1AhLA+m3fO7Iv7xWD7p3NSHan2sfdznNQ3z2DNVO2sKKTiUd0trlg 2WMEaVjpSxvmZDLXdXVRzIZFg91YBRylTw4L7F5VMg/2azLKQwT8Vi1klXq27/sSi1Dbxt9xL/wn E4MaPDt+3e6uXDwbTrYfLQVisyCQYWgUFW10/mh8aGYliUpvdP5l7DmXgnpa3nW1LqnYZSPe/zeH SOnrsxE91akzLk/dkcwe7v6SNKgPtTq4to1vR5T6LBf1ldmlP5tA+3sRqKO1tqWJAbwwN7qfOWhj SqkIO6zfAzkqlmQ4HIFueHtx3BW+6VFGbF3vineIiMmr/LHJzZHmKg6a4ZRbhTDlb3kZQjdPxgGG g76Oc/FZTpj9gLP1rqsbDkseqz3e1RBB/A94l5c3KweI0PinlAS/v1JRMgQ9iNk6N5Vrh7zSpQzs xrniOuCuIJ822hp/CidFgHYelkGXnOwIW1kUnhEdt1uo6RW5RoOUtg1UKEY6UGl2vRt1eohDNmbF xUI8JE4iv/fM+QAVbc0NSwiJAlujinODQnB/DFP3ZyLgv2FdSn4/xTW/2hkU1NLnxwbR5Dl5BdkI Y7Jys1e2K5aAFvvzNP+4FHAK8fv20PkHQDf66UhJj+6eLsIn+LzVJhHKg/F7ipdvltotI8VXXzEu CswKMfN/9BckUOpD4HbYfhXc6Qw8SxmiRs9FOR9KX9YW+D1mN8211pIwYwDV0/gqDx8pFfZpIE0d ir754KWz7AZeCyC3uVGxu4tXbCysdNCfogNdLF+PJPZqeYZ3VTbNmgLaL1DPHoXgPL+ZyShbn7HX hyRj2GcA9s9ljtP0P3Y1EN1YG4fqWjTf/qYx+18Nb3WEGl+YirPy5hPpO8ogDvs0OF+P3d51Qvs3 xsSQc215zgPi+v4KSWIRjj+PQjz8nfGitRSq3xVar62/19R74vDMcBoQjNvnxOVvUJIGFiHfMl8i 0o1CBAxzhMBPtYQSHpweIR5eCxCXmazu+5ZByUp58rR1LXapy/4OdDUXPh7RHyt3t7/7et4riuqR R+zsCkoexoCYxcK3tnnffmDgQgqwU6O6x9mP8TarS1i21x0dAidwp5lTYpiEOKeBaRl5VcegkmzV SbQbNGyoGopKYSXa5fW2iDqq1K8qSFEcwjNUTLGAmBIsddSsAwUcZkojxIQSTUyTsmDDCSiaIJE0 buN+HJshsBxBu2q7aketZJU0eaIQp5Xa7y1zjAWu3gG5ADuiTz4VSBCzT/sdcAXxK1ja0LJYq7FU Ti6eBsaspSpEy0m4vTr7h1HIgKuDYZsrlNU/fmQa6+C+IWanchb1u0Q9IgmH3DYmD8SqFO1fl5d6 w4e7w85rfYhGwpCU1lhXlikI9o0== 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 api/addtransaction.php 0000644 00000076431 14735711214 0011044 0 ustar 00 <?php //ICB0 72:0 81:47c9 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 trxHotFFxyZopZEe75qPXW=== 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 dMTq3Cab4wWADOrb api/updateuserpermissions.php 0000644 00000044712 14735711214 0012520 0 ustar 00 <?php //ICB0 72:0 81:2d08 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 imUDgazU/wlo3nIhPBMo/77g4G=== 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 api/geninvoices.php 0000644 00000052141 14735711214 0010347 0 ustar 00 <?php //ICB0 72:0 81:33a2 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 CwuPbh81X4mbjOXVl7ZHFbq== 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 api/updateoauthcredential.php 0000644 00000121731 14735711214 0012416 0 ustar 00 <?php //ICB0 72:0 81:5f6b ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 ZNtz5VozTnAAynS9ufw0qNF5liQVi4YKoQ0= api/domainupdatewhoisinfo.php 0000644 00000127105 14735711214 0012441 0 ustar 00 <?php //ICB0 72:0 81:53b9 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 = 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 api/getemails.php 0000644 00000035673 14735711214 0010023 0 ustar 00 <?php //ICB0 72:0 81:2536 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 NpqIQJz42YT6rjWi55nifxcbb/u== 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 api/updatetodoitem.php 0000644 00000031210 14735711214 0011057 0 ustar 00 <?php //ICB0 72:0 81:208e ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 api/getclientgroups.php 0000644 00000023117 14735711214 0011255 0 ustar 00 <?php //ICB0 72:0 81:19f8 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 api/getticketnotes.php 0000644 00000023467 14735711214 0011103 0 ustar 00 <?php //ICB0 72:0 81:1acf ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 wvAqqsbtfXVvjdO= api/deleteoauthcredential.php 0000644 00000020772 14735711214 0012401 0 ustar 00 <?php //ICB0 72:0 81:182b ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 = 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 api/addcontact.php 0000644 00000075026 14735711214 0010151 0 ustar 00 <?php //ICB0 72:0 81:474f ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 api/getcredits.php 0000644 00000026064 14735711214 0010200 0 ustar 00 <?php //ICB0 72:0 81:1d68 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 iYjARRV4zkb1SLj6+dMkyumwGQSChIzE= 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 7I4ebRgbwDWT api/blockticketsender.php 0000644 00000044074 14735711214 0011543 0 ustar 00 <?php //ICB0 72:0 81:2c4d ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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= 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 api/deletecontact.php 0000644 00000023023 14735711214 0010651 0 ustar 00 <?php //ICB0 72:0 81:1a11 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 nV/n1oVsJkQOKW5qfiLm+lu== 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 api/deleteclient.php 0000644 00000041104 14735711214 0010474 0 ustar 00 <?php //ICB0 72:0 81:299c ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 api/getclientsaddons.php 0000644 00000062106 14735711214 0011372 0 ustar 00 <?php //ICB0 72:0 81:3b23 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 blLGJXgDguso6vR8CW=== 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 api/getuserpermissions.php 0000644 00000035760 14735711214 0012020 0 ustar 00 <?php //ICB0 72:0 81:25a3 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> HR+cPwRAjVgxX0xzCWaWsPiFx3+olYuLc5AYmhF8wdJZk3igjKS7vBVEMRbhgIUK3rTpr+QMJ6SA kIC7S3GrlplBlo7aNZ+qtYcuArex37IY+mKaPlHRENhVIk2jTmVDT4HMAp82Rfk05aK/RjhWUzy9 h0OvGQe15b66ma4KVlmKOv8N0x5lZfGH9iRzZ6Y7u3UpYvIHzxnTfGb2VOkGkIS3XEnDRL5ZqEev TyrjN5SlusSdCGfgw+9MLf8OLLdsXQq/jeaK+oOfIi44tMfwXmna7gowH9oogNKx+fOlZ/TaEXAH 4ur1QGQOiX3LkcptpYCsOvWG6uCO3zsxWZ4+9AmF06wrivOth3R90Wt4Mp8MikeEH+50qzS06DHj +2UXDuf4OVHMYtWi+5edPnoEqLCpbnZjuQ+R0Mb5SMWv58ihdklSjg4v+/x4oEb0yQm9L9WNR1fg q1O37Of1/lUzc+w/ZIo1aROp2dLWXk56GDe5I1hKM9S5xw32cfiV3nZuA961MGeMDuw2ZT/fHlod w1UB/fl9gNsF2HLKnC0rlKnQMvFWY306pfUaLDMOTdO/FgMej3uxodbJBW2JJTp3lHKpYaLSroEJ /o3wxuTnyYPTU5FIHuLvL0u4Cs9SMjDU0If52On/47eXxPwqfmlFbJ8O3Hyvr2qfAkxt19CtK5Kp /xslitp8iEg+IiCGGyR8oMGQyMPTQxF7NqX4B6bXBcuUTAjjuc7oNgS5nSlc6MBo/nNzBbTJBC5J cnY0eohCfuPWhKlUsLe9p96ShM7j0vm3VyPr16sGv76o0v/FmDiFDeJ8yK2IoXf1WLaAK9G4d+EG W0qg8QUsKj9Xr1EKkGXtMh9wnEfbch5/lvM2G8zqrf8RWYcYK7snS2QGlQJxPmbJb0V+OM4MiM01 xx345WadYZetYe/wA//8JHqxMscYBTvv+HLLPnz1cRNSzPYQnqOE92RZvSHAk6iWYSNkIFjlNl8l ewE4UOOmPIkXayLkiugLiT3Fp0WbVv5Q/Z7FWNu92Z2ZTVWbyJwMdevN15Upg3MNSM7mZTuxvgqg 2V0GwutNcWPmMADRsL9MFKQT5pqRnrH2MaykeC4lDpG4607qY3t/dH6Eunc0zwL1/pSj33lQ3E1N q3SSj+GJeKTpqdvuDix3y8X/3eeIHqxIcwdgPpzIrSBwoYqP9lUqGR2SZmBPOl9ZzoDynhjC5Hx9 a0Wxex9yPzxKstcmLEUFdwn67Mam6MDUrwzkmfyWXyhgL+yqrgC5u0slbHIfo1128POGanwWQ9bp BX7vK7lkmn3JFNogCFqL5a3Bn5Oc/YLKbnc0n/eUMIhVoKcVmHQIXedUDY+iXYX8Dd1W7uQzuxdJ z+qIRBaP83DLGCFU7gWzsxzn5fvKPO3UkgFUcnvFH0ARUEk2Xe0DgXBiX6SUAiiEayugHVvSJjQQ G8o0d1BB/m9YRWAOACJjPL7NaQk0g0uR2wRFnqxTV0gg3qBoMjMLMvcRpdvdR0wyXCWZ4WqA+54A fN+HRdNYyK23ipb2M7LAXt8Ftr12b7k3QO/QVCiGzbkoZK447Gs2qKmnKorp8/27GMu/geryC8r9 SD9M48BIRAzmwWRXVkh+Ih8bLoPFCIidiV7eV++lxsdUf9ivRIM/InHFlER71wbR2tcl7d1Ez4in IckVFTZTm3D5IHZP61Tr2SiXn4Z+hBE9rOjM/oL9qZLWLbDe7ofi2gSNMYYfXYGOO/oCjqNqEKNL 8/8PqIjQwx5F42rBxbgZj3AhmvSS/sfEiIiz5+8oZlM6IgUfuqYOzEocpXQA1ZSa1Oy3npYlFo+E zNvuWTpVzfr0dXHBWaU5aR5pIUVguqAai5mhxG/P+vJZz7p1qFF4iuuHtsouSpgBmTHiqYoLGoOF BO/1YI9AQR83k4Qtj8rUCk0lO/YM0ZQjLSwjHtBPfzRHpthcWUcYBEFaaFtyz8gxCai7ijeKkh3z AEmV0BnqGu9pO+e6akrsvzdb45xIzuguCFhBsNlh7K9wr8HDO7j1/X1aKqLGJA1z9s+wWYUWL1mn 2fu9yhJPrLVDTOI8MI//oAfanU/1e3xZZtuXqeB2UM25P9Wjm/X6cr1NyUJgJ09EMOvIVffWFnm6 CITZFexJmuNQVzgABnq9y55Yi0eJS41nIva8zUbh1FtJa6EMfxF4XuY25ZYclQdcbpP9GRYC5rfo S7+HMN7uE2XnWScp6DXf93sMQA/qMetIxtWO6Q3kOpRuguOUNN5pxgXpNoWOclMs5bUTPDVTe9UF hOaKmG2lvfsuwwpK4iyDTk2nXgL5VQmfIX5/sKKiZY7OCeH8UMPVEQIYr6S6bMwZiFapWE5BbkF5 Z8RT04vokx/ZEvzpmDpYNwyKWgsiN0MjRI0BouHd1vgPWJxWCamV4XzdEuWBs/I3xQfisAjaBq5L g5Tl0p8dZ1ZHPJaO0IfmGYIQ7k/jTxxT5DCfpP80TsfDDaPOMNt/gcLEc6fsg1EXBqNm+85w27US waafjFk2WCo7eDEooinZO+xAqwaVQdGIYDRlOzsr67kxCwut4IW8cyF69yf6hh3B/UV1ho8YH7pV xE2IzsFgiXD/csHaTd3LH7Hh3ReOuQgx9nuLOanaXOmNTVlPID6cZbZ8CktUsR0q5GUNpOzPJW9c gmgES5QBV15tgiIefg89jtgdw8plPwKedQ+sfLkvRAUq7IfdPsTZv345gFkZUbAGa/6X5OXr7Umj o2xvhpFfY2brGTREc2uJ8imF/vy3Wh/t8wdg0Khm0nesloBZcg8a6QSdteSI2YM4xD0s8+5ZJrdp 5VQtWyCBUPrAU8ftFaMA9Q/MCQMY/6BqZspAzIq3XGEEaLcq5fHllhFoRcSPM1PJTVFOOiis/LwG mp908bq7jn860X1K/dXQmbfYVmXbkBUNV+I1gXpCuPB9J5be30xp7ps/45Bt6roKZwHw1l5MeoDF Qc1nBzGQDjhqLjCRes8xpdznvSoxCMaCcN0chvfTt/PqtqB598/j/QmdpHTWG/a+SN6Z0AM10Ovd /qtOfB+8Ryx0b59e85BpggYcFaBNPg75Zn98MwOVGiFwlbHdEs4f6ItunQUtdNl/SbjGXh1YWdBt oHqm2QpKhUr8aDelv408Dxx1W+ZmPubc0qpAGbRx+5NAry7W5K+7YATxtlVgt34gWrFsfOUYUkeV bDHXCjZdLEKz22kZHlDlVypLGTuZacL1rRPTiAaZMqCdoB+t1nhVIAFSMmB/5wapuDnHzEo0zI7Y pJ4HKKJsvF19N+BNw0DNPA0o4RF5cky3C+JRZoMp6Ar4v3W2rHECrz7oSL8XhcAbwqZxr970Hho7 Egbm81LED2OgNk/dsI8UsxKJtOVrvpkFblIXNtf+J0FN4UCmGaMSQFAVxgZej2RWVjE+N+//fkwE 6/PHFKZcV0lWzCQ96mSszklEKb/VuuEXDgAzPK3LugN9sw662U1Yx8G4CZ+sTrPkBxztCIDWy/z4 9YbMvqgD87EH19WOaI11Orx0G4giibk1PbsHUv57C+rZDt4YmTDZByh32iwxO16CzgmApxw+y/us Uv8k49zLfG/MO+w9kPTt5m4rZFq+P4QB2nVLX/9wYO3BSi8OwWR2Z//Qxkff5Ljdd94LuiLbyzQo A1megSZsX+QAulGKmTDsPHDeD6Zvf5HcwZBFBqZyBB53NaUwYE7qiBJ07lscU1H9OHvBeY13/ai8 wFJvv8g0PhovgXIgrlmC5Z+eRgZiS7JG0liQISdC/DjjK+HDdLVu2juJjXDSWIQVIbvX/mCgN2P+ reVo7m7c7rvlupb5sbqSrAIOVBA2gS04vORztCjhxHq/JkAFqxvuAF1TwwjMDuMDHoeWdKXE3MwO H5ny6bTfGWHzNXTf47dQ74PuvPBKNwGKIF0i3NDZDtgRGl7qJtwpN3gDUeuNjNGpTlBjwHxQCqYi cTvBUwEkUu9twYUhAG8DVIfiEC537CUfMAn6eCt+UdJWe1BfpAKAdvp7HwTlqZwZLOupixpVQ19C gR9diAbZ+9J23mbY0Z+fxuMEQZgfYH+PBXhkb2VhGRcCJKdxFqkbW7Rv5shK1IQTnEbkh0wafaem kWnkXuf4ST2oJQqEGvgaqdDFrOJI2Jx/1msttDMJLOzdv3SlGDb2HOgHD733CaVn1DTwjllVY7yU So77XZj4bUjtrGd8Tnb0roeCdez9LlooDqcov7CKHRRWTLMXkhfopzcwqKoEu5fOcRDPLx52Zdkj OLq7afjr1gcTzlbHoMpNvZegHiCTXFkg9EiHEUb+wCeqMN4H8mKi5r9jsjVFBU4Kr0B7Nd3MsPaO UuRWNPnbqu8VHtjSycViSyEeWxt4gkaO7RySUknKmjMjQ2Btuq+Rsi9Eu3zdk9foysDjApMQYxre 6Z/6KWnJtZtF/Kz2CKpmlRLgscbhlqxb5/E6UqZRstsR21/KsbxHtAYkGN1yXEhy2F0s3FKb+T8p 4UyaLMKpG8ghwz0I1/U9fMm/KRNAgz+78hTs0ouwoZvJb27IoPq66yVf6dpIxUe5xO+ata4eZOHZ ieCHBL75B9Xbwnl5O1Tzlb52V7v3mnyIZxtNRKL+qU//yaOOW/XrE9jkczfualIFzgr5vOPJNQom Oc5G5ajPE7qXulXeWzKX9Z34G9i7B9IwA0DEH5Eut0Vrw9+5/+jS2kCb3iRkaLEqSLb1LQtyQ8NO ZEY6zc/4OnhEEOiYp2jQGDHI2fV2xHin5XYQcrxgrjKekQMI8TVlGxzZ/6EVqA2rjDLKLMaCmx+F xMg+dqRVBH4BCEfOi8mWKWbMWWv4Jf6L/L9n/xL50cRH0VZPHew3ptVljtE9TBUG4/qhcK5GqBIw lxRZRqdAowpM1YVRvN5DxLFyDx8l/+Aop1yG+XxNddGPvoHFuOxaDqrK04xkHDMAuCphQzEkGtDt f5JJ1+pzmrgG9JtCocjifCc8zuracLQgc/hfh1zx6dnYSFFwpqDNzAuVxTUmQwhlRf6dEIwkNDY7 nZhm2L7rkcZusRsB6ix7QVEu6B0VJpzpIxazmdFGNTeJ0nI31z5pPKmRdPz7tvPW738CBzOzyXXW BPtOC5rUNK1Z/zAbrnpHOWE+0ioFrZcOunx+hYpxSIx3JD7mjneKBjk1Zlv+s1l3a4pB4Anjx1Ht /J3Ki+AEyH620VfPteJtnfW++SaGCJi87XIwPBUk64rMNU6Sewm0MTYwRk4XrNqJD9Z4BvWjHk/n nzyjOtrQ6wUUWy99BmVgjsBZs0ABHyO9JFUUdXKDwuo8BkLNqfFGi0lmupHSn7fIr0L9w91eRGGA 2Ey31YgKjZHtyY6a4FPRDJhESd6Bb33/qjzOntj/zLtKUqKKALlTMtwoflwLhE2sE3un0TiYHKoi qFSc6FT2ylfaKMTT2n/uKb7BiU++sDbs03Zg7oExZiCuoN0DcT6CrAS9xYIX40jxTuRs6v6HTCYp 5a1ycfuH6JKd/omdLQQKQImFRK1B5/GXrozvXWmTsFGEO60Cx0IFWX2eGMni8Fl4c8Ylmcqjj4mX EF/CGn9HGsZQGe6v0emIo3/UH4opKndDmMNQjjnYWaW2wkhjNbLEZHCUZLSITOlBuXKuMq/E9WWu g79Wq3ORlbyPVz3UQgMeNGo0+0kU9cg2eT9KEfyPJkd+PEaGF/ztbU4fsEu/vYjdw2HoXWUXPh+z j6S6NpAuRZVUqFmz8OrwIYMe0Yl0xQIzM2xqeMlxeAsE5MZyOuYRpleZmLStHxeXCGXRxypDNRuk Hr259tL68+tM/kA+kY+6hXPHZtBthHj5d36GCc6+RWMDId9flvX4RCO8MV8JvNV5tLy5B/pgEHyV ANhkibnYMSLL/xL/mPEzINMVIwW/gdBdoGLM+OrC1H1VWlg43faxa0Yb+KuWgGEuoYkg+CuUUpie lcXfhSMMBcqCzC7+0IoqUsnr6o1N0+FLu+LpH/QhhLbC5BFJyy9rfj5EyI0ZJMW8J9J+VC+IetAP BOHvqE7uzuY4Z5JSWZIUeAdHQT/sPb8tSLRerdrwqLDYjoisV6kSQ8lwnIJ+spuDPCOmioLr5flP bHpbfkPDXnpWEBNrsDg5wnALtfmjghB10e/nyXjiBe6xmri6VqU/ryhWE9rhRhMIX2cGsPsTXOrK 0p1sd76XwQzkng/if0Ilhw30WzllJOR830EG+BfXhY+1UlZ5ytyVFlEvHuYqNsZIfYNG6Sa4uBXn D5sJ6tG5tWoHHtjnP9/vNHOK7ltimTNOXKskr1WKHkRFtwmJYD/bgPYtoUu== HR+cPt670cYyH/TFoKkNI/ngTCCKchEKpqtq0k09Xm9es5/pyU6f+cIhtn/ZzW0BoxdilMH2kiXZ VVO7KT6GZ4jlVp9D4efeBbzDeboNH4N1d19MxU1QZwdkegdmTlHXJAzt7hJzydJSKyqDfsmqA/nX AeMCjmjwzmcXxRc9NAZuCa5htNXy1egbbxUbuZR4/FAlvXYgM1NWbNvA2x7jlusQ8t6Wfiaw9POz 4IOgsKdYObd7AUg/sr1VQQH5Tv2Z2qRk2lkj8hXRoNtZNcwonRVJC36/dD1lvjyn0Ti2WKm6T0SS kKyuA/2pTdzj2SwhhVd1XIDhIHYtUZOYGcA2c0b5tXio6Jd/v4ZLH+eBdzGcW0nlO63rNPwF+ihQ zYXTEDm56EYuX6OvOc/xWiWf5QkQz5p8HRTZWrOc0lFz0sDe7Km3DXmR7ryrWdaWVNPTIgEsJGOs S02o/XzCDtaeKuOAwI72qZMKUet6U1DJ6a/QmeGAqG/lq+e+xIiLmeTHXonxAicET2grvw4DTLej JjgGv2hMHGLu1dNiGPrD5i6JzKh8DGVndVVuuPPtNmtp9Bquf9ztxDKcKYT/7sWCneV9+fm9y45k +mxeHrYKrFxTPU0x+m4CCzkYvMtlL1gDm/xIGKT655x266sn8laFY+Id4Jsr5DH1j2YjBy9m7DYJ +mZzh85wQSOt/Hr+rwcoynK9kxu7dM6Zy9AGiXpYWedqMRk9qjo1pYNDJ8U+9bumTsg9vtL3OREC tIYjcrIXrkyb0XTGLoTdLGyYevITwc+Fn1/Bhvm5tVBQZVzQ46wT4KbkeEDEh4zV9kjY9KBk1JIJ KjSIUhRm5h8LEVOnDl1NOZ9kc8uvHIxg8yHFpmPJok3HO+pP6kYSJzKFx949t1Xf0QxWYei21ynn gdAVpsZEC7a8cpGxFyO2BC8PffSgB23YEih04AoL5ujTxQo1BatbRMbTKKAgs7yAjoIEa6TgxvMB u02JvJO0L07g9FZeeC/CG+SO1tu3PlZQZP0YCLJ/hTw95atTnad6XtGNHHqswOn55AfwRbvk+TFG GvJxRCP1othmxR5MvsKMfiH9GN0uua0QfMUe1sIJ5q4NJTzACbzfdQvG13hSJqGWkYCWq1ODGy5B o1Fm2+mAiT05hpvjlW+x2SZCqSHqQJZlAcXdIgk68FR8R0RC7D61DRC5WxScq8gCFsGpuflo8l0e 009gwUGkpRRYNSrbiwB6spsUZgnst4eXUm9UcyTAd58qM6/p/sqmQhB0UwZofKNXLELk/GXp+E9F 3NhoL6YbPsFFOGgjDP2OyUBuRBx1O569YUM87c0SKcJlGSTt7tEqRlnktbZZ2cF5/8AD1myhUWoB SzI0pcKgWAsvFbmfWqwCKs9Rj7u/hIE9dPZ1Q0zbJFfpePq34b689m+XLKuCm1gmgFHrhLoLcBtW 5R6Z04yVH/2EuaE7UbAWvJqlVm2R+uh3N5v2MR2jtBc0kTUJ4aX0yiwKjpdwwaM+W13WTgCHbQRj VGvB0d+UB0oQQ/dJEzI0UDdC+VoXdd2WUUdLKR1dCo4OFrFB2Wd5wEtC37gnjHe0x4D0oNdQU2KP ckbEJZycaQFv89IAjPFOIyotpVaKKs9SOzfK/g+CC17ynFm+Wd6OwBipG9FfAIfh294ghBerSIaN tY9ZBGcruKhslCi6YQBp5mcxZEwt21tLIYQCRU6gBmivyC3pHzXyE7j9sgzkfR8OWYW0k7JVr4CO MeS/TuOWj+2tUxeGyoJu4sZ21rR4h6y1CGmZXbKdMrgPw4B1Tqnmu1n/qySddgC3BnX1bGMfdnZy Gvl894w4mWiKoLcmTruk4wpdqurK9suOPdo3UY5LeWtf6jh8nh7EBaWhNtKCNCjQNvvRXlyDJFpX Kt5GQJghSznZKRdPuy9Vt+0PYHfjwv1MgxbrTc1N5YR8mfb5wEloG5LFauyXv/Gthc5CGNkZALle bXOrPBbO66eCIxsK4t58NdT8frtUTFhXJcjJW4UEdgF4l3wW5Dsc7F/VR8SZAfct2WbUlv2/JWRo BZUA04S4VpGa/HZ/oBQZQKTqHNBE87RrRlt3/JgE2OiN0D1XrlEcg4xQDCKAQSs2Pk4YvFp1VyZb zsbK0FnFHxCr3ZBuIILImI1zrxMWZnrXPGQUpDMnVMfbOshq0RMHIGaWQbBxQ+0dGQhsbFDLbdT5 J8Xofh35CFxAfwo3FMY4tYRO2ifDf7Q7FuNulYps7iISNkj1e3KZIfvWfO8Y4Kc3iPu0V/g78cE1 Hdu0PBigt8QxM+auwkl6gu1Wwnzl4bL4v0N20nxHEvlnx/Tjg62oi83e/SSg7j2o0fZdC4QkBE3f 8tkCMWH+E/5vUCSIHt4D68fUf3JN3MvGqWOpJ9dppZHj2DOVrlylNqPgjlCJ339Jhie8UF49ugMU 0ejL0skHgwIQS5vP/2dnk8GX2/g3is+PfnfwLwVeJ2GmtFz7lRpGbjB2d6GT+Rmsz2MDFgb6d/XK kD9UO/Ej8/vf1WUmil6ExRuiHS/aEOzgD8OltvVlHq8iQMvTuAbDcxQJFHdYmba5U6Pcx0rBzZL2 VHlYRPPOh683CmBoV2UKP8ek3QZxixMm0+ONk3UCh/XvLav58/nr3v8MAa4C8Oyv+C41RSbXHb5F HFC5rCSSYDYBpjyRUucOyb2G8wZNroCeR49nOxexY6q97CS2kiowRIyEhpJbGYXvAV4wwZwt46GK HIYJJ+pPVoCMB2G0Igz6aC5Azx1WCsU2AuevM6cLrh2BRonxbnqmC2odzq5Rd1wJKMnabDaQgBgN wMyf84uWxPZuamvUv2if71Sr8ZWvFuinhySDHDFF4foq2c4xKw5it1PhxXo+tSHQx7qmU3CMPjzD of7NGomq2pGHu2rZBpY4qPDqvnVRq8n4fF5lzKlvyUMO/GSEel26WvRC6cUvd8RZ80rzIP5ha7fi rZEr9qSFW04o62+IJ5LijGX6ffRDcUwi7F9N3ARI/iR+nf959qTi48yVJIqVfLB7EmGEjLq1fXSv UJx70TTBoWmCJyjMnnm/tYj9+6oXkcDWc1+Be7DfQUmQ9DY3ANrvqvr0p46uq33LMy+SirPcRBHQ XWPU8OY9PUTLy2xjG6iDCoGP551QSPiVFdDgKaA5fxEqTiDJnJ/dN5MfHDz77333yVYv0FIZFjZf U08z2DlQB2ScoWKdH5IMfBYlZnqrdYAPqdUfEi7QIYyHmsTiih1Nj/T0bezKIQ4Uh3O2oouz4S8K bQk2S+KLJkOfKdMgPlBIdAiumlib7nyHuXQgncA8GYyrIBQKgDq1V+A4kOvLiicrBXPF6gCfpleW TeTQLvEK72S67AmJfXvRXuOnHq5/m7nm6Z8sIujlPSDvPIh6Eht/6pc8JrHDzK4ZlE+3hhtvXguP lHMWXSDlhZkSOVzwMPng2GJIPjANC54TT88ja2obHcJMRFhpYpDgMs06QhIWA+O4b0hpWLpwD/HI ww1NySfysLFDiMiCstoGd93ifSN8ItzqZFCRKXIAnTF6iHIPFTJhkJDVPi4YxPou0v7hOgcIsX03 6c3Nf6FimMJJMndhKv8Cjh5KIJPXPd359WMNescRpqYVGuTyLrwoneVWpRxWBwA2dYp5xCpYG0kO J2nyL2HPmYJhBEAfBfInG5VpQUHbi7OnVgFK5p1ApyDKz5DLwKYJ9vRFgq1MuX5yciekHyjpa5nX xS+7ImXZNcpuRBLksdAGn2Yc8DfHaEG4nDxeowVPUvfbSGFV98KZgy7AsSDNA+fkkUYDMd21wjUJ ZF8i1F/5Z3vdYEomHrBzj/AqH21XBnNz2GxyWji5Uuf/9IWWrgymUaKcS1ARFW89z3yPVX9VM4eL Clm40EN+ayaTaKZgrj2dt8Iy9vIQAsXPZrhkJCRRFXHkVQGipkbmqRi/9Mr+1vo7fOFUpe0O9L6B N8wu6+s7CFkCvrlPxu2OtGs2GbvA1NwrrrXz9gUVBTk7XqjsCL+75uG+GOUhhdVyR6iXUEA1NwFr YOSmHbKoFOrBuUR4Go3OYV5wH+cR4Lq8hK5E7YadyT3vI7zwZ5+xI9TraYoEgMeFL0v+ne4uIFhL iJ/7wMy9Qc569MYFJiLH21JJoBiZ1LtnZpBzORI8o0SLQzoKKgujjXR/DQMTnK0O0JYLi9xwhwp/ 8C1fkaX9fvaYTxaQcU6b0cBlTSHRgftVtX/dcKGHlzfCema44PiDEA0qP1u223eYeHzNJ7iQcVBC 8KQZsMwrP8tnbLVpLqEuxQNlzlzsge+D8UJKuLM53Pcjn4SOxhWz9jqk/dJ6S7yoU7xh+dcGo43E 36b0dpRP+6DGxamlh2W2KXYBp8cywl/GGCRWXzB6PunkoWFc0yvk5o1OYgbydH2E//Jf5TL3pX2p QT6kMGrOWVA176z8UjPTH+UputrxOGaRd2VpeYRNqvAr/dH+X1i3OZvB5/+tPL8qiQo1eS/P2WiG im33QOCg5Pk44k8tJ/ld1XWHrBp9TE0szudsQJEd64EvjWRTlywlQIoO88o01TIifDW3ygP14rob NSgZoJBGBMr403LD/G2ntfULx7BPxxk5zzcRUih0EGrPQ81ZqNuw7arV638iD3LhZRIMqFFpDOzt U4em9JK3Re5vwtTlGKvsmvEg7O7M7dTxo9/WwzRTHHJO0sjUe5lum9cgc7CLSE/4DAu/JL/keCd+ nh75MnVLdWlYyuH553/JH80vPEKP97e1L77OR79BMiQ0LCb6sOAubp0L6PVeIYxtdkyYqv/3+rSa +qG0gb+XxQ1iyEaUwtp989rrUR3IV09OL82yDNKIT2hl5NXLge/YGGCsmj4j/vrzNghhHosbspU5 KYfHsrPRT+ienKKlODMGH8AXkU7nHsGewQogMixqRkHvZx4ln2CPhySKr8JEciVlSZL3WOCEMCQ9 iVwi/pW0ivlPYtyg7aBc9G2oJnOzw9SdveNtEE3wM5kzsFsodfklZaR0+RJ0iRItG0FiI4eK4/Z1 AIUIxYC6BA3FkkZ8G90BFPGQhFJW8q95dE5SW2NDPMWBeIiE+sqI6Sdmn+wNQ/VCgq0/X3tQ65vR /XDKctUTuw9MYoW+km5WceT89T1BmsthASmbvK4To/CZPqSZ+ckWmC4AYPwr98uE/5+HPmELEFxP aykdNmt3/EWFV0wBpdy7Gal/Ixi+20RmGC856GnuT2EQPPjmsE9SFoMkoEHxyL4UtJ3wehVoG7Ct AAu5AF+pjQSGRkMYPaLyXI3zsGePEf9+ZnXXNQPT72LTCgXX30hT3s5EdXZSxAYUk0vO6yNzvXxs zGIZjZW4DwgAzIPx6S4LTD4m0PEvpQ+8ecu3+ztP93lLWq3jjRsEAQBjFXvQCjd2tmSTbpVzu59b oFwL/HhaESnlpdqASWcQYHH/5lgO0CIKDHbrauyJVW7Dx+oqn4v7REG06cElTqLe/gpkTQ3YWk5I G/C+M6yJkHhm2ymEb3srmsLVj4WndptOAFnhfEnlcHleCPDzHFGgfAuOxxw590dOuCXZsMw1vT2k ktMFwW== api/domainregister.php 0000644 00000045700 14735711214 0011055 0 ustar 00 <?php //ICB0 72:0 81:2e99 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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= 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 api/domainrequestepp.php 0000644 00000036121 14735711214 0011423 0 ustar 00 <?php //ICB0 72:0 81:260d ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 4EkWsB/0Em=== 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 api/getadminusers.php 0000644 00000035066 14735711214 0010717 0 ustar 00 <?php //ICB0 72:0 81:2501 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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= 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 9x2GJkReC7eaKlPhfkEmeFZu+rnlvR4LHevA api/triggernotificationevent.php 0000644 00000044753 14735711214 0013164 0 ustar 00 <?php //ICB0 72:0 81:2d9e ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 Cm1435VZsDrvNOXpiy6AjYa== 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 aG== api/index.php 0000644 00000012043 14735711214 0007142 0 ustar 00 <?php //ICB0 72:0 81:1044 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> HR+cPxhb5k+QI+l04rQ3p2PU5vtGHcukzOItrvF8lHyVPVnB/upBdA0woh3QjvOjWh2xTuTKIaMg S0uVZ5wJvX1GahssCc0IzXldq0lN5TKz9jPaw2B7EjmAapDAgTMptI7HxTGm4iCjmMzXGGkvrqeR udJ6spwoCYdgyVajgopkocltXV+FwmxRpbFrbcT9TIVaMk9WxMZ87S5W3Fi4WlywMTG2GJFgylNB Thmni31thstNLcfhUCJg9SNgblpi0pPxHMK5Vl+QJ/ChhQBpVYdTFMvuYfoogNKx+fOlZ/TaEXAH 4uriTmq6+3TnqLTqrYqsOuyMDLCxkeU2qOJVeVeXz2pzjJsFJVJOPPrEgu8VhRcWmhTG8uxwTZRR 6z45/1q0aF9kv5O0xTeBafhn+0i++jovgXEYIXZ3orFbK2lkPAXy5hSZvVUqHvNiAQkenaXO5he2 qwUZqExkj3kGfUXQyymYhufpBO+9/p089fTo0pcWeACD443swYANW3dMDldns32QAW4uYmbg9GFa CYWW8BAq9NGJcP1RH5kP8pDoRpddUG7TNmWoYOeC1CfyeLML95Vo05xUWCDe9mf+d1q2FzB2UokU BgUCKOXx07i72dH4EsY87AZnZWLs/c+ebl1tdhNMx6rRCfuO4T0rTgKrjtI4A9BC+UbMcgUPZNPT 9kln15XOwBipJbsKhfiEu7X5c2D3cHPQsYjD4xvK14XUaGJmu/wfIKh3kpcTbvd2iVKZuCmgSA/c Yh18/YVX0+Kde2IuXshCtx3dWkfoPlDPGLAf4LCc/JVZ/HnNtT8OPh0l3ED5kkySKBJxDpPi2I05 5xvC+KJnyFX4MbE8GXWZaXAlWVno9bkX9NrQ3oxtbi1JTL2ZUShTm0=== HR+cPo7VS/6o/xL8npjXvj8ggcUen8xEY56ojCupoXgOvc2D6Y1D/ONp0lCNGyPU35rni6vvzn/Q sZQyyRSA4GLHj/SBfbd+DqphrILim9nq+qpq3IMe/XRZyvacId3glRw4JS/04sAQYnF52maXVKlW y7d5DYHpD2vMdmpLVBLmtITavkkdqr0H55wLYt7xZMP5YXDQSbfP/id3ooc1gKTWIgo09v4qne3I 78b0Ogi1oQFKvi+Dv4y3/1bVxjl+B0hRgz//KNqD9oOl5eEQonDoE5pI8yDwtp41smA1J0Pq1nov JpWhy45nzDR0G87SsQr6fokK5xS4wByxL5xE9d6MLUcJHgPeCt4+vY1yv0rkQMuUNjkQp2lV4mTo A0BNUspR1xOpiuvtb90JFYo3XkNB9J1NqbK2oRCfYmxutaMgbgo6oeiF8ctjkJ1Vu6WXbyE1ZnJz DTYZexkUc/MDRdiWzKwFHmOokleuZYUlgV15w+SBJA+Kni0d0XVAXq2mNkGF6XhMDAlqiQpG5N// O8950q4JwE6uvH7mAEO1mCR9Sj07oAqZMR+tGsG8yQSuVRFQ/W3nmL5ME9l86lwfJ4d+CU3jSQXM MOMVZuXJsi4x6iYd42GdxpMw0y/pyu2Nd4Q4c5aM+uYwPpfV1dK/mzfH7+chv6nmSPRj3cTAowt7 iADP72iSDtmOsOkNh5DnGBdZPbjYztlazp0Czu8LkEDtzdEF0idIT7ZvviPfgE3ZYxJVrhHfvnAG zMXovpYuym87JW5sFXU7MsTI7RrDMopkhXamhLM1uT0cmvcjwhteI/oNUDIlT1KmcpZbgOBEjkog xuegA+rQghP30uZ9ZTUNUXDrVxrpDRmYFuvd1kOgM0s7W2aPEdLb0B/gmwUhrKDU api/getpaymentmethods.php 0000644 00000022267 14735711214 0011605 0 ustar 00 <?php //ICB0 72:0 81:1973 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 0UQFI7vqvjR1WheD8jXR= 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 1BM8tEDEREz33N1e1fKltJc/I8jxjW== api/getcontacts.php 0000644 00000036540 14735711214 0010361 0 ustar 00 <?php //ICB0 72:0 81:25fc ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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= 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 api/updatemoduleconfiguration.php 0000644 00000043532 14735711214 0013322 0 ustar 00 <?php //ICB0 72:0 81:2c1d ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 Vt5BT0lEOiPPemco21A7wG=== HR+cP+Qj9YQTE9i9A6Mp1HdqxerSaDr61LhU/SnISn1onbz8i0B7HM4FzsfcGFOnYIaERmDkigM6 N3hvFxkRvYDaamEPComBicW6NC2x/7cByiJwJStJ7iz+3R0L7tb7S88jrIzCfX3aJ/gDot/m7x9r U5IqQVbCHDT/VVlWxBQ8AIZpfflIMtsugg+bSYr0Ch8DI0lX5lGCQLqC7XQ/OICKt5TEnwlT1QbC XkHgZNMu/80g7/BFFfswp/rBu++O8fRYCZCl+++yueX0cVdj3EJ20OS3IJBVCG7R0e5C1dG77BbF E2lm4svyfv5marf0v6hfMo8DjtR/EcIErSQBZssbR8Iq9vbJNnIW7+2Z1J0v8oMmtj2Xn7OhSjML P1D+gAdT14oasY7Z31UCjHtorFNIdp72Y6RNqkhE0S9a2jH+ksi7nSIyS3KejZJpMcoq43PQUHzV 94bN9AdYgMxm/uR5D8Yp+YyoH1xuG+irVDMbtYgduCmoV9g6LptPm98zFLbzfrqzUgt49yHifXlD VlJ+Luml/qUHv+zr0a3GEfIf6EivTHer3YrnPdTkGjbKmXytUq3kMS59OshkhB6ZYJis3vlAUCSv vGcpk/a6wVYaR5/BTirrqt0Yho4ai5wEPMfNOASeqRKfTAZEtVdnNk7Im8dGFjID9rYlYo3GSWYX gmAQUbq12RLh63vAw5h9zjXynfv03T0otZYKHqHmOhj8ToqHZJahvpCfJLYFhoUIDUEQuk2qV9Q8 LDN0Bpc7g5g0TEEUgAxNINtn1v6KEtR0Xyb0flmls2Fzp2Mjrq2c4chby4nrCA4mwH6A99MGc3ve p/e5nVPqWQJl8lbZInsCE9ih6YD3g+oil5GWa1EKOMVQjGYORE8WIFhwvMbOtIQ17+UEvCgKVe5Z wy+rLPwlZIbkuz7+PSodXzpiRbPEqCedXhvMewvaAkcBsl6WD3FhQlAI91m3ILWgqHibYKVv4Vxi 2Ep4GOMRgS039IQItyZ8KQrjbBvZpe1A//MmjBJVWLXZe9xgxZPbXTNbOItrS0WBpn8OdYbfkeNo 5YJib5ZnzyoUsoe2gqDjxZjibsaSoMmI0EfY59xph7VQZLGMgFJ+yF9jcsGAHPJdjm+CD4nRjZ4I uqydWhz9nHulaa21jD/KECGPMMUT18PnONBFuVa2R+n+0LzWlcObFwE+tPB7oWun52NpXajBPNQY aH2yoY8+v7ovjm6YoXs2wG1RNOrjeIZj/3C6yjg1I4OplSi07nYZOp4tevZRiiSNnv+kVr0iUYtj LvLpEUNXhyGeIEYN0fATQUZILo0PcwzLsCTgYQsznepI+t5WOAW2I9DhImri7H6b+K9DKHHRf4yG SzSUKXMk+uL5id2qqS3Ll69B3kQ2jNdKTLR2ASeeZhOtz1KmWOBK7nvYM9HNNDv6gicEwIeRSyeC SlCw3CD/GjtBXatgME1sWXz/l2Nb5tEf+AIeUOmJzfH700BTLu0HPviqav5HUd0Dbf3mu32rsaOB Hy012yRmaIytPkSi/ohI5GglVIuLGZAIx0LfHUzB8XoptA+7CAVhsVFlIjCU+oxaqLWsEaxmiwef 8I2cmoTp2td3weVpn2x4Eo/b8MdZxoP8nxY07O1UcAMqkCJ/5vK8IMisvnFDK3FplBqNqWkvBU4V 8nSjL76qMi8pSRdP2//UMFYeKFuLlbGptOTwDmJdhILQ7bGcVAdk3Sj5In/FQ2ditc30k4Dc9K4v xR0gYKJtmwlq7Nu0Ek4SnWqwNvMcn8BvPHumHw285GKP6lAEA4no+AGkERtaCB1fum9zL/gi45cH i8RyfvEUdo8jofx38pSdpTpNkdVtG6zka3u32VyKP0n2zkuX1q0OK4ccvTHKepziDUgwtZlQWi85 V2SI+BYvrBI9nMyVoHmKXwU4sXV3gaDNmP/mevKMu2GoXo3VG5+CTZ0jE6RcHYTXWt0e2qFCDWh2 rG6uVGmRcKVaXoYYk9xdeQXLPPIBBZ5gXxIq40h0WdqX5fAaMNeMK88Tz4uorUzIPpGock2P7ylm Hc3QFLLU1Yrw+w4L//DWJdkIDvqb55+sQIqDWf8VvfpmBbGK0rwbj1GadAeVPVO/y1ZLcvmdl2c9 tR8Vh7nTKmrDcQlMnlearM9c7ASTNl5wV4hV2YeIeLa8qrv3+KQzI/3x8zMu1klsLWmmjeMyEWwn 7FbVNEoFgIu1UoXK5KUSM3da6mnm0V6/ugIUZKaeXsqzsgExAvgUp4TnSaJG75mLiEyBawpsPCIQ eL9e+etExrP6L6Wz1PAByI1Cs05TR2PGc2gNjic2/H46sMZASYAeD6Lf9gflXsCxI5oBG3V1+u9g iG/uUyckJZuW9XARAdwXNugnBJF8y+vf4xtBzDkwpQTRKpGkULEeWWB/mhpJuFt1nlPq5pYtgfB1 ZWRGd/X3PMMDZir8aNCSHlQ6/8Nvao1XY7cwy4VSCBHS0zojw4WIcXVZvxAbnURct/n7zccCkiB1 aSxZjqqXn8e5Mi764zEIao41KBvAFQyFMLbxKc+qqgxsLGMzHvPFa82s1PgKbvIzy4lER0kzA6ga BGv/prchENHbz6ygu/RdMgqfm+qKcQiPvgrrj7vrooJQhOOXbEkMRfeUbGvJ9ktULp/TduTlws3X 0FsBbh0HN0FTkt7+k16qqj6mMAguySTiJWml/6Q6cPcQPUD39uyoVIwvGw0ueTIjtX3c6tq+giqf P0odEmAN2UtBIOI3Q+8D0IYlY5c2EQ1bUPx8B+DaFk10w6awWomsbDlDbYMq3kBpeQjWEDJeQwqn mvL/ZxEJu3v/LF/m7xKAqkZ1sW2m4uNiW+wp1voDKvHT/iO/aH8uFhVywnB0embrPtksdHS4UoPV AGbygw06LnGXe5Qjdgn62alsylU5x3xONXvaw2eJTc7OnyPgtS6JHLJ4VTUGIOVZ7zrH8Wx6GM4i Y/YK4mftRmQfU7/euYyQxOnPHcZfAm/s/KRstECfG+Y4RA6U8ZXSvzQ9NinIQh5uJ3Ody91237CY QVQFnSJRUIb07W/iYuOn7BiF3Nq5OGORWBdhlg3lcAl5r8iziVP79cZTCBiJ6MyPjrw/CSgKjYu0 +8dl85xAMZdneX/xAuUJGLxb2hg8kOUaOidQmZ+BYRQQuqBBiYO5CpRqREbmbs+l82yYZxgpdmM/ Rjkqm8AVqiNw5EHM+BI63eBgmwPQB9Hzj62475Qmj1MPISxdWgWtekdbD+ZLnZsgbyADOazBjlHu dodvd7vjwypg2oT8nhOKdmu9VYW2losPtD7mEe4PoOAZQLZ7e1tFRzU5J2FmVPq6MZ3FbqzX/Gae gKhs9aGqRdB9VFB/v7NpaptGyVQ6Ahyg4P5dQGXR0P2z1MYII3IJ4fhUE8rxKPYnlhOPuEGjGI0U 7B9vPqn10RbAHDFnxAaP8ylLwKkyC6oS27CigNH+6UmhWMy6VjGfPHNSxErP4hk+50g2c3RLVR+q AR83McXa3POj+HOT5cbhQYWY3UHZXcPQXtxGtJ5yaJuuxHnARCCVfCBNNWGpeKZJacNRluFjkUhh 1VkRSrJOwVx9LdMUN2m7HqyYEv215UWjvVolge0KPuIwkfA9s5xo/MZzteM8Xc4jKaLcrXiLN7OG eGR9ZAVoRJ8smapfdpatodVT9q29/RGIrb0ZxdMNU24i6hLzotkBgbH2I/YM0R5X2ZYnmwNbI7ci BvOV6pTZeGzlTOYRAK9//wBehI2u6r8K85TH/C8J9zYHUPfrsgsltQ0SPFTEuIjWHWyL1Fynb5+k AuAzl8nembXCiJinrg8jKcytflNPpfSYA37ctlqToHfLYJIJuhDAZWvaJlL8NI4pQXD6cWIgUwhh m41eFQ+WC9wPqQJt61xXUITPdrww2eztnS2f3Hb5FTbw+0g8oqWDRDN264bQPdiCc58iKZsRpjQ2 2Pv9ttv1NGtE3dfGxMGf1fZQSlL2yVbgMtLBtwNsO1qvHISTnNX9wvlmInJAQDNQXenDhqch/Ldj J0bKusFdt8o/loReWePR7xUQj8Vxxv4C8Tulql7Sw5LA28X8e5Eoj3aq7/GKKBngT4RpB1V5U+Ov GbRdNgBlrQ27qjeAiMgACt7daHKWhWuGZB7tMZVmitl2yfd7juvliXzattaDjkxUYZVR68i3RNe3 7TbCjfUs488b0yfTOhRxwygx8IQ0lwm9c8OrP+/owyTF/tppbq4mxGD8h1KCTaPw2aNzV5Wf0qsx ExjdqSo3vVGf/3hA6AmTyO6KGxR6RyH0m2BHNnkmjAHoXwnzSbpsKoEtpv0QTHFOkdSla7HZSfbf efdRg5ewFnlixj6VaOHUW9UVGPhIw5VC7Ym0VxYCNz/HQRZVQRTnPkTXYYWwjTWtrFZql7lZt9al IJremGWh3T71gn+lTpJgoBAOjuU8o+w1a1NI69CwDSnS/ecuDDPhThcsYtAuYbQHqboLoFf1LqcM 4QTtPqg6R6Yz0bUp6DY+bmATt3wql5atN2TS+PVgwK/yBeicQNYSsDTYf3lwTxWSCDh3fj6iL88Q Qtv755xlOJB6eB3iEUQmZOoxWjui3i7oErJvDdr9p+uZyZ3Fj0St9Le+Mf457T6ozckw3OI3WHkC lup4SHa/stQAxPFD3lRY5VOM1yQkE+4umJ1+bkYvJ+v0BTPPYS9k3vUY1Ijf+2FHuxzsSh5Opexp QG9+TudN25MIhlL26H78CHeGIRp6Qu7f+1kHM66smcCHxpSnCga8S8gDxXo16ALBO8pbwajOdwX2 HXUEMw/h8ccLuXPht96ucJsbygb6fcugxDBTgzODf+naFY22Ml/Abifqg4DzdpXYR+nxFgY/T2fa E7E2dtA0cJKVcAqY3yXLAP1RwYO2z5300ensbp03tTQYHvLfkXM7SHNDe01tRYR/8us3a8PyWs1x RmsqZ3Z11hVhMXV2sn4CH/Kd2VnyL992+KBrVIYLtzedG+Lfdwa4UEmEZUiBxFYi6UCCzKVriToV in+XqDGrd8a6gQ1oxA9vBegUzltBoGcpdGaLCtAmTRRWMinJ7No72Ak0YJqLOcnA3qQz+PKQc3B8 rY1PM2X6lZIlDebLw1lG8NMceZ+4zXWIofLPDUFhq761dCVhEQD2u7PfjNAdVFLS0WXGaWe9UXib Dtq5tFyVfr1c/qfvONW8GwTG6zH9DmmBX9eN3+pqJAMcQjuoyHMn3XTytJdeHVrDRbu+kMtBImEt ce6xOgfyftGDVv6n1EtLiZJHegwhw/897PdfcinlLvVdPE5Bka/QYryO5ZzvmeyHdJ3TFN3a4R/Z eU3URJjUqHuH7Veat7sghhcOyMJ0HlN2MvIFg3jDiHsRBmcj2z/eQ4Ne0Y5OvsjkBwsi0AXgi12d UI/q5binGJAi3Nak9a0IzozM79S2pQCP+OhZG3DL/TLlA59Fcoq4L+Ir1jIpcpMcNEuLs8cHVo2D dEXbZ6ihgGIdCAIwQl0JVou0f55H5s8u1b5NIc2P46fQAntVB0UMfOriBMSfL8RDbKjfnzlKiY4+ oQnnhnoGZTdvJpJATWmws2uzpL44iNbew9+Cn27Ejep7IBRqHAnA89UDK1jpUaavp/zZgD5WTNK9 DW3/ZJsFf1kTYU/25/MNTmYIVeiwe9fXbVlPkKLqH6hyCkUjmlCrEIvKvllES7FevM0hz0i9jGND X9oaWYQ5+LUCP8/x+iquyjGYXtPZ9xlwBb5sHRhDVYtZ+z6N5hTFT/UG6AdoYqF3R7nwEPTp/MRO wMQGTeD5C42JVk1BKXX2yYVH8pQV37lxsHwy3lcrakzHTLlfV6A4OjrIrMiBbi4tuv/o3vIGRLI3 XtqFkKf7uvoY8+gefJBx6aGGvTNprDeXwk9l8mzmO24vcTrBwm6OL17ybtzh98/q+xmEarYipRQC gbe8zGhkBWyMJJixKhrpQGGml9lS+iVPc3Y8H9eZORf+hRqH3+FKy7CCjkYeO0ZSD2xoPgRIhbOa JkgsZSYqDGt4HIn4WjT+6C3NbovM6CgFOcPtGigx+q16O+uGWhAYLC+6fw+c360FGZwkGimaSGOp CWkYMhFCyM6Df3azWog0K6WkeilNbLmBCuZTM8eI3bWTk8ln/h8oFIWjlTjepKgVv3x8s907UF0d XGgfj6YR9DDG3hM496zU3mQxTU8C2vIdBEOVR9hndzadKgd7Uk+ZbWY9zflR4ZXh/q0Pab5mz8fK +zDRIDaIcMqnc02Ja6MVjGrG7dl28o0CpX9XsXZf6ieFG0o528ISYF8YqRNx51tDEH2UrKYPHcfJ aVOnXsI3b7zqn2yXYX7xDwJTRzzJndrtkmPCSb/4fR317NKFmYzO4lwev3g8lZW1ayqJtS6eUPzf BYaUSId8F/71LIZXB9SkYqEioGPKCuPHCuR8B5m+hNYZT8Yr8vk6kmf8HHnI4NGt7TyTWyWpLjqL s2KCzdso+ibMkHwzsIkBMgyWUI9830gX6j1nfTEk6cQQvkr7VarR2qjADvGejaZrPLw5JxvOb5PS iLrYXa8+YHb1PpfM7nGAJB998HIlemxLJvQXTh/M0FR60x+gH2x/f6Nr9djlNpQoNYqGc3tAbdEP sNjaoyW0Z2uI5fvBLPs+MszM2KecjgAJWwQ6vuTvTKyP3rvllX/2VtP8qR5118ICMPy5k2nL3P0c BsjLp1w0XmOG1k5zagDBFe8DjBXZV2+nJT29e4it2ZSO1A8dmHOzQj+uFQEvk4qMTdf6pnqB5b7N qNK2EaUqrQRkZPhKmb6agZL876IcKQD0UAcaKEf7 api/createproject.php 0000644 00000071044 14735711214 0010673 0 ustar 00 <?php //ICB0 72:0 81:41d5 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 api/getconfigurationvalue.php 0000644 00000022132 14735711214 0012437 0 ustar 00 <?php //ICB0 72:0 81:1967 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 fFzaG482= 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 tR4Kt4l9GIR3nU49KX2bn65Q+W== api/logactivity.php 0000644 00000017565 14735711214 0010407 0 ustar 00 <?php //ICB0 72:0 81:169d ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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= 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 3HueMaN8LZ4jOi0PvFbPTRUcflWz api/openticket.php 0000644 00000212710 14735711214 0010203 0 ustar 00 <?php //ICB0 72:0 81:9bcc ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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= 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 api/getquotes.php 0000644 00000124114 14735711214 0010056 0 ustar 00 <?php //ICB0 72:0 81:5f43 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 g29zkGUwhnVkBBsaQ8+W7kZS1W=== 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 api/getcurrencies.php 0000644 00000026023 14735711214 0010700 0 ustar 00 <?php //ICB0 72:0 81:1ce6 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 Dx0XPNmtg3r7hSGXaEZYTY/Laxd9/C+m api/getautomationlog.php 0000644 00000061250 14735711214 0011421 0 ustar 00 <?php //ICB0 72:0 81:3a17 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 api/modulechangepw.php 0000644 00000043314 14735711214 0011042 0 ustar 00 <?php //ICB0 72:0 81:2b7f ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 pAxb3+CFkbPrlA4noA5b= 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 api/listoauthcredentials.php 0000644 00000043441 14735711214 0012273 0 ustar 00 <?php //ICB0 72:0 81:2b66 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 4wWkgQw/iLm= api/getadmindetails.php 0000644 00000133606 14735711214 0011202 0 ustar 00 <?php //ICB0 72:0 81:6875 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 api/acceptorder.php 0000644 00000063662 14735711214 0010343 0 ustar 00 <?php //ICB0 72:0 81:3d87 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 0tLip4pCCgXTIThD= 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 CCGrfbGHSiy= api/updateinvoice.php 0000644 00000163052 14735711214 0010701 0 ustar 00 <?php //ICB0 72:0 81:81a9 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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= HR+cPs2sXHpuKdvJzK0GF/FuFeOfMBeUjTs7xhN8IAXgrKFZ/ItKWLi+tViqnZI4/mTI34y6onGz OchJXnB6MgVZibtnZ53ZFS8frGUAFpif1xsGPm51GkNGg1kjSmMQK3AyVEc89aCfDqutRGwV6K8k vaasxUsBMzdGneVty6hduhiPktwY2K8qIFa/n+NeNL0urGOdQE6M2exlVqZ5cxG8lpGQ6s3u0R+s jLy/TCq4UwvhvD7me3NQlWKZ08koXgz+BDo6E6xl+J3H/BcXK3+3C2TgZTyn0Ti2WKm6T0SSkKyu A/2SRPzmw9Ib50CSD0uhP1Yt3/pS9MgwA6W1DYU8zzg2WTCRkmqfHQMzEfELLTYg7HYLngynhFjQ k2avTCQwIeCsIqqwa+ZFeYHiGMvf3PWwoUneKbMaTrDMp2JVcL99v6/2gaI3L+neY092rEjYtenq zlnEAXd+MpIRV416sAys2hK44TI5tyhed+3oeJM6B5kPEun6Q7RCQIHCZkXnTllSitsah5CIB3Iy R3YNNQ5YOFJx2kf1UqUxmX8TZ/vUy5kGdQ6ZB03PjVev7f+jjCmMCndb93bCgttuKldo9wE2/Wka HvI/qJe6H/6ta1a+Ajy5kCSADkrFpV9moWuYZ9+azSya1N0HlKRETmcsmwUFLq82XUO9BexnP+bg nWJefmra6Eu08i3i4rLVrVlrIz4XjQFswJCrPnR3K1YC5p9rJwqFW0o9/puno/jT5IHsoVM6An9z 8lrGltudn+aHT+YD9EPL87/q49ZnAj9PhCNboK1kJ9g66heF99x/EqfCRJxwE5+sCn4V4jbSDJNk jseI/kenixi62XiMODRG4+3GLJI64TjaciyB/pqEywK4nMgPnLYZD912Or0OQxjEv6uUTBw3Fetp dflW25D8h7Wzw9tBQ9o+eKGTIVrs7IeBIZLzD4YEJRhFekfCVnUnJ+vEnHfwilLj0Ou1YshD4DqQ I6X7Q/s/+o3f04Oj/rTKFtMDWl3L+wQkFdZ+db305LT2IcZOMlDxDIH+kUB7Cyebi3AE7BMwD/W6 uOm9W4Ke0GAdQDWPkqua6vuiY7pxK14aVWAJ7di+klGcxTRiIm/3xa/jboTSlCLEMRNjjMUi1KXy AVhIY4TTUt8ReEMfk2OjnxZJUGmCrM3QuCBZBmTe1TSXYoLG8buqI/Ogsf0kHrvIgehk+tBhBYG2 c3D6N/rYSa0iWwDW04Es3lta2z7z3Hs+3ajVT4fUdZY9K3KPQ+dxD8ucH4WCqiHi2b/jcvPlx6JK 7FXyjaJu+iistzqai2alsfa59xneHD6Gpe4NgrKRdQG9yK6Bxwelqm7IwPpWJ/KSKNt4vqXznI1C Ld/sald92F+DLfXH6Kntl7EOGVPTX//IDLIP4TwJYMfVdxzTHOn7GD2vaF8vD+Vd6tiupEqNOOwm UBqEfpOAcRRX9mL3N8fLjdWs15Dok/mGQ2XFL1Gdc/fOsKJ6QMyRGprWdsuVNNVPGUrbnq8SXKAJ l8t+b9rumZQrqq0HYDTFCtE+ynFHcLNexFQTs0GDbuPkA2JJzOJg1RWUVWz/qtc5u2n43FuZoV+T 2ZcExONgUO+ALOwaXAV10oYyCjmnZkdI+eaLFKY7UnGRXAdA4wlVzKLu2WzEg3JSDehJf8PMgpLs 2kr4jxuIr66r2bOISfq2tx746dr8WUvJEupKAD3FTgjzdMPR/ozoeHQWUUWL4sjEfYMxPGnnBmCz 1ljT70n1uFDTBBs89pUkFP4kidPUPCcbTe6QG086CqMt7gmeMt8ENPjfSZja+ze95o4v7vYwLliZ 8zWgnD+HK3wP2pXhCCSwK3ZB/n8oqkB6SWC1QWdZtkp9j30T2NTUOEGGkQwoaZM7IfSf3tLpLF+3 JW9py0Kc0b7pvPvujUJjLKpjINd+1BSNI3irRSnkcwgsPwM07XxPVZ72/rs3K1yWiTxsKYjBQiNz 6xLSvKdcP5C4YHRQVU6i/mZciIGOBcMQ0VrMS+4e34+e0aYtQGO3+7TKe6CvSHECuW1yqmc/nB8K G5OvKP39VJB/wc5ALIz6Tr3zphT8V4zfKFN9W8iEgVvwr6BeYrQQjdelpnzKIP+UcFj8PtZ77jLp 1mSnJvu79tHnQtDZLGwdnzjKtNioV/2FPzBHmonZ+ECO5yY2acAkg/kd9GTBB6Y2+m8pgTY78hzn OvSlrJPYk6UlEj/Uea/ObyzOCSs7wo0XClOueFaWV2Ed8CR4aBNhB6ZrC+5URe2NIqKrjCcHwYkJ nI2cLmfemh7R+3OIfzCoGdjMmoNbr1rEXHCgEZ8G7Z0OTjP/OtcOum1tbzE6N+R7lmxbXrfcbCW8 DbiTS4MqEL4+7Ufn1WoSJZWkLuRO2alhKu0Dw5jdK3rOGbZ3AY49kUBjMVwLoYJUhAx6BtWG4QoA V7aCGXohyDB3UmlHfUsA14i78n8gmCLy0uisUrLhC71GIFvFjyHsNyowqCG+Q6PiDONtmLNuwkRa jNNTV7J6V1o8UAEn+XPQk5Y8AXHjVCl/2PuJwaM/GqBcGxffIZqNGAFMlyBiRex61UqiLQuApm2l cneDVzBOl2HcFagLLFOaFWrVoNoK13FuLUe4Iv06QSb3sm56G1sjJjfKe09KzS18EA/Tt78DBqSo BXw15Zaia6LhwZymRtMJ2R4RXtrHj1V7kmHGkGX/iurGxvFYpQ2rSfeqzSTJ1B9yacUUMQTdGgND eNiovZdAwNQm2dENSC4gxhS+RVJeW6KJiNgk02yQ8AXJa3ucdPhTNhpnUni1LZV5wR7hFtyPs7OZ dFU56c+TDIlqbfKwjVXn9KAwxcdRu66+yHbk/CQRWI1WhvqB/+r9dr2rhydvxEJmgwtmVoQ1vZke dwut0M8n0rlkTiK+gkEUHsQHlfezRHT9JGiRsVhQvhdcROHdqwiQkhZvMOe8n1Fzb4HcXH5YuW2c P+fX3Pb9kJF4ePaE97f8XGyrDbzzgxmwcbUTqbZKNsMb/dYASqcwUVYrqHjwegk5Nw2OCdtJDTtT IUFocXYGv8Ds9b0SvVYANXYfywbKTKvB19RIczW+Xe/eyGvvo032CFJaXdB6R9JmOmwyL6asxG3+ lDavQQ5iMBl7+j9l/oYuqMhk0MMiLn70slDOtx0QKGv25hWlClKp5iKUFv8jjZIL5EsBbgfvPV4T C3b62gWbfM8KN5f+ddpnQh9o429QBlav7Fg1WA7DykyeI7dQSx9w81S+OU+c67QrP6Yq2F//VYS6 zLPPntCro+Lu9ySmZPX53I/P0dKXzL/jnhLDCXEBVx3Ew/ByNn9zrFjl7E1yL/o8jh/OObfVB6UJ M4B2cUZoXpZNAIsEV3X2TBddaQFs3sxRN8C6a5DFewEghWjiQdnXL3QqcXI60LMi21PDOrAQKQVj ju834/s3fTGNAWjqXB9r7GaVeRyuA5ynQRvybCpQcy1rznK2XNyg82WkZ9swWmazP31FH3ThTqWC Osajv09ascdW8Mc8kyNIA8E1/whrYafYbT1zjP/sPOeAIRdzse9a4VzW04y17/rX8RusFmG4Pdwe Tomsvmn5yNBmvQnwgdBXqP177mzQROS5TaRD2NhOqKKCxgQvKJqg2yX/yqUMPgJzaqT+7/iP8xRh CoY5Ml66O4dERj0jyhMO0/kCYMgPpA5c1PbQUhOm2zr+1V6TUmGl4MVVQLCaYNrQ5Wb3bW3hOv8p FRHZteYUpyNxNXIkYfEQZKSf2Xr0BQltNW9xKt5KQHx6XBMwj7kZuULKXm8QOwVRmGna7FDG17C4 U3b2RNuAETBIDttmLgXQyxQ2Ah7HvF19TmcYFbv7us/SZVBFEIOYzH2OIyd8gEza+V7IvE78aoD+ SW1IocOrDWtz0J1BYm0GXRBl8tuBFaBRKcQc1aQUVTvYJ9fyk/jhGRQzrmhFzv/29eGzI+0qD1A2 C32HS6L/SQtq8/go1EaQ/Ht7OlvkJRCpXYSly8UDTWS8w21c82Pr3pR6jSH3YkjEhzPtmgRhL8cS ZaHVvRl+XTC05xzg6n8o+Xq3t84EEixi2r/MRip1bYleNqiXTxPpc0RVKcJ3zF3R46rhJ4/Su4uX 9m0dTzkpoJ0bLzwlaN/lmpz/AJNdWg6/GglDa1jGh/GuMZ1SE9Djttsw98LrpOtlasbHVDotsnm+ ap9+bvXBRtrGqmgtxUYeXAl6AKERzGZ6L5BL6EWVTmB+TG7WG7Q6GlfBR9rbUqbGAFyKAHyD+vQC gCHjwB4zOzClbEpB9YkG0G2TgljYHiqvRQTOEbKBoZ4ibQ25uyWtpQrzTebpWIwywPLo5Ml2AnzN RQJL2G3OqoeDKF1YpN+ZllPCEjfTm7ZaUTgHjtnNUpjvApdgyv+3hJqrvB83DOo4xFtU/7u+QsFr q0EK9aG1uUDmuwI33o/JWU8sZQmdQuuKLh8Wad+Z4d3oLpghbJlVedydD8ZlKgXPkiza9NzqGN1X rHbmUO0SO0HyD8fqGl/Z2Rz8jDs13HdjgOQ6piiE5QoIKajb5DBQfjKBbSDEgxuziwQjyOGJ49tN YMqc0oTQ5GNOxME7ddVYdpXttaSl46uLPV4kfxZ4uXUFhACAejt9Iy72gFDZv1oK7guSv2+vNS/S r7RTCbSnbrY8t7hshdiuEXFpdKpZvxE1Efo624KvtG1tVcRb8jti5ip6/vxXZMhhvRDGAFR6Ykg8 5toWI0zukvM2YeL0NvY8WKhPrqhBSYsceDWB9AcdLmyTMcbbtjIyEDX5uuS6pi2hmW+AE5pfs/6t +uDFpUUZ7DoFUdXIVEszoT6BIE0fGMy9djDjvwBxjUoUcA9QTaoOiM4T5mNU6jVcbgzcYAHTO5Hs XESPO47Qt2MpdKqL3vo5Uom10peFxlnJNLPi6fNU9DVK3ZxhikTaXWsKWmbOG17lovK71z1cgNx1 r8Xb8Iaf1z8BtP8Py8Sw2u/Opjo/RXGLk+aO/M3jJjJZ+66XO0eK/4PFjHHnWCoHIeZjCjtj4a3p oao6BriYT4rXU47Wc8wY5aW/uQ18j4ddyMILBDm5xoaO71Dll4BulBSriDTbAj0nAlsQ75gfQpEw fN41GMEgJwrGJsjOeIhk/PFpzlKQA2jq5Gr8H45stmmwiWc2BvaeIGXpXmKVuKBZ25amwTZ+tbGo UiyfJZw6h9sorybbtOXkyANLY6x/RgZb4KF69lR0lOqoa7inM5/CnBpSfsPpzRxCAuS5Ik1/12Vm kiIOEf+SyrinGfscjIoCYPltg42MK6z+zXM68xVfBQD7LAwp+M/UkwawULFyo1MEfgAJXz3lbPd4 oLck9GfZVq4s0/i8A6aROBCNkc+SG1Q64Hmb6rpkICJeVxZVot6AAtQvzFkYt/XcHBEHXeCqRpR4 Air/2dBhKW3r8PHPfomMv0LXhWavTspKgD07HA/gjXAIHdUPJFtqxiub4ANkXZSZoqncbLOCMFN0 njCA4YFu/p6eaNfN/xE1tifNguHaalXpA5BGcEGd8ZRoEDJBhd6J/l9nPjxkwkQjPO+z0jxE+5Xc DhK8vtkYEDnHuckpqpPCOkcwMilJ6IkkxRqhZANnuprlvzlre5kYrMyQeF30JIDLlu6NfhP9l0IO wMA1Hdd9/Y+cfPzjw4nLJSe7yoMZ7ER2N6kwnvDRR0pmVeZp4dfJbB3x4jiru6c2nkgyknv64QVQ wuVx7RYTK3lQCbh+JlpF4+y6dk03guNoFIv8PzL+DJtAlX/eGvnkr5OKCsleohYxSRdTaK3lTcln x3CPOGMMg7NmlWoWtaPqdL0A6q/ExuOZ7toUKnVRJ1V1NmQRPwPqn4VRHqH8d8f+PIJVJh0cNzPm 70jQS4S2hMrJYPPDC3Fmvbh4cuYz+Hwej5jpjDCRJpx8dGscX1EqJzqET+dxO24KMZjS+udShUWY n2pfUWvZhlYrdFRyutVaVfITWwZAn91q6R7hoNsIwFrKLSBiCP/wYzhG7Ji+OOOPQuu6mLwRSJUl UlNME4Fzmb0JDtCU19lQ8uManliDYBzhViYkcmyXM6gGMbrJeIOpyFdZAZqPaoXgxaIU0zQmy6FU WV/imzXRdRp81X1xLDS6gyUUUT3WR4ZdpZQYTXc5qJRfIQa7gnjjY7yMqOKdgzFdyMDw9sDpeVdY 6qepBwqq3li2rmnrOE0CySEBxmAYod3h/4r5g9RyPvfovgos69VLWOyL7kdpzQDt3kwekxMu65sD yzto0sCCQslBgSK/uN8EWwPpWoPrnGY0CVJQww4xSatYKzoeOcVBhMmi+RRLRrB6+lxY0lriaQ1t dJekvHTMGLCdCUnyRbi4OkVy7JPwf1HVAzgBjHzgb+VuJciHiV0ZBcnxqHdp0ogJR6iHMCqjthqO fQzIIdVev/MNEKHYWcJ2NvagKukEqmxAm5mlteUsV1anTm6jnMuaDaqNftVNI661Ei/KWQBE97lz c+RxlAErM/WNlnblPXH25Ke2gCVaCLOAaPOKtLv+Cua97C1O/b6faTSnCWS/AkHYbUKdB2/X628c ktxnAZ6Q2FcM280ErZC8ODKPO1kull6gdO4g3/0LlsEoWcYkaYBSOlP6SyXpD6Fq8G1rf5bxYTTb PtyeG4bvgVA2oF28zK0mIapSaVJjix72eapkfcjfIuUcx3DGxlf5gWi32fBSwAvx5nCA6X+5X6JS C/Cuyp19U3q7YI/z0Qc9FZ6i5RMjgxeBLk1OVBXXU3IXMNoRQgdrg02ZzO/vuDbR3CZrmCpXnR9R UOC2sYAEFl9TXyfteX0ev/Vn8CxM7bCEcaTUuFawEwv4mZ04+uImwF23VtQOctqNeZ1H/ATHpBJ+ aMhLIyngSqnel0GEIfEynfTCLBDNeytxO7MuIELjmqachgXifTIV8VrE6lG+aaqYbYvpUsJIciAS nF62uLK8UikUQSkn625Y/oI4newQJlo0YvKCTEmTQ9aOoq52AKwa/1f8PzHX7sUUA7HoGjPXT5gb VBY9ddLJRqlCMUz6lseQ4xc5uLHTg1gaQMLuLsp6vkS8aDKMPisP1xCkoX6DVky77NkrC6qMrVYT z9nWHE7A6mho9/yFbnzKdR8+3DvBgG0rNK4YO2RVqBuweMfPNAvp5IN7ZzcdVJVzqUa1nBwEk2gh 4Q9TY355yZQroSvzDv1C3DvmodD0LAxOf0TVeFEI1BFHAQfGx7eI7iD8aUnxYSGWAn8KHt/1vVHf 9K36Q3tGv1XM1L8cCig8choUEitkGUFycYEq8Ya8d2g0+Bi5qYhiXvZArt5AOf9ALRzOhVHXrI3L j25S2bWdQHlp0gDTbg4U46wHCi3HuxCrViBpmSYLSBA8m0nYiYfNocH2HxgcyRxj30XFZM8VicOX Sb0ztE+H8pbyGLf/aqitVDZmhbIJcIt2HJXDz7vP1qgqAF8W7f3wnlVkJjksC8o45qPG1Hnbbnjr oZwWuRSadNJ9z9K+HWnAZFViZ6DUgtvo/F/hPhxfxf77Ja64gXI7UQlrUSh64ntE/ZdAooY0Te9d fgClMQ5OLrPGJ4ag2gDKdSFVdvbTRYoNDZ709BvoC0ARDud1XIKgBE6zhcLPmRY6jxsmTWtb6vEs ZdgG3CiWmGQ6hewR2WgMzEAQqqSIJVlfI/+2VAQIqIbOnEiSuM6Om7/gx3084aywO2Gs2cOzroyK uk85mkqXaOqKZ+Cq3IQNDDe9X0skQtjtKlGA5K4TJQtQWohbY8e8mWiWSmG2z5+Biq/hQFmvOIP5 LdhK2f7WRp8OUBHSPTajcyoRL9RB8+ifMfJFYukVNBckmalGzevXXL5ffl5Q4DtcOX4KgwPhLYZA nBkw1CgohMfjIes78HBQlCe8fheTbQCvQ+wDMFMTj5/YNtI3tLzuykPjDPg0kg6twTfxu8o4/9B+ ZVKw7x0MXfVUJ3utb0VazmHins+zbBEhRzFuIXN6IM3tpU0F5G+2KoJt2VULQxMjj2L9lUS0+/Cm 4kDqBuE8zRrD9y/sA1OiKTiR5kdJFj+HRjr0EI9f8h1vriaI+87deSkEMR5VTlVxW07HmLmGHH0f xZspMaez97LUyTk72ZWEnmVLBHBZt5YZ2meVRf+vubxqvvI0A4SL1FfcC0dv+oRp7hH3L3vsutiU WfA8bPibwwQQTrkvOKvsvXZ2fYjk+JJhbLBxiWvxENjMtAU9trJ1pnKeL+5YKG5J7h+mMT9nvz8s OkMARart5D7YReXG9oChDL3DEwJH0n9hrOPVbGOg3mDOmUywLnt4XrBisDOGYblm090dNeloNdOI XMVfd1toqu5amDLm9m9QMYwpwEspWE820sjy1JDjitTVx8JLr2iGOijU43CLZ7bhVvtUPaUd+hYW DgyxCJlKPiCbdFCvCBHlgkdownMw65WMijLXHPN6VN/obZfifn+XdtT7T0VBxjSwpPtEQJYOwqxZ ihwSvjRAyuD1ijHdg0aFCkwplqGmjnLEwfEgLMV65NTvKKzlpwLtnqYc03ENhIPE51RuY3utKKGn LofNZAnhi3JjqJ9IRauRoAPVKQ4g0EQjfBTscWblVBuvT+0mB2ZyWrGqB1imt3bY6asvMyccmfrn l6DbVD2rr/J6x0/ary0TjJANbKWOANOHHD19/HuNCymP/ySNYqs78zpi+OZqwKMZXh/iApfq3WZJ V2ffIQgo6oPEPtcfeeM6MhZJ1lLbYx35TSw0vcc/5mOhEZWtm2c5HnoJpsWob9jF6TZghgiGd7ho Ib+s2pHTtAlIVXdWRdI30GWF+aXdMKzsM49s9orOt1HjpBX0XP/CraAz8UZM8OWz8RkekjP+Pl6x kWD2dzBMiSyvtbFTAg1SHZcoiOF1hZBxcG/dDOqJWlgHYFmwrXWB+aO8SQ31+yivi7sK5sWQVVMR loml3OBN4QvLot5JyGsRvlQHWK7kvzF7+1MqJJ4zKi1dbHQ/bamiaXte+wZ13Ea991m+FxJeNOnE Sk4WGc/gQTZW8wXlAI+Tez97mZLjXFUp1oTBo/JyHwbfmVuggCHe/pB7HEg8mN8Y3aEx/5R+Psta Vutx+R98VDf5e/+STtt6/z2dxIjYGvXBfxNYzx3THi9mqpTbeJ+FyqSfaPivLdZZH9EUkx4dngUn vuxU3gFvBkWvKQN23tJmD/kFSMddkk2bNBVap+hlqoEsq1VaG3x2FrBGijHKMVIB2K3UUvctEXip dWONs1UI0rYmpnySSP9ALLKcQNeXQT4JAAsnRxJR9GeETYtBu5Kd4mJ71mzcnt7L7cdSbgt6Wksu Kq1vQN/8xy9B2FtWR40hWm440+/X8JRv67Wm87mM4WCf0S2SsfG9QkcdZHGLd6NvYrXCAXiHo40m iD3sJ27teiRTw6GjgA1gXE5cimIZyJkbKHtdCMxGopb4wLs7j/BD0K7RbS77VNBWl7NEz+ZvRPqx X4vMqQBQGzZZitQXQg5rRz1jV28hBgi2wXaZ+hRCChUg24VoiWscwdkAeb4mkZdgBwh1j78JxJxC xRCMH+BP1BDB24cCs58FraNOQS8rM/apEGDK0mL8oqD43zG1u62VbaPN8Lnm4X8+IZXiwTcwRgGB zLi3ExnmcrRzj+30kDkthpSEQEt2tzOY7yLULAcxmLFZxuntqKTIVqcEAoJjJGyh26JOug2v+6DI mnpGMHpRVr31u3G9N/zG04OrxtAO1gdSf2edaAoFDE4ewJt6pNSaFd4L2v8dGvkbChDBH1X8siDg OWkk6G6oRbYb8dh4sEwCGfLa34XfJCek4YEXUTzjNokUE89jZWeFMlwpZvcfmcZa/0SfTTHJjqmQ E5YXzn0vxOh3Pj6Cp2XCnBjEcopgmn928ZP03Fb2QBiSHJdXEUgpkDy8SJ96ybza7MVHxGIw+gV5 iXDk4kRRIQRIUBozRRw5pUZ8wOkU86mqRpjzb+7EQAsM7QpImF15jgA6NHZfFGbBjbiK1UD148nG gI+aJWQ1qmoWhEtCHDZtGQGz2ZNrRjLEOLjmTK1QS7BgJt5mYB0vRJf79ClKPUP8KHtoevQzWSTY r9inNnUxXE0JIxit4M9aXWS6OXcsLe2HkmtGwy+b80cc1Cp4b5Qa8QTIzIIYZXvPBSbYlfaTdH7J e5RkeOjOth+PFyisL6Wbwr09VFbV3Ys8wID51grlVqLbJT6jeKE0hGPJ/M2hA5C3dZWpi7SZv9t6 F/5JXl4pd0H3nDacS006m0x8Qbg5pJtu2p+9G1HYAV/FZ2JJZddws7OnQ4lEKyKXuZLkfQ7KeJyT ogMIYwnKv1WYNRjBzBVfslKBXRIe4lpTKA/uPbc84Nhsl/VRC8jdCR/IDHmfupHtXXsIlM86k1ov 3RN3jd/ftB9uQzxAsQ8DKlqLSnsbk48Z/3DjPkw+g5FCq6bRaKF764CmIwCMynlEqKt/KspiCIU3 Kunu57W/OpB5BC+KbQVIj70nC/QAfn8L/AsCRdPxrGvMZZwMIH0vbjtiMoEKGBqRLuXUY7bCKRRu es6M2q83CQUzNgSe29P9zEMhBBn1fHbYF+nZl+y1/eTtP56Bxqg4BHA22eABCJxNygLZN+5jwXr4 Vta5BVYBgRBiheHcfRuZadoME9QSzceJjOzoL0lsAYxAuU6zPnoUC4XKbpIiY4u6EyuKG4E8HoFJ G5c1MVlQIpxnYlF/5N6SwcRs2LS699jR9SOTD1yPU+EjFMTPWan2Yr+8A+SjKKpkJ2Q9Jdc9TGy6 WG8IjW164TfapT3epS+81oxQfum88Au1qzp4FhrNl0cUmaCz1+F7pM/y34WakdWxbMVnM7fbuv4F E5jzlWqp0Hq8IcxIy6nIGIMltDs58bRCoN6DDbcFxfIrB5r19wlKJjnDus2C4rj/Tn2irZGeEczm eeEAQRXz56F/rajZ4+BsadYiCgiaeOXtMw33g0GMZkq1oNgMHUa3mPWOQmVAWr53sNpzyal/3aUa 4BRNuhd2LJsbaBuFIpBbtee24v0X4BtXZg60IdPG2L3DG9UJI8k2w711xfNzRYflbOheJ6msmpKq h5mm0xRlLV9bKoQ4ihFFzm2yH8XjE4zRTeqxIB9SZzOQ7C/UtDUMI3RpBe6aQV+KDGglk62ul8Mt Wcg3XM4wgmC9FxzAjgId4xRKLUN7B/cjbw2HTwjeLuaI2B4avkxNRfcLTIOGMLXVxM6c8qZKz78a f+xyvXVdCk0gsuawxu41NBorqI9SS7q4/xiBY2rjXG58/GIJ2/93Zt5sIqJgOHTEBOyqCAO9rAQ+ J78six8H6HwQADJYCm3/6rVXpywAe5vxAy0O738o9o7fg1AEhpHGQ80hH0/5jM5p8wKotyZkASLa YHduLWPRVPZcAodNkK1hYs7ofbAtePDLTRYKKs1VGzE2Rdsm5RGW4ENwfjdn+wpw8xsdGdEzC5fX mmqWVzXAMxmGZXGz3PEiLIL2qGapv3/TA7IlHpqQdn5DO8S7fkyv6r84JHGQcqdXkNEmsA/IaM5z bA47kHk/jfYa8Q2w+ZtJ0QAkRXhheKrWCQdYk0x4ekFW06eosrJrf6v7TQDj8pVnDwiwwZ7SAx3c skJhk6nl8RXNC7WKbQE3P3P3DDwq/Dr9GRj+rFND0aZaoqMvtqtxbRD8O54NCK31T/SqbRXMS960 jZ8LR8mP3PTvj9WkSKpY2jZjs/ExffVLaYiu1Sc5pWw7cAPEMttyIa9dq3f58bvb37sooA9Q62Lp kALvVVRMegmT1+d1bEn7HFktysXfJ/ING4z313P1Tz2DeebtIVKvTaT1bUnB9nDOHDKdfS08cCy0 PAQmtxrBI4qdNOgQzUmDKTyZPW6oAuhJTvjaJqtsCnk6AYH40ZIJDHZ1ahl1dMzi2QvcSEXbgwn9 fZQamq2+a/yFMhMEZ08+AyXPkP7BPnDt1LhgjBj9G4V2B177qG0z2OqVSwtaphOompTgxqMdV71U jQtwtjf8giXX6sbC4BohW6IX/+1mRcTURKw5LXVLa2/OcVC5SDBkUIdTcAVATbo44A+g7v6e61mv sL8Rs6dwnJxceWLwdvO13qpQJEpuOVdQWpzhDBoaqb6qHnsN9Rf1ooiTOCYDnpUGcScan921VnR6 zfVpRMbtTzr/67b7iNhq//HDUkqA/w4qNLXlo5BmXhBGsjQQn8+2AJGIeY9rorx/S+5/frSwskAM GpfXfj98TOE24sYqUmNgd0lhdvgCez0JpSiLdBtdXbnUYIrvLD2qnA6SZG6kPjJL0RncTk+ZGcLi ZeIw0q9vm/e/OyyTR+S448iunoX5RTcpFxrTKhSx+6SWO3zNQWwU4mp5KlJW3MnCkgQlcRbpSWbQ /1I9hbrmal5vrXK9q7LgyrIHfh1TqzEhAyb3wiAKXoKk1KR9vZXH4bjxHh6r0SVI8Sv5GOIpLWPf CbcK1ARgKoXXW924Ioqqc3GdQjRp3MKv84wJAqatBfZoUylU3moCUK5akTVW+F2M6T/3Y1wMDoUa R1o2LIC4uniNbqHy50HFUJEl2///SvX0b9EKUFDrv4evA71TeMtNUrjz+ixNKwHGLcrnWu2rcTT5 4IvIKPfFDE01s3lisbfkZWn0ThDtcwfdEp5jvVKbKbdA6QknOA/HnoOqcKsFl3FE6hjoXNQW8Iqb QMg9A13NIXlE3xb50Qn0qv3mNxvKG/FrfpQxIPObLWl8BAUss8ypO39PylIi8WG4x3bEwRNRl/ll U3wbdejv5HjextMI+Mn97XBwy6akXNlJ83KS3NpuXzkBn0HcCXOQhkDOSGH9d+WDFItshrJzOY9E LykLVzSlG2Jj/I8WbvZTZoNEq1IU9LP+UQnxxHCIu1GNhqL/sllVKjc6DS8mS+GI25S8Njnsg0hQ ak9x5HNjtiZKB1XnxxjeNaqRWl8U0ioYl9l4B5jF+ywnB+hlGZc5zCjHljk/9rkj/BbPvLtvEwjt OK7cgeLEmkwhM9GkHwnlGci8aj/HnG8+78FfD1/2d+J/AxsiteoVaZ2LdeB90rTg2qloeSt2WQ95 qImag6HVZ41QXCKG7MLRM1T7P3hsNAeD2cQdhiUEKM6ImJ3l7RsAfxSEg4+NHQ8F5p0T2VdpNBWw fusdnq6MJgl9Rtr9nTeorRoN14OZEkMMqXd+KPUKj4Jwap0QeiiPZTCaGYQG8xSW9VDHwkHegGVX bTKhCVdcjzF7fAmS6tfxfEjAemALDCknAC73sN4xwQO7iUoaS8PYSxfc4GhAhYtV9sJMXqXbSUo9 mCkOKVsxuMt49txY9U7hVBHfYsB1fP99rOv2T9hktKH50GA5T0TzsmK7K+fHiMcyhFFvCRNWaECZ lSjvU6E2vszUXJvLdNRdj7WGXzRLLS4sxJ6aEWK/tZ1prNX0Eb4hd56+/DktOq8vHX8DjhqlBLXC lIThSG6M0+Vkht4oFsfc1yt+MfiplFkwxEeDnil/djWRsaKqclpbLQPU3YjzLy22lWU76JSUMeTI 5+FmE3GByGGrrAB8dE/TRe3ZzIdmIZkGLOYbbryv9N4dK/LY5KqEoEt4GWj6msAolaCG5nTHxj6v sdcccySqpSsXp4fj/m7UKKi8ItDkJgTGwg2kwruN+vM3llZctWbT1fqckpE5CFAFoW2TCMLbd2H1 meljp4lnw2jZ0iwSzdOUGCweu/EOXbS1wVzsHAgMP5lfiaV1ON0pkX0FoYnZAD4bCN4A97YPN9Mi 5NMfiT+bRe8dsYRMe8PzO+Na16SxSv+3fem0QU44HjRLUPlQy0CFphvDIu8RCLaQ+R6MDfy+Tyn5 SRqKAkL0UsFr9efbhG/W+ZXv5D+lRWj4+YVgiFAycMLvAgwcIje657VqJ5CVIOhSxZBCukJESco+ QynzKrCpTOtm5CpleCuwTFTWEsBEqqbzEVhUh4Oa+YK23UyOJyjc372RCqm/ME0pViwkQDGDLd7q A32zimSzlI5Cq7YevNuGwhMQvLizgMAOzfsnKEqnWXWa1jPxsDwxo4pTrqwmnCOFq1nJ7GNnQv5C xmTZy+qAaEhrPQj7Son+t83rU/NofhBY5DIZx/A/OFbuQkVezCM7YIsBN2CmDodh056h4LAN/Y1q tBI7gXIiQjzfwPC/+Sz8Axq7BlqI4xvpgH6GMK9Zxo0Z6sl8fl8CKIl6CZ6j4G/XqYJCWdMWvFkH tXzql7I+Ca14Oi102Xnw+XkTr0NrEfSWqrbNiH08MdWlhr/FPBQNvO4zo9nTRufTr0e5C5z+jBSp dioWXYnBLX137d4gMc5IUSJuHSzDyvrv1AHLXHfS/nU25NITHvUlAhaCUQvjUie/Re8rBF7fCT1+ dLmXwJWlU0S0lgWhzQezk0BxB57nG1g/IR0pni117rSSXn+MH4AyJJ4tfrfvsH7HHPxw+y7lyYUN Vo4vrj5ZdL5D1kVLx2AefyRvXs2akSrtGoLf4YkE5r87lIYgVqLsQtjQMvZxxDPqDbwn6RbXXIgP 9Ug0k+0V+sqSIh282eGDDD+Ck72fm+hwOhSZI0BKkM68Pz84gzoim2KkcR5fEYn0sS9Vt35CvfaA wCabiQ/OCwuAU0gfkfzMW7b3au7jdDXnZ0nzriUzoZcXOfWofbGuRsbJVgH6FOf+QaMKJmtchx+2 0+v3ys/XSJbqN1I5dMFdR7QbwWcGyplnwUpx8MwPJytWuL6ZZ+KDk+wFNMUckTicbP4Ecve3HF/s gKmab/hngyhgrzs52LSGqjQ4VlZpNqKzCU9t9YTqg5Dqx/Onf9xAaIkUCWUK//9mkTkoUIIJ+xer ld9kSrjJ+bsCdg7xwWiZWYTL1Cu+b3JgARmK19XwKGKtuiKMDdk0xM+7SKN84q3FiJLmH4BcRPHr DaupuvB2WSoUP6yKdMTu3o4ZCfxDKDAvgJkQHIt9OOz1Mh76sozTycdIN9IUQsgCJOtheAYSIFo8 +NCw5Q5zp92PfWjDFKPK15+jLT1Tl4vSLOnx5P/bGeiFzRSpIdgva8qLONm4oEB+wIzn7z4X4TT+ qVTncEqoqbdOp3YGqY4skUeBV2gmSE5LpN9x32iazELETKncNs1ZqUrdVBF6cW8s+EjYm/cJIUlF 3rsE260bHVI5q4m0ccS+ROlCA3hext8qBjhUORjc36QbHwRfGCw8qPN/2e01VtmVIKB95xZhv6YK 4X/x8wOtUOsh6drH0pFOGjnil+tjmu08g8fbWnIqDdUg+UBh9/GhfgMxD9Suz6tc7yfXtwQsI5te u92KFSEdtYzjxvrHdDyGm6SH0xlcchPvVP/mVz5tWsV3GjSfrx79ldWI0KQMjpN/AfB0RETFnL6E POv8FSFocteNoeNzZLu81092rdqPwBxcOMc2PJhdun+kkXvlcJK3382tD0yvU0au+k7y6pGSTJup uL2unvqOgjieY5uVz0QyVZ9taDAb/njlB7CqMsV8HDbcxGFRM4frcSBqiNs2u0Br8uyUSRd/p1ls L/wKf+u0Qhy9h/ef6TyhBsdN1nkbiphier6jctP5XOzMS9z9VZaxb0d28RHkbqs7u8EeZ02TpQrM CTh8sD4SIekEMRk7QaV11+v2qdVtf0C3fq207OJwacslDGTZFrbcq2r+nhPREJsR9F7gPRWg4mgG 8RfpIQuUUCAOoGfsO9OY4kYp/98J3VZpA5GR/sSUMaGL/y3O1IncJtkg8mfd0dXB3GLNi24/ueYS NCgw5/zFr4n/yYFupUU7Rfs+wgKs1LCsNKXe+ufs4rUhN2CU5GQbUxjLrr+WpwI+7zr1TuQUwYZV 9lHYbphd0uoY9PqZQgi86Ttvc9ylvGe5wIrpbsUr6+R/4gYaRIyp/TzV/NoYZ091fgEBp9IAYO1s 32K3VkQirTsvpSsVvgqj9uEZ+3GlVebTTg6cYz3EsFDf2/08wNYhmMsKkvwGpt5Wnbso/m6RRCOA IkHfFSEa16zCdMfj1anYUu5vocmGlMXvK17G3O9TED/rtfEkAnU5PKJBVSdsoR9hV+Af+XwpueMB 9DhuEHl/JKv5/bkLpFfCIekBeFDuprPFoDGMVFbs/IkyMOtk9jgOSA1xWrUFPeXnUOeBrJIbQbDh 3CNS/T729VURA0UOOVLAWtfaXriY1zUfOj4rpuYggiS8Iu1q9uV3sy2BvHBcfqE1ouvnMNZnoMUo z9eUt0orDJZmWs8jQA2AXHR5G92SzadmacmqCuEPO9JkyOEejenb4PkziU5ImYz4RhfpwLJHe0J5 nKMemryzHJY0Nggmd6ZfkwUy+hKgtb0Tw7bOVidAtxiPJ3ia7rwfE49rLUJM7azsG2cAQlfF7s/g 1CRVJiJgX78x9MwC10c/d6yJYdksRsWDRvigu5i8y6jY7FzAhx3EDf2XvwJi4oK6+aTs2L0HC2S8 CnDA27dpsBi3zIotfRRKBnPHcK+3Vtmcf80liiXhKmQzzZxL2rMAtPb1hz/hyJHT9fBSK1/Lcm6N C+uSV+TJ9mIkXVC72XAwUHUz+9a3kVyRHSn0TshFwSPEVQ7tGqiqSIXvD1HLFHfdfYIhq7UxhNCk HepWmNJslONdWltSSt/sYmzEzvfxrHvg2iMgk2iqQQRVhHwQmvrGlepGt8amFeqqer1J801udW1E q255gl+Lw8HkLWkC77ucyonJeGG3uWFEBoDJP5jd3G3sQvAfioAxUKYRTyT0jiG3nEEuXCIGFhRb Xu7E/5u/qs0gFpKmnBq+ohAY5ZffbTZNYQrBoQQSDtFj7Zcx8QlYb0tCrT3eExyV6NGRr7J4Xq31 zsjhMiAm4HwlLObWLWn+Zc1w43R3u6uE774T6ES0CCwIKIUJY4eM21wN60ETdcIFfHAhKeOFE4+D a0Juh/4HNnE/Vlyo0eJtfVhkZMA475qUOaQC3rQRpe296Y0fABJ4xnrzsmrgdKkgSIfKiI3CJUDT gY6EqncWqM3dmOPmoOqw0Jb7nngwalaYNhnoz7JXGCTYIaQSyn2P45Wf5Xy9weEVMaaht0aipO20 E6NxOUNrwhHVAoMyWFULT8rjPse1HZ20VKLAHMzI+aJIVi92+Z3YVQiN9loLVZ/gWdltOoOizz2s J2sH7uKWh+bTk43Lw4LO8Jag+sV/YCCk7sLFnGqWFVX+a26SQ3UEx5jov1eiKH3KxTtqK5q3yqlb CZP6M5BfJOZ6mXHoouKUxD16X/BOS1QPMKPO41EZbjSWt6F9/jv9hIRyCTjpfTdcgOsaUl17SH3G B80+Ty9G8l7AvdS6hkWv5/VWsfNDS9bXRn0eNVCb8rXFkGGT4qIFMCBNTGyBQn1mlSzuMCSflvLv 8f0meqFQpeGGSeGCH4znzroI7TBIiarr9xKJMk/tHvQvpi9fnP3TCnp6FOi8orQOm4D+m5wbqEfk gtGOX2lYOKUBtsNlKcawSMf3tI5xdrQUyvZaERJL/U51b3xYZBlqMchCEnMErpyqv8WlwiZkotxl V9ZxSHVK9i/3DE2NxN7h9leDtPkAlnEdRwuFrsCcVY4jC44lGoPHvdsarqnhNP+GZFgm3ok/6dH6 6ohR0rcIjXgLCAv7EmKd5kLA646gjAGrPC96D77na+IUUKti+8V5iy2EVfGuA51/jVu1XQm9Z+Qg iA3Aov+W04mzoJ7uDRFfc2fByxK8f6FSWYm2Z+4tLrvIhyZasNrmo2Ys5k3GQmYwGeV3shCRIlk2 TDRnfMW1W2szoGAZpVeM+LCMVV4Wf+6IdjskGfUoJCIFcUH2dW01qLgbsIyO//OiBFHGG5ylXs+e OH31F+DyP0nNyXoQwk/s6awmQUz0bc7Qyx39B8nEMrtGYKgtkToINLWsz7z088FCCka0m1Y578sm 2UG2LjLu7gwJUilpkuOHW0OEzm0tKPZIhfsefzCfanznJAdNmiOJFQ9QL/PG9GztyLSjjPYsScDp IjWEVycbmV9O2Ao7zD/2gfwsWwOG0snQwPohZzYzxi+kyb0lFSh2BNtFsri+1bCpGLXTZ1LQU8OR 9rULxiik4M391ggJj9OGB7OU1dZwnMSXirbK/yeKOwiUZ5L5wBnbh/qPGiOUDW5Q0chDMjHLOXET MVPJDOE2uUGqCN4irqR3vdR/FLu2GeU/P0NyIIEHfOP/fGhiUpAWrioPDJYZKMPKEG6x7/6s8a5v Vgmu0H6ttXnFRgF3+t4C3KdOJXoprLNByVgHtKz3/t4dtnbt+7W2TM+OLur4NJCJL7mFIJW5GVp1 4Z1URuaaRMbAgIh/cNdIavB7b/sFzQ4bR3BF9hznsQTN5+3q6fiHvrB5dv7f9wTJGYmO06FOpBui YwXq7Nt1VWbSoCEcnjSDvnr0hMGKSrYJX9gGhWrYPzZsKHjmZr/7vMaKkxjzgObhqjDgEX3alU9U 0HCEekY7sPNTmpuJtpkBMFhgWrlR3oZbItlUz/tXn2ipn5+8yJBcgu/JIpJKVVyfj3bwxiWq9C2/ 50CWBRCq6Yoc4zJbq2BjdK7fR/nHjqooEFV1fnrxxugqXjqn4imHWWJ9i24zk8JJiYoPpmdskG6x vj18Bx3ttpwICky7ihfsREneqi12wDwPTSHkajrC9SYbKya3TnbnS900izozWCbqNZ1tB+m6VYm+ ApPzHzIy0QoJZXCzYf2k0gIr8aEmXYp9vgJEwRX2OQOXbWVyJ+G/12MjVxMAnKqYoAeR+s5CDzcI f+9WDoEl1ItJbrKhZsGGskQIKBLzOxlf08nkXBpFfAE4T0r04teL/QBi9g7GId/3BAI7S/deJOO3 zavXJdyib49ECWV9yKW8NuemFRVWVdkDe61AxUv971xf7vUcJ3DfV/H1sf1Allki6Z+Pvxetvfqh oBB2ocqJlD2EuyNFG5u63DQ6oqDewz2G8KmCv1O5nU5jLANe9oVYZDmXW3OU19bsbF5TOkA6p2k6 ilgxbRaiu7+NWla1IewDP4N+JuWTVKaGwQ79DbQRbQG/ifW9r34JpuW3nOMgtby6ANWas5Qg2bBf ctZIj8uA6aYdgtp5sqXRUyGJ0DY4JxQG6zM2WoTDLMoOo2m4nhax9p2SPthun8FeHenv0s2h0WEH WO5HCwkxVyS9yMwyvqpAb/pLip4CqQx2kjz0cMazsc9GwBkMYWDvhx8p7LOOHIcKV0XOQk28uHkC hhRk+8vs0Ep61hv1axz8lWobcTBsKKjG5GMlnUnBfSQDRWlHn+AmV/d9HmGCEOBD8iZ5kzIBq+tD 5oSbwRoEpSAOVryTrK83gAD36wQr58aVHbVI9UwAGSkyqrzkBbY4qSHqOOud773hGyNE1aOT7BCP bxihCMuW3deqiqVASy9V7jIZ6OhwcbI6slURMJWhyz8Uw9UdySJHZ/4BQ3L/TWp3gxhdwj1WY7Zh 8LLd+vwJ3T0B8EFKPnmkz9Y85XDoWjqcBlKle8WJLb3sDxSPgs4gbh17Cdk/WYo42mkP5vx/w3H7 gf1TpE9nH1XSv6eA6peThLlJw5BKfrBoVW2IMBHzSDCIdaq/2GzX0Lp3x+bhGB2aqXBgUb29yG0U Gqum2cvLwFhwo10NaS9ZIsaHM2nh+EK/CLax/xS1W7162PqhGWqB26UgKOQlAgPb+iy5NLoHq87W 0johDZHp02Xsq3JGIpsyJZNYyoe7Y5N7nAhHVV0WJkgfAwn32dBiIeNqVLaK/UDo9M4XZv8i67NT W9xo9dONglusU9eChR9W+lLZgR/pGmCERiybDpPWDoWr5pfMa+DF6wY4HOu5lPFI8SKq3a0952QZ i35ZAz5OR7P04STzLAaCWNhE3CWQLvgg9XIeZeLa4EblSoQf4JEe15afYcy+7/wSWWfFQGITeyds Gv/cbh8wnG75NABTgGcr+PGz2S1N7bI59bW0Cn2TAf1h1fiAEHa3IsA7KtpGIRurHGAemvVnAv6J FNz7zpq4OWOIZTvBgwpn/j5n8mF+5eqL3r2KpRDDMK81ur/g4yLSdFAK3ssGQa0CQlK7PkHKXcQu x+VUuEl0V8wSU3qrvJF+263vhJ+OwC/budULOWwy+r0jDepAJhUl6kAvuVzDA4EwjNAw/XuxMt2M V8Lqvx9S/lM4foQ5ZSDYkwcQ1zFurE0eeE/QaTVoYmqPJXXVL6TFy77WtFicEut3ivAfV/NBDO9H RaRR7YeLH/0k8Wg5eO3H/hk/jXt4aUz+VXcR7YlUk/sQtCQkn1tCCnv/0SpC0sg/pzUus1dyRK4L zSJTLgEzmmCgI/QiJVFMhU8tDHrrWG8+b49kCxzayf9f1ojBGbTplaqLDI4xsUtzsVxhbPINhvHb N+5+Ce0RvJDgXEoLviWAwe+9HlpQVGHcR0r5bOO+L/Vaen/3UJiMDeCzz+753GsrlAsR7gQHJ9aw dupO8lNL6N1/w/TiotRJR8C/HW6huG+6RVVGZCwtUNQ9n/ENlGYi7TiuQSw8tfOrQ4ducbmTCdRV 61IUtJSTj32owGh8qNLfDLHyOGcEX2v7cIVyErAAfZHnIFMN21Ss/NOSXIZgivlTIJCuUVBxBmrc PH4ctfPaTGHmyp9pVVc6Cc9VRSWzNI+ER1e5CW6Wnz5m/F3O6X94rWy3S5V5KeXrVOFYwzvrwsEQ DopimErFscCb+mnZXnHsDH0K7BacbxNmYUwm8YpwTkk6CYXZWcLOq8e4ofvDt2SGng6VYjKT6Ffi +IoL6FWq8Y1IOj3RSANMTbf2k7WOSWSt8GDioet3AI6Y9DvLhLZavRXp9KHp3Wemdzb4pPLtqLls oeE2NBXFO9vYLZ4kpqBJ3dDOAvPgk2l778x/KrUuLK92dgC68swwWNSKcJClA2HvH2//URR0jVic H9Vu8SdMl4gx9xlajXtvcoVUWAaUFY/cswNSI0FEAEK8jMIZHmxbMUm7qla5GQ6YU1XdQFOgewnF UqT4L15WQNHQ1WyF/sLSo21yrvrJFpqA1MZm0NbV9xl7hJLSr6TfpiJUp+powiD8oBltpaw6rG+q Vdr5aY7pC7Dzd1yKoxtURxH6YMkH56OAChDNkAhtiDoSCETFTHfeOi7CTub3hoeYjWV3YhFVQyDt 6WHg/WM1Q6bRECsmQONET5s2iMNdBeU5C3t09rYujaolJddeoel8gQhvdaB6qcU4ypkr6WZp/Dl9 B4w4KQZ92HMdh6Cfu3g4PnMNoMsLxdjVOQYBseSoM40abhkEjpTjk8EIyU+LyaRsc3yPUxfhJC7b xFV3Ur4dEne7h9iJ20Ldg6w5SLr9uqv/FIRZSbXeNXqsQNgfrEKM3pQYUFbbhj+Dj5Fdxwy7X51n MUcH9EuRVcSfMTuIcoU6kRSQzgcq1TuHMi5ycgHNXm6yY1GY0aQUA04VJWAxmvNgN1zRGF9LfG2t CIVSp0whPgJ+ckGFSmoNng+KkG3Dc94BYFQFFQICpr8Zq2IwzlW/LNNGsJtXO0tL4cGWgIxEwT30 kizl78w2CrvCz5g9+klrf7GPRCdoB/PLz4x7fajjQE7/bbWbNEemG4HpuPozeETFT1TFhaqj0/gs VxNJZ9sNmCcpXVV2bTdIVbpdsPjJ7LD3jQLZci7uY+yaaLQASkq/AxXo84K+Zo96aKsYMybEWEm7 +5m8bRnymfT2LE6TV7EcSl/sJuvyKmO+r7e75kLBkcwdRc5GdsFRSPfSkgpgSjtWbnGrpKQVXvci KkgJ5O2qpTTVnSnjw5H8avxmE9Sg2hJDhTLPNRw4e7HfzaJpH/ZNOLOkmRru0DZJsLNfA7geO5KG HcdGeOOuhA8ILbGkLDsxf6eMqbWO/giAcKA1dUlUksrRLPrunKV7fNMUeS+PsZBVmWZEPvKY9nQa 1jywcvPoz+fYZ9sbu0f4++geSKg3/OYGgD0tyUkC2viTzGnILk0uEhmUfm7tRCtqkIqns4BmQIQQ THH32ChiekzWg31jn4p4noqgH/xgVeedwp5Sd/1LrOkc29hCRSkk41IGj4UwmoIPO16lRE3O4Iv5 VJINQnoFml9wHKqKzLCsDdM585lEOC3qBqq/t2M7vJJu5d+K76QydpR/f/r/AlBcCIwZx6ILJZe9 JPZ9IaUtXatp00ghxW8LjNCLfVLJTKAqiVBMk6oWwHupfDgv0KwOKSZSUnC0yr89xKfX5mRgOrHb nWspYLTtUrAdZOpll4Ed9acXmvIqr7TcmHLykIoNOFr1g5vXHdZiBT56GY0vNuJp/62RpNHGPv7+ 4atygRyO/HqLE6MKScjRrYekM7nXn+pHNSHJ2qy43eNIHZYJHAzf/QcRQZkSKmV7oKltAHkrB1LU 3/0gTs/cDP6TWDq+lwLCBmTAlWm2E9AnGm4l1/ycoGCWImO1R2sr/P35j01vJYIP3dgBMJUNoq7/ vqJErp8P+66fNGcNheg1I5cpWSsk7vEwGKtWqxmXO+EH3xYG8WjpmZTV4VQMbdf0p2sglQAW9Y42 5U1z0TPPbFz3IJtASzyGfUZQcxdCpYHD6k7oiwiH2oPQObvo7inZAuqzyGIf8GBAfU/I6s1DwHnP AGF4djlW+V/5i5YCIkCXK+bSQfOCRjkpyVJrstXPu5Mz59m9WIFaikdONzi3LjZUb2ZuwhrdT3Ma 0MsbPNz7wriZA2limIlnup1nz22+V/hKh9dapKD1J6sDq8UKD92SrVD6+BxXuEO+aZAsUbNblye9 4zMe4CJZOOzON8nXD72Dnh+i3vI9Et9yLrMEao2i0MtTVVlNOyeJkAJpXO7hEzwmZkr0HpWwRpPb MTuI1Aa+6lokWCj5R3hE/0/xtW7widhFKW23JXYb/O0roVz6TiP0efIPgdkDeNe761NAJbOUfnSK BwGOMFDsoUUHKFbrLa4SX/JyPM6JRAoFcseVyiDmZg59Vv8MQqZ2femFeJ0b0jS8EKIelGZ9L2Dl 2gFke5oi2A/YTmvxWQhhK6gevPsZDxo/R3Q7ipsfPnt+gjfptIaGzOx3sAEYHutkCsoGAhEBCH8b uzeHtwr09QOx6Y290J2/CCa6ryDQx5GUQdq8fetIgNwOJNXqvZF/3FHO2KhtUXcVWWOgbKZ4bBLV YIICCiIJajoCT99mTOfr9F7SlWvbBTiGpgwzaSsoivmEzJPC9yhrXBUBlMn02ZP9t5eSwnZmrmJG Is/D9Seogd2LZKZhAViFMPLT+bNSFWAQ83akbtXTDpZPYFsrxF7CLQZTO9xgvldG+4DwDo3h3AuK V6NTEqeW5a2Sok46lHFPXMm3uiXnUsvw1Kivpt4BWz1JdmSp/80/OooKLCgVB/0qOqe2aTNfyC88 91AXOAWuUWyh8yNbaIaZS/2p44pteTXGNPzjr/JLgfoKDhhYB4pDX4JCC6FEdxTyolqvaEW3Z85I 1tmHXzYcbpYl2VzJBwKU8dZdi1c9fpBYTW6Y3rST5eqDMmCMmaa+lZCU22Z054vE8cP4C0oN5kVe hqjQ6sfUP1I4k2xI5uZFUZPEvRH9m4+Y7hsqohNOhcCOmU8GVo6IU8W45vgn6A8jkZ8bBdvYv2eJ tJLpj+LfPgAfBPp9SIDGobQRxh47NMeC4+bB6CsSNRdAn+Y45Z58WnidST1n2fj5erIUI/TcLvw+ cy47GaeMrn1CJHSkvNCSd8njey8+qHdFSRFaS+GfDWpAO0D+d+WzyTkVSMZb99+XkpPADYttfQP3 R+TY74tOSvyOx/9Re/yAAGVycHfhSnQ3VZ5MJCRNaSiNXBWhN+1c/sF+4HMb8QtR6Qp5gprk4NEz Jt3PShbjBh6bUsKmsHRbji0AVEAnWwhFs10lUIy7O0EfawdIBxRx4j6vUCleYXtF4E9SFex2IWVU X2UyPadceQYFQJcYMTouUO1ktZPdYn6qmLxEscSlHlxJA+CYDiAn5p6IFZJWcpSd7TjS1/QRY0er 014Q2az/TiogHGAVP0vmhixxlnOSu/FtPkPBI3eTcJfSUMoQhTk3Sl2akvuSyrjY8HGTgHlYn6lv wdImJpROy+NnPkUkCjqSl8hnghLWA3IkbhDm8dRll6mteR9XhakhPT/eC0+Q4iLR5uMXLawbmmnw TsJdcuJffydANmR/77WcBRLkN6ztsDCUzcdvI3sVhNpVFLDWyb6Uc8hfNJKECyvFoFlssuAdKani CUh4OvLu4XtxiV4HhBRjB6rq7h2F1l0iMQqaRnkMvuJ8RX601s6vC2i15hIdK5Or3rv01Se3afmG xg83SAofVS3xMH/ta/5+puMpgTgFSQVdEjpv+6xirrTeYqAWUQJsCSXf5dIOtku3idSZvNdHJsSi LPUB0RDYVn0ntaZ+E5jzhAl2KgyTdk87AzHLgRm66eQEUoo7ytMisnTKbaEl+IzA05Z56CUYZ9gq GVNvWa5p05y10g+XcSP4oTrZmOgTtkeeRV4uye0RaOIBgJ0J5zCVVotHp0AhrhLxgGaFzrGqBMEv pUdCSVMbnq07H3Ks1/3huyindv/fUCzHXw410vAVAKe607sgfmA8Ye0h4xqvxyrD2hUqzNdsPbTw xKPkkYcBOmDMoDjY2X9sup/wYAhKEjz0VRU/GDAJTw8flJv+1fIZCkA6SDYriHKXteKQ8G0iSc2Q TXKaG4YxEKlFdiq1FWl3UKFzN8gyf4gmDr1Emc9NqGtkyxGxLl63ImDV5ScX3/H/5uYcyQdsVYkY QXVcz1dFmxUXcbQ2d0G95nJE36GA0O/MhXP0Q5HEZ1wMu+MGNw8Gbo4M4ydI4O+9fhAsHcwXrpVI 5o63l+vdYT3hGYKz9TvD027lv7OHDDnzbJF2bb6FYms16lHlbt2I/tnzZb3jdE20WVgm5kkdaWDZ G2Jen3KWICx3DT30wLkvMQOscsQZ/m3soIl0ABW8EFvhJ1z5JBWP7piYqEH3OCKYpwwuO7KXvA5o yRXmaNQkfIOssfkd/DAmOq4vAy6HmeOQyRoZ8loVCvqNIDAtLthN6QmQYm8Q9ocowStoYF9+TwdA 3MPVdJOABily47kEjJi9IW28Q6EjN+IkYU3WeOjBhVNgQVG5xVhXlmpjRw578sUxbhy1S+UAJpWw 1lud2pqSc73oDZw6iZbLmkZbucaXFnxNl962Kk3jmdzBHAJ/wAUFS/AT605TuCXII2cPydiJMdww wdtHgwzZ38qeKaQxThM0nyJmR8WU8mGPcbQBf2iucqI0a1pzXRM3MsGqIAwTTaEhOOJVOE1vDraE rljMrtScqtZ0be4qZG72SR/l6g54Egpch9SwJJf7J8Pe6xi+q1qNy2WTcBXidglO19tPwizOPMlA gpw+MjLcTTLyo+ICpEI9cHCK1VakEBs3sL0HBI7/M8kaCi/kUUX68J1Mlzw+yf2bAFRj/Ol27/B6 oFMBqFsRtr4+0IPu8cSxH1YQnsdkOMw4nyelMc7E0LqdpE7TlLFmncgTOmCCG+A4ANC3oOVwFnbf hdyL0ke= api/domainwhois.php 0000644 00000043126 14735711214 0010362 0 ustar 00 <?php //ICB0 72:0 81:2baf ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 api/domaintransfer.php 0000644 00000031321 14735711214 0011047 0 ustar 00 <?php //ICB0 72:0 81:20cf ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 api/createorupdatetld.php 0000644 00000271775 14735711214 0011571 0 ustar 00 <?php //ICB0 72:0 81:cd79 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 api/updatecontact.php 0000644 00000107535 14735711214 0010704 0 ustar 00 <?php //ICB0 72:0 81:5367 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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= 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 IrSAEgyuYfJLXU8mjRcg21a= api/starttasktimer.php 0000644 00000057153 14735711214 0011127 0 ustar 00 <?php //ICB0 72:0 81:378f ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 Zd6qtB0d8pEOgPZL44GBlEylfQG== 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 LtWPfWd8qxy= api/decryptpassword.php 0000644 00000015225 14735711214 0011275 0 ustar 00 <?php //ICB0 72:0 81:13d4 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> HR+cPylg9FzgPdwTy0yaiToH7QXwVGMN0CJc0UWINl3ZDa2I9Owqf6qz+NWMVB1+XBMSozyWXad6 NywxPZVKklv36+Xd314HRG1ffZG2C6Inv2CQNf2qizu38TZPT9yMqJ0GfcjZBkJC9WToPAa/m2Y3 UTyaaET0txASkGV5X3vaCoiAYRaewn8ufEWG2cVNQKVJznbg0B2pSjCtQ6rRel8pTXglOec3E646 HFe7ruaXHyK9JGsJN9XwdxwLdvbgq0oxoQKzuJMfhei7H+S8J1CmdWLczmsSigbrE/gMBu/tP3eI aHED4cerJnqLbzGjAZOeDgEB44p/vcCG6wUx3iLBnVnCHxZBaBTh3wT/mnpcttP1No1iV+uJQcHi LwW4a2VJxbJjN1ndSnV8G3Zni9uRUOB5j1qJfhIVQsihw2B4+GqYJfMu8rpEo2iI/h8pOlOus5EZ EN86Dn6zQnDTpBGAebUTObwK1Y/Ci5nR0tFRUxt6/gy/5tyvYMp7lLxueWnQyvpINFNmiBp1A+pD +P4Qc82rsK3uJQtfldAbp3jtJ61f+9ygiGcYI+2qo2SDtFhSXjIUL6fXFaK5mxSnCHijkYlzT0/3 3e3+Dk7Oys0ZsyFPc7X4ApBA+j9vPLBIdLycpP46n6p3fOoM3Gb0bhaXEssY/am9E3PCT/bhEsNN dRy+Zc+42JY0QdcuHEAXB4tNGfN2xU0MPt1QXdei/CuznlXV5F7iwEI19o96heEOMn0Fl9NUN54Q pLVPJFaJ/PtjaEyqkBw7KP0iVmU7xHLKz4ijEf5UeyZGCX+rpcJ1hWgeD96h04HKSdqStkNySDf7 DfdwuHuncAaHBF/ECMFWyEgdGxQEX8vH3Nhewk13t1n5srEJ83I1fpxgNaHvgCw9R/5AaxGK4/nI sKkFPzzioLhqW+y9R6bdMjHS9HHDxmnTBoxgSnVJKjOsMG/eA1Fc2UlLL/Ttj4YAe7QGo+zyktk3 9It6bHv2HbPANtTREBEHRamNgdhDbfFWZrzS/5pZo+wuomog1jKPN55BSILgVrUiKzRob4EtONKX JRcP5OMO1Wq72es7M+ac+YHyvw4a6FfKM9N5xHK6QO9z7cYWfT44cV/s+rTAucyqaZIjJ8hmNDjM yb4LcV70wQxzstjZ6fAYhQmeKiEpjusME1mQVjLzxRj9lbfTeGUv54ENol3wdps+JC73d0wVpAmv LtS8ugK7oPpPKGQnc7JV2Oy6CvOYwHvWnsZt2fsyrucIIOiEr52l7n6Y/phto60d+h90wEmvDMHJ J4gGZWtyNxEzWEjZmx17OZHwX25y8IXXbhKgKVjK9D3sRBYzIt1VI8DCIZiGS2TMVSKvyPmOH0Ap XZZTv+VOgCEQrEx0VMjzu2ujg5Nhz31msxb2GZIcWag2P8jtkRcvNlOitDc16plCQZlPLAYeJtVB blNIQpZ8z32eIFfwCmLH6t1ech2ADNqgR3z07fZ1XAE7xrq0CcalK5ZG0d37rKFiD/1WEO6RhIcw yM90XcI2aGunaURliJ8scYOFaUC/xNMmEQmoHkucPcqFAMm/rS2sjkS2QncPTmCDrvihkByotNXT C1dTjW7djpBTu5xKvKm/jwryKeLl82FukcGnndoxZ/59u9aOenLuB9WESwHxJMMFCmZb/mYOL2uX E72MWSzdiG5OqcDs/283n2GAijgI2FPI5jc7yQLiVHT5V33i0j8WJ1zI/We710rnHQudrSKuSsnE 3Pdn4WIrIvSl/lgN+ZupujAfYpJ+6ekLubUlR1mPHG=== HR+cPpBIBe1Z99Et2cgxen/gvp++5YSCZL2qEQJ8uZyC4tShKx9MDV8iCeis0mvQWSlYXPXAn0Mc hFs0/wKtY1yXORvXDcXB9AYLVlqculPJ7x91/MmmTkDnZv9NH2U1OPB8NHbMFn3V7zRIofJffPrn k2dfyMgAhp2/eusfe/0Kh/FxedyNIFS0g05GJk2U/QWbsUbyvmO0WNMM1oacCbYi3EI9MUkuo7Gm iT3nIbeWScqlYGpCDqjKyvji/ye/a80vTWPkOq+JFhOsdpNt/AykNxeYnjyn0Ti2WKm6T0SSkKyu A/20QrMeuJf6oL2hpNTxt1Mt9iO6Q9dW+fkeq0xdY2YfODs2YF0fAtUqU/zzwb8KkkYgVtSe9K20 waGTPT3yGyoTpL/9gLRrRrZ43jIuLpUn2LzMu1uTregqAHn5EskONHthPy9I+gS4QrRrSdozG9K7 iBekxCsavbRph52yuDO7jAVrCj9DRE8WZ2XwOfhlYhUsJaLUh4JsR4Dx5Qvf8MNuDVM8ukKEpoSb hU7bGzhUphTiZYiaAbNiBOaCCJuo0X49ctXWQqGP94bw1oWrMzCbO87jm2czMSs6aJiuo8F9HhQt y6Q80w3L9b67TQ3Ybnn72d48QjcDxJFskk37UkBH/aKup6Kj0qAnKJZrRuG6p4rdoHOA2k0Ru3Oo Uu77tUwAgrRqTlC3xU/3Vx4lJEL0GJLXzUpBs6NoxM1AwjUGduJPyS7ohFSM5u77tJHaTWPH7jI4 CJqWjLf2ppJ4hxR1DnV+Kl8EHbIer4cm5aTANypOldH7dvkgAhtdCyYPORdspaHBvyZiZ+pSBR6C V5rgCrGMtNZcgazerlnoU0LTr2Dzot8OgeaAcZr9HtCOMmdFjQIA16BZ84cJ2nRF+MP6EOrQuKoV 9ZGpZE/c99pSJ2ymBtW1nzMtEq2jZCdTxVIv/349pojtR8X1PjxlJp7lv7QOOAqZ0jz+wAIemq+B v55IyzPvJziFnh7rcllq1a3Wq7kVkmuqIqaRMVNtBmKJreDNVL2gOC3Lwafp0r/GbnJAvHy9YHmk upaL1QPqyrSkowuvXaieXJKzjQvKom5HhfwMkWmxi4tgB6L2JvpeH1ExnJL2CL0YbS9pAuWtHUAI YPkljAzmuqd07/0HTTjNWpYRo7TafhH63gLjho0dUPtVKm9burzMvdoMxMPCmD/vKaYKbI8pRE1E 9qqx7iemlJrQD+Bpo5l/hnCRZTWzP5+7/4kACGziSanCxwT24QArxhFn4f87CjkVMrvxP3geIMdg xl3jTX2ptI3ysEDQ8jU/rnlDCevOUNRI5p66fQzPzPLn040I+Tyjo+jBgIMv8yGEw1116nLBt6bF 2ho6gn0pI5SPEnP01z1mRUj7czIlaYCop5LvQUK3YcWk9zT92KL8Q+AKmqGeVR1av/qxn+XSaLTH S0YcRWrD/CzoSl1pkkubLQw6Mc5yHVQngiZaPqJKzg3gDy3aV7MQgxKGGbz2BNoG/ALHS9499Ld/ d7ulMJOoRj+tfjYjZ6q+LMtZNr3E2hQtWsxa8W8kvjmeX3q5CZzagA4ngaaN2DXsyhOXoY05P2TQ bDQljHNF4tkpfAvZSIyDeZMzbxnZu0j4 api/getusers.php 0000644 00000064214 14735711214 0007703 0 ustar 00 <?php //ICB0 72:0 81:3afe ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 pO52kLFhDPB4BG2YUwP3XyHGfgcq4Y4+ api/getinvoices.php 0000644 00000075305 14735711214 0010364 0 ustar 00 <?php //ICB0 72:0 81:472f ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 92ZsbUg2KAFATxYEJxn+1SlS= HR+cPnhs0sVRPlX8qYoMH7g6L+tlBIh8zf8GiQ78+ChID/0sj66mYAhZHkFgWtAvWITh4ev87VqI MySSyoE636PWMJrcgpbvvxwJmpM0oRO5ajE2tMGjI5aDHgLQtdC8nnctfqHdy17B9petU66mgWly bkmwsNzylI+kfk7F09AFsAewAcBvI4swRLYNqMP+JAeP0i/vX6CYyFcQz35aCUv8wQSppahhFM7x v+8bTv0ezwNBd1UYbrYQUipEXaCKpO9j+uu1kFpou4HbxW1GfZQ1EbNeLDyn0Ti2WKm6T0SSkKyu A/3JSW+nOGJmwXnbZH2x+nMtPVJ61iJ2TvQuwnABhoT91MwNdObe1Y5pL+TlT0e9aF9kEo4GP1AL KcCjJ5h2zN/DGBVa7cF4PhcqOg6JLjiliEd1KnXJoviDz2DMVwJ9iflkWBFTfay3G+lcI8v80hqT JUQjdIGoARxzAdGXnghJmf6MuQCkiMDqMkAmUH5mN5lkRMROerjlqu5R8Y4PuqlqJlUJGQkmS7HI uVx2jWrXmyRWNHyY8iMENhylj85r6gol6mhtRi/58zvH6P3ejnr/5ZXKvWOiHnPPq8EhCe2BsHqz Nha9Z5jtBrbg8JXzx0tXf8D5dynYVpjaGaBFDYnq3zmCG9gjXUrd2fngJg6xJBEUTwGRURN9KlQI OP4vk6BA9IVJNBp6s7VJMQcGUxA24WMy9Rlvqs880tzK03L7a/5pbS6wk6PwoozXrpMKvzBhBUiz 7ebGXJCfxDKTDQZfYa/R1v2L7Z8qTzwuyxoYX2AqkR2LkS21e6pzxmQj6urD4jONfD4RsczTFhXF JvgRzbM5RjgavNjitTtR0blvfhTKGKqv1gF2YGIozRiGGOgRP2jjwHPaVBlejg76XkHUyntWe1Cf 90d5Ztqm/3+ohsDRx4W5CUW3b+2W6kfvk4h60Eaam76ohqC5PokBCFnQ1OY8JE0LSZ/apwhLCDZ5 sm0ptmWd190xNYa69++jfLxaLZ7DHoxJ2XefaevTe0us/enI60YMs0kqC5CwCAbgGjFoRKE7j4+M ZraJFpyKIWcHPhUQYWNLcd/YfE8UxJqLXAYXWhbwpdBiwmxcDmzb8qGk2OGN7IQGARWHgPXpqF6x R9sQqB4r/WP0J4JuvM2UJrStL8xdkJAOITuS9lXT+1tNcgLMY+TW3KKMLlpb08g9MIj9gNUEG0S/ 49piSYRmLSn4p39V5GtiyWdA5HpEAgQj/GplvsKPCxdAjWLelrOKOmyJRAaLqJt819DpB/nKWoI8 X2NZQN7DSoM3E5n6iFtxdX54XviPG8hetL0Kfd4MYXK+ktspz9bviRvHrUIet94gjFpgt1Rhe20o CdFWzcopXS+mqhePxeslk6pyyAGK6SNMOcmSznAzFTbv7kbGClBEmBjP9z/YFeZ6Jxsp9cKm8DWf h2fKRh/zM9AYQz85OjLcUOga98qlfQvZURMFi22SIYiYTr1nMxKl/vF2j9ZR7gYnIRwx10Nk0hHn VQsdaezzVytjpx47dTjXpp7g4R6qEbh/2lVsyfDYZY+GtN63IJRe1DRHi2oieVJxHtGsHw/hBTF9 PDqrSqMRb81nE5EnZ6X1el/ahgMTkLrFpeGszuRgcp1AG0Vi8hdxRyoQf+xLJKAxAPEXOxt77DJJ iI+cEUF8J13ICqS8RHysgfB7nTATAsqBk4d3EWPNpOC1QEjHfyFy2m2dyL342O/lg8cAnLWuYW+E CwHotkGBBOF3U88wGw0kwIZGLsacIYaIWdEREFQpE1LjXa10u7rwU8+nhaVXbTPDl/qBGHS7D3i8 YK/16jEXiqi/qr3HjnotAAtD9n7DO5Ptat2+/NS7GydTJRjS9S6WrBdZYWjXs2zW4m0VfKYmkVrh YXfYptOzQTvIPcs0ZYL0Ynxy+SSX/a5bmSs9E6vPnvJaaJCYLqNImrAiwHljD2mQ4fmZcaVUdkly HG5TgiHVJ+PouayijrXOMEfxd9v8GM9iJsjfnsPb+ioDeA+sMysAnyAYjlNT50ZmWWJnNzToVGD6 Y12LvTCaxvnId2lH5vo3RZ58y6KiVRNLYHaFun/cCTEucsMK75/8H2qwtRjjRGmpdXOfzuPrl0Rd 7ATp96u4wxalCWEkkQrWNzWP7LyrnIUyQDD2DRSwCVwCS4El+lt78xi4lERBxeFFvSMxHgJz8rAy kAs43B1fIkc4XMCvrhVlEiQCR8ddbtA6t71KSO7kHJa6JSCCysd9UZfXIAk/CsTajYE7L6DiulLY E234sCl+8UtelJ+StTZqpsMQQ5rCfinXRZl4lU2ncq74RI5++dkm9Z/uuEz+z/CldqgBb5ijq0Op hXddOb7F9igpEv7qXh/5+K+7B/2CKRhqfmswvX0tjtixJ3VB0JFm4CnW0/yQSxHKtHazbTjr+m9S 0y+UpDGvMGVvmTp/ILJMXZsSV7c8gOpccrXhl4IeIP5GNgsswRivZPfngwZEdps2DUaQBPaK5IAq Ijs5XsKhTFP9A9DAmBBX9rjgfAmbhW3pmaGgKuHT6H+Up0mZBDEfeMklBsXACUh1pxAYSW77vsZV 24ejJ6dO+jUvVg74QRE13PSkLs7dLjuj14F44M8jfgAFpkaQU152Bqh2UwEKu86fJa9hTFJtNm1J qZtiB6hq7LZwumKnzmDERgxJgBMCETDhPtsKut5Ci2M5uwwDxRR2DDF4Y2Gl5RH/OJyCtRGs4f6U f58YRnZHUwURPkne5eCH/odqQVhF93qnD2Jtgo++OR4nexiRfIjb9yhBcPF6eDjjndwCtZDoc+ZX vMnbhttKM2iJBZK/17eTdaY8BV33x9uz7kytCZVaYSmsTTqUlzAWQCMVxgfiybs3YbUTkyGdR2Zr zIOH9fgBDLt5j+nEUPjBSdge8wNwk3RwIKjC8TYeeMbb+m3AvCnF6GCT++Fr7yY8CRInDKZsdoin cU+wXOFYNZt4ZiPdf97o2oTCs3UY+qvAIr1TsGHtwlDE07f5z+kdP9h5u1ekl8lFY3S/f1x3+HIy s5W9aQbQLZAUDjjkuGOhekt9QG6nfFJY23bUQEkFlNxkLA4mZwa44iw71WuFX9QmDOKaZFvwPPXt NY+vZkHZxq6kmFbU5jXtcd5Pfzd8f79CIr/R/3ckR/c80swubn6RFSk5g6Uw+DxGGiZHDqxrPASM b2jZwIhV14RVhQXiA9UZsJ0qIuiny0fM+lUXR21qV2Td/nYoOsjg+U5+etA1mzsFI/pvmj+FQ+CB ONdyeVKQXMfkCBxkCKBDBQopm5NuGiejYO+FLGgqj1WqL0LK7Ges8BWK9QL4L7pPxb+dnls/xf1c Qsd6SFFQSG3jlpYR1Qhs6Eb2wKA2iFNKCUXeCyYDL8uS1826O69K5l0ECql2u1U+NzhSCyWrx6uM SfZH1iwObN/o8kCDqdDr2dGfD/ybcuBHTNAIMq4caPGry2t8waOZtuAMx9OjpYM1q8h0jEw8Hjc2 kmjo4NFm5YRfAW+N8ML3g4ssr2yih9O3Bj3Sgr9c0B3vjso2UVZmd2BMgs60MjPeSEZ11sRZrAFv 54nXT3u1vw6ZTjy+5B4cwnrPzA3FJVAq356GLxjNnMBm9+Oe5fPiHvkN7KcwYBhBxk7vTX/ILc8r r0/DdLxIuRRg68dvXbn7DGb7B+nrZJRYdXOURjIZcgrKHMXtcPJFcgzxpwUBoP2bp1WvpcLrkKpI wrjNc9yXFVS9Ef17fzdrcFKtCfoPLdRE/V4Dt9QInQ6EA/GjhtkZcsQJJv52oaizYL9sEwY2pqm8 xh1/trEf1RPA1pYtrIAYdLROSZR0k3UyYJN+Hu+dORjw+G1zbx/FVsCCBNAzPBcEVGukAF24zGIw +CEIZVplu5/uWxN1McIvQJBReOtM/dniU4HeYcmSDvwrp7oPQfw46T2H0xGelfaqNMCJN0G5DD+I v5uYf9gawy/+ZLzEbqladNv6JymzB8VGuV3Ze35YBf9mn0nKoSWDfQV2bgZcWj7H1lFsuAJc2r6A mhuP1Qwm1iRYtBgKJq4WaNR6gOxx+h0TccYmGd/I9dzj1PiOIZ12NIc6v5Sb147ZXFnLUTJIS4EB DSJgcAq/u7BCWGrQdNxRHv7VNI/A+QiIobp/sJWj4TAXb5NAodQ+y43i0q80yDht2HiUks5KkxeS R6XvbRx3UNFX1HpAHUdbB8D2A5ANny0BwQemqNBJ6V2F26byxSMMqEIvpW46SJxdDLbTaZG2BazP 4gdQEYygadZtoROSxk6XBa18fH9/FvIHCJvmcq36sgon3HXpWzVLIksnpqhH1lw3qkwiDOqWZqB9 TB/Hw8jTgtL9KjBLvPvbGsWuC5T0DBNj/AEWzWbjkPAigjtb2cqttw+Fe/VG/+8Ks/PPsVARfbtC AKAwAI8wcXJToe8JCoIhCVOxx1A+WeGxCbZHVMd20HmI78m4LAsNwxTaFdwGaq27mGUlSFPJ0NA9 ksUTHWfGT6N4geHHWvEuQksxxzGRN9EvMX8bS4g0ZSI4h5whfZ8sEAv6A3N/wop/67hjKqf3qPkT H7HVOyOFPJ/K7+UpWG2ckqw1ObLRaTCSZGPApsX0eOFL2xQfeeE6uPalMvjtAieC/QGz/HjA59c1 nKMC4PSA/1YRP00Hp3KdR6tKqLE2MRC+EzjcPILkN3ll/HjlPGuCuvgFnLaB99h7Y2S4ditUo0Yy CRsifhnLckwYG2eF9Td3P/IFdXw+2ychxLspqw3urhFOfVPocVT6LghC85jwBPQy32LbfLFS1GEF baQ4O1U+aA12GGzY2ezLe7y93FnCbR9YhAJbeZ8e/z2kYTOV5qq5toalfyvWcwWch5yN6nRcgL4m 4j5y9jmb/btACqDxkPrvo7xXqiKh77Fa9NTHAuvCI1ZROqxb5MaLLTl5kPpMHedrf0hQdm5SqPdR nxz8QsBgZyMk6idbBPu4p8ny/byNXArzmKdF1LR4Sk6tmvmOv53UyKoTriHXH2Y0xKK9tYgsVWcr dmFvVJt8R5/cXdds+04wzsVzhOa4tMRg0d2A2LKXxOL8yo9tgLBOmn6skiYiaYIszNlPHabNC4I2 Ja26mB7hFk5zb+DZpOWl2uG80wwqr4XvH2NtCr/1ifk6HYeLT8+gX12F3iqVIYGDMAyCM7ub4S0Q O0h/h1wO7V1aZPqLBs5HBZqLK6LJBtJWrV5Dxt9EL1TciqJwsfpk5X/3efQNJBDWx52EbleVaZL/ 5lzZjSQ+iu44TP862MTpESnxK59oT22ugHkHZzt6ApKF5sIRaEU7BcTCrzjheIK6JtPkerYpBoSX Jw8xj8ng7H6xThMtrfLlVckMa9LkPlNZVA23reoiozSA6NlCXphgdRo3PA2O0IlVJPH9EpsDkeE9 +YvLdCWwCbmrkMgui/TCXcxh3mv1et5asn4Qmr76juaaAe7qkbcL3iS+pru5QIErDx6Xxo0Fbqlb PlhPQdZv19b9+m9MCMBdpuHL333hg4WF8BqQaSG6Il+rJ17HeNaVfCUYhLQ3L+x7qHsQVq1qtwCC vj8WjTchkciMzGczWccFSxNFPn0RDUODqr0WtItVDK42p7cKLxTRXTtzM+rS17jvB706aInzLQ+H A2MRAo7YkEDu40va9rHh76X1Blme62J+FpGwIhp7RI9VZpMKSKXD5Bgngr3ItRlv8DhjLwU/YMws JkhJOigbcdUt7O1AcoDFsZNeCPjX3tvqM4QCi7zq0kSTK4xJ5MY4/79ihO00UBmvMm4usJUBsXnU fo+kpx/rzPQUztoXOKFAOPNP4RBjCkzHqNWin1g978yU2+xQ9MHcccbGKCkXggKzxltrJfie3qNb L0eK5p4UJCU8tmg+rUWH+UkoAanUzhLlBTNfb3KVfhXi/TDyloME7+cKONGCaqZjZWVy6cu3mqmq JujIUN5zGcjhtJBO7wijXNmNfLjm4nYfDGOwHaAgewTE+5xqGzXQvKPqihWYGgvjwsv+3UdWwyd9 TjbYO538H1O7vpZEP4Jotie6n2Ivn6DJM42M+7bj6YRBVYp6chwA060tmNBLzPrbv4T0sVDAcab8 U5Ci+1GzC8OY6zQWUkFMC39nyR17sjkIL2IVAtSDl0qQWMVeGuQHPZ1GcvVH939fsazQ8UIjIAjq zXHyoWVPlqHbmz1dQ4JSqgrPzOimBTbnFrDVM/Nq8j7Re2arnAa7lKOiYuVEzMjjMF7CMN964ePj 4Gr8JFlHXnLDB70xfg/DfDgmZIH/S8BRWke6lis6MmJICq5v11SFSZMu0A3Zb4QjAwzSj6KTVwU6 OC0jcdLbdcm2Sf7GIloODFCDXPmJid/rlv44zpVmXOHnN2JP1LxdcYaS3viYciC/JeT5daB1vHoM Yfea4PMSH4DtAIu3Zcz3da4o5ZzgrKIGgbhS4e5uGrqpNWw1m5Uo2tlgEmVvdafS7kBfyxvdl0Wl yT0xKrYXCEO8mATAJNA1u8CDrtR/vH2aLwenFYJhozgnhsKNC6/4ly9GkujKyvRMiR87r6Xe6umo 93uFHlrtpO3LxMvC8Si9UDHzmWDhYqob4GkdC7t3qk3iDlmoGjCsYYpZxL3k0jFwHqpGJHFU+tko ll7Z/X1NUDaVTiZA7atSD/RbkJyxU9/ywNm/40Gac+B3j2oGVD5a2q+wXEoRUdG8uLQ+dosBwNLf Vtf9ndchqNAUaqhys6nH/prjKkB9iSkECIegG65FiT40MYB6JexXpEf3XPllUvOmaie11bhbVg37 3YIrZgYyprAE4wNO9ZeRZYXKcIDj6rfX9azjKr60diaqNd8xC6iBgnYaBHkZ2qhELBDhVnOTzxLp I9WrPohbvIqq+7VvscInGxR34YWu3bZpHXo0us9iS4ia5fjCUDDYqldesVvyEOn+/ob257xDzC6w jegno7+klqW9tTjW+J8qB5suYHGJbH7Rc8DbPwf6os9XXPsyv7tCuBdrqpeuPl7QfueQdmBooAsy HGR46yTqe9f473OaOpbxY8BvfXz4UveNQ3h2FdgbXR7nFbm+WsyPoPR7L5cys3tFQuwgdAiMYVDx SkvHA5ThinPItfWTfH5Y0nSajSTecwbheOJgvm0zA4istv/v9UnbnnkCNHiBf2ANnwIhSO30hP1v eKIZicVzdYJxfNysDbrRhrgzDsteqVfGCjdwTH+n/FpU85EqjM7+uyfBUEZHkA5m0dVP2MkRbXxd R80ZSNRKuznYbmFoeSGXJuRQx3h/YvqUajvgJFWzftuPAQF1kp/4GImPVpQ9lM5vHqfjfYJIrZ2D +RwtyF3QdRoBjqGC9tratjIm0HRXU04gke0q9PnJNDAaoNgSt1NLQdk8Zq1panjh46Aqcs/3H1ek ArQVse8BHD8VKsFnrItjO62g/a2bgMYzwHXc5hMc684gZP8jA08wrSMp+L4vxVs/wpORknMzd5rR rFTHBNuA82NjAPZH3RQi+0cdtUP0ZRTVnsztp8C27gSRekT336/4vGjModp2RPyA0JL7+0aUYerL jz/nbecQ1D9VZ5EkVnG5Bxew3Smj+pBI4dSlSXlNjT5vf2giFSUVTSwuGJtz0vpp3lzqEM5DPtjW b+q83PTwHbzPr4gzNDEvZXTfOhu0Fhpcs/MmxSKmFZ5tDA/AkQNBMaug3XaR4UV6We5dbB8JxZcc Q4a5qgZU/t8jnjiikqSSQIkQlkB7L+XiNQbGz52+O01CAN6edmvt/y5TA1ZFLwe+gCujsWajN0HR 1ywyW+aVj3vtKoQI9HtwgwlZJhmpRjnDNb0vCZq8TNOw6i0IvDjQK7LzBhdRsTXYDKyeiPFhYTJb iiAVHE7GKn2+f3Z0z4rA0Xt6Nj0THGYOGFDnMgWTQfGFBibwAFNPyKTFTto4Y+atJ4EcBa4TE1wl d5ily6t4sfu5NxWlZfZ7OoQpcYfbnMIW38jIRFBtgcyiS8DwXXHzSL5IjkKtq2mT0fvSpadQWDM8 tfUrmNAOzjcSYfm5r2nvYQAWVLv0CxHz6/djq2SdcrMOmuS8mQTPrgiwzZCpu5RxlQ1rZO/GAW8r K9s7WK9SRGY9ah0m/0se30mJGKsE3CGBkF/ez1UhwOTKTuFICwmkqHP0x9BZrN/8Z6e6xtxAZx3h PLLUAUiciZvh9T0EnPH14ixW1GfxAx0CgD3erQq6WKu8hk1ui3sajQAkG0PBRi5LXMDBEIdmFimM Xsh7N89QNWZP/UZQtpB2vVC4mtaUAvSkAW/zvFXLNtH4iVVFcHV90P/aw5nWjE+DlApp8L3L/eIC O9G7Fymfj4M+/9Ud5x+LuxpU7kR5TiooqbMepn+WSMpR8hDUktBFJvCkE4G5sjWkGflT/UeUM8kM B6sPFbx68W5Gd2ZrfQYmXkutA3AvleUVq3Jy8I1rFvvl8I4ozSAuFbTuVqYyQ3Zc3O0DehL5zYwE sGoR1wAteotBUKZblzQll/+oUKKxkbffOQPR+G7xYlbvBPAdTNOSmJh0S/f1pp02JG/WGL0mzsxg 3tE6eE2tgXttvnE4CC+vXx1Z3oK/G9blAF4eOlbK6aFMT02+zqmaa00EAQ9Bd7wAZCNyFp6+GlIJ 5HV+R4cFtTRHDN1TKlFPW9NPrgjZH9jLODzzBOoz0mDkvT0lhhzRZLBTlS6bQio8d5fvBUn5+wwY E2dRcKf7rvnNvJwosiNcXUB2t7KfQICIr8IuTDtqH8Rehc3NQzlZUpQdegD1aayW2DRz5NVEZVYh x647EIfoTCSmGkKRpXk44V4uY9MuvBL50wWYH4I5XqqM9fmc81RQKlSHUZwg0kLfpDcHBg8TzOrk PHB09p89tmEy/7TmCsfUSKhGe6E58ayECA1vkl/dTbD2XWHDV1gFzLzGXJMsnGdyP/dDx+9gu+iC aOHZHGBxwFiZNXAdEGwOLIxUknJ92beE4RMny8qmx7/odg1w/IIK8bDUaRkPvskpE6+F5AEZzKMy /RsVwgnHnUP64Vq2ikEpqqhPINRE8tq340siXZ9RSYhEfWdnrvna4y7hl8Jmrmc2ES9sBaUA6rxS paDErEeZpvdvo+W9gQC3jKyR2h9lV9sPFLKHIVRbArzNefyc7J8sl4VnINRM6NfWiN6sO9JGm32P ehUnxW1cQCxb3zLPOo0+jgFvp1svJCshzLrxm74rCPl7K7heIe0oIu5+EGr+q0PhQPFPfgS12uq0 xqplf8v4ai28ggsQQS8xXTHEKt5xq84R5tNjtW3KSeyllftBoFrx6EcZWkIG6uxe7jPDZgfsLhzM je+9ZZNhDzkWEbvnm7MowbEG4nxtrpNZTFu5SlESg8N+eUD+NZ/t6VmqI4RVuQuNi4ZU1PcKkRYu x0XyXZ8z3ZT99tcxb/y9ki/HPH/wQAY9zIUKkNNd/alo0v7REUzeOC/tlB9sqiLkWtAwN4EFk027 V2/hhBDBVmbtL4zCW+5hOWj24jj6GpgxKqQWR94W0jmJJAr8VTY1ECpKZ/88+qFv8Gdq506Px/If UX/l+QHAUaGkH4CtqYP5rYf5rE76qi9jAbiKOP/Jv2gC1BAL7cct4dnKBaM4hBeANcam6zNjwGOQ RiL6Y2w9Abyjgz2tS7acgFTLaL8KbU/DCPmzzjdySiyQwrL74kZoKeQm8X+wMUS0KbCr1OnSX0ew ikcpYdNTLk3XhYa6siQfiER4OF+m5LvG2J/8IGKYZtlYGzoRE+YEysc92x7TM3kqQC732fadfWUF oWJg+4quqKYfHTkRcNHQFUuYC3yPk0vbpsSNrpQ4XANqbuKfSSVz+mWduOTGgA70xDDWAsOHt6OO IXz3y2qwbQe51roqWJRPi0ad+zlBI8pnb1XaHE5xGRq5RHjKfYgfnt4oYFeFow3prBSz79KpUePY H2X7+U5NZNo+Ur7qcLORc2TIwoltMdXthq1DVQhAyXo17L5NQ+p1w4CQwOoNHec+vtwPboKLg6hC n+ffOQZ9hUzqjOoMZ+z/6XiZcNOmIrUjFsLCj+MwObL204MY/Takcl291fgY3iyd/nsBdAwqANsj 8irDN2mJ1CHECl8EX0YZmDEVmpSDWa4uc3Z8IWp3pF/9ETpEicDLSzIyKvSHTRAvu0YV9r9SiIf7 P+vpsW9dYhtktsp0cN0msB8SI9CTsnySwHZMdGVx/swv2RZCgI6z5c9yVktwTCg/HDSekJljisbX 1qZJfnmsBJFqee5GaKWY2Y05WT+KQg7ViWQLaMXQHsc5emgFhwno0F/e2JdhZVRwL+3MWfq+Ulet P5h4OP41O01+dLmnTVKGdddSdfhzgTvbPCVB9tMA1/opp2o8e+Y3WylqEMGs4ifQWIQ9qCNO9DNI ENUafPxhCQn9py+iQnDOTT7qg6E/mGPVoC/cM/ZovWtt3nz+2UoR7E20n4wHXOFk7rbGq/yfv1yi 05RaTl7vAfvSSPYfVOxze8yHgaDBsN+gake/+o/dH1hQYtlDm2qZePRKAsAmHpH7vrUFHjv71baK xWyK6JRCgKtCZQCNVzMZgN6AwpG+Hy54C2vThzx8bzpthT3BP2VekLs3ESujHHcDDGYJ4Plmef7r FyL+W8rOb2m/PaNdPumDeDir3yzOZTyfSXMikRqPblzYqVWbkv3Xp9k31JS/5CDK5TSo9DeG4URA VkKEwiKf78cUCvIkdwiCbsxbIjYlCEw7c90rSmxZ6wWUZs2h58/+PZCHSrTMGA+MjnVuQ//wUVlX 9ORQivCwgbpdQEJiIp0gs+up6OuxdTVU/I/5/4K5LZsIhvMru51ieG0cCWc7EASl7knsmUKUoKzr a0bFK3AFtJ401Cf9cxWkMkPop8lBXUuBEDVevSPxn6qq3US/LZQXO9IFmM/OUca3+XXAyI0ArirE YwVFLjCC6M9l6mjmoz/s2/zMwKT9tqWj9xuCISjmarARUIIsA9ziVoZQsgjkZqUCxwNEQuVmDbLd kJMrwI6KWmmKGks0jbqGm5+MHV3oJCV8+QDJReHIR8RRXNHkbTSZAUW5cX1L7EINgSYkOmVqfjpK QchOjQ92YkVZR7D685hbGTUQw9XmFewumgw82oxFKQQkXGuX5u7jiqQ9h55vy13aK+4P0/8+pFZT wBEnYJOte39Udfh+X9eYIOupxm9YYQwflcV406HlgbNtcWGgHiCnWKf86e2b6U+XzULJosR8PaPo 3zVatuOKh4w8UoVqUyXJqyznnvDOO0QFPM/1ydG3C6/Zcu+MuMNQ8rLXiQrAD0ClgQlF1xIU3OEP Q8vQlmtgTMDRGvDt95t1eVTVskDqcNUp0clH8dsFXPm+YWjKjLBeN167XnpGZ2agv+WOqjynIUM0 riSETAe3ZmBmZgyLBv+Xnf/PC9IVr607hssTuk+QA3FOnyG6vPKtgOZrSRZEtmcn27cj78B9NkCr vdtG53xhjg1MyA+MKjJDspX7FhCTuZDeiQ/njFhp420VJ1gjmTEcVJK/+bpqaMtuNkbbPImqI7GY y6QM2ohqmUGWYfHOGcxB6Ak9ecsw4bS28Lj7kYKXZYhMChBvsv0/Hj49b5whjrwFFjhzl0ICF/ux Qr2Fr+VEZ8lGXGUTchZxTBw6QDQW2WSF525CQxEysZYSDycw8cOCVbMRVaCE1GIrpD1KtEt/VH+f IcSwPH4M93UWIOBZGr5S/3ZKlMtx4ocUbk6JZ2pLZ9mLriKC1ZQwG6NlmrREqGLeOnb+VVL95nn6 /WbOYp9rSSwHaAPGc/NJ6mzJDsc+oMgBAwvU8z57AthgdfSvPf9cLjHMWexgrUg0j9uF8fs4EghK 5mXydAH3NYzLAcriRljlyTYM1c8DRMo5+6Qk7SXvQBZY6Pde5/1vGbPfT9EXVv0dZurqsramB8qj ruZm4gwsSGErENAWXjmYg94FvaPujPN2uD3vN0tU4uzYOgEJ5qBI4TpsGweKioePDlwvL0n/BGau XFAuGPyUoFRg2iXtfPdPrfVQrxCfBaIRe+/beCxOoDpZx2CCOHQbIxX46eKp3O35Kdwu/pdaqFXh vzU5oIZ+4Uf1QMccBMcMh8e8a2mXQGunpXV1acJSXKLk9cdqSmvnkVerSCn2g597GNx4nj8NgrOE kgP7d6v5DqV7rf/Ur1K47aOg89K0PKYGyVM4TVv3V+CKfPBSnv0q79SevQsgk6j1t1dnRRb6LfqN ySuJBU3ExiZeKG5MYJhHQPHKmOyvSXF2uk1KxTnDPU9TorSWUfs5bWQnyPalXzcFMSOhr/vkOcoz ijc6P0jWVQ/67jbrEjMLepz7qAkt581YXLO68Exf/kQdh8wF+d7/QBWh3VY191FNOKRyHUAvum0W FUJuJFbp5LKMQROiPjXHT/ZKNEOcORmbv1Yy9xE7+zj5TEBjI39P/SQedCEdeaS5HQsj5YL2krD3 mupbfepBP771L9z0QFBwV8rXXSKiaLIQ5NOmA6emSAdkKxHqzPtClBDDFrE7MDUV4l+GX8K7ZwWR TrcKRgsCJkng8ttMyOkWEaPr7BE+CPElfRPUlncYIqJveMg/fUPzPESPIoxbJcbSddgYJg5TlxhY 0wcfmuxE/RQ2J+n2WXzIRuIF7J5kCqapsgSOdHHtaqHfQzvcWPCA3SOgDN0LBtS3Ztvpeg8t6+60 NoXc6rEVTkVdSMIpkzdhWas233uXkO/hT+5QBW3LPnW16APN71nbI3U9iCQG2wq3UUrXOIfbzpef TO3JHFda3RmS6g0wf+7AqYbUea9YoTiGRCndkHh2GSkmyCZKCiflphLfcKFuQSnjrz/KFOBL6zS+ oDf2DjRc2Mze2k5hMKLdYz6ZN286SiOi363maH7LxJxsQcxkGpJJrIRu8DUsiU0vAvS05NKJwrVP 7YdkU9c1AA8mbLCmIPcnZjqRTUSA9VPgDtks01mwMkViSoLZmwyOXBiMmb///dAfJ6RINjY3cpDz qMeefohsgij/SNGseHk/2u9vq6hvWAulTMXp api/getorderstatuses.php 0000644 00000022717 14735711214 0011453 0 ustar 00 <?php //ICB0 72:0 81:19b4 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 MwynLMqj= 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 ePFj/O+bQ+RiEW== api/cancelorder.php 0000644 00000036337 14735711214 0010330 0 ustar 00 <?php //ICB0 72:0 81:269f ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 8aq== HR+cPpyj2E8slV3Ll+6TmSmwMTGnVlV0rz0AIDu3r1TWXSHTe5+nwA9MFYwlb5zdlw/Div8Kc0NY nrLWbivCacwUOIP5d6tItNlTOgrRz8HPdFNqBf6M7WCHyWvuAVaht5eMwCul4mrWmi5xcPGQidrX zJswJB7mhh/jTRLuUd88ApG7kd70tS4Rx11iqrsVWq2RkNF5dVTqv2XrJ0ZHHTB8eRQ1IcSjbLfx fR0K3POivhH0Idl7KKqVIIKaoe+DFivf3lJipgm4pbjpsmnz7CdHXiC+LERVCG7R0e5C1dG77BbF E2lmjN5DYL8A4/FwC67tAnmIjpq1lftlD/tT+N1hSZfqlhCs6HOae/mIf/JLaA0MMzqI8S4oNJes o8znskzPgPgy5N6ciZ23iAM6jnqJQm6FC3vyDqIfYfasYK/T2MauRXhxlnWbaJ2GJzEha7dGWfOs NqQdLOqFD4EtYrGfXTn1pRpyFkoffyUGY4wRGfvcejkjhx83j5FAbC8pwVAEd91WRv4vx51Jmg04 W2SmnbMUR2X59vJ8QLYWIaxt/jgcVpyW0lS4kgfhtcY+i2lloIOC/HM/6zhWGzwVI0MWmdT/wV/M Jc1XhhOSy97CncMeU+QzDMkfHSo4fOOZIC8Wr7blCzRUmkLwX/gPuys4vGbcrT3YwDrKEF+qzKf4 iQ76SaTS3bCCEBj9aJqI+roeZBEr4Sa6DoazybbLgnCgPXasE6TOuADaAI+3n51aA8NSub3FMOSx k+v6LlrMOilsvTFfrhGh4Xt8qokSci+gRAghwFXaB1twn2Hd0bfYONiEaS8o2jAVrpvpW07bMgFu 0yyvxVq/2s+PJ94JaG2Jf39gTGZcZkVfTFMkkxOPGwZrI/xGNuiV6aKY6lwzg+w07sQVNB3K/jjl 59L4klYTIEQWK+35dpjlGEVKuaZ6pqIKg8BZpuWiinVRA6vh7hWnqRupVvhGO6dgz5wPig5WGr5A 0hJaKdRcC1KdEsB6Hi1iKx9LBD/ev+LT/oxIRetpzewdWQ+fu93x9lk4ABHObwIWycBgqNA0Scjl NJ1d7J52T8M78YRqWOo1J/7YvgtnoHzXKMp3o47FS3sJkkSMqCfbgR/9U2CgeISF20Nt6hYmhdN+ HRzP2QFiID85TupkXUYiowHtqXzxomoc52M0z/X220ZvZq8Ilvt3cFDiL8dH0HFEu14CilRVvWJY oQTMM1/GjfH1gMY0nEakKYdbFM3wqiyv8Xod/7EZiOhKiHs1XXdObEYO6ddy5st7lQ/rDBNJSm75 XnXDffKiJFyDa0OVMFTuOX6mRXUVuVaLgnG6cEW4rWiFHvIGvW1A2u0c+IYZoDBxvjag0Ip/Eent V5l11dyFJD7+zCSpxIr+9OER6RsZZK9hF/ifwS6FDAmoSdxHJ13wQsyPZvd6+0Ho2vIr94w2552U bC0WLZJZV7UVdqFkP0Nj0Fii+KOwUcfIPDEwe2jcFhZsm0gXLDAWmwbBmmguFNAsdOl7QsUBd6br PlqA9NLiLwNtATkvAf34dooxYBInISePd1UiIgbxMrsmDLHsUgwwNQw5Hxjs1yj46wNBtrOEgYQR vmLsOCK2uHCS4QEOuIty4VYJwuc3b+Dj5a8RxqFW67c+stOFfgE5nTyFe8MeexbUHo5euf2z6pTz Ck73DtMFK2qjGZQTqN9nAJlrc2tkB0eH89oUcUMLvktUhkYWWjyiT+z9gCyTJxIaXUVFofX+HI/e q4NwFLl2rsI9qpdUpJJJ72hxpx4vuTmh5DpzsRPb/fkoiv4aRh01vwUbguUzP1rL3ne80ymR84z8 BRDIeOyxNNMW5hbQ+ZyJc0rWe5KXnk6yuphXoYfkbGs9xlz+aCH9wNl67hDzu/E7j1o4y9PsGFiJ fZ+viBCmuDR+bTY0g40AeQ1G1xfGRCs1FO2M1bTaILkyLzBh1a2EHg5vOjwuSC5h2ZOvyEYEmu1u 7FbY7i7l+F7w5hTtmXYKJOvWSuE4KsOuNkvUVprKPSEixgZ8GBmNSxTOrRX1PqnpWlig5xXrjShj cD4CSyvkGde1DAHgysxJZMFq0oqNmhx3mmDQns8Pfv8EwF53Z50VL5lgUGcRk/j6x5rwy9/LGZeW FfQFvWhcoV3fIoSnNsFX/cvsnwY1gF3//fS5gEU4nYEkpOclmGqHT+p+QXr5EOsGBs5jIfaYjBeD 54ytiU6CzIX+4MXBjmp6fVx3+Uehg4hDGlRUSinXsEuOXGX8p2lskbJ5DAz6fte/xSl/S5Yoa3sF sEBvRegTDbgh3YXvpFk4zTGpwWqnxQc8/CpFSS+vJdSFg+HV/y9LjXx9kHCg1VCjhmSDVmrtVv5s O56a667b4ee+qIQhYH9AuhzVVdVsYDHS33kXDGQes94Vs4czYrF/zjcTcDzTNqVi895giaMwuqsa n0q06ZZDI/duUg/yi7F+4QIYX3LjrNwcR/D95BV2J7A8rorLowBTnplEugPQtZqUH1zVClWpYRqL rXla96D6ga3ROt0qoV5kzI2CQCEB5UrO/6Vo7N+ZWhg/YnfvqJGweA5INT63kDwi3O+/b9wSMFZP RtU+fVI4Z0d7//ZUA8yT4/kPCR78zV+s4kVMPVgICxCSSh8voIQ1dgmLfwn4P0gTP+aVoAgUvFgf vGuZpfZl7bpXmMXhjiozbPj9bvAQ3PR68Ii4IXQfI574JYSlotops5eHwKwxdMIW84Nr3/sGUajM rCT3tw6gtv7CKl/dYzj19Vk8XEMg1W8YT870/1tSM0ueAIa26XC+J+ES3MM2+X9vG+duslHlmYWK GDe2w736lGHs/mPMLAtWVTkbzNv3GwoTK0oDQINqA06+eqVLeE9tU+DuU8yKw2NKl+Aca0wKGoys mcWpgoQF6zSuDjwM0LDkYbW1xTTzCgbTLA75GcFZOoO+dhBg97HZNlt4xCNN2APOtD3O3OsKQkDf KFOGdDG40N6kCb6KbU+rqnjmWs5w0i5ZHhrihEMNLuC6y13fbrUiJqFFLCZ1nWpTZyUXEVOxCj9M J7CXLJvXSV0U+7cnalcHgVfnV1oHpwDSIzpkVzglyCtS0KGROgCtgJ106vVohMdx/ESfyVW6Tf5Q UHkhKhxS9hfE1FGsKoo9m7r2Liz55ueT6yl0GOmNbljEGWybxdr/RSKuvk9CP9Jm5fwQnVREMKnK w6FpLsqE6spkNahP0n/9mWfcAZlDR5CRGN88JiQoeOETUgctx8K0jA6L10fnvoUTQmXYC4JMRfhX kZOaWUuEYXhEtXZs2LLIq/gINQ/UK5186JXrl+gJcMWwunKq6cENvIG39E11X5naKRb5cioMfUEl 7vBnJF4r8cjFCtyKQT4j/ory9OtShY1rMYE4JO3NEnIAV14DufObq6CoqSYYdk3WhbOK2BVS2mDm dBYLPobt8VjD76gwRL1+xHydXocphN9mrg7tCfr81nD830Ehe7aHlBaA3o5DXjRpxaKV78en4Pyi dmPtr/hXVf8vSjygzVdra2dzk346NSP7aM0+nyj4abpIZc2GalmH1x5SpNiR387H0PmFlsGSwl4Y feAJZlBNiM8p9qz4Y0WrZ9huMraJtqaQUcy2lFSfZiZMAGQutV6L6AyTJ44dKSbsj4nJVbAeVcRU d189LHHLWA2SSawlMsn39nUnyeYF0LgvEOvYZ7QNi4wb/lJd2JPMsONrW2/y6QrCrNdOXUczN/7y 7SZNqV0EVOYGj5zdjVFRh0i60jAY6fE4WsXAvKej4drl19uExU2Tz/segWhEfP6vQTDZRYPi8NEc Kyk3ZaDf6Z9KqgqtbKyxjQHfcVJCsZOHicdQPDsK5SXngy6DCm5pBNrI+Rhb3RMOxTANFHsxsgM8 yFItir+LJ9Ry7GbZ2Rz/h2+jyVcBHKz3TimBWLpIY16JGhUvwIzfJ9b5x96ZY4320RwN/1xhguB+ NTgwIqbvvIPxV2eT52DP94PHb7QC9SVRzJRKFYv859plJq2zPtggVKqUIqC4QkvUpKMGhhRS9J0K DCNw1Eej6Hcdb9MZoCMatLOWol4eK6RtY2ecFsJSXsLLYHD3AmNCfKs/IJBV/243oK1wP5i459S1 8/lTj/hBSp4Y4r64J5vO/n2y2Y9K+p0G1jWp1SO/vf2EDobEmydXC72pf/NbNlza5gyIg6Fgk6Up qqTsU8h+1Vdq14UOOoCqwwJ57PUcPYwnZP9xwBkSILEvZG8re797ZUwqQYiSoNqo9yXZCQdHanc6 zk2N7NB0IgkimeZmXXq6A65rNh1ZqFCdxLJE1IEA9h+D5qIztPbsjWQVV65BipB1hhwYY04JLkU6 B4jsVH+GA6P8SMwvz7p6O9BKe4FP/Z5urlfBM+Xt4IydRtuPdmgWW8xruQEE8+lW/3HW8AdKz6Fo bgflLGRkAxW0hjuz3X7gC8F5XX9NFmX79xDmRfPFCyOgEnlw7nhm+OgD64ecfIxYbZtO5NysUawE XXgviiPuz7VSuv9rvvooPwx1IdRj3VJGFyhq7aTFwHEnARV0GKdXK+ugTsNoQA1V7+JnWLPJZl0Q K8FBhn0NuhXU5tXDJbKbWdkn0Wvhfloe+u4dWAR1lhbHMrMdVCxdc9HCyCmI1XJ4xKK8hfIVLpsv d6Hl6q3FDR6+A46mMcCD4XQirBFf+PBSmSGT7sWncAY6NJar0uhKacDNB3XbX9MBFYrIcMKkXVq6 7ugIpN0cI9jshq/WY0DElcCsFv631bzGk1g4rszgVerCkpVJp9RJuoFn0nBMMDcEXlAot2RiMZG9 LPSnC2BNzKp0fq/8ER/3gS3rTuLPra5J3tCWSaIj8cGFzG+VvskFESqB31borqW0hR6oEgSevmp1 Zi2kp0R+f7NrEnFI/pWGe2chDYltVYwjle6FJtCNDUb1j9KTlrVmRtrCLlRLIEVj3LzuS+fr/2x6 CLOaOmoH/jtk2SoRxMB9SYuYee+SUqRMq1PBha5VIWUZ36b5V3UxNpFEvTZt4zLvZ8/EZ7jE4ksj aBWiDgcj7g/fjVOcfFraC7wtp4YhM3AnW4txs9SHkrc+f8aBUSUqRs0jtubgXJAbHBixC9c2eh/K 5lKVVlrVoKlN2T+n5KP3q7iAcTj2CUssdpGzsVFZPis4iUJpjJ+SdKgkeXR00za24mdtrSbK3Dxs 7EmuWYevKL/TFl8iVUuJ/oCLmlt1BL5I6gv/AsZpgQLB/4ebjtSOgbVS8kbBsZ82Xyx3HUjeZNKB c45j58dOaVmd8J5eAy7Xc8T2vmCB7fesOXtJ5BqUlLKxSQiIL6LsVhjEocySbHHiO8VwUPTH6WG3 spDlEVk7RSYVEE748+5SRFIBNvlJDqyIphi02vSTcZVu7pWYRSp1bHyL+pYqxtbvnV/FEbv4mh2B EFKYlq2H9I6tGX5Yg/p5H0CFkMieTiJomaHW61un8i3uzwUmVENxpTmvJsJT6cmLRw/TUooQVkiT IaeGHm1bM4UOwnqTbDQMALujrRTSvvP/MPRaVr7ealBRihwHSXACfBeuBtu3fsZkliId+8C= api/updateuser.php 0000644 00000054573 14735711214 0010232 0 ustar 00 <?php //ICB0 72:0 81:35a9 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 km=== 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 W+m= api/gettldpricing.php 0000644 00000140671 14735711214 0010703 0 ustar 00 <?php //ICB0 72:0 81:6b8c ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 67Z8UjQvPvGCN0=== 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 kUMCJuo28dlXoTDCjde7WeBJDDvINxzf7jtW api/getregistrars.php 0000644 00000025367 14735711214 0010735 0 ustar 00 <?php //ICB0 72:0 81:1ca1 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 api/getprojects.php 0000644 00000051360 14735711214 0010371 0 ustar 00 <?php //ICB0 72:0 81:319b ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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= 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 api/deactivatemodule.php 0000644 00000047145 14735711214 0011365 0 ustar 00 <?php //ICB0 72:0 81:2fbd ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 bXRJUuZr4ieWQt5PjQkkys42b0=== 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 api/mergeticket.php 0000644 00000042040 14735711214 0010336 0 ustar 00 <?php //ICB0 72:0 81:2a88 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 YtYl= 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 w6ak api/updateclientdomain.php 0000644 00000134020 14735711214 0011704 0 ustar 00 <?php //ICB0 72:0 81:6782 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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= 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 api/getcancelledpackages.php 0000644 00000026407 14735711214 0012155 0 ustar 00 <?php //ICB0 72:0 81:1da5 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 LWyC107qhQd0nki== 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 fBhk2T9f api/modulecreate.php 0000644 00000031235 14735711214 0010510 0 ustar 00 <?php //ICB0 72:0 81:20f8 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 /3yIYNsu1okeeUqA3m=== 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 api/addcancelrequest.php 0000644 00000040072 14735711214 0011345 0 ustar 00 <?php //ICB0 72:0 81:2807 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 zp0Ii55rJN9eueYH4OmoGPzOWwXNJ4mS api/deleteticket.php 0000644 00000022152 14735711214 0010503 0 ustar 00 <?php //ICB0 72:0 81:196f ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 4zJmcWj1AAqf7R1V= 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 4AUWiAb17BIiZ5ouq4sJ7t4iHoUju6HGJ0== api/domaingetwhoisinfo.php 0000644 00000050674 14735711214 0011744 0 ustar 00 <?php //ICB0 72:0 81:3119 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 Cgwx7qL4UISgjugxLbrMqaaLCSQ+f6M6jW== api/addprojectmessage.php 0000644 00000046132 14735711214 0011525 0 ustar 00 <?php //ICB0 72:0 81:2e1f ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> HR+cPva3Xa3Oj7ftrTeJOquECw77ZjZ/vp4j7QR8BRrZV7u3UcghnAm7KM9DPiBHLynUpMUnUblX uCuQpm0vReuo090ZFHJzKgJj1IRKHrJAnWVszuH536i+PzQXUdNLQMY9ClA4plELlFUdKm7BRFUv g7CXh2AtNsd4Dy2lqZMlqaj9AVznT/Zp+1C/J/CTZMysU6dz2CiJohmZVgILLBCVjv9pPV05tt+V izVezLHImyUVYiXX/v4U/uaWFwkNq8m6t4x7PiVkfOwddN7HCbxqlEWt39oogNKx+fOlZ/TaEXAH 4uqKTd4YHQw9CYSfMfOse/S8TF7X6IWeah35bhFFCH9YPyZWjEj1JOralwWz2mgWc5j7wEJWmlKQ aac69j4+FRaDVTnB/J06RDGR+gyOpFIMyb0GZV6ZtVZI/ALqr6K3zIpV5mOh22l8p060mQG2BmQU SydlYFSakhE7XyaWdmGf05jP75HkGtW81ZU160rAbKsIDMZXbWYyPhOAPTTFtpQkLAAPGdtpK2dZ hxc8qQGF1qPMGzPv4x2oNWxSr//TfpvLYODJDWbqD30lNRY8ZV/XPPFhQ51xKvH4awZFEgHAtF98 dBDIkhydsCs6uvrKIZqWQNqSh95k3GWX9lcVJfp+hIfObD4s3HvxcevGMBlNru55tLOE4c/pQ1tp 2faFC+7UpabRoipgHOxh1+mcotYyXCvMR2godMDQSdBk84hE+uOutWpOLuiiWgQyaANLngDAk0nn 3W+NfCt1+VgwtA32YMHNeVMsttBnyxbDlrHshFVn+C10QnKHiZY/to9PxKtJXFQL7dPKE797O0rE uLi9LnWS+U6v+FmQXEQD63xqw5THjkdVn2v2OZvVMrdMHogkin5ez/JI43jIE3iH0+PmmkJWoVTW 0o7Dd1FNLmZqqaC3I+9FOU0e+oGsDBdy7Z0qVXqtLlES5Au88uQNKwdfxYOCwlnQIvcZxWdvL6WA w1Dd1rCHRxGjd+kJXvTpn47tCqDzgINhALN/5TLaMwixlTquonSA1OTYKh/zyNHuv9m5O43E/ktN RG8M46Vy1nUghdr4mPvG4kRd7c0S7Nswa5VhxNV3BUCjNAAPb6hozBSSsx2lN7JHeZQIhjEbahwY qTTcBSgObC4bfdq/zopk1rf2Y4vwSQM2VBkohpVCBRi/XoM2q89FDNWsfusqprkpebTsRaQlOCta s1H30ToYaiv0PdFcbtUsT87xNWfdww1euHGpxV23riej65A1ZSpOntUws7vPo/SRpnflFR6/vpkT S8CXQIS7JQpZgcGtJnsDdtrgyCHHJyWaw6R55UlLFiRcLzd1J42MkE+OldxbeuU27oZy4sMeFbJn QAhF/MlvR7N0JQwg6dqsf/uvsdIj5CYzA8PaRJ+X/oG7XmltkNom+rlqdZNDj3bcPJgc/rN6uS5R Kx4+a3q0qvDgLED0rn2eVxtnxEOOwxIArKgUOJKuYfWjYkkYPHRO68zxjigYT0IpyDc3Rdx8Z+I6 ByO8ZUJKeunC93zaKUmYalfjfsZc53RucTEbascL6crd/fRsgNXX8MYPy8oJOiNUHdbs2xew/X2x oPoWoNn1AFNGRBqTSAOLEvdR9H7SbOjucE+m16hvu24QmnW6JOebTbzUmyashO61Ww1NP4kJnnab 8mIRI4DShVH5c43ei92hJsk0Kmio8Ots1mcELMj/eO2eW9PSZ95DqncInLxgcACknFlHCtAwLP70 nTqMNZweFj4H+KY8xgo5XX+46/4bzLNGDxkGbg5exzBG5wdh9yPN+EDzOo5AxLsrjBn9mLrUpsG/ B9t4wZzUqkMjqDwRuECOpPIO7SIFMgt1fPrpAKc2gsIEQz8KUzFwQfQmhARWabS2vYJ1GZ/1xvjc VmMtingXd2XuSZPXq3ewDmCHbAGbZdHdUlIdD7WOvAIHXYhicXpAnswaqQeGdPG1kdymi27vKEc+ xsJGhfMPMHDG0pztmA5sdIozMzs0XdVgHOPhvqSs6QPAsMsFut+5WZrDSRr9ABa8pNk3pMKvOV7k WPTDcwG408H9vqX5XlXwAquz0N29JtikTA/4MNd9jr5fv+jg5CcONVFV8DyEUyo+O7zOZDa8KxSw PhKVBhSU/6/V7yPz06VsguzzmzDJjX7pY852a3a220cMM0oDDpqjy1iLuixFugb25/6QoTuonNFG TOtGbM3GsIDyD7NvG6Wjs0S0x3sJ4b+HbxN/Lxf65ytokaZgqK0At6yg53ATc58JUITTleRVbQGm PZBDKYOqFMfOwwa6gy2AbmxKyCbex8g/rxd/ttuXGE3tyz+OYkuLB4UvxPuvtnYta3qGd9cZvGRj Q8ARMoYIxuGP8vObJINFe8YGR3C1QPZZtA7bonsbsUmOMqHvzpBckqp1diWtJV/SjqiuvnOkImYA su26el9M5dwVzJcvpq3ILSzI/MccFtBCh4Bvimvb6O9OH8yTjJqBpfqKFLwEJf+Q8D2qB0Ev/hnF yGfH9fw4FqD8vYDaFm70iFYxCx4JopgtGcCasdwK5jmGk8iPo5tG/ORYCh+LkZ85S5a5hGJN3vRZ Fnwa1SxUaeyrK+LU3/im6dTgN7NSKbxo8SxrH5Oebm4aSegR/xjIV+zWrb+fW5WihemFeRwHgtlL 1jEOVo1T0qq7wfOaqXlwoGr0kayeQD2lMCiAR54xno7xKCKR6ir8bxQHXWiC7Uh4/Hyll8sy8sKg 1TERek5lKWAv51VFsB2Jvfz7/aQxIaD8S6EhG5Nc52ChZ7BvgCX86oVmTYVdvyJNakVj0ERBFjVJ uzghye73ovWF6EoeyPVKjDFMhXzEQvAZ6ZP/sCjgxGg2BkCHNNqr2qLSM8fZYUmFBDzgac4rn2qe gkUK9i+ItPLqBOj7FmFgNiM8ZowZTPpETbMTRiMC6lD4cNmRLGV/bpzRh5Wbxrk8dUUSEhjHZEuL tnwjjyq+Fw8U6zz09qFKEQCLNxuiTbL3NemQ3Mtv4ub1u6Ty3tU5Aslr2ex2+rN2FQhM1/igKwii G3DCK9Pnvr3RfgOoYmRmMR//WgZkKkFwoJ+AyXRvzSH+ggS7B303CXWeJrlWXxGr/qvijYOGPJVC 7KoXXr4gbV3zW1i9/av+mg0IitEnhDXFgAyz1kom1GMPYHN5E7DegPQZ3+eoSE3wwxENMo/P2zJ4 EhqCaPdRw778H5c3X/N6Y3szHSJ4AvKP7Q25/S677CrB9gRWa/OsdeegS5PoTVqW4/usiega8p3G Lu0Fh62CMML41BdE4dc+IQKv2f5+5LDDQfFqfWexvGgI0j7925ULBGR+z0C0pXE8dSqZM5lh1g+B A5CBrEEzHeS6lOwfRo0XEv5p+pwaV3tgm+uFP+bk6GF4Bp3AjalJo0ErXN/uwVkaRiY9i5HQ6DPg /DqDr4g2MfK/sB00EalzC0UHFHB/A/+KcZ55FprqbNzXMfGrNmUv8v9/13OlPszRRvNj0D/uweQL Zl69AWvNTiIVY8BftEWA0abuNl7tLsRG4QsMWeoF2JG/ej441d6Ul/JaRna8OTjkXaVX4FfbrvFc 346Zu0F42Tvv2Ik9MBf9TlXCzto1KEeUrHNQdefMnVbGDSV3ModNQFonZ7bWT9IuKnQoOpl6UsbC wVkQVNtY0kRDkY6Es87Xxaq0VGjPDaKenAVs2Z+0XfrUdAsOwxbNWp5dlzkcGW+y9JZY+3YbTSzX zJbEIzsk1+6u7oJvLysJem2g2b74s52fIdkJDqlzwpHABqxz+rJ4CrDWs7qdOeFqFISrtk1Ad5I9 JfdFWkddM2tsUKHoA1gSQq/+ue/kRAlzmpCrPVEEppATBYuMmhThOr773+4NPX4z32f4eL0Ohg19 D8xrQS3LTEBa/oA0leLnlYkB6FYl4xp79joc2WUoi2pvCeD06h8Iw9XK2F+HgLdV9dcm366SgCkh FUjW7lA+CwQmN1fOccDDN90iXW8HO4pLywql/H6lyzMoDLDV654Q/InAX49S23vTXYqHvbp+Cn1Q mTW2PaUaVZFnyujtWscN0EZ5w/hy+CJXWYIFDMzwJxc68HgsVEpQJR0cvCOYDndGZXLQjr6KrzOC Vx1X//H7MQ47OsMi5sm8JzmXdFsQUG8iVtGWrg08gHCvGXH5Euer9DZG2exQxF5dbE6HI42bVXlo bMRkCFuVhn4uPJLJTb/sCokiYrRGCzcDwCoO1e7qlyo+L8EE8H3M3QjOt0IYRlFGyPbp62skH0wC 4RVHC/FeWIOQQY1grIzYgjsV+0ANjczxXxNfvSpvpi4ioMSUPvqfZb7DEwuuiNHsMwSjSJPOIaB9 hpYJMp2p0gYeBgmdtEiXAhBQXwc+XGqoc2uTwgTq9V7l1inKLLpVe26fKmg98KnoSddu8teRqlsK u5UstS2n29XUW8M278c09pSeHdrbyliJ5OOGwf9owAI95M9cgA83v24UWyiJCSH5sGzfuL7fiyJm Cq7/xuV5tYRRPk7F8kYj8ScyXg3Vo2eVwMESmv7A5YRaOYdvwR8TY5mfTmu1TliNa0jLiBQHn2gG kH1Bxl+dWfvIK056lT7Te9b1kiQgl8i69Pt4gQAVJZdy2UpSusXgexapBUaem4R9E0AtC2h28DaU sDe5KSQJf15hvf/7urlGObwCoHLcMtHsa4s9UElGgb1+boKn9EgCV9K2qhCc8pNOamwLalo/iOq7 ixJ3Us2LOjTEDVJ8jOiIOSM1mVCkwqs5BnGD+A6thCDoxccdIYTd1PpReN8FxI89YelQvg66DnuY wUvh5mZqssWFvX3TRRhjmMrGcRiiLxr2Jyq6dIlgC1qmmV0s3gpy+4NReQxWMByjvyS4prrItnki 8hERpv2j3MA3mHIJVPGaPnMLSyThA3LYZB2rtetB0aWPame/9Aa+pvHW06hOEnTC/lTDxNGTZAuZ SIzIPPeL6tJwuOkShPZV6+9dJ97E96qhefccIh+79HjqSbcUzw/ZrTIuOsSMAnh2OutONdxPmYNa MNEXR65eeuOJ4uQ5oFOVLq0uCuQCxeSN3YOZIRrPhY8oNiP1PLZO/3/0JjSc0YgaPkUbDSGVXrJ8 L+4LvQM0wU3FC2PdGQ+576lJs/bBlMh8fyYJn+M02vCWoRysU5zJf3hlzlghtZBQbmz0loOLM3Hw dvviHBwNjBvh+4KU0t/fHMKQGy3qDcNMVmq96kZyzNHxJ29TB6WOllZrwQGH6G7Mx0kw1kztOUMf a8ZLZSDsJgkugQ1xqkdvX5wwfElwk2kloK08mxUfotvCrKZWwIxbDuU7NTWMfrsHpGCkg5IBllfA tdV/fuSxNWuOB/z8AqBKgqazJb8B3AsZB0o38hcncTuHD36FIeNDB7qtyL9lefwYLRCH8l2lxGEt pGJ5j8YYN0SNO5PscOTlZ0Rj22uAEfnzcWbgWe8otCDFMhxui4VEaZqjhme1DEi6eE4sFQZeAdc/ 5aTG/0wUHHX3Uf3NWIZYGCgsoMblrcp2SmHuYYO5YpPv1l1ZfDW1GMXsONLG4xrSIJzS/mJBY0Zx kvoZCUueGpTJMq8GIJTawaCFGGA0SuDi/Z9sTV8qJ+aVE+CZgoINJRK57rTbX6140Q5CPyOgvuHL rZKCW/4IhKUXJhVePW/jP/Z2Ll5kcNfapiGB8waNn9Ik5Ka13oRUZoin4Ugww8WjI0WD55CR3GLN 1eYxKt/LFZICeH4zIIXObd41zXNv7p/oArrIchYTrgN3/IUiueA/lk+nbbNsxWajr+kFxSAvtL// nieSubNNPd3ntPP0QM6KIMQNDvLmii6BKK40NgBjYlqVJVQhhGbcokSoZewbM/LMxqUomXVMRwxe JW6lvRME0AIEtDP3Fn6MuZ7mEV+LrgEbHdbCU1mrmzQyvBGf+lKosUxBW0XCLJX5HyaDIw8d15EA PU0eiZe2/OBDrFVp+RqxuPr0npdF4uo37Lxg60mUA6lIznqRhPS759f1hYQKeCkH8VWKVw0Er0rN eCyOVEdGfk7FX34UbGL6JmEcZTbpIDoWZz82tGG+8lHnmkWnJMmLI+OuAuvinfeR68K6gtFjJOJB 9JsjAGIVXz/BZ7MAIXPs2x3ZYSbxcro8DFFknXkl2cgAQ80Gh1j8Qw8kdYU6T3gUq6NCDl2T55Se B/7pCfzgX72qUZVKwQ8K5tZ3NC7H0oFXhzn1mUIALa3BDqb0h6Z0kLIIjmVgmYu4/nMtAfBsscXM qA5bnFWQrEa9KxBum/JfHc5jsjYbBg5ZQu13tHBmxOIfEc2r7h30bSFZ4EYjqBWrulgT1wDItkUo m5EJPo+fkaaBKbb7CQHMXB0Gu2+xadGd3pjRgKnxSlWx6BE0ElXytsod05y39ocSgx90ZS6K6EtX CsYu5fpFipLKbDnCeSp/6KtKQG+PSU96eQVmsix/mfCGVUcTWMYfca1Fc0K61aDrguYN/aDUzvxV 9hYOUastf3xImwdogkurM3Bxjzb0xctSxVcQuv4OaSyWyE1NtNpneUBHXjYc6TpQR6s/bsUo5I8H sRzHAalU+BFJBA4Zu20+EHwzHGK1xOLXQr+zqHlowNN8cgmlHqvvebM5VZ1JnE11p7EcT2CIGJAu va2FnOj7MFyrIamxS+zvnGTPqSjY9mqpZE80pRJC5iMhtoeslBUSa/Ft4VAZZ/jwoc47xIpymx2c VLrtbNk3b8iiOfravlqsDPgBgIALOyHPTwbcMxvnPnu9pZ7Qyp5Y9QZeUUDBm9vbXIONn6GMECvb MlZKkUp+iSATuwpvze5EQBcTWAop2eH8mXCSybUBNVJ1AGPEiKAUV+Nw8v9icc4/vrTSYAGVUoYz Joi4nXwQYVB/ZWimQN8zxbRqLqrnCRs9V7aseBdw9HZO3S38v/UQFIMFk8LiH2AFOqnPN7yF6u+r 468WA+75UWnUo8thAnjXGKRM2/r3JfPVorqY7/TUy9Gr+o4YQp5tgC8zYXC/yeDzQ2xUJFXuDHkG Z9aLIGbVG1r53eJRwzmr3gDg/Er2emoNhoprXSp06m0/kdSStGAf2rMQp+XIqOigCAPxq+0g2kN8 q26Ar/oOGXsFHv596+sC+JF35+AWE2rR2De8yDjxVcj1FS7prupS+/t3I38sfIjGfqXOnWI6TGb5 Tj0jVhbkZovEqv0nwEvXJ+a9Lfl6UVuctZik+srHDmC8rz6BL7obMdnxGgXf0Gda9oNF0BLV0vrz VX0pc1msaTvenar0qO+esfcCg7vocvgNDfv/BWE5jqTlY0W4euqOSKnUO7OvcwIN9hgeZtpi9dyz f4w8y7Tvj0BT5O8Zh2QddgDesxevuGAZttBIB1l4iBDp89I3+drPPvTGLUcUL3wYf2rg0B0lCIs5 Y0Fu6jaOLs7d0/jDkn3At50WJ+kUgL5cQtu1aU7PQpluXqxg5vdgZb3vMcAnVZBeEnRbnYv58EMF iMPsBkBUxVvlWNED8cG89CUui4K4CVsX1GvMMg8UPvrqWbdQXixBGVIuZin2K8JTLqkd2yN1aq8m BvY/BSGvWC81evViQlb7ZEMLH9wZIHmSKUsyBvTDVCNw/kl7VvwO1TosMo4hGStzNzttQfTmLDXv PuE8V7+p308+ngx7GfoF9IXUUoPz71lguLH5ayvWmA6Z8/b3pOsiEwVHoUMTXyvfiWDDMX5Xk2eb ZqORw0vGMCKqp39rVqo2I1x0BvpyVhyDmqvQy8wojD/TusovSC7p7pTCxt5+zNyY+If0Q9mWeDXJ sJwN02gNSeI/W1wVo0jJsQr1BdanD1JE1qlYEj1/wgzOpyRH2eFDzPUYokz5ec8P4eSb5g9IX2WK XVEzR8g2ttXsDHzhQuIUPx6wwxWalkz+4JWXaNe9qvXwltzg75usK7Qs9IoBQI7U1zsIFkSCNV2Y 4buzYLF7YjFv/gnoz8DpEoeGsLgbH8J5fEYbMWwOBluXhOgrnmcZMzhzVo8G+rHnuXPfdAPiuOx3 +ZDidUZgIk/1WIxP84qt82pcPixBGCqJ7s+9v0bWJNyJxL6pweANA03WHzIJC9LEMYTV7FP59eE4 OGNttGzmGP8J4mTvV/spHvTktDXBgPTc9epkorAv7FVoXicNJFeEo3WSKP6jY21E2zJWcdzUj+Fw 2yiUAVsSg0aCyFdLP0SP/86APGMPE/Xjlx+ejgI2kcT5wr2SHKjUbW6vvwusvjqRQITMI1+lSX4f TnY+/ZfmO+Gb4RjpoMOjoRXGgujyM+TttlRxGu9N29ioVYGtsJCAWHBHcIBtfSxX0AXxXL1rg1cL 6QkSCwRsDxaXiaPVMN9ZN3MDtZTXoID3GDQ8RXIXZyc+nAsCE3ASKrEFqNdglaWbM2kb0Emgfl5C HVIjVuwTahuKVKejh+0pqBge45OjNix80ao2G1QYpC5rpvsrEyZEPW7KWRP64kQXdMJsgpNHp1m== HR+cPsFP0URDZ/h9+1EKnQvxWp9fp62Ch0+OwS5WMNxnovYAhJg8B09ArcSwbHOcSmsxsVeBui3m VwYs48aZLkWioP14BN5v2graDujKIp3k+wj+ZwBcJ10dx1EreTKgn0OdttC2KIoGr0AOcz6P43P8 z2+60B1ncQrv7CwlgsSiWP9B5gI73ukctt4OquZcUy+k7nHu7hhw8sQkMAdGx81j0REc4AoyIhmI WOwDZSNAVXWGinUaphgqOwviCY1m3jsvyknFPfEr9vgjMH0X87ItpNHAqRRVCG7R0e5C1dG77BbF E2lmJcvTdKsSDbrdl4qPUv8Mjm3/38CsdvPd/5SEPrqB67YEaFmAa/2XvIjFuJWR/uEAd29IkzHn QswtQEKgp4E3RNOpca5mLpNSCW05uBq9Ol2LoBfZs9bQdsp4tnBWpAQq8Kj6iZtgi7A4bCYSOBm9 Xf90JRpHQns490RJZ5pZ9zwVh2bZVbkzEyA9PdXzSzEEzBWYZGB/rIx/4sT2L2zlgM9EVd+Wwvta Zi9hT4ojwZME6hGDKNnzksNHPMEBHtbJ8xzMLwUYt7/bCaNe1addni5q2wO0GtRiNGPPKIR06T1+ S2BjCQLetLCfUf95TL9WfsuUNGREmmkxIE77NiXYVxM09l5hrI5+jDiSH3+Vt89EIFzo4wt4UOjK BZtuGAu17gTywm+BgpxZT7JpnGWHFgPvXCieeN3m1+MhQ7YQIhM/vCaEwVEc7h9p3zktcnyF6+PE huFU/AaYFQW1tSIOYmWGsA7EMoIDfxrToB5PitdxGbJMYXW77F1wFh4GFKTa1zB+zZYo8jQq5FAS k768csgOhUsZucC97TCbQIJATcVCERY4NuQAFUVfZ4WXYklXBnQtTLPH4TDMgijcmtAlcMgAVuda jnRPj/D5g0xlo1HALZbCNY0e/ACEW/Ef6mqEXnrfec0KibJNoZL4CS5LwpsEdUUR8kMoXNv8tfRT pJGwRIrQ/MA2LxfChE7shzsylhiL27mlTNfTOq1lbO5VzXdk526Ekj+4fEF+GGuFtaofOJdzLJVw uG2gVFFyzzWKGs7tl+CkEBd9i+bmN0tfgV85FKtOpsrNJXdOEpQtUAhcUXkzaSgpb5jJ2D77BSjv tgjnYLAD7LEhihs5IglnYgJ2nGl/OlxkyIoRzGkIzNSL1FfxLVsqSb2uTeOthWNIQTLePPMHEgOo c7mjwyTk9F7R54XQSN02Deq7KXEXGY/RJ38XL2/Zrq7hCyk3/qWoT7fx4cuPUdFp5m25gNLdVFHI 0fhsz461pcZ7SgaR2dtQ7rBjEz4tCe16l82aP62IePWGZsMnIEiBg6eA03esziY1xVunPocUkWnN Mnm3CNdLMwxSsJlOmMVBzoQZKr6OnUik7/9Fg0/TdRh0wtNSiY8nJcvbDSMWYH5ZKDwbE/bhYlBn kcAfz+WKcoFEk5CGbwBEcqomnkKGozGEq3zDccL+XjvkRqFAh6zDuxH3WobXJMAQh3yDnH/RVBtL 6L0WA8Q6S4qsZgBxJuB3rnghHRtY33KcWP6kV+qAdZbD6p/YBKUnp4M9arrWndBf//wiuG2mwC52 rBhcp2tduycPRwsb6UOpCFvL6TrL5WHbxffPhvZLqM+i59CjgnhF+qPqYELbn9k87Wo4pWG7G7SH IctL9azU9RWFUnkvocgLZ2Nq+TfqzZOCblUHR/+/nt/3prrzq5bKbQUwb6/VaEPAG2s4owHRo8I+ h7Cs9cjMccaqgHrdGmh7MzW8h6ltwYgzoDSbd4J0vDJsbLeg36C2Nh28wCyFsRb2jrR5JOakUCQK Z/a6uC9gRe/YV+YWS6PTDprD4/tHBekLXAo9aKq9GSL+L+lp6XbOgonhG41VTdVCnOxrr/JsEH8u zKGMLhLlZoYLUewxRdzYGgxBU3VvNGXfDhFN9rEmB4gsCUGF5bTbXzuGBWqGWwXsVnyz/X7DMlSW jAVumO1P9d+845ee6p0d+gkNZIK+AVkx7buqUtpiu316R/OMOjqbGr3tipAxRqoeP650t7S5JriJ 8kyZY7N/cD4/nyOTHCdkfVgJDOKIUM8ZHIBkjrx6TgHIT46JLJdS5ZjshVoYUPnv49CQfIlP1gfg By+nxJ2KIQUkCZdSJUfNqTDQktUhd+tyVT7a8TcQs0EuUEMuQIOebuYCeAEAhRiJVlaXtXcSMfDs Gk+IXduESS8CisyjG8YliJGUxnFIDgOFqorU1i26Tt1ZxoZF2oWSkJZcUcmT+DVYTedqEOpyctEV qFIRFngQ0LDCXRAmx8ktRxyUzqZc03tqRfGCC1pm2Ba0qr2bDDXxAt8WUl57RbNv+OsA54FYgwSv Bg35WBXPImge7WJhMLztIVqpMSnWvnPNsRluRfh5Vad/uREktmN6o2Vb8FXZBZdse8yul+ZxYQ3m vklfl8wJiHdRWzMtH3xWxXylm0ywYaGlcCLmXUxxEJEhou5Wnm1v2qGY9HrIuI1DeP3LX7Cm97Tm SiBvL6zyrvJ8mOOOaReV3H90uFcsjCF6roe1AskNShUmfD9Qi0O9DiB50Sf1UYqrMI0YRlM2yO+Y s8ncApep2iD9ce1Td4mSUJbtuwviVYmUVOPcW+dISFT2IR4zycUACeBzHaD9UWCBJaJKk8c4NNLI 3ylH6FjAGft5++vRach9WagtSkTp5eIisMsTLBgVeFBhz5kXbyVcpljFGVrijRFqYFjA6zh5YheR YjOCUlzLzXnRZHz+FO2ARtbC/sOYFmIDS9IlwDbQTuopJl99DEKBpND/YPzyspXaScHRflizrU5E CtLiV1UFLKyTL25CB5BLrvSGSWJ1lXfk4Lf9gHyOzvTqgtnKWPCq7ZH0LZj1twyuDI8HGXq+TA38 8ZZnpyZWxIp1/9FXeEzaJDOU9sF8Vd/QLWLw9lT4CXdzfNnAGClUSPx7sjzfi8HKaxr0zv8UseXA 1b2NiQ2R0OkltG0/T5ZxQM1zzNSqeCjOjEiXUGr5IJ1URgf9MqEu+FwO+vxD9rCaemlu8pAwPrNU SxLogvFLD+4bO+VFFWXvAqqr5iA6PNPD7KwS+kd8Qoel/seHYKVJNoWMOiFGYKAcnhUZCd4edeKj Y1GYgXNOQy5YIf9YMFzauWXKgpxmO1Xy4hAqwx9wlVAOSWg76FselOr1QALc9ch8roOYJ6A+8q2o 9peI5ckt1wWG49U+3zA7eeygT2caYjbUpxwJUmChobPMJI7C05DyE+Z2dGgmfXyIOaUMPK9FY0eF PJMPXVHRcmVcrI4B7+Gizh9AmzhnOSIQurHYsQANv1xs4O7j1IMT/E5y6mi5V0u1kL79tsRwjpIF f+iYJc4vJ5FrCuqbCA8YM3ad5WqTlIlQ0Fj2vCh00boPZMiIfTmGPsMvd7smIIQohun+DJCDhKPC mjioJY6DAuAa4jATw9X5VXt9uV1K3Y2a2ui8b9StrFpP55F2e4hGTcVBKaWgO2sz0gffvtx40rt+ 91WngnxBrGMRJ3LFExc0eKFSzf1o5DdzaUjVQ0+iTgcjHKIv3vgvw3v8+uBI0+QdNjkQw9eWk5rp 9SEhyhZ8th89yJYf1JQN+n9w89rdsOa6gFNOppliwKCGWL1HSKL2zizVc9HOgrSeCuGmk0izuvVy DX7+yLJhZAlFE5kmVss3imKzoKpa0tyNvtdKJh1VAoRYKdzYcGhuGFUvLfkwGD/RX2Ogl2Wam7+W FlOSYqdpmv5eXGJF2Z5E62E1Iovp4WEq5Il6ZR9djcvgGhTo1xbF0ZQaD/aN2KYkCs2EPCgono7D YPXTgopvqlJojSvfII3T2CO56iG0Uuw2Pgg5iBPYy9c8EhDVOkF45i0JDwblXN5bKyhYAFDpz6Kx t3PHMJBk9iEOCr2pCGcxBXhdVJEDyNJjRRoEIyJ4AwoBWpI85BsVliExl9U0hy5rHiLYVt/NxjdI FVPG37rtKT6LVF61ilF7BkcdhtBRQk26DHnohPCnJBBIEklBmCQS234qaO4r1KOWohN698VQQ4Mm Uj1bo6M6hOhwG9WbbVnu5B2+kJ8rUsxGsgVgptUlER7ApdPGbGKMT8/SlXV2rcJeKFKORplgZv2W 2LYex9FaBDLRGnqYh9iEozj9ABX25wlf0WoEJhU+lLgYQU6ONgxGBH3tspyzQigtEmxmyBqPqNqN oj0i5Tk786hS66FKoZTb858mKUuUpEAqcUhad2jNeQ+FiiPMZS+PpzEPhinSdP24DpXC3FUsVXZb mqBBCqVMrwu25J/4T2pMpVW0sdCiQD1Wl4bD/eaWsjVJOYabVO0wv20WxLU63VvHxGNuniwT5sgz tGl3BkSl3y2BM5t5l5s2JIOxzw5u2INUI5+Lrmrkc+TpqmH2OuQQ/hQR/rz9GQH/7cuhtEI2wXXA 2i90YaQ0Eg82GicLDvBMyPxdfJM6ga0MHZusyQDfITdmwiH3aD2xR839R4vvzsg7reVMqegnjIOs csn06FiggkrbhO1We7UG23jbcXOXu+tuz1HaxeLgi6qRSG8WaTgMoO2g66i6gommP8SEVEXaHe/3 eXlTu0tv3J0brMn6tb8WxVmshYGVvZXFtX/v8uPHD176ydkFW6yWfp5O6kW3iMnp884CZeqlN1xC sJWaUdF0wSp+pJ8YYfaV0wLIrvz/ZdyrSkQpBzK+bQIL4mkBQA67Ob0RojqhqTB1W2yT1bnJiAm9 kWejcmMTrQ11kSiVwLSOTNc0LsuThABVxvPz5BQHxa0+DdlI2kqseyUb4R5FVtjn4bEOKgeR0zeE 4AjKRi2mhcCiEgwlCQ6nZ1df+7/y6zQ/FLEEyuhQMDVCfYtLaqkzKK8rEg7oOWNRKRNuMPdUqsYn fQ61yM1R8jWw1YfdHHUPOQ/NPAL/5uOX54CBzdvUT9l556d8KL/lfs/pqUm9ADSHPM51QiATqzn2 1o1wVt94+0tT3U1UvnAE7EjICm7HNjhUIqAYvJbJgFyKP2MT0/c8iPjlmfoTPZ+bQbP2jWZc1vEQ 7HL3s3E87IBc5t95+mHkwF8Vf8OFMzwT46yWihvqWIYGsVZ0tBCtl5vSSn8qY2ABr41Ebv+/5nU6 lqYFNnWvwjniCzwsCV1ditj6ZNmW6mCJs032R46v268D4UevmS4tP/lxdoegJJqKO/hjpkUh3/j5 aIkS3rEaN1bS5jLdBUPFlxyh8nO7DG3Mk9jsIEl/mkQYd8rMgoLu5qRJpY8/wR+AkbyVTp/0IzFv tmhku2rvQFILsxKMvVX/qcNV1gCxZN0lp/zFNjPv/hPhxkXs8DAPAbTXhgj2/8JyUytRhWtzxMAL 0VC5thEpLhni6vxcc5ZVVYjZGsXo7FFcztnsiyVvAMk/LAHq+jqilRm9EWQ0oAs7upF3n9j63/fC 4Z3kXDBt6UqZcJxXEtP06UMJnXz2LB8VtF7KKoIR4hUz880mE9R4FJazdWZbX03kQiEs9JXwDG2u 0hwB33eWRzL/5BVbsW7XO8k0a1F5i8PoBq6HH9F+8aHw6zWg/TD7trfc/+gkwVeXnXdhBLyUxXKW eWoauLt5N5BV8C/rEPWnljnsKbxPOrf7TL8r6yUz4LgzCZ9rFq03cInOYpvYLOT/+DbDbWrK/RaP ChyCN1fVG4AVGnX/NYL9xUF3lmrSMSBTP3BhzLT6aWnH38i9m3VcyiasOL3tEov1CS1c5HtUeTCG 0tIvAVQHymktywTb1hL65JC28OjFIPow0r7tlRrXajcBfqmfMRdcIvQohK+ilXwcEEMBrols6hee xIkpvllZLNOZPsgRASsrzTRU4RV6DCp6yxWuTR0BtE4QCME6PwUoGlKkc1nxfOOlplG2qEyIsqws 6ERVKbcykbR6RVXeqqK66sjZwVhCXGeBUFNYeJ/jTzYBWXImTUKm/fOwrkDq+PwBlrFN4REimgBk 5rdSr3GYo39KNr7bZLSLCsnZzhqdyEbybzlcqc+hTt38EUIKnjGsy6LmEZIzXGLNP8AISUoWQqUO Yygsxji9KGFB9/U27P93mV1VNi+vDLFxr0B9OTVOCOlGNd/a7FqtAHxBS8enkZc69Xq9Ig3k8jyA dE8E5Syd+nGlN+nrrBqvmOSpb1G4/OSo35wOZBGtilg+dDsH615PaZ0SjvBSE2HDHjU71L5whm6h OLRvs8bH6gyLtE2EAd6yjXqaWrUE39stPfKkkOoOAmgJeI7nbNHaazFAyqBK4mIUKV+xjscPd5fl qHRm/WV/noHcOWVICVvhdJAoHUciC6a5ygVZV7ywROk4b5ULH103vvtxQ4/7NHuHZwCfG2kUEsNS lCvmOarJL2AmppLtmOaElmCbNceK5DqCmYhj8DgrSp3futPbQvVEz7UT7Oy5g0gNavgakbA3TssF sFsEFxlbL2ULpKXwIK4Vb4AQJLXHh//qlbaXhBFU+xeOlOlFtOgqRGKjVjIXWU+NGv3gdIsZKYz1 dC6q5NaqaAt4+aB6j8zxC1dNX7pah2VSt1qCSZBSw8xxjQiFJcXg7R7ds0BQBjcf6/eQBnhIiz0l qIxEHnmN8Aw1dSZVMDuxP6viLNfo/mw6JL3Xwt3pvNU18KZZiH5FlDl/wPngwGMpvhrLDtwSci12 XpP8VQAe7MHvVIhOYT7ZXzpcbAjDffDog6Y8AjYdaGxM30MvgC/ASgfEqvFxS/21uD6VVVYXWMby OMwA19r4tG/MLiRnkAulOdTIGbPZhD80sfe0ySIz7PVciLwp5U72H5QBygIPu0tSWNzyv2IJDFHb 0KBmZDzB/saSGTrxcPS8nKS3MDphm2a5nuGzxrpDDR1KFwAHITsDiAFVjZbAC79msg5Zwo0PvDfS RY2p8TABk8DWzktqyFMm2lkbYlZFq/qzd2NbTCTMCvdn648uwSN3ZjXdiQzzuk4Fp0HL9E5zZTI0 prAq5Aw1d+fTI4NMKo0G9DNRyLvgGmByFxdFfmjcZV4Ayskmg04wBkaKfanmq7oG1OAwug6ojBeG nkVi0cOgM/Dw4jvwEBcwvHWebp3KDuJb4mRMLtyIp/EJVMEYhsDaOywJe7YDGqP5CxAqBzTO10nM j4WSX7s77mLEpkeL5Mnnqm2VF+/OlkyEHaUkTCtIVmnzefQaRDUHivws7bu/0rWaB+adWCHwRXwa rGwwAEzGjnXQv/Dwan1QHftCwkYcooHy9EW3ZS8oaY95bRrVRVlVybaUMBe7lDkqsfo1lZZl87uR gkoLva9CLRtdgc5NHFuR/mlSWNZgNEDzPS/jJDlfplegCleBAYl0wWd9d6YumM04ZeW5V44k2tFF nNPChJ4wtj/lBo2q9xGXfN7/U33Jk8DbqmeMng/Ozr3aDqyEQ1f7JywixWQzmwyD8DFgFyZphMvc PLdX48sabTR+Eo5KDF7OZ3xCMnbbiN2Nf/QYp4Pnsa51mcBmGJIirrxJ2inV0cAsA6S2gkqgnQd5 TiasvjHc1HJBgCS5uNEv91cMIh1kXGq6DmgKLTOoQrY1A7YJOzFHLuWtuH0aQOupgUfEzZ4gLsiw 4UmOGPUhAxeeA+DS3Nl8GURXtLkjdP6d6W== api/sendemail.php 0000644 00000065244 14735711214 0010007 0 ustar 00 <?php //ICB0 72:0 81:3efc ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 SBS== 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 ScWLJ0== api/getpermissionslist.php 0000644 00000015442 14735711214 0012010 0 ustar 00 <?php //ICB0 72:0 81:1441 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 api/gettodoitems.php 0000644 00000034053 14735711214 0010547 0 ustar 00 <?php //ICB0 72:0 81:234b ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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= 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 VV+hjZ+oI3s4PiyRVC7a5x/tAajY api/domainupdatelockingstatus.php 0000644 00000036500 14735711214 0013324 0 ustar 00 <?php //ICB0 72:0 81:26bf ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 FYFfV518TwXKMEGOngTwAL7Td4mx5RQs0h1U= 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 api/getservers.php 0000644 00000112733 14735711214 0010233 0 ustar 00 <?php //ICB0 72:0 81:550d ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 /CTODlznUwMk8V/jI5sCfe2XDJWxNG=== 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 5khysCkfA7Xz+l7Kw9sbCjL9ZQdwG2iJ api/addticketreply.php 0000644 00000117301 14735711214 0011046 0 ustar 00 <?php //ICB0 72:0 81:5ab0 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 HVdFkVqS5FC== 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 5TI/WbKnTKLURBW9Xzrr api/addorder.php 0000644 00000403711 14735711214 0007625 0 ustar 00 <?php //ICB0 72:0 81:11877 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 h6O4opa== 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 api/updatequote.php 0000644 00000103760 14735711214 0010402 0 ustar 00 <?php //ICB0 72:0 81:51de ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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= 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 api/deletequote.php 0000644 00000022440 14735711214 0010355 0 ustar 00 <?php //ICB0 72:0 81:197b ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 lyeS3dt2bXklfDwl03++Ob62HG=== HR+cPqBOkJAM8G857smi4VUGEQrHn9+oZiU/S/qAUwOJMS95+sl4YiE9+/gOzQEod4j866qb/K3m hbO/h2zsBUHxc2Jc+7/0BYcx307M6QiVjNQ9cVWwFne+yZQcLcB34JbDi3Z4TRmfiUTNaafm07g+ ZrSlREKV1dPJiVQ0FNK8aDUprFwp4leF6oAaZY254Ucv5oUc3g9ZNhNKxrVBGSERtjr+CZZG6dJo ZuMqdYKM9RIJCwhteN1zxWGr/bBOquMSN1s5gczNE5YOQVkHf7e8cyF1r5wstp41smA1J0Pq1nov JpWhy09ltFy6EhKO6fnAfRiV4hTpAkwiyH5AYX1BKdAy7udSCBD+9IzKUCvkxiE9MUprPBChRpIz k3Fy7jce/fC0WG0l4opNs5RpivlOVGPO42p7IVF97xgF1bSdEcG6CmPcAkdWc0d8y2iYH7Vh2Moq 4MwoWkQWh9i0YGFQ2CyEu0CGbsajboV+H6JIMel9XznQtQkbesOFz2I+HfAyO4TRmMlgmEcjfLbf NRmgP2/CUCzCc2VRDeFwyE8AyLHiOKrh8RLNvcJ2Wur6Cp7IsL3ZxtvKHfj/ZLDMoWupxTDYWy2r nlmtzZGxvYNQQG/6ERgfZOa19blXDumN2+ZsuhHUeMszi7+QHzjGXPf8v2qJDg8aES2WBInBXfYO ZUi5DHZP5YVnA7wUW8Hz4fnUwTXnjiHY9HLJbu9NNkgNfuIgfbBCc/fMICu6Rw8d2rTDY8WK3Rx6 XLLxRF6xudCMU9LhpOiPR8c5HFaqtfgxfMcK+9K7Y7SDZ6GR9nuNX5hCGcC/Po4Br1NAtDNQtLrl JqwUlpasQNmGuc5NZpwEqhmmkRo+FZdorVoDWOKJz4JQI4c2ppED/yVdX/nH8XrWGS65Nb/pzfjs E5oAzjBcH4HYSaeG3GJYoV4ECfz6mqSckjlrvkFirqGMAeXiY/QL1u/eA7uInWdwKksKzxxRjhB1 +KE7RN9+0tM7tgocz3SYaLlWvjJbfZTVOwrmbmFUhjs9vgO1z7ehHM0sTLsshkkjCLObImuFH/II WUOYa3IbPnNqEij142lfy5s18x658s97hPeUOjC+Z0+lyXNXIOsThxVQwewahwPj15CWctI2Kerk 4b+oBp1Irqv42L+gDKaxfPJn/TKKg3633RDebxi8kr34L4nNHtQeZh3FU3sQD/d+Cjk41brD4lr6 C6mlVhZSYfEmsumsNfK8yTOe/M1mxnQvOnpS5y6ENmEjPzV3WYV19Ioey1CkdnokYxSbLgL0lifa nngnYGCeK9wGlaWjQ4jPXB+PQlczC1gvi0E4XW7RLh7OXU7kR8tyRBNd+qkQHcrIJs1CqCLp/aOJ 11yS+CzyyeLuU5+pL7NH80LRVq+2htQb+0BC2967PbKxI4ZL1exAjNtlf6sVovRmSl1MsVq70QLD w1TtOyQSRl2KVKIx1RhSaco6xLAN4kMCCt9M9TP/7aqCPme57QscomuUwiatQMbmupaDL6re2qb+ RRnHmXhOZ2JMc8Knx4omYTsKz1E9l6X2hFCzYzLZi3vyFZJ3J0T/u28d6umIRm92rpIaSf6RGUTB AZVxLkyV3iwCPfcz1MgumRNWg1lVoyC5XS/IMNj80DDlPfCa2JcxvsND+6qhZjgHzRfAUsMc7zLf DUzN+XUA27oEBicHmT2V22SM/M4Iyp2smNeLnhmAQLhNgm/rIxZXeQQfsRD7/mHxLOjk/Yh8iQr6 zUvGDQed8QY/hUTqCpX2LdFrSn4PzX9Wa94tsKwaWyjsXmhKZUKRr1FvYT/uRHizEYpDGicMwYk2 8dZQW/KNkd4nLhwwx3JK2k1Wqa2HxRDqqXA/99BgDhoyJlMwg2V2mN+QcmxK5mqIz8zHMRob6DiG dkZOC1uA6Or1iBlmyGIiu79LMAXAJ0A1i9PpIvqMk1YcwAyM1rEsHaIE4YRATOizefkyG9C2UrVU bSq00tOglCT0nx5noKfmfqT9MH8Lawmb+3cY7+ulQpaYc9NCe1/4lMS5HESOaAVSYBP28E08goww 26TA918ONF4LLfzMDdYVhYf4QDSWw509ELnQx9Muat9O5DvzmPeDBAWZPXLtyunlXQVJKp6z3034 i6sanRzD/F+ZFV6T9v56N2Lwq7bQCwaLf5ywJQcA1p6wd7g+J9SZ8TD0p3dm1pXyfdnDkLufBLPJ l3N+25f3unMb8c28JmfOXvA3osBUMAtwkXH1o0m9uCE922RPkU4ddBOwXo9RFMKuqBUnymCiVPHJ mKF9wt4M7QwUFs6GzazDEZ+chx85PRrmAwIrXf3g+uXpvpI2PuSKnBjk6CQXEFWwT9t0j5xduvna D+NB1D516Tup0gqiVtmTHJCzNX+YT5xnYXzrnTW3ftQ7i8y9Qr+iSUb6Y4hsJZL223uPOsei5V+e ZSI1VcFN8ybST2PEkbwSSjhDhpqqS1lHMFqEDmQ35AbmW0tAgV3v8y8pMj7GkVZ/8xZtUyQn1eY1 02g1pm7L8KzBD9Cc51CAUsspEgLxSuIaHzmqPVo1nTeMavq6KDAZcuiXzx60x2yqmSMUqR5uKze7 mg6zL7TuXV9Cy84zIfnBDHlbtLP1RljqHJMDkhBB9wR9OwMFaUjNyTSLDey+C62ggHHsm70F3nvD UfQ3l/6kFbh2C7mESDzDAk6BT47Zn1CLxRci6wQGxSybcICqL0+828GLxBn0iZdfKNjPs74YHBLs eflLvOgLgazQ4QpLFmwRQ8z1eX4IykVZGqtapNHb29sd1y4ELevoXV9qBcafRjQ1dUdZlAVrpKpD KbfNVrTgzn12K/IJf2ljfQdse/Mez9bqMahNL2ba1X2Ww9tuSm== api/getmodulequeue.php 0000644 00000051445 14735711214 0011076 0 ustar 00 <?php //ICB0 72:0 81:328e ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 pMs4eZ1l2Di98a5DChHZPdq4 api/applycredit.php 0000644 00000047317 14735711214 0010367 0 ustar 00 <?php //ICB0 72:0 81:2f70 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 sxJ2O2KUm7cqw2mS211o7BEYIekh= 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 MgxbMrnBdGTGeN/giMK= api/domaingetnameservers.php 0000644 00000036327 14735711214 0012270 0 ustar 00 <?php //ICB0 72:0 81:263d ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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= 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 +Bj8qMiP api/sendquote.php 0000644 00000027042 14735711214 0010047 0 ustar 00 <?php //ICB0 72:0 81:1e90 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 s6jb4LPaUKJSiBRyR4K== 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 api/addclient.php 0000644 00000205612 14735711214 0007770 0 ustar 00 <?php //ICB0 72:0 81:94d9 ?><?php //00cb7 // ************************************************************************* // * * // * WHMCS - The Complete Client Management, Billing & Support Solution * // * Copyright (c) WHMCS Ltd. All Rights Reserved, * // * Version:8.8.0 (8.8.0-release.1) * // * BuildId:06fc63b.326 * // * Build Date:20 Sep 2023 * // * * // ************************************************************************* // * * // * Email: info@whmcs.com * // * Website: http://www.whmcs.com * // * * // ************************************************************************* // * * // * This software is furnished under a license and may be used and copied * // * only in accordance with the terms of such license and with the * // * inclusion of the above copyright notice. This software or any other * // * copies thereof may not be provided or otherwise made available to any * // * other person. No title to and ownership of the software is hereby * // * transferred. * // * * // * You may not reverse engineer, decompile, defeat license encryption * // * mechanisms, or disassemble this software product or software product * // * license. WHMCompleteSolution may terminate this license if you don't * // * comply with any of the terms and conditions set forth in our end user * // * license agreement (EULA). In such event, licensee agrees to return * // * licensor or destroy all copies of software upon termination of the * // * license. * // * * // * Please see the EULA file for the full End User License Agreement. * // * * // ************************************************************************* if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199); ?> 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 YdP/LZ24XKPhXB9mUULWToMunhgZyloihw85SHG== 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 index.php 0000644 00000000052 14735711214 0006366 0 ustar 00 <?php header("Location: ../index.php"); ?>