[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Phpgroupware-cvs] calendar/class.event.php, 1.1.2.1
From: |
nomail |
Subject: |
[Phpgroupware-cvs] calendar/class.event.php, 1.1.2.1 |
Date: |
Thu, 20 May 2004 16:00:04 -0000 |
Update of /calendar
Added Files:
Branch: proposal-branch
class.event.php
date: 2004/04/16 21:21:51; author: seek3r; state: Exp; lines: +183 -0
Log Message:
bringing savannah cvs back up to date with what we were doing on our private
cvs server. We will not be doing dev from this cvs tree
=====================================================================
No syntax errors detected in -
=====================================================================
<?php
/**************************************************************************\
* phpGroupWare
*
* http://www.phpgroupware.org
*
* This file written by Dan Kuykendall <address@hidden> *
* Copyright (C) 2003 Dan Kuykendall
*
*
-------------------------------------------------------------------------*
* 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; either version 2 of the License, or (at
your *
* option) any later version.
*
\**************************************************************************/
/* $Id: class.event.php,v 1.1.2.1 2004/04/16 21:21:51 seek3r Exp $ */
/* $Source: /cvsroot/phpgroupware/calendar/Attic/class.event.php,v $ */
/*
This object will actually handle the event record and all the code to
convert
to and from icalendar formats.
It will also handle the code that will increment recurring events to
their next dates
*/
class calendar_event
{
var $event_id = 'NEW';
var $uid;
var $stamp = array();
var $start = array();
var $end = array('db'=>29991231000000,
'ical'=>'29991231T000000Z', 'array'=>array('year'=>2004, 'mon'=>12, 'mday'=>31,
'hours'=>0, 'minutes'=>0, 'seconds'=>0));
var $duration = '1H';
var $summary = '';
var $class = 'PUBLIC';
var $categories = 'APPOINTMENT';
var $rrule = 'NONE';
var $transp = 'VISIBLE';
function calendar_event()
{
$args = new safe_args();
$args->set('start', NOTSET, 'any');
$args->set('end', NOTSET, 'any');
$args->set('summary', '', 'any');
$args->set('uid', NOTSET, 'any');
$args->set('stamp', NOTSET, 'any');
$args->set('duration', NOTSET, 'any');
$args->set('class', NOTSET, 'any');
$args->set('categories', NOTSET, 'any');
$args->set('rrule', NOTSET, 'any');
$args->set('transp', NOTSET, 'any');
$args->set('event_id', NOTSET, 'any');
$args = $args->get(func_get_args());
$this->uid =
$GLOBALS['phpgw_data']['user']['lid'].'@localhost';
$this->stamp = $this->makedates($args['stamp']);
$this->start = $this->makedates($args['start']);
$this->end = $this->makedates($args['end']);
}
function parse_rrules($input)
{
}
function makedates($input)
{
if (!isset($input) || empty($input))
{
$curdate = getdate();
$input['year'] = $curdate['year'];
$input['mon'] = $curdate['mon'];
$input['mday'] = $curdate['mday'];
$input['hours'] = $curdate['hours'];
$input['minutes'] = $curdate['minutes'];
$input['seconds'] = $curdate['seconds'];
}
if(is_array($input))
{
$curdate = getdate();
if(!isset($input['year']))
{
$input['year'] = $curdate['year'];
}
if(!isset($input['mon']))
{
$input['mon'] = $curdate['mon'];
}
if(!isset($input['mday']))
{
$input['mday'] = $curdate['mday'];
}
if(!isset($input['hours']))
{
$input['hours'] = 0;
}
if(!isset($input['minutes']))
{
$input['minutes'] = 0;
}
if(!isset($input['seconds']))
{
$input['seconds'] = 0;
}
$result['array'] = $input;
}
else
{
ereg
('([0-9]{4})([0-9]{2})([0-9]{2})([0-9]{0,2})([0-9]{0,2})', $exdata, $regs);
(int)$result['array']['year'] =
substr($input,0,4);
(int)$result['array']['mon'] =
substr($input,4,2);
(int)$result['array']['mday'] =
substr($input,6,2);
$input = ereg_replace('T', '', $input);
$input = ereg_replace('Z', '', $input);
if(strlen($input) > 8)
{
(int)$result['array']['hours'] =
substr($input,8,2);
(int)$result['array']['minutes'] =
substr($input,10,2);
(int)$result['array']['seconds'] =
substr($input,12,2);
}
else
{
$result['array']['hours'] = 0;
$result['array']['minutes'] = 0;
$result['array']['seconds'] = 0;
}
}
$result['db'] =
$result['array']['year'].make2digit($result['array']['mon']).make2digit($result['array']['mday']).make2digit($result['array']['hours']).make2digit($result['array']['minutes']).make2digit($result['array']['seconds']);
$result['ical'] =
$result['array']['year'].make2digit($result['array']['mon']).make2digit($result['array']['mday']).'T'.make2digit($result['array']['hours']).make2digit($result['array']['minutes']).make2digit($result['array']['seconds']).'Z';
return $result;
}
function update()
{
$args = new safe_args();
$args->set('start', NOTSET, 'any');
$args->set('end', NOTSET, 'any');
$args->set('summary', '', 'any');
$args->set('uid', NOTSET, 'any');
$args->set('stamp', NOTSET, 'any');
$args->set('duration', NOTSET, 'any');
$args->set('class', NOTSET, 'any');
$args->set('categories', NOTSET, 'any');
$args->set('rrule', NOTSET, 'any');
$args->set('transp', NOTSET, 'any');
$args = $args->get(func_get_args());
}
function save()
{
$args = new safe_args();
$args->set('uid',
$GLOBALS['phpgw_data']['user']['lid'], 'any');
$args->set('stamp', NOTSET, 'any');
$args->set('start', NOTSET, 'any');
$args->set('end', 29991231, 'any');
$args->set('duration', '1H', 'any');
$args->set('summary', '', 'any');
$args->set('class', 'PUBLIC', 'any');
$args->set('categories', '', 'any');
$args->set('rrule', 'NONE', 'any');
$args->set('transp', 'VISIBLE', 'any');
$args = $args->get(func_get_args());
$curdate = phpgw_getdate();
if(!isset($args['stamp']))
{
$args['stamp'] =
$curdate['year'].$curdate['mon'].$curdate['mday'].'T'.$curdate['hours'].$curdate['minutes'].$curdate['seconds'].'Z';
}
if(!isset($args['start']))
{
$args['start'] =
$curdate['year'].$curdate['mon'].$curdate['mday'].$curdate['hours'].'0000';
settype ($args['start'],'integer');
}
$sql = "INSERT INTO phpgw_cal_events
(UID,DTSTAMP,DTSTART,DTEND,DURATION,SUMMARY,CLASS,CATEGORIES,RRULE,TRANSP)
VALUES
('".$args['uid']."','".$args['stamp']."',".$args['start'].",".$args['end'].",'".$args['duration']."','".$args['summary']."','".$args['class']."','".$args['categories']."','".$args['rrule']."','".$args['transp']."')";
$GLOBALS['phpgw']->db->Execute($sql);
$GLOBALS['msgbox']->add('Event added.', 'notice');
}
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Phpgroupware-cvs] calendar/class.event.php, 1.1.2.1,
nomail <=