[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Phpgroupware-cvs] hrm/inc class.sojob.inc.php,1.4
From: |
sigurdne |
Subject: |
[Phpgroupware-cvs] hrm/inc class.sojob.inc.php,1.4 |
Date: |
Mon, 21 Nov 2005 22:35:00 +0100 |
Update of hrm/inc
Modified Files:
Branch: MAIN
class.sojob.inc.php lines: +92 -17
Log Message:
no message
====================================================
Index: hrm/inc/class.sojob.inc.php
diff -u hrm/inc/class.sojob.inc.php:1.3 hrm/inc/class.sojob.inc.php:1.4
--- hrm/inc/class.sojob.inc.php:1.3 Mon Nov 21 20:25:33 2005
+++ hrm/inc/class.sojob.inc.php Mon Nov 21 21:35:50 2005
@@ -60,40 +60,110 @@
$table = 'hrm_job';
+ $parent_select = ' WHERE job_level =0';
+
if($query)
{
$query = ereg_replace("'",'',$query);
$query = ereg_replace('"','',$query);
- $querymethod = " WHERE name $this->like
'%$query%'";
+ $where = ' AND';
+ $querymethod = " name $this->like '%$query%'";
}
- $sql = "SELECT * FROM $table $querymethod";
-
- $this->db2->query($sql,__LINE__,__FILE__);
- $this->total_records = $this->db2->num_rows();
+ $sql = "SELECT * FROM $table ";
- if(!$allrows)
- {
- $this->db->limit_query($sql .
$ordermethod,$start,__LINE__,__FILE__);
- }
- else
- {
- $this->db->query($sql .
$ordermethod,__LINE__,__FILE__);
- }
+ $this->db->query($sql . $parent_select . $where .
$querymethod . $ordermethod,__LINE__,__FILE__);
+ $this->total_records = $this->db->num_rows();
while ($this->db->next_record())
{
- $job_info[] = array
+ $jobs[] = array
(
'id' => $this->db->f('id'),
'level' =>
(int)$this->db->f('job_level'),
+ 'owner' => (int)$this->db->f('owner'),
'name' =>
stripslashes($this->db->f('name')),
- 'descr' =>
stripslashes($this->db->f('descr'))
+ 'descr' =>
stripslashes($this->db->f('descr')),
+ 'parent'=> 0
);
}
- return $job_info;
+ if ($querymethod)
+ {
+ $where = ' WHERE';
+ $and = ' AND';
+ }
+ else
+ {
+ unset($where);
+ $and = ' WHERE';
+ }
+ $num_jobs = count($jobs);
+ for ($i=0;$i < $num_jobs;$i++)
+ {
+ $sub_select = $and . ' job_parent=' .
$jobs[$i]['id'] . " AND job_level=" . ($jobs[$i]['level']+1);
+
+ $this->db->query($sql . $where . $querymethod .
$sub_select . $ordermethod,__LINE__,__FILE__);
+
+ $this->total_records += $this->db->num_rows();
+
+ $subjobs = array();
+ $j = 0;
+ while ($this->db->next_record())
+ {
+ $subjobs[$j]['id'] =
(int)$this->db->f('id');
+ $subjobs[$j]['owner'] =
(int)$this->db->f('owner');
+ $subjobs[$j]['level'] =
(int)$this->db->f('job_level');
+ $subjobs[$j]['parent'] =
(int)$this->db->f('job_parent');
+ $subjobs[$j]['name'] =
$this->db->f('name');
+ $subjobs[$j]['descr'] =
$this->db->f('descr');
+ $j++;
+ }
+
+ $num_subjobs = count($subjobs);
+ if ($num_subjobs != 0)
+ {
+ $newjobs = array();
+ for ($k = 0; $k <= $i; $k++)
+ {
+ $newjobs[$k] = $jobs[$k];
+ }
+ for ($k = 0; $k < $num_subjobs; $k++)
+ {
+ $newjobs[$k+$i+1] =
$subjobs[$k];
+ }
+ for ($k = $i+1; $k < $num_jobs; $k++)
+ {
+ $newjobs[$k+$num_subjobs] =
$jobs[$k];
+ }
+ $jobs = $newjobs;
+ $num_jobs = count($jobs);
+ }
+
+ }
+
+ if (!$allrows)
+ {
+ $max =
$GLOBALS['phpgw_info']['user']['preferences']['common']['maxmatchs'];
+ $max = $max + $start;
+
+ $k=0;
+ for($i=$start;$i<$max;++$i)
+ {
+ if(is_array($jobs[$i]))
+ {
+ $sjobs[$k] = $jobs[$i];
+ ++$k;
+ }
+ }
+ if(is_array($sjobs))
+ {
+ $jobs = $sjobs;
+ }
+ }
+
+ return $jobs;
}
@@ -128,6 +198,11 @@
$this->db->next_record();
$level = (int)$this->db->f('job_level') +1;
}
+ else
+ {
+ $level = 0;
+ }
+
$values['name'] =
$this->db->db_addslashes($values['name']);
$values['descr'] =
$this->db->db_addslashes($values['descr']);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Phpgroupware-cvs] hrm/inc class.sojob.inc.php,1.4,
sigurdne <=
- Prev by Date:
[Phpgroupware-cvs] hrm/inc hook_admin.inc.php, 1.2 class.uiuser.inc.php, 1.3 class.uijob.inc.php, 1.3 class.uicategory.inc.php, 1.2 hook_help.inc.php, 1.2 hook_manual.inc.php, 1.2 hook_preferences.inc.php, 1.2 class.uiadmin.inc.php, 1.2 class.sojob.inc.php, 1.3 class.bojob.inc.php, 1.3 class.bocommon.inc.php, 1.2 class.bocategory.inc.php, 1.2 class.bouser.inc.php, 1.3 class.menu.inc.php, 1.2 class.socommon.inc.php, 1.2 class.socategory.inc.php, 1.2 class.soadmin.inc.php, 1.2 class.boadmin.inc.php, 1.2
- Next by Date:
[Phpgroupware-cvs] property/inc class.bocommon.inc.php,1.19
- Previous by thread:
[Phpgroupware-cvs] hrm/inc hook_admin.inc.php, 1.2 class.uiuser.inc.php, 1.3 class.uijob.inc.php, 1.3 class.uicategory.inc.php, 1.2 hook_help.inc.php, 1.2 hook_manual.inc.php, 1.2 hook_preferences.inc.php, 1.2 class.uiadmin.inc.php, 1.2 class.sojob.inc.php, 1.3 class.bojob.inc.php, 1.3 class.bocommon.inc.php, 1.2 class.bocategory.inc.php, 1.2 class.bouser.inc.php, 1.3 class.menu.inc.php, 1.2 class.socommon.inc.php, 1.2 class.socategory.inc.php, 1.2 class.soadmin.inc.php, 1.2 class.boadmin.inc.php, 1.2
- Next by thread:
[Phpgroupware-cvs] property/inc class.bocommon.inc.php,1.19
- Index(es):