template-tags.php000064400000016416152377334750010054 0ustar00%2$s'; $time_string = sprintf( $time_string, esc_attr( get_the_date( DATE_W3C ) ), esc_html( get_the_date() ) ); echo ''; printf( /* translators: %s: Publish date. */ esc_html__( 'Published %s', 'twentytwentyone' ), $time_string // phpcs:ignore WordPress.Security.EscapeOutput ); echo ''; } } if ( ! function_exists( 'twenty_twenty_one_posted_by' ) ) { /** * Prints HTML with meta information about theme author. * * @since Twenty Twenty-One 1.0 * * @return void */ function twenty_twenty_one_posted_by() { if ( ! get_the_author_meta( 'description' ) && post_type_supports( get_post_type(), 'author' ) ) { echo ''; printf( /* translators: %s: Author name. */ esc_html__( 'By %s', 'twentytwentyone' ), '' ); echo ''; } } } if ( ! function_exists( 'twenty_twenty_one_entry_meta_footer' ) ) { /** * Prints HTML with meta information for the categories, tags and comments. * Footer entry meta is displayed differently in archives and single posts. * * @since Twenty Twenty-One 1.0 * * @return void */ function twenty_twenty_one_entry_meta_footer() { // Early exit if not a post. if ( 'post' !== get_post_type() ) { return; } // Hide meta information on pages. if ( ! is_single() ) { if ( is_sticky() ) { echo '

' . esc_html_x( 'Featured post', 'Label for sticky posts', 'twentytwentyone' ) . '

'; } $post_format = get_post_format(); if ( 'aside' === $post_format || 'status' === $post_format ) { echo '

' . twenty_twenty_one_continue_reading_text() . '

