phpgroupware-cvs
[Top][All Lists]
Advanced

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

[Phpgroupware-cvs] CVS: property/inc class.bodrawing.inc.php,NONE,1.1 cl


From: Sigurd Nes <address@hidden>
Subject: [Phpgroupware-cvs] CVS: property/inc class.bodrawing.inc.php,NONE,1.1 class.sodrawing.inc.php,NONE,1.1 class.uidrawing.inc.php,NONE,1.1 class.bocommon.inc.php,1.34,1.35 class.historylog.inc.php,1.2,1.3 class.sorequest.inc.php,1.2,1.3 class.sostandard_2.inc.php,1.9,1.10 class.uiproject.inc.php,1.10,1.11 class.uirequest.inc.php,1.2,1.3 hook_admin.inc.php,1.23,1.24
Date: Sun, 20 Apr 2003 18:24:33 -0400

Update of /cvsroot/phpgroupware/property/inc
In directory subversions:/tmp/cvs-serv11709/inc

Modified Files:
        class.bocommon.inc.php class.historylog.inc.php 
        class.sorequest.inc.php class.sostandard_2.inc.php 
        class.uiproject.inc.php class.uirequest.inc.php 
        hook_admin.inc.php 
Added Files:
        class.bodrawing.inc.php class.sodrawing.inc.php 
        class.uidrawing.inc.php 
Log Message:
no message

--- NEW FILE ---
<?php
        
/***************************************************************************\
        * 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->socommon         = 
CreateObject($this->currentapp.'.socommon');
                        $this->bocommon         = 
CreateObject($this->currentapp.'.bocommon');
                        $this->historylog       = 
CreateObject($this->currentapp.'.historylog','drawing');
                        $this->contacts         = 
CreateObject('phpgwapi.contacts');

                        $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(!empty($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 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;

/*                      $dateformat = 
$GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat'];

                        for ($i=0; $i<count($drawing); $i++)
                        {
                                $drawing[$i]['coordinator'] = 
$GLOBALS['phpgw']->accounts->id2name($drawing[$i]['coordinator']);
                                $drawing[$i]['drawing_date'] = 
$GLOBALS['phpgw']->common->show_date($drawing[$i]['start_date'],$dateformat);
                                $drawing[$i]['entry_date'] = 
$GLOBALS['phpgw']->common->show_date($drawing[$i]['entry_date'],$dateformat);
                        }

*/
                        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_entry($drawing['vendor_id'],array('org_name'=>'org_name','email'=>'email'));
                        $drawing['vendor_name']         = 
$vendor[0]['org_name'];
                        $drawing['vendor_email']                = 
$vendor[0]['email'];

                        
$location_data=$this->socommon->read_location_data($drawing['location_code']);

                        $drawing=$drawing + $location_data;

                        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)
                {
                        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);
                }
        }
?>

--- NEW FILE ---
<?php
        
/***************************************************************************\
        * 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 sodrawing
        {
                var $grants;

                function sodrawing()
                {
                        $this->currentapp       = 
$GLOBALS['phpgw_info']['flags']['currentapp'];
                        $this->db                       = $GLOBALS['phpgw']->db;
                        $this->db2                      = $this->db;
                        $this->grants           = 
$GLOBALS['phpgw']->acl->get_grants($this->currentapp);
                        $this->account          = 
$GLOBALS['phpgw_info']['user']['account_id'];
                        $this->bocommon         = 
CreateObject($this->currentapp.'.bocommon',True);
                        $this->historylog       = 
CreateObject($this->currentapp.'.historylog','drawing');

                        if 
($GLOBALS['phpgw_info']['server']['db_type']=='pgsql')
                        {
                                $this->join = " JOIN ";
                        }
                        else
                        {
                                $this->join = " LEFT JOIN ";
                        }
                }

                function select_category_list()
                {
                        $this->db->query("SELECT id, descr FROM 
fm_drawing_category  ORDER BY descr ");

                        $i = 0;
                        while ($this->db->next_record())
                        {
                                $categories[$i]['id']                           
= $this->db->f('id');
                                $categories[$i]['name']                         
= stripslashes($this->db->f('descr'));
                                $i++;
                        }
                        return $categories;
                }

                function read_single_category($id='')
                {
                        $this->db->query("SELECT descr FROM fm_drawing_category 
where id='$id' ");
                        $this->db->next_record();
                        return $this->db->f('descr');
                }

                function select_status_list()
                {
                        $this->db->query("SELECT id, descr FROM 
fm_drawing_status ORDER BY id ");

                        $i = 0;
                        while ($this->db->next_record())
                        {
                                $status_entries[$i]['id']                       
        = $this->db->f('id');
                                $status_entries[$i]['name']                     
        = stripslashes($this->db->f('descr'));
                                $i++;
                        }
                        return $status_entries;
                }

                function select_branch_list()
                {
                        $this->db->query("SELECT id, descr FROM fm_wo_branch 
ORDER BY id ");

                        $i = 0;
                        while ($this->db->next_record())
                        {
                                $branch_entries[$i]['id']                       
        = $this->db->f('id');
                                $branch_entries[$i]['name']                     
        = stripslashes($this->db->f('descr'));
                                $i++;
                        }
                        return $branch_entries;
                }

                function read($data)
                {
                        if(is_array($data))
                        {
                                if ($data['start'])
                                {
                                        $start=$data['start'];
                                }
                                else
                                {
                                        $start=0;
                                }
                                $filter = 
(isset($data['filter'])?$data['filter']:'');
                                $query = 
(isset($data['query'])?$data['query']:'');
                                $sort = 
(isset($data['sort'])?$data['sort']:'DESC');
                                $order = 
(isset($data['order'])?$data['order']:'');
                                $cat_id = 
(isset($data['cat_id'])?$data['cat_id']:0);
                                $status_id = 
(isset($data['status_id'])?$data['status_id']:0);
                        }

                        if ($order)
                        {
                                $ordermethod = " order by $order $sort";
                        }
                        else
                        {
                                $ordermethod = ' order by location_code ASC';
                        }

                        $filtermethod = ' ( fm_drawing.owner=' . $this->account;
                        if (is_array($this->grants))
                        {
                                $grants = $this->grants;
                                while (list($user) = each($grants))
                                {
                                        $public_user_list[] = $user;
                                }
                                reset($public_user_list);
                                $filtermethod .= " OR 
(fm_drawing.access='public' OR fm_drawing.owner IN(" . 
implode(',',$public_user_list) . ")))";
                        }
                        else
                        {
                                $filtermethod .= ' )';
                        }

                        if ($cat_id > 0)
                        {
                                $filtermethod .= " AND 
fm_drawing.category='$cat_id' ";
                        }

                        if ($status_id)
                        {
                                $filtermethod .= " AND 
fm_drawing.status='$status_id' ";
                        }

                        if ($filter)
                        {
                                $filtermethod .= " AND 
fm_drawing.coordinator='$filter' ";
                        }

                        if($query)
                        {
                                $query = ereg_replace("'",'',$query);
                                $query = ereg_replace('"','',$query);

                                $querymethod = " AND fm_drawing.address LIKE 
'%$query%' or fm_drawing.location_code LIKE '%$query%'";
                        }

                        $sql = "SELECT * FROM fm_drawing WHERE  $filtermethod 
$querymethod";

/*                      $sql = "SELECT  span_tegning.fullt_filnavn, 
span_tegning.objekt_id as objekt_id, span_tegning.bygg_id as bygg_id, 
span_tegning.seksjons_id as seksjons_id, span_tegning.etasje_id, 
span_tegning.tegningsfil, boei_seksjon.beskrivelse FROM "
                                . " boei_seksjon $this->join span_tegning ON 
(boei_seksjon.seksjons_id = span_tegning.seksjons_id) AND (boei_seksjon.bygg_id 
= span_tegning.bygg_id) AND (boei_seksjon.objekt_id = span_tegning.objekt_id) "
                                . " $location $querymethod $fand $filtermethod";

*/

                        $this->db2->query($sql,__LINE__,__FILE__);
                        $this->total_records = $this->db2->num_rows();
                        $this->db->limit_query($sql . 
$ordermethod,$start,__LINE__,__FILE__);

                        while ($this->db->next_record())
                        {
                                $ngrants = 
(int)$this->grants[$this->db->f('fm_drawing.owner')];
                                $drawing_list[] = array
                                (
                                        'drawing_id'    => $this->db->f('id'),
                                        'drawing_name'  => 
$this->db->f('drawing_name'),
                                        'location_code' => 
$this->db->f('location_code'),
                                        'floor'                 => 
$this->db->f('floor'),
                                        'address'               => 
$this->db->f('address'),
                                        'category'              => 
$this->db->f('category'),
                                        'title'                 => 
$this->db->f('title'),
                                        'grants'                => $ngrants
                                        );
                        }
