phpgroupware-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Phpgroupware-cvs] messenger inc/hook_admin.inc.php inc/class.some...


From: Dave Hall
Subject: [Phpgroupware-cvs] messenger inc/hook_admin.inc.php inc/class.some...
Date: Sun, 09 Apr 2006 13:53:18 +0000

CVSROOT:        /cvsroot/phpgroupware
Module name:    messenger
Branch:         
Changes by:     Dave Hall <address@hidden>      06/04/09 13:53:18

Modified files:
        inc            : hook_admin.inc.php class.somessenger.inc.php 
                         class.uimessenger.inc.php 
                         class.bomessenger.inc.php 
        templates/base : inbox.tpl 
        setup          : phpgw_sv.lang setup.inc.php 
Added files:
        inc            : class.somessenger_sql.inc.php 
                         class.somessenger_imap.inc.php 
        templates/base : config.tpl 

Log message:
        adding new smtp/imap backend
        code clean up
        still some work to be done here
        thanks to ||cw for the initial backend changes

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/messenger/inc/hook_admin.inc.php.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/messenger/inc/class.somessenger.inc.php.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/messenger/inc/class.uimessenger.inc.php.diff?tr1=1.6&tr2=1.7&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/messenger/inc/class.bomessenger.inc.php.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/messenger/inc/class.somessenger_sql.inc.php?rev=1.1
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/messenger/inc/class.somessenger_imap.inc.php?rev=1.1
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/messenger/templates/base/config.tpl?rev=1.1
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/messenger/templates/base/inbox.tpl.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/messenger/setup/phpgw_sv.lang.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/messenger/setup/setup.inc.php.diff?tr1=1.6&tr2=1.7&r1=text&r2=text

Patches:
Index: messenger/inc/class.bomessenger.inc.php
diff -u messenger/inc/class.bomessenger.inc.php:1.3 
messenger/inc/class.bomessenger.inc.php:1.4
--- messenger/inc/class.bomessenger.inc.php:1.3 Tue Apr 30 14:11:00 2002
+++ messenger/inc/class.bomessenger.inc.php     Sun Apr  9 13:53:18 2006
@@ -12,18 +12,19 @@
        *  option) any later version.                                           
   *
        
\**************************************************************************/
 
-       /* $Id: class.bomessenger.inc.php,v 1.3 2002/04/30 14:11:00 skeeter Exp 
$ */
+       /* $Id: class.bomessenger.inc.php,v 1.4 2006/04/09 13:53:18 skwashd Exp 
$ */
 
        class bomessenger
        {
                var $so;
-               var $public_functions = array(
-                       'delete_message'      => True,
-                       'send_message'        => True,
-                       'send_global_message' => True,
-                       'reply'               => True,
-                       'forward'             => True,
-                       'list_methods'        => True
+               var $public_functions = array
+               (
+                       'delete_message'      => true,
+                       'send_message'        => true,
+                       'send_global_message' => true,
+                       'reply'               => true,
+                       'forward'             => true,
+                       'list_methods'        => true
                );
                var $soap_functions = array();
 
@@ -49,7 +50,7 @@
 
                        if (! $GLOBALS['phpgw']->acl->check('run',1,'admin') || 
$cancel)
                        {
-                               Header('Location: ' . 
$GLOBALS['phpgw']->link('/index.php','menuaction=messenger.uimessenger.inbox'));
+                               
$GLOBALS['phpgw']->redirect_link('/index.php','menuaction=messenger.uimessenger.inbox');
                                return False;
                        }
 
@@ -77,10 +78,9 @@
                                {
                                        $message['to'] = 
$account['account_lid'];
                                        $this->so->send_message($message,True);
-
                                }
                                $this->so->db->transaction_commit();
-                               Header('Location: ' . 
$GLOBALS['phpgw']->link('/index.php','menuaction=messenger.uimessenger.inbox'));
+                               
$GLOBALS['phpgw']->redirect_link('/index.php','menuaction=messenger.uimessenger.inbox');
                        }
                }
 
@@ -116,7 +116,12 @@
                        {
                                $errors[] = lang("You didn't enter anything for 
the message");
                        }
-                       return $errors;         
+                       return $errors;
+               }
+               
+               function is_connected()
+               {
+                       return $this->so->connected;
                }
 
                function send_message($data='')
@@ -136,7 +141,7 @@
 
                        if ($cancel)
                        {
-                               Header('Location: ' . 
$GLOBALS['phpgw']->link('/index.php','menuaction=messenger.uimessenger.inbox'));
+                               
$GLOBALS['phpgw']->redirect_link('/index.php','menuaction=messenger.uimessenger.inbox');
                                return False;
                        }
 
@@ -150,13 +155,13 @@
                        else
                        {
                                $this->so->send_message($message);
-                               Header('Location: ' . 
$GLOBALS['phpgw']->link('/index.php','menuaction=messenger.uimessenger.inbox'));
+                               
$GLOBALS['phpgw']->redirect_link('/index.php','menuaction=messenger.uimessenger.inbox');
                        }
                }
 
