import WIP
authorSteve Sutton <steve@gaslightmedia.com>
Tue, 15 Mar 2016 21:10:12 +0000 (17:10 -0400)
committerSteve Sutton <steve@gaslightmedia.com>
Tue, 15 Mar 2016 21:10:12 +0000 (17:10 -0400)
for events

models/admin/management/events.php

index 78ed974..eee64a0 100644 (file)
@@ -15,6 +15,7 @@
 
 // Load Management Events data abstract
 require_once GLM_MEMBERS_EVENTS_PLUGIN_CLASS_PATH.'/data/dataManagement.php';
+require_once(GLM_MEMBERS_EVENTS_PLUGIN_CLASS_PATH.'/data/dataRecurrences.php');
 
 /**
  * GlmMembersAdmin_management_packaging
@@ -433,10 +434,12 @@ class GlmMembersAdmin_management_events extends GlmDataEventsManagement
 
     public function addEvents()
     {
+        $Recurrences = new GlmDataEventsRecurrences($this->wpdb, $this->config);
         $sql = "
         SELECT *
           FROM {$this->settings['schema']}.{$this->settings['tablename']}
          WHERE edate >= '{$this->settings['sdate']}'::DATE";
+        $sql .= " AND reacur ";
         try {
             $events = $this->dbh->query($sql)->fetchAll(PDO::FETCH_ASSOC);
             $return .= '<pre>$events: ' . print_r($events, true) . '</pre>';
@@ -447,6 +450,7 @@ class GlmMembersAdmin_management_events extends GlmDataEventsManagement
                   FROM " . GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "events
                  WHERE old_event_id = '" . esc_sql( trim($event['id']) ) . "'";
                 $found = $this->wpdb->get_row($sql, ARRAY_A);
+                echo '<pre>$found: ' . print_r($found, true) . '</pre>';
                 if ( isset($found) ) {
                     $this->wpdb->update(
                         GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . 'events',
@@ -458,6 +462,7 @@ class GlmMembersAdmin_management_events extends GlmDataEventsManagement
                             'updated'      => $event['create_date'],
                             'approved'     => $event['approved_date'],
                             'name'         => $event['header'],
+                            'intro'        => $event['descr'],
                             'descr'        => $event['descr'],
                             'image'        => $event['image'],
                         ),
@@ -470,9 +475,11 @@ class GlmMembersAdmin_management_events extends GlmDataEventsManagement
                              '%s',
                              '%s',
                              '%s',
+                             '%s',
                         ),
                         array( '%d' )
                     );
+                    $eventId  = $found['id'];
                 } else {
                     $this->wpdb->insert(
                         GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . 'events',
@@ -484,6 +491,7 @@ class GlmMembersAdmin_management_events extends GlmDataEventsManagement
                             'updated'      => $event['create_date'],
                             'approved'     => $event['approved_date'],
                             'name'         => $event['header'],
+                            'intro'        => $event['descr'],
                             'descr'        => $event['descr'],
                             'image'        => $event['image'],
                             'old_event_id' => $event['id']
@@ -496,10 +504,84 @@ class GlmMembersAdmin_management_events extends GlmDataEventsManagement
                              '%s',
                              '%s',
                              '%s',
+                             '%s',
                              '%d',
                         )
                     );
+                    $eventId  = $this->wpdb->insert_id;
+                    echo '<pre>$eventId: from insert ' . print_r($eventId, true) . '</pre>';
+                    if ( !$eventId ) {
+                        echo $this->wpdb->last_error;
+                    }
+                }
+                echo '<pre>$eventId: ' . print_r($eventId, true) . '</pre>';
+                if (!$eventId) {
+                    die('something is wrong no eventId');
+                }
+                $allDates  = !$event['reacur'];
+                $allDay    = $event['all_day'];
+                $dayOfWeek =
+                $monthOfYear =
+                $weekOfMonth =
+                $byDayOfMonth =
+                $lastDayOfMonth = null;
+                if ( !$allDates ) {
+                    if ( $event['daysow'] ) {
+                        $dayOfWeek = $event['daysow'];
+                    }
+                    if ( $event['weekom'] ) {
+                        switch ($event['weekom']) {
+                        case '1':
+                            $weekOfMonth = 1;
+                            break;
+                        case '2':
+                            $weekOfMonth = 2;
+                            break;
+                        case '3':
+                            $weekOfMonth = 4;
+                            break;
+                        case '4':
+                            $weekOfMonth = 6;
+                            break;
+                        }
+                    } else {
+                        $weekOfMonth = 63;
+                    }
+                    $monthOfYear = 4095;
                 }
+                $this->wpdb->insert(
+                    GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . 'recurrences',
+                    array(
+                        'event'             => $eventId,
+                        'start_time'        => $event['bdate'],
+                        'end_time'          => $event['bdate'],
+                        'from_date'         => $event['bdate'],
+                        'to_date'           => $event['edate'],
+                        'all_day'           => $allDay,
+                        'all_dates'         => $allDates,
+                        'month_of_year'     => $monthOfYear,
+                        'week_of_month'     => $weekOfMonth,
+                        'day_of_week'       => $dayOfWeek,
+                        'by_day_of_month'   => $byDayOfMonth,
+                        'last_day_of_month' => $lastDayOfMonth
+                    ),
+                    array(
+                         '%d',
+                         '%s',
+                         '%s',
+                         '%s',
+                         '%s',
+                         '%d',
+                         '%d',
+                         '%d',
+                         '%d',
+                         '%d',
+                         '%d',
+                         '%d',
+                    )
+                );
+                $recurId    = $this->wpdb->insert_id;
+                $Recurrences->createRecurrenceTimesEntries( $recurId, true, true );
             }
         } catch(PDOException $e) {
             echo '<pre>$e: ' . print_r($e, true) . '</pre>';