phpgroupware-cvs
[Top][All Lists]
Advanced

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

[Phpgroupware-cvs] property/class.bodocument.php, 1.1.1.3


From: nomail
Subject: [Phpgroupware-cvs] property/class.bodocument.php, 1.1.1.3
Date: Fri, 21 May 2004 19:10:56 -0000

Update of /property
Modified Files:
        Branch: 
          class.bodocument.php

date: 2004/04/23 21:26:33;  author: sigurdne;  state: Exp;  lines: +622 -622

Log Message:
no message
=====================================================================
Index: property/class.bodocument.php
diff -u property/class.bodocument.php:1.1.1.2 
property/class.bodocument.php:1.1.1.3
--- property/class.bodocument.php:1.1.1.2       Fri Apr 23 20:25:22 2004
+++ property/class.bodocument.php       Fri Apr 23 21:26:33 2004
@@ -1,622 +1,622 @@
-<?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.                                            
   *
-       
\**************************************************************************/
-
-       class property_bodocument
-       {
-               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
-               );
-
-               function property_bodocument($session=False)
-               {
-                       $this->currentapp       = 'property'; 
//$GLOBALS['phpgw_info']['flags']['currentapp'];
-                       $this->so                       = 
CreateObject($this->currentapp.'_sodocument');
-                       $this->bocommon         = 
CreateObject($this->currentapp.'_bocommon');
-                       $this->solocation       = 
CreateObject($this->currentapp.'_solocation');
-                       $this->historylog       = 
CreateObject($this->currentapp.'_historylog','document');
-                       $this->contacts         = 
CreateObject('phpgwapi_contacts');
-                       $this->fm_session       = 
CreateObject($this->currentapp.'_session');
-
-                       $this->vfs                      = 
CreateObject('phpgwapi_vfs');
-                       $this->rootdir          = $this->vfs->basedir;
-                       $this->fakebase         = $this->vfs->fakebase;
-
-                       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'));
-                       $status_id      = 
get_var('status_id',array('POST','GET'));
-                       $entity_id      = 
get_var('entity_id',array('POST','GET'));
-                       $doc_type       = 
get_var('doc_type',array('POST','GET'));
-
-                       if ($start)
-                       {
-                               $this->start=$start;
-                       }
-                       else
-                       {
-                               $this->start=0;
-                       }
-
-                       if(isset($query))
-                       {
-                               $this->query = $query;
-                       }
-                       if(isset($filter))
-                       {
-                               $this->filter = $filter;
-                       }
-                       if(isset($sort))
-                       {
-                               $this->sort = $sort;
-                       }
-                       if(isset($order))
-                       {
-                               $this->order = $order;
-                       }
-                       if(isset($cat_id))
-                       {
-                               $this->cat_id = $cat_id;
-                       }
-                       if(isset($status_id))
-                       {
-                               $this->status_id = $status_id;
-                       }
-                       if(isset($entity_id))
-                       {
-                               $this->entity_id = $entity_id;
-                       }
-                       if(isset($doc_type))
-                       {
-                               $this->doc_type = $doc_type;
-                       }
-
-               }
-
-               function save_sessiondata($data)
-               {
-                       if ($this->use_session)
-                       {
-                               
$this->fm_session->appsession('session_data','document',$data);
-                       }
-               }
-
-               function read_sessiondata()
-               {
-                       $data = 
$this->fm_session->appsession('session_data','document');
-
-                       //html_print_r($data);
-
-                       $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'];
-                       $this->entity_id        = $data['entity_id'];
-                       $this->doc_type = $data['doc_type'];
-               }
-
-               function select_status_list($format='',$selected='')
-               {
-                       switch($format)
-                       {
-                               case 'select':
-                                       
$this->bocommon->xsl_add_file(array('status_select'));
-                                       break;
-                               case 'filter':
-                                       
$this->bocommon->xsl_add_file(array('status_filter'));
-                                       break;
-                       }
-
-                       $status_entries= $this->so->select_status_list();
-
-                       while (is_array($status_entries) && list(,$status) = 
each($status_entries))
-                       {
-                               $sel_status = '';
-                               if ($status['id']==$selected)
-                               {
-                                       $sel_status = 'selected';
-                               }
-
-                               $status_list[] = array
-                               (
-                                       'id'            => $status['id'],
-                                       'name'          => $status['name'],
-                                       'selected'      => $sel_status
-                               );
-                       }
-
-                       for ($i=0;$i<count($status_list);$i++)
-                       {
-                               if ($status_list[$i]['selected'] != 'selected')
-                               {
-                                       unset($status_list[$i]['selected']);
-                               }
-                       }
-
-                       return $status_list;
-               }
-
-               function select_branch_list($selected='')
-               {
-
-                       $branch_entries= $this->so->select_branch_list();
-
-                       while (is_array($branch_entries) && list(,$branch) = 
each($branch_entries))
-                       {
-                               $sel_branch = '';
-                               if ($branch['id']==$selected)
-                               {
-                                       $sel_branch = 'selected';
-                               }
-
-                               $branch_list[] = array
-                               (
-                                       'id'            => $branch['id'],
-                                       'name'          => $branch['name'],
-                                       'selected'      => $sel_branch
-                               );
-                       }
-
-                       for ($i=0;$i<count($branch_list);$i++)
-                       {
-                               if ($branch_list[$i]['selected'] != 'selected')
-                               {
-                                       unset($branch_list[$i]['selected']);
-                               }
-                       }
-
-                       return $branch_list;
-               }
-
-
-               function select_doc_type_list($format='',$selected='')
-               {
-                       switch($format)
-                       {
-                               case 'select':
-                                       
$this->bocommon->xsl_add_file(array('cat_select'));
-                                       break;
-                               case 'filter':
-                                       
$this->bocommon->xsl_add_file(array('cat_filter'));
-                                       break;
-                       }
-
-                       $categories= $this->so->select_doc_type_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()
-               {
-                       $document = $this->so->read(array('start' => 
$this->start,'query' => $this->query,'sort' => $this->sort,'order' => 
$this->order,
-                                                                               
        'filter' => $this->filter,'cat_id' => $this->cat_id,'entity_id' => 
$this->entity_id));
-                       $this->total_records = $this->so->total_records;
-
-                       $this->uicols   = $this->so->uicols;
-                       $cols_extra             = $this->so->cols_extra;
-
-                       $dateformat = 
$GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat'];
-                       for ($i=0; $i<count($document); $i++)
-                       {
-                               
$location_data=$this->solocation->read_single($document[$i]['location_code']);
-
-                               for ($j=0;$j<count($cols_extra);$j++)
-                               {
-                                       $document[$i][$cols_extra[$j]] = 
$location_data[$cols_extra[$j]];
-                               }
-                       }
-
-                       return $document;
-               }
-
-               function read_at_location($location_code='')
-               {
-                       $document = $this->so->read_at_location(array('start' 
=> $this->start,'query' => $this->query,'sort' => $this->sort,'order' => 
$this->order,
-                                                                               
        'filter' => $this->filter,'cat_id' => $this->cat_id,'entity_id' => 
$this->entity_id,
-                                                                               
        'location_code' => $location_code,'doc_type'=>$this->doc_type));
-                       $this->total_records = $this->so->total_records;
-
-                       $dateformat = 
$GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat'];
-
-                       for ($i=0; $i<count($document); $i++)
-                       {
-                               $document[$i]['user'] = 
$GLOBALS['phpgw']->accounts->id2name($document[$i]['user_id']);
-                               $document[$i]['document_date'] = 
$GLOBALS['phpgw']->common->show_date($document[$i]['start_date'],$dateformat);
-                               $document[$i]['entry_date'] = 
$GLOBALS['phpgw']->common->show_date($document[$i]['entry_date'],$dateformat);
-                       }
-
-                       return $document;
-               }
-
-               function read_single($document_id)
-               {
-                       $document                                               
= $this->so->read_single($document_id);
-                       $dateformat                                             
= $GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat'];
-                       $document['document_date']              = 
$GLOBALS['phpgw']->common->show_date($document['document_date'],$dateformat);
-                       $vendor                                                 
= 
$this->contacts->read_single_entry($document['vendor_id'],array('org_name'=>'org_name','email'=>'email'));
-                       $document['vendor_name']                = 
$vendor[0]['org_name'];
-                       $document['vendor_email']               = 
$vendor[0]['email'];
-
-                       if($document['location_code'])
-                       {
-                               $document['location_data'] 
=$this->solocation->read_single($document['location_code']);
-                       }
-
-                       if($document['p_num'])
-                       {
-                               $soadmin_entity = 
CreateObject($this->currentapp.'_soadmin_entity');
-                               $category = 
$soadmin_entity->read_single_category($document['p_entity_id'],$document['p_cat_id']);
-
-                               
$document['p'][$document['p_entity_id']]['p_num']=$document['p_num'];
-                               
$document['p'][$document['p_entity_id']]['p_entity_id']=$document['p_entity_id'];
-                               
$document['p'][$document['p_entity_id']]['p_cat_id']=$document['p_cat_id'];
-                               
$document['p'][$document['p_entity_id']]['p_cat_name'] = $category['name'];
-                       }
-
-                       return $document;
-               }
-
-               function read_location_data($location_code)
-               {
-                       $location_data=         
$this->solocation->read_single($location_code);
-
-                       return $location_data;
-               }
-
-               function select_category_list($format='',$selected='')
-               {
-/*                     switch($format)
-                       {
-                               case 'select':
-                                       
$this->bocommon->xsl_add_file(array('cat_select'));
-                                       break;
-                               case 'filter':
-                                       
$this->bocommon->xsl_add_file(array('cat_filter'));
-                                       break;
-                       }
-
-
-*/
-
-                       $soadmin_entity         = 
CreateObject($this->currentapp.'_soadmin_entity');
-                       $categories                     = 
$soadmin_entity->read_category(array('allrows'=>True,'entity_id'=>$this->entity_id));
-
-                       $category_list  = 
$this->bocommon->select_multi_list($selected,$categories);
-
-/*                     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_record_history($id)
-               {
-                       $history_array = 
$this->historylog->return_array(array('O'),array(),'','',$id);
-                       $i=0;
-                       while (is_array($history_array) && list(,$value) = 
each($history_array))
-                       {
-
-                               $record_history[$i]['value_date']       = 
$GLOBALS['phpgw']->common->show_date($value['datetime']);
-                               $record_history[$i]['value_user']       = 
$value['owner'];
-
-                               switch ($value['status'])
-                               {
-                                       case 'R': $type = lang('Re-opened'); 
break;
-                                       case 'X': $type = lang('Closed');    
break;
-                                       case 'O': $type = lang('Opened');    
break;
-                                       case 'A': $type = lang('Re-assigned'); 
break;
-                                       case 'P': $type = lang('Priority 
changed'); break;
-                                       case 'CO': $type = lang('Initial 
Coordinator'); break;
-                                       case 'C': $type = lang('Coordinator 
changed'); break;
-                                       case 'TO': $type = lang('Initial 
Category'); break;
-                                       case 'T': $type = lang('Category 
changed'); break;
-                                       case 'SO': $type = lang('Initial 
Status'); break;
-                                       case 'S': $type = lang('Status 
changed'); break;
-                                       case 'FO': $type = lang('Initial 
File'); break;
-                                       case 'F': $type = lang('File changed'); 
break;
-                                       case 'LO': $type = lang('Initial 
Link'); break;
-                                       case 'L': $type = lang('Link changed'); 
break;
-                                       default: break;
-                               }
-
-                               
if($value['new_value']=='O'){$value['new_value']=lang('Opened');}
-                               
if($value['new_value']=='X'){$value['new_value']=lang('Closed');}
-
-
-                               $record_history[$i]['value_action']     = 
$type?$type:'';
-                               unset($type);
-
-                               if ($value['status'] == 'A')
-                               {
-                                       if (! $value['new_value'])
-                                       {
-                                               
$record_history[$i]['value_new_value']  = lang('None');
-                                       }
-                                       else
-                                       {
-                                               
$record_history[$i]['value_new_value']  = 
$GLOBALS['phpgw']->accounts->id2name($value['new_value']);
-                                       }
-                               }
-                               else if ($value['status'] == 'C' || 
$value['status'] == 'CO')
-                               {
-                                       $record_history[$i]['value_new_value']  
= $GLOBALS['phpgw']->accounts->id2name($value['new_value']);
-                               }
-                               else if ($value['status'] == 'T' || 
$value['status'] == 'TO')
-                               {
-                                       $record_history[$i]['value_new_value']  
= $this->so->read_single_category($value['new_value']);
-                               }
-                               else if ($value['status'] != 'O' && 
$value['new_value'])
-                               {
-                                       $record_history[$i]['value_new_value']  
= $value['new_value'];
-                               }
-                               else
-                               {
-                                       $record_history[$i]['value_new_value']  
= '';
-                               }
-
-                               $i++;
-                       }
-
-                       return $record_history;
-               }
-
-
-               function create_home_dir()
-               {
-                       if(!$this->vfs->file_exists(array(
-                                       'string' => $this->fakebase. SEP . 
'document',
-                                       'relatives' => Array(RELATIVE_NONE)
-                               )))
-                       {
-                               $this->vfs->override_acl = 1;
-
-                               if(!$this->vfs->mkdir (array(
-                                    'string' => $this->fakebase. SEP . 
'document',
-                                    'relatives' => array(
-                                         RELATIVE_NONE
-                                    )
-                               )))
-                               {
-                                       
$receipt['error'][]=array('msg'=>lang('failed to create directory') . ' :'. 
$this->fakebase. SEP . 'document');
-                               }
-                               else
-                               {
-                                       
$receipt['message'][]=array('msg'=>lang('directory created') . ' :'. 
$this->fakebase. SEP . 'document');
-                               }
-                               $this->vfs->override_acl = 0;
-                       }
-                       return $receipt;
-               }
-
-
-               function create_document_dir($data,$receipt)
-               {
-                       if(is_array($data))
-                       {
-                               $loc1                   = 
(isset($data['loc1'])?$data['loc1']:'');
-                               $entity_name    = 
(isset($data['entity_name'])?$data['entity_name']:'');
-                               $category_name  = 
(isset($data['category_name'])?$data['category_name']:'');
-                               $p_num = 
(isset($data['p_num'])?$data['p_num']:'');
-                       }
-
-                       $this->vfs->override_acl = 1;
-//html_print_r($data);
-                       if(!$this->vfs->file_exists(array(
-                                       'string' => $this->fakebase. SEP . 
'document' .  SEP . $loc1,
-                                       'relatives' => Array(RELATIVE_NONE)
-                               )))
-                       {
-                               if(!$this->vfs->mkdir (array(
-                                    'string' => $this->fakebase. SEP . 
'document' .  SEP . $loc1,
-                                    'relatives' => array(
-                                         RELATIVE_NONE
-                                    )
-                               )))
-                               {
-                                       
$receipt['error'][]=array('msg'=>lang('failed to create directory') . ' :'. 
$this->fakebase. SEP . 'document' .  SEP . $loc1);
-                               }
-                               else
-                               {
-                                       
$receipt['message'][]=array('msg'=>lang('directory created') . ' :'. 
$this->fakebase. SEP . 'document' .  SEP . $loc1);
-                               }
-                               $this->vfs->override_acl = 0;
-                       }
-
-                       if($entity_name)
-                       {
-                               if(!$this->vfs->file_exists(array(
-                                               'string' => $this->fakebase. 
SEP . 'document' .  SEP . $loc1 .  SEP . $entity_name,
-                                               'relatives' => 
Array(RELATIVE_NONE)
-                                       )))
-                               {
-
-                                       if(!$this->vfs->mkdir (array(
-                                                'string' => $this->fakebase. 
SEP . 'document' .  SEP . $loc1 .  SEP . $entity_name,
-                                            'relatives' => array(
-                                                 RELATIVE_NONE
-                                            )
-                                       )))
-                                       {
-                                               
$receipt['error'][]=array('msg'=>lang('failed to create directory') . ' :'. 
$this->fakebase. SEP . 'document'  .  SEP . $loc1 .  SEP . $entity_name);
-                                       }
-                                       else
-                                       {
-                                               
$receipt['message'][]=array('msg'=>lang('directory created') . ' :'. 
$this->fakebase. SEP . 'document'  .  SEP . $loc1 .  SEP . $entity_name);
-                                       }
-                               }
-                       }
-                       if($category_name)
-                       {
-                               if(!$this->vfs->file_exists(array(
-                                               'string' => $this->fakebase. 
SEP . 'document' .  SEP . $loc1 .  SEP . $entity_name .  SEP . $category_name,
-                                               'relatives' => 
Array(RELATIVE_NONE)
-                                       )))
-                               {
-
-                                       if(!$this->vfs->mkdir (array(
-                                                'string' => $this->fakebase. 
SEP . 'document' .  SEP . $loc1 .  SEP . $entity_name .  SEP . $category_name,
-                                            'relatives' => array(
-                                                 RELATIVE_NONE
-                                            )
-                                       )))
-                                       {
-                                               
$receipt['error'][]=array('msg'=>lang('failed to create directory') . ' :'. 
$this->fakebase. SEP . 'document'  .  SEP . $loc1 .  SEP . $entity_name .  SEP 
. $category_name);
-                                       }
-                                       else
-                                       {
-                                               
$receipt['message'][]=array('msg'=>lang('directory created') . ' :'. 
$this->fakebase. SEP . 'document'  .  SEP . $loc1 .  SEP . $entity_name .  SEP 
. $category_name);
-                                       }
-                               }
-                       }
-                       if($p_num)
-                       {
-                               if(!$this->vfs->file_exists(array(
-                                               'string' => $this->fakebase. 
SEP . 'document' .  SEP . $loc1 .  SEP . $entity_name .  SEP . $category_name . 
 SEP . $p_num,
-                                               'relatives' => 
Array(RELATIVE_NONE)
-                                       )))
-                               {
-
-                                       if(!$this->vfs->mkdir (array(
-                                                'string' => $this->fakebase. 
SEP . 'document' .  SEP . $loc1 .  SEP . $entity_name .  SEP . $category_name . 
 SEP . $p_num,
-                                            'relatives' => array(
-                                                 RELATIVE_NONE
-                                            )
-                                       )))
-                                       {
-                                               
$receipt['error'][]=array('msg'=>lang('failed to create directory') . ' :'. 
$this->fakebase. SEP . 'document'  .  SEP . $loc1 .  SEP . $entity_name .  SEP 
. $category_name .  SEP . $p_num);
-                                       }
-                                       else
-                                       {
-                                               
$receipt['message'][]=array('msg'=>lang('directory created') . ' :'. 
$this->fakebase. SEP . 'document'  .  SEP . $loc1 .  SEP . $entity_name .  SEP 
. $category_name .  SEP . $p_num);
-                                       }
-                               }
-                       }
-
-                       $this->vfs->override_acl = 0;
-
-//html_print_r($receipt);
-                       return $receipt;
-               }
-
-
-               function save($values)
-               {
-
-                       $document_date  = 
$this->bocommon->date_array($values['document_date']);
-                       $values['document_date']        = mktime 
(2,0,0,$document_date['month'],$document_date['day'],$document_date['year']);
-
-                       while (is_array($values['location']) && list(,$value) = 
each($values['location']))
-                       {
-                               if($value)
-                               {
-                                       $location[] = $value;
-                               }
-                       }
-
-                       $values['location_code']=implode("-", $location);
-
-//html_print_r($values);
-                       if ($values['document_id'])
-                       {
-                               if ($values['document_id'] != 0)
-                               {
-                                       $receipt = $this->so->edit($values);
-                               }
-                       }
-                       else
-                       {
-                               $receipt = $this->so->add($values);
-                       }
-                       return $receipt;
-               }
-
-               function delete($document_id)
-               {
-                       $this->so->delete($document_id);
-               }
-       }
-?>
+<?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.                                            
   *
+       
\**************************************************************************/
+
+       class property_bodocument
+       {
+               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
+               );
+
+               function property_bodocument($session=False)
+               {
+                       $this->currentapp       = 'property'; 
//$GLOBALS['phpgw_info']['flags']['currentapp'];
+                       $this->so                       = 
CreateObject($this->currentapp.'_sodocument');
+                       $this->bocommon         = 
CreateObject($this->currentapp.'_bocommon');
+                       $this->solocation       = 
CreateObject($this->currentapp.'_solocation');
+                       $this->historylog       = 
CreateObject($this->currentapp.'_historylog','document');
+                       $this->contacts         = 
CreateObject('phpgwapi_contacts');
+                       $this->fm_session       = 
CreateObject($this->currentapp.'_session');
+
+                       $this->vfs                      = 
CreateObject('phpgwapi_vfs');
+                       $this->rootdir          = $this->vfs->basedir;
+                       $this->fakebase         = $this->vfs->fakebase;
+
+                       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'));
+                       $status_id      = 
get_var('status_id',array('POST','GET'));
+                       $entity_id      = 
get_var('entity_id',array('POST','GET'));
+                       $doc_type       = 
get_var('doc_type',array('POST','GET'));
+
+                       if ($start)
+                       {
+                               $this->start=$start;
+                       }
+                       else
+                       {
+                               $this->start=0;
+                       }
+
+                       if(isset($query))
+                       {
+                               $this->query = $query;
+                       }
+                       if(isset($filter))
+                       {
+                               $this->filter = $filter;
+                       }
+                       if(isset($sort))
+                       {
+                               $this->sort = $sort;
+                       }
+                       if(isset($order))
+                       {
+                               $this->order = $order;
+                       }
+                       if(isset($cat_id))
+                       {
+                               $this->cat_id = $cat_id;
+                       }
+                       if(isset($status_id))
+                       {
+                               $this->status_id = $status_id;
+                       }
+                       if(isset($entity_id))
+                       {
+                               $this->entity_id = $entity_id;
+                       }
+                       if(isset($doc_type))
+                       {
+                               $this->doc_type = $doc_type;
+                       }
+
+               }
+
+               function save_sessiondata($data)
+               {
+                       if ($this->use_session)
+                       {
+                               
$this->fm_session->appsession('session_data','document',$data);
+                       }
+               }
+
+               function read_sessiondata()
+               {
+                       $data = 
$this->fm_session->appsession('session_data','document');
+
+                       //html_print_r($data);
+
+                       $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'];
+                       $this->entity_id        = $data['entity_id'];
+                       $this->doc_type = $data['doc_type'];
+               }
+
+               function select_status_list($format='',$selected='')
+               {
+                       switch($format)
+                       {
+                               case 'select':
+                                       
$this->bocommon->xsl_add_file(array('status_select'));
+                                       break;
+                               case 'filter':
+                                       
$this->bocommon->xsl_add_file(array('status_filter'));
+                                       break;
+                       }
+
+                       $status_entries= $this->so->select_status_list();
+
+                       while (is_array($status_entries) && list(,$status) = 
each($status_entries))
+                       {
+                               $sel_status = '';
+                               if ($status['id']==$selected)
+                               {
+                                       $sel_status = 'selected';
+                               }
+
+                               $status_list[] = array
+                               (
+                                       'id'            => $status['id'],
+                                       'name'          => $status['name'],
+                                       'selected'      => $sel_status
+                               );
+                       }
+
+                       for ($i=0;$i<count($status_list);$i++)
+                       {
+                               if ($status_list[$i]['selected'] != 'selected')
+                               {
+                                       unset($status_list[$i]['selected']);
+                               }
+                       }
+
+                       return $status_list;
+               }
+
+               function select_branch_list($selected='')
+               {
+
+                       $branch_entries= $this->so->select_branch_list();
+
+                       while (is_array($branch_entries) && list(,$branch) = 
each($branch_entries))
+                       {
+                               $sel_branch = '';
+                               if ($branch['id']==$selected)
+                               {
+                                       $sel_branch = 'selected';
+                               }
+
+                               $branch_list[] = array
+                               (
+                                       'id'            => $branch['id'],
+                                       'name'          => $branch['name'],
+                                       'selected'      => $sel_branch
+                               );
+                       }
+
+                       for ($i=0;$i<count($branch_list);$i++)
+                       {
+                               if ($branch_list[$i]['selected'] != 'selected')
+                               {
+                                       unset($branch_list[$i]['selected']);
+                               }
+                       }
+
+                       return $branch_list;
+               }
+
+
+               function select_doc_type_list($format='',$selected='')
+               {
+                       switch($format)
+                       {
+                               case 'select':
+                                       
$this->bocommon->xsl_add_file(array('cat_select'));
+                                       break;
+                               case 'filter':
+                                       
$this->bocommon->xsl_add_file(array('cat_filter'));
+                                       break;
+                       }
+
+                       $categories= $this->so->select_doc_type_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()
+               {
+                       $document = $this->so->read(array('start' => 
$this->start,'query' => $this->query,'sort' => $this->sort,'order' => 
$this->order,
+                                                                               
        'filter' => $this->filter,'cat_id' => $this->cat_id,'entity_id' => 
$this->entity_id));
+                       $this->total_records = $this->so->total_records;
+
+                       $this->uicols   = $this->so->uicols;
+                       $cols_extra             = $this->so->cols_extra;
+
+                       $dateformat = 
$GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat'];
+                       for ($i=0; $i<count($document); $i++)
+                       {
+                               
$location_data=$this->solocation->read_single($document[$i]['location_code']);
+
+                               for ($j=0;$j<count($cols_extra);$j++)
+                               {
+                                       $document[$i][$cols_extra[$j]] = 
$location_data[$cols_extra[$j]];
+                               }
+                       }
+
+                       return $document;
+               }
+
+               function read_at_location($location_code='')
+               {
+                       $document = $this->so->read_at_location(array('start' 
=> $this->start,'query' => $this->query,'sort' => $this->sort,'order' => 
$this->order,
+                                                                               
        'filter' => $this->filter,'cat_id' => $this->cat_id,'entity_id' => 
$this->entity_id,
+                                                                               
        'location_code' => $location_code,'doc_type'=>$this->doc_type));
+                       $this->total_records = $this->so->total_records;
+
+                       $dateformat = 
$GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat'];
+
+                       for ($i=0; $i<count($document); $i++)
+                       {
+                               $document[$i]['user'] = 
$GLOBALS['phpgw']->accounts->id2name($document[$i]['user_id']);
+                               $document[$i]['document_date'] = 
$GLOBALS['phpgw']->common->show_date($document[$i]['start_date'],$dateformat);
+                               $document[$i]['entry_date'] = 
$GLOBALS['phpgw']->common->show_date($document[$i]['entry_date'],$dateformat);
+                       }
+
+                       return $document;
+               }
+
+               function read_single($document_id)
+               {
+                       $document                                               
= $this->so->read_single($document_id);
+                       $dateformat                                             
= $GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat'];
+                       $document['document_date']              = 
$GLOBALS['phpgw']->common->show_date($document['document_date'],$dateformat);
+                       $vendor                                                 
= 
$this->contacts->read_single_entry($document['vendor_id'],array('org_name'=>'org_name','email'=>'email'));
+                       $document['vendor_name']                = 
$vendor[0]['org_name'];
+                       $document['vendor_email']               = 
$vendor[0]['email'];
+
+                       if($document['location_code'])
+                       {
+                               $document['location_data'] 
=$this->solocation->read_single($document['location_code']);
+                       }
+
+                       if($document['p_num'])
+                       {
+                               $soadmin_entity = 
CreateObject($this->currentapp.'_soadmin_entity');
+                               $category = 
$soadmin_entity->read_single_category($document['p_entity_id'],$document['p_cat_id']);
+
+                               
$document['p'][$document['p_entity_id']]['p_num']=$document['p_num'];
+                               
$document['p'][$document['p_entity_id']]['p_entity_id']=$document['p_entity_id'];
+                               
$document['p'][$document['p_entity_id']]['p_cat_id']=$document['p_cat_id'];
+                               
$document['p'][$document['p_entity_id']]['p_cat_name'] = $category['name'];
+                       }
+
+                       return $document;
+               }
+
+               function read_location_data($location_code)
+               {
+                       $location_data=         
$this->solocation->read_single($location_code);
+
+                       return $location_data;
+               }
+
+               function select_category_list($format='',$selected='')
+               {
+/*                     switch($format)
+                       {
+                               case 'select':
+                                       
$this->bocommon->xsl_add_file(array('cat_select'));
+                                       break;
+                               case 'filter':
+                                       
$this->bocommon->xsl_add_file(array('cat_filter'));
+                                       break;
+                       }
+
+
+*/
+
+                       $soadmin_entity         = 
CreateObject($this->currentapp.'_soadmin_entity');
+                       $categories                     = 
$soadmin_entity->read_category(array('allrows'=>True,'entity_id'=>$this->entity_id));
+
+                       $category_list  = 
$this->bocommon->select_multi_list($selected,$categories);
+
+/*                     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_record_history($id)
+               {
+                       $history_array = 
$this->historylog->return_array(array('O'),array(),'','',$id);
+                       $i=0;
+                       while (is_array($history_array) && list(,$value) = 
each($history_array))
+                       {
+
+                               $record_history[$i]['value_date']       = 
$GLOBALS['phpgw']->common->show_date($value['datetime']);
+                               $record_history[$i]['value_user']       = 
$value['owner'];
+
+                               switch ($value['status'])
+                               {
+                                       case 'R': $type = lang('Re-opened'); 
break;
+                                       case 'X': $type = lang('Closed');    
break;
+                                       case 'O': $type = lang('Opened');    
break;
+                                       case 'A': $type = lang('Re-assigned'); 
break;
+                                       case 'P': $type = lang('Priority 
changed'); break;
+                                       case 'CO': $type = lang('Initial 
Coordinator'); break;
+                                       case 'C': $type = lang('Coordinator 
changed'); break;
+                                       case 'TO': $type = lang('Initial 
Category'); break;
+                                       case 'T': $type = lang('Category 
changed'); break;
+                                       case 'SO': $type = lang('Initial 
Status'); break;
+                                       case 'S': $type = lang('Status 
changed'); break;
+                                       case 'FO': $type = lang('Initial 
File'); break;
+                                       case 'F': $type = lang('File changed'); 
break;
+                                       case 'LO': $type = lang('Initial 
Link'); break;
+                                       case 'L': $type = lang('Link changed'); 
break;
+                                       default: break;
+                               }
+
+                               
if($value['new_value']=='O'){$value['new_value']=lang('Opened');}
+                               
if($value['new_value']=='X'){$value['new_value']=lang('Closed');}
+
+
+                               $record_history[$i]['value_action']     = 
$type?$type:'';
+                               unset($type);
+
+                               if ($value['status'] == 'A')
+                               {
+                                       if (! $value['new_value'])
+                                       {
+                                               
$record_history[$i]['value_new_value']  = lang('None');
+                                       }
+                                       else
+                                       {
+                                               
$record_history[$i]['value_new_value']  = 
$GLOBALS['phpgw']->accounts->id2name($value['new_value']);
+                                       }
+                               }
+                               else if ($value['status'] == 'C' || 
$value['status'] == 'CO')
+                               {
+                                       $record_history[$i]['value_new_value']  
= $GLOBALS['phpgw']->accounts->id2name($value['new_value']);
+                               }
+                               else if ($value['status'] == 'T' || 
$value['status'] == 'TO')
+                               {
+                                       $record_history[$i]['value_new_value']  
= $this->so->read_single_category($value['new_value']);
+                               }
+                               else if ($value['status'] != 'O' && 
$value['new_value'])
+                               {
+                                       $record_history[$i]['value_new_value']  
= $value['new_value'];
+                               }
+                               else
+                               {
+                                       $record_history[$i]['value_new_value']  
= '';
+                               }
+
+                               $i++;
+                       }
+
+                       return $record_history;
+               }
+
+
+               function create_home_dir()
+               {
+                       if(!$this->vfs->file_exists(array(
+                                       'string' => $this->fakebase. SEP . 
'document',
+                                       'relatives' => Array(RELATIVE_NONE)
+                               )))
+                       {
+                               $this->vfs->override_acl = 1;
+
+                               if(!$this->vfs->mkdir (array(
+                                    'string' => $this->fakebase. SEP . 
'document',
+                                    'relatives' => array(
+                                         RELATIVE_NONE
+                                    )
+                               )))
+                               {
+                                       
$receipt['error'][]=array('msg'=>lang('failed to create directory') . ' :'. 
$this->fakebase. SEP . 'document');
+                               }
+                               else
+                               {
+                                       
$receipt['message'][]=array('msg'=>lang('directory created') . ' :'. 
$this->fakebase. SEP . 'document');
+                               }
+                               $this->vfs->override_acl = 0;
+                       }
+                       return $receipt;
+               }
+
+
+               function create_document_dir($data,$receipt)
+               {
+                       if(is_array($data))
+                       {
+                               $loc1                   = 
(isset($data['loc1'])?$data['loc1']:'');
+                               $entity_name    = 
(isset($data['entity_name'])?$data['entity_name']:'');
+                               $category_name  = 
(isset($data['category_name'])?$data['category_name']:'');
+                               $p_num = 
(isset($data['p_num'])?$data['p_num']:'');
+                       }
+
+                       $this->vfs->override_acl = 1;
+//html_print_r($data);
+                       if(!$this->vfs->file_exists(array(
+                                       'string' => $this->fakebase. SEP . 
'document' .  SEP . $loc1,
+                                       'relatives' => Array(RELATIVE_NONE)
+                               )))
+                       {
+                               if(!$this->vfs->mkdir (array(
+                                    'string' => $this->fakebase. SEP . 
'document' .  SEP . $loc1,
+                                    'relatives' => array(
+                                         RELATIVE_NONE
+                                    )
+                               )))
+                               {
+                                       
$receipt['error'][]=array('msg'=>lang('failed to create directory') . ' :'. 
$this->fakebase. SEP . 'document' .  SEP . $loc1);
+                               }
+                               else
+                               {
+                                       
$receipt['message'][]=array('msg'=>lang('directory created') . ' :'. 
$this->fakebase. SEP . 'document' .  SEP . $loc1);
+                               }
+                               $this->vfs->override_acl = 0;
+                       }
+
+                       if($entity_name)
+                       {
+                               if(!$this->vfs->file_exists(array(
+                                               'string' => $this->fakebase. 
SEP . 'document' .  SEP . $loc1 .  SEP . $entity_name,
+                                               'relatives' => 
Array(RELATIVE_NONE)
+                                       )))
+                               {
+
+                                       if(!$this->vfs->mkdir (array(
+                                                'string' => $this->fakebase. 
SEP . 'document' .  SEP . $loc1 .  SEP . $entity_name,
+                                            'relatives' => array(
+                                                 RELATIVE_NONE
+                                            )
+                                       )))
+                                       {
+                                               
$receipt['error'][]=array('msg'=>lang('failed to create directory') . ' :'. 
$this->fakebase. SEP . 'document'  .  SEP . $loc1 .  SEP . $entity_name);
+                                       }
+                                       else
+                                       {
+                                               
$receipt['message'][]=array('msg'=>lang('directory created') . ' :'. 
$this->fakebase. SEP . 'document'  .  SEP . $loc1 .  SEP . $entity_name);
+                                       }
+                               }
+                       }
+                       if($category_name)
+                       {
+                               if(!$this->vfs->file_exists(array(
+                                               'string' => $this->fakebase. 
SEP . 'document' .  SEP . $loc1 .  SEP . $entity_name .  SEP . $category_name,
+                                               'relatives' => 
Array(RELATIVE_NONE)
+                                       )))
+                               {
+
+                                       if(!$this->vfs->mkdir (array(
+                                                'string' => $this->fakebase. 
SEP . 'document' .  SEP . $loc1 .  SEP . $entity_name .  SEP . $category_name,
+                                            'relatives' => array(
+                                                 RELATIVE_NONE
+                                            )
+                                       )))
+                                       {
+                                               
$receipt['error'][]=array('msg'=>lang('failed to create directory') . ' :'. 
$this->fakebase. SEP . 'document'  .  SEP . $loc1 .  SEP . $entity_name .  SEP 
. $category_name);
+                                       }
+                                       else
+                                       {
+                                               
$receipt['message'][]=array('msg'=>lang('directory created') . ' :'. 
$this->fakebase. SEP . 'document'  .  SEP . $loc1 .  SEP . $entity_name .  SEP 
. $category_name);
+                                       }
+                               }
+                       }
+                       if($p_num)
+                       {
+                               if(!$this->vfs->file_exists(array(
+                                               'string' => $this->fakebase. 
SEP . 'document' .  SEP . $loc1 .  SEP . $entity_name .  SEP . $category_name . 
 SEP . $p_num,
+                                               'relatives' => 
Array(RELATIVE_NONE)
+                                       )))
+                               {
+
+                                       if(!$this->vfs->mkdir (array(
+                                                'string' => $this->fakebase. 
SEP . 'document' .  SEP . $loc1 .  SEP . $entity_name .  SEP . $category_name . 
 SEP . $p_num,
+                                            'relatives' => array(
+                                                 RELATIVE_NONE
+                                            )
+                                       )))
+                                       {
+                                               
$receipt['error'][]=array('msg'=>lang('failed to create directory') . ' :'. 
$this->fakebase. SEP . 'document'  .  SEP . $loc1 .  SEP . $entity_name .  SEP 
. $category_name .  SEP . $p_num);
+                                       }
+                                       else
+                                       {
+                                               
$receipt['message'][]=array('msg'=>lang('directory created') . ' :'. 
$this->fakebase. SEP . 'document'  .  SEP . $loc1 .  SEP . $entity_name .  SEP 
. $category_name .  SEP . $p_num);
+                                       }
+                               }
+                       }
+
+                       $this->vfs->override_acl = 0;
+
+//html_print_r($receipt);
+                       return $receipt;
+               }
+
+
+               function save($values)
+               {
+
+                       $document_date  = 
$this->bocommon->date_array($values['document_date']);
+                       $values['document_date']        = mktime 
(2,0,0,$document_date['month'],$document_date['day'],$document_date['year']);
+
+                       while (is_array($values['location']) && list(,$value) = 
each($values['location']))
+                       {
+                               if($value)
+                               {
+                                       $location[] = $value;
+                               }
+                       }
+
+                       $values['location_code']=implode("-", $location);
+
+//html_print_r($values);
+                       if ($values['document_id'])
+                       {
+                               if ($values['document_id'] != 0)
+                               {
+                                       $receipt = $this->so->edit($values);
+                               }
+                       }
+                       else
+                       {
+                               $receipt = $this->so->add($values);
+                       }
+                       return $receipt;
+               }
+
+               function delete($document_id)
+               {
+                       $this->so->delete($document_id);
+               }
+       }
+?>




reply via email to

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