$this->wpdb->query( "DELETE FROM " . GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "locations" );
$Recurrences = new GlmDataEventsRecurrences($this->wpdb, $this->config);
$return = '';
- $sql = "
- SELECT *
- FROM {$this->settings['schema']}.{$this->settings['tablename']}
- WHERE edate >= '{$this->settings['sdate']}'::DATE";
+ $oldEventFormat = ($this->settings['tablename'] == 'event');
+ if ( $oldEventFormat ) {
+ $sql = "
+ SELECT *
+ FROM {$this->settings['schema']}.{$this->settings['tablename']}
+ WHERE edate >= '{$this->settings['sdate']}'::DATE";
+ } else {
+ $sql = "
+ SELECT *
+ FROM {$this->settings['schema']}.{$this->settings['tablename']}
+ WHERE ending >= '{$this->settings['sdate']}'::DATE";
+ $prepareSql = "
+ SELECT filename,urltext
+ FROM {$this->settings['schema']}.files
+ WHERE event = :eid";
+ $getFileData = $this->dbh->prepare($prepareSql);
+ }
//$sql .=" AND file != '' ";
+ $this->wpdb->show_errors();
+ echo '<pre>$sql: ' . print_r($sql, true) . '</pre>';
try {
$events = $this->dbh->query($sql)->fetchAll(PDO::FETCH_ASSOC);
$return .= '<pre>$events: ' . print_r($events, true) . '</pre>';
foreach ( $events as $event ) {
$foundMemberId = $refType = null;
- if ( $event['member_id'] ) {
+ $memberId = (isset($event['member_id'])) ? $event['member_id'] : $event['member'];
+ if ( $memberId ) {
// get the new member id
$sql = "
SELECT id
FROM " . GLM_MEMBERS_PLUGIN_DB_PREFIX . "members
- WHERE old_member_id = '" . esc_sql( trim($event['member_id']) ) . "'";
+ WHERE old_member_id = " . esc_sql( trim($memberId) );
$foundMemberId = $this->wpdb->get_row($sql, ARRAY_A);
if ( $foundMemberId ) {
$foundMemberId = $foundMemberId['id'];
$refType = $this->config['ref_type_numb']['Member'];
}
}
- var_dump($foundMemberId);
- // see if event is in there by old_event_id
- $sql = "
- SELECT id
- 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>';
- $intro = substr(strip_tags($event['descr']), 0, 250);
- if ( isset($found) ) {
- $this->wpdb->update(
- GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . 'events',
- array(
- 'status' => (($event['visable'])
- ? $this->config['status_numb']['Active']
- : $this->config['status_numb']['Inactive']),
- 'created' => $event['create_date'],
- 'updated' => $event['create_date'],
- 'approved' => $event['approved_date'],
- 'name' => $event['header'],
- 'intro' => $intro,
- 'descr' => $event['descr'],
- 'image' => $event['img'],
- 'file1' => $event['file'],
- 'file1_descr' => $event['filename'],
- 'cost' => $event['cost'],
- 'url' => $event['url'],
- 'ref_type' => $refType,
- 'ref_dest' => $foundMemberId,
- 'admin_name' => $event['admin_contact_name'],
- 'admin_org' => $event['admin_org_name'],
- 'admin_email' => $event['admin_email'],
- 'admin_phone' => $event['admin_phone'],
- 'contact_email' => $event['email'],
- 'contact_name' => $event['contact'],
- 'contact_phone' => $event['phone'],
- 'notes' => $event['notes'],
- 'hide_address' => $event['notes'],
- ),
- array( 'old_event_id' => $event['id'] ),
- array(
- '%d',
- '%s',
- '%s',
- '%s',
- '%s',
- '%s',
- '%s',
- '%s',
- '%s',
- '%s',
- '%s',
- '%s',
- '%d',
- '%d',
- '%s',
- '%s',
- '%s',
- '%s',
- '%s',
- '%s',
- '%s',
- '%s',
- '%s',
- ),
- array( '%d' )
+ if ( $oldEventFormat ) {
+ $intro = substr(strip_tags($event['descr']), 0, 250);
+ $eventData = array(
+ 'status' => (($event['visable'] == '1')
+ ? $this->config['status_numb']['Active']
+ : $this->config['status_numb']['Inactive']),
+ 'created' => $event['create_date'],
+ 'updated' => $event['create_date'],
+ 'approved' => $event['approved_date'],
+ 'name' => $event['header'],
+ 'intro' => $intro,
+ 'descr' => $event['descr'],
+ 'image' => $event['img'],
+ 'file1' => $event['file'],
+ 'file1_descr' => $event['filename'],
+ 'cost' => $event['cost'],
+ 'url' => $event['url'],
+ 'old_event_id' => $event['id'],
+ 'ref_type' => $refType,
+ 'ref_dest' => $foundMemberId,
+ 'admin_name' => $event['admin_contact_name'],
+ 'admin_org' => $event['admin_org_name'],
+ 'admin_email' => $event['admin_email'],
+ 'admin_phone' => $event['admin_phone'],
+ 'contact_email' => $event['email'],
+ 'contact_name' => $event['contact'],
+ 'contact_phone' => $event['phone'],
+ 'notes' => $event['notes'],
+ 'hide_address' => $event['hide_address'],
+ );
+ $eventDataFormat = array(
+ '%d',
+ '%s',
+ '%s',
+ '%s',
+ '%s',
+ '%s',
+ '%s',
+ '%s',
+ '%s',
+ '%s',
+ '%s',
+ '%s',
+ '%d',
+ '%d',
+ '%d',
+ '%s',
+ '%s',
+ '%s',
+ '%s',
+ '%s',
+ '%s',
+ '%s',
+ '%s',
+ '%d',
);
- $eventId = $found['id'];
} else {
+ $getFileData->bindParam(':eid', $event['id'], PDO::PARAM_INT);
+ $getFileData->execute();
+ $file = $filename = '';
+ $fileData = $getFileData->fetch(PDO::FETCH_ASSOC);
+ if ($fileData ) {
+ $file = $fileData['filename'];
+ $filename = $fileData['urltext'];
+ }
+ $intro = ($event['intro'])
+ ? substr(strip_tags($event['intro']), 0, 250)
+ : substr(strip_tags($event['description']), 0, 250);
$eventData = array(
- 'status' => (($event['visable'] == '1')
- ? $this->config['status_numb']['Active']
- : $this->config['status_numb']['Inactive']),
- 'created' => $event['create_date'],
- 'updated' => $event['create_date'],
- 'approved' => $event['approved_date'],
- 'name' => $event['header'],
- 'intro' => $intro,
- 'descr' => $event['descr'],
- 'image' => $event['img'],
- 'file1' => $event['file'],
- 'file1_descr' => $event['filename'],
- 'cost' => $event['cost'],
- 'url' => $event['url'],
- 'old_event_id' => $event['id'],
- 'ref_type' => $refType,
- 'ref_dest' => $foundMemberId,
- 'admin_name' => $event['admin_contact_name'],
- 'admin_org' => $event['admin_org_name'],
- 'admin_email' => $event['admin_email'],
- 'admin_phone' => $event['admin_phone'],
- 'contact_email' => $event['email'],
- 'contact_name' => $event['contact'],
- 'contact_phone' => $event['phone'],
- 'notes' => $event['notes'],
- 'hide_address' => $event['notes'],
- );
- echo '<pre>$eventData: ' . print_r($eventData, true) . '</pre>';
- echo '</pre>';
- $this->wpdb->insert(
- GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . 'events',
- $eventData,
- array(
- '%d',
- '%s',
- '%s',
- '%s',
- '%s',
- '%s',
- '%s',
- '%s',
- '%s',
- '%s',
- '%s',
- '%s',
- '%d',
- '%d',
- '%d',
- '%s',
- '%s',
- '%s',
- '%s',
- '%s',
- '%s',
- '%s',
- '%s',
- '%s',
- )
+ 'status' => (($event['active'] == '1')
+ ? $this->config['status_numb']['Active']
+ : $this->config['status_numb']['Inactive']),
+ 'created' => $event['created'],
+ 'updated' => $event['updated'],
+ 'approved' => $event['approved'],
+ 'name' => $event['header'],
+ 'intro' => $intro,
+ 'descr' => $event['description'],
+ 'image' => $event['image'],
+ 'file1' => $file,
+ 'file1_descr' => $filename,
+ 'cost' => $event['cost'],
+ 'url' => $event['website'],
+ 'old_event_id' => $event['id'],
+ 'ref_type' => $refType,
+ 'ref_dest' => $foundMemberId,
+ 'admin_name' => $event['admin_contact'],
+ 'admin_org' => $event['admin_org'],
+ 'admin_email' => $event['admin_email'],
+ 'admin_phone' => $event['admin_phone'],
+ 'contact_email' => $event['contact_email'],
+ 'contact_name' => $event['contact_name'],
+ 'contact_phone' => $event['contact_phone'],
+ 'notes' => $event['notes'],
+ 'hide_address' => $event['hide_address'],
+ 'use_member_location' => $event['use_memberloc']
+ );
+ $eventDataFormat = array(
+ '%d',
+ '%s',
+ '%s',
+ '%s',
+ '%s',
+ '%s',
+ '%s',
+ '%s',
+ '%s',
+ '%s',
+ '%s',
+ '%s',
+ '%d',
+ '%d',
+ '%d',
+ '%s',
+ '%s',
+ '%s',
+ '%s',
+ '%s',
+ '%s',
+ '%s',
+ '%s',
+ '%d',
+ '%d',
);
- $eventId = $this->wpdb->insert_id;
- //var_dump( $eventId );
- //echo '<pre>$eventId: from insert ' . print_r($eventId, true) . '</pre>';
- if ( !$eventId ) {
- echo '<pre>SQL Error: ' . $this->wpdb->last_error . '</pre>';
- }
+ }
+
+ echo '<pre>$eventData: ' . print_r($eventData, true) . '</pre>';
+ echo '</pre>';
+ $this->wpdb->insert(
+ GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . 'events',
+ $eventData,
+ $eventDataFormat
+ );
+ $eventId = $this->wpdb->insert_id;
+ var_dump( $eventId );
+ echo '<pre>$eventId: from insert ' . print_r($eventId, true) . '</pre>';
+ if ( !$eventId ) {
+ echo '<pre>SQL Error: ' . $this->wpdb->last_error . '</pre>';
+ echo '<pre>SQL Error: ' . $this->wpdb->print_error() . '</pre>';
}
// checking for $eventId
//echo '<pre>$eventId: ' . print_r($eventId, true) . '</pre>';
)
);
}
+ if ( $event['category'] ) {
+ $this->wpdb->insert(
+ GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . 'event_categories',
+ array(
+ 'event' => $eventId,
+ 'category' => $this->oldCatMap[$event['category']]
+ ),
+ array(
+ '%d',
+ '%d'
+ )
+ );
+ }
// recurrences for the event
- $recurringEvent = $event['reacur'];
- if ( $recurringEvent && ( $event['bdate'] == $event['edate'] ) ) {
- $recurringEvent = 0;
+ if (isset($event['reacur'])) {
+ $recurringEvent = $event['reacur'];
+ if ( $recurringEvent && ( $event['bdate'] == $event['edate'] ) ) {
+ $recurringEvent = 0;
+ }
+ } else {
+ $recurringEvent = $event['recurr'];
+ if ( $recurringEvent && ( $event['starting'] == $event['ending'] ) ) {
+ $recurringEvent = 0;
+ }
}
$dayOfWeek =
$monthOfYear =
}
$monthOfYear = 4095;
}
- $btime = $this->getTime($event['btime']);
- $etime = $this->getTime($event['etime']);
+ if ( isset($event['btime']) ) {
+ $btime = $this->getTime($event['btime']);
+ $etime = $this->getTime($event['etime']);
+ } else {
+ $btime = $this->getTime($event['starthour']);
+ $etime = $this->getTime($event['endhour']);
+ }
$startTimeOnly = ($btime && !$etime);
if ( $startTimeOnly ) {
$etime = $btime;
}
- $allDay = ( $event['all_day'] || !$btime );
+ if ( isset($event['all_day']) ) {
+ $allDay = ( $event['all_day'] || !$btime );
+ } else {
+ $allDay = ( $event['allday'] || !$btime );
+ }
+ if (isset($event['bdate'])) {
+ $fromDate = $event['bdate'];
+ $toDate = $event['edate'];
+ } else {
+ $fromDate = $event['starting'];
+ $toDate = $event['ending'];
+ }
$recurData =array(
'event' => $eventId,
'name' => 'Imported Event Schedule',
'start_time' => $btime,
'end_time' => $etime,
'start_time_only' => $startTimeOnly,
- 'from_date' => $event['bdate'],
- 'to_date' => $event['edate'],
+ 'from_date' => $fromDate,
+ 'to_date' => $toDate,
'all_day' => $allDay,
'recurring' => $recurringEvent,
'month_of_year' => $monthOfYear,
$Recurrences->createRecurrenceTimesEntries( $recurId, true, true );
// location for the event
$hasLocation = (
- ($event['loc'])
+ ($event['loc'] || $event['place'])
|| ($event['contact'])
|| ($event['phone'])
|| ($event['url'])
$locationData = $locationFormat = array();
$locationData['event'] = $eventId;
$locationFormat[] = '%d';
+ if ($event['place']) {
+ $locationData['name'] = $event['place'];
+ $locationFormat[] = '%s';
+ }
if ($event['loc']) {
$locationData['name'] = $event['loc'];
$locationFormat[] = '%s';
$locationData['lon'] = $event['lon'];
$locationFormat[] = '%s';
}
- if ($event['contact']) {
- // break up the contact name db is expecting first and
- // last name separately
- list( $firstName, $lastName ) = explode( ' ', $event['contact'], 2 );
- $locationData['contact_fname'] = $firstName;
- $locationFormat[] = '%s';
- $locationData['contact_lname'] = $lastName;
- $locationFormat[] = '%s';
- }
- if ($event['phone']) {
- $locationData['contact_phone'] = $event['phone'];
- $locationFormat[] = '%s';
- }
- if ($event['email']) {
- $locationData['contact_email'] = $event['email'];
- $locationFormat[] = '%s';
- }
$this->wpdb->insert(
GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . 'locations',
$locationData,