Example #1
0
 function __construct()
 {
     add_filter('eventon_extra_tax', array($this, 'extra_tax'), 10, 1);
     add_action('init', array($this, 'register_frontend_scripts'), 15);
     //when a new post is published
     add_action('transition_post_status', array($this, 'send_approval_email'), 10, 3);
     $this->options = get_option('evcal_options_evcal_1');
     $this->tax_count = evo_get_ett_count($this->options);
     $this->tax_names = evo_get_ettNames($this->options);
     $this->evoau_opt = get_option('evcal_options_evoau_1');
     $this->evoau_opt_2 = get_option('evcal_options_evoau_2');
 }
 function event_type_options()
 {
     $event_type_names = evo_get_ettNames($this->evcal_opt[1]);
     // event types category names
     $ett_verify = evo_get_ett_count($this->evcal_opt[1]);
     $event_type_options['event_location'] = 'Event Location';
     $event_type_options['event_organizer'] = 'Event Organizer';
     for ($x = 1; $x < $ett_verify + 1; $x++) {
         $ab = $x == 1 ? '' : '_' . $x;
         $event_type_options['event_type' . $ab] = $event_type_names[$x];
     }
     return $event_type_options;
 }
Example #3
0
 function evoAU_language_additions($_existen)
 {
     $evcal_opt = get_option('evcal_options_evcal_1');
     $new_ar = array(array('type' => 'togheader', 'name' => 'ADDON: Action User'), array('label' => 'Event Name', 'name' => 'evoAUL_evn', 'legend' => ''), array('label' => 'Event Sub Title', 'name' => 'evoAUL_est', 'legend' => ''), array('label' => 'Event Start Date/Time', 'name' => 'evoAUL_esdt', 'legend' => ''), array('label' => 'Event End Date/Time', 'name' => 'evoAUL_eedt', 'legend' => ''), array('label' => 'Event Details', 'name' => 'evcal_evcard_details_au', 'legend' => ''), array('label' => 'Event Color', 'name' => 'evoAUL_ec', 'legend' => ''), array('label' => 'Event Location Name', 'name' => 'evoAUL_lca'), array('label' => 'Event Location Address', 'name' => 'evoAUL_ln'), array('label' => 'Event Location Coordinates (lat,lon Seperated by comma)', 'name' => 'evoAUL_lcor'), array('label' => 'Event Organizer', 'name' => 'evoAUL_eo', 'legend' => ''), array('label' => 'Event Organizer Contact Information', 'name' => 'evoAUL_eoc', 'legend' => ''), array('label' => 'Learn More Link', 'name' => 'evoAUL_lml', 'legend' => ''));
     // event taxnomies upto 5 all active ones only
     $ett_verify = evo_get_ett_count($evcal_opt);
     $_tax_names_array = evo_get_ettNames($evcal_opt);
     $new_ar_1 = '';
     for ($x = 1; $x < $ett_verify + 1; $x++) {
         $ab = $x == 1 ? '' : '_' . $x;
         $__tax_name = $_tax_names_array[$x];
         $new_ar_1[] = array('label' => 'Select the ' . $__tax_name . '', 'name' => 'evoAUL_stet' . $x, 'legend' => '');
     }
     $new_ar_2 = array(array('label' => 'Edit Submitted Event', 'name' => 'evoAUL_ese', 'legend' => ''), array('label' => 'Event Image', 'name' => 'evoAUL_ei', 'legend' => ''), array('label' => 'All Day Event', 'name' => 'evoAUL_001', 'legend' => ''), array('label' => 'No End time', 'name' => 'evoAUL_002', 'legend' => ''), array('label' => 'Your Full Name', 'name' => 'evoAUL_fn', 'legend' => ''), array('label' => 'Your Email Address', 'name' => 'evoAUL_ea', 'legend' => ''), array('label' => 'Form Human Submission Validation', 'name' => 'evoAUL_cap', 'legend' => ''), array('label' => 'Select an Image', 'name' => 'evoAUL_img002', 'legend' => ''), array('label' => 'Image Chosen', 'name' => 'evoAUL_img001', 'legend' => ''), array('label' => 'Additional Field', 'name' => 'evoAU_add', 'legend' => ''), array('label' => '(Text)', 'var' => '1'), array('label' => '(Link)', 'var' => '1'), array('label' => 'Submit Event', 'name' => 'evoAUL_se', 'legend' => ''), array('label' => 'Submit another event', 'var' => '1'), array('label' => 'Form field placeholders', 'type' => 'subheader'), array('label' => 'Start Date', 'name' => 'evoAUL_phsd', 'legend' => ''), array('label' => 'Start Time', 'name' => 'evoAUL_phst', 'legend' => ''), array('label' => 'End Date', 'name' => 'evoAUL_phed', 'legend' => ''), array('label' => 'End Time', 'name' => 'evoAUL_phet', 'legend' => ''), array('type' => 'togend'), array('label' => 'User Interaction values', 'type' => 'subheader'), array('label' => 'Slide Down EventCard', 'name' => 'evoAUL_ux1', 'legend' => ''), array('label' => 'External Link', 'name' => 'evoAUL_ux2', 'legend' => ''), array('label' => 'Lightbox popup window', 'name' => 'evoAUL_ux3', 'legend' => ''), array('type' => 'togend'), array('label' => 'Form Notification Messages', 'type' => 'subheader'), array('label' => 'You must login to submit events.', 'name' => 'evoAUL_ymlse', 'legend' => ''), array('label' => 'Required Fields Missing', 'name' => 'evoAUL_nof1', 'legend' => ''), array('label' => 'Invalid validation code please try again', 'name' => 'evoAUL_nof2', 'legend' => ''), array('label' => 'Thank you for submitting your event!', 'name' => 'evoAUL_nof3', 'legend' => ''), array('label' => 'Could not create event post, try again later!', 'name' => 'evoAUL_nof4', 'legend' => ''), array('label' => 'Bad nonce form verification, try again!', 'name' => 'evoAUL_nof5', 'legend' => ''), array('label' => 'You can only submit one event!', 'name' => 'evoAUL_nof6', 'legend' => ''), array('type' => 'togend'), array('type' => 'togend'));
     $new_ar = array_merge($new_ar, $new_ar_1, $new_ar_2);
     return is_array($_existen) ? array_merge($_existen, $new_ar) : $_existen;
 }
Example #4
0
 public static function register_taxonomies()
 {
     // Taxonomies
     do_action('eventon_register_taxonomy');
     $evOpt = self::$evOpt;
     $__capabilities = array('manage_terms' => 'manage_eventon_terms', 'edit_terms' => 'edit_eventon_terms', 'delete_terms' => 'delete_eventon_terms', 'assign_terms' => 'assign_eventon_terms');
     register_taxonomy('event_location', apply_filters('eventon_taxonomy_objects_event_location', array('ajde_events')), apply_filters('eventon_taxonomy_args_event_location', array('hierarchical' => false, 'label' => __('Event Location', 'eventon'), 'show_ui' => true, 'query_var' => true, 'show_in_quick_edit' => false, 'meta_box_cb' => false, 'capabilities' => $__capabilities, 'rewrite' => apply_filters('evotax_slug_loc', array('slug' => 'event-location')))));
     register_taxonomy('event_organizer', apply_filters('eventon_taxonomy_objects_event_organizer', array('ajde_events')), apply_filters('eventon_taxonomy_args_event_organizer', array('hierarchical' => false, 'label' => __('Event Organizer', 'eventon'), 'show_ui' => true, 'query_var' => true, 'show_in_quick_edit' => false, 'meta_box_cb' => false, 'capabilities' => $__capabilities, 'rewrite' => apply_filters('evotax_slug_org', array('slug' => 'event-organizer')))));
     // Event type custom taxonomy NAMES
     $event_type_names = evo_get_ettNames($evOpt);
     // for each activated event type category
     for ($x = 1; $x < evo_get_ett_count($evOpt) + 1; $x++) {
         $ab = $x == 1 ? '' : '_' . $x;
         $ab2 = $x == 1 ? '' : '-' . $x;
         $evt_name = $event_type_names[$x];
         register_taxonomy('event_type' . $ab, apply_filters('eventon_taxonomy_objects_event_type' . $ab, array('ajde_events')), apply_filters('eventon_taxonomy_args_event_type' . $ab, array('hierarchical' => true, 'labels' => array('name' => __("{$evt_name} Categories", 'eventon'), 'singular_name' => __("{$evt_name} Category", 'eventon'), 'menu_name' => _x($evt_name, 'Admin menu name', 'eventon'), 'search_items' => __("Search {$evt_name} Categories", 'eventon'), 'all_items' => __("All {$evt_name} Categories", 'eventon'), 'parent_item' => __("Parent {$evt_name} Category", 'eventon'), 'parent_item_colon' => __("Parent {$evt_name} Category:", 'eventon'), 'edit_item' => __("Edit {$evt_name} Category", 'eventon'), 'update_item' => __("Update {$evt_name} Category", 'eventon'), 'add_new_item' => __("Add New {$evt_name} Category", 'eventon'), 'new_item_name' => __("New {$evt_name} Category Name", 'eventon')), 'show_ui' => true, 'query_var' => true, 'capabilities' => $__capabilities, 'rewrite' => array('slug' => 'event-type' . $ab2))));
     }
 }
