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 inc/hook_home.inc....


From: Pascal Vilarem
Subject: [Phpgroupware-cvs] ged inc/class.ged_dm.inc.php inc/hook_home.inc....
Date: Fri, 13 Jul 2007 20:37:27 +0000

CVSROOT:        /sources/phpgroupware
Module name:    ged
Changes by:     Pascal Vilarem <maat>   07/07/13 20:37:27

Modified files:
        inc            : class.ged_dm.inc.php hook_home.inc.php 
                         class.ged_ui.inc.php 
        templates/base : home.tpl browse.tpl search.tpl pref.tpl 
                         add_folder.tpl 
Added files:
        templates/base/css: home.css 
        templates/base : stats.tpl 

Log message:
        Added : Multi projects Stats functions
        Added : Multi projects Home board
        Fixed : Working first version now invisible with only read rights
        Added : Pending for approval docs available with read rights
        Fixed : quotes now possible in all description fields

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/ged/templates/base/css/home.css?cvsroot=phpgroupware&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/ged/inc/class.ged_dm.inc.php?cvsroot=phpgroupware&r1=1.28&r2=1.29
http://cvs.savannah.gnu.org/viewcvs/ged/inc/hook_home.inc.php?cvsroot=phpgroupware&r1=1.7&r2=1.8
http://cvs.savannah.gnu.org/viewcvs/ged/inc/class.ged_ui.inc.php?cvsroot=phpgroupware&r1=1.30&r2=1.31
http://cvs.savannah.gnu.org/viewcvs/ged/templates/base/home.tpl?cvsroot=phpgroupware&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/ged/templates/base/browse.tpl?cvsroot=phpgroupware&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/ged/templates/base/search.tpl?cvsroot=phpgroupware&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/ged/templates/base/pref.tpl?cvsroot=phpgroupware&r1=1.1.1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/ged/templates/base/add_folder.tpl?cvsroot=phpgroupware&r1=1.1.1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/ged/templates/base/stats.tpl?cvsroot=phpgroupware&rev=1.1

Patches:
Index: inc/class.ged_dm.inc.php
===================================================================
RCS file: /sources/phpgroupware/ged/inc/class.ged_dm.inc.php,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -b -r1.28 -r1.29
--- inc/class.ged_dm.inc.php    20 Apr 2007 14:20:07 -0000      1.28
+++ inc/class.ged_dm.inc.php    13 Jul 2007 20:37:26 -0000      1.29
@@ -12,11 +12,11 @@
        
***************************************************************************/
 
 $GLOBALS['debug']["ged.ged_dm"] = false;
+$GLOBALS['debug']["ged.ged_dm.list_versions"] = true;
 
 class ged_dm
 {
        var $db;
-       var $db2;
        var $ged_config;
        var $owner;
        var $admin;
@@ -68,12 +68,6 @@
                $this->db=$GLOBALS['phpgw']->db;
                
$this->owner=intval($GLOBALS['phpgw_info']['user']['account_id']);
 
-               $this->db2=new db();
-               $this->db2->Host=$this->db->Host;
-               $this->db2->Type=$this->db->Type;
-               $this->db2->Database=$this->db->Database;
-               $this->db2->User=$this->db->User;
-               $this->db2->Password=$this->db->Password;
        }
 
        function debug ($thefunction)
@@ -737,6 +731,8 @@
 
        function get_current_version($element_id)
        {
+               $db2 = clone($this->db);
+
                if ( $this->debug('get_current_version') )
                        print ( "get_current_version: entering with 
element_id=".$element_id."<br>\n");
                
@@ -753,33 +749,38 @@
                //print ("</pre>");
                
                
-               $this->db->query($sql, __LINE__, __FILE__);
+               $db2->query($sql, __LINE__, __FILE__);
 
-               if ($this->db->next_record());
+               if ($db2->next_record())
                {
                        
-                       
$version['validation_date']=$this->db->f('validation_date');
-                       $version['url']=$this->db->f('url');
-                       $version['size']=$this->db->f('size');
-                       $version['status']=$this->db->f('status');
-                       $version['creator_id']=$this->db->f('creator_id');
-                       $version['creation_date']=$this->db->f('creation_date');
-                       $version['minor']=$this->db->f('minor');
-                       $version['version_id']=$this->db->f('version_id');
-                       $version['element_id']=$this->db->f('element_id');
-                       $version['description']=$this->db->f('description');
-                       
$version['file_extension']=$this->db->f('file_extension');
-                       $version['file_name']=$this->db->f('file_name');
-                       $version['stored_name']=$this->db->f('stored_name');
-                       $version['major']=$this->db->f('major');
+                       $version['validation_date']=$db2->f('validation_date');
+                       $version['url']=$db2->f('url');
+                       $version['size']=$db2->f('size');
+                       $version['status']=$db2->f('status');
+                       $version['creator_id']=$db2->f('creator_id');
+                       $version['creation_date']=$db2->f('creation_date');
+                       $version['minor']=$db2->f('minor');
+                       $version['version_id']=$db2->f('version_id');
+                       $version['element_id']=$db2->f('element_id');
+                       $version['description']=$db2->f('description');
+                       $version['file_extension']=$db2->f('file_extension');
+                       $version['file_name']=$db2->f('file_name');
+                       $version['stored_name']=$db2->f('stored_name');
+                       $version['major']=$db2->f('major');
                        
$version['file_full_path']=$this->datadir.'/'.$version['stored_name'];
                        
                        
$version['mime_type']=$this->get_mime_type($version['file_extension']);
                        
                }
+               else
+               {
+                       $version=null;
+               }
 
-               $this->db->unlock();
-                               
+               $db2->unlock();
+               $db2->free();           
+               unset($db2);
                return $version;
        }
        
@@ -880,6 +881,59 @@
                return $version;
        }
        
