WordPress

Briefly unavailable for scheduled maintenance.
Check back in a some hours.
403WebShell
403Webshell
Server IP : 38.242.244.58  /  Your IP : 216.73.217.39
Web Server : Apache/2.4.41 (Ubuntu)
System : Linux vmi1486879.contaboserver.net 5.4.0-166-generic #183-Ubuntu SMP Mon Oct 2 11:28:33 UTC 2023 x86_64
User : root ( 0)
PHP Version : 7.4.3-4ubuntu2.19
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /var/www/html/sura/src/Util/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/sura/src/Util/Mailer.php
<?php

/*
 * This file is part of the FOSUserBundle package.
 *
 * (c) FriendsOfSymfony <http://friendsofsymfony.github.com/>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace App\Util;

use App\Entity\Cart;
use App\Entity\ContactUsMessages;
use App\Entity\ContributorEmail;
use App\Entity\Invoice;
use App\Entity\InvoiceItems;
use App\Entity\Model;
use App\Entity\Stock;
use App\Entity\User;
use FOS\UserBundle\Mailer\MailerInterface;
use FOS\UserBundle\Model\UserInterface;
use Symfony\Component\Filesystem\Filesystem;
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;

/**
 * @author Christophe Coevoet <stof@notk.org>
 */
class Mailer implements MailerInterface
{
    /**
     * @var \Swift_Mailer
     */
    protected $mailer;

    /**
     * @var UrlGeneratorInterface
     */
    protected $router;

    /**
     * @var \Twig_Environment
     */
    protected $twig;

    /**
     * @var array
     */
    protected $parameters;

    /**
     * TwigSwiftMailer constructor.
     *
     * @param \Swift_Mailer         $mailer
     * @param UrlGeneratorInterface $router
     * @param \Twig_Environment     $twig
     * @param array                 $parameters
     */
    public function __construct(\Swift_Mailer $mailer, UrlGeneratorInterface $router, \Twig_Environment $twig)
    {
        $this->mailer = $mailer;
        $this->router = $router;
        $this->twig = $twig;
        $this->parameters = array(
            'from_email'=>array(
                'confirmation'=>'noreply@suraimages.com'
            )
        );
    }

    /**
     * {@inheritdoc}
     */
    public function sendConfirmationEmailMessage(UserInterface $user)
    {
        $template = 'emails/user-registration.html.twig';
        $url = $this->router->generate('fos_user_registration_confirm', array('token' => $user->getConfirmationToken()), UrlGeneratorInterface::ABSOLUTE_URL);

        $context = array(
            'user' => $user,
            'confirmationUrl' => $url,
        );
        var_dump($this->parameters['from_email']['confirmation']);
        //die;

        $this->sendMessage($template, $context, $this->parameters['from_email']['confirmation'], (string) $user->getEmail());
    }