'; // phpcs:ignore WordPress.Security.EscapeOutput } // Posted on. twenty_twenty_one_posted_on(); // Edit post link. edit_post_link( sprintf( /* translators: %s: Post title. Only visible to screen readers. */ esc_html__( 'Edit %s', 'twentytwentyone' ), '' . get_the_title() . '' ), '', '
' ); if ( has_category() || has_tag() ) { echo '
'; $categories_list = get_the_category_list( wp_get_list_item_separator() ); if ( $categories_list ) { printf( /* translators: %s: List of categories. */ '' . esc_html__( 'Categorized as %s', 'twentytwentyone' ) . ' ', $categories_list // phpcs:ignore WordPress.Security.EscapeOutput ); } $tags_list = get_the_tag_list( '', wp_get_list_item_separator() ); if ( $tags_list ) { printf( /* translators: %s: List of tags. */ '' . esc_html__( 'Tagged %s', 'twentytwentyone' ) . '', $tags_list // phpcs:ignore WordPress.Security.EscapeOutput ); } echo '
'; } } else { echo '
'; // Posted on. twenty_twenty_one_posted_on(); // Posted by. twenty_twenty_one_posted_by(); // Edit post link. edit_post_link( sprintf( /* translators: %s: Post title. Only visible to screen readers. */ esc_html__( 'Edit %s', 'twentytwentyone' ), '' . get_the_title() . '' ), '', '' ); echo '
'; if ( has_category() || has_tag() ) { echo '
'; $categories_list = get_the_category_list( wp_get_list_item_separator() ); if ( $categories_list ) { printf( /* translators: %s: List of categories. */ '' . esc_html__( 'Categorized as %s', 'twentytwentyone' ) . ' ', $categories_list // phpcs:ignore WordPress.Security.EscapeOutput ); } $tags_list = get_the_tag_list( '', wp_get_list_item_separator() ); if ( $tags_list ) { printf( /* translators: %s: List of tags. */ '' . esc_html__( 'Tagged %s', 'twentytwentyone' ) . '', $tags_list // phpcs:ignore WordPress.Security.EscapeOutput ); } echo '
'; } } } } if ( ! function_exists( 'twenty_twenty_one_post_thumbnail' ) ) { /** * Displays an optional post thumbnail. * * Wraps the post thumbnail in an anchor element on index views, or a div * element when on single views. * * @since Twenty Twenty-One 1.0 * * @return void */ function twenty_twenty_one_post_thumbnail() { if ( ! twenty_twenty_one_can_show_post_thumbnail() ) { return; } ?>
false ) ); ?>
esc_html__( 'Page', 'twentytwentyone' ) . ' ', 'mid_size' => 0, 'prev_text' => sprintf( '%s %s', is_rtl() ? twenty_twenty_one_get_icon_svg( 'ui', 'arrow_right' ) : twenty_twenty_one_get_icon_svg( 'ui', 'arrow_left' ), wp_kses( __( 'Newer posts', 'twentytwentyone' ), array( 'span' => array( 'class' => array(), ), ) ) ), 'next_text' => sprintf( '%s %s', wp_kses( __( 'Older posts', 'twentytwentyone' ), array( 'span' => array( 'class' => array(), ), ) ), is_rtl() ? twenty_twenty_one_get_icon_svg( 'ui', 'arrow_left' ) : twenty_twenty_one_get_icon_svg( 'ui', 'arrow_right' ) ), ) ); } } template-functions.php000064400000042405152377334750011123 0ustar00'; } } add_action( 'wp_head', 'twenty_twenty_one_pingback_header' ); /** * Remove the `no-js` class from body if JS is supported. * * @since Twenty Twenty-One 1.0 * * @return void */ function twenty_twenty_one_supports_js() { echo ''; } add_action( 'wp_footer', 'twenty_twenty_one_supports_js' ); /** * Changes comment form default fields. * * @since Twenty Twenty-One 1.0 * * @param array $defaults The form defaults. * @return array */ function twenty_twenty_one_comment_form_defaults( $defaults ) { // Adjust height of comment form. $defaults['comment_field'] = preg_replace( '/rows="\d+"/', 'rows="5"', $defaults['comment_field'] ); return $defaults; } add_filter( 'comment_form_defaults', 'twenty_twenty_one_comment_form_defaults' ); /** * Determines if post thumbnail can be displayed. * * @since Twenty Twenty-One 1.0 * * @return bool */ function twenty_twenty_one_can_show_post_thumbnail() { /** * Filters whether post thumbnail can be displayed. * * @since Twenty Twenty-One 1.0 * * @param bool $show_post_thumbnail Whether to show post thumbnail. */ return apply_filters( 'twenty_twenty_one_can_show_post_thumbnail', ! post_password_required() && ! is_attachment() && has_post_thumbnail() ); } /** * Returns the size for avatars used in the theme. * * @since Twenty Twenty-One 1.0 * * @return int */ function twenty_twenty_one_get_avatar_size() { return 60; } /** * Creates continue reading text. * * @since Twenty Twenty-One 1.0 */ function twenty_twenty_one_continue_reading_text() { $continue_reading = sprintf( /* translators: %s: Post title. Only visible to screen readers. */ esc_html__( 'Continue reading %s', 'twentytwentyone' ), the_title( '', '', false ) ); return $continue_reading; } /** * Creates the continue reading link for excerpt. * * @since Twenty Twenty-One 1.0 */ function twenty_twenty_one_continue_reading_link_excerpt() { if ( ! is_admin() ) { return '… ' . twenty_twenty_one_continue_reading_text() . ''; } } // Filter the excerpt more link. add_filter( 'excerpt_more', 'twenty_twenty_one_continue_reading_link_excerpt' ); /** * Creates the continue reading link. * * @since Twenty Twenty-One 1.0 */ function twenty_twenty_one_continue_reading_link() { if ( ! is_admin() ) { return ''; } } // Filter the content more link. add_filter( 'the_content_more_link', 'twenty_twenty_one_continue_reading_link' ); if ( ! function_exists( 'twenty_twenty_one_post_title' ) ) { /** * Adds a title to posts and pages that are missing titles. * * @since Twenty Twenty-One 1.0 * * @param string $title The title. * @return string */ function twenty_twenty_one_post_title( $title ) { return '' === $title ? esc_html_x( 'Untitled', 'Added to posts and pages that are missing titles', 'twentytwentyone' ) : $title; } } add_filter( 'the_title', 'twenty_twenty_one_post_title' ); /** * Gets the SVG code for a given icon. * * @since Twenty Twenty-One 1.0 * * @param string $group The icon group. * @param string $icon The icon. * @param int $size The icon size in pixels. * @return string */ function twenty_twenty_one_get_icon_svg( $group, $icon, $size = 24 ) { return Twenty_Twenty_One_SVG_Icons::get_svg( $group, $icon, $size ); } /** * Changes the default navigation arrows to svg icons * * @since Twenty Twenty-One 1.0 * * @param string $calendar_output The generated HTML of the calendar. * @return string */ function twenty_twenty_one_change_calendar_nav_arrows( $calendar_output ) { $calendar_output = str_replace( '« ', is_rtl() ? twenty_twenty_one_get_icon_svg( 'ui', 'arrow_right' ) : twenty_twenty_one_get_icon_svg( 'ui', 'arrow_left' ), $calendar_output ); $calendar_output = str_replace( ' »', is_rtl() ? twenty_twenty_one_get_icon_svg( 'ui', 'arrow_left' ) : twenty_twenty_one_get_icon_svg( 'ui', 'arrow_right' ), $calendar_output ); return $calendar_output; } add_filter( 'get_calendar', 'twenty_twenty_one_change_calendar_nav_arrows' ); /** * Get custom CSS. * * Return CSS for non-latin language, if available, or null * * @since Twenty Twenty-One 1.0 * * @param string $type Whether to return CSS for the "front-end", "block-editor", or "classic-editor". * @return string */ function twenty_twenty_one_get_non_latin_css( $type = 'front-end' ) { // Fetch site locale. $locale = get_bloginfo( 'language' ); /** * Filters the fallback fonts for non-latin languages. * * @since Twenty Twenty-One 1.0 * * @param array $font_family An array of locales and font families. */ $font_family = apply_filters( 'twenty_twenty_one_get_localized_font_family_types', array( // Arabic. 'ar' => array( 'Tahoma', 'Arial', 'sans-serif' ), 'ary' => array( 'Tahoma', 'Arial', 'sans-serif' ), 'azb' => array( 'Tahoma', 'Arial', 'sans-serif' ), 'ckb' => array( 'Tahoma', 'Arial', 'sans-serif' ), 'fa-IR' => array( 'Tahoma', 'Arial', 'sans-serif' ), 'haz' => array( 'Tahoma', 'Arial', 'sans-serif' ), 'ps' => array( 'Tahoma', 'Arial', 'sans-serif' ), // Chinese Simplified (China) - Noto Sans SC. 'zh-CN' => array( '\'PingFang SC\'', '\'Helvetica Neue\'', '\'Microsoft YaHei New\'', '\'STHeiti Light\'', 'sans-serif' ), // Chinese Traditional (Taiwan) - Noto Sans TC. 'zh-TW' => array( '\'PingFang TC\'', '\'Helvetica Neue\'', '\'Microsoft YaHei New\'', '\'STHeiti Light\'', 'sans-serif' ), // Chinese (Hong Kong) - Noto Sans HK. 'zh-HK' => array( '\'PingFang HK\'', '\'Helvetica Neue\'', '\'Microsoft YaHei New\'', '\'STHeiti Light\'', 'sans-serif' ), // Cyrillic. 'bel' => array( '\'Helvetica Neue\'', 'Helvetica', '\'Segoe UI\'', 'Arial', 'sans-serif' ), 'bg-BG' => array( '\'Helvetica Neue\'', 'Helvetica', '\'Segoe UI\'', 'Arial', 'sans-serif' ), 'kk' => array( '\'Helvetica Neue\'', 'Helvetica', '\'Segoe UI\'', 'Arial', 'sans-serif' ), 'mk-MK' => array( '\'Helvetica Neue\'', 'Helvetica', '\'Segoe UI\'', 'Arial', 'sans-serif' ), 'mn' => array( '\'Helvetica Neue\'', 'Helvetica', '\'Segoe UI\'', 'Arial', 'sans-serif' ), 'ru-RU' => array( '\'Helvetica Neue\'', 'Helvetica', '\'Segoe UI\'', 'Arial', 'sans-serif' ), 'sah' => array( '\'Helvetica Neue\'', 'Helvetica', '\'Segoe UI\'', 'Arial', 'sans-serif' ), 'sr-RS' => array( '\'Helvetica Neue\'', 'Helvetica', '\'Segoe UI\'', 'Arial', 'sans-serif' ), 'tt-RU' => array( '\'Helvetica Neue\'', 'Helvetica', '\'Segoe UI\'', 'Arial', 'sans-serif' ), 'uk' => array( '\'Helvetica Neue\'', 'Helvetica', '\'Segoe UI\'', 'Arial', 'sans-serif' ), // Devanagari. 'bn-BD' => array( 'Arial', 'sans-serif' ), 'hi-IN' => array( 'Arial', 'sans-serif' ), 'mr' => array( 'Arial', 'sans-serif' ), 'ne-NP' => array( 'Arial', 'sans-serif' ), // Greek. 'el' => array( '\'Helvetica Neue\', Helvetica, Arial, sans-serif' ), // Gujarati. 'gu' => array( 'Arial', 'sans-serif' ), // Hebrew. 'he-IL' => array( '\'Arial Hebrew\'', 'Arial', 'sans-serif' ), // Japanese. 'ja' => array( 'sans-serif' ), // Korean. 'ko-KR' => array( '\'Apple SD Gothic Neo\'', '\'Malgun Gothic\'', '\'Nanum Gothic\'', 'Dotum', 'sans-serif' ), // Thai. 'th' => array( '\'Sukhumvit Set\'', '\'Helvetica Neue\'', 'Helvetica', 'Arial', 'sans-serif' ), // Vietnamese. 'vi' => array( '\'Libre Franklin\'', 'sans-serif' ), ) ); // Return if the selected language has no fallback fonts. if ( empty( $font_family[ $locale ] ) ) { return ''; } /** * Filters the elements to apply fallback fonts to. * * @since Twenty Twenty-One 1.0 * * @param array $elements An array of elements for "front-end", "block-editor", or "classic-editor". */ $elements = apply_filters( 'twenty_twenty_one_get_localized_font_family_elements', array( 'front-end' => array( 'body', 'input', 'textarea', 'button', '.button', '.faux-button', '.wp-block-button__link', '.wp-block-file__button', '.has-drop-cap:not(:focus)::first-letter', '.entry-content .wp-block-archives', '.entry-content .wp-block-categories', '.entry-content .wp-block-cover-image', '.entry-content .wp-block-latest-comments', '.entry-content .wp-block-latest-posts', '.entry-content .wp-block-pullquote', '.entry-content .wp-block-quote.is-large', '.entry-content .wp-block-quote.is-style-large', '.entry-content .wp-block-archives *', '.entry-content .wp-block-categories *', '.entry-content .wp-block-latest-posts *', '.entry-content .wp-block-latest-comments *', '.entry-content p', '.entry-content ol', '.entry-content ul', '.entry-content dl', '.entry-content dt', '.entry-content cite', '.entry-content figcaption', '.entry-content .wp-caption-text', '.comment-content p', '.comment-content ol', '.comment-content ul', '.comment-content dl', '.comment-content dt', '.comment-content cite', '.comment-content figcaption', '.comment-content .wp-caption-text', '.widget_text p', '.widget_text ol', '.widget_text ul', '.widget_text dl', '.widget_text dt', '.widget-content .rssSummary', '.widget-content cite', '.widget-content figcaption', '.widget-content .wp-caption-text' ), 'block-editor' => array( '.editor-styles-wrapper > *', '.editor-styles-wrapper p', '.editor-styles-wrapper ol', '.editor-styles-wrapper ul', '.editor-styles-wrapper dl', '.editor-styles-wrapper dt', '.editor-post-title__block .editor-post-title__input', '.editor-styles-wrapper .wp-block h1', '.editor-styles-wrapper .wp-block h2', '.editor-styles-wrapper .wp-block h3', '.editor-styles-wrapper .wp-block h4', '.editor-styles-wrapper .wp-block h5', '.editor-styles-wrapper .wp-block h6', '.editor-styles-wrapper .has-drop-cap:not(:focus)::first-letter', '.editor-styles-wrapper cite', '.editor-styles-wrapper figcaption', '.editor-styles-wrapper .wp-caption-text' ), 'classic-editor' => array( 'body#tinymce.wp-editor', 'body#tinymce.wp-editor p', 'body#tinymce.wp-editor ol', 'body#tinymce.wp-editor ul', 'body#tinymce.wp-editor dl', 'body#tinymce.wp-editor dt', 'body#tinymce.wp-editor figcaption', 'body#tinymce.wp-editor .wp-caption-text', 'body#tinymce.wp-editor .wp-caption-dd', 'body#tinymce.wp-editor cite', 'body#tinymce.wp-editor table' ), ) ); // Return if the specified type doesn't exist. if ( empty( $elements[ $type ] ) ) { return ''; } // Include file if function doesn't exist. if ( ! function_exists( 'twenty_twenty_one_generate_css' ) ) { require_once get_theme_file_path( 'inc/custom-css.php' ); // phpcs:ignore WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound } // Return the specified styles. return twenty_twenty_one_generate_css( // @phpstan-ignore-line. implode( ',', $elements[ $type ] ), 'font-family', implode( ',', $font_family[ $locale ] ), null, null, false ); } /** * Print the first instance of a block in the content, and then break away. * * @since Twenty Twenty-One 1.0 * * @param string $block_name The full block type name, or a partial match. * Example: `core/image`, `core-embed/*`. * @param string|null $content The content to search in. Use null for get_the_content(). * @param int $instances How many instances of the block will be printed (max). Default 1. * @return bool Returns true if a block was located & printed, otherwise false. */ function twenty_twenty_one_print_first_instance_of_block( $block_name, $content = null, $instances = 1 ) { $instances_count = 0; $blocks_content = ''; if ( ! $content ) { $content = get_the_content(); } // Parse blocks in the content. $blocks = parse_blocks( $content ); // Loop blocks. foreach ( $blocks as $block ) { // Sanity check. if ( ! isset( $block['blockName'] ) ) { continue; } // Check if this the block matches the $block_name. $is_matching_block = false; // If the block ends with *, try to match the first portion. if ( '*' === $block_name[-1] ) { $is_matching_block = 0 === strpos( $block['blockName'], rtrim( $block_name, '*' ) ); } else { $is_matching_block = $block_name === $block['blockName']; } if ( $is_matching_block ) { // Increment count. $instances_count++; // Add the block HTML. $blocks_content .= render_block( $block ); // Break the loop if the $instances count was reached. if ( $instances_count >= $instances ) { break; } } } if ( $blocks_content ) { /** This filter is documented in wp-includes/post-template.php */ echo apply_filters( 'the_content', $blocks_content ); // phpcs:ignore WordPress.Security.EscapeOutput return true; } return false; } /** * Retrieve protected post password form content. * * @since Twenty Twenty-One 1.0 * @since Twenty Twenty-One 1.4 Corrected parameter name for `$output`, * added the `$post` parameter. * * @param string $output The password form HTML output. * @param int|WP_Post $post Optional. Post ID or WP_Post object. Default is global $post. * @return string HTML content for password form for password protected post. */ function twenty_twenty_one_password_form( $output, $post = 0 ) { $post = get_post( $post ); $label = 'pwbox-' . ( empty( $post->ID ) ? wp_rand() : $post->ID ); $output = '