function evo_get_localized_ettNames($lang = '', $options = '', $options2 = '')
{
    $output = '';
    global $eventon;
    $options = !empty($options) ? $options : get_option('evcal_options_evcal_1');
    $options2 = !empty($options2) ? $options2 : get_option('evcal_options_evcal_2');
    if (!empty($lang)) {
        $_lang_variation = $lang;
    } else {
        $shortcode_arg = $eventon->evo_generator->shortcode_args;
        $_lang_variation = !empty($shortcode_arg['lang']) ? $shortcode_arg['lang'] : 'L1';
    }
    // foreach event type upto activated event type categories
    for ($x = 1; $x < evo_get_ett_count($options) + 1; $x++) {
        $ab = $x == 1 ? '' : $x;
        $_tax_lang_field = 'evcal_lang_et' . $x;
        // check on eventon language values for saved name
        $lang_name = !empty($options2[$_lang_variation][$_tax_lang_field]) ? stripslashes($options2[$_lang_variation][$_tax_lang_field]) : null;
        // conditions
        if (!empty($lang_name)) {
            $output[$x] = $lang_name;
        } else {
            $output[$x] = !empty($options['evcal_eventt' . $ab]) ? $options['evcal_eventt' . $ab] : 'Event Type ' . $ab;
        }
    }
    return $output;
}
    /** GENERATE individual event data	 */
    public function generate_event_data($event_list_array, $focus_month_beg_range = '', $FOCUS_month_int = '', $FOCUS_year_int = '')
    {
        $months_event_array = '';
        // Initial variables
        $wp_time_format = get_option('time_format');
        $default_event_color = !empty($this->evopt1['evcal_hexcode']) ? '#' . $this->evopt1['evcal_hexcode'] : '#206177';
        $__shortC_arg = $this->shortcode_args;
        // user interavtion for the calendar
        $calendar_ux_val = !empty($__shortC_arg['ux_val']) ? $__shortC_arg['ux_val'] : '0';
        $__count = 0;
        // EVENT CARD open by default variables
        $_is_eventCardOpen = !empty($__shortC_arg['evc_open']) && $__shortC_arg['evc_open'] == 'yes' ? true : ($this->is_eventcard_open ? true : false);
        $eventcard_script_class = $_is_eventCardOpen ? "gmaponload" : null;
        $this->is_eventcard_open = false;
        // check featured events are prioritized
        $__feature_events = !empty($__shortC_arg['ft_event_priority']) && $__shortC_arg['ft_event_priority'] != 'no' ? true : false;
        // GET EventTop fields - v2.1.17
        $eventop_fields = !empty($this->evopt1['evcal_top_fields']) ? $this->evopt1['evcal_top_fields'] : null;
        // Number of activated taxnomonies v 2.2.15
        $_active_tax = evo_get_ett_count($this->evopt1);
        // eventCARD HTML
        require_once AJDE_EVCAL_PATH . '/includes/eventon_eventCard.php';
        require_once AJDE_EVCAL_PATH . '/includes/eventon-eventTop.php';
        // check if single event exist
        $_sin_ev_ex = in_array('eventon-single-event/eventon-single-event.php', get_option('active_plugins')) ? true : false;
        // EACH EVENT
        if (is_array($event_list_array)) {
            foreach ($event_list_array as $event_) {
                // Intials
                $html_event_detail_card = '';
                $_eventClasses = $_eventInClasses = array();
                $_eventAttr = $_eventInAttr = array();
                $__count++;
                $event_id = $event_['event_id'];
                $event_start_unix = $event_['event_start_unix'];
                $event_end_unix = $event_['event_end_unix'];
                $event_type = $event_['event_type'];
                $ev_vals = $event_['event_pmv'];
                $event = get_post($event_id);
                $_eventInClasses[] = $eventcard_script_class;
                // set how a single event would interact
                $event_ux_val = !empty($ev_vals['_evcal_exlink_option']) ? $ev_vals['_evcal_exlink_option'][0] : 1;
                $event_permalink = get_permalink($event_id);
                $event_ux_val = $calendar_ux_val != '1' ? $calendar_ux_val : $event_ux_val;
                // whether eventcard elements need to be included or not
                $_event_card_on = $calendar_ux_val == '4' || $calendar_ux_val == 'X' || $event_ux_val == '4' || $event_ux_val == '2' ? false : true;
                $_event_card_on = $_is_eventCardOpen ? true : $_event_card_on;
                // if event card is forced to open then
                $html_tag = $event_ux_val == '1' ? 'div' : 'a';
                $html_tag = $_event_card_on ? 'a' : $html_tag;
                //echo ($_is_eventCardOpen?3:4). ' '.($_event_card_on?3:4). ' '.$calendar_ux_val.' '.$event_ux_val;
                // year long or not
                $__year_long_event = !empty($ev_vals['evo_year_long']) && $ev_vals['evo_year_long'][0] == 'yes' ? true : 0;
                // define variables
                $ev_other_data = $ev_other_data_top = $html_event_type_info = $_event_date_HTML = $_eventcard = $html_event_type_2_info = '';
                $_is_end_date = true;
                // UNIX date values
                $DATE_start_val = eventon_get_formatted_time($event_start_unix);
                if (empty($event_end_unix)) {
                    $_is_end_date = false;
                    $DATE_end_val = $DATE_start_val;
                } else {
                    $DATE_end_val = eventon_get_formatted_time($event_end_unix);
                }
                // if this event featured
                $_eventInClasses['__featured'] = $this->helper->evo_meta('_featured', $ev_vals, 'tf');
                $_eventInClasses['_cancel'] = $this->helper->evo_meta('_cancel', $ev_vals, 'tf');
                // GET: repeat interval for this event
                $__repeatInterval = !empty($event_['event_repeat_interval']) ? $event_['event_repeat_interval'] : (!empty($_GET['ri']) ? $_GET['ri'] : 0);
                // Unique ID generation
                $unique_varied_id = 'evc' . $event_start_unix . uniqid() . $event_id;
                $unique_id = 'evc_' . $event_start_unix . $event_id;
                // All day event variables
                $_is_allday = $this->helper->evo_meta('evcal_allday', $ev_vals, 'tf');
                $_hide_endtime = $this->helper->evo_meta('evo_hide_endtime', $ev_vals, 'tf');
                $evcal_lang_allday = $this->lang('evcal_lang_allday', 'All Day');
                /*
                	evo_hide_endtime
                	NOTE: if its set to hide end time, meaning end time and date would be empty on wp-admin, which will fall into same start end month category.
                */
                $_event_date_HTML = $this->generate_time_($DATE_start_val, $DATE_end_val, $ev_vals, $evcal_lang_allday, $focus_month_beg_range, $FOCUS_month_int, $event_start_unix, $event_end_unix);
                // (---) hook for addons
                $_event_date_HTML = apply_filters('eventon_eventcard_date_html', $_event_date_HTML, $event_id);
                // EACH DATA FIELD
                // EVENT FEATURES IMAGE
                $img_id = get_post_thumbnail_id($event_id);
                $img_med_src = $img_thumb_src = '';
                if ($img_id != '') {
                    $img_src = wp_get_attachment_image_src($img_id, 'full');
                    $img_med_src = wp_get_attachment_image_src($img_id, 'medium');
                    $img_thumb_src = wp_get_attachment_image_src($img_id, 'thumbnail');
                    // append to eventcard array
                    $_eventcard['ftimage'] = array('img' => $img_src, 'hovereffect' => !empty($this->evopt1['evo_ftimghover']) ? $this->evopt1['evo_ftimghover'] : null, 'clickeffect' => !empty($this->evopt1['evo_ftimgclick']) ? $this->evopt1['evo_ftimgclick'] : null, 'min_height' => !empty($this->evopt1['evo_ftimgheight']) ? $this->evopt1['evo_ftimgheight'] : 400, 'ftimg_sty' => !empty($this->evopt1['evo_ftimg_height_sty']) ? $this->evopt1['evo_ftimg_height_sty'] : 'minimized');
                }
                // EVENT DESCRIPTION
                $evcal_event_content = $event->post_content;
                if (!empty($evcal_event_content)) {
                    $event_full_description = $evcal_event_content;
                } else {
                    // event description compatibility from older versions.
                    $event_full_description = !empty($ev_vals['evcal_description']) ? $ev_vals['evcal_description'][0] : null;
                }
                if (!empty($event_full_description)) {
                    $except = $event->post_excerpt;
                    $event_excerpt = eventon_get_event_excerpt($event_full_description, 30, $except);
                    $_eventcard['eventdetails'] = array('fulltext' => $event_full_description, 'excerpt' => $event_excerpt);
                }
                // EVENT LOCATION
                $lonlat = !empty($ev_vals['evcal_lat']) && !empty($ev_vals['evcal_lon']) ? 'data-latlng="' . $ev_vals['evcal_lat'][0] . ',' . $ev_vals['evcal_lon'][0] . '" ' : null;
                $__location = $this->helper->evo_meta('evcal_location', $ev_vals, 'null');
                // location name
                $__location_name = stripslashes(evo_meta($ev_vals, 'evcal_location_name'));
                $_eventcard['timelocation'] = array('timetext' => $_event_date_HTML['html_prettytime'], 'location' => $__location, 'location_name' => $__location_name, 'timezone' => !empty($ev_vals['evo_event_timezone']) ? $ev_vals['evo_event_timezone'][0] : null);
                // Location Image
                $loc_img_id = $this->helper->evo_meta('evo_loc_img', $ev_vals, 'null');
                if (!empty($loc_img_id)) {
                    $_eventcard['locImg'] = array('id' => $loc_img_id, 'fullheight' => !empty($this->evopt1['evo_locimgheight']) ? $this->evopt1['evo_locimgheight'] : 400);
                    // location name and address
                    if (evo_check_yn($ev_vals, 'evcal_name_over_img') && !empty($__location_name)) {
                        $_eventcard['locImg']['locName'] = $__location_name;
                        if (!empty($__location)) {
                            $_eventcard['locImg']['locAdd'] = $__location;
                        }
                    }
                }
                // GOOGLE maps
                if ($this->google_maps_load && ($__location || !empty($lonlat)) && (!empty($ev_vals['evcal_gmap_gen']) && $ev_vals['evcal_gmap_gen'][0] == 'yes')) {
                    $_eventcard['gmap'] = array('id' => $unique_varied_id);
                    // GET directions
                    if ($this->evopt1['evo_getdir'] == 'yes' && !empty($ev_vals['evcal_location'])) {
                        $_eventcard['getdirection'] = array('fromaddress' => $ev_vals['evcal_location'][0]);
                    }
                } else {
                    $_eventInAttr['data-gmap_status'] = 'null';
                }
                // EVENT BRITE
                // check if eventbrite actually used in this event
                if ($_event_card_on && !empty($ev_vals['evcal_eventb_data_set']) && $ev_vals['evcal_eventb_data_set'][0] == 'yes') {
                    // Event brite capacity
                    if (!empty($ev_vals['evcal_eventb_tprice']) && !empty($ev_vals['evcal_eventb_url'])) {
                        $_eventcard['eventbrite'] = array('capacity' => !empty($ev_vals['evcal_eventb_capacity']) ? $ev_vals['evcal_eventb_capacity'][0] : null, 'tix_price' => $ev_vals['evcal_eventb_tprice'][0], 'url' => $ev_vals['evcal_eventb_url'][0]);
                    }
                }
                // PAYPAL Code
                if (!empty($ev_vals['evcal_paypal_item_price'][0]) && $this->evopt1['evcal_paypal_pay'] == 'yes') {
                    $_eventcard['paypal'] = array('title' => $event->post_title, 'price' => $ev_vals['evcal_paypal_item_price'][0], 'text' => !empty($ev_vals['evcal_paypal_text']) ? $ev_vals['evcal_paypal_text'][0] : null);
                }
                // Event Organizer
                if (!empty($ev_vals['evcal_organizer']) && (!empty($ev_vals['evo_evcrd_field_org']) && $ev_vals['evo_evcrd_field_org'][0] != 'yes')) {
                    $_eventcard['organizer'] = array('value' => $ev_vals['evcal_organizer'][0], 'contact' => !empty($ev_vals['evcal_org_contact']) ? $ev_vals['evcal_org_contact'][0] : null, 'imgid' => !empty($ev_vals['evo_org_img']) ? $ev_vals['evo_org_img'][0] : null);
                }
                // Custom fields
                $_cmf_count = evo_retrieve_cmd_count($this->evopt1);
                for ($x = 1; $x < $_cmf_count + 1; $x++) {
                    if (!empty($this->evopt1['evcal_ec_f' . $x . 'a1']) && !empty($this->evopt1['evcal__fai_00c' . $x]) && !empty($ev_vals["_evcal_ec_f" . $x . "a1_cus"])) {
                        // check if hide this from eventCard set to yes
                        if (empty($this->evopt1['evcal_ec_f' . $x . 'a3']) || $this->evopt1['evcal_ec_f' . $x . 'a3'] == 'no') {
                            $faicon = $this->evopt1['evcal__fai_00c' . $x];
                            $_eventcard['customfield' . $x] = array('imgurl' => $faicon, 'x' => $x, 'value' => $ev_vals["_evcal_ec_f" . $x . "a1_cus"][0], 'valueL' => !empty($ev_vals["_evcal_ec_f" . $x . "a1_cusL"]) ? $ev_vals["_evcal_ec_f" . $x . "a1_cusL"][0] : null, '_target' => !empty($ev_vals["_evcal_ec_f" . $x . "_onw"]) ? $ev_vals["_evcal_ec_f" . $x . "_onw"][0] : null, 'type' => $this->evopt1['evcal_ec_f' . $x . 'a2']);
                        }
                    }
                }
                // LEARN MORE and ICS
                if (!empty($ev_vals['evcal_lmlink']) || !empty($this->evopt1['evo_ics']) && $this->evopt1['evo_ics'] == 'yes') {
                    $_eventcard['learnmoreICS'] = array('event_id' => $event_id, 'learnmorelink' => !empty($ev_vals['evcal_lmlink']) ? $ev_vals['evcal_lmlink'][0] : null, 'learnmore_target' => !empty($ev_vals['evcal_lmlink_target']) && $ev_vals['evcal_lmlink_target'][0] == 'yes' ? 'target="_blank"' : null, 'estart' => $event_start_unix, 'eend' => $event_end_unix, 'etitle' => $event->post_title, 'evals' => $ev_vals);
                }
                // =======================
                /** CONSTRUCT the EVENT CARD	 **/
                if ($_event_card_on && !empty($_eventcard) && count($_eventcard) > 0) {
                    // filter hook for eventcard content array - updated 2.2.20
                    $_eventcard = apply_filters('eventon_eventcard_array', $_eventcard, $ev_vals, $event_id, $__repeatInterval);
                    // if an order is set reorder things
                    if (!empty($this->evopt1['evoCard_order'])) {
                        $_eventcard = $this->helper->eventcard_sort($_eventcard, $this->evopt1);
                    }
                    ob_start();
                    echo "<div class='event_description evcal_eventcard " . ($_is_eventCardOpen ? 'open' : null) . "' " . ($_is_eventCardOpen ? 'style="display:block"' : 'style="display:none"') . ">";
                    echo eventon_eventcard_print($_eventcard, $this->evopt1, $this->evopt2);
                    // (---) hook for addons
                    do_action('eventon_eventcard_additions', $event_id, $this->__calendar_type, $event->post_title, $event_full_description, $img_thumb_src, $__repeatInterval);
                    echo "</div>";
                    $html_event_detail_card = ob_get_clean();
                }
                /** Trigger attributes **/
                $event_description_trigger = "desc_trig";
                $_eventInAttr['data-gmtrig'] = !empty($ev_vals['evcal_gmap_gen']) && $ev_vals['evcal_gmap_gen'][0] == 'yes' ? '1' : '0';
                // Generate tax terms for event top
                $html_event_type_tax_ar = array();
                $_tax_names_array = evo_get_localized_ettNames('', $this->evopt1, $this->evopt2);
                //$_tax_names_array = evo_get_ettNames($this->evopt1);
                //print_r($_tax_names_array);
                $evcal_terms_ = '';
                if (!empty($eventop_fields)) {
                    // foreach active tax
                    for ($b = 1; $b <= $_active_tax; $b++) {
                        $__tx_content = '';
                        $__tax_slug = 'event_type' . ($b == 1 ? '' : '_' . $b);
                        $__tax_fields = 'eventtype' . ($b == 1 ? '' : $b);
                        // for override evc colors
                        if ($b == 1) {
                            $evcal_terms_ = wp_get_post_terms($event_id, $__tax_slug);
                        }
                        if (in_array($__tax_fields, $eventop_fields)) {
                            $evcal_terms = !empty($evcal_terms_) && $b == 1 ? $evcal_terms_ : wp_get_post_terms($event_id, $__tax_slug);
                            if ($evcal_terms) {
                                $__tax_name = $_tax_names_array[$b];
                                $__tx_content .= "<span class='evcal_event_types ett{$b}'><em><i>" . $__tax_name . ":</i></em>";
                                $i = 1;
                                foreach ($evcal_terms as $termA) {
                                    // get translated tax term name
                                    $term_name = $this->lang('evolang_' . $__tax_slug . '_' . $termA->term_id, $termA->name);
                                    // tax term slug as class name
                                    $_eventInClasses[] = 'evo_' . $termA->slug;
                                    $__tx_content .= "<em data-filter='{$__tax_slug}'>" . $term_name . (count($evcal_terms) != $i ? ',' : '') . "</em>";
                                    $i++;
                                }
                                $__tx_content .= "<i class='clear'></i></span>";
                                $html_event_type_tax_ar[$b] = $__tx_content;
                            }
                        }
                    }
                }
                $_html_tax_content = count($html_event_type_tax_ar) > 0 ? implode('', $html_event_type_tax_ar) : null;
                // event color
                $event_color = eventon_get_hex_color($ev_vals, $default_event_color);
                // override event colors
                if (!empty($__shortC_arg['etc_override']) && $__shortC_arg['etc_override'] == 'yes' && !empty($evcal_terms_)) {
                    $ev_id = $evcal_terms_[0]->term_id;
                    $ev_color = get_option("evo_et_taxonomy_{$ev_id}");
                    $event_color = !empty($ev_color['et_color']) ? $ev_color['et_color'] : $event_color;
                    // remove additional '#' in the hex code
                    $event_color = '#' . str_replace('#', '', $event_color);
                }
                // if UX to be open in new window then use link to single event or that link
                $link_append = array();
                $_link_text = '';
                if (!empty($__shortC_arg['lang']) && $__shortC_arg['lang'] != 'L1') {
                    $link_append['l'] = $__shortC_arg['lang'];
                }
                // append repeat interval value to event link
                $link_append['ri'] = $__repeatInterval;
                if (!empty($link_append)) {
                    foreach ($link_append as $lp => $lpk) {
                        if ($lp == 'ri' && $lpk == '0') {
                            continue;
                        }
                        $_link_text .= $lp . '=' . $lpk . '&';
                    }
                }
                // passing URL variables values
                $_link_text_append = strpos($event_permalink, '?') === false ? '?' : '&';
                $_link_text = !empty($_link_text) ? $_link_text_append . $_link_text : null;
                $_eventInAttr['rest'][] = !empty($ev_vals['evcal_exlink']) && $event_ux_val != '1' ? 'data-exlk="1" href="' . $ev_vals['evcal_exlink'][0] . $_link_text . '"' : 'data-exlk="0"';
                // target
                $_eventInAttr['rest'][] = !empty($ev_vals['_evcal_exlink_target']) && $ev_vals['_evcal_exlink_target'][0] == 'yes' ? 'target="_blank"' : null;
                // EVENT LOCATION
                if (evo_location_exists($ev_vals)) {
                    $location_address = !empty($ev_vals['evcal_location']) ? $ev_vals['evcal_location'][0] : null;
                    // location as LON LAT
                    $event_location_variables = (!empty($lonlat) ? $lonlat : null) . ' data-location_address="' . $location_address . '" ';
                    // conditional schema data for event
                    if (!empty($this->evopt1['evo_schema']) && $this->evopt1['evo_schema'] == 'yes') {
                        $__scheme_data_location = '';
                    } else {
                        $__scheme_data_location = '
									<item style="display:none" itemprop="location" itemscope itemtype="http://schema.org/Place">
										' . (!empty($__location_name) ? '<span itemprop="name">' . $__location_name . '</span>' : '') . '
										<span itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">
											<item itemprop="streetAddress">' . $location_address . '</item>
										</span>
									</item>';
                    }
                    $ev_location = !empty($location_address) ? '<em class="evcal_location" ' . (!empty($lonlat) ? $lonlat : null) . ' data-add_str="' . $location_address . '">' . $location_address . '</em>' : null;
                    // location type
                    $event_location_variables .= !empty($lonlat) ? 'data-location_type="lonlat"' : 'data-location_type="address"';
                    // location name
                    $event_location_variables .= !empty($ev_vals['evcal_location_name']) ? ' data-location_name="' . $ev_vals['evcal_location_name'][0] . '"' : null;
                    // location status
                    $event_location_variables .= ' data-location_status="true"';
                } else {
                    // location status
                    $ev_location = $event_location_variables = $__scheme_data_location = null;
                    $event_location_variables .= ' data-location_status="false"';
                }
                // EVENT tags
                $_event_tags = wp_get_post_tags($event_id);
                // EVENT TOP
                $eventtop_html = $eventop_fields_ = $__eventtop = '';
                // CHECK for event top fields array
                $eventop_fields_ = is_array($eventop_fields) ? true : false;
                // featured image
                if (!empty($img_thumb_src) && !empty($__shortC_arg['show_et_ft_img']) && $__shortC_arg['show_et_ft_img'] == 'yes') {
                    $__eventtop['ft_img'] = array('url' => $img_thumb_src[0], 'url_med' => !empty($img_med_src[0]) ? $img_med_src[0] : '');
                }
                // date block
                if (!$__year_long_event) {
                    // date number
                    $___day_name = $eventop_fields_ && in_array('dayname', $eventop_fields) ? "<em class='evo_day' >" . $DATE_start_val['D'] . "</em>" : null;
                    $__eventtop['day_block'] = array('start' => $DATE_start_val, 'color' => $event_color, 'day_name' => $___day_name, 'html' => $_event_date_HTML);
                }
                // event titles
                $__eventtop['titles'] = array('yearlong' => $__year_long_event, 'loc_vars' => $event_location_variables, 'title' => isset($event->post_title) ? $event->post_title : '', 'cancel' => $_eventInClasses['_cancel'], 'cancel_reason' => $this->helper->evo_meta('_cancel_reason', $ev_vals, 'null'), 'subtitle' => !empty($ev_vals['evcal_subtitle']) ? $ev_vals['evcal_subtitle'][0] : null);
                // below title
                $__eventtop['belowtitle'] = array('fields_' => $eventop_fields_, 'fields' => $eventop_fields, 'evvals' => $ev_vals, 'html' => $_event_date_HTML, 'location' => $ev_location, 'locationname' => !empty($ev_vals['evcal_location_name']) ? $ev_vals['evcal_location_name'][0] : null, 'tax' => $_html_tax_content, 'tags' => $_event_tags, 'cmdcount' => $_cmf_count, 'timezone' => !empty($ev_vals['evo_event_timezone']) ? $ev_vals['evo_event_timezone'][0] : null);
                // close eventtop
                $_passVal = array('eventid' => $event_id, 'ri' => $__repeatInterval, 'fields_' => $eventop_fields_, 'fields' => $eventop_fields);
                $__eventtop = apply_filters('eventon_eventtop_one', $__eventtop, $ev_vals, $_passVal);
                $__eventtop['close1'] = array();
                $__eventtop = apply_filters('eventon_eventtop_two', $__eventtop, $ev_vals, $_passVal);
                $__eventtop['close2'] = array();
                // CONSTRUCT event top html
                if (!empty($__eventtop) && count($__eventtop) > 0) {
                    ob_start();
                    echo eventon_get_eventtop_print($__eventtop, $this->evopt1, $this->evopt2);
                    $eventtop_html = ob_get_clean();
                    $eventtop_html = apply_filters('eventon_eventtop_html', $eventtop_html);
                } else {
                    $eventtop_html = null;
                }
                // (---) hook for addons
                $html_info_line = apply_filters('eventon_event_cal_short_info_line', $eventtop_html);
                // SCHEME SEO
                // conditional schema data
                if (!empty($this->evopt1['evo_schema']) && $this->evopt1['evo_schema'] == 'yes') {
                    $__scheme_data = '<div class="evo_event_schema" style="display:none" >
							<a href="' . $event_permalink . '"></a></div>';
                    $__scheme_attributes = '';
                } else {
                    $event_permalink = $_sin_ev_ex ? $event_permalink . $_link_text : "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
                    $__scheme_data = '<div class="evo_event_schema" style="display:none" >
							<a href="' . $event_permalink . '" itemprop="url"></a>				
							<time itemprop="startDate" datetime="' . $DATE_start_val['Y'] . '-' . $DATE_start_val['n'] . '-' . $DATE_start_val['j'] . '"></time>
							<time itemprop="endDate" datetime="' . $DATE_end_val['Y'] . '-' . $DATE_end_val['n'] . '-' . $DATE_end_val['j'] . '"></time>' . $__scheme_data_location . '</div>';
                    $__scheme_attributes = "itemscope itemtype='http://schema.org/Event'";
                }
                // CLASES - attribute
                $_eventClasses[] = 'eventon_list_event';
                $_eventClasses[] = 'event';
                $_eventInClasses[] = $_event_date_HTML['class_daylength'];
                $_eventInClasses[] = 'evcal_list_a';
                $_eventInClasses_ = $this->helper->get_eventinclasses(array('existing_classes' => $_eventInClasses, 'show_et_ft_img' => !empty($__shortC_arg['show_et_ft_img']) ? $__shortC_arg['show_et_ft_img'] : 'no', 'img_thumb_src' => $img_thumb_src, 'event_type' => $event_type, 'event_description_trigger' => $event_description_trigger));
                // show limit styles
                if (!empty($__shortC_arg['show_limit']) && $__shortC_arg['show_limit'] == 'yes' && !empty($__shortC_arg['event_count']) && $__shortC_arg['event_count'] > 0 && $__count > $__shortC_arg['event_count']) {
                    $_eventAttr['style'][] = "display:none";
                    $_eventClasses[] = 'evSL';
                }
                $eventbefore = '';
                // TILES STYLE
                if (!empty($__shortC_arg['tiles']) && $__shortC_arg['tiles'] == 'yes') {
                    // boxy event colors
                    // if featured image exists for an event
                    if (!empty($img_med_src) && $__shortC_arg['tile_bg'] == 1) {
                        $_this_style = 'background-image: url(' . $img_med_src[0] . '); background-color:' . $event_color . ';';
                        $_eventClasses[] = 'hasbgimg';
                    } else {
                        $_this_style = 'background-color: ' . $event_color . ';';
                    }
                    // support different tile style
                    if (!empty($__shortC_arg['tile_style']) && $__shortC_arg['tile_style'] != '0') {
                        $eventbefore = '<div class="evo_topbar" style="' . $_this_style . '"></div>';
                    } else {
                        $_eventAttr['style'][] = $_this_style;
                    }
                    // tile height
                    if ($__shortC_arg['tile_height'] != 0) {
                        $_eventAttr['style'][] = 'height: ' . $__shortC_arg['tile_height'] . 'px;';
                    }
                    // tile count
                    if ($__shortC_arg['tile_count'] != 2) {
                        //$perct = (int)(100/$__shortC_arg['tile_count']);
                        //$_eventAttr['style'][] = 'width: '.$perct.'%;';
                    }
                } else {
                    $_eventInAttr['style'][] = 'border-color: ' . $event_color . ';';
                }
                $_eventAttr['id'] = 'event_' . $event_id;
                $_eventAttr['class'] = $this->helper->implode($_eventClasses);
                $_eventAttr['data-event_id'] = $event_id;
                $_eventAttr['data-ri'] = $__repeatInterval;
                $_eventAttr['data-colr'] = $event_color;
                $_eventAttr['rest'][] = $__scheme_attributes;
                $atts = $this->helper->get_attrs($_eventAttr);
                $_eventInAttr['id'] = $unique_id;
                $_eventInAttr['class'] = $_eventInClasses_;
                $_eventInAttr['data-ux_val'] = $event_ux_val;
                $attsIn = $this->helper->get_attrs($_eventInAttr);
                // build the event HTML
                $event_html_code = "<div {$atts}>{$eventbefore}{$__scheme_data}\r\n\t\t\t\t<{$html_tag} {$attsIn}>{$html_info_line}</{$html_tag}>" . $html_event_detail_card . "<div class='clear end'></div></div>";
                // prepare output
                $months_event_array[] = array('event_id' => $event_id, 'srow' => $event_start_unix, 'erow' => $event_end_unix, 'content' => $event_html_code);
            }
        } else {
            $months_event_array;
        }
        return $months_event_array;
    }
 function export_events()
 {
     header("Content-type: text/csv");
     header("Content-Disposition: attachment; filename=Eventon_events_" . date("d-m-y") . ".csv");
     header("Pragma: no-cache");
     header("Expires: 0");
     $evo_opt = get_option('evcal_options_evcal_1');
     $event_type_count = evo_get_ett_count($evo_opt);
     $cmd_count = evo_calculate_cmd_count($evo_opt);
     $fields = array('publish_status', 'evcal_event_color' => 'color', 'event_name', 'event_description', 'event_start_date', 'event_start_time', 'event_end_date', 'event_end_time', 'evcal_allday' => 'all_day', 'evo_hide_endtime' => 'hide_end_time', 'evcal_gmap_gen' => 'event_gmap', '_featured' => 'featured', 'evcal_location_name' => 'location_name', 'evcal_location' => 'event_location', 'evcal_organizer' => 'event_organizer', 'evcal_subtitle' => 'evcal_subtitle', 'image_url');
     foreach ($fields as $var => $val) {
         echo $val . ',';
     }
     // event types
     for ($y = 1; $y <= $event_type_count; $y++) {
         $_ett_name = $y == 1 ? 'event_type' : 'event_type_' . $y;
         echo $_ett_name . ',';
     }
     // for event custom meta data
     for ($z = 1; $z <= $cmd_count; $z++) {
         $_cmd_name = 'cmd_' . $z;
         echo $_cmd_name . ",";
     }
     echo "\n";
     $events = new WP_Query(array('posts_per_page' => -1, 'post_type' => 'ajde_events', 'post_status' => 'any'));
     if ($events->have_posts()) {
         date_default_timezone_set('UTC');
         while ($events->have_posts()) {
             $events->the_post();
             $__id = get_the_ID();
             $pmv = get_post_meta($__id);
             echo get_post_status($__id) . ",";
             //echo (!empty($pmv['_featured'])?$pmv['_featured'][0]:'no').",";
             echo (!empty($pmv['evcal_event_color']) ? $pmv['evcal_event_color'][0] : '') . ",";
             echo '"' . get_the_title() . '",';
             $event_content = get_the_content();
             echo '"' . str_replace('"', "'", $event_content) . '",';
             // start time
             $start = !empty($pmv['evcal_srow']) ? $pmv['evcal_srow'][0] : '';
             if (!empty($start)) {
                 echo date('n/j/Y,g:i:A', $start) . ',';
             } else {
                 echo "'','',";
             }
             // end time
             $end = !empty($pmv['evcal_erow']) ? $pmv['evcal_erow'][0] : '';
             if (!empty($end)) {
                 echo date('n/j/Y,g:i:A', $end) . ',';
             } else {
                 echo "'','',";
             }
             foreach ($fields as $var => $val) {
                 // yes no values
                 if (in_array($val, array('featured', 'all_day', 'hide_end_time', 'event_gmap'))) {
                     echo (!empty($pmv[$var]) && $pmv[$var][0] == 'yes' ? 'yesf' : 'no') . ',';
                 }
                 // skip fields
                 if (in_array($val, array('featured', 'all_day', 'hide_end_time', 'event_gmap', 'color', 'publish_status', 'event_name', 'event_description', 'event_start_date', 'event_start_time', 'event_end_date', 'event_end_time'))) {
                     continue;
                 }
                 // image
                 if ($val == 'image_url') {
                     $img_id = get_post_thumbnail_id($__id);
                     if ($img_id != '') {
                         $img_src = wp_get_attachment_image_src($img_id, 'full');
                         echo $img_src[0] . ",";
                     } else {
                         echo ",";
                     }
                 } else {
                     echo (!empty($pmv[$var]) ? '"' . $pmv[$var][0] . '"' : '') . ",";
                 }
             }
             // event types
             for ($y = 1; $y <= $event_type_count; $y++) {
                 $_ett_name = $y == 1 ? 'event_type' : 'event_type_' . $y;
                 $terms = get_the_terms($__id, $_ett_name);
                 if ($terms && !is_wp_error($terms)) {
                     echo '"';
                     foreach ($terms as $term) {
                         echo $term->term_id . ',';
                     }
                     echo '",';
                 } else {
                     echo ",";
                 }
             }
             // for event custom meta data
             for ($z = 1; $z <= $cmd_count; $z++) {
                 $cmd_name = '_evcal_ec_f' . $z . 'a1_cus';
                 echo !empty($pmv[$cmd_name]) ? '"' . str_replace('"', "'", $pmv[$cmd_name][0]) . '"' : '';
                 echo ",";
             }
             echo "\n";
         }
     }
     wp_reset_postdata();
 }
