phpgroupware-cvs
[Top][All Lists]
Advanced

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

[Phpgroupware-cvs] messenger inc/class.somessenger_imap.inc.php in...


From: Dave Hall
Subject: [Phpgroupware-cvs] messenger inc/class.somessenger_imap.inc.php in...
Date: Tue, 11 Apr 2006 22:44:31 +0000

CVSROOT:        /cvsroot/phpgroupware
Module name:    messenger
Branch:         
Changes by:     Dave Hall <address@hidden>      06/04/11 22:44:31

Modified files:
        inc            : class.somessenger_imap.inc.php 
                         class.bomessenger.inc.php 
                         class.uimessenger.inc.php 
        templates/base : config.tpl form.tpl 
        setup          : setup.inc.php 
Added files:
        inc            : hook_config.inc.php 

Log message:
        Make smtp send work :)
        Allow admin to send to any user, but resitrict the ability of other 
users to send to a nominate group

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/messenger/inc/class.somessenger_imap.inc.php.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/messenger/inc/class.bomessenger.inc.php.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/messenger/inc/hook_config.inc.php?rev=1.1
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/messenger/inc/class.uimessenger.inc.php.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/messenger/templates/base/config.tpl.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/messenger/templates/base/form.tpl.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/phpgroupware/messenger/setup/setup.inc.php.diff?tr1=1.7&tr2=1.8&r1=text&r2=text

Patches:
Index: messenger/inc/class.bomessenger.inc.php
diff -u messenger/inc/class.bomessenger.inc.php:1.4 
messenger/inc/class.bomessenger.inc.php:1.5
--- messenger/inc/class.bomessenger.inc.php:1.4 Sun Apr  9 13:53:18 2006
+++ messenger/inc/class.bomessenger.inc.php     Tue Apr 11 22:44:30 2006
@@ -12,7 +12,7 @@
        *  option) any later version.                                           
   *
        
\**************************************************************************/
 
