PDA

View Full Version : event datamanager


loneranger
02-03-2008, 11:00 AM
hi
i have used the code from calanders.php to try and insert an event into the calander but i keep getting internet explorer can not display the page so no errors and no clue i have included the code below.
$eventdata = new vB_DataManager_Event($vbulletin, ERRTYPE_STANDARD);

$eventdata->set_info('fromtime', 1530);

$eventdata->set_info('fromdate', $date_event);

$eventdata->set_info('type', 'single');
$eventdata->set_info('recur', 0);

$eventdata->set('title', "Clan Match");
$eventdata->set('event', "Clan Match ");
$eventdata->set('allowsmilies', false);
$eventdata->set('utc', 0);
$eventdata->set('recurring', 0);
$eventdata->set('calendarid', 1);
$eventdata->set('dst', 0);

$eventdata->set('visible', 1);
$eventdata->set('userid', $vbulletin->userinfo['userid']);
$eventdata->set('calendarid', 1);

$eventid = $eventdata->save();

Dismounted
02-03-2008, 11:23 AM
How are you running the code?

loneranger
02-03-2008, 02:58 PM
this is inside the admincp in a file where all my admin code is i have already used the thread and pm datamanagers alright

got it sorted now unsure what the problem was

nautiboy
06-17-2008, 07:15 PM
You've probably figured out your problem by now, but for anyone else that might be trying to do this, I finally got it working. The biggest problem I had was getting the date and time formats correct, and also figuring out that choosing a type of 'single' meant that you couldn't set the time (single is apparently just for all-day events).

Here's the code I have for inserting a calendar entry:


function addEvent($date, $title, $info, $userid) {
global $vbulletin;

$eventdata = new vB_DataManager_Event($vbulletin, ERRTYPE_STANDARD);

$timeStamp = strtotime($date);
// I think I should use vbdate here, but until I figure that out, I'm
// doing it myself
$fromTime = array(
'defined' => date('g_i_A', $timeStamp)
);
$toTime = $fromTime;
$fromDate = array(
'month' => date('m', $timeStamp),
'day' => date('d', $timeStamp),
'year' => date('Y', $timeStamp)
);
$toDate = $fromDate;

// note you don't want 'single' unless it's an all-day event
$eventdata->set_info('type', '');
$eventdata->set_info('recur', 0);

$eventdata->setr_info('fromtime', $fromTime);
$eventdata->setr_info('totime', $toTime);
$eventdata->setr_info('fromdate', $fromDate);
$eventdata->setr_info('todate', $toDate);


$eventdata->set('title', $title);
$eventdata->set('event', $info);
$eventdata->set('allowsmilies', false);
$eventdata->set('utc', -8);
$eventdata->set('recurring', 0);
$eventdata->set('calendarid', BAUE_CALENDAR_ID);
$eventdata->set('dst', 1);

$eventdata->set('visible', 1);
$eventdata->set('userid', $userid);

$userfields = array();
$eventdata->set_userfields($userfields);

// error checks
$eventdata->pre_save();
if (!empty($eventdata->errors)) {
echo $eventdata->errors;
} else {
echo "Success <br>\n";
}

$eventid = $eventdata->save();


}