-               function read_inbox($start,$order,$sort)
+               function read_inbox($params)
                {
-                       $messages = $this->so->read_inbox($start,$order,$sort);
+                       $messages = $this->so->read_inbox($params);
 
                        while (is_array($messages) && list(,$message) = 
each($messages))
                        {
@@ -184,7 +189,7 @@
                                if ($message['status'] == 'N')
                                {
                                        $message['subject'] = '<b>' . 
$message['subject'] . '</b>';
-                                       $message['status'] = '&nbsp';
+                                       $message['status'] = '&nbsp;';
                                        $message['date'] = '<b>' . 
$GLOBALS['phpgw']->common->show_date($message['date']) . '</b>';
                                        $message['from'] = '<b>' . 
$cached_names[$message['from']] . '</b>';
                                }
@@ -272,16 +277,16 @@
 
                        if (! is_array($messages))
                        {
-                               Header('Location: ' . 
$GLOBALS['phpgw']->link('/index.php','menuaction=messenger.uimessenger.inbox'));
+                               
$GLOBALS['phpgw']->redirect_link('/index.php','menuaction=messenger.uimessenger.inbox');
                                return False;
                        }
-                       $this->so->db->transaction_begin();
+                       $this->so->transaction_begin();
                        while (list(,$message_id) = each($messages))
                        {
                                $this->so->delete_message($message_id);
                        }
-                       $this->so->db->transaction_commit();
-                       Header('Location: ' . 
$GLOBALS['phpgw']->link('/index.php','menuaction=messenger.uimessenger.inbox'));
+                       $this->so->transaction_commit();
+                       
$GLOBALS['phpgw']->redirect_link('/index.php','menuaction=messenger.uimessenger.inbox');
                }
 
                function reply($message_id='',$n_message='')
@@ -302,7 +307,7 @@
                        {
                                $this->so->send_message($n_message);
                                
$this->so->update_message_status('R',$message_id);
-                               Header('Location: ' . 
$GLOBALS['phpgw']->link('/index.php','menuaction=messenger.uimessenger.inbox'));
+                               
$GLOBALS['phpgw']->redirect_link('/index.php','menuaction=messenger.uimessenger.inbox');
                        }
                }
 
@@ -325,7 +330,7 @@
                        {
                                $this->so->send_message($n_message);
                                
$this->so->update_message_status('F',$message_id);
-                               Header('Location: ' . 
$GLOBALS['phpgw']->link('/index.php','menuaction=messenger.uimessenger.inbox'));
+                               
$GLOBALS['phpgw']->redirect_link('/index.php','menuaction=messenger.uimessenger.inbox');
                        }
                }
 
Index: messenger/inc/class.somessenger.inc.php
diff -u messenger/inc/class.somessenger.inc.php:1.1 
messenger/inc/class.somessenger.inc.php:1.2
--- messenger/inc/class.somessenger.inc.php:1.1 Sat Sep 22 02:21:47 2001
+++ messenger/inc/class.somessenger.inc.php     Sun Apr  9 13:53:18 2006
@@ -2,9 +2,7 @@
        
/**************************************************************************\
        * phpGroupWare - Messenger                                              
   *
        * http://www.phpgroupware.org                                           
   *
-       * This application written by Joseph Engo <address@hidden>         *
-       * --------------------------------------------                          
   *
-       * Funding for this program was provided by http://www.checkwithmom.com  
   *
+       * This file written by Chris Weiss <address@hidden>                     
 *
        * --------------------------------------------                          
   *
        *  This program is free software; you can redistribute it and/or modify 
it *
        *  under the terms of the GNU General Public License as published by 
the   *
@@ -12,97 +10,115 @@
        *  option) any later version.                                           
   *
        
\**************************************************************************/
 
-       /* $Id: class.somessenger.inc.php,v 1.1 2001/09/22 02:21:47 milosch Exp 
$ */
+       // Now we can use this again later if we need it
+       $GLOBALS['phpgw']->config  =& CreateObject('phpgwapi.config', 
'messenger');
+       $GLOBALS['phpgw']->config->read_repository();
+
+       if ( !is_array($GLOBALS['phpgw']->config->config_data) 
+               || !isset($GLOBALS['phpgw_info']['server']['smtp_host']) 
+               || !isset($GLOBALS['phpgw_info']['server']['smtp_port']) 
+               || 
!isset($GLOBALS['phpgw']->config->config_data['imap_message_host']) )
+       {
+               $messenger_config = array('message_repository' => 'sql' );  
//provide a safe default
+       }
+       else
+       {
+               $messenger_config = $GLOBALS['phpgw']->config->config_data;
+       }
+
+       
include_once(PHPGW_INCLUDE_ROOT."/messenger/inc/class.somessenger_{$messenger_config['message_repository']}.inc.php");
+       
//include_once(PHPGW_INCLUDE_ROOT."/messenger/inc/class.somessenger_sql.inc.php");
 //this is good for functionality comparison between sql and imap - skwashd
 