+       function get_current_or_pending_for_approval_version($element_id)
+       {
+               // db2 neededbecause can_read can be called during a $this->db 
loop;            
+               $db2 = clone($this->db);
+
+               if ( 
$this->debug('get_current_or_pending_for_approval_version') )
+                       print ( "get_current_or_pending_for_approval_version: 
entering with element_id=".$element_id."<br>\n");
+               
+               $sql="SELECT * FROM ".$this->tables['versions']." ";
+               $sql.="WHERE element_id=".$element_id." ";
+               $sql.="AND ( status='current' OR status='alert' OR 
status='pending_for_approval' ) ";
+               $sql.="ORDER BY version_id DESC LIMIT 1";
+
+               if ( 
$this->debug('get_current_or_pending_for_approval_version') )
+                       print ( "get_current_or_pending_for_approval_version: 
".$sql."<br>\n");
+
+               //print ("<pre>");
+               //print_r($this->db->metadata( $this->tables['versions'] ));
+               //print ("</pre>");
+               
+               
+               $db2->query($sql, __LINE__, __FILE__);
+
+               if ($db2->next_record());
+               {
+                       
+                       $version['validation_date']=$db2->f('validation_date');
+                       $version['url']=$db2->f('url');
+                       $version['size']=$db2->f('size');
+                       $version['status']=$db2->f('status');
+                       $version['creator_id']=$db2->f('creator_id');
+                       $version['creation_date']=$db2->f('creation_date');
+                       $version['minor']=$db2->f('minor');
+                       $version['version_id']=$db2->f('version_id');
+                       $version['element_id']=$this->db->f('element_id');
+                       $version['description']=$db2->f('description');
+                       $version['file_extension']=$db2->f('file_extension');
+                       $version['file_name']=$db2->f('file_name');
+                       $version['stored_name']=$db2->f('stored_name');
+                       $version['major']=$db2->f('major');
+                       
$version['file_full_path']=$this->datadir.'/'.$version['stored_name'];
+                       
+                       
$version['mime_type']=$this->get_mime_type($version['file_extension']);
+                       
+               }
+
+               $db2->unlock();         
+               $db2->free(); 
+               unset($db2);            
+                               
+               return $version;
+       }
+       
        function get_working_version($element_id)
        {
                if ( $this->debug('get_working_version') )
@@ -1165,7 +1219,7 @@
        function can_read($element_id)
        {
                // db2 neededbecause can_read can be called during a $this->db 
loop;            
-               $this->db2 = clone($this->db);
+               $db2 = clone($this->db);
                
                if ( $this->admin )
                {
@@ -1179,22 +1233,22 @@
                        $sql0.="AND 
".$this->tables['elements'].".element_id=".$element_id." ";
                        $sql0.="AND (".$this->sqlaclread.") ";
                        
-                       $this->db2->query($sql0, __LINE__, __FILE__);
+                       $db2->query($sql0, __LINE__, __FILE__);
                        
-                       $result=($this->db2->next_record() ||  $element_id==0);
+                       $result=($db2->next_record() ||  $element_id==0);
                        
-                       $this->db2->unlock();
+                       $db2->unlock();
                }
                
-               $this->db2->free(); 
-               unset($this->db2);
+               $db2->free(); 
+               unset($db2);
                return ($result );      
        }
 
        function can_write($element_id)
        {
                // db2 neededbecause can_read can be called during a $this->db 
loop;            
-               $this->db2 = clone($this->db);
+               $db2 = clone($this->db);
 
                if ( $this->admin )
                {
@@ -1208,22 +1262,22 @@
                        $sql0.="AND 
".$this->tables['elements'].".element_id=".$element_id." ";
                        $sql0.="AND (".$this->sqlaclwrite.") ";
                        
-                       $this->db2->query($sql0, __LINE__, __FILE__);
+                       $db2->query($sql0, __LINE__, __FILE__);
                        
-                       $result=($this->db2->next_record());
+                       $result=($db2->next_record());
                        
-                       $this->db2->unlock();
+                       $db2->unlock();
                }
                                
-               $this->db2->free(); 
-               unset($this->db2);              
+               $db2->free(); 
+               unset($db2);            
                return ($result );      
        }
        
        function can_change_acl($element_id)
        {
                // db2 neededbecause can_read can be called during a $this->db 
loop;            
-               $this->db2 = clone($this->db);
+               $db2 = clone($this->db);
 
                if ( $this->admin )
                {
@@ -1237,15 +1291,15 @@
                        $sql0.="AND 
".$this->tables['elements'].".element_id=".$element_id." ";
                        $sql0.="AND (".$this->sqlaclchangeacl.") ";
                        
-                       $this->db2->query($sql0, __LINE__, __FILE__);
+                       $db2->query($sql0, __LINE__, __FILE__);
                        
-                       $result=($this->db2->next_record());
+                       $result=($db2->next_record());
                        
-                       $this->db2->unlock();
+                       $db2->unlock();
                }
 
-               $this->db2->free(); 
-               unset($this->db2);              
+               $db2->free(); 
+               unset($db2);            
                return ($result );      
        }
        
@@ -1274,11 +1328,10 @@
                        $sql.="AND element_id !=parent_id ";
                        if ($type !="" )
                                $sql.="AND type='".$type."'";
-                       $sql.="ORDER by type desc, element_id asc";
+                       $sql.="ORDER by type desc, name asc";
                        
                        $this->db->query($sql, __LINE__, __FILE__);
                        
-
                }
                elseif ( $this->can_read($parent_id) )
                {
@@ -1291,7 +1344,7 @@
                        $sql.="AND 
".$this->tables['elements'].".element_id=".$this->tables['acl'].".element_id ";
                        $sql.="AND (".$this->sqlaclread.") ";
                        
-                       $sql.="ORDER by type desc, element_id asc";
+                       $sql.="ORDER by type desc, name asc";
                        
                        $this->db->query($sql, __LINE__, __FILE__);
                }
@@ -1302,12 +1355,41 @@
                $i=0;
                while ($this->db->next_record())
                {
+                       $the_element_id=$this->db->f('element_id');
+                       $the_element_type=$this->db->f('type');
+                       
+                       if ( $the_element_type == "file" )
+                       {
+                               if ( $this->admin || 
$this->can_write($the_element_id) )
+                               {
+                                       $go=true;
+                               }
+                               else
+                               {
+                                       
$the_current_version=$this->get_current_or_pending_for_approval_version($the_element_id);
 
-                       $elements[$i]['element_id']=$this->db->f('element_id');
+                                       if ( is_array($the_current_version))
+                                       {
+                                               $go=true;
+                                       }
+                                       else
+                                       {
+                                               $go=false;
+                                       }
+                               }
+                       }
+                       elseif ( $the_element_type == "folder" )
+                       {
+                               $go=true;
+                       }
+                               
+                       if ( $go == true )
+                       {
+                               $elements[$i]['element_id']=$the_element_id;
                        $elements[$i]['name']=$this->db->f('name');
                        $elements[$i]['parent_id']=$this->db->f('parent_id');
                        $elements[$i]['reference']=$this->db->f('reference');
-                       $elements[$i]['type']=$this->db->f('type');
+                               $elements[$i]['type']=$the_element_type;
                        $elements[$i]['creator_id']=$this->db->f('creator_id');
                        $elements[$i]['owner_id']=$this->db->f('owner_id');
                        
$elements[$i]['creation_date']=$this->db->f('creation_date');
@@ -1318,6 +1400,7 @@
 
                        $i ++;
                }
+               }
 
                $this->db->unlock();
 
@@ -1344,6 +1427,23 @@
                        $sql1.="FROM ".$this->tables['versions']." ";
                        $sql1.="WHERE element_id=".$element_id." ";
                        $sql1.="ORDER BY version_id ";
+               }
+               else
+               {
+                       if ( $this->debug('list_version') )
+                               echo "list_versions: can read<br/>\n";
+
+                       $sql1="SELECT ALL ";
+                       $sql1.="version_id, element_id, description, 
creation_date, ";
+                       $sql1.="status, major, minor, size, ";
+                       $sql1.="creator_id, validation_date, file_extension, ";
+                       $sql1.="file_name, stored_name ";
+       
+                       $sql1.="FROM ".$this->tables['versions']." ";
+                       $sql1.="WHERE element_id=".$element_id." ";
+                       $sql1.="AND ( status='current' OR 
status='pending_for_approval') ";
+                       $sql1.="ORDER BY version_id ";          
+               }
 
                        if ( $this->debug('list_version') )
                                print ("list_versions: SQL ".$sql1."<br/>\n");
@@ -1382,11 +1482,6 @@
                                
