Plugin Directory

Changeset 3086391


Ignore:
Timestamp:
05/14/2024 09:32:57 AM (23 months ago)
Author:
eventilla
Message:

Added support for tag translations and display names. Also fixed deprecated jQuery call and cdn image links. Kudos to Tuukka @ Monkfish Creative!

Location:
eventilla-events/trunk
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • eventilla-events/trunk/README.txt

    r3047747 r3086391  
    44Tags: events, event
    55Requires at least: 6.0
    6 Tested up to: 6.4.3
     6Tested up to: 6.5.2
    77Requires PHP: 7.4
    8 Stable tag: 1.7.8
     8Stable tag: 1.8
    99License: GPLv2 or later
    1010License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    4646
    4747== Changelog ==
     48= 1.8 =
     49Added support for tag translations and display names. Also fixed deprecated jQuery call and cdn image links. Kudos to Tuukka @ Monkfish Creative!
    4850= 1.7.8 =
    4951Fixed a static call to a non-static function.
  • eventilla-events/trunk/admin/class-eventilla-wp-admin.php

    r2975484 r3086391  
    356356            array( 'label_for' => $this->option_name . '_current_lang' )
    357357        );
     358      add_settings_field(
     359          $this->option_name . '_tags_extended_info',
     360          __( 'Tags extended', 'eventilla-wp' ),
     361          array( $this, $this->option_name . '_tags_extended_info' ),
     362          $this->plugin_name,
     363          $this->option_name . '_general',
     364          array( 'label_for' => $this->option_name . '_tags_extended_info' )
     365      );
    358366        register_setting( $this->plugin_name, $this->option_name . '_batchsize', array( $this, $this->option_name . '_sanitize_batchsize' ), false, 30 );
    359367        register_setting( $this->plugin_name, $this->option_name . '_delay', array( $this, $this->option_name . '_sanitize_delay' ), false, 0);
     
    374382        register_setting( $this->plugin_name, $this->option_name . $template_editor . '_tile', array( $this, $this->option_name . '_sanitize_template_editor' ) );
    375383        register_setting( $this->plugin_name, $this->option_name . '_account_id', 'intval' );
    376         register_setting( $this->plugin_name, $this->option_name . '_allowed_tags', array( $this, $this->option_name . '_sanitize_allowed_tags' ) );
    377         register_setting( $this->plugin_name, $this->option_name . '_chosen_event_fields', array( $this, $this->option_name . '_sanitize_chosen_event_fields' ) );
    378         register_setting( $this->plugin_name, $this->option_name . '_is_api_logger'/*, 'intval' */);
    379         register_setting( $this->plugin_name, $this->option_name . '_current_lang', array( $this, $this->option_name . '_sanitize_language' ) );
     384    register_setting( $this->plugin_name, $this->option_name . '_allowed_tags', array( $this, $this->option_name . '_sanitize_allowed_tags' ) );
     385    register_setting( $this->plugin_name, $this->option_name . '_chosen_event_fields', array( $this, $this->option_name . '_sanitize_chosen_event_fields' ) );
     386    register_setting( $this->plugin_name, $this->option_name . '_is_api_logger'/*, 'intval' */);
     387    register_setting( $this->plugin_name, $this->option_name . '_current_lang', array( $this, $this->option_name . '_sanitize_language' ) );
     388    register_setting( $this->plugin_name, $this->option_name . '_tags_extended_info', array( $this, $this->option_name . '_sanitize_language' ) );
    380389    }
    381390
     
    941950    }
    942951
     952    public function eventilla_opt_tags_extended_info() {
     953        $is_checked = get_option($this->option_name . '_tags_extended_info');
     954
     955        ?>
     956      <input type="checkbox" name="<?php echo $this->option_name . '_tags_extended_info' ?>" value="1" <?php checked(1, $is_checked, true); ?> />
     957        <?php
     958        echo __( 'Fetch tags extended information', 'eventilla-wp' );
     959    }
    943960
    944961    /**
  • eventilla-events/trunk/eventilla-wp.php

    r3047747 r3086391  
    1616 * Plugin URI:        https://www.eventilla.com/
    1717 * Description:       Eventilla Events brings your event information from eventilla.com to WordPress as custom posts.
    18  * Version:           1.7.8
     18 * Version:           1.8
    1919 * Author:            Eventilla
    2020 * Author URI:        http://www.eventilla.com
  • eventilla-events/trunk/includes/class-eventilla-wp-api-request-v2.php

    r3033073 r3086391  
    163163            }
    164164            $endpoint_url = $api_url . $action_type . $event_id . $event_fields_to_display;
     165            if (get_option('eventilla_opt_tags_extended_info', false)) {
     166                $endpoint_url = $this->get_tags_extended($endpoint_url);
     167            }
    165168            return $endpoint_url;
    166169        }else{
     
    902905        }
    903906
    904         // Setup eventilla meta input
     907        if (get_option('eventilla_opt_tags_extended_info', false) && count($full_event->languages) > 1) {
     908            foreach ($full_event->languages as $language) {
     909                $this->language = $language;
     910                $data = $this->get('events', $event_id);
     911                $data = json_decode($data);
     912                $tagsExtendedData["display_name_$language"] = $data->event->tags_extended;
     913            }
     914
     915            $result = [];
     916            $displayNamesByLanguage = [];
     917
     918            foreach ($full_event->languages as $language) {
     919                if (isset($tagsExtendedData["display_name_$language"])) {
     920                    foreach ($tagsExtendedData["display_name_$language"] as $tagExtended) {
     921                        if (!isset($displayNamesByLanguage[$tagExtended->key])) {
     922                            $displayNamesByLanguage[$tagExtended->key] = [];
     923                        }
     924                        $displayNamesByLanguage[$tagExtended->key][$language] = $tagExtended->display_name;
     925                    }
     926                }
     927            }
     928
     929            foreach ($displayNamesByLanguage as $key => $displayNames) {
     930                $tag = [
     931                    "key" => $key,
     932                    "display_name" => $displayNames['EN'],
     933                    "group_name" => $displayNames['EN']
     934                ];
     935
     936                foreach ($full_event->languages as $language) {
     937                    $tag["display_name_$language"] = isset($displayNames[$language]) ? $displayNames[$language] : null;
     938                }
     939
     940                $result[] = $tag;
     941            }
     942
     943            $resultTagsExtended = (string) json_encode($result);
     944        }
     945
    905946        $meta_prefix = 'eventilla_';
    906947        $meta_array  = array(
     
    944985            $meta_prefix . 'tabs'              => isset($full_event->tabs) ? (string) json_encode($full_event->tabs) : null,
    945986            $meta_prefix . 'tags'              => isset($full_event->tags) ? (string) json_encode($full_event->tags) : null,
     987            $meta_prefix . 'tags_extended'     => isset($resultTagsExtended) ? $resultTagsExtended : (isset($full_event->tags_extended) ? (string) json_encode($full_event->tags_extended) : null),
    946988        );
    947989
     
    19211963        ];
    19221964    }
     1965
     1966    private function get_tags_extended($endpoint_url)
     1967    {
     1968        if (!str_contains($endpoint_url, 'tags')) {
     1969            $endpoint_url .= ',tags,tags_extended,languages';
     1970        } elseif (!str_contains($endpoint_url, 'tags_extended,languages')) {
     1971            $endpoint_url .= ',tags_extended,languages';
     1972        }
     1973
     1974        return $endpoint_url;
     1975    }
    19231976}
  • eventilla-events/trunk/includes/class-eventilla-wp-deactivator.php

    r2914586 r3086391  
    5555            'eventilla_opt_first_request_time',
    5656            'eventilla_opt_use_social_media_logo',
    57             'eventilla_opt_chosen_event_fields'
     57            'eventilla_opt_chosen_event_fields',
     58            'eventilla_opt_tags_extended_info'
    5859        );
    5960
  • eventilla-events/trunk/includes/class-eventilla-wp-html-builder-shortcode.php

    r2556322 r3086391  
    206206        $event = str_replace( '{{EVENT_LINK}}', esc_attr( $meta_array['eventilla_url'][0] ), $event );
    207207        $event = str_replace( '{{EVENT_LINK_TEXT}}', esc_attr( 'Register now', 'eventilla_wp' ), $event );
    208         $event = str_replace( '{{EVENT_IMAGE}}', get_the_post_thumbnail(), $event);
     208
     209        $image = esc_attr($meta_array['eventilla_image'][0]);
     210
     211        if(!is_array($image) && substr($image,0,4)=='http') {
     212            $event = str_replace( '{{EVENT_IMAGE}}', $image, $event);
     213        } else {
     214            $event = str_replace( '{{EVENT_IMAGE}}', get_the_post_thumbnail(), $event);
     215        }
     216   
    209217        return $event;
    210218    }
  • eventilla-events/trunk/public/js/eventilla-wp-public.js

    r2542377 r3086391  
    211211     * When the window is loaded:
    212212     */
    213      $( window ).load(function() {
     213     $( window ).on("load", function() {
    214214         if ($('tr.event-content').length > 0) {
    215215            $('.eventilla-single-event').hide();
Note: See TracChangeset for help on using the changeset viewer.