//_debug_array($drawing_list);
                        return $drawing_list;
                }

                function read_single($drawing_id)
                {
                        $sql = "SELECT * from fm_drawing where 
id='$drawing_id'";

                        $this->db->query($sql,__LINE__,__FILE__);

                        if ($this->db->next_record())
                        {
                                $drawing['drawing_id']                  = 
$this->db->f('id');
                                $drawing['title']                               
= $this->db->f('title');
                                $drawing['name']                                
= $this->db->f('name');
                                $drawing['equipment_id']                = 
$this->db->f('equipment_id');
                                $drawing['location_code']               = 
$this->db->f('location_code');
                                $drawing['key_fetch']                   = 
$this->db->f('key_fetch');
                                $drawing['key_deliver']                 = 
$this->db->f('key_deliver');
                                $drawing['other_branch']                = 
$this->db->f('other_branch');
                                $drawing['key_responsible']             = 
$this->db->f('key_responsible');
                                $drawing['charge_tenant']               = 
$this->db->f('charge_tenant');
                                $drawing['descr']                               
= $this->db->f('descr');
                                $drawing['status']                              
= $this->db->f('status');
                                $drawing['budget']                              
= (int)$this->db->f('budget');
                                $drawing['actual_cost']                 = 
$this->db->f('actual_cost');
                                $drawing['tenant_id']                   = 
$this->db->f('tenant_id');
                                $drawing['owner']                               
= $this->db->f('owner');
                                $drawing['coordinator']                 = 
$this->db->f('coordinator');
                                $drawing['access']                              
= $this->db->f('access');
                                $drawing['start_date']                  = 
$this->db->f('start_date');
                                $drawing['end_date']                    = 
$this->db->f('end_date');
                                $drawing['cat_id']                              
= $this->db->f('category');

                        }

//_debug_array($drawing);
                                return $drawing;
                }

                function add($drawing)
                {

                        if($drawing['street_number'])
                        {
                                $address= $drawing['street_name'] . ' ' . 
$drawing['street_number'];
                        }
                        else
                        {
                                $address= $drawing['street_name'];
                        }

                        $drawing['descr'] = 
$this->db->db_addslashes($drawing['descr']);
                        $drawing['name'] = 
$this->db->db_addslashes($drawing['name']);
                        $drawing['title'] = 
$this->db->db_addslashes($drawing['title']);
//_debug_array($drawing);
                        $this->db->query("INSERT INTO fm_drawing 
(id,name,equipment_id,access,category,entry_date,start_date,end_date,coordinator,status,"
                                . 
"descr,title,budget,location_code,floor,address,key_deliver,key_fetch,other_branch,key_responsible,tenant_id,charge_tenant,owner)
 "
                                . "VALUES ('"
                                . $drawing['drawing_id']. "','"
                                . $drawing['name']. "','"
                                . $drawing['equipment_id']. "','"
                                . "public','"
                                . $drawing['cat_id']. "','"
                                . time() . "','"
                                . $drawing['start_date']. "','"
                                . $drawing['end_date']. "','"
                                . $drawing['coordinator']. "','"
                                . $drawing['status']. "','"
                                . $drawing['descr']. "','"
                                . $drawing['title']. "','"
                                . $drawing['budget']. "','"
                                . $drawing['location_code']. "','"
                                . $drawing['floor'] . "','"
                                . $drawing['address'] . "','"
                                . $drawing['key_deliver']. "','"
                                . $drawing['key_fetch']. "','"
                                . $drawing['other_branch']. "','"
                                . $drawing['key_responsible']. "','"
                                . $drawing['tenant_id']. "','"
                                . $drawing['charge_tenant'] . "','"
                                . $this->account. "')",__LINE__,__FILE__);

                        $receipt['drawing_id'] = 
$this->db->get_last_insert_id('fm_drawing','id');

                        
$this->historylog->add('SO',$receipt['drawing_id'],$drawing['status']);
                        
$this->historylog->add('TO',$receipt['drawing_id'],$drawing['cat_id']);
                        
$this->historylog->add('CO',$receipt['drawing_id'],$drawing['coordinator']);

                        $receipt['message'][] = array('msg'=>lang('drawing %1 
has been saved',$drawing['drawing_id']));
                        return $receipt;
                }

                function edit($drawing)
                {
                        $this->db->query("SELECT status,category,coordinator 
FROM fm_drawing where id='" .$drawing['drawing_id']."'",__LINE__,__FILE__);

                        $this->db->next_record();

                        $old_status = $this->db->f('status');
                        $old_categroy = $this->db->f('category');
                        $old_coordinator = $this->db->f('coordinator');
                        if ($old_status != $drawing['status'])
                        {
                                
$this->historylog->add('S',$drawing['drawing_id'],$drawing['status']);
                        }
                        if ($old_categroy != $drawing['cat_id'])
                        {
                                
$this->historylog->add('T',$drawing['drawing_id'],$drawing['cat_id']);
                        }
                        if ($old_coordinator != $drawing['coordinator'])
                        {
                                
$this->historylog->add('C',$drawing['drawing_id'],$drawing['coordinator']);
                        }

                        if($drawing['street_number'])
                        {
                                $address= $drawing['street_name'] . ' ' . 
$drawing['street_number'];
                        }
                        else
                        {
                                $address= $drawing['street_name'];
                        }

                        $drawing['descr'] = 
$this->db->db_addslashes($drawing['descr']);
                        $drawing['name'] = 
$this->db->db_addslashes($drawing['name']);
                        $drawing['title'] = 
$this->db->db_addslashes($drawing['title']);
//_debug_array($drawing);

                        $this->db->query("UPDATE fm_drawing set
                                name                    ='" . $drawing['name'] 
. "',
                                status                  ='" . 
$drawing['status'] . "',
                                category                ='" . 
$drawing['cat_id'] . "',
                                start_date              ='" . 
$drawing['start_date'] . "',
                                end_date                ='" . 
$drawing['end_date'] . "',
                                coordinator             ='" . 
$drawing['coordinator'] . "',
                                descr                   ='" . $drawing['descr'] 
. "',
                                title                   ='"     . 
$drawing['title'] . "',
                                budget                  ='" . 
(int)$drawing['budget'] . "',
                                key_deliver             ='" . 
$drawing['key_deliver'] . "',
                                key_fetch               ='" . 
$drawing['key_fetch'] . "',
                                other_branch    ='" . $drawing['other_branch'] 
. "',
                                key_responsible ='" . 
$drawing['key_responsible'] . "',
                                tenant_id               ='" . 
$drawing['tenant_id'] . "',
                                charge_tenant   ='" . $drawing['charge_tenant'] 
. "',
                                location_code   ='" . $drawing['location_code'] 
. "',
                                floor                   ='" . $drawing['floor'] 
. "',
                                equipment_id    ='" . $drawing['equipment_id'] 
. "',
                                address                 ='" . $address
                                . "' WHERE id= '" . $drawing['drawing_id'] 
."'",__LINE__,__FILE__);


                        $receipt['message'][] = array('msg'=>lang('drawing %1 
has been edited',$drawing['drawing_id']));
                        return $receipt;

                }

                function delete($drawing_id )
                {
                        $this->db->query("DELETE FROM fm_drawing WHERE id='" . 
$drawing_id . "'",__LINE__,__FILE__);
                        $this->db->query("DELETE FROM fm_drawing_history  WHERE 
 history_record_id='" . $drawing_id   . "'",__LINE__,__FILE__);
                }
        }
?>

--- NEW FILE ---
<?php
        
/***************************************************************************\
        * -------------------------------------------------                     
    *
        * 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 uidrawing
        {
                var $grants;
                var $cat_id;
                var $start;
                var $query;
                var $sort;
                var $order;
                var $filter;
                var $part_of_town_id;
                var $sub;
                var $currentapp;

                var $public_functions = array
                (
                        'index'  => True,
                        'view'   => True,
                        'edit'   => True,
                        'delete' => True
                );

                function uidrawing()
                {

                        $this->vfs                                      = 
CreateObject('phpgwapi.vfs');

                        $this->currentapp                       = 
$GLOBALS['phpgw_info']['flags']['currentapp'];
                        $this->nextmatchs                       = 
CreateObject('phpgwapi.nextmatchs');
                        $this->account                          = 
$GLOBALS['phpgw_info']['user']['account_id'];

                        $this->grants                           = 
$GLOBALS['phpgw']->acl->get_grants($this->currentapp);
                        $this->grants[$this->account] = PHPGW_ACL_READ + 
PHPGW_ACL_ADD + PHPGW_ACL_EDIT + PHPGW_ACL_DELETE;
                        $this->bo                                       = 
CreateObject($this->currentapp.'.bodrawing',True);
                        $this->so                                       = 
CreateObject($this->currentapp.'.sodrawing',True);
                        $this->bocommon                         = 
CreateObject($this->currentapp.'.bocommon',True);
                        $this->config                           = 
CreateObject('phpgwapi.config',$this->currentapp);

                        $this->start                            = 
$this->bo->start;
                        $this->query                            = 
$this->bo->query;
                        $this->sort                                     = 
$this->bo->sort;
                        $this->order                            = 
$this->bo->order;
                        $this->filter                           = 
$this->bo->filter;
                        $this->cat_id                           = 
$this->bo->cat_id;
                        $this->status_id                        = 
$this->bo->status_id;

                        
$GLOBALS['phpgw']->session->appsession('sub',$this->currentapp,'property');
                }

                function save_sessiondata()
                {
                        $data = array
                        (
                                'start'         => $this->start,
                                'query'         => $this->query,
                                'sort'          => $this->sort,
                                'order'         => $this->order,
                                'filter'        => $this->filter,
                                'cat_id'        => $this->cat_id
                        );
                        $this->bocommon->save_sessiondata($data);
                }

                function index()
                {

                        $GLOBALS['phpgw']->xslttpl->add_file(array('drawing',
                                                                                
'menu',
                                                                                
'nextmatchs',
                                                                                
$GLOBALS['phpgw']->common->get_tpl_dir('phpgwapi','default') . SEP . 
'app_header',
                                                                                
$GLOBALS['phpgw']->common->get_tpl_dir('phpgwapi','default') . SEP . 
'search_field'));

                        $lookup = get_var('lookup',array('POST','GET'));
                        $links = $this->bocommon->menu();

                        $this->config->read_repository();

                        $drawing_path= 
$this->config->config_data['drawing_path'];

                        $drawing_list = $this->bo->read();

//_debug_array($drawing_list);

                        while (is_array($drawing_list) && list(,$drawing) = 
each($drawing_list))
                        {
                                $location       = split("-", 
$drawing['location_code']);

                                $content[] = array
                                (
                                        'drawing_id'                            
=> $drawing['drawing_id'],
                                        'drawing_name'                          
=> $drawing['drawing_name'],
                                        'property_id'                           
=> $location[0],
                                        'building_id'                           
=> $location[1],
                                        'entrance_id'                           
=> $location[2],
                                        'floor'                                 
        => $drawing['floor'],
                                        'address'                               
        => $drawing['address'],
                                        'link_view'                             
        => $drawing_path . SEP .$drawing['drawing_name'],
                                        'link_edit'                             
        => 
$GLOBALS['phpgw']->link('/index.php','menuaction='.$this->currentapp.'.uidrawing.edit&drawing_id='
 . $drawing['drawing_id']),
                                        'link_delete'                           
=> 
$GLOBALS['phpgw']->link('/index.php','menuaction='.$this->currentapp.'.uidrawing.delete&drawing_id='
 . $drawing['drawing_id']),
                                        'lang_view_statustext'          => 
lang('view the drawing'),
                                        'lang_edit_statustext'          => 
lang('edit the drawing'),
                                        'lang_delete_statustext'        => 
lang('delete this drawing'),
                                        'text_view'                             
        => lang('view'),
                                        'text_edit'                             
        => lang('edit'),
                                        'text_delete'                           
=> lang('delete')
                                );
                        }


                        $table_header[] = array
                        (
                                'sort_drawing'  => 
$this->nextmatchs->show_sort_order(array
                                                                                
(
                                                                                
        'sort'  => $this->sort,
                                                                                
        'var'   =>      'drawing_name',
                                                                                
        'order' =>      $this->order,
                                                                                
        'extra' => array('menuaction'           => 
$this->currentapp.'.uidrawing.index',
                                                                                
                                                        'cat_id'                
=>$this->cat_id,
                                                                                
                                                        'district_id'   => 
$this->district_id,
                                                                                
                                                        'filter'                
=>$this->filter,
                                                                                
                                                        'lookup'                
=>$lookup,
                                                                                
                                                        'query'                 
=>$this->query)
                                                                                
)),
                                'lang_drawing'  => lang('drawing'),
                                'sort_property' => 
$this->nextmatchs->show_sort_order(array
                                                                                
(
                                                                                
        'sort'  => $this->sort,
                                                                                
        'var'   =>      'location_code',
                                                                                
        'order' =>      $this->order,
                                                                                
        'extra'         => array('menuaction'           => 
$this->currentapp.'.uidrawing.index',
                                                                                
                                                        'cat_id'                
=>$this->cat_id,
                                                                                
                                                        'district_id'   => 
$this->district_id,
                                                                                
                                                        'filter'                
=>$this->filter,
                                                                                
                                                        'lookup'                
=>$lookup,
                                                                                
                                                        'query'                 
=>$this->query)
                                                                                
)),
                                'lang_property'         => lang('Property'),
                                'lang_building'         => lang('Building'),
                                'lang_entrance'         => lang('Entrance'),
                                'lang_floor'            => lang('Floor'),
                                'sort_address'  => 
$this->nextmatchs->show_sort_order(array
                                                                                
(
                                                                                
        'sort'  => $this->sort,
                                                                                
        'var'   =>      'address',
                                                                                
        'order' =>      $this->order,
                                                                                
        'extra'         => array('menuaction'           => 
$this->currentapp.'.uidrawing.index',
                                                                                
                                                        'cat_id'                
=>$this->cat_id,
                                                                                
                                                        'district_id'   => 
$this->district_id,
                                                                                
                                                        'filter'                
=>$this->filter,
                                                                                
                                                        'lookup'                
=>$lookup,
                                                                                
                                                        'query'                 
=>$this->query)
                                                                                
)),
                                'lang_address'  => lang('Address'),
                                'lang_view'                     => lang('view'),
                                'lang_edit'                     => lang('edit'),
                                'lang_delete'           => lang('delete'),
                                'lang_select'           => lang('Select')
                                );

                        $table_add[] = array
                        (
                                'lang_add'                              => 
lang('add'),
                                'lang_add_statustext'   => lang('add a 
drawing'),
                                'add_action'                    => 
$GLOBALS['phpgw']->link('/index.php','menuaction='.$this->currentapp.'.uidrawing.edit')
                        );

                        $link_data = array
                        (
                                'menuaction'    => 
$this->currentapp.'.uidrawing.index',
                                                'sort'                  
=>$this->sort,
                                                'order'                 
=>$this->order,
                                                'cat_id'                
=>$this->cat_id,
                                                'district_id'   
=>$this->district_id,
                                                'filter'                
=>$this->filter,
                                                'status_id'             
=>$this->status_id,
                                                'lookup'                
=>$lookup,
                                                'query'                 
=>$this->query
                        );

                        $data = array
                        (
                                'link_history'                                  
=> 
$GLOBALS['phpgw']->link('/index.php','menuaction='.$this->currentapp.'.uidrawing.index&lookup='
 . $lookup),
                                'lang_history_statustext'               => 
lang('searh for history at this location'),
                                'lang_select'                                   
=> lang('select'),
                                'lookup_action'                                 
=> 
$GLOBALS['phpgw']->link('/index.php','menuaction='.$this->currentapp.'.uiworkorder.edit'),
                                'lookup'                                        
        => $lookup,
                                'links'                                         
        => $links,
                                'allow_allrows'                                 
=> false,
                                'start_record'                                  
=> $this->start,
                                'record_limit'                                  
=> $GLOBALS['phpgw_info']['user']['preferences']['common']['maxmatchs'],
                                'num_records'                                   
=> count($drawing_list),
                                'all_records'                                   
=> $this->bo->total_records,
                                'link_url'                                      
        => $GLOBALS['phpgw']->link('/index.php',$link_data),
                                'img_path'                                      
        => $GLOBALS['phpgw']->common->get_image_path('phpgwapi'),
                                'appname'                                       
        => lang($this->currentapp),
                                'function_msg'                                  
=> lang('list drawing'),
                                'lang_no_cat'                                   
=> lang('no category'),
                                'lang_cat_statustext'                   => 
lang('Select the category the drawing belongs to. To do not use a category 
select NO CATEGORY'),
                                'select_name'                                   
=> 'cat_id',
                                'cat_list'                                      
        => $this->bo->select_category_list('filter',$this->cat_id),
                                'district_list'                                 
=> $this->bocommon->select_district_list('filter',$this->district_id),
                                'lang_no_district'                              
=> lang('no district'),
                                'lang_district_statustext'              => 
lang('Select the district the selection belongs to. To do not use a district 
select NO DISTRICT'),
                                'select_district_name'                  => 
'district_id',
                                'select_action'                                 
=> $GLOBALS['phpgw']->link('/index.php',$link_data),

                                'lang_status_statustext'                => 
lang('Select the status the agreement belongs to. To do not use a category 
select NO STATUS'),
                                'status_name'                                   
=> 'status_id',
                                'lang_no_status'                                
=> lang('No status'),
                                'status_list'                                   
=> $this->bo->select_status_list('filter',$this->status_id),

                                'lang_user_statustext'                  => 
lang('Select the user the drawing belongs to. To do not use a category select 
NO USER'),
                                'select_user_name'                              
=> 'filter',
                                'lang_no_user'                                  
=> lang('No user'),
                                'user_list'                                     
        => $this->bocommon->get_user_list('filter',$this->filter),

                                'lang_searchfield_statustext'   => lang('Enter 
the search string. To show all entries, empty this field and press the SUBMIT 
button again'),
                                'lang_searchbutton_statustext'  => lang('Submit 
the search string'),
                                'query'                                         
        => $this->query,
                                'lang_submit'                                   
=> lang('submit'),
                                'table_header_drawing'                  => 
$table_header,
                                'values_drawing'                                
=> $content,
                                'table_add'                                     
        => $table_add
                        );

                        
$GLOBALS['phpgw']->xslttpl->set_var('phpgw',array('list_drawing' => $data));
                        $this->save_sessiondata();
                }


                function create_home_dir()
                {
                        $this->rootdir = $this->vfs->basedir;
                        $this->fakebase = $this->vfs->fakebase;

/* echo $this->vfs->file_exists(array(
                                        'string' => $this->fakebase. SEP . 
'drawing',
                                        'relatives' => Array(RELATIVE_NONE)
                                ));
*/
//$this->vfs->rm(array('string' => $this->fakebase. SEP . 'drawing','relatives' 
=> Array(RELATIVE_NONE)));
                        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 edit()
                {
                        $drawing_id             = 
get_var('drawing_id',array('POST','GET'));
                        $values                         = 
get_var('values',array('POST'));

                        
$GLOBALS['phpgw']->xslttpl->add_file(array('drawing',$GLOBALS['phpgw']->common->get_tpl_dir('phpgwapi','default')
 . SEP . 'app_header'));

                        $this->create_home_dir();


                        if($values)
                        {
                                $values = $values + 
$this->bocommon->get_location();
                        }
                        else
                        {
                                $location_code                          = 
get_var('location_code',array('POST','GET'));
                                $values['equipment_id']         = 
get_var('equipment_id',array('POST','GET'));
                                $values['descr']                        = 
get_var('descr',array('POST','GET'));

                                if($location_code)
                                {
                                        
$location_data=$this->bocommon->read_location_data($location_code);

                                        $values=$values + $location_data;
                                }

                        }

                        $values['create_date']          = 
get_var('create_date',array('POST'));

//_debug_array($values);

                        if ($values['save'])
                        {

                                if(!$values['cat_id'])
                                {
                                        
$receipt['error'][]=array('msg'=>lang('Please select a category !'));
                                        $error_id=true;
                                }

                                if(!$values['status'])
                                {
                                        
$receipt['error'][]=array('msg'=>lang('Please select a status !'));
                                }


                                $values['drawing_id'] = $drawing_id;

                                if(!$receipt['error'])
                                {
                                        $receipt = $this->bo->save($values);

                                        $drawing_id=$receipt['drawing_id'];
                                }
                        }

                        if ($drawing_id)
                        {
                                $values = $this->bo->read_single($drawing_id);
                                $function_msg = lang('Edit drawing');
                                $record_history = 
$this->bo->read_record_history($drawing_id);
                        }
                        else
                        {
                                $function_msg = lang('Add drawing');
                        }


                        $table_header_history[] = array
                        (
                                'lang_date'                     => lang('Date'),
                                'lang_user'                     => lang('User'),
                                'lang_action'           => lang('Action'),
                                'lang_new_value'        => lang('New value')
                        );

                        if ($values['cat_id'])
                        {
                                $this->cat_id = $values['cat_id'];
                        }


                        
$location_data=$this->bocommon->initiate_ui_location(array(
                                                'location_type' => 'form',
                                                'equipment'             => true,
                                                'entrance'              => true,
                                                'address'               => true,
                                                'equipment_id'  => 
$values['equipment_id'],
                                                'property_id'   => 
$values['property_id'],
                                                'property_name' => 
$values['property_name'],
                                                'building_id'   => 
$values['building_id'],
                                                'entrance_id'   => 
$values['entrance_id'],
                                                'floor'                 => 
$values['floor'],
                                                'street_name'   => 
$values['street_name'],
                                                'street_number' => 
$values['street_number'],
                                                'apartment_id'  => 
$values['apartment_id']));



                        
$vendor_data=$this->bocommon->initiate_ui_vendorlookup(array(
                                                'vendor_id'             => 
$values['vendor_id'],
                                                'vendor_name'   => 
$values['vendor_name']));


                        $link_data = array
                        (
                                'menuaction'    => 
$this->currentapp.'.uidrawing.edit',
                                'id'                    => $id
                        );

                        $dateformat = 
strtolower($GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat']);
                        $sep = '/';
                        $dlarr[strpos($dateformat,'y')] = 'yyyy';
                        $dlarr[strpos($dateformat,'m')] = 'MM';
                        $dlarr[strpos($dateformat,'d')] = 'DD';
                        ksort($dlarr);

                        $dateformat= (implode($sep,$dlarr));

                        $data = array
                        (
                                'vendor_data'                                   
=> $vendor_data,
                                'record_history'                                
=> $record_history,
                                'table_header_history'                  => 
$table_header_history,
                                'lang_history'                                  
=> lang('History'),
                                'lang_no_history'                               
=> lang('No history'),

                                'calendar_gif'                                  
=> './'.$this->currentapp.'/templates/default/images/calendar.gif',
                                'calendar_source'                               
=> './'.$this->currentapp.'/inc/calendar.js',
                                'dateformat'                                    
=> $dateformat,
                                'lang_popup_calendar'                   => 
lang('Popup Calendar'),

                                'link_calendar_drawing_date'    => 
'setDateField(document.form.drawing_date);top.newWin=window.open('."'.".'/'.$this->currentapp.'/inc/calendar.html'."'".','."'".'cal'."'".','."'dependent=yes,width=210,height=230,screenX=200,screenY=300,titlebar=yes'".')',
                                'lang_drawing_date_statustext'  => lang('Select 
date the drawing was created'),
                                'lang_drawing_date'                             
=> lang('Drawing date'),
                                'value_drawing_date'                    => 
$values['drawing_date'],

                                'vendor_data'                                   
=> $vendor_data,
                                'location_data'                                 
=> $location_data,
                                'location_type'                                 
=> 'form',
                                'appname'                                       
        => lang('Drawing'),
                                'function_msg'                                  
=> $function_msg,
                                'form_action'                                   
=> $GLOBALS['phpgw']->link('/index.php',$link_data),
                                'done_action'                                   
=> 
$GLOBALS['phpgw']->link('/index.php','menuaction='.$this->currentapp.'.uidrawing.index'),
                                'lang_year'                                     
        => lang('Year'),
                                'lang_category'                                 
=> lang('category'),
                                'lang_save'                                     
        => lang('save'),
                                'lang_done'                                     
        => lang('done'),

                                'lang_drawing_id'                               
=> lang('Drawing ID'),
                                'value_drawing_id'                              
=> $values['drawing_id'],

                                'lang_drawing_name'                             
=> lang('Drawing name'),
                                'value_drawing_name'                    => 
$values['drawing_name'],
                                'lang_drawing_name_statustext'                  
=> lang('Enter drawing Name'),

                                'lang_floor_id'                                 
=> lang('Floor ID'),
                                'value_floor_id'                                
=> $values['floor_id'],
                                'lang_floor_statustext'                 => 
lang('Enter the floor ID'),

                                'lang_version'                                  
=> lang('Version'),
                                'value_version'                                 
=> $values['version'],
                                'lang_version_statustext'               => 
lang('Enter drawing version'),

                                'error'                                         
        => $receipt['error'],
                                'message'                                       
        => $receipt['message'],
                                'lang_descr_statustext'                 => 
lang('Enter a description of the drawing'),
                                'lang_descr'                                    
=> lang('Description'),
                                'value_descr'                                   
=> $values['descr'],
                                'lang_done_statustext'                  => 
lang('Back to the list'),
                                'lang_save_statustext'                  => 
lang('Save the drawing'),
                                'lang_no_cat'                                   
=> lang('Select category'),
                                'lang_cat_statustext'                   => 
lang('Select the category the drawing belongs to. To do not use a category 
select NO CATEGORY'),
                                'select_name'                                   
=> 'values[cat_id]',
                                'value_cat_id'                                  
=> $values['cat_id'],
                                'cat_list'                                      
        => $this->bo->select_category_list('select',$values['cat_id']),

                                'lang_coordinator'                              
=> lang('Coordinator'),
                                'lang_user_statustext'                  => 
lang('Select the coordinator the drawing belongs to. To do not use a category 
select NO USER'),
                                'select_user_name'                              
=> 'values[coordinator]',
                                'lang_no_user'                                  
=> lang('Select coordinator'),
                                'user_list'                                     
        => $this->bocommon->get_user_list('select',$values['coordinator']),

                                'status_list'                                   
=> $this->bo->select_status_list('select',$values['status']),
                                'select_status_name'                    => 
'values[status]',
                                'lang_no_status'                                
=> lang('Select status'),
                                'lang_status'                                   
=> lang('Status'),
                                'lang_status_statustext'                => 
lang('What is the current status of this drawing ?'),


                                'branch_list'                                   
=> $this->bo->select_branch_list($values['branch_id']),
                                'lang_no_branch'                                
=> lang('No branch'),
                                'lang_branch'                                   
=> lang('branch'),
                                'lang_branch_statustext'                => 
lang('Select the branch for this drawing')
                        );

                        
$GLOBALS['phpgw']->xslttpl->set_var('phpgw',array('edit' => $data));
                }

                function delete()
                {
                        $drawing_id = get_var('drawing_id',array('POST','GET'));
                        $confirm        = get_var('confirm',array('POST'));

                        $link_data = array
                        (
                                'menuaction' => 
$this->currentapp.'.uidrawing.index'
                        );

                        if (get_var('confirm',array('POST')))
                        {
                                $this->bo->delete($drawing_id);
                                Header('Location: ' . 
$GLOBALS['phpgw']->link('/index.php',$link_data));
                        }

                        
$GLOBALS['phpgw']->xslttpl->add_file(array($GLOBALS['phpgw']->common->get_tpl_dir('phpgwapi','default')
 . SEP . 'app_delete',
                                                                                
$GLOBALS['phpgw']->common->get_tpl_dir('phpgwapi','default') . SEP . 
'app_header'));

                        $data = array
                        (
                                'appname'                               => 
lang('drawing'),
                                'function_msg'                  => lang('delete 
drawing'),
                                'done_action'                   => 
$GLOBALS['phpgw']->link('/index.php',$link_data),
                                'delete_action'                 => 
$GLOBALS['phpgw']->link('/index.php','menuaction='.$this->currentapp.'.uidrawing.delete&drawing_id='
 . $drawing_id),
                                'lang_confirm_msg'              => lang('do you 
really want to delete this entry'),
                                'lang_yes'                              => 
lang('yes'),
                                'lang_yes_statustext'   => lang('Delete the 
entry'),
                                'lang_no_statustext'    => lang('Back to the 
list'),
                                'lang_no'                               => 
lang('no')
                        );

                        
$GLOBALS['phpgw']->xslttpl->set_var('phpgw',array('delete' => $data));
                }

                function view()
                {
                        $id     = get_var('id',array('POST','GET'));

                        
$GLOBALS['phpgw']->xslttpl->add_file(array('project',$GLOBALS['phpgw']->common->get_tpl_dir('phpgwapi','default')
 . SEP . 'app_header'));

                        $this->config->read_repository();

                        $values = $this->bo->read_single($id);

                        $record_history = $this->bo->read_record_history($id);

                        $table_header_history[] = array
                        (
                                'lang_date'                     => lang('Date'),
                                'lang_user'                     => lang('User'),
                                'lang_action'           => lang('Action'),
                                'lang_new_value'        => lang('New value')
                        );

                        $table_header_workorder_budget[] = array
                        (
                                'lang_workorder_id'     => lang('Workorder'),
                                'lang_sum'      => lang('Sum')
                        );

                        $function_msg = lang('View Project');

                        if ($values['cat_id'])
                        {
                                $this->cat_id = $values['cat_id'];
                        }


                        
$location_data=$this->bocommon->initiate_ui_location(array(
                                                'location_type' => 'view',
                                                'equipment'             => true,
                                                'tenant'                => true,
                                                'address'               => true,
                                                'equipment_id'  => 
$values['equipment_id'],
                                                'property_id'   => 
$values['property_id'],
                                                'property_name' => 
$values['property_name'],
                                                'building_id'   => 
$values['building_id'],
                                                'entrance_id'   => 
$values['entrance_id'],
                                                'floor'                 => 
$values['floor'],
                                                'street_name'   => 
$values['street_name'],
                                                'street_number' => 
$values['street_number'],
                                                'tenant_id'             => 
$values['tenant_id'],
                                                'tenant_name'   => 
$values['tenant_name'],
                                                'tenant_phone'  => 
$values['tenant_phone'],
                                                'apartment_id'  => 
$values['apartment_id']));

                        $data = array
                        (
                                'table_header_workorder_budget' => 
$table_header_workorder_budget,
                                'lang_no_workorders'                    => 
lang('No workorder bugdet'),
                                'workorder_link'                                
=> 
$GLOBALS['phpgw']->link('/index.php','menuaction='.$this->currentapp.'.uiworkorder.view'),
                                'record_history'                                
=> $record_history,
                                'table_header_history'                  => 
$table_header_history,
                                'lang_history'                                  
=> lang('History'),
                                'lang_no_history'                               
=> lang('No history'),

                                'lang_start_date'                               
=> lang('Project start date'),
                                'value_start_date'                              
=> $values['start_date'],

                                'lang_end_date'                                 
=> lang('Project end date'),
                                'value_end_date'                                
=> $values['end_date'],

                                'lang_charge_tenant'                    => 
lang('Charge tenant'),
                                'charge_tenant'                                 
=> $values['charge_tenant'],

                                'lang_power_meter'                              
=> lang('Power meter'),
                                'value_power_meter'                             
=> $values['power_meter'],

                                'lang_budget'                                   
=> lang('Budget'),
                                'value_budget'                                  
=> $values['budget'],

                                'vendor_data'                                   
=> $vendor_data,
                                'location_data'                                 
=> $location_data,
                                'location_type'                                 
=> 'view',
                                'appname'                                       
        => lang('Project'),
                                'function_msg'                                  
=> $function_msg,
                                'done_action'                                   
=> 
$GLOBALS['phpgw']->link('/index.php','menuaction='.$this->currentapp.'.uiproject.index'),
                                'lang_year'                                     
        => lang('Year'),
                                'lang_category'                                 
=> lang('category'),
                                'lang_save'                                     
        => lang('save'),
                                'lang_done'                                     
        => lang('done'),
                                'lang_name'                                     
        => lang('Name'),

                                'lang_project_id'                               
=> lang('Project ID'),
                                'value_project_id'                              
=> $values['project_id'],
                                'value_name'                                    
=> $values['name'],

                                'lang_other_branch'                             
        => lang('Other branch'),
                                'value_other_branch'                            
=> $values['other_branch'],

                                'lang_descr'                                    
=> lang('Description'),
                                'value_descr'                                   
=> $values['descr'],
                                'lang_done_statustext'                  => 
lang('Back to the list'),
                                'select_name'                                   
=> 'values[cat_id]',
                                'cat_list'                                      
        => $this->bo->select_category_project_list('select',$values['cat_id']),

                                'lang_workorder_id'                             
=> lang('Workorder ID'),
                                'sum_workorder_budget'                  => 
$values['sum_workorder_budget'],
                                'workorder_budget'                              
=> $values['workorder_budget'],

                                'lang_coordinator'                              
=> lang('Coordinator'),
                                'lang_sum'                                      
        => lang('Sum'),
                                'select_user_name'                              
=> 'values[coordinator]',
                                'lang_no_user'                                  
=> lang('Select coordinator'),
                                'user_list'                                     
        => $this->bocommon->get_user_list('select',$values['coordinator']),

                                'status_list'                                   
=> $this->bo->select_status_list('select',$values['status']),
                                'lang_no_status'                                
=> lang('Select status'),
                                'lang_status'                                   
=> lang('Status'),

                                'branch_list'                                   
=> $this->bo->select_branch_p_list($values['project_id']),
                                'lang_branch'                                   
=> lang('branch'),

                                'key_responsible_list'                          
        => $this->bo->select_branch_list($values['key_responsible']),
                                'lang_key_responsible'                          
        => lang('key responsible'),

                                'key_fetch_list'                                
        => $this->bo->select_key_location_list($values['key_fetch']),
                                'lang_key_fetch'                                
        => lang('key fetch location'),

                                'key_deliver_list'                              
        => $this->bo->select_key_location_list($values['key_deliver']),
                                'lang_key_deliver'                              
        => lang('key deliver location'),

                                'edit_action'                                   
        => 
$GLOBALS['phpgw']->link('/index.php','menuaction='.$this->currentapp.'.uiproject.edit&id='
 . $id),
                                'lang_edit_statustext'                          
=> lang('Edit this entry project'),
                                'lang_edit'                                     
                => lang('Edit'),
                                'currency'                                      
                => 
$GLOBALS['phpgw_info']['user']['preferences']['common']['currency']
                        );

                        
$GLOBALS['phpgw']->xslttpl->set_var('phpgw',array('view' => $data));
                }
        }
?>

Index: class.bocommon.inc.php
===================================================================
RCS file: /cvsroot/phpgroupware/property/inc/class.bocommon.inc.php,v
retrieving revision 1.34
retrieving revision 1.35
diff -C2 -r1.34 -r1.35
*** class.bocommon.inc.php      12 Apr 2003 17:55:03 -0000      1.34
--- class.bocommon.inc.php      20 Apr 2003 22:24:30 -0000      1.35
***************
*** 537,541 ****
                                
$menu['sublink_apartment']=$GLOBALS['phpgw']->link('/index.php','menuaction='.$currentapp.'.uiapartment.index');
                                $menu['sublang_apartment']=lang('Apartment');
!                               
$menu['sublink_drawing']=$GLOBALS['phpgw']->link('/property/list_drawing.php');
                                $menu['sublang_drawing']=lang('Drawing');
                                
$menu['sublink_gabnr']=$GLOBALS['phpgw']->link('/property/list_gabnr.php');
--- 537,541 ----
                                
$menu['sublink_apartment']=$GLOBALS['phpgw']->link('/index.php','menuaction='.$currentapp.'.uiapartment.index');
                                $menu['sublang_apartment']=lang('Apartment');
!                               
$menu['sublink_drawing']=$GLOBALS['phpgw']->link('/index.php','menuaction='.$currentapp.'.uidrawing.index');
                                $menu['sublang_drawing']=lang('Drawing');
                                
$menu['sublink_gabnr']=$GLOBALS['phpgw']->link('/property/list_gabnr.php');

Index: class.historylog.inc.php
===================================================================
RCS file: /cvsroot/phpgroupware/property/inc/class.historylog.inc.php,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** class.historylog.inc.php    12 Apr 2003 17:55:03 -0000      1.2
--- class.historylog.inc.php    20 Apr 2003 22:24:30 -0000      1.3
***************
*** 56,59 ****
--- 56,62 ----
                                        $this->table='fm_tts_history';
                                        break;
+                               case 'drawing':
+                                       $this->table='fm_drawing_history';
+                                       break;
                        }
  

Index: class.sorequest.inc.php
===================================================================
RCS file: /cvsroot/phpgroupware/property/inc/class.sorequest.inc.php,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** class.sorequest.inc.php     14 Apr 2003 07:24:22 -0000      1.2
--- class.sorequest.inc.php     20 Apr 2003 22:24:30 -0000      1.3
***************
*** 126,130 ****
                function select_status_list()
                {
!                       $this->db->query("SELECT id, descr FROM 
fm_wo_wrkorders_status ORDER BY id ");
  
                        $i = 0;
--- 126,130 ----
                function select_status_list()
                {
!                       $this->db->query("SELECT id, descr FROM 
fm_wo_request_status ORDER BY id ");
  
                        $i = 0;
***************
*** 305,309 ****
                                $request['p_user_gratification']                
= $this->db->f('p_user_gratification');
                                $request['p_residential_environment']   = 
$this->db->f('p_residential_environment');
!                               $request['authorities_demands']                 
                = $this->db->f('authorities_demands');
  
                                $request['power_meter'] = 
$this->soproject->get_power_meter($this->db->f('location_code'));
--- 305,310 ----
                                $request['p_user_gratification']                
= $this->db->f('p_user_gratification');
                                $request['p_residential_environment']   = 
$this->db->f('p_residential_environment');
!                               $request['authorities_demands']                 
= $this->db->f('authorities_demands');
!                               $request['score']                               
                = $this->db->f('score');
  
                                $request['power_meter'] = 
$this->soproject->get_power_meter($this->db->f('location_code'));

Index: class.sostandard_2.inc.php
===================================================================
RCS file: /cvsroot/phpgroupware/property/inc/class.sostandard_2.inc.php,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -r1.9 -r1.10
*** class.sostandard_2.inc.php  8 Apr 2003 12:38:09 -0000       1.9
--- class.sostandard_2.inc.php  20 Apr 2003 22:24:30 -0000      1.10
***************
*** 143,146 ****
--- 143,152 ----
                                        $table='fm_apartment_category';
                                        break;
+                               case 'drawing':
+                                       $table='fm_drawing_category';
+                                       break;
+                               case 'drawing_status':
+                                       $table='fm_drawing_status';
+                                       break;
                                case 'unit':
                                        $table='fm_standard_unit';

Index: class.uiproject.inc.php
===================================================================
RCS file: /cvsroot/phpgroupware/property/inc/class.uiproject.inc.php,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -r1.10 -r1.11
*** class.uiproject.inc.php     12 Apr 2003 17:55:03 -0000      1.10
--- class.uiproject.inc.php     20 Apr 2003 22:24:30 -0000      1.11
***************
*** 254,258 ****
                                $values['tenant_id']            = 
get_var('tenant_id',array('POST','GET'));
                                $values['equipment_id']         = 
get_var('equipment_id',array('POST','GET'));
! 
                                if($values['tenant_id'])
                                {
--- 254,258 ----
                                $values['tenant_id']            = 
get_var('tenant_id',array('POST','GET'));
                                $values['equipment_id']         = 
get_var('equipment_id',array('POST','GET'));
!                               $values['descr']                        = 
get_var('descr',array('POST','GET'));
                                if($values['tenant_id'])
                                {

Index: class.uirequest.inc.php
===================================================================
RCS file: /cvsroot/phpgroupware/property/inc/class.uirequest.inc.php,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** class.uirequest.inc.php     14 Apr 2003 07:24:22 -0000      1.2
--- class.uirequest.inc.php     20 Apr 2003 22:24:30 -0000      1.3
***************
*** 552,558 ****
                        $data = array
                        (
!                               'add_workorder_action'                          
=> 
$GLOBALS['phpgw']->link('/index.php','menuaction='.$this->currentapp.'.uiworkorder.edit'),
!                               'lang_add_workorder'                            
=> lang('Add Workorder'),
!                               'lang_add_workorder_statustext'         => 
lang('Add a workorder to this request'),
  
                                'lang_importance'                               
=> lang('Importance'),
--- 552,561 ----
                        $data = array
                        (
!                               'generate_project_action'                       
=> 
$GLOBALS['phpgw']->link('/index.php','menuaction='.$this->currentapp.'.uiproject.edit'),
!                               'lang_generate_project'                         
=> lang('Generate project'),
!                               'lang_generate_project_statustext'      => 
lang('Generate a project from this request'),
!                               'location_code'                                 
        => $values['location_code'],
!                               'equipment_id'                                  
        => $values['equipment_id'],
!                               'tenant_id'                                     
                => $values['tenant_id'],
  
                                'lang_importance'                               
=> lang('Importance'),
***************
*** 616,619 ****
--- 619,624 ----
                                'lang_descr'                                    
=> lang('Description'),
                                'value_descr'                                   
=> $values['descr'],
+                               'lang_score'                                    
=> lang('Score'),
+                               'value_score'                                   
=> $values['score'],
                                'lang_done_statustext'                  => 
lang('Back to the list'),
                                'lang_save_statustext'                  => 
lang('Save the request'),
***************
*** 689,697 ****
                function view()
                {
-                       $id     = get_var('id',array('POST','GET'));
  
!                       
$GLOBALS['phpgw']->xslttpl->add_file(array('request',$GLOBALS['phpgw']->common->get_tpl_dir('phpgwapi','default')
 . SEP . 'app_header'));
  
!                       $this->config->read_repository();
  
                        $values = $this->bo->read_single($id);
--- 694,701 ----
                function view()
                {
  
!                       $id                             = 
get_var('id',array('POST','GET'));
  
!                       
$GLOBALS['phpgw']->xslttpl->add_file(array('request',$GLOBALS['phpgw']->common->get_tpl_dir('phpgwapi','default')
 . SEP . 'app_header'));
  
                        $values = $this->bo->read_single($id);
***************
*** 707,716 ****
                        );
  
-                       $table_header_workorder_budget[] = array
-                       (
-                               'lang_workorder_id'     => lang('Workorder'),
-                               'lang_sum'      => lang('Sum')
-                       );
- 
                        $function_msg = lang('View request');
  
--- 711,714 ----
***************
*** 724,729 ****
                                                'location_type' => 'view',
                                                'equipment'             => true,
!                                               'tenant'                => true,
!                                               'address'               => true,
                                                'equipment_id'  => 
$values['equipment_id'],
                                                'property_id'   => 
$values['property_id'],
--- 722,726 ----
                                                'location_type' => 'view',
                                                'equipment'             => true,
!                                               'apartment'             => true,
                                                'equipment_id'  => 
$values['equipment_id'],
                                                'property_id'   => 
$values['property_id'],
***************
*** 739,747 ****
                                                'apartment_id'  => 
$values['apartment_id']));
  
                        $data = array
                        (
!                               'table_header_workorder_budget' => 
$table_header_workorder_budget,
!                               'lang_no_workorders'                    => 
lang('No workorder bugdet'),
!                               'workorder_link'                                
=> 
$GLOBALS['phpgw']->link('/index.php','menuaction='.$this->currentapp.'.uiworkorder.view'),
                                'record_history'                                
=> $record_history,
                                'table_header_history'                  => 
$table_header_history,
--- 736,806 ----
                                                'apartment_id'  => 
$values['apartment_id']));
  
+ 
+                       $link_data = array
+                       (
+                               'menuaction'    => 
$this->currentapp.'.uirequest.edit',
+                               'id'                    => $id
+                       );
+ 
+                       $dateformat = 
strtolower($GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat']);
+                       $sep = '/';
+                       $dlarr[strpos($dateformat,'y')] = 'yyyy';
+                       $dlarr[strpos($dateformat,'m')] = 'MM';
+                       $dlarr[strpos($dateformat,'d')] = 'DD';
+                       ksort($dlarr);
+ 
+                       $dateformat= (implode($sep,$dlarr));
+ 
+ 
+                       $table_header_importance[] = array
+                       (
+                               'lang_subject'                  => 
lang('Subject'),
+                               'lang_condition_degree' => lang('Condidtion 
degree'),
+                               'lang_prob_worsening'   => lang('Probability'),
+                               'lang_consequence'              => 
lang('Consequence')
+                       );
+ 
+                       $importance_weight[] = array
+                       (
+                               'lang_safety'                                   
                => lang('Safety'),
+                               'lang_aesthetics'                               
                => lang('Aesthetics'),
+                               'lang_indoor_climate'                           
        => lang('Indoor climate'),
+                               'lang_consequential_damage'                     
        => lang('Consequential damage'),
+                               'lang_user_gratification'                       
        => lang('User gratification'),
+                               'lang_residential_environment'                  
=> lang('Residential environment'),
+ 
+                               'degree_safety'                                 
                => $values['d_safety'],
+                               'degree_aesthetics'                             
                => $values['d_aesthetics'],
+                               'degree_indoor_climate'                         
        => $values['d_indoor_climate'],
+                               'degree_consequential_damage'                   
=> $values['d_consequential_damage'],
+                               'degree_user_gratification'                     
        => $values['d_user_gratification'],
+                               'degree_residential_environment'                
=> $values['d_residential_environment'],
+ 
+                               'probability_safety'                            
        => $values['p_safety'],
+                               'probability_aesthetics'                        
        => $values['p_aesthetics'],
+                               'probability_indoor_climate'                    
=> $values['p_indoor_climate'],
+                               'probability_consequential_damage'              
=> $values['p_consequential_damage'],
+                               'probability_user_gratification'                
=> $values['p_user_gratification'],
+                               'probability_residential_environment'   => 
$values['p_residential_environment'],
+ 
+                               'consequence_safety'                            
        => $values['c_safety'],
+                               'consequence_aesthetics'                        
        => $values['c_aesthetics'],
+                               'consequence_indoor_climate'                    
=> $values['c_indoor_climate'],
+                               'consequence_consequential_damage'              
=> $values['c_consequential_damage'],
+                               'consequence_user_gratification'                
=> $values['c_user_gratification'],
+                               'consequence_residential_environment'   => 
$values['c_residential_environment'],
+ 
+                               'lang_authorities_demands'                      
        => lang('Authorities Demands'),
+                               'authorities_demands'                           
        => $values['authorities_demands']
+                       );
+ 
+ 
                        $data = array
                        (
!                               'lang_importance'                               
=> lang('Importance'),
!                               'table_header_importance'               => 
$table_header_importance,
!                               'importance_weight_view'                => 
$importance_weight,
! 
!                               'workorder_link'                                
=> 
$GLOBALS['phpgw']->link('/index.php','menuaction='.$this->currentapp.'.uiworkorder.edit'),
                                'record_history'                                
=> $record_history,
                                'table_header_history'                  => 
$table_header_history,
***************
*** 755,761 ****
                                'value_end_date'                                
=> $values['end_date'],
  
-                               'lang_charge_tenant'                    => 
lang('Charge tenant'),
-                               'charge_tenant'                                 
=> $values['charge_tenant'],
- 
                                'lang_power_meter'                              
=> lang('Power meter'),
                                'value_power_meter'                             
=> $values['power_meter'],
--- 814,817 ----
***************
*** 764,768 ****
                                'value_budget'                                  
=> $values['budget'],
  
-                               'vendor_data'                                   
=> $vendor_data,
                                'location_data'                                 
=> $location_data,
                                'location_type'                                 
=> 'view',
--- 820,823 ----
***************
*** 770,817 ****
                                'function_msg'                                  
=> $function_msg,
                                'done_action'                                   
=> 
$GLOBALS['phpgw']->link('/index.php','menuaction='.$this->currentapp.'.uirequest.index'),
-                               'lang_year'                                     
        => lang('Year'),
                                'lang_category'                                 
=> lang('category'),
                                'lang_save'                                     
        => lang('save'),
                                'lang_done'                                     
        => lang('done'),
-                               'lang_name'                                     
        => lang('Name'),
  
                                'lang_request_id'                               
=> lang('request ID'),
                                'value_request_id'                              
=> $values['request_id'],
-                               'value_name'                                    
=> $values['name'],
  
!                               'lang_other_branch'                             
        => lang('Other branch'),
!                               'value_other_branch'                            
=> $values['other_branch'],
  
                                'lang_descr'                                    
=> lang('Description'),
                                'value_descr'                                   
=> $values['descr'],
                                'lang_done_statustext'                  => 
lang('Back to the list'),
!                               'select_name'                                   
=> 'values[cat_id]',
                                'cat_list'                                      
        => $this->bo->select_category_request_list('select',$values['cat_id']),
  
-                               'lang_workorder_id'                             
=> lang('Workorder ID'),
-                               'sum_workorder_budget'                  => 
$values['sum_workorder_budget'],
-                               'workorder_budget'                              
=> $values['workorder_budget'],
- 
                                'lang_coordinator'                              
=> lang('Coordinator'),
-                               'lang_sum'                                      
        => lang('Sum'),
-                               'select_user_name'                              
=> 'values[coordinator]',
                                'lang_no_user'                                  
=> lang('Select coordinator'),
                                'user_list'                                     
        => $this->bocommon->get_user_list('select',$values['coordinator']),
  
                                'status_list'                                   
=> $this->bo->select_status_list('select',$values['status']),
-                               'lang_no_status'                                
=> lang('Select status'),
                                'lang_status'                                   
=> lang('Status'),
  
!                               'branch_list'                                   
=> $this->bo->select_branch_p_list($values['request_id']),
                                'lang_branch'                                   
=> lang('branch'),
- 
-                               'key_responsible_list'                          
        => $this->bo->select_branch_list($values['key_responsible']),
-                               'lang_key_responsible'                          
        => lang('key responsible'),
- 
-                               'key_fetch_list'                                
        => $this->bo->select_key_location_list($values['key_fetch']),
-                               'lang_key_fetch'                                
        => lang('key fetch location'),
- 
-                               'key_deliver_list'                              
        => $this->bo->select_key_location_list($values['key_deliver']),
-                               'lang_key_deliver'                              
        => lang('key deliver location'),
  
                                'edit_action'                                   
        => 
$GLOBALS['phpgw']->link('/index.php','menuaction='.$this->currentapp.'.uirequest.edit&id='
 . $id),
--- 825,857 ----
                                'function_msg'                                  
=> $function_msg,
                                'done_action'                                   
=> 
$GLOBALS['phpgw']->link('/index.php','menuaction='.$this->currentapp.'.uirequest.index'),
                                'lang_category'                                 
=> lang('category'),
                                'lang_save'                                     
        => lang('save'),
                                'lang_done'                                     
        => lang('done'),
  
                                'lang_request_id'                               
=> lang('request ID'),
                                'value_request_id'                              
=> $values['request_id'],
  
!                               'lang_title'                                    
=> lang('Title'),
!                               'value_title'                                   
=> $values['title'],
  
+                               'error'                                         
        => $receipt['error'],
+                               'message'                                       
        => $receipt['message'],
                                'lang_descr'                                    
=> lang('Description'),
                                'value_descr'                                   
=> $values['descr'],
+                               'lang_score'                                    
=> lang('Score'),
+                               'value_score'                                   
=> $values['score'],
                                'lang_done_statustext'                  => 
lang('Back to the list'),
!                               'value_cat_id'                                  
=> $values['cat_id'],
                                'cat_list'                                      
        => $this->bo->select_category_request_list('select',$values['cat_id']),
  
                                'lang_coordinator'                              
=> lang('Coordinator'),
                                'lang_no_user'                                  
=> lang('Select coordinator'),
                                'user_list'                                     
        => $this->bocommon->get_user_list('select',$values['coordinator']),
  
                                'status_list'                                   
=> $this->bo->select_status_list('select',$values['status']),
                                'lang_status'                                   
=> lang('Status'),
  
!                               'branch_list'                                   
=> $this->boproject->select_branch_list($values['branch_id']),
                                'lang_branch'                                   
=> lang('branch'),
  
                                'edit_action'                                   
        => 
$GLOBALS['phpgw']->link('/index.php','menuaction='.$this->currentapp.'.uirequest.edit&id='
 . $id),

Index: hook_admin.inc.php
===================================================================
RCS file: /cvsroot/phpgroupware/property/inc/hook_admin.inc.php,v
retrieving revision 1.23
retrieving revision 1.24
diff -C2 -r1.23 -r1.24
*** hook_admin.inc.php  8 Apr 2003 12:38:09 -0000       1.23
--- hook_admin.inc.php  20 Apr 2003 22:24:30 -0000      1.24
***************
*** 27,30 ****
--- 27,32 ----
                                'Entrance Categories'=> 
$GLOBALS['phpgw']->link('/index.php','menuaction='.$appname.'.uistandard_2.index&type=entrance'),
                                'Apartment Categories'=> 
$GLOBALS['phpgw']->link('/index.php','menuaction='.$appname.'.uistandard_2.index&type=apartment'),
+                               'Drawing Categories'=> 
$GLOBALS['phpgw']->link('/index.php','menuaction='.$appname.'.uistandard_2.index&type=drawing'),
+                               'Drawing Status'=> 
$GLOBALS['phpgw']->link('/index.php','menuaction='.$appname.'.uistandard_2.index&type=drawing_status'),
                                'Meter Categories'=> 
$GLOBALS['phpgw']->link('/index.php','menuaction='.$appname.'.uistandard_2.index&type=meter'),
        //                      'Property type attributes class'=> 
$GLOBALS['phpgw']->link('/property/list_property_type_attribute_class.php'),





reply via email to

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