$versions[$jj]['mime_type']=$this->get_mime_type($versions[$jj]['file_extension']);
        
                        $this->db->unlock();
-               }
-               else
-               {
-                       $versions[0]=$this->get_current_version($element_id);
-               }
 
                if ( $this->debug('list_version') )
                        print ("list_versions: fin<br/>\n");
@@ -1396,6 +1491,9 @@
 
        function get_mime_type($file_extension)
        {
+               // db2 neededbecause can_read can be called during a $this->db 
loop;            
+               $db2 = clone($this->db);
+
                if ( $this->debug('get_mime_type') )
                        print ("get_mime_type: debut<br/>\n");
 
@@ -1406,16 +1504,18 @@
                if ( $this->debug('get_mime_type') )
                        print ("get_mime_type: ".$sql."<br/>\n");
                                                
-               $this->db->query($sql, __LINE__, __FILE__);
+               $db2->query($sql, __LINE__, __FILE__);
 
-               if ($this->db->next_record())
-                       $out=$this->db->f('mime_type');
+               if ($db2->next_record())
+                       $out=$db2->f('mime_type');
                else
                        $out="default";
                
                if ( $this->debug('get_mime_type') )
                        print ("get_mime_type: ".$out."<br/>\n");               
 
+               $db2->free(); 
+               unset($db2);            
                return $out;
 
        }
@@ -1442,27 +1542,31 @@
        
        function list_elements_of_type ( $product_type )
        {
+               // db2 neededbecause can_read can be called during a $this->db 
loop;            
+               $db2 = clone($this->db);
+
                //TODO : limiter en fonction des droits
                $sql="select * from ged_elements where 
doc_type='".$product_type."'";
-               $this->db->query($sql, __LINE__, __FILE__);
+               $db2->query($sql, __LINE__, __FILE__);
 
                $ii=0;
 
-               while ($this->db->next_record())
+               while ($db2->next_record())
                {
 
-                       $elements[$ii]['element_id']=$this->db->f('element_id');
-                       $elements[$ii]['name']=$this->db->f('name');
-                       $elements[$ii]['reference']=$this->db->f('reference');
-                       
$elements[$ii]['description']=$this->db->f('description');
-                       
$elements[$ii]['validity_period']=$this->db->f('validity_period');
+                       $elements[$ii]['element_id']=$db2->f('element_id');
+                       $elements[$ii]['name']=$db2->f('name');
+                       $elements[$ii]['reference']=$db2->f('reference');
+                       $elements[$ii]['description']=$db2->f('description');
+                       
$elements[$ii]['validity_period']=$db2->f('validity_period');
                        // TODO : ADD 'validity_period' DONE
                        $ii ++;
                }
 
-               $this->db->unlock();
-               $this->db2->free(); 
-               unset($this->db2);
+               $db2->unlock();
+               $db2->free(); 
+               unset($db2);            
+
                return $elements;
        
        }
@@ -1627,7 +1731,7 @@
                                foreach ( $children_elements as $child_element )
                                {
                                        
$child_element_acl=$this->get_element_acl ( $child_element['element_id']);
-                                       
$child_element_acl_for_account=$child_element_acl[$account_id];
+                                       
@$child_element_acl_for_account=$child_element_acl[$account_id];
                                        
                                        if ( 
is_array($child_element_acl_for_account) )
                                        {
@@ -1734,7 +1838,7 @@
                                        
$child_element_acl=$this->get_element_acl ( $child_element['element_id'] );
                                        
                                        $child_element_acl_for_account=null;
-                                       
$child_element_acl_for_account=$child_element_acl[$account_id];
+                                       
@$child_element_acl_for_account=$child_element_acl[$account_id];
                                        
                                        if ( ! 
empty($child_element_acl_for_account) )
                                        {
@@ -2090,7 +2194,47 @@
        
        // Home board functions
        
-       function list_new_documents ()
+       // Project filtering
+       function list_available_projects()
+       {
+
+               if ( $this->admin )
+               {
+                       $sql="SELECT * FROM ".$this->tables['elements']." ";
+                       $sql.="WHERE project_root=element_id ";
+                       
+                       $this->db->query($sql, __LINE__, __FILE__);
+               }
+               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.") ";
+                       
+                       $sql.="ORDER by project_name asc";
+                       
+                       $this->db->query($sql, __LINE__, __FILE__);
+               }
+               //print ( $sql );
+
+               $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
                $session_id=$GLOBALS['phpgw_info']['user']['sessionid'];
@@ -2115,11 +2259,15 @@
                        $sql.="AND ( ";
                        $vor="";
                        
+                       if (is_null($element_id))
                        foreach ( 
$GLOBALS['phpgw_info']['user']['preferences']['ged']['show_projects'] as $id => 
$project )
                        {
                                $sql.=$vor."ged_elements.project_root =".$id." 
";
                                $vor="OR ";
                        }
+                       else
+                               $sql.="ged_elements.project_root 
=".$element_id." ";
+                               
                        $sql.=") ";
                }
                
@@ -2201,7 +2349,7 @@
        
        }
 
-       function list_pending_documents ()
+       function list_pending_documents ($element_id=null )
        {
                $sql="SELECT ged_elements.*, ged_current_version.* ";
                $sql.="FROM ( ged_elements ";
@@ -2213,11 +2361,15 @@
                        $sql.="WHERE ( ";
                        $vor="";
                        
+                       if (is_null($element_id))
                        foreach ( 
$GLOBALS['phpgw_info']['user']['preferences']['ged']['show_projects'] as $id => 
$project )
                        {
                                $sql.=$vor."ged_elements.project_root =".$id." 
";
                                $vor="OR ";
                        }
+                       else
+                               $sql.="ged_elements.project_root 
=".$element_id." ";
+
                        $sql.=") ";
                }
                $sql.="GROUP BY ged_elements.element_id ";
@@ -2229,12 +2381,13 @@
                {
                        $element_id=$this->db->f('element_id');
                        $version_id=$this->db->f('version_id');
+                       $version_status=$this->db->f('status');
                        
-                       if ( $this->can_write($element_id) )
+                       if ( $this->can_write($element_id) || $version_status 
== "pending_for_approval" && $this->can_read($element_id) )
                        {
                                $docs[$i]['element_id']=$element_id;
                                $docs[$i]['name']=$this->db->f('name');
-                               $docs[$i]['status']=$this->db->f('status');
+                               $docs[$i]['status']=$version_status;
                                
$docs[$i]['reference']=$this->db->f('reference');
                                $docs[$i]['minor']=$this->db->f('minor');
                                $docs[$i]['major']=$this->db->f('major');
@@ -2252,7 +2405,7 @@
        
        }
 
-       function list_working_documents ()
+       function list_working_documents ($element_id=null )
        {
                                        
                $sql="SELECT ged_elements.*, ged_current_version.* ";
@@ -2265,11 +2418,15 @@
                        $sql.="WHERE ( ";
                        $vor="";
                        
+                       if (is_null($element_id))
                        foreach ( 
$GLOBALS['phpgw_info']['user']['preferences']['ged']['show_projects'] as $id => 
$project )
                        {
                                $sql.=$vor."ged_elements.project_root =".$id." 
";
                                $vor="OR ";
                        }
+                       else
+                               $sql.="ged_elements.project_root 
=".$element_id." ";
+
                        $sql.=") ";
                }
                $sql.="GROUP BY ged_elements.element_id ";
@@ -2304,7 +2461,7 @@
        
        }
 
-       function list_alert_documents ()
+       function list_alert_documents ($element_id=null )
        {
                                        
                $sql="SELECT ged_elements.*, ged_current_version.* ";
@@ -2317,11 +2474,15 @@
                        $sql.="WHERE ( ";
                        $vor="";
                        
+                       if (is_null($element_id))
                        foreach ( 
$GLOBALS['phpgw_info']['user']['preferences']['ged']['show_projects'] as $id => 
$project )
                        {
                                $sql.=$vor."ged_elements.project_root =".$id." 
";
                                $vor="OR ";
                        }
+                       else
+                               $sql.="ged_elements.project_root 
=".$element_id." ";
+
                        $sql.=") ";
                }
                $sql.="GROUP BY ged_elements.element_id ";
@@ -2356,7 +2517,7 @@
        
        }
 
