Exemple #1
0
    /**
     * Setup mail transport
     * 
     * @param  array $options 
     * @return void
     */
    protected function _setupTransport(array $options)
    {
    	if(!isset($options['type'])) {
    		$options['type'] = 'sendmail';
    	}
    	
        $transportName = $options['type'];
        if(!Loader\Autoloader::autoload($transportName)) {
            $transportName = ucfirst(strtolower($transportName));

            if(!Loader\Autoloader::autoload($transportName)) {
                $transportName = 'Zend\\Mail\\Transport\\' . $transportName;
                if(!Loader\Autoloader::autoload($transportName)) {
                    throw new Exception\InitializationException(
                        "Specified Mail Transport '{$transportName}'"
                        . 'could not be found'
                    );
                }
            }
        }
        
        unset($options['type']);
        
        switch($transportName) {
            case 'Zend\\Mail\\Transport\\Smtp':
                if(!isset($options['host'])) {
                    throw new Exception\InitializationException(
                        'A host is necessary for smtp transport,'
                        .' but none was given');
                }
                
                $transport = new $transportName($options['host'], $options);
                break;
            case 'Zend\\Mail\\Transport\\Sendmail':
            default:
                $transport = new $transportName($options);
                break;
        }

        return $transport;
    }
Exemple #2
0
 public function testAutoloadShouldReturnTrueIfAutoloaderImplementationReturnsNonFalseValue()
 {
     $this->autoloader->pushAutoloader(new TestAutoloader());
     $this->assertTrue(ZendAutoloader::autoload('ZendLoaderAutoloader_Foo_Bar'));
 }