[Top][All Lists]
[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
- [Phpgroupware-cvs] ged inc/class.ged_dm.inc.php inc/hook_home.inc....,
Pascal Vilarem <=