[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Phpgroupware-cvs] [20981] Fix: missing transaction / sql - 4512:4565
From: |
Sigurd Nes |
Subject: |
[Phpgroupware-cvs] [20981] Fix: missing transaction / sql - 4512:4565 |
Date: |
Fri, 22 Jan 2010 09:52:45 +0000 |
Revision: 20981
http://svn.sv.gnu.org/viewvc/?view=rev&root=phpgroupware&revision=20981
Author: sigurdne
Date: 2010-01-22 09:52:44 +0000 (Fri, 22 Jan 2010)
Log Message:
-----------
Fix: missing transaction / sql - 4512:4565
Modified Paths:
--------------
people/sigurdne/modules/hrm/trunk/inc/class.sojob.inc.php
Modified: people/sigurdne/modules/hrm/trunk/inc/class.sojob.inc.php
===================================================================
--- people/sigurdne/modules/hrm/trunk/inc/class.sojob.inc.php 2010-01-22
09:51:24 UTC (rev 20980)
+++ people/sigurdne/modules/hrm/trunk/inc/class.sojob.inc.php 2010-01-22
09:52:44 UTC (rev 20981)
@@ -182,7 +182,7 @@
}
}
-
+
return $jobs;
}
@@ -261,7 +261,7 @@
}
$groupmethod = ' GROUP BY phpgw_hrm_quali.category';
-
+
$sql = "SELECT phpgw_hrm_quali.id as quali_id,
phpgw_hrm_quali.remark as remark,phpgw_hrm_quali_category.descr as
category,phpgw_hrm_quali_type.name,phpgw_hrm_quali_type.descr from
phpgw_hrm_quali"
. " $this->join phpgw_hrm_quali_type ON
phpgw_hrm_quali.quali_type_id = phpgw_hrm_quali_type.id"
. " $this->join phpgw_hrm_quali_category ON
phpgw_hrm_quali.category = phpgw_hrm_quali_category.id"
@@ -458,39 +458,28 @@
function read_task($data)
{
- if(is_array($data))
- {
- if ($data['start'])
- {
- $start=$data['start'];
- }
- else
- {
- $start=0;
- }
- $query =
(isset($data['query'])?$data['query']:'');
- $sort =
(isset($data['sort'])?$data['sort']:'DESC');
- $order =
(isset($data['order'])?$data['order']:'');
- $allrows =
(isset($data['allrows'])?$data['allrows']:'');
- }
+ $start = isset($data['start']) &&
$data['start'] ? $data['start']:0;
+ $query = isset($data['query']) ?
$data['query'] : '';
+ $sort = isset($data['sort']) &&
$data['sort']? $data['sort'] : 'DESC';
+ $order = isset($data['order']) ?
$data['order'] : '';
+ $allrows = isset($data['allrows']) ?
$data['allrows'] : '';
+ $job_id = $data['job_id'];
+ $filter_id = isset($data['filter_id']) ?
$data['filter_id'] : '';
- $job_id = $data['job_id'];
- $filter_id = $data['filter_id'];
-
if ($order)
{
- $ordermethod = " order by $order $sort";
-
+ $ordermethod = " ORDER BY $order $sort";
}
else
{
- $ordermethod = ' order by value_sort asc';
+ $ordermethod = ' ORDER BY value_sort asc';
}
$sql = "SELECT * from phpgw_hrm_task WHERE job_id=" .
intval($job_id);
$parent_select = ' AND task_level =0';
+ $querymethod = '';
if($filter_id)
{
$querymethod = " AND id != $filter_id";
@@ -498,13 +487,10 @@
if($query)
{
- $query = preg_replace("/'/",'',$query);
- $query = preg_replace('/"/','',$query);
-
- $querymethod .= " AND name $this->like
'%$query%'";
+ $query = $this->db->db_addslashes($query);
+ $querymethod .= " AND name {$this->like}
'%{$query}%'";
}
-
$this->db->query($sql . $parent_select . $querymethod .
$ordermethod,__LINE__,__FILE__);
$this->total_records = $this->db->num_rows();
@@ -543,7 +529,7 @@
$subtasks[$j]['name'] =
$this->db->f('name');
$subtasks[$j]['descr'] =
$this->db->f('descr');
$subtasks[$j]['value_sort'] =
$value_sort;
-
+
$j++;
$value_sort ++;
}
@@ -583,6 +569,8 @@
function add_job($values)
{
+ $receipt = array();
+ $this->db->transaction_begin();
$table = 'phpgw_hrm_job';
if($values['parent_id'])
@@ -610,15 +598,15 @@
$insert_values =
$this->db->validate_insert($insert_values);
-
$this->db->query("INSERT INTO $table
(name,descr,job_parent,job_level,entry_date,owner) "
. "VALUES ($insert_values)",__LINE__,__FILE__);
- $receipt['message'][]=array('msg'=>lang('job has been
saved'));
-
$receipt['id'] =
$this->db->get_last_insert_id($table,'id');
-
- $this->db->transaction_commit();
+
+ if($this->db->transaction_commit())
+ {
+ $receipt['message'][]=array('msg'=>lang('job
has been saved'));
+ }
return $receipt;
}
@@ -814,6 +802,7 @@
function add_task($values)
{
+ $this->db->transaction_begin();
$table = 'phpgw_hrm_task';
$this->db->query("SELECT max(value_sort) as value_sort
FROM $table WHERE job_id = " . (int)$values['job_id'],__LINE__,__FILE__);
@@ -823,7 +812,8 @@
if($values['parent_id'])
{
- $this->db->query("SELECT task_level,
max(value_sort) as value_sort FROM $table where id=" .
intval($values['parent_id']),__LINE__,__FILE__);
+ $values['parent_id'] =
(int)$values['parent_id'];
+ $this->db->query("SELECT task_level FROM
{$table} WHERE id={$values['parent_id']}",__LINE__,__FILE__);
$this->db->next_record();
$level = (int)$this->db->f('task_level') +1;
}
@@ -1091,7 +1081,7 @@
function add_qualification($values)
{
$value['remark'] =
$this->db->db_addslashes($values['remark']);
-
+
$this->db->query("SELECT max(value_sort) as value_sort
FROM phpgw_hrm_quali WHERE job_id = " .
(int)$values['job_id'],__LINE__,__FILE__);
$this->db->next_record();
$value_sort = (int)$this->db->f('value_sort') +1;
@@ -1116,7 +1106,7 @@
. "VALUES ($insert_values)",__LINE__,__FILE__);
$quali_id =
$this->db->get_last_insert_id('phpgw_hrm_quali','id');
-
+
if(is_array($values['alternative_qualification']))
{
$this->db->query("UPDATE phpgw_hrm_quali set
is_parent = 1 WHERE id= $quali_id",__LINE__,__FILE__);
@@ -1217,7 +1207,7 @@
$this->db->query('DELETE FROM phpgw_hrm_quali WHERE
id=' . intval($id) . ' AND job_id=' . intval($job_id),__LINE__,__FILE__);
$this->db->transaction_commit();
}
-
+
function resort_value($data)
{
if(is_array($data))
@@ -1243,6 +1233,7 @@
return;
}
+ $this->db->transaction_begin();
$sql = "SELECT value_sort FROM $table where
job_id=$job_id AND id=$id";
$this->db->query($sql,__LINE__,__FILE__);
$this->db->next_record();
@@ -1276,6 +1267,6 @@
return;
break;
}
+ $this->db->transaction_commit();
}
-
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Phpgroupware-cvs] [20981] Fix: missing transaction / sql - 4512:4565,
Sigurd Nes <=