[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Phpgroupware-cvs] ged/inc class.ged_dm.inc.php hook_home.inc.php ...
From: |
Pascal Vilarem |
Subject: |
[Phpgroupware-cvs] ged/inc class.ged_dm.inc.php hook_home.inc.php ... |
Date: |
Mon, 16 Jul 2007 09:57:49 +0000 |
CVSROOT: /sources/phpgroupware
Module name: ged
Changes by: Pascal Vilarem <maat> 07/07/16 09:57:49
Modified files:
inc : class.ged_dm.inc.php hook_home.inc.php
class.ged_ui.inc.php
Log message:
Fixed : project filtering in home hook
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/ged/inc/class.ged_dm.inc.php?cvsroot=phpgroupware&r1=1.29&r2=1.30
http://cvs.savannah.gnu.org/viewcvs/ged/inc/hook_home.inc.php?cvsroot=phpgroupware&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/ged/inc/class.ged_ui.inc.php?cvsroot=phpgroupware&r1=1.31&r2=1.32
Patches:
Index: class.ged_dm.inc.php
===================================================================
RCS file: /sources/phpgroupware/ged/inc/class.ged_dm.inc.php,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -b -r1.29 -r1.30
--- class.ged_dm.inc.php 13 Jul 2007 20:37:26 -0000 1.29
+++ class.ged_dm.inc.php 16 Jul 2007 09:57:49 -0000 1.30
@@ -2234,6 +2234,55 @@
}
+ function list_wanted_projects()
+ {
+ if ( $this->admin )
+ {
+ $sql="SELECT * FROM ".$this->tables['elements']." ";
+ $sql.="WHERE
".$this->tables['elements'].".project_root=".$this->tables['elements'].".element_id
";
+ }
+ else
+ {
+ $sql="SELECT DISTINCT ".$this->tables['elements'].".* ";
+ $sql.="FROM ".$this->tables['elements'].",
".$this->tables['acl']." ";
+ $sql.="WHERE
".$this->tables['elements'].".project_root=".$this->tables['elements'].".element_id
";
+ $sql.="AND
".$this->tables['elements'].".element_id=".$this->tables['acl'].".element_id ";
+ $sql.="AND (".$this->sqlaclread.") ";
+
+ }
+
+ if (
@is_array($GLOBALS['phpgw_info']['user']['preferences']['ged']['show_projects']
))
+ {
+ $sql.="AND ( ";
+ $vor="";
+
+ foreach (
$GLOBALS['phpgw_info']['user']['preferences']['ged']['show_projects'] as $id =>
$project )
+ {
+ $sql.=$vor."ged_elements.project_root =".$id."
";
+ $vor="OR ";
+ }
+
+ $sql.=") ";
+ }
+
+ $sql.="ORDER by project_name asc";
+
+ $this->db->query($sql, __LINE__, __FILE__);
+
+ $projects=Array();
+
+ while ($this->db->next_record())
+ {
+ $i=$this->db->f('element_id');
+
+ $projects[$i]=$this->db->f('name');
+ }
+
+ $this->db->unlock();
+
+ return $projects;
+ }
+
function list_new_documents ($element_id=null)
{
// Get previous login time
@@ -2254,8 +2303,7 @@
$sql="SELECT ged_elements.*, ged_versions.* from ged_elements
INNER JOIN ged_versions ON ged_elements.element_id=ged_versions.element_id ";
$sql.="WHERE ( ged_versions.status='current' AND (
ged_versions.validation_date >=$then ";
$sql.="OR ( ( ged_elements.validity_period > 0 OR
ged_elements.validity_period IS NOT NULL) AND ged_versions.creation_date
>=$then ))) ";
- if (array_key_exists ('preferences',
$GLOBALS['phpgw_info']['user']) && array_key_exists ('show_projects',
$GLOBALS['phpgw_info']['user']['preferences']['ged']) &&
is_array($GLOBALS['phpgw_info']['user']['preferences']['ged']['show_projects']))
- {
+
$sql.="AND ( ";
$vor="";
@@ -2269,7 +2317,6 @@
$sql.="ged_elements.project_root
=".$element_id." ";
$sql.=") ";
- }
$this->db->query($sql);
@@ -2356,8 +2403,6 @@
$sql.="INNER JOIN ged_versions as ged_current_version ";
$sql.="ON
ged_elements.element_id=ged_current_version.element_id ";
$sql.="AND (
ged_current_version.status='pending_for_technical_review' or
ged_current_version.status='pending_for_quality_review' or
ged_current_version.status='pending_for_approval' or
ged_current_version.status='ready_for_delivery' )) ";
- if (array_key_exists ('preferences',
$GLOBALS['phpgw_info']['user']) && array_key_exists ('show_projects',
$GLOBALS['phpgw_info']['user']['preferences']['ged']) &&
is_array($GLOBALS['phpgw_info']['user']['preferences']['ged']['show_projects']))
- {
$sql.="WHERE ( ";
$vor="";
@@ -2371,7 +2416,7 @@
$sql.="ged_elements.project_root
=".$element_id." ";
$sql.=") ";
- }
+
$sql.="GROUP BY ged_elements.element_id ";
$this->db->query($sql);
@@ -2413,8 +2458,7 @@
$sql.="INNER JOIN ged_versions as ged_current_version ";
$sql.="ON
ged_elements.element_id=ged_current_version.element_id ";
$sql.="AND ( ged_current_version.status='working' )) ";
- if (array_key_exists ('preferences',
$GLOBALS['phpgw_info']['user']) && array_key_exists ('show_projects',
$GLOBALS['phpgw_info']['user']['preferences']['ged']) &&
is_array($GLOBALS['phpgw_info']['user']['preferences']['ged']['show_projects']))
- {
+
$sql.="WHERE ( ";
$vor="";
@@ -2428,7 +2472,7 @@
$sql.="ged_elements.project_root
=".$element_id." ";
$sql.=") ";
- }
+
$sql.="GROUP BY ged_elements.element_id ";
$this->db->query($sql);
@@ -2469,8 +2513,7 @@
$sql.="INNER JOIN ged_versions as ged_current_version ";
$sql.="ON
ged_elements.element_id=ged_current_version.element_id ";
$sql.="AND ( ged_current_version.status='alert' )) ";
- if (array_key_exists ('preferences',
$GLOBALS['phpgw_info']['user']) && array_key_exists ('show_projects',
$GLOBALS['phpgw_info']['user']['preferences']['ged']) &&
is_array($GLOBALS['phpgw_info']['user']['preferences']['ged']['show_projects']))
- {
+
$sql.="WHERE ( ";
$vor="";
@@ -2484,7 +2527,7 @@
$sql.="ged_elements.project_root
=".$element_id." ";
$sql.=") ";
- }
+
$sql.="GROUP BY ged_elements.element_id ";
$this->db->query($sql);
@@ -2527,8 +2570,7 @@
$sql.="AND ( ged_current_version.status='rejected' )) ";
$sql.="INNER JOIN ged_versions as ged_last_version ";
$sql.="ON ged_elements.element_id=ged_last_version.element_id ";
- if (array_key_exists ('preferences',
$GLOBALS['phpgw_info']['user']) && array_key_exists ('show_projects',
$GLOBALS['phpgw_info']['user']['preferences']['ged']) &&
is_array($GLOBALS['phpgw_info']['user']['preferences']['ged']['show_projects']))
- {
+
$sql.="WHERE ( ";
$vor="";
@@ -2542,7 +2584,7 @@
$sql.="ged_elements.project_root
=".$element_id." ";
$sql.=") ";
- }
+
$sql.="GROUP BY ged_elements.element_id ";
$sql.="HAVING last_version_id=ged_current_version.version_id ";
Index: hook_home.inc.php
===================================================================
RCS file: /sources/phpgroupware/ged/inc/hook_home.inc.php,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- hook_home.inc.php 13 Jul 2007 20:37:26 -0000 1.8
+++ hook_home.inc.php 16 Jul 2007 09:57:49 -0000 1.9
@@ -77,7 +77,7 @@
$ged_dm=CreateObject('ged.ged_dm', True);
// Get info
- $myprojects=$ged_dm->list_available_projects();
+ $myprojects=$ged_dm->list_wanted_projects();
$template->set_block('home_tpl', 'ged_projects',
'ged_projects_handle');
$template->set_block('ged_projects', 'new_docs_list',
'new_docs_list_handle');
@@ -89,6 +89,8 @@
foreach ( $myprojects as $my_element_id => $myproject )
{
+ // DEBUG
+ //print( $my_element_id . ":" . $myproject . "<br/>\n");
$new_docs=$ged_dm->list_new_documents($my_element_id);
Index: class.ged_ui.inc.php
===================================================================
RCS file: /sources/phpgroupware/ged/inc/class.ged_ui.inc.php,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -b -r1.31 -r1.32
--- class.ged_ui.inc.php 13 Jul 2007 20:37:26 -0000 1.31
+++ class.ged_ui.inc.php 16 Jul 2007 09:57:49 -0000 1.32
@@ -2318,7 +2318,7 @@
}
// Get info
- $myprojects=$this->ged_dm->list_available_projects();
+ $myprojects=$this->ged_dm->list_wanted_projects();
$this->set_template_defaults();
$this->display_app_header();
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Phpgroupware-cvs] ged/inc class.ged_dm.inc.php hook_home.inc.php ...,
Pascal Vilarem <=