Plugin Directory

Changeset 3118332


Ignore:
Timestamp:
07/15/2024 12:50:22 PM (21 months ago)
Author:
mekshq
Message:

version 1.0.12

Location:
meks-video-importer
Files:
33 added
1 deleted
18 edited

Legend:

Unmodified
Added
Removed
  • meks-video-importer/trunk/assets/js/meks-video-importer.js

    r2117130 r3118332  
    149149                    });
    150150
     151                    data['nonce'] = meks_video_importer_script.nonce;
     152
    151153                    $.post(
    152154                        meks_video_importer_script.ajax_url,
     
    175177                    cache: false,
    176178                    async: false,
    177                     security: $("#_wpnonce").val()
     179                    nonce: meks_video_importer_script.nonce
    178180                };
    179181
     
    202204                        meks_video_importer_script.ajax_url, {
    203205                            action: 'mvi_save_template',
    204                             data: data
     206                            data: data,
     207                            nonce: meks_video_importer_script.nonce
    205208                        },
    206209                        function(response) {
     
    315318                    meks_video_importer_script.ajax_url, {
    316319                        'action': 'mvi_delete_template',
    317                         'id': id
     320                        'id': id,
     321                        'nonce': meks_video_importer_script.nonce
    318322                    },
    319323                    function(response) {
     
    390394                    meks_video_importer_script.ajax_url, {
    391395                        action: 'mvi_save_youtube_settings',
    392                         key: val
     396                        key: val,
     397                        nonce: meks_video_importer_script.nonce
    393398                    },
    394399                    function(response) {
     
    458463                    action: 'mvi_fetch_from_youtube',
    459464                    type: type,
    460                     id: id
     465                    id: id,
     466                    nonce: meks_video_importer_script.nonce
    461467                };
    462468
     
    554560                        action: 'mvi_save_vimeo_settings',
    555561                        id: id,
    556                         secret: secret
     562                        secret: secret,
     563                        nonce: meks_video_importer_script.nonce
    557564                    },
    558565                    function(response) {
     
    623630                    id: id,
    624631                    from: !mvi_empty(from) ? from : null,
    625                     to: !mvi_empty(to) ? to : null
     632                    to: !mvi_empty(to) ? to : null,
     633                    nonce: meks_video_importer_script.nonce
    626634                };
    627635
  • meks-video-importer/trunk/includes/class.meks-video-importer-import.php

    r2117130 r3118332  
    5656         */
    5757        public function ajax_insert_post() {
     58
     59            if ( !wp_verify_nonce( $_POST['nonce'], 'ajax-nonce' ) ) {
     60                $this->notices[] = array(
     61                    'type' => 'error',
     62                    'msg'  => __('Nonce missing', 'meks-video-importer'),
     63                );
     64
     65                wp_send_json_error($this->notices);
     66            }
     67
    5868            if ($this->is_valid()){
    5969                $this->import();
     
    7484         */
    7585        private function is_valid() {
    76             check_ajax_referer('mvi-import', 'security');
    77 
     86           
    7887            if (!isset($_POST['mvi-video-id']) || empty($_POST['mvi-video-id'])) {
    7988                $this->notices[] = array(
  • meks-video-importer/trunk/includes/class.meks-video-importer-list-table.php

    r1871307 r3118332  
    8383                    $message = !(empty($item['message'])) ? $item['message'] : '';
    8484                    $class = !(empty($message)) ? 'mvi-error' : '';
    85                     echo '<span class="mvi-status-messages ' . $class . '">' . $message . '</span>';
     85                    echo '<span class="mvi-status-messages ' . esc_attr($class) . '">' . wp_kses_post($message) . '</span>';
    8686                    $hidden_fields = meks_video_importer_get_hidden_fields();
    8787                    foreach ($hidden_fields as $hidden_field) {
  • meks-video-importer/trunk/includes/class.meks-video-importer-options-page.php

    r1849909 r3118332  
    174174                'are_you_sure'             => esc_html__( 'Are you sure?', 'meks-video-importer' ),
    175175                'total'                    => esc_html__( 'Total', 'meks-video-importer' ),
     176                'nonce'                    => wp_create_nonce( 'ajax-nonce' )
    176177            )
    177178        );
  • meks-video-importer/trunk/includes/class.meks-video-importer-saved-templates.php

    r1804642 r3118332  
    3838         */
    3939        public function save_template() {
     40           
     41            if ( !wp_verify_nonce( $_POST['nonce'], 'ajax-nonce' ) ) {
     42                wp_send_json_error(array('type' => 'error', 'msg' => __('Missing nonce.', 'meks-video-importer')));
     43            }
     44
    4045            $data = $_POST['data'];
    4146
     
    6873         */
    6974        public function delete_template(){
     75
     76            if ( !wp_verify_nonce( $_POST['nonce'], 'ajax-nonce' ) ) {
     77                wp_send_json_error(array('type' => 'error', 'msg' => __('Missing nonce.', 'meks-video-importer')));
     78            }
     79
     80
    7081            $id = $_POST['id'];
     82           
    7183            if(empty($id)){
    7284                wp_send_json_error(array('type' => 'error', 'msg' => __("Id can't be empty.", 'meks-video-importer')));
  • meks-video-importer/trunk/includes/class.meks-video-importer-vimeo.php

    r1948107 r3118332  
    7373         */
    7474        public function ajax_save_settings() {
     75
     76            if ( !wp_verify_nonce( $_POST['nonce'], 'ajax-nonce' ) ) {
     77                wp_send_json_error(array('message' => '<span class="dashicons dashicons-no"></span>' . __('Missing nonce.. Please try adding it again', 'meks-video-importer')));
     78            }
     79
    7580            if (!isset($_POST['id']) || !isset($_POST['secret']))
    7681                wp_send_json_error(array('message' => '<span class="dashicons dashicons-no"></span>' . __('Credentials not verified. Please try adding it again', 'meks-video-importer')));
     
    189194         */
    190195        public function ajax_fetch_from_vimeo() {
     196
     197            if ( !wp_verify_nonce( $_POST['nonce'], 'ajax-nonce' ) ) {
     198                wp_send_json_error(array('message' => __('Missing nonce.', 'meks-video-importer')));
     199            }
    191200
    192201            if (!isset($_POST['type']) || empty($_POST['type']) || !isset($_POST['id']) || empty($_POST['id'])){
  • meks-video-importer/trunk/includes/class.meks-video-importer-youtube.php

    r2117130 r3118332  
    9797         */
    9898        public function ajax_save_settings() {
     99
     100            if ( !wp_verify_nonce( $_POST['nonce'], 'ajax-nonce' ) ) {
     101                wp_send_json_error(array('message' => '<span class="dashicons dashicons-no"></span>' . __('Missing nonce.', 'meks-video-importer')));
     102            }
    99103
    100104            if (isset($_POST['key'])) {
     
    179183         */
    180184        public function ajax_fetch_from_youtube() {
     185
     186            if ( !wp_verify_nonce( $_POST['nonce'], 'ajax-nonce' ) ) {
     187                wp_send_json_error(array('message' => __('Missing nonce.', 'meks-video-importer')));
     188            }
     189
    181190            if (!isset($_POST['type']) || empty($_POST['type']) || !isset($_POST['id']) || empty($_POST['id'])) {
    182191                wp_send_json_error(array('message' => __('Invalid request', 'meks-video-importer')));
     
    327336                    $url = $this->build_url(array(
    328337                        'channelId' => $args['id'],
     338                        'order'     => 'date',
    329339                    ), $append_query);
    330340                    break;
  • meks-video-importer/trunk/includes/meks-video-importer-helpers.php

    r2965325 r3118332  
    6969                    $tax['hierarchical'] = $taxonomy->hierarchical;
    7070                    if ($tax['hierarchical']) {
    71                         $tax['terms'] = get_terms($taxonomy->name, array('hide_empty' => false));
     71                        $tax['terms'] = get_terms( array('taxonomy' => $taxonomy->name, 'hide_empty' => false) );
    7272                    }
    7373
     
    351351    function meks_video_importer_selected($a, $b, $output = 'selected') {
    352352
    353         return (string)$a === (string)$b ? $output : '';
     353        return (string)$a === (string)$b ? esc_attr($output) : '';
    354354    }
    355355endif;
  • meks-video-importer/trunk/meks-video-importer.php

    r2965325 r3118332  
    33Plugin Name: Meks Video Importer
    44Description: Easily import YouTube and Vimeo videos in bulk to your posts, pages or any custom post type.
    5 Version: 1.0.11
     5Version: 1.0.12
    66Author: Meks
    77Author URI: http://mekshq.com
     
    1919 * Define useful constants here
    2020 */
    21 define( 'MEKS_VIDEO_IMPORTER_VERSION', '1.0.11' );
     21define( 'MEKS_VIDEO_IMPORTER_VERSION', '1.0.12' );
    2222define( 'MEKS_VIDEO_IMPORTER_BASENAME', plugin_basename(__FILE__) );
    2323define( 'MEKS_VIDEO_IMPORTER_DIR', plugin_dir_path( __FILE__ ) );
  • meks-video-importer/trunk/partials/fetch.php

    r1804642 r3118332  
    1515                    foreach (meks_video_importer_get_providers() as $id => $provider) : ?>
    1616                        <label><input type="radio" class="mvi-provider" name="provider" data-type="provider" value="<?php echo esc_attr($id); ?>" <?php echo esc_attr(meks_video_importer_get_provider_status($id, $i, $valid_providers)); ?>>&nbsp;
    17                             <?php echo $provider; ?>
     17                            <?php echo esc_html($provider); ?>
    1818                        </label><br>
    1919                        <?php $i++; ?>
  • meks-video-importer/trunk/partials/import.php

    r2879760 r3118332  
    3838                    <?php foreach ($post_types as $post_type) : ?>
    3939                        <option value="<?php echo esc_attr($post_type->name); ?>" <?php echo meks_video_importer_selected( $import_options['mvi-post-type'], $post_type->name); ?>>
    40                             <?php echo $post_type->label; ?>
     40                            <?php echo esc_html($post_type->label); ?>
    4141                        </option>
    4242                    <?php endforeach; ?>
     
    5555                        <?php foreach ($post_formats as $post_format) : ?>
    5656                            <option value="<?php echo esc_attr($post_format); ?>" <?php echo meks_video_importer_selected( $import_options['mvi-post-format'], $post_format); ?>>
    57                                 <?php echo ucfirst($post_format); ?>
     57                                <?php echo esc_html(ucfirst($post_format)); ?>
    5858                            </option>
    5959                        <?php endforeach; ?>
     
    7272                <select name="mvi-post-status" id="mvi-post-status">
    7373                    <?php foreach ($post_statuses as $post_status_key => $post_status) : ?>
    74                         <option value="<?php echo $post_status_key; ?>" <?php echo meks_video_importer_selected( $import_options['mvi-post-status'], $post_status_key); ?>>
    75                             <?php echo $post_status; ?>
     74                        <option value="<?php echo esc_attr($post_status_key); ?>" <?php echo meks_video_importer_selected( $import_options['mvi-post-status'], $post_status_key); ?>>
     75                            <?php echo esc_html($post_status); ?>
    7676                        </option>
    7777                    <?php endforeach; ?>
     
    115115                    ?>
    116116                    <tr class="form-field mvi-<?php echo esc_attr($taxonomy['id']); ?> <?php echo esc_attr($post_type->name)?> type-change post-type <?php echo esc_attr(meks_video_importer_taxonomy_classes($post_type)); ?>">
    117                         <th class="row"><?php echo $taxonomy['name']; ?></th>
     117                        <th class="row"><?php echo esc_html($taxonomy['name']); ?></th>
    118118                        <td>
    119119                            <?php
     
    128128                                    <label for="<?php echo esc_attr($taxonomy_id); ?>">
    129129                                        <input id="<?php echo esc_attr($taxonomy_id); ?>" type="checkbox" name="mvi-taxonomies[<?php echo esc_attr($taxonomy['id']); ?>]" value="<?php echo esc_attr($term->term_id); ?>" <?php echo esc_attr($is_checked); ?>>
    130                                         <?php echo $term->name; ?>
     130                                        <?php echo esc_html($term->name); ?>
    131131                                    </label> <br>
    132132
  • meks-video-importer/trunk/partials/list-table.php

    r1804642 r3118332  
    1 <table class="wp-list-table <?php echo implode(' ', $this->get_table_classes()); ?>">
     1<table class="wp-list-table <?php echo esc_attr(implode(' ', $this->get_table_classes())); ?>">
    22    <thead>
    33        <tr>
     
    66    </thead>
    77
    8     <tbody id="the-list"<?php echo $singular ? " data-wp-lists='list:$singular'" : ''; ?>>
     8    <?php $list_type = $singular ? 'list:'. $singular : ''; ?>
     9
     10    <tbody id="the-list" data-wp-lists="<?php echo esc_attr( $list_type ); ?>">
    911        <?php  $this->display_rows_or_placeholder(); ?>
    1012    </tbody>
  • meks-video-importer/trunk/partials/templates.php

    r1804642 r3118332  
    55        <?php foreach ($templates as $key => $template) : ?>
    66            <li>
    7                 <a href="<?php echo esc_url(admin_url('tools.php?page=' . MEKS_VIDEO_IMPORTER_PAGE_SLUG . '&template=') . $key ); ?>"><?php echo $template['name']; ?> (<?php echo $template['provider']; ?>) </a>
     7                <a href="<?php echo esc_url(admin_url('tools.php?page=' . MEKS_VIDEO_IMPORTER_PAGE_SLUG . '&template=') . $key ); ?>"><?php echo esc_html($template['name']); ?> (<?php echo esc_html($template['provider']); ?>) </a>
    88                <a class="mvi-delete-template" href="javascript:void(0)" data-id="<?php echo esc_attr($key); ?>">
    99                    <span class="mvi-error"><span class="dashicons dashicons-no"></span></span><span class="meks-video-importer-delete-template-message"></span>
  • meks-video-importer/trunk/partials/vimeo-settings.php

    r1804642 r3118332  
    3535            <?php endif; ?>
    3636        </div>
    37         <p class="description"><?php _e( 'Where can I <a href="https://mekshq.com/faq/vimeo-client-id-secret-video-importer-wordpress-plugin/" target="_blank">get Vimeo Client ID & Secret</a>?', 'meks-video-importer'); ?></p>
     37        <p class="description"><?php echo wp_kses_post( __( 'Where can I <a href="https://mekshq.com/faq/vimeo-client-id-secret-video-importer-wordpress-plugin/" target="_blank">get Vimeo Client ID & Secret</a>?', 'meks-video-importer')); ?></p>
    3838    </td>
    3939</tr>
  • meks-video-importer/trunk/partials/vimeo.php

    r1804642 r3118332  
    1111        <select name="mvi-vimeo-type" id="mvi-vimeo-type" data-type="vimeo-type">
    1212            <?php foreach ($fetch_from_options as $key => $option) :?>
    13                 <option value="<?php echo esc_attr($key); ?>" <?php echo meks_video_importer_selected($vimeo_options['mvi-vimeo-type'], $key); ?>><?php echo  $option; ?></option>
     13                <option value="<?php echo esc_attr($key); ?>" <?php echo meks_video_importer_selected($vimeo_options['mvi-vimeo-type'], $key); ?>><?php echo esc_html($option); ?></option>
    1414            <?php endforeach; ?>
    1515        </select>
     
    2525        <br>
    2626        <p class="description type-change vimeo-type user <?php echo meks_video_importer_selected($vimeo_options['mvi-vimeo-type'], 'user', 'active'); ?>">
    27             <small><?php _e('Example: https://vimeo.com/<strong>SomeUser</strong>', 'meks-video-importer'); ?></small>
     27            <small><?php echo wp_kses_post(__('Example: https://vimeo.com/<strong>SomeUser</strong>', 'meks-video-importer')); ?></small>
    2828            <br>
    29             <small><?php _e('User ID: <strong>SomeUser</strong>' , 'meks-video-importer'); ?></small>
     29            <small><?php echo wp_kses_post(__('User ID: <strong>SomeUser</strong>' , 'meks-video-importer')); ?></small>
    3030        </p>
    3131
    3232        <p class="description type-change vimeo-type group <?php echo meks_video_importer_selected($vimeo_options['mvi-vimeo-type'], 'group', 'active'); ?>">
    33             <small><?php _e('Example: https://vimeo.com/groups/<strong>SomeGroup</strong>', 'meks-video-importer'); ?></small>
     33            <small><?php echo wp_kses_post(__('Example: https://vimeo.com/groups/<strong>SomeGroup</strong>', 'meks-video-importer')); ?></small>
    3434            <br>
    35             <small><?php _e('Group ID: <strong>SomeGroup</strong>' , 'meks-video-importer'); ?></small>
     35            <small><?php echo wp_kses_post(__('Group ID: <strong>SomeGroup</strong>' , 'meks-video-importer')); ?></small>
    3636        </p>
    3737        <p class="description type-change vimeo-type channel <?php echo meks_video_importer_selected($vimeo_options['mvi-vimeo-type'], 'channel', 'active'); ?>">
    38             <small><?php _e('Example: https://vimeo.com/channels/<strong>SomeChannel</strong>', 'meks-video-importer'); ?></small>
     38            <small><?php echo wp_kses_post(__('Example: https://vimeo.com/channels/<strong>SomeChannel</strong>', 'meks-video-importer')); ?></small>
    3939            <br>
    40             <small><?php _e('Channel ID: <strong>SomeChannel</strong>' , 'meks-video-importer'); ?></small>
     40            <small><?php echo wp_kses_post(__('Channel ID: <strong>SomeChannel</strong>' , 'meks-video-importer')); ?></small>
    4141        </p>
    4242    </td>
     
    4848    </th>
    4949    <td>
    50         <input class="smaller" id="mvi-vimeo-from-page" name="mvi-vimeo-from-page" type="number" value="<?php echo $vimeo_options['mvi-vimeo-from-page']; ?>"> -
    51         <input class="smaller" id="mvi-vimeo-to-page" name="mvi-vimeo-to-page" type="number" value="<?php echo $vimeo_options['mvi-vimeo-to-page']; ?>">
     50        <input class="smaller" id="mvi-vimeo-from-page" name="mvi-vimeo-from-page" type="number" value="<?php echo esc_attr($vimeo_options['mvi-vimeo-from-page']); ?>"> -
     51        <input class="smaller" id="mvi-vimeo-to-page" name="mvi-vimeo-to-page" type="number" value="<?php echo esc_attr($vimeo_options['mvi-vimeo-to-page']); ?>">
    5252        <button class="button button-default" id="mvi-fetch-vimeo"><?php echo esc_html__("Fetch videos", 'meks-video-importer'); ?></button>
    5353        <div id="mvi-vimeo-loader" class="spinner"></div>
  • meks-video-importer/trunk/partials/youtube-settings.php

    r1804642 r3118332  
    2727        </div>
    2828
    29         <p class="description"><?php _e( 'Where can I <a href="https://mekshq.com/faq/youtube-api-key-video-importer-wordpress-plugin/" target="_blank">get YouTube API key</a>?', 'meks-video-importer'); ?></p>
     29        <p class="description"><?php echo wp_kses_post( __( 'Where can I <a href="https://mekshq.com/faq/youtube-api-key-video-importer-wordpress-plugin/" target="_blank">get YouTube API key</a>?', 'meks-video-importer')); ?></p>
    3030    </td>
    3131</tr>
  • meks-video-importer/trunk/partials/youtube.php

    r1804642 r3118332  
    1111        <select name="mvi-youtube-type" id="mvi-youtube-type" data-type="youtube-type">
    1212            <?php foreach ($options as $key => $option) : ?>
    13                 <option value="<?php echo esc_attr($key); ?>" <?php echo meks_video_importer_selected($youtube_options['mvi-youtube-type'], $key); ?>><?php echo  $option; ?></option>
     13                <option value="<?php echo esc_attr($key); ?>" <?php echo meks_video_importer_selected($youtube_options['mvi-youtube-type'], $key); ?>><?php echo esc_html($option); ?></option>
    1414            <?php endforeach; ?>
    1515        </select>
     
    2727        <br>
    2828        <p class="description type-change youtube-type playlist <?php echo meks_video_importer_selected($youtube_options['mvi-youtube-type'], 'playlist', 'active'); ?>" >
    29             <small><?php _e('Example: https://www.youtube.com/watch?v=g72rFb6P13w&list=<strong>PL2acA3M-2dSTuk6tSUblX_P7A0Yxj_Xca</strong>' , 'meks-video-importer'); ?></small>
     29            <small><?php echo wp_kses_post( __('Example: https://www.youtube.com/watch?v=g72rFb6P13w&list=<strong>PL2acA3M-2dSTuk6tSUblX_P7A0Yxj_Xca</strong>' , 'meks-video-importer')); ?></small>
    3030            <br>
    31             <small><?php _e('Playlist ID: <strong>PL2acA3M-2dSTuk6tSUblX_P7A0Yxj_Xca</strong>' , 'meks-video-importer'); ?></small>
     31            <small><?php echo wp_kses_post( __('Playlist ID: <strong>PL2acA3M-2dSTuk6tSUblX_P7A0Yxj_Xca</strong>' , 'meks-video-importer')); ?></small>
    3232        </p>
    3333
    3434        <p class="description type-change youtube-type channelId <?php echo meks_video_importer_selected($youtube_options['mvi-youtube-type'], 'channelId', 'active'); ?>">
    35             <small class=""><?php _e('Example: https://www.youtube.com/channel/<strong>UCzs2Skg6P_9gdQGZo65YQTg</strong>', 'meks-video-importer'); ?></small>
     35            <small class=""><?php echo wp_kses_post( __('Example: https://www.youtube.com/channel/<strong>UCzs2Skg6P_9gdQGZo65YQTg</strong>', 'meks-video-importer')); ?></small>
    3636            <br>
    37             <small><?php _e('Channel ID: <strong>UCzs2Skg6P_9gdQGZo65YQTg</strong>' , 'meks-video-importer'); ?></small>
     37            <small><?php echo wp_kses_post( __('Channel ID: <strong>UCzs2Skg6P_9gdQGZo65YQTg</strong>' , 'meks-video-importer')); ?></small>
    3838        </p>
    3939
    4040        <p class="description type-change youtube-type search <?php echo meks_video_importer_selected($youtube_options['mvi-youtube-type'], 'search', 'active'); ?>">
    41             <small><?php _e('Example: <strong>Meks WordPress Themes</strong>' , 'meks-video-importer'); ?></small>
     41            <small><?php echo wp_kses_post( __('Example: <strong>Meks WordPress Themes</strong>' , 'meks-video-importer')); ?></small>
    4242        </p>
    4343        <p class="description type-change youtube-type userId <?php echo meks_video_importer_selected($youtube_options['mvi-youtube-type'], 'userId', 'active'); ?>">
    44             <small><?php _e('Example: https://www.youtube.com/user/<strong>SomeUser</strong>', 'meks-video-importer'); ?></small>
     44            <small><?php echo wp_kses_post( __('Example: https://www.youtube.com/user/<strong>SomeUser</strong>', 'meks-video-importer')); ?></small>
    4545            <br>
    46             <small><?php _e('User ID: <strong>SomeUser</strong>' , 'meks-video-importer'); ?></small>
     46            <small><?php echo wp_kses_post( __('User ID: <strong>SomeUser</strong>' , 'meks-video-importer')); ?></small>
    4747        </p>
    4848
  • meks-video-importer/trunk/readme.txt

    r2965325 r3118332  
    22Contributors: mekshq, aleksandargubecka
    33Donate link: https://mekshq.com
    4 Tags: youtube, vimeo, video, import, bulk, videos, importer, channel, playlist, user
     4Tags: youtube, vimeo, video, channel, playlist
    55Requires at least: 3.7
    6 Tested up to: 6.3
    7 Stable tag: 1.0.11
     6Tested up to: 6.5
     7Stable tag: 1.0.12
    88License: GPLv3
    99License URI: http://www.gnu.org/licenses/gpl.html
     
    4646
    4747== Changelog ==
     48
     49= 1.0.12 =
     50* WP 6.5 compatibility tested
     51* Patched a minor security issue
    4852
    4953= 1.0.11 =
Note: See TracChangeset for help on using the changeset viewer.