<?php /**************************************************************************\ * eGroupWare - Admin * * http://www.egroupware.org * * Written by Miles Lott <milosch@phpwhere.org> * * -------------------------------------------- * * 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 boserver { var $public_functions = array( 'list_servers' => True, 'read' => True, 'edit' => True, 'delete' => True ); var $xml_functions = array(); var $soap_functions = array(); var $debug = False; var $so = ''; var $start = 0; var $limit = 0; var $query = ''; var $sort = ''; var $order = ''; var $total = 0; var $use_session = False; function boserver($session=False) { $this->so =& CreateObject('admin.soserver'); if($session) { $this->read_sessiondata(); $this->use_session = True; } $start = $GLOBALS['start']; $query = $GLOBALS['query']; $sort = $GLOBALS['sort']; $order = $GLOBALS['order']; if(!empty($start) || ($start == '0') || ($start == 0)) { if($this->debug) { echo '<br>overriding start: "' . $this->start . '" now "' . $start . '"'; } $this->start = $start; } if((empty($query) && !empty($this->query)) || !empty($query)) { $this->query = $query; } if($limit) { $this->limit = $limit; } if(isset($sort)) { $this->sort = $sort; } if(isset($order)) { $this->order = $order; } } function save_sessiondata($data) { if ($this->use_session) { if($this->debug) { echo '<br>Save:'; _debug_array($data); } $GLOBALS['egw']->session->appsession('session_data','admin_servers',$data); } } function read_sessiondata() { $data = $GLOBALS['egw']->session->appsession('session_data','admin_servers'); if($this->debug) { echo '<br>Read:'; _debug_array($data); } $this->start = $data['start']; $this->limit = $data['limit']; $this->query = $data['query']; $this->sort = $data['sort']; $this->order = $data['order']; } function list_servers() { return $this->so->list_servers(array($this->start,$this->sort,$this->order,$this->query,$this->limit),$this->total); } function read($id) { if(is_array($id)) { $id = $id['server_id']; } return $this->so->read($id); } function edit($server_info) { if(!is_array($server_info)) { return False; } if($server_info['server_id']) { return $this->so->update($server_info); } else { return $this->so->add($server_info); } } function delete($id) { if(is_array($id)) { $id = $id['server_id']; } return $this->so->delete($id); } }