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); }
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']; } }
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'; }
<?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');
$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();