phpgroupware-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Phpgroupware-cvs] property/inc/class.boowner.inc.php, 1.2


From: nomail
Subject: [Phpgroupware-cvs] property/inc/class.boowner.inc.php, 1.2
Date: Wed, 2 Jun 2004 20:54:27 +0200

Update of /property/inc
Added Files:
        Branch: 
          class.boowner.inc.php

date: 2004/06/02 18:54:27;  author: sigurdne;  state: Exp;  lines: +286 -0

Log Message:
no message
=====================================================================
<?php
        
/**************************************************************************\
        * phpGroupWare - property                                               
   *
        * http://www.phpgroupware.org                                           
   *
        *                                                                       
   *
        * Facilities Management                                                 
   *
        * Written by Sigurd Nes [sigurdne at online.no]                         
   *
        * 
------------------------------------------------------------------------ *
        * Copyright 2000 - 2003 Free Software Foundation, Inc                   
   *
        * This program is part of the GNU project, see http://www.gnu.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.boowner.inc.php,v 1.2 2004/06/02 18:54:27 sigurdne Exp $ 
*/

        class boowner
        {
                var $start;
                var $query;
                var $filter;
                var $sort;
                var $order;
                var $cat_id;

                var $public_functions = array
                (
                        'read'                          => True,
                        'read_single'           => True,
                        'save'                          => True,
                        'delete'                        => True,
                        'check_perms'           => True
                );

                var $soap_functions = array(
                        'list' => array(
                                'in'  => 
array('int','int','struct','string','int'),
                                'out' => array('array')
                        ),
                        'read' => array(
                                'in'  => array('int','struct'),
                                'out' => array('array')
                        ),
                        'save' => array(
                                'in'  => array('int','struct'),
                                'out' => array()
                        ),
                        'delete' => array(
                                'in'  => array('int','struct'),
                                'out' => array()
                        )
                );

                function boowner($session=False)
                {
                        $this->currentapp               = 
$GLOBALS['phpgw_info']['flags']['currentapp'];
                        $this->so = CreateObject($this->currentapp.'.soowner');

                        if ($session)
                        {
                                $this->read_sessiondata();
                                $this->use_session = True;
                        }

                        $start  = get_var('start',array('POST','GET'));
                        $query  = get_var('query',array('POST','GET'));
                        $sort   = get_var('sort',array('POST','GET'));
                        $order  = get_var('order',array('POST','GET'));
                        $filter = get_var('filter',array('POST','GET'));
                        $cat_id = get_var('cat_id',array('POST','GET'));
                        $allrows                        = 
get_var('allrows',array('POST','GET'));

                        if ($start)
                        {
                                $this->start=$start;
                        }
                        else
                        {
                                $this->start=0;
                        }

                        if(isset($query))
                        {
                                $this->query = $query;
                        }
                        if(!empty($filter))
                        {
                                $this->filter = $filter;
                        }
                        if(isset($sort))
                        {
                                $this->sort = $sort;
                        }
                        if(isset($order))
                        {
                                $this->order = $order;
                        }
                        if(isset($cat_id) && !empty($cat_id))
                        {
                                $this->cat_id = $cat_id;
                        }
                        else
                        {
                                unset($this->cat_id);
                        }
                        if(isset($allrows))
                        {
                                $this->allrows = $allrows;
                        }
                }

                function list_methods($_type='xmlrpc')
                {
                        /*
                          This handles introspection or discovery by the logged 
in client,
                          in which case the input might be an array.  The 
server always calls
                          this function to fill the server dispatch map using a 
string.
                        */
                        if (is_array($_type))
                        {
                                $_type = $_type['type'] ? $_type['type'] : 
$_type[0];
                        }
                        switch($_type)
                        {
                                case 'xmlrpc':
                                        $xml_functions = array(
                                                'read' => array(
                                                        'function'  => 'read',
                                                        'signature' => 
array(array(xmlrpcInt,xmlrpcStruct)),
                                                        'docstring' => 
lang('Read a single entry by passing the id and fieldlist.')
                                                ),
                                                'save' => array(
                                                        'function'  => 'save',
                                                        'signature' => 
array(array(xmlrpcStruct,xmlrpcStruct)),
                                                        'docstring' => 
lang('Update a single entry by passing the fields.')
                                                ),
                                                'delete' => array(
                                                        'function'  => 'delete',
                                                        'signature' => 
array(array(xmlrpcBoolean,xmlrpcInt)),
                                                        'docstring' => 
lang('Delete a single entry by passing the id.')
                                                ),
                                                'list' => array(
                                                        'function'  => '_list',
                                                        'signature' => 
array(array(xmlrpcStruct,xmlrpcStruct)),
                                                        'docstring' => 
lang('Read a list of entries.')
                                                ),
                                                'list_methods' => array(
                                                        'function'  => 
'list_methods',
                                                        'signature' => 
array(array(xmlrpcStruct,xmlrpcString)),
                                                        'docstring' => 
lang('Read this list of methods.')
                                                )
                                        );
                                        return $xml_functions;
                                        break;
                                case 'soap':
                                        return $this->soap_functions;
                                        break;
                                default:
                                        return array();
                                        break;
                        }
                }

                function save_sessiondata($data)
                {
                        if ($this->use_session)
                        {
                                
$GLOBALS['phpgw']->session->appsession('session_data','owner',$data);
                        }
                }

                function read_sessiondata()
                {
                        $data = 
$GLOBALS['phpgw']->session->appsession('session_data','owner');

                        $this->start    = $data['start'];
                        $this->query    = $data['query'];
                        $this->filter   = $data['filter'];
                        $this->sort             = $data['sort'];
                        $this->order    = $data['order'];
                        $this->cat_id   = $data['cat_id'];
                }

                function check_perms($has, $needed)
                {
                        return (!!($has & $needed) == True);
                }


                function read_category_name($cat_id='')
                {
                        return $this->so->read_category_name($cat_id);
                }

                function select_category_list($format='',$selected='')
                {
                        switch($format)
                        {
                                case 'select':
                                        
$GLOBALS['phpgw']->xslttpl->add_file(array('cat_select'));
                                        break;
                                case 'filter':
                                        
$GLOBALS['phpgw']->xslttpl->add_file(array('cat_filter'));
                                        break;
                        }

                        $categories= $this->so->select_category_list();

                        while (is_array($categories) && list(,$category) = 
each($categories))
                        {
                                $sel_category = '';
                                if ($category['id']==$selected)
                                {
                                        $sel_category = 'selected';
                                }

                                $category_list[] = array
                                (
                                        'cat_id'        => $category['id'],
                                        'name'          => $category['name'],
                                        'selected'      => $sel_category
                                );
                        }

                        for ($i=0;$i<count($category_list);$i++)
                        {
                                if ($category_list[$i]['selected'] != 
'selected')
                                {
                                        unset($category_list[$i]['selected']);
                                }
                        }

                        return $category_list;
                }

                function read()
                {
                        $owner = $this->so->read(array('start' => 
$this->start,'query' => $this->query,'sort' => $this->sort,'order' => 
$this->order,
                                                                                
        'filter' => $this->filter,'cat_id' => 
$this->cat_id,'allrows'=>$this->allrows));
                        $this->total_records = $this->so->total_records;

                        for ($i=0; $i<count($owner); $i++)
                        {
                                $owner[$i]['entry_date']  = 
$GLOBALS['phpgw']->common->show_date($owner[$i]['entry_date'],$GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat']);
                        }
                        return $owner;
                }

                function read_single($owner_id)
                {
                        return $this->so->read_single($owner_id);
                }

                function save($owner)
                {

                        if ($owner['owner_id'])
                        {
                                if ($owner['owner_id'] != 0)
                                {
                                        $owner_id = $owner['owner_id'];
                                        $receipt=$this->so->edit($owner);
                                }
                        }
                        else
                        {
                                $receipt = $this->so->add($owner);
                        }
                        return $receipt;
                }

                function delete($params)
                {
                        if (is_array($params))
                        {
                                $this->so->delete($params[0]);
                        }
                        else
                        {
                                $this->so->delete($params);
                        }
                }
        }
?>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]