403Webshell
Server IP : 104.21.17.213  /  Your IP : 216.73.217.141
Web Server : Apache
System : Linux hosting01.arsenalhost.com 4.18.0-425.13.1.lve.el8.x86_64 #1 SMP Mon Feb 27 15:23:24 EST 2023 x86_64
User : corbizre ( 1013)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/corbizre/gotofindhomes.com3/components/LiteMail/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/corbizre/gotofindhomes.com3/components/LiteMail/Queue.php
<?php
/**
 * Documentation
 * @author keeper
 * @category
 * @package
 * @subpackage
 * @copyright  Copyright (c) 2005-2009 ITCrimea Ukraine Inc. (http://www.itcrimea.com)
 * @license
 */
class LiteMail_Queue extends System_Db_Object
{

    const STATUS_NEW = 1;
    const STATUS_LOCK = 2;
    const STATUS_SENT = 3;
    const STATUS_RESEND = 4;
    const STATUS_ERROR = 5;

    const TRANSPORT_SMTP = 'smtp';

    /**
    * Documentation
    * @author keeper
    * @return mixed
    */
    public function __construct(array $config = array())
    {
        parent::__construct($config);
    }


    /**
    * Documentation
    * @author keeper
    * @param int|LiteMail_Template $Template Template ID or LiteMail_Template object
    * @param string $EmailTo
    * @param array $Replacements  associative array where each key needs to be replace with corresponding value
    * @param string $EmailFrom  if null - will be created from system settings (BrandName and BrandEmail)
    * @return boolean,string Error text of false in success
    */
    public static function addToQueue($Template, $EmailTo, $NameTo, $Replacements=array(), $UserID=0, $DateStart=null)
    {
        if (is_object($Template)) {
            $objectTemplate = $Template;
        } elseif (is_integer($Template)) {
            $tableTemplate = LiteMail_Template_Table::getInstance();
            $objectTemplate = $tableTemplate->find($Template)->current();
        } else {
            $objectTemplate = null;
        }

        if (!$EmailTo) return 'Recipient email is empty';
        if (!is_object($objectTemplate)) return 'Can not get template';

        $Subject    = $objectTemplate->Subject;
        $Body       = $objectTemplate->Body;
        $EmailFrom  = $objectTemplate->EmailFrom;
        $NameFrom   = $objectTemplate->NameFrom;
        // make replacements based on income parameters
        if (count($Replacements)) {
            foreach ($Replacements as $key=>$value) {
                $Subject = str_replace('{$'.$key.'}', strip_tags($value), $Subject);
                $Body = str_replace('{$'.$key.'}', $value, $Body);
            }
        }
        // make replacements based on parameters defined in mail template.
        // this needs in case that not all replacements was not income
        if ($objectTemplate->Replacements) {
            $Replacements = unserialize($objectTemplate->Replacements);
            foreach ($Replacements as $key=>$value) {
                $Subject = str_replace('{$'.$key.'}', '', $Subject);
                $Body = str_replace('{$'.$key.'}', '', $Body);
            }
        }
        // check the sender email and name
        if (!$EmailFrom) {
            $EmailFrom = Settings::get('BrandEmail');
        }
        if (!$EmailFrom) return 'Can\'t get sender email address';
        if (!$NameFrom) {
            $NameFrom = Settings::get('BrandName');
        }
        // add
        $tableQueue = new LiteMail_Queue_Table();
        $objectQueue = $tableQueue->fetchNew();
        $objectQueue->User_ID = intval($UserID);
        $objectQueue->MailTemplate_ID = $objectTemplate->ID;
        $objectQueue->DateStart = $DateStart;
        $objectQueue->Status = self::STATUS_NEW;
        $objectQueue->EmailFrom = strval($EmailFrom);
        $objectQueue->EmailTo = strval($EmailTo);
        $objectQueue->NameFrom = strval($NameFrom);
        $objectQueue->NameTo = strval($NameTo);
        $objectQueue->Subject = strval($Subject);
        $objectQueue->Body = strval($Body);
        $objectQueue->save();
        return false;
    }


    /**
    * tryes to send mail, returns error text in error
    * @author keeper
    * @param Zend_Db_Table_Row_Abstract $objectTransport
    * @return boolean,string Error text of false in success
    */
    function send($objectTransport=null)
    {
        if (!$this->EmailFrom) return 'EmailFrom is null';
        if (!$this->EmailTo) return 'EmailTo is null';
        if (!$this->Subject) return 'Subject is not valid';
        if (!$this->Body) return 'Body is empty';

        // prepare mail
        $objZendMail = new Zend_Mail();
        $objZendMail->setBodyHtml($this->Body);
        $objZendMail->setFrom($this->EmailFrom, $this->NameFrom);
        $objZendMail->addTo($this->EmailTo, $this->NameTo);
        $objZendMail->setSubject($this->Subject);

        // select transport and send
        if (is_object($objectTransport) && $objectTransport instanceof LiteMail_Transport) {
            $objectTransport->_sendMail($objZendMail);
        } else {
            $objZendMail->send();
        }

        return false;
    }

    /**
     * returns the status for mail queue on error
     * @author keeper
     * @param int $prevStatus
     * @return int
     */
    public static function getStatusOnError($prevStatus)
    {
        switch ($prevStatus) {
            case self::STATUS_SENT:
                return self::STATUS_SENT;
                break;
            case self::STATUS_LOCK:
            case self::STATUS_NEW:
                return self::STATUS_RESEND;
                break;
            case self::STATUS_RESEND:
            default:
                return self::STATUS_ERROR;
                break;
        }
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit