<?php
/*=====================================================================*\
|| ###################################################################
|| # Kalens [#]version[#]
|| # Copyright ©2002-[#]year[#] Iris Studios, Inc.
|| #
|| # This program is free software; you can redistribute it and/or modify
|| # it under the terms of the GNU General Public License as published by
|| # the Free Software Foundation; version [#]gpl[#] of the License.
|| #
|| # This program is distributed in the hope that it will be useful, but
|| # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|| # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|| # more details.
|| #
|| # You should have received a copy of the GNU General Public License along
|| # with this program; if not, write to the Free Software Foundation, Inc.,
|| # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|| ###################################################################
\*=====================================================================*/
define('SVN', '$Id$');
$cachetemplates = array(
'select_option'
);
require_once('./global.php');
require_once('./includes/api_event.php');
require_once('./includes/api_eventremoved.php');
require_once('./includes/functions_lists.php');
APIError(array(APIErrorHandler, 'UserError'));
// ###################################################################
if (empty($_REQUEST['do']))
{
$_REQUEST['do'] = 'edit';
}
// ###################################################################
if ($_REQUEST['do'] == 'kill')
{
$event = new EventRemovedAPI($kalens);
if ($kalens->in['eventid'])
{
$oldevent = new EventAPI($kalens);
$oldevent->set('eventid', $kalens->in['eventid']);
$oldevent->set_condition();
$oldevent->fetch();
$event->set('eventid', $kalens->in['eventid']);
$event->set('name', $oldevent->objdata['name']);
$event->set('userid', $kalens->userinfo['userid']);
$event->set('calendarid', $oldevent->objdata['calendarid']);
$event->set('startstamp', $kalens->in['stamp']);
$event->set('endstamp', $kalens->in['stamp']);
$event->set('removed', true);
$event->insert();
}
else
{
$event->set('removalid', $kalens->in['removalid']);
$event->set_condition();
$event->set('removed', true);
$event->update();
}
}
// ###################################################################
if ($_REQUEST['do'] == 'delete')
{
$delete = array(
'eventid' => $kalens->input_clean('eventid', TYPE_UINT),
'stamp' => gmmktime(0, 0, 0, $kalens->input_clean('month', TYPE_UINT), $kalens->input_clean('day', TYPE_UINT), $kalens->input_clean('year', TYPE_UINT)),
'removalid' => $kalens->input_clean('removalid', TYPE_UINT)
);
$script = 'eventremoved.php';
$fields = <<<JSON
{
"do": "kill",
"eventid": $delete[eventid],
"stamp": $delete[stamp],
"removalid": $delete[removalid]
}
JSON;
eval('$template->flush("' . $template->fetch('delete_event') . '");');
}
// ###################################################################
if ($_POST['do'] == 'update')
{
if ($kalens->in['start']['minutes'] > 59)
{
$kalens->in['start']['minutes'] = 59;
}
if ($kalens->in['end']['minutes'] > 59)
{
$kalens->in['end']['minutes'] = 59;
}
$event = new EventRemovedAPI($kalens);
$event->set('allday', $kalens->in['allday']);
$event->set('name', $kalens->in['name']);
$event->set('description', $kalens->in['description']);
if ($kalens->in['eventid'])
{
$oldevent = new EventAPI($kalens);
$oldevent->set('eventid', $kalens->in['eventid']);
$oldevent->set_condition();
$oldevent->fetch();
$basestamp = $kalens->input_clean('basestamp', TYPE_UINT);
$event->set('eventid', $kalens->in['eventid']);
$event->set('userid', $kalens->userinfo['userid']);
$event->set('calendarid', $oldevent->objdata['calendarid']);
$event->set('startstamp', gmmktime($kalens->in['start']['hour'], $kalens->in['start']['minutes'], 0, gmdate('m', $basestamp), gmdate('d', $basestamp), gmdate('Y', $basestamp)));
$event->set('endstamp', gmmktime($kalens->in['end']['hour'], $kalens->in['end']['minutes'], 0, gmdate('m', $basestamp), gmdate('d', $basestamp), gmdate('Y', $basestamp)));
$event->insert();
}
else if ($kalens->in['removalid'])
{
$event->set('removalid', $kalens->in['removalid']);
$event->set_condition();
$event->fetch();
$event->set('startstamp', gmmktime($kalens->in['start']['hour'], $kalens->in['start']['minutes'], 0, gmdate('m', $event->objdata['startstamp']), gmdate('d', $event->objdata['startstamp']), gmdate('Y', $event->objdata['startstamp'])));
$event->set('endstamp', gmmktime($kalens->in['end']['hour'], $kalens->in['end']['minutes'], 0, gmdate('m', $event->objdata['startstamp']), gmdate('d', $event->objdata['startstamp']), gmdate('Y', $event->objdata['startstamp'])));
$event->update();
}
}
// ###################################################################
if ($_REQUEST['do'] == 'add' OR $_REQUEST['do'] == 'edit')
{
$show['add'] = ($_REQUEST['do'] == 'add');
$show['removed'] = true;
if ($show['add'])
{
$event = new EventAPI($kalens);
$event->set('eventid', $kalens->in['eventid']);
$event->set_condition();
$event->fetch();
$event->values = $event->objdata;
$eventid = $event->values['eventid'];
$day = $kalens->input_clean('day', TYPE_UINT);
$month = $kalens->input_clean('month', TYPE_UINT);
$monthText = FetchMonthByNumber($month);
$year = $kalens->input_clean('year', TYPE_UINT);
$basestamp = gmmktime(0, 0, 0, $month, $day, $year);
}
else
{
$event = new EventRemovedAPI($kalens);
$event->set('removalid', $kalens->in['removalid']);
$event->set_condition();
$event->fetch();
$event->values = $event->objdata;
$day = gmdate('j', $event->objdata['startstamp']);
$monthText = FetchMonthByNumber(gmdate('m', $event->objdata['startstamp']));
$year = gmdate('Y', $event->objdata['startstamp']);
}
$hours['start'] = ConstructHourList(gmdate('H', $event->objdata['startstamp']));
$hours['end'] = ConstructHourList(gmdate('H', $event->objdata['endstamp']));
$minutes['start'] = gmdate('i', $event->objdata['startstamp']);
$minutes['end'] = gmdate('i', $event->objdata['endstamp']);
eval('$template->flush("' . $template->fetch('editevent') . '");');
}
/*=====================================================================*\
|| ###################################################################
|| # $HeadURL$
|| # $Id$
|| ###################################################################
\*=====================================================================*/
?>