Example #8
0
 function _array_part_taxonomies()
 {
     $output = '';
     $event_type_names = evo_get_ettNames($this->evopt);
     $ett_verify = evo_get_ett_count($this->evopt);
     $output[] = array('type' => 'togheader', 'name' => 'Event Type Categories');
     for ($x = 1; $x < $ett_verify + 1; $x++) {
         $default = $event_type_names[$x];
         $output[] = array('label' => $default, 'name' => 'evcal_lang_et' . $x);
         // each term of taxonomy
         $ab = $x == 1 ? '' : '_' . $x;
         $terms = get_terms('event_type' . $ab, array('hide_empty' => false));
         $termitem = '';
         if (!empty($terms)) {
             foreach ($terms as $term) {
                 $var = 'evolang_' . 'event_type' . $ab . '_' . $term->term_id;
                 $termitem[$var] = !empty($this->lang_options[$var]) ? $this->lang_options[$var] : $term->name;
             }
         }
         if (!empty($termitem)) {
             $output[] = array('type' => 'multibox_open', 'items' => $termitem);
         }
     }
     $output[] = array('label' => 'Event Location', 'name' => 'evcal_lang_evloc');
     $output[] = array('label' => 'Events at this location', 'var' => '1');
     $output[] = array('label' => 'Event Organizer', 'name' => 'evcal_lang_evorg');
     $output[] = array('label' => 'Events by this organizer', 'var' => '1');
     $output[] = array('type' => 'togend');
     return $output;
 }