-       function list_rejected_documents ()
+       function list_rejected_documents ($element_id=null)
        {
                                        
                $sql="SELECT ged_elements.*, ged_current_version.*, 
max(ged_last_version.version_id) as last_version_id ";
@@ -2371,11 +2532,15 @@
                        $sql.="WHERE ( ";
                        $vor="";
                        
+                       if (is_null($element_id))
                        foreach ( 
$GLOBALS['phpgw_info']['user']['preferences']['ged']['show_projects'] as $id => 
$project )
                        {
                                $sql.=$vor."ged_elements.project_root =".$id." 
";
                                $vor="OR ";
                        }
+                       else
+                               $sql.="ged_elements.project_root 
=".$element_id." ";
+
                        $sql.=") ";
                }
                $sql.="GROUP BY ged_elements.element_id ";
@@ -2411,56 +2576,24 @@
        
        }
 
-       // Project filtering
-       function list_available_projects()
-       {
-
-               if ( $this->admin )
-               {
-                       $sql="SELECT * FROM ".$this->tables['elements']." ";
-                       $sql.="WHERE project_root=element_id ";
-                       
-                       $this->db->query($sql, __LINE__, __FILE__);
-               }
-               else
-               {
-                       $sql="SELECT DISTINCT ".$this->tables['elements'].".* ";
-                       $sql.="FROM ".$this->tables['elements'].", 
".$this->tables['acl']." ";
-                       $sql.="WHERE project_root=element_id ";
-                       $sql.="AND 
".$this->tables['elements'].".element_id=".$this->tables['acl'].".element_id ";
-                       $sql.="AND (".$this->sqlaclread.") ";
-                       
-                       $sql.="ORDER by type desc, element_id asc";
-                       
-                       $this->db->query($sql, __LINE__, __FILE__);
-               }
-               //print ( $sql );
-
-               $projects=Array();
-
-               while ($this->db->next_record())
-               {
-                       $i=$this->db->f('element_id');
-                       
-                       $projects[$i]=$this->db->f('name');
-               }
-
-               $this->db->unlock();
-
-               return $projects;
-
-       }
-       
-       
        // History
        function get_history ( $element_id)
        {
                if ( $this->admin || $this->can_write($element_id))
                {
-               
                        $sql="SELECT ".$this->tables['history'].".*, 
".$this->tables['versions'].".major, ".$this->tables['versions'].".minor FROM 
".$this->tables['history']." INNER JOIN ".$this->tables['versions']." ";
                        $sql.="ON ".$this->tables['history'].".version_id = 
".$this->tables['versions'].".version_id ";
-                       $sql.="WHERE 
".$this->tables['history'].".element_id=".$element_id;
+                       $sql.="WHERE 
".$this->tables['history'].".element_id=".$element_id." ";
+                       $sql.="ORDER BY ".$this->tables['history'].".logdate 
ASC";                      
+               }
+               else
+               {
+                       $sql="SELECT ".$this->tables['history'].".*, 
".$this->tables['versions'].".major, ".$this->tables['versions'].".minor FROM 
".$this->tables['history']." INNER JOIN ".$this->tables['versions']." ";
+                       $sql.="ON ".$this->tables['history'].".version_id = 
".$this->tables['versions'].".version_id ";
+                       $sql.="WHERE 
".$this->tables['history'].".element_id=".$element_id." ";
+                       $sql.="AND 
(".$this->tables['history'].".status='current' OR 
".$this->tables['history'].".status='pending_for_approval') ";
+                       $sql.="ORDER BY ".$this->tables['history'].".logdate 
ASC";
+               }
                                        
                        $this->db->query($sql);
        
@@ -2484,7 +2617,6 @@
                        }
                                
                        $this->db->unlock();
-               }
                
                if ( isset($history))
                        return ($history);
@@ -2504,7 +2636,7 @@
        }
        
   // Searching  
-  function search($query)
+  function search($query, $start_date=null, $end_date=null, $status=null )
   {
                $sql="SELECT ged_elements.*, ged_current_version.*, 
ged_elements.description as descriptione, ged_current_version.description as 
descriptionv ";
                $sql.="FROM ( ged_elements ";
@@ -2522,13 +2654,63 @@
                {
                        $element_id=$this->db->f('element_id');
                        $version_id=$this->db->f('version_id');
+                       $version_status=$this->db->f('status');
                        
-                       if ( $this->can_write($element_id) )
+                       if ( $this->can_write($element_id) || ( $version_status 
== "pending_for_approval" || $version_status == "current" ) && 
$this->can_read($element_id) )
                        {
                                $docs[$i]['element_id']=$element_id;
                                
$docs[$i]['version_id']=$this->db->f('version_id');
                                $docs[$i]['name']=$this->db->f('name');
-                               $docs[$i]['status']=$this->db->f('status');
+                               $docs[$i]['status']=$version_status;
+                               $docs[$i]['major']=$this->db->f('major');
+                               $docs[$i]['minor']=$this->db->f('minor');
+                               
$docs[$i]['reference']=$this->db->f('reference');
+                               
+                               
$docs[$i]['reference']=$this->db->f('reference');
+                               
$docs[$i]['description']=$this->db->f('descriptione');
+                               
$docs[$i]['descriptionv']=$this->db->f('descriptionv');
+                               $i ++;
+                       }
+               }
+                       
+               $this->db->unlock();
+               
+               if ( isset($docs))
+                       return ($docs);
+               else
+                       return null;    
+  }
+  
+  function get_stats ($start_date=null, $end_date=null, $status=null, 
$project_root_id=null)
+  {
+               $sql="SELECT ged_history.*, ged_elements.name, 
ged_elements.reference, ged_elements.description descriptione, ";
+               $sql.="ged_versions.major, ged_versions.minor, 
ged_versions.description descriptionv ";
+               $sql.="FROM (ged_history JOIN ged_elements on 
ged_history.element_id = ged_elements.element_id) ";
+               $sql.="JOIN ged_versions on ged_history.version_id = 
ged_versions.version_id ";
+               $sql.="WHERE ged_history.logdate >= ".$start_date." AND 
ged_history.logdate <= ".$end_date." ";
+               
+               if ( isset($status))
+                       $sql .="AND ged_history.status='".$status."' ";
+                       
+               if ( isset($project_root_id))
+                       $sql.="AND ged_elements.project_root 
=".$project_root_id." ";
+               
+               $this->db->query($sql);
+
+               $i=0;
+               while ($this->db->next_record())
+               {
+                       $element_id=$this->db->f('element_id');
+                       $version_id=$this->db->f('version_id');
+                       $version_status=$this->db->f('status');
+                       
+                       if ( $this->can_write($element_id) || ( $version_status 
== "pending_for_approval" || $version_status == "current" || $version_status == 
"rejected") && $this->can_read($element_id) )
+                       {
+                               $docs[$i]['element_id']=$element_id;
+                               $docs[$i]['version_id']=$version_id;
+                               $docs[$i]['status']=$version_status;
+
+                               $docs[$i]['name']=$this->db->f('name');
                                $docs[$i]['major']=$this->db->f('major');
                                $docs[$i]['minor']=$this->db->f('minor');
                                
$docs[$i]['reference']=$this->db->f('reference');
@@ -2547,5 +2729,6 @@
                else
                        return null;    
   }
+
 }
 ?>

