phpgroupware-cvs
[Top][All Lists]
Advanced

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

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


From: nomail
Subject: [Phpgroupware-cvs] property/class.uiproject.php, 1.1.1.3
Date: Fri, 21 May 2004 16:29:11 -0000

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

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

Log Message:
no message
=====================================================================
Index: property/class.uiproject.php
diff -u property/class.uiproject.php:1.1.1.2 
property/class.uiproject.php:1.1.1.3
--- property/class.uiproject.php:1.1.1.2        Fri Apr 23 20:26:50 2004
+++ property/class.uiproject.php        Fri Apr 23 21:26:42 2004
@@ -1,1201 +1,1201 @@
-<?php
-       
/**************************************************************************\
-       * phpGroupWare - property                                               
   *
-       * http://www.phpgroupware.org                                           
   *
-       *                                                                       
   *
-       * Facilities Management                                                 
   *
-       * Written by Sigurd Nes [sigurdne at online.no]                         
   *
-       * 
------------------------------------------------------------------------ *
-       * Copyright 2000 - 2003 Free Software Foundation, Inc                   
   *
-       * This program is part of the GNU project, see http://www.gnu.org/      
   *
-       * 
------------------------------------------------------------------------ *
-       * This program is free software; you can redistribute it and/or modify 
it  *
-       * under the terms of the GNU General Public License as published by the 
   *
-       * Free Software Foundation; either version 2 of the License, or (at 
your   *
-       * option) any later version.                                            
   *
-       
\**************************************************************************/
-
-       class property_uiproject
-       {
-               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
-               (
-                       'excel'  => True,
-                       'index'  => True,
-                       'view'   => True,
-                       'edit'   => True,
-                       'delete' => True,
-                       'date_search'=>True
-               );
-
-               function property_uiproject()
-               {
-                       $GLOBALS['phpgw_info']['flags']['xslt_app'] = True;
-                       $this->currentapp                       = 'property'; 
//$GLOBALS['phpgw_info']['flags']['currentapp'];
-                       $this->account                          = 
$GLOBALS['phpgw_data']['user']['id'];
-
-                       $this->bo                                       = 
CreateObject($this->currentapp.'_boproject',True);
-                       $this->bocommon                         = 
CreateObject($this->currentapp.'_bocommon');
-                       $this->menu                                     = 
CreateObject($this->currentapp.'_menu');
-                       $this->fm_session       = 
CreateObject($this->currentapp.'_session');
-
-                       $this->acl2                             = 
$GLOBALS['phpgw']->acl;
-                       $this->acl2_location            = '.project';
-                       $this->acl_read                         = 
$this->acl2->check('.project',1);
-                       $this->acl_add                          = 
$this->acl2->check('.project',2);
-                       $this->acl_edit                         = 
$this->acl2->check('.project',4);
-                       $this->acl_delete                       = 
$this->acl2->check('.project',8);
-
-                       $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;
-
-                       $this->menu->sub                        ='project';
-               }
-
-               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,
-                               'status_id'     => $this->status_id
-                       );
-                       $this->bo->save_sessiondata($data);
-               }
-
-               function excel()
-               {
-                       $GLOBALS['phpgw_info']['flags']['noframework'] = True;
-                       require('PEAR.php');
-                       $xls            = 
CreateObject($this->currentapp.'_excel');
-
-                       $start_date = 
urldecode(get_var('start_date',array('POST','GET')));
-                       $end_date       = 
urldecode(get_var('end_date',array('POST','GET')));
-                       $list           = 
$this->bo->read($start_date,$end_date,$allrows=True);
-
-                       $uicols = $this->bo->uicols;
-                       $count_uicols_name=count($uicols['name']);
-
-                       $j=0;
-                       if (isset($list) AND is_array($list))
-                       {
-                               $str=$xls->Begin();
-                               foreach($list as $entry)
-                               {
-                                       $m=0;
-                                       for ($k=0;$k<$count_uicols_name;$k++)
-                                       {
-                                               
if($uicols['input_type'][$k]!='hidden')
-                                               {
-                                                       $content[$j][$m]        
= $entry[$uicols['name'][$k]];
-                                                       
$str.=$xls->WriteLabel(0,$m,$uicols['descr'][$k]);
-                                                       $m++;
-                                               }
-                                       }
-
-                                       $j++;
-                               }
-
-                               foreach($content as $row)
-                               {
-                                       $line++;
-                                       for ($i=0; $i<count($row); $i++)
-                                       {
-                                               
$str.=$xls->WriteLabel($line,$i,$row[$i]);
-                                       }
-                               }
-
-                          $filename= 
$GLOBALS['phpgw_info']['user']['account_lid'].'.xls';
-
-                               $str.=$xls->EOF();
-                               $size=strlen($str);
-
-                               $browser = CreateObject('phpgwapi_browser');
-                               
$browser->content_header($filename,'application/vnd.ms-excel',$size);
-
-                               echo $str;
-                       }
-               }
-
-               function index()
-               {
-                       if(!$this->acl_read)
-                       {
-                               
$this->bocommon->redirect_link('/index.php','sid=cookie&op='.$this->currentapp.'.uilocation.stop&perm=1&acl_location='
 . $this->acl2_location);
-                       }
-
-                       
$this->bocommon->xsl_add_file(array('project','values','table_header',
-                                                                               
'menu',
-                                                                               
'nextmatchs',
-                                                                               
'search_field'));
-
-                       $lookup = get_var('lookup',array('POST','GET'));
-                       $start_date             = 
urldecode(get_var('start_date',array('POST','GET')));
-                       $end_date                       = 
urldecode(get_var('end_date',array('POST','GET')));
-
-                       $links = $this->menu->links('project');
-
-                       $project_list = $this->bo->read($start_date,$end_date);
-                       $uicols = $this->bo->uicols;
-                       $count_uicols_name=count($uicols['name']);
-
-                       $j=0;
-                       if (isSet($project_list) AND is_array($project_list))
-                       {
-                               foreach($project_list as $project_entry)
-
-                               {
-                                       for ($k=0;$k<$count_uicols_name;$k++)
-                                       {
-                                               
if($uicols['input_type'][$k]=='text')
-                                               {
-
-                                                       
if($project_entry['query_location'][$uicols['name'][$k]])
-                                                       {
-                                                               
$content[$j]['row'][$k]['statustext']                   = lang('search');
-                                                               
$content[$j]['row'][$k]['text']                                 = 
$project_entry[$uicols['name'][$k]];
-                                                               
$content[$j]['row'][$k]['link']                         = 
$this->bocommon->link('/index.php','sid=cookie&op='.$this->currentapp.'.uiproject.index&query='
 . $project_entry['query_location'][$uicols['name'][$k]] . '&lookup=' . $lookup 
. '&filter=' . $this->filter);
-                                                       }
-                                                       else
-                                                       {
-                                                               
$content[$j]['row'][$k]['value']                        = 
$project_entry[$uicols['name'][$k]];
-                                                               
$content[$j]['row'][$k]['name']                         = $uicols['name'][$k];
-                                                       }
-                                               }
-                                               
elseif($uicols['input_type'][$k]=='link')
-                                               {
-                                                       
$content[$j]['row'][$k]['statustext']                   = lang('search');
-                                                       
$content[$j]['row'][$k]['text']                                 = 
$project_entry[$uicols['name'][$k]];
-                                                       
$content[$j]['row'][$k]['link']                         = 
$this->bocommon->link('/index.php','sid=cookie&op='.$this->currentapp.'.uitts.view&id='
 . $project_entry[$uicols['name'][$k]]);
-                                               }
-
-                                               if($lookup && 
$k==($count_uicols_name-2))
-                                               {
-                                                       
$content[$j]['row'][$k]['lookup_action']                        = 
$this->bocommon->link('/index.php','sid=cookie&op='.$this->currentapp.'.uiworkorder.edit&project_id='
 . $project_entry['project_id']);
-                                               }
-                                       }
-
-                                       if(!$lookup)
-                                       {
-                                               if ($this->acl_read && 
$this->bocommon->check_perms($project_entry['grants'],PHPGW_ACL_READ))
-                                               {
-                                                       
$content[$j]['row'][$k]['statustext']                   = lang('view the 
project');
-                                                       
$content[$j]['row'][$k]['text']                                 = lang('view');
-                                                       
$content[$j]['row'][$k]['link']                                 = 
$this->bocommon->link('/index.php','sid=cookie&op='.$this->currentapp.'.uiproject.view&id='
 . $project_entry['project_id']);
-                                                       $k++;
-                                               }
-                                               else
-                                               {
-                                                       
$content[$j]['row'][$k++]['link']='dummy';
-                                               }
-
-                                               if ($this->acl_edit && 
$this->bocommon->check_perms($project_entry['grants'],PHPGW_ACL_EDIT))
-                                               {
-                                                       
$content[$j]['row'][$k]['statustext']                   = lang('edit the 
project');
-                                                       
$content[$j]['row'][$k]['text']                                 = lang('edit');
-                                                       
$content[$j]['row'][$k]['link']                                 = 
$this->bocommon->link('/index.php','sid=cookie&op='.$this->currentapp.'.uiproject.edit&id='
 . $project_entry['project_id']);
-                                                       $k++;
-                                               }
-                                               else
-                                               {
-                                                       
$content[$j]['row'][$k++]['link']='dummy';
-                                               }
-
-                                               if ($this->acl_delete && 
$this->bocommon->check_perms($project_entry['grants'],PHPGW_ACL_DELETE))
-                                               {
-                                                       
$content[$j]['row'][$k]['statustext']                   = lang('delete the 
project');
-                                                       
$content[$j]['row'][$k]['text']                                 = 
lang('delete');
-                                                       
$content[$j]['row'][$k]['link']                                 = 
$this->bocommon->link('/index.php','sid=cookie&op='.$this->currentapp.'.uiproject.delete&id='
 . $project_entry['project_id']);
-                                                       $k++;
-                                               }
-                                               else
-                                               {
-                                                       
$content[$j]['row'][$k++]['link']='dummy';
-                                               }
-                                       }
-
-                                       $j++;
-                               }
-                       }
-
-                       $count_uicols_descr=count($uicols['descr']);
-                       for ($i=0;$i<$count_uicols_descr;$i++)
-                       {
-                               if($uicols['input_type'][$i]!='hidden')
-                               {
-                                       $table_header[$i]['header']     = 
$uicols['descr'][$i];
-                                       $table_header[$i]['width']              
= '5%';
-                                       $table_header[$i]['align']              
= 'center';
-                                       if($uicols['name'][$i]=='loc1')
-                                       {
-                                               $table_header[$i]['sort_link']  
=true;
-                                               $table_header[$i]['sort']       
        = $this->bocommon->show_sort_order(array
-                                                                               
(
-                                                                               
        'sort'  => $this->sort,
-                                                                               
        'var'   =>      'location_code',
-                                                                               
        'order' =>      $this->order,
-                                                                               
        'extra'         => array('sid=cookie&op'        => 
$this->currentapp.'.uiproject.index',
-                                                                               
                                                        'type_id'       
=>$type_id,
-                                                                               
                                                        'query'         
=>$this->query,
-                                                                               
                                                        'lookup'        
=>$lookup,
-                                                                               
                                                        'district_id'   => 
$this->district_id,
-                                                                               
                                                        'cat_id'        
=>$this->cat_id,
-                                                                               
                                                        
'start_date'=>$start_date,
-                                                                               
                                                        'end_date'=>$end_date)
-                                                                               
));
-                                       }
-                                       if($uicols['name'][$i]=='project_id')
-                                       {
-                                               $table_header[$i]['sort_link']  
=true;
-                                               $table_header[$i]['sort']       
        = $this->bocommon->show_sort_order(array
-                                                                               
(
-                                                                               
        'sort'  => $this->sort,
-                                                                               
        'var'   =>      'project_id',
-                                                                               
        'order' =>      $this->order,
-                                                                               
        'extra'         => array('sid=cookie&op'        => 
$this->currentapp.'.uiproject.index',
-                                                                               
                                                        'type_id'       
=>$type_id,
-                                                                               
                                                        'query'         
=>$this->query,
-                                                                               
                                                        'lookup'        
=>$lookup,
-                                                                               
                                                        'district_id'   => 
$this->district_id,
-                                                                               
                                                        'cat_id'        
=>$this->cat_id,
-                                                                               
                                                        
'start_date'=>$start_date,
-                                                                               
                                                        'end_date'=>$end_date)
-                                                                               
));
-                                       }
-                                       if($uicols['name'][$i]=='address')
-                                       {
-                                               $table_header[$i]['sort_link']  
=true;
-                                               $table_header[$i]['sort']       
        = $this->bocommon->show_sort_order(array
-                                                                               
(
-                                                                               
        'sort'  => $this->sort,
-                                                                               
        'var'   =>      'address',
-                                                                               
        'order' =>      $this->order,
-                                                                               
        'extra'         => array('sid=cookie&op'        => 
$this->currentapp.'.uiproject.index',
-                                                                               
                                                        'type_id'       
=>$type_id,
-                                                                               
                                                        'query'         
=>$this->query,
-                                                                               
                                                        'lookup'        
=>$lookup,
-                                                                               
                                                        'district_id'   => 
$this->district_id,
-                                                                               
                                                        'cat_id'        
=>$this->cat_id,
-                                                                               
                                                        
'start_date'=>$start_date,
-                                                                               
                                                        'end_date'=>$end_date)
-                                                                               
));
-                                       }
-                               }
-                       }
-
-                       if(!$lookup)
-                       {
-                               if($this->acl_read)
-                               {
-                                       $table_header[$i]['width']              
        = '5%';
-                                       $table_header[$i]['align']              
        = 'center';
-                                       $table_header[$i]['header']             
        = lang('view');
-                                       $i++;
-                               }
-                               if($this->acl_edit)
-                               {
-                                       $table_header[$i]['width']              
        = '5%';
-                                       $table_header[$i]['align']              
        = 'center';
-                                       $table_header[$i]['header']             
        = lang('edit');
-                                       $i++;
-                               }
-                               if($this->acl_delete)
-                               {
-                                       $table_header[$i]['width']              
        = '5%';
-                                       $table_header[$i]['align']              
        = 'center';
-                                       $table_header[$i]['header']             
        = lang('delete');
-                                       $i++;
-                               }
-                       }
-                       else
-                       {
-                               $table_header[$i]['width']                      
= '5%';
-                               $table_header[$i]['align']                      
= 'center';
-                               $table_header[$i]['header']             = 
lang('select');
-                       }
-
-//html_print_r($content);
-                       if($this->acl_add)
-                       {
-                               $table_add[] = array
-                               (
-                                       'lang_add'                              
=> lang('add'),
-                                       'lang_add_statustext'   => lang('add a 
project'),
-                                       'add_action'                    => 
$this->bocommon->link('/index.php','sid=cookie&op='.$this->currentapp.'.uiproject.edit')
-                               );
-                       }
-
-                       $link_data = array
-                       (
-                               'sid=cookie&op' => 
$this->currentapp.'.uiproject.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,
-                                               'start_date'    =>$start_date,
-                                               'end_date'              
=>$end_date
-                       );
-
-                       $link_date_search                                       
= 
$this->bocommon->link('/index.php','sid=cookie&op='.$this->currentapp.'.uiproject.date_search');
-
-                       $link_excel = array
-                       (
-                               'sid=cookie&op' => 
$this->currentapp.'.uiproject.excel',
-                                               '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,
-                                               'start_date'    =>$start_date,
-                                               'end_date'              
=>$end_date,
-                                               'start' =>$this->start
-                       );
-
-                       $data = array
-                       (
-                               'lang_excel'                            => 
'excel',
-                               'link_excel'                            => 
$this->bocommon->link('/index.php',$link_excel),
-                               'lang_excel_help'                       => 
lang('Download table to MS Excel'),
-
-                               'start_date'                            
=>$start_date,
-                               'end_date'                                      
=>$end_date,
-                               'lang_none'                                     
=>lang('None'),
-                               'lang_date_search'                      => 
lang('Date search'),
-                               'lang_date_search_help'         => lang('Narrow 
the search by dates'),
-                               'link_date_search'                      => 
$link_date_search,
-                               'overlib_source'                        => 
'./'.$this->currentapp.'/inc/overlib.js',
-
-                               'lang_select'                                   
=> lang('select'),
-                               'lookup_action'                                 
=> 
$this->bocommon->link('/index.php','sid=cookie&op='.$this->currentapp.'.uiworkorder.edit'),
-                               'lookup'                                        
        => $lookup,
-                               'links'                                         
        => $links,
-                               'allow_allrows'                                 
=> false,
-                               'start_record'                                  
=> $this->start,
-                               'record_limit'                                  
=> 15, //$GLOBALS['phpgw_info']['user']['preferences']['common']['maxmatchs'],
-                               'num_records'                                   
=> count($project_list),
-                               'all_records'                                   
=> $this->bo->total_records,
-                               'link_url'                                      
        => $this->bocommon->link('/index.php',$link_data),
-                               'img_path'                                      
        => 
dirname($GLOBALS['HTTP_SERVER_VARS']['PHP_SELF']).'/api/skins/default/images',
-                               'lang_no_cat'                                   
=> lang('no category'),
-                               'lang_cat_statustext'                   => 
lang('Select the category the project belongs to. To do not use a category 
select NO CATEGORY'),
-                               'select_name'                                   
=> 'cat_id',
-                               'cat_list'                                      
        => $this->bo->select_category_project_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'                                 
=> $this->bocommon->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 project 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_right2('filter',4,$this->filter,$this->acl2_location,array('all'),$default=$this->account),
-
-                               '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_search'                                   
=> lang('search'),
-                               'table_header'                                  
=> $table_header,
-                               'values'                                        
        => $content,
-                               'table_add'                                     
        => $table_add
-                       );
-
-                       $appname                                                
= lang('Project');
-                       $function_msg                                   = 
lang('list Project');
-
-                       $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang($this->currentapp) . ' - ' . $appname . ': ' . $function_msg;
-
-                       //$this->save_sessiondata();
-                       return array('list_project' => $data);
-               }
-
-               function date_search()
-               {
-                       $this->bocommon->xsl_add_file(array('date_search'));
-                       $GLOBALS['phpgw_info']['flags']['headonly']=true;
-                       $values['start_date']           = 
get_var('start_date',array('POST'));
-                       $values['end_date']                     = 
get_var('end_date',array('POST'));
-
-                       $function_msg   = lang('Date search');
-                       $appname                = lang('project');
-
-
-                       $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));
-
-                       if(!$values['end_date'])
-                       {
-                               $values['end_date'] = 
$GLOBALS['phpgw']->common->show_date(mktime(0,0,0,date("m"),date("d"),date("Y")),$GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat']);
-                       }
-
-                       $cal_info       = $this->bocommon->jscalendar();
-                       $jsDateFormat=$cal_info['jsDateFormat'];
-
-                       $data = array
-                       (
-                               'jsDateFormat'                                  
=> $jsDateFormat,
-                               'date_img'                                      
        => $cal_info['img'],
-                               'lang_datetitle'                                
=> lang('Select date'),
-                               'calendar_setup_start'                  => 
"Calendar.setup({inputField  : 'start_date',ifFormat  : '" . $jsDateFormat . 
"',button : 'start_date-trigger'});",
-                               'calendar_setup_end'                    => 
"Calendar.setup({inputField  : 'end_date',ifFormat  : '" . $jsDateFormat . 
"',button : 'end_date-trigger'});",
-
-                               'lang_start_date_statustext'    => lang('Select 
the estimated end date for the Project'),
-                               'lang_start_date'                               
=> lang('Start date'),
-                               'value_start_date'                              
=> $values['start_date'],
-
-                               'lang_end_date_statustext'              => 
lang('Select the estimated end date for the Project'),
-                               'lang_end_date'                                 
=> lang('End date'),
-                               'value_end_date'                                
=> $values['end_date'],
-
-                               'dateformat'                                    
=> $dateformat,
-                               'form_action'                                   
=> $this->bocommon->link('/index.php',$link_data),
-                               'lang_submit_statustext'                => 
lang('Select this dates'),
-                               'lang_submit'                           => 
lang('Submit')
-                       );
-
-                       $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang($this->currentapp) . ' - ' . $appname . ': ' . $function_msg;
-                       return array('date_search' => $data);
-               }
-
-               function edit()
-               {
-                       if(!$this->acl_add && !$this->acl_edit)
-                       {
-                               
$this->bocommon->redirect_link('/index.php','sid=cookie&op='.$this->currentapp.'.uilocation.stop&perm=2&acl_location='
 . $this->acl2_location);
-                       }
-                       $id                             = 
get_var('id',array('POST','GET'));
-                       $values                         = 
get_var('values',array('POST'));
-                       $add_request            = 
get_var('add_request',array('POST'));
-                       $add_request            = 
get_var('add_request',array('POST'));
-
-                       $config                         = 
CreateObject('phpgwapi_config');
-                       $bolocation                     = 
CreateObject($this->currentapp.'_bolocation');
-
-                       $insert_record = 
$this->fm_session->appsession('insert_record',$this->currentapp);
-                       $insert_record_entity = 
$this->fm_session->appsession('insert_record_entity',$this->currentapp);
-
-                       for ($j=0;$j<count($insert_record_entity);$j++)
-                       {
-                               
$insert_record['extra'][$insert_record_entity[$j]]      = 
$insert_record_entity[$j];
-                       }
-
-                       $this->bocommon->xsl_add_file(array('project'));
-
-                       $bypass                         = 
get_var('bypass',array('POST','GET'));
-
-                       if($add_request)
-                       {
-                               $receipt = 
$this->bo->add_request($add_request,$id);
-                       }
-
-                       if($_POST && !$bypass)
-                       {
-                               for ($i=0; 
$i<count($insert_record['location']); $i++)
-                               {
-                                       
if($_POST[$insert_record['location'][$i]])
-                                       {
-                                               
$values['location'][$insert_record['location'][$i]]= 
$_POST[$insert_record['location'][$i]];
-                                       }
-                               }
-
-                               while (is_array($insert_record['extra']) && 
list($key,$column) = each($insert_record['extra']))
-                               {
-                                       if($_POST[$key])
-                                       {
-                                               $values['extra'][$column]       
= $_POST[$key];
-                                       }
-                               }
-
-                               $values['street_name']          = 
$_POST['street_name'];
-                               $values['street_number']        = 
$_POST['street_number'];
-                               $values['location_name']        = $_POST['loc' 
. (count($values['location'])).'_name']; // if not address - get the parent 
name as address
-
-                       }
-                       else
-                       {
-                               $location_code          = 
get_var('location_code',array('POST','GET'));
-                               $tenant_id                      = 
get_var('tenant_id',array('POST','GET'));
-                               $values['descr']        = 
get_var('descr',array('POST','GET'));
-                               $ticket_id                      = 
get_var('ticket_id',array('POST','GET'));
-                               $request_id             = 
get_var('request_id',array('POST','GET'));
-                               $p_entity_id            = 
get_var('p_entity_id',array('POST','GET'));
-                               $p_cat_id                       = 
get_var('p_cat_id',array('POST','GET'));
-                               $values['p'][$p_entity_id]['p_entity_id']       
        = $p_entity_id;
-                               $values['p'][$p_entity_id]['p_cat_id']          
        = $p_cat_id;
-                               $values['p'][$p_entity_id]['p_num']             
                = get_var('p_num',array('POST','GET'));
-
-                               if($p_entity_id && $p_cat_id)
-                               {
-                                       $boadmin_entity = 
CreateObject($this->currentapp.'_boadmin_entity');
-                                       $entity_category = 
$boadmin_entity->read_single_category($p_entity_id,$p_cat_id);
-                                       
$values['p'][$p_entity_id]['p_cat_name'] = $entity_category['name'];
-                               }
-
-                               if($ticket_id)
-                               {
-                                       $values['ticket_id'][0]['id']= 
$ticket_id;
-                                       $values['origin']= 'tts';
-                                       $values['origin_id']= $ticket_id;
-                               }
-
-                               if($request_id)
-                               {
-                                       $values['request_id'][0]['id']= 
$request_id;
-                                       $values['origin']= 'request';
-                                       $values['origin_id']= $request_id;
-                               }
-
-                               if($location_code)
-                               {
-                                       $values['location_data'] = 
$bolocation->read_single($location_code,array('tenant_id'=>$tenant_id,'p_num'=>$p_num));
-                               }
-
-                       }
-
-                       $values['start_date']           = 
get_var('start_date',array('POST'));
-                       $values['end_date']                     = 
get_var('end_date',array('POST'));
-
-//html_print_r($values);
-                       $config->read_repository();
-
-                       if ($values['save'])
-                       {
-                               $save=true;
-
-                               if(!$values['location'])
-                               {
-                                       
$receipt['error'][]=array('msg'=>lang('Please select a location !'));
-                                       $error_id=true;
-                               }
-
-                               if(!$values['name'])
-                               {
-                                       
$receipt['error'][]=array('msg'=>lang('Please enter a project NAME !'));
-                                       $error_id=true;
-                               }
-
-                               if(!$values['cat_id'])
-                               {
-                                       
$receipt['error'][]=array('msg'=>lang('Please select a category !'));
-                                       $error_id=true;
-                               }
-
-                               if(!$values['coordinator'])
-                               {
-                                       
$receipt['error'][]=array('msg'=>lang('Please select a coordinator !'));
-                                       $error_id=true;
-                               }
-
-                               if(!$values['status'])
-                               {
-                                       
$receipt['error'][]=array('msg'=>lang('Please select a status !'));
-                               }
-
-                               if($id)
-                               {
-                                       $values['project_id']=$id;
-                                       $action='edit';
-                               }
-
-                               if(!$receipt['error'])
-                               {
-                                       if(!$id)
-                                       {
-                                               
$values['project_id']=$this->bo->next_project_id();
-                                               $id     = $values['project_id'];
-                                       }
-
-                                       if($values['copy_project'])
-                                       {
-                                               $action='add';
-                                               $values['project_id']   = 
$this->bo->next_project_id();
-                                               $id     = $values['project_id'];
-                                       }
-                                       $receipt = 
$this->bo->save($values,$action);
-                                       if($receipt['error'])
-                                       {
-                                               unset($id);
-                                               unset($values['project_id']);
-                                       }
-
-                                       if ($values['approval'] && 
$values['mail_address'])
-                                       {
-                                               
$coordinator_name=$GLOBALS['phpgw_info']['user']['fullname'];
-                                               
$coordinator_email=$GLOBALS['phpgw_info']['user']['preferences'][$this->currentapp]['email'];
-                                               $headers = "Return-Path: <". 
$coordinator_email .">\r\n";
-                                               $headers .= "From: " . 
$coordinator_name . "<" . $coordinator_email .">\r\n";
-                                               $headers .= "Bcc: " . 
$coordinator_name . "<" . $coordinator_email .">\r\n";
-                                               $headers .= "Content-type: 
text/plain; charset=iso-8859-1\r\n";
-
-                                               $subject = lang(Approval).": ". 
$values['project_id'];
-                                               $message = lang(Project) . " " 
. $values['project_id'] ." ". lang('needs approval');
-
-                                               $mail_method= 
$config->config_data['fmwrkorder_mail'];
-                                               if ($mail_method=='smtp'):
-                                               {
-                                                       $bcc = 
$coordinator_email;
-                                                       $send = 
CreateObject('phpgwapi_send');
-                                                       $rcpt = 
$send->msg('email',$values['mail_address'], $subject, stripslashes($message), 
'', $cc, $bcc, $coordinator_email, $coordinator_name, 'plain');
-                                               }
-                                               elseif 
($mail_method=='sendmail'):
-                                               {
-                                                       
$rcpt=mail($values['mail_address'],$subject,$message, $headers);
-                                               }
-                                               else:
-                                               {
-                                                       
$receipt['error'][]=array('msg'=>lang('Mailing method is not chosen! (admin 
section)'));
-                                               }
-                                               endif;
-                                       }
-
-                                       if($rcpt)
-                                       {
-                                               
$receipt['message'][]=array('msg'=>lang('%1 is 
notified',$values['mail_address']));
-                                       }
-                               }
-
-                               if($receipt['error'])
-                               {
-                                       if($values['location'])
-                                       {
-                                               $location_code=implode("-", 
$values['location']);
-                                               $values['location_data'] = 
$bolocation->read_single($location_code,$values['extra']);
-                                       }
-
-                                       if($values['extra']['p_num'])
-                                       {
-                                               
$values['p'][$values['extra']['p_entity_id']]['p_num']=$values['extra']['p_num'];
-                                               
$values['p'][$values['extra']['p_entity_id']]['p_entity_id']=$values['extra']['p_entity_id'];
-                                               
$values['p'][$values['extra']['p_entity_id']]['p_cat_id']=$values['extra']['p_cat_id'];
-                                               
$values['p'][$values['extra']['p_entity_id']]['p_cat_name']=$_POST['entity_cat_name_'.$values['extra']['p_entity_id']];
-                                       }
-                               }
-                       }
-
-                       if(((!$receipt['error'] || $add_request) && !$bypass) 
&& $id)
-                       {
-                               $values = $this->bo->read_single($id);
-
-                               if(!$values['workorder_budget'] && $save)
-                               {
-                                       
$this->bocommon->redirect_link('/index.php','sid=cookie&op='.$this->currentapp.'.uiworkorder.edit&project_id='
 . $id);
-
-                               }
-
-                               if 
(!$this->bocommon->check_perms($values['grants'],PHPGW_ACL_EDIT))
-                               {
-                                       
$receipt['error'][]=array('msg'=>lang('You have no edit right for this 
project'));
-                                       
$this->fm_session->appsession('receipt',$this->currentapp,$receipt);
-
-                                       
$this->bocommon->redirect_link('/index.php','sid=cookie&op='.$this->currentapp.'.uiproject.view&id='
 . $id);
-
-                               }
-                               else
-                               {
-                                       $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_budget'           => lang('Budget'),
-                               'lang_calculation'      => lang('Calculation'),
-                               'lang_vendor'   => lang('Vendor')
-                       );
-
-                       if ($id)
-                       {
-                               $function_msg = lang('Edit Project');
-                       }
-                       else
-                       {
-                               $function_msg = lang('Add Project');
-                       }
-
-                       if ($values['cat_id'])
-                       {
-                               $this->cat_id = $values['cat_id'];
-                       }
-
-                       $lookup_type='form';
-
-//html_print_r($values);
-                       $location_data=$bolocation->initiate_ui_location(array(
-                                               'values'                => 
$values['location_data'],
-                                               'type_id'               => -1, 
// calculated from location_types
-                                               'no_link'               => 
False, // disable lookup links for location type less than type_id
-                                               'tenant'                => True,
-                                               'lookup_type'   => $lookup_type,
-                                               'lookup_entity' => 
$this->bocommon->get_lookup_entity('project'),
-                                               'entity_data'   => $values['p']
-                                               ));
-
-
-                       $link_data = array
-                       (
-                               'sid=cookie&op' => 
$this->currentapp.'.uiproject.edit',
-                               'id'                    => $id
-                       );
-
-                       $link_request_data = array
-                       (
-                               'sid=cookie&op' => 
$this->currentapp.'.uirequest.index',
-                               'query'                 => 
$values['location_code'],
-                               'project_id'    => $values['project_id']
-                       );
-
-
-                       
$supervisor_id=$GLOBALS['phpgw_info']['user']['preferences'][$this->currentapp]['approval_from'];
-                       $need_approval = 
$config->config_data['workorder_approval'];
-
-                       
$project_status=$GLOBALS['phpgw_info']['user']['preferences'][$this->currentapp]['project_status'];
-                       
$project_category=$GLOBALS['phpgw_info']['user']['preferences'][$this->currentapp]['project_category'];
-                       if(!$values['status'])
-                       {
-                               $values['status']=$project_status;
-                       }
-
-                       if(!$values['cat_id'])
-                       {
-                               $values['cat_id']=$project_category;
-                       }
-
-                       if(!$values['coordinator'])
-                       {
-                               $values['coordinator']=$this->account;
-                       }
-
-                       if ($supervisor_id && $need_approval=='yes')
-                       {
-                               $prefs = 
$this->bocommon->create_preferences($this->currentapp,$supervisor_id);
-                               $supervisor_email = $prefs['email'];
-                       }
-
-                       if(!$values['start_date'])
-                       {
-                               $values['start_date'] = 
$GLOBALS['phpgw']->common->show_date(mktime(0,0,0,date("m"),date("d"),date("Y")),$GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat']);
-                       }
-
-                       if($receipt)
-                       {
-                               $msgbox_data = 
$this->bocommon->msgbox_data($receipt);
-                       }
-
-                       if($values['reserve'])
-                       {
-                               
$reserve_remainder=$values['reserve']-$values['deviation'];
-                               $remainder_percent= 
number_format(($reserve_remainder/$values['reserve'])*100, 2, ',', '');
-                       }
-
-                       $cal_info       = $this->bocommon->jscalendar();
-                       $jsDateFormat=$cal_info['jsDateFormat'];
-
-                       $data = array
-                       (
-                               'msgbox_data'                                   
=> $GLOBALS['phpgw']->common->msgbox($msgbox_data),
-                               'lang_ticket'                                   
=> lang('ticket'),
-                               'lang_ticket_statustext'                => 
lang('Link to the ticket for this project'),
-                               'link_ticket'                                   
=> 
$this->bocommon->link('/index.php','sid=cookie&op='.$this->currentapp.'.uitts.view'),
-                               'value_ticket_id'                               
=> $values['ticket_id'],
-
-                               'value_origin'                                  
=> $values['origin'],
-                               'value_origin_id'                               
=> $values['origin_id'],
-
-                               'lang_request'                                  
=> lang('request'),
-                               'lang_select_request'                   => 
lang('Select request'),
-                               'lang_select_request_statustext'        => 
lang('Add request for this project'),
-                               'lang_request_statustext'               => 
lang('Link to the request for this project'),
-                               'lang_delete_request_statustext'=> lang('Check 
to delete this request from this project'),
-                               'link_select_request'                   => 
$this->bocommon->link('/index.php',$link_request_data),
-                               'value_request_id'                              
=> $values['request_id'],
-                               'link_request'                                  
=> 
$this->bocommon->link('/index.php','sid=cookie&op='.$this->currentapp.'.uirequest.view'),
-
-                               'add_workorder_action'                          
=> 
$this->bocommon->link('/index.php','sid=cookie&op='.$this->currentapp.'.uiworkorder.edit'),
-                               'lang_add_workorder'                            
=> lang('Add Workorder'),
-                               'lang_add_workorder_statustext'         => 
lang('Add a workorder to this project'),
-
-                               'table_header_workorder_budget' => 
$table_header_workorder_budget,
-                               'lang_no_workorders'                    => 
lang('No workorder bugdet'),
-                               'workorder_link'                                
=> 
$this->bocommon->link('/index.php','sid=cookie&op='.$this->currentapp.'.uiworkorder.edit'),
-                               'record_history'                                
=> $record_history,
-                               'table_header_history'                  => 
$table_header_history,
-                               'lang_history'                                  
=> lang('History'),
-                               'lang_no_history'                               
=> lang('No history'),
-
-//                             'cal_info'                                      
        => $cal_info,
-                               'jsDateFormat'                                  
=> $jsDateFormat,
-                               'date_img'                                      
        => $cal_info['img'],
-                               'lang_datetitle'                                
=> lang('Select date'),
-                               'calendar_setup_start'                  => 
"Calendar.setup({inputField  : 'start_date',ifFormat  : '" . $jsDateFormat . 
"',button : 'start_date-trigger'});",
-                               'calendar_setup_end'                    => 
"Calendar.setup({inputField  : 'end_date',ifFormat  : '" . $jsDateFormat . 
"',button : 'end_date-trigger'});",
-
-                               'lang_start_date_statustext'    => lang('Select 
the estimated end date for the Project'),
-                               'lang_start_date'                               
=> lang('Project start date'),
-                               'value_start_date'                              
=> $values['start_date'],
-
-                               'lang_end_date_statustext'              => 
lang('Select the estimated end date for the Project'),
-                               'lang_end_date'                                 
=> lang('Project end date'),
-                               'value_end_date'                                
=> $values['end_date'],
-
-                               'lang_copy_project'                             
=> lang('Copy project ?'),
-                               'lang_copy_project_statustext'  => lang('Choose 
Copy Project to copy this project to a new project'),
-
-                               'lang_charge_tenant'                    => 
lang('Charge tenant'),
-                               'lang_charge_tenant_statustext' => lang('Choose 
charge tenant if the tenant i to pay for this project'),
-                               'charge_tenant'                                 
=> $values['charge_tenant'],
-
-                               'lang_power_meter'                              
=> lang('Power meter'),
-                               'lang_power_meter_statustext'   => lang('Enter 
the power_meter'),
-                               'value_power_meter'                             
=> $values['power_meter'],
-
-                               'lang_budget'                                   
=> lang('Budget'),
-                               'value_budget'                                  
=> $values['budget'],
-                               'lang_budget_statustext'                => 
lang('Enter the budget'),
-
-                               'lang_reserve'                                  
=> lang('reserve'),
-                               'value_reserve'                                 
=> $values['reserve'],
-                               'lang_reserve_statustext'               => 
lang('Enter the reserve'),
-
-                               'lang_reserve_remainder'                => 
lang('reserve remainder'),
-                               'value_reserve_remainder'               => 
$reserve_remainder,
-                               'value_reserve_remainder_percent'=> 
$remainder_percent,
-
-                               'vendor_data'                                   
=> $vendor_data,
-                               'location_data'                                 
=> $location_data,
-                               'location_type'                                 
=> 'form',
-                               'form_action'                                   
=> $this->bocommon->link('/index.php',$link_data),
-                               'done_action'                                   
=> 
$this->bocommon->link('/index.php','sid=cookie&op='.$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_name_statustext'                  => 
lang('Enter Project Name'),
-
-                               'lang_other_branch'                             
        => lang('Other branch'),
-                               'lang_other_branch_statustext'          => 
lang('Enter other branch if not found in the list'),
-                               'value_other_branch'                            
=> $values['other_branch'],
-
-                               'lang_descr_statustext'                 => 
lang('Enter a description of the project'),
-                               'lang_descr'                                    
=> lang('Description'),
-                               'value_descr'                                   
=> $values['descr'],
-                               'lang_done_statustext'                  => 
lang('Back to the list'),
-                               'lang_save_statustext'                  => 
lang('Save the project'),
-                               'lang_no_cat'                                   
=> lang('Select category'),
-                               'lang_cat_statustext'                   => 
lang('Select the category the project 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_project_list('select',$values['cat_id']),
-
-                               'lang_workorder_id'                             
=> lang('Workorder ID'),
-                               'sum_workorder_budget'                  => 
$values['sum_workorder_budget'],
-                               'sum_workorder_calculation'             => 
$values['sum_workorder_calculation'],
-                               'workorder_budget'                              
=> $values['workorder_budget'],
-
-                               'lang_coordinator'                              
=> lang('Coordinator'),
-                               'lang_sum'                                      
        => lang('Sum'),
-                               'lang_user_statustext'                  => 
lang('Select the coordinator the project 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_right2('select',4,$values['coordinator'],$this->acl2_location),
-
-                               '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 project ?'),
-
-                               'branch_list'                                   
=> $this->bo->select_branch_p_list($values['project_id']),
-                               'lang_branch'                                   
=> lang('branch'),
-                               'lang_branch_statustext'                => 
lang('Select the branches for this project'),
-
-                               'key_responsible_list'                          
        => $this->bo->select_branch_list($values['key_responsible']),
-                               'lang_no_key_responsible'                       
        => lang('Select key responsible'),
-                               'lang_key_responsible'                          
        => lang('key responsible'),
-                               'lang_key_responsible_statustext'               
=> lang('Select the key responsible for this project'),
-
-                               'key_fetch_list'                                
        => $this->bo->select_key_location_list($values['key_fetch']),
-                               'lang_no_key_fetch'                             
        => lang('Where to fetch the key'),
-                               'lang_key_fetch'                                
        => lang('key fetch location'),
-                               'lang_key_fetch_statustext'                     
=> lang('Select where to fetch the key'),
-
-                               'key_deliver_list'                              
        => $this->bo->select_key_location_list($values['key_deliver']),
-                               'lang_no_key_deliver'                           
=> lang('Where to deliver the key'),
-                               'lang_key_deliver'                              
        => lang('key deliver location'),
-                               'lang_key_deliver_statustext'           => 
lang('Select where to deliver the key'),
-
-                               'need_approval'                                 
        => $need_approval,
-                               'lang_ask_approval'                             
        => lang('Ask for approval'),
-                               'lang_ask_approval_statustext'          => 
lang('Check this to send a mail to your supervisor for approval'),
-                               'value_approval_mail_address'           => 
$supervisor_email,
-
-
-                               'currency'                                      
        => $GLOBALS['phpgw_info']['user']['preferences']['common']['currency']
-                       );
-
-                       $appname                = lang('project');
-                       $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang($this->currentapp) . ' - ' . $appname . ': ' . $function_msg;
-                       return array('edit' => $data);
-               }
-
-               function delete()
-               {
-                       if(!$this->acl_delete)
-                       {
-                               
$this->bocommon->redirect_link('/index.php','sid=cookie&op='.$this->currentapp.'.uilocation.stop&perm=8&acl_location='
 . $this->acl2_location);
-                       }
-
-                       $project_id = get_var('project_id',array('POST','GET'));
-                       $confirm        = get_var('confirm',array('POST'));
-
-                       $link_data = array
-                       (
-                               'sid=cookie&op' => 
$this->currentapp.'.uiproject.index'
-                       );
-
-                       if (get_var('confirm',array('POST')))
-                       {
-                               $this->bo->delete($project_id);
-                               Header('Location: ' . 
$this->bocommon->link('/index.php',$link_data));
-                       }
-
-                       $this->bocommon->xsl_add_file(array('app_delete'));
-
-                       $data = array
-                       (
-                               'done_action'                   => 
$this->bocommon->link('/index.php',$link_data),
-                               'delete_action'                 => 
$this->bocommon->link('/index.php','sid=cookie&op='.$this->currentapp.'.uiproject.delete&project_id='
 . $project_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')
-                       );
-
-                       $appname                                                
= lang('project');
-                       $function_msg                                   = 
lang('delete project');
-
-                       $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang($this->currentapp) . ' - ' . $appname . ': ' . $function_msg;
-                       return array('delete' => $data);
-               }
-
-               function view()
-               {
-                       if(!$this->acl_read)
-                       {
-                               
$this->bocommon->redirect_link('/index.php','sid=cookie&op='.$this->currentapp.'.uilocation.stop&perm=1&acl_location='
 . $this->acl2_location);
-                       }
-
-                       $receipt = 
$this->fm_session->appsession('receipt',$this->currentapp);
-                       
$this->fm_session->appsession('receipt',$this->currentapp,'');
-                       $bolocation                     = 
CreateObject($this->currentapp.'_bolocation');
-
-                       $id     = get_var('id',array('POST','GET'));
-
-                       $this->bocommon->xsl_add_file(array('project'));
-
-                       $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_budget'           => lang('Budget'),
-                               'lang_calculation'      => lang('Calculation'),
-                               'lang_vendor'   => lang('Vendor')
-                       );
-
-                       $function_msg = lang('View Project');
-
-                       if ($values['cat_id'])
-                       {
-                               $this->cat_id = $values['cat_id'];
-                       }
-
-                       $location_data=$bolocation->initiate_ui_location(array(
-                                               'values'                => 
$values['location_data'],
-                                               'type_id'               => 
count(explode('-',$values['location_data']['location_code'])),
-                                               'no_link'               => 
False, // disable lookup links for location type less than type_id
-                                               'tenant'                => 
$values['location_data']['tenant_id'],
-                                               'lookup_type'   => 'view',
-                                               'lookup_entity' => 
$this->bocommon->get_lookup_entity('project'),
-                                               'entity_data'   => $values['p']
-                                               ));
-
-
-                       if($values['reserve'])
-                       {
-                               
$reserve_remainder=$values['reserve']-$values['deviation'];
-                               $remainder_percent= 
number_format(($reserve_remainder/$values['reserve'])*100, 2, ',', '');
-                       }
-
-//html_print_r($values);
-                       $msgbox_data = $this->bocommon->msgbox_data($receipt);
-
-                       $data = array
-                       (
-                               'msgbox_data'                                   
=> $GLOBALS['phpgw']->common->msgbox($msgbox_data),
-
-                               'lang_ticket'                                   
=> lang('ticket'),
-                               'lang_ticket_statustext'                => 
lang('Link to the ticket for this project'),
-                               'link_ticket'                                   
=> 
$this->bocommon->link('/index.php','sid=cookie&op='.$this->currentapp.'.uitts.view'),
-                               'value_ticket_id'                               
=> $values['ticket_id'],
-
-                               'lang_request'                                  
=> lang('request'),
-                               'lang_request_statustext'               => 
lang('Link to the request for this project'),
-                               'value_request_id'                              
=> $values['request_id'],
-                               'link_request'                                  
=> 
$this->bocommon->link('/index.php','sid=cookie&op='.$this->currentapp.'.uirequest.view'),
-
-                               'table_header_workorder_budget' => 
$table_header_workorder_budget,
-                               'lang_no_workorders'                    => 
lang('No workorder bugdet'),
-                               'workorder_link'                                
=> 
$this->bocommon->link('/index.php','sid=cookie&op='.$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'],
-
-                               'lang_reserve'                                  
=> lang('reserve'),
-                               'value_reserve'                                 
=> $values['reserve'],
-                               'lang_reserve_statustext'               => 
lang('Enter the reserve'),
-
-                               'lang_reserve_remainder'                => 
lang('reserve remainder'),
-                               'value_reserve_remainder'               => 
$reserve_remainder,
-                               'value_reserve_remainder_percent'=> 
$remainder_percent,
-
-                               'vendor_data'                                   
=> $vendor_data,
-                               'location_data'                                 
=> $location_data,
-                               'location_type'                                 
=> 'view',
-                               'done_action'                                   
=> 
$this->bocommon->link('/index.php','sid=cookie&op='.$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'],
-                               'sum_workorder_calculation'             => 
$values['sum_workorder_calculation'],
-                               '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'                                   
        => 
$this->bocommon->link('/index.php','sid=cookie&op='.$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']
-                       );
-
-                       $appname                = lang('project');
-                       $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang($this->currentapp) . ' - ' . $appname . ': ' . $function_msg;
-                       return array('view' => $data);
-               }
-       }
-?>
+<?php
+       
/**************************************************************************\
+       * phpGroupWare - property                                               
   *
+       * http://www.phpgroupware.org                                           
   *
+       *                                                                       
   *
+       * Facilities Management                                                 
   *
+       * Written by Sigurd Nes [sigurdne at online.no]                         
   *
+       * 
------------------------------------------------------------------------ *
+       * Copyright 2000 - 2003 Free Software Foundation, Inc                   
   *
+       * This program is part of the GNU project, see http://www.gnu.org/      
   *
+       * 
------------------------------------------------------------------------ *
+       * This program is free software; you can redistribute it and/or modify 
it  *
+       * under the terms of the GNU General Public License as published by the 
   *
+       * Free Software Foundation; either version 2 of the License, or (at 
your   *
+       * option) any later version.                                            
   *
+       
\**************************************************************************/
+
+       class property_uiproject
+       {
+               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
+               (
+                       'excel'  => True,
+                       'index'  => True,
+                       'view'   => True,
+                       'edit'   => True,
+                       'delete' => True,
+                       'date_search'=>True
+               );
+
+               function property_uiproject()
+               {
+                       $GLOBALS['phpgw_info']['flags']['xslt_app'] = True;
+                       $this->currentapp                       = 'property'; 
//$GLOBALS['phpgw_info']['flags']['currentapp'];
+                       $this->account                          = 
$GLOBALS['phpgw_data']['user']['id'];
+
+                       $this->bo                                       = 
CreateObject($this->currentapp.'_boproject',True);
+                       $this->bocommon                         = 
CreateObject($this->currentapp.'_bocommon');
+                       $this->menu                                     = 
CreateObject($this->currentapp.'_menu');
+                       $this->fm_session       = 
CreateObject($this->currentapp.'_session');
+
+                       $this->acl2                             = 
$GLOBALS['phpgw']->acl;
+                       $this->acl2_location            = '.project';
+                       $this->acl_read                         = 
$this->acl2->check('.project',1);
+                       $this->acl_add                          = 
$this->acl2->check('.project',2);
+                       $this->acl_edit                         = 
$this->acl2->check('.project',4);
+                       $this->acl_delete                       = 
$this->acl2->check('.project',8);
+
+                       $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;
+
+                       $this->menu->sub                        ='project';
+               }
+
+               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,
+                               'status_id'     => $this->status_id
+                       );
+                       $this->bo->save_sessiondata($data);
+               }
+
+               function excel()
+               {
+                       $GLOBALS['phpgw_info']['flags']['noframework'] = True;
+                       require('PEAR.php');
+                       $xls            = 
CreateObject($this->currentapp.'_excel');
+
+                       $start_date = 
urldecode(get_var('start_date',array('POST','GET')));
+                       $end_date       = 
urldecode(get_var('end_date',array('POST','GET')));
+                       $list           = 
$this->bo->read($start_date,$end_date,$allrows=True);
+
+                       $uicols = $this->bo->uicols;
+                       $count_uicols_name=count($uicols['name']);
+
+                       $j=0;
+                       if (isset($list) AND is_array($list))
+                       {
+                               $str=$xls->Begin();
+                               foreach($list as $entry)
+                               {
+                                       $m=0;
+                                       for ($k=0;$k<$count_uicols_name;$k++)
+                                       {
+                                               
if($uicols['input_type'][$k]!='hidden')
+                                               {
+                                                       $content[$j][$m]        
= $entry[$uicols['name'][$k]];
+                                                       
$str.=$xls->WriteLabel(0,$m,$uicols['descr'][$k]);
+                                                       $m++;
+                                               }
+                                       }
+
+                                       $j++;
+                               }
+
+                               foreach($content as $row)
+                               {
+                                       $line++;
+                                       for ($i=0; $i<count($row); $i++)
+                                       {
+                                               
$str.=$xls->WriteLabel($line,$i,$row[$i]);
+                                       }
+                               }
+
+                          $filename= 
$GLOBALS['phpgw_info']['user']['account_lid'].'.xls';
+
+                               $str.=$xls->EOF();
+                               $size=strlen($str);
+
+                               $browser = CreateObject('phpgwapi_browser');
+                               
$browser->content_header($filename,'application/vnd.ms-excel',$size);
+
+                               echo $str;
+                       }
+               }
+
+               function index()
+               {
+                       if(!$this->acl_read)
+                       {
+                               
$this->bocommon->redirect_link('/index.php','sid=cookie&op='.$this->currentapp.'.uilocation.stop&perm=1&acl_location='
 . $this->acl2_location);
+                       }
+
+                       
$this->bocommon->xsl_add_file(array('project','values','table_header',
+                                                                               
'menu',
+                                                                               
'nextmatchs',
+                                                                               
'search_field'));
+
+                       $lookup = get_var('lookup',array('POST','GET'));
+                       $start_date             = 
urldecode(get_var('start_date',array('POST','GET')));
+                       $end_date                       = 
urldecode(get_var('end_date',array('POST','GET')));
+
+                       $links = $this->menu->links('project');
+
+                       $project_list = $this->bo->read($start_date,$end_date);
+                       $uicols = $this->bo->uicols;
+                       $count_uicols_name=count($uicols['name']);
+
+                       $j=0;
+                       if (isSet($project_list) AND is_array($project_list))
+                       {
+                               foreach($project_list as $project_entry)
+
+                               {
+                                       for ($k=0;$k<$count_uicols_name;$k++)
+                                       {
+                                               
if($uicols['input_type'][$k]=='text')
+                                               {
+
+                                                       
if($project_entry['query_location'][$uicols['name'][$k]])
+                                                       {
+                                                               
$content[$j]['row'][$k]['statustext']                   = lang('search');
+                                                               
$content[$j]['row'][$k]['text']                                 = 
$project_entry[$uicols['name'][$k]];
+                                                               
$content[$j]['row'][$k]['link']                         = 
$this->bocommon->link('/index.php','sid=cookie&op='.$this->currentapp.'.uiproject.index&query='
 . $project_entry['query_location'][$uicols['name'][$k]] . '&lookup=' . $lookup 
. '&filter=' . $this->filter);
+                                                       }
+                                                       else
+                                                       {
+                                                               
$content[$j]['row'][$k]['value']                        = 
$project_entry[$uicols['name'][$k]];
+                                                               
$content[$j]['row'][$k]['name']                         = $uicols['name'][$k];
+                                                       }
+                                               }
+                                               
elseif($uicols['input_type'][$k]=='link')
+                                               {
+                                                       
$content[$j]['row'][$k]['statustext']                   = lang('search');
+                                                       
$content[$j]['row'][$k]['text']                                 = 
$project_entry[$uicols['name'][$k]];
+                                                       
$content[$j]['row'][$k]['link']                         = 
$this->bocommon->link('/index.php','sid=cookie&op='.$this->currentapp.'.uitts.view&id='
 . $project_entry[$uicols['name'][$k]]);
+                                               }
+
+                                               if($lookup && 
$k==($count_uicols_name-2))
+                                               {
+                                                       
$content[$j]['row'][$k]['lookup_action']                        = 
$this->bocommon->link('/index.php','sid=cookie&op='.$this->currentapp.'.uiworkorder.edit&project_id='
 . $project_entry['project_id']);
+                                               }
+                                       }
+
+                                       if(!$lookup)
+                                       {
+                                               if ($this->acl_read && 
$this->bocommon->check_perms($project_entry['grants'],PHPGW_ACL_READ))
+                                               {
+                                                       
$content[$j]['row'][$k]['statustext']                   = lang('view the 
project');
+                                                       
$content[$j]['row'][$k]['text']                                 = lang('view');
+                                                       
$content[$j]['row'][$k]['link']                                 = 
$this->bocommon->link('/index.php','sid=cookie&op='.$this->currentapp.'.uiproject.view&id='
 . $project_entry['project_id']);
+                                                       $k++;
+                                               }
+                                               else
+                                               {
+                                                       
$content[$j]['row'][$k++]['link']='dummy';
+                                               }
+
+                                               if ($this->acl_edit && 
$this->bocommon->check_perms($project_entry['grants'],PHPGW_ACL_EDIT))
+                                               {
+                                                       
$content[$j]['row'][$k]['statustext']                   = lang('edit the 
project');
+                                                       
$content[$j]['row'][$k]['text']                                 = lang('edit');
+                                                       
$content[$j]['row'][$k]['link']                                 = 
$this->bocommon->link('/index.php','sid=cookie&op='.$this->currentapp.'.uiproject.edit&id='
 . $project_entry['project_id']);
+                                                       $k++;
+                                               }
+                                               else
+                                               {
+                                                       
$content[$j]['row'][$k++]['link']='dummy';
+                                               }
+
+                                               if ($this->acl_delete && 
$this->bocommon->check_perms($project_entry['grants'],PHPGW_ACL_DELETE))
+                                               {
+                                                       
$content[$j]['row'][$k]['statustext']                   = lang('delete the 
project');
+                                                       
$content[$j]['row'][$k]['text']                                 = 
lang('delete');
+                                                       
$content[$j]['row'][$k]['link']                                 = 
$this->bocommon->link('/index.php','sid=cookie&op='.$this->currentapp.'.uiproject.delete&id='
 . $project_entry['project_id']);
+                                                       $k++;
+                                               }
+                                               else
+                                               {
+                                                       
$content[$j]['row'][$k++]['link']='dummy';
+                                               }
+                                       }
+
+                                       $j++;
+                               }
+                       }
+
+                       $count_uicols_descr=count($uicols['descr']);
+                       for ($i=0;$i<$count_uicols_descr;$i++)
+                       {
+                               if($uicols['input_type'][$i]!='hidden')
+                               {
+                                       $table_header[$i]['header']     = 
$uicols['descr'][$i];
+                                       $table_header[$i]['width']              
= '5%';
+                                       $table_header[$i]['align']              
= 'center';
+                                       if($uicols['name'][$i]=='loc1')
+                                       {
+                                               $table_header[$i]['sort_link']  
=true;
+                                               $table_header[$i]['sort']       
        = $this->bocommon->show_sort_order(array
+                                                                               
(
+                                                                               
        'sort'  => $this->sort,
+                                                                               
        'var'   =>      'location_code',
+                                                                               
        'order' =>      $this->order,
+                                                                               
        'extra'         => array('sid=cookie&op'        => 
$this->currentapp.'.uiproject.index',
+                                                                               
                                                        'type_id'       
=>$type_id,
+                                                                               
                                                        'query'         
=>$this->query,
+                                                                               
                                                        'lookup'        
=>$lookup,
+                                                                               
                                                        'district_id'   => 
$this->district_id,
+                                                                               
                                                        'cat_id'        
=>$this->cat_id,
+                                                                               
                                                        
'start_date'=>$start_date,
+                                                                               
                                                        'end_date'=>$end_date)
+                                                                               
));
+                                       }
+                                       if($uicols['name'][$i]=='project_id')
+                                       {
+                                               $table_header[$i]['sort_link']  
=true;
+                                               $table_header[$i]['sort']       
        = $this->bocommon->show_sort_order(array
+                                                                               
(
+                                                                               
        'sort'  => $this->sort,
+                                                                               
        'var'   =>      'project_id',
+                                                                               
        'order' =>      $this->order,
+                                                                               
        'extra'         => array('sid=cookie&op'        => 
$this->currentapp.'.uiproject.index',
+                                                                               
                                                        'type_id'       
=>$type_id,
+                                                                               
                                                        'query'         
=>$this->query,
+                                                                               
                                                        'lookup'        
=>$lookup,
+                                                                               
                                                        'district_id'   => 
$this->district_id,
+                                                                               
                                                        'cat_id'        
=>$this->cat_id,
+                                                                               
                                                        
'start_date'=>$start_date,
+                                                                               
                                                        'end_date'=>$end_date)
+                                                                               
));
+                                       }
+                                       if($uicols['name'][$i]=='address')
+                                       {
+                                               $table_header[$i]['sort_link']  
=true;
+                                               $table_header[$i]['sort']       
        = $this->bocommon->show_sort_order(array
+                                                                               
(
+                                                                               
        'sort'  => $this->sort,
+                                                                               
        'var'   =>      'address',
+                                                                               
        'order' =>      $this->order,
+                                                                               
        'extra'         => array('sid=cookie&op'        => 
$this->currentapp.'.uiproject.index',
+                                                                               
                                                        'type_id'       
=>$type_id,
+                                                                               
                                                        'query'         
=>$this->query,
+                                                                               
                                                        'lookup'        
=>$lookup,
+                                                                               
                                                        'district_id'   => 
$this->district_id,
+                                                                               
                                                        'cat_id'        
=>$this->cat_id,
+                                                                               
                                                        
'start_date'=>$start_date,
+                                                                               
                                                        'end_date'=>$end_date)
+                                                                               
));
+                                       }
+                               }
+                       }
+
+                       if(!$lookup)
+                       {
+                               if($this->acl_read)
+                               {
+                                       $table_header[$i]['width']              
        = '5%';
+                                       $table_header[$i]['align']              
        = 'center';
+                                       $table_header[$i]['header']             
        = lang('view');
+                                       $i++;
+                               }
+                               if($this->acl_edit)
+                               {
+                                       $table_header[$i]['width']              
        = '5%';
+                                       $table_header[$i]['align']              
        = 'center';
+                                       $table_header[$i]['header']             
        = lang('edit');
+                                       $i++;
+                               }
+                               if($this->acl_delete)
+                               {
+                                       $table_header[$i]['width']              
        = '5%';
+                                       $table_header[$i]['align']              
        = 'center';
+                                       $table_header[$i]['header']             
        = lang('delete');
+                                       $i++;
+                               }
+                       }
+                       else
+                       {
+                               $table_header[$i]['width']                      
= '5%';
+                               $table_header[$i]['align']                      
= 'center';
+                               $table_header[$i]['header']             = 
lang('select');
+                       }
+
+//html_print_r($content);
+                       if($this->acl_add)
+                       {
+                               $table_add[] = array
+                               (
+                                       'lang_add'                              
=> lang('add'),
+                                       'lang_add_statustext'   => lang('add a 
project'),
+                                       'add_action'                    => 
$this->bocommon->link('/index.php','sid=cookie&op='.$this->currentapp.'.uiproject.edit')
+                               );
+                       }
+
+                       $link_data = array
+                       (
+                               'sid=cookie&op' => 
$this->currentapp.'.uiproject.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,
+                                               'start_date'    =>$start_date,
+                                               'end_date'              
=>$end_date
+                       );
+
+                       $link_date_search                                       
= 
$this->bocommon->link('/index.php','sid=cookie&op='.$this->currentapp.'.uiproject.date_search');
+
+                       $link_excel = array
+                       (
+                               'sid=cookie&op' => 
$this->currentapp.'.uiproject.excel',
+                                               '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,
+                                               'start_date'    =>$start_date,
+                                               'end_date'              
=>$end_date,
+                                               'start' =>$this->start
+                       );
+
+                       $data = array
+                       (
+                               'lang_excel'                            => 
'excel',
+                               'link_excel'                            => 
$this->bocommon->link('/index.php',$link_excel),
+                               'lang_excel_help'                       => 
lang('Download table to MS Excel'),
+
+                               'start_date'                            
=>$start_date,
+                               'end_date'                                      
=>$end_date,
+                               'lang_none'                                     
=>lang('None'),
+                               'lang_date_search'                      => 
lang('Date search'),
+                               'lang_date_search_help'         => lang('Narrow 
the search by dates'),
+                               'link_date_search'                      => 
$link_date_search,
+                               'overlib_source'                        => 
'./'.$this->currentapp.'/inc/overlib.js',
+
+                               'lang_select'                                   
=> lang('select'),
+                               'lookup_action'                                 
=> 
$this->bocommon->link('/index.php','sid=cookie&op='.$this->currentapp.'.uiworkorder.edit'),
+                               'lookup'                                        
        => $lookup,
+                               'links'                                         
        => $links,
+                               'allow_allrows'                                 
=> false,
+                               'start_record'                                  
=> $this->start,
+                               'record_limit'                                  
=> 15, //$GLOBALS['phpgw_info']['user']['preferences']['common']['maxmatchs'],
+                               'num_records'                                   
=> count($project_list),
+                               'all_records'                                   
=> $this->bo->total_records,
+                               'link_url'                                      
        => $this->bocommon->link('/index.php',$link_data),
+                               'img_path'                                      
        => 
dirname($GLOBALS['HTTP_SERVER_VARS']['PHP_SELF']).'/api/skins/default/images',
+                               'lang_no_cat'                                   
=> lang('no category'),
+                               'lang_cat_statustext'                   => 
lang('Select the category the project belongs to. To do not use a category 
select NO CATEGORY'),
+                               'select_name'                                   
=> 'cat_id',
+                               'cat_list'                                      
        => $this->bo->select_category_project_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'                                 
=> $this->bocommon->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 project 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_right2('filter',4,$this->filter,$this->acl2_location,array('all'),$default=$this->account),
+
+                               '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_search'                                   
=> lang('search'),
+                               'table_header'                                  
=> $table_header,
+                               'values'                                        
        => $content,
+                               'table_add'                                     
        => $table_add
+                       );
+
+                       $appname                                                
= lang('Project');
+                       $function_msg                                   = 
lang('list Project');
+
+                       $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang($this->currentapp) . ' - ' . $appname . ': ' . $function_msg;
+
+                       //$this->save_sessiondata();
+                       return array('list_project' => $data);
+               }
+
+               function date_search()
+               {
+                       $this->bocommon->xsl_add_file(array('date_search'));
+                       $GLOBALS['phpgw_info']['flags']['headonly']=true;
+                       $values['start_date']           = 
get_var('start_date',array('POST'));
+                       $values['end_date']                     = 
get_var('end_date',array('POST'));
+
+                       $function_msg   = lang('Date search');
+                       $appname                = lang('project');
+
+
+                       $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));
+
+                       if(!$values['end_date'])
+                       {
+                               $values['end_date'] = 
$GLOBALS['phpgw']->common->show_date(mktime(0,0,0,date("m"),date("d"),date("Y")),$GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat']);
+                       }
+
+                       $cal_info       = $this->bocommon->jscalendar();
+                       $jsDateFormat=$cal_info['jsDateFormat'];
+
+                       $data = array
+                       (
+                               'jsDateFormat'                                  
=> $jsDateFormat,
+                               'date_img'                                      
        => $cal_info['img'],
+                               'lang_datetitle'                                
=> lang('Select date'),
+                               'calendar_setup_start'                  => 
"Calendar.setup({inputField  : 'start_date',ifFormat  : '" . $jsDateFormat . 
"',button : 'start_date-trigger'});",
+                               'calendar_setup_end'                    => 
"Calendar.setup({inputField  : 'end_date',ifFormat  : '" . $jsDateFormat . 
"',button : 'end_date-trigger'});",
+
+                               'lang_start_date_statustext'    => lang('Select 
the estimated end date for the Project'),
+                               'lang_start_date'                               
=> lang('Start date'),
+                               'value_start_date'                              
=> $values['start_date'],
+
+                               'lang_end_date_statustext'              => 
lang('Select the estimated end date for the Project'),
+                               'lang_end_date'                                 
=> lang('End date'),
+                               'value_end_date'                                
=> $values['end_date'],
+
+                               'dateformat'                                    
=> $dateformat,
+                               'form_action'                                   
=> $this->bocommon->link('/index.php',$link_data),
+                               'lang_submit_statustext'                => 
lang('Select this dates'),
+                               'lang_submit'                           => 
lang('Submit')
+                       );
+
+                       $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang($this->currentapp) . ' - ' . $appname . ': ' . $function_msg;
+                       return array('date_search' => $data);
+               }
+
+               function edit()
+               {
+                       if(!$this->acl_add && !$this->acl_edit)
+                       {
+                               
$this->bocommon->redirect_link('/index.php','sid=cookie&op='.$this->currentapp.'.uilocation.stop&perm=2&acl_location='
 . $this->acl2_location);
+                       }
+                       $id                             = 
get_var('id',array('POST','GET'));
+                       $values                         = 
get_var('values',array('POST'));
+                       $add_request            = 
get_var('add_request',array('POST'));
+                       $add_request            = 
get_var('add_request',array('POST'));
+
+                       $config                         = 
CreateObject('phpgwapi_config');
+                       $bolocation                     = 
CreateObject($this->currentapp.'_bolocation');
+
+                       $insert_record = 
$this->fm_session->appsession('insert_record',$this->currentapp);
+                       $insert_record_entity = 
$this->fm_session->appsession('insert_record_entity',$this->currentapp);
+
+                       for ($j=0;$j<count($insert_record_entity);$j++)
+                       {
+                               
$insert_record['extra'][$insert_record_entity[$j]]      = 
$insert_record_entity[$j];
+                       }
+
+                       $this->bocommon->xsl_add_file(array('project'));
+
+                       $bypass                         = 
get_var('bypass',array('POST','GET'));
+
+                       if($add_request)
+                       {
+                               $receipt = 
$this->bo->add_request($add_request,$id);
+                       }
+
+                       if($_POST && !$bypass)
+                       {
+                               for ($i=0; 
$i<count($insert_record['location']); $i++)
+                               {
+                                       
if($_POST[$insert_record['location'][$i]])
+                                       {
+                                               
$values['location'][$insert_record['location'][$i]]= 
$_POST[$insert_record['location'][$i]];
+                                       }
+                               }
+
+                               while (is_array($insert_record['extra']) && 
list($key,$column) = each($insert_record['extra']))
+                               {
+                                       if($_POST[$key])
+                                       {
+                                               $values['extra'][$column]       
= $_POST[$key];
+                                       }
+                               }
+
+                               $values['street_name']          = 
$_POST['street_name'];
+                               $values['street_number']        = 
$_POST['street_number'];
+                               $values['location_name']        = $_POST['loc' 
. (count($values['location'])).'_name']; // if not address - get the parent 
name as address
+
+                       }
+                       else
+                       {
+                               $location_code          = 
get_var('location_code',array('POST','GET'));
+                               $tenant_id                      = 
get_var('tenant_id',array('POST','GET'));
+                               $values['descr']        = 
get_var('descr',array('POST','GET'));
+                               $ticket_id                      = 
get_var('ticket_id',array('POST','GET'));
+                               $request_id             = 
get_var('request_id',array('POST','GET'));
+                               $p_entity_id            = 
get_var('p_entity_id',array('POST','GET'));
+                               $p_cat_id                       = 
get_var('p_cat_id',array('POST','GET'));
+                               $values['p'][$p_entity_id]['p_entity_id']       
        = $p_entity_id;
+                               $values['p'][$p_entity_id]['p_cat_id']          
        = $p_cat_id;
+                               $values['p'][$p_entity_id]['p_num']             
                = get_var('p_num',array('POST','GET'));
+
+                               if($p_entity_id && $p_cat_id)
+                               {
+                                       $boadmin_entity = 
CreateObject($this->currentapp.'_boadmin_entity');
+                                       $entity_category = 
$boadmin_entity->read_single_category($p_entity_id,$p_cat_id);
+                                       
$values['p'][$p_entity_id]['p_cat_name'] = $entity_category['name'];
+                               }
+
+                               if($ticket_id)
+                               {
+                                       $values['ticket_id'][0]['id']= 
$ticket_id;
+                                       $values['origin']= 'tts';
+                                       $values['origin_id']= $ticket_id;
+                               }
+
+                               if($request_id)
+                               {
+                                       $values['request_id'][0]['id']= 
$request_id;
+                                       $values['origin']= 'request';
+                                       $values['origin_id']= $request_id;
+                               }
+
+                               if($location_code)
+                               {
+                                       $values['location_data'] = 
$bolocation->read_single($location_code,array('tenant_id'=>$tenant_id,'p_num'=>$p_num));
+                               }
+
+                       }
+
+                       $values['start_date']           = 
get_var('start_date',array('POST'));
+                       $values['end_date']                     = 
get_var('end_date',array('POST'));
+
+//html_print_r($values);
+                       $config->read_repository();
+
+                       if ($values['save'])
+                       {
+                               $save=true;
+
+                               if(!$values['location'])
+                               {
+                                       
$receipt['error'][]=array('msg'=>lang('Please select a location !'));
+                                       $error_id=true;
+                               }
+
+                               if(!$values['name'])
+                               {
+                                       
$receipt['error'][]=array('msg'=>lang('Please enter a project NAME !'));
+                                       $error_id=true;
+                               }
+
+                               if(!$values['cat_id'])
+                               {
+                                       
$receipt['error'][]=array('msg'=>lang('Please select a category !'));
+                                       $error_id=true;
+                               }
+
+                               if(!$values['coordinator'])
+                               {
+                                       
$receipt['error'][]=array('msg'=>lang('Please select a coordinator !'));
+                                       $error_id=true;
+                               }
+
+                               if(!$values['status'])
+                               {
+                                       
$receipt['error'][]=array('msg'=>lang('Please select a status !'));
+                               }
+
+                               if($id)
+                               {
+                                       $values['project_id']=$id;
+                                       $action='edit';
+                               }
+
+                               if(!$receipt['error'])
+                               {
+                                       if(!$id)
+                                       {
+                                               
$values['project_id']=$this->bo->next_project_id();
+                                               $id     = $values['project_id'];
+                                       }
+
+                                       if($values['copy_project'])
+                                       {
+                                               $action='add';
+                                               $values['project_id']   = 
$this->bo->next_project_id();
+                                               $id     = $values['project_id'];
+                                       }
+                                       $receipt = 
$this->bo->save($values,$action);
+                                       if($receipt['error'])
+                                       {
+                                               unset($id);
+                                               unset($values['project_id']);
+                                       }
+
+                                       if ($values['approval'] && 
$values['mail_address'])
+                                       {
+                                               
$coordinator_name=$GLOBALS['phpgw_info']['user']['fullname'];
+                                               
$coordinator_email=$GLOBALS['phpgw_info']['user']['preferences'][$this->currentapp]['email'];
+                                               $headers = "Return-Path: <". 
$coordinator_email .">\r\n";
+                                               $headers .= "From: " . 
$coordinator_name . "<" . $coordinator_email .">\r\n";
+                                               $headers .= "Bcc: " . 
$coordinator_name . "<" . $coordinator_email .">\r\n";
+                                               $headers .= "Content-type: 
text/plain; charset=iso-8859-1\r\n";
+
+                                               $subject = lang(Approval).": ". 
$values['project_id'];
+                                               $message = lang(Project) . " " 
. $values['project_id'] ." ". lang('needs approval');
+
+                                               $mail_method= 
$config->config_data['fmwrkorder_mail'];
+                                               if ($mail_method=='smtp'):
+                                               {
+                                                       $bcc = 
$coordinator_email;
+                                                       $send = 
CreateObject('phpgwapi_send');
+                                                       $rcpt = 
$send->msg('email',$values['mail_address'], $subject, stripslashes($message), 
'', $cc, $bcc, $coordinator_email, $coordinator_name, 'plain');
+                                               }
+                                               elseif 
($mail_method=='sendmail'):
+                                               {
+                                                       
$rcpt=mail($values['mail_address'],$subject,$message, $headers);
+                                               }
+                                               else:
+                                               {
+                                                       
$receipt['error'][]=array('msg'=>lang('Mailing method is not chosen! (admin 
section)'));
+                                               }
+                                               endif;
+                                       }
+
+                                       if($rcpt)
+                                       {
+                                               
$receipt['message'][]=array('msg'=>lang('%1 is 
notified',$values['mail_address']));
+                                       }
+                               }
+
+                               if($receipt['error'])
+                               {
+                                       if($values['location'])
+                                       {
+                                               $location_code=implode("-", 
$values['location']);
+                                               $values['location_data'] = 
$bolocation->read_single($location_code,$values['extra']);
+                                       }
+
+                                       if($values['extra']['p_num'])
+                                       {
+                                               
$values['p'][$values['extra']['p_entity_id']]['p_num']=$values['extra']['p_num'];
+                                               
$values['p'][$values['extra']['p_entity_id']]['p_entity_id']=$values['extra']['p_entity_id'];
+                                               
$values['p'][$values['extra']['p_entity_id']]['p_cat_id']=$values['extra']['p_cat_id'];
+                                               
$values['p'][$values['extra']['p_entity_id']]['p_cat_name']=$_POST['entity_cat_name_'.$values['extra']['p_entity_id']];
+                                       }
+                               }
+                       }
+
+                       if(((!$receipt['error'] || $add_request) && !$bypass) 
&& $id)
+                       {
+                               $values = $this->bo->read_single($id);
+
+                               if(!$values['workorder_budget'] && $save)
+                               {
+                                       
$this->bocommon->redirect_link('/index.php','sid=cookie&op='.$this->currentapp.'.uiworkorder.edit&project_id='
 . $id);
+
+                               }
+
+                               if 
(!$this->bocommon->check_perms($values['grants'],PHPGW_ACL_EDIT))
+                               {
+                                       
$receipt['error'][]=array('msg'=>lang('You have no edit right for this 
project'));
+                                       
$this->fm_session->appsession('receipt',$this->currentapp,$receipt);
+
+                                       
$this->bocommon->redirect_link('/index.php','sid=cookie&op='.$this->currentapp.'.uiproject.view&id='
 . $id);
+
+                               }
+                               else
+                               {
+                                       $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_budget'           => lang('Budget'),
+                               'lang_calculation'      => lang('Calculation'),
+                               'lang_vendor'   => lang('Vendor')
+                       );
+
+                       if ($id)
+                       {
+                               $function_msg = lang('Edit Project');
+                       }
+                       else
+                       {
+                               $function_msg = lang('Add Project');
+                       }
+
+                       if ($values['cat_id'])
+                       {
+                               $this->cat_id = $values['cat_id'];
+                       }
+
+                       $lookup_type='form';
+
+//html_print_r($values);
+                       $location_data=$bolocation->initiate_ui_location(array(
+                                               'values'                => 
$values['location_data'],
+                                               'type_id'               => -1, 
// calculated from location_types
+                                               'no_link'               => 
False, // disable lookup links for location type less than type_id
+                                               'tenant'                => True,
+                                               'lookup_type'   => $lookup_type,
+                                               'lookup_entity' => 
$this->bocommon->get_lookup_entity('project'),
+                                               'entity_data'   => $values['p']
+                                               ));
+
+
+                       $link_data = array
+                       (
+                               'sid=cookie&op' => 
$this->currentapp.'.uiproject.edit',
+                               'id'                    => $id
+                       );
+
+                       $link_request_data = array
+                       (
+                               'sid=cookie&op' => 
$this->currentapp.'.uirequest.index',
+                               'query'                 => 
$values['location_code'],
+                               'project_id'    => $values['project_id']
+                       );
+
+
+                       
$supervisor_id=$GLOBALS['phpgw_info']['user']['preferences'][$this->currentapp]['approval_from'];
+                       $need_approval = 
$config->config_data['workorder_approval'];
+
+                       
$project_status=$GLOBALS['phpgw_info']['user']['preferences'][$this->currentapp]['project_status'];
+                       
$project_category=$GLOBALS['phpgw_info']['user']['preferences'][$this->currentapp]['project_category'];
+                       if(!$values['status'])
+                       {
+                               $values['status']=$project_status;
+                       }
+
+                       if(!$values['cat_id'])
+                       {
+                               $values['cat_id']=$project_category;
+                       }
+
+                       if(!$values['coordinator'])
+                       {
+                               $values['coordinator']=$this->account;
+                       }
+
+                       if ($supervisor_id && $need_approval=='yes')
+                       {
+                               $prefs = 
$this->bocommon->create_preferences($this->currentapp,$supervisor_id);
+                               $supervisor_email = $prefs['email'];
+                       }
+
+                       if(!$values['start_date'])
+                       {
+                               $values['start_date'] = 
$GLOBALS['phpgw']->common->show_date(mktime(0,0,0,date("m"),date("d"),date("Y")),$GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat']);
+                       }
+
+                       if($receipt)
+                       {
+                               $msgbox_data = 
$this->bocommon->msgbox_data($receipt);
+                       }
+
+                       if($values['reserve'])
+                       {
+                               
$reserve_remainder=$values['reserve']-$values['deviation'];
+                               $remainder_percent= 
number_format(($reserve_remainder/$values['reserve'])*100, 2, ',', '');
+                       }
+
+                       $cal_info       = $this->bocommon->jscalendar();
+                       $jsDateFormat=$cal_info['jsDateFormat'];
+
+                       $data = array
+                       (
+                               'msgbox_data'                                   
=> $GLOBALS['phpgw']->common->msgbox($msgbox_data),
+                               'lang_ticket'                                   
=> lang('ticket'),
+                               'lang_ticket_statustext'                => 
lang('Link to the ticket for this project'),
+                               'link_ticket'                                   
=> 
$this->bocommon->link('/index.php','sid=cookie&op='.$this->currentapp.'.uitts.view'),
+                               'value_ticket_id'                               
=> $values['ticket_id'],
+
+                               'value_origin'                                  
=> $values['origin'],
+                               'value_origin_id'                               
=> $values['origin_id'],
+
+                               'lang_request'                                  
=> lang('request'),
+                               'lang_select_request'                   => 
lang('Select request'),
+                               'lang_select_request_statustext'        => 
lang('Add request for this project'),
+                               'lang_request_statustext'               => 
lang('Link to the request for this project'),
+                               'lang_delete_request_statustext'=> lang('Check 
to delete this request from this project'),
+                               'link_select_request'                   => 
$this->bocommon->link('/index.php',$link_request_data),
+                               'value_request_id'                              
=> $values['request_id'],
+                               'link_request'                                  
=> 
$this->bocommon->link('/index.php','sid=cookie&op='.$this->currentapp.'.uirequest.view'),
+
+                               'add_workorder_action'                          
=> 
$this->bocommon->link('/index.php','sid=cookie&op='.$this->currentapp.'.uiworkorder.edit'),
+                               'lang_add_workorder'                            
=> lang('Add Workorder'),
+                               'lang_add_workorder_statustext'         => 
lang('Add a workorder to this project'),
+
+                               'table_header_workorder_budget' => 
$table_header_workorder_budget,
+                               'lang_no_workorders'                    => 
lang('No workorder bugdet'),
+                               'workorder_link'                                
=> 
$this->bocommon->link('/index.php','sid=cookie&op='.$this->currentapp.'.uiworkorder.edit'),
+                               'record_history'                                
=> $record_history,
+                               'table_header_history'                  => 
$table_header_history,
+                               'lang_history'                                  
=> lang('History'),
+                               'lang_no_history'                               
=> lang('No history'),
+
+//                             'cal_info'                                      
        => $cal_info,
+                               'jsDateFormat'                                  
=> $jsDateFormat,
+                               'date_img'                                      
        => $cal_info['img'],
+                               'lang_datetitle'                                
=> lang('Select date'),
+                               'calendar_setup_start'                  => 
"Calendar.setup({inputField  : 'start_date',ifFormat  : '" . $jsDateFormat . 
"',button : 'start_date-trigger'});",
+                               'calendar_setup_end'                    => 
"Calendar.setup({inputField  : 'end_date',ifFormat  : '" . $jsDateFormat . 
"',button : 'end_date-trigger'});",
+
+                               'lang_start_date_statustext'    => lang('Select 
the estimated end date for the Project'),
+                               'lang_start_date'                               
=> lang('Project start date'),
+                               'value_start_date'                              
=> $values['start_date'],
+
+                               'lang_end_date_statustext'              => 
lang('Select the estimated end date for the Project'),
+                               'lang_end_date'                                 
=> lang('Project end date'),
+                               'value_end_date'                                
=> $values['end_date'],
+
+                               'lang_copy_project'                             
=> lang('Copy project ?'),
+                               'lang_copy_project_statustext'  => lang('Choose 
Copy Project to copy this project to a new project'),
+
+                               'lang_charge_tenant'                    => 
lang('Charge tenant'),
+                               'lang_charge_tenant_statustext' => lang('Choose 
charge tenant if the tenant i to pay for this project'),
+                               'charge_tenant'                                 
=> $values['charge_tenant'],
+
+                               'lang_power_meter'                              
=> lang('Power meter'),
+                               'lang_power_meter_statustext'   => lang('Enter 
the power_meter'),
+                               'value_power_meter'                             
=> $values['power_meter'],
+
+                               'lang_budget'                                   
=> lang('Budget'),
+                               'value_budget'                                  
=> $values['budget'],
+                               'lang_budget_statustext'                => 
lang('Enter the budget'),
+
+                               'lang_reserve'                                  
=> lang('reserve'),
+                               'value_reserve'                                 
=> $values['reserve'],
+                               'lang_reserve_statustext'               => 
lang('Enter the reserve'),
+
+                               'lang_reserve_remainder'                => 
lang('reserve remainder'),
+                               'value_reserve_remainder'               => 
$reserve_remainder,
+                               'value_reserve_remainder_percent'=> 
$remainder_percent,
+
+                               'vendor_data'                                   
=> $vendor_data,
+                               'location_data'                                 
=> $location_data,
+                               'location_type'                                 
=> 'form',
+                               'form_action'                                   
=> $this->bocommon->link('/index.php',$link_data),
+                               'done_action'                                   
=> 
$this->bocommon->link('/index.php','sid=cookie&op='.$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_name_statustext'                  => 
lang('Enter Project Name'),
+
+                               'lang_other_branch'                             
        => lang('Other branch'),
+                               'lang_other_branch_statustext'          => 
lang('Enter other branch if not found in the list'),
+                               'value_other_branch'                            
=> $values['other_branch'],
+
+                               'lang_descr_statustext'                 => 
lang('Enter a description of the project'),
+                               'lang_descr'                                    
=> lang('Description'),
+                               'value_descr'                                   
=> $values['descr'],
+                               'lang_done_statustext'                  => 
lang('Back to the list'),
+                               'lang_save_statustext'                  => 
lang('Save the project'),
+                               'lang_no_cat'                                   
=> lang('Select category'),
+                               'lang_cat_statustext'                   => 
lang('Select the category the project 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_project_list('select',$values['cat_id']),
+
+                               'lang_workorder_id'                             
=> lang('Workorder ID'),
+                               'sum_workorder_budget'                  => 
$values['sum_workorder_budget'],
+                               'sum_workorder_calculation'             => 
$values['sum_workorder_calculation'],
+                               'workorder_budget'                              
=> $values['workorder_budget'],
+
+                               'lang_coordinator'                              
=> lang('Coordinator'),
+                               'lang_sum'                                      
        => lang('Sum'),
+                               'lang_user_statustext'                  => 
lang('Select the coordinator the project 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_right2('select',4,$values['coordinator'],$this->acl2_location),
+
+                               '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 project ?'),
+
+                               'branch_list'                                   
=> $this->bo->select_branch_p_list($values['project_id']),
+                               'lang_branch'                                   
=> lang('branch'),
+                               'lang_branch_statustext'                => 
lang('Select the branches for this project'),
+
+                               'key_responsible_list'                          
        => $this->bo->select_branch_list($values['key_responsible']),
+                               'lang_no_key_responsible'                       
        => lang('Select key responsible'),
+                               'lang_key_responsible'                          
        => lang('key responsible'),
+                               'lang_key_responsible_statustext'               
=> lang('Select the key responsible for this project'),
+
+                               'key_fetch_list'                                
        => $this->bo->select_key_location_list($values['key_fetch']),
+                               'lang_no_key_fetch'                             
        => lang('Where to fetch the key'),
+                               'lang_key_fetch'                                
        => lang('key fetch location'),
+                               'lang_key_fetch_statustext'                     
=> lang('Select where to fetch the key'),
+
+                               'key_deliver_list'                              
        => $this->bo->select_key_location_list($values['key_deliver']),
+                               'lang_no_key_deliver'                           
=> lang('Where to deliver the key'),
+                               'lang_key_deliver'                              
        => lang('key deliver location'),
+                               'lang_key_deliver_statustext'           => 
lang('Select where to deliver the key'),
+
+                               'need_approval'                                 
        => $need_approval,
+                               'lang_ask_approval'                             
        => lang('Ask for approval'),
+                               'lang_ask_approval_statustext'          => 
lang('Check this to send a mail to your supervisor for approval'),
+                               'value_approval_mail_address'           => 
$supervisor_email,
+
+
+                               'currency'                                      
        => $GLOBALS['phpgw_info']['user']['preferences']['common']['currency']
+                       );
+
+                       $appname                = lang('project');
+                       $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang($this->currentapp) . ' - ' . $appname . ': ' . $function_msg;
+                       return array('edit' => $data);
+               }
+
+               function delete()
+               {
+                       if(!$this->acl_delete)
+                       {
+                               
$this->bocommon->redirect_link('/index.php','sid=cookie&op='.$this->currentapp.'.uilocation.stop&perm=8&acl_location='
 . $this->acl2_location);
+                       }
+
+                       $project_id = get_var('project_id',array('POST','GET'));
+                       $confirm        = get_var('confirm',array('POST'));
+
+                       $link_data = array
+                       (
+                               'sid=cookie&op' => 
$this->currentapp.'.uiproject.index'
+                       );
+
+                       if (get_var('confirm',array('POST')))
+                       {
+                               $this->bo->delete($project_id);
+                               Header('Location: ' . 
$this->bocommon->link('/index.php',$link_data));
+                       }
+
+                       $this->bocommon->xsl_add_file(array('app_delete'));
+
+                       $data = array
+                       (
+                               'done_action'                   => 
$this->bocommon->link('/index.php',$link_data),
+                               'delete_action'                 => 
$this->bocommon->link('/index.php','sid=cookie&op='.$this->currentapp.'.uiproject.delete&project_id='
 . $project_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')
+                       );
+
+                       $appname                                                
= lang('project');
+                       $function_msg                                   = 
lang('delete project');
+
+                       $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang($this->currentapp) . ' - ' . $appname . ': ' . $function_msg;
+                       return array('delete' => $data);
+               }
+
+               function view()
+               {
+                       if(!$this->acl_read)
+                       {
+                               
$this->bocommon->redirect_link('/index.php','sid=cookie&op='.$this->currentapp.'.uilocation.stop&perm=1&acl_location='
 . $this->acl2_location);
+                       }
+
+                       $receipt = 
$this->fm_session->appsession('receipt',$this->currentapp);
+                       
$this->fm_session->appsession('receipt',$this->currentapp,'');
+                       $bolocation                     = 
CreateObject($this->currentapp.'_bolocation');
+
+                       $id     = get_var('id',array('POST','GET'));
+
+                       $this->bocommon->xsl_add_file(array('project'));
+
+                       $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_budget'           => lang('Budget'),
+                               'lang_calculation'      => lang('Calculation'),
+                               'lang_vendor'   => lang('Vendor')
+                       );
+
+                       $function_msg = lang('View Project');
+
+                       if ($values['cat_id'])
+                       {
+                               $this->cat_id = $values['cat_id'];
+                       }
+
+                       $location_data=$bolocation->initiate_ui_location(array(
+                                               'values'                => 
$values['location_data'],
+                                               'type_id'               => 
count(explode('-',$values['location_data']['location_code'])),
+                                               'no_link'               => 
False, // disable lookup links for location type less than type_id
+                                               'tenant'                => 
$values['location_data']['tenant_id'],
+                                               'lookup_type'   => 'view',
+                                               'lookup_entity' => 
$this->bocommon->get_lookup_entity('project'),
+                                               'entity_data'   => $values['p']
+                                               ));
+
+
+                       if($values['reserve'])
+                       {
+                               
$reserve_remainder=$values['reserve']-$values['deviation'];
+                               $remainder_percent= 
number_format(($reserve_remainder/$values['reserve'])*100, 2, ',', '');
+                       }
+
+//html_print_r($values);
+                       $msgbox_data = $this->bocommon->msgbox_data($receipt);
+
+                       $data = array
+                       (
+                               'msgbox_data'                                   
=> $GLOBALS['phpgw']->common->msgbox($msgbox_data),
+
+                               'lang_ticket'                                   
=> lang('ticket'),
+                               'lang_ticket_statustext'                => 
lang('Link to the ticket for this project'),
+                               'link_ticket'                                   
=> 
$this->bocommon->link('/index.php','sid=cookie&op='.$this->currentapp.'.uitts.view'),
+                               'value_ticket_id'                               
=> $values['ticket_id'],
+
+                               'lang_request'                                  
=> lang('request'),
+                               'lang_request_statustext'               => 
lang('Link to the request for this project'),
+                               'value_request_id'                              
=> $values['request_id'],
+                               'link_request'                                  
=> 
$this->bocommon->link('/index.php','sid=cookie&op='.$this->currentapp.'.uirequest.view'),
+
+                               'table_header_workorder_budget' => 
$table_header_workorder_budget,
+                               'lang_no_workorders'                    => 
lang('No workorder bugdet'),
+                               'workorder_link'                                
=> 
$this->bocommon->link('/index.php','sid=cookie&op='.$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'],
+
+                               'lang_reserve'                                  
=> lang('reserve'),
+                               'value_reserve'                                 
=> $values['reserve'],
+                               'lang_reserve_statustext'               => 
lang('Enter the reserve'),
+
+                               'lang_reserve_remainder'                => 
lang('reserve remainder'),
+                               'value_reserve_remainder'               => 
$reserve_remainder,
+                               'value_reserve_remainder_percent'=> 
$remainder_percent,
+
+                               'vendor_data'                                   
=> $vendor_data,
+                               'location_data'                                 
=> $location_data,
+                               'location_type'                                 
=> 'view',
+                               'done_action'                                   
=> 
$this->bocommon->link('/index.php','sid=cookie&op='.$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'],
+                               'sum_workorder_calculation'             => 
$values['sum_workorder_calculation'],
+                               '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'                                   
        => 
$this->bocommon->link('/index.php','sid=cookie&op='.$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']
+                       );
+
+                       $appname                = lang('project');
+                       $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang($this->currentapp) . ' - ' . $appname . ': ' . $function_msg;
+                       return array('view' => $data);
+               }
+       }
+?>




reply via email to

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