mirror of
https://github.com/EGroupware/egroupware.git
synced 2025-01-23 14:29:02 +01:00
Add service name wrapper classes for some basic functions
This commit is contained in:
parent
2728d97fe0
commit
2a7159831a
63
phpgwapi/inc/class.service.inc.php
Normal file
63
phpgwapi/inc/class.service.inc.php
Normal file
@ -0,0 +1,63 @@
|
||||
<?php
|
||||
/**************************************************************************\
|
||||
* phpGroupWare API - Services Abstraction Class *
|
||||
* This file written by Miles Lott <milosch@phpgroupware.org> *
|
||||
* Copyright (C) 2001 Miles Lott *
|
||||
* -------------------------------------------------------------------------*
|
||||
* This library is part of the phpGroupWare API *
|
||||
* http://www.phpgroupware.org/api *
|
||||
* ------------------------------------------------------------------------ *
|
||||
* This library is free software; you can redistribute it and/or modify it *
|
||||
* under the terms of the GNU Lesser General Public License as published by *
|
||||
* the Free Software Foundation; either version 2.1 of the License, *
|
||||
* or any later version. *
|
||||
* This library 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 Lesser General Public License for more details. *
|
||||
* You should have received a copy of the GNU Lesser General Public License *
|
||||
* along with this library; if not, write to the Free Software Foundation, *
|
||||
* Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
|
||||
\**************************************************************************/
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
class service
|
||||
{
|
||||
var $provider = '';
|
||||
var $svc = '';
|
||||
var $type = '';
|
||||
var $function_map = array();
|
||||
|
||||
function exec($service)
|
||||
{
|
||||
if(is_array($service))
|
||||
{
|
||||
$data = $service[2];
|
||||
$function = $service[1];
|
||||
$service = $service[0];
|
||||
}
|
||||
switch ($service)
|
||||
{
|
||||
case 'schedule':
|
||||
case 'contacts':
|
||||
case 'notes':
|
||||
case 'todo':
|
||||
$this = CreateObject('phpgwapi.service_' . $service);
|
||||
break;
|
||||
default:
|
||||
$this = CreateObject($service);
|
||||
break;
|
||||
}
|
||||
if($function)
|
||||
{
|
||||
return $this->$function($data);
|
||||
}
|
||||
}
|
||||
|
||||
function list_methods()
|
||||
{
|
||||
return $this->function_map;
|
||||
}
|
||||
}
|
||||
?>
|
60
phpgwapi/inc/class.service_contacts.inc.php
Normal file
60
phpgwapi/inc/class.service_contacts.inc.php
Normal file
@ -0,0 +1,60 @@
|
||||
<?php
|
||||
/**************************************************************************\
|
||||
* phpGroupWare API - Services Abstraction Class *
|
||||
* This file written by Miles Lott <milosch@phpgroupware.org> *
|
||||
* Copyright (C) 2001 Miles Lott *
|
||||
* -------------------------------------------------------------------------*
|
||||
* This library is part of the phpGroupWare API *
|
||||
* http://www.phpgroupware.org/api *
|
||||
* ------------------------------------------------------------------------ *
|
||||
* This library is free software; you can redistribute it and/or modify it *
|
||||
* under the terms of the GNU Lesser General Public License as published by *
|
||||
* the Free Software Foundation; either version 2.1 of the License, *
|
||||
* or any later version. *
|
||||
* This library 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 Lesser General Public License for more details. *
|
||||
* You should have received a copy of the GNU Lesser General Public License *
|
||||
* along with this library; if not, write to the Free Software Foundation, *
|
||||
* Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
|
||||
\**************************************************************************/
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
class service_contacts extends service
|
||||
{
|
||||
function service_contacts()
|
||||
{
|
||||
$this->provider = $GLOBALS['phpgw_info']['contact_service'] ? $GLOBALS['phpgw_info']['contact_service'] : 'addressbook';
|
||||
$this->svc = $this->provider . '.bo' . $this->provider;
|
||||
$type = $this->type ? $this->type : 'xmlrpc';
|
||||
$this->function_map = ExecMethod($this->svc . '.list_methods',$type);
|
||||
}
|
||||
|
||||
function read($data)
|
||||
{
|
||||
return ExecMethod($this->svc . '.' . $this->function_map['read']['function'],$data);
|
||||
}
|
||||
|
||||
function read_list($data)
|
||||
{
|
||||
return ExecMethod($this->svc . '.' . $this->function_map['read_list']['function'],$data);
|
||||
}
|
||||
|
||||
function save($data)
|
||||
{
|
||||
return ExecMethod($this->svc . '.' . $this->function_map['save']['function'],$data);
|
||||
}
|
||||
|
||||
function add($data)
|
||||
{
|
||||
return ExecMethod($this->svc . '.' . $this->function_map['add']['function'],$data);
|
||||
}
|
||||
|
||||
function delete($data)
|
||||
{
|
||||
return ExecMethod($this->svc . '.' . $this->function_map['delete']['function'],$data);
|
||||
}
|
||||
}
|
||||
?>
|
60
phpgwapi/inc/class.service_notes.inc.php
Normal file
60
phpgwapi/inc/class.service_notes.inc.php
Normal file
@ -0,0 +1,60 @@
|
||||
<?php
|
||||
/**************************************************************************\
|
||||
* phpGroupWare API - Services Abstraction Class *
|
||||
* This file written by Miles Lott <milosch@phpgroupware.org> *
|
||||
* Copyright (C) 2001 Miles Lott *
|
||||
* -------------------------------------------------------------------------*
|
||||
* This library is part of the phpGroupWare API *
|
||||
* http://www.phpgroupware.org/api *
|
||||
* ------------------------------------------------------------------------ *
|
||||
* This library is free software; you can redistribute it and/or modify it *
|
||||
* under the terms of the GNU Lesser General Public License as published by *
|
||||
* the Free Software Foundation; either version 2.1 of the License, *
|
||||
* or any later version. *
|
||||
* This library 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 Lesser General Public License for more details. *
|
||||
* You should have received a copy of the GNU Lesser General Public License *
|
||||
* along with this library; if not, write to the Free Software Foundation, *
|
||||
* Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
|
||||
\**************************************************************************/
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
class service_contacts extends service
|
||||
{
|
||||
function service_contacts()
|
||||
{
|
||||
$this->provider = $GLOBALS['phpgw_info']['notes_service'] ? $GLOBALS['phpgw_info']['notes_service'] : 'notes';
|
||||
$this->svc = $this->provider . '.bo' . $this->provider;
|
||||
$type = $this->type ? $this->type : 'xmlrpc';
|
||||
$this->function_map = ExecMethod($this->svc . '.list_methods',$type);
|
||||
}
|
||||
|
||||
function read($data)
|
||||
{
|
||||
return ExecMethod($this->svc . '.' . $this->function_map['read']['function'],$data);
|
||||
}
|
||||
|
||||
function read_list($data)
|
||||
{
|
||||
return ExecMethod($this->svc . '.' . $this->function_map['read_list']['function'],$data);
|
||||
}
|
||||
|
||||
function save($data)
|
||||
{
|
||||
return ExecMethod($this->svc . '.' . $this->function_map['save']['function'],$data);
|
||||
}
|
||||
|
||||
function add($data)
|
||||
{
|
||||
return ExecMethod($this->svc . '.' . $this->function_map['save']['function'],$data);
|
||||
}
|
||||
|
||||
function delete($data)
|
||||
{
|
||||
return ExecMethod($this->svc . '.' . $this->function_map['delete']['function'],$data);
|
||||
}
|
||||
}
|
||||
?>
|
65
phpgwapi/inc/class.service_schedule.inc.php
Normal file
65
phpgwapi/inc/class.service_schedule.inc.php
Normal file
@ -0,0 +1,65 @@
|
||||
<?php
|
||||
/**************************************************************************\
|
||||
* phpGroupWare API - Services Abstraction Class *
|
||||
* This file written by Miles Lott <milosch@phpgroupware.org> *
|
||||
* Copyright (C) 2001 Miles Lott *
|
||||
* -------------------------------------------------------------------------*
|
||||
* This library is part of the phpGroupWare API *
|
||||
* http://www.phpgroupware.org/api *
|
||||
* ------------------------------------------------------------------------ *
|
||||
* This library is free software; you can redistribute it and/or modify it *
|
||||
* under the terms of the GNU Lesser General Public License as published by *
|
||||
* the Free Software Foundation; either version 2.1 of the License, *
|
||||
* or any later version. *
|
||||
* This library 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 Lesser General Public License for more details. *
|
||||
* You should have received a copy of the GNU Lesser General Public License *
|
||||
* along with this library; if not, write to the Free Software Foundation, *
|
||||
* Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
|
||||
\**************************************************************************/
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
class service_contacts extends service
|
||||
{
|
||||
function service_contacts()
|
||||
{
|
||||
$this->provider = $GLOBALS['phpgw_info']['schedule_service'] ? $GLOBALS['phpgw_info']['schedule_service'] : 'calendar';
|
||||
$this->svc = $this->provider . '.bo' . $this->provider;
|
||||
$type = $this->type ? $this->type : 'xmlrpc';
|
||||
$this->function_map = ExecMethod($this->svc . '.list_methods',$type);
|
||||
}
|
||||
|
||||
function read($data)
|
||||
{
|
||||
return ExecMethod($this->svc . '.' . $this->function_map['read_entry']['function'],$data);
|
||||
}
|
||||
|
||||
function read_list($data)
|
||||
{
|
||||
return ExecMethod($this->svc . '.' . $this->function_map['store_to_cache']['function'],$data);
|
||||
}
|
||||
|
||||
function save($data)
|
||||
{
|
||||
return ExecMethod($this->svc . '.' . $this->function_map['update']['function'],$data);
|
||||
}
|
||||
|
||||
function add($data)
|
||||
{
|
||||
return ExecMethod($this->svc . '.' . $this->function_map['update']['function'],$data);
|
||||
}
|
||||
|
||||
function delete($data)
|
||||
{
|
||||
return ExecMethod($this->svc . '.' . $this->function_map['delete_entry']['function'],$data);
|
||||
}
|
||||
|
||||
function export($data)
|
||||
{
|
||||
return ExecMethod($this->svc . '.' . $this->function_map['export_event']['function'],$data);
|
||||
}
|
||||
}
|
||||
?>
|
Loading…
Reference in New Issue
Block a user