' . esc_html__( 'This content is password protected. Please enter a password to view.', 'twentytwentyone' ) . '

'; return $output; } add_filter( 'the_password_form', 'twenty_twenty_one_password_form', 10, 2 ); /** * Filters the list of attachment image attributes. * * @since Twenty Twenty-One 1.0 * * @param string[] $attr Array of attribute values for the image markup, keyed by attribute name. * See wp_get_attachment_image(). * @param WP_Post $attachment Image attachment post. * @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 string[] The filtered attributes for the image markup. */ function twenty_twenty_one_get_attachment_image_attributes( $attr, $attachment, $size ) { if ( is_admin() ) { return $attr; } if ( isset( $attr['class'] ) && false !== strpos( $attr['class'], 'custom-logo' ) ) { return $attr; } $width = false; $height = false; if ( is_array( $size ) ) { $width = (int) $size[0]; $height = (int) $size[1]; } elseif ( $attachment && is_object( $attachment ) && $attachment->ID ) { $meta = wp_get_attachment_metadata( $attachment->ID ); if ( isset( $meta['width'] ) && isset( $meta['height'] ) ) { $width = (int) $meta['width']; $height = (int) $meta['height']; } } if ( $width && $height ) { // Add style. $attr['style'] = isset( $attr['style'] ) ? $attr['style'] : ''; $attr['style'] = 'width:100%;height:' . round( 100 * $height / $width, 2 ) . '%;max-width:' . $width . 'px;' . $attr['style']; } return $attr; } add_filter( 'wp_get_attachment_image_attributes', 'twenty_twenty_one_get_attachment_image_attributes', 10, 3 ); back-compat.php000064400000004654152377334750007467 0ustar00

'; printf( /* translators: %s: WordPress Version. */ esc_html__( 'This theme requires WordPress 5.3 or newer. You are running version %s. Please upgrade.', 'twentytwentyone' ), esc_html( $GLOBALS['wp_version'] ) ); echo '

