[ Index ]
 

Code source de Joomla 1.0.13

Accédez au Source d'autres logiciels libres

title

Body

[fermer]

/components/com_messages/ -> messages.class.php (source)

   1  <?php
   2  /**
   3  * @version $Id: messages.class.php 5081 2006-09-16 23:11:24Z friesengeist $
   4  * @package Joomla
   5  * @subpackage Messages
   6  * @copyright Copyright (C) 2005 Open Source Matters. All rights reserved.
   7  * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
   8  * Joomla! is free software. This version may have been modified pursuant
   9  * to the GNU General Public License, and as distributed it includes or
  10  * is derivative of works licensed under the GNU General Public License or
  11  * other free or open source software licenses.
  12  * See COPYRIGHT.php for copyright notices and details.
  13  */
  14  
  15  // no direct access
  16  defined( '_VALID_MOS' ) or die( 'Restricted access' );
  17  
  18  /**
  19  * @package Joomla
  20  * @subpackage Messages
  21  */
  22  class mosMessage extends mosDBTable {
  23      /** @var int Primary key */
  24      var $message_id        = null;
  25      /** @var int */
  26      var $user_id_from    = null;
  27      /** @var int */
  28      var $user_id_to        = null;
  29      /** @var int */
  30      var $folder_id        = null;
  31      /** @var datetime */
  32      var $date_time        = null;
  33      /** @var int */
  34      var $state            = null;
  35      /** @var int */
  36      var $priority        = null;
  37      /** @var string */
  38      var $subject        = null;
  39      /** @var text */
  40      var $message        = null;
  41  
  42      /**
  43      * @param database A database connector object
  44      */
  45  	function mosMessage( &$db ) {
  46          $this->mosDBTable( '#__messages', 'message_id', $db );
  47      }
  48  
  49      /**
  50      * Validation and filtering
  51      */
  52  	function check() {
  53          // filter malicious code
  54          $this->filter( );
  55          
  56          return true;
  57      }
  58      
  59  	function send( $from_id=null, $to_id=null, $subject=null, $message=null ) {
  60          global $database, $mosConfig_mailfrom, $mosConfig_fromname;
  61  
  62          if (is_object( $this )) {
  63              $from_id     = $from_id ? $from_id : $this->user_id_from;
  64              $to_id         = $to_id ? $to_id : $this->user_id_to;
  65              $subject     = $subject ? $subject : $this->subject;
  66              $message     = $message ? $message : $this->message;
  67          }
  68  
  69          $query = "SELECT cfg_name, cfg_value"
  70          . "\n FROM #__messages_cfg"
  71          . "\n WHERE user_id = " . (int) $to_id
  72          ;
  73          $database->setQuery( $query );
  74          $config = $database->loadObjectList( 'cfg_name' );
  75          $locked = @$config['lock']->cfg_value;
  76          $domail = @$config['mail_on_new']->cfg_value;
  77  
  78          if (!$locked) {
  79  
  80              $this->user_id_from = $from_id;
  81              $this->user_id_to     = $to_id;
  82              $this->subject         = $subject;
  83              $this->message         = $message;
  84              $this->date_time     = date( 'Y-m-d H:i:s' );
  85  
  86              if ($this->store()) {
  87                  if ($domail) {
  88                      $query = "SELECT email"
  89                      . "\n FROM #__users"
  90                      . "\n WHERE id = " . (int) $to_id
  91                      ;
  92                      $database->setQuery( $query );
  93                      $recipient = $database->loadResult();
  94                      $subject     = _NEW_MESSAGE;
  95                      $msg         = _NEW_MESSAGE;
  96  
  97                      mosMail( $mosConfig_mailfrom, $mosConfig_fromname, $recipient, $subject, $msg );
  98                  }
  99                  return true;
 100              }
 101          } else {
 102              if (is_object( $this )) {
 103                  $this->_error = _MESSAGE_FAILED;
 104              }
 105          }
 106          return false;
 107      }
 108  }
 109  ?>


Généré le : Wed Nov 21 14:43:32 2007 par Balluche grâce à PHPXref 0.7
  Clicky Web Analytics