Plugin Directory

Changeset 3342904


Ignore:
Timestamp:
08/11/2025 01:23:19 PM (8 months ago)
Author:
emarket-design
Message:

version 4.2.1

Location:
wp-easy-events/trunk
Files:
1 deleted
62 edited

Legend:

Unmodified
Added
Removed
  • wp-easy-events/trunk/assets/ext/emd-meta-box/inc/fields/calculated.php

    r1390488 r3342904  
    1414                static function admin_enqueue_scripts()
    1515                {
    16                         wp_enqueue_script( 'wpas-calculate', EMD_MB_URL . '../calculate/wpas-calculate.min.js');
    17                         wp_enqueue_script( 'calculate', EMD_MB_JS_URL . 'calculate.js');
     16                        wp_enqueue_script( 'wpas-calculate', EMD_MB_URL . '../calculate/wpas-calculate.min.js', Array(), EMD_MB_VER, true);
     17                        wp_enqueue_script( 'calculate', EMD_MB_JS_URL . 'calculate.js', Array(), EMD_MB_VER, true);
    1818            wp_localize_script('calculate','app_name',EMD_MB_APP);
    1919                }
  • wp-easy-events/trunk/assets/ext/emd-meta-box/inc/fields/datetime.php

    r3021434 r3342904  
    1616            $url_css = EMD_MB_CSS_URL . 'jqueryui';
    1717            wp_register_script( 'jquery-ui-timepicker', EMD_MB_JS_URL . 'jqueryui/jquery-ui-timepicker-addon.js', array( 'jquery-ui-datepicker', 'jquery-ui-slider' ), '0.9.7', true );
    18             wp_enqueue_style( 'jquery-ui-timepicker-css', "{$url_css}/jquery-ui-timepicker-addon.css");
     18            wp_enqueue_style( 'jquery-ui-timepicker-css', "{$url_css}/jquery-ui-timepicker-addon.css", Array(), EMD_MB_VER);
    1919            $deps = array( 'jquery-ui-datepicker', 'jquery-ui-timepicker' );
    2020
  • wp-easy-events/trunk/assets/ext/emd-meta-box/inc/fields/map.php

    r2981917 r3342904  
    2020            }   
    2121            wp_register_script( 'googlemap', 'https://maps.googleapis.com/maps/api/js?key=' . $map_key, array(), EMD_MB_VER, true );
    22             wp_enqueue_style( 'emd-mb-map', EMD_MB_CSS_URL . 'map.css' );
     22            wp_enqueue_style( 'emd-mb-map', EMD_MB_CSS_URL . 'map.css', Array(), EMD_MB_VER );
    2323            wp_enqueue_script( 'emd-mb-map', EMD_MB_JS_URL . 'map.js', array( 'jquery', 'jquery-ui-autocomplete', 'googlemap' ), EMD_MB_VER, true );
    2424        }
  • wp-easy-events/trunk/assets/ext/emd-meta-box/inc/fields/oembed.php

    r2981917 r3342904  
    1717        static function admin_enqueue_scripts()
    1818        {
    19             wp_enqueue_style( 'emd-mb-oembed', EMD_MB_CSS_URL . 'oembed.css' );
     19            wp_enqueue_style( 'emd-mb-oembed', EMD_MB_CSS_URL . 'oembed.css', array(), EMD_MB_VER );
    2020            wp_enqueue_script( 'emd-mb-oembed', EMD_MB_JS_URL . 'oembed.js', array(), EMD_MB_VER, true );
    2121        }
  • wp-easy-events/trunk/assets/ext/emd-meta-box/inc/fields/slider.php

    r3021434 r3342904  
    1818            wp_enqueue_style( 'jquery-ui-theme', "{$url}/jquery.ui.theme.css", array(), '1.8.17' );
    1919            wp_enqueue_style( 'jquery-ui-slider', "{$url}/jquery.ui.slider.css", array(), '1.8.17' );
    20             wp_enqueue_style( 'emd-mb-slider', EMD_MB_CSS_URL . 'slider.css' );
     20            wp_enqueue_style( 'emd-mb-slider', EMD_MB_CSS_URL . 'slider.css', array(), EMD_MB_VER );
    2121
    2222            wp_enqueue_script( 'emd-mb-slider', EMD_MB_JS_URL . 'slider.js', array( 'jquery-ui-slider', 'jquery-ui-widget', 'jquery-ui-mouse', 'jquery-ui-core' ), EMD_MB_VER, true );
  • wp-easy-events/trunk/assets/ext/emd-meta-box/inc/fields/time.php

    r3021434 r3342904  
    1717            $url_css = EMD_MB_CSS_URL . 'jqueryui';
    1818            wp_register_script( 'jquery-ui-timepicker', "{$url}/jquery-ui-timepicker-addon.js", array( 'jquery-ui-datepicker', 'jquery-ui-slider' ), '0.9.7', true );
    19             wp_enqueue_style( 'jquery-ui-timepicker-css', "{$url_css}/jquery-ui-timepicker-addon.css");
     19            wp_enqueue_style( 'jquery-ui-timepicker-css', "{$url_css}/jquery-ui-timepicker-addon.css", Array(), EMD_MB_VER);
    2020
    2121            wp_enqueue_script( 'emd-mb-time', EMD_MB_JS_URL.'time.js', array( 'jquery-ui-timepicker' ), EMD_MB_VER, true );
  • wp-easy-events/trunk/assets/ext/emd-meta-box/inc/helpers.php

    r3324339 r3342904  
    326326
    327327            // Load Google Maps script only when needed
    328             $html .= '<script>if ( typeof google !== "object" || typeof google.maps !== "object" )
    329                         document.write(\'<script src="//maps.google.com/maps/api/js"><\/script>\')</script>';
     328            //$html .= '<script>if ( typeof google !== "object" || typeof google.maps !== "object" )
     329            //          document.write(\'<script src="//maps.google.com/maps/api/js"><\/script>\')</script>';
    330330            $html .= '<script>
    331331                ( function()
  • wp-easy-events/trunk/assets/ext/emd-meta-box/inc/meta-box.php

    r3237156 r3342904  
    297297                echo '
    298298                    validationOptions : jQuery.parseJSON( \'' . wp_json_encode( $this->validation ) . '\' ),
    299                     summaryMessage : "' . __( 'Please correct the errors highlighted below and try again.', 'wp-easy-events' ) . '",';
     299                    summaryMessage : "' . esc_html__( 'Please correct the errors highlighted below and try again.', 'wp-easy-events' ) . '",';
    300300            }
    301301            if(isset($this->conditional) && $this->conditional){
  • wp-easy-events/trunk/assets/ext/emd-posts-to-posts/admin/box.php

    r3021434 r3342904  
    7878            'create-connections' => $this->render_create_connections( $post ),
    7979        );
    80 
    81         echo EMD_P2P_Mustache::render( 'box', $data );
     80        $allowed_html = Array(
     81            'div' => array('style' => array(), 'class' => array(), 'data-p2p_type' => Array(), 'data-cardinality' => array(),
     82            'data-duplicate-connections' => array(), 'data-direction' => array(), 'data-item-id' => array()),
     83            'input' => array('type' => array(), 'name' => array(), 'value' => array(), 'autocomplete' => array(), 'placeholder' => array()),
     84            'button' => array('class' => array()),
     85            'a' => array('href' => array()),
     86            'p' => array('class' => array()),
     87            'span' => array('class' => array(), 'title' => array()),
     88            'table' => array('class' => array()),
     89            'thead' => array(),
     90            'tr' => array(),
     91            'th' => array('class' => array()),
     92            'tbody' => array('class' => array()),
     93            'td' => array('class' => array()),
     94            'ul' => array('class' => array()),
     95            'li' => array('class' => array(), 'data-ref' => array()),
     96        );
     97
     98        echo wp_kses(EMD_P2P_Mustache::render( 'box', $data ), $allowed_html);
    8299    }
    83100
  • wp-easy-events/trunk/assets/ext/emd-posts-to-posts/admin/column.php

    r3021434 r3342904  
    100100
    101101    function display_column( $column, $item_id ) {
    102         echo parent::render_column( $column, $item_id );
     102        echo wp_kses_post(parent::render_column( $column, $item_id ));
    103103    }
    104104}
  • wp-easy-events/trunk/assets/ext/emd-posts-to-posts/core/api.php

    r3021434 r3342904  
    369369            $outer_item_id = $inner_item->p2p_from;
    370370        } else {
    371             trigger_error( "Corrupted data for item $inner_item->ID", E_USER_WARNING );
     371            trigger_error( "Corrupted data for item " . esc_html($inner_item->ID), E_USER_WARNING );
    372372            continue;
    373373        }
  • wp-easy-events/trunk/assets/ext/emd-posts-to-posts/core/extra.php

    r3021434 r3342904  
    3434        }
    3535
    36         echo emd_p2p_html( 'p', $this->input( array(
     36        echo wp_kses_post(emd_p2p_html( 'p', $this->input( array(
    3737            'type' => 'text',
    3838            'name' => 'title',
    3939            'desc' => __( 'Title:', 'wp-easy-events' )
    40         ), $instance ) );
     40        ), $instance ) ));
    4141
    42         echo emd_p2p_html( 'p', $this->input( array(
     42        echo wp_kses_post(emd_p2p_html( 'p', $this->input( array(
    4343            'type' => 'select',
    4444            'name' => 'ctype',
     
    4646            'desc' => __( 'Connection type:', 'wp-easy-events' ),
    4747            'extra' => "style='width: 100%'"
    48         ), $instance ) );
     48        ), $instance ) ));
    4949
    50         echo emd_p2p_html( 'p',
     50        echo wp_kses_post(emd_p2p_html( 'p',
    5151            __( 'Connection listing:', 'wp-easy-events' ),
    5252            '<br>',
     
    5959                ),
    6060            ), $instance )
    61         );
     61        ));
    6262    }
    6363
     
    132132    $ctype = emd_p2p_type( $ctype );
    133133    if ( !$ctype ) {
    134         trigger_error( sprintf( "Unregistered connection type '%s'.", $ctype ), E_USER_WARNING );
     134        trigger_error( sprintf( "Unregistered connection type '%s'.", esc_html($ctype) ), E_USER_WARNING );
    135135        return '';
    136136    }
  • wp-easy-events/trunk/assets/ext/emd-posts-to-posts/core/list.php

    r3021434 r3342904  
    4949                $list[] = $this->render_item( $item );
    5050            }
    51             echo implode( $separator, $list );
     51            echo esc_html(implode( $separator, $list ));
    5252        } else {
    5353            foreach ( $this->items as $item ) {
  • wp-easy-events/trunk/assets/ext/emd-posts-to-posts/core/query-post.php

    r3021434 r3342904  
    1616
    1717        if ( is_wp_error( $p2p_q ) ) {
    18             trigger_error( $p2p_q->get_error_message(), E_USER_WARNING );
     18            trigger_error( esc_html($p2p_q->get_error_message()), E_USER_WARNING );
    1919
    2020            $wp_query->set( 'year', 2525 );
  • wp-easy-events/trunk/assets/ext/emd-posts-to-posts/core/query-user.php

    r3021434 r3342904  
    1515
    1616        if ( is_wp_error( $p2p_q ) ) {
    17             trigger_error( $p2p_q->get_error_message(), E_USER_WARNING );
     17            trigger_error( esc_html($p2p_q->get_error_message()), E_USER_WARNING );
    1818
    1919            $query->query_where = " AND 1=0";
  • wp-easy-events/trunk/assets/ext/emd-posts-to-posts/core/type-factory.php

    r3021434 r3342904  
    3131
    3232        if ( strlen( $args['name'] ) > 44 ) {
    33             trigger_error( sprintf( "Connection name '%s' is longer than 44 characters.", $args['name'] ), E_USER_WARNING );
     33            trigger_error( sprintf( "Connection name '%s' is longer than 44 characters.", esc_html($args['name']) ), E_USER_WARNING );
    3434            return false;
    3535        }
  • wp-easy-events/trunk/assets/ext/emd-posts-to-posts/core/type.php

    r3021434 r3342904  
    128128    public function __call( $method, $args ) {
    129129        if ( ! method_exists( 'P2P_Directed_Connection_Type', $method ) ) {
    130             trigger_error( "Method '$method' does not exist.", E_USER_ERROR );
     130            trigger_error( "Method '" . esc_html($method) . "' does not exist.", E_USER_ERROR );
    131131            return;
    132132        }
     
    135135        $directed = $this->find_direction( $args[0] );
    136136        if ( !$directed ) {
    137             trigger_error( sprintf( "Can't determine direction for '%s' type.", $this->name ), E_USER_WARNING );
     137            trigger_error( sprintf( "Can't determine direction for '%s' type.", esc_html($this->name) ), E_USER_WARNING );
    138138            return false;
    139139        }
     
    368368        foreach ( array( 'showposts', 'posts_per_page', 'posts_per_archive_page' ) as $disabled_qv ) {
    369369            if ( isset( $extra_qv[ $disabled_qv ] ) ) {
    370                 trigger_error( "Can't use '$disabled_qv' in an inner query", E_USER_WARNING );
     370                trigger_error( "Can't use '" . esc_html($disabled_qv) . "' in an inner query", E_USER_WARNING );
    371371            }
    372372        }
  • wp-easy-events/trunk/assets/ext/emd-posts-to-posts/debug-utils.php

    r3021434 r3342904  
    3131
    3232    foreach ( $posts as $post ) {
    33         echo str_repeat( "\t", $level ) . "$post->ID: $post->post_title\n";
     33        echo wp_kses_post(str_repeat( "\t", $level ) . "$post->ID: $post->post_title\n");
    3434
    3535        if ( isset( $post->connected ) )
  • wp-easy-events/trunk/assets/ext/emd-posts-to-posts/mustache/Mustache.php

    r3021434 r3342904  
    146146            foreach ($options['pragmas'] as $pragma_name => $pragma_value) {
    147147                if (!in_array($pragma_name, $this->_pragmasImplemented, true)) {
    148                     throw new Emd_MustacheException('Unknown pragma: ' . $pragma_name, Emd_MustacheException::UNKNOWN_PRAGMA);
     148                    throw new Emd_MustacheException('Unknown pragma: ' . esc_html($pragma_name), esc_html(Emd_MustacheException::UNKNOWN_PRAGMA));
    149149                }
    150150            }
     
    347347                    if (empty($section_stack) || ($tag_name !== array_pop($section_stack))) {
    348348                        if ($this->_throwsException(Emd_MustacheException::UNEXPECTED_CLOSE_SECTION)) {
    349                             throw new Emd_MustacheException('Unexpected close section: ' . $tag_name, Emd_MustacheException::UNEXPECTED_CLOSE_SECTION);
     349                            throw new Emd_MustacheException('Unexpected close section: ' . esc_html($tag_name), esc_html(Emd_MustacheException::UNEXPECTED_CLOSE_SECTION));
    350350                        }
    351351                    }
     
    367367        if (!empty($section_stack)) {
    368368            if ($this->_throwsException(Emd_MustacheException::UNCLOSED_SECTION)) {
    369                 throw new Emd_MustacheException('Unclosed section: ' . $section_stack[0], Emd_MustacheException::UNCLOSED_SECTION);
     369                throw new Emd_MustacheException('Unclosed section: ' . esc_html($section_stack[0]), esc_html(Emd_MustacheException::UNCLOSED_SECTION));
    370370            }
    371371        }
     
    422422        if (!in_array($pragma_name, $this->_pragmasImplemented)) {
    423423            if ($this->_throwsException(Emd_MustacheException::UNKNOWN_PRAGMA)) {
    424                 throw new Emd_MustacheException('Unknown pragma: ' . $pragma_name, Emd_MustacheException::UNKNOWN_PRAGMA);
     424                throw new Emd_MustacheException('Unknown pragma: ' . esc_html($pragma_name), esc_html(Emd_MustacheException::UNKNOWN_PRAGMA));
    425425            } else {
    426426                return '';
     
    471471        if (!$this->_hasPragma($pragma_name)) {
    472472            if ($this->_throwsException(Emd_MustacheException::UNKNOWN_PRAGMA)) {
    473                 throw new Emd_MustacheException('Unknown pragma: ' . $pragma_name, Emd_MustacheException::UNKNOWN_PRAGMA);
     473                throw new Emd_MustacheException('Unknown pragma: ' . esc_html($pragma_name), esc_html(Emd_MustacheException::UNKNOWN_PRAGMA));
    474474            }
    475475        }
     
    826826
    827827        if ($this->_throwsException(Emd_MustacheException::UNKNOWN_VARIABLE)) {
    828             throw new Emd_MustacheException("Unknown variable: " . $tag_name, Emd_MustacheException::UNKNOWN_VARIABLE);
     828            throw new Emd_MustacheException("Unknown variable: " . esc_html($tag_name), esc_html(Emd_MustacheException::UNKNOWN_VARIABLE));
    829829        } else {
    830830            return '';
     
    848848
    849849        if ($this->_throwsException(Emd_MustacheException::UNKNOWN_PARTIAL)) {
    850             throw new Emd_MustacheException('Unknown partial: ' . $tag_name, Emd_MustacheException::UNKNOWN_PARTIAL);
     850            throw new Emd_MustacheException('Unknown partial: ' . esc_html($tag_name), esc_html(Emd_MustacheException::UNKNOWN_PARTIAL));
    851851        } else {
    852852            return '';
  • wp-easy-events/trunk/assets/ext/emd-posts-to-posts/mustache/MustacheLoader.php

    r3021434 r3342904  
    2424    public function __construct($baseDir, $extension = 'mustache') {
    2525        if (!is_dir($baseDir)) {
    26             throw new InvalidArgumentException('$baseDir must be a valid directory, ' . $baseDir . ' given.');
     26            throw new InvalidArgumentException('$baseDir must be a valid directory, ' . esc_html($baseDir) . ' given.');
    2727        }
    2828
     
    4646    public function offsetGet($offset) {
    4747        if (!$this->offsetExists($offset)) {
    48             throw new InvalidArgumentException('Partial does not exist: ' . $offset);
     48            throw new InvalidArgumentException('Partial does not exist: ' . esc_html($offset));
    4949        }
    5050
  • wp-easy-events/trunk/assets/ext/emd-posts-to-posts/scb/AdminPage.php

    r3021434 r3342904  
    126126    function page_header() {
    127127        echo "<div class='wrap'>\n";
    128         echo emd_p2p_html( "h2", $this->args['page_title'] );
     128        echo wp_kses_post(emd_p2p_html( "h2", $this->args['page_title'] ));
    129129    }
    130130
     
    170170            $msg = __( 'Settings <strong>saved</strong>.', 'wp-easy-events' );
    171171
    172         echo emd_p2p_scb_admin_notice( $msg, $class );
     172        echo wp_kses_post(emd_p2p_scb_admin_notice( $msg, $class ));
    173173    }
    174174
     
    381381<script type="text/javascript">
    382382jQuery( document ).ready( function( $ ){
    383     var $spinner = $( new Image() ).attr( 'src', '<?php echo admin_url( "images/wpspin_light.gif" ); ?>' );
     383    var $spinner = $( new Image() ).attr( 'src', '<?php echo esc_url(admin_url( "images/wpspin_light.gif" )); ?>' );
    384384
    385385    $( ':submit' ).click( function( ev ){
  • wp-easy-events/trunk/assets/ext/emd-posts-to-posts/scb/BoxesPage.php

    r3021434 r3342904  
    106106<div id='<?php echo esc_attr($this->pagehook); ?>-widgets' class='metabox-holder'>
    107107<?php
    108     echo "\t<div class='postbox-container' style='width:{$this->args['column_widths'][0]}%'>\n";
     108    echo "\t<div class='postbox-container' style='width:{" . esc_attr($this->args['column_widths'][0]) . "}%'>\n";
    109109    do_meta_boxes( $this->pagehook, 'normal', '' );
    110110
    111     echo "\t</div><div class='postbox-container' style='width:{$hide2}{$this->args['column_widths'][1]}%'>\n";
     111    echo "\t</div><div class='postbox-container' style='width:{" . esc_attr($hide2) . "}{" . esc_attr($this->args['column_widths'][1]) . "}%'>\n";
    112112    do_meta_boxes( $this->pagehook, 'side', '' );
    113113
    114     echo "\t</div><div class='postbox-container' style='width:{$hide3}{$this->args['column_widths'][2]}%'>\n";
     114    echo "\t</div><div class='postbox-container' style='width:{" . esc_attr($hide3) . "}{" . esc_attr($this->args['column_widths'][2]) . "}%'>\n";
    115115    do_meta_boxes( $this->pagehook, 'column3', '' );
    116116
    117     echo "\t</div><div class='postbox-container' style='width:{$hide4}{$this->args['column_widths'][3]}%'>\n";
     117    echo "\t</div><div class='postbox-container' style='width:{" . esc_attr($hide4) . "}{" . esc_attr($this->args['column_widths'][3]) . "}%'>\n";
    118118    do_meta_boxes( $this->pagehook, 'column4', '' );
    119119?>
     
    186186            if ( isset( $registered[$name] ) ) {
    187187                if ( empty( $args ) )
    188                     trigger_error( "Duplicate box name: $name", E_USER_NOTICE );
     188                    trigger_error( "Duplicate box name: " . esc_attr($name), E_USER_NOTICE );
    189189
    190190                $name = $this->_increment( $name );
     
    216216    // Adds necesary code for JS to work
    217217    function _boxes_js_init() {
    218         echo $this->js_wrap("
     218        echo wp_kses_post($this->js_wrap("
    219219jQuery( document ).ready( function( $ ){
    220220    // close postboxes that should be closed
     
    223223    postboxes.add_postbox_toggles( '" . $this->pagehook . "' );
    224224} );"
    225         );
     225        ));
    226226?>
    227227
  • wp-easy-events/trunk/assets/ext/emd-posts-to-posts/scb/Hooks.php

    r3021434 r3342904  
    3434        $func = "array( $class, '$callback[1]' )";
    3535
    36         echo "add_filter( '$tag', $func";
     36        $echo_filter = "add_filter( '$tag', $func";
    3737
    3838        if ( $prio != 10 || $argc > 1 ) {
    39             echo ", $prio";
     39            $echo_filter .= ", $prio";
    4040
    4141            if ( $argc > 1 )
    42                 echo ", $argc";
     42                $echo_filter .= ", $argc";
    4343        }
    4444
    45         echo " );\n";
     45        $echo_filter .= " );\n";
     46        echo wp_kses_post($echo_filter);
    4647    }
    4748
  • wp-easy-events/trunk/assets/ext/emd-posts-to-posts/scb/Util.php

    r3021434 r3342904  
    3131
    3232        echo "<script type='text/javascript'>\n";
    33         echo "jQuery(function ($) { $('head').prepend('$content'); });\n";
     33        echo "jQuery(function ($) { $('head').prepend('" . wp_kses_post($content) . "'); });\n";
    3434        echo "</script>";
    3535    }
  • wp-easy-events/trunk/includes/admin/class-emd-notifications.php

    r3237156 r3342904  
    539539        $coms = (empty($coms) ? __("Not available", 'wp-easy-events') : rtrim($coms, ","));
    540540        $fields = "<table><tr><th colspan=2>";
    541         $fields.= sprintf(__('Use template tags below to customize your email. Taxonomy and relationship tags produce link(s) to the related record(s). For no link tag, add %s to relationship or taxonomy tag. For example, for {mytag%s} tag produces a no link version of the tag. Check glossary tab for definitions.', 'wp-easy-events') , '_nl', '_nl');
     541        $fields.= sprintf(__('Use template tags below to customize your email. Taxonomy and relationship tags produce link(s) to the related record(s). For no link tag, add %1$s to relationship or taxonomy tag. For example, for {mytag%2$s} tag produces a no link version of the tag. Check glossary tab for definitions.', 'wp-easy-events') , '_nl', '_nl');
    542542        $fields.= "</th></tr>";
    543543        if ($this->notify_init_list[$args['notify_id']]['level'] == 'rel') {
     
    594594     */
    595595    public function notify_editor_callback($args) {
    596         ob_start();
    597596        wp_editor($args['val'], $args['editor_id'], array(
    598597            'tinymce' => false,
     
    604603            )
    605604        ));
    606         echo ob_get_clean();
    607605    }
    608606    /**
  • wp-easy-events/trunk/includes/admin/getting-started.php

    r3324339 r3342904  
    173173<div id="emd-about" class="wrap about-wrap">
    174174<div id="emd-header" style="padding:10px 0" class="wp-clearfix">
    175 <div style="float:right"><img src="<?php echo WP_EASY_EVENTS_PLUGIN_URL . "assets/img/wpee-logo-250x150.gif"; ?>"></div>
     175<div style="float:right"><img src="<?php echo esc_url(WP_EASY_EVENTS_PLUGIN_URL . "assets/img/wpee-logo-250x150.gif"); ?>"></div>
    176176<div style="margin: .2em 200px 0 0;padding: 0;color: #32373c;line-height: 1.2em;font-size: 2.8em;font-weight: 400;">
    177 <?php printf(__('Welcome to WP Easy Events Community %s', 'wp-easy-events') , $display_version); ?>
     177<?php printf(esc_html__('Welcome to WP Easy Events Community %s', 'wp-easy-events') , esc_html($display_version)); ?>
    178178</div>
    179179
    180180<p class="about-text">
    181 <?php printf(__("Easy-to-use yet beautiful and powerful  event management system for successful events", 'wp-easy-events') , $display_version); ?>
     181<?php printf(esc_html__("Easy-to-use yet beautiful and powerful  event management system for successful events", 'wp-easy-events') , esc_html($display_version)); ?>
    182182</p>
    183 <div style="display: inline-block;"><a style="height: 50px; background:#ff8484;padding:10px 12px;color:#ffffff;text-align: center;font-weight: bold;line-height: 50px; font-family: Arial;border-radius: 6px; text-decoration: none;" href="https://emdplugins.com/plugin-pricing/wp-easy-events-wordpress-plugin-pricing/?pk_campaign=wp-easy-events-upgradebtn&amp;pk_kwd=wp-easy-events-resources"><?php printf(__('Upgrade Now', 'wp-easy-events') , $display_version); ?></a></div>
    184 <div style="display: inline-block;margin-bottom: 20px;"><a style="height: 50px; background:#f0ad4e;padding:10px 12px;color:#ffffff;text-align: center;font-weight: bold;line-height: 50px; font-family: Arial;border-radius: 6px; text-decoration: none;" href="https://wpeasyevents.emdplugins.com//?pk_campaign=wp-easy-events-buybtn&amp;pk_kwd=wp-easy-events-resources"><?php printf(__('Visit Pro Demo Site', 'wp-easy-events') , $display_version); ?></a></div>
     183<div style="display: inline-block;"><a style="height: 50px; background:#ff8484;padding:10px 12px;color:#ffffff;text-align: center;font-weight: bold;line-height: 50px; font-family: Arial;border-radius: 6px; text-decoration: none;" href="https://emdplugins.com/plugin-pricing/wp-easy-events-wordpress-plugin-pricing/?pk_campaign=wp-easy-events-upgradebtn&amp;pk_kwd=wp-easy-events-resources"><?php printf(esc_html__('Upgrade Now', 'wp-easy-events') , esc_html($display_version)); ?></a></div>
     184<div style="display: inline-block;margin-bottom: 20px;"><a style="height: 50px; background:#f0ad4e;padding:10px 12px;color:#ffffff;text-align: center;font-weight: bold;line-height: 50px; font-family: Arial;border-radius: 6px; text-decoration: none;" href="https://wpeasyevents.emdplugins.com//?pk_campaign=wp-easy-events-buybtn&amp;pk_kwd=wp-easy-events-resources"><?php printf(esc_html__('Visit Pro Demo Site', 'wp-easy-events') , esc_html($display_version)); ?></a></div>
    185185<?php
    186186    $tabs['getting-started'] = __('Getting Started', 'wp-easy-events');
     
    328328<li>Advanced custom reporting and real-time analytics to get the insights you need to increase attendance</li>
    329329</ul>
    330 <div style="margin:25px"><a href="https://emdplugins.com/plugins/wp-easy-events-wordpress-plugin/?pk_campaign=wpeepro-buybtn&pk_kwd=wp-easy-events-resources"><img style="width: 154px;" src="<?php echo WP_EASY_EVENTS_PLUGIN_URL . "assets/img/button_buy-now.png"; ?>"></a></div></div></div><div style="margin-top:15px"><a href="#rtop" class="top">Go to top</a></div><hr style="margin-top:40px"><div id="gs-sec-73"></div><div style="color:white;background:#0000003b;padding:5px 10px;font-size: 1.4em;font-weight: 600;">EMD CSV Import Export Extension helps you get your data in and out of WordPress quickly, saving you ton of time</div><div class="changelog emd-section getting-started-73" style="margin:0;background-color:white;padding:10px"><div class="emd-yt" data-youtube-id="yoSyp-zgrVA" data-ratio="16:9">loading...</div><div class="sec-desc"><p>This extension is included in the pro edition.</p>
     330<div style="margin:25px"><a href="https://emdplugins.com/plugins/wp-easy-events-wordpress-plugin/?pk_campaign=wpeepro-buybtn&pk_kwd=wp-easy-events-resources"><img style="width: 154px;" src="<?php echo esc_html(WP_EASY_EVENTS_PLUGIN_URL . "assets/img/button_buy-now.png"); ?>"></a></div></div></div><div style="margin-top:15px"><a href="#rtop" class="top">Go to top</a></div><hr style="margin-top:40px"><div id="gs-sec-73"></div><div style="color:white;background:#0000003b;padding:5px 10px;font-size: 1.4em;font-weight: 600;">EMD CSV Import Export Extension helps you get your data in and out of WordPress quickly, saving you ton of time</div><div class="changelog emd-section getting-started-73" style="margin:0;background-color:white;padding:10px"><div class="emd-yt" data-youtube-id="yoSyp-zgrVA" data-ratio="16:9">loading...</div><div class="sec-desc"><p>This extension is included in the pro edition.</p>
    331331<p>EMD CSV Import Export Extension helps bulk import, export, update entries from/to CSV files. You can also reset(delete) all data and start over again without modifying database. The export feature is also great for backups and archiving old or obsolete data.</p>
    332 <p><a href="https://emdplugins.com/plugin-features/wp-easy-events-importexport-addon/?pk_campaign=emdimpexp-buybtn&pk_kwd=wp-easy-events-resources"><img style="width: 154px;" src="<?php echo WP_EASY_EVENTS_PLUGIN_URL . "assets/img/button_buy-now.png"; ?>"></a></p></div></div><div style="margin-top:15px"><a href="#rtop" class="top">Go to top</a></div><hr style="margin-top:40px"><div id="gs-sec-72"></div><div style="color:white;background:#0000003b;padding:5px 10px;font-size: 1.4em;font-weight: 600;">EMD Advanced Filters and Columns Extension for finding what's important faster</div><div class="changelog emd-section getting-started-72" style="margin:0;background-color:white;padding:10px"><div class="emd-yt" data-youtube-id="GXcKKRzzsdw" data-ratio="16:9">loading...</div><div class="sec-desc"><p>This extension is included in the pro edition.</p>
     332<p><a href="https://emdplugins.com/plugin-features/wp-easy-events-importexport-addon/?pk_campaign=emdimpexp-buybtn&pk_kwd=wp-easy-events-resources"><img style="width: 154px;" src="<?php echo esc_html(WP_EASY_EVENTS_PLUGIN_URL . "assets/img/button_buy-now.png"); ?>"></a></p></div></div><div style="margin-top:15px"><a href="#rtop" class="top">Go to top</a></div><hr style="margin-top:40px"><div id="gs-sec-72"></div><div style="color:white;background:#0000003b;padding:5px 10px;font-size: 1.4em;font-weight: 600;">EMD Advanced Filters and Columns Extension for finding what's important faster</div><div class="changelog emd-section getting-started-72" style="margin:0;background-color:white;padding:10px"><div class="emd-yt" data-youtube-id="GXcKKRzzsdw" data-ratio="16:9">loading...</div><div class="sec-desc"><p>This extension is included in the pro edition.</p>
    333333<p>EMD Advanced Filters and Columns Extension for WP Easy Events Community edition helps you:</p>
    334334<ul><li>Filter entries quickly to find what you're looking for</li>
     
    337337<li>Change the display order of columns </li>
    338338<li>Enable or disable columns for better and cleaner look </li>
    339 <li>Export search results to PDF or CSV for custom reporting</li></ul><div style="margin:25px"><a href="https://emdplugins.com/plugin-features/wp-easy-events-smart-search-and-columns-addon/?pk_campaign=emd-afc-buybtn&pk_kwd=wp-easy-events-resources"><img style="width: 154px;" src="<?php echo WP_EASY_EVENTS_PLUGIN_URL . "assets/img/button_buy-now.png"; ?>"></a></div></div></div><div style="margin-top:15px"><a href="#rtop" class="top">Go to top</a></div><hr style="margin-top:40px"><div id="gs-sec-82"></div><div style="color:white;background:#0000003b;padding:5px 10px;font-size: 1.4em;font-weight: 600;">EMD QR Code Extension for easy and fast ticket processing</div><div class="changelog emd-section getting-started-82" style="margin:0;background-color:white;padding:10px"><div class="emd-yt" data-youtube-id="AfPAiXseYZY" data-ratio="16:9">loading...</div><div class="sec-desc"><p>This extension is included in the pro edition.</p>
     339<li>Export search results to PDF or CSV for custom reporting</li></ul><div style="margin:25px"><a href="https://emdplugins.com/plugin-features/wp-easy-events-smart-search-and-columns-addon/?pk_campaign=emd-afc-buybtn&pk_kwd=wp-easy-events-resources"><img style="width: 154px;" src="<?php echo esc_html(WP_EASY_EVENTS_PLUGIN_URL . "assets/img/button_buy-now.png"); ?>"></a></div></div></div><div style="margin-top:15px"><a href="#rtop" class="top">Go to top</a></div><hr style="margin-top:40px"><div id="gs-sec-82"></div><div style="color:white;background:#0000003b;padding:5px 10px;font-size: 1.4em;font-weight: 600;">EMD QR Code Extension for easy and fast ticket processing</div><div class="changelog emd-section getting-started-82" style="margin:0;background-color:white;padding:10px"><div class="emd-yt" data-youtube-id="AfPAiXseYZY" data-ratio="16:9">loading...</div><div class="sec-desc"><p>This extension is included in the pro edition.</p>
    340340<p>Creates a QR codes based check-in, check out system for the community edition of WP Easy Events WordPress plugin.</p>
    341341<ul>
     
    345345<li>Once attendee checks in, subsequent check-ins are not allowed</li>
    346346</ul>
    347 <div style="margin:25px"><a href="https://emdplugins.com/plugin-features/wp-easy-events-qr-code-addon/?pk_campaign=emd-qr-buybtn&pk_kwd=wp-easy-events-resources"><img style="width: 154px;" src="<?php echo WP_EASY_EVENTS_PLUGIN_URL . "assets/img/button_buy-now.png"; ?>"></a></div></div></div><div style="margin-top:15px"><a href="#rtop" class="top">Go to top</a></div><hr style="margin-top:40px"><div id="gs-sec-85"></div><div style="color:white;background:#0000003b;padding:5px 10px;font-size: 1.4em;font-weight: 600;">WP Easy Events WooCommerce Extension for integrated event ticket sales</div><div class="changelog emd-section getting-started-85" style="margin:0;background-color:white;padding:10px"><div class="emd-yt" data-youtube-id="nJxFFQdEFb8" data-ratio="16:9">loading...</div><div class="sec-desc"><p>WooCommerce Extension allows to sell event tickets using WooCommerce . This video shows how to configure tickets as WooCommerce products and link events to display add to cart buttons in event pages.The WooCommerce Extension can also be used in WP Easy Events Pro WordPress Plugin.</p><p>Features Summary:</p><ul><li>Collect ticket payments using WooCommerce WordPress plugin</li><li>Connect events to tickets easily</li><li>Ajax powered, smooth, fully integrated checkout process</li><li>Supports simple, grouped and variable priced tickets</li><li>Integrated ticket inventory management system through WooCommerce</li><li>All WooCommerce ticket orders are linked to events after order is completed.</li><li>Sell tickets and other products at the same time</li><li>After WooCommerce order completed, attendee gets <a href="/plugins/wp-easy-events-professional/#advanced-attendee-management" title="WP Easy Events ProfessionalWordPress Plugin WooCommerce extension">fully customizable email notification</a> with a link to event ticket</li></ul><div style="margin:25px"><a href="https://emdplugins.com/plugin-features/wp-easy-events-woocommerce-addon/?pk_campaign=wpee-woo-buybtn&pk_kwd=wp-easy-events-resources"><img style="width: 154px;" src="<?php echo WP_EASY_EVENTS_PLUGIN_URL . "assets/img/button_buy-now.png"; ?>"></a></div></div></div><div style="margin-top:15px"><a href="#rtop" class="top">Go to top</a></div><hr style="margin-top:40px"><div id="gs-sec-84"></div><div style="color:white;background:#0000003b;padding:5px 10px;font-size: 1.4em;font-weight: 600;">WP Easy Events Easy Digital Downloads Extension for integrated event ticket sales</div><div class="changelog emd-section getting-started-84" style="margin:0;background-color:white;padding:10px"><div class="emd-yt" data-youtube-id="RwFo2DXWtfE" data-ratio="16:9">loading...</div><div class="sec-desc"><p>Easy Digital Downloads Extension allows to sell event tickets using Easy Digital Downloads. This video shows how to create and configure Event tickets as downloads in EDD and link them to the related events to make them available for purchase.</p><p>Features Summary:</p><ul><li>Collect ticket payments using Easy Digital Downloads WordPress plugin</li><li>Connect events to tickets easily</li><li>Ajax powered, smooth, fully integrated checkout process</li><li>Supports simple, grouped and variable priced tickets</li><li>Integrated ticket inventory management system through EDD</li><li>All EDD ticket orders are linked to events after order is completed.</li><li>Sell tickets and other products at the same time</li><li>After Easy Digital Downloads order completed, attendee gets <a href="/plugins/wp-easy-events-professional/#advanced-attendee-management" title="WP Easy Events ProfessionalWordPress Plugin Easy Digital Downloads">fully customizable email notification</a> with a link to event ticket</li></ul><div style="margin:25px"><a href="https://emdplugins.com/plugin-features/wp-easy-events-easy-digital-downloads-addon/?pk_campaign=wpee-edd-buybtn&pk_kwd=wp-easy-events-resources"><img style="width: 154px;" src="<?php echo WP_EASY_EVENTS_PLUGIN_URL . "assets/img/button_buy-now.png"; ?>"></a></div></div></div><div style="margin-top:15px"><a href="#rtop" class="top">Go to top</a></div><hr style="margin-top:40px"><div id="gs-sec-140"></div><div style="color:white;background:#0000003b;padding:5px 10px;font-size: 1.4em;font-weight: 600;">EMD MailChimp Extension - A powerful way to promote your future events to the very people who already attended one of yours</div><div class="changelog emd-section getting-started-140" style="margin:0;background-color:white;padding:10px"><div class="emd-yt" data-youtube-id="Oi_c-0W1Sdo" data-ratio="16:9">loading...</div><div class="sec-desc"><p>MailChimp is an email marketing service to send email campaigns. EMD MailChimp Extension allows you to build email list based on your event registrations.</p><div style="margin:25px"><a href="https://emdplugins.com/plugin-features/wp-easy-events-mailchimp-addon/?pk_campaign=emd-mailchimp-buybtn&pk_kwd=wp-easy-events-resources"><img style="width: 154px;" src="<?php echo WP_EASY_EVENTS_PLUGIN_URL . "assets/img/button_buy-now.png"; ?>"></a></div></div></div><div style="margin-top:15px"><a href="#rtop" class="top">Go to top</a></div><hr style="margin-top:40px">
     347<div style="margin:25px"><a href="https://emdplugins.com/plugin-features/wp-easy-events-qr-code-addon/?pk_campaign=emd-qr-buybtn&pk_kwd=wp-easy-events-resources"><img style="width: 154px;" src="<?php echo esc_html(WP_EASY_EVENTS_PLUGIN_URL . "assets/img/button_buy-now.png"); ?>"></a></div></div></div><div style="margin-top:15px"><a href="#rtop" class="top">Go to top</a></div><hr style="margin-top:40px"><div id="gs-sec-85"></div><div style="color:white;background:#0000003b;padding:5px 10px;font-size: 1.4em;font-weight: 600;">WP Easy Events WooCommerce Extension for integrated event ticket sales</div><div class="changelog emd-section getting-started-85" style="margin:0;background-color:white;padding:10px"><div class="emd-yt" data-youtube-id="nJxFFQdEFb8" data-ratio="16:9">loading...</div><div class="sec-desc"><p>WooCommerce Extension allows to sell event tickets using WooCommerce . This video shows how to configure tickets as WooCommerce products and link events to display add to cart buttons in event pages.The WooCommerce Extension can also be used in WP Easy Events Pro WordPress Plugin.</p><p>Features Summary:</p><ul><li>Collect ticket payments using WooCommerce WordPress plugin</li><li>Connect events to tickets easily</li><li>Ajax powered, smooth, fully integrated checkout process</li><li>Supports simple, grouped and variable priced tickets</li><li>Integrated ticket inventory management system through WooCommerce</li><li>All WooCommerce ticket orders are linked to events after order is completed.</li><li>Sell tickets and other products at the same time</li><li>After WooCommerce order completed, attendee gets <a href="/plugins/wp-easy-events-professional/#advanced-attendee-management" title="WP Easy Events ProfessionalWordPress Plugin WooCommerce extension">fully customizable email notification</a> with a link to event ticket</li></ul><div style="margin:25px"><a href="https://emdplugins.com/plugin-features/wp-easy-events-woocommerce-addon/?pk_campaign=wpee-woo-buybtn&pk_kwd=wp-easy-events-resources"><img style="width: 154px;" src="<?php echo esc_html(WP_EASY_EVENTS_PLUGIN_URL . "assets/img/button_buy-now.png"); ?>"></a></div></div></div><div style="margin-top:15px"><a href="#rtop" class="top">Go to top</a></div><hr style="margin-top:40px"><div id="gs-sec-84"></div><div style="color:white;background:#0000003b;padding:5px 10px;font-size: 1.4em;font-weight: 600;">WP Easy Events Easy Digital Downloads Extension for integrated event ticket sales</div><div class="changelog emd-section getting-started-84" style="margin:0;background-color:white;padding:10px"><div class="emd-yt" data-youtube-id="RwFo2DXWtfE" data-ratio="16:9">loading...</div><div class="sec-desc"><p>Easy Digital Downloads Extension allows to sell event tickets using Easy Digital Downloads. This video shows how to create and configure Event tickets as downloads in EDD and link them to the related events to make them available for purchase.</p><p>Features Summary:</p><ul><li>Collect ticket payments using Easy Digital Downloads WordPress plugin</li><li>Connect events to tickets easily</li><li>Ajax powered, smooth, fully integrated checkout process</li><li>Supports simple, grouped and variable priced tickets</li><li>Integrated ticket inventory management system through EDD</li><li>All EDD ticket orders are linked to events after order is completed.</li><li>Sell tickets and other products at the same time</li><li>After Easy Digital Downloads order completed, attendee gets <a href="/plugins/wp-easy-events-professional/#advanced-attendee-management" title="WP Easy Events ProfessionalWordPress Plugin Easy Digital Downloads">fully customizable email notification</a> with a link to event ticket</li></ul><div style="margin:25px"><a href="https://emdplugins.com/plugin-features/wp-easy-events-easy-digital-downloads-addon/?pk_campaign=wpee-edd-buybtn&pk_kwd=wp-easy-events-resources"><img style="width: 154px;" src="<?php echo esc_html(WP_EASY_EVENTS_PLUGIN_URL . "assets/img/button_buy-now.png"); ?>"></a></div></div></div><div style="margin-top:15px"><a href="#rtop" class="top">Go to top</a></div><hr style="margin-top:40px"><div id="gs-sec-140"></div><div style="color:white;background:#0000003b;padding:5px 10px;font-size: 1.4em;font-weight: 600;">EMD MailChimp Extension - A powerful way to promote your future events to the very people who already attended one of yours</div><div class="changelog emd-section getting-started-140" style="margin:0;background-color:white;padding:10px"><div class="emd-yt" data-youtube-id="Oi_c-0W1Sdo" data-ratio="16:9">loading...</div><div class="sec-desc"><p>MailChimp is an email marketing service to send email campaigns. EMD MailChimp Extension allows you to build email list based on your event registrations.</p><div style="margin:25px"><a href="https://emdplugins.com/plugin-features/wp-easy-events-mailchimp-addon/?pk_campaign=emd-mailchimp-buybtn&pk_kwd=wp-easy-events-resources"><img style="width: 154px;" src="<?php echo esc_html(WP_EASY_EVENTS_PLUGIN_URL . "assets/img/button_buy-now.png"); ?>"></a></div></div></div><div style="margin-top:15px"><a href="#rtop" class="top">Go to top</a></div><hr style="margin-top:40px">
    348348
    349349<?php echo '</div>'; ?>
     
    598598    echo '>';
    599599?>
    600 <div style="color:white;background:#0000003b;padding:5px 10px;font-size: 1.4em;font-weight: 600;">How to resolve theme related issues</div><div class="emd-section changelog resources resources-74" style="margin:0;background-color:white;padding:10px"><div style="height:40px" id="gs-sec-74"></div><div id="gallery" class="wp-clearfix"><div class="sec-img gallery-item"><a class="thickbox tooltip" rel="gallery-74" href="<?php echo WP_EASY_EVENTS_PLUGIN_URL . "assets/img/emd_templating_system.png"; ?>"><img src="<?php echo WP_EASY_EVENTS_PLUGIN_URL . "assets/img/emd_templating_system.png"; ?>"></a></div></div><div class="sec-desc"><p>If your theme is not coded based on WordPress theme coding standards, does have an unorthodox markup or its style.css is messing up how WP Easy Events Community pages look and feel, you will see some unusual changes on your site such as sidebars not getting displayed where they are supposed to or random text getting displayed on headers etc. after plugin activation.</p>
     600<div style="color:white;background:#0000003b;padding:5px 10px;font-size: 1.4em;font-weight: 600;">How to resolve theme related issues</div><div class="emd-section changelog resources resources-74" style="margin:0;background-color:white;padding:10px"><div style="height:40px" id="gs-sec-74"></div><div id="gallery" class="wp-clearfix"><div class="sec-img gallery-item"><a class="thickbox tooltip" rel="gallery-74" href="<?php echo esc_html(WP_EASY_EVENTS_PLUGIN_URL . "assets/img/emd_templating_system.png"); ?>"><img src="<?php echo esc_html(WP_EASY_EVENTS_PLUGIN_URL . "assets/img/emd_templating_system.png"); ?>"></a></div></div><div class="sec-desc"><p>If your theme is not coded based on WordPress theme coding standards, does have an unorthodox markup or its style.css is messing up how WP Easy Events Community pages look and feel, you will see some unusual changes on your site such as sidebars not getting displayed where they are supposed to or random text getting displayed on headers etc. after plugin activation.</p>
    601601<p>The good news is WP Easy Events Community plugin is designed to minimize theme related issues by providing two distinct templating systems:</p>
    602602<ul>
     
    621621<p>Explore the full list of features available in the the latest version of WP Easy Events. Click on a feature title to learn more.</p>
    622622<table class="widefat features striped form-table" style="width:auto;font-size:16px">
    623 <tr><td><a href="https://emdplugins.com/wp-easy-events-easy-to-use-widgets?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo WP_EASY_EVENTS_PLUGIN_URL . "assets/img/video-folder.png"; ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-easy-to-use-widgets?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">Effortless Event Promotion: Customizable Widgets for Your Website</a></td><td></td></tr>
    624 <tr><td><a href="https://emdplugins.com/wp-easy-events-group-events?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo WP_EASY_EVENTS_PLUGIN_URL . "assets/img/shop.png"; ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-group-events?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">Organized Events, Happy Users: Streamline Your Event Hub</a></td><td></td></tr>
    625 <tr><td><a href="https://emdplugins.com/wp-easy-events-responsive-mobile-friendly?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo WP_EASY_EVENTS_PLUGIN_URL . "assets/img/responsive.png"; ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-responsive-mobile-friendly?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">Go Mobile-First: Responsive Design for Your Thriving Event Hub</a></td><td></td></tr>
    626 <tr><td><a href="https://emdplugins.com/wp-easy-events-one-place-for-all-your-events?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo WP_EASY_EVENTS_PLUGIN_URL . "assets/img/central-location.png"; ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-one-place-for-all-your-events?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">Manage Everything in One Place with WP Easy Events</a></td><td></td></tr>
    627 <tr><td><a href="https://emdplugins.com/wp-easy-events-customize-everything?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo WP_EASY_EVENTS_PLUGIN_URL . "assets/img/settings.png"; ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-customize-everything?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">Customize Your Way to Success with WP Easy Events</a></td><td></td></tr>
    628 <tr><td><a href="https://emdplugins.com/wp-easy-events-mailchimp-addon?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo WP_EASY_EVENTS_PLUGIN_URL . "assets/img/mailchimp.png"; ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-mailchimp-addon?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">From Sign-Up to Follow-Up: Nurture Leads with Mailchimp</a></td><td> - Add-on</td></tr>
    629 <tr><td><a href="https://emdplugins.com/wp-easy-events-smart-search-and-columns-addon?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo WP_EASY_EVENTS_PLUGIN_URL . "assets/img/zoomin.png"; ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-smart-search-and-columns-addon?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">Supercharge Your Data with WP Easy Events Smart Search Addon</a></td><td> - Add-on (included both Pro and Enterprise)</td></tr>
    630 <tr><td><a href="https://emdplugins.com/wp-easy-events-easy-digital-downloads-addon?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo WP_EASY_EVENTS_PLUGIN_URL . "assets/img/eddcom.png"; ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-easy-digital-downloads-addon?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">Effortless Ticketing Solution: Sell Tickets & Manage Events Seamlessly</a></td><td> - Add-on</td></tr>
    631 <tr><td><a href="https://emdplugins.com/wp-easy-events-import-export-addon?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo WP_EASY_EVENTS_PLUGIN_URL . "assets/img/csv-impexp.png"; ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-import-export-addon?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">Cross-App Consistency: Synchronize Event Data Anywhere</a></td><td> - Add-on (included both Pro and Enterprise)</td></tr>
    632 <tr><td><a href="https://emdplugins.com/wp-easy-events-qr-code-addon?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo WP_EASY_EVENTS_PLUGIN_URL . "assets/img/qrcode.png"; ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-qr-code-addon?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">From Tickets to Tech: Modernize Check-In with WP Easy Events QR Codes</a></td><td> - Add-on (included both Pro and Enterprise)</td></tr>
    633 <tr><td><a href="https://emdplugins.com/wp-easy-events-woocommerce-addon?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo WP_EASY_EVENTS_PLUGIN_URL . "assets/img/woocom.png"; ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-woocommerce-addon?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">Leverage Your Store: Sell Tickets Through WooCommerce</a></td><td> - Add-on</td></tr>
    634 <tr><td><a href="https://emdplugins.com/wp-easy-events-create-multi-vendor-event-management-marketplace?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo WP_EASY_EVENTS_PLUGIN_URL . "assets/img/marketplace.png"; ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-create-multi-vendor-event-management-marketplace?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">Empower Vendors, Engage Attendees: Build a Vibrant Event Hub</a></td><td> - Premium feature (Included in Enterprise only)</td></tr>
    635 <tr><td><a href="https://emdplugins.com/wp-easy-events-frontend-content-editing?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo WP_EASY_EVENTS_PLUGIN_URL . "assets/img/frontend_edit.png"; ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-frontend-content-editing?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">Effortless Event Creation: Anyone Can Build Your Event Hub</a></td><td> - Premium feature (Included in Enterprise only)</td></tr>
    636 <tr><td><a href="https://emdplugins.com/wp-easy-events-attract-more-event-sponsors?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo WP_EASY_EVENTS_PLUGIN_URL . "assets/img/sponsors.png"; ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-attract-more-event-sponsors?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">Showcase & Engage Sponsors with WP Easy Events</a></td><td> - Premium feature (Included in Enterprise only)</td></tr>
    637 <tr><td><a href="https://emdplugins.com/wp-easy-events-create-conference-or-multi-session-events?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo WP_EASY_EVENTS_PLUGIN_URL . "assets/img/conference.png"; ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-create-conference-or-multi-session-events?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">Manage Complex Events Simply with WP Easy Events</a></td><td> - Premium feature (Included in Enterprise only)</td></tr>
    638 <tr><td><a href="https://emdplugins.com/wp-easy-events-set-up-recurring-events?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo WP_EASY_EVENTS_PLUGIN_URL . "assets/img/repeating_events.png"; ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-set-up-recurring-events?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">Set It and Forget It: Automate Your Events with WP Easy Events</a></td><td> - Premium feature (included in both Pro and Enterprise)</td></tr>
    639 <tr><td><a href="https://emdplugins.com/wp-easy-events-allow-event-staff-do-more?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo WP_EASY_EVENTS_PLUGIN_URL . "assets/img/empower-users.png"; ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-allow-event-staff-do-more?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">Streamline Event Management with Powerful Staff Roles</a></td><td> - Premium feature (included in both Pro and Enterprise)</td></tr>
    640 <tr><td><a href="https://emdplugins.com/wp-easy-events-real-time-event-metrics?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo WP_EASY_EVENTS_PLUGIN_URL . "assets/img/analytics.png"; ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-real-time-event-metrics?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">Make Every Event Count: Data-Driven Decisions with WP Easy Events</a></td><td> - Premium feature (included in both Pro and Enterprise)</td></tr>
    641 <tr><td><a href="https://emdplugins.com/wp-easy-events-promote-on-social-media?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo WP_EASY_EVENTS_PLUGIN_URL . "assets/img/social-share.png"; ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-promote-on-social-media?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">Click, Share, Attend: Boost Event Promotion with WP Easy Events</a></td><td> - Premium feature (Included in both Pro and Enterprise. Enterprise has more powerful features.)</td></tr>
    642 <tr><td><a href="https://emdplugins.com/wp-easy-events-assign-roles-to-your-team?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo WP_EASY_EVENTS_PLUGIN_URL . "assets/img/key.png"; ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-assign-roles-to-your-team?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">Right People, Right Access: Assign Event Roles & Simplify Workflow</a></td><td> - Premium feature (included in both Pro and Enterprise)</td></tr>
    643 <tr><td><a href="https://emdplugins.com/wp-easy-events-relate-your-events-to-each-other?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo WP_EASY_EVENTS_PLUGIN_URL . "assets/img/rgb.png"; ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-relate-your-events-to-each-other?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">More Events, More Engagement: Unleash the Power of Related Event Linking</a></td><td> - Premium feature (included in both Pro and Enterprise)</td></tr>
    644 <tr><td><a href="https://emdplugins.com/wp-easy-events-measure-results?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo WP_EASY_EVENTS_PLUGIN_URL . "assets/img/dashboard.png"; ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-measure-results?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">Unleash the Power of Event Data with WP Easy Events</a></td><td> - Premium feature (included in both Pro and Enterprise)</td></tr>
    645 <tr><td><a href="https://emdplugins.com/wp-easy-events-custom-fields?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo WP_EASY_EVENTS_PLUGIN_URL . "assets/img/brush-pencil.png"; ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-custom-fields?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">Unleash the Power of Custom Event Data with WP Easy Events</a></td><td> - Premium feature (included in both Pro and Enterprise)</td></tr>
    646 <tr><td><a href="https://emdplugins.com/wp-easy-events-create-custom-views?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo WP_EASY_EVENTS_PLUGIN_URL . "assets/img/mix-match.png"; ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-create-custom-views?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">Build Captivating Event Listings with WP Easy Events Shortcodes</a></td><td> - Premium feature (included in both Pro and Enterprise)</td></tr>
    647 <tr><td><a href="https://emdplugins.com/wp-easy-events-let-your-visitors-rate-your-events?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo WP_EASY_EVENTS_PLUGIN_URL . "assets/img/heart.png"; ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-let-your-visitors-rate-your-events?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">Ratings & Reviews for Events & More in WP Easy Events</a></td><td> - Premium feature (included in both Pro and Enterprise)</td></tr>
    648 <tr><td><a href="https://emdplugins.com/wp-easy-events-manage-event-performers?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo WP_EASY_EVENTS_PLUGIN_URL . "assets/img/performer.png"; ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-manage-event-performers?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">Manage & Showcase All Your Performers with WP Easy Events</a></td><td> - Premium feature (included in both Pro and Enterprise)</td></tr>
     623<tr><td><a href="https://emdplugins.com/wp-easy-events-easy-to-use-widgets?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo esc_html(WP_EASY_EVENTS_PLUGIN_URL . "assets/img/video-folder.png"); ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-easy-to-use-widgets?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">Effortless Event Promotion: Customizable Widgets for Your Website</a></td><td></td></tr>
     624<tr><td><a href="https://emdplugins.com/wp-easy-events-group-events?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo esc_html(WP_EASY_EVENTS_PLUGIN_URL . "assets/img/shop.png"); ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-group-events?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">Organized Events, Happy Users: Streamline Your Event Hub</a></td><td></td></tr>
     625<tr><td><a href="https://emdplugins.com/wp-easy-events-responsive-mobile-friendly?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo esc_html(WP_EASY_EVENTS_PLUGIN_URL . "assets/img/responsive.png"); ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-responsive-mobile-friendly?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">Go Mobile-First: Responsive Design for Your Thriving Event Hub</a></td><td></td></tr>
     626<tr><td><a href="https://emdplugins.com/wp-easy-events-one-place-for-all-your-events?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo esc_html(WP_EASY_EVENTS_PLUGIN_URL . "assets/img/central-location.png"); ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-one-place-for-all-your-events?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">Manage Everything in One Place with WP Easy Events</a></td><td></td></tr>
     627<tr><td><a href="https://emdplugins.com/wp-easy-events-customize-everything?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo esc_html(WP_EASY_EVENTS_PLUGIN_URL . "assets/img/settings.png"); ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-customize-everything?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">Customize Your Way to Success with WP Easy Events</a></td><td></td></tr>
     628<tr><td><a href="https://emdplugins.com/wp-easy-events-mailchimp-addon?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo esc_html(WP_EASY_EVENTS_PLUGIN_URL . "assets/img/mailchimp.png"); ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-mailchimp-addon?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">From Sign-Up to Follow-Up: Nurture Leads with Mailchimp</a></td><td> - Add-on</td></tr>
     629<tr><td><a href="https://emdplugins.com/wp-easy-events-smart-search-and-columns-addon?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo esc_html(WP_EASY_EVENTS_PLUGIN_URL . "assets/img/zoomin.png"); ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-smart-search-and-columns-addon?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">Supercharge Your Data with WP Easy Events Smart Search Addon</a></td><td> - Add-on (included both Pro and Enterprise)</td></tr>
     630<tr><td><a href="https://emdplugins.com/wp-easy-events-easy-digital-downloads-addon?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo esc_html(WP_EASY_EVENTS_PLUGIN_URL . "assets/img/eddcom.png"); ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-easy-digital-downloads-addon?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">Effortless Ticketing Solution: Sell Tickets & Manage Events Seamlessly</a></td><td> - Add-on</td></tr>
     631<tr><td><a href="https://emdplugins.com/wp-easy-events-import-export-addon?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo esc_html(WP_EASY_EVENTS_PLUGIN_URL . "assets/img/csv-impexp.png"); ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-import-export-addon?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">Cross-App Consistency: Synchronize Event Data Anywhere</a></td><td> - Add-on (included both Pro and Enterprise)</td></tr>
     632<tr><td><a href="https://emdplugins.com/wp-easy-events-qr-code-addon?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo esc_html(WP_EASY_EVENTS_PLUGIN_URL . "assets/img/qrcode.png"); ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-qr-code-addon?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">From Tickets to Tech: Modernize Check-In with WP Easy Events QR Codes</a></td><td> - Add-on (included both Pro and Enterprise)</td></tr>
     633<tr><td><a href="https://emdplugins.com/wp-easy-events-woocommerce-addon?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo esc_html(WP_EASY_EVENTS_PLUGIN_URL . "assets/img/woocom.png"); ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-woocommerce-addon?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">Leverage Your Store: Sell Tickets Through WooCommerce</a></td><td> - Add-on</td></tr>
     634<tr><td><a href="https://emdplugins.com/wp-easy-events-create-multi-vendor-event-management-marketplace?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo esc_html(WP_EASY_EVENTS_PLUGIN_URL . "assets/img/marketplace.png"); ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-create-multi-vendor-event-management-marketplace?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">Empower Vendors, Engage Attendees: Build a Vibrant Event Hub</a></td><td> - Premium feature (Included in Enterprise only)</td></tr>
     635<tr><td><a href="https://emdplugins.com/wp-easy-events-frontend-content-editing?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo esc_html(WP_EASY_EVENTS_PLUGIN_URL . "assets/img/frontend_edit.png"); ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-frontend-content-editing?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">Effortless Event Creation: Anyone Can Build Your Event Hub</a></td><td> - Premium feature (Included in Enterprise only)</td></tr>
     636<tr><td><a href="https://emdplugins.com/wp-easy-events-attract-more-event-sponsors?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo esc_html(WP_EASY_EVENTS_PLUGIN_URL . "assets/img/sponsors.png"); ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-attract-more-event-sponsors?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">Showcase & Engage Sponsors with WP Easy Events</a></td><td> - Premium feature (Included in Enterprise only)</td></tr>
     637<tr><td><a href="https://emdplugins.com/wp-easy-events-create-conference-or-multi-session-events?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo esc_html(WP_EASY_EVENTS_PLUGIN_URL . "assets/img/conference.png"); ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-create-conference-or-multi-session-events?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">Manage Complex Events Simply with WP Easy Events</a></td><td> - Premium feature (Included in Enterprise only)</td></tr>
     638<tr><td><a href="https://emdplugins.com/wp-easy-events-set-up-recurring-events?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo esc_html(WP_EASY_EVENTS_PLUGIN_URL . "assets/img/repeating_events.png"); ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-set-up-recurring-events?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">Set It and Forget It: Automate Your Events with WP Easy Events</a></td><td> - Premium feature (included in both Pro and Enterprise)</td></tr>
     639<tr><td><a href="https://emdplugins.com/wp-easy-events-allow-event-staff-do-more?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo esc_html(WP_EASY_EVENTS_PLUGIN_URL . "assets/img/empower-users.png"); ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-allow-event-staff-do-more?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">Streamline Event Management with Powerful Staff Roles</a></td><td> - Premium feature (included in both Pro and Enterprise)</td></tr>
     640<tr><td><a href="https://emdplugins.com/wp-easy-events-real-time-event-metrics?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo esc_html(WP_EASY_EVENTS_PLUGIN_URL . "assets/img/analytics.png"); ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-real-time-event-metrics?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">Make Every Event Count: Data-Driven Decisions with WP Easy Events</a></td><td> - Premium feature (included in both Pro and Enterprise)</td></tr>
     641<tr><td><a href="https://emdplugins.com/wp-easy-events-promote-on-social-media?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo esc_html(WP_EASY_EVENTS_PLUGIN_URL . "assets/img/social-share.png"); ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-promote-on-social-media?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">Click, Share, Attend: Boost Event Promotion with WP Easy Events</a></td><td> - Premium feature (Included in both Pro and Enterprise. Enterprise has more powerful features.)</td></tr>
     642<tr><td><a href="https://emdplugins.com/wp-easy-events-assign-roles-to-your-team?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo esc_html(WP_EASY_EVENTS_PLUGIN_URL . "assets/img/key.png"); ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-assign-roles-to-your-team?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">Right People, Right Access: Assign Event Roles & Simplify Workflow</a></td><td> - Premium feature (included in both Pro and Enterprise)</td></tr>
     643<tr><td><a href="https://emdplugins.com/wp-easy-events-relate-your-events-to-each-other?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo esc_html(WP_EASY_EVENTS_PLUGIN_URL . "assets/img/rgb.png"); ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-relate-your-events-to-each-other?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">More Events, More Engagement: Unleash the Power of Related Event Linking</a></td><td> - Premium feature (included in both Pro and Enterprise)</td></tr>
     644<tr><td><a href="https://emdplugins.com/wp-easy-events-measure-results?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo esc_html(WP_EASY_EVENTS_PLUGIN_URL . "assets/img/dashboard.png"); ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-measure-results?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">Unleash the Power of Event Data with WP Easy Events</a></td><td> - Premium feature (included in both Pro and Enterprise)</td></tr>
     645<tr><td><a href="https://emdplugins.com/wp-easy-events-custom-fields?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo esc_html(WP_EASY_EVENTS_PLUGIN_URL . "assets/img/brush-pencil.png"); ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-custom-fields?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">Unleash the Power of Custom Event Data with WP Easy Events</a></td><td> - Premium feature (included in both Pro and Enterprise)</td></tr>
     646<tr><td><a href="https://emdplugins.com/wp-easy-events-create-custom-views?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo esc_html(WP_EASY_EVENTS_PLUGIN_URL . "assets/img/mix-match.png"); ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-create-custom-views?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">Build Captivating Event Listings with WP Easy Events Shortcodes</a></td><td> - Premium feature (included in both Pro and Enterprise)</td></tr>
     647<tr><td><a href="https://emdplugins.com/wp-easy-events-let-your-visitors-rate-your-events?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo esc_html(WP_EASY_EVENTS_PLUGIN_URL . "assets/img/heart.png"); ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-let-your-visitors-rate-your-events?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">Ratings & Reviews for Events & More in WP Easy Events</a></td><td> - Premium feature (included in both Pro and Enterprise)</td></tr>
     648<tr><td><a href="https://emdplugins.com/wp-easy-events-manage-event-performers?pk_campaign=wp-easy-events-com&pk_kwd=getting-started"><img style="width:128px;height:auto" src="<?php echo esc_html(WP_EASY_EVENTS_PLUGIN_URL . "assets/img/performer.png"); ?>"></a></td><td><a href="https://emdplugins.com/wp-easy-events-manage-event-performers?pk_campaign=wp-easy-events-com&pk_kwd=getting-started">Manage & Showcase All Your Performers with WP Easy Events</a></td><td> - Premium feature (included in both Pro and Enterprise)</td></tr>
    649649</table>
    650650<?php echo '</div>'; ?>
  • wp-easy-events/trunk/includes/admin/glossary.php

    r3237156 r3342904  
    184184<div class="accordion-section-content">
    185185<div class="inside">
    186 <table class="form-table"><p class"lead"><?php esc_html_e('', 'wp-easy-events'); ?></p><tr><th style='font-size: 1.1em;color:cadetblue;border-bottom: 1px dashed;padding-bottom: 10px;' colspan=2><div><?php esc_html_e('Attributes', 'wp-easy-events'); ?></div></th></tr>
     186<table class="form-table"><p class="lead"></p><tr><th style='font-size: 1.1em;color:cadetblue;border-bottom: 1px dashed;padding-bottom: 10px;' colspan=2><div><?php esc_html_e('Attributes', 'wp-easy-events'); ?></div></th></tr>
    187187<tr>
    188188<th><?php esc_html_e('Title', 'wp-easy-events'); ?></th>
  • wp-easy-events/trunk/includes/admin/settings-functions-globs.php

    r3021434 r3342904  
    1818    if(!empty($init_variables)){
    1919        $tabs['global'] = __('Global', 'wp-easy-events');
    20         echo '<p>' . settings_errors($app . '_glob_list') . '</p>';
     20        echo '<p>';
     21        settings_errors($app . '_glob_list');
     22            echo '</p>';
    2123    }
    2224    return $tabs;
     
    176178                break;
    177179            case 'wysiwyg':
    178                 echo wp_editor($val, esc_attr($app) . "_glob_list_" . $id, array(
     180                wp_editor($val, esc_attr($app) . "_glob_list_" . $id, array(
    179181                            'tinymce' => false,
    180182                            'textarea_rows' => 10,
  • wp-easy-events/trunk/includes/admin/settings-functions-misc.php

    r3021434 r3342904  
    3434                if($show_tab == 1){
    3535            $tabs['misc'] = __('Misc', 'wp-easy-events');
    36             echo '<p>' . settings_errors(esc_attr($app) . '_misc_settings') . '</p>';
     36            echo '<p>';
     37            settings_errors(esc_attr($app) . '_misc_settings');
     38                echo '</p>';
    3739        }
    3840        return $tabs;
  • wp-easy-events/trunk/includes/admin/settings-functions.php

    r3237156 r3342904  
    5656            }
    5757        }
    58         echo '<p>' . settings_errors($app . '_ent_map_list') . '</p>';
     58        echo '<p>';
     59        settings_errors($app . '_ent_map_list');
     60            echo '</p>';
    5961        if(!empty($new_tax_list)){ 
    60             echo '<p>' . settings_errors($app . '_tax_settings') . '</p>';
     62            echo '<p>';
     63            settings_errors($app . '_tax_settings');
     64                echo '</p>';
    6165            $tabs['taxonomy'] = esc_html__('Taxonomies', 'wp-easy-events');
    6266        }
     
    222226                    echo ">" . esc_html($vcont) . "</option>";
    223227                }
    224                 echo "</select><p class='description'>" . sprintf(esc_html__('Change this if the sidebars are getting out of your page boundry. Fixed type provides a responsive fixed width container for single %s. Full type provides a full width container, spanning the entire width of the viewport for single %s.','wp-easy-events'),esc_html(strtolower($myent['label'])),esc_html(strtolower($myent['label']))) . "</p></td></tr>";
     228                echo "</select><p class='description'>" . sprintf(esc_html__('Change this if the sidebars are getting out of your page boundry. Fixed type provides a responsive fixed width container for single %1$s. Full type provides a full width container, spanning the entire width of the viewport for single %2$s.','wp-easy-events'),esc_html(strtolower($myent['label'])),esc_html(strtolower($myent['label']))) . "</p></td></tr>";
    225229                echo "<tr><th scope='row'><label for='ent_map_list_" . esc_attr($kent) . "_hide_prev_next'>";
    226230                echo esc_html__('Hide previous next links','wp-easy-events');
     
    231235                }
    232236                echo ">";
    233                 echo "<p class='description'>" . sprintf(esc_html__('Hides the previous and next %s links on the frontend for single %s.','wp-easy-events'),esc_html(strtolower($myent['label'])),esc_html(strtolower($myent['label']))) . "</p></td></tr>";
     237                echo "<p class='description'>" . sprintf(esc_html__('Hides the previous and next %1$s links on the frontend for single %2$s.','wp-easy-events'),esc_html(strtolower($myent['label'])),esc_html(strtolower($myent['label']))) . "</p></td></tr>";
    234238                echo "<tr><th scope='row'><label for='ent_map_list_" . esc_attr($kent) . "_hide_edit_link'>";
    235239                echo esc_html__('Hide edit links','wp-easy-events');
     
    240244                }
    241245                echo ">";
    242                 echo "<p class='description'>" . sprintf(esc_html__('Hides edit %s link on the frontend for single %s.','wp-easy-events'),esc_html(strtolower($myent['label'])),esc_html(strtolower($myent['label']))) . "</p></td></tr>";
     246                echo "<p class='description'>" . sprintf(esc_html__('Hides edit %1$s link on the frontend for single %2$s.','wp-easy-events'),esc_html(strtolower($myent['label'])),esc_html(strtolower($myent['label']))) . "</p></td></tr>";
    243247            }
    244248            if($ent_list[$kent]['archive_view']){   
     
    269273                    echo ">" . esc_html($vcont) . "</option>";
    270274                }
    271                 echo "</select><p class='description'>" . sprintf(esc_html__('Change this if the sidebars are getting out of your page boundry. Fixed type provides a responsive fixed width container for archive %s. Full type provides a full width container, spanning the entire width of the viewport for archive %s.','wp-easy-events'),esc_html(strtolower($myent['label'])),esc_html(strtolower($myent['label']))) . "</p></td></tr>";
     275                echo "</select><p class='description'>" . sprintf(esc_html__('Change this if the sidebars are getting out of your page boundry. Fixed type provides a responsive fixed width container for archive %1$s. Full type provides a full width container, spanning the entire width of the viewport for archive %2$s.','wp-easy-events'),esc_html(strtolower($myent['label'])),esc_html(strtolower($myent['label']))) . "</p></td></tr>";
    272276                echo "<tr><th scope='row'><label for='ent_map_list_" . esc_attr($kent) . "_hide_archive_page_nav'>";
    273277                echo esc_html__('Hide page navigation','wp-easy-events');
     
    854858                echo esc_html($comment_list[$kent]['label']);
    855859                echo '</h3>';
    856                 echo "<span class='description' style='padding-left:10px;color:#777;'>- " . sprintf(esc_html__('Use the options below to customize %s %s.','wp-easy-events'),esc_html(strtolower($myent['label'])),esc_html(strtolower($comment_list[$kent]['label']))) . "</span></th></tr>";
     860                echo "<span class='description' style='padding-left:10px;color:#777;'>- " . sprintf(esc_html__('Use the options below to customize %1$s %2$s.','wp-easy-events'),esc_html(strtolower($myent['label'])),esc_html(strtolower($comment_list[$kent]['label']))) . "</span></th></tr>";
    857861                echo "<tr><th scope='row'><label for='ent_map_list_" . esc_attr($kent) . "_comment_placeholder'>";
    858862                echo esc_html__('Set placeholder','wp-easy-events');
     
    10501054            }
    10511055            echo "</select></td></tr>";
    1052             echo "<tr><th scope='row'><label for='ent_map_list_" . esc_attr($mattr_key) . "_marker'>" . esc_html__('Marker','wp-easy-events') . "</th><td><input id='" . esc_attr($app) . "_ent_map_list_" . esc_attr($mattr_key) . "_marker' name='" . esc_attr($app) . "_ent_map_list[" . esc_attr($mattr_key) . "][marker]' type='checkbox' value=1 $marker></input></td></tr>";
    1053             echo "<tr><th scope='row'><label for='ent_map_list_" . esc_attr($mattr_key) . "_load_info'>" . esc_html__('Display info window on page load','wp-easy-events') . "</th><td><input id='" . esc_attr($app) . "_ent_map_list_" . esc_attr($mattr_key) . "_load_info' name='" . esc_attr($app) . "_ent_map_list[" . esc_attr($mattr_key) . "][load_info]' type='checkbox' value=1 $load_info></input></td></tr>";
     1056            echo "<tr><th scope='row'><label for='ent_map_list_" . esc_attr($mattr_key) . "_marker'>" . esc_html__('Marker','wp-easy-events') . "</th><td><input id='" . esc_attr($app) . "_ent_map_list_" . esc_attr($mattr_key) . "_marker' name='" . esc_attr($app) . "_ent_map_list[" . esc_attr($mattr_key) . "][marker]' type='checkbox' value=1 " . esc_attr($marker) . "></input></td></tr>";
     1057            echo "<tr><th scope='row'><label for='ent_map_list_" . esc_attr($mattr_key) . "_load_info'>" . esc_html__('Display info window on page load','wp-easy-events') . "</th><td><input id='" . esc_attr($app) . "_ent_map_list_" . esc_attr($mattr_key) . "_load_info' name='" . esc_attr($app) . "_ent_map_list[" . esc_attr($mattr_key) . "][load_info]' type='checkbox' value=1 " . esc_attr($load_info) . "></input></td></tr>";
    10541058            echo "</div></td></tr></table></td></tr>";
    10551059            echo '</td>
     
    13391343        echo esc_html__('Install pages','wp-easy-events');
    13401344        echo '</label></th><td>';
    1341         echo '<a href="' .  wp_nonce_url( admin_url('admin.php?page=' . esc_attr($app) . '_settings&tab=tools&action=install_pages'), 'install_pages_action' ) . '" class="button install_pages">' . esc_html__( 'Install pages', 'wp-easy-events' ) . '</a>';
     1345        echo '<a href="' .  esc_url(wp_nonce_url( admin_url('admin.php?page=' . esc_attr($app) . '_settings&tab=tools&action=install_pages'), 'install_pages_action' )) . '" class="button install_pages">' . esc_html__( 'Install pages', 'wp-easy-events' ) . '</a>';
    13421346        echo "<p class='description'>" . sprintf(esc_html__('This tool will install all the missing %s pages. Pages already defined and set up will not be replaced.','wp-easy-events'),esc_html($shc_list['app'])) . "</p></td></tr>";
    13431347        echo "<tr><th scope='row'><label for='tools_disable_emd_templates'>";
     
    13891393        submit_button();
    13901394        echo '</form></div>';
    1391         echo '<script language="javascript">
    1392                         jQuery( document ).ready( function() {
    1393                                 var editor = CodeMirror.fromTextArea(document.getElementById("' . esc_attr($app) . '_tools_custom_css"), {lineNumbers: true, lineWrapping: true, mode:"css"} );
    1394                                 var editor = CodeMirror.fromTextArea(document.getElementById("' . esc_attr($app) . '_tools_custom_js"), {lineNumbers: true, lineWrapping: true, mode:"javascript"} );
    1395                         });
    1396                 </script>';
    13971395    }
    13981396}
  • wp-easy-events/trunk/includes/admin/shortcode-list-functions.php

    r3021434 r3342904  
    3535            echo '</h2>';
    3636            echo '<p>' . esc_html__('The following shortcodes are provided by default. To use the shortcode, click copy button and paste it in a page.','wp-easy-events');
    37             echo ' ' . sprintf(esc_html__('To learn more on how to create new shortcodes with filters go to the %s documentation.%s','wp-easy-events'),'<a href="https://docs.emdplugins.com/docs/' . esc_attr(str_replace('_','-',$app)) . '" target="_blank">','</a>') . '</p>';
     37            echo ' ' . sprintf(esc_html__('To learn more on how to create new shortcodes with filters go to the  %1$s documentation.%2$s','wp-easy-events'),'<a href="https://docs.emdplugins.com/docs/' . esc_attr(str_replace('_','-',$app)) . '" target="_blank">','</a>') . '</p>';
    3838            echo '<style>.tablenav.top{display:none;}</style>';
    3939        }
     
    4242?>
    4343        <div class="emd-shortcode-list-admin-content">
    44         <form id="emd-shortcode-list-table" method="get" action="<?php echo admin_url( 'admin.php?page=' . esc_attr($app) . '_shortcodes'); ?>">
     44        <form id="emd-shortcode-list-table" method="get" action="<?php echo esc_url(admin_url( 'admin.php?page=' . esc_attr($app) . '_shortcodes')); ?>">
    4545        <input type="hidden" name="page" value="<?php echo esc_attr($app . '_shortcodes');?>"/>
    4646        <?php $list_table->views(); ?>
     
    5959type:'GET',
    6060url : ajaxurl,
    61 data: {action:'emd_insert_new_shc',nonce:'<?php echo wp_create_nonce('emd-new-shc'); ?>',app:app,shc:shc},
     61data: {action:'emd_insert_new_shc',nonce:'<?php echo esc_attr(wp_create_nonce('emd-new-shc')); ?>',app:app,shc:shc},
    6262success : function(response){
    6363    if(!response){
    6464        alert('<?php echo esc_html__('Error: Please try again.','wp-easy-events'); ?>');
    6565    }
    66     redirect_link = '<?php echo admin_url('admin.php');?>?page='+app+'_shortcodes';
     66    redirect_link = '<?php echo esc_url(admin_url('admin.php'));?>?page='+app+'_shortcodes';
    6767    window.location.href = redirect_link;
    6868}
  • wp-easy-events/trunk/includes/admin/singletax/class-emd-single-taxonomy.php

    r3021434 r3342904  
    217217            <?php
    218218                /* translators: %s: add new taxonomy label */
    219                 printf(__('+ %s','wp-easy-events') , $tax->labels->add_new_item);
     219                printf(esc_html__('+ %s','wp-easy-events') , esc_html($tax->labels->add_new_item));
    220220    ?>
    221221            </a>
  • wp-easy-events/trunk/includes/admin/store-functions.php

    r3021434 r3342904  
    2020        global $title;
    2121        wp_enqueue_script('jquery');
    22         ob_start(); ?>
    23     <div class="wrap">
    24     <h2><?php echo esc_html($title);?> &nbsp;&mdash;&nbsp;<a href="https://emdplugins.com/plugins?pk_source=plugin-addons-page&pk_medium=plugin&pk_campaign=<?php echo esc_attr($appd);?>-addonspage&pk_content=browseall" class="button-primary" title="<?php esc_html_e( 'Browse All', 'wp-easy-events' ); ?>" target="_blank"><?php esc_html_e( 'Browse All', 'wp-easy-events' ); ?></a>
    25     </h2>
    26     <p><?php esc_html_e('The following plugins extend and expand the functionality of your app.','wp-easy-events'); ?></p>
    27             <?php echo esc_html(emd_add_ons('tabs',$appd)); ?>
    28         </div>
    29         <?php
    30         echo ob_get_clean();
     22        echo '<div class="wrap"><h2>';
     23        echo esc_html($title);
     24        echo '&nbsp;&mdash;&nbsp;<a href="https://emdplugins.com/plugins?pk_source=plugin-addons-page&pk_medium=plugin&pk_campaign=' . esc_attr($appd) . '-addonspage&pk_content=browseall" class="button-primary" title="' . esc_html( 'Browse All', 'wp-easy-events' ) . '" target="_blank">'. esc_html( 'Browse All', 'wp-easy-events' ) . '</a>';
     25        echo '</h2>';
     26        echo '<p>' . esc_html_e('The following plugins extend and expand the functionality of your app.','wp-easy-events') . '</p>';
     27        echo esc_html(emd_add_ons('tabs',$appd));
     28        echo '</div>';
    3129    }
    3230}
     
    5957    function emd_display_support($appd,$show_review,$rev=''){
    6058        global $title;
    61         ob_start(); ?>
    62         <div class="wrap">
    63         <h2><?php echo esc_html($title);?></h2>
    64         <div id="support-header"><?php printf(__('Thanks for installing %s.','wp-easy-events'),constant(strtoupper($appd) . '_NAME'));?> &nbsp; <?php  printf(__('All support requests are accepted through <a href="%s" target="_blank">our support site.</a>','wp-easy-events'),'https://emdplugins.com/support/?pk_source=support-page&pk_medium=plugin&pk_campaign=plugin-support&pk_content=supportlink'); ?>
    65     <?php
     59        echo '<div class="wrap">';
     60        echo '<h2>' . esc_html($title) . '</h2>';
     61        echo '<div id="support-header">' . sprintf(esc_html__('Thanks for installing %s.','wp-easy-events'),esc_html(constant(strtoupper($appd) . '_NAME'))) . ' &nbsp;<a href="' . esc_url('https://emdplugins.com/support/?pk_source=support-page&pk_medium=plugin&pk_campaign=plugin-support&pk_content=supportlink') . '" target="_blank"> ' . sprintf(esc_html__('All support requests are accepted through our support site.','wp-easy-events'));
    6662        switch($show_review){
    6763            case '1':
     
    8076        echo esc_html(emd_add_ons('plugin-support',$appd));
    8177        echo '</div>';
    82         echo ob_get_clean();
    8378    }
    8479}
  • wp-easy-events/trunk/includes/calculate-functions.php

    r3021434 r3342904  
    3434        break;
    3535    }
    36     echo $result;
     36    echo esc_html($result);
    3737    die();
    3838}
  • wp-easy-events/trunk/includes/class-emd-widget.php

    r3021434 r3342904  
    221221        <?php if($this->type != 'integration'){         ?>
    222222            <p>
    223             <label for="<?php echo esc_attr($this->get_field_id('count')); ?>"><?php printf(esc_html__('Max number of %s to show', 'wp-easy-events') , $this->class_label); ?></label>
     223            <label for="<?php echo esc_attr($this->get_field_id('count')); ?>"><?php printf(esc_html__('Max number of %s to show', 'wp-easy-events') , esc_html($this->class_label)); ?></label>
    224224            <input type="text" id="<?php echo esc_attr($this->get_field_id('count')); ?>" name="<?php echo esc_attr($this->get_field_name('count')); ?>" value="<?php echo esc_attr($instance['count']); ?>" size="3" maxlength="4" /> <br>
    225225            </p>
     
    227227            <input type="checkbox" class="emd-enable-pagination" id="<?php echo esc_attr($this->get_field_id('pagination')); ?>" name="<?php echo esc_attr($this->get_field_name('pagination')); ?>" value="1"
    228228            <?php if($instance['pagination']) { echo 'checked'; } ?>/>
    229             <label for="<?php echo esc_attr($this->get_field_id('pagination')); ?>"><?php printf(esc_html__('Enable pagination', 'wp-easy-events') , $this->class_label); ?></label>
     229            <label for="<?php echo esc_attr($this->get_field_id('pagination')); ?>"><?php printf(esc_html__('Enable pagination', 'wp-easy-events') , esc_html($this->class_label)); ?></label>
    230230            </p>
    231231            <p class="emd-paginate-show" <?php echo esc_attr($paginate_style); ?>>
     
    238238            </p>
    239239            <p class="emd-paginate-show" <?php echo esc_attr($paginate_style); ?>>
    240             <label for="<?php echo esc_attr($this->get_field_id('count_per_page')); ?>"><?php printf(esc_html__('Number of %s to show per pagination', 'wp-easy-events') , $this->class_label); ?></label>
     240            <label for="<?php echo esc_attr($this->get_field_id('count_per_page')); ?>"><?php printf(esc_html__('Number of %s to show per pagination', 'wp-easy-events') , esc_html($this->class_label)); ?></label>
    241241            <input type="text" id="<?php echo esc_attr($this->get_field_id('count_per_page')); ?>" name="<?php echo esc_attr($this->get_field_name('count_per_page')); ?>" value="<?php echo esc_attr($instance['count_per_page']); ?>" size="2" maxlength="2" /> <br>
    242242            </p>
  • wp-easy-events/trunk/includes/class-install-deactivate.php

    r3324339 r3342904  
    16681668<div class="updated">
    16691669<?php
    1670                 printf('<p><a href="%1s" target="_blank"> %2$s </a>%3$s<a style="float:right;" href="%4$s"><span class="dashicons dashicons-dismiss" style="font-size:15px;"></span>%5$s</a></p>', 'https://docs.emdplugins.com/docs/wp-easy-events-community-documentation/?pk_campaign=wp-easy-events&amp;pk_source=plugin&amp;pk_medium=link&amp;pk_content=notice', __('New To WP Easy Events? Review the documentation!', 'wp-easy-events') , __('&#187;', 'wp-easy-events') , esc_url(add_query_arg($this->option_name . '_adm_notice1', true)) , __('Dismiss', 'wp-easy-events'));
     1670                printf('<p><a href="%1s" target="_blank"> %2$s </a>%3$s<a style="float:right;" href="%4$s"><span class="dashicons dashicons-dismiss" style="font-size:15px;"></span>%5$s</a></p>', 'https://docs.emdplugins.com/docs/wp-easy-events-community-documentation/?pk_campaign=wp-easy-events&amp;pk_source=plugin&amp;pk_medium=link&amp;pk_content=notice', esc_html__('New To WP Easy Events? Review the documentation!', 'wp-easy-events') , esc_html__('&#187;', 'wp-easy-events') , esc_url(add_query_arg($this->option_name . '_adm_notice1', true)) , esc_html__('Dismiss', 'wp-easy-events'));
    16711671?>
    16721672</div>
     
    16801680<div class="updated">
    16811681<?php
    1682                 printf('<p><a href="%1s" target="_blank"> %2$s </a>%3$s<a style="float:right;" href="%4$s"><span class="dashicons dashicons-dismiss" style="font-size:15px;"></span>%5$s</a></p>', 'https://emdplugins.com/plugins/wp-easy-events-wordpress-plugin?pk_campaign=empd-com&amp;pk_source=plugin&amp;pk_medium=link&amp;pk_content=notice', __('Get all the features you need for successful events now!', 'wp-easy-events') , __('&#187;', 'wp-easy-events') , esc_url(add_query_arg($this->option_name . '_adm_notice2', true)) , __('Dismiss', 'wp-easy-events'));
     1682                printf('<p><a href="%1s" target="_blank"> %2$s </a>%3$s<a style="float:right;" href="%4$s"><span class="dashicons dashicons-dismiss" style="font-size:15px;"></span>%5$s</a></p>', 'https://emdplugins.com/plugins/wp-easy-events-wordpress-plugin?pk_campaign=empd-com&amp;pk_source=plugin&amp;pk_medium=link&amp;pk_content=notice', esc_html__('Get all the features you need for successful events now!', 'wp-easy-events') , esc_html__('&#187;', 'wp-easy-events') , esc_url(add_query_arg($this->option_name . '_adm_notice2', true)) , esc_html__('Dismiss', 'wp-easy-events'));
    16831683?>
    16841684</div>
     
    16871687            if (current_user_can('manage_options') && get_option($this->option_name . '_setup_pages') == 1) {
    16881688                echo "<div id=\"message\" class=\"updated\"><p><strong>" . esc_html__('Welcome to WP Easy Events', 'wp-easy-events') . "</strong></p>
    1689            <p class=\"submit\"><a href=\"" . add_query_arg('setup_wp_easy_events_pages', 'true', admin_url('index.php')) . "\" class=\"button-primary\">" . __('Setup WP Easy Events Pages', 'wp-easy-events') . "</a> <a class=\"skip button-primary\" href=\"" . add_query_arg('skip_setup_wp_easy_events_pages', 'true', admin_url('index.php')) . "\">" . __('Skip setup', 'wp-easy-events') . "</a></p>
     1689           <p class=\"submit\"><a href=\"" . esc_url(add_query_arg('setup_wp_easy_events_pages', 'true', admin_url('index.php'))) . "\" class=\"button-primary\">" . esc_html__('Setup WP Easy Events Pages', 'wp-easy-events') . "</a> <a class=\"skip button-primary\" href=\"" . esc_url(add_query_arg('skip_setup_wp_easy_events_pages', 'true', admin_url('index.php'))) . "\">" . esc_html__('Skip setup', 'wp-easy-events') . "</a></p>
    16901690         </div>";
    16911691            }
  • wp-easy-events/trunk/includes/common-functions.php

    r3021434 r3342904  
    358358                    foreach($mycomments as $mycomm){
    359359                        $new .= "<li><div>" . __("Author:","wp-easy-events") . $mycomm->comment_author . "&nbsp;&nbsp;";
    360                         $new .= get_comment_date(sprintf(__('%s \a\t %s', 'wp-easy-events'),get_option('date_format'),get_option('time_format')),$mycomm->comment_ID) . "</div>";
     360                        $new .= get_comment_date(sprintf(__('%1$s \a\t %2$s', 'wp-easy-events'),get_option('date_format'),get_option('time_format')),$mycomm->comment_ID) . "</div>";
    361361                        $com_content = str_replace("\n", "<br>", $mycomm->comment_content);
    362362                        $new .= "<p>" . $com_content . "</p>";
     
    864864                if($item == 'featured_img'){
    865865                    //$val = get_the_post_thumbnail(null, 'large');
    866                     $val = emd_featured_img('','large',$app);
     866                    $val = emd_featured_img('check','large',$app);
    867867                } elseif($item == 'blt_content'){
    868868                                        $val = $post->post_content;
     
    10161016        $ret = check_ajax_referer('emd_load_file', 'nonce', false);
    10171017        if ($ret === false) {
    1018             echo '<div class="text-danger"><a href="' . wp_get_referer() . '">' . esc_html__('Please refresh the page and try again.', 'wp-easy-events') . '</a></div>';
     1018            echo '<div class="text-danger"><a href="' . esc_url(wp_get_referer()) . '">' . esc_html__('Please refresh the page and try again.', 'wp-easy-events') . '</a></div>';
    10191019            die();
    10201020        }
     
    10301030        $ret = check_ajax_referer('emd_delete_file', 'nonce', false);
    10311031        if ($ret === false) {
    1032             echo '<div class="text-danger"><a href="' . wp_get_referer() . '">' . esc_html__('Please refresh the page and try again.', 'wp-easy-events') . '</a></div>';
     1032            echo '<div class="text-danger"><a href="' . esc_url(wp_get_referer()) . '">' . esc_html__('Please refresh the page and try again.', 'wp-easy-events') . '</a></div>';
    10331033            die();
    10341034        }
     
    11101110        if($type == 'url'){
    11111111            if(get_post_thumbnail_id()){
    1112                 return wp_get_attachment_url(get_post_thumbnail_id());
     1112                echo esc_url(wp_get_attachment_url(get_post_thumbnail_id()));
    11131113            }
    11141114            elseif(file_exists(constant(strtoupper($app) . '_PLUGIN_DIR') . 'assets/img/' . $post->post_type . '_default.svg')){
    1115                 return constant(strtoupper($app) . '_PLUGIN_URL') . 'assets/img/' . $post->post_type . '_default.svg';
     1115                echo esc_url(constant(strtoupper($app) . '_PLUGIN_URL') . 'assets/img/' . $post->post_type . '_default.svg');
    11161116            }
    11171117        }
    11181118        else{
    11191119            if(get_the_post_thumbnail(null, $size)){
    1120                 return get_the_post_thumbnail(null, $size);
     1120                if($type == 'check'){
     1121                    return get_the_post_thumbnail(null, $size);
     1122                }
     1123                else{
     1124                    echo wp_kses_post(get_the_post_thumbnail(null, $size));
     1125                }
    11211126            }
    11221127            elseif(file_exists(constant(strtoupper($app) . '_PLUGIN_DIR') . 'assets/img/' . $post->post_type . '_default.svg')){
    11231128                $img_src = constant(strtoupper($app) . '_PLUGIN_URL') . 'assets/img/' . $post->post_type . '_default.svg';
    1124                 return '<img src="' . $img_src . '" class="emd-default-img" alt="' . get_the_title($post->ID) . '">';
     1129                if($type == 'check'){
     1130                    return '<img src="' . $img_src . '" class="emd-default-img" alt="' . get_the_title($post->ID) . '">';
     1131                }
     1132                else {
     1133                    echo '<img src="' . esc_url($img_src) . '" class="emd-default-img" alt="' . esc_attr(get_the_title($post->ID)) . '">';
     1134                }
    11251135            }
    11261136        }
  • wp-easy-events/trunk/includes/emd-calendar/calendar-admin-functions.php

    r3237156 r3342904  
    3535function emd_calendar_admin_enq($app_name){
    3636    $dir_url = constant(strtoupper($app_name) . "_PLUGIN_URL");
    37     wp_enqueue_style('emd-accordion-css', $dir_url . 'assets/css/emd-accordion.css');
     37    wp_enqueue_style('emd-accordion-css', $dir_url . 'assets/css/emd-accordion.css', Array(), WP_EASY_EVENTS_VERSION);
    3838    wp_enqueue_script('accordion');
    3939}
     
    8888    wp_enqueue_style('calendar-css', constant(strtoupper($app_name) . '_PLUGIN_URL') . 'includes/emd-calendar/css/fullcalendar.min.css','',$version);
    8989    wp_enqueue_script('moment');
    90     wp_enqueue_script('fullcalendar-js',constant(strtoupper($app_name) . '_PLUGIN_URL') . 'includes/emd-calendar/js/fullcalendar.min.js','',$version);
    91     wp_enqueue_script('fullcalendar-locale-js',constant(strtoupper($app_name) . '_PLUGIN_URL') . 'includes/emd-calendar/js/locale-all.js','',$version);
    92     wp_enqueue_script('emd-calendar-js', constant(strtoupper($app_name) . '_PLUGIN_URL') . 'includes/emd-calendar/js/emd-calendar.js','',$version);
     90    wp_enqueue_script('fullcalendar-js',constant(strtoupper($app_name) . '_PLUGIN_URL') . 'includes/emd-calendar/js/fullcalendar.min.js','',$version, true);
     91    wp_enqueue_script('fullcalendar-locale-js',constant(strtoupper($app_name) . '_PLUGIN_URL') . 'includes/emd-calendar/js/locale-all.js','',$version, true);
     92    wp_enqueue_script('emd-calendar-js', constant(strtoupper($app_name) . '_PLUGIN_URL') . 'includes/emd-calendar/js/emd-calendar.js','',$version, true);
    9393    wp_localize_script( 'emd-calendar-js', 'calendar_vars', $calendar_vars);
    9494    wp_enqueue_style('emd-calendar-css', constant(strtoupper($app_name) . '_PLUGIN_URL') . 'includes/emd-calendar/css/emd-calendar.css','',$version);
  • wp-easy-events/trunk/includes/emd-form-builder-lite/emd-form-builder.php

    r3021434 r3342904  
    6161            wp_enqueue_script('jquery-ui-sortable');
    6262            wp_enqueue_script('jquery-ui-draggable');
    63             wp_enqueue_style('form-builder-css', $dir_url . 'includes/emd-form-builder-lite/css/emd-form-builder.min.css');
     63            wp_enqueue_style('form-builder-css', $dir_url . 'includes/emd-form-builder-lite/css/emd-form-builder.min.css',Array(), WP_EASY_EVENTS_VERSION);
    6464            $builder_vars['ajax_url'] = admin_url('admin-ajax.php');
    6565            $builder_vars['exit_url'] = admin_url('admin.php?page=' . sanitize_text_field($_GET['page']));
    6666            $builder_vars['nonce'] = wp_create_nonce('emd_form');
    67             wp_enqueue_script('form-builder-js', $dir_url . 'includes/emd-form-builder-lite/js/emd-form-builder.js');
     67            wp_enqueue_script('form-builder-js', $dir_url . 'includes/emd-form-builder-lite/js/emd-form-builder.js',Array(), WP_EASY_EVENTS_VERSION, true);
    6868            wp_localize_script("form-builder-js", 'builder_vars', $builder_vars);
    6969        }
    7070        elseif(!empty($_GET['edit']) && $_GET['edit'] == 'settings'){
    71             wp_enqueue_style('form-builder-css', $dir_url . 'includes/emd-form-builder-lite/css/emd-form-builder.min.css');
    72             wp_enqueue_style('jq-css', $dir_url . 'assets/css/smoothness-jquery-ui.css');
     71            wp_enqueue_style('form-builder-css', $dir_url . 'includes/emd-form-builder-lite/css/emd-form-builder.min.css',Array(), WP_EASY_EVENTS_VERSION);
     72            wp_enqueue_style('jq-css', $dir_url . 'assets/css/smoothness-jquery-ui.css',Array(), WP_EASY_EVENTS_VERSION);
    7373            wp_enqueue_script('jquery-ui-timepicker', $dir_url . 'assets/ext/emd-meta-box/js/jqueryui/jquery-ui-timepicker-addon.js', array(
    7474                        'jquery-ui-datepicker',
    7575                        'jquery-ui-slider'
    7676                        ) , constant(strtoupper($app) . '_VERSION'), true);
    77             wp_enqueue_style('jquery-ui-timepicker', $dir_url . 'assets/ext/emd-meta-box/css/jqueryui/jquery-ui-timepicker-addon.css');
    78             wp_enqueue_style('wpas-select2', $dir_url . 'assets/ext/bselect24/select2.min.css');
    79             wp_enqueue_script('wpas-select2-js', $dir_url . 'assets/ext/bselect24/select2.full.min.js');
    80             wp_enqueue_script('form-settings-js', $dir_url . 'includes/emd-form-builder-lite/js/emd-form-settings.js');
     77            wp_enqueue_style('jquery-ui-timepicker', $dir_url . 'assets/ext/emd-meta-box/css/jqueryui/jquery-ui-timepicker-addon.css',Array(), WP_EASY_EVENTS_VERSION);
     78            wp_enqueue_style('wpas-select2', $dir_url . 'assets/ext/bselect24/select2.min.css',Array(), WP_EASY_EVENTS_VERSION);
     79            wp_enqueue_script('wpas-select2-js', $dir_url . 'assets/ext/bselect24/select2.full.min.js',Array(), WP_EASY_EVENTS_VERSION, true);
     80            wp_enqueue_script('form-settings-js', $dir_url . 'includes/emd-form-builder-lite/js/emd-form-settings.js',Array(), WP_EASY_EVENTS_VERSION, true);
    8181            return;
    8282        }
    8383        else {
    84             wp_enqueue_script('emd-copy-js', $dir_url . 'assets/js/emd-copy.js', array('clipboard') , '');
     84            wp_enqueue_script('emd-copy-js', $dir_url . 'assets/js/emd-copy.js', array('clipboard'), WP_EASY_EVENTS_VERSION, true);
    8585        }
    8686    }
     
    291291function emd_show_forms_lite_page($app){
    292292    if(!empty($_POST['submit']) && !empty($_POST['submit_settings'])){
    293         $nonce_verified = wp_verify_nonce(sanitize_text_field($_POST['emd_form_settings_nonce']), 'emd_form_settings_nonce');
     293        $nonce_verified = wp_verify_nonce(sanitize_text_field($_POST['emd_form_settings_nonce']), 'emd_form_settings');
    294294        if(false === $nonce_verified){
    295295            //error
     
    321321        ?>
    322322            <div class="emd-form-list-admin-content">
    323             <form id="emd-form-list-table" method="get" action="<?php echo admin_url( 'admin.php?page=' . esc_attr($app) . '_forms'); ?>">
     323            <form id="emd-form-list-table" method="get" action="<?php echo esc_html(admin_url( 'admin.php?page=' . esc_attr($app) . '_forms')); ?>">
    324324            <input type="hidden" name="page" value="<?php echo esc_attr($app) . '_forms';?>"/>
    325325            <?php $list_table->views(); ?>
     
    618618                                }
    619619                                else {
     620                                    $allowed_html = Array(
     621                                        'input' => Array(
     622                                            'type' => array(),
     623                                            'name' => array(),
     624                                            'id' => array(),
     625                                            'class' => array(),
     626                                            'placeholder' => array(),
     627                                        ),
     628                                        'textarea' => Array(
     629                                            'name' => array(),
     630                                            'id' => array(),
     631                                            'class' => array(),
     632                                            'placeholder' => array(),
     633                                        ),
     634                                        'div' => array('class' => array()),
     635                                        'label' => array('class'=>array(), 'for' => array()),
     636                                    );
    620637                                    if(!empty($fcontent['type'])){
    621638                                        $cfield['form_type'] = $fcontent['type'];
     
    626643                                    emd_form_builder_lite_layout_field_top_bottom($kfield,$cfield,'top');
    627644                                    if(in_array($kfield,Array('blt_title','blt_content','blt_excerpt'))){
    628                                         echo emd_form_builder_lite_blt_fields($kfield,$cfield);
     645                                        echo wp_kses(emd_form_builder_lite_blt_fields($kfield,$cfield),$allowed_html);
    629646                                    }
    630647                                    elseif(preg_match('/^login_box_/',$kfield)){
    631                                         echo emd_form_builder_lite_login_box($kfield,$cfield);
     648                                        echo wp_kses(emd_form_builder_lite_login_box($kfield,$cfield),$allowed_html);
    632649                                    }
    633650                                    elseif(!empty($attr_list[$fentity]) && in_array($kfield,array_keys($attr_list[$fentity]))){
     
    636653                                            $cfield['options'] = $attr_list[$fentity][$kfield]['options'];
    637654                                        }
    638                                         echo emd_form_builder_lite_attr_fields($kfield,$cfield);
     655                                        echo wp_kses(emd_form_builder_lite_attr_fields($kfield,$cfield),$allowed_html);
    639656                                    }
    640657                                    elseif(!empty($txn_list[$fentity]) && in_array($kfield,array_keys($txn_list[$fentity]))){
    641                                         echo emd_form_builder_lite_txn_fields($kfield,$cfield);
     658                                        echo wp_kses(emd_form_builder_lite_txn_fields($kfield,$cfield),$allowed_html);
    642659                                    }
    643660                                    elseif(!empty($rel_list) && array_key_exists($kfield,$rel_list)){
    644                                         echo emd_form_builder_lite_rel_fields($kfield,$cfield);
     661                                        echo wp_kses(emd_form_builder_lite_rel_fields($kfield,$cfield),$allowed_html);
    645662                                    }
    646663                                    elseif(!empty($glob_list) && array_key_exists($kfield,$glob_list)){
    647664                                        $cfield['display_type'] = 'global';
    648                                         echo emd_form_builder_lite_attr_fields($kfield,$cfield);
     665                                        echo wp_kses(emd_form_builder_lite_attr_fields($kfield,$cfield),$allowed_html);
    649666                                    }
    650667                                    if(!empty($attr_list[$fentity][$kfield]['display_type']) && in_array($attr_list[$fentity][$kfield]['display_type'], Array('checkbox'))){
     
    861878        }
    862879        emd_form_builder_lite_layout_field_top_bottom($kfield,$cfield,'top');
     880        $allowed_html = Array(
     881            'input' => Array(
     882                'type' => array(),
     883                'name' => array(),
     884                'id' => array(),
     885                'class' => array(),
     886                'placeholder' => array(),
     887            ),
     888            'textarea' => Array(
     889                'name' => array(),
     890                'id' => array(),
     891                'class' => array(),
     892                'placeholder' => array(),
     893            ),
     894            'div' => array('class' => array()),
     895            'label' => array('class'=>array(), 'for' => array()),
     896        );
    863897        if(in_array($kfield,Array('blt_title','blt_content','blt_excerpt'))){
    864             echo emd_form_builder_lite_blt_fields($kfield,$cfield);
     898            echo wp_kses(emd_form_builder_lite_blt_fields($kfield,$cfield),$allowed_html);
    865899        }
    866900        elseif(preg_match('/^login_box_/',$kfield)){
    867             echo emd_form_builder_lite_login_box($kfield,$cfield);
     901            echo wp_kses(emd_form_builder_lite_login_box($kfield,$cfield),$allowed_html);
    868902        }
    869903        elseif(!empty($attr_list[$fentity]) && in_array($kfield,array_keys($attr_list[$fentity]))){
     
    880914                $cfield['form_type'] = $fcontent['type'];
    881915            }
    882             echo emd_form_builder_lite_attr_fields($kfield,$cfield);
     916            echo wp_kses(emd_form_builder_lite_attr_fields($kfield,$cfield),$allowed_html);
    883917        }
    884918        elseif(!empty($txn_list[$fentity]) && in_array($kfield,array_keys($txn_list[$fentity]))){
    885             echo emd_form_builder_lite_txn_fields($kfield,$cfield);
     919            echo wp_kses(emd_form_builder_lite_txn_fields($kfield,$cfield),$allowed_html);
    886920        }
    887921        elseif(!empty($rel_list) && array_key_exists($kfield,$rel_list)){
    888             echo emd_form_builder_lite_rel_fields($kfield,$cfield);
     922            echo wp_kses(emd_form_builder_lite_rel_fields($kfield,$cfield),$allowed_html);
    889923        }
    890924        elseif(!empty($glob_list) && array_key_exists($kfield,$glob_list)){
    891925            $cfield['display_type'] = 'global';
    892             echo emd_form_builder_lite_attr_fields($kfield,$cfield);
     926            echo wp_kses(emd_form_builder_lite_attr_fields($kfield,$cfield),$allowed_html);
    893927        }
    894928        if(!empty($attr_list[$fentity][$kfield]['display_type']) && in_array($attr_list[$fentity][$kfield]['display_type'],Array('checkbox'))){
  • wp-easy-events/trunk/includes/emd-form-builder-lite/emd-form-frontend.php

    r3021434 r3342904  
    1616    check_ajax_referer('emd_form', 'nonce');
    1717    $form_data = Array();
    18     foreach($_POST['form_data'] as $fd){
    19         $form_data[] = isset($fd) ?  array_map('sanitize_text_field',$fd) : '';
     18    if(!empty($_POST['form_data'])){
     19        foreach(wp_unslash($_POST['form_data']) as $fd){
     20            $form_data[] = isset($fd) ?  array_map('sanitize_text_field',$fd) : '';
     21        }
    2022    }
    2123    if (!empty($form_data)) {
     
    655657                        $attr_lay .= ' selected';
    656658                    }
    657                     $attr_lay .= '>' . __($vopt,'wp-easy-events') . '</option>';
     659                    $attr_lay .= '>' . $vopt . '</option>';
    658660                }
    659661            }
     
    11651167    //Enqueue   
    11661168    wp_enqueue_script('jquery');
    1167     wp_enqueue_script('wpas-jvalidate', $dir_url . 'assets/ext/jvalidate/wpas.validate.min.js', array('jquery'),'',true);
     1169    wp_enqueue_script('wpas-jvalidate', $dir_url . 'assets/ext/jvalidate/wpas.validate.min.js', array('jquery'), WP_EASY_EVENTS_VERSION, true);
    11681170    $local_vars['locale'] = get_locale();
    11691171    //file begin
    11701172    $ret_attrs = emd_form_builder_lite_check_attr($fcontent['layout'],$fentity,$ent_list,$attr_list,$txn_list,$rel_list,$glob_list);
    11711173    if(!empty($fcontent['settings']['incl_select2']) && !empty($ret_attrs['select_attrs'])){
    1172                 wp_enqueue_style('wpas-select2', $dir_url . 'assets/ext/bselect24/select2.min.css');
    1173                 wp_enqueue_script('wpas-select2-js', $dir_url . 'assets/ext/bselect24/select2.full.min.js');
     1174                wp_enqueue_style('wpas-select2', $dir_url . 'assets/ext/bselect24/select2.min.css', Array(), WP_EASY_EVENTS_VERSION);
     1175                wp_enqueue_script('wpas-select2-js', $dir_url . 'assets/ext/bselect24/select2.full.min.js', Array(), WP_EASY_EVENTS_VERSION, true);
    11741176        }
    11751177    if(!empty($ret_attrs['date_attrs'])){
    1176                 wp_enqueue_style('wpas-datetime', $dir_url . '/includes/emd-form-builder-lite/css/flatpickr.min.css');
    1177                 wp_enqueue_script('wpas-datetime', $dir_url . '/includes/emd-form-builder-lite/js/flatpickr.min.js');
     1178                wp_enqueue_style('wpas-datetime', $dir_url . '/includes/emd-form-builder-lite/css/flatpickr.min.css',Array(), WP_EASY_EVENTS_VERSION);
     1179                wp_enqueue_script('wpas-datetime', $dir_url . '/includes/emd-form-builder-lite/js/flatpickr.min.js',Array(), WP_EASY_EVENTS_VERSION, true);
    11781180        }
    11791181    if($fcontent['type'] == 'submit' && !empty($ret_attrs['file_attrs'])){
    1180         wp_enqueue_script('wpas-filepicker-js', $dir_url . '/assets/ext/filepicker/filepicker.min.js');
     1182        wp_enqueue_script('wpas-filepicker-js', $dir_url . '/assets/ext/filepicker/filepicker.min.js',Array(), WP_EASY_EVENTS_VERSION, true);
    11811183        foreach($ret_attrs['file_attrs'] as $myfattr){
    11821184            $local_vars[$myfattr]['theme'] = 'custom';
     
    12131215    $cond_js = 0;
    12141216    if($fcontent['type'] == 'submit' && !empty($local_vars['conditional_rules'])){
    1215         wp_enqueue_script('cond-js', $dir_url . '/assets/js/cond-forms.js',array(),'',true);
     1217        wp_enqueue_script('cond-js', $dir_url . '/assets/js/cond-forms.js',array(), WP_EASY_EVENTS_VERSION, true);
    12161218        $cond_js = 1;
    12171219    }
     
    12281230            $count_css = 1;
    12291231            foreach($css_enqs as $mycss){
    1230                 wp_enqueue_style('emd-form-css-' . $count_css, $mycss);
     1232                wp_enqueue_style('emd-form-css-' . $count_css, $mycss, Array(), WP_EASY_EVENTS_VERSION);
    12311233                $count_css++;
    12321234            }
     
    12381240            $count_js = 1;
    12391241            foreach($js_enqs as $myjs){
    1240                 wp_enqueue_script('emd-form-js-' . $count_js, $myjs,array(),'',true);
     1242                wp_enqueue_script('emd-form-js-' . $count_js, $myjs,array(), WP_EASY_EVENTS_VERSION, true);
    12411243                $count_js++;
    12421244            }
     
    12481250    if($fcontent['type'] == 'submit'){
    12491251        $local_vars['nonce'] = wp_create_nonce('emd_form');
    1250         wp_enqueue_style('form-frontend-css', $dir_url . '/includes/emd-form-builder-lite/css/emd-form-frontend.min.css');
     1252        wp_enqueue_style('form-frontend-css', $dir_url . '/includes/emd-form-builder-lite/css/emd-form-frontend.min.css',Array(), WP_EASY_EVENTS_VERSION);
    12511253        if(!empty($cond_js)){
    12521254            wp_enqueue_script('form-frontend-js', $dir_url . '/includes/emd-form-builder-lite/js/emd-form-frontend.js',array('cond-js'),$version,true);
     
    12601262        $local_vars['nonce'] = wp_create_nonce('emd_form');
    12611263        wp_enqueue_style(str_replace('_','-',$app) . '-allview-css');
    1262         wp_enqueue_style('form-frontend-css', $dir_url . '/includes/emd-form-builder-lite/css/emd-form-frontend.min.css');
    1263         wp_enqueue_script('form-frontend-search-js', $dir_url . '/includes/emd-form-builder-lite/js/emd-form-frontend-search.js',array(),'',true);
     1264        wp_enqueue_style('form-frontend-css', $dir_url . '/includes/emd-form-builder-lite/css/emd-form-frontend.min.css',Array(), WP_EASY_EVENTS_VERSION);
     1265        wp_enqueue_script('form-frontend-search-js', $dir_url . '/includes/emd-form-builder-lite/js/emd-form-frontend-search.js',array(), WP_EASY_EVENTS_VERSION, true);
    12641266        wp_localize_script('form-frontend-search-js', 'emd_form_vars', $local_vars);
    12651267        if(!empty($fcontent['settings']['result_templ']) && $fcontent['settings']['result_templ'] == 'simple_table'){
    1266             wp_enqueue_style('emd-simple-table-css', $dir_url . '/includes/emd-form-builder-lite/css/emd-simple-table.min.css');
     1268            wp_enqueue_style('emd-simple-table-css', $dir_url . '/includes/emd-form-builder-lite/css/emd-simple-table.min.css', Array(), WP_EASY_EVENTS_VERSION);
    12671269        }
    12681270        wp_enqueue_style('emd-pagination');
     
    18401842    if(!empty($fcontent['settings']['honeypot'])){ 
    18411843        $honeys = Array('web_site','url','email','company','name','phone','twitter');
    1842         $honey_key = $honeys[rand(0, count($honeys) - 1)];
     1844        $honey_key = $honeys[wp_rand(0, count($honeys) - 1)];
    18431845        $honeypot = Array('label' => ucwords(str_replace('_', ' ',$honey_key)), 'size' => 12, 'css_class' => 'emd-ahp',
    18441846                'label_position' => 'top', 'element_size' => 'emd-input-md','display_type'=>'text', 'autocomplete' => 'off');
  • wp-easy-events/trunk/includes/emd-form-builder-lite/emd-form-functions.php

    r3021434 r3342904  
    605605                                        //fix csv injection
    606606                                        $formula_chars = array( "=", "+", "-", "@", "|", "%" );
    607                                         if (($fp = fopen($myfileupload['path'], "r")) !== FALSE) {
    608                                             $dt = array();
    609                                             $changed = 0;
    610                                             while(($data = fgetcsv($fp)) !== FALSE) {
    611                                                 foreach($data as $k => $line){
    612                                                     if(in_array(substr($line,0,1), $formula_chars)){
    613                                                         $changed = 1;
    614                                                         $data[$k] = ltrim($line, '=+-@|%');
     607                                        if ( ! function_exists( 'WP_Filesystem' ) ) {
     608                                            require_once( ABSPATH . 'wp-admin/includes/file.php' );
     609                                        }
     610                                        WP_Filesystem();
     611                                        global $wp_filesystem;
     612                                        $path = $myfileupload['path'];
     613                                        if ( $wp_filesystem->exists( $path ) ) {
     614                                            // Read entire file contents
     615                                            $file_contents = $wp_filesystem->get_contents( $path );
     616                                            if ( $file_contents !== false ) {
     617                                                $rows = array();
     618                                                $changed = 0;
     619                                                // Use PHP's str_getcsv for each line
     620                                                $lines = explode("\n", $file_contents);
     621                                                foreach ( $lines as $line ) {
     622                                                    if ( trim($line) === '' ) continue; // skip empty lines
     623                                                    $data = str_getcsv($line);
     624
     625                                                    foreach ( $data as $k => $cell ) {
     626                                                    if ( in_array(substr($cell, 0, 1), $formula_chars) ) {
     627                                                        $changed = 1;
     628                                                        $data[$k] = ltrim($cell, '=+-@|%');
    615629                                                    }
     630                                                    }
     631                                                    $rows[] = $data;
    616632                                                }
    617                                                 $dt[] = $data;
    618                                             }
    619                                             fclose($fp);
    620                                             if($changed == 1){
    621                                                 $fpw = fopen($myfileupload['path'], "w");
    622                                                 foreach($dt as $ndt){
    623                                                     fputcsv($fpw,$ndt);
     633                                                if ( $changed === 1 ) {
     634                                                    $new_csv = implode("\n", $rows) . "\n";
     635                                                    $wp_filesystem->put_contents( $path, $new_csv, FS_CHMOD_FILE );
    624636                                                }
    625                                                 fclose($fpw);
    626637                                            }
    627638                                        }
     
    789800                $args['secret'] = $secret;
    790801                $url   = add_query_arg($args, $base_url);
    791                 $parts = parse_url($url);
     802                $parts = wp_parse_url($url);
    792803                $token = md5($parts['query']);
    793804                $verify_link = add_query_arg('token', $token, $base_url);
     
    804815    if(!empty($_GET['emd_action']) && $_GET['emd_action'] == 'verify' && !empty($_GET['id']) && !empty($_GET['app']) && !empty($_GET['token'])){
    805816        //check if token is valid
    806         $parts = parse_url(add_query_arg(array()));
     817        $parts = wp_parse_url(add_query_arg(array()));
    807818        wp_parse_str($parts['query'], $query_args);
    808819        unset($query_args['token']);
     
    812823        $args['secret'] = $secret;
    813824        $url = add_query_arg($args, $base_url);
    814         $parts = parse_url($url);
     825        $parts = wp_parse_url($url);
    815826            $token = md5($parts['query']);
    816827        if($token == $_GET['token']){
  • wp-easy-events/trunk/includes/emd-form-builder-lite/emd-form-settings.php

    r3021434 r3342904  
    7474        emd_form_builder_lite_tab($type,$tab,$app,$active_tab,$fcontent);
    7575    }
    76     echo submit_button();
     76    submit_button();
    7777    echo '</form>';
    7878    echo '</div>';
     
    210210                    'after_submit' => Array('label' => 'After Submit', 'type' => 'select', 'depend' => 'settings_confirm_method_text', 'options' => $after_options, 'upgrade' => true, 'disabled' => true),
    211211                    'success_msg' => Array('label' => 'Success Message', 'type' => 'textarea', 'depend' => 'settings_confirm_method_text','default'=> __('Thanks for your submission.','wp-easy-events')),
    212                     'error_msg' => Array('label' => 'Error Message', 'type' => 'textarea', 'depend' => 'settings_confirm_method_text','default'=> __('There has been an error when submitting your entry. Please contact the site administrator.')),
     212                    'error_msg' => Array('label' => 'Error Message', 'type' => 'textarea', 'depend' => 'settings_confirm_method_text','default'=> __('There has been an error when submitting your entry. Please contact the site administrator.','wp-easy-events')),
    213213                   
    214214            );
     
    334334    echo '>';
    335335    echo '<div class="emd-form-builder-fields-settings">';
    336     echo emd_form_builder_lite_show_setting($tab_fields,$fcontent);
     336    $allowed_html = Array(
     337        'input' => Array(
     338            'type' => array(),
     339            'name' => array(),
     340            'id' => array(),
     341            'class' => array(),
     342            'value' => array(),
     343            'placeholder' => array(),
     344        ),
     345        'textarea' => Array(
     346            'name' => array(),
     347            'id' => array(),
     348            'class' => array(),
     349            'placeholder' => array(),
     350        ),
     351        'select' => array(
     352            'id' => array(),
     353            'class' => array(),
     354            'name' => array(),
     355        ),
     356        'option' => array('value'=>array(), 'selected' => array(), 'disabled' => array()),
     357        'div' => array('class' => array(), 'data-depend'=> array(), 'data-depend2' => array()),
     358        'label' => array('class'=>array(), 'for' => array()),
     359        'span' => array('class'=>array(), 'data-upgrade' => array()),
     360    );
     361    echo wp_kses(emd_form_builder_lite_show_setting($tab_fields,$fcontent),$allowed_html);
    337362    echo '</div>';
    338363    echo '</div>';
  • wp-easy-events/trunk/includes/emd-form-builder-lite/settings-functions-login.php

    r3021434 r3342904  
    2424    if($has_login_shc == 1){
    2525        $tabs['login'] = __('Login', 'wp-easy-events');
    26         echo '<p>' . settings_errors($app . '_login_settings') . '</p>';
     26        echo '<p>';
     27        settings_errors($app . '_login_settings');
     28        echo '</p>';
    2729    }
    2830    return $tabs;
  • wp-easy-events/trunk/includes/emd-lite/emd-lite.php

    r3021434 r3342904  
    1717    $dir_url = constant(strtoupper($app) . "_PLUGIN_URL");
    1818    $lite_vars = Array();
    19     wp_enqueue_style('jqconf-css', $dir_url . 'includes/emd-lite/css/jquery-confirm.min.css');
    20     wp_enqueue_style('emd-lite-css', $dir_url . 'includes/emd-lite/css/emd-lite.css');
    21     wp_enqueue_script('jqconf-js', $dir_url . 'includes/emd-lite/js/jquery-confirm.min.js');
    22     wp_enqueue_script('emd-lite-js', $dir_url . 'includes/emd-lite/js/emd-lite.js');
     19    wp_enqueue_style('jqconf-css', $dir_url . 'includes/emd-lite/css/jquery-confirm.min.css', Array(), WP_EASY_EVENTS_VERSION);
     20    wp_enqueue_style('emd-lite-css', $dir_url . 'includes/emd-lite/css/emd-lite.css', Array(), WP_EASY_EVENTS_VERSION);
     21    wp_enqueue_script('jqconf-js', $dir_url . 'includes/emd-lite/js/jquery-confirm.min.js', Array(), WP_EASY_EVENTS_VERSION, true);
     22    wp_enqueue_script('emd-lite-js', $dir_url . 'includes/emd-lite/js/emd-lite.js', Array(), WP_EASY_EVENTS_VERSION, true);
    2323    $lite_vars = apply_filters('emd_lite_modal',$lite_vars,$app,$hook);
    2424    wp_localize_script("emd-lite-js", 'lite_vars', $lite_vars);
     
    257257        <div class="emd-flex emdflexrow">
    258258        <ul class="left">
    259         <li><span class="emdiconpad dashicons dashicons-thumbs-up" aria-hidden="true"></span>' . sprintf(esc_html__('Get your %s in %s fast', 'wp-easy-events'),esc_attr(strtolower($plural_label)),esc_attr($plugin_name)) . '</li>
     259        <li><span class="emdiconpad dashicons dashicons-thumbs-up" aria-hidden="true"></span>' . sprintf(esc_html__('Get your %1$s in %2$s fast', 'wp-easy-events'),esc_attr(strtolower($plural_label)),esc_attr($plugin_name)) . '</li>
    260260        <li><span class="emdiconpad dashicons dashicons-thumbs-up" aria-hidden="true"></span>' . sprintf(esc_html__('Bulk update %s with a single click', 'wp-easy-events'),esc_attr(strtolower($plural_label))) . '</li>
    261261        <li><span class="emdiconpad dashicons dashicons-thumbs-up" aria-hidden="true"></span>' . esc_html__('Take periodic backups to protect yourself against data loss', 'wp-easy-events') . '</li>
     
    299299    }
    300300    elseif($type == 'cust_fields'){
    301         echo '<h2>' . esc_html__('Gather, display and search information with ease') . '</h2>
     301        echo '<h2>' . esc_html__('Gather, display and search information with ease','wp-easy-events') . '</h2>
    302302        <div style="max-width:470px;margin: auto;margin-bottom:15px;"><strong>' . esc_html__('EMD Custom Field Builder is an easy to use yet powerful tool to customize your plugin by adding custom fields and taxonomies. ', 'wp-easy-events') . '</strong>
    303303        <span><a href="https://emdplugins.com/questions/how-to-use-emd-custom-field-builder/?pk_campaign=' . esc_attr($app) . '-cust-fields&pk_kwd=learnmore" target="_blank">' .
  • wp-easy-events/trunk/includes/entities/class-emd-entity.php

    r3324339 r3342904  
    151151        $messages[$this->post_type] = array(
    152152            0 => '', // Unused. Messages start at index 1.
    153             1 => sprintf(__('%s updated. <a href="%s">View %s</a>', 'wp-easy-events') , $this->sing_label, esc_url(get_permalink($post_ID)) , $this->sing_label) ,
     153            1 => sprintf(__('%1$s updated. <a href="%2$s">View %3$s</a>', 'wp-easy-events') , $this->sing_label, esc_url(get_permalink($post_ID)) , $this->sing_label) ,
    154154            2 => __('Custom field updated.', 'wp-easy-events') ,
    155155            3 => __('Custom field deleted.', 'wp-easy-events') ,
    156156            4 => sprintf(__('%s updated.', 'wp-easy-events') , $this->sing_label) ,
    157157            /* translators: %s: date and time of the revision */
    158             5 => isset($_GET['revision']) ? sprintf(__('%s restored to revision from %s', 'wp-easy-events') , $this->sing_label, wp_post_revision_title((int)$_GET['revision'], false)) : false,
    159             6 => sprintf(__('%s published. <a href="%s">View %s</a>', 'wp-easy-events') , $this->sing_label, esc_url(get_permalink($post_ID)) , $this->sing_label) ,
     158            5 => isset($_GET['revision']) ? sprintf(__('%1$s restored to revision from %2$s', 'wp-easy-events') , $this->sing_label, wp_post_revision_title((int)$_GET['revision'], false)) : false,
     159            6 => sprintf(__('%1$s published. <a href="%2$s">View %3$s</a>', 'wp-easy-events') , $this->sing_label, esc_url(get_permalink($post_ID)) , $this->sing_label) ,
    160160            7 => sprintf(__('%s saved.', 'wp-easy-events') , $this->sing_label) ,
    161             8 => sprintf(__('%s submitted. <a target="_blank" href="%s">Preview %s</a>', 'wp-easy-events') , $this->sing_label, esc_url(add_query_arg('preview', 'true', get_permalink($post_ID))) , $this->sing_label) ,
    162             9 => sprintf(__('%s scheduled for: <strong>%s</strong>. <a target="_blank" href="%s">Preview %s</a>', 'wp-easy-events') , $this->sing_label, date_i18n(__('M j, Y @ G:i','wp-easy-events') , strtotime($post->post_date)) , esc_url(get_permalink($post_ID)) , $this->sing_label) ,
    163             10 => sprintf(__('%s draft updated. <a target="_blank" href="%s">Preview %s</a>', 'wp-easy-events') , $this->sing_label, esc_url(add_query_arg('preview', 'true', get_permalink($post_ID))) , $this->sing_label) ,
     161            8 => sprintf(__('%1$s submitted. <a target="_blank" href="%2$s">Preview %3$s</a>', 'wp-easy-events') , $this->sing_label, esc_url(add_query_arg('preview', 'true', get_permalink($post_ID))) , $this->sing_label) ,
     162            9 => sprintf(__('%1$s scheduled for: <strong>%2$s</strong>. <a target="_blank" href="%3$s">Preview %4$s</a>', 'wp-easy-events') , $this->sing_label, date_i18n(__('M j, Y @ G:i','wp-easy-events') , strtotime($post->post_date)) , esc_url(get_permalink($post_ID)) , $this->sing_label) ,
     163            10 => sprintf(__('%1$s draft updated. <a target="_blank" href="%2$s">Preview %3$s</a>', 'wp-easy-events') , $this->sing_label, esc_url(add_query_arg('preview', 'true', get_permalink($post_ID))) , $this->sing_label) ,
    164164        );
    165165        return $messages;
     
    180180            <script type="text/javascript">
    181181            jQuery(document).ready(function($){
    182                     $('a.page-title-action').after('<a id="opt-<?php echo str_replace("_", "-", $this->post_type); ?>" class="add-new-h2" href="<?php echo admin_url('edit.php?post_type=' . $this->menu_entity . '&page=operations_' . $this->post_type); ?>" ><?php esc_html_e('CSV Import/Export', 'wp-easy-events'); ?></a>');
     182                    $('a.page-title-action').after('<a id="opt-<?php echo esc_attr(str_replace("_", "-", $this->post_type)); ?>" class="add-new-h2" href="<?php echo esc_url(admin_url('edit.php?post_type=' . $this->menu_entity . '&page=operations_' . $this->post_type)); ?>" ><?php esc_html_e('CSV Import/Export', 'wp-easy-events'); ?></a>');
    183183                    $('li.opt_<?php echo esc_attr($this->post_type); ?>').html('');
    184184                    });     
  • wp-easy-events/trunk/includes/entities/class-emd-event-venues.php

    r3187384 r3342904  
    330330            'publicly_queryable' => true,
    331331            'show_ui' => true,
    332             'description' => __('', 'wp-easy-events') ,
     332            'description' => '',
    333333            'show_in_menu' => '',
    334334            'menu_position' => null,
  • wp-easy-events/trunk/includes/login-register-functions.php

    r3021434 r3342904  
    1919}
    2020
     21function allow_display_none( $styles ) {
     22    $styles[] = 'display';
     23    $styles[] = 'overflow-y';
     24    return $styles;
     25}
     26add_filter( 'safe_style_css', 'allow_display_none' );
    2127
    2228add_action('emd_show_login_register_forms','emd_show_login_register_forms',10,3);
     
    4652    wp_enqueue_style('emd-login-register', $dir_url . 'assets/css/emd-login-register.min.css','',$version);
    4753    wp_enqueue_script('wpas-jvalidate', $dir_url . 'assets/ext/jvalidate/wpas.validate.min.js', array('jquery'),$version,true);
    48     wp_enqueue_script('emd-login-register', $dir_url . 'assets/js/emd-login-register.js',Array('jquery'),$version);
     54    wp_enqueue_script('emd-login-register', $dir_url . 'assets/js/emd-login-register.js',Array('jquery'),$version, true);
    4955    $log_reg_vars['show'] = $show;
    5056    $log_reg_vars['nonce'] = wp_create_nonce('emd_form');
     
    7985        $layout = ob_get_clean();
    8086        $session_class->session->set('login_reg_errors', null);
    81         echo $layout;
     87        $allowed = Array(
     88            'div' => array('style'=> true,'id' => array(), 'class'=>array(), 'data-field'=> array()),
     89            'input' => Array(
     90                'value' => array() ,
     91                'class' => array() ,
     92                'name' => array() ,
     93                'id' => Array() ,
     94                'type' => Array(),
     95                'placeholder' => Array(),
     96            ),
     97            'fieldset' => array('div' => array('style' => array())),
     98            'legend' => array(),
     99            'p' => array('class' => array(), 'style'=>array()),
     100            'tr' => array('style'=>array()),
     101            'td' => array('style'=>array()),
     102            'form' => array('id'=>array(), 'action' => array(), 'method' => array(), 'class' => array(), 'novalidate' => array()),
     103            'label' => array('class'=>array(), 'for' => array()),
     104            'span' => array('class'=>array(), 'style' => array(), 'id' => array()),
     105            'a' => array(
     106                'style'=> array(),
     107                'href'   => array(),
     108                'target' => array(),
     109                'rel'    => array(),
     110                'data-html'=>array(),
     111                'data-toggle'=>array(),
     112                'title' => array(),
     113                'id' => array(),
     114                'class' => array(),
     115            ),
     116        );
     117        echo wp_kses($layout,$allowed);
     118        //echo $layout;
    82119    }
    83120    else {
     
    88125        }
    89126        else {
    90             _e('You do not have sufficient permissions to access this page.', 'wp-easy-events');
     127            esc_html_e('You do not have sufficient permissions to access this page.', 'wp-easy-events');
    91128        }
    92129        echo '</div></div>';
  • wp-easy-events/trunk/includes/plugin-feedback-functions.php

    r3187384 r3342904  
    6969            '<input type="submit" value="' . __('Allow', 'wp-easy-events') . '" class="button-primary" name="wp-easy-events_optin" id="wp-easy-events-allow-tracking"></input>',
    7070        ));
    71         echo '<form method="post" action="' . admin_url('admin-post.php') . '">';
     71        echo '<form method="post" action="' . esc_url(admin_url('admin-post.php')) . '">';
    7272        echo '<input type="hidden" name="action" value="wp-easy-events_check_optin">';
    7373        echo '<div class="update-nag emd-admin-notice">';
     
    144144                        <div>';
    145145        if ($min_count > 5) {
    146             $message_start.= sprintf(__("Hi, I noticed you just crossed the %d %s milestone - that's awesome!", "wp-easy-events") , $min_trigger, $label);
     146            $message_start.= sprintf(__("Hi, I noticed you just crossed the %1\$d %1\$s milestone - that's awesome!", "wp-easy-events") , $min_trigger, $label);
    147147        } elseif ($installed_date <= $today) {
    148148            $message_start.= __("Hi, I just noticed you have been using WP Easy Events for about a week now - that's awesome!", "wp-easy-events");
     
    217217        $is_long_term_user = false;
    218218    }
    219     wp_enqueue_style("emd-plugin-modal", WP_EASY_EVENTS_PLUGIN_URL . 'assets/css/emd-plugin-modal.css');
     219    wp_enqueue_style("emd-plugin-modal", WP_EASY_EVENTS_PLUGIN_URL . 'assets/css/emd-plugin-modal.css', Array(), WP_EASY_EVENTS_VERSION);
    220220    $feedback_vars['header'] = __('If you have a moment, please let us know why you are deactivating', 'wp-easy-events');
    221221    $feedback_vars['submit'] = __('Submit & Deactivate', 'wp-easy-events');
     
    302302                                        </span><span>' . $reason . '</span></label></li>';
    303303    }
    304     wp_enqueue_script('emd-plugin-feedback', WP_EASY_EVENTS_PLUGIN_URL . 'assets/js/emd-plugin-feedback.js');
     304    wp_enqueue_script('emd-plugin-feedback', WP_EASY_EVENTS_PLUGIN_URL . 'assets/js/emd-plugin-feedback.js', Array(), WP_EASY_EVENTS_VERSION, true);
    305305    wp_localize_script("emd-plugin-feedback", 'plugin_feedback_vars', $feedback_vars);
    306     wp_enqueue_script('wp-easy-events-feedback', WP_EASY_EVENTS_PLUGIN_URL . 'assets/js/wp-easy-events-feedback.js');
     306    wp_enqueue_script('wp-easy-events-feedback', WP_EASY_EVENTS_PLUGIN_URL . 'assets/js/wp-easy-events-feedback.js', Array(), WP_EASY_EVENTS_VERSION, true);
    307307    $wp_easy_events_vars['plugin'] = 'wp_easy_events';
    308308    wp_localize_script("wp-easy-events-feedback", 'wp_easy_events_vars', $wp_easy_events_vars);
  • wp-easy-events/trunk/includes/scripts.php

    r3237156 r3342904  
    2222    $tracking_optin = get_option('wp_easy_events_tracking_optin', 0);
    2323    if (-1 !== intval($tracking_optin) || - 1 !== intval($min_trigger)) {
    24         wp_enqueue_style('emd-plugin-rateme-css', $dir_url . 'assets/css/emd-plugin-rateme.css');
    25         wp_enqueue_script('emd-plugin-rateme-js', $dir_url . 'assets/js/emd-plugin-rateme.js');
     24        wp_enqueue_style('emd-plugin-rateme-css', $dir_url . 'assets/css/emd-plugin-rateme.css', Array(), WP_EASY_EVENTS_VERSION);
     25        wp_enqueue_script('emd-plugin-rateme-js', $dir_url . 'assets/js/emd-plugin-rateme.js', Array(), WP_EASY_EVENTS_VERSION, true);
    2626    }
    2727    if ($hook == 'widgets.php') {
    28         wp_enqueue_script('emd-widg-js', $dir_url . 'assets/js/emd-widget-admin.js', array() , '', true);
     28        wp_enqueue_script('emd-widg-js', $dir_url . 'assets/js/emd-widget-admin.js', array(), WP_EASY_EVENTS_VERSION, true);
    2929        return;
    3030    }
     
    3737    }
    3838    if (isset($_GET['page']) && $_GET['page'] == 'wp_easy_events_settings') {
    39         wp_enqueue_style('emd-accordion-css', $dir_url . 'assets/css/emd-accordion.css');
     39        wp_enqueue_style('emd-accordion-css', $dir_url . 'assets/css/emd-accordion.css', Array(), WP_EASY_EVENTS_VERSION);
    4040        wp_enqueue_script('accordion');
    41         wp_enqueue_style('codemirror-css', $dir_url . 'assets/ext/codemirror/codemirror.min.css');
    42         wp_enqueue_script('codemirror-js', $dir_url . 'assets/ext/codemirror/codemirror.min.js', array() , '', true);
    43         wp_enqueue_script('codemirror-css-js', $dir_url . 'assets/ext/codemirror/css.min.js', array() , '', true);
    44         wp_enqueue_script('codemirror-jvs-js', $dir_url . 'assets/ext/codemirror/javascript.min.js', array() , '', true);
     41        wp_enqueue_script( 'code-editor' );
     42        wp_enqueue_style( 'code-editor' );
     43
     44        // Get settings for both editors
     45        $css_settings = wp_get_code_editor_settings( array( 'type' => 'text/css' ) );
     46        $js_settings  = wp_get_code_editor_settings( array( 'type' => 'text/javascript' ) );
     47        $js_settings['codemirror']['lint'] = false;
     48
     49        // Initialize both editors
     50        $init_script = 'jQuery(function() {';
     51        if ( ! empty( $css_settings ) ) {
     52        $init_script .= 'wp.codeEditor.initialize( "wp_easy_events_tools_custom_css", ' . wp_json_encode( $css_settings ) . ' );';
     53        }
     54        if ( ! empty( $js_settings ) ) {
     55        $init_script .= 'wp.codeEditor.initialize( "wp_easy_events_tools_custom_js", ' . wp_json_encode( $js_settings ) . ' );';
     56        }
     57        $init_script .= '});';
     58
     59        wp_add_inline_script( 'code-editor', $init_script );
     60
    4561        return;
    4662    } else if (isset($_GET['page']) && in_array($_GET['page'], Array(
    4763        'wp_easy_events_notify'
    4864    ))) {
    49         wp_enqueue_style('emd-accordion-css', $dir_url . 'assets/css/emd-accordion.css');
     65        wp_enqueue_style('emd-accordion-css', $dir_url . 'assets/css/emd-accordion.css', Array(), WP_EASY_EVENTS_VERSION);
    5066        wp_enqueue_script('accordion');
    5167        return;
     
    5369        'wp_easy_events_glossary'
    5470    ))) {
    55         wp_enqueue_style('emd-accordion-css', $dir_url . 'assets/css/emd-accordion.css');
     71        wp_enqueue_style('emd-accordion-css', $dir_url . 'assets/css/emd-accordion.css', Array(), WP_EASY_EVENTS_VERSION);
    5672        wp_enqueue_script('accordion');
    5773        return;
    5874    } else if (isset($_GET['page']) && $_GET['page'] == 'wp_easy_events') {
    59         wp_enqueue_style('lazyYT-css', $dir_url . 'assets/ext/lazyyt/lazyYT.min.css');
    60         wp_enqueue_script('lazyYT-js', $dir_url . 'assets/ext/lazyyt/lazyYT.min.js');
    61         wp_enqueue_script('getting-started-js', $dir_url . 'assets/js/getting-started.js');
     75        wp_enqueue_style('lazyYT-css', $dir_url . 'assets/ext/lazyyt/lazyYT.min.css', Array(), WP_EASY_EVENTS_VERSION);
     76        wp_enqueue_script('lazyYT-js', $dir_url . 'assets/ext/lazyyt/lazyYT.min.js', Array(), WP_EASY_EVENTS_VERSION, true);
     77        wp_enqueue_script('getting-started-js', $dir_url . 'assets/js/getting-started.js', Array(), WP_EASY_EVENTS_VERSION, true);
    6278        return;
    6379    } else if (isset($_GET['page']) && in_array($_GET['page'], Array(
     
    6581        'wp_easy_events_support'
    6682    ))) {
    67         wp_enqueue_style('admin-tabs', $dir_url . 'assets/css/admin-store.css');
     83        wp_enqueue_style('admin-tabs', $dir_url . 'assets/css/admin-store.css', Array(), WP_EASY_EVENTS_VERSION);
    6884        return;
    6985    } else if (isset($_GET['page']) && $_GET['page'] == 'wp_easy_events_licenses') {
    70         wp_enqueue_style('admin-css', $dir_url . 'assets/css/emd-admin.min.css');
     86        wp_enqueue_style('admin-css', $dir_url . 'assets/css/emd-admin.min.css', Array(), WP_EASY_EVENTS_VERSION);
    7187        return;
    7288    } else if (isset($_GET['page']) && $_GET['page'] == 'wp_easy_events_shortcodes') {
    7389        wp_enqueue_script('emd-copy-js', $dir_url . 'assets/js/emd-copy.js', array(
    7490            'clipboard'
    75         ) , '');
     91        ), WP_EASY_EVENTS_VERSION, true);
    7692        return;
    7793    }
     
    134150            wp_localize_script("unique_validate-js", 'unique_vars', $unique_vars);
    135151        } elseif ($hook == 'edit.php') {
    136             wp_enqueue_style('wp-easy-events-allview-css', WP_EASY_EVENTS_PLUGIN_URL . '/assets/css/allview.css');
     152            wp_enqueue_style('wp-easy-events-allview-css', WP_EASY_EVENTS_PLUGIN_URL . '/assets/css/allview.css', Array(), WP_EASY_EVENTS_VERSION, true);
    137153            emd_lite_admin_enq_files('wp_easy_events', $hook);
    138154        }
     
    158174        }
    159175        if ($tab_enq == 1) {
    160             wp_enqueue_style('jq-css', WP_EASY_EVENTS_PLUGIN_URL . 'assets/css/smoothness-jquery-ui.css');
     176            wp_enqueue_style('jq-css', WP_EASY_EVENTS_PLUGIN_URL . 'assets/css/smoothness-jquery-ui.css', Array(), WP_EASY_EVENTS_VERSION);
    161177        }
    162178    }
     
    231247            $url = home_url('/', 'https');
    232248        }
    233         wp_register_style('wp-easy-events-custom', false);
     249        wp_register_style('wp-easy-events-custom', false, array(), WP_EASY_EVENTS_VERSION);
    234250        wp_enqueue_style('wp-easy-events-custom');
    235251        wp_add_inline_style('wp-easy-events-custom', $tools['custom_css']);
     
    240256            $url = home_url('/', 'https');
    241257        }
    242         wp_register_script('wp-easy-events-custom', false);
     258        wp_register_script('wp-easy-events-custom', false, array(), WP_EASY_EVENTS_VERSION, true);
    243259        wp_enqueue_script('wp-easy-events-custom');
    244260        wp_add_inline_script('wp-easy-events-custom', $tools['custom_js']);
     
    297313        if ($screen->is_block_editor) { ?>
    298314                                                if(is_prev_post_available && is_next_post_available){
    299                                                         $('.edit-post-header__settings').prepend('<a href="<?php echo get_edit_post_link($previous_post_id) ?>" class="prev-post components-button editor-post-preview is-button is-primary is-large">&larr; <?php esc_html_e('Previous', 'wp-easy-events') ?></a><a href="<?php echo get_edit_post_link($next_post_id) ?>" class="next-post components-button editor-post-preview is-button is-primary is-large"><?php esc_html_e('Next', 'wp-easy-events') ?> &rarr;</a>');
     315                                                        $('.edit-post-header__settings').prepend('<a href="<?php echo esc_url(get_edit_post_link($previous_post_id)); ?>" class="prev-post components-button editor-post-preview is-button is-primary is-large">&larr; <?php esc_html_e('Previous', 'wp-easy-events') ?></a><a href="<?php echo esc_url(get_edit_post_link($next_post_id)); ?>" class="next-post components-button editor-post-preview is-button is-primary is-large"><?php esc_html_e('Next', 'wp-easy-events') ?> &rarr;</a>');
    300316                                                }else if(is_prev_post_available && !is_next_post_available){
    301                                                         $('.edit-post-header__settings').prepend('<a href="<?php echo get_edit_post_link($previous_post_id) ?>" class="prev-post components-button editor-post-preview is-button is-primary is-large">&larr; <?php esc_html_e('Previous', 'wp-easy-events') ?></a>');
     317                                                        $('.edit-post-header__settings').prepend('<a href="<?php echo esc_url(get_edit_post_link($previous_post_id)); ?>" class="prev-post components-button editor-post-preview is-button is-primary is-large">&larr; <?php esc_html_e('Previous', 'wp-easy-events') ?></a>');
    302318                                                }else if(is_next_post_available && !is_prev_post_available){
    303                                                         $('.edit-post-header__settings').prepend('<a href="<?php echo get_edit_post_link($next_post_id) ?>" class="next-post components-button editor-post-preview is-button is-primary is-large"><?php esc_html_e('Next', 'wp-easy-events') ?> &rarr;</a>');
     319                                                        $('.edit-post-header__settings').prepend('<a href="<?php echo esc_url(get_edit_post_link($next_post_id)); ?>" class="next-post components-button editor-post-preview is-button is-primary is-large"><?php esc_html_e('Next', 'wp-easy-events') ?> &rarr;</a>');
    304320                                                }
    305321                                        <?php
    306322        } else { ?>
    307323                                                if(is_prev_post_available && is_next_post_available){
    308                                                         $('.wrap .page-title-action').after('<a href="<?php echo get_edit_post_link($previous_post_id) ?>" class="prev-post page-title-action">&larr; <?php esc_html_e('Previous', 'wp-easy-events') ?></a><a href="<?php echo get_edit_post_link($next_post_id) ?>" class="next-post page-title-action"><?php esc_html_e('Next', 'wp-easy-events') ?> &rarr;</a>');
     324                                                        $('.wrap .page-title-action').after('<a href="<?php echo esc_url(get_edit_post_link($previous_post_id)); ?>" class="prev-post page-title-action">&larr; <?php esc_html_e('Previous', 'wp-easy-events') ?></a><a href="<?php echo esc_url(get_edit_post_link($next_post_id)); ?>" class="next-post page-title-action"><?php esc_html_e('Next', 'wp-easy-events') ?> &rarr;</a>');
    309325                                                }else if(is_prev_post_available && !is_next_post_available){
    310                                                         $('.wrap .page-title-action').after('<a href="<?php echo get_edit_post_link($previous_post_id) ?>" class="prev-post page-title-action">&larr; <?php esc_html_e('Previous', 'wp-easy-events') ?></a>');
     326                                                        $('.wrap .page-title-action').after('<a href="<?php echo esc_url(get_edit_post_link($previous_post_id)); ?>" class="prev-post page-title-action">&larr; <?php esc_html_e('Previous', 'wp-easy-events') ?></a>');
    311327                                                }else if(is_next_post_available && !is_prev_post_available){
    312                                                         $('.wrap .page-title-action').after('<a href="<?php echo get_edit_post_link($next_post_id) ?>" class="next-post page-title-action"><?php esc_html_e('Next', 'wp-easy-events') ?> &rarr;</a>');
     328                                                        $('.wrap .page-title-action').after('<a href="<?php echo esc_url(get_edit_post_link($next_post_id)); ?>" class="next-post page-title-action"><?php esc_html_e('Next', 'wp-easy-events') ?> &rarr;</a>');
    313329                                                }
    314330                                        <?php
  • wp-easy-events/trunk/layouts/emd-login.php

    r3021434 r3342904  
    44?>
    55<div id="emd-login-container">
    6 <form id="emd_login_form" class="emdloginreg-container emd_form" action="<?php echo get_permalink($post->ID); ?>" method="post">
     6<form id="emd_login_form" class="emdloginreg-container emd_form" action="<?php echo esc_url(get_permalink($post->ID)); ?>" method="post">
    77<fieldset>
    88<legend><?php esc_html_e( 'Log into Your Account', 'wp-easy-events' ); ?></legend>
     
    3838<div>
    3939<input type="hidden" name="redirect_to" value="<?php echo esc_url(get_permalink($post->ID)); ?>"/>
    40 <input type="hidden" name="emd_login_nonce" value="<?php echo wp_create_nonce( 'emd-login-nonce' ); ?>"/>
     40<input type="hidden" name="emd_login_nonce" value="<?php echo esc_attr(wp_create_nonce( 'emd-login-nonce' )); ?>"/>
    4141<input type="hidden" name="emd_action" value="login"/>
    4242
     
    4545<div style="clear:both">
    4646<p class="emd-lost-password" style="float:left">
    47 <a href="<?php echo wp_lostpassword_url(); ?>">
     47<a href="<?php echo esc_url(wp_lostpassword_url()); ?>">
    4848<?php esc_html_e( 'Lost Password?', 'wp-easy-events' ); ?>
    4949</a>
  • wp-easy-events/trunk/layouts/emd-register.php

    r3021434 r3342904  
    44?>
    55<div id="emd-register-container" style="display:none;">
    6 <form class="emd-register-form emdloginreg-container" id="emd_register_form" method="post" action="<?php echo get_permalink($post->ID); ?>">
     6<form class="emd-register-form emdloginreg-container" id="emd_register_form" method="post" action="<?php echo esc_url(get_permalink($post->ID)); ?>">
    77<fieldset>
    88<legend><?php esc_html_e( 'Register', 'wp-easy-events' ); ?></legend>
     
    7979<div>
    8080<input type="hidden" name="emd_redirect" value="<?php echo esc_url(get_permalink($post->ID)); ?>"/>
    81 <input type="hidden" name="emd_register_nonce" value="<?php echo wp_create_nonce( 'emd-register-nonce' ); ?>"/>
     81<input type="hidden" name="emd_register_nonce" value="<?php echo esc_attr(wp_create_nonce( 'emd-register-nonce' )); ?>"/>
    8282<input type="hidden" name="emd_action" value="wp_easy_events_user_register"/>
    8383
  • wp-easy-events/trunk/layouts/emd-single.php

    r2981917 r3342904  
    2929        <?php
    3030        //emd_get_template_part('wp-easy-events', 'single', str_replace("_","-",$post->post_type));
    31         echo apply_filters('the_content',$post->post_content);
     31        echo wp_kses_post(apply_filters('the_content',$post->post_content));
    3232        ?>
    3333        </div>
  • wp-easy-events/trunk/layouts/shc-wpee-event-grid-content.php

    r2981917 r3342904  
    44$ent_attrs = get_option('wp_easy_events_attr_list');
    55?>
    6 <a href="<?php echo esc_url(get_permalink()); ?>" style="text-decoration:none" title="<?php echo get_the_title(); ?>">
     6<a href="<?php echo esc_url(get_permalink()); ?>" style="text-decoration:none" title="<?php echo esc_attr(get_the_title()); ?>">
    77<div class="event-block">
    88    <div class="event-thumb">
    9         <?php echo emd_featured_img('', '', 'wp_easy_events'); ?>
     9        <?php emd_featured_img('', '', 'wp_easy_events'); ?>
    1010    </div>
    1111    <div class="event-block-text">
    1212        <div class="event-date textMedium">
    13             <?php echo emd_human_readable_date_range(emd_translate_date_format($ent_attrs['emd_wpe_event']['emd_event_startdate'], emd_mb_meta('emd_event_startdate')) , emd_translate_date_format($ent_attrs['emd_wpe_event']['emd_event_enddate'], emd_mb_meta('emd_event_enddate'))); ?>
     13            <?php echo esc_html(emd_human_readable_date_range(emd_translate_date_format($ent_attrs['emd_wpe_event']['emd_event_startdate'], emd_mb_meta('emd_event_startdate')) , emd_translate_date_format($ent_attrs['emd_wpe_event']['emd_event_enddate'], emd_mb_meta('emd_event_enddate')))); ?>
    1414        </div>
    1515        <div class="event-heading font-bold textMedium">
    16             <?php echo get_the_title(); ?>
     16            <?php echo esc_html(get_the_title()); ?>
    1717        </div>
    1818        <div class="event-venue textMedium">
  • wp-easy-events/trunk/layouts/shc-wpee-venue-list-content.php

    r2981917 r3342904  
    55?>
    66<div class="event-grid-venue-blk textRegular text-muted">
    7 <span class="event-grid-venue"><?php echo get_the_title(); ?> | </span>
     7<span class="event-grid-venue"><?php echo esc_html(get_the_title()); ?> | </span>
    88<span class="event-grid-venue-addr"><?php echo esc_html(emd_mb_meta('emd_venue_fulladdress')); ?>
    99</span>
  • wp-easy-events/trunk/layouts/single-emd-event-attendee.php

    r3021434 r3342904  
    33$ent_attrs = get_option('wp_easy_events_attr_list');
    44?>
    5 <div id="single-emd-event-attendee-<?php echo get_the_ID(); ?>" class="emd-container emd-event-attendee-wrap single-wrap">
     5<div id="single-emd-event-attendee-<?php echo esc_attr(get_the_ID()); ?>" class="emd-container emd-event-attendee-wrap single-wrap">
    66<?php $is_editable = 0; ?>
    77<?php do_action('emd_qr_code_checkin_qr', 'wp_easy_events', 'emd_event_attendee', 'emd_attendee_checkin'); ?>
  • wp-easy-events/trunk/layouts/single-emd-event-organizer.php

    r3021434 r3342904  
    33$ent_attrs = get_option('wp_easy_events_attr_list');
    44?>
    5 <div id="single-emd-event-organizer-<?php echo get_the_ID(); ?>" class="emd-container emd-event-organizer-wrap single-wrap">
     5<div id="single-emd-event-organizer-<?php echo esc_attr(get_the_ID()); ?>" class="emd-container emd-event-organizer-wrap single-wrap">
    66<?php $is_editable = 0; ?>
    77<div class="notfronteditable">
    88    <div class="section-wrapper">
    99        <div style="padding-bottom:10px;clear:both;text-align:right;" id="modified-info-block" class=" modified-info-block">
    10             <div class="textSmall text-muted modified" style="font-size:75%"><span class="last-modified-text"><?php esc_html_e('Last modified', 'wp-easy-events'); ?> </span><span class="last-modified-author"><?php esc_html_e('by', 'wp-easy-events'); ?> <?php echo get_the_modified_author(); ?> - </span><span class="last-modified-datetime"><?php echo human_time_diff(strtotime(get_the_modified_date('Y-m-d') . " " . get_the_modified_time('H:i')) , current_time('timestamp')); ?> </span><span class="last-modified-dttext"><?php esc_html_e('ago', 'wp-easy-events'); ?></span></div>
     10            <div class="textSmall text-muted modified" style="font-size:75%"><span class="last-modified-text"><?php esc_html_e('Last modified', 'wp-easy-events'); ?> </span><span class="last-modified-author"><?php esc_html_e('by', 'wp-easy-events'); ?> <?php echo esc_html(get_the_modified_author()); ?> - </span><span class="last-modified-datetime"><?php echo esc_html(human_time_diff(strtotime(get_the_modified_date('Y-m-d') . " " . get_the_modified_time('H:i')) , current_time('timestamp'))); ?> </span><span class="last-modified-dttext"><?php esc_html_e('ago', 'wp-easy-events'); ?></span></div>
    1111        </div>
    1212        <div class="section-heading">
    1313            <div class='single-header header'>
    1414                <h1 class='single-entry-title entry-title' style='color:inherit;padding:0;margin:0;font-size: 28px;border:0'>
    15                     <?php if (emd_is_item_visible('title', 'wp_easy_events', 'attribute', $is_editable)) { ?><span class="single-content title"><?php echo get_the_title(); ?></span><?php
     15                    <?php if (emd_is_item_visible('title', 'wp_easy_events', 'attribute', $is_editable)) { ?><span class="single-content title"><?php echo esc_html(get_the_title()); ?></span><?php
    1616} ?>
    1717                </h1>
     
    2929                            <div class="slcontent emdbox">
    3030                                <?php if (emd_is_item_visible('featured_img', 'wp_easy_events', 'attribute', 0)) { ?>
    31                                 <div class="img-gallery segment-block featured-img"><a class="featured-img" title="<?php echo get_the_title(); ?>" href="<?php echo emd_featured_img('url', '', 'wp_easy_events'); ?>"><?php echo emd_featured_img('', 'large', 'wp_easy_events'); ?></a></div>
     31                                <div class="img-gallery segment-block featured-img"><a class="featured-img" title="<?php echo esc_attr(get_the_title()); ?>" href="<?php emd_featured_img('url', '', 'wp_easy_events'); ?>"><?php emd_featured_img('', 'large', 'wp_easy_events'); ?></a></div>
    3232                                <?php
    3333} ?>
     
    7474?>
    7575<div class="single-relpanel emd-wpe-event event-organizer"><div class="accor-title"><?php esc_html_e('Events', 'wp-easy-events'); ?></div>  <?php
    76     echo $res['before_list'];
     76    echo wp_kses_post($res['before_list']);
    7777    $real_post = $post;
    7878    $rel_count_id = 1;
     
    8080    foreach ($res['rels'] as $myrel) {
    8181        $post = $myrel;
    82         echo $res['before_item']; ?>
     82        echo wp_kses_post($res['before_item']); ?>
    8383<div class="relblock">
    8484<ul style="padding-left:0;list-style:none;" class="emd-rellist">
    8585<li class="emd-rellist-permalink">
    86 <a href="<?php echo esc_url(get_permalink($post->ID)); ?>" title="<?php echo get_the_title(); ?>"><?php echo get_the_title(); ?></a>
     86<a href="<?php echo esc_url(get_permalink($post->ID)); ?>" title="<?php echo esc_attr(get_the_title()); ?>"><?php echo esc_html(get_the_title()); ?></a>
    8787</li>
    8888<?php if (emd_is_item_visible('featured_img', 'wp_easy_events', 'attribute', 0)) { ?>
     
    9090<div style="padding-bottom:0" class="featured-img segment-block">
    9191<div class="segtitle" style="margin-bottom:0;"></div>
    92 <div class="segvalue emd-thumb"><a title="<?php echo get_the_title(); ?>" href="<?php echo esc_url(get_permalink($post->ID)); ?>"><?php echo emd_featured_img('', 'thumbnail', 'wp_easy_events'); ?></a></div>
     92<div class="segvalue emd-thumb"><a title="<?php echo esc_attr(get_the_title()); ?>" href="<?php echo esc_url(get_permalink($post->ID)); ?>"><?php emd_featured_img('', 'thumbnail', 'wp_easy_events'); ?></a></div>
    9393</div>
    9494</li>
    9595<?php
    9696        } ?>
    97 <li style="margin:0;padding:0" class="tagfunc"><?php if (emd_is_item_visible('ent_event_startdate', 'wp_easy_events', 'attribute')) { ?> <div class="single-content segment-block ent-event-startdate"><i class="fa-fw fa fa-calendar" aria-hidden="true"></i><?php echo emd_human_readable_date_range(emd_translate_date_format($ent_attrs['emd_wpe_event']['emd_event_startdate'], emd_mb_meta('emd_event_startdate')) , emd_translate_date_format($ent_attrs['emd_wpe_event']['emd_event_enddate'], emd_mb_meta('emd_event_enddate'))); ?></div><?php
    98         } ?> <?php if (emd_is_item_visible('ent_event_timezone', 'wp_easy_events', 'attribute')) { ?> <div class="single-content <?php echo ((emd_mb_meta('emd_event_display_timezone')) ? "segment-block" : "hidden"); ?> ent-event-timezone"> <?php echo emd_get_attr_val('wp_easy_events', $myrel->ID, 'emd_wpe_event', 'emd_event_timezone'); ?></div><?php
     97<li style="margin:0;padding:0" class="tagfunc"><?php if (emd_is_item_visible('ent_event_startdate', 'wp_easy_events', 'attribute')) { ?> <div class="single-content segment-block ent-event-startdate"><i class="fa-fw fa fa-calendar" aria-hidden="true"></i><?php echo esc_html(emd_human_readable_date_range(emd_translate_date_format($ent_attrs['emd_wpe_event']['emd_event_startdate'], emd_mb_meta('emd_event_startdate')) , emd_translate_date_format($ent_attrs['emd_wpe_event']['emd_event_enddate'], emd_mb_meta('emd_event_enddate')))); ?></div><?php
     98        } ?> <?php if (emd_is_item_visible('ent_event_timezone', 'wp_easy_events', 'attribute')) { ?> <div class="single-content <?php echo ((emd_mb_meta('emd_event_display_timezone')) ? "segment-block" : "hidden"); ?> ent-event-timezone"> <?php echo esc_html(emd_get_attr_val('wp_easy_events', $myrel->ID, 'emd_wpe_event', 'emd_event_timezone')); ?></div><?php
    9999        } ?></li><?php if (emd_is_item_visible('ent_event_cost', 'wp_easy_events', 'attribute', 0)) { ?>
    100100<li class=" relseg">
     
    110110<div style="padding-bottom:0" class="ent-event-external-url segment-block">
    111111<div class="segtitle" style="margin-bottom:0;"></div>
    112 <div class="segvalue"><i aria-hidden="true" class="fa fa-link fa-fw"></i><a title='Link' target='_blank' href='<?php echo esc_html(emd_mb_meta('emd_event_external_url', '', $myrel->ID)); ?>' title='<?php echo get_the_title(); ?>'><?php esc_html_e('Click for more info', 'wp-easy-events'); ?></a></div>
     112<div class="segvalue"><i aria-hidden="true" class="fa fa-link fa-fw"></i><a title='Link' target='_blank' href='<?php echo esc_html(emd_mb_meta('emd_event_external_url', '', $myrel->ID)); ?>' title='<?php echo esc_attr(get_the_title()); ?>'><?php esc_html_e('Click for more info', 'wp-easy-events'); ?></a></div>
    113113</div>
    114114</li>
     
    137137<?php
    138138        if (!empty($modal_content) && !empty(emd_mb_meta('emd_event_registration_type')) && emd_mb_meta('emd_event_registration_type') != 'none') {
    139             echo '<div class="section-row" style="margin:10px 0"><a class="export-button" href="#signup-' . get_the_ID() . '" id="go" name="signup-' . get_the_ID() . '" rel="leanModal">';
     139            echo '<div class="section-row" style="margin:10px 0"><a class="export-button" href="#signup-' . esc_attr(get_the_ID()) . '" id="go" name="signup-' . esc_attr(get_the_ID()) . '" rel="leanModal">';
    140140            echo wp_kses_post($modal_button);
    141             echo '</a></div><!-- Modal --><div id="signup-' . get_the_ID() . '" class="emd-signup">
     141            echo '</a></div><!-- Modal --><div id="signup-' . esc_attr(get_the_ID()) . '" class="emd-signup">
    142142                <div class="emd-signup-ct"><div class="emd-signup-header">';
    143             echo wp_kses_post($modal_heading) . '  ' . get_the_title();
     143            echo wp_kses_post($modal_heading) . '  ' . esc_html(get_the_title());
    144144            echo '</div><div class="modal-body" style="padding:15px">';
    145145            $allowed = Array(
     
    235235</div>
    236236<?php
    237         echo $res['after_item'];
     237        echo wp_kses_post($res['after_item']);
    238238        $rel_count_id++;
    239239    }
    240240    $post = $real_post;
    241     echo $res['after_list']; ?>
     241    echo wp_kses_post($res['after_list']); ?>
    242242  </div><?php
    243243} ?> </div>
  • wp-easy-events/trunk/layouts/single-emd-event-venues.php

    r3021434 r3342904  
    33$ent_attrs = get_option('wp_easy_events_attr_list');
    44?>
    5 <div id="single-emd-event-venues-<?php echo get_the_ID(); ?>" class="emd-container emd-event-venues-wrap single-wrap">
     5<div id="single-emd-event-venues-<?php echo esc_attr(get_the_ID()); ?>" class="emd-container emd-event-venues-wrap single-wrap">
    66<?php $is_editable = 0; ?>
    77<div class="notfronteditable">
    88    <div class="section-wrapper">
    99        <div style="padding-bottom:10px;clear:both;text-align:right;" id="modified-info-block" class=" modified-info-block">
    10             <div class="textSmall text-muted modified" style="font-size:75%"><span class="last-modified-text"><?php esc_html_e('Last modified', 'wp-easy-events'); ?> </span><span class="last-modified-author"><?php esc_html_e('by', 'wp-easy-events'); ?> <?php echo get_the_modified_author(); ?> - </span><span class="last-modified-datetime"><?php echo human_time_diff(strtotime(get_the_modified_date('Y-m-d') . " " . get_the_modified_time('H:i')) , current_time('timestamp')); ?> </span><span class="last-modified-dttext"><?php esc_html_e('ago', 'wp-easy-events'); ?></span></div>
     10            <div class="textSmall text-muted modified" style="font-size:75%"><span class="last-modified-text"><?php esc_html_e('Last modified', 'wp-easy-events'); ?> </span><span class="last-modified-author"><?php esc_html_e('by', 'wp-easy-events'); ?> <?php echo esc_html(get_the_modified_author()); ?> - </span><span class="last-modified-datetime"><?php echo esc_html(human_time_diff(strtotime(get_the_modified_date('Y-m-d') . " " . get_the_modified_time('H:i')) , current_time('timestamp'))); ?> </span><span class="last-modified-dttext"><?php esc_html_e('ago', 'wp-easy-events'); ?></span></div>
    1111        </div>
    1212        <div class="section-heading">
    1313            <div class='single-header header'>
    1414                <h1 class='single-entry-title entry-title' style='color:inherit;padding:0;margin:0;font-size: 28px;border:0'>
    15                     <?php if (emd_is_item_visible('title', 'wp_easy_events', 'attribute', $is_editable)) { ?><span class="single-content title"><?php echo get_the_title(); ?></span><?php
     15                    <?php if (emd_is_item_visible('title', 'wp_easy_events', 'attribute', $is_editable)) { ?><span class="single-content title"><?php echo esc_attr(get_the_title()); ?></span><?php
    1616} ?>
    1717                </h1>
     
    2929                            <div class="slcontent emdbox">
    3030                                <?php if (emd_is_item_visible('featured_img', 'wp_easy_events', 'attribute', 0)) { ?>
    31                                 <div class="img-gallery segment-block featured-img"><a class="featured-img" title="<?php echo get_the_title(); ?>" href="<?php echo emd_featured_img('url', '', 'wp_easy_events'); ?>"><?php echo emd_featured_img('', 'large', 'wp_easy_events'); ?></a></div>
     31                                <div class="img-gallery segment-block featured-img"><a class="featured-img" title="<?php echo esc_attr(get_the_title()); ?>" href="<?php emd_featured_img('url', '', 'wp_easy_events'); ?>"><?php emd_featured_img('', 'large', 'wp_easy_events'); ?></a></div>
    3232                                <?php
    3333} ?>
     
    4545                                <?php
    4646} ?><?php if (emd_is_item_visible('excerpt', 'wp_easy_events', 'attribute', 0)) { ?>
    47                                 <div class="single-content segment-block excerpt"><?php echo $post->post_excerpt; ?></div>
     47                                <div class="single-content segment-block excerpt"><?php echo wp_kses_post($post->post_excerpt); ?></div>
    4848                                <?php
    4949} ?>
     
    5656                <div class="section-subbody" style="clear:both">
    5757                    <?php if (emd_is_item_visible('ent_venue_map', 'wp_easy_events', 'attribute', 0)) { ?>
    58                     <div class="single-content segment-block ent-venue-map"><?php echo emd_get_attr_map('wp-easy-events', 'emd_venue_map', 'emd_blt_title', 'emd_venue_fulladdress'); ?>
     58                    <div class="single-content segment-block ent-venue-map"><?php echo wp_kses_post(emd_get_attr_map('wp-easy-events', 'emd_venue_map', 'emd_blt_title', 'emd_venue_fulladdress')); ?>
    5959</div>
    6060                    <?php
     
    7373?>
    7474<div class="single-relpanel emd-wpe-event event-venue"><div class="accor-title"><?php esc_html_e('Events', 'wp-easy-events'); ?></div>  <?php
    75     echo $res['before_list'];
     75    echo wp_kses_post($res['before_list']);
    7676    $real_post = $post;
    7777    $rel_count_id = 1;
     
    7979    foreach ($res['rels'] as $myrel) {
    8080        $post = $myrel;
    81         echo $res['before_item']; ?>
     81        echo wp_kses_post($res['before_item']); ?>
    8282<div class="relblock">
    8383<ul style="padding-left:0;list-style:none;" class="emd-rellist">
    8484<li class="emd-rellist-permalink">
    85 <a href="<?php echo esc_url(get_permalink($post->ID)); ?>" title="<?php echo get_the_title(); ?>"><?php echo get_the_title(); ?></a>
     85<a href="<?php echo esc_url(get_permalink($post->ID)); ?>" title="<?php echo esc_attr(get_the_title()); ?>"><?php echo esc_html(get_the_title()); ?></a>
    8686</li>
    8787<?php if (emd_is_item_visible('featured_img', 'wp_easy_events', 'attribute', 0)) { ?>
     
    8989<div style="padding-bottom:0" class="featured-img segment-block">
    9090<div class="segtitle" style="margin-bottom:0;"></div>
    91 <div class="segvalue emd-thumb"><a title="<?php echo get_the_title(); ?>" href="<?php echo esc_url(get_permalink($post->ID)); ?>"><?php echo emd_featured_img('', 'thumbnail', 'wp_easy_events'); ?></a></div>
     91<div class="segvalue emd-thumb"><a title="<?php echo esc_attr(get_the_title()); ?>" href="<?php echo esc_url(get_permalink($post->ID)); ?>"><?php emd_featured_img('', 'thumbnail', 'wp_easy_events'); ?></a></div>
    9292</div>
    9393</li>
    9494<?php
    9595        } ?>
    96 <li style="margin:0;padding:0" class="tagfunc"><?php if (emd_is_item_visible('ent_event_startdate', 'wp_easy_events', 'attribute')) { ?> <div class="single-content segment-block ent-event-startdate"><i class="fa-fw fa fa-calendar" aria-hidden="true"></i><?php echo emd_human_readable_date_range(emd_translate_date_format($ent_attrs['emd_wpe_event']['emd_event_startdate'], emd_mb_meta('emd_event_startdate')) , emd_translate_date_format($ent_attrs['emd_wpe_event']['emd_event_enddate'], emd_mb_meta('emd_event_enddate'))); ?></div><?php
    97         } ?> <?php if (emd_is_item_visible('ent_event_timezone', 'wp_easy_events', 'attribute')) { ?> <div class="single-content <?php echo ((emd_mb_meta('emd_event_display_timezone')) ? "segment-block" : "hidden"); ?> ent-event-timezone"> <?php echo emd_get_attr_val('wp_easy_events', $myrel->ID, 'emd_wpe_event', 'emd_event_timezone'); ?></div><?php
     96<li style="margin:0;padding:0" class="tagfunc"><?php if (emd_is_item_visible('ent_event_startdate', 'wp_easy_events', 'attribute')) { ?> <div class="single-content segment-block ent-event-startdate"><i class="fa-fw fa fa-calendar" aria-hidden="true"></i><?php echo esc_html(emd_human_readable_date_range(emd_translate_date_format($ent_attrs['emd_wpe_event']['emd_event_startdate'], emd_mb_meta('emd_event_startdate')) , emd_translate_date_format($ent_attrs['emd_wpe_event']['emd_event_enddate'], emd_mb_meta('emd_event_enddate')))); ?></div><?php
     97        } ?> <?php if (emd_is_item_visible('ent_event_timezone', 'wp_easy_events', 'attribute')) { ?> <div class="single-content <?php echo ((emd_mb_meta('emd_event_display_timezone')) ? "segment-block" : "hidden"); ?> ent-event-timezone"> <?php echo esc_html(emd_get_attr_val('wp_easy_events', $myrel->ID, 'emd_wpe_event', 'emd_event_timezone')); ?></div><?php
    9898        } ?></li><?php if (emd_is_item_visible('ent_event_cost', 'wp_easy_events', 'attribute', 0)) { ?>
    9999<li class=" relseg">
     
    109109<div style="padding-bottom:0" class="ent-event-external-url segment-block">
    110110<div class="segtitle" style="margin-bottom:0;"></div>
    111 <div class="segvalue"><i aria-hidden="true" class="fa fa-link fa-fw"></i><a title='Link' target='_blank' href='<?php echo esc_html(emd_mb_meta('emd_event_external_url', '', $myrel->ID)); ?>' title='<?php echo get_the_title(); ?>'><?php esc_html_e('Click for more info', 'wp-easy-events'); ?></a></div>
     111<div class="segvalue"><i aria-hidden="true" class="fa fa-link fa-fw"></i><a title='Link' target='_blank' href='<?php echo esc_html(emd_mb_meta('emd_event_external_url', '', $myrel->ID)); ?>' title='<?php echo esc_attr(get_the_title()); ?>'><?php esc_html_e('Click for more info', 'wp-easy-events'); ?></a></div>
    112112</div>
    113113</li>
     
    136136<?php
    137137        if (!empty($modal_content) && !empty(emd_mb_meta('emd_event_registration_type')) && emd_mb_meta('emd_event_registration_type') != 'none') {
    138             echo '<div class="section-row" style="margin:10px 0"><a class="export-button" href="#signup-' . get_the_ID() . '" id="go" name="signup-' . get_the_ID() . '" rel="leanModal">';
     138            echo '<div class="section-row" style="margin:10px 0"><a class="export-button" href="#signup-' . esc_attr(get_the_ID()) . '" id="go" name="signup-' . esc_attr(get_the_ID()) . '" rel="leanModal">';
    139139            echo wp_kses_post($modal_button);
    140             echo '</a></div><!-- Modal --><div id="signup-' . get_the_ID() . '" class="emd-signup">
     140            echo '</a></div><!-- Modal --><div id="signup-' . esc_attr(get_the_ID()) . '" class="emd-signup">
    141141                <div class="emd-signup-ct"><div class="emd-signup-header">';
    142             echo wp_kses_post($modal_heading) . '  ' . get_the_title();
     142            echo wp_kses_post($modal_heading) . '  ' . esc_html(get_the_title());
    143143            echo '</div><div class="modal-body" style="padding:15px">';
    144144            $allowed = Array(
     
    234234</div>
    235235<?php
    236         echo $res['after_item'];
     236        echo wp_kses_post($res['after_item']);
    237237        $rel_count_id++;
    238238    }
    239239    $post = $real_post;
    240     echo $res['after_list']; ?>
     240    echo wp_kses_post($res['after_list']); ?>
    241241  </div><?php
    242242} ?> </div>
  • wp-easy-events/trunk/layouts/single-emd-wpe-event.php

    r3021434 r3342904  
    33$ent_attrs = get_option('wp_easy_events_attr_list');
    44?>
    5 <div id="single-emd-wpe-event-<?php echo get_the_ID(); ?>" class="emd-container emd-wpe-event-wrap single-wrap">
     5<div id="single-emd-wpe-event-<?php echo esc_attr(get_the_ID()); ?>" class="emd-container emd-wpe-event-wrap single-wrap">
    66<?php $is_editable = 0; ?>
    77<div class="notfronteditable">
    88    <div class="section-wrapper">
    99        <div style="padding-bottom:10px;clear:both;text-align:right;" id="modified-info-block" class=" modified-info-block">
    10             <div class="textSmall text-muted modified" style="font-size:75%"><span class="last-modified-text"><?php esc_html_e('Last modified', 'wp-easy-events'); ?> </span><span class="last-modified-author"><?php esc_html_e('by', 'wp-easy-events'); ?> <?php echo get_the_modified_author(); ?> - </span><span class="last-modified-datetime"><?php echo human_time_diff(strtotime(get_the_modified_date('Y-m-d') . " " . get_the_modified_time('H:i')) , current_time('timestamp')); ?> </span><span class="last-modified-dttext"><?php esc_html_e('ago', 'wp-easy-events'); ?></span></div>
     10            <div class="textSmall text-muted modified" style="font-size:75%"><span class="last-modified-text"><?php esc_html_e('Last modified', 'wp-easy-events'); ?> </span><span class="last-modified-author"><?php esc_html_e('by', 'wp-easy-events'); ?> <?php echo esc_html(get_the_modified_author()); ?> - </span><span class="last-modified-datetime"><?php echo esc_html(human_time_diff(strtotime(get_the_modified_date('Y-m-d') . " " . get_the_modified_time('H:i')) , current_time('timestamp'))); ?> </span><span class="last-modified-dttext"><?php esc_html_e('ago', 'wp-easy-events'); ?></span></div>
    1111        </div>
    1212        <div class="section-heading">
    1313            <div class='single-header header'>
    1414                <h1 class='single-entry-title entry-title' style='color:inherit;padding:0;margin-bottom: 15px;border:0 none;word-break:break-word;font-size:24px;'>
    15                     <?php if (emd_is_item_visible('title', 'wp_easy_events', 'attribute', 0)) { ?><span class="single-content title"><?php echo get_the_title(); ?></span><?php
     15                    <?php if (emd_is_item_visible('title', 'wp_easy_events', 'attribute', 0)) { ?><span class="single-content title"><?php echo esc_html(get_the_title()); ?></span><?php
    1616} ?>
    1717                </h1>
    1818            </div>
    1919            <div style="padding:0.5rem 0" class="section-toolbar">
    20                 <div style="padding:0.5rem 0;text-align: right;" class="toolbar-btn"><?php if (emd_is_item_visible('tax_emd_event_cat', 'wp_easy_events', 'taxonomy', 0)) { ?><?php echo emd_get_tax_vals(get_the_ID() , 'emd_event_cat'); ?> <?php
     20                <div style="padding:0.5rem 0;text-align: right;" class="toolbar-btn"><?php if (emd_is_item_visible('tax_emd_event_cat', 'wp_easy_events', 'taxonomy', 0)) { ?><?php echo esc_html(emd_get_tax_vals(get_the_ID() , 'emd_event_cat')); ?> <?php
    2121} ?></div>
    2222                <div style="padding:0.5rem 0;text-align: right;" class="toolbar-btncalendar-export-btns">
    2323                    <?php if (emd_is_item_visible('ent_event_startdate', 'wp_easy_events', 'attribute', 0)) { ?>
    24                     <a id="ical-button-id" href="#" class="btn btn-primary btn-xs" data-content="<?php echo $post->post_excerpt; ?>" data-start="<?php echo mysql2date('l, F j, Y g:i a', emd_translate_date_format($ent_attrs['emd_wpe_event']['emd_event_startdate'], emd_mb_meta('emd_event_startdate'))); ?>" data-end="<?php echo mysql2date('l, F j, Y g:i a', emd_translate_date_format($ent_attrs['emd_wpe_event']['emd_event_enddate'], emd_mb_meta('emd_event_enddate'))); ?>" data-title="<?php echo get_the_title(); ?>"><i class="fa-fw fa fa-plus-circle" aria-hidden="true"></i><?php esc_html_e('iCal Export', 'wp-easy-events'); ?></a>
    25                     <a id="gcal-button-id" class="btn btn-danger btn-xs" href="http://www.google.com/calendar/event?action=TEMPLATE&text=<?php echo get_the_title(); ?>&details=<?php echo $post->post_excerpt; ?>&location=LOCATION&dates=<?php echo mysql2date('Ymd', emd_translate_date_format($ent_attrs['emd_wpe_event']['emd_event_startdate'], emd_mb_meta('emd_event_startdate'))); ?>T<?php echo mysql2date('his', emd_translate_date_format($ent_attrs['emd_wpe_event']['emd_event_startdate'], emd_mb_meta('emd_event_startdate'))); ?>/<?php echo mysql2date('Ymd', emd_translate_date_format($ent_attrs['emd_wpe_event']['emd_event_enddate'], emd_mb_meta('emd_event_enddate'))); ?>T<?php echo mysql2date('his', emd_translate_date_format($ent_attrs['emd_wpe_event']['emd_event_enddate'], emd_mb_meta('emd_event_enddate'))); ?>&trp=false&sprop=&sprop=name:" target="_blank"><i class="fa-fw fa fa-plus-circle" aria-hidden="true"></i><?php esc_html_e('Google Calendar Export', 'wp-easy-events'); ?></a>
     24                    <a id="ical-button-id" href="#" class="btn btn-primary btn-xs" data-content="<?php echo wp_kses_post($post->post_excerpt); ?>" data-start="<?php echo esc_attr(mysql2date('l, F j, Y g:i a', emd_translate_date_format($ent_attrs['emd_wpe_event']['emd_event_startdate'], emd_mb_meta('emd_event_startdate')))); ?>" data-end="<?php echo esc_attr(mysql2date('l, F j, Y g:i a', emd_translate_date_format($ent_attrs['emd_wpe_event']['emd_event_enddate'], emd_mb_meta('emd_event_enddate')))); ?>" data-title="<?php echo esc_attr(get_the_title()); ?>"><i class="fa-fw fa fa-plus-circle" aria-hidden="true"></i><?php esc_html_e('iCal Export', 'wp-easy-events'); ?></a>
     25                    <a id="gcal-button-id" class="btn btn-danger btn-xs" href="http://www.google.com/calendar/event?action=TEMPLATE&text=<?php echo esc_attr(get_the_title()); ?>&details=<?php echo wp_kses_post($post->post_excerpt); ?>&location=LOCATION&dates=<?php echo esc_attr(mysql2date('Ymd', emd_translate_date_format($ent_attrs['emd_wpe_event']['emd_event_startdate'], emd_mb_meta('emd_event_startdate')))); ?>T<?php echo esc_attr(mysql2date('his', emd_translate_date_format($ent_attrs['emd_wpe_event']['emd_event_startdate'], emd_mb_meta('emd_event_startdate')))); ?>/<?php echo esc_attr(mysql2date('Ymd', emd_translate_date_format($ent_attrs['emd_wpe_event']['emd_event_enddate'], emd_mb_meta('emd_event_enddate')))); ?>T<?php echo esc_attr(mysql2date('his', emd_translate_date_format($ent_attrs['emd_wpe_event']['emd_event_enddate'], emd_mb_meta('emd_event_enddate')))); ?>&trp=false&sprop=&sprop=name:" target="_blank"><i class="fa-fw fa fa-plus-circle" aria-hidden="true"></i><?php esc_html_e('Google Calendar Export', 'wp-easy-events'); ?></a>
    2626                    <?php
    2727} ?>
     
    4040                            <div class="slcontent emdbox">
    4141                                <?php if (emd_is_item_visible('featured_img', 'wp_easy_events', 'attribute', 0)) { ?>
    42                                 <div class="img-gallery segment-block featured-img"><a class="featured-img" title="<?php echo get_the_title(); ?>" href="<?php echo emd_featured_img('url', '', 'wp_easy_events'); ?>"><?php echo emd_featured_img('', 'large', 'wp_easy_events'); ?></a></div>
     42                                <div class="img-gallery segment-block featured-img"><a class="featured-img" title="<?php echo esc_attr(get_the_title()); ?>" href="<?php emd_featured_img('url', '', 'wp_easy_events'); ?>"><?php emd_featured_img('', 'large', 'wp_easy_events'); ?></a></div>
    4343                                <?php
    4444} ?>
     
    5353                                <div class="single-content shortcode ent-event-startdate">
    5454                                    <?php if (emd_is_item_visible('ent_event_startdate', 'wp_easy_events', 'attribute')) { ?>
    55                                     <div class="single-content segment-block ent-event-startdate"><i class="fa-fw fa fa-calendar" aria-hidden="true"></i><?php echo emd_human_readable_date_range(emd_translate_date_format($ent_attrs['emd_wpe_event']['emd_event_startdate'], emd_mb_meta('emd_event_startdate')) , emd_translate_date_format($ent_attrs['emd_wpe_event']['emd_event_enddate'], emd_mb_meta('emd_event_enddate'))); ?></div>
     55                                    <div class="single-content segment-block ent-event-startdate"><i class="fa-fw fa fa-calendar" aria-hidden="true"></i><?php echo esc_html(emd_human_readable_date_range(emd_translate_date_format($ent_attrs['emd_wpe_event']['emd_event_startdate'], emd_mb_meta('emd_event_startdate')) , emd_translate_date_format($ent_attrs['emd_wpe_event']['emd_event_enddate'], emd_mb_meta('emd_event_enddate')))); ?></div>
    5656                                    <?php
    5757} ?> <?php if (emd_is_item_visible('ent_event_timezone', 'wp_easy_events', 'attribute')) { ?>
    58                                     <div class="single-content <?php echo ((emd_mb_meta('emd_event_display_timezone')) ? "segment-block" : "hidden"); ?> ent-event-timezone"> <?php echo emd_get_attr_val('wp_easy_events', $post->ID, 'emd_wpe_event', 'emd_event_timezone'); ?></div>
     58                                    <div class="single-content <?php echo ((emd_mb_meta('emd_event_display_timezone')) ? "segment-block" : "hidden"); ?> ent-event-timezone"> <?php echo esc_html(emd_get_attr_val('wp_easy_events', $post->ID, 'emd_wpe_event', 'emd_event_timezone')); ?></div>
    5959                                    <?php
    6060} ?>
     
    8989} ?><?php if (!empty($modal_content) && !empty(emd_mb_meta('emd_event_registration_type')) && emd_mb_meta('emd_event_registration_type') != 'none') {
    9090    echo '
    91                                     <div class="section-row" style="margin:10px 0"><a class="export-button" href="#signup-' . get_the_ID() . '" id="go" name="signup-' . get_the_ID() . '" rel="leanModal">';
     91                                    <div class="section-row" style="margin:10px 0"><a class="export-button" href="#signup-' . esc_attr(get_the_ID()) . '" id="go" name="signup-' . esc_attr(get_the_ID()) . '" rel="leanModal">';
    9292    echo wp_kses_post($modal_button);
    9393    echo '</a></div>
    9494                                    <!-- Modal -->
    95                                     <div id="signup-' . get_the_ID() . '" class="emd-signup">
     95                                    <div id="signup-' . esc_attr(get_the_ID()) . '" class="emd-signup">
    9696                                        <div class="emd-signup-ct">
    9797                                            <div class="emd-signup-header">';
    98     echo wp_kses_post($modal_heading) . ' ' . get_the_title();
     98    echo wp_kses_post($modal_heading) . ' ' . esc_html(get_the_title());
    9999    echo '</div>
    100100                                            <div class="modal-body" style="padding:15px">';
     
    212212?>
    213213<div class="single-relpanel emd-event-organizer event-organizer"><div class="accor-title"><?php esc_html_e('Organizers', 'wp-easy-events'); ?></div>  <?php
    214     echo $res['before_list'];
     214    echo wp_kses_post($res['before_list']);
    215215    $real_post = $post;
    216216    $rel_count_id = 1;
     
    218218    foreach ($res['rels'] as $myrel) {
    219219        $post = $myrel;
    220         echo $res['before_item']; ?>
     220        echo wp_kses_post($res['before_item']); ?>
    221221<div class="relblock">
    222222<ul style="padding-left:0;list-style:none;" class="emd-rellist">
    223223<li class="emd-rellist-permalink">
    224 <a href="<?php echo esc_url(get_permalink($post->ID)); ?>" title="<?php echo get_the_title(); ?>"><?php echo get_the_title(); ?></a>
     224<a href="<?php echo esc_url(get_permalink($post->ID)); ?>" title="<?php echo esc_attr(get_the_title()); ?>"><?php echo esc_html(get_the_title()); ?></a>
    225225</li>
    226226<?php if (emd_is_item_visible('featured_img', 'wp_easy_events', 'attribute', 0)) { ?>
     
    228228<div style="padding-bottom:0" class="featured-img segment-block">
    229229<div class="segtitle" style="margin-bottom:0;"></div>
    230 <div class="segvalue emd-thumb"><a title="<?php echo get_the_title(); ?>" href="<?php echo esc_url(get_permalink($post->ID)); ?>"><?php echo emd_featured_img('', 'thumbnail', 'wp_easy_events'); ?></a></div>
     230<div class="segvalue emd-thumb"><a title="<?php echo esc_attr(get_the_title()); ?>" href="<?php echo esc_url(get_permalink($post->ID)); ?>"><?php emd_featured_img('', 'thumbnail', 'wp_easy_events'); ?></a></div>
    231231</div>
    232232</li>
     
    237237<div style="padding-bottom:0" class="ent-eo-email segment-block">
    238238<div class="segtitle" style="margin-bottom:0;"></div>
    239 <div class="segvalue"><i aria-hidden="true" class="fa fa-envelope fa-fw"></i><a title="Email" href="mailto:<?php echo antispambot(emd_mb_meta('emd_eo_email')); ?>"><?php echo antispambot(emd_mb_meta('emd_eo_email')); ?></a></div>
     239<div class="segvalue"><i aria-hidden="true" class="fa fa-envelope fa-fw"></i><a title="Email" href="mailto:<?php echo esc_attr(antispambot(emd_mb_meta('emd_eo_email'))); ?>"><?php echo esc_html(antispambot(emd_mb_meta('emd_eo_email'))); ?></a></div>
    240240</div>
    241241</li>
     
    255255<div style="padding-bottom:0" class="ent-eo-website segment-block">
    256256<div class="segtitle" style="margin-bottom:0;"></div>
    257 <div class="segvalue"><i aria-hidden="true" class="fa fa-link fa-fw"></i><a title='Link' target='_blank' href='<?php echo esc_html(emd_mb_meta('emd_eo_website', '', $myrel->ID)); ?>' title='<?php echo get_the_title(); ?>'><?php esc_html_e('Click for more info', 'wp-easy-events'); ?></a></div>
     257<div class="segvalue"><i aria-hidden="true" class="fa fa-link fa-fw"></i><a title='Link' target='_blank' href='<?php echo esc_html(emd_mb_meta('emd_eo_website', '', $myrel->ID)); ?>' title='<?php echo esc_attr(get_the_title()); ?>'><?php esc_html_e('Click for more info', 'wp-easy-events'); ?></a></div>
    258258</div>
    259259</li>
     
    263263</div>
    264264<?php
    265         echo $res['after_item'];
     265        echo wp_kses_post($res['after_item']);
    266266        $rel_count_id++;
    267267    }
    268268    $post = $real_post;
    269     echo $res['after_list']; ?>
     269    echo wp_kses_post($res['after_list']); ?>
    270270  </div><?php
    271271} ?> <?php if (emd_is_item_visible('entrelcon_event_venue', 'wp_easy_events', 'relation')) { ?>
     
    276276?>
    277277<div class="single-relpanel emd-event-venues event-venue"><div class="accor-title"><?php esc_html_e('Venue', 'wp-easy-events'); ?></div>  <?php
    278     echo $res['before_list'];
     278    echo wp_kses_post($res['before_list']);
    279279    $real_post = $post;
    280280    $rel_count_id = 1;
     
    282282    foreach ($res['rels'] as $myrel) {
    283283        $post = $myrel;
    284         echo $res['before_item']; ?>
     284        echo wp_kses_post($res['before_item']); ?>
    285285<div class="relblock">
    286286<ul style="padding-left:0;list-style:none;" class="emd-rellist">
    287287<li class="emd-rellist-permalink">
    288 <a href="<?php echo esc_url(get_permalink($post->ID)); ?>" title="<?php echo get_the_title(); ?>"><?php echo get_the_title(); ?></a>
     288<a href="<?php echo esc_url(get_permalink($post->ID)); ?>" title="<?php echo esc_attr(get_the_title()); ?>"><?php echo esc_html(get_the_title()); ?></a>
    289289</li>
    290290<?php if (emd_is_item_visible('featured_img', 'wp_easy_events', 'attribute', 0)) { ?>
     
    292292<div style="padding-bottom:0" class="featured-img segment-block">
    293293<div class="segtitle" style="margin-bottom:0;"></div>
    294 <div class="segvalue emd-thumb"><a title="<?php echo get_the_title(); ?>" href="<?php echo esc_url(get_permalink($post->ID)); ?>"><?php echo emd_featured_img('', 'thumbnail', 'wp_easy_events'); ?></a></div>
     294<div class="segvalue emd-thumb"><a title="<?php echo esc_attr(get_the_title()); ?>" href="<?php echo esc_url(get_permalink($post->ID)); ?>"><?php emd_featured_img('', 'thumbnail', 'wp_easy_events'); ?></a></div>
    295295</div>
    296296</li>
     
    310310<div style="padding-bottom:0" class="excerpt segment-block">
    311311<div class="segtitle" style="margin-bottom:0;"></div>
    312 <div class="segvalue"><?php echo $post->post_excerpt; ?></div>
     312<div class="segvalue"><?php echo wp_kses_post($post->post_excerpt); ?></div>
    313313</div>
    314314</li>
     
    318318</div>
    319319<?php
    320         echo $res['after_item'];
     320        echo wp_kses_post($res['after_item']);
    321321        $rel_count_id++;
    322322    }
    323323    $post = $real_post;
    324     echo $res['after_list']; ?>
     324    echo wp_kses_post($res['after_list']); ?>
    325325  </div><?php
    326326} ?> </div>
     
    329329        <div class="section-footer" style="clear:both">
    330330            <?php if (emd_is_item_visible('tax_emd_event_tag', 'wp_easy_events', 'taxonomy', 0)) { ?>
    331             <div class="footer-segment-block"><span style="margin-right:2px" class="footer-object-title label label-info"></span><span class="footer-object-value"><?php echo emd_get_tax_vals(get_the_ID() , 'emd_event_tag'); ?></span></div>
     331            <div class="footer-segment-block"><span style="margin-right:2px" class="footer-object-title label label-info"></span><span class="footer-object-value"><?php echo esc_html(emd_get_tax_vals(get_the_ID() , 'emd_event_tag')); ?></span></div>
    332332            <?php
    333333} ?>
  • wp-easy-events/trunk/layouts/widget-featured-events-content.php

    r2981917 r3342904  
    33$ent_attrs = get_option('wp_easy_events_attr_list');
    44?>
    5 <a style="text-decoration:none" class="list-group-item" href="<?php echo esc_url(get_permalink()); ?>" title="<?php echo get_the_title(); ?>">
    6 <div class="event-title" style="font-weight:600"><?php echo get_the_title(); ?></div>
    7 <div class="event-dates"><?php echo emd_human_readable_date_range(emd_translate_date_format($ent_attrs['emd_wpe_event']['emd_event_startdate'], emd_mb_meta('emd_event_startdate')) , emd_translate_date_format($ent_attrs['emd_wpe_event']['emd_event_enddate'], emd_mb_meta('emd_event_enddate'))); ?></div>
     5<a style="text-decoration:none" class="list-group-item" href="<?php echo esc_url(get_permalink()); ?>" title="<?php echo esc_attr(get_the_title()); ?>">
     6<div class="event-title" style="font-weight:600"><?php echo esc_html(get_the_title()); ?></div>
     7<div class="event-dates"><?php echo esc_html(emd_human_readable_date_range(emd_translate_date_format($ent_attrs['emd_wpe_event']['emd_event_startdate'], emd_mb_meta('emd_event_startdate')) , emd_translate_date_format($ent_attrs['emd_wpe_event']['emd_event_enddate'], emd_mb_meta('emd_event_enddate')))); ?></div>
    88</a>
  • wp-easy-events/trunk/layouts/widget-recent-events-content.php

    r2981917 r3342904  
    33$ent_attrs = get_option('wp_easy_events_attr_list');
    44?>
    5 <a style="text-decoration:none" class="list-group-item" href="<?php echo esc_url(get_permalink()); ?>" title="<?php echo get_the_title(); ?>">
    6 <div class="event-title" style="font-weight:600"><?php echo get_the_title(); ?></div>
    7 <div class="event-dates"><?php echo emd_human_readable_date_range(emd_translate_date_format($ent_attrs['emd_wpe_event']['emd_event_startdate'], emd_mb_meta('emd_event_startdate')) , emd_translate_date_format($ent_attrs['emd_wpe_event']['emd_event_enddate'], emd_mb_meta('emd_event_enddate'))); ?></div>
     5<a style="text-decoration:none" class="list-group-item" href="<?php echo esc_url(get_permalink()); ?>" title="<?php echo esc_attr(get_the_title()); ?>">
     6<div class="event-title" style="font-weight:600"><?php echo esc_html(get_the_title()); ?></div>
     7<div class="event-dates"><?php echo esc_html(emd_human_readable_date_range(emd_translate_date_format($ent_attrs['emd_wpe_event']['emd_event_startdate'], emd_mb_meta('emd_event_startdate')) , emd_translate_date_format($ent_attrs['emd_wpe_event']['emd_event_enddate'], emd_mb_meta('emd_event_enddate')))); ?></div>
    88</a>
  • wp-easy-events/trunk/readme.txt

    r3324339 r3342904  
    55Donate link: https://emarketdesign.com/donate-emarket-design/
    66Requires at least: 4.5
    7 Tested up to: 6.8.1
    8 Stable tag: 4.2.0
     7Tested up to: 6.8
     8Stable tag: 4.2.1
    99License: GPLv2 or later
    1010License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    110110> This plugin's code was generated by [WP App Studio](https://wpappstudio.com) Professional WordPress Design and Development Platform based on the plugin's design. You can develop a plugin like WP Easy Events using [WP App Studio](https://wpappstudio.com/quick-start/) plugin and sell its designs by [becoming a SellDev author](https://wpappstudio.com/become-a-selldev-author/) <br>
    111111
    112 * Below are the locations for the unminified js versions of Codemirror.min.js and wpas.validate.min.js which you can review, study and yes, fork. Use minjs to minify it.
    113 https://github.com/emarket-design/wp-easy-events/blob/master/assets/ext/codemirror/codemirror.js
     112* Below are the locations for the unminified js version of wpas.validate.min.js which you can review, study and yes, fork. Use minjs to minify it.
    114113https://github.com/emarket-design/wp-easy-events/blob/master/assets/ext/jvalidate/wpas.validate.js
    115114
     
    161160
    162161== Changelog ==
     162= 4.2.1 =
     163* FIXED Ran plugin check to fix sanitization
    163164= 4.2.0 =
    164165* FIXED XSS vulnerability when using custom fields
  • wp-easy-events/trunk/wp-easy-events.php

    r3324339 r3342904  
    44 * Plugin URI: https://emarketdesign.com
    55 * Description: WP Easy Events is an easy to use event management, rsvp and ticketing plugin.
    6  * Version: 4.2.0
     6 * Version: 4.2.1
    77 * Author: emarket-design
    88 * Author URI: https://emarketdesign.com
     9 * License: GPLv2 or later
     10 * License URI: http://www.gnu.org/licenses/gpl-2.0.html
    911 * Text Domain: wp-easy-events
    1012 * Domain Path: /lang
     
    7981         */
    8082        public function __clone() {
    81             _doing_it_wrong(__FUNCTION__, __('Cheatin&#8217; huh?', 'wp-easy-events') , '1.0');
     83            _doing_it_wrong(__FUNCTION__, esc_html__('Cheatin&#8217; huh?', 'wp-easy-events') , '1.0');
    8284        }
    8385        /**
     
    8890         */
    8991        private function define_constants() {
    90             define('WP_EASY_EVENTS_VERSION', '4.2.0');
     92            define('WP_EASY_EVENTS_VERSION', '4.2.1');
    9193            define('WP_EASY_EVENTS_AUTHOR', 'emarket-design');
    9294            define('WP_EASY_EVENTS_NAME', 'WP Easy Events');
Note: See TracChangeset for help on using the changeset viewer.