    /**
     * @param UserInterface $user
     * @param $plain_password
     * @throws \Throwable
     * @throws \Twig_Error_Loader
     * @throws \Twig_Error_Runtime
     * @throws \Twig_Error_Syntax
     */
    public function sendConfirmationEmail(UserInterface $user,$plain_password)
    {
        $template = '@FOSUser/Registration/email.html.twig';
        $url = $this->router->generate('fos_user_registration_confirm', array('token' => $user->getConfirmationToken()), UrlGeneratorInterface::ABSOLUTE_URL);

        $context = array(
            'user' => $user,
            'confirmationUrl' => $url,
            'plain_password' => $plain_password,
        );

        $this->sendMessage($template, $context, $this->parameters['from_email']['confirmation'], (string) $user->getEmail());
    }
    /**
     * @param UserInterface $user
     * @throws \Throwable
     * @throws \Twig_Error_Loader
     * @throws \Twig_Error_Runtime
     * @throws \Twig_Error_Syntax
     */
    public function sendEmailChanged(UserInterface $user)
    {
        $template = '@FOSUser/Profile/email.html.twig';

        $url = $this->router->generate('fos_user_registration_confirm', array('token' => $user->getConfirmationToken()), UrlGeneratorInterface::ABSOLUTE_URL);

        $context = array(
            'user' => $user,
            'confirmationUrl' => $url,
        );

        $this->sendMessage($template, $context, $this->parameters['from_email']['confirmation'], (string) $user->getEmail());
    }
    /**
     * {@inheritdoc}
     */
    public function sendResettingEmailMessage(UserInterface $user)
    {
        $template = $this->parameters['template']['resetting'];
        $url = $this->router->generate('fos_user_resetting_reset', array('token' => $user->getConfirmationToken()), UrlGeneratorInterface::ABSOLUTE_URL);

        $context = array(
            'user' => $user,
            'confirmationUrl' => $url,
        );

        $this->sendMessage($template, $context, $this->parameters['from_email']['resetting'], (string) $user->getEmail());
    }
    public function sendPaymentEmail(Invoice $invoice,$url)
    {
        $template = 'invoice/email.html.twig';
        $context = array(
            'invoice' => $invoice,
            'paymentUrl' => $url,
        );
        $this->sendMessage($template, $context, $this->parameters['from_email']['confirmation'], (string) $invoice->getPrimaryEmail());
    }
    public function sendPaymentReceiptEmail(Invoice $invoice)
    {
        $template = 'invoice/payment.html.twig';
        $context = array(
            'payment' => $invoice->getFinalPayment(),

        );
        $this->sendMessage($template, $context, $this->parameters['from_email']['confirmation'], (string) $invoice->getPrimaryEmail());
    }
    public function sendNewUser(User $user,$url,$password, $contributor)
    {
        $template = 'email/new_model_user.html.twig';
        $context = array(
            'user' => $user,
            'url' => $url,
            'password' => $password,
            'contributor' => $contributor
        );
        $this->sendMessage($template, $context, $this->parameters['from_email']['confirmation'], (string) $user->getEmail());
    }

    public function sendExistingUserModel(User $user,$url,$password, $contributor)
    {
        $template = 'email/existing_model_user.html.twig';
        $context = array(
            'user' => $user,
            'url' => $url,
            'password' => $password,
            'contributor' => $contributor
        );
        $this->sendMessage($template, $context, $this->parameters['from_email']['confirmation'], (string) $user->getEmail());
    }
    public function sendWelcomeUser(User $user,$url)
    {
        $template = 'email/welcome.html.twig';
        $context = array(
            'user' => $user,
            'url' => $url,
        );
        $this->sendMessage($template, $context, $this->parameters['from_email']['confirmation'], (string) $user->getEmail());
    }

