コード例 #1
0
ファイル: class-evo-ajax.php プロジェクト: pab44/pab44
 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";
     }
 }
コード例 #2
0
/*
 *	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;
コード例 #3
0
    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 
    }
コード例 #4
0
    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 
    }
コード例 #5
0
ファイル: class-admin-ajax.php プロジェクト: pab44/pab44
 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();
 }
コード例 #6
0
    /** 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;
    }
コード例 #7
0
ファイル: eventon_eventCard.php プロジェクト: pab44/pab44
/**
 * 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&amp;event_id=' . $object->event_id . '&amp;sunix=' . $object->estart . '&amp;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;
}
コード例 #8
0
/*
 *	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;