Example #1
0
 /**
  * Get the settings object
  */
 public function settings()
 {
     if (empty($this->__settings)) {
         $this->__settings = \Mailer\Models\Settings::fetch();
     }
     return $this->__settings;
 }
Example #2
0
 protected function displayCreate()
 {
     $mailer_settings = \Mailer\Models\Settings::fetch();
     if (!$mailer_settings->emails_registered || date('Y-m-d', time()) > date('Y-m-d', $mailer_settings->emails_registered)) {
         $result = \Dsc\System::instance()->trigger('onSystemRegisterEmails');
         $mailer_settings->{'emails_registered'} = time();
         $mailer_settings->save();
         $this->app->reroute('/admin/mailer/template/create');
     }
     $this->app->set('meta.title', 'Create Templates | Mailer');
     $view = \Dsc\System::instance()->get('theme');
     echo $view->render('Mailer\\Admin\\Views::templates/create.php');
 }
Example #3
0
 public function beforeRoute()
 {
     parent::beforeRoute();
     $settings = \Admin\Models\Settings::fetch();
     if (empty($settings->admin_menu_id)) {
         $this->session->set('rebuild-menu.redirect', '/admin');
         return $this->app->reroute('/admin/system/rebuildAdminMenu');
     }
     if (class_exists('\\Mailer\\Factory')) {
         $mailer_settings = \Mailer\Models\Settings::fetch();
         if (!$mailer_settings->emails_registered || date('Y-m-d', time()) > date('Y-m-d', $mailer_settings->emails_registered)) {
             $result = \Dsc\System::instance()->trigger('onSystemRegisterEmails');
             $mailer_settings->{'emails_registered'} = time();
             $mailer_settings->save();
         }
     }
 }
Example #4
0
 public function initialize()
 {
     $this->setDefaults(array('namespace' => '\\Mailer\\Admin\\Controllers', 'url_prefix' => '/admin/mailer'));
     $this->addSettingsRoutes();
     $this->add('', 'GET', array('controller' => 'Home', 'action' => 'index'));
     $this->addCrudGroup('Templates', 'Template');
     $this->addCrudGroup('Emails', 'Email');
     $this->addCrudGroup('Events', 'Event');
     $this->addCrudGroup('Blocks', 'Block');
     $this->add('/template/create/@event_id', 'GET', array('controller' => 'Template', 'action' => 'createFromEvent'));
     $this->add('/template/create/@event_id', 'POST', array('controller' => 'Template', 'action' => 'saveFromEvent'));
     $this->add('/template/preview/@id', 'GET|POST', array('controller' => 'Preview', 'action' => 'index'));
     $this->add('/template/preview/@id/email', 'GET|POST', array('controller' => 'Preview', 'action' => 'email'));
     $this->add('/contentvariants/quickadd/@id', 'GET', array('controller' => 'ContentVariant', 'action' => 'quickAdd'));
     $this->app->route('GET /admin/mailer/registerEmails', function ($app) {
         $mailer_settings = \Mailer\Models\Settings::fetch();
         $result = \Dsc\System::instance()->trigger('onSystemRegisterEmails');
         $mailer_settings->{'emails_registered'} = time();
         $mailer_settings->save();
         $app->reroute('/admin/mailer/templates');
     });
 }
Example #5
0
 public function registerEmails()
 {
     if (class_exists('\\Mailer\\Factory')) {
         $mailer_settings = \Mailer\Models\Settings::fetch();
         $result = \Dsc\System::instance()->trigger('onSystemRegisterEmails');
         $mailer_settings->{'emails_registered'} = time();
         $mailer_settings->save();
     }
     return $this->app->reroute('/admin');
 }
Example #6
0
<?php

$settings = \Mailer\Models\Settings::fetch();
?>

<div class="row">
    <div class="col-md-2">
        
        <h3>Settings</h3>
                
    </div>
    <!-- /.col-md-2 -->
                
    <div class="col-md-10">
    
        <div class="form-group">
            <label>From Name</label>
            <input type="text" name="from_name" placeholder="e.g. MyDomain.com" value="<?php 
echo $flash->old('from_name');
?>
" class="form-control" />
            <p class="help-block">Leave blank to use the default, which is currently: <?php 
echo $settings->{'general.from_name'} ? $settings->{'general.from_name'} : 'n/a';
?>
</p>
        </div>
        <!-- /.form-group -->
                 
        <div class="form-group">
            <label>From Email</label>
            <input type="text" name="from_email" placeholder="e.g. noreply@mydomain.com" value="<?php 
Example #7
0
 /**
  * Utility function to quickly send an email
  *
  * @param string $fromEmail
  *            From email address
  * @param string $fromName
  *            From name
  * @param mixed $recipientEmails
  *            Recipient email address(es)
  * @param string $subject
  *            email subject
  * @param mixed $body
  *            Message body.  If an array, [0] => html, [1] => plain text
  * @param boolean $mode
  *            false = plain text, true = HTML
  * @param mixed $cc
  *            CC email address(es)
  * @param mixed $bcc
  *            BCC email address(es)
  * @param mixed $attachment
  *            Attachment file name(s)
  * @param mixed $replyTo
  *            Reply to email address(es)
  * @param mixed $replyToName
  *            Reply to name(s)
  *
  * @return boolean True on success
  */
 public static function send($recipientEmails, $subject, $body, $fromEmail = null, $fromName = null, $mode = true, $cc = null, $bcc = null, $attachment = null, $replyTo = null, $replyToName = null)
 {
     $settings = \Mailer\Models\Settings::fetch();
     $email = new \Mailer\Email();
     $email->setSubject($subject);
     $email->setBody($body);
     // Are we sending the email as HTML?
     if (!$mode) {
         $email->IsHTML(false);
     }
     $email->addRecipient($recipientEmails);
     $email->addCC($cc);
     $email->addBCC($bcc);
     $email->addAttachment($attachment);
     if (is_array($replyTo)) {
         foreach ($replyTo as $key => $replyToEmail) {
             $replyName = $replyToEmail;
             if (!empty($replyToName[$key])) {
                 $replyName = $replyToName[$key];
             }
             $email->addReplyTo(array($replyToEmail, $replyName));
         }
     } elseif (isset($replyTo)) {
         $replyName = !empty($replyToName) ? $replyToName : $replyTo;
         $email->addReplyTo(array($replyTo, $replyName));
     }
     if (empty($fromEmail)) {
         $fromEmail = $settings->{'general.from_email'};
     }
     if (empty($fromName)) {
         $fromName = $settings->{'general.from_name'};
     }
     // Add sender to replyTo only if no replyTo received
     $autoReplyTo = empty($email->ReplyTo) ? true : false;
     $email->setSender(array($fromEmail, $fromName, $autoReplyTo));
     return static::queue($email);
 }