-
Notifications
You must be signed in to change notification settings - Fork 0
/
Bootstrap.php
128 lines (105 loc) · 4.21 KB
/
Bootstrap.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
<?php
/**
* @author See AUTHORS file.
*/
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
protected function _initDefaultAutoloader()
{
$autoloader = new Zend_Application_Module_Autoloader(array(
'namespace' => 'Default',
'basePath' => APPLICATION_PATH . DIRECTORY_SEPARATOR .
'modules' . DIRECTORY_SEPARATOR . 'default',
));
}
protected function _initLanguages()
{
$languageDir = APPLICATION_PATH . DIRECTORY_SEPARATOR . 'languages';
Zend_Registry::set('languageDir', $languageDir);
$translate = new Zend_Translate(
'gettext', $languageDir
);
$translate->addTranslation($languageDir . DIRECTORY_SEPARATOR . 'en_GB.mo', 'en');
$translate->addTranslation($languageDir . DIRECTORY_SEPARATOR . 'fr_FR.mo', 'fr');
$translate->addTranslation($languageDir . DIRECTORY_SEPARATOR . 'it_IT.mo', 'it');
$translate->addTranslation($languageDir . DIRECTORY_SEPARATOR . 'ru_RU.mo', 'ru');
$locale = new Zend_Session_Namespace('locale');
if (!$locale->value) {
$config_model = new Default_Model_Configuration();
$locale_config = $config_model->getKey('locale');
$locale->value = $locale_config ? $locale_config : 'en';
}
$translate->setLocale($locale->value);
Zend_Registry::set('tr', $translate);
Zend_Registry::set('Zend_Translate', $translate);
Zend_Registry::set('Zend_Locale', $locale);
}
protected function _initConfig()
{
Zend_Registry::set('config', new Zend_Config($this->getOptions()));
$localConfigPath = CUSTOM_PATH .
DIRECTORY_SEPARATOR . 'Config' . DIRECTORY_SEPARATOR;
Zend_Registry::set('localConfigPath', $localConfigPath);
}
protected function _initRoutes()
{
// Ensure front controller instance is present, and fetch it
$this->bootstrap('FrontController');
$fc = $this->getResource('FrontController');
$this->bootstrap('Config');
//add routing
$routes = new Zend_Config_Ini(
APPLICATION_PATH . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'routes.ini'
);
$fc->getRouter()->addConfig($routes);
}
protected function _initExtraHelpers()
{
$viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer');
$viewRenderer->initView();
$viewRenderer->view->addHelperPath(
'echolibre' . DIRECTORY_SEPARATOR .
'View' . DIRECTORY_SEPARATOR. 'Helper',
'Zend_View_Helper_FormStatic'
);
}
protected function _initAcl()
{
$acl = new Lupin_Acl;
$aclHelper = new Lupin_Controller_Action_Helper_Acl(null, array('acl' => $acl));
Zend_Controller_Action_HelperBroker::addHelper($aclHelper);
//$user = Zend_Auth::getInstance()->getIdentity();
//if (!is_null($user)) {
// $this->bootstrap('FrontController');
// $fc = $this->getResource('FrontController');
// $fc->registerPlugin(new Lupin_Plugin_TimeoutHandler);
//}
}
protected function _initSsl()
{
// Add a config option to enforce ssl
//$sslHelper = new Lupin_Controller_Action_Helper_Ssl();
//Zend_Controller_Action_HelperBroker::addHelper($sslHelper);
}
protected function _initNavigation()
{
// Figure out if we want this.
return;
$this->bootstrap('view');
$view = $this->getResource('view');
$user = Zend_Auth::getInstance()->getIdentity();
include APPLICATION_PATH . DIRECTORY_SEPARATOR . 'configs' . DIRECTORY_SEPARATOR . 'navigation.php';
$navigation = new Zend_Navigation($items);
$view->navigation($navigation)->menu()->setUlClass('nav');
}
protected function _initDb()
{
$this->bootstrap('Config');
Zend_Registry::set('db', $this->getPluginResource('db')->getDbAdapter());
}
protected function _initApiUrl()
{
$int = Frapi_Internal::getCachedDbConfig();
Frapi_Internal::$_hash = isset($int['api_url']) ? hash('sha1', $int['api_url']) : false;
}
}