<?php

/**
 * Language Settings 
 *
 * @version		2.2.10
 * @package		EventON/settings
 * @category	Settings
 * @author 		AJDE
 */
// Event type custom taxonomy NAMES
$evopt = get_option('evcal_options_evcal_1');
$event_type_names = evo_get_ettNames($evopt);
$_ett_lang_ar = array();
$ett_verify = evo_get_ett_count($evopt);
for ($x = 1; $x < $ett_verify + 1; $x++) {
    $_ett_lang_ar[$x] = array('label' => $event_type_names[$x], 'name' => 'evcal_lang_et' . $x);
}
// Custom meta fields
$_cmd_lang_ar = array();
$cmd_verify = evo_retrieve_cmd_count($evopt);
for ($x = 1; $x < $cmd_verify + 1; $x++) {
    $label = $evopt['evcal_ec_f' . $x . 'a1'];
    $_cmd_lang_ar[$x] = array('label' => $label, 'name' => 'evcal_cmd_' . $x);
}
// MAIN ARRAY
$eventon_custom_language_array = array(array('type' => 'togheader', 'name' => 'General Calendar'), array('label' => 'No Events', 'name' => 'evcal_lang_noeve', 'legend' => ''), array('label' => 'All Day', 'name' => 'evcal_lang_allday', 'legend' => ''), array('label' => 'Year Around Event', 'name' => 'evcal_lang_yrrnd', 'legend' => ''), array('label' => 'Events', 'name' => 'evcal_lang_events'), array('label' => 'Show More Events', 'name' => 'evcal_lang_sme'), array('type' => 'togend'), array('type' => 'togheader', 'name' => 'Calendar Header'), array('label' => 'Jump Months', 'name' => 'evcal_lang_jumpmonths', 'legend' => ''), array('label' => 'Jump Months: Month', 'name' => 'evcal_lang_jumpmonthsM', 'legend' => ''), array('label' => 'Jump Months: Year', 'name' => 'evcal_lang_jumpmonthsY', 'legend' => ''), array('label' => 'Sort Options', 'name' => 'evcal_lang_sopt', 'legend' => ''), array('label' => 'Sort By', 'name' => 'evcal_lang_sort', 'legend' => ''), array('label' => 'Date', 'name' => 'evcal_lang_sdate', 'legend' => ''), array('label' => 'Title', 'name' => 'evcal_lang_stitle', 'legend' => ''), array('label' => 'All', 'name' => 'evcal_lang_all', 'legend' => 'Sort options all text'), $_ett_lang_ar[1], $_ett_lang_ar[2], !empty($_ett_lang_ar[3]) ? $_ett_lang_ar[3] : null, !empty($_ett_lang_ar[4]) ? $_ett_lang_ar[4] : null, array('type' => 'togend'), array('type' => 'togheader', 'name' => 'Event Card'), array('label' => 'Location Name', 'name' => 'evcal_lang_location_name', 'legend' => ''), array('label' => 'Location', 'name' => 'evcal_lang_location', 'legend' => ''), array('label' => 'Event Location', 'name' => 'evcal_lang_evloc'), array('label' => 'Type your address', 'name' => 'evcalL_getdir_placeholder', 'legend' => 'Get directions section'), array('label' => 'Click here to get directions', 'name' => 'evcalL_getdir_title', 'legend' => 'Get directions section'), array('label' => 'Time', 'name' => 'evcal_lang_time', 'legend' => ''), array('label' => 'Color', 'name' => 'evcal_lang_scolor', 'legend' => ''), array('label' => 'At (event location)', 'name' => 'evcal_lang_at', 'legend' => ''), array('label' => 'Event Details', 'name' => 'evcal_evcard_details', 'legend' => ''), array('label' => 'Event Organized by', 'name' => 'evcal_evcard_org', 'legend' => ''), array('label' => 'Event Organizer', 'name' => 'evcal_lang_evorg'), array('label' => 'Close event button text', 'name' => 'evcal_lang_close'), array('label' => 'More', 'name' => 'evcal_lang_more', 'legend' => 'More/less text for long event description'), array('label' => 'Less', 'name' => 'evcal_lang_less', 'legend' => 'More/less text for long event description'), array('label' => 'Buy ticket via Paypal', 'name' => 'evcal_evcard_tix1', 'legend' => 'for Paypal'), array('label' => 'Buy Now button text', 'name' => 'evcal_evcard_btn1', 'legend' => 'for Paypal'), array('label' => 'Ticket for the event', 'name' => 'evcal_evcard_tix2', 'legend' => 'for eventbrite'), array('label' => 'Buy now button', 'name' => 'evcal_evcard_btn2', 'legend' => 'for eventbrite'), array('label' => 'Event Capacity', 'name' => 'evcal_evcard_cap', 'legend' => ''), array('label' => 'Learn More about this event', 'name' => 'evcal_evcard_learnmore', 'legend' => 'for meetup'), array('label' => 'Learn More link text', 'name' => 'evcal_evcard_learnmore2', 'legend' => 'for meetup'), array('type' => 'subheader', 'label' => 'Add to calendar Section'), array('label' => 'Calendar', 'name' => 'evcal_evcard_calncal'), array('label' => 'GoogleCal', 'name' => 'evcal_evcard_calgcal'), array('label' => 'Add to your calendar', 'name' => 'evcal_evcard_addics', 'legend' => 'Alt text for add to calendar button'), array('label' => 'Add to google calendar', 'name' => 'evcal_evcard_addgcal', 'legend' => 'Alt text for add to google calendar button'), array('type' => 'togend'), !empty($_cmd_lang_ar[1]) ? $_cmd_lang_ar[1] : null, !empty($_cmd_lang_ar[2]) ? $_cmd_lang_ar[2] : null, !empty($_cmd_lang_ar[3]) ? $_cmd_lang_ar[3] : null, array('type' => 'togend'));
Example #10
0
 function export_events()
 {
     header("Content-type: text/csv");
     header("Content-Disposition: attachment; filename=Eventon_events_" . date("d-m-y") . ".csv");
     header("Pragma: no-cache");
     header("Expires: 0");
     $evo_opt = get_option('evcal_options_evcal_1');
     $event_type_count = evo_get_ett_count($evo_opt);
     $cmd_count = evo_calculate_cmd_count($evo_opt);
     echo "publish_status,featured,color,event_name,event_description,event_start_date,event_start_time,event_end_date,event_end_time,all_day,hide_end_time,location_name,event_location,event_gmap,event_organizer,";
     // event types
     for ($y = 1; $y <= $event_type_count; $y++) {
         $_ett_name = $y == 1 ? 'event_type' : 'event_type_' . $y;
         echo $_ett_name . ',';
     }
     // for event custom meta data
     for ($z = 1; $z <= $cmd_count; $z++) {
         $_cmd_name = 'cmd_' . $z;
         echo $_cmd_name . ",";
     }
     echo "\n";
     $events = new WP_Query(array('posts_per_page' => -1, 'post_type' => 'ajde_events', 'post_status' => 'any'));
     if ($events->have_posts()) {
         date_default_timezone_set('UTC');
         while ($events->have_posts()) {
             $events->the_post();
             $__id = get_the_ID();
             $pmv = get_post_meta($__id);
             echo get_post_status($__id) . ",";
             echo (!empty($pmv['_featured']) ? $pmv['_featured'][0] : 'no') . ",";
             echo (!empty($pmv['evcal_event_color']) ? $pmv['evcal_event_color'][0] : '') . ",";
             echo '"' . get_the_title() . '",';
             $event_content = get_the_content();
             echo '"' . str_replace('"', "'", $event_content) . '",';
             // start time
             $start = !empty($pmv['evcal_srow']) ? $pmv['evcal_srow'][0] : '';
             if (!empty($start)) {
                 echo date('n/j/Y,g:i:A', $start) . ',';
             } else {
                 echo "'','',";
             }
             // end time
             $end = !empty($pmv['evcal_erow']) ? $pmv['evcal_erow'][0] : '';
             if (!empty($end)) {
                 echo date('n/j/Y,g:i:A', $end) . ',';
             } else {
                 echo "'','',";
             }
             echo (!empty($pmv['evcal_allday']) ? $pmv['evcal_allday'][0] : 'no') . ",";
             echo (!empty($pmv['evo_hide_endtime']) ? $pmv['evo_hide_endtime'][0] : 'no') . ",";
             echo (!empty($pmv['evcal_location_name']) ? '"' . $pmv['evcal_location_name'][0] . '"' : '') . ",";
             echo (!empty($pmv['evcal_location']) ? '"' . $pmv['evcal_location'][0] . '"' : '') . ",";
             echo (!empty($pmv['evcal_gmap_gen']) ? $pmv['evcal_gmap_gen'][0] : 'no') . ",";
             echo (!empty($pmv['evcal_organizer']) ? '"' . $pmv['evcal_organizer'][0] . '"' : '') . ",";
             // event types
             for ($y = 1; $y <= $event_type_count; $y++) {
                 $_ett_name = $y == 1 ? 'event_type' : 'event_type_' . $y;
                 $terms = get_the_terms($__id, $_ett_name);
                 if ($terms && !is_wp_error($terms)) {
                     echo '"';
                     foreach ($terms as $term) {
                         echo $term->term_id . ',';
                     }
                     echo '",';
                 } else {
                     echo ",";
                 }
             }
             // for event custom meta data
             for ($z = 1; $z <= $cmd_count; $z++) {
                 $cmd_name = '_evcal_ec_f' . $z . 'a1_cus';
                 echo !empty($pmv[$cmd_name]) ? '"' . str_replace('"', "'", $pmv[$cmd_name][0]) . '"' : '';
                 echo ",";
             }
             echo "\n";
         }
     }
     wp_reset_postdata();
 }
    /** GENERATE individual event data	 */
    public function generate_event_data($event_list_array, $focus_month_beg_range = '', $FOCUS_month_int = '', $FOCUS_year_int = '')
    {
        $months_event_array = '';
        // Initial variables
        $wp_time_format = get_option('time_format');
        $default_event_color = !empty($this->evopt1['evcal_hexcode']) ? '#' . $this->evopt1['evcal_hexcode'] : '#206177';
        $__shortC_arg = $this->shortcode_args;
        $__count = 0;
        // EVENT CARD open by default variables
        $_is_eventCardOpen = !empty($__shortC_arg['evc_open']) && $__shortC_arg['evc_open'] == 'yes' ? true : ($this->is_eventcard_open ? true : false);
        $eventcard_script_class = $_is_eventCardOpen ? "gmaponload" : null;
        $this->is_eventcard_open = false;
        // check featured events are prioritized
        $__feature_events = !empty($__shortC_arg['ft_event_priority']) && $__shortC_arg['ft_event_priority'] != 'no' ? true : false;
        // GET EventTop fields - v2.1.17
        $eventop_fields = !empty($this->evopt1['evcal_top_fields']) ? $this->evopt1['evcal_top_fields'] : null;
        // Number of activated taxnomonies v 2.2.15
        $_active_tax = evo_get_ett_count($this->evopt1);
        // eventCARD HTML
        require_once AJDE_EVCAL_PATH . '/includes/eventon_eventCard.php';
        // check if single event exist
        $_sin_ev_ex = in_array('eventon-single-event/eventon-single-event.php', get_option('active_plugins')) ? true : false;
        // EACH EVENT
        if (is_array($event_list_array)) {
            foreach ($event_list_array as $event_) {
                $__count++;
                //print_r($event);
                $event_id = $event_['event_id'];
                $event_start_unix = $event_['event_start_unix'];
                $event_end_unix = $event_['event_end_unix'];
                $event_type = $event_['event_type'];
                $ev_vals = $event_['event_pmv'];
                $event = get_post($event_id);
                // year long or not
                $__year_long_event = !empty($ev_vals['evo_year_long']) && $ev_vals['evo_year_long'][0] == 'yes' ? true : 0;
                // define variables
                $ev_other_data = $ev_other_data_top = $html_event_type_info = $_event_date_HTML = $_eventcard = $html_event_type_2_info = '';
                $_is_end_date = true;
                $DATE_start_val = eventon_get_formatted_time($event_start_unix);
                if (empty($event_end_unix)) {
                    $_is_end_date = false;
                    $DATE_end_val = $DATE_start_val;
                } else {
                    $DATE_end_val = eventon_get_formatted_time($event_end_unix);
                }
                // if this event featured
                $__featured = !empty($ev_vals['_featured']) && $ev_vals['_featured'][0] == 'yes' ? true : false;
                // GET: repeat interval for this event
                $__repeatInterval = !empty($event_['event_repeat_interval']) ? $event_['event_repeat_interval'] : (!empty($_GET['ri']) ? $_GET['ri'] : 0);
                // Unique ID generation
                $unique_varied_id = 'evc' . $event_start_unix . uniqid() . $event_id;
                $unique_id = 'evc_' . $event_start_unix . $event_id;
                // All day event variables
                $_is_allday = !empty($ev_vals['evcal_allday']) && $ev_vals['evcal_allday'][0] == 'yes' ? true : false;
                $_hide_endtime = !empty($ev_vals['evo_hide_endtime']) && $ev_vals['evo_hide_endtime'][0] == 'yes' ? true : false;
                $evcal_lang_allday = eventon_get_custom_language($this->evopt2, 'evcal_lang_allday', 'All Day');
                /*
                	evo_hide_endtime
                	NOTE: if its set to hide end time, meaning end time and date would be empty on wp-admin, which will fall into same start end month category.
                */
                $_event_date_HTML = $this->generate_time_($DATE_start_val, $DATE_end_val, $ev_vals, $evcal_lang_allday, $focus_month_beg_range, $FOCUS_month_int, $event_start_unix, $event_end_unix);
                // (---) hook for addons
                if (has_filter('eventon_eventcard_date_html')) {
                    $_event_date_HTML = apply_filters('eventon_eventcard_date_html', $_event_date_HTML, $event_id);
                }
                // EACH DATA FIELD
                // EVENT FEATURES IMAGE
                $img_id = get_post_thumbnail_id($event_id);
                $img_med_src = '';
                if ($img_id != '') {
                    $img_src = wp_get_attachment_image_src($img_id, 'full');
                    $img_med_src = wp_get_attachment_image_src($img_id, 'medium');
                    $img_thumb_src = wp_get_attachment_image_src($img_id, 'thumbnail');
                    // append to eventcard array
                    $_eventcard['ftimage'] = array('img' => $img_src, 'hovereffect' => !empty($this->evopt1['evo_ftimghover']) ? $this->evopt1['evo_ftimghover'] : null, 'clickeffect' => !empty($this->evopt1['evo_ftimgclick']) ? $this->evopt1['evo_ftimgclick'] : null, 'min_height' => !empty($this->evopt1['evo_ftimgheight']) ? $this->evopt1['evo_ftimgheight'] : 400, 'ftimg_sty' => !empty($this->evopt1['evo_ftimg_height_sty']) ? $this->evopt1['evo_ftimg_height_sty'] : 'minimized');
                } else {
                    $img_thumb_src = '';
                }
                // EVENT DESCRIPTION
                $evcal_event_content = $event->post_content;
                if (!empty($evcal_event_content)) {
                    $event_full_description = $evcal_event_content;
                } else {
                    // event description compatibility from older versions.
                    $event_full_description = !empty($ev_vals['evcal_description']) ? $ev_vals['evcal_description'][0] : null;
                }
                if (!empty($event_full_description)) {
                    $except = $event->post_excerpt;
                    $event_excerpt = eventon_get_event_excerpt($event_full_description, 30, $except);
                    $_eventcard['eventdetails'] = array('fulltext' => $event_full_description, 'excerpt' => $event_excerpt);
                }
                // EVENT LOCATION
                $lonlat = !empty($ev_vals['evcal_lat']) && !empty($ev_vals['evcal_lon']) ? 'data-latlng="' . $ev_vals['evcal_lat'][0] . ',' . $ev_vals['evcal_lon'][0] . '" ' : null;
                $__location = evo_meta($ev_vals, 'evcal_location');
                // location name
                $__location_name = evo_meta($ev_vals, 'evcal_location_name');
                $_eventcard['timelocation'] = array('timetext' => $_event_date_HTML['html_prettytime'], 'location' => $__location, 'location_name' => $__location_name);
                // Location Image
                $loc_img_id = !empty($ev_vals['evo_loc_img']) ? $ev_vals['evo_loc_img'][0] : null;
                if (!empty($loc_img_id)) {
                    $_eventcard['locImg'] = array('id' => $loc_img_id, 'fullheight' => !empty($this->evopt1['evo_locimgheight']) ? $this->evopt1['evo_locimgheight'] : 400);
                    // location name and address
                    if (evo_check_yn($ev_vals, 'evcal_name_over_img') && !empty($__location_name)) {
                        $_eventcard['locImg']['locName'] = $__location_name;
                        if (!empty($__location)) {
                            $_eventcard['locImg']['locAdd'] = $__location;
                        }
                    }
                }
                // GOOGLE maps
                if ($this->google_maps_load && !empty($ev_vals['evcal_location']) && (!empty($ev_vals['evcal_gmap_gen']) && $ev_vals['evcal_gmap_gen'][0] == 'yes')) {
                    $gmap_api_status = '';
                    $_eventcard['gmap'] = array('id' => $unique_varied_id);
                    // GET directions
                    if ($this->evopt1['evo_getdir'] == 'yes') {
                        $_eventcard['getdirection'] = array('fromaddress' => $ev_vals['evcal_location'][0]);
                    }
                } else {
                    $gmap_api_status = 'data-gmap_status="null"';
                }
                // EVENT BRITE
                // check if eventbrite actually used in this event
                if (!empty($ev_vals['evcal_eventb_data_set']) && $ev_vals['evcal_eventb_data_set'][0] == 'yes') {
                    // Event brite capacity
                    if (!empty($ev_vals['evcal_eventb_tprice']) && !empty($ev_vals['evcal_eventb_url'])) {
                        $_eventcard['eventbrite'] = array('capacity' => !empty($ev_vals['evcal_eventb_capacity']) ? $ev_vals['evcal_eventb_capacity'][0] : null, 'tix_price' => $ev_vals['evcal_eventb_tprice'][0], 'url' => $ev_vals['evcal_eventb_url'][0]);
                    }
                }
                // PAYPAL Code
                if (!empty($ev_vals['evcal_paypal_item_price'][0]) && $this->evopt1['evcal_paypal_pay'] == 'yes') {
                    $_eventcard['paypal'] = array('title' => $event->post_title, 'price' => $ev_vals['evcal_paypal_item_price'][0], 'text' => !empty($ev_vals['evcal_paypal_text']) ? $ev_vals['evcal_paypal_text'][0] : null);
                }
                // Event Organizer
                if (!empty($ev_vals['evcal_organizer']) && (!empty($ev_vals['evo_evcrd_field_org']) && $ev_vals['evo_evcrd_field_org'][0] != 'yes')) {
                    $_eventcard['organizer'] = array('value' => $ev_vals['evcal_organizer'][0], 'contact' => !empty($ev_vals['evcal_org_contact']) ? $ev_vals['evcal_org_contact'][0] : null, 'img' => !empty($ev_vals['evcal_org_img']) ? $ev_vals['evcal_org_img'][0] : null);
                }
                // Custom fields
                $_cmf_count = evo_retrieve_cmd_count($this->evopt1);
                for ($x = 1; $x < $_cmf_count + 1; $x++) {
                    if (!empty($this->evopt1['evcal_ec_f' . $x . 'a1']) && !empty($this->evopt1['evcal__fai_00c' . $x]) && !empty($ev_vals["_evcal_ec_f" . $x . "a1_cus"])) {
                        // check if hide this from eventCard set to yes
                        if (empty($this->evopt1['evcal_ec_f' . $x . 'a3']) || $this->evopt1['evcal_ec_f' . $x . 'a3'] == 'no') {
                            $faicon = $this->evopt1['evcal__fai_00c' . $x];
                            $_eventcard['customfield' . $x] = array('imgurl' => $faicon, 'x' => $x, 'value' => $ev_vals["_evcal_ec_f" . $x . "a1_cus"][0], 'valueL' => !empty($ev_vals["_evcal_ec_f" . $x . "a1_cusL"]) ? $ev_vals["_evcal_ec_f" . $x . "a1_cusL"][0] : null, '_target' => !empty($ev_vals["_evcal_ec_f" . $x . "_onw"]) ? $ev_vals["_evcal_ec_f" . $x . "_onw"][0] : null, 'type' => $this->evopt1['evcal_ec_f' . $x . 'a2']);
                        }
                    }
                }
                // LEARN MORE and ICS
                if (!empty($ev_vals['evcal_lmlink']) || !empty($this->evopt1['evo_ics']) && $this->evopt1['evo_ics'] == 'yes') {
                    $_eventcard['learnmoreICS'] = array('event_id' => $event_id, 'learnmorelink' => !empty($ev_vals['evcal_lmlink']) ? $ev_vals['evcal_lmlink'][0] : null, 'learnmore_target' => !empty($ev_vals['evcal_lmlink_target']) && $ev_vals['evcal_lmlink_target'][0] == 'yes' ? 'target="_blank"' : null, 'estart' => $event_start_unix, 'eend' => $event_end_unix, 'etitle' => $event->post_title, 'evals' => $ev_vals);
                }
                // =======================
                /** CONSTRUCT the EVENT CARD	 **/
                if (!empty($_eventcard) && count($_eventcard) > 0) {
                    // filter hook for eventcard content array - updated 2.2.20
                    $_eventcard = apply_filters('eventon_eventcard_array', $_eventcard, $ev_vals, $event_id, $__repeatInterval);
                    // if an order is set reorder things
                    $_eventcard = eventon_EVC_sort($_eventcard, $this->evopt1['evoCard_order']);
                    ob_start();
                    echo "<div class='event_description evcal_eventcard " . ($_is_eventCardOpen ? 'open' : null) . "' " . ($_is_eventCardOpen ? 'style="display:block"' : 'style="display:none"') . ">";
                    echo eventon_eventcard_print($_eventcard, $this->evopt1, $this->evopt2);
                    // (---) hook for addons
                    if (has_action('eventon_eventcard_additions')) {
                        do_action('eventon_eventcard_additions', $event_id, $this->__calendar_type, $event->post_title, $event_full_description, $img_thumb_src);
                    }
                    echo "</div>";
                    $html_event_detail_card = ob_get_clean();
                } else {
                    $html_event_detail_card = null;
                }
                /** Trigger attributes **/
                $event_description_trigger = !empty($html_event_detail_card) ? "desc_trig" : null;
                $gmap_trigger = !empty($ev_vals['evcal_gmap_gen']) && $ev_vals['evcal_gmap_gen'][0] == 'yes' ? 'data-gmtrig="1"' : 'data-gmtrig="0"';
                // Generate tax terms for event top
                $html_event_type_tax_ar = array();
                $_tax_names_array = evo_get_ettNames($this->evopt1);
                $term_class = $evcal_terms_ = '';
                if (!empty($eventop_fields)) {
                    // foreach active tax
                    for ($b = 1; $b <= $_active_tax; $b++) {
                        $__tx_content = '';
                        $__tax_slug = 'event_type' . ($b == 1 ? '' : '_' . $b);
                        $__tax_fields = 'eventtype' . ($b == 1 ? '' : $b);
                        // for override evc colors
                        if ($b == 1) {
                            $evcal_terms_ = wp_get_post_terms($event_id, $__tax_slug);
                        }
                        if (in_array($__tax_fields, $eventop_fields)) {
                            $evcal_terms = !empty($evcal_terms_) && $b == 1 ? $evcal_terms_ : wp_get_post_terms($event_id, $__tax_slug);
                            if ($evcal_terms) {
                                $__tax_name = $_tax_names_array[$b];
                                $__tx_content .= "<span class='evcal_event_types ett{$b}'><em><i>" . $__tax_name . ":</i></em>";
                                foreach ($evcal_terms as $termA) {
                                    // add tax term slug to event element class names
                                    $term_class .= ' evo_' . $termA->slug;
                                    $__tx_content .= "<em data-filter='{$__tax_slug}'>" . $termA->name . "</em>";
                                }
                                $__tx_content .= "<i class='clear'></i></span>";
                                $html_event_type_tax_ar[$b] = $__tx_content;
                            }
                        }
                    }
                }
                $_html_tax_content = count($html_event_type_tax_ar) > 0 ? implode('', $html_event_type_tax_ar) : null;
                //event color
                $event_color = eventon_get_hex_color($ev_vals, $default_event_color);
                // override event colors
                if (!empty($__shortC_arg['etc_override']) && $__shortC_arg['etc_override'] == 'yes' && !empty($evcal_terms_)) {
                    $ev_id = $evcal_terms_[0]->term_id;
                    $ev_color = get_option("evo_et_taxonomy_{$ev_id}");
                    $event_color = !empty($ev_color['et_color']) ? '#' . $ev_color['et_color'] : $event_color;
                }
                // event ex link
                $exlink_option = !empty($ev_vals['_evcal_exlink_option']) ? $ev_vals['_evcal_exlink_option'][0] : 1;
                $event_permalink = get_permalink($event_id);
                // if UX to be open in new window then use link to single event or that link
                $link_append = array();
                $_link_text = '';
                if (!empty($__shortC_arg['lang']) && $__shortC_arg['lang'] != 'L1') {
                    $link_append['l'] = $__shortC_arg['lang'];
                }
                $link_append['ri'] = $__repeatInterval;
                if (!empty($link_append)) {
                    foreach ($link_append as $lp => $lpk) {
                        if ($lp == 'ri' && $lpk == '0') {
                            continue;
                        }
                        $_link_text .= $lp . '=' . $lpk . '&';
                    }
                }
                $_link_text = !empty($_link_text) ? '?' . $_link_text : null;
                $href = !empty($ev_vals['evcal_exlink']) && $exlink_option != '1' ? 'data-exlk="1" href="' . $ev_vals['evcal_exlink'][0] . $_link_text . '"' : 'data-exlk="0"';
                // target
                $target_ex = !empty($ev_vals['_evcal_exlink_target']) && $ev_vals['_evcal_exlink_target'][0] == 'yes' ? 'target="_blank"' : null;
                // EVENT LOCATION
                if (evo_location_exists($ev_vals)) {
                    $location_address = !empty($ev_vals['evcal_location']) ? $ev_vals['evcal_location'][0] : null;
                    // location as LON LAT
                    $event_location_variables = (!empty($lonlat) ? $lonlat : null) . ' data-location_address="' . $location_address . '" ';
                    // conditional schema data for event
                    if (!empty($this->evopt1['evo_schema']) && $this->evopt1['evo_schema'] == 'yes') {
                        $__scheme_data_location = '';
                    } else {
                        $__scheme_data_location = '
									<item style="display:none" itemprop="location" itemscope itemtype="http://schema.org/Place">
										<span itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">
											<item itemprop="streetAddress">' . $location_address . '</item>
										</span>
									</item>';
                    }
                    $ev_location = '<em class="evcal_location" ' . (!empty($lonlat) ? $lonlat : null) . ' data-add_str="' . $location_address . '">' . $location_address . '</em>';
                    // location type
                    $event_location_variables .= !empty($lonlat) ? 'data-location_type="lonlat"' : 'data-location_type="address"';
                    // location name
                    $event_location_variables .= !empty($ev_vals['evcal_location_name']) ? ' data-location_name="' . $ev_vals['evcal_location_name'][0] . '"' : null;
                    // location status
                    $event_location_variables .= ' data-location_status="true"';
                } else {
                    // location status
                    $ev_location = $event_location_variables = $__scheme_data_location = null;
                    $event_location_variables .= ' data-location_status="false"';
                }
                /* -------------------
                			// 	HTML		
                			// 	EventTop - building of the eventTop section
                			-------------*/
                $eventtop_html = $eventop_fields_ = '';
                // featured image
                $eventtop_html[] = !empty($img_thumb_src) && !empty($__shortC_arg['show_et_ft_img']) && $__shortC_arg['show_et_ft_img'] == 'yes' ? "<span class='ev_ftImg' style='background-image:url(" . $img_thumb_src[0] . ")'></span>" : null;
                // CHECK for event top fields array
                $eventop_fields_ = is_array($eventop_fields) ? true : false;
                // date number
                $___day_name = $eventop_fields_ && in_array('dayname', $eventop_fields) ? "<em class='evo_day' >" . $DATE_start_val['D'] . "</em>" : null;
                if (!$__year_long_event) {
                    $eventtop_html[] = "<span class='evcal_cblock' data-bgcolor='" . $event_color . "' data-smon='" . $DATE_start_val['F'] . "' data-syr='" . $DATE_start_val['Y'] . "'><em class='evo_date' >" . $___day_name . $_event_date_HTML['html_date'] . '</em>';
                }
                // time for events
                $eventtop_html[] = "<em class='evo_time'>" . $_event_date_HTML['html_time'] . "</em>";
                $eventtop_html[] = "<em class='clear'></em></span>";
                // event title
                $eventtop_html[] = "<span class='evcal_desc evo_info " . ($__year_long_event ? 'yrl' : null) . "' {$event_location_variables} ><span class='evcal_desc2 evcal_event_title' itemprop='name'>" . $event->post_title . "</span>";
                // subtitle
                if (!empty($ev_vals['evcal_subtitle'])) {
                    $eventtop_html[] = "<span class='evcal_event_subtitle' >" . $ev_vals['evcal_subtitle'][0] . "</span>";
                }
                $eventtop_html[] = "<span class='evcal_desc_info' >";
                // time
                if ($eventop_fields_ && in_array('time', $eventop_fields)) {
                    $eventtop_html[] = "<em class='evcal_time'>" . $_event_date_HTML['html_fromto'] . "</em> ";
                }
                // location
                if ($eventop_fields_ && in_array('location', $eventop_fields)) {
                    $eventtop_html[] = $ev_location;
                }
                // location Name
                if ($eventop_fields_ && in_array('locationame', $eventop_fields)) {
                    $__location_name = !empty($ev_vals['evcal_location_name']) ? $ev_vals['evcal_location_name'][0] : null;
                    $eventtop_html[] = !empty($__location_name) ? '<em class="evcal_location event_location_name">' . $__location_name . '</em>' : null;
                }
                $eventtop_html[] = "</span><span class='evcal_desc3'>";
                // organizer
                if ($eventop_fields_ && in_array('organizer', $eventop_fields) && !empty($ev_vals['evcal_organizer'])) {
                    $eventtop_html[] = "<em class='evcal_oganizer'><i>" . eventon_get_custom_language($this->evopt2, 'evcal_evcard_org', 'Event Organized By') . ':</i> ' . $ev_vals['evcal_organizer'][0] . "</em>";
                }
                // event type
                if (!empty($_html_tax_content)) {
                    $eventtop_html[] = $_html_tax_content;
                }
                // custom meta fields
                for ($x = 1; $x < $_cmf_count + 1; $x++) {
                    if ($eventop_fields_ && in_array('cmd' . $x, $eventop_fields) && !empty($ev_vals['_evcal_ec_f' . $x . 'a1_cus'])) {
                        $def = $this->evopt1['evcal_ec_f' . $x . 'a1'];
                        // default custom meta field name
                        $i18n_nam = eventon_get_custom_language($this->evopt2, 'evcal_cmd_' . $x, $def);
                        $eventtop_html[] = ($x == 1 ? "<b class='clear'></b>" : null) . "<em class='evcal_cmd'><i>" . $i18n_nam . ':</i> ' . $ev_vals['_evcal_ec_f' . $x . 'a1_cus'][0] . "</em> ";
                    }
                }
                $eventtop_html[] = "</span>";
                $eventtop_html[] = "</span><em class='clear'></em>";
                $eventtop_html = apply_filters('eventon_eventtop_html', $eventtop_html);
                // --
                // Combine the event top individual sections
                $html_info_line = implode('', $eventtop_html);
                // (---) hook for addons
                if (has_filter('eventon_event_cal_short_info_line')) {
                    $html_info_line = apply_filters('eventon_event_cal_short_info_line', $html_info_line);
                }
                // SCHEME SEO
                // conditional schema data
                if (!empty($this->evopt1['evo_schema']) && $this->evopt1['evo_schema'] == 'yes') {
                    $__scheme_data = '<div class="evo_event_schema" style="display:none" >
							<a href="' . $event_permalink . '"></a></div>';
                    $__scheme_attributes = '';
                } else {
                    $event_permalink = $_sin_ev_ex ? $event_permalink : "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
                    $__scheme_data = '<div class="evo_event_schema" style="display:none" >
							<a href="' . $event_permalink . '" itemprop="url"></a>				
							<time itemprop="startDate" datetime="' . $DATE_start_val['Y'] . '-' . $DATE_start_val['n'] . '-' . $DATE_start_val['j'] . '"></time>
							<time itemprop="endDate" datetime="' . $DATE_end_val['Y'] . '-' . $DATE_end_val['n'] . '-' . $DATE_end_val['j'] . '"></time>' . $__scheme_data_location . '</div>';
                    $__scheme_attributes = "itemscope itemtype='http://schema.org/Event'";
                }
                // ## Eventon Calendar events list -- single event
                // CLASES - attribute
                $_eventClasses = array();
                $_eventAttr = array();
                $_eventClasses[] = 'eventon_list_event';
                $_eventClasses[] = 'event';
                $_ft_imgClass = !empty($img_thumb_src) && !empty($__shortC_arg['show_et_ft_img']) && $__shortC_arg['show_et_ft_img'] == 'yes' ? 'hasFtIMG' : null;
                $__attr_class = "evcal_list_a " . $event_description_trigger . " " . $_event_date_HTML['class_daylength'] . " " . ($event_type != 'nr' ? 'event_repeat ' : null) . $eventcard_script_class . $_ft_imgClass;
                $_ft_event = $__feature_events && !empty($ev_vals['_featured']) && $ev_vals['_featured'][0] == 'yes' ? ' ft_event ' : null;
                // class attribute for event
                $__a_class = $__attr_class . $_ft_event . $term_class . ($__featured ? ' featured_event' : null);
                // show limit styles
                if (!empty($__shortC_arg['show_limit']) && $__shortC_arg['show_limit'] == 'yes' && !empty($__shortC_arg['event_count']) && $__shortC_arg['event_count'] > 0 && $__count > $__shortC_arg['event_count']) {
                    $show_limit_styles = 'style="display:none"';
                    $_eventClasses[] = 'evSL';
                } else {
                    $show_limit_styles = '';
                }
                // event color for the row/box
                $___styles_a = $___styles = '';
                // TILES STYLE
                if (!empty($__shortC_arg['tiles']) && $__shortC_arg['tiles'] == 'yes') {
                    // boxy event colors
                    // if featured image exists for an event
                    if (!empty($img_med_src) && $__shortC_arg['tile_bg'] == 1) {
                        $___styles_a[] = 'background-image: url(' . $img_med_src[0] . '); background-color:' . $event_color . ';';
                        $_eventClasses[] = 'hasbgimg';
                    } else {
                        $___styles_a[] = 'background-color: ' . $event_color . ';';
                    }
                    // tile height
                    if ($__shortC_arg['tile_height'] != 0) {
                        $___styles_a[] = 'height: ' . $__shortC_arg['tile_height'] . 'px;';
                    }
                    // tile count
                    if ($__shortC_arg['tile_count'] != 2) {
                        $perct = (int) (100 / $__shortC_arg['tile_count']);
                        $___styles_a[] = 'width: ' . $perct . '%;';
                    }
                    $___styles = '';
                } else {
                    $___styles[] = 'border-color: ' . $event_color . ';';
                    $___styles_a[] = '';
                }
                // div or an e tag
                $html_tag = $exlink_option == '1' ? 'div' : 'a';
                // process passed on array
                if (!empty($___styles_a)) {
                    $___styles_a = 'style="' . implode(' ', $___styles_a) . '"';
                }
                if (!empty($___styles)) {
                    $___styles = 'style="' . implode(' ', $___styles) . '"';
                }
                $event_html_code = "<div id='event_{$event_id}' class='" . implode(' ', $_eventClasses) . "' data-event_id='{$event_id}' data-ri='{$__repeatInterval}' {$__scheme_attributes} {$show_limit_styles} {$___styles_a} data-colr='{$event_color}'>{$__scheme_data}\n\t\t\t\t<{$html_tag} id='" . $unique_id . "' class='" . $__a_class . "' " . $href . " " . $target_ex . " " . $___styles . " " . $gmap_trigger . " " . (!empty($gmap_api_status) ? $gmap_api_status : null) . " data-ux_val='{$exlink_option}'>{$html_info_line}</{$html_tag}>" . $html_event_detail_card . "<div class='clear end'></div></div>";
                //evc_open
                // prepare output
                $months_event_array[] = array('event_id' => $event_id, 'srow' => $event_start_unix, 'erow' => $event_end_unix, 'content' => $event_html_code);
            }
        } else {
            $months_event_array;
        }
        return $months_event_array;
    }
