phpgroupware-cvs
[Top][All Lists]
Advanced

[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();    




reply via email to

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