'; } /** * Prevents the Customizer from being loaded on WordPress versions prior to 5.3. * * @since Twenty Twenty-One 1.0 * * @global string $wp_version WordPress version. * * @return void */ function twenty_twenty_one_customize() { wp_die( sprintf( /* translators: %s: WordPress Version. */ esc_html__( 'This theme requires WordPress 5.3 or newer. You are running version %s. Please upgrade.', 'twentytwentyone' ), esc_html( $GLOBALS['wp_version'] ) ), '', array( 'back_link' => true, ) ); } add_action( 'load-customize.php', 'twenty_twenty_one_customize' ); /** * Prevents the Theme Preview from being loaded on WordPress versions prior to 5.3. * * @since Twenty Twenty-One 1.0 * * @global string $wp_version WordPress version. * * @return void */ function twenty_twenty_one_preview() { if ( isset( $_GET['preview'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification wp_die( sprintf( /* translators: %s: WordPress Version. */ esc_html__( 'This theme requires WordPress 5.3 or newer. You are running version %s. Please upgrade.', 'twentytwentyone' ), esc_html( $GLOBALS['wp_version'] ) ) ); } } add_action( 'template_redirect', 'twenty_twenty_one_preview' ); customizer.php000064400000015305152377334750007505 0ustar00get_setting( 'blogname' )->transport = 'postMessage'; $wp_customize->get_setting( 'blogdescription' )->transport = 'postMessage'; $wp_customize->get_setting( 'header_textcolor' )->transport = 'postMessage'; $wp_customize->selective_refresh->add_partial( 'blogname', array( 'selector' => '.site-title a', 'render_callback' => 'twentyseventeen_customize_partial_blogname', ) ); $wp_customize->selective_refresh->add_partial( 'blogdescription', array( 'selector' => '.site-description', 'render_callback' => 'twentyseventeen_customize_partial_blogdescription', ) ); /** * Custom colors. */ $wp_customize->add_setting( 'colorscheme', array( 'default' => 'light', 'transport' => 'postMessage', 'sanitize_callback' => 'twentyseventeen_sanitize_colorscheme', ) ); $wp_customize->add_setting( 'colorscheme_hue', array( 'default' => 250, 'transport' => 'postMessage', 'sanitize_callback' => 'absint', // The hue is stored as a positive integer. ) ); $wp_customize->add_control( 'colorscheme', array( 'type' => 'radio', 'label' => __( 'Color Scheme', 'twentyseventeen' ), 'choices' => array( 'light' => __( 'Light', 'twentyseventeen' ), 'dark' => __( 'Dark', 'twentyseventeen' ), 'custom' => __( 'Custom', 'twentyseventeen' ), ), 'section' => 'colors', 'priority' => 5, ) ); $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'colorscheme_hue', array( 'mode' => 'hue', 'section' => 'colors', 'priority' => 6, ) ) ); /** * Theme options. */ $wp_customize->add_section( 'theme_options', array( 'title' => __( 'Theme Options', 'twentyseventeen' ), 'priority' => 130, // Before Additional CSS. ) ); $wp_customize->add_setting( 'page_layout', array( 'default' => 'two-column', 'sanitize_callback' => 'twentyseventeen_sanitize_page_layout', 'transport' => 'postMessage', ) ); $wp_customize->add_control( 'page_layout', array( 'label' => __( 'Page Layout', 'twentyseventeen' ), 'section' => 'theme_options', 'type' => 'radio', 'description' => __( 'When the two-column layout is assigned, the page title is in one column and content is in the other.', 'twentyseventeen' ), 'choices' => array( 'one-column' => __( 'One Column', 'twentyseventeen' ), 'two-column' => __( 'Two Column', 'twentyseventeen' ), ), 'active_callback' => 'twentyseventeen_is_view_with_layout_option', ) ); /** * Filter number of front page sections in Twenty Seventeen. * * @since Twenty Seventeen 1.0 * * @param int $num_sections Number of front page sections. */ $num_sections = apply_filters( 'twentyseventeen_front_page_sections', 4 ); // Create a setting and control for each of the sections available in the theme. for ( $i = 1; $i < ( 1 + $num_sections ); $i++ ) { $wp_customize->add_setting( 'panel_' . $i, array( 'default' => false, 'sanitize_callback' => 'absint', 'transport' => 'postMessage', ) ); $wp_customize->add_control( 'panel_' . $i, array( /* translators: %d is the front page section number */ 'label' => sprintf( __( 'Front Page Section %d Content', 'twentyseventeen' ), $i ), 'description' => ( 1 !== $i ? '' : __( 'Select pages to feature in each area from the dropdowns. Add an image to a section by setting a featured image in the page editor. Empty sections will not be displayed.', 'twentyseventeen' ) ), 'section' => 'theme_options', 'type' => 'dropdown-pages', 'allow_addition' => true, 'active_callback' => 'twentyseventeen_is_static_front_page', ) ); $wp_customize->selective_refresh->add_partial( 'panel_' . $i, array( 'selector' => '#panel' . $i, 'render_callback' => 'twentyseventeen_front_page_section', 'container_inclusive' => true, ) ); } } add_action( 'customize_register', 'twentyseventeen_customize_register' ); /** * Sanitize the page layout options. * * @param string $input Page layout. */ function twentyseventeen_sanitize_page_layout( $input ) { $valid = array( 'one-column' => __( 'One Column', 'twentyseventeen' ), 'two-column' => __( 'Two Column', 'twentyseventeen' ), ); if ( array_key_exists( $input, $valid ) ) { return $input; } return ''; } /** * Sanitize the colorscheme. * * @param string $input Color scheme. */ function twentyseventeen_sanitize_colorscheme( $input ) { $valid = array( 'light', 'dark', 'custom' ); if ( in_array( $input, $valid, true ) ) { return $input; } return 'light'; } /** * Render the site title for the selective refresh partial. * * @since Twenty Seventeen 1.0 * @see twentyseventeen_customize_register() * * @return void */ function twentyseventeen_customize_partial_blogname() { bloginfo( 'name' ); } /** * Render the site tagline for the selective refresh partial. * * @since Twenty Seventeen 1.0 * @see twentyseventeen_customize_register() * * @return void */ function twentyseventeen_customize_partial_blogdescription() { bloginfo( 'description' ); } /** * Return whether we're previewing the front page and it's a static page. */ function twentyseventeen_is_static_front_page() { return ( is_front_page() && ! is_home() ); } /** * Return whether we're on a view that supports a one or two column layout. */ function twentyseventeen_is_view_with_layout_option() { // This option is available on all pages. It's also available on archives when there isn't a sidebar. return ( is_page() || ( is_archive() && ! is_active_sidebar( 'sidebar-1' ) ) ); } /** * Bind JS handlers to instantly live-preview changes. */ function twentyseventeen_customize_preview_js() { wp_enqueue_script( 'twentyseventeen-customize-preview', get_theme_file_uri( '/assets/js/customize-preview.js' ), array( 'customize-preview' ), '1.0', true ); } add_action( 'customize_preview_init', 'twentyseventeen_customize_preview_js' ); /** * Load dynamic logic for the customizer controls area. */ function twentyseventeen_panels_js() { wp_enqueue_script( 'twentyseventeen-customize-controls', get_theme_file_uri( '/assets/js/customize-controls.js' ), array(), '1.0', true ); } add_action( 'customize_controls_enqueue_scripts', 'twentyseventeen_panels_js' ); icon-functions.php000064400000015716152377334750010245 0ustar00 '', 'title' => '', 'desc' => '', 'fallback' => false, ); // Parse args. $args = wp_parse_args( $args, $defaults ); // Set aria hidden. $aria_hidden = ' aria-hidden="true"'; // Set ARIA. $aria_labelledby = ''; /* * Twenty Seventeen doesn't use the SVG title or description attributes; non-decorative icons are described with .screen-reader-text. * * However, child themes can use the title and description to add information to non-decorative SVG icons to improve accessibility. * * Example 1 with title: 'arrow-right', 'title' => __( 'This is the title', 'textdomain' ) ) ); ?> * * Example 2 with title and description: 'arrow-right', 'title' => __( 'This is the title', 'textdomain' ), 'desc' => __( 'This is the description', 'textdomain' ) ) ); ?> * * See https://www.paciellogroup.com/blog/2013/12/using-aria-enhance-svg-accessibility/. */ if ( $args['title'] ) { $aria_hidden = ''; $unique_id = twentyseventeen_unique_id(); $aria_labelledby = ' aria-labelledby="title-' . $unique_id . '"'; if ( $args['desc'] ) { $aria_labelledby = ' aria-labelledby="title-' . $unique_id . ' desc-' . $unique_id . '"'; } } // Begin SVG markup. $svg = ''; // Display the title. if ( $args['title'] ) { $svg .= '' . esc_html( $args['title'] ) . ''; // Display the desc only if the title is already set. if ( $args['desc'] ) { $svg .= '' . esc_html( $args['desc'] ) . ''; } } /* * Display the icon. * * The whitespace around `` is intentional - it is a work around to a keyboard navigation bug in Safari 10. * * See https://core.trac.wordpress.org/ticket/38387. */ $svg .= ' '; // Add some markup to use as a fallback for browsers that do not support SVGs. if ( $args['fallback'] ) { $svg .= ''; } $svg .= ''; return $svg; } /** * Display SVG icons in social links menu. * * @param string $item_output The menu item output. * @param WP_Post $item Menu item object. * @param int $depth Depth of the menu. * @param array $args wp_nav_menu() arguments. * @return string $item_output The menu item output with social icon. */ function twentyseventeen_nav_menu_social_icons( $item_output, $item, $depth, $args ) { // Get supported social icons. $social_icons = twentyseventeen_social_links_icons(); // Change SVG icon inside social links menu if there is supported URL. if ( 'social' === $args->theme_location ) { foreach ( $social_icons as $attr => $value ) { if ( false !== strpos( $item_output, $attr ) ) { $item_output = str_replace( $args->link_after, '' . twentyseventeen_get_svg( array( 'icon' => esc_attr( $value ) ) ), $item_output ); } } } return $item_output; } add_filter( 'walker_nav_menu_start_el', 'twentyseventeen_nav_menu_social_icons', 10, 4 ); /** * Add dropdown icon if menu item has children. * * @param string $title The menu item's title. * @param WP_Post $item The current menu item. * @param array $args An array of wp_nav_menu() arguments. * @param int $depth Depth of menu item. Used for padding. * @return string $title The menu item's title with dropdown icon. */ function twentyseventeen_dropdown_icon_to_menu_link( $title, $item, $args, $depth ) { if ( 'top' === $args->theme_location ) { foreach ( $item->classes as $value ) { if ( 'menu-item-has-children' === $value || 'page_item_has_children' === $value ) { $title = $title . twentyseventeen_get_svg( array( 'icon' => 'angle-down' ) ); } } } return $title; } add_filter( 'nav_menu_item_title', 'twentyseventeen_dropdown_icon_to_menu_link', 10, 4 ); /** * Returns an array of supported social links (URL and icon name). * * @return array $social_links_icons */ function twentyseventeen_social_links_icons() { // Supported social links icons. $social_links_icons = array( 'behance.net' => 'behance', 'codepen.io' => 'codepen', 'deviantart.com' => 'deviantart', 'digg.com' => 'digg', 'docker.com' => 'dockerhub', 'dribbble.com' => 'dribbble', 'dropbox.com' => 'dropbox', 'facebook.com' => 'facebook', 'flickr.com' => 'flickr', 'foursquare.com' => 'foursquare', 'plus.google.com' => 'google-plus', 'github.com' => 'github', 'instagram.com' => 'instagram', 'linkedin.com' => 'linkedin', 'mailto:' => 'envelope-o', 'medium.com' => 'medium', 'pinterest.com' => 'pinterest-p', 'pscp.tv' => 'periscope', 'getpocket.com' => 'get-pocket', 'reddit.com' => 'reddit-alien', 'skype.com' => 'skype', 'skype:' => 'skype', 'slideshare.net' => 'slideshare', 'snapchat.com' => 'snapchat-ghost', 'soundcloud.com' => 'soundcloud', 'spotify.com' => 'spotify', 'stumbleupon.com' => 'stumbleupon', 'tumblr.com' => 'tumblr', 'twitch.tv' => 'twitch', 'twitter.com' => 'twitter', 'vimeo.com' => 'vimeo', 'vine.co' => 'vine', 'vk.com' => 'vk', 'wordpress.org' => 'wordpress', 'wordpress.com' => 'wordpress', 'yelp.com' => 'yelp', 'youtube.com' => 'youtube', ); /** * Filter Twenty Seventeen social links icons. * * @since Twenty Seventeen 1.0 * * @param array $social_links_icons Array of social links icons. */ return apply_filters( 'twentyseventeen_social_links_icons', $social_links_icons ); } color-patterns.php000064400000053734152377334750010265 0ustar00 .comment-body > .comment-meta > .comment-author .avatar { border-color: hsl( ' . $hue . ', ' . $reduced_saturation . ', 20% ); /* base: #333; */ } .colors-custom h2, .colors-custom blockquote, .colors-custom input[type="text"], .colors-custom input[type="email"], .colors-custom input[type="url"], .colors-custom input[type="password"], .colors-custom input[type="search"], .colors-custom input[type="number"], .colors-custom input[type="tel"], .colors-custom input[type="range"], .colors-custom input[type="date"], .colors-custom input[type="month"], .colors-custom input[type="week"], .colors-custom input[type="time"], .colors-custom input[type="datetime"], .colors-custom input[type="datetime-local"], .colors-custom input[type="color"], .colors-custom textarea, .colors-custom .site-description, .colors-custom .entry-content blockquote.alignleft, .colors-custom .entry-content blockquote.alignright, .colors-custom .colors-custom .taxonomy-description, .colors-custom .site-info a, .colors-custom .wp-caption, .colors-custom .gallery-caption { color: hsl( ' . $hue . ', ' . $saturation . ', 40% ); /* base: #666; */ } .colors-custom abbr, .colors-custom acronym { border-bottom-color: hsl( ' . $hue . ', ' . $saturation . ', 40% ); /* base: #666; */ } .colors-custom h5, .colors-custom .entry-meta, .colors-custom .entry-meta a, .colors-custom.blog .entry-meta a.post-edit-link, .colors-custom.archive .entry-meta a.post-edit-link, .colors-custom.search .entry-meta a.post-edit-link, .colors-custom .nav-subtitle, .colors-custom .comment-metadata, .colors-custom .comment-metadata a, .colors-custom .no-comments, .colors-custom .comment-awaiting-moderation, .colors-custom .page-numbers.current, .colors-custom .page-links .page-number, .colors-custom .navigation-top .current-menu-item > a, .colors-custom .navigation-top .current_page_item > a, .colors-custom .main-navigation a:hover, .colors-custom .site-content .wp-playlist-light .wp-playlist-current-item .wp-playlist-item-artist { color: hsl( ' . $hue . ', ' . $saturation . ', 46% ); /* base: #767676; */ } .colors-custom button:hover:not( .mejs-container > button ), .colors-custom button:focus, .colors-custom input[type="button"]:hover, .colors-custom input[type="button"]:focus, .colors-custom input[type="submit"]:hover, .colors-custom input[type="submit"]:focus, .colors-custom .entry-footer .edit-link a.post-edit-link:hover, .colors-custom .entry-footer .edit-link a.post-edit-link:focus, .colors-custom .social-navigation a, .colors-custom .prev.page-numbers:focus, .colors-custom .prev.page-numbers:hover, .colors-custom .next.page-numbers:focus, .colors-custom .next.page-numbers:hover, .colors-custom .site-content .wp-playlist-light .wp-playlist-item:hover, .colors-custom .site-content .wp-playlist-light .wp-playlist-item:focus { background: hsl( ' . esc_attr( $hue ) . ', ' . esc_attr( $saturation ) . ', 46% ); /* base: #767676; */ } .colors-custom button.secondary:hover, .colors-custom button.secondary:focus, .colors-custom input[type="reset"]:hover, .colors-custom input[type="reset"]:focus, .colors-custom input[type="button"].secondary:hover, .colors-custom input[type="button"].secondary:focus, .colors-custom input[type="reset"].secondary:hover, .colors-custom input[type="reset"].secondary:focus, .colors-custom input[type="submit"].secondary:hover, .colors-custom input[type="submit"].secondary:focus, .colors-custom hr { background: hsl( ' . $hue . ', ' . $saturation . ', 73% ); /* base: #bbb; */ } .colors-custom input[type="text"], .colors-custom input[type="email"], .colors-custom input[type="url"], .colors-custom input[type="password"], .colors-custom input[type="search"], .colors-custom input[type="number"], .colors-custom input[type="tel"], .colors-custom input[type="range"], .colors-custom input[type="date"], .colors-custom input[type="month"], .colors-custom input[type="week"], .colors-custom input[type="time"], .colors-custom input[type="datetime"], .colors-custom input[type="datetime-local"], .colors-custom input[type="color"], .colors-custom textarea, .colors-custom select, .colors-custom fieldset, .colors-custom .widget .tagcloud a:hover, .colors-custom .widget .tagcloud a:focus, .colors-custom .widget.widget_tag_cloud a:hover, .colors-custom .widget.widget_tag_cloud a:focus, .colors-custom .wp_widget_tag_cloud a:hover, .colors-custom .wp_widget_tag_cloud a:focus { border-color: hsl( ' . $hue . ', ' . $saturation . ', 73% ); /* base: #bbb; */ } .colors-custom thead th { border-bottom-color: hsl( ' . $hue . ', ' . $saturation . ', 73% ); /* base: #bbb; */ } .colors-custom .entry-footer .cat-links .icon, .colors-custom .entry-footer .tags-links .icon { color: hsl( ' . $hue . ', ' . $saturation . ', 73% ); /* base: #bbb; */ } .colors-custom button.secondary, .colors-custom input[type="reset"], .colors-custom input[type="button"].secondary, .colors-custom input[type="reset"].secondary, .colors-custom input[type="submit"].secondary, .colors-custom .prev.page-numbers, .colors-custom .next.page-numbers { background-color: hsl( ' . $hue . ', ' . $saturation . ', 87% ); /* base: #ddd; */ } .colors-custom .widget .tagcloud a, .colors-custom .widget.widget_tag_cloud a, .colors-custom .wp_widget_tag_cloud a { border-color: hsl( ' . $hue . ', ' . $saturation . ', 87% ); /* base: #ddd; */ } .colors-custom.twentyseventeen-front-page article:not(.has-post-thumbnail):not(:first-child), .colors-custom .widget ul li { border-top-color: hsl( ' . $hue . ', ' . $saturation . ', 87% ); /* base: #ddd; */ } .colors-custom .widget ul li { border-bottom-color: hsl( ' . $hue . ', ' . $saturation . ', 87% ); /* base: #ddd; */ } .colors-custom pre, .colors-custom mark, .colors-custom ins { background: hsl( ' . $hue . ', ' . $saturation . ', 93% ); /* base: #eee; */ } .colors-custom .navigation-top, .colors-custom .main-navigation > div > ul, .colors-custom .pagination, .colors-custom .comments-pagination, .colors-custom .entry-footer, .colors-custom .site-footer { border-top-color: hsl( ' . $hue . ', ' . $saturation . ', 93% ); /* base: #eee; */ } .colors-custom .navigation-top, .colors-custom .main-navigation li, .colors-custom .entry-footer, .colors-custom .single-featured-image-header, .colors-custom .site-content .wp-playlist-light .wp-playlist-item, .colors-custom tr { border-bottom-color: hsl( ' . $hue . ', ' . $saturation . ', 93% ); /* base: #eee; */ } .colors-custom .site-content .wp-playlist-light { border-color: hsl( ' . $hue . ', ' . $saturation . ', 93% ); /* base: #eee; */ } .colors-custom .site-header, .colors-custom .single-featured-image-header { background-color: hsl( ' . $hue . ', ' . $saturation . ', 98% ); /* base: #fafafa; */ } .colors-custom button, .colors-custom input[type="button"], .colors-custom input[type="submit"], .colors-custom .entry-footer .edit-link a.post-edit-link, .colors-custom .social-navigation a, .colors-custom .site-content .wp-playlist-light a.wp-playlist-caption:hover, .colors-custom .site-content .wp-playlist-light .wp-playlist-item:hover a, .colors-custom .site-content .wp-playlist-light .wp-playlist-item:focus a, .colors-custom .site-content .wp-playlist-light .wp-playlist-item:hover, .colors-custom .site-content .wp-playlist-light .wp-playlist-item:focus, .colors-custom .prev.page-numbers:focus, .colors-custom .prev.page-numbers:hover, .colors-custom .next.page-numbers:focus, .colors-custom .next.page-numbers:hover, .colors-custom.has-header-image .site-title, .colors-custom.has-header-video .site-title, .colors-custom.has-header-image .site-title a, .colors-custom.has-header-video .site-title a, .colors-custom.has-header-image .site-description, .colors-custom.has-header-video .site-description { color: hsl( ' . $hue . ', ' . $saturation . ', 100% ); /* base: #fff; */ } body.colors-custom, .colors-custom .navigation-top, .colors-custom .main-navigation ul { background: hsl( ' . $hue . ', ' . $saturation . ', 100% ); /* base: #fff; */ } .colors-custom .widget ul li a, .colors-custom .site-footer .widget-area ul li a { -webkit-box-shadow: inset 0 -1px 0 hsl( ' . $hue . ', ' . $saturation . ', 100% ); /* base: rgba(255, 255, 255, 1); */ box-shadow: inset 0 -1px 0 hsl( ' . $hue . ', ' . $saturation . ', 100% ); /* base: rgba(255, 255, 255, 1); */ } .colors-custom .menu-toggle, .colors-custom .menu-toggle:hover, .colors-custom .menu-toggle:focus, .colors-custom .menu .dropdown-toggle, .colors-custom .menu-scroll-down, .colors-custom .menu-scroll-down:hover, .colors-custom .menu-scroll-down:focus { background-color: transparent; } .colors-custom .widget .tagcloud a, .colors-custom .widget .tagcloud a:focus, .colors-custom .widget .tagcloud a:hover, .colors-custom .widget.widget_tag_cloud a, .colors-custom .widget.widget_tag_cloud a:focus, .colors-custom .widget.widget_tag_cloud a:hover, .colors-custom .wp_widget_tag_cloud a, .colors-custom .wp_widget_tag_cloud a:focus, .colors-custom .wp_widget_tag_cloud a:hover, .colors-custom .entry-footer .edit-link a.post-edit-link:focus, .colors-custom .entry-footer .edit-link a.post-edit-link:hover { -webkit-box-shadow: none !important; box-shadow: none !important; } /* Reset non-customizable hover styling for links */ .colors-custom .entry-content a:hover, .colors-custom .entry-content a:focus, .colors-custom .entry-summary a:hover, .colors-custom .entry-summary a:focus, .colors-custom .comment-content a:focus, .colors-custom .comment-content a:hover, .colors-custom .widget a:hover, .colors-custom .widget a:focus, .colors-custom .site-footer .widget-area a:hover, .colors-custom .site-footer .widget-area a:focus, .colors-custom .posts-navigation a:hover, .colors-custom .posts-navigation a:focus, .colors-custom .widget_authors a:hover strong, .colors-custom .widget_authors a:focus strong { -webkit-box-shadow: inset 0 0 0 rgba(0, 0, 0, 0), 0 3px 0 rgba(0, 0, 0, 1); box-shadow: inset 0 0 0 rgba(0, 0, 0, 0), 0 3px 0 rgba(0, 0, 0, 1); } .colors-custom .gallery-item a, .colors-custom .gallery-item a:hover, .colors-custom .gallery-item a:focus { -webkit-box-shadow: none; box-shadow: none; } @media screen and (min-width: 48em) { .colors-custom .nav-links .nav-previous .nav-title .icon, .colors-custom .nav-links .nav-next .nav-title .icon { color: hsl( ' . $hue . ', ' . $saturation . ', 20% ); /* base: #222; */ } .colors-custom .main-navigation li li:hover, .colors-custom .main-navigation li li.focus { background: hsl( ' . $hue . ', ' . $saturation . ', 46% ); /* base: #767676; */ } .colors-custom .navigation-top .menu-scroll-down { color: hsl( ' . $hue . ', ' . $saturation . ', 46% ); /* base: #767676; */; } .colors-custom abbr[title] { border-bottom-color: hsl( ' . $hue . ', ' . $saturation . ', 46% ); /* base: #767676; */; } .colors-custom .main-navigation ul ul { border-color: hsl( ' . $hue . ', ' . $saturation . ', 73% ); /* base: #bbb; */ background: hsl( ' . $hue . ', ' . $saturation . ', 100% ); /* base: #fff; */ } .colors-custom .main-navigation ul li.menu-item-has-children:before, .colors-custom .main-navigation ul li.page_item_has_children:before { border-bottom-color: hsl( ' . $hue . ', ' . $saturation . ', 73% ); /* base: #bbb; */ } .colors-custom .main-navigation ul li.menu-item-has-children:after, .colors-custom .main-navigation ul li.page_item_has_children:after { border-bottom-color: hsl( ' . $hue . ', ' . $saturation . ', 100% ); /* base: #fff; */ } .colors-custom .main-navigation li li.focus > a, .colors-custom .main-navigation li li:focus > a, .colors-custom .main-navigation li li:hover > a, .colors-custom .main-navigation li li a:hover, .colors-custom .main-navigation li li a:focus, .colors-custom .main-navigation li li.current_page_item a:hover, .colors-custom .main-navigation li li.current-menu-item a:hover, .colors-custom .main-navigation li li.current_page_item a:focus, .colors-custom .main-navigation li li.current-menu-item a:focus { color: hsl( ' . $hue . ', ' . $saturation . ', 100% ); /* base: #fff; */ } }'; /** * Filters Twenty Seventeen custom colors CSS. * * @since Twenty Seventeen 1.0 * * @param string $css Base theme colors CSS. * @param int $hue The user's selected color hue. * @param string $saturation Filtered theme color saturation level. */ return apply_filters( 'twentyseventeen_custom_colors_css', $css, $hue, $saturation ); } custom-header.php000064400000010516152377334750010040 0ustar00 get_parent_theme_file_uri( '/assets/images/header.jpg' ), 'width' => 2000, 'height' => 1200, 'flex-height' => true, 'video' => true, 'wp-head-callback' => 'twentyseventeen_header_style', ) ) ); register_default_headers( array( 'default-image' => array( 'url' => '%s/assets/images/header.jpg', 'thumbnail_url' => '%s/assets/images/header.jpg', 'description' => __( 'Default Header Image', 'twentyseventeen' ), ), ) ); } add_action( 'after_setup_theme', 'twentyseventeen_custom_header_setup' ); if ( ! function_exists( 'twentyseventeen_header_style' ) ) : /** * Styles the header image and text displayed on the blog. * * @see twentyseventeen_custom_header_setup(). */ function twentyseventeen_header_style() { $header_text_color = get_header_textcolor(); // If no custom options for text are set, let's bail. // get_header_textcolor() options: add_theme_support( 'custom-header' ) is default, hide text (returns 'blank') or any hex value. if ( get_theme_support( 'custom-header', 'default-text-color' ) === $header_text_color ) { return; } // If we get this far, we have custom styles. Let's do this. ?> ' . __( 'Play background video', 'twentyseventeen' ) . '' . twentyseventeen_get_svg( array( 'icon' => 'play' ) ); $settings['l10n']['pause'] = '' . __( 'Pause background video', 'twentyseventeen' ) . '' . twentyseventeen_get_svg( array( 'icon' => 'pause' ) ); return $settings; } add_filter( 'header_video_settings', 'twentyseventeen_video_controls' ); system_properties.php000064400000003010152377522760011067 0ustar00custom_css(); ?>

