/** * Loads the Swift mailer */ public static function enableMailer() { if (!class_exists('Swift_Message')) { Swift::registerAutoload(); sfMailer::initialize(); } }
protected function initializeMailer() { require_once sfConfig::get('sf_symfony_lib_dir') . '/vendor/swiftmailer/classes/Swift.php'; Swift::registerAutoload(); sfMailer::initialize(); $config = sfFactoryConfigHandler::getConfiguration($this->configuration->getConfigPaths('config/factories.yml')); return new $config['mailer']['class']($this->dispatcher, $config['mailer']['param']); }
} $class = sfConfig::get('sf_factory_controller', 'sfFrontWebController'); $this->factories['controller'] = new $class($this); $class = sfConfig::get('sf_factory_request', 'sfWebRequest'); $this->factories['request'] = new $class($this->dispatcher, array(), array(), sfConfig::get('sf_factory_request_parameters', array('logging' => '1', 'path_info_array' => 'SERVER', 'path_info_key' => 'PATH_INFO', 'relative_url_root' => NULL, 'formats' => array('txt' => 'text/plain', 'js' => array(0 => 'application/javascript', 1 => 'application/x-javascript', 2 => 'text/javascript'), 'css' => 'text/css', 'json' => array(0 => 'application/json', 1 => 'application/x-json'), 'xml' => array(0 => 'text/xml', 1 => 'application/xml', 2 => 'application/x-xml'), 'rdf' => 'application/rdf+xml', 'atom' => 'application/atom+xml'), 'no_script_name' => false)), sfConfig::get('sf_factory_request_attributes', array())); $class = sfConfig::get('sf_factory_response', 'sfWebResponse'); $this->factories['response'] = new $class($this->dispatcher, sfConfig::get('sf_factory_response_parameters', array_merge(array('http_protocol' => isset($_SERVER['SERVER_PROTOCOL']) ? $_SERVER['SERVER_PROTOCOL'] : null), array('logging' => '1', 'charset' => 'utf-8', 'send_http_headers' => false)))); if ($this->factories['request'] instanceof sfWebRequest && $this->factories['response'] instanceof sfWebResponse && 'HEAD' == $this->factories['request']->getMethod()) { $this->factories['response']->setHeaderOnly(true); } $class = sfConfig::get('sf_factory_routing', 'sfPatternRouting'); $cache = null; $this->factories['routing'] = new $class($this->dispatcher, $cache, array_merge(array('auto_shutdown' => false, 'context' => $this->factories['request']->getRequestContext()), sfConfig::get('sf_factory_routing_parameters', array('load_configuration' => true, 'suffix' => '', 'default_module' => 'default', 'default_action' => 'index', 'debug' => '1', 'logging' => '1', 'generate_shortest_url' => false, 'extra_parameters_as_query_string' => false, 'cache' => NULL)))); if ($parameters = $this->factories['routing']->parse($this->factories['request']->getPathInfo())) { $this->factories['request']->addRequestParameters($parameters); } $class = sfConfig::get('sf_factory_storage', 'sfSessionTestStorage'); $this->factories['storage'] = new $class(array_merge(array('auto_shutdown' => false, 'session_id' => $this->getRequest()->getParameter('symfony')), sfConfig::get('sf_factory_storage_parameters', array('session_name' => 'symfony', 'session_path' => '/var/www/production/sfweb/www/cache/symfony-for-release/1.3.4/test/functional/fixtures/cache/frontend/test/test/sessions')))); $class = sfConfig::get('sf_factory_user', 'myUser'); $this->factories['user'] = new $class($this->dispatcher, $this->factories['storage'], array_merge(array('auto_shutdown' => false, 'culture' => $this->factories['request']->getParameter('sf_culture')), sfConfig::get('sf_factory_user_parameters', array('timeout' => 1800, 'logging' => '1', 'use_flash' => true, 'default_culture' => 'en')))); if (sfConfig::get('sf_cache')) { $class = sfConfig::get('sf_factory_view_cache', 'sfFileCache'); $cache = new $class(sfConfig::get('sf_factory_view_cache_parameters', array('automatic_cleaning_factor' => 0, 'cache_dir' => '/var/www/production/sfweb/www/cache/symfony-for-release/1.3.4/test/functional/fixtures/cache/frontend/test/template', 'lifetime' => 86400, 'prefix' => '/var/www/production/sfweb/www/cache/symfony-for-release/1.3.4/test/functional/fixtures/apps/frontend/template'))); $this->factories['viewCacheManager'] = new sfViewCacheManager($this, $cache, array('cache_key_use_vary_headers' => true, 'cache_key_use_host_name' => true)); } else { $this->factories['viewCacheManager'] = null; } require_once sfConfig::get('sf_symfony_lib_dir') . '/vendor/swiftmailer/classes/Swift.php'; Swift::registerAutoload(); sfMailer::initialize(); $this->setMailerConfiguration(array_merge(array('class' => sfConfig::get('sf_factory_mailer', 'sfMailer')), sfConfig::get('sf_factory_mailer_parameters', array('logging' => '1', 'charset' => 'utf-8', 'delivery_strategy' => 'realtime', 'transport' => array('class' => 'Swift_SmtpTransport', 'param' => array('host' => 'localhost', 'port' => 25, 'encryption' => NULL, 'username' => NULL, 'password' => NULL))))));
/** * Retrieves the mailer. * * @return sfMailer The current sfMailer implementation instance. */ public function getMailer() { if (!isset($this->factories['mailer'])) { Swift::registerAutoload(); sfMailer::initialize(); $this->factories['mailer'] = new $this->mailerConfiguration['class']($this->dispatcher, $this->mailerConfiguration); } return $this->factories['mailer']; }