Ejemplo n.º 1
0
 public static function send($viewPath, $data, $callback)
 {
     $config = Bootstrap::get('config');
     $mailer = Bootstrap::get('mailer');
     if (!$mailer) {
         throw new InvalidArgumentException(__t('mail_configuration_no_defined'));
     }
     $DirectusSettingsTableGateway = new \Zend\Db\TableGateway\TableGateway('directus_settings', Bootstrap::get('zendDb'));
     $rowSet = $DirectusSettingsTableGateway->select();
     $settings = [];
     foreach ($rowSet as $setting) {
         $settings[$setting['collection']][$setting['name']] = $setting['value'];
     }
     $instance = new static($mailer, $settings);
     $message = Swift_Message::newInstance();
     // default mail from address
     $mailConfig = $config['mail'];
     $message->setFrom($mailConfig['from']);
     call_user_func($callback, $message);
     if ($message->getBody() == null) {
         // Slim Extras View twig act weird on this version
         $viewContent = $instance->getViewContent($viewPath, $data);
         $message->setBody($viewContent, 'text/html');
     }
     $instance->sendMessage($message);
 }
Ejemplo n.º 2
0
 public function __construct($mailer)
 {
     $this->mailer = $mailer;
     $DirectusSettingsTableGateway = new \Zend\Db\TableGateway\TableGateway('directus_settings', Bootstrap::get('zendDb'));
     $rowSet = $DirectusSettingsTableGateway->select();
     foreach ($rowSet as $setting) {
         $this->settings[$setting['collection']][$setting['name']] = $setting['value'];
     }
 }
Ejemplo n.º 3
0
 public function __construct()
 {
     parent::__construct(false);
     // @todo: global config object
     $DirectusSettingsTableGateway = new \Zend\Db\TableGateway\TableGateway('directus_settings', Bootstrap::get('zendDb'));
     $rowSet = $DirectusSettingsTableGateway->select();
     foreach ($rowSet as $setting) {
         $this->settings[$setting['collection']][$setting['name']] = $setting['value'];
     }
     $this->setFrom('*****@*****.**', 'Directus');
     $this->addReplyTo('*****@*****.**', 'No Reply');
     $this->headers[] = 'X-Mailer: PHP/' . phpversion();
     $this->headers[] = 'MIME-Version: 1.0';
     $this->ContentType = 'text/html';
 }
Ejemplo n.º 4
0
<?php

/**
 * Issue SELECT command through adapter using name based container paramaterization
 */
$adapter = (include file_exists('bootstrap.php') ? 'bootstrap.php' : 'bootstrap.dist.php');
refresh_data($adapter);
$artistTable = new Zend\Db\TableGateway\TableGateway('artist', $adapter);
$rowset = $artistTable->select(array('id' => 2));
$row = $rowset->current();
$name = $row['name'];
$name2 = $row->name;
assert_example_works($name == 'Linkin Park' && $name2 == 'Linkin Park');
Ejemplo n.º 5
0
     $authToken = $app->request()->get('access_token');
 } elseif ($headers->has('Php-Auth-User')) {
     $authUser = $headers->get('Php-Auth-User');
     $authPassword = $headers->get('Php-Auth-Pw');
     if ($authUser && empty($authPassword)) {
         $authToken = $authUser;
     }
 } elseif ($headers->has('Authorization')) {
     $authorizationHeader = $headers->get('Authorization');
     if (preg_match("/Bearer\\s+(.*)\$/i", $authorizationHeader, $matches)) {
         $authToken = $matches[1];
     }
 }
 if ($authToken) {
     $DirectusUsersTableGateway = new \Zend\Db\TableGateway\TableGateway('directus_users', $ZendDb);
     $user = $DirectusUsersTableGateway->select(['token' => $authToken]);
     $userFound = $user->count() > 0 ? true : false;
     if (!$userFound) {
         $app->halt(401, __t('you_must_be_logged_in_to_access_the_api'));
     }
     $user = $user->toArray();
     $user = reset($user);
     // ------------------------------
     // Check if group needs whitelist
     $groupId = $user['group'];
     $directusGroupsTableGateway = new DirectusGroupsTableGateway($acl, $ZendDb);
     if (!$directusGroupsTableGateway->acceptIP($groupId, $app->request->getIp())) {
         $app->contentType('application/javascript');
         $app->response->setStatus(401);
         JsonView::render(['message' => 'Request not allowed from IP address', 'success' => false]);
         $app->stop();