shortcode_docs.php000064400000022001152377522760010272 0ustar00 fm_custom_assets(); ?>

[wp_file_manager_admin] ->
[wp_file_manager] ->
[wp_file_manager view="list" lang="en" theme="light" dateformat="d M, Y h:i A" allowed_roles="editor,author" access_folder="wp-content/plugins" write = "true" read = "false" hide_files = "kumar,abc.php" lock_extensions=".php,.css" allowed_operations="upload,download" ban_user_ids="2,3"]
7.1
  • 1. ', 'wp-file-manager'); ?>
  • 2. ', 'wp-file-manager'); ?>
  • 3. ', 'wp-file-manager'); ?>
  • 4. ', 'wp-file-manager'); ?>
  • 5. ', 'wp-file-manager'); ?>
  • 6. ', 'wp-file-manager'); ?>
  • 7. ', 'wp-file-manager'); ?>
  • 8. ', 'wp-file-manager'); ?>
  • 9. ', 'wp-file-manager'); ?>
  • 10. ', 'wp-file-manager'); ?>
  • 11. ', 'wp-file-manager'); ?>
  • 12. ', 'wp-file-manager'); ?>
  • 13. ', 'wp-file-manager'); ?>
  • 14. ', 'wp-file-manager'); ?>
  • 15. ', 'wp-file-manager'); ?>
  • 16. ', 'wp-file-manager'); ?>
  • 17. ', 'wp-file-manager'); ?>
