From: Steve Sutton Date: Thu, 23 Jun 2016 15:12:56 +0000 (-0400) Subject: Updating the event time.ly import script X-Git-Tag: v1.2.14^2~7 X-Git-Url: http://cvs2.gaslightmedia.com/gitweb/?a=commitdiff_plain;h=633ee70c6ad5fe86b23c4ea59db942a4ff954c75;p=WP-Plugins%2Fglm-member-db-events.git Updating the event time.ly import script Fixing the issues with importing events from explorewestern. They had several events that are YEARLY ones with no months selected from time.ly. Also an issue with the start and end date going over to next day. The timestamp in time.ly was spaning two days but their admin only reported that it was from to same date. --- diff --git a/models/admin/management/events.php b/models/admin/management/events.php index 4ed0640..acca69c 100644 --- a/models/admin/management/events.php +++ b/models/admin/management/events.php @@ -1109,6 +1109,9 @@ class GlmMembersAdmin_management_events extends GlmDataEventsManagement if ( !empty( $results ) ) { foreach ( $results as $post ) { + if ( $debug ) { + echo '
'; + } ++$event_counter; //echo '
$post: ' . print_r($post, true) . '
'; $sql = " @@ -1192,9 +1195,6 @@ class GlmMembersAdmin_management_events extends GlmDataEventsManagement '%s', '%s', ); - if ( $debug ) { - //$this->wpdb->show_errors(); - } $is_insert = $this->wpdb->insert( GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . 'events', $event_import_data, @@ -1231,6 +1231,7 @@ class GlmMembersAdmin_management_events extends GlmDataEventsManagement ); } if ( $debug ) { + echo '
$event_data: ' . print_r($event_data, true) . '
'; echo '
$categories: ' . print_r($categories, true) . '
'; } @@ -1249,14 +1250,36 @@ class GlmMembersAdmin_management_events extends GlmDataEventsManagement $week_of_month = 63; $custom_times = array(); + $curZone = date_default_timezone_get(); + if ( $debug ) { + echo '
$curZone: ' . print_r($curZone, true) . '
'; + } + if ( $event_data['timezone_name'] ) { + date_default_timezone_set( $event_data['timezone_name'] ); + } + $curZone = date_default_timezone_get(); + if ( $debug ) { + echo '
$curZone: ' . print_r($curZone, true) . '
'; + } $from_date = date( 'Y-m-d', $event_data['start'] ); if ( $debug ) { echo '
$from_date: ' . print_r($from_date, true) . '
'; + $from_date_time = date( 'Y-m-d H:m:s', $event_data['start'] ); + echo '
$from_date_time: ' . print_r($from_date_time, true) . '
'; } $to_date = date( 'Y-m-d', $event_data['end'] ); + // check if the $to_date has 0 hr + // if the btime and etime are 00:00 then remove one day from $to_date + if ( date( 'H', $event_data['end'] ) === '00' ) { + $ending_datetime = new DateTime( $to_date ); + $ending_datetime->modify('- 1 day'); + $to_date = $ending_datetime->format( 'Y-m-d' ); + } if ( $debug ) { echo '
$to_date: ' . print_r($to_date, true) . '
'; + $to_date_time = date( 'Y-m-d H:m:s', $event_data['end'] ); + echo '
$to_date_time: ' . print_r($to_date_time, true) . '
'; } $btime = date( 'H:i', $event_data['start'] ); if ( $debug ) { @@ -1265,7 +1288,8 @@ class GlmMembersAdmin_management_events extends GlmDataEventsManagement $etime = date( 'H:i', $event_data['end'] ); if ( $debug ) { echo '
$etime: ' . print_r($etime, true) . '
'; - } + } + if ( $event_data['recurrence_rules'] ) { $recurring_event = 1; @@ -1325,27 +1349,68 @@ class GlmMembersAdmin_management_events extends GlmDataEventsManagement break; case "YEARLY": - $yearly_events++; - $selected_from_date = substr($from_date, -2); - $selected_from_date--; - $selected_to_date = substr($to_date, -2); - $selected_to_date--; - $month_sum = 0; - $yearly = $recurrence_rules[1]; - $yearly = substr($yearly,8); - $month_ints = explode(',', $yearly); - foreach($month_ints as $ints){ - $ints--; - $ints = pow(2, $ints); - $month_sum += $ints; - } - $month_of_year = $month_sum; - if($selected_from_date == $selected_to_date){ - $selected_to_date++; - } - $day_of_month = pow(2,$selected_from_date ) + pow(2, $selected_to_date); - if($month_sum){ - $by_day_of_month = 1; + if ( $recurrence_rules[1] ) { + $yearly_events++; + $selected_from_date = substr($from_date, -2); + $selected_from_date--; + $selected_to_date = substr($to_date, -2); + $selected_to_date--; + $month_sum = 0; + $yearly = $recurrence_rules[1]; + $yearly = substr($yearly,8); + $month_ints = explode(',', $yearly); + if ( $debug ) { + echo '
$month_ints: ' . print_r($month_ints, true) . '
'; + } + foreach($month_ints as $ints){ + $ints--; + $ints = pow(2, $ints); + $month_sum += $ints; + } + $month_of_year = $month_sum; + if ( $debug ) { + echo '
$month_of_year: ' . print_r($month_of_year, true) . '
'; + } + if($selected_from_date == $selected_to_date){ + $selected_to_date++; + } + $day_of_month = pow(2,$selected_from_date ) + pow(2, $selected_to_date); + if ( $debug ) { + echo '
$day_of_month: ' . print_r($day_of_month, true) . '
'; + } + if($month_sum){ + $by_day_of_month = 1; + } + } else { + $ints = 0; + $month_sum = 0; + // get the month and day of month from $from_date and $to_date + $start_month = date( 'n', strtotime( $from_date ) ); + $end_month = date( 'n', strtotime( $to_date ) ); + for ( $index = ( $start_month - 1 ); $index <= ( $end_month -1 ); ++$index ) { + $ints = pow( 2, $index ); + $month_sum += $ints; + } + $month_of_year = $month_sum; + // Now do the day_of_month + $ints = 0; + $day_of_month = 0; + $start_day = date( 'j', strtotime( $from_date ) ); + if ( $debug ) { + echo '
$start_day: ' . print_r($start_day, true) . '
'; + } + $end_day = date( 'j', strtotime( $to_date ) ); + if ( $debug ) { + echo '
$end_day: ' . print_r($end_day, true) . '
'; + } + for ( $index = ( $start_day - 1); $index <= ( $end_day -1 ); ++$index ) { + $ints = pow( 2, $index ); + $day_of_month += $ints; + } + + if($day_of_month){ + $by_day_of_month = 1; + } } break; case "MONTHLY": @@ -1565,6 +1630,9 @@ class GlmMembersAdmin_management_events extends GlmDataEventsManagement die('no return id for location'); } } + if ( $debug ) { + echo '
'; + } } $return_string .= "

Adding $event_counter Events

"; }