-       /* $Id: class.bomessenger.inc.php,v 1.4 2006/04/09 13:53:18 skwashd Exp 
$ */
+       /* $Id: class.bomessenger.inc.php,v 1.5 2006/04/11 22:44:30 skwashd Exp 
$ */
 
        class bomessenger
        {
@@ -32,6 +32,34 @@
                {
                        $this->so = createobject('messenger.somessenger');
                }
+               
+               function get_available_users()
+               {
+                       $users = array();
+
+                       $config = createObject('phpgwapi.config', 'messenger');
+                       $config->read_repository();
+
+                       if ( 
!isset($GLOBALS['phpgw_info']['user']['apps']['admin']) 
+                               && isset($config->data['restrict_to_group'] )
+                               && $config->data['restrict_to_group'] )
+                       {
+                               $tmp_users = 
$GLOBALS['phpgw']->accounts->member($config->data['restrict_to_group']);
+                               foreach ( $tmp_users as $user )
+                               {
+                                       $users[$user['account_id']] = 
$user['account_name'];
+                               }
+                       }
+                       else
+                       {
+                               $tmp_users = 
$GLOBALS['phpgw']->accounts->get_list('accounts', -1, 'ASC', 'account_lid', '', 
-1);
+                               foreach ( $tmp_users as $user )
+                               {
+                                       $users[$user['account_id']] = 
$GLOBALS['phpgw']->common->display_fullname($user['account_lid'], 
$user['account_firstname'], $user['account_lastname']);
+                               }
+                       }
+                       return $users;
+               }
 
                function send_global_message($data='')
                {
@@ -86,21 +114,20 @@
 
                function check_for_missing_fields($message)
                {
-                       $acctid = 
$GLOBALS['phpgw']->accounts->name2id($message['to']);
-
-                       if (!$acctid)
+                       if ($message['to'] > 0)
                        {
-                               if ($message['to'])
-                               {
-                                       $errors[] = lang("I can't find the 
username %1 on the system",$message['to']);
-                               }
-                               else
+                               $user = $this->get_available_users();
+                               if ( isset($user[$messenge['to']]) )
                                {
-                                       $errors[] = lang('You must enter the 
username this message is for');
+                                       $errors[] = lang('You are not allow to 
send messages to the user you have selected');
                                }
                        }
-
-                       $acct = 
createobject('phpgwapi.accounts',$GLOBALS['phpgw']->accounts->name2id($message['to']));
+                       else
+                       {
+                               $errors[] = lang('You must select a user to 
send this message to');
+                       }
+                       
+                       $acct = createobject('phpgwapi.accounts', 
$message['to']);
                        $acct->read_repository();
                        if ($acct->is_expired() && 
$GLOBALS['phpgw']->accounts->name2id($message['to']))
                        {
@@ -134,15 +161,14 @@
                        }
                        else
                        {
-                               $message = get_var('message',Array('POST'));
-                               $send    = get_var('send',Array('POST'));
-                               $cancel  = get_var('cancel',Array('POST'));
+                               $message = $_POST['message'];
+                               $send    = $_POST['send'];
+                               $cancel  = $_POST['cancel'];
                        }
 
                        if ($cancel)
                        {
-                               
$GLOBALS['phpgw']->redirect_link('/index.php','menuaction=messenger.uimessenger.inbox');
-                               return False;
+                               $GLOBALS['phpgw']->redirect_link('/index.php', 
array('menuaction' => 'messenger.uimessenger.inbox'));
                        }
 
                        $errors = $this->check_for_missing_fields($message);
@@ -155,7 +181,7 @@
                        else
                        {
                                $this->so->send_message($message);
-                               
$GLOBALS['phpgw']->redirect_link('/index.php','menuaction=messenger.uimessenger.inbox');
+                               $GLOBALS['phpgw']->redirect_link('/index.php', 
array('menuaction' => 'messenger.uimessenger.inbox'));
                        }
                }
 
Index: messenger/inc/class.somessenger_imap.inc.php
diff -u messenger/inc/class.somessenger_imap.inc.php:1.1 
messenger/inc/class.somessenger_imap.inc.php:1.2
--- messenger/inc/class.somessenger_imap.inc.php:1.1    Sun Apr  9 13:53:18 2006
+++ messenger/inc/class.somessenger_imap.inc.php        Tue Apr 11 22:44:30 2006
@@ -77,15 +77,10 @@
                {
                        $this->owner = -1;
                }
-               if (!ereg('^[0-9]+$', $message['to']))
-               {
-                       $message['to'] = 
$contacts->get_email($contacts->is_contact($GLOBALS['phpgw']->accounts->name2id($message['to'])));
-                       //$message['to'] = "chrisw";
-               }
                //save then send
-               $mailer->From = 
$contacts->get_contact_name($contacts->is_contact($GLOBALS['phpgw_info']['user']['account_id']));
-               $mailer->FromName = $this->owner;
-               $mailer->AddAddress($message['to'], 
$contacts->get_contact_name($addbook->is_contact($GLOBALS['phpgw']->accounts->name2id($message['to']))));
+               $mailer->From = 
$contacts->get_email($GLOBALS['phpgw_info']['user']['person_id']);
+               $mailer->FromName =  
$GLOBALS['phpgw']->common->display_fullname();
+               
$mailer->AddAddress($contacts->get_email($contacts->is_contact($message['to'])),
 $GLOBALS['phpgw']->accounts->id2name($message['to']));
                $mailer->Subject = $message['subject'];
                $mailer->Body = $message['content'];
                $mailer->Send();
@@ -203,4 +198,4 @@
                }
        }
 }
-?>
\ No newline at end of file
+?>
Index: messenger/inc/class.uimessenger.inc.php
diff -u messenger/inc/class.uimessenger.inc.php:1.7 
messenger/inc/class.uimessenger.inc.php:1.8
--- messenger/inc/class.uimessenger.inc.php:1.7 Sun Apr  9 13:53:18 2006
+++ messenger/inc/class.uimessenger.inc.php     Tue Apr 11 22:44:30 2006
@@ -54,8 +54,19 @@
                        $this->_set_common_langs();
                        $this->template->set_var('header_message',lang('Compose 
message'));
 
+                       $users = $this->bo->get_available_users();
+                       foreach ( $users as $uid => $name )
+                       {
+                               $this->template->set_var(array
+                               (
+                                       'uid'           => $uid,
+                                       'full_name'     => $name
+                               ));
+                               $this->template->parse('select_tos', 
'select_to', true);
+                       }
+
                        
$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_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>');
 
@@ -74,7 +85,7 @@
                        if (! $GLOBALS['phpgw']->acl->check('run',1,'admin'))
                        {
                                $this->inbox();
-                               return False;
+                               return false;
                        }
 
                        $this->_display_headers();
@@ -346,6 +357,7 @@
                        $this->template->set_file('_form','form.tpl');
 
                        $this->template->set_block('_form','form');
+                       $this->template->set_block('_form','select_to', 
'select_tos');
                        $this->template->set_block('_form','form_to');
                        $this->template->set_block('_form','form_date');
                        $this->template->set_block('_form','form_from');
Index: messenger/setup/setup.inc.php
diff -u messenger/setup/setup.inc.php:1.7 messenger/setup/setup.inc.php:1.8
--- messenger/setup/setup.inc.php:1.7   Sun Apr  9 13:53:18 2006
+++ messenger/setup/setup.inc.php       Tue Apr 11 22:44:30 2006
@@ -12,7 +12,7 @@
        *  option) any later version.                                           
   *
        
\**************************************************************************/
 
-       /* $Id: setup.inc.php,v 1.7 2006/04/09 13:53:18 skwashd Exp $ */
+       /* $Id: setup.inc.php,v 1.8 2006/04/11 22:44:30 skwashd Exp $ */
 
        /* Basic information about this app */
        $setup_info['messenger']['name']      = 'messenger';
@@ -31,6 +31,7 @@
        $setup_info['messenger']['hooks'][] = 'preferences';
        $setup_info['messenger']['hooks'][] = 'home';
        $setup_info['messenger']['hooks'][] = 'after_navbar';
+       $setup_info['messenger']['hooks'][] = 'config';
 
        /* Dependencies for this app to work */
        $setup_info['messenger']['depends'][] = array(
Index: messenger/templates/base/config.tpl
diff -u messenger/templates/base/config.tpl:1.1 
messenger/templates/base/config.tpl:1.2
--- messenger/templates/base/config.tpl:1.1     Sun Apr  9 13:53:18 2006
+++ messenger/templates/base/config.tpl Tue Apr 11 22:44:30 2006
@@ -28,6 +28,15 @@
                        <td>{lang_IMAP_host_for_messages}:</td>
                        <td><input name="newsettings[imap_message_host]" 
value="{value_imap_message_host}" size="40" /></td>
                </tr>
+               <tr class="row_off">
+                       
<td>{lang_Restrict_users_to_only_sending_to_the_follow_group}:</td>
+                       <td>
+                               <select name="newsettings[restrict_to_group]">
+                                       <option 
value="0">{lang_no_restriction}</a>
+                                       {hook_restrict_to_group}
+                               </select>
+                       </td>
+               </tr>
 <!-- END body -->
 <!-- BEGIN footer -->
                <tr class="{th}">
Index: messenger/templates/base/form.tpl
diff -u messenger/templates/base/form.tpl:1.1 
messenger/templates/base/form.tpl:1.2
--- messenger/templates/base/form.tpl:1.1       Sat Mar 25 13:03:49 2006
+++ messenger/templates/base/form.tpl   Tue Apr 11 22:44:30 2006
@@ -55,7 +55,13 @@
 <!-- BEGIN form_to -->
   <tr bgcolor="{row_off}">
    <td>{lang_to}</td>
-   <td>{value_to}&nbsp;</td>
+   <td>
+       <select name="message[to]">
+               <!-- BEGIN select_to -->
+               <option value="{uid}">{full_name}</option>
+               <!-- END select_to -->
+       </select>
+   </td>
   </tr>
 <!-- END form_to -->
 




reply via email to

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