    public function sendNewAdmin(User $user,$url,$password)
    {
        $template = 'email/new_admin.html.twig';
        $context = array(
            'user' => $user,
            'url' => $url,
            'password' => $password
        );
        $this->sendMessage($template, $context, $this->parameters['from_email']['confirmation'], (string) $user->getEmail());
    }
    public function sendModelRelationship(Model $model,$url)
    {
        $user=$model->getUser();
        $template = 'email/new_model_relationship.html.twig';
        $context = array(
            'user' => $user,
            'model' => $model,
            'url' => $url,
        );
        $this->sendMessage($template, $context, $this->parameters['from_email']['confirmation'], (string) $user->getEmail());
    }
    public function sendConsultantEmail(Invoice $invoice)
    {
        $template = 'invoice/consultant_paid_email.html.twig';
        $context = array(
            'invoice' => $invoice,
        );

        $this->sendMessage($template, $context, $this->parameters['from_email']['confirmation'], (string) $invoice->getCreateBy()->getEmailCanonical());

        $this->sendMessage($template, $context, $this->parameters['from_email']['confirmation'], 'duncan@governorscamp.com');
    }
    public function sendClientEmail(Invoice $invoice)
    {
        $template = 'invoice/client_paid_email.html.twig';
        $context = array(
            'invoice' => $invoice,
        );
        $this->sendMessage($template, $context, $this->parameters['from_email']['confirmation'], (string) $invoice->getPrimaryEmail());
    }
    public function sendOTP(User $user, $OTP)
    {
        $template = 'user/verify.html.twig';
        $url =  $url = $this->router->generate('verify_edit', array(), UrlGeneratorInterface::ABSOLUTE_URL);
        $context = array(
            'user' => $user,
            'otp' => $OTP,
            'url' => $url
        );
        $this->sendMessage($template, $context, $this->parameters['from_email']['confirmation'], (string) $user->getEmail());
    }
    /**
     * @param UserInterface $user
     * @param $confirmationUrl
     * @param $toEmail
     * @throws \Throwable
     * @throws \Twig_Error_Loader
     * @throws \Twig_Error_Runtime
     * @throws \Twig_Error_Syntax
     */
    public function sendUpdateEmailConfirmation(UserInterface $user, $confirmationUrl, $toEmail)
    {
        $template = $this->parameters['template']['email_updating'];
        $context = array(
            'user' => $user,
            'confirmationUrl' => $confirmationUrl,
        );

        $this->sendMessage($template, $context, $this->parameters['from_email']['confirmation'], $toEmail);
    }
    public function sendBasketQuote(Cart $cart, $to, $url, $attachmentPath)
    {

        $template = 'email/basket_quote.html.twig';
        //$basket_dir = $this->getP
        $context = array(
            'cart' => $cart,
            'url' => $url,
            'basket_quote' => $attachmentPath
        );
        $this->sendMessage($template, $context, $this->parameters['from_email']['confirmation'], $to);
        $fileSystem = new Filesystem();
        $fileSystem->remove($attachmentPath);
    }
    public function sendContributorStockApproved(User $user, $url, $to )
    {
        $template = 'email/stock_approved.html.twig';
        $context = array(
            'user' => $user,
            'url' => $url
        );

        $this->sendMessage($template,$context,$this->parameters['from_email']['confirmation'],$to);
    }
    public function sendModelStockApproved( $url,$contributor, Model $model )
    {
        $template = 'email/model_stock_published.html.twig';

        $context = array(
            //'user' => $user,
            'url' => $url,
            'model'=>$model,
            'contributor' => $contributor
        );

        $this->sendMessage($template,$context,$this->parameters['from_email']['confirmation'],$model->getEmailAddress());
    }

    public function sendContributorAfterSaleEmail( User $contributor, InvoiceItems $invoiceItem )
    {
        $stock = $invoiceItem->getStock();
        $template = 'email/after_sale_email.html.twig';
        $type = $stock->getType()->getTitle() === 'video' ? 'video':'image';
        $url = $this->router->generate('all_purchases', array(), UrlGeneratorInterface::ABSOLUTE_URL);

        $context = array(
            //'user' => $user,
            'url' => $url,
            'size' => $invoiceItem->getFileSize(),
            'user' => $contributor,
            'type' => $type,
            'stock' => $stock,
            'amount' => $invoiceItem->getAmount(),
            'invoiceItem' => $invoiceItem
        );

        $this->sendMessage($template,$context,$this->parameters['from_email']['confirmation'],$contributor->getEmail());
    }
    public function sendModelAfterSaleEmail( User $model, Stock $stock, $amount,$file_size)
    {
        $template = 'email/model_after_sale_email.html.twig';

        $type = $stock->getType()->getTitle() === 'video' ? 'video':'image';

        $url = $this->router->generate('model_dashboard', array(), UrlGeneratorInterface::ABSOLUTE_URL);

        $context = array(
            'url' => $url,
            'type' => $type,
            'user' => $model,
            'stock' => $stock,
            'amount' => $amount,
            'file_size' => $file_size,
        );

        $this->sendMessage($template,$context,$this->parameters['from_email']['confirmation'],$model->getEmail());
    }

    public function sendContributorStockRejected( $url,$contributor,$reason, $to )
    {
        $template = 'email/stock_rejected.html.twig';

        $context = array(
            'reason' => $reason,
            'url' => $url,
            'contributor' => $contributor
        );

        $this->sendMessage($template,$context,$this->parameters['from_email']['confirmation'],$to);
    }

