[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Phpgroupware-cvs] property/inc/class.bodrawing.inc.php, 1.2
From: |
nomail |
Subject: |
[Phpgroupware-cvs] property/inc/class.bodrawing.inc.php, 1.2 |
Date: |
Wed, 2 Jun 2004 20:54:27 +0200 |
Update of /property/inc
Added Files:
Branch:
class.bodrawing.inc.php
date: 2004/06/02 18:54:27; author: sigurdne; state: Exp; lines: +431 -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.
*
\**************************************************************************/
class bodrawing
{
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 bodrawing($session=False)
{
$this->currentapp =
$GLOBALS['phpgw_info']['flags']['currentapp'];
$this->so =
CreateObject($this->currentapp.'.sodrawing');
$this->bocommon =
CreateObject($this->currentapp.'.bocommon');
$this->historylog =
CreateObject($this->currentapp.'.historylog','drawing');
$this->contacts =
CreateObject($this->currentapp.'.soactor');
$this->contacts->role='vendor';
$this->vfs =
CreateObject('phpgwapi.vfs');
$this->rootdir = $this->vfs->basedir;
$this->fakebase = $this->vfs->fakebase;
$this->solocation =
CreateObject($this->currentapp.'.solocation');
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'));
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;
}
}
function read_sessiondata()
{
$data =
$GLOBALS['phpgw']->session->appsession('session_data','drawing');
$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->order = $data['order'];
}
function save_sessiondata($data)
{
if ($this->use_session)
{
$GLOBALS['phpgw']->session->appsession('session_data','drawing',$data);
}
}
function create_home_dir()
{
if(!$this->vfs->file_exists(array(
'string' => $this->fakebase. SEP .
'drawing',
'relatives' => Array(RELATIVE_NONE)
)))
{
$this->vfs->override_acl = 1;
if(!$this->vfs->mkdir (array(
'string' => $this->fakebase. SEP .
'drawing',
'relatives' => array(
RELATIVE_NONE
)
)))
{
$receipt['error'][]=array('msg'=>lang('failed to create directory') . ' :'.
$this->fakebase. SEP . 'drawing');
}
else
{
$receipt['message'][]=array('msg'=>lang('directory created') . ' :'.
$this->fakebase. SEP . 'drawing');
}
$this->vfs->override_acl = 0;
}
}
function select_status_list($format='',$selected='')
{
switch($format)
{
case 'select':
$GLOBALS['phpgw']->xslttpl->add_file(array('status_select'));
break;
case 'filter':
$GLOBALS['phpgw']->xslttpl->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_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()
{
$drawing = $this->so->read(array('start' =>
$this->start,'query' => $this->query,'sort' => $this->sort,'order' =>
$this->order,
'filter' => $this->filter,'cat_id' => $this->cat_id,'status_id' =>
$this->status_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($drawing); $i++)
{
// $drawing[$i]['user'] =
$GLOBALS['phpgw']->accounts->id2name($drawing[$i]['user_id']);
// $drawing[$i]['entry_date'] =
$GLOBALS['phpgw']->common->show_date($drawing[$i]['entry_date'],$dateformat);
$location_data=$this->solocation->read_single($drawing[$i]['location_code']);
for ($j=0;$j<count($cols_extra);$j++)
{
$drawing[$i][$cols_extra[$j]] =
$location_data[$cols_extra[$j]];
}
}
return $drawing;
}
function read_single($drawing_id)
{
$drawing
= $this->so->read_single($drawing_id);
$dateformat
= $GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat'];
$drawing['drawing_date'] =
$GLOBALS['phpgw']->common->show_date($drawing['drawing_date'],$dateformat);
$vendor
= $this->contacts->read_single(array('actor_id'=>$drawing['vendor_id']));
if(is_array($vendor))
{
foreach($vendor['attributes'] as $attribute)
{
if($attribute['name']=='org_name')
{
$drawing['vendor_name']=$attribute['value'];
break;
}
}
}
if($drawing['location_code'])
{
$drawing['location_data']
=$this->solocation->read_single($drawing['location_code']);
}
if($drawing['p_num'])
{
$soadmin_entity =
CreateObject($this->currentapp.'.soadmin_entity');
$category =
$soadmin_entity->read_single_category($drawing['p_entity_id'],$drawing['p_cat_id']);
$drawing['p'][$drawing['p_entity_id']]['p_num']=$drawing['p_num'];
$drawing['p'][$drawing['p_entity_id']]['p_entity_id']=$drawing['p_entity_id'];
$drawing['p'][$drawing['p_entity_id']]['p_cat_id']=$drawing['p_cat_id'];
$drawing['p'][$drawing['p_entity_id']]['p_cat_name'] = $category['name'];
}
return $drawing;
}
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;
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 save($values)
{
$drawing_date =
$this->bocommon->date_array($values['drawing_date']);
$values['drawing_date'] = mktime
(2,0,0,$drawing_date['month'],$drawing_date['day'],$drawing_date['year']);
while (is_array($values['location']) && list(,$value) =
each($values['location']))
{
if($value)
{
$location[] = $value;
}
}
$values['location_code']=implode("-", $location);
//_debug_array($values);
if ($values['drawing_id'])
{
if ($values['drawing_id'] != 0)
{
$receipt = $this->so->edit($values);
}
}
else
{
$receipt = $this->so->add($values);
}
return $receipt;
}
function delete($drawing_id)
{
$this->so->delete($drawing_id);
}
}
?>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Phpgroupware-cvs] property/inc/class.bodrawing.inc.php, 1.2,
nomail <=