backup.php000064400000033436152377522760006553 0ustar00prefix.'wpfm_backup'; $backups = $wpdb->get_results("select * from ".$fmdb." order by id desc"); $settings = get_option('wp_file_manager_settings'); if(isset($settings['fm_max_packet_allowed'])){ $default_packet_value = intval($settings['fm_max_packet_allowed']*1000000); }else{ $max_allowed_packet = 'max_allowed_packet'; $packet_obj = $wpdb->get_row( $wpdb->prepare( "SHOW SESSION VARIABLES WHERE (variable_name = %s)", $max_allowed_packet ) ); $default_packet_value = intval($packet_obj->Value); } wp_enqueue_style('fm_backup_css', plugins_url('../css/fm-backup.css', __FILE__), '', $this->ver); wp_register_script( "fm_backup", plugins_url('../js/fm-backup.js', __FILE__ ), array(), rand(0,9999) ); wp_localize_script( 'fm_backup', 'fmbackupparams', array( 'ajaxurl' => admin_url('admin-ajax.php'), 'plugin_url' => plugins_url('lib/', __FILE__), 'packet_error_msg' => __('Error: Unable to restore backup because database backup is heavy in size. Please try to increase Maximum allowed size from Preferences settings.','wp-file-manager'), 'delete_backup' => __('Select backup(s) to delete!','wp-file-manager'), 'confirm_del' => __('Are you sure want to remove selected backup(s)?','wp-file-manager'), 'wpfmbackup' => wp_create_nonce( 'wpfmbackup' ), 'wpfmbackupremove' => wp_create_nonce( 'wpfmbackupremove' ), 'wpfmbackuplogs' => wp_create_nonce( 'wpfmbackuplogs' ), 'wpfmbackuprestore' => wp_create_nonce( 'wpfmbackuprestore' ), 'backup_running' => __('Backup is running, please wait','wp-file-manager'), 'restore_running' => __('Restore is running, please wait','wp-file-manager'), 'backup_empty_error' => __('Nothing selected for backup.','wp-file-manager'), 'backup_baseurl' => $backup_baseurl, 'backupall_baseurl' => $backupall_baseurl, 'default_packet_value' => $default_packet_value, ) ); wp_enqueue_script( 'fm_backup' ); ?>

  • :
    ×

    ×

    ×

    ×

    (backup_date));?>)

    >
    backup_date; $compareDate = date("Y-m-d", strtotime($backupNameExp)); $compareDate = strtotime($compareDate); $backupName = date("M d, Y H:i", strtotime($backupNameExp)); ?>
    backup_name.'-'.$backupDir; $dir = $backup_dirname.$bkpName; if(file_exists($dir)) { $backup_count++; if($backupDir == 'db.sql.gz') { $dirName = 'Database'; } else { $dirName = str_replace('.zip','',$backupDir); } $size = filesize($dir); $backup_type = explode('.',$backupDir); $id = (int) $backup->id; ?> (formatSizeUnits($size); ?>) 1){ ?>
    Download All

    settings.php000064400000004626152377522760007145 0ustar00

    logs.php000064400000001677152377522760006254 0ustar00

    images/app-store.png000064400000030743152377522760010460 0ustar00PNG  IHDR,YtEXtSoftwareAdobe ImageReadyqe<iTXtXML:com.adobe.xmp .eIDATx UU{3 ,J""HI ڢfe䂖hPXZ.%j"ZYfTX*Zj *0|睹f̻3ܿcr9;(L^x?n_>n@S  SPQpzz@to-_hik}.h2BGsŨo(nD@2yQI-{-mZ~6 5`֕`:ºu̐!޴.cݶرGB! R.Yzd{w ^U&A' \m]thNWJ2ݸPizTc6Ik@kii]ԱiDЖZ_oP!Ew۔ٶ%,`e,C4h`lGG zqc/9r䣉e\bg6]w?G1/R;Bzr(\0B+~'"ȍLһj{֫mW fC6s,C)sdM;`8ьuYfF 3a„6Hx%ZfMM7xO?#-ϻ,]4͜brY[m;#ҝ!'3nCk|f˭:~ɓ,A7g\{w8z+iNW 4ȴJN9uK݀5=6l9?~;}fٲecx/cs攁ϲ唓O+Vp`ʗSN7l3'o45o-׮]kGmy.52T+!`h%!nj< ޳dɒzm_zw/}s==SM /_|1rd[nrʽ?MŦwseeNpY SOPKg=h^Z[˖-Bٖ=X;9uY4\reX9b1|-ߴYѲ]C"DwCG9uaPXhirX`1^8knXsJ s}VN\ > k ~:8aN=mo *SwECY h}6Zޝ9Տ*Y ȁ\aX*h-0oxȑ#3Z!E@h mX 9z*+ ~\Đ>^ԟMNYݏt `ʔ)f޼y;3S7WKK8pikk+ \P_j9#͜9s~4vۺQO-/|9n}ywkAPV.b:,3uԲYp{z_m6|sg!>_︀0J]fشi̞{in&s;pn$o{k^c>яG?r!wE?#.[#8Œ?l'?[sC`|\pf뭷tNiDk`uQB}ƌc&Nh>hd}W}A4a#PAJU3N 菣\$Cyełu[#X@̨QN;ĕN:5G6W]uy{ߛX44<@KGg3z0$^qx!2|> r?բ7S蕓O>vmS3rTqmt/D_h[X]07' `=S~v/_yNyq!R: 2$Y9Bףŝ (܊={Q鼔&ճ>&ʦn'ʦ><NE܏ NEV~ x˻ >`>p֔! ܩ$f!3|ͽ ߒsܟ*gbP~߬'~LfT?ϻvCC_q|Ё݅^hva2{_ڼU*_r-fرD~`~;eϞ=wsuwE>&*VҢ(1x㍮ 7wR(!0a9ƛ.\\wu~BBJgӟa4il;į|+ͷ-?pu:;ρ">D*Cgw4zy^-\sn@Gu]YƑ'?H'@XK]_ҧ|s|&W^qť?UFFtd+/rG駟Fv~ ^SNT'qd,wϜ9sJk'idf9wdÊ|ڴiJַf֬YkĉKx. {" @W_Y0vm#FD[{" j4l0/t 7_rSEvcWoC[@)ۘ1cڽ#,:eʔȊ9;ѣo8>ГO>=O^G<;K{,k=woI#e˖_ qJSI\ ѵ^Yt_veURA鿣:**gcxC;R(߾VX~ND`߹nh$v+/}*C(EO87v+ &awv7 F%!TPH>>Ozov;?eK.qm*Guz/\ʂ}݁5-'H.;eow]xQCHb. ">}1{i~b1 qp N?\ ed%]z>\^#K o?7Qm9>>*X3f0vva/MorZC{GI EY{)k/ PA /:7_L&Ov oہ/_"MN@ r*v B %!?pgXD!RZ.u~[q)G}tϩPJMADOS3|wv%Y*]B?N x?8,]P?DRxq(dqx~s@oy[J"gߺ5$V ~}P bA\J6 n]" +cUE!J5 hQ>#瞘@pBpL)71XL)7}óp{:9Dv-:%)! $ ڏ~~Ec S<4-%}9,V$t:]x$Wm^V.-܋Z\= Hkz,Y?9܊WJWAѦoy >,VT@JAL28?QesL%px1s9N׿q6vXG66u =FI8|5N[sz?u7P KsrZXK|o"mY 9/9,1$NJNE:$F ̀Gޠ1K,t `/R&@&բbbCCT IǤ^t,3y{J%=@EZEy[r@Qמ ?i<~C/=#Q(Tv`42;:`_P HQ]t3g,0;#WPVFĬB tW(uDJ|EtKqInएcXů& @M1δB-hCBl,i"~DDEޏ1{M~kJH/Jb/};夲i}.>ØBLsXZܠDFgp\:а|l #(΋QډbБ]"@޹s:%"< b=>Nރu}ku|ɠ 8No };qI=\g/9Wk} s͚5lHAG}LB23ImAۤc,"BA}W+@P e 'Jq6a5f.1V19/ˆ/Y*}  +l-]MZ*:9$\JȄHZ>` @ ўH~;|brag0+7\J802JDq~S;+5aqɺqZabHn\;X?01a(p,Tp%?cné0!1HVuK!HK!Xl9LY< ~'i-`2?9E?Ϊ`8hkJ>?D_4C ;X,(#1?t&dt%b aVY`X(gYхT@ D`b4hQ6Je VK;X3O\Zx byvټoD#@okDAs@Cт`|~3.\n2Kds„ebq/m"H}M,&"^pd ȿp-B%y838qŎgVIO7H]EFr"lX\w7nEO>24 .#+/;=҈I&)Ы){ծiL);t[r]2Ϣ[dx^R)=Si"i` 0Ż5F?XNIi(@;"q~n.TSġ rzx4z̈+ }tpkqN=> iʐ9?M c\$*΃I„Aq}I,EJ8Tp@zF%<_4Lz `JKrܽ FhT,̌g5A yo*05R:->MiITֈtWzwWBE +n3XtJ,! li~R]F  .ei  0H99A,K(߳-e}a}9&QoFUbEqwZ7r9k7vj(`1PaF,;*8Tq!FT D7 SY\ʜrJlF_9[6/w}$8<8-ZECZp߉KHїW+DPOr!1%«\^#8høR\ΓYUO.v+yZM>Dg>%fGV'B԰D/PC&#[eF8$" @oe=^|0?:*;t|k_V!xtW=9`5TY,eaq-qm񰚨Wd]HSؖ8϶dʴrDTksv ?JdV0&Nk$c? زm< +b(7JN B*踈@Lu5r-.rr#l9"`5rTm$RFqI "|"\j6h :u3`i1%4Cԝ olxg]:3S}6>EsL8?ޕ"-$ gF;Ln)Z)C"Xbpq}o<[Ї| ĻPQ XYn4eF4TÈH@=݅/{Uo6p@eb!!A3jl;If(L HHfʗ)B8!p L0b<}J wh"$!Z[8D;7T>Į¯vJ%<O"\:} qc[9W# @21pJke~]ӮbQr1.SiPFh{'Չd$Nu>Cdþ[y2:/ZbQyܹ.rܻ8wg=3ҷ^pafL6g2 ٔLÇ\V \gU4)˗/ipW{tק*fΜYN˵կ784 (MPDpZ(э)s%]jXqz7$"qv86<'\2?LK\`b#riZEyE&-K!b.mG|DL{sA:(E  .yS5.1iMFk(`1s.K$Qb+"_ G[B?U"[`7 !~D:e`G׍?*?Ndc),(2hD-zad'd[8/Iı ֲ,7h1jԨ21Y T/<~]}ڂybݏ8XKW^]6VBTrN={v4fW'D+{sjta ͛7սD̈ZY"Ƭ(IOOa0VF"%88D?;h|HE ?pX)Q'!=|:Coa*)e3 ^{UvQxn'^IJĀ9R{du _(,!jU9!GX*LÄ'l(`UCdd0:\02$^8r?-&8>Dg2 N? gCx[VfB)kUć'94 SASu<<"33" MR\rv[,$6:/g@l4`A*ޢk\4bTھJ/PZ)C$Ub0aӉu7'dܹJ}R4%NZIj%eyF9Q:sXh Vz.8Ui3,Riu2iuLP4 =(-Go˯49VQ{m~i(H]m<>Pi"S ioqv4Yr WCo~*Jׇ"I*v~ZJkPZae9KD\qܒb[qPUDSxL:\ +3߈ƍ+mb3b8U@bP\>j: `C0;WD LP$^ @\B 0 )t8A$ c N$ĕv-*SNqI(( 1g u19A:#xVQR ׈~ =R}Pg|BP={;4}цq?,FX;+!EͬY\7Pl`Zj$"#$%+\CB=C-b!NáfV&u SDpビbP>-p 0H[>@>A;|0D'pA8H#{ȭ`E僦D)R Ƴ }! ߁2 ='B GLy@w#*1h f!W]u{?\ x 6nO@od"f. ]n[ =_}.&kgv\])X|x+uYn p,L$88MV_6&M՟pD6?\i;JqccgC9D^öp#7G>w\s!{NgΜIF o#& ڜ uj +y,plRVs_-Bg/[qXW]5+LPȊS?vزsLWJK y8lU E&5":8 2~sq~Y!]g4ǁN~wkI\1gU6 />$`Wc BCԯQs~#ހa"4w8X{DxWQ;Wͧ "ܹsӳ.@ `DXMqPJ# dZBCtS<$@{+BgA, "J,OVZ_*:NZ QIZ N$,2G 3 *Xi6mZj;z2,7pFJyWd'tRY03)!}NoGN*s",upP3" D|"Ky)ͫא08Ll eP Pd ꅄ7SﲸB[PPE)&J XqIo&O\\\L %}Wʗϐ1M;zR V9Ŕ?X`(e}kiDv@z.Zmǫ}W=L%TD5;*A:rV%0!a?pZL*Ԭ*|OWiizr v=ʯWy|[+awpFFc&8$Nęye<qfrG((.XT/ \(A62H>HU`a_Q ҡ b}R!zH`NXaͤ7#fyǽ.dvk\8=c+:W?0`ܗ&G"e+JSOG JŦPT(QiJoS;׈X9Շ/FZ]tVN 8zZ~ZTsʚDm͉L R<&Z/}Q{z:](#U "9_O= _8q<+ w|-l9KkV>z qwo~Nv2\n5i$eΕX5%)yj>9ciim}v`-XY0=sl;fğK6SN"L#-lL ־<qfaϴ t^{]礖/_>ocVzaO=YfM.QJ^:a.#0i$3y$V;c){^j}B(]`A{ö+-rt᪙㋂_jPo\~TzOoq=׶{Ma6h]?;m ch,IDATxb?]-cT+ g/⼛MJ;H"2| )#ċ8`%@, @ ;  VãFJ3| S8}M@ǜ3N >TL8c, UH b1 fEzL^y`)Pd"ujÿlԲQc_([JkCTCJU1; 7X*Q3Z:o@,dB15S=,V(‘jg@X}dm9 EJFvp|IENDB`images/fm-shortcode-icon.png000064400000002641152377522760012062 0ustar00PNG  IHDR M )tEXtSoftwareAdobe ImageReadyqe<&iTXtXML:com.adobe.xmp NIDATxK/Q[D$oG+ l,WX )| becYG+i;xGޛvPO5_c˘ٌdn)ঐ A5Ή_4h5 n)@ly$.d&|2S +%h9օnuu 6eAeQ,~A߁J@+Ek68\Oo[@-u[H5ص"0 vR%luZŋUK3hbXt JM :Np 3f̱4 9M6 S/oߤ/Уq(pqumЫl+>MA  s5KZt 5脴6IDATx\U{Svv7RRACDE@ RT"m(  "PC $P $2~{wrefvvN>޼rιsŋ_|fMî,| DS|o]gecG*lHkOzv|/|Ϙyݖ~tNHmMumWmtnozW}?nڗ>ks7d+Ա6sq}d2LmZG૿pw mI]w:A /kޏ_豷*܂4H,|oi6MjÎ;<^WW,d֬YNeՙK;3f̐ٳ([0S%J #ff*Aݶ.lOr9.2zҹ1p>&d2;k_ >|zX=ӧhѕtj]w%h[HL7БGw`o/l뭷#Fh8P"lȑxwܡo喲;h u7ץe>C \`Q\j VؤItɐmV:(x衇7p*ozRSS?_bT(&*I: 9]y%&8eخ-5HRP󊕪S噟?,v<׻_٘_M80av-Xk;qYgOS95`3_9s[1&hэ[0R o|;Ƀ+E 0.BWžweyW/?_zΓ7|SF%^xf_%>g.\|AͶe;x7Š`E T RyT)sr=Ix9iDuJvtO=L$(!zd_48M2Ew<:ٳ{5\STp @cb= rq1y}w .oh7`͌fΜ_Dž=蠃G?Yo2_|3}*XNTT*TvdeѬZVP鲪s,^.u#neĘсTk\,;c4SyElԩ k{0q|IlėʍWp h0:sv\J{GxV[mgyw{z?q*.dV{r}%9q9I%i込5Ny.l%4%s Ҳ|l~({kϑob}cX7ܪekf馛vmcK@x k=zt+p òXb%+0r=XNojԁvf ]X+9vE]Y~-tvm7q @}w7LK/,!8q aSh?hi;G me*X~>8%brFU"glcZ@f{#{Qx5.[ȗ.:\r=-^SN@[w:ˢΠo[X=_ iR}BdLJ上fFұ,FĹ"%͇/ytE]hrwG*Aϯ~+-Hc32 眨j}4ZW+Qn'{z_QpQt+-p( ֯\B6۶Z~vX9[^|rj +XxbX_җSNyu#/$`[o# ._|S3jb8Q3).>`_e+o;g?@\< 7ܠgH ۠!4ԏ;ŀgU kH(H+9cD)S_*)w^$5 ei*1-馔HP>H$:\cVִ4\n7Ko/S@&/YِN;  D,]L1RaRu; i<SQG fX[{bf*V?-쳏&f4DZqpF֮lۯ$~Y"Ӑe^]2,1(ۊ8$;۱<ģTm>=>BR{cU6V@IG\%?'Tj1e24kL}}dV-wt `r5-׀AU{e*I׵ȹ?#?w1 j:ݐR~wo/(:fi ^rmfTU1JJ5ڄYAG :A*:m";\t+Ͽ1R&)*]#Un]%lc6L*>wa_esL÷Kn8Y繲sm?#O3PlKJ3̓㋥zju ֜Jjwbn;ɟ(y!ӳ0XtI\NdžuXWU馛tiSZvb vN QUـo֧`{~[Hee"}(K}.yғ(SbXfGUJRy5,ut k$&*ImMJSuόRL2]BY/V~zT]Z"^N_$'&SƎ.!֣'f:z5,6kЮ{֕)<Yce$#Xm)KdSߋaU,9,֗bYX1*[ɗ Jd&!V2bZNnɴԭJzVsia x!q{a- =I+\6*M" : | E@c5]:m(?DIJx)XO_Z~;%{TeŮMhɼ iAV[?|H;XY*,DtcZ5F7lOI_HxuVm`M9`etaՅL1BIxz$`U 60+q, $=SV~, lsuiqWO~_ƽZrvBAI}S ҀK>(/Fn~fFU+Hl)v}qٔZT,#vkeWCT[{n0(@ru5!r{^P&[[+N$_*zZ4?@_Z4k} NځnH%t"91?+'<'}^Xĕ-ĒEGYfɿo\Tc-x :m 7.˹&6Fif蚈ncYu}mh+TVS[lQ0 y 66DiBMf5Bn8?^+% 躓aA)MIı*|Y*ipXܯZ1+"#XexMUZgcQG:jf32{j·gZDhh, uq/ץLe *zDb+G19I!7YǙg'X9N%W8KDŌ48lذVNizp|הl.~9r'?3HF̙A'1:-q >Y9v|/y (:()A`;g84+=cuXp82^Ȱ8~;Z,wI Mh1/ϒ/ZQRL89_ ba:@,MDZ}6!1Eꪕ VDgeѪHn=@fƂDFNaщC!? fovY^-OiSqH N  Z, @ZʕzY^3U9Xp2cH#S }nI@k9h{ˬC <&р#8 KI< k&\&)'DgΠv)75]_l@o:^j=u|;eeM j%7k2XPUT{J+Y$d(]bU!T-:A-htڃ:$` 1&e6puh|q&m{҄`ƈ]na4K'(?23 TtBaZz|wN(L&[^H(n~ajB87.951-gqL3L[p9Gc 3 ó q{x%]3q!'?t Vn2u{dfi9_O7R fXg/\%e],7OVPHQh3i0RUP ́@;muQBq163GKD?Wlmn)m]&SH\;^)w w/\ [{:KexƤ L03TM*n(쫳cWu`-A/t|yRC.c|bO؝ji'-W`(k y^NnJ=i|g225ۨ:&9T#fm]RjC 7ՙgxPw/7/BEAԑbR 0/*%x\ߎTz9g`̸w_|q `a(q h8](Į 5:R0NzAYW A*諫_@VYŬjX$|4 #&Z:HZ1g+%oǸfTߚQh7AnfZ(/ӑ;ܜ(g{F^L$׀YR$co@H֎0 s,?4fTc'?9- "Tȸ)bI䶮hCl앎L;% 'N; }M1A 3zj y1? Sࢢ`Su`P&gl;s2xY4UW ]ǴAGWaȅӉ^“o5)'^>EPM2"46R@jۨ]d(GcB3d؂ mpF_>k.{фBf ecp(۰lDCC͎0`>Õ6|XIND$'wgh{B1.&NE_ve{|`ʕ{*ԆIEA  _jsd2Oj2i1jhyʹTd[^\"-ʑ 뗼-J%S,Aq!RTN,ZMҩa GHFe.4F&~`wtBs:ij&6 -+ڣ: hE a5~4uNiQLbrl8OpN8F`d@4hW\q~nqFA h/qgDwÒT2XT§ZA6Iׅʠ4+̊ʞrT\U