Index: inc/hook_home.inc.php
===================================================================
RCS file: /sources/phpgroupware/ged/inc/hook_home.inc.php,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- inc/hook_home.inc.php       27 Mar 2007 18:03:59 -0000      1.7
+++ inc/hook_home.inc.php       13 Jul 2007 20:37:26 -0000      1.8
@@ -77,8 +77,28 @@
                $ged_dm=CreateObject('ged.ged_dm', True);
                
                // Get info
-               $new_docs=$ged_dm->list_new_documents();                
-               $template->set_block('home_tpl', 'new_docs_list', 
'new_docs_list_handle');
+               $myprojects=$ged_dm->list_available_projects();
+               
+               $template->set_block('home_tpl', 'ged_projects', 
'ged_projects_handle');
+               $template->set_block('ged_projects', 'new_docs_list', 
'new_docs_list_handle');
+               $template->set_block('ged_projects', 'working_docs_list', 
'working_docs_list_handle');
+               $template->set_block('ged_projects', 'pending_docs_list', 
'pending_docs_list_handle');
+               $template->set_block('ged_projects', 'alert_docs_list', 
'alert_docs_list_handle');
+               $template->set_block('ged_projects', 'rejected_docs_list', 
'rejected_docs_list_handle');
+
+               
+               foreach ( $myprojects as $my_element_id => $myproject )
+               {
+                       
+                       $new_docs=$ged_dm->list_new_documents($my_element_id);  
        
+                       
+                       $template->set_var('project_name', $myproject );
+                       $template->set_var('new_docs_list_handle', "" );
+                       $template->set_var('working_docs_list_handle', "" );
+                       $template->set_var('pending_docs_list_handle', "" );
+                       $template->set_var('alert_docs_list_handle', "" );
+                       $template->set_var('rejected_docs_list_handle', "" );
+                       
                $file_odd_even='odd';           
                if ( is_array($new_docs))
                {
@@ -103,8 +123,8 @@
                        }
                }
                
-               $working_docs=$ged_dm->list_working_documents();
-               $template->set_block('home_tpl', 'working_docs_list', 
'working_docs_list_handle');
+                       
$working_docs=$ged_dm->list_working_documents($my_element_id);
+                       
                $file_odd_even='odd';           
                if ( is_array($working_docs))
                {
@@ -129,8 +149,8 @@
                        }
                }
                
-               $pending_docs=$ged_dm->list_pending_documents();
-               $template->set_block('home_tpl', 'pending_docs_list', 
'pending_docs_list_handle');
+                       
$pending_docs=$ged_dm->list_pending_documents($my_element_id);
+                       
                $file_odd_even='odd';           
                if ( is_array($pending_docs))
                {
@@ -155,8 +175,8 @@
                        }
                }
 
-               $alert_docs=$ged_dm->list_alert_documents();
-               $template->set_block('home_tpl', 'alert_docs_list', 
'alert_docs_list_handle');
+                       
$alert_docs=$ged_dm->list_alert_documents($my_element_id);
+                       
                $file_odd_even='odd';           
                if ( is_array($alert_docs))
                {
@@ -181,8 +201,8 @@
                        }
                }
 
-               $rejected_docs=$ged_dm->list_rejected_documents();
-               $template->set_block('home_tpl', 'rejected_docs_list', 
'rejected_docs_list_handle');
+                       
$rejected_docs=$ged_dm->list_rejected_documents($my_element_id);
+                       
                $file_odd_even='odd';           
                if ( is_array($rejected_docs))
                {
@@ -206,7 +226,8 @@
                                $template->fp('rejected_docs_list_handle', 
'rejected_docs_list', True);
                        }
                }
-               
+                       $template->fp('ged_projects_handle', 'ged_projects', 
True);
+               }
                //$to_expire_docs=$ged_dm->list_documents_to_expire();
                
                        

Index: inc/class.ged_ui.inc.php
===================================================================
RCS file: /sources/phpgroupware/ged/inc/class.ged_ui.inc.php,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -b -r1.30 -r1.31
--- inc/class.ged_ui.inc.php    20 Apr 2007 15:35:22 -0000      1.30
+++ inc/class.ged_ui.inc.php    13 Jul 2007 20:37:26 -0000      1.31
@@ -13,6 +13,10 @@
 
 $GLOBALS['debug']["ged.ged_ui"]=false;
 
+// define zip command fullpath instead of hard coding it
+// later it will be possible todefine it using an admin form
+define ( "zip_bin", "/usr/bin/zip");
+
 class ged_ui
 {
        var $t;
@@ -22,7 +26,7 @@
        var $debug=1;
        var $browser;
 
-       var $public_functions=array('browse'=>true, 'add_file'=>true, 
'add_folder'=>true, 'update_file'=>true, 'update_folder'=>true, 
'delete_folder'=>true, 'download'=>true, 'package_download' => true, 
'view'=>true, 'update_file'=>true, 'delete_file'=>true, 'change_acl'=>true, 
'approve_file'=>true, 'submit_file'=> true, 'accept_file'=> true, 
'refuse_file'=> true, 'deliver_file'=> true, 'reject_file'=> true, 'search' => 
true );
+       var $public_functions=array('browse'=>true, 'add_file'=>true, 
'add_folder'=>true, 'update_file'=>true, 'update_folder'=>true, 
'delete_folder'=>true, 'download'=>true, 'package_download' => true, 
'view'=>true, 'update_file'=>true, 'delete_file'=>true, 'change_acl'=>true, 
'approve_file'=>true, 'submit_file'=> true, 'accept_file'=> true, 
'refuse_file'=> true, 'deliver_file'=> true, 'reject_file'=> true, 'search' => 
true, 'stats'=> true );
 
        var $icons;
 
@@ -230,6 +234,17 @@
                $top_url=$GLOBALS['phpgw']->link('/index.php', $link_data);
                $this->t->set_var('top_link', "<a 
href=\"".$top_url."\">".lang('Top')."</a>");
 
+               $link_data=null;
+               $link_data['menuaction']='ged.ged_ui.search';
+               $search_url=$GLOBALS['phpgw']->link('/index.php', $link_data);
+               $this->t->set_var('search', "<a 
href=\"".$search_url."\">".lang('Search')."</a>");
+
+               $link_data=null;
+               $link_data['menuaction']='ged.ged_ui.stats';
+               $stats_url=$GLOBALS['phpgw']->link('/index.php', $link_data);
+               $this->t->set_var('stats', "<a 
href=\"".$stats_url."\">".lang('Stats')."</a>");
+               
+
        }
 
        function display_app_header()