Example #12
0
    /**
     * Content for each step of the CSV import stages
     * Via switch statement
     */
    function step_content($steps)
    {
        global $eventon_csv;
        $evo_opt = get_option('evcal_options_evcal_1');
        $event_type_count = evo_get_ett_count($evo_opt);
        $cmd_count = evo_calculate_cmd_count($evo_opt);
        switch ($steps) {
            // Step nuber 1
            case 'uno':
                ?>
					
			<h2><?php 
                _e('Step 1: Upload CSV file', 'eventon');
                ?>
</h2>
			<?php 
                $this->form();
                $this->print_guidelines();
                break;
                // Step number 2
            // Step number 2
            case 'dos':
                if ($this->csv_verify_nonce_post('eventon_csvi_noncename')) {
                    ?>
				<h2><?php 
                    _e('Step 2: Verify uploaded events', 'eventon');
                    ?>
</h2>
				<p><?php 
                    _e('In this step you can see below the events we found from your uploaded CSV file. Please making sure the data is present correctly. You can also click on each event to deselect them from being imported to EventON - in the next step.', 'eventon');
                    ?>
</p>
				<?php 
                    // verified nonce
                    if (empty($_FILES['csv_import']['tmp_name'])) {
                        $this->log['error'][] = 'No file uploaded, Please try again!.';
                        $this->print_messages();
                        $this->step_content('uno');
                        return;
                    }
                    // get csv helper file
                    require_once $eventon_csv->plugin_path . '/assets/DataSource.php';
                    $time_start = microtime(true);
                    $csv = new File_CSV_DataSource();
                    $file = $_FILES['csv_import']['tmp_name'];
                    $this->stripBOM($file);
                    if (!$csv->load($file)) {
                        $this->log['error'][] = 'Failed to load file, Please try again!.';
                        $this->print_messages();
                        $this->step_content('uno');
                        return;
                    }
                    // pad shorter rows with empty values
                    $csv->symmetrize();
                    // correct wordpress time zone for event posts
                    $tz = get_option('timezone_string');
                    if ($tz && function_exists('date_default_timezone_set')) {
                        date_default_timezone_set($tz);
                    }
                    ?>
					<form class="" action='<?php 
                    echo admin_url();
                    ?>
admin.php?page=eventon&tab=evcal_csv&steps=thres' method="post" enctype="multipart/form-data">
					<?php 
                    settings_fields('eventon_csvi_field_grp');
                    wp_nonce_field($eventon_csv->plugin_path, 'eventon_csvi_dos_noncename');
                    echo "<table id='eventon_csv_data_list' class='wp-list-table widefat'>\r\n\t\t\t\t\t\t\t<thead>\r\n\t\t\t\t\t\t\t<th></th>\r\n\t\t\t\t\t\t\t<th title='Publish status for event'>Status</th>\r\n\t\t\t\t\t\t\t<th>Event Name</th>\r\n\t\t\t\t\t\t\t<th>Description</th>\r\n\t\t\t\t\t\t\t<th>Start Date & Time</th>\r\n\t\t\t\t\t\t\t<th>End Date & Time</th>\r\n\t\t\t\t\t\t\t<th>Location</th>\r\n\t\t\t\t\t\t\t<th>Organizer</th>\r\n\t\t\t\t\t\t\t</thead>";
                    // for each record
                    $x = 0;
                    foreach ($csv->connect() as $csv_data) {
                        $ev_desc_class = !empty($csv_data['event_description']) ? 'inner_check' : 'inner_check_no';
                        $ev_location_class = !empty($csv_data['event_location']) ? 'inner_check' : 'inner_check_no';
                        $ev_orga_class = !empty($csv_data['event_organizer']) ? 'inner_check' : 'inner_check_no';
                        // event date validation
                        if (!empty($csv_data['event_start_date'])) {
                            if (preg_match('/^(\\d{1,2})\\/(\\d{1,2})\\/((?:\\d{2}){1,2})$/', $csv_data['event_start_date'])) {
                                $event_start_date = $event_start_date_val = $csv_data['event_start_date'];
                            } else {
                                $event_start_date = "<p class='inner_check_no eventon_csv_icons'></p>";
                                $event_start_date_val = null;
                            }
                        } else {
                            $event_start_date = "<p class='inner_check_no eventon_csv_icons'></p>";
                            $event_start_date_val = null;
                        }
                        // event start time validation
                        if (!empty($csv_data['event_start_time'])) {
                            if (preg_match('/(1[0-2]|0?[0-9]):[0-5]?[0-9]?:(AM|PM)/', $csv_data['event_start_time'])) {
                                $event_start_time = $event_start_time_val = $csv_data['event_start_time'];
                            } else {
                                $event_start_time = "<p class='inner_check_no eventon_csv_icons'></p>";
                                $event_start_time_val = null;
                            }
                        } else {
                            $event_start_time = "<p class='inner_check_no eventon_csv_icons'></p>";
                            $event_start_time_val = null;
                        }
                        // end time
                        if (!empty($csv_data['event_end_time'])) {
                            if (preg_match('/(1[0-2]|0?[0-9]):[0-5]?[0-9]?:(AM|PM)/', $csv_data['event_end_time'])) {
                                $event_end_time = $event_end_time_val = $csv_data['event_end_time'];
                            } else {
                                $event_end_time = "<p class='inner_check_no eventon_csv_icons'></p>";
                                $event_end_time_val = $event_start_time_val;
                            }
                        } else {
                            $event_end_time = "<p class='inner_check_no eventon_csv_icons'></p>";
                            $event_end_time_val = $event_start_time_val;
                        }
                        // event end date
                        if (!empty($csv_data['event_end_date'])) {
                            if (preg_match('/^(\\d{1,2})\\/(\\d{1,2})\\/((?:\\d{2}){1,2})$/', $csv_data['event_end_date'])) {
                                $event_end_date = $event_end_date_val = $csv_data['event_end_date'];
                            } else {
                                $event_end_date = "<p class='inner_check_no eventon_csv_icons'></p>";
                                $event_end_date_val = $event_start_date_val;
                            }
                        } else {
                            // no end date present
                            $event_end_date = "<p class='inner_check_no eventon_csv_icons'></p>";
                            $event_end_date_val = $event_start_date_val;
                        }
                        // description
                        $event_description = !empty($csv_data['event_description']) ? convert_chars(addslashes($csv_data['event_description'])) : null;
                        // /print_r($csv_data);
                        $updated_csv_data = $csv_data;
                        $updated_csv_data['event_start_date'] = $event_start_date_val;
                        $updated_csv_data['event_start_time'] = $event_start_time_val;
                        $updated_csv_data['event_end_date'] = $event_end_date_val;
                        $updated_csv_data['event_end_time'] = $event_end_time_val;
                        $updated_csv_data['event_description'] = $event_description;
                        ?>
	
						<tr class='csv_list_row'>
							<?php 
                        echo $this->_html_get_hidden_input_fields($updated_csv_data, $x, $event_type_count, $cmd_count);
                        ?>
							<td class='col1'><p class='outter_check eventon_csv_icons'></p></td>
							<td><i><?php 
                        echo $csv_data['publish_status'];
                        ?>
</i></td>
							<td><?php 
                        echo $csv_data['event_name'];
                        ?>
</td>
							<td><p class='<?php 
                        echo $ev_desc_class;
                        ?>
 eventon_csv_icons'></p></td>
							<td><?php 
                        echo $event_start_date . '<br/>' . $event_start_time;
                        ?>
</td>
							<td><?php 
                        echo $event_end_date . '<br/>' . $event_end_time;
                        ?>
</td>
							<td title='<?php 
                        echo $csv_data['event_location'];
                        ?>
'><p class='<?php 
                        echo $ev_location_class;
                        ?>
 eventon_csv_icons'></p></td>
							<td title='<?php 
                        echo $csv_data['event_organizer'];
                        ?>
'><p class='<?php 
                        echo $ev_orga_class;
                        ?>
 eventon_csv_icons'></p></td>
						</tr>
						
						<?php 
                        $x++;
                    }
                    echo "</table><p class='submit'><input type='submit' class='evo_admin_btn btn_tritiary' name='submit' value='Next: Import selected events' /></p></form>";
                    if (file_exists($file)) {
                        @unlink($file);
                    }
                    $exec_time = microtime(true) - $time_start;
                    $this->log['notice'][] = sprintf("<b>Found {$x} events in %.2f seconds from the csv file.</b>", $exec_time);
                    $this->print_messages();
                }
                break;
                // Step three
            // Step three
            case 'thres':
                if ($this->csv_verify_nonce_post('eventon_csvi_dos_noncename')) {
                    if (isset($_POST['csvi'])) {
                        $skipped = 0;
                        $imported = 0;
                        $event_names_imp = array();
                        $event_names_skip = array();
                        $time_start = microtime(true);
                        //$date_format = eventon_get_timeNdate_format();
                        // Run through each event row and add them
                        foreach ($_POST['csvi'] as $event) {
                            // check is the event is selected to be imported
                            if ($event['status'] == 'yes') {
                                if ($post_id = $this->create_post($event)) {
                                    $imported++;
                                    $event_names_imp[] = $event['event_name'];
                                    /*	Event Start and end time and dates	*/
                                    if (isset($event['event_start_date']) && isset($event['event_end_date']) && isset($event['event_start_time']) && isset($event['event_end_time'])) {
                                        $start_time = explode(":", $event['event_start_time']);
                                        $end_time = explode(":", $event['event_end_time']);
                                        $date_array = array('evcal_start_date' => $event['event_start_date'], 'evcal_start_time_hour' => $start_time[0], 'evcal_start_time_min' => $start_time[1], 'evcal_st_ampm' => $start_time[2], 'evcal_end_date' => $event['event_end_date'], 'evcal_end_time_hour' => $end_time[0], 'evcal_end_time_min' => $end_time[1], 'evcal_et_ampm' => $end_time[2], 'evcal_allday' => !empty($event['all_day']) ? $event['all_day'] : 'no');
                                        $proper_time = eventon_get_unix_time($date_array, 'm/d/Y');
                                        // save required start time variables
                                        $this->create_custom_fields($post_id, 'evcal_srow', $proper_time['unix_start']);
                                        $this->create_custom_fields($post_id, 'evcal_erow', $proper_time['unix_end']);
                                        //$this->create_custom_fields($post_id, 'data', $date_format[1]);
                                    }
                                    // rest of the custom meta fields
                                    $this->save_custom_meta_fields($event, $post_id, $event_type_count, $cmd_count);
                                } else {
                                    $skipped++;
                                    $event_names_skip[] = $event['event_name'];
                                }
                            }
                        }
                        // create notices
                        if ($skipped > 0) {
                            $this->log['notice'][] = "<b>Skipped {$skipped} events (most likely due to empty title or description).</b>";
                        }
                        $exec_time = microtime(true) - $time_start;
                        $this->log['notice'][] = sprintf("<b>Imported {$imported} events in %.2f seconds.</b>", $exec_time);
                        $this->print_messages();
                        // =====
                        // Show the report on import process
                        _e('<h2>Done!</h2>', 'eventon');
                        echo "<p>Please go to <a href='" . admin_url() . "edit.php?post_type=ajde_events'>All Events</a> to further customize the events you just imported.</p>";
                        // Success report
                        if (count($event_names_imp) > 0) {
                            echo "<table id='eventon_csv_data_list' class='wp-list-table widefat'>\r\n\t\t\t\t\t\t\t\t\t<thead>\r\n\t\t\t\t\t\t\t\t\t<th>Event Name</th>\r\n\t\t\t\t\t\t\t\t\t<th>Status</th>\r\n\t\t\t\t\t\t\t\t\t</thead>";
                            foreach ($event_names_imp as $event_name) {
                                echo "<tr><td>{$event_name}</td><td>Imported</td></tr>";
                            }
                            // didnt import
                            if (count($event_names_skip) > 0) {
                                foreach ($event_names_skip as $event_name) {
                                    echo "<tr><td>{$event_name}</td><td>Not Imported</td></tr>";
                                }
                            }
                            echo "</table>";
                        }
                    }
                }
                break;
                // default step
            // default step
            default:
                ?>
				<h3><?php 
                _e('Import Events from a CSV file', 'eventon');
                ?>
</h3>
				<p>CSV Importer addon for EventON will allow you to export events from another event plugin or another event calendar, into CSV file format, and import those events into EventON Calendar.</p>
				
				<hr/>
				
				<a href='<?php 
                echo admin_url();
                ?>
admin.php?page=eventon&tab=evcal_csv&steps=uno' class='csv_import_get_start_btn evo_admin_btn btn_prime'><?php 
                _e('Get Started Now', 'eventon');
                ?>
</a>		
						
				<?php 
                $this->print_guidelines();
                break;
        }
        // end switch statement
    }
