[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: |
Tue, 27 Mar 2007 18:03:59 +0000 |
CVSROOT: /sources/phpgroupware
Module name: ged
Changes by: Pascal Vilarem <maat> 07/03/27 18:03:59
Modified files:
inc : class.ged_dm.inc.php hook_home.inc.php
Added files:
templates/base : home.tpl
Log message:
New home board using template systems and showing status informations.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/ged/templates/base/home.tpl?cvsroot=phpgroupware&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/ged/inc/class.ged_dm.inc.php?cvsroot=phpgroupware&r1=1.12&r2=1.13
http://cvs.savannah.gnu.org/viewcvs/ged/inc/hook_home.inc.php?cvsroot=phpgroupware&r1=1.6&r2=1.7
Patches:
Index: inc/class.ged_dm.inc.php
===================================================================
RCS file: /sources/phpgroupware/ged/inc/class.ged_dm.inc.php,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -b -r1.12 -r1.13
--- inc/class.ged_dm.inc.php 26 Mar 2007 14:04:33 -0000 1.12
+++ inc/class.ged_dm.inc.php 27 Mar 2007 18:03:59 -0000 1.13
@@ -1899,6 +1899,8 @@
$docs[$i]['name']=$this->db->f('name');
$docs[$i]['status']=$this->db->f('status');
$docs[$i]['reference']=$this->db->f('reference');
+ $docs[$i]['minor']=$this->db->f('minor');
+ $docs[$i]['major']=$this->db->f('major');
$docs[$i]['description']=$this->db->f('description');
$i ++;
}
@@ -1986,6 +1988,131 @@
$docs[$i]['name']=$this->db->f('name');
$docs[$i]['status']=$this->db->f('status');
$docs[$i]['reference']=$this->db->f('reference');
+ $docs[$i]['minor']=$this->db->f('minor');
+ $docs[$i]['major']=$this->db->f('major');
+
$docs[$i]['description']=$this->db->f('description');
+ $i ++;
+ }
+ }
+
+ $this->db->unlock();
+
+ if ( isset($docs))
+ return ($docs);
+ else
+ return null;
+
+ }
+
+ function list_working_documents ()
+ {
+
+ $sql="SELECT ged_elements.*, ged_current_version.* ";
+ $sql.="FROM ( ged_elements ";
+ $sql.="INNER JOIN ged_versions as ged_current_version ";
+ $sql.="ON
ged_elements.element_id=ged_current_version.element_id ";
+ $sql.="AND ( ged_current_version.status='working' )) ";
+ $sql.="GROUP BY ged_elements.element_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');
+
+ if ( $this->can_write($element_id) )
+ {
+ $docs[$i]['element_id']=$element_id;
+ $docs[$i]['name']=$this->db->f('name');
+ $docs[$i]['status']=$this->db->f('status');
+
$docs[$i]['reference']=$this->db->f('reference');
+ $docs[$i]['minor']=$this->db->f('minor');
+ $docs[$i]['major']=$this->db->f('major');
+
$docs[$i]['description']=$this->db->f('description');
+ $i ++;
+ }
+ }
+
+ $this->db->unlock();
+
+ if ( isset($docs))
+ return ($docs);
+ else
+ return null;
+
+ }
+
+ function list_alert_documents ()
+ {
+
+ $sql="SELECT ged_elements.*, ged_current_version.* ";
+ $sql.="FROM ( ged_elements ";
+ $sql.="INNER JOIN ged_versions as ged_current_version ";
+ $sql.="ON
ged_elements.element_id=ged_current_version.element_id ";
+ $sql.="AND ( ged_current_version.status='alert' )) ";
+ $sql.="GROUP BY ged_elements.element_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');
+
+ if ( $this->can_write($element_id) )
+ {
+ $docs[$i]['element_id']=$element_id;
+ $docs[$i]['name']=$this->db->f('name');
+ $docs[$i]['status']=$this->db->f('status');
+
$docs[$i]['reference']=$this->db->f('reference');
+ $docs[$i]['minor']=$this->db->f('minor');
+ $docs[$i]['major']=$this->db->f('major');
+
$docs[$i]['description']=$this->db->f('description');
+ $i ++;
+ }
+ }
+
+ $this->db->unlock();
+
+ if ( isset($docs))
+ return ($docs);
+ else
+ return null;
+
+ }
+
+ function list_rejected_documents ()
+ {
+
+ $sql="SELECT ged_elements.*, ged_current_version.*,
max(ged_last_version.version_id) as last_version_id ";
+ $sql.="FROM ( ged_elements ";
+ $sql.="INNER JOIN ged_versions as ged_current_version ";
+ $sql.="ON
ged_elements.element_id=ged_current_version.element_id ";
+ $sql.="AND ( ged_current_version.status='rejected' )) ";
+ $sql.="INNER JOIN ged_versions as ged_last_version ";
+ $sql.="ON ged_elements.element_id=ged_last_version.element_id ";
+ $sql.="GROUP BY ged_elements.element_id ";
+ $sql.="HAVING last_version_id=ged_current_version.version_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');
+
+ if ( $this->can_write($element_id) )
+ {
+ $docs[$i]['element_id']=$element_id;
+ $docs[$i]['name']=$this->db->f('name');
+ $docs[$i]['status']=$this->db->f('status');
+
$docs[$i]['reference']=$this->db->f('reference');
+ $docs[$i]['minor']=$this->db->f('minor');
+ $docs[$i]['major']=$this->db->f('major');
$docs[$i]['description']=$this->db->f('description');
$i ++;
}
@@ -2042,8 +2169,6 @@
return ($docs);
else
return null;
-
-
}
}
?>
Index: inc/hook_home.inc.php
===================================================================
RCS file: /sources/phpgroupware/ged/inc/hook_home.inc.php,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- inc/hook_home.inc.php 22 Mar 2007 09:19:28 -0000 1.6
+++ inc/hook_home.inc.php 27 Mar 2007 18:03:59 -0000 1.7
@@ -16,7 +16,21 @@
if (
isset($GLOBALS['phpgw_info']['user']['preferences']['ged']['mainscreen_show_ged_news'])
&&
$GLOBALS['phpgw_info']['user']['preferences']['ged']['mainscreen_show_ged_news']
== 'True' )
{
- $title='<font color="#FFFFFF">'.lang('ged').'</font>';
+ // Template
+ $template = $GLOBALS['phpgw']->template;
+ define ( 'GED_TPL_DIR',
$GLOBALS['phpgw']->common->get_tpl_dir('ged'));
+ $template->set_root(GED_TPL_DIR);
+ $template->set_file(array('home_tpl'=>'home.tpl'));
+
+ // Styles
+ if(address@hidden($GLOBALS['phpgw']->css))
+ {
+ $GLOBALS['phpgw']->css = createObject('phpgwapi.css');
+ }
+ $GLOBALS['phpgw']->css->validate_file('home','ged');
+
+ // Portalbox data
+ $title=lang('ged');
$portalbox=CreateObject('phpgwapi.listbox',
@Array(
@@ -32,6 +46,8 @@
$app_id=$GLOBALS['phpgw']->applications->name2id('ged');
$GLOBALS['portal_order'][]=$app_id;
+
+
$var=Array(
// 'up'=>Array('url'=>'/set_box.php', 'app'=>$app_id),
// 'down'=>Array('url'=>'/set_box.php', 'app'=>$app_id),
@@ -48,137 +64,158 @@
$portalbox->data=Array();
if ( isset($data))
+ {
if(is_array($data))
{
$portalbox->data=$data;
}
-
- $GLOBALS['extra_data']='<td><div style="margin-left:
1em;">'."\n";
+ }
/* partie interessante */
+ // Call ged data manager
$ged_dm=CreateObject('ged.ged_dm', True);
- $docs1=$ged_dm->list_new_documents();
-
- if ( is_array($docs1) )
+ // Get info
+ $new_docs=$ged_dm->list_new_documents();
+ $template->set_block('home_tpl', 'new_docs_list',
'new_docs_list_handle');
+ $file_odd_even='odd';
+ if ( is_array($new_docs))
{
- $GLOBALS['extra_data'] .="<table>\n";
- $GLOBALS['extra_data'] .="<tr>\n";
- $GLOBALS['extra_data'] .="<td colspan=\"2\">\n";
- $GLOBALS['extra_data'] .="<h2>".lang ('New
documents')."</h2>"."\n";
- $GLOBALS['extra_data'] .="</td>\n";
- $GLOBALS['extra_data'] .="</tr>\n";
-
- foreach ( $docs1 as $doc )
+ foreach ($new_docs as $new_doc )
{
+ if ( $file_odd_even=='odd' )
+ $file_odd_even='even';
+ else
+ $file_odd_even='odd';
-
$link_data['menuaction']='ged.ged_ui.browse';
-
$link_data['focused_id']=$doc['element_id'];
-
$link=$GLOBALS['phpgw']->link('/index.php', $link_data);
+ $template->set_var('status_image',
$GLOBALS['phpgw']->common->image('ged', $new_doc['status']."-16"));
+ $template->set_var('version',
$new_doc['major'].".".$new_doc['minor']);
+ $template->set_var('doc_name',
$new_doc['name']);
+ $template->set_var('doc_reference',
$new_doc['reference']);
- $GLOBALS['extra_data'] .="<tr>\n";
- $GLOBALS['extra_data'] .="<td>\n";
- $GLOBALS['extra_data'] .= "<img
src=\"".$GLOBALS['phpgw']->common->image('ged', $doc['status']."-16")."\">\n";
- $GLOBALS['extra_data'] .="</td>\n";
-
- $GLOBALS['extra_data'] .="<td>\n";
- if ( $doc['reference'] !="" )
- $GLOBALS['extra_data'] .="<a
href=\"".$link."\" >".$doc['name']." [".$doc['reference']."]</a>\n";
- else
- $GLOBALS['extra_data'] .="<a
href=\"".$link."\" >".$doc['name']."</a>\n";
+ $link_data=null;
+ $link_data['menuaction']='ged.ged_ui.browse';
+
$link_data['focused_id']=$new_doc['element_id'];
+ $template->set_var('doc_link',
$GLOBALS['phpgw']->link('/index.php', $link_data));
- $GLOBALS['extra_data'] .="</td>\n";
- $GLOBALS['extra_data'] .="</tr>\n";
+ $template->fp('new_docs_list_handle',
'new_docs_list', True);
}
- $GLOBALS['extra_data'] .="</table>\n";
}
- $docs2=$ged_dm->list_documents_to_expire();
-
- if ( is_array($docs2) )
+ $working_docs=$ged_dm->list_working_documents();
+ $template->set_block('home_tpl', 'working_docs_list',
'working_docs_list_handle');
+ $file_odd_even='odd';
+ if ( is_array($working_docs))
{
- $GLOBALS['extra_data'] .="<table>\n";
- $GLOBALS['extra_data'] .="<tr>\n";
- $GLOBALS['extra_data'] .="<td colspan=\"2\">\n";
- $GLOBALS['extra_data'] .="<h2>".lang
('Documents to check soon')."</h2>"."\n";
- $GLOBALS['extra_data'] .="</td>\n";
- $GLOBALS['extra_data'] .="</tr>\n";
-
- foreach ( $docs2 as $doc )
+ foreach ($working_docs as $working_doc )
{
+ if ( $file_odd_even=='odd' )
+ $file_odd_even='even';
+ else
+ $file_odd_even='odd';
+
+ $template->set_var('status_image',
$GLOBALS['phpgw']->common->image('ged', $working_doc['status']."-16"));
+ $template->set_var('version',
$working_doc['major'].".".$working_doc['minor']);
+ $template->set_var('doc_name',
$working_doc['name']);
+ $template->set_var('doc_reference',
$working_doc['reference']);
+ $link_data=null;
$link_data['menuaction']='ged.ged_ui.browse';
-
$link_data['focused_id']=$doc['element_id'];
-
$link=$GLOBALS['phpgw']->link('/index.php', $link_data);
+
$link_data['focused_id']=$working_doc['element_id'];
+ $template->set_var('doc_link',
$GLOBALS['phpgw']->link('/index.php', $link_data));
- if ( $doc['expiration_date'] > time() )
-
$expiration=date("d/m/y",$doc['expiration_date']);
- else
- $expiration=lang("Too late!");
+ $template->fp('working_docs_list_handle',
'working_docs_list', True);
+ }
+ }
- $GLOBALS['extra_data'] .="<tr>\n";
- $GLOBALS['extra_data'] .="<td>\n";
- $GLOBALS['extra_data'] .= "<img
src=\"".$GLOBALS['phpgw']->common->image('ged', $doc['status']."-16")."\">\n";
- $GLOBALS['extra_data'] .="</td>\n";
+ $pending_docs=$ged_dm->list_pending_documents();
+ $template->set_block('home_tpl', 'pending_docs_list',
'pending_docs_list_handle');
+ $file_odd_even='odd';
+ if ( is_array($pending_docs))
+ {
+ foreach ($pending_docs as $pending_doc )
+ {
+ if ( $file_odd_even=='odd' )
+ $file_odd_even='even';
+ else
+ $file_odd_even='odd';
- $GLOBALS['extra_data'] .="<td>\n";
+ $template->set_var('status_image',
$GLOBALS['phpgw']->common->image('ged', $pending_doc['status']."-16"));
+ $template->set_var('version',
$pending_doc['major'].".".$pending_doc['minor']);
+ $template->set_var('doc_name',
$pending_doc['name']);
+ $template->set_var('doc_reference',
$pending_doc['reference']);
- if ( $doc['reference'] !="" )
- $GLOBALS['extra_data'] .="<a
href=\"".$link."\" >".$doc['name']." [".$doc['reference']."]</a>
(".lang("Deadline")." : ".$expiration.")"."\n";
- else
- $GLOBALS['extra_data'] .="<a
href=\"".$link."\" >".$doc['name']."</a> (".lang("Deadline")." :
".$expiration.")"."\n";
+ $link_data=null;
+ $link_data['menuaction']='ged.ged_ui.browse';
+
$link_data['focused_id']=$pending_doc['element_id'];
+ $template->set_var('doc_link',
$GLOBALS['phpgw']->link('/index.php', $link_data));
- $GLOBALS['extra_data'] .="</td>\n";
- $GLOBALS['extra_data'] .="</tr>\n";
+ $template->fp('pending_docs_list_handle',
'pending_docs_list', True);
}
- $GLOBALS['extra_data'] .="</table>\n";
}
- $docs3=$ged_dm->list_pending_documents();
-
- if ( is_array($docs3) )
+ $alert_docs=$ged_dm->list_alert_documents();
+ $template->set_block('home_tpl', 'alert_docs_list',
'alert_docs_list_handle');
+ $file_odd_even='odd';
+ if ( is_array($alert_docs))
{
- $GLOBALS['extra_data'] .="<table>\n";
- $GLOBALS['extra_data'] .="<tr>\n";
- $GLOBALS['extra_data'] .="<td colspan=\"2\">\n";
- $GLOBALS['extra_data'] .="<h2>".lang ('Pending
documents')."</h2>"."\n";
- $GLOBALS['extra_data'] .="</td>\n";
- $GLOBALS['extra_data'] .="</tr>\n";
-
- foreach ( $docs3 as $doc )
+ foreach ($alert_docs as $alert_doc )
{
+ if ( $file_odd_even=='odd' )
+ $file_odd_even='even';
+ else
+ $file_odd_even='odd';
+ $template->set_var('status_image',
$GLOBALS['phpgw']->common->image('ged', $alert_doc['status']."-16"));
+ $template->set_var('version',
$alert_doc['major'].".".$alert_doc['minor']);
+ $template->set_var('doc_name',
$alert_doc['name']);
+ $template->set_var('doc_reference',
$alert_doc['reference']);
+
+ $link_data=null;
$link_data['menuaction']='ged.ged_ui.browse';
-
$link_data['focused_id']=$doc['element_id'];
-
$link=$GLOBALS['phpgw']->link('/index.php', $link_data);
+
$link_data['focused_id']=$alert_doc['element_id'];
+ $template->set_var('doc_link',
$GLOBALS['phpgw']->link('/index.php', $link_data));
- $GLOBALS['extra_data'] .="<tr>\n";
- $GLOBALS['extra_data'] .="<td>\n";
- $GLOBALS['extra_data'] .= "<img
src=\"".$GLOBALS['phpgw']->common->image('ged', $doc['status']."-16")."\">\n";
- $GLOBALS['extra_data'] .="</td>\n";
-
- $GLOBALS['extra_data'] .="<td>\n";
- if ( $doc['reference'] !="" )
- $GLOBALS['extra_data'] .="<a
href=\"".$link."\" >".$doc['name']." [".$doc['reference']."]</a>"."\n";
+ $template->fp('alert_docs_list_handle',
'alert_docs_list', True);
+ }
+ }
+
+ $rejected_docs=$ged_dm->list_rejected_documents();
+ $template->set_block('home_tpl', 'rejected_docs_list',
'rejected_docs_list_handle');
+ $file_odd_even='odd';
+ if ( is_array($rejected_docs))
+ {
+ foreach ($rejected_docs as $rejected_doc )
+ {
+ if ( $file_odd_even=='odd' )
+ $file_odd_even='even';
else
- $GLOBALS['extra_data'] .="<a
href=\"".$link."\" >".$doc['name']."</a>"."\n";
+ $file_odd_even='odd';
+
+ $template->set_var('status_image',
$GLOBALS['phpgw']->common->image('ged', $rejected_doc['status']."-16"));
+ $template->set_var('version',
$rejected_doc['major'].".".$rejected_doc['minor']);
+ $template->set_var('doc_name',
$rejected_doc['name']);
+ $template->set_var('doc_reference',
$rejected_doc['reference']);
- $GLOBALS['extra_data'] .="</td>\n";
- $GLOBALS['extra_data'] .="</tr>\n";
+ $link_data=null;
+ $link_data['menuaction']='ged.ged_ui.browse';
+
$link_data['focused_id']=$rejected_doc['element_id'];
+ $template->set_var('doc_link',
$GLOBALS['phpgw']->link('/index.php', $link_data));
+
+ $template->fp('rejected_docs_list_handle',
'rejected_docs_list', True);
}
- $GLOBALS['extra_data'] .="</table>\n";
}
+ //$to_expire_docs=$ged_dm->list_documents_to_expire();
+
+
/* fin partie interessante */
- $GLOBALS['extra_data'] .='</div></td>';
+ $GLOBALS['extra_data']=$template->fp('out', 'home_tpl');
// output the portalbox
- if ( is_array($docs1) || is_array($docs2) ||
is_array($docs3) )
- echo "\n".'<!-- BEGIN ged info
-->'."\n".$portalbox->draw($GLOBALS['extra_data'])."\n".'<!-- END ged info
-->'."\n";
- else
- echo "\n".'<!-- BEGIN ged info
-->'."\n".$portalbox->draw('<td style="background: white;"><div
style="margin-left: 1em;">'.lang("Nothing to
notice...")).'</div></td>'."\n".'<!-- END ged info -->'."\n";
+ echo $portalbox->draw($GLOBALS['extra_data']);
flush();
}
Index: templates/base/home.tpl
===================================================================
RCS file: templates/base/home.tpl
diff -N templates/base/home.tpl
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ templates/base/home.tpl 27 Mar 2007 18:03:59 -0000 1.1
@@ -0,0 +1,67 @@
+<td><div style="margin-left: 1em;">
+<!-- BEGIN ged info -->
+<table width="100%">
+<tr>
+<td valign="top" width="50%">
+<!-- New documents Table -->
+<table>
+<tr><td colspan="2">New</td></tr>
+<!-- BEGIN new_docs_list -->
+<tr>
+<td width="16"><img src="{status_image}"/></td>
+<td ><a href="{doc_link}">{doc_name} [{doc_reference}] v{version}</a></td>
+</tr>
+<!-- END new_docs_list -->
+</table>
+<!-- End New documents Table -->
+<!-- Working documents Table -->
+<table>
+<tr><td colspan="2">Working</td></tr>
+<!-- BEGIN working_docs_list -->
+<tr>
+<td width="16"><img src="{status_image}"/></td>
+<td ><a href="{doc_link}">{doc_name} [{doc_reference}] v{version}</a></td>
+</tr>
+<!-- END working_docs_list -->
+</table>
+<!-- End Working documents Table -->
+</td>
+<td valign="top" width="50%">
+<!-- Pending documents Table -->
+<table>
+<tr><td colspan="2">Pending</td></tr>
+<!-- BEGIN pending_docs_list -->
+<tr>
+<td width="16"><img src="{status_image}"/></td>
+<td ><a href="{doc_link}">{doc_name} [{doc_reference}] v{version}</a></td>
+</tr>
+<!-- END pending_docs_list -->
+</table>
+<!-- End Pending documents Table -->
+<!-- Alert documents Table -->
+<table>
+<tr><td colspan="2">Alerts</td></tr>
+<!-- BEGIN alert_docs_list -->
+<tr>
+<td width="16"><img src="{status_image}"/></td>
+<td ><a href="{doc_link}">{doc_name} [{doc_reference}] v{version}</a></td>
+</tr>
+<!-- END alert_docs_list -->
+</table>
+<!-- End Alert documents Table -->
+<!-- Rejected documents table -->
+<table>
+<tr><td colspan="2">Rejected</td></tr>
+<!-- BEGIN rejected_docs_list -->
+<tr>
+<td width="16"><img src="{status_image}"/></td>
+<td ><a href="{doc_link}">{doc_name} [{doc_reference}] v{version}</a></td>
+</tr>
+<!-- END rejected_docs_list -->
+</table>
+<!-- End Rejected documents table -->
+</td>
+</tr>
+</table>
+<!-- END ged info -->
+</div></td>
\ No newline at end of file