    public function sendExclusiveLicenceExpiryNotification( $url,Stock $stock, User $member,$days )
    {
        if($days ===14)
        {
            $duration = "in 2 weeks time";
        }else if( $days === 7){

            $duration = "in 1 week time";
        }else if( $days === 3){
            $duration = "in 3 days time";

        }else if( $days === 0){

            $duration = "today!";
        }
        else if( $days < 0){

            $duration = "today!";
        }
        $template = 'email/exclusive_expiry_notification.html.twig';

        $context = array(
            'duration' => $duration,
            'url' => $url,
            'user' => $member,
            'stock' => $stock
        );

        $this->sendMessage($template,$context,$this->parameters['from_email']['confirmation'],$member->getEmail());
    }
    public function sendExclusiveLicenceContract( $url, User $contributor )
    {
        if ($contributor->getIsExclusive()){
            $template = 'email/contributor_exclusive_approve.html.twig';
        }else{
            $template = 'email/contributor_exclusive_terminate.html.twig';
        }

        $context = array(
            'url' => $url,
            'user' => $contributor,
        );

        $this->sendMessage($template,$context,$this->parameters['from_email']['confirmation'],$contributor->getEmail());
    }
    public function sendContributorApproved(User $user, $url, $to )
    {
        $template = 'email/contributor_approved.html.twig';
        $context = array(
            'user' => $user,
            'url' => $url
        );

        $this->sendMessage($template,$context,$this->parameters['from_email']['confirmation'],$to);
    }
    public function sendContributorRejected(User $user, $url,$reasons=null, $to )
    {
        $template = 'email/contributor_rejected.html.twig';
        $context = array(
            'contributor' => $user,
            'url' => $url,
            'reasons'=>$reasons
        );

        $this->sendMessage($template,$context,$this->parameters['from_email']['confirmation'],$to);
    }
    public function sendContactUsReply($url,ContactUsMessages $contactUsMessage)
    {
        $template = 'email/contact_us_reply.html.twig';
        $context = array(
            'url' => $url,
            'message'=>$contactUsMessage
        );

        $this->sendMessage($template,$context,$this->parameters['from_email']['confirmation'],$contactUsMessage->getEmail());
    }
    public function sendMemberSuspended(User $user, $url)
    {
        $template = $user->getSuspendedMember() ? 'email/member_suspend.html.twig' : 'email/member_reactivation.html.twig';
        $context = array(
            'url' => $url,
            'user'=>$user
        );

        $this->sendMessage($template,$context,$this->parameters['from_email']['confirmation'],$user->getEmail());
    }
    public function sendContributorSuspended(User $user, $url)
    {
        $template = $user->getSuspendedMember() ? 'email/contributor_suspend.html.twig' : 'email/contributor_reactivate.html.twig';
        $context = array(
            'url' => $url,
            'user'=>$user
        );

        $this->sendMessage($template,$context,$this->parameters['from_email']['confirmation'],$user->getEmail());
    }

    public function sendSubscriptionMail($contributors, ContributorEmail $contributorEmail)
    {
        $template = 'email/contributor_subscription.html.twig';
        $context = array(
            'contributorEmail' => $contributorEmail
        );

        $this->sendMessage($template,$context,$this->parameters['from_email']['confirmation'],$contributors);
    }

    /**
     * @param $templateName
     * @param $context
     * @param $fromEmail
     * @param $toEmail
     * @throws \Throwable
     * @throws \Twig_Error_Loader
     * @throws \Twig_Error_Runtime
     * @throws \Twig_Error_Syntax
     */
    protected function sendMessage($templateName, $context, $fromEmail, $toEmail)
    {
        $template = $this->twig->load($templateName);
        $subject = $template->renderBlock('subject', $context);
        $textBody = $template->renderBlock('body_text', $context);

        $htmlBody = '';

        if ($template->hasBlock('body_html', $context)) {
            $htmlBody = $template->renderBlock('body_html', $context);
        }

        $message = (new \Swift_Message())
            ->setSubject($subject)
            ->setFrom($fromEmail)
            ->setTo($toEmail);

        if (array_key_exists('basket_quote', $context)){

            $message->attach(\Swift_Attachment::fromPath($context['basket_quote'],'application/pdf')->setFilename("Basket details.pdf"));
        }

        if (!empty($htmlBody)) {
            $message->setBody($htmlBody, 'text/html')
                ->addPart($textBody, 'text/plain');
        } else {
            $message->setBody($textBody);
        }

        $this->mailer->send($message);
    }
    public function send($message)
    {

        $this->mailer->send($message);
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit