Deprecated: Assigning the return value of new by reference is deprecated in /home/bluestat/public_html/source/index.php on line 477
Kalens - Blob - ViewGit - Blue Static
<?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$
|| ###################################################################
\*=====================================================================*/
?>