@@ -349,9 +364,9 @@
                                copy($version['file_full_path'], 
$thetempdir."/".$filename);
                        }
                
-               // Création du zip
+               // zip creation
                $retval=null;
-               exec ( "cd ".$GLOBALS['phpgw_info']['server']['temp_dir']."; 
/usr/bin/zip -r ".$theversion_sterile_file_name.".zip 
".$theversion_sterile_file_name, $retval);
+               exec ( "cd ".$GLOBALS['phpgw_info']['server']['temp_dir']."; 
".zip_bin." -r ".$theversion_sterile_file_name.".zip 
".$theversion_sterile_file_name, $retval);
                
 
                if ($this->browser->is_ie())
@@ -521,8 +536,9 @@
 
                $element_info=$this->ged_dm->get_element_info($element_id);
 
+               if ( $this->ged_dm->can_write($element_id))
+               {
                $version_id=get_var('version_id',array('GET','POST'));
-               
                if ( $version_id != '' )
                {
                        
$current_version=$this->ged_dm->get_version_info($version_id);
@@ -536,6 +552,11 @@
                
                if ( $current_version['element_id']!=$element_id)
                        
$current_version=$this->ged_dm->get_last_version($element_id);
+               }
+               elseif ($this->ged_dm->can_read($element_id))
+               {
+                       
$current_version=$this->ged_dm->get_current_or_pending_for_approval_version($element_id);
+               }
                        
                $this->t->set_var('current_version_status_image', 
$GLOBALS['phpgw']->common->image('ged', $current_version['status']."-48"));
 
@@ -873,8 +894,6 @@
 
                $this->set_template_defaults();
 
-               $this->display_app_header();
-
                $this->t->set_file(array('browse_file_tpl'=>'browse.tpl'));
 
                $this->t->set_var('tree', $this->draw_tree($focused_id));
@@ -899,13 +918,6 @@
                if ( $this->debug('browse') )
                        print ( "browse: focused_element 
type=".$focused_element['type']."<br>\n");
                        
-                       
-               $link_data=null;
-               $link_data['menuaction']='ged.ged_ui.search';
-               $search_url=$GLOBALS['phpgw']->link('/index.php', $link_data);
-               $this->t->set_var('search', "<a 
href=\"".$search_url."\">".lang('Search')."</a>");
-               
-
                switch ($focused_element['type'])
                {
                        case 'file' :
@@ -914,6 +926,17 @@
                                        print ( "browse: case file<br/>\n");
                                
                                
$last_version=$this->ged_dm->get_last_version($focused_id);
+                               
$current_version=$this->ged_dm->get_current_or_pending_for_approval_version($focused_id);
+
+                               // No current version and no write acl : 
cheater !
+                               if ( ! is_array($current_version) && ! 
$this->ged_dm->can_write($focused_id))
+                               {
+                                       $link_data=null;
+                                       
$link_data['menuaction']='ged.ged_ui.browse';
+                                       $link_data['focused_id']=0;
+
+                                       
$GLOBALS['phpgw']->redirect_link('/index.php', $link_data);
+                               }
 
                                $this->t->set_var('main_content', 
$this->draw_file_panel($focused_id));
                                $this->t->set_var('history_content', 
$this->draw_history_panel($focused_id));
@@ -1067,6 +1090,8 @@
                                break;
                }
 
+               $this->display_app_header();
+               
                $this->t->pfp('out', 'browse_file_tpl');
 
        }
@@ -1090,9 +1115,9 @@
                }
                
                $add_file=get_var('add_file',array('GET','POST'));
-               $name=get_var('name',array('GET','POST'));
-               $referenceq=get_var('referenceq',array('GET','POST'));
-               $description=get_var('description', array('GET', 'POST'));
+               $name=addslashes(get_var('name',array('GET','POST')));
+               
$referenceq=addslashes(get_var('referenceq',array('GET','POST')));
+               $description=addslashes(get_var('description', array('GET', 
'POST')));
                $validity_period=get_var('validity_period', array('GET', 
'POST'));
 
                $this->set_template_defaults();
@@ -1413,7 +1438,7 @@
 
 
 
-       // Now c'est là [HOP1]
+       // Now c'est la [HOP1]
        
       if ( ( $search=="search" || $do_add_relation != '' || 
$do_remove_relation != '' ) && $query != ''  )
                        {
@@ -1730,10 +1755,10 @@
                }
 
                $add_folder=get_var('add_folder', array('GET', 'POST'));
-               $name=get_var('name', array('GET', 'POST'));
-               $description=get_var('description', array('GET', 'POST'));
-               $referenceq=get_var('referenceq', array('GET', 'POST'));
-               $project_name=get_var('project_name', array('GET', 'POST'));
+               $name=addslashes(get_var('name', array('GET', 'POST')));
+               $description=addslashes(get_var('description', array('GET', 
'POST')));
+               $referenceq=addslashes(get_var('referenceq', array('GET', 
'POST')));
+               $project_name=addslashes(get_var('project_name', array('GET', 
'POST')));
 
                $this->set_template_defaults();
 
@@ -2269,6 +2294,174 @@
 
        }
 
+       // Statistics
+       function stats()
+       {
+               $jscal = CreateObject('phpgwapi.jscalendar');
+               
+               if ( isset($_GET['ok']))
+               {
+                       $date_start = $jscal->input2date($_GET['date_start']);
+                       $datetime_start = 
mktime(0,0,0,$date_start['month'],$date_start['day'],$date_start['year']);
+                       $date_end = $jscal->input2date($_GET['date_end']);
+                       $datetime_end = 
mktime(0,0,0,$date_end['month'],$date_end['day'],$date_end['year']);
+               }
+               else
+               {
+                       // DONE : Set default values as start of month -> now
+                       $datetime_end = time();
+                       $day=1;
+                       $month=date ( 'm', $datetime_end);
+                       $year=date ( 'Y', $datetime_end);
+                       $datetime_start = mktime(0,0,0,$month,$day,$year);
+                       
+               }
+
+               // Get info
+               $myprojects=$this->ged_dm->list_available_projects();
+               
+               $this->set_template_defaults();
+               $this->display_app_header();    
+               $this->t->set_file(array('stats_tpl'=>'stats.tpl'));
+
+               $this->t->set_block('stats_tpl', 'ged_projects', 
'ged_projects_handle');
+               $this->t->set_block('ged_projects', 'delivered_block', 
'delivered_block_handle');
+               $this->t->set_block('ged_projects', 'approved_block', 
'approved_block_handle');
+               $this->t->set_block('ged_projects', 'rejected_block', 
'rejected_block_handle');
+
+               $link_data=null;
+               $link_data['menuaction']='ged.ged_ui.stats';
+               $link_data['kp3']=$GLOBALS['phpgw_info']['user']['kp3'];
+               $link_data['sessionid']=$GLOBALS['sessionid'];
+               $link_data['click_history']=$_GET['click_history'];
+               $filter_url=$GLOBALS['phpgw_info']['server']['webserver_url'];
+               
+               $this->t->set_var('menuaction', $link_data['menuaction']);
+               $this->t->set_var('kp3', $link_data['kp3']);
+               $this->t->set_var('sessionid', $link_data['sessionid']);
+               $this->t->set_var('click_history', $link_data['click_history']);
+               $this->t->set_var('action_filter', $filter_url);
+               
+               $this->t->set_var('jscal_start', $jscal->input('date_start', 
$datetime_start));
+               $this->t->set_var('jscal_end', $jscal->input('date_end', 
$datetime_end));
+
+               foreach ( $myprojects as $my_element_id => $myproject )
+               {
+               
+                       $this->t->set_var('project_name', $myproject );         
        
+                       $this->t->set_var('rejected_block_handle', "");
+                       $this->t->set_var('delivered_block_handle', "");
+                       $this->t->set_var('approved_block_handle', "");
+                       
+                       $stats_delivered=null;
+                       
$stats_delivered=$this->ged_dm->get_stats($datetime_start, $datetime_end, 
'pending_for_approval',$my_element_id);
+
+                       $count=0;
+                       if (isset($stats_delivered))
+                       {
+       
+                               foreach ( $stats_delivered as $element )
+                               {
+                       $this->t->set_var('element_id', $element['element_id']);
+                       $this->t->set_var('version_id', $element['version_id']);
+                       $this->t->set_var('name', $element['name']);
+                       $this->t->set_var('reference', $element['reference']);
+                       $this->t->set_var('version', 
"v".$element['major'].".".$element['minor']);
+                       $this->t->set_var('status', $element['status']);
+                       $this->t->set_var('description', 
$element['description']);
+                       $this->t->set_var('descriptionv', 
$element['descriptionv']);
+                       
+                       
+                                       $this->t->set_var('status_image', 
$GLOBALS['phpgw']->common->image('ged', $element['status']."-16"));
+                       
+                                       $link_data=null;
+                                       
$link_data['menuaction']='ged.ged_ui.browse';
+                                       
$link_data['focused_id']=$element['element_id'];
+                                       
$link_data['version_id']=$element['version_id'];
+                                       $this->t->set_var('search_link', 
$GLOBALS['phpgw']->link('/index.php', $link_data));
+                                       
+                                       $count++;
+                                       $this->t->fp('delivered_block_handle', 
'delivered_block', True);
+                                       
+                               }
+                       }
+
+                       $this->t->set_var('count_delivered', $count);
+                       
+                       $stats_approved=null;
+                       
$stats_approved=$this->ged_dm->get_stats($datetime_start, $datetime_end, 
'current',$my_element_id);
+
+                       $count=0;
+                       if (isset($stats_approved))
+                       {
+                               foreach ( $stats_approved as $element )
+                               {
+                       $this->t->set_var('element_id', $element['element_id']);
+                       $this->t->set_var('version_id', $element['version_id']);
+                       $this->t->set_var('name', $element['name']);
+                       $this->t->set_var('reference', $element['reference']);
+                       $this->t->set_var('version', 
"v".$element['major'].".".$element['minor']);
+                       $this->t->set_var('status', $element['status']);
+                       $this->t->set_var('description', 
$element['description']);
+                       $this->t->set_var('descriptionv', 
$element['descriptionv']);
+                       
+                       
+                                       $this->t->set_var('status_image', 
$GLOBALS['phpgw']->common->image('ged', $element['status']."-16"));
+                       
+                                       $link_data=null;
+                                       
$link_data['menuaction']='ged.ged_ui.browse';
+                                       
$link_data['focused_id']=$element['element_id'];
+                                       
$link_data['version_id']=$element['version_id'];
+                                       $this->t->set_var('search_link', 
$GLOBALS['phpgw']->link('/index.php', $link_data));
+                                       
+                                       $count++;
+                                       $this->t->fp('approved_block_handle', 
'approved_block', True);
+                                       
+                               }
+                       } 
+
+                       $this->t->set_var('count_approved', $count);
+                       
+                       $stats_rejected=null;
+                       
$stats_rejected=$this->ged_dm->get_stats($datetime_start, $datetime_end, 
'rejected',$my_element_id);
+                       
+                       $count=0;
+                       if (isset($stats_rejected))
+                       {
+                               foreach ( $stats_rejected as $element )
+                               {
+                       $this->t->set_var('element_id', $element['element_id']);
+                       $this->t->set_var('version_id', $element['version_id']);
+                       $this->t->set_var('name', $element['name']);
+                       $this->t->set_var('reference', $element['reference']);
+                       $this->t->set_var('version', 
"v".$element['major'].".".$element['minor']);
+                       $this->t->set_var('status', $element['status']);
+                       $this->t->set_var('description', 
$element['description']);
+                       $this->t->set_var('descriptionv', 
$element['descriptionv']);
+                       
+                       
+                                       $this->t->set_var('status_image', 
$GLOBALS['phpgw']->common->image('ged', $element['status']."-16"));
+                       
+                                       $link_data=null;
+                                       
$link_data['menuaction']='ged.ged_ui.browse';
+                                       
$link_data['focused_id']=$element['element_id'];
+                                       
$link_data['version_id']=$element['version_id'];
+                                       $this->t->set_var('search_link', 
$GLOBALS['phpgw']->link('/index.php', $link_data));
+                                       
+                                       $count++;
+                                       $this->t->fp('rejected_block_handle', 
'rejected_block', True);
+                                       
+                               }
+                       } 
+
+                       $this->t->set_var('count_rejected', $count);
+                       
+                       $this->t->fp('ged_projects_handle', 'ged_projects', 
True);
+               }       
+               $this->t->pfp('out', 'stats_tpl');
+
+       }
+
 }
 
 ?>

