* @access public
*/
public $categories = array();
+ public $oldCatMap = array();
/**
* events
*
'%d'
)
);
- $this->categories[$this->wpdb->insert_id] = trim($category['name']);
+ $catid = $this->wpdb->insert_id;
+ $this->categories[$catid] = trim($category['name']);
+ $this->oldCatMap[$category['id']] = $catid;
} else {
$this->categories[$found['id']] = trim($category['name']);
+ $this->oldCatMap[$category['id']] = $found['id'];
}
}
} catch(PDOException $e) {
return $return;
}
+ public function getTime($time)
+ {
+ if (!$time) {
+ return false;
+ }
+ if (!preg_match('%(\d{1,2}):?(\d{2})? ?(\w{1,2})?%', $time, $timeParts)) {
+ //die('not found');
+ return false;
+ }
+ $hour = (!$timeParts[3] || in_array(strtolower(trim($timeParts[3])), array('pm', 'p')))
+ ? ( ((int)$timeParts[1] === 12) ? 12 : (int)$timeParts[1] += 12 )
+ : ( ((int)$timeParts[1] === 12) ? 0 : (int)$timeParts[1] );
+ // parse the hour from event
+ $dateTime = new DateTime();
+ $dateTime->setTime($hour, (int)$timeParts[2] );
+ return $dateTime->format('H:i');
+ }
+
public function addEvents()
{
+ // clear the events tables first
+ $this->wpdb->query( "DELETE FROM " . GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "events" );
+ $this->wpdb->query( "DELETE FROM " . GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "recurrences" );
+ $this->wpdb->query( "DELETE FROM " . GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "times" );
+ $this->wpdb->query( "DELETE FROM " . GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "event_categories" );
$Recurrences = new GlmDataEventsRecurrences($this->wpdb, $this->config);
- $sql = "
+ $return = '';
+ $sql = "
SELECT *
FROM {$this->settings['schema']}.{$this->settings['tablename']}
WHERE edate >= '{$this->settings['sdate']}'::DATE";
- $sql .= " AND reacur ";
+ $sql .=" AND reacur ";
try {
$events = $this->dbh->query($sql)->fetchAll(PDO::FETCH_ASSOC);
$return .= '<pre>$events: ' . print_r($events, true) . '</pre>';
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>';
+ $intro = substr(strip_tags($event['descr']), 0, 250);
if ( isset($found) ) {
$this->wpdb->update(
GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . 'events',
'updated' => $event['create_date'],
'approved' => $event['approved_date'],
'name' => $event['header'],
- 'intro' => $event['descr'],
+ 'intro' => $intro,
'descr' => $event['descr'],
'image' => $event['image'],
),
);
$eventId = $found['id'];
} else {
- $this->wpdb->insert(
- GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . 'events',
- array(
+ $eventData = array(
'status' => (($event['visable'] == '1')
? $this->config['status_numb']['active']
: $this->config['status_numb']['Inactive']),
'updated' => $event['create_date'],
'approved' => $event['approved_date'],
'name' => $event['header'],
- 'intro' => $event['descr'],
+ 'intro' => $intro,
'descr' => $event['descr'],
'image' => $event['image'],
'old_event_id' => $event['id']
- ),
+ );
+ echo '<pre>$eventData: ' . print_r($eventData, true) . '</pre>';
+ echo '<pre>var_dump ';
+ var_dump($eventData['intro']);
+ echo '</pre>';
+ $this->wpdb->insert(
+ GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . 'events',
+ $eventData,
array(
'%d',
'%s',
)
);
$eventId = $this->wpdb->insert_id;
+ var_dump( $eventId );
echo '<pre>$eventId: from insert ' . print_r($eventId, true) . '</pre>';
if ( !$eventId ) {
- echo $this->wpdb->last_error;
+ echo '<pre>SQL Error: ' . $this->wpdb->last_error . '</pre>';
}
}
echo '<pre>$eventId: ' . print_r($eventId, true) . '</pre>';
if (!$eventId) {
die('something is wrong no eventId');
}
+ if ( $event['topicid'] ) {
+ $this->wpdb->insert(
+ GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . 'event_categories',
+ array(
+ 'event' => $eventId,
+ 'category' => $this->oldCatMap[$event['topicid']]
+ ),
+ array(
+ '%d',
+ '%d'
+ )
+ );
+ }
$allDates = !$event['reacur'];
+ if ( !$allDates && ( $event['bdate'] == $event['edate'] ) ) {
+ $allDates = 1;
+ }
$allDay = $event['all_day'];
$dayOfWeek =
$monthOfYear =
$weekOfMonth = 4;
break;
case '4':
- $weekOfMonth = 6;
+ $weekOfMonth = 8;
+ break;
+ case '5':
+ $weekOfMonth = 16;
break;
}
} else {
}
$monthOfYear = 4095;
}
+ $btime = $this->getTime($event['btime']);
+ if ( $btime ) {
+ $btime = $event['bdate'] . ' ' . $btime;
+ } else {
+ $btime = $event['bdate'];
+ }
+ $etime = $this->getTime($event['etime']);
+ if ( $etime ) {
+ $etime = $event['edate'] . ' ' . $etime;
+ } else {
+ $etime = $event['edate'];
+ }
$this->wpdb->insert(
GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . 'recurrences',
array(
'event' => $eventId,
- 'start_time' => $event['bdate'],
- 'end_time' => $event['bdate'],
+ 'start_time' => $btime,
+ 'end_time' => $etime,
'from_date' => $event['bdate'],
'to_date' => $event['edate'],
'all_day' => $allDay,