a1512958e600be69074e97fbb7139c73300f3717
[zf2.biz/galerie.git] / module / Galerie / Module.php
1 <?php
2
3 namespace Galerie;
4
5 use Zend\ModuleManager\Feature\AutoloaderProviderInterface;
6 use Zend\ModuleManager\Feature\ConfigProviderInterface;
7 use Zend\ModuleManager\Feature\BootstrapListenerInterface;
8 use Zend\ModuleManager\Feature\ServiceProviderInterface;
9 use Zend\ModuleManager\Feature\ViewHelperProviderInterface;
10
11 use Zend\EventManager\EventInterface;
12 use Zend\Mvc\ModuleRouteListener;
13
14
15 use Galerie\Model\GalerieTable;
16 use Galerie\Model\GalerieInfoTable;
17 use Galerie\Form\GalerieForm;
18 use Galerie\Export\GalerieWorkbook;
19 use Galerie\Mail\MailSender;
20
21 use Custom\View\Helper\Format;
22 use Custom\Model\PairManager;
23
24
25 class Module implements
26     AutoloaderProviderInterface,
27     ConfigProviderInterface,
28     BootstrapListenerInterface,
29     ServiceProviderInterface,
30     ViewHelperProviderInterface
31 {
32
33     public function getAutoloaderConfig() 
34     { 
35         return array( 
36             'Zend\Loader\ClassMapAutoloader' => array( 
37                 __DIR__ . '/autoload_classmap.php', 
38             ), 
39             'Zend\Loader\StandardAutoloader' => array( 
40                 'namespaces' => array( 
41                     __NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__, 
42                 ), 
43             ), 
44         ); 
45     }
46
47     public function getConfig()
48     {
49         return include __DIR__ . '/config/module.config.php';
50     }
51
52     public function onBootstrap(EventInterface $e)
53     {
54         $translator = $e->getApplication()->getServiceManager()->get('translator');
55         \Zend\Validator\AbstractValidator::setDefaultTranslator($translator, 'val');
56     }
57
58     public function getServiceConfig()
59     {
60         $config = $this->getConfig();
61         return array(
62             'factories' => array(
63                 'Galerie\Model\GalerieTable' => function($sm) {
64                     return new GalerieTable(
65                         $sm->get('Zend\Db\Adapter\Adapter')
66                     );
67                 },
68                 'Galerie\Model\GalerieInfoTable' => function($sm) {
69                     return new GalerieInfoTable(
70                         $sm->get('Zend\Db\Adapter\Adapter')
71                     );
72                 },
73                 'Galerie\Form\GalerieForm' => function($sm) {
74                     $result = new GalerieForm;
75                     $result->setTranslator($sm->get('translator'), 'galerie');
76                     $result->initialize();
77                     return $result;
78                 },
79                 'Galerie\Export\GalerieWorkbook' => function ($sm) {
80                     return new GalerieWorkbook;
81                 },
82                 'Galerie\Mail\MailSender' => function($sm) use ($config) {
83                     $result = new MailSender;
84                     $result::initialize($config['mail']);
85                     return $result;
86                 },
87                 'Galerie\Model\GaleriePairTable' => function($sm) {
88                     return new PairManager(
89                         $sm->get('Zend\Db\Adapter\Adapter'),
90                         'gallery'
91                     );
92                 },
93             ),
94         );
95     }
96
97     public function getViewHelperConfig() 
98     { 
99         return array( 
100             'factories' => array( 
101                 'format' => function($sm) { 
102                     return new Format;
103                 }, 
104             ), 
105         ); 
106     } 
107     
108     
109     
110     
111 }