Example #13
0
 function export_events()
 {
     // check if admin and loggedin
     if (!is_admin() && !is_user_logged_in()) {
         die('User not loggedin!');
     }
     // verify nonce
     if (!wp_verify_nonce($_REQUEST['nonce'], 'eventon_download_events')) {
         die('Security Check Failed!');
     }
     header('Content-Encoding: UTF-8');
     header('Content-type: text/csv; charset=UTF-8');
     header("Content-Disposition: attachment; filename=Eventon_events_" . date("d-m-y") . ".csv");
     header("Pragma: no-cache");
     header("Expires: 0");
     echo "";
     // UTF-8 BOM
     $evo_opt = get_option('evcal_options_evcal_1');
     $event_type_count = evo_get_ett_count($evo_opt);
     $cmd_count = evo_calculate_cmd_count($evo_opt);
     $fields = apply_filters('evo_csv_export_fields', array('publish_status', 'evcal_event_color' => 'color', 'event_name', 'event_description', 'event_start_date', 'event_start_time', 'event_end_date', 'event_end_time', 'evcal_allday' => 'all_day', 'evo_hide_endtime' => 'hide_end_time', 'evcal_gmap_gen' => 'event_gmap', 'evo_year_long' => 'yearlong', '_featured' => 'featured', 'evo_location_id' => 'evo_location_id', 'evcal_location_name' => 'location_name', 'evcal_location' => 'event_location', 'evo_organizer_id' => 'evo_organizer_id', 'evcal_organizer' => 'event_organizer', 'evcal_subtitle' => 'evcal_subtitle', 'evcal_lmlink' => 'learnmore link', 'image_url', 'evcal_repeat' => 'repeatevent', 'evcal_rep_freq' => 'frequency', 'evcal_rep_num' => 'repeats', 'evp_repeat_rb' => 'repeatby'));
     $csvHeader = '';
     foreach ($fields as $var => $val) {
         $csvHeader .= $val . ',';
     }
     // event types
     for ($y = 1; $y <= $event_type_count; $y++) {
         $_ett_name = $y == 1 ? 'event_type' : 'event_type_' . $y;
         $csvHeader .= $_ett_name . ',';
     }
     // for event custom meta data
     for ($z = 1; $z <= $cmd_count; $z++) {
         $_cmd_name = 'cmd_' . $z;
         $csvHeader .= $_cmd_name . ",";
     }
     $csvHeader = apply_filters('evo_export_events_csv_header', $csvHeader);
     $csvHeader .= "\n";
     echo iconv("UTF-8", "ISO-8859-2", $csvHeader);
     $events = new WP_Query(array('posts_per_page' => -1, 'post_type' => 'ajde_events', 'post_status' => 'any'));
     if ($events->have_posts()) {
         date_default_timezone_set('UTC');
         // for each event
         while ($events->have_posts()) {
             $events->the_post();
             $__id = get_the_ID();
             $pmv = get_post_meta($__id);
             $csvRow = '';
             $csvRow .= get_post_status($__id) . ",";
             //echo (!empty($pmv['_featured'])?$pmv['_featured'][0]:'no').",";
             $csvRow .= (!empty($pmv['evcal_event_color']) ? $pmv['evcal_event_color'][0] : '') . ",";
             // event name
             $eventName = get_the_title();
             $eventName = htmlentities($eventName);
             //$output = iconv("utf-8", "ascii//TRANSLIT//IGNORE", $eventName);
             //$output =  preg_replace("/^'|[^A-Za-z0-9\s-]|'$/", '', $output);
             $csvRow .= '"' . $eventName . '",';
             $event_content = get_the_content();
             $event_content = str_replace('"', "'", $event_content);
             $event_content = str_replace(',', "\\,", $event_content);
             $event_content = htmlentities($event_content);
             $csvRow .= '"' . $event_content . '",';
             // start time
             $start = !empty($pmv['evcal_srow']) ? $pmv['evcal_srow'][0] : '';
             if (!empty($start)) {
                 $csvRow .= date('n/j/Y,g:i:A', $start) . ',';
             } else {
                 $csvRow .= "'','',";
             }
             // end time
             $end = !empty($pmv['evcal_erow']) ? $pmv['evcal_erow'][0] : '';
             if (!empty($end)) {
                 $csvRow .= date('n/j/Y,g:i:A', $end) . ',';
             } else {
                 $csvRow .= "'','',";
             }
             // taxonomy meta
             $taxopt = get_option("evo_tax_meta");
             // FOR EACH field
             $loctaxid = $orgtaxid = '';
             $loctaxname = $orgtaxname = '';
             foreach ($fields as $var => $val) {
                 // yes no values
                 if (in_array($val, array('featured', 'all_day', 'hide_end_time', 'event_gmap', 'evo_year_long', '_evo_month_long', 'repeatevent'))) {
                     $csvRow .= (!empty($pmv[$var]) && $pmv[$var][0] == 'yes' ? 'yes' : 'no') . ',';
                 }
                 // organizer field
                 if ($val == 'evo_organizer_id') {
                     $Orgterms = wp_get_object_terms($__id, 'event_organizer');
                     if ($Orgterms && !is_wp_error($Orgterms)) {
                         $orgtaxid = $Orgterms[0]->term_id;
                         $orgtaxname = $Orgterms[0]->name;
                         $csvRow .= '"' . $orgtaxid . '",';
                     } else {
                         $csvRow .= ",";
                     }
                 }
                 if ($val == 'evcal_organizer') {
                     if ($orgtaxname) {
                         $csvRow .= '"' . $orgtaxname . '",';
                     } elseif (!empty($pmv[$var])) {
                         $value = htmlentities($pmv[$var][0]);
                         $csvRow .= '"' . $value . '"';
                     } else {
                         $csvRow .= ",";
                     }
                     continue;
                 }
                 // location tax field
                 if ($val == 'evo_location_id') {
                     $Locterms = wp_get_object_terms($__id, 'event_location');
                     if ($Locterms && !is_wp_error($Locterms)) {
                         $loctaxid = $Locterms[0]->term_id;
                         $loctaxname = $Locterms[0]->name;
                         $csvRow .= '"' . $loctaxid . '",';
                     } else {
                         $csvRow .= ",";
                     }
                 }
                 if ($val == 'location_name') {
                     if ($loctaxname) {
                         $csvRow .= '"' . $loctaxname . '",';
                     } elseif (!empty($pmv[$var])) {
                         $value = htmlentities($pmv[$var][0]);
                         $csvRow .= '"' . $value . '"';
                     } else {
                         $csvRow .= ",";
                     }
                     update_post_meta(3089, 'aa', $loctaxname . 'yy');
                     continue;
                 }
                 if ($val == 'event_location') {
                     if ($loctaxid) {
                         $termMeta = evo_get_term_meta('event_location', $loctaxid, $taxopt, true);
                         $csvRow .= !empty($termMeta['location_address']) ? '"' . $termMeta['location_address'] . '",' : ",";
                     } elseif (!empty($pmv[$var])) {
                         $value = htmlentities($pmv[$var][0]);
                         $csvRow .= '"' . $value . '"';
                     } else {
                         $csvRow .= ",";
                     }
                     continue;
                 }
                 // skip fields
                 if (in_array($val, array('featured', 'all_day', 'hide_end_time', 'event_gmap', 'evo_year_long', '_evo_month_long', 'repeatevent', 'color', 'publish_status', 'event_name', 'event_description', 'event_start_date', 'event_start_time', 'event_end_date', 'event_end_time', 'evo_organizer_id', 'evo_location_id'))) {
                     continue;
                 }
                 // image
                 if ($val == 'image_url') {
                     $img_id = get_post_thumbnail_id($__id);
                     if ($img_id != '') {
                         $img_src = wp_get_attachment_image_src($img_id, 'full');
                         $csvRow .= $img_src[0] . ",";
                     } else {
                         $csvRow .= ",";
                     }
                 } else {
                     if (!empty($pmv[$var])) {
                         $value = htmlentities($pmv[$var][0]);
                         $csvRow .= '"' . $value . '"';
                     } else {
                         $csvRow .= '';
                     }
                     $csvRow .= ',';
                 }
             }
             // event types
             for ($y = 1; $y <= $event_type_count; $y++) {
                 $_ett_name = $y == 1 ? 'event_type' : 'event_type_' . $y;
                 $terms = get_the_terms($__id, $_ett_name);
                 if ($terms && !is_wp_error($terms)) {
                     $csvRow .= '"';
                     foreach ($terms as $term) {
                         $csvRow .= $term->term_id . ',';
                         //$csvRow.= $term->name.',';
                     }
                     $csvRow .= '",';
                 } else {
                     $csvRow .= ",";
                 }
             }
             // for event custom meta data
             for ($z = 1; $z <= $cmd_count; $z++) {
                 $cmd_name = '_evcal_ec_f' . $z . 'a1_cus';
                 $csvRow .= !empty($pmv[$cmd_name]) ? '"' . str_replace('"', "'", $pmv[$cmd_name][0]) . '"' : '';
                 $csvRow .= ",";
             }
             $csvRow = apply_filters('evo_export_events_csv_row', $csvRow, $__id, $pmv);
             $csvRow .= "\n";
             echo iconv("UTF-8", "ISO-8859-2", $csvRow);
         }
     }
     wp_reset_postdata();
 }
