Вход Регистрация
Файл: upload/module/contact/include/service/contact.class.php
Строк: 108
<?php
/**
 * [PHPFOX_HEADER]
 */

defined('PHPFOX') or exit('NO DICE!');

/**
 *
 *
 * @copyright        [PHPFOX_COPYRIGHT]
 * @author          Miguel Espinoza
 * @package          Module_Contact
 * @version         $Id: contact.class.php 3831 2011-12-19 14:28:39Z Miguel_Espinoza $
 */
class Contact_Service_Contact extends Phpfox_Service
{
    
/**
     * Class constructor
     */
    
public function __construct()
    {
        
$this->_sTable Phpfox::getT('contact_category');
    }

    public function 
getCategories()
    {        
        
$sCacheId $this->cache()->set('contact_category');
        
        if (!(
$aRows $this->cache()->get($sCacheId)))
        {
            
$aRows $this->database()->select('*')
                ->
from($this->_sTable'cc')
                ->
order('cc.ordering ASC')
                ->
execute('getSlaveRows');
            
            
$this->cache()->save($sCacheId$aRows);            
        }        
        
        return 
$aRows;
    }

    
/**
     * Cleans the values and calls the sending function
     *
     * @param array $aValues
     * @return unknown
     */
    
public function sendContactMessage($aValues)
    {
        
$sSiteEmail Phpfox::getParam('contact.contact_staff_emails');
        
        if (empty(
$sSiteEmail))
        {
            
$sSiteEmail Phpfox::getParam('core.email_from_email');
        }

        if (empty(
$sSiteEmail)) 
        {    
            return 
false;
        }
        
        
// its better if we instantiate here instead of dynamic calling the lib every time
        
$oParser Phpfox::getLib('parse.input');
        
        
// Remove all tags to make it plain text
        
$sText '';
        if (
Phpfox::getUserId())
        {
            
$sText .= Phpfox::getPhrase('contact.full_name') . ': ' Phpfox::getUserBy('full_name') . '<br />';
            
$sText .= Phpfox::getPhrase('contact.user_id') . ': ' Phpfox::getUserId() . '<br />';
            
$sText .= Phpfox::getPhrase('contact.profile') . ': ' Phpfox::getLib('url')->makeUrl(Phpfox::getUserBy('user_name')) . '<br />';
            
$sText .= '------------------------------------------------------------<br />';
        }
        if (!empty(
$aValues['category_id']) && $aValues['category_id'] == 'phpfox_sales_ticket')
        {
            
$sText $oParser->clean($aValues['text']);
        }
        else 
        {
            
$sText .= (Phpfox::getParam('contact.allow_html_in_contact') == true $oParser->prepare($aValues['text']) : $oParser->clean($aValues['text']));        
        }

        
// check if the user is logged in to include
        
if (Phpfox::getUserId() > 0)
        {
            
$aValues['full_name'] .= ' (user id:'.Phpfox::getUserId() .')';
        }
        
// send the mail 
        
$aMails explode(','$sSiteEmail);
        
        if (!empty(
$aValues['category_id']) && $aValues['category_id'] == 'phpfox_sales_ticket')
        {
            
$aValues['category_id'] = '';    
        }
        
        
$bResult true;        
        foreach (
$aMails as $sMail)
        {
            
$sMail trim($sMail);
            
$bSend Phpfox::getLib('mail')->to($sMail)
                ->
messageHeader(false)
                ->
subject((!empty($aValues['category_id']) ? Phpfox::getLib('locale')->convert($aValues['category_id']) . ': ' '') . $aValues['subject'])
                ->
message($sText)
                ->
fromName($aValues['full_name'])
                ->
fromEmail($aValues['email'])
                ->
send();

            
$bResult $bResult && $bSend;
        }
        
        if (isset(
$aValues['copy']))
        {
            
Phpfox::getLib('mail')->to($aValues['email'])
                ->
messageHeader(false)
                ->
subject((!empty($aValues['category_id']) ? Phpfox::getLib('locale')->convert($aValues['category_id']) . ': ' '') . $aValues['subject'])
                ->
message($sText)
                ->
fromName(Phpfox::getParam('core.mail_from_name'))
                ->
fromEmail(Phpfox::getParam('core.email_from_email'))
                ->
send();        
        }

        if (
Phpfox::getParam('contact.enable_auto_responder'))
        {
            
Phpfox::getLib('mail')->to($aValues['email'])
                    ->
messageHeader(false)
                    ->
subject(Phpfox::getParam('contact.auto_responder_subject'))
                    ->
message(Phpfox::getParam('contact.auto_responder_message'))
                    ->
fromEmail(Phpfox::getParam('core.mail_from_name'))
                    ->
fromName(Phpfox::getParam('core.site_title'))
                    ->
send();
        }
        return 
$bResult;
        
    }

    
/**
     * If a call is made to an unknown method attempt to connect
     * it to a specific plug-in with the same name thus allowing
     * plug-in developers the ability to extend classes.
     *
     * @param string $sMethod is the name of the method
     * @param array $aArguments is the array of arguments of being passed
     */
    
public function __call($sMethod$aArguments)
    {
        
/**
         * Check if such a plug-in exists and if it does call it.
         */
        
if ($sPlugin Phpfox_Plugin::get('contact.service_contact__call'))
        {
            return eval(
$sPlugin);
        }

        
/**
         * No method or plug-in found we must throw a error.
         */
        
Phpfox_Error::trigger('Call to undefined method ' __CLASS__ '::' $sMethod '()'E_USER_ERROR);
    }
}

?>
Онлайн: 0
Реклама