Index: templates/base/home.tpl
===================================================================
RCS file: /sources/phpgroupware/ged/templates/base/home.tpl,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- templates/base/home.tpl     27 Mar 2007 18:03:59 -0000      1.1
+++ templates/base/home.tpl     13 Jul 2007 20:37:26 -0000      1.2
@@ -1,5 +1,7 @@
 <td><div style="margin-left: 1em;">
-<!-- BEGIN ged info -->
+<!-- BEGIN ged_info -->
+<!-- BEGIN ged_projects -->
+<h3>Project : {project_name}</h3>
 <table width="100%">
 <tr>
 <td valign="top" width="50%">
@@ -63,5 +65,6 @@
 </td>
 </tr>
 </table>
-<!-- END ged info -->
+<!-- END ged_projects -->
+<!-- END ged_info -->
 </div></td>
\ No newline at end of file

Index: templates/base/browse.tpl
===================================================================
RCS file: /sources/phpgroupware/ged/templates/base/browse.tpl,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- templates/base/browse.tpl   5 Apr 2007 17:01:43 -0000       1.5
+++ templates/base/browse.tpl   13 Jul 2007 20:37:26 -0000      1.6
@@ -1,4 +1,4 @@
-<div id="ged_top_menu">{top_link} {up_link} {update_folder} {add_folder} 
{delete_folder} {add_file} {edit_file} {update_file} {refuse_file} 
{accept_file} {submit_file} {deliver_file} {reject_file} {approve_file} 
{delete_file} {change_acl} {search}</div>
+<div id="ged_top_menu">{top_link} {up_link} {update_folder} {add_folder} 
{delete_folder} {add_file} {edit_file} {update_file} {refuse_file} 
{accept_file} {submit_file} {deliver_file} {reject_file} {approve_file} 
{delete_file} {change_acl} {search} {stats}</div>
 <br/>
 <div id="ged_info">
 {main_content}

