function export_events_ics() { global $eventon; if (!wp_verify_nonce($_REQUEST['nonce'], 'eventon_download_events')) { die('Nonce Security Failed.'); } $events = $eventon->evo_generator->get_all_event_data(); if (!empty($events)) { $taxopt = get_option("evo_tax_meta"); // taxonomy options values; $slug = 'eventon_events'; header("Content-Type: text/Calendar; charset=utf-8"); header("Content-Disposition: inline; filename={$slug}.ics"); echo "BEGIN:VCALENDAR\n"; echo "VERSION:2.0\n"; echo "PRODID:-//eventon.com NONSGML v1.0//EN\n"; echo "CALSCALE:GREGORIAN\n"; echo "METHOD:PUBLISH\n"; foreach ($events as $event_id => $event) { $location = $summary = ''; if (!empty($event['details'])) { $summary = wp_trim_words($event['details'], 50, '[..]'); } // location $Locterms = wp_get_object_terms($event_id, 'event_location'); $location_name = $locationAddress = ''; if ($Locterms && !is_wp_error($Locterms)) { $location_name = $Locterms[0]->name; $termMeta = evo_get_term_meta('event_location', $Locterms[0]->term_id, $taxopt, true); $locationAddress = !empty($termMeta['location_address']) ? $termMeta['location_address'] : (!empty($event['location_address']) ? $event['location_address'] : ''); } $location = (!empty($location_name) ? $location_name : '') . ' ' . (!empty($locationAddress) ? $locationAddress : ''); $uid = uniqid(); echo "BEGIN:VEVENT\n"; echo "UID:{$uid}\n"; // required by Outlok echo "DTSTAMP:" . date_i18n('Ymd') . 'T' . date_i18n('His') . "\n"; // required by Outlook echo "DTSTART:" . evo_get_adjusted_utc($event['start']) . "\n"; echo "DTEND:" . evo_get_adjusted_utc($event['end']) . "\n"; if (!empty($location)) { echo "LOCATION:" . $this->esc_ical_text($location) . "\n"; } echo "SUMMARY:" . htmlspecialchars_decode($event['name']) . "\n"; if (!empty($summary)) { echo "DESCRIPTION: " . $this->esc_ical_text($summary) . "\n"; } echo "END:VEVENT\n"; // repeating instances if (!empty($event['repeats']) && is_array($event['repeats'])) { foreach ($event['repeats'] as $interval => $repeats) { if ($interval == 0) { continue; } $uid = uniqid(); echo "BEGIN:VEVENT\n"; echo "UID:{$uid}\n"; // required by Outlok echo "DTSTAMP:" . date_i18n('Ymd') . 'T' . date_i18n('His') . "\n"; // required by Outlook echo "DTSTART:" . evo_get_adjusted_utc($repeats[0]) . "\n"; echo "DTEND:" . evo_get_adjusted_utc($repeats[1]) . "\n"; if (!empty($location)) { echo "LOCATION:" . $this->esc_ical_text($location) . "\n"; } echo "SUMMARY:" . htmlspecialchars_decode($event['name']) . "\n"; if (!empty($summary)) { echo "DESCRIPTION: " . $this->esc_ical_text($summary) . "\n"; } echo "END:VEVENT\n"; } } } echo "END:VCALENDAR"; } }
/* * The template for displaying event categoroes - event location * d * In order to customize this archive page template * Override this template by coping it to ../yourtheme/eventon/ folder * @Author: AJDE * @EventON * @version: 2.4.7 */ global $eventon; get_header(); $tax = get_query_var('taxonomy'); $term = get_query_var('term'); $term = get_term_by('slug', $term, $tax); do_action('eventon_before_main_content'); $term_meta = evo_get_term_meta('event_location', $term->term_id); //$term_meta = get_option( "taxonomy_".$term->term_id ); // location image $img_url = false; if (!empty($term_meta['evo_loc_img'])) { $img_url = wp_get_attachment_image_src($term_meta['evo_loc_img'], 'full'); $img_url = $img_url[0]; } //location address $location_address = $location_latlan = false; $location_type = 'add'; $location_latlan = !empty($term_meta['location_lat']) && $term_meta['location_lon'] ? $term_meta['location_lat'] . ',' . $term_meta['location_lon'] : false; if (empty($term_meta['location_address'])) { if ($location_latlan) { $location_type = 'latlng'; $location_address = true;
function ajde_evcal_show_box() { global $eventon, $ajde, $post; $evcal_opt1 = get_option('evcal_options_evcal_1'); $evcal_opt2 = get_option('evcal_options_evcal_2'); // Use nonce for verification wp_nonce_field(plugin_basename(__FILE__), 'evo_noncename'); // The actual fields for data entry $p_id = get_the_ID(); $ev_vals = get_post_custom($p_id); $evcal_allday = !empty($ev_vals["evcal_allday"]) ? $ev_vals["evcal_allday"][0] : null; $show_style_code = $evcal_allday == 'yes' ? "style='display:none'" : null; $select_a_arr = array('AM', 'PM'); // array of all meta boxes $metabox_array = apply_filters('eventon_event_metaboxs', array(array('id' => 'ev_subtitle', 'name' => __('Event SubTitle', 'eventon'), 'variation' => 'customfield', 'hiddenVal' => '', 'iconURL' => 'fa-pencil', 'iconPOS' => '', 'type' => 'code', 'content' => '', 'slug' => 'ev_subtitle'), array('id' => 'ev_timedate', 'name' => __('Time and Date', 'eventon'), 'hiddenVal' => '', 'iconURL' => 'fa-clock-o', 'variation' => 'customfield', 'iconPOS' => '', 'type' => 'code', 'content' => '', 'slug' => 'ev_timedate'), array('id' => 'ev_location', 'name' => __('Location and Venue', 'eventon'), 'hiddenVal' => '', 'iconURL' => 'fa-map-marker', 'variation' => 'customfield', 'iconPOS' => '', 'type' => 'code', 'content' => '', 'slug' => 'ev_location', 'guide' => ''), array('id' => 'ev_organizer', 'name' => __('Organizer', 'eventon'), 'hiddenVal' => '', 'iconURL' => 'fa-microphone', 'variation' => 'customfield', 'iconPOS' => '', 'type' => 'code', 'content' => '', 'slug' => 'ev_organizer'), array('id' => 'ev_uint', 'name' => __('User Interaction for event click', 'eventon'), 'hiddenVal' => '', 'iconURL' => 'fa-street-view', 'variation' => 'customfield', 'iconPOS' => '', 'type' => 'code', 'content' => '', 'slug' => 'ev_uint', 'guide' => 'This define how you want the events to expand following a click on the eventTop by a user'), array('id' => 'ev_learnmore', 'name' => __('Learn more about event link', 'eventon'), 'hiddenVal' => '', 'iconURL' => 'fa-random', 'variation' => 'customfield', 'iconPOS' => '', 'type' => 'code', 'content' => '', 'slug' => 'ev_learnmore', 'guide' => 'This will create a learn more link in the event card. Make sure your links start with http://'))); // Custom Meta fields for events $num = evo_calculate_cmd_count($evcal_opt1); for ($x = 1; $x <= $num; $x++) { if (!eventon_is_custom_meta_field_good($x)) { continue; } $fa_icon_class = $evcal_opt1['evcal__fai_00c' . $x]; $visibility_type = !empty($evcal_opt1['evcal_ec_f' . $x . 'a4']) ? $evcal_opt1['evcal_ec_f' . $x . 'a4'] : 'all'; $metabox_array[] = array('id' => 'evcal_ec_f' . $x . 'a1', 'variation' => 'customfield', 'name' => $evcal_opt1['evcal_ec_f' . $x . 'a1'], 'iconURL' => $fa_icon_class, 'iconPOS' => '', 'fieldtype' => 'custommetafield', 'x' => $x, 'visibility_type' => $visibility_type, 'type' => 'code', 'content' => '', 'slug' => 'evcal_ec_f' . $x . 'a1'); } // combine array with custom fields // $metabox_array = (!empty($evMB_custom) && count($evMB_custom)>0)? array_merge($metabox_array , $evMB_custom): $metabox_array; $closedmeta = eventon_get_collapse_metaboxes($p_id); //print_r($closedmeta); ?> <div id='evo_mb' class='eventon_mb'> <input type='hidden' id='evo_collapse_meta_boxes' name='evo_collapse_meta_boxes' value=''/> <?php // initial values $visibility_types = array('all' => __('Everyone', 'eventon'), 'admin' => __('Admin Only', 'eventon'), 'loggedin' => __('Loggedin Users Only', 'eventon')); // FOREACH metabox item foreach ($metabox_array as $mBOX) { // initials $icon_style = !empty($mBOX['iconURL']) ? 'background-image:url(' . $mBOX['iconURL'] . ')' : 'background-position:' . $mBOX['iconPOS']; $icon_class = !empty($mBOX['iconPOS']) ? 'evIcons' : 'evII'; $guide = !empty($mBOX['guide']) ? $ajde->wp_admin->tooltips($mBOX['guide']) : null; $hiddenVal = !empty($mBOX['hiddenVal']) ? '<span class="hiddenVal">' . $mBOX['hiddenVal'] . '</span>' : null; // visibility type ONLY for custom meta fields $visibility_type = !empty($mBOX['visibility_type']) ? "<span class='visibility_type'>" . __('Visibility Type:', 'eventon') . ' ' . $visibility_types[$mBOX['visibility_type']] . '</span>' : false; $closed = !empty($closedmeta) && in_array($mBOX['id'], $closedmeta) ? 'closed' : null; ?> <div class='evomb_section' id='<?php echo $mBOX['id']; ?> '> <div class='evomb_header'> <?php // custom field with icons if (!empty($mBOX['variation']) && $mBOX['variation'] == 'customfield') { ?> <span class='evomb_icon <?php echo $icon_class; ?> '><i class='fa <?php echo $mBOX['iconURL']; ?> '></i></span> <?php } else { ?> <span class='evomb_icon <?php echo $icon_class; ?> ' style='<?php echo $icon_style; ?> '></span> <?php } ?> <p><?php echo $mBOX['name']; echo $hiddenVal; echo $guide; echo $visibility_type; ?> </p> </div> <div class='evomb_body <?php echo $closed; ?> ' box_id='<?php echo $mBOX['id']; ?> '> <?php if (!empty($mBOX['content'])) { echo $mBOX['content']; } else { switch ($mBOX['id']) { case 'ev_learnmore': echo "<div class='evcal_data_block_style1'>\r\n\t\t\t\t\t\t\t<div class='evcal_db_data'>\r\n\t\t\t\t\t\t\t\t<input type='text' id='evcal_lmlink' name='evcal_lmlink' value='" . (!empty($ev_vals["evcal_lmlink"]) ? $ev_vals["evcal_lmlink"][0] : null) . "' style='width:100%'/><br/>"; ?> <span class='yesno_row evo'> <?php $openInNewWindow = !empty($ev_vals["evcal_lmlink_target"]) ? $ev_vals["evcal_lmlink_target"][0] : null; echo $ajde->wp_admin->html_yesnobtn(array('id' => 'evcal_lmlink_target', 'var' => $openInNewWindow, 'input' => true, 'label' => __('Open in New window', 'eventon'))); ?> </span> <?php echo "</div></div>"; break; case 'ev_uint': ?> <div class='evcal_data_block_style1'> <div class='evcal_db_data'> <?php $exlink_option = !empty($ev_vals["_evcal_exlink_option"]) ? $ev_vals["_evcal_exlink_option"][0] : 1; $exlink_target = !empty($ev_vals["_evcal_exlink_target"]) && $ev_vals["_evcal_exlink_target"][0] == 'yes' ? $ev_vals["_evcal_exlink_target"][0] : null; ?> <input id='evcal_exlink_option' type='hidden' name='_evcal_exlink_option' value='<?php echo $exlink_option; ?> '/> <input id='evcal_exlink_target' type='hidden' name='_evcal_exlink_target' value='<?php echo $exlink_target; ?> '/> <?php $display_link_input = $exlink_option != '1' ? 'display:block' : 'display:none'; ?> <p <?php echo $exlink_option == '1' || $exlink_option == '3' ? "style='display:none'" : null; ?> id='evo_new_window_io' class='<?php echo $exlink_target == 'yes' ? 'selected' : null; ?> '><span></span> <?php _e('Open in new window', 'eventon'); ?> </p> <!-- external link field--> <input id='evcal_exlink' placeholder='<?php _e('Type the URL address', 'eventon'); ?> ' type='text' name='evcal_exlink' value='<?php echo !empty($ev_vals["evcal_exlink"]) ? $ev_vals["evcal_exlink"][0] : null; ?> ' style='width:100%; <?php echo $display_link_input; ?> '/> <div class='evcal_db_uis'> <a link='no' class='evcal_db_ui evcal_db_ui_0 <?php echo $exlink_option == 'X' ? 'selected' : null; ?> ' title='<?php _e('Do nothing', 'eventon'); ?> ' value='X'></a> <a link='no' class='evcal_db_ui evcal_db_ui_1 <?php echo $exlink_option == '1' ? 'selected' : null; ?> ' title='<?php _e('Slide Down Event Card', 'eventon'); ?> ' value='1'></a> <!-- open as link--> <a link='yes' class='evcal_db_ui evcal_db_ui_2 <?php echo $exlink_option == '2' ? 'selected' : null; ?> ' title='<?php _e('External Link', 'eventon'); ?> ' value='2'></a> <!-- open as popup --> <a link='yes' class='evcal_db_ui evcal_db_ui_3 <?php echo $exlink_option == '3' ? ' selected' : null; ?> ' title='<?php _e('Popup Window', 'eventon'); ?> ' value='3'></a> <!-- single event --> <a link='yes' linkval='<?php echo get_permalink($p_id); ?> ' class='evcal_db_ui evcal_db_ui_4 <?php echo $exlink_option == '4' ? 'selected' : null; ?> ' title='Open Event Page' value='4'></a> <?php // (-- addon --) //if(has_action('evcal_ui_click_additions')){do_action('evcal_ui_click_additions');} ?> <div class='clear'></div> </div> </div> </div> <?php break; case 'ev_organizer': ?> <div class='evcal_data_block_style1'> <p class='edb_icon evcal_edb_map'></p> <div class='evcal_db_data'> <div class='evcal_location_data_section'> <p> <?php // organier terms for event post $termMeta = $evo_organizer_tax_id = ''; $organizer_terms = wp_get_post_terms($p_id, 'event_organizer'); if ($organizer_terms && !is_wp_error($organizer_terms)) { $evo_organizer_tax_id = $organizer_terms[0]->term_id; $termMeta = evo_get_term_meta('event_organizer', $evo_organizer_tax_id, '', true); //$termMeta = get_option( "taxonomy_$evo_organizer_tax_id"); } // Get all available organizer terms $terms = get_terms('event_organizer', array('hide_empty' => false)); if (count($terms) > 0) { echo "<select id='evcal_organizer_field' name='evcal_organizer_name_select' class='evo_select_field' style='max-width:425px; margin-right:5px;'>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<option value='-'>" . __('Select a saved organizer', 'eventon') . "</option>"; foreach ($terms as $term) { $ORG_imgid = $ORG_imgsrc = $data = ''; $t_id = $term->term_id; //$term_meta = get_option( "taxonomy_$t_id" ); $term_meta = evo_get_term_meta('event_organizer', $t_id, '', true); $__selected = $evo_organizer_tax_id == $t_id ? "selected='selected'" : null; // organizer image $ORG_imgid = !empty($term_meta['evo_org_img']) ? $term_meta['evo_org_img'] : null; $img_src = !empty($ORG_imgid) ? wp_get_attachment_image_src($ORG_imgid, 'medium') : false; $ORG_imgsrc = $img_src ? $img_src[0] : ''; // each term meta data for organizer taxonomy foreach (array('tid' => $t_id, 'contact' => $this->termmeta($term_meta, 'evcal_org_contact'), 'img' => $this->termmeta($term_meta, 'evo_org_img'), 'imgsrc' => $ORG_imgsrc, 'exlink' => $this->termmeta($term_meta, 'evcal_org_exlink'), 'address' => $this->termmeta($term_meta, 'evcal_org_address'), 'exlinkopen' => $this->termmeta($term_meta, '_evocal_org_exlink_target')) as $key => $val) { $data .= 'data-' . $key . '="' . $val . '"'; } echo "<option value='" . $term->name . "' {$data} {$__selected} >" . $term->name . "</option>"; } echo "</select>"; echo "<span class='evoselectfield_data_view evo_btn' style='display:" . ($evo_organizer_tax_id ? 'inline-block' : 'none') . "'>" . __('Edit Organizer', 'eventon') . "</span>"; echo "<label for='evcal_organizer_field'>" . __('Choose already saved organizer or type new one below. NOTE: if you retype an existing organizer it will replace old information for that saved organizer', 'eventon') . "</label>"; } ?> <input id='evo_organizer_tax_id' type='hidden' name='evo_organizer_tax_id' value='<?php echo $evo_organizer_tax_id; ?> '/> </p> <div class='evoselectfield_saved_data' style='display:<?php echo $evo_organizer_tax_id ? 'none' : ''; ?> '> <p><input type='text' id='evcal_organizer_name' name='evcal_organizer' value="<?php echo !empty($organizer_terms[0]) ? $organizer_terms[0]->name : ''; ?> " style='width:100%' placeholder='<?php _e('eg. Blue Light Band', 'eventon'); ?> '/><label for='evcal_organizer'><?php _e('Event Organizer Name', 'eventon'); ?> </label></p> <!-- organizer contact --> <p><input type='text' id='evcal_org_contact' name='evcal_org_contact' value="<?php echo $this->termmeta($termMeta, 'evcal_org_contact'); ?> " style='width:100%' placeholder='<?php _e('eg. noone[at] thismail.com', 'eventon'); ?> '/><label for='evcal_org_contact'><?php _e('(Optional) Organizer Contact Information', 'eventon'); ?> </label></p> <!-- organizer address--> <p><input type='text' id='evcal_org_address' name='evcal_org_address' value="<?php echo $this->termmeta($termMeta, 'evcal_org_address'); ?> " style='width:100%' placeholder='<?php _e('eg. 123 Everywhere St., Neverland AB', 'eventon'); ?> '/><label for='evcal_org_address'><?php _e('(Optional) Organizer Address', 'eventon'); ?> </label></p> <!-- organizer link --> <p><input type='text' id='evcal_org_exlink' name='evcal_org_exlink' value="<?php echo $this->termmeta($termMeta, 'evcal_org_exlink'); ?> " style='width:100%' placeholder='<?php _e('eg. http://www.mysite.com/user', 'eventon'); ?> '/> <span class='yesno_row evo'> <?php $_evocal_org_exlink_target = $this->termmeta($termMeta, '_evocal_org_exlink_target'); echo $ajde->wp_admin->html_yesnobtn(array('id' => '_evocal_org_exlink_target', 'var' => $_evocal_org_exlink_target, 'input' => true, 'label' => __('Open organizer link in new window', 'eventon'))); ?> </span> <label for='evcal_org_exlink'><?php _e('Link to the organizers page', 'eventon'); ?> </label></p> <!-- image --> <?php $org_img_id = $this->termmeta($termMeta, 'evo_org_img'); // image soruce array $img_src = $org_img_id ? wp_get_attachment_image_src($org_img_id, 'medium') : null; $org_img_src = !empty($img_src) ? $img_src[0] : null; $__button_text = !empty($org_img_id) ? __('Remove Image', 'eventon') : __('Choose Image', 'eventon'); $__button_text_not = empty($org_img_id) ? __('Remove Image', 'eventon') : __('Choose Image', 'eventon'); $__button_class = !empty($org_img_id) ? 'removeimg' : 'chooseimg'; // /echo $loc_img_id.' '.$img_src.'66'; ?> <div class='evo_metafield_image' style='padding-top:10px'> <p> <input id='evo_org_img_id' class='evo_org_img custom_upload_image evo_meta_img' name="evo_org_img" type="hidden" value="<?php echo $org_img_id ? $org_img_id : null; ?> " /> <input class="custom_upload_image_button button <?php echo $__button_class; ?> " data-txt='<?php echo $__button_text_not; ?> ' type="button" value="<?php echo $__button_text; ?> " /><br/> <span class='evo_org_image_src image_src'> <img src='<?php echo $org_img_src; ?> ' style='<?php echo !empty($org_img_id) ? '' : 'display:none;'; ?> margin-top:8px'/> </span> <label><?php _e('Event Organizer Image', 'eventon'); ?> (<?php _e('Recommended Resolution 80x80px', 'eventon'); ?> )</label> </p> </div> </div> <!-- evoselectfield_saved_data--> </div><!--.evcal_location_data_section--> <!-- yea no field - hide organizer field from eventcard --> <p class='yesno_row evo'> <?php $evo_evcrd_field_org = !empty($ev_vals["evo_evcrd_field_org"]) ? $ev_vals["evo_evcrd_field_org"][0] : null; echo $ajde->wp_admin->html_yesnobtn(array('id' => 'evo_org_field_ec', 'var' => $evo_evcrd_field_org)); ?> <input type='hidden' name='evo_evcrd_field_org' value="<?php echo !empty($ev_vals["evo_evcrd_field_org"]) && $ev_vals["evo_evcrd_field_org"][0] == 'yes' ? 'yes' : 'no'; ?> "/> <label for='evo_evcrd_field_org'><?php _e('Hide Organizer field from EventCard', 'eventon'); ?> </label> </p> <p style='clear:both'></p> </div> </div> <?php break; case 'ev_location': // $opt = get_option( "evo_tax_meta"); // print_r($opt); ?> <div class='evcal_data_block_style1'> <p class='edb_icon evcal_edb_map'></p> <div class='evcal_db_data'> <div class='evcal_location_data_section'> <p> <?php //$opt = get_option( "evo_tax_meta"); //print_r($opt); // location terms for event post $evo_location_tax_id = $termMeta = $evoLocSlug = ''; $location_terms = wp_get_post_terms($p_id, 'event_location'); if ($location_terms && !is_wp_error($location_terms)) { $evo_location_tax_id = $location_terms[0]->term_id; $evoLocSlug = $location_terms[0]->slug; $termMeta = evo_get_term_meta('event_location', $evo_location_tax_id, '', true); } // GET all available location terms $terms = get_terms('event_location', array('hide_empty' => false)); if (count($terms) > 0) { echo "<select id='evcal_location_field' name='evcal_location_name_select' class='evo_select_field' style='max-width:400px; margin-right:5px'>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<option value='-'>" . __('Select a saved location', 'eventon') . "</option>"; foreach ($terms as $term) { $loc_img_src = $loc_img_id = $data = ''; $t_id = $term->term_id; //$term_meta = get_option( "taxonomy_$t_id" ); $term_meta = evo_get_term_meta('event_location', $t_id, '', true); $__selected = $evo_location_tax_id == $t_id ? "selected='selected'" : null; // location image $loc_img_id = $this->termmeta($term_meta, 'evo_loc_img'); $img_src = !empty($loc_img_id) ? wp_get_attachment_image_src($loc_img_id, 'medium') : false; $loc_img_src = $img_src ? $img_src[0] : ''; $locationName = str_replace('"', "'", $term->name); // option data fields foreach (array('tid' => $t_id, 'address' => $this->termmeta($term_meta, 'location_address'), 'lat' => $this->termmeta($term_meta, 'location_lat'), 'lon' => $this->termmeta($term_meta, 'location_lon'), 'loc_img_id' => $loc_img_id, 'loc_img_src' => $loc_img_src, 'link' => $this->termmeta($term_meta, 'evcal_location_link')) as $key => $var) { $data .= 'data-' . $key . '="' . $var . '"'; } echo "<option value='" . $locationName . "' {$data} {$__selected} >" . $term->name . "</option>"; } echo "</select>"; echo "<span class='evoselectfield_data_view evo_btn' style='display:" . ($evo_location_tax_id ? '' : 'none') . "'>" . __('Edit Location', 'eventon') . "</span>"; echo "<label for='evcal_location_field'>" . __('Choose already saved location or type new one below', 'eventon') . "</label>"; } ?> <input id='evo_location_tax' type='hidden' name='evo_location_tax_id' value='<?php echo $evo_location_tax_id; ?> '/> <input type='hidden' name='evo_location_tax_id_old' value='<?php echo $evo_location_tax_id; ?> '/> <input id='evo_location_slug' type='hidden' name='evo_location_tax_slug' value='<?php echo $evoLocSlug; ?> '/> </p> <div class='evoselectfield_saved_data' style='display:<?php echo $evo_location_tax_id ? 'none' : ''; ?> '> <?php $locationNAME = !empty($location_terms[0]) ? $location_terms[0]->name : (!empty($ev_vals["evcal_location_name"]) ? $ev_vals["evcal_location_name"][0] : ''); ?> <p><input type='text' id='evcal_location_name' name='evcal_location_name' value="<?php echo $locationNAME; ?> " style='width:100%' placeholder='<?php _e('eg. Irving City Park', 'eventon'); ?> '/><label for='evcal_location_name'><?php _e('Event Location Name', 'eventon'); ?> </label></p> <?php $locationADD = !empty($termMeta['location_address']) ? stripslashes($termMeta['location_address']) : (!empty($ev_vals["evcal_location"]) ? $ev_vals["evcal_location"][0] : ''); ?> <p><input type='text' id='evcal_location' name='evcal_location' value="<?php echo $locationADD; ?> " style='width:100%' placeholder='<?php _e('eg. 12 Rue de Rivoli, Paris', 'eventon'); ?> '/><label for='evcal_location'><?php _e('Event Location Address', 'eventon'); ?> </label></p> <!-- location lat lon --> <p><input type='text' id='evcal_lat' class='evcal_latlon' name='evcal_lat' value='<?php echo $this->termmeta($termMeta, 'location_lat'); ?> ' placeholder='<?php _e('Latitude', 'eventon'); ?> ' title='<?php _e('Latitude', 'eventon'); ?> '/> <input type='text' id='evcal_lon' class='evcal_latlon' name='evcal_lon' value='<?php echo $this->termmeta($termMeta, 'location_lon'); ?> ' placeholder='<?php _e('Longitude', 'eventon'); ?> ' title='<?php _e('Longitude', 'eventon'); ?> '/></p> <p><i><?php _e('<b>NOTE:</b> LatLong will be auto generated for address provided for faster google map drawing. If location marker is not correct feel free to edit the LatLong values to correct location marker coordinates above. <br/>Location address field is <b>REQUIRED</b> for this to work.', 'eventon'); ?> <br/><a style='color:#B3DDEC' href='http://itouchmap.com/latlong.html' target='_blank'><?php _e('Find LanLat for address', 'eventon'); ?> </a></i></p> <!-- Location link --> <p><input type='text' id='evcal_location_link' name='evcal_location_link' value="<?php echo $this->termmeta($termMeta, 'evcal_location_link'); ?> " style='width:100%' placeholder='<?php _e('eg. http://www.locationlink.com', 'eventon'); ?> '/><label for='evcal_location_link'><?php _e('Event Location Link', 'eventon'); ?> </label></p> <!-- image --> <?php $loc_img_id = $this->termmeta($termMeta, 'evo_loc_img'); // image soruce array $img_src = $loc_img_id ? wp_get_attachment_image_src($loc_img_id, 'medium') : null; $loc_img_src = !empty($img_src) ? $img_src[0] : null; $__button_text = !empty($loc_img_id) ? __('Remove Image', 'eventon') : __('Choose Image', 'eventon'); $__button_text_not = empty($loc_img_id) ? __('Remove Image', 'eventon') : __('Choose Image', 'eventon'); $__button_class = !empty($loc_img_id) ? 'removeimg' : 'chooseimg'; // /echo $loc_img_id.' '.$img_src.'66'; ?> <div class='evo_metafield_image' style='padding-top:10px'> <p > <input id='evo_loc_img_id' class='evo_loc_img custom_upload_image evo_meta_img' name="evo_loc_img" type="hidden" value="<?php echo $loc_img_id ? $loc_img_id : null; ?> " /> <input class="custom_upload_image_button button <?php echo $__button_class; ?> " data-txt='<?php echo $__button_text_not; ?> ' type="button" value="<?php echo $__button_text; ?> " /><br/> <span class='evo_loc_image_src image_src'> <img src='<?php echo $loc_img_src; ?> ' style='<?php echo !empty($loc_img_id) ? '' : 'display:none'; ?> '/> </span> <label><?php _e('Event Location Image', 'eventon'); ?> </label> </p> </div> </div><!--evoselectfield_saved_data--> </div><!--.evcal_location_data_section--> <!-- HIDE Location name from eventcard --> <p class='yesno_row evo'> <?php $locationNM_val = !empty($ev_vals["evcal_hide_locname"]) ? $ev_vals["evcal_hide_locname"][0] : 'no'; echo $ajde->wp_admin->html_yesnobtn(array('id' => 'evo_locname', 'var' => $locationNM_val)); ?> <input type='hidden' name='evcal_hide_locname' value="<?php echo !empty($ev_vals["evcal_hide_locname"]) && $ev_vals["evcal_hide_locname"][0] == 'yes' ? 'yes' : 'no'; ?> "/> <label for='evcal_hide_locname'><?php _e('Hide Location Name from Event Card', 'eventon'); ?> </label> </p> <p style='clear:both'></p> <!-- HIDE google map option --> <p class='yesno_row evo'> <?php $location_val = !empty($ev_vals["evcal_gmap_gen"]) ? $ev_vals["evcal_gmap_gen"][0] : 'yes'; echo $ajde->wp_admin->html_yesnobtn(array('id' => 'evo_genGmap', 'var' => $location_val)); ?> <input type='hidden' name='evcal_gmap_gen' value="<?php echo !empty($ev_vals["evcal_gmap_gen"]) && $ev_vals["evcal_gmap_gen"][0] == 'yes' ? 'yes' : (empty($ev_vals["evcal_gmap_gen"]) ? 'yes' : 'no'); ?> "/> <label for='evcal_gmap_gen'><?php _e('Generate Google Map from the address', 'eventon'); ?> </label> </p> <p style='clear:both'></p> <!-- Show location name over image --> <p class='yesno_row evo'> <?php $evcal_name_over_img = !empty($ev_vals["evcal_name_over_img"]) ? $ev_vals["evcal_name_over_img"][0] : 'no'; echo $ajde->wp_admin->html_yesnobtn(array('id' => 'evcal_name_over_img', 'var' => $evcal_name_over_img)); ?> <input type='hidden' name='evcal_name_over_img' value="<?php echo !empty($ev_vals["evcal_name_over_img"]) && $ev_vals["evcal_name_over_img"][0] == 'yes' ? 'yes' : 'no'; ?> "/> <label for='evcal_name_over_img'><?php _e('Show location name & address over location image (If location image exist)', 'eventon'); ?> </label> </p><p style='clear:both'></p> </div> </div> <?php break; case 'ev_timedate': // Minute increment $minIncre = !empty($evcal_opt1['evo_minute_increment']) ? (int) $evcal_opt1['evo_minute_increment'] : 60; $minADJ = 60 / $minIncre; // --- TIME variations //$evcal_date_format = eventon_get_timeNdate_format($evcal_opt1); $wp_time_format = get_option('time_format'); $hr24 = strpos($wp_time_format, 'H') !== false || strpos($wp_time_format, 'G') !== false ? true : false; $evcal_date_format = array('yy/mm/dd', 'Y/m/d', $hr24); $time_hour_span = $evcal_date_format[2] ? 25 : 13; // GET DATE and TIME values $_START = !empty($ev_vals['evcal_srow'][0]) ? eventon_get_editevent_kaalaya($ev_vals['evcal_srow'][0], $evcal_date_format[1], $evcal_date_format[2]) : false; $_END = !empty($ev_vals['evcal_erow'][0]) ? eventon_get_editevent_kaalaya($ev_vals['evcal_erow'][0], $evcal_date_format[1], $evcal_date_format[2]) : false; // date and time formats used in edit page $used_js_dateFormat = $evcal_date_format[0]; $used_dateFormat = $evcal_date_format[1]; $used_timeFormat = $evcal_date_format[2] ? '24h' : '12h'; ob_start(); ?> <!-- date and time formats to use --> <input type='hidden' name='_evo_date_format' value='<?php echo $used_dateFormat; ?> '/> <input type='hidden' name='_evo_time_format' value='<?php echo $used_timeFormat; ?> '/> <div id='evcal_dates' date_format='<?php echo $used_js_dateFormat; ?> '> <p class='yesno_row evo fcw'> <?php echo $ajde->wp_admin->html_yesnobtn(array('id' => 'evcal_allday_yn_btn', 'var' => $evcal_allday, 'attr' => array('allday_switch' => '1'))); ?> <input type='hidden' name='evcal_allday' value="<?php echo $evcal_allday == 'yes' ? 'yes' : 'no'; ?> "/> <label for='evcal_allday_yn_btn'><?php _e('All Day Event', 'eventon'); ?> </label> </p><p style='clear:both'></p> <!-- START TIME--> <div class='evo_start_event evo_datetimes'> <div class='evo_date'> <p id='evcal_start_date_label'><?php _e('Event Start Date', 'eventon'); ?> </p> <input id='evo_dp_from' class='evcal_data_picker datapicker_on' type='text' id='evcal_start_date' name='evcal_start_date' value='<?php echo $_START ? $_START[0] : null; ?> ' placeholder='<?php echo $used_dateFormat; ?> '/> <span><?php _e('Select a Date', 'eventon'); ?> </span> </div> <div class='evcal_date_time switch_for_evsdate evcal_time_selector' <?php echo $show_style_code; ?> > <div class='evcal_select'> <select id='evcal_start_time_hour' class='evcal_date_select' name='evcal_start_time_hour'> <?php //echo "<option value=''>--</option>"; $start_time_h = $_START ? $_START[1] : null; for ($x = 1; $x < $time_hour_span; $x++) { $y = $time_hour_span == 25 ? sprintf("%02d", $x - 1) : $x; echo "<option value='{$y}'" . ($start_time_h == $y ? 'selected="selected"' : '') . ">{$y}</option>"; } ?> </select> </div><p style='display:inline; font-size:24px;padding:4px 2px'>:</p> <div class='evcal_select'> <select id='evcal_start_time_min' class='evcal_date_select' name='evcal_start_time_min'> <?php //echo "<option value=''>--</option>"; $start_time_m = $_START ? $_START[2] : null; for ($x = 0; $x < $minIncre; $x++) { $min = $minADJ * $x; $min = $min < 10 ? '0' . $min : $min; echo "<option value='{$min}'" . ($start_time_m == $min ? 'selected="selected"' : '') . ">{$min}</option>"; } ?> </select> </div> <?php if (!$evcal_date_format[2]) { ?> <div class='evcal_select evcal_ampm_sel'> <select name='evcal_st_ampm' id='evcal_st_ampm' > <?php $evcal_st_ampm = $_START ? $_START[3] : null; foreach ($select_a_arr as $sar) { echo "<option value='" . $sar . "' " . ($evcal_st_ampm == $sar ? 'selected="selected"' : '') . ">" . $sar . "</option>"; } ?> </select> </div> <?php } ?> <br/> <span><?php _e('Select a Time', 'eventon'); ?> </span> </div><div class='clear'></div> </div> <!-- END TIME --> <?php $evo_hide_endtime = !empty($ev_vals["evo_hide_endtime"]) ? $ev_vals["evo_hide_endtime"][0] : null; ?> <div class='evo_end_event evo_datetimes switch_for_evsdate'> <div class='evo_enddate_selection' style='<?php echo $evo_hide_endtime == 'yes' ? 'opacity:0.5' : null; ?> '> <div class='evo_date'> <p><?php _e('Event End Date', 'eventon'); ?> </p> <input id='evo_dp_to' class='evcal_data_picker datapicker_on' type='text' id='evcal_end_date' name='evcal_end_date' value='<?php echo $_END ? $_END[0] : null; ?> ' placeholder='<?php echo $used_dateFormat; ?> '/> <span><?php _e('Select a Date', 'eventon'); ?> </span> </div> <div class='evcal_date_time evcal_time_selector' <?php echo $show_style_code; ?> > <div class='evcal_select'> <select class='evcal_date_select' name='evcal_end_time_hour'> <?php //echo "<option value=''>--</option>"; $end_time_h = $_END ? $_END[1] : null; for ($x = 1; $x < $time_hour_span; $x++) { $y = $time_hour_span == 25 ? sprintf("%02d", $x - 1) : $x; echo "<option value='{$y}'" . ($end_time_h == $y ? 'selected="selected"' : '') . ">{$y}</option>"; } ?> </select> </div><p style='display:inline; font-size:24px;padding:4px'>:</p> <div class='evcal_select'> <select class='evcal_date_select' name='evcal_end_time_min'> <?php //echo "<option value=''>--</option>"; $end_time_m = $_END[2] ? $_END[2] : null; for ($x = 0; $x < $minIncre; $x++) { $min = $minADJ * $x; $min = $min < 10 ? '0' . $min : $min; echo "<option value='{$min}'" . ($end_time_m == $min ? 'selected="selected"' : '') . ">{$min}</option>"; } ?> </select> </div> <?php if (!$evcal_date_format[2]) { ?> <div class='evcal_select evcal_ampm_sel'> <select name='evcal_et_ampm'> <?php $evcal_et_ampm = $_END ? $_END[3] : null; foreach ($select_a_arr as $sar) { echo "<option value='" . $sar . "' " . ($evcal_et_ampm == $sar ? 'selected="selected"' : '') . ">" . $sar . "</option>"; } ?> </select> </div> <?php } ?> <br/> <span><?php _e('Select the Time', 'eventon'); ?> </span> </div><div class='clear'></div> </div> </div> <!-- how time look on frontend --> <?php if (!empty($ev_vals['evcal_srow'])) { $dtime = new evo_datetime(); $val = $dtime->get_formatted_smart_time_piece($ev_vals['evcal_srow'][0], $ev_vals); echo "<p class='evo_datetime_frontendview' style='margin-top:10px'>" . __('Default Date/time format:', 'eventon') . ' ' . $val . "</p>"; } ?> <!-- timezone value --> <p style='padding-top:10px'><input type='text' name='evo_event_timezone' value='<?php echo !empty($ev_vals["evo_event_timezone"]) ? $ev_vals["evo_event_timezone"][0] : null; ?> ' placeholder='<?php _e('Timezone text eg.PST', 'eventon'); ?> '/><label for=""><?php _e('Event timezone', 'eventon'); $ajde->wp_admin->tooltips(__('Timezone text you type in here ex. PST will show next to event time on calendar.', 'eventon'), '', true); ?> </label></p> <!-- end time yes/no option --> <p class='yesno_row evo '> <?php echo $ajde->wp_admin->html_yesnobtn(array('id' => 'evo_endtime', 'var' => $evo_hide_endtime, 'attr' => array('afterstatement' => 'evo_span_hidden_end'))); ?> <input type='hidden' name='evo_hide_endtime' value="<?php echo $evo_hide_endtime == 'yes' ? 'yes' : 'no'; ?> "/> <label for='evo_hide_endtime'><?php _e('Hide End Time from calendar', 'eventon'); ?> </label> </p> <?php // span event to hidden end time $evo_span_hidden_end = !empty($ev_vals["evo_span_hidden_end"]) ? $ev_vals["evo_span_hidden_end"][0] : null; $evo_span_hidd_display = $evo_hide_endtime && $evo_hide_endtime == 'yes' ? 'block' : 'none'; ?> <p class='yesno_row evo ' id='evo_span_hidden_end' style='display:<?php echo $evo_span_hidd_display; ?> '> <?php echo $ajde->wp_admin->html_yesnobtn(array('id' => 'evo_span_hidden_end', 'var' => $evo_span_hidden_end)); ?> <input type='hidden' name='evo_span_hidden_end' value="<?php echo $evo_span_hidden_end == 'yes' ? 'yes' : 'no'; ?> "/> <label for='evo_span_hidden_end'><?php _e('Span the event until hidden end time', 'eventon'); $ajde->wp_admin->tooltips(__('If event end time goes beyond start time + and you want the event to show in the calendar until end time expire, select this.', 'eventon'), '', true); ?> </label> </p> <?php // month long event $_evo_month_long = !empty($ev_vals["_evo_month_long"]) ? $ev_vals["_evo_month_long"][0] : null; $_event_month = !empty($ev_vals["_event_month"]) ? $ev_vals["_event_month"][0] : null; ?> <p class='yesno_row evo ' id='_evo_month_long' > <?php echo $ajde->wp_admin->html_yesnobtn(array('id' => '_evo_month_long', 'var' => $_evo_month_long)); ?> <input type='hidden' name='_evo_month_long' value="<?php echo $_evo_month_long == 'yes' ? 'yes' : 'no'; ?> "/> <label for='_evo_month_long'><?php _e('Show this event for the entire start event Month', 'eventon'); $ajde->wp_admin->tooltips(__('This will show this event for the entire month that the event start date is set to.', 'eventon'), '', true); ?> </label> </p> <input id='evo_event_month' type='hidden' name='_event_month' value="<?php echo $_event_month; ?> "/><p style='clear:both'></p> <?php // Year long event $evo_year_long = !empty($ev_vals["evo_year_long"]) ? $ev_vals["evo_year_long"][0] : null; $event_year = !empty($ev_vals["event_year"]) ? $ev_vals["event_year"][0] : null; ?> <p class='yesno_row evo ' id='evo_year_long' > <?php echo $ajde->wp_admin->html_yesnobtn(array('id' => 'evo_year_long', 'var' => $evo_year_long)); ?> <input type='hidden' name='evo_year_long' value="<?php echo $evo_year_long == 'yes' ? 'yes' : 'no'; ?> "/> <label for='evo_year_long'><?php _e('Show this event for the entire start event Year', 'eventon'); $ajde->wp_admin->tooltips(__('This will show this event on every month of the year. The year will be based off the start date you choose above. If year long is set, month long will be overridden.', 'eventon'), '', true); ?> </label> </p> <input id='evo_event_year' type='hidden' name='event_year' value="<?php echo $event_year; ?> "/><p style='clear:both'></p> </div> <div style='clear:both'></div> <?php // Recurring events $evcal_repeat = !empty($ev_vals["evcal_repeat"]) ? $ev_vals["evcal_repeat"][0] : null; ?> <div id='evcal_rep' class='evd'> <div class='evcalr_1'> <p class='yesno_row evo '> <?php echo $ajde->wp_admin->html_yesnobtn(array('id' => 'evd_repeat', 'var' => $evcal_repeat, 'attr' => array('afterstatement' => 'evo_editevent_repeatevents'))); ?> <input type='hidden' name='evcal_repeat' value="<?php echo $evcal_repeat == 'yes' ? 'yes' : 'no'; ?> "/> <label for='evcal_repeat'><?php _e('Repeating event', 'eventon'); ?> </label> </p><p style='clear:both'></p> </div> <p class='eventon_ev_post_set_line'></p> <?php // initial values $display = !empty($ev_vals["evcal_repeat"]) && $evcal_repeat == 'yes' ? '' : 'none'; // repeat frequency array $repeat_freq = apply_filters('evo_repeat_intervals', array('daily' => 'days', 'weekly' => 'weeks', 'monthly' => 'months', 'yearly' => 'years', 'custom' => 'custom')); $evcal_rep_gap = !empty($ev_vals['evcal_rep_gap']) ? $ev_vals['evcal_rep_gap'][0] : 1; $freq = !empty($ev_vals["evcal_rep_freq"]) ? $repeat_freq[$ev_vals["evcal_rep_freq"][0]] : null; ?> <div id='evo_editevent_repeatevents' class='evcalr_2 evo_repeat_options' style='display:<?php echo $display; ?> '> <!-- REPEAT SERIES --> <div class='repeat_series'> <p class='yesno_row evo '> <?php $_evcal_rep_series = evo_meta($ev_vals, '_evcal_rep_series'); $display = evo_meta_yesno($ev_vals, '_evcal_rep_series', 'yes', '', 'none'); echo $ajde->wp_admin->html_yesnobtn(array('id' => 'evo_repeat', 'var' => $_evcal_rep_series)); ?> <input type='hidden' name='_evcal_rep_series' value="<?php echo $_evcal_rep_series == 'yes' ? 'yes' : 'no'; ?> "/> <label for='_evcal_rep_series'><?php _e('Show other future repeating instances of this event on event card', 'eventon'); ?> </label> </p><p style='clear:both'></p> </div> <p class='repeat_type evcalr_2_freq evcalr_2_p'><span class='evo_form_label'><?php _e('Event Repeat Type', 'eventon'); ?> :</span> <select id='evcal_rep_freq' name='evcal_rep_freq'> <?php $evcal_rep_freq = !empty($ev_vals['evcal_rep_freq']) ? $ev_vals['evcal_rep_freq'][0] : null; foreach ($repeat_freq as $refv => $ref) { echo "<option field='" . $ref . "' value='" . $refv . "' " . ($evcal_rep_freq == $refv ? 'selected="selected"' : '') . ">" . $refv . "</option>"; } ?> </select></p><!--.repeat_type--> <div class='evo_preset_repeat_settings' style='display:<?php echo !empty($ev_vals['evcal_rep_freq']) && $ev_vals['evcal_rep_freq'][0] == 'custom' ? 'none' : 'block'; ?> '> <p class='gap evcalr_2_rep evcalr_2_p'><span class='evo_form_label'><?php _e('Gap between repeats', 'eventon'); ?> :</span> <input type='number' name='evcal_rep_gap' min='1' max='100' value='<?php echo $evcal_rep_gap; ?> ' placeholder='1'/> <span id='evcal_re'><?php echo $freq; ?> </span></p> <?php // repeat number $evcal_rep_num = !empty($ev_vals['evcal_rep_num']) ? $ev_vals['evcal_rep_num'][0] : 1; // repeat by $evp_repeat_rb = !empty($ev_vals['evp_repeat_rb']) ? $ev_vals['evp_repeat_rb'][0] : null; $evo_rep_WK = !empty($ev_vals['evo_rep_WK']) ? unserialize($ev_vals['evo_rep_WK'][0]) : array(); $evo_repeat_wom = !empty($ev_vals['evo_repeat_wom']) ? $ev_vals['evo_repeat_wom'][0] : null; // display none section $__display_none_1 = !empty($ev_vals['evcal_rep_freq']) && $ev_vals['evcal_rep_freq'][0] == 'monthly' ? 'block' : 'none'; $__display_none_2 = $__display_none_1 == 'block' && !empty($ev_vals['evp_repeat_rb']) && $ev_vals['evp_repeat_rb'][0] == 'dow' ? 'block' : 'none'; ?> <?php // monthly only ?> <p class='repeat_by evcalr_2_p evo_rep_month' style='display:<?php echo $__display_none_1; ?> '> <span class='evo_form_label'><?php _e('Repeat by', 'eventon'); ?> :</span> <select id='evo_rep_by' name='evp_repeat_rb'> <option value='dom' <?php echo 'dom' == $evp_repeat_rb ? 'selected="selected"' : null; ?> ><?php _e('Day of the month', 'eventon'); ?> </option> <option value='dow' <?php echo 'dow' == $evp_repeat_rb ? 'selected="selected"' : null; ?> ><?php _e('Day of the week', 'eventon'); ?> </option> </select> </p> <p class='evo_days_list evo_rep_month_2' style='display:<?php echo $__display_none_2; ?> '> <span class='evo_form_label'><?php _e('Repeat on selected days', 'eventon'); ?> : </span> <?php $days = array('S', 'M', 'T', 'W', 'T', 'F', 'S'); for ($x = 0; $x < 7; $x++) { echo "<em><input type='checkbox' name='evo_rep_WK[]' value='{$x}' " . (in_array($x, $evo_rep_WK) ? 'checked="checked"' : null) . "><label>" . $days[$x] . "</label></em>"; } ?> </p> <p class='evcalr_2_p evo_rep_month_2' style='display:<?php echo $__display_none_2; ?> '> <span class='evo_form_label'><?php _e('Week of month to repeat', 'eventon'); ?> : </span> <select id='evo_wom' name='evo_repeat_wom'> <?php // week of the month for repeat echo "<option value='1' " . ($evo_repeat_wom == 1 ? 'selected="selected"' : null) . ">" . __('First', 'eventon') . "</option>"; echo "<option value='2' " . ($evo_repeat_wom == 2 ? 'selected="selected"' : null) . ">" . __('Second', 'eventon') . "</option>"; echo "<option value='3' " . ($evo_repeat_wom == 3 ? 'selected="selected"' : null) . ">" . __('Third', 'eventon') . "</option>"; echo "<option value='4' " . ($evo_repeat_wom == 4 ? 'selected="selected"' : null) . ">" . __('Fourth', 'eventon') . "</option>"; echo "<option value='5' " . ($evo_repeat_wom == 5 ? 'selected="selected"' : null) . ">" . __('Fifth', 'eventon') . "</option>"; echo "<option value='-1' " . ($evo_repeat_wom == -1 ? 'selected="selected"' : null) . ">" . __('Last', 'eventon') . "</option>"; ?> </select> </p> <p class='evo_month_rep_value evo_rep_month_2' style='display:none'></p> <p class='evcalr_2_numr evcalr_2_p'><span class='evo_form_label'><?php _e('Number of repeats', 'eventon'); ?> :</span> <input type='number' name='evcal_rep_num' min='1' value='<?php echo $evcal_rep_num; ?> ' placeholder='1'/> </p> </div><!--evo_preset_repeat_settings--> <!-- Custom repeat --> <div class='repeat_information' style='display:<?php echo !empty($ev_vals['evcal_rep_freq']) && $ev_vals['evcal_rep_freq'][0] == 'custom' ? 'block' : 'none'; ?> '> <p><?php _e('CUSTOM REPEAT TIMES', 'eventon'); ?> <br/><i style='opacity:0.7'><?php _e('NOTE: Below repeat intervals are in addition to the above main event time.', 'eventon'); ?> </i></p> <?php //print_r(unserialize($ev_vals['aaa'][0])); date_default_timezone_set('UTC'); echo "<p id='no_repeats' style='display:none;opacity:0.7'>There are no additional custom repeats!</p>"; echo "<ul class='evo_custom_repeat_list'>"; $count = 0; if (!empty($ev_vals['repeat_intervals'])) { $repeat_times = unserialize($ev_vals['repeat_intervals'][0]); //print_r($repeat_times); // datre format sting to display for repeats $date_format_string = $evcal_date_format[1] . ' ' . ($evcal_date_format[2] ? 'G:i' : 'h:ia'); foreach ($repeat_times as $rt) { echo '<li style="display:' . ($count == 0 || $count > 3 ? 'none' : 'block') . '" class="' . ($count == 0 ? 'initial' : '') . ($count > 3 ? ' over' : '') . '"><span>' . __('from', 'eventon') . '</span> ' . date($date_format_string, $rt[0]) . ' <span class="e">End</span> ' . date($date_format_string, $rt[1]) . '<em alt="Delete">x</em> <input type="hidden" name="repeat_intervals[' . $count . '][0]" value="' . $rt[0] . '"/><input type="hidden" name="repeat_intervals[' . $count . '][1]" value="' . $rt[1] . '"/></li>'; $count++; } } echo "</ul>"; echo $count > 3 && !empty($ev_vals['repeat_intervals']) ? "<p style='padding-bottom:20px'>There are " . ($count - 1) . " repeat intervals. <span class='evo_repeat_interval_view_all' data-show='no'>" . __('View All', 'eventon') . "</span></p>" : null; ?> <div class='evo_repeat_interval_new' style='display:none'> <p><span><?php _e('FROM', 'eventon'); ?> :</span><input class='ristD' name='repeat_date'/> <input class='ristT' name='repeat_time'/><br/><span><?php _e('TO', 'eventon'); ?> :</span><input class='rietD' name='repeat_date'/> <input class='rietT' name='repeat_time'/></p> </div> <p class='evo_repeat_interval_button'><a id='evo_add_repeat_interval' class='button_evo'>+ <?php _e('Add New Repeat Interval', 'eventon'); ?> </a><span></span></p> </div> </div> </div> <?php break; case 'ev_subtitle': echo "<div class='evcal_data_block_style1'>\r\n\t\t\t\t\t\t\t\t<div class='evcal_db_data'>\r\n\t\t\t\t\t\t\t\t\t<input type='text' id='evcal_subtitle' name='evcal_subtitle' value='" . evo_meta($ev_vals, 'evcal_subtitle', true) . "' style='width:100%'/>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>"; break; } // for custom meta field for evnet if (!empty($mBOX['fieldtype']) && $mBOX['fieldtype'] == 'custommetafield') { $x = $mBOX['x']; echo "<div class='evcal_data_block_style1'>\r\n\t\t\t\t\t\t\t\t<div class='evcal_db_data'>"; // FIELD $__saved_field_value = !empty($ev_vals["_evcal_ec_f" . $x . "a1_cus"]) ? $ev_vals["_evcal_ec_f" . $x . "a1_cus"][0] : null; $__field_id = '_evcal_ec_f' . $x . 'a1_cus'; // wysiwyg editor if (!empty($evcal_opt1['evcal_ec_f' . $x . 'a2']) && $evcal_opt1['evcal_ec_f' . $x . 'a2'] == 'textarea') { wp_editor($__saved_field_value, $__field_id); // button } elseif (!empty($evcal_opt1['evcal_ec_f' . $x . 'a2']) && $evcal_opt1['evcal_ec_f' . $x . 'a2'] == 'button') { $__saved_field_link = !empty($ev_vals["_evcal_ec_f" . $x . "a1_cusL"]) ? $ev_vals["_evcal_ec_f" . $x . "a1_cusL"][0] : null; echo "<input type='text' id='" . $__field_id . "' name='_evcal_ec_f" . $x . "a1_cus' "; echo 'value="' . $__saved_field_value . '"'; echo "style='width:100%' placeholder='Button Text' title='Button Text'/>"; echo "<input type='text' id='" . $__field_id . "' name='_evcal_ec_f" . $x . "a1_cusL' "; echo 'value="' . $__saved_field_link . '"'; echo "style='width:100%' placeholder='Button Link' title='Button Link'/>"; $onw = !empty($ev_vals["_evcal_ec_f" . $x . "_onw"]) ? $ev_vals["_evcal_ec_f" . $x . "_onw"][0] : null; ?> <span class='yesno_row evo'> <?php $openInNewWindow = !empty($ev_vals['_evcal_ec_f' . $x . '_onw']) ? $ev_vals['_evcal_ec_f' . $x . '_onw'][0] : null; echo $ajde->wp_admin->html_yesnobtn(array('id' => '_evcal_ec_f' . $x . '_onw', 'var' => $openInNewWindow, 'input' => true, 'label' => __('Open in New window', 'eventon'))); ?> </span> <?php // text } else { echo "<input type='text' id='" . $__field_id . "' name='_evcal_ec_f" . $x . "a1_cus' "; echo 'value="' . $__saved_field_value . '"'; echo "style='width:100%'/>"; } echo "</div></div>"; } } ?> </div> </div> <?php } ?> <div class='evomb_section' id='<?php echo $mBOX['id']; ?> '> <div class='evomb_header'> <span class="evomb_icon evII"><i class="fa fa-plug"></i></span> <p>Additional Functionality</p> </div> <p style='padding:15px 25px; margin:0' class="evomb_body_additional">Looking for additional functionality including event tickets, frontend event submissions, RSVP to events, photo gallery and more? Check out <a href='http://www.myeventon.com/addons/' target='_blank'>eventON addons</a>.</p> </div> <div class='evMB_end'></div> </div> <?php }
function eventon_taxonomy_edit_meta_field_org($term) { global $ajde; // put the term ID into a variable $t_id = $term->term_id; // retrieve the existing value(s) for this meta field. This returns an array $term_meta = evo_get_term_meta('event_organizer', $t_id); // $opt = get_option( "evo_tax_meta"); // print_r($opt); foreach (array('evcal_org_contact' => array('name' => __('Contact Information', 'eventon'), 'desc' => __('Enter Organizer Contact Information', 'eventon')), 'evcal_org_address' => array('name' => __('Address', 'eventon'), 'desc' => __('Enter Organizer Address', 'eventon'))) as $key => $val) { $value = !empty($term_meta[$key]) ? esc_attr($term_meta[$key]) : ''; ?> <tr class="form-field"> <th scope="row" valign="top"><label for="term_meta[<?php echo $key; ?> ]"><?php echo $val['name']; ?> </label></th> <td> <input type="text" name="term_meta[<?php echo $key; ?> ]" id="term_meta[<?php echo $key; ?> ]" value="<?php echo $value; ?> "/> <p class="description"><?php echo $val['desc']; ?> </p> </td> </tr> <?php } ?> <tr class="form-field"> <th scope="row" valign="top"><label for="term_meta[evcal_org_exlink]"><?php _e('Link to the organizers page', 'eventon'); ?> </label></th> <td> <input type="text" name="term_meta[evcal_org_exlink]" id="term_meta[evcal_org_exlink]" value="<?php echo !empty($term_meta['evcal_org_exlink']) ? esc_attr($term_meta['evcal_org_exlink']) : ''; ?> "> <p><span class='yesno_row evo'> <?php $_evocal_org_exlink_target = $this->termmeta($term_meta, '_evocal_org_exlink_target'); echo $ajde->wp_admin->html_yesnobtn(array('id' => 'term_meta[_evocal_org_exlink_target]', 'var' => $_evocal_org_exlink_target, 'input' => true, 'label' => __('Open organizer link in new window', 'eventon'))); ?> </span></p> <p class="description"><?php _e('Use this field to link organizer to other user profile pages', 'eventon'); ?> </p> </td> </tr> <tr class="form-field"> <th scope="row" valign="top"><label for="term_meta[evo_org_img]"><?php _e('Image', 'eventon'); ?> </label></th> <td class='evo_metafield_image'> <?php if (!empty($term_meta['evo_org_img'])) { $img_url = wp_get_attachment_image_src($term_meta['evo_org_img'], 'medium'); } else { $img_url = false; } $__button_text = !empty($term_meta['evo_org_img']) ? __('Remove Image', 'eventon') : __('Choose Image', 'eventon'); $__button_text_not = empty($term_meta['evo_org_img']) ? __('Remove Image', 'eventon') : __('Choose Image', 'eventon'); $__button_class = !empty($term_meta['evo_org_img']) ? 'removeimg' : 'chooseimg'; ?> <input style='width:auto' class="custom_upload_image_button button <?php echo $__button_class; ?> " data-txt='<?php echo $__button_text_not; ?> ' type="button" value="<?php echo $__button_text; ?> " /><br/> <span class='evo_org_image_src image_src'><img src='<?php echo $img_url[0]; ?> ' style='<?php echo !empty($term_meta['evo_org_img']) ? '' : 'display:none'; ?> '/></span> <input class='evo_org_img evo_meta_img' type="hidden" name="term_meta[evo_org_img]" id="term_meta[evo_org_img]" value="<?php echo !empty($term_meta['evo_org_img']) ? esc_attr($term_meta['evo_org_img']) : ''; ?> "> <p class="description"><?php _e('(Optional) Organizer Image', 'eventon'); ?> </p> </td> </tr> <?php }
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(); }
/** GENERATE individual event data for event list array */ public function generate_event_data($event_list_array, $focus_month_beg_range = '', $FOCUS_month_int = '', $FOCUS_year_int = '', $eventCardData = true) { $months_event_array = ''; // Initial variables $wp_time_format = get_option('time_format'); $__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; $event_tax_meta_options = get_option("evo_tax_meta"); // 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'; $dateTime = new evo_datetime(); // calendar event default values $calendar_defaults = $this->helper->get_calendar_defaults(); $eventop_fields = $calendar_defaults['eventtop_fields']; // EACH EVENT if (is_array($event_list_array)) { foreach ($event_list_array as $event_) { //print_r($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); // calendar UX val will override individual event ux val $event_ux_val = $calendar_ux_val != '0' ? $calendar_ux_val : (!empty($__shortC_arg['tiles']) && $__shortC_arg['tiles'] == 'yes' && $event_ux_val == 1 ? 3 : $event_ux_val); // whether eventcard elements need to be included or not $card_for_cal = $calendar_ux_val == '4' || $calendar_ux_val == 'X' ? false : true; // whether calendar call for card $_event_card_on = $card_for_cal || $event_ux_val != '4' && $event_ux_val != '2' ? true : false; $_event_card_on = $_is_eventCardOpen ? true : $_event_card_on; // if event card is forced to open then // override by whats passed to function $_event_card_on = !$eventCardData ? false : $_event_card_on; $html_tag = $event_ux_val == '1' ? 'div' : 'a'; $html_tag = $_event_card_on ? 'a' : $html_tag; // year/month long or not $__year_long_event = $this->helper->evo_meta('evo_year_long', $ev_vals, 'tf'); $__month_long_event = $__year_long_event ? false : ($this->helper->evo_meta('_evo_month_long', $ev_vals, 'tf') ? 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['_completed'] = $this->helper->evo_meta('_completed', $ev_vals, 'tf'); $_eventInClasses['_cancel'] = $this->helper->evo_meta('_cancel', $ev_vals, 'tf'); // GET: repeat interval for this event $__repeatInterval = $this->helper->get_ri_for_event($event_); $is_recurring_event = evo_check_yn($ev_vals, 'evcal_repeat'); //print_r($__repeatInterval); // 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_src = $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'); } elseif (!empty($calendar_defaults['image'])) { $img_src = $img_med_src = $img_thumb_src = array(0 => $calendar_defaults['image']); } // append to eventcard array if (!empty($img_src)) { $_eventcard['ftimage'] = array('eventid' => $event_id, '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 = isset($event->post_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 $location_terms = wp_get_post_terms($event_id, 'event_location'); $location_address = $location_name = $lonlat = false; if ($location_terms && !is_wp_error($location_terms)) { $evo_location_tax_id = $location_terms[0]->term_id; // check location term meta values on new and old $LocTermMeta = evo_get_term_meta('event_location', $evo_location_tax_id, $event_tax_meta_options, true); $location_address = !empty($LocTermMeta['location_address']) ? $LocTermMeta['location_address'] : false; // location name $location_name = stripslashes($location_terms[0]->name); // Lat Long $lonlat = !empty($LocTermMeta['location_lat']) && !empty($LocTermMeta['location_lon']) ? 'data-latlng="' . $LocTermMeta['location_lat'] . ',' . $LocTermMeta['location_lon'] . '" ' : null; // Location Image $loc_img_id = !empty($LocTermMeta['evo_loc_img']) ? $LocTermMeta['evo_loc_img'] : false; 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_address)) { $_eventcard['locImg']['locAdd'] = $location_address; } } } } $_eventcard['timelocation'] = array('timetext' => $_event_date_HTML['html_prettytime'], 'timezone' => !empty($ev_vals['evo_event_timezone']) ? $ev_vals['evo_event_timezone'][0] : null, 'address' => $location_address, 'location_name' => !empty($ev_vals['evcal_hide_locname']) && $ev_vals['evcal_hide_locname'][0] == 'yes' ? '' : $location_name, 'location_link' => !empty($LocTermMeta['evcal_location_link']) ? $LocTermMeta['evcal_location_link'] : null, 'locTaxID' => !empty($evo_location_tax_id) ? $evo_location_tax_id : ''); // Repeat series if ($is_recurring_event && !empty($ev_vals['_evcal_rep_series']) && $ev_vals['_evcal_rep_series'][0] == 'yes') { $repeat_intervals = !empty($ev_vals['repeat_intervals']) ? is_serialized($ev_vals['repeat_intervals'][0]) ? unserialize($ev_vals['repeat_intervals'][0]) : $ev_vals['repeat_intervals'][0] : null; if ($repeat_intervals) { $future_intervals = array(); foreach ($repeat_intervals as $ri => $interval) { if ($ri > $__repeatInterval) { $future_intervals[$ri] = $interval; } } if (count($future_intervals) > 0) { //print_r($future_intervals); $_eventcard['repeats'] = array('repeat_interval' => $__repeatInterval, 'future_intervals' => $future_intervals, 'date_format' => $dateTime->wp_date_format, 'time_format' => $dateTime->wp_time_format); } } } // GOOGLE maps if ($this->google_maps_load && ($location_address || !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 ($location_address) { $_eventcard['getdirection'] = array('fromaddress' => $location_address); } } else { $_eventInAttr['data-gmap_status'] = 'null'; } // PAYPAL Code if (!empty($ev_vals['evcal_paypal_item_price'][0]) && $this->evopt1['evcal_paypal_pay'] == 'yes' && !empty($this->evopt1['evcal_pp_email'])) { $_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, 'email' => !empty($ev_vals['evcal_paypal_email']) ? $ev_vals['evcal_paypal_email'][0] : $this->evopt1['evcal_pp_email'], 'estart' => $event_start_unix, 'evvals' => $ev_vals); } // Event Organizer $organizer_terms = wp_get_post_terms($event_id, 'event_organizer'); $organizer_term_id = $organizer_name = false; if ($organizer_terms && !is_wp_error($organizer_terms)) { $organizer_term_id = $organizer_terms[0]->term_id; $organizer_name = $organizer_terms[0]->name; } $hideOrganizer_from_eventCard = !empty($ev_vals['evo_evcrd_field_org']) && $ev_vals['evo_evcrd_field_org'][0] == 'yes' ? true : false; if ($organizer_term_id && !$hideOrganizer_from_eventCard) { // organizer meta is run from eventCard.php $_eventcard['organizer'] = array('organizer_term_id' => $organizer_term_id, 'organizer_name' => $organizer_name); } // 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'], 'visibility_type' => !empty($this->evopt1['evcal_ec_f' . $x . 'a4']) ? $this->evopt1['evcal_ec_f' . $x . 'a4'] : 'all'); } } } // LEARN MORE and ICS $_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' => isset($event->post_title) ? $event->post_title : '', 'excerpt' => !empty($event_full_description) ? eventon_get_normal_excerpt($event_full_description, 30) : (isset($event->post_title) ? $event->post_title : ''), 'evals' => $ev_vals); // ======================= /** CONSTRUCT the EVENT CARD **/ // filter hook for eventcard content array - updated 2.3.21 $_eventcard = apply_filters('eventon_eventcard_array', $_eventcard, $ev_vals, $event_id, $__repeatInterval); if ($_event_card_on && !empty($_eventcard) && count($_eventcard) > 0) { // 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, isset($this->__calendar_type) ? $this->__calendar_type : '', isset($event->post_title) ? $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_ = ''; // event _type 1 terms - this is also used for etc_override $ett_terms = wp_get_post_terms($event_id, 'event_type'); 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); if (in_array($__tax_fields, $eventop_fields)) { $evcal_terms = !empty($evcal_terms_) && $b == 1 ? $ett_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); // event type 1 tax icon $icon_str = $this->helper->get_tax_icon($__tax_slug, $termA->term_id, $this->evopt1); // tax term slug as class name $_eventInClasses[] = 'evo_' . $termA->slug; $__tx_content .= "<em data-filter='{$__tax_slug}'>" . $icon_str . $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, $calendar_defaults['color']); // override event colors if (!empty($__shortC_arg['etc_override']) && $__shortC_arg['etc_override'] == 'yes' && !empty($ett_terms)) { $ev_id = $ett_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 ($location_name && ($location_address || $lonlat)) { // 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>'; if (!empty($evo_location_tax_id)) { $__scheme_data_location .= apply_filters('evo_location_schema', '', $evo_location_tax_id); } $__scheme_data_location .= '</item>'; } $ev_location = !empty($location_address) ? '<em class="evcal_location" ' . ($lonlat ? $lonlat : null) . ' data-add_str="' . $location_address . '">' . $location_address . '</em>' : null; // location type $event_location_variables .= $lonlat ? 'data-location_type="lonlat"' : 'data-location_type="address"'; // location name $event_location_variables .= $location_name ? ' data-location_name="' . $location_name . '"' : 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] : '', 'url_full' => $img_src); } // 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; // event start year $showStartYear = $eventop_fields_ && in_array('eventyear', $eventop_fields) ? 'yes' : 'no'; $__eventtop['day_block'] = array('start' => $DATE_start_val, 'color' => $event_color, 'day_name' => $___day_name, 'html' => $_event_date_HTML, 'showyear' => $showStartYear, 'yearlong' => $__year_long_event, 'monthlong' => $__month_long_event); } // event titles $__eventtop['titles'] = array('yearlong' => $__year_long_event, 'monthlong' => $__month_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, 'evvals' => $ev_vals, 'ri' => $__repeatInterval, 'eventid' => $event_id); // below title $__eventtop['belowtitle'] = array('fields_' => $eventop_fields_, 'fields' => $eventop_fields, 'evvals' => $ev_vals, 'html' => $_event_date_HTML, 'locationaddress' => $location_address, 'location' => $ev_location, 'locationname' => $location_name, 'lonlat' => $lonlat, 'organizer_name' => $organizer_name, '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') { // remove schema $__scheme_data = '<div class="evo_event_schema" style="display:none" > <a href="' . $event_permalink . '"></a></div>'; $__scheme_attributes = ''; } else { //$event_permalink = ($calendar_defaults['single_addon'])? $event_permalink.$_link_text: "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; $event_permalink = $calendar_defaults['single_addon'] ? $event_permalink . $_link_text : get_permalink($event_id); $__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[] = isset($event_['event_past']) && $event_['event_past'] ? 'past_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, 'monthlong' => $__month_long_event, 'yearlong' => $__year_long_event)); // 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-time'] = $event_start_unix . '-' . $event_end_unix; $_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); // event item html $html_tag_start = $html_tag == 'a' ? 'p class="desc_trig_outter"><a' : $html_tag; $html_tag_end = $html_tag == 'a' ? 'p></a' : $html_tag; // build the event HTML $event_html_code = "<div {$atts}>{$eventbefore}{$__scheme_data}\r\n\t\t\t\t<{$html_tag_start} {$attsIn}>{$html_info_line}</{$html_tag_end}>" . $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 { // if event list is not an array $months_event_array; } return $months_event_array; }
/** * event card content processed and output as html * @version 2.3.21 */ function eventon_eventcard_print($array, $evOPT, $evoOPT2) { global $eventon; $evoOPT2 = !empty($evoOPT2) ? $evoOPT2 : ''; $OT = ''; $count = 1; $items = count($array); // close button $close = "<div class='evcal_evdata_row evcal_close' title='" . eventon_get_custom_language($evoOPT2, 'evcal_lang_close', 'Close') . "'></div>"; // additional fields array $_additions = apply_filters('evo_eventcard_adds', array()); // FOR each foreach ($array as $box_f => $box) { $end = $count == $items ? $close : null; $end_row_class = $count == $items ? ' lastrow' : null; // convert to an object $object = new stdClass(); foreach ($box as $key => $value) { $object->{$key} = $value; } $boxname = in_array($box_f, $_additions) ? $box_f : null; //echo($box_f.' '); //print_r($boxname); //$OT.="".$items.'-'.$count." ".$box_f; // each eventcard type switch ($box_f) { // addition case has_filter("eventon_eventCard_{$boxname}"): $helpers = array('evOPT' => $evOPT, 'evoOPT2' => $evoOPT2, 'end_row_class' => $end_row_class, 'end' => $end); $OT .= apply_filters("eventon_eventCard_{$boxname}", $object, $helpers); break; // Event Details // Event Details case 'eventdetails': // check if character length of description is longer than X size if (!empty($evOPT['evo_morelass']) && $evOPT['evo_morelass'] != 'yes' && strlen($object->fulltext) > 600) { $more_code = "<div class='eventon_details_shading_bot'>\r\n\t\t\t\t\t\t\t\t<p class='eventon_shad_p' content='less'><span class='ev_more_text' data-txt='" . eventon_get_custom_language($evoOPT2, 'evcal_lang_less', 'less') . "'>" . eventon_get_custom_language($evoOPT2, 'evcal_lang_more', 'more') . "</span><span class='ev_more_arrow'></span></p>\r\n\t\t\t\t\t\t\t</div>"; $evo_more_active_class = 'shorter_desc'; } else { $more_code = ''; $evo_more_active_class = ''; } $OT .= "<div class='evo_metarow_details evorow evcal_evdata_row bordb evcal_event_details" . $end_row_class . "'>\r\n\t\t\t\t\t\t\t" . $object->excerpt . "\r\n\t\t\t\t\t\t\t<span class='evcal_evdata_icons'><i class='fa " . get_eventON_icon('evcal__fai_001', 'fa-align-justify', $evOPT) . "'></i></span>\r\n\t\t\t\t\t\t\t<div class='evcal_evdata_cell " . $evo_more_active_class . "'>" . $more_code . "<div class='eventon_full_description'>\r\n\t\t\t\t\t\t\t\t\t<h3 class='padb5 evo_h3'>" . eventon_get_custom_language($evoOPT2, 'evcal_evcard_details', 'Event Details') . "</h3><div class='eventon_desc_in' itemprop='description'>\r\n\t\t\t\t\t\t\t\t\t" . $eventon->frontend->filter_evo_content($object->fulltext) . "</div>"; // pluggable inside event details do_action('eventon_eventcard_event_details'); $OT .= "<div class='clear'></div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t" . $end . "</div>"; break; // TIME and LOCATION // TIME and LOCATION case 'timelocation': if ($object->address || $object->location_name) { $timezone = !empty($object->timezone) ? ' <em class="evo_eventcard_tiemzone">' . $object->timezone . '</em>' : null; $locationLink = !empty($object->location_link) ? '<a target="_blank" href="' . $object->location_link . '">' : false; $OT .= "<div class='evo_metarow_time_location evorow bordb" . $end_row_class . " '>\r\n\t\t\t\t\t\t<div class='tb' >\r\n\t\t\t\t\t\t\t<div class='tbrow'>\r\n\t\t\t\t\t\t\t<div class='evcal_col50 bordr'>\r\n\t\t\t\t\t\t\t\t<div class='evcal_evdata_row evo_time'>\r\n\t\t\t\t\t\t\t\t\t<span class='evcal_evdata_icons'><i class='fa " . get_eventON_icon('evcal__fai_002', 'fa-clock-o', $evOPT) . "'></i></span>\r\n\t\t\t\t\t\t\t\t\t<div class='evcal_evdata_cell'>\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t<h3 class='evo_h3'>" . eventon_get_custom_language($evoOPT2, 'evcal_lang_time', 'Time') . "</h3><p>" . $object->timetext . $timezone . "</p>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div><div class='evcal_col50'>\r\n\t\t\t\t\t\t\t\t<div class='evcal_evdata_row evo_location'>\r\n\t\t\t\t\t\t\t\t\t<span class='evcal_evdata_icons'><i class='fa " . get_eventON_icon('evcal__fai_003', 'fa-map-marker', $evOPT) . "'></i></span>\r\n\t\t\t\t\t\t\t\t\t<div class='evcal_evdata_cell' data-loc_tax_id='{$object->locTaxID}'>\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t<h3 class='evo_h3'>" . ($locationLink ? $locationLink : '') . eventon_get_custom_language($evoOPT2, 'evcal_lang_location', 'Location') . ($locationLink ? '</a>' : '') . "</h3>" . (!empty($object->location_name) ? "<p class='evo_location_name'>" . stripslashes($object->location_name) . "</p>" : null) . "<p>" . (!empty($object->address) ? stripslashes($object->address) : null) . "</p>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div><div class='clear'></div>\r\n\t\t\t\t\t\t\t</div></div>\r\n\t\t\t\t\t\t" . $end . "</div>"; } else { // time only $OT .= "<div class='evo_metarow_time evorow evcal_evdata_row bordb evcal_evrow_sm " . $end_row_class . "'>\r\n\t\t\t\t\t\t\t<span class='evcal_evdata_icons'><i class='fa " . get_eventON_icon('evcal__fai_002', 'fa-clock-o', $evOPT) . "'></i></span>\r\n\t\t\t\t\t\t\t<div class='evcal_evdata_cell'>\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t<h3 class='evo_h3'>" . eventon_get_custom_language($evoOPT2, 'evcal_lang_time', 'Time') . "</h3><p>" . $object->timetext . "</p>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t" . $end . "</div>"; } break; // REPEAT SERIES // REPEAT SERIES case 'repeats': $OT .= "<div class='evo_metarow_repeats evorow evcal_evdata_row bordb evcal_evrow_sm " . $end_row_class . "'>\r\n\t\t\t\t\t\t\t<span class='evcal_evdata_icons'><i class='fa " . get_eventON_icon('evcal__fai_repeats', 'fa-repeat', $evOPT) . "'></i></span>\r\n\t\t\t\t\t\t\t<div class='evcal_evdata_cell'>\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t<h3 class='evo_h3'>" . eventon_get_custom_language($evoOPT2, 'evcal_lang_repeats', 'Future Event Times in this Repeating Event Series') . "</h3>\r\n\t\t\t\t\t\t\t\t<p class='evo_repeat_series_dates'>"; foreach ($object->future_intervals as $interval) { $OT .= "<span>" . date($object->date_format . ' ' . $object->time_format, $interval[0]) . "</span>"; } $OT .= "</p></div>" . $end . "</div>"; break; // Location Image // Location Image case 'locImg': $img_src = wp_get_attachment_image_src($object->id, 'full'); $fullheight = (int) $object->fullheight; if (!empty($img_src)) { // text over location image $inside = ''; if (!empty($object->locName)) { $inner = !empty($object->locAdd) ? '<span>' . $object->locAdd . '</span>' : null; $inside = "<p class='evoLOCtxt'>{$object->locName}{$inner}</p>"; } $OT .= "<div class='evo_metarow_locImg evorow bordb " . (!empty($inside) ? 'tvi' : null) . "' style='height:{$fullheight}px; background-image:url(" . $img_src[0] . ")' id='" . $object->id . "_locimg' >{$inside}</div>"; } break; // GOOGLE map // GOOGLE map case 'gmap': $OT .= "<div class='evo_metarow_gmap evorow evcal_gmaps bordb ' id='" . $object->id . "_gmap' style='max-width:none'></div>"; break; // Featured image // Featured image case 'ftimage': $__hoverclass = !empty($object->hovereffect) && $object->hovereffect != 'yes' ? ' evo_imghover' : null; $__noclickclass = !empty($object->clickeffect) && $object->clickeffect == 'yes' ? ' evo_noclick' : null; $__zoom_cursor = !empty($evOPT['evo_ftim_mag']) && $evOPT['evo_ftim_mag'] == 'yes' ? ' evo_imgCursor' : null; // if set to direct image if (!empty($evOPT['evo_ftimg_height_sty']) && $evOPT['evo_ftimg_height_sty'] == 'direct') { $OT .= "<div class='evo_metarow_directimg'><img src='{$object->img[0]}'/></div>"; } else { $height = !empty($object->img[2]) ? $object->img[2] : ''; $width = !empty($object->img[1]) ? $object->img[1] : ''; $OT .= "<div class='evo_metarow_fimg evorow evcal_evdata_img " . $end_row_class . $__hoverclass . $__zoom_cursor . $__noclickclass . "' data-imgheight='" . $height . "' data-imgwidth='" . $width . "' style='background-image: url(" . $object->img[0] . ")' data-imgstyle='" . $object->ftimg_sty . "' data-minheight='" . $object->min_height . "' data-status=''>" . $end . "</div>"; } break; // event organizer // event organizer case 'organizer': $evcal_evcard_org = eventon_get_custom_language($evoOPT2, 'evcal_evcard_org', 'Organizer'); $ORGMeta = evo_get_term_meta('event_organizer', $object->organizer_term_id, '', true); $img_src = !empty($ORGMeta['evo_org_img']) ? wp_get_attachment_image_src($ORGMeta['evo_org_img'], 'medium') : null; $newdinwow = !empty($ORGMeta['_evocal_org_exlink_target']) && $ORGMeta['_evocal_org_exlink_target'] == 'yes' ? 'target="_blank"' : ''; // organizer name text openinnewwindow if (!empty($ORGMeta['evcal_org_exlink'])) { $orgNAME = "<span class='evo_card_organizer_name_t'><a " . $newdinwow . " href='{$ORGMeta['evcal_org_exlink']}'>" . $object->organizer_name . "</a></span>"; } else { $orgNAME = "<span class='evo_card_organizer_name_t'>" . $object->organizer_name . "</span>"; } $OT .= "<div class='evo_metarow_organizer evorow evcal_evdata_row bordb evcal_evrow_sm " . $end_row_class . "'>\r\n\t\t\t\t\t\t\t<span class='evcal_evdata_icons'><i class='fa " . get_eventON_icon('evcal__fai_004', 'fa-headphones', $evOPT) . "'></i></span>\r\n\t\t\t\t\t\t\t<div class='evcal_evdata_cell'>\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t<h3 class='evo_h3'>" . $evcal_evcard_org . "</h3>\r\n\t\t\t\t\t\t\t\t" . (!empty($img_src) ? "<p class='evo_data_val evo_card_organizer_image'><img src='{$img_src[0]}'/></p>" : null) . "\r\n\t\t\t\t\t\t\t\t<div class='evo_card_organizer'><p class='evo_data_val evo_card_organizer_name'>\r\n\t\t\t\t\t\t\t\t\t" . $orgNAME . (!empty($ORGMeta['evcal_org_contact']) ? "<span class='evo_card_organizer_contact'>{$ORGMeta['evcal_org_contact']}</span>" : null) . "\r\n\t\t\t\t\t\t\t\t\t" . (!empty($ORGMeta['evcal_org_address']) ? "<span class='evo_card_organizer_address'>{$ORGMeta['evcal_org_address']}</span>" : null) . "\r\n\t\t\t\t\t\t\t\t\t</p></div>\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t" . $end . "</div>"; break; // get directions // get directions case 'getdirection': $_lang_1 = eventon_get_custom_language($evoOPT2, 'evcalL_getdir_placeholder', 'Type your address to get directions'); $_lang_2 = eventon_get_custom_language($evoOPT2, 'evcalL_getdir_title', 'Click here to get directions'); $OT .= "<div class='evo_metarow_getDr evorow evcal_evdata_row bordb evcal_evrow_sm getdirections'>\r\n\t\t\t\t\t\t<form action='https://maps.google.com/maps' method='get' target='_blank'>\r\n\t\t\t\t\t\t<input type='hidden' name='daddr' value='{$object->fromaddress}'/> \r\n\t\t\t\t\t\t<p><input class='evoInput' type='text' name='saddr' placeholder='{$_lang_1}' value=''/>\r\n\t\t\t\t\t\t<button type='submit' class='evcal_evdata_icons evcalicon_9' title='{$_lang_2}'><i class='fa " . get_eventON_icon('evcal__fai_008a', 'fa-road', $evOPT) . "'></i></button>\r\n\t\t\t\t\t\t</p></form>\r\n\t\t\t\t\t</div>"; break; // learnmore ICS and close button // learnmore ICS and close button case 'learnmoreICS': // Initial $__ics_url = admin_url('admin-ajax.php') . '?action=eventon_ics_download&event_id=' . $object->event_id . '&sunix=' . $object->estart . '&eunix=' . $object->eend; $__googlecal_link = eventon_get_addgoogle_cal($object); // which options to show for add to calendar $addCaloptions = !empty($evOPT['evo_addtocal']) ? $evOPT['evo_addtocal'] : 'all'; $addCalContent = ''; // add to cal section switch ($addCaloptions) { case 'ics': $addCalContent = "<a href='{$__ics_url}' class='evo_ics_nCal' title='" . eventon_get_custom_language($evoOPT2, 'evcal_evcard_addics', 'Add to your calendar') . "'>" . eventon_get_custom_language($evoOPT2, 'evcal_evcard_calncal', 'Calendar') . "</a>"; break; case 'gcal': $addCalContent = "<a href='{$__googlecal_link}' target='_blank' class='evo_ics_gCal' title='" . eventon_get_custom_language($evoOPT2, 'evcal_evcard_addgcal', 'Add to google calendar') . "'>" . eventon_get_custom_language($evoOPT2, 'evcal_evcard_calgcal', 'GoogleCal') . "</a>"; break; case 'all': $addCalContent = "<a href='{$__ics_url}' class='evo_ics_nCal' title='" . eventon_get_custom_language($evoOPT2, 'evcal_evcard_addics', 'Add to your calendar') . "'>" . eventon_get_custom_language($evoOPT2, 'evcal_evcard_calncal', 'Calendar') . "</a>" . "<a href='{$__googlecal_link}' target='_blank' class='evo_ics_gCal' title='" . eventon_get_custom_language($evoOPT2, 'evcal_evcard_addgcal', 'Add to google calendar') . "'>" . eventon_get_custom_language($evoOPT2, 'evcal_evcard_calgcal', 'GoogleCal') . "</a>"; break; } // learn more and ICS if (!empty($object->learnmorelink) && $addCaloptions != 'none') { ob_start(); ?> <div class='evo_metarow_learnMICS evorow bordb <?php echo $end_row_class; ?> '> <div class='tb'> <div class='tbrow'> <a class='evcal_col50 dark1 bordr evo_clik_row' href='<?php echo $object->learnmorelink; ?> ' <?php echo $object->learnmore_target; ?> > <span class='evcal_evdata_row ' > <span class='evcal_evdata_icons'><i class='fa <?php echo get_eventON_icon('evcal__fai_006', 'fa-link', $evOPT); ?> '></i></span> <h3 class='evo_h3'><?php echo eventon_get_custom_language($evoOPT2, 'evcal_evcard_learnmore2', 'Learn More'); ?> </h3> </span> </a> <div class='evo_ics evcal_col50 dark1 evo_clik_row' > <div class='evcal_evdata_row'> <span class="evcal_evdata_icons"><i class="fa fa-calendar"></i></span> <div class='evcal_evdata_cell'> <p><?php echo $addCalContent; ?> </p> </div> </div> </div></div></div> <?php echo $end; ?> </div> <?php $OT .= ob_get_clean(); // only learn more } else { if (!empty($object->learnmorelink)) { $OT .= "<div class='evo_metarow_learnM evorow bordb'>\r\n\t\t\t\t\t\t\t<a class='evcal_evdata_row evo_clik_row dark1 ' href='" . $object->learnmorelink . "' " . $object->learnmore_target . ">\r\n\t\t\t\t\t\t\t\t<span class='evcal_evdata_icons'><i class='fa " . get_eventON_icon('evcal__fai_006', 'fa-link', $evOPT) . "'></i></span>\r\n\t\t\t\t\t\t\t\t<h3 class='evo_h3'>" . eventon_get_custom_language($evoOPT2, 'evcal_evcard_learnmore2', 'Learn More') . "</h3>\r\n\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t" . $end . "</div>"; // only ICS } else { if ($addCaloptions != 'none') { ob_start(); //echo get_option('gmt_offset', 0).'ttt'; ?> <div class='evo_metarow_ICS evorow bordb evcal_evdata_row'> <span class="evcal_evdata_icons"><i class="fa fa-calendar"></i></span> <div class='evcal_evdata_cell'> <p><?php echo $addCalContent; ?> </p> </div><?php echo $end; ?> </div> <?php $OT .= ob_get_clean(); } } } break; // paypal link // paypal link case 'paypal': $text = !empty($object->text) ? $object->text : eventon_get_custom_language($evoOPT2, 'evcal_evcard_tix1', 'Buy ticket via Paypal'); $email = $object->email; $currency = !empty($evOPT['evcal_pp_cur']) ? $evOPT['evcal_pp_cur'] : false; if ($currency && $email) { // get proper time to append to event title $evodate = new evo_datetime(); $eventtime = $evodate->evo_date($object->estart, $object->evvals); ob_start(); ?> <div class='evo_metarow_paypal evorow evcal_evdata_row bordb evo_paypal'> <span class='evcal_evdata_icons'><i class='fa <?php echo get_eventON_icon('evcal__fai_007', 'fa-ticket', $evOPT); ?> '></i></span> <div class='evcal_evdata_cell'> <p><?php echo $text; ?> </p> <form target="_blank" name="_xclick" action="https://www.paypal.com/us/cgi-bin/webscr" method="post"> <input type="hidden" name="cmd" value="_xclick"> <input type="hidden" name="business" value="<?php echo $email; ?> "> <input type="hidden" name="currency_code" value="<?php echo $currency; ?> "> <input type="hidden" name="item_name" value="<?php echo $object->title . ' ' . $eventtime; ?> "> <input type="hidden" name="amount" value="<?php echo $object->price; ?> "> <input type='submit' class='evcal_btn' value='<?php echo eventon_get_custom_language($evoOPT2, 'evcal_evcard_btn1', 'Buy Now'); ?> '/> </form> </div><?php echo $end; ?> </div> <?php $OT .= ob_get_clean(); } break; } // end switch // for custom meta data fields if (!empty($object->x) && $box_f == 'customfield' . $object->x) { $i18n_name = eventon_get_custom_language($evoOPT2, 'evcal_cmd_' . $object->x, $evOPT['evcal_ec_f' . $object->x . 'a1']); if ($object->visibility_type == 'admin' && !current_user_can('manage_options') || $object->visibility_type == 'loggedin' && !is_user_logged_in()) { continue; } $OT .= "<div class='evo_metarow_cusF{$object->x} evorow evcal_evdata_row bordb evcal_evrow_sm '>\r\n\t\t\t\t\t\t<span class='evcal_evdata_custometa_icons'><i class='fa " . $object->imgurl . "'></i></span>\r\n\t\t\t\t\t\t<div class='evcal_evdata_cell'>\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t<h3 class='evo_h3'>" . $i18n_name . "</h3>"; if ($object->type == 'button') { $_target = !empty($object->_target) && $object->_target == 'yes' ? 'target="_blank"' : null; $OT .= "<a href='" . $object->valueL . "' {$_target} class='evcal_btn evo_cusmeta_btn'>" . $object->value . "</a>"; } else { $OT .= "<div class='evo_custom_content evo_data_val'>" . $eventon->frontend->filter_evo_content($object->value) . "</div>"; } $OT .= "</div>" . $end . "</div>"; } $count++; } // end foreach return $OT; }
/* * The template for displaying event categoroes - event organizer * * Override this template by coping it to ../yourtheme/eventon/ folder * @Author: AJDE * @EventON * @version: 0.1 */ global $eventon; get_header(); $tax = get_query_var('taxonomy'); $term = get_query_var('term'); $term = get_term_by('slug', $term, $tax); do_action('eventon_before_main_content'); //$term_meta = get_option( "taxonomy_".$term->term_id ); $term_meta = evo_get_term_meta('event_organizer', $term->term_id); // organizer image $img_url = false; if (!empty($term_meta['evo_org_img'])) { $img_url = wp_get_attachment_image_src($term_meta['evo_org_img'], 'full'); $img_url = $img_url[0]; } $organizer_link_a = !empty($term_meta['evcal_org_exlink']) ? '<a target="_blank" href="' . $term_meta['evcal_org_exlink'] . '">' : false; $organizer_link_b = $organizer_link_a ? '</a>' : false; ?> <div id="content" class='evo_location_card evo_organizer_card'> <div class="hentry"> <div class='eventon entry-content'> <div class="evo_location_tax" style='background-image:url(<?php echo $img_url;