-       class somessenger
+       class somessenger_
        {
-               var $db;
+               /**
+                * @var bool connected Are we connected to the server?
+                */
+                var $connected = false;
+
+               /**
+               * @var int $owner The currently logged in user's id
+               */
                var $owner;
 
-               function somessenger()
-               {
-                       $this->db    = $GLOBALS['phpgw']->db;
-                       $this->owner = 
$GLOBALS['phpgw_info']['user']['account_id'];
+               /**
+               * @constructor
+               */
+               function somessenger_()
+               {
+                       $this->owner =& 
$GLOBALS['phpgw_info']['user']['account_id'];
                }
 
+               /**
+               * Update the status of a message
+               *
+               * @param string $status the message status one of N - New, R - 
Replied, O - Old (read), F - Forwarded
+               * @param int $message_id the message number
+               */
                function update_message_status($status, $message_id)
-               {
-                       $this->db->query("update phpgw_messenger_messages set 
message_status='$status' where message_id='"
-                               . $message_id . "' and message_owner='" . 
$this->owner ."'",__LINE__,__FILE__);
-               }
-
-               function read_inbox($start,$order,$sort)
-               {
-                       if ($sort && $order)
-                       {
-                               $sortmethod = " order by $order $sort";
-                       }
-
-                       $this->db->limit_query("select * from 
phpgw_messenger_messages where message_owner='" . $this->owner
-                               . "' $sortmethod",$start,__LINE__,__FILE__);
-                       while ($this->db->next_record())
-                       {
-                               $messages[] = array(
-                                       'id'      => $this->db->f('message_id'),
-                                       'from'    => 
$this->db->f('message_from'),
-                                       'status'  => 
$this->db->f('message_status'),
-                                       'date'    => 
$this->db->f('message_date'),
-                                       'subject' => 
$this->db->f('message_subject')
-                               );
-                       }
-                       return $messages;
-               }
+               {}
 
+               /**
+               * Get the list of messages in the user's inbox
+               *
+               * @param array $params the criteria
+               * @return array a list of messages
+               */
+               function read_inbox($params)
+               {}
+
+               /**
+               * Get the contents of a message
+               *
+               * @param int $message_id the id of the message sought
+               * @return array the message
+               */
                function read_message($message_id)
-               {
-                       $this->db->query("select * from 
phpgw_messenger_messages where message_id='"
-                               . $message_id . "' and message_owner='" . 
$this->owner ."'",__LINE__,__FILE__);
-                       $this->db->next_record();
-                       $message = array(
-                               'id'      => $this->db->f('message_id'),
-                               'from'    => $this->db->f('message_from'),
-                               'status'  => $this->db->f('message_status'),
-                               'date'    => $this->db->f('message_date'),
-                               'subject' => $this->db->f('message_subject'),
-                               'content' => $this->db->f('message_content')
-                       );
-                       if ($this->db->f('message_status') == 'N')
-                       {
-                               $this->update_message_status('O',$message_id);
-                       }
-                       return $message;
-               }
-
-               function send_message($message, $global_message = False)
-               {
-                       if ($global_message)
-                       {
-                               $this->owner = -1;
-                       }
-
-                       if (! ereg('^[0-9]+$',$message['to']))
-                       {
-                               $message['to'] = 
$GLOBALS['phpgw']->accounts->name2id($message['to']);
-                       }
-
-                       $this->db->query("insert into phpgw_messenger_messages 
(message_owner, message_from, message_status, "
-                               . "message_date, message_subject, 
message_content) values ('"
-                               . $message['to'] . "','" . $this->owner . 
"','N','" . time() . "','"
-                               . addslashes($message['subject']) . "','"       
. addslashes($message['content'])
-                               . "')",__LINE__,__FILE__);
-               }
+               {}
 
+               /**
+               * Send a message
+               *
+               * @param array the message to be sent
+               * @param bool send a global message (to all users)
+               */
+               function send_message($message, $global_message = false)
+               {}
+
+               /**
+               * Get the number of messages in the user's inbox
+               *
+               * @return int the number of messages
+               */
                function total_messages($extra_where_clause = '')
-               {
-                       $this->db->query("select count(*) from 
phpgw_messenger_messages where message_owner='"
-                               . $this->owner . "' " . 
$extra_where_clause,__LINE__,__FILE__);
-                       $this->db->next_record();
-                       return $this->db->f(0);
-               }
+               {}
 
+               /**
+               * Delete a message from the user's account
+               *
+               * @param int $message_id the ID for the message to be deleted
+               */
                function delete_message($message_id)
+               {}
+
+               /**
+               * Start a transaction
+               *
+               * @internal not required for all implementations
+               */
+               function transaction_begin()
+               {
+                       return 0;
+               }
+
+               /**
+               * Finish a transaction
+               *
+               * @internal not required for all implementations
+               */
+               function transaction_commit()
                {
-                       $this->db->query("delete from phpgw_messenger_messages 
where message_id='$message_id' and "
-                               . "message_owner='" . $this->owner . 
"'",__LINE__,__FILE__);
+                       return 0;
                }
        }
+?>
Index: messenger/inc/class.uimessenger.inc.php
diff -u messenger/inc/class.uimessenger.inc.php:1.6 
messenger/inc/class.uimessenger.inc.php:1.7
--- messenger/inc/class.uimessenger.inc.php:1.6 Thu Aug 29 23:20:51 2002
+++ messenger/inc/class.uimessenger.inc.php     Sun Apr  9 13:53:18 2006
@@ -12,19 +12,19 @@
        *  option) any later version.                                           
   *
        
\**************************************************************************/
 
-       /* $Id: class.uimessenger.inc.php,v 1.6 2002/08/29 23:20:51 ceb Exp $ */
-
        class uimessenger
        {
                var $bo;
                var $template;
-               var $public_functions = array(
-                       'inbox'          => True,
-                       'compose'        => True,
-                       'compose_global' => True,
-                       'read_message'   => True,
-                       'reply'          => True,
-                       'forward'        => True
+               var $public_functions = array
+               (
+                       'inbox'          => true,
+                       'compose'        => true,
+                       'compose_global' => true,
+                       'read_message'   => true,
+                       'reply'          => true,
+                       'forward'        => true,
+                       'delete'         => true
                );
 
                function uimessenger()
@@ -32,105 +32,39 @@
                        $this->template   = $GLOBALS['phpgw']->template;
                        $this->bo         = 
CreateObject('messenger.bomessenger');
                        $this->nextmatchs = createobject('phpgwapi.nextmatchs');
-               }
-
-               function display_headers($extras = '')
-               {
-                       $this->template->set_file('_header','header.tpl');
-                       $this->template->set_block('_header','global_header');
-                       $this->template->set_var('lang_inbox','<a href="' . 
$GLOBALS['phpgw']->link('/index.php','menuaction=messenger.uimessenger.inbox') 
. '">' . lang('Inbox') . '</a>');
-                       $this->template->set_var('lang_compose','<a href="' . 
$GLOBALS['phpgw']->link('/index.php','menuaction=messenger.uimessenger.compose')
 . '">' . lang('Compose') . '</a>');
-
-                       if ($extras['nextmatchs_left'])
+                       if ( !$this->bo->is_connected() )
                        {
-                               
$this->template->set_var('nextmatchs_left',$extras['nextmatchs_left']);
-                       }
-
-                       if ($extras['nextmatchs_right'])
-                       {
-                               
$this->template->set_var('nextmatchs_right',$extras['nextmatchs_right']);
+                               $this->_error_not_connected();
                        }
-
-                       $this->template->fp('app_header','global_header');
-
-                       $GLOBALS['phpgw']->common->phpgw_header();
                }
 
-               function set_common_langs()
-               {
-                       
$this->template->set_var('th_bg',$GLOBALS['phpgw_info']['theme']['th_bg']);
-                       
$this->template->set_var('row_on',$GLOBALS['phpgw_info']['theme']['row_on']);
-                       
$this->template->set_var('row_off',$GLOBALS['phpgw_info']['theme']['row_off']);
-
-                       $this->template->set_var('lang_to',lang('Send message 
to'));
-                       $this->template->set_var('lang_from',lang('Message 
from'));
-                       
$this->template->set_var('lang_subject',lang('Subject'));
-                       
$this->template->set_var('lang_content',lang('Message'));
-                       $this->template->set_var('lang_date',lang('Date'));
-               }
 
-               function inbox()
+               function compose($errors = '')
                {
-                       $start = get_var('start',Array('POST','GET'));
-                       $order = get_var('order',Array('POST','GET'));
-                       $sort  = get_var('sort',Array('POST','GET'));
-                       $total = $this->bo->total_messages();
-
-                       $extra_menuaction = 
'&menuaction=messenger.uimessenger.inbox';
-                       $extra_header_info['nextmatchs_left']  = 
$this->nextmatchs->left('/index.php',$start,$total,$extra_menuaction);
-                       $extra_header_info['nextmatchs_right'] = 
$this->nextmatchs->right('/index.php',$start,$total,$extra_menuaction);
+                       $message = $_POST['message'];
 
-                       $this->display_headers($extra_header_info);
+                       $this->_display_headers();
+                       $this->_set_compose_read_blocks();
 
-                       $this->template->set_file('_inbox','inbox.tpl');
-                       $this->template->set_block('_inbox','list');
-                       $this->template->set_block('_inbox','row');
-                       $this->template->set_block('_inbox','row_empty');
-
-                       $this->set_common_langs();
-                       $this->template->set_var('sort_date','<a href="' . 
$this->nextmatchs->show_sort_order($sort,'message_date',$order,'/index.php','','&menuaction=messenger.uimessenger.inbox',False)
 . '" class="topsort">' . lang('Date') . '</a>');
-                       $this->template->set_var('sort_subject','<a href="' . 
$this->nextmatchs->show_sort_order($sort,'message_subject',$order,'/index.php','','&menuaction=messenger.uimessenger.inbox',False)
 . '" class="topsort">' . lang('Subject') . '</a>');
-                       $this->template->set_var('sort_from','<a href="' . 
$this->nextmatchs->show_sort_order($sort,'message_from',$order,'/index.php','','&menuaction=messenger.uimessenger.inbox',False)
 . '" class="topsort">' . lang('From') . '</a>');
-
-                       $messages = $this->bo->read_inbox($start,$order,$sort);
-
-                       while (is_array($messages) && list(,$message) = 
each($messages))
+                       if (is_array($errors))
                        {
-                               
$this->template->set_var('row_status',$message['status']);
-                               
$this->template->set_var('row_from',$message['from']);
-                               
$this->template->set_var('row_date',$message['date']);
-                               $this->template->set_var('row_subject','<a 
href="' . 
$GLOBALS['phpgw']->link('/index.php','menuaction=messenger.uimessenger.read_message&message_id='
 . $message['id']) . '">' . $message['subject'] . '</a>');
-                               
$this->template->set_var('row_status',$message['status']);
-                               $this->template->set_var('row_checkbox','<input 
type="checkbox" name="messages[]" value="' . $message['id'] . '">');
-
-                               $this->template->fp('rows','row',True);
+                               
$this->template->set_var('errors',$GLOBALS['phpgw']->common->error_list($errors));
                        }
 
-                       if (! is_array($messages))
-                       {
-                               $this->template->set_var('lang_empty',lang('You 
have no messages'));
-                               $this->template->fp('rows','row_empty',True);
-                       }
-                       else
-                       {
-                               
$this->template->set_var('form_action',$GLOBALS['phpgw']->link('/index.php','menuaction=messenger.bomessenger.delete_message'));
-                               
$this->template->set_var('button_delete','<input type="image" src="' . 
PHPGW_IMAGES . '/delete.gif" name="delete" title="' . lang('Delete selected') . 
'" border="0">');
-                       }
+                       $this->_set_common_langs();
+                       $this->template->set_var('header_message',lang('Compose 
message'));
 
-                       $this->template->pfp('out','list');
-               }
+                       
$this->template->set_var('form_action',$GLOBALS['phpgw']->link('/index.php','menuaction=messenger.bomessenger.send_message'));
+                       $this->template->set_var('value_to','<input 
name="message[to]" value="' . $message['to'] . '" size="30">');
+                       $this->template->set_var('value_subject','<input 
name="message[subject]" value="' . $message['subject'] . '" size="30">');
+                       $this->template->set_var('value_content','<textarea 
name="message[content]" rows="20" wrap="hard" cols="76">' . $message['content'] 
. '</textarea>');
 
-               function set_compose_read_blocks()
-               {
-                       $this->template->set_file('_form','form.tpl');
+                       $this->template->set_var('button_send','<input 
type="submit" name="send" value="' . lang('Send') . '">');
+                       $this->template->set_var('button_cancel','<input 
type="submit" name="cancel" value="' . lang('Cancel') . '">');
 
-                       $this->template->set_block('_form','form');
-                       $this->template->set_block('_form','form_to');
-                       $this->template->set_block('_form','form_date');
-                       $this->template->set_block('_form','form_from');
-                       $this->template->set_block('_form','form_buttons');
-                       $this->template->set_block('_form','form_read_buttons');
-                       
$this->template->set_block('_form','form_read_buttons_for_global');
+                       $this->template->fp('to','form_to');
+                       $this->template->fp('buttons','form_buttons');
+                       $this->template->pfp('out','form');
                }
 
                function compose_global($errors = '')
@@ -143,15 +77,15 @@
                                return False;
                        }
 
-                       $this->display_headers();
-                       $this->set_compose_read_blocks();
+                       $this->_display_headers();
+                       $this->_set_compose_read_blocks();
 
                        if (is_array($errors))
                        {
                                
$this->template->set_var('errors',$GLOBALS['phpgw']->common->error_list($errors));
                        }
 
-                       $this->set_common_langs();
+                       $this->_set_common_langs();
                        $this->template->set_var('header_message',lang('Compose 
global message'));
 
                        
$this->template->set_var('form_action',$GLOBALS['phpgw']->link('/index.php','menuaction=messenger.bomessenger.send_global_message'));
@@ -165,54 +99,100 @@
                        $this->template->pfp('out','form');
                }
 
-               function compose($errors = '')
+               function delete()
                {
-                       $message = get_var('message',Array('POST'));
+                       $messages = $_REQUEST['messages'];
+                       $this->bo->delete_message($messages);
 
-                       $this->display_headers();
-                       $this->set_compose_read_blocks();
+                       $this->inbox();
+               }
 
-                       if (is_array($errors))
-                       {
-                               
$this->template->set_var('errors',$GLOBALS['phpgw']->common->error_list($errors));
-                       }
+               function inbox()
+               {
+                       $start = $_REQUEST['start'];
+                       $order = $_REQUEST['order'];
+                       $sort  = $_REQUEST['sort'];
+                       $total = $this->bo->total_messages();
 
-                       $this->set_common_langs();
-                       $this->template->set_var('header_message',lang('Compose 
message'));
+                       $extra_menuaction = 
'&menuaction=messenger.uimessenger.inbox';
+                       $extra_header_info['nextmatchs_left']  = 
$this->nextmatchs->left('/index.php',$start,$total,$extra_menuaction);
+                       $extra_header_info['nextmatchs_right'] = 
$this->nextmatchs->right('/index.php',$start,$total,$extra_menuaction);
 
-                       
$this->template->set_var('form_action',$GLOBALS['phpgw']->link('/index.php','menuaction=messenger.bomessenger.send_message'));
-                       $this->template->set_var('value_to','<input 
name="message[to]" value="' . $message['to'] . '" size="30">');
-                       $this->template->set_var('value_subject','<input 
name="message[subject]" value="' . $message['subject'] . '" size="30">');
-                       $this->template->set_var('value_content','<textarea 
name="message[content]" rows="20" wrap="hard" cols="76">' . $message['content'] 
. '</textarea>');
+                       $this->_display_headers($extra_header_info);
 
-                       $gdbutton = CreateObject('phpgwapi.gdbutton');
+                       $this->template->set_file('_inbox','inbox.tpl');
+                       $this->template->set_block('_inbox', 'row', 'rows');
+                       $this->template->set_block('_inbox','list');
+                       $this->template->set_block('_inbox','row_empty');
 
-                       
$this->template->set_var('button_send',$gdbutton->input_button(array('font_text'
 => lang('send'),'button_name' => 'send')));
-                       
$this->template->set_var('button_cancel',$gdbutton->input_button(array('font_text'
 => lang('cancel'),'button_name' => 'cancel')));
+                       $this->_set_common_langs();
+                       $this->template->set_var('sort_date','<a href="' . 
$this->nextmatchs->show_sort_order($sort,'message_date',$order,'/index.php','','&menuaction=messenger.uimessenger.inbox',False)
 . '" class="topsort">' . lang('Date') . '</a>');
+                       $this->template->set_var('sort_subject','<a href="' . 
$this->nextmatchs->show_sort_order($sort,'message_subject',$order,'/index.php','','&menuaction=messenger.uimessenger.inbox',False)
 . '" class="topsort">' . lang('Subject') . '</a>');
+                       $this->template->set_var('sort_from','<a href="' . 
$this->nextmatchs->show_sort_order($sort,'message_from',$order,'/index.php','','&menuaction=messenger.uimessenger.inbox',False)
 . '" class="topsort">' . lang('From') . '</a>');
 
-                       $this->template->fp('to','form_to');
-                       $this->template->fp('buttons','form_buttons');
-                       $this->template->pfp('out','form');
+                       $params = array(
+                               'start' => $start,
+                               'order' => $order,
+                               'sort'  => $sort
+                       );
+                       $messages = $this->bo->read_inbox($params);
+
+                       if (! is_array($messages))
+                       {
+                               $this->template->set_var('lang_empty',lang('You 
have no messages'));
+                               $this->template->fp('rows','row_empty',True);
+                       }
+                       else
+                       {
+                               
$this->template->set_var('form_action',$GLOBALS['phpgw']->link('/index.php','menuaction=messenger.uimessenger.delete'));
+                               
$this->template->set_var('button_delete','<input type="image" src="' . 
PHPGW_IMAGES . '/delete.gif" name="delete" title="' . lang('Delete selected') . 
'" border="0">');
+                               $i = 0;
+                               foreach ( $messages as $message)
+                               {
+                                       $status = $message['status'];
+                                       if ($message['status'] == 'N' || 
$message['status'] == 'O')
+                                       {
+                                               $status = '&nbsp;';
+                                       }
+       
+                                       $this->template->set_var(array
+                                       (
+                                               'row_class'             => $i % 
2 ? 'row_on' : 'row_off',
+                                               'row_date'              => 
$message['date'],
+                                               'row_from'              => 
$message['from'],
+                                               'row_msg_id'    => 
$message['id'],
+                                               'row_status'    => $status,
+                                               'row_subject'   => 
$GLOBALS['phpgw']->strip_html($message['subject']),
+                                               'row_url'               => 
$GLOBALS['phpgw']->link('/index.php', array('menuaction' => 
'messenger.uimessenger.read_message', 'message_id' => $message['id']))
+                                       ));
+                                       $this->template->parse('rows', 'row', 
true);
+                                       ++$i;
+                               }
+
+
+                       }
+
+                       $this->template->pfp('out','list');
                }
 
                function read_message()
                {
-                       $message_id = get_var('message_id',Array('POST','GET'));
+                       $message_id = $_REQUEST['message_id'];
                        $message = $this->bo->read_message($message_id);
 
-                       $this->display_headers();
-                       $this->set_compose_read_blocks();
-                       $this->set_common_langs();
+                       $this->_display_headers();
+                       $this->_set_compose_read_blocks();
+                       $this->_set_common_langs();
 
                        $this->template->set_var('header_message',lang('Read 
message'));
 
-                       $this->template->set_var('value_from',$message['from']);
-                       
$this->template->set_var('value_subject',$message['subject']);
-                       $this->template->set_var('value_date',$message['date']);
-                       $this->template->set_var('value_content','<pre>' . 
$GLOBALS['phpgw']->strip_html($message['content']) . '</pre>');
+                       $this->template->set_var('value_from', 
$message['from']);
+                       $this->template->set_var('value_subject', 
$GLOBALS['phpgw']->strip_html($message['subject']));
+                       $this->template->set_var('value_date', 
$message['date']);
+                       $this->template->set_var('value_content', 
nl2br(wordwrap($GLOBALS['phpgw']->strip_html($message['content']), 80)));
 
                        $this->template->set_var('link_delete','<a href="'
-                                       . 
$GLOBALS['phpgw']->link('/index.php','menuaction=messenger.bomessenger.delete_message&messages%5B%5D='
 . $message['id'])
+                                       . 
$GLOBALS['phpgw']->link('/index.php','menuaction=messenger.uimessenger.delete&messages%5B%5D='
 . $message['id'])
                                        . '">' . lang('Delete') . '</a>');
 
                        $this->template->set_var('link_reply','<a href="'
@@ -225,9 +205,9 @@
 
                        switch($message['status'])
                        {
-                               case 'N': 
$this->template->set_var('value_status',lang('New'));       break;
-                               case 'R': 
$this->template->set_var('value_status',lang('Replied'));   break;
-                               case 'F': 
$this->template->set_var('value_status',lang('Forwarded')); break;
+                               case 'N': 
$this->template->set_var('value_status',lang('New'));         break;
+                               case 'R': 
$this->template->set_var('value_status',lang('Replied'));     break;
+                               case 'F': 
$this->template->set_var('value_status',lang('Forwarded'));   break;
                        }
 
                        if ($message['global_message'])
@@ -246,7 +226,7 @@
 
                function reply($errors = '', $message = '')
                {
-                       $message_id = get_var('message_id',Array('POST','GET'));
+                       $message_id = $_REQUEST['message_id'];
 
                        if(is_array($errors))
                        {
@@ -259,9 +239,9 @@
                                $message = 
$this->bo->read_message_for_reply($message_id,'RE');
                        }
 
-                       $this->display_headers();
-                       $this->set_compose_read_blocks();
-                       $this->set_common_langs();
+                       $this->_display_headers();
+                       $this->_set_compose_read_blocks();
+                       $this->_set_common_langs();
 
                        if (is_array($errors))
                        {
@@ -272,8 +252,8 @@
 
                        
$this->template->set_var('form_action',$GLOBALS['phpgw']->link('/index.php','menuaction=messenger.bomessenger.reply&message_id='
 . $message['id']));
                        $this->template->set_var('value_to','<input 
name="n_message[to]" value="' . $message['from'] . '" size="30">');
-                       $this->template->set_var('value_subject','<input 
name="n_message[subject]" value="' . stripslashes($message['subject']) . '" 
size="30">');
-                       $this->template->set_var('value_content','<textarea 
name="n_message[content]" rows="20" wrap="hard" cols="76">' . 
stripslashes($message['content']) . '</textarea>');
+                       $this->template->set_var('value_subject','<input 
name="n_message[subject]" value="' .  
$GLOBALS['phpgw']->strip_html(stripslashes($message['subject'])) . '" 
size="30">');
+                       $this->template->set_var('value_content','<textarea 
name="n_message[content]" rows="20" wrap="hard" cols="76">' .  
$GLOBALS['phpgw']->strip_html(stripslashes($message['content'])) . 
'</textarea>');
 
                        $this->template->set_var('button_send','<input 
type="submit" name="send" value="' . lang('Send') . '">');
                        $this->template->set_var('button_cancel','<input 
type="submit" name="cancel" value="' . lang('Cancel') . '">');
@@ -285,7 +265,7 @@
 
                function forward($errors = '', $message = '')
                {
-                       $message_id = get_var('message_id',Array('POST','GET'));
+                       $message_id = $_REQUEST['message_id'];
 
                        if(is_array($errors))
                        {
@@ -298,9 +278,9 @@
                                $message = 
$this->bo->read_message_for_reply($message_id,'FW');
                        }
 
-                       $this->display_headers();
-                       $this->set_compose_read_blocks();
-                       $this->set_common_langs();
+                       $this->_display_headers();
+                       $this->_set_compose_read_blocks();
+                       $this->_set_common_langs();
 
                        if (is_array($errors))
                        {
@@ -311,8 +291,8 @@
 
                        
$this->template->set_var('form_action',$GLOBALS['phpgw']->link('/index.php','menuaction=messenger.bomessenger.forward&message_id='
 . $message['id']));
                        $this->template->set_var('value_to','<input 
name="n_message[to]" value="' . $message['from'] . '" size="30">');
-                       $this->template->set_var('value_subject','<input 
name="n_message[subject]" value="' . stripslashes($message['subject']) . '" 
size="30">');
-                       $this->template->set_var('value_content','<textarea 
name="n_message[content]" rows="20" wrap="hard" cols="76">' . 
stripslashes($message['content']) . '</textarea>');
+                       $this->template->set_var('value_subject','<input 
name="n_message[subject]" value="' .  
$GLOBALS['phpgw']->strip_html(stripslashes($message['subject'])) . '" 
size="30">');
+                       $this->template->set_var('value_content','<textarea 
name="n_message[content]" rows="20" wrap="hard" cols="76">' .  
$GLOBALS['phpgw']->strip_html(stripslashes($message['content'])) . 
'</textarea>');
 
                        $this->template->set_var('button_send','<input 
type="submit" name="send" value="' . lang('Send') . '">');
                        $this->template->set_var('button_cancel','<input 
type="submit" name="cancel" value="' . lang('Cancel') . '">');
@@ -321,4 +301,57 @@
                        $this->template->fp('buttons','form_buttons');
                        $this->template->pfp('out','form');
                }
+               
+               function _display_headers($extras = '')
+               {
+                       $this->template->set_file('_header','header.tpl');
+                       $this->template->set_block('_header','global_header');
+                       $this->template->set_var('lang_inbox','<a href="' . 
$GLOBALS['phpgw']->link('/index.php','menuaction=messenger.uimessenger.inbox') 
. '">' . lang('Inbox') . '</a>');
+                       $this->template->set_var('lang_compose','<a href="' . 
$GLOBALS['phpgw']->link('/index.php','menuaction=messenger.uimessenger.compose')
 . '">' . lang('Compose') . '</a>');
+
+                       if ($extras['nextmatchs_left'])
+                       {
+                               
$this->template->set_var('nextmatchs_left',$extras['nextmatchs_left']);
+                       }
+
+                       if ($extras['nextmatchs_right'])
+                       {
+                               
$this->template->set_var('nextmatchs_right',$extras['nextmatchs_right']);
+                       }
+
+                       $this->template->fp('app_header','global_header');
+
+                       $GLOBALS['phpgw']->common->phpgw_header();
+                       echo parse_navbar();
+               }
+               
+               function _error_not_connected()
+               {
+                       $this->_display_headers();
+                       die( lang('exiting with error!') . "<br />\n" . 
lang('Unable to connect to server, please contact your system administrator') );
+               }
+               
+               
+               function _set_common_langs()
+               {
+                       $this->template->set_var('lang_to',lang('Send message 
to'));
+                       $this->template->set_var('lang_from',lang('Message 
from'));
+                       
$this->template->set_var('lang_subject',lang('Subject'));
+                       
$this->template->set_var('lang_content',lang('Message'));
+                       $this->template->set_var('lang_date',lang('Date'));
+               }
+               
+               function _set_compose_read_blocks()
+               {
+                       $this->template->set_file('_form','form.tpl');
+
+                       $this->template->set_block('_form','form');
+                       $this->template->set_block('_form','form_to');
+                       $this->template->set_block('_form','form_date');
+                       $this->template->set_block('_form','form_from');
+                       $this->template->set_block('_form','form_buttons');
+                       $this->template->set_block('_form','form_read_buttons');
+                       
$this->template->set_block('_form','form_read_buttons_for_global');
+               }
        }
+?>
\ No newline at end of file
Index: messenger/inc/hook_admin.inc.php
diff -u messenger/inc/hook_admin.inc.php:1.7 
messenger/inc/hook_admin.inc.php:1.8
--- messenger/inc/hook_admin.inc.php:1.7        Wed Apr 23 01:43:52 2003
+++ messenger/inc/hook_admin.inc.php    Sun Apr  9 13:53:18 2006
@@ -11,13 +11,15 @@
        *  Free Software Foundation; either version 2 of the License, or (at 
your  *
        *  option) any later version.                                           
   *
        
\**************************************************************************/
-       /* $Id: hook_admin.inc.php,v 1.7 2003/04/23 01:43:52 ceb Exp $ */
+       /* $Id: hook_admin.inc.php,v 1.8 2006/04/09 13:53:18 skwashd Exp $ */
+
+       $file = Array
+       (
+
+               // later maybe, was not enabled before imap backend was added 
'Compose global message' => 
$GLOBALS['phpgw']->link('/index.php','menuaction=messenger.uimessenger.compose_global')
+                               'Site Configuration' => 
$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiconfig.index&appname=' 
. $appname)
+       );
+
+       display_section($appname,$file);
 
-       {
-               $file = Array
-               (
-                       'Compose global message' => 
$GLOBALS['phpgw']->link('/index.php','menuaction=messenger.uimessenger.compose_global')
-               );
-               $GLOBALS['phpgw']->common->display_mainscreen($appname,$file);
-       }
 ?>
Index: messenger/setup/phpgw_sv.lang
diff -u messenger/setup/phpgw_sv.lang:1.3 messenger/setup/phpgw_sv.lang:1.4
--- messenger/setup/phpgw_sv.lang:1.3   Mon Nov  3 23:46:00 2003
+++ messenger/setup/phpgw_sv.lang       Sun Apr  9 13:53:18 2006
@@ -5,18 +5,18 @@
 delete selected        messenger       sv      Radera vald
 forward        messenger       sv      Vidarebefordra
 forward a message      messenger       sv      Vidarebefordra ett meddelande
-forward a message to another user.     messenger       sv      Vidarebefordra 
ett meddelande till en annan användare.
+forward a message to another user.     messenger       sv      Vidarebefordra 
ett meddelande till en annan användare.
 forwarded      messenger       sv      Vidarebefordrad
-from   messenger       sv      Från
+from   messenger       sv      Från
 global message messenger       sv      Globalt meddelande
-i can't find the username %1 on the system     messenger       sv      Jag kan 
inte hitta användarnamnet %1 i systemet
+i can't find the username %1 on the system     messenger       sv      Jag kan 
inte hitta användarnamnet %1 i systemet
 inbox  messenger       sv      Inkorg
-message from   messenger       sv      Meddelande från
+message from   messenger       sv      Meddelande från
 messenger      common  sv      Messenger
 new    messenger       sv      Nytt
-read a list of messages.       messenger       sv      Läs en lista på 
meddelanden.
-read a single message. messenger       sv      Läs ett enstaka meddelande.
-read message   messenger       sv      Läs meddelande
+read a list of messages.       messenger       sv      Läs en lista på 
meddelanden.
+read a single message. messenger       sv      Läs ett enstaka meddelande.
+read message   messenger       sv      Läs meddelande
 replied        messenger       sv      Besvarad
 reply  messenger       sv      Besvara
 reply to a message     messenger       sv      Besvara ett meddelande
@@ -25,11 +25,11 @@
 send a global message. messenger       sv      Skicka ett globalt meddelande
 send a message to a single recipient.  messenger       sv      Skicka ett 
meddelande till en mottagare.
 send message to        messenger       sv      Skicka meddelande till
-sorry, %1's account is not currently active    messenger       sv      Tyvärr, 
%1's konto är inte aktivt just nu
-update a message status        messenger       sv      Uppdatera status för 
ett meddelande
-you didn't enter anything for the message      messenger       sv      Du har 
inte fyllt i något i meddelandet
+sorry, %1's account is not currently active    messenger       sv      
Tyvärr, %1's konto är inte aktivt just nu
+update a message status        messenger       sv      Uppdatera status för 
ett meddelande
+you didn't enter anything for the message      messenger       sv      Du har 
inte fyllt i något i meddelandet
 you have %1 new message        messenger       sv      Du har %1 nytt 
meddelande
 you have %1 new messages       messenger       sv      Du har %1 nya 
meddelanden
 you have no messages   messenger       sv      Du har inga meddelanden
-you must enter a subject       messenger       sv      Du måste ange en rubrik
-you must enter the username this message is for        messenger       sv      
Du måste ange användarnamnet som meddelandet ska skickas till
+you must enter a subject       messenger       sv      Du måste ange en rubrik
+you must enter the username this message is for        messenger       sv      
Du måste ange användarnamnet som meddelandet ska skickas till
Index: messenger/setup/setup.inc.php
diff -u messenger/setup/setup.inc.php:1.6 messenger/setup/setup.inc.php:1.7
--- messenger/setup/setup.inc.php:1.6   Sat Mar 11 23:20:49 2006
+++ messenger/setup/setup.inc.php       Sun Apr  9 13:53:18 2006
@@ -12,11 +12,11 @@
        *  option) any later version.                                           
   *
        
\**************************************************************************/
 
-       /* $Id: setup.inc.php,v 1.6 2006/03/11 23:20:49 skwashd Exp $ */
+       /* $Id: setup.inc.php,v 1.7 2006/04/09 13:53:18 skwashd Exp $ */
 
        /* Basic information about this app */
        $setup_info['messenger']['name']      = 'messenger';
-       $setup_info['messenger']['version']   = '0.8.1';
+       $setup_info['messenger']['version']   = '0.9.0';
        $setup_info['messenger']['app_order'] = '10';
        $setup_info['messenger']['enable']    = 1;
        $setup_info['messenger']['app_group']   = 'office';
@@ -27,6 +27,7 @@
        );
 
        /* The hooks this app includes, needed for hooks registration */
+       $setup_info['messenger']['hooks'][] = 'admin';
        $setup_info['messenger']['hooks'][] = 'preferences';
        $setup_info['messenger']['hooks'][] = 'home';
        $setup_info['messenger']['hooks'][] = 'after_navbar';
@@ -34,6 +35,6 @@
        /* Dependencies for this app to work */
        $setup_info['messenger']['depends'][] = array(
                'appname'  => 'phpgwapi',
-               'versions' => Array('0.9.13', '0.9.14', '0.9.15', '0.9.17', 
'0.9.18')
+               'versions' => Array('0.9.18')
        );
 ?>
Index: messenger/templates/base/inbox.tpl
diff -u messenger/templates/base/inbox.tpl:1.1 
messenger/templates/base/inbox.tpl:1.2
--- messenger/templates/base/inbox.tpl:1.1      Sat Mar 25 13:03:49 2006
+++ messenger/templates/base/inbox.tpl  Sun Apr  9 13:53:18 2006
@@ -1,12 +1,6 @@
 <!-- BEGIN list -->
-<STYLE type="text/css">
- <!--
-   .topsort { color: #000000; }   
- -->
-</STYLE>
-
-<script>
-
+<script type="text/javascript">
+//<[CDATA[
 function check_all()
 {
        for (i=0; i<document.messages.elements.length; i++) {
@@ -19,30 +13,35 @@
                } 
        }
 }
+//]]>
 </script>
 
 {app_header}
 
-<form action="{form_action}" method="POST" name="messages">
- <table border="0" width="95%" align="center" bgcolor="#DCDCDC">
-  <tr>
-   <td>
- 
-    <table border="0" width="100%" cellpadding="2" cellspacing="1">
-     <tr bgcolor="#FFFFCC">
-      <td width="1%" align="center"><input type="checkbox" 
onClick="check_all()"></td>
-      <td width="1%">&nbsp;</td>
-      <td width="8%">{sort_date}</td>
-      <td width="27%">{sort_from}</td>
-      <td width="60%">{sort_subject}</td>
-     </tr>
- 
-     {rows}
+<form action="{form_action}" method="post" name="messages">
+       <table>
+               <thead>
+                       <tr>
+                               <td width="1%" align="center"><input 
type="checkbox" onClick="check_all()"></td>
+                               <td width="1%">&nbsp;</td>
+                               <td width="8%">{sort_date}</td>
+                               <td width="27%">{sort_from}</td>
+                               <td width="60%">{sort_subject}</td>
+                       </tr>
+               </thead>
+               <tbody>
+<!-- BEGIN row -->
+                       <tr class="{row_class}">
+                               <td><input type="checkbox" name="messages[]" 
value="{row_msg_id}" /></td>
+                               <td><strong>{row_status}</strong></td>
+                               <td>{row_date}</td>
+                               <td>{row_from}</td>
+                               <td><a href="{row_url}">{row_subject}</a></td>
+                       </tr>
+<!-- END row -->
+               </tbody>
     </table>
- 
-   </td>
-  </tr>
- </table>
+
 
  <table border="0" width="95%" align="center">
   <tr>
@@ -54,15 +53,6 @@
 </form>
 <!-- END list -->
 
-<!-- BEGIN row -->
-    <tr bgcolor="#FFFFFF">
-     <td width="1%" align="center">{row_checkbox}</td>
-     <td align="center"><b>{row_status}</b></td>
-     <td>{row_date}</td>
-     <td>{row_from}</td>
-     <td>{row_subject}</td>
-    </tr>
-<!-- END row -->
 
 <!-- BEGIN row_empty -->
     <tr bgcolor="#FFFFFF">




reply via email to

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