Index: templates/base/search.tpl
===================================================================
RCS file: /sources/phpgroupware/ged/templates/base/search.tpl,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- templates/base/search.tpl   5 Apr 2007 17:01:43 -0000       1.1
+++ templates/base/search.tpl   13 Jul 2007 20:37:26 -0000      1.2
@@ -1,3 +1,5 @@
+<div id="ged_top_menu">{top_link} {up_link} {update_folder} {add_folder} 
{delete_folder} {add_file} {edit_file} {update_file} {refuse_file} 
{accept_file} {submit_file} {deliver_file} {reject_file} {approve_file} 
{delete_file} {change_acl} {search} {stats}</div>
+<br/>
 <div align=center>
 <form name="search" action="{action_search}" method="get">
 <input name="menuaction" type="hidden" value="{menuaction}">
@@ -12,7 +14,7 @@
 <td width="20" height="16" valign="bottom">
 <img height="16" src="{status_image}">
 </td>
-<td valign="top"><a href="{search_link}" style="font-size: 10pt;">{name} 
[{reference}] {version}</a>
+<td valign="top"><a href="{search_link}" style="font-size: 
10pt;"><b>{name}</b> [{reference}] {version}</a>
 </td>
 </tr>
 <tr>
@@ -21,6 +23,9 @@
 <span style="font-size: 8pt;">{description} - {descriptionv}</span>
 </td>
 </tr>
+<tr height="5px">
+<td></td>
+</tr>
 <!-- END search_results_block -->
 </table>
 </div>
\ No newline at end of file

Index: templates/base/pref.tpl
===================================================================
RCS file: /sources/phpgroupware/ged/templates/base/pref.tpl,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -b -r1.1.1.1 -r1.2
--- templates/base/pref.tpl     30 Mar 2006 12:29:24 -0000      1.1.1.1
+++ templates/base/pref.tpl     13 Jul 2007 20:37:27 -0000      1.2
@@ -16,7 +16,7 @@
 
 <!-- BEGIN pref_list -->
   <tr bgcolor="{bg_color}">
-   <td align="right">{field}</td>
-   <td align="center">{data}</td>
+    <td valign="top" align="right">{field}</td>
+    <td valign="top" align="center">{data}</td>
   </tr>
 <!-- END pref_list -->

Index: templates/base/add_folder.tpl
===================================================================
RCS file: /sources/phpgroupware/ged/templates/base/add_folder.tpl,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -b -r1.1.1.1 -r1.2
--- templates/base/add_folder.tpl       30 Mar 2006 12:29:22 -0000      1.1.1.1
+++ templates/base/add_folder.tpl       13 Jul 2007 20:37:27 -0000      1.2
@@ -23,6 +23,16 @@
   <input type="text" default_class="{input_default_class}"  
focused_class="{input_active_class}" name="referenceq" value="{new_reference}" 
size="40" maxlength="40"/>
 </td>
 </tr>
+<!-- BEGIN project_block -->
+<tr>
+<td>
+  {lang_project} : 
+</td>
+<td>  
+  <input type="text" default_class="{input_default_class}"  
focused_class="{input_active_class}" name="{project_name_field}" 
value="{project_name_value}" size="40" maxlength="40"/>
+</td>
+</tr>
+<!-- END project_block -->
 <tr>
 <td>
   {lang_description} :

Index: templates/base/css/home.css
===================================================================
RCS file: templates/base/css/home.css
diff -N templates/base/css/home.css

Index: templates/base/stats.tpl
===================================================================
RCS file: templates/base/stats.tpl
diff -N templates/base/stats.tpl
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ templates/base/stats.tpl    13 Jul 2007 20:37:26 -0000      1.1
@@ -0,0 +1,83 @@
+<div id="ged_top_menu">{top_link} {up_link} {update_folder} {add_folder} 
{delete_folder} {add_file} {edit_file} {update_file} {refuse_file} 
{accept_file} {submit_file} {deliver_file} {reject_file} {approve_file} 
{delete_file} {change_acl} {search} {stats}</div>
+<br/>
+<div align=left>
+<form name="period" method="GET" action="{action_filer}">
+<input name="menuaction" type="hidden" value="{menuaction}">
+<input name="kp3" type="hidden" value="{kp3}">
+<input name="sessionid" type="hidden" value="{sessionid}">
+<input name="click_history" type="hidden" value="{click_history}">
+{jscal_start}
+{jscal_end}
+<input type="submit" name="ok" value="filter"/>
+</form>
+<!-- BEGIN ged_projects -->
+<h2>Project : {project_name}</h3>
+<h3>Documents delivered during period : {count_delivered}</h2>
+<table cellspacing="0" cellpadding="0" width="70%">
+<!-- BEGIN delivered_block -->
+<tr>
+<td width="20" height="16" valign="bottom">
+<img height="16" src="{status_image}">
+</td>
+<td valign="top"><a href="{search_link}" style="font-size: 
10pt;"><b>{name}</b> [{reference}] {version}</a>
+</td>
+</tr>
+<tr>
+<td></td>
+<td>
+<span style="font-size: 8pt;">{description} - {descriptionv}</span>
+</td>
+</tr>
+<tr height="5px">
+<td></td>
+</tr>
+<!-- END delivered_block -->
+</table>
+
+<h3>Documents approved during period : {count_approved}</h2>
+<table cellspacing="0" cellpadding="0" width="70%">
+<!-- BEGIN approved_block -->
+<tr>
+<td width="20" height="16" valign="bottom">
+<img height="16" src="{status_image}">
+</td>
+<td valign="top"><a href="{search_link}" style="font-size: 
10pt;"><b>{name}</b> [{reference}] {version}</a>
+</td>
+</tr>
+<tr>
+<td></td>
+<td>
+<span style="font-size: 8pt;">{description} - {descriptionv}</span>
+</td>
+</tr>
+<tr height="5px">
+<td></td>
+</tr>
+<!-- END approved_block -->
+</table>
+
+
+<h3>Documents rejected during period : {count_rejected}</h2>
+<table cellspacing="0" cellpadding="0" width="70%">
+<!-- BEGIN rejected_block -->
+<tr>
+<td width="20" height="16" valign="bottom">
+<img height="16" src="{status_image}">
+</td>
+<td valign="top"><a href="{search_link}" style="font-size: 
10pt;"><b>{name}</b> [{reference}] {version}</a>
+</td>
+</tr>
+<tr>
+<td></td>
+<td>
+<span style="font-size: 8pt;">{description} - {descriptionv}</span>
+</td>
+</tr>
+<tr height="5px">
+<td></td>
+</tr>
+<!-- END rejected_block -->
+</table>
+<!-- END ged_projects -->
+
+</div>
\ No newline at end of file




reply via email to

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