Example #14
0
 public function get_all_event_data()
 {
     global $eventon;
     $evo_opt = $eventon->frontend->evo_options;
     $events = new WP_Query(array('posts_per_page' => -1, 'post_type' => 'ajde_events', 'post_status' => 'any'));
     $designated_meta_fields = array('publish_status' => 'publish_status', 'evcal_event_color' => 'color', 'evcal_subtitle' => 'event_subtitle', 'evcal_lmlink' => 'learnmore_link', '_featured' => 'featured', 'all_day' => 'all_day_event', 'evo_year_long' => 'year_long_event', '_evo_month_long' => 'month_long_event');
     $output = array();
     if ($events->have_posts()) {
         while ($events->have_posts()) {
             $events->the_post();
             $event_id = $events->post->ID;
             $ev_vals = get_post_meta($event_id);
             // event name
             $output[$event_id]['name'] = get_the_title();
             // date times
             $row_start = !empty($ev_vals['evcal_srow']) ? $ev_vals['evcal_srow'][0] : null;
             $row_end = !empty($ev_vals['evcal_erow']) ? $ev_vals['evcal_erow'][0] : $row_start;
             $output[$event_id]['start'] = $row_start;
             $output[$event_id]['end'] = $row_end;
             // details
             $output[$event_id]['details'] = $eventon->frontend->filter_evo_content(get_the_content());
             // repeating event
             if (!empty($ev_vals['evcal_repeat']) && $ev_vals['evcal_repeat'][0] == 'yes' && !empty($ev_vals['repeat_intervals'])) {
                 $output[$event_id]['repeats'] = unserialize($ev_vals['repeat_intervals'][0]);
             }
             // Event timezone
             if (!empty($ev_vals['evo_event_timezone'])) {
                 $output[$event_id]['event_timezone'] = $ev_vals['evo_event_timezone'][0];
             }
             // designated meta fields
             foreach ($designated_meta_fields as $field => $name) {
                 if (!empty($ev_vals[$field])) {
                     $output[$event_id][$name] = $ev_vals[$field][0];
                 }
             }
             // image
             if (has_post_thumbnail()) {
                 $img_id = get_post_thumbnail_id($event_id);
                 $img_src = wp_get_attachment_image_src($img_id, 'full');
                 if ($img_src) {
                     $output[$event_id]['image_url'] = $img_src[0];
                 }
             }
             // location
             $location_terms = wp_get_post_terms($event_id, 'event_location');
             if ($location_terms && !is_wp_error($location_terms)) {
                 $location_tax_id = $location_terms[0]->term_id;
                 $LocTermMeta = get_option("taxonomy_{$location_tax_id}");
                 // location taxonomy id
                 $output[$event_id]['location_tax'] = $location_tax_id;
                 $output[$event_id]['location_name'] = $location_terms[0]->name;
                 // location address
                 if (!empty($LocTermMeta['location_address'])) {
                     $output[$event_id]['location_address'] = $LocTermMeta['location_address'];
                 }
                 // Lat Long
                 if (!empty($LocTermMeta['location_lat']) && !empty($LocTermMeta['location_lon'])) {
                     $output[$event_id]['location_lat'] = $LocTermMeta['location_lat'];
                     $output[$event_id]['location_lon'] = $LocTermMeta['location_lon'];
                 }
             }
             // Organizer
             $organizer_terms = wp_get_post_terms($event_id, 'event_organizer');
             if ($organizer_terms && !is_wp_error($organizer_terms)) {
                 $organizer_term_id = $organizer_terms[0]->term_id;
                 $orgTermMeta = get_option("taxonomy_{$organizer_term_id}");
                 // organizer initial
                 $output[$event_id]['organizer_tax'] = $organizer_term_id;
                 $output[$event_id]['organier_name'] = $organizer_terms[0]->name;
                 // organizer address
                 if (!empty($orgTermMeta['evcal_org_address'])) {
                     $output[$event_id]['organizer_address'] = $orgTermMeta['evcal_org_address'];
                 }
                 // organizer contact
                 if (!empty($orgTermMeta['evcal_org_contact'])) {
                     $output[$event_id]['organizer_contact'] = $orgTermMeta['evcal_org_contact'];
                 }
             }
             // Custom fields
             $_cmf_count = evo_retrieve_cmd_count($evo_opt);
             for ($x = 1; $x < $_cmf_count + 1; $x++) {
                 if (!empty($evo_opt['evcal_ec_f' . $x . 'a1']) && !empty($evo_opt['evcal__fai_00c' . $x]) && !empty($ev_vals["_evcal_ec_f" . $x . "a1_cus"])) {
                     // check if hide this from eventCard set to yes
                     if (empty($evo_opt['evcal_ec_f' . $x . 'a3']) || $evo_opt['evcal_ec_f' . $x . 'a3'] == 'no') {
                         $output[$event_id]['customfield_' . $x] = array('x' => $x, 'value' => $ev_vals["_evcal_ec_f" . $x . "a1_cus"][0], 'valueL' => !empty($ev_vals["_evcal_ec_f" . $x . "a1_cusL"]) ? $ev_vals["_evcal_ec_f" . $x . "a1_cusL"][0] : null, '_target' => !empty($ev_vals["_evcal_ec_f" . $x . "_onw"]) ? $ev_vals["_evcal_ec_f" . $x . "_onw"][0] : null, 'type' => $evo_opt['evcal_ec_f' . $x . 'a2'], 'visibility_type' => !empty($evo_opt['evcal_ec_f' . $x . 'a4']) ? $evo_opt['evcal_ec_f' . $x . 'a4'] : 'all');
                     }
                 }
             }
             // event types
             for ($y = 1; $y <= evo_get_ett_count($evo_opt); $y++) {
                 $_ett_name = $y == 1 ? 'event_type' : 'event_type_' . $y;
                 $terms = get_the_terms($event_id, $_ett_name);
                 if ($terms && !is_wp_error($terms)) {
                     foreach ($terms as $term) {
                         $output[$event_id][$_ett_name][$term->term_id] = $term->name;
                     }
                 }
             }
             // all meta values
             $output[$event_id]['pmv'] = $ev_vals;
         }
         wp_reset_postdata();
     }
     return $output;
 }