Exemplo n.º 1
0
 public function createService(ServiceLocatorInterface $serviceLocator)
 {
     /* @var $config \EscoMail\Options\ModuleOptions */
     $config = $serviceLocator->get('EscoMail\\Options');
     if ($config->getTransportClass()) {
         /* @var $transport TransportInterface */
         $transport = $this->transportPluginManager->get($config->getTransportClass());
         if ($transport instanceof FileTransport) {
             $transportOptions = $config->getTransportOptions();
             if (isset($transportOptions['path'])) {
                 if (!file_exists($transportOptions['path'])) {
                     $oldUmask = umask(0);
                     mkdir($transportOptions['path'], 0777, true);
                     umask($oldUmask);
                 }
             }
         }
         if ($config->getTransportOptions()) {
             $options = $this->getOptionsObject($transport, $config->getTransportOptions());
             if (method_exists($transport, 'setOptions')) {
                 $transport->setOptions($options);
             } elseif (method_exists($transport, 'setParameters')) {
                 $transport->setParameters($options);
             }
         }
         return $transport;
     } else {
         throw new \RuntimeException('Transport Class config not set');
     }
 }
Exemplo n.º 2
0
 public function testValidatePlugin()
 {
     $plugin = new PluginManager();
     $transport = $this->getMock('Zend\\Mail\\Transport\\File');
     $result = $plugin->validatePlugin($transport);
     $this->assertNull($result);
     $this->setExpectedException('Zend\\Mail\\Exception\\RuntimeException');
     $plugin->validatePlugin(new \stdClass());
 }