[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Phpgroupware-cvs] property/class.sodrawing.php, 1.1.1.3
From: |
nomail |
Subject: |
[Phpgroupware-cvs] property/class.sodrawing.php, 1.1.1.3 |
Date: |
Fri, 21 May 2004 19:05:00 -0000 |
Update of /property
Modified Files:
Branch:
class.sodrawing.php
date: 2004/04/23 21:26:33; author: sigurdne; state: Exp; lines: +441 -441
Log Message:
no message
=====================================================================
Index: property/class.sodrawing.php
diff -u property/class.sodrawing.php:1.1.1.2
property/class.sodrawing.php:1.1.1.3
--- property/class.sodrawing.php:1.1.1.2 Fri Apr 23 20:25:47 2004
+++ property/class.sodrawing.php Fri Apr 23 21:26:33 2004
@@ -1,441 +1,441 @@
-<?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_sodrawing
- {
-
- function property_sodrawing()
- {
- $this->currentapp = 'property';
//$GLOBALS['phpgw_info']['flags']['currentapp'];
- $this->db = $GLOBALS['phpgw']->db;
- $this->db2 = $this->db;
- $this->account =
$GLOBALS['phpgw_data']['user']['id'];
- $this->bocommon =
CreateObject($this->currentapp.'_bocommon',True);
- $this->historylog =
CreateObject($this->currentapp.'_historylog','drawing');
- $this->vfs =
CreateObject('phpgwapi_vfs');
- $this->rootdir = $this->vfs->basedir;
- $this->fakebase = $this->vfs->fakebase;
- $this->socommon =
CreateObject($this->currentapp.'_socommon');
-
- $this->join = $this->socommon->join;
- }
-
- function select_category_list()
- {
- $dbresult = $GLOBALS['phpgw']->db->Execute("SELECT id,
descr FROM fm_drawing_category ORDER BY descr ");
-
- $i = 0;
- while (!$dbresult->EOF)
- {
- $categories[$i]['id']
= $dbresult->fields['id'];
- $categories[$i]['name']
= stripslashes($dbresult->fields['descr']);
- $i++;
- $dbresult->MoveNext();
- }
- return $categories;
- }
-
- function read_single_category($id='')
- {
- $dbresult = $GLOBALS['phpgw']->db->Execute("SELECT
descr FROM fm_drawing_category where id='$id' ");
-
- return $dbresult->fields['descr'];
- }
-
- function select_status_list()
- {
- $dbresult = $GLOBALS['phpgw']->db->Execute("SELECT id,
descr FROM fm_drawing_status ORDER BY id ");
-
- $i = 0;
- while (!$dbresult->EOF)
- {
- $status_entries[$i]['id']
= $dbresult->fields['id'];
- $status_entries[$i]['name']
= stripslashes($dbresult->fields['descr']);
- $i++;
- $dbresult->MoveNext();
- }
- return $status_entries;
- }
-
- function select_branch_list()
- {
- $dbresult = $GLOBALS['phpgw']->db->Execute("SELECT id,
descr FROM fm_branch ORDER BY id ");
-
- $i = 0;
- while (!$dbresult->EOF)
- {
- $branch_entries[$i]['id']
= $dbresult->fields['id'];
- $branch_entries[$i]['name']
= stripslashes($dbresult->fields['descr']);
- $i++;
- $dbresult->MoveNext();
- }
- return $branch_entries;
- }
-
- function read($data)
- {
- if(is_array($data))
- {
- if ($data['start'])
- {
- $start=$data['start'];
- }
- else
- {
- $start=0;
- }
- $filter =
(isset($data['filter'])?$data['filter']:'');
- $query =
(isset($data['query'])?$data['query']:'');
- $sort =
(isset($data['sort'])?$data['sort']:'DESC');
- $order =
(isset($data['order'])?$data['order']:'');
- $cat_id =
(isset($data['cat_id'])?$data['cat_id']:0);
- $status_id =
(isset($data['status_id'])?$data['status_id']:0);
- }
-
- $entity_table = 'fm_drawing';
-
- $cols .= $entity_table . '.location_code';
- $cols_return[] = 'location_code';
-
- $cols .= ",$entity_table.id as drawing_id";
- $cols_return[] = 'drawing_id';
-
- $cols .= ",$entity_table.drawing_name";
- $cols_return[] =
'drawing_name';
- $uicols['input_type'][] = 'text';
- $uicols['name'][] =
'drawing_name';
- $uicols['descr'][] = lang('drawing
name');
- $uicols['statustext'][] = lang('drawing name');
-
- $cols .= ",fm_drawing_category.descr as category";
- $cols_return[] = 'category';
- $uicols['input_type'][] = 'text';
- $uicols['name'][] = 'category';
- $uicols['descr'][] =
lang('category');
- $uicols['statustext'][] = lang('category');
-
- $joinmethod .= " $this->join fm_drawing_category ON
($entity_table.category = fm_drawing_category.id))";
- $paranthesis .='(';
-
-
- $sql =
$this->bocommon->generate_sql(array('entity_table'=>$entity_table,'cols'=>$cols,'cols_return'=>$cols_return,
-
'uicols'=>$uicols,'joinmethod'=>$joinmethod,'paranthesis'=>$paranthesis,'query'=>$query));
-
- if ($order)
- {
- $ordermethod = " order by fm_drawing.$order
$sort";
- }
- else
- {
- $ordermethod = ' order by
fm_drawing.location_code ASC';
- }
-
- $where= 'WHERE';
-
- if ($cat_id > 0)
- {
- $filtermethod .= " $where
fm_drawing.category='$cat_id' ";
- $where= 'AND';
- }
-
- if ($status_id)
- {
- $filtermethod .= " $where
fm_drawing.status='$status_id' ";
- $where= 'AND';
- }
-
- if ($filter)
- {
- $filtermethod .= " $where
fm_drawing.coordinator='$filter' ";
- $where= 'AND';
- }
-
- if($query)
- {
- $query = ereg_replace("'",'',$query);
- $query = ereg_replace('"','',$query);
-
- $querymethod = " $where (fm_drawing.address
LIKE '%$query%' or fm_drawing.location_code LIKE '%$query%')";
- }
-
-
- $sql .= " $filtermethod $querymethod";
-//echo $sql;
- $this->uicols = $this->bocommon->uicols;
- $cols_return = $this->bocommon->cols_return;
- $type_id =
$this->bocommon->type_id;
- $this->cols_extra = $this->bocommon->cols_extra;
-
- $dbresult2 = $GLOBALS['phpgw']->db->Execute($sql);
- $this->total_records = $dbresult2->_numOfRows;
- $maxmatchs = 15;
-
- if(!$allrows)
- {
- $dbresult =
$GLOBALS['phpgw']->db->SelectLimit($sql . $ordermethod,$maxmatchs,$start);
-
- }
- else
- {
- $dbresult = $GLOBALS['phpgw']->db->Execute($sql
. $ordermethod);
- }
-
- $j=0;
- while (!$dbresult->EOF)
- {
- for ($i=0;$i<count($cols_return);$i++)
- {
- $drawing_list[$j][$cols_return[$i]] =
$this->db->f($cols_return[$i]);
- }
-
- $location_code=
$dbresult->fields['location_code'];
- $location = split('-',$location_code);
- for ($m=0;$m<count($location);$m++)
- {
- $drawing_list[$j]['loc' . ($m+1)] =
$location[$m];
-
$drawing_list[$j]['query_location']['loc' . ($m+1)]=implode("-",
array_slice($location, 0, ($m+1)));
- }
-
- $j++;
- $dbresult->MoveNext();
- }
- return $drawing_list;
- }
-
- function read_single($drawing_id)
- {
- $sql = "SELECT * from fm_drawing where
id='$drawing_id'";
-
- $dbresult = $GLOBALS['phpgw']->db->Execute($sql);
-
- if (!$dbresult->EOF)
- {
- $drawing['drawing_id'] =
$dbresult->fields['id'];
- $drawing['title']
= $dbresult->fields['title'];
- $drawing['drawing_name'] =
$dbresult->fields['drawing_name'];
- $drawing['location_code'] =
$dbresult->fields['location_code'];
- $drawing['branch_id'] =
$dbresult->fields['branch_id'];
- $drawing['version']
= $dbresult->fields['version'];
- $drawing['vendor_id'] =
$dbresult->fields['vendor_id'];
- $drawing['floor_id'] =
$dbresult->fields['floor_id'];
- $drawing['charge_tenant'] =
$dbresult->fields['charge_tenant'];
- $drawing['descr']
= $dbresult->fields['descr'];
- $drawing['status']
= $dbresult->fields['status'];
- $drawing['tenant_id'] =
$dbresult->fields['tenant_id'];
- $drawing['user_id']
= $dbresult->fields['user_id'];
- $drawing['coordinator'] =
$dbresult->fields['coordinator'];
- $drawing['access']
= $dbresult->fields['access'];
- $drawing['drawing_date'] =
$dbresult->fields['drawing_date'];
- $drawing['cat_id']
= $dbresult->fields['category'];
- $drawing['p_num']
= $dbresult->fields['p_num'];
- $drawing['p_entity_id'] =
$dbresult->fields['p_entity_id'];
- $drawing['p_cat_id'] =
$dbresult->fields['p_cat_id'];
- }
-
-//html_print_r($drawing);
- return $drawing;
- }
-
- function add($drawing)
- {
-
- while (is_array($drawing['location']) &&
list($input_name,$value) = each($drawing['location']))
- {
- if($value)
- {
- $cols[] = $input_name;
- $vals[] = $value;
- }
- }
-
- while (is_array($drawing['extra']) &&
list($input_name,$value) = each($drawing['extra']))
- {
- if($value)
- {
- $cols[] = $input_name;
- $vals[] = $value;
- }
- }
-
- if($cols)
- {
- $cols = "," . implode(",", $cols);
- $vals = ",'" . implode("','", $vals) . "'";
- }
-
- if($drawing['street_name'])
- {
- $address[]= $drawing['street_name'];
- $address[]= $drawing['street_number'];
- $address = implode(" ", $address);
- }
-
- if(!$address)
- {
- $address = $drawing['location_name'];
- }
-
- $drawing['descr'] =
$this->db->db_addslashes($drawing['descr']);
- $drawing['name'] =
$this->db->db_addslashes($drawing['name']);
- $drawing['title'] =
$this->db->db_addslashes($drawing['title']);
-//html_print_r($drawing);
- $GLOBALS['phpgw']->db->Execute("INSERT INTO fm_drawing
(drawing_name,title,access,category,entry_date,drawing_date,version,coordinator,status,"
- .
"descr,location_code,floor_id,address,branch_id,vendor_id,user_id $cols) "
- . "VALUES ('"
- . $drawing['drawing_name']. "','"
- . $drawing['title']. "','"
- . "public','"
- . $drawing['cat_id']. "','"
- . time() . "','"
- . $drawing['drawing_date']. "','"
- . $drawing['version']. "','"
- . $drawing['coordinator']. "','"
- . $drawing['status']. "','"
- . $drawing['descr']. "','"
- . $drawing['location_code']. "','"
- . $drawing['floor_id'] . "','"
- . $address . "','"
- . $drawing['branch_id']. "','"
- . $drawing['vendor_id']. "','"
- . $this->account. "' $vals)");
-
- $receipt['drawing_id'] =
$this->db->get_last_insert_id('fm_drawing','id');
-
-
$this->historylog->add('SO',$receipt['drawing_id'],$drawing['status']);
-
$this->historylog->add('TO',$receipt['drawing_id'],$drawing['cat_id']);
-
$this->historylog->add('CO',$receipt['drawing_id'],$drawing['coordinator']);
-
- $receipt['message'][] = array('msg'=>lang('drawing %1
has been saved',"'".$drawing['drawing_name']."'"));
- return $receipt;
- }
-
- function edit($drawing)
- {
- while (is_array($drawing['location']) &&
list($input_name,$value) = each($drawing['location']))
- {
- $vals[] = "$input_name = '$value'";
- }
-
- while (is_array($drawing['extra']) &&
list($input_name,$value) = each($drawing['extra']))
- {
- $vals[] = "$input_name = '$value'";
- }
-
- if($vals)
- {
- $vals = "," . implode(",",$vals);
- }
-
- if($drawing['street_name'])
- {
- $address[]= $drawing['street_name'];
- $address[]= $drawing['street_number'];
- $address = implode(" ", $address);
- }
-
- if(!$address)
- {
- $address = $drawing['location_name'];
- }
-
- $dbresult = $GLOBALS['phpgw']->db->Execute("SELECT
status,category,coordinator FROM fm_drawing where id='"
.$drawing['drawing_id']."'");
-
-
- $old_status = $dbresult->fields['status'];
- $old_categroy = $dbresult->fields['category'];
- $old_coordinator = $dbresult->fields['coordinator'];
- if ($old_status != $drawing['status'])
- {
-
$this->historylog->add('S',$drawing['drawing_id'],$drawing['status']);
- }
- if ($old_categroy != $drawing['cat_id'])
- {
-
$this->historylog->add('T',$drawing['drawing_id'],$drawing['cat_id']);
- }
- if ((int)$old_coordinator !=
(int)$drawing['coordinator'])
- {
-
$this->historylog->add('C',$drawing['drawing_id'],$drawing['coordinator']);
- }
-
- if($drawing['drawing_name_orig'] &&
!$drawing['drawing_name'] )
- {
- $drawing['drawing_name'] =
$drawing['drawing_name_orig'];
- }
-
-
- $drawing['descr'] =
$this->db->db_addslashes($drawing['descr']);
- $drawing['name'] =
$this->db->db_addslashes($drawing['name']);
- $drawing['title'] =
$this->db->db_addslashes($drawing['title']);
-//html_print_r($drawing);
-
- $GLOBALS['phpgw']->db->Execute("UPDATE fm_drawing set
- drawing_name ='" . $drawing['drawing_name']
. "',
- title ='" .
$drawing['title'] . "',
- branch_id ='" .
$drawing['branch_id'] . "',
- status ='" .
$drawing['status'] . "',
- category ='" .
$drawing['cat_id'] . "',
- drawing_date ='" . $drawing['drawing_date']
. "',
- coordinator ='" .
$drawing['coordinator'] . "',
- descr ='" . $drawing['descr']
. "',
- version ='" .
$drawing['version'] . "',
- location_code ='" . $drawing['location_code']
. "',
- floor_id ='" .
$drawing['floor_id'] . "',
- vendor_id ='" .
$drawing['vendor_id'] . "',
- address ='" . $address
- . "' $vals WHERE id= '" .
$drawing['drawing_id'] ."'");
-
- $receipt['drawing_id'] = $drawing['drawing_id'];
- $receipt['message'][] = array('msg'=>lang('drawing %1
has been edited',"'".$drawing['drawing_name']."'"));
- return $receipt;
-
- }
-
- function delete($drawing_id )
- {
- $dbresult = $GLOBALS['phpgw']->db->Execute("SELECT
drawing_name FROM fm_drawing where id='$drawing_id'");
-
- $drawing_name = $dbresult->fields['drawing_name'];
-
-//echo $this->fakebase. SEP . 'drawing'. SEP . $drawing_name;
- if($this->vfs->file_exists(array(
- 'string' => $this->fakebase. SEP .
'drawing'. SEP . $drawing_name,
- 'relatives' => Array(RELATIVE_NONE)
- )))
- {
- $this->vfs->override_acl = 1;
-
- if(!$this->vfs->rm (array(
- 'string' => $this->fakebase. SEP .
'drawing'. SEP . $drawing_name,
- 'relatives' => array(
- RELATIVE_NONE
- )
- )))
- {
-
$receipt['error'][]=array('msg'=>lang('failed to delete file') . ' :'.
$this->fakebase. SEP . 'drawing'. SEP . $drawing_name);
- }
- else
- {
-
$receipt['message'][]=array('msg'=>lang('file deleted') . ' :'.
$this->fakebase. SEP . 'drawing'. SEP . $drawing_name);
- }
- $this->vfs->override_acl = 0;
- }
-
- $GLOBALS['phpgw']->db->Execute("DELETE FROM fm_drawing
WHERE id='$drawing_id'");
- $GLOBALS['phpgw']->db->Execute("DELETE FROM
fm_drawing_history WHERE history_record_id='$drawing_id'");
- }
- }
-?>
+<?php
+
/**************************************************************************\
+ * phpGroupWare - property
*
+ * http://www.phpgroupware.org
*
+ *
*
+ * Facilities Management
*
+ * Written by Sigurd Nes [sigurdne at online.no]
*
+ *
------------------------------------------------------------------------ *
+ * Copyright 2000 - 2003 Free Software Foundation, Inc
*
+ * This program is part of the GNU project, see http://www.gnu.org/
*
+ *
------------------------------------------------------------------------ *
+ * This program is free software; you can redistribute it and/or modify
it *
+ * under the terms of the GNU General Public License as published by the
*
+ * Free Software Foundation; either version 2 of the License, or (at
your *
+ * option) any later version.
*
+
\**************************************************************************/
+
+ class property_sodrawing
+ {
+
+ function property_sodrawing()
+ {
+ $this->currentapp = 'property';
//$GLOBALS['phpgw_info']['flags']['currentapp'];
+ $this->db = $GLOBALS['phpgw']->db;
+ $this->db2 = $this->db;
+ $this->account =
$GLOBALS['phpgw_data']['user']['id'];
+ $this->bocommon =
CreateObject($this->currentapp.'_bocommon',True);
+ $this->historylog =
CreateObject($this->currentapp.'_historylog','drawing');
+ $this->vfs =
CreateObject('phpgwapi_vfs');
+ $this->rootdir = $this->vfs->basedir;
+ $this->fakebase = $this->vfs->fakebase;
+ $this->socommon =
CreateObject($this->currentapp.'_socommon');
+
+ $this->join = $this->socommon->join;
+ }
+
+ function select_category_list()
+ {
+ $dbresult = $GLOBALS['phpgw']->db->Execute("SELECT id,
descr FROM fm_drawing_category ORDER BY descr ");
+
+ $i = 0;
+ while (!$dbresult->EOF)
+ {
+ $categories[$i]['id']
= $dbresult->fields['id'];
+ $categories[$i]['name']
= stripslashes($dbresult->fields['descr']);
+ $i++;
+ $dbresult->MoveNext();
+ }
+ return $categories;
+ }
+
+ function read_single_category($id='')
+ {
+ $dbresult = $GLOBALS['phpgw']->db->Execute("SELECT
descr FROM fm_drawing_category where id='$id' ");
+
+ return $dbresult->fields['descr'];
+ }
+
+ function select_status_list()
+ {
+ $dbresult = $GLOBALS['phpgw']->db->Execute("SELECT id,
descr FROM fm_drawing_status ORDER BY id ");
+
+ $i = 0;
+ while (!$dbresult->EOF)
+ {
+ $status_entries[$i]['id']
= $dbresult->fields['id'];
+ $status_entries[$i]['name']
= stripslashes($dbresult->fields['descr']);
+ $i++;
+ $dbresult->MoveNext();
+ }
+ return $status_entries;
+ }
+
+ function select_branch_list()
+ {
+ $dbresult = $GLOBALS['phpgw']->db->Execute("SELECT id,
descr FROM fm_branch ORDER BY id ");
+
+ $i = 0;
+ while (!$dbresult->EOF)
+ {
+ $branch_entries[$i]['id']
= $dbresult->fields['id'];
+ $branch_entries[$i]['name']
= stripslashes($dbresult->fields['descr']);
+ $i++;
+ $dbresult->MoveNext();
+ }
+ return $branch_entries;
+ }
+
+ function read($data)
+ {
+ if(is_array($data))
+ {
+ if ($data['start'])
+ {
+ $start=$data['start'];
+ }
+ else
+ {
+ $start=0;
+ }
+ $filter =
(isset($data['filter'])?$data['filter']:'');
+ $query =
(isset($data['query'])?$data['query']:'');
+ $sort =
(isset($data['sort'])?$data['sort']:'DESC');
+ $order =
(isset($data['order'])?$data['order']:'');
+ $cat_id =
(isset($data['cat_id'])?$data['cat_id']:0);
+ $status_id =
(isset($data['status_id'])?$data['status_id']:0);
+ }
+
+ $entity_table = 'fm_drawing';
+
+ $cols .= $entity_table . '.location_code';
+ $cols_return[] = 'location_code';
+
+ $cols .= ",$entity_table.id as drawing_id";
+ $cols_return[] = 'drawing_id';
+
+ $cols .= ",$entity_table.drawing_name";
+ $cols_return[] =
'drawing_name';
+ $uicols['input_type'][] = 'text';
+ $uicols['name'][] =
'drawing_name';
+ $uicols['descr'][] = lang('drawing
name');
+ $uicols['statustext'][] = lang('drawing name');
+
+ $cols .= ",fm_drawing_category.descr as category";
+ $cols_return[] = 'category';
+ $uicols['input_type'][] = 'text';
+ $uicols['name'][] = 'category';
+ $uicols['descr'][] =
lang('category');
+ $uicols['statustext'][] = lang('category');
+
+ $joinmethod .= " $this->join fm_drawing_category ON
($entity_table.category = fm_drawing_category.id))";
+ $paranthesis .='(';
+
+
+ $sql =
$this->bocommon->generate_sql(array('entity_table'=>$entity_table,'cols'=>$cols,'cols_return'=>$cols_return,
+
'uicols'=>$uicols,'joinmethod'=>$joinmethod,'paranthesis'=>$paranthesis,'query'=>$query));
+
+ if ($order)
+ {
+ $ordermethod = " order by fm_drawing.$order
$sort";
+ }
+ else
+ {
+ $ordermethod = ' order by
fm_drawing.location_code ASC';
+ }
+
+ $where= 'WHERE';
+
+ if ($cat_id > 0)
+ {
+ $filtermethod .= " $where
fm_drawing.category='$cat_id' ";
+ $where= 'AND';
+ }
+
+ if ($status_id)
+ {
+ $filtermethod .= " $where
fm_drawing.status='$status_id' ";
+ $where= 'AND';
+ }
+
+ if ($filter)
+ {
+ $filtermethod .= " $where
fm_drawing.coordinator='$filter' ";
+ $where= 'AND';
+ }
+
+ if($query)
+ {
+ $query = ereg_replace("'",'',$query);
+ $query = ereg_replace('"','',$query);
+
+ $querymethod = " $where (fm_drawing.address
LIKE '%$query%' or fm_drawing.location_code LIKE '%$query%')";
+ }
+
+
+ $sql .= " $filtermethod $querymethod";
+//echo $sql;
+ $this->uicols = $this->bocommon->uicols;
+ $cols_return = $this->bocommon->cols_return;
+ $type_id =
$this->bocommon->type_id;
+ $this->cols_extra = $this->bocommon->cols_extra;
+
+ $dbresult2 = $GLOBALS['phpgw']->db->Execute($sql);
+ $this->total_records = $dbresult2->_numOfRows;
+ $maxmatchs = 15;
+
+ if(!$allrows)
+ {
+ $dbresult =
$GLOBALS['phpgw']->db->SelectLimit($sql . $ordermethod,$maxmatchs,$start);
+
+ }
+ else
+ {
+ $dbresult = $GLOBALS['phpgw']->db->Execute($sql
. $ordermethod);
+ }
+
+ $j=0;
+ while (!$dbresult->EOF)
+ {
+ for ($i=0;$i<count($cols_return);$i++)
+ {
+ $drawing_list[$j][$cols_return[$i]] =
$this->db->f($cols_return[$i]);
+ }
+
+ $location_code=
$dbresult->fields['location_code'];
+ $location = split('-',$location_code);
+ for ($m=0;$m<count($location);$m++)
+ {
+ $drawing_list[$j]['loc' . ($m+1)] =
$location[$m];
+
$drawing_list[$j]['query_location']['loc' . ($m+1)]=implode("-",
array_slice($location, 0, ($m+1)));
+ }
+
+ $j++;
+ $dbresult->MoveNext();
+ }
+ return $drawing_list;
+ }
+
+ function read_single($drawing_id)
+ {
+ $sql = "SELECT * from fm_drawing where
id='$drawing_id'";
+
+ $dbresult = $GLOBALS['phpgw']->db->Execute($sql);
+
+ if (!$dbresult->EOF)
+ {
+ $drawing['drawing_id'] =
$dbresult->fields['id'];
+ $drawing['title']
= $dbresult->fields['title'];
+ $drawing['drawing_name'] =
$dbresult->fields['drawing_name'];
+ $drawing['location_code'] =
$dbresult->fields['location_code'];
+ $drawing['branch_id'] =
$dbresult->fields['branch_id'];
+ $drawing['version']
= $dbresult->fields['version'];
+ $drawing['vendor_id'] =
$dbresult->fields['vendor_id'];
+ $drawing['floor_id'] =
$dbresult->fields['floor_id'];
+ $drawing['charge_tenant'] =
$dbresult->fields['charge_tenant'];
+ $drawing['descr']
= $dbresult->fields['descr'];
+ $drawing['status']
= $dbresult->fields['status'];
+ $drawing['tenant_id'] =
$dbresult->fields['tenant_id'];
+ $drawing['user_id']
= $dbresult->fields['user_id'];
+ $drawing['coordinator'] =
$dbresult->fields['coordinator'];
+ $drawing['access']
= $dbresult->fields['access'];
+ $drawing['drawing_date'] =
$dbresult->fields['drawing_date'];
+ $drawing['cat_id']
= $dbresult->fields['category'];
+ $drawing['p_num']
= $dbresult->fields['p_num'];
+ $drawing['p_entity_id'] =
$dbresult->fields['p_entity_id'];
+ $drawing['p_cat_id'] =
$dbresult->fields['p_cat_id'];
+ }
+
+//html_print_r($drawing);
+ return $drawing;
+ }
+
+ function add($drawing)
+ {
+
+ while (is_array($drawing['location']) &&
list($input_name,$value) = each($drawing['location']))
+ {
+ if($value)
+ {
+ $cols[] = $input_name;
+ $vals[] = $value;
+ }
+ }
+
+ while (is_array($drawing['extra']) &&
list($input_name,$value) = each($drawing['extra']))
+ {
+ if($value)
+ {
+ $cols[] = $input_name;
+ $vals[] = $value;
+ }
+ }
+
+ if($cols)
+ {
+ $cols = "," . implode(",", $cols);
+ $vals = ",'" . implode("','", $vals) . "'";
+ }
+
+ if($drawing['street_name'])
+ {
+ $address[]= $drawing['street_name'];
+ $address[]= $drawing['street_number'];
+ $address = implode(" ", $address);
+ }
+
+ if(!$address)
+ {
+ $address = $drawing['location_name'];
+ }
+
+ $drawing['descr'] =
$this->db->db_addslashes($drawing['descr']);
+ $drawing['name'] =
$this->db->db_addslashes($drawing['name']);
+ $drawing['title'] =
$this->db->db_addslashes($drawing['title']);
+//html_print_r($drawing);
+ $GLOBALS['phpgw']->db->Execute("INSERT INTO fm_drawing
(drawing_name,title,access,category,entry_date,drawing_date,version,coordinator,status,"
+ .
"descr,location_code,floor_id,address,branch_id,vendor_id,user_id $cols) "
+ . "VALUES ('"
+ . $drawing['drawing_name']. "','"
+ . $drawing['title']. "','"
+ . "public','"
+ . $drawing['cat_id']. "','"
+ . time() . "','"
+ . $drawing['drawing_date']. "','"
+ . $drawing['version']. "','"
+ . $drawing['coordinator']. "','"
+ . $drawing['status']. "','"
+ . $drawing['descr']. "','"
+ . $drawing['location_code']. "','"
+ . $drawing['floor_id'] . "','"
+ . $address . "','"
+ . $drawing['branch_id']. "','"
+ . $drawing['vendor_id']. "','"
+ . $this->account. "' $vals)");
+
+ $receipt['drawing_id'] =
$this->db->get_last_insert_id('fm_drawing','id');
+
+
$this->historylog->add('SO',$receipt['drawing_id'],$drawing['status']);
+
$this->historylog->add('TO',$receipt['drawing_id'],$drawing['cat_id']);
+
$this->historylog->add('CO',$receipt['drawing_id'],$drawing['coordinator']);
+
+ $receipt['message'][] = array('msg'=>lang('drawing %1
has been saved',"'".$drawing['drawing_name']."'"));
+ return $receipt;
+ }
+
+ function edit($drawing)
+ {
+ while (is_array($drawing['location']) &&
list($input_name,$value) = each($drawing['location']))
+ {
+ $vals[] = "$input_name = '$value'";
+ }
+
+ while (is_array($drawing['extra']) &&
list($input_name,$value) = each($drawing['extra']))
+ {
+ $vals[] = "$input_name = '$value'";
+ }
+
+ if($vals)
+ {
+ $vals = "," . implode(",",$vals);
+ }
+
+ if($drawing['street_name'])
+ {
+ $address[]= $drawing['street_name'];
+ $address[]= $drawing['street_number'];
+ $address = implode(" ", $address);
+ }
+
+ if(!$address)
+ {
+ $address = $drawing['location_name'];
+ }
+
+ $dbresult = $GLOBALS['phpgw']->db->Execute("SELECT
status,category,coordinator FROM fm_drawing where id='"
.$drawing['drawing_id']."'");
+
+
+ $old_status = $dbresult->fields['status'];
+ $old_categroy = $dbresult->fields['category'];
+ $old_coordinator = $dbresult->fields['coordinator'];
+ if ($old_status != $drawing['status'])
+ {
+
$this->historylog->add('S',$drawing['drawing_id'],$drawing['status']);
+ }
+ if ($old_categroy != $drawing['cat_id'])
+ {
+
$this->historylog->add('T',$drawing['drawing_id'],$drawing['cat_id']);
+ }
+ if ((int)$old_coordinator !=
(int)$drawing['coordinator'])
+ {
+
$this->historylog->add('C',$drawing['drawing_id'],$drawing['coordinator']);
+ }
+
+ if($drawing['drawing_name_orig'] &&
!$drawing['drawing_name'] )
+ {
+ $drawing['drawing_name'] =
$drawing['drawing_name_orig'];
+ }
+
+
+ $drawing['descr'] =
$this->db->db_addslashes($drawing['descr']);
+ $drawing['name'] =
$this->db->db_addslashes($drawing['name']);
+ $drawing['title'] =
$this->db->db_addslashes($drawing['title']);
+//html_print_r($drawing);
+
+ $GLOBALS['phpgw']->db->Execute("UPDATE fm_drawing set
+ drawing_name ='" . $drawing['drawing_name']
. "',
+ title ='" .
$drawing['title'] . "',
+ branch_id ='" .
$drawing['branch_id'] . "',
+ status ='" .
$drawing['status'] . "',
+ category ='" .
$drawing['cat_id'] . "',
+ drawing_date ='" . $drawing['drawing_date']
. "',
+ coordinator ='" .
$drawing['coordinator'] . "',
+ descr ='" . $drawing['descr']
. "',
+ version ='" .
$drawing['version'] . "',
+ location_code ='" . $drawing['location_code']
. "',
+ floor_id ='" .
$drawing['floor_id'] . "',
+ vendor_id ='" .
$drawing['vendor_id'] . "',
+ address ='" . $address
+ . "' $vals WHERE id= '" .
$drawing['drawing_id'] ."'");
+
+ $receipt['drawing_id'] = $drawing['drawing_id'];
+ $receipt['message'][] = array('msg'=>lang('drawing %1
has been edited',"'".$drawing['drawing_name']."'"));
+ return $receipt;
+
+ }
+
+ function delete($drawing_id )
+ {
+ $dbresult = $GLOBALS['phpgw']->db->Execute("SELECT
drawing_name FROM fm_drawing where id='$drawing_id'");
+
+ $drawing_name = $dbresult->fields['drawing_name'];
+
+//echo $this->fakebase. SEP . 'drawing'. SEP . $drawing_name;
+ if($this->vfs->file_exists(array(
+ 'string' => $this->fakebase. SEP .
'drawing'. SEP . $drawing_name,
+ 'relatives' => Array(RELATIVE_NONE)
+ )))
+ {
+ $this->vfs->override_acl = 1;
+
+ if(!$this->vfs->rm (array(
+ 'string' => $this->fakebase. SEP .
'drawing'. SEP . $drawing_name,
+ 'relatives' => array(
+ RELATIVE_NONE
+ )
+ )))
+ {
+
$receipt['error'][]=array('msg'=>lang('failed to delete file') . ' :'.
$this->fakebase. SEP . 'drawing'. SEP . $drawing_name);
+ }
+ else
+ {
+
$receipt['message'][]=array('msg'=>lang('file deleted') . ' :'.
$this->fakebase. SEP . 'drawing'. SEP . $drawing_name);
+ }
+ $this->vfs->override_acl = 0;
+ }
+
+ $GLOBALS['phpgw']->db->Execute("DELETE FROM fm_drawing
WHERE id='$drawing_id'");
+ $GLOBALS['phpgw']->db->Execute("DELETE FROM
fm_drawing_history WHERE history_record_id='$drawing_id'");
+ }
+ }
+?>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Phpgroupware-cvs] property/class.sodrawing.php, 1.1.1.3,
nomail <=