[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Phpgroupware-cvs] phpgroupware/ipc_test_suite/sources/app/class.ipc_ca
From: |
nomail |
Subject: |
[Phpgroupware-cvs] phpgroupware/ipc_test_suite/sources/app/class.ipc_calendar.inc.php, 1.1.2.1 |
Date: |
Thu, 20 May 2004 13:13:19 -0000 |
Update of /phpgroupware/ipc_test_suite/sources/app
Added Files:
Branch: Version-0_9_16-branch
class.ipc_calendar.inc.php
date: 2004/04/05 19:42:00; author: mkaemmerer; state: Exp; lines: +160 -0
Log Message:
- updated to new version from dirk
=====================================================================
No syntax errors detected in -
=====================================================================
<?php
/**
* IPC Layer
* @author Dirk Schaller <address@hidden>
* @copyright Copyright (C) 2003-2004 Free Software Foundation, Inc.
http://www.fsf.org/
* @license http://www.gnu.org/licenses/lgpl.html GNU Lesser General
Public License
* @package phpgwapi
* @subpackage communication
* @version $Id: class.ipc_calendar.inc.php,v 1.1.2.1 2004/04/05
19:42:00 mkaemmerer Exp $
*/
/**
* Fassade of the calendar application.
* @package calendar
*/
class ipc_calendar extends ipc_
{
/**
* @var object $bo application business object
* @access private
*/
var $bo;
/**
* @var object $bo_iCal application business object for
iCalendar import/export
* @access private
*/
var $bo_iCal;
/**
* Constructor
*/
function ipc_calendar()
{
$this->bo =& CreateObject('calendar.bocalendar');
$this->bo_iCal =& CreateObject('calendar.boicalendar');
}
/**
* Add data in a certain mime type format to the application.
* @param mixed $data data for adding to the application, the
datatype depends on the mime type
* @param string $type specifies the mime type of the passed data
* @param string $version specifies the mime type version of the
passed data
* @return integer id of the added data
*/
function addData($data, $type, $version='')
{
// 1: mapping the mime type to application data
if(($type != 'text/x-ical') && ($type !=
'text/calendar'))
return false;
$data = ereg_replace("\n\n", "\r\n", $data); // xml-rpc
bug: \r\n -> \n\n
$data = ereg_replace("\r\n\r\n", "\r\n", $data); //
ical from calmeno
$data_lines = explode("\r\n", $data);
$id = $this->bo_iCal->import($data_lines, true);
return $id;
}
/**
* Get data from the application in a certain mime type format.
* @param integer $id id of data to get from the application
* @param string $type specifies the mime type of the returned
data
* @param string $version specifies the mime type version of the
returned data
* @return mixed data from application, the datatype depends on
the passed mime type, false if no data exists for the passed id
*/
function getData($id, $type, $version='')
{
if(($type != 'text/x-ical') && ($type !=
'text/calendar'))
return false;
if(!is_integer($id) || ($id<=0))
return false;
$data = $this->bo_iCal->export(array('l_event_id' =>
$id));
return $data;
}
/**
* Return a list with the available id's in the application.
* The optional lastmod parameter allows a limitations of the
data id list.
* The list contains all the id's of the modified data since the
passed lastmod timestamp.
* @param integer $lastmod last modification time, default is -1
and means return all data id's
* @return array list of data id's, if $lastmod is set, only
modified entry id's, else all id's returned
*/
function getIdList($lastmod=-1)
{
return $this->bo->so->cal->list_dirty_events($lastmod);
}
/**
* Remove data of the passed id.
* @param integer $id id of data to remove from the application
* @return boolean true if the data is removed, otherwise false
*/
function removeData($id)
{
if(!is_integer($id) || ($id<=0))
return false;
if($this->bo->delete_entry($id) == 16)
{
$this->bo->expunge();
return true;
}
else
return false;
}
/**
* Replace the existing data of the passed id with the passed
data in a certain mime type format.
* @param integer $id id of data to replace
* @param mixed $data the new data, the datatype depends on the
passed mime type
* @param string $type specifies the mime type of the passed data
* @param string $version specifies the mime type version of the
passed data
* @return boolean true if the data is replaced, otherwise false
*/
function replaceData($id, $data, $type, $version='')
{
if(($type != 'text/x-ical') && ($type !=
'text/calendar'))
return false;
if(!is_integer($id) || ($id<=0))
return false;
$entry = $this->bo->read_entry($id);
if(!$entry || !isset($entry['uid']))
return false;
$data = ereg_replace("\n\n", "\r\n", $data); // xml-rpc
bug: \r\n -> \n\n
$data = ereg_replace("\r\n\r\n", "\r\n", $data); //
ical from calmeno
$data_lines = explode("\r\n", $data);
return $this->bo_iCal->import($data_lines, true);
}
/**
* Checks if data for the passed id exists.
* @param integer $id id to check
* @return boolean true if the data with id exist, otherwise
false
*/
function existData($id)
{
if(!is_integer($id) || ($id<=0))
return false;
if(!$this->bo->read_entry($id))
return false;
else
return true;
}
}
?>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Phpgroupware-cvs] phpgroupware/ipc_test_suite/sources/app/class.ipc_calendar.inc.php, 1.1.2.1,
nomail <=