[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Phpgroupware-cvs] ged templates/base/add_file.tpl templates/base/...
From: |
Pascal Vilarem |
Subject: |
[Phpgroupware-cvs] ged templates/base/add_file.tpl templates/base/... |
Date: |
Thu, 26 Jul 2007 14:42:48 +0000 |
CVSROOT: /sources/phpgroupware
Module name: ged
Changes by: Pascal Vilarem <maat> 07/07/26 14:42:48
Modified files:
templates/base : add_file.tpl browse.tpl
inc : class.ged_dm.inc.php class.ged_ui.inc.php
setup : tables_update.inc.php setup.inc.php
tables_current.inc.php
Added files:
templates/base : chrono.tpl
Log message:
feature : added document type definition + chrono
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/ged/templates/base/add_file.tpl?cvsroot=phpgroupware&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/ged/templates/base/browse.tpl?cvsroot=phpgroupware&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/ged/templates/base/chrono.tpl?cvsroot=phpgroupware&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/ged/inc/class.ged_dm.inc.php?cvsroot=phpgroupware&r1=1.35&r2=1.36
http://cvs.savannah.gnu.org/viewcvs/ged/inc/class.ged_ui.inc.php?cvsroot=phpgroupware&r1=1.37&r2=1.38
http://cvs.savannah.gnu.org/viewcvs/ged/setup/tables_update.inc.php?cvsroot=phpgroupware&r1=1.10&r2=1.11
http://cvs.savannah.gnu.org/viewcvs/ged/setup/setup.inc.php?cvsroot=phpgroupware&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/ged/setup/tables_current.inc.php?cvsroot=phpgroupware&r1=1.6&r2=1.7
Patches:
Index: templates/base/add_file.tpl
===================================================================
RCS file: /sources/phpgroupware/ged/templates/base/add_file.tpl,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- templates/base/add_file.tpl 16 Jul 2007 12:41:08 -0000 1.2
+++ templates/base/add_file.tpl 26 Jul 2007 14:42:46 -0000 1.3
@@ -10,11 +10,17 @@
{lang_name} :
</td>
<td>
- <input type="text" default_class="{input_default_class}"
focused_class="{input_active_class}" name="name" value="{new_name}" size="40"
maxlength="40"/>
+ <input type="text" default_class="{input_default_class}"
focused_class="{input_active_class}" name="name" value="{new_name}" size="70"
maxlength="255"/>
<input type="hidden" name="{parent_id_field}" value="{parent_id_value}">
</td>
</tr>
<tr>
+<td style="vertical-align: top; width: 50px;">{lang_type} :<br>
+</td>
+<td style="vertical-align: top;">{select_type}
+</td>
+</tr>
+<tr>
<td>
{lang_reference} :
</td>
Index: templates/base/browse.tpl
===================================================================
RCS file: /sources/phpgroupware/ged/templates/base/browse.tpl,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- templates/base/browse.tpl 13 Jul 2007 20:37:26 -0000 1.6
+++ templates/base/browse.tpl 26 Jul 2007 14:42:47 -0000 1.7
@@ -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} {stats}</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} {chrono}</div>
<br/>
<div id="ged_info">
{main_content}
Index: inc/class.ged_dm.inc.php
===================================================================
RCS file: /sources/phpgroupware/ged/inc/class.ged_dm.inc.php,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -b -r1.35 -r1.36
--- inc/class.ged_dm.inc.php 17 Jul 2007 15:46:21 -0000 1.35
+++ inc/class.ged_dm.inc.php 26 Jul 2007 14:42:47 -0000 1.36
@@ -142,13 +142,21 @@
}
+ // TODO : If the document type requires a chrono
+ // TODO : generate reference and override the reference
+ // TODO : given by user if needed
+ if ((int)$parent['project_root'] != 0 &&
$this->is_chrono_type($new_file['doc_type']))
+
$next_ref=$this->get_next_available_reference($new_file['doc_type'],
$parent['project_root'] );
+ else
+ $next_ref=$new_file['reference'];
+
if ($download_result=='OK')
{
// DONE : ADD 'validity_period'
$sql_model="INSERT INTO %s ( type, parent_id, name,
reference, description, owner_id, creator_id, creation_date, doc_type,
validity_period, project_name, project_root) VALUES ";
$sql_model.=" ( '%s', %d, '%s', '%s', '%s', %d, %d, %d,
'%s', %d, '%s', %d ) ";
- $sql=sprintf($sql_model, $this->tables['elements'],
'file', $new_file['parent_id'], $new_file['name'], $new_file['reference'],
$new_file['description'], $GLOBALS['phpgw_info']['user']['account_id'],
$GLOBALS['phpgw_info']['user']['account_id'], time(), $new_file['doc_type'],
$new_file['validity_period'],$parent['project_name'],$parent['project_root']);
+ $sql=sprintf($sql_model, $this->tables['elements'],
'file', $new_file['parent_id'], $new_file['name'], $next_ref,
$new_file['description'], $GLOBALS['phpgw_info']['user']['account_id'],
$GLOBALS['phpgw_info']['user']['account_id'], time(), $new_file['doc_type'],
$new_file['validity_period'],$parent['project_name'],$parent['project_root']);
// DONE gestion des slashes !
//print ($sql);
@@ -2781,5 +2789,182 @@
return null;
}
+ // Type management
+ function list_doc_types ()
+ {
+
+ $i=0;
+ $list[$i]['type_id'] = "";
+ $list[$i]['type_desc'] = lang('No type');
+ $list[$i]['type_chrono'] = 0;
+
+ $sql="SELECT * from ged_doc_types";
+ $this -> db -> query($sql, __LINE__, __FILE__);
+
+ $i=1;
+ while ($this -> db -> next_record())
+ {
+ $list[$i]['type_id'] = $this -> db -> f('type_id');
+ $list[$i]['type_desc'] = $this -> db -> f('type_desc');
+ $list[$i]['type_chrono'] = $this -> db ->
f('type_chrono');
+ if ( $list[$i]['type_chrono'] == 1 )
+ $list[$i]['type_desc'] .= " [C]";
+ $i ++;
+ }
+ return $list;
+ }
+
+ function is_chrono_type($doc_type)
+ {
+ $db2 = clone($this->db);
+ $out=false;
+ $sql="SELECT * FROM ged_doc_types WHERE type_id='".$doc_type."'
and type_chrono=1";
+
+ $db2->query($sql, __LINE__, __FILE__);
+
+ $out=($db2->next_record());
+
+ $db2->unlock();
+ $db2->free();
+ unset($db2);
+
+ return ($out );
+ }
+
+ function get_type_std_ref($doc_type)
+ {
+ $db2 = clone($this->db);
+ $out=null;
+ $sql="SELECT * FROM ged_doc_types WHERE type_id='".$doc_type."'
and type_chrono=1";
+
+ $db2->query($sql, __LINE__, __FILE__);
+
+ if($db2->next_record())
+ {
+ $out=$db2->f('type_ref');
+ }
+
+ $db2->unlock();
+ $db2->free();
+ unset($db2);
+
+ return ($out );
+ }
+
+ function get_project_base_ref($project_root_id)
+ {
+ $db2 = clone($this->db);
+ $out=null;
+ $sql="SELECT reference FROM ged_elements WHERE
element_id=".$project_root_id;
+
+ $db2->query($sql, __LINE__, __FILE__);
+
+ if($db2->next_record())
+ {
+ $out=$db2->f('reference');
+ }
+
+ $db2->unlock();
+ $db2->free();
+ unset($db2);
+
+ return ($out );
+ }
+
+ function get_project_name($project_root_id)
+ {
+ $db2 = clone($this->db);
+ $out=null;
+ $sql="SELECT project_name FROM ged_elements WHERE
element_id=".$project_root_id;
+
+ $db2->query($sql, __LINE__, __FILE__);
+
+ if($db2->next_record())
+ {
+ $out=$db2->f('project_name');
+ }
+
+ $db2->unlock();
+ $db2->free();
+ unset($db2);
+
+ return ($out );
+ }
+
+ function get_next_available_reference($doc_type, $project_root_id )
+ {
+
$project_base_ref=$this->get_project_base_ref((int)$project_root_id);
+ $type_std_ref=$this->get_type_std_ref($doc_type);
+ $type_base_ref=$project_base_ref."/".$type_std_ref;
+
+ $db2 = clone($this->db);
+ $sql=$sql="SELECT reference FROM ged_elements WHERE reference
like '".$type_base_ref."%' order by element_id desc limit 1";
+ $db2->query($sql, __LINE__, __FILE__);
+
+ if($db2->next_record())
+ {
+ $last=$db2->f('reference');
+ preg_match("@^(".$type_base_ref."[-\/]*)?([0-9]+)@i",
$last, $splittage);
+ $next=(int)$splittage[2]+1;
+ $out=$type_base_ref."-".$next;
+ }
+ else
+ $out=$type_base_ref."-1";
+
+ $db2->unlock();
+ $db2->free();
+ unset($db2);
+
+ return ($out );
+
+ }
+
+ function list_chronos($project_root_id)
+ {
+ $out=null;
+
+ $sql="SELECT *, ged_elements.description edescription,
ged_versions.description vdescription, ";
+ $sql.="ged_versions.creation_date vcreation_date,
ged_elements.creator_id ecreator_id ";
+ $sql.="FROM ( ged_elements ";
+ $sql.="JOIN ged_doc_types ON
ged_elements.project_root=".(int)$project_root_id." ";
+ $sql.="AND ged_elements.doc_type = ged_doc_types.type_id ) ";
+ $sql.="JOIN ged_versions On ( ged_elements.element_id =
ged_versions.element_id) ";
+ $sql.="ORDER BY ged_versions.creation_date";
+
+ $this->db->query($sql, __LINE__, __FILE__);
+
+ while($this->db->next_record())
+ {
+ $doc_type=$this->db->f('type_desc');
+
+ if ( !isset($out[$doc_type]) )
+ {
+ $out[$doc_type]=Array();
+ }
+
+ $i=count($out[$doc_type])+1;
+
+ $out[$doc_type][$i]['no']=$i;
+
+ $out[$doc_type][$i]['name']=$this->db->f('name');
+
$out[$doc_type][$i]['element_id']=$this->db->f('element_id');
+
$out[$doc_type][$i]['date']=$this->db->f('vcreation_date');
+
$out[$doc_type][$i]['creator_id']=$this->db->f('ecreator_id');
+
+
$out[$doc_type][$i]['description']=$this->db->f('edescription')." /
".$this->db->f('vdescription');
+
$out[$doc_type][$i]['version_id']=$this->db->f('version_id');
+
+ $out[$doc_type][$i]['status']=$this->db->f('status');
+ $major=$this->db->f('major');
+ $minor=$this->db->f('minor');
+ $out[$doc_type][$i]['version_label']=$major.".".$minor;
+
+
$out[$doc_type][$i]['reference']=$this->db->f('reference');
+
+ $i++;
+ }
+
+ return ($out);
+ }
}
?>
Index: inc/class.ged_ui.inc.php
===================================================================
RCS file: /sources/phpgroupware/ged/inc/class.ged_ui.inc.php,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -b -r1.37 -r1.38
--- inc/class.ged_ui.inc.php 17 Jul 2007 15:46:21 -0000 1.37
+++ inc/class.ged_ui.inc.php 26 Jul 2007 14:42:47 -0000 1.38
@@ -26,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,
'accept_file'=>true, 'submit_file'=> true, 'approve_file'=> true,
'reject_file'=> true, 'deliver_file'=> true, 'refuse_file'=> true, 'search' =>
true, 'stats'=> 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,
'accept_file'=>true, 'submit_file'=> true, 'approve_file'=> true,
'reject_file'=> true, 'deliver_file'=> true, 'refuse_file'=> true, 'search' =>
true, 'stats'=> true, 'chrono' => true );
var $icons;
@@ -164,6 +164,7 @@
$this->t->set_var('lang_subfolders', lang('Sub folders'));
$this->t->set_var('lang_owner', lang('Owner'));
$this->t->set_var('lang_description', lang('Description'));
+ $this->t->set_var('lang_type', lang('Type'));
$this->t->set_var('lang_reference', lang('Reference'));
$this->t->set_var('lang_name', lang('Name'));
$this->t->set_var('lang_documents', lang('Documents'));
@@ -1096,6 +1097,16 @@
break;
}
+ if ( isset ($focused_element['project_root']) &&
$focused_element['project_root'] != 0)
+ {
+ $link_data=null;
+ $link_data['menuaction']='ged.ged_ui.chrono';
+
$link_data['project_root']=$focused_element['project_root'];
+
$delete_folder_url=$GLOBALS['phpgw']->link('/index.php', $link_data);
+ $this->t->set_var('chrono', "<a
href=\"".$delete_folder_url."\">".lang('Display chrono')."</a>");
+
+ }
+
$this->display_app_header();
$this->t->pfp('out', 'browse_file_tpl');
@@ -1126,6 +1137,7 @@
$major=addslashes(get_var('major',array('GET','POST')));
$minor=addslashes(get_var('minor',array('GET','POST')));
$description=addslashes(get_var('description', array('GET',
'POST')));
+ $doc_type=addslashes(get_var('document_type', array('GET',
'POST')));
$validity_period=get_var('validity_period', array('GET',
'POST'));
$this->set_template_defaults();
@@ -1146,6 +1158,7 @@
$new_file['major']=$major;
$new_file['minor']=$minor;
$new_file['description']=$description;
+ $new_file['doc_type']=$doc_type;
$new_file['validity_period']=$validity_period;
$this->ged_dm->add_file($new_file);
@@ -1164,6 +1177,17 @@
$parent_element=$this->ged_dm->get_element_info($parent_id);
+ $select_types=$this->ged_dm->list_doc_types ();
+
+ $select_types_html="<select name=\"document_type\">\n";
+ foreach ($select_types as $select_type)
+ {
+ $select_types_html.="<option
value=\"".$select_type['type_id']."\">".lang($select_type['type_desc'])."</option>\n";
+ }
+ $select_types_html.="</select>\n";
+
+ $this->t->set_var('select_type', $select_types_html);
+
// TODO precalcul de la reference
// TODO attention : forcer si repertoire chrono
// TODO reprendre ce qui a ete fait pour le wizard
@@ -2483,6 +2507,63 @@
}
+ function chrono()
+ {
+ $project_root=get_var('project_root',array('GET'));
+
+ $this->set_template_defaults();
+ $this->display_app_header();
+ $this->t->set_file(array('chrono_tpl'=>'chrono.tpl'));
+ $this->t->set_block('chrono_tpl', 'type_block',
'type_block_handle');
+ $this->t->set_block('type_block', 'chrono_block',
'chrono_block_handle');
+
+ // TODO : use the project name instead of root id
+ $this->t->set_var('lang_chrono_title', lang('Chronos for
project')." ".$this->ged_dm->get_project_name($project_root));
+
+ $chronos=$this->ged_dm->list_chronos($project_root);
+
+ foreach ( $chronos as $type_id => $type_chronos)
+ {
+ $this->t->set_var('chrono_block_handle', "");
+
+ //TODO : Use the detailed label of type
+ $this->t->set_var('doc_type', $type_id);
+ $row_class="row_off";
+ foreach ( $type_chronos as $chrono)
+ {
+ // TODO : set up the needed template variables
+ $this->t->set_var('name', $chrono['name']);
+ $this->t->set_var('date',
$GLOBALS['phpgw']->common->show_date($chrono['date']));
+ $this->t->set_var('author',
$GLOBALS['phpgw']->common->grab_owner_name($chrono['creator_id']));
+ $this->t->set_var('description',
$chrono['description']);
+ $this->t->set_var('version_label',
$chrono['version_label']);
+ $this->t->set_var('reference',
$chrono['reference']);
+ $this->t->set_var('no', $chrono['no']);
+
+ $this->t->set_var('status_image',
$GLOBALS['phpgw']->common->image('ged', $chrono['status']."-16"));
+
+ $link_data=null;
+ $link_data['menuaction']='ged.ged_ui.browse';
+ $link_data['focused_id']=$chrono['element_id'];
+ $link_data['version_id']=$chrono['version_id'];
+ $this->t->set_var('browse_link',
$GLOBALS['phpgw']->link('/index.php', $link_data));
+
+
+ if ( $row_class=="row_on")
+ $row_class="row_off";
+ else
+ $row_class="row_on";
+
+ $this->t->set_var('row_class', $row_class);
+
+ $this->t->fp('chrono_block_handle',
'chrono_block', True);
+ }
+ $this->t->fp('type_block_handle', 'type_block', True);
+ }
+
+ $this->t->pfp('out', 'chrono_tpl');
+ }
+
}
?>
Index: setup/tables_update.inc.php
===================================================================
RCS file: /sources/phpgroupware/ged/setup/tables_update.inc.php,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- setup/tables_update.inc.php 17 Jul 2007 16:34:09 -0000 1.10
+++ setup/tables_update.inc.php 26 Jul 2007 14:42:47 -0000 1.11
@@ -16,6 +16,7 @@
$test[]='0.9.18.001';
$test[]='0.9.18.002';
$test[]='0.9.18.003';
+ $test[]='0.9.18.004';
function ged_upgrade0_9_16_000()
@@ -166,4 +167,32 @@
}
+ function ged_upgrade0_9_18_004()
+ {
+ $old_ged_doc_types_table_def=array(
+ 'fd'=>array(
+ 'type_ref'=>array('type'=>'varchar',
'precision'=>255,'nullable'=>False),
+ 'type_desc'=>array('type'=>'varchar',
'precision'=>255,'nullable'=>True),
+ 'type_chrono'=>array('type'=>'int',
'precision'=>4,'nullable'=>False,'default'=>'0'),
+ 'type_smq_ref'=>array('type'=>'varchar',
'precision'=>255,'nullable'=>True),
+ 'ged_parent_id'=>array('type'=>'int',
'precision'=>4,'nullable'=>False,'default'=>'0')
+ ),
+ 'pk'=>array(),
+ 'fk'=>array(),
+ 'ix'=>array(),
+ 'uc'=>array()
+ );
+
+ $GLOBALS['phpgw_setup']->oProc->DropColumn('ged_doc_types',
$old_ged_doc_types_table_def, 'ged_parent_id');
+
+ $GLOBALS['phpgw_setup']->oProc->RenameColumn('ged_doc_types',
'type_ref', 'type_id');
+
+ $GLOBALS['phpgw_setup']->oProc->RenameColumn('ged_doc_types',
'type_smq_ref', 'type_ref');
+
+
+ $GLOBALS['setup_info']['ged']['currentver']='0.9.18.004';
+ return $GLOBALS['setup_info']['ged']['currentver'];
+
+ }
+
?>
\ No newline at end of file
Index: setup/setup.inc.php
===================================================================
RCS file: /sources/phpgroupware/ged/setup/setup.inc.php,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- setup/setup.inc.php 17 Jul 2007 16:34:09 -0000 1.8
+++ setup/setup.inc.php 26 Jul 2007 14:42:47 -0000 1.9
@@ -12,10 +12,23 @@
***************************************************************************/
$setup_info['ged']['name']='ged';
- $setup_info['ged']['title']='Document Management';
- $setup_info['ged']['version']='0.9.18.004';
+ $setup_info['ged']['title']='Document Management System';
+ $setup_info['ged']['version']='0.9.18.005';
$setup_info['ged']['app_order']=17;
$setup_info['ged']['enable']=1;
+ $setup_info['calendar']['app_group'] = 'office';
+
+ $setup_info['calendar']['author'] = 'Pascal Vilarem';
+ $setup_info['calendar']['license'] = 'GPL';
+ $setup_info['calendar']['description'] =
+ 'Powerful document management system with life cycle functions and
ACL security.';
+ $setup_info['calendar']['note'] =
+ 'Inspired from MyDMS. More to come here.';
+ $setup_info['calendar']['maintainer'] = array(
+ 'name' => 'Pascal Vilarem',
+ 'email' => 'address@hidden'
+ );
+
/* The hooks this app includes, needed for hooks registration */
// $setup_info['ged']['hooks'][]='about';
Index: setup/tables_current.inc.php
===================================================================
RCS file: /sources/phpgroupware/ged/setup/tables_current.inc.php,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- setup/tables_current.inc.php 10 Apr 2007 09:41:09 -0000 1.6
+++ setup/tables_current.inc.php 26 Jul 2007 14:42:47 -0000 1.7
@@ -131,11 +131,10 @@
),
'ged_doc_types'=>array(
'fd'=>array(
- 'type_ref'=>array('type'=>'varchar',
'precision'=>255,'nullable'=>False),
+ 'type_id'=>array('type'=>'varchar',
'precision'=>255,'nullable'=>False),
'type_desc'=>array('type'=>'varchar',
'precision'=>255,'nullable'=>True),
'type_chrono'=>array('type'=>'int',
'precision'=>4,'nullable'=>False,'default'=>'0'),
- 'type_smq_ref'=>array('type'=>'varchar',
'precision'=>255,'nullable'=>True),
- 'ged_parent_id'=>array('type'=>'int',
'precision'=>4,'nullable'=>False,'default'=>'0')
+ 'type_ref'=>array('type'=>'varchar',
'precision'=>255,'nullable'=>True),
),
'pk'=>array(),
'fk'=>array(),
Index: templates/base/chrono.tpl
===================================================================
RCS file: templates/base/chrono.tpl
diff -N templates/base/chrono.tpl
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ templates/base/chrono.tpl 26 Jul 2007 14:42:47 -0000 1.1
@@ -0,0 +1,20 @@
+<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} {chrono}</div>
+<h1>{lang_chrono_title}</h1>
+<table>
+<!-- BEGIN type_block -->
+<tr>
+<td colspan="4"><h2>{doc_type}</h2></td>
+</tr>
+<tr class="row_off">
+<td>No</td><td>reference</td><td>version</td><td>name</td><td>author</td><td>date</td><td>description</td>
+</tr>
+<!-- BEGIN chrono_block -->
+<tr class="{row_class}">
+<td>{no}<td><a href="{browse_link}">{reference}</a></td><td><a
href="{browse_link}">{version_label} <img src="{status_image}"
/></a></td><td><a
href="{browse_link}">{name}</a></td><td>{author}</td><td>{date}</td><td>{description}</td>
+</tr>
+<!-- END chrono_block -->
+<tr>
+<td> </td>
+</tr>
+<!-- END type_block -->
+</table>
\ No newline at end of file
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Phpgroupware-cvs] ged templates/base/add_file.tpl templates/base/...,
Pascal Vilarem <=