webservice/application/Bootstrap.php

136 lines
3.6 KiB
PHP
Raw Normal View History

2010-08-30 07:49:44 +00:00
<?php
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
//Initialisation global des paramètres de vue
protected function _initViewSettings()
{
$this->bootstrap('view');
$view = $this->getResource('view');
$view->setEncoding('UTF-8');
$view->doctype('XHTML1_STRICT');
$view->headMeta()
->appendHttpEquiv('Content-Type', 'text/html; charset=UTF-8')
->appendHttpEquiv('Content-Language', 'fr-FR');
$view->headLink()
2010-12-13 16:54:04 +00:00
->appendStylesheet('/styles/reset.css', 'all')
2010-09-20 15:08:45 +00:00
->appendStylesheet('/styles/main.css', 'all');
$view->headScript()->appendFile('/scripts/jquery.js', 'text/javascript');
$view->headScript()->appendFile('/scripts/scripts.js', 'text/javascript');
2010-08-30 07:49:44 +00:00
$view->headTitle('WsEntreprise');
2010-09-20 15:08:45 +00:00
2010-08-30 07:49:44 +00:00
}
//Initialisation global des paramètres de log
protected function _initLogging()
{
require_once 'Zend/Log.php';
require_once 'Zend/Mail.php';
2010-09-14 16:36:59 +00:00
2010-10-26 13:21:59 +00:00
$WsLogger = new Zend_Log();
2010-09-14 16:36:59 +00:00
$WsFileWriter = new Zend_Log_Writer_Stream(LOG_PATH.'/wsentreprise.log');
2010-09-14 16:36:59 +00:00
$WsFileWriter->addFilter(Zend_Log::INFO);
$WsLogger->addWriter($WsFileWriter);
2010-10-26 13:21:59 +00:00
if (APPLICATION_ENV == 'production')
{
$WsMail = new Zend_Mail();
$WsMail->setFrom('production@scores-decisions.com')
->addTo('mricois@scores-decisions.com');
$WsMailWriter = new Zend_Log_Writer_Mail($WsMail);
$WsMailWriter->setSubjectPrependText('ERREUR');
$WsMailWriter->addFilter(Zend_Log::ERR);
$WsLogger->addWriter($WsMailWriter);
}
$AppFileWriter = new Zend_Log_Writer_Stream(LOG_PATH.'/application.log');
2010-09-14 16:36:59 +00:00
$AppFileWriter->addFilter(Zend_Log::ERR);
$AppLogger = new Zend_Log();
$AppLogger->addWriter($AppFileWriter);
2010-08-30 07:49:44 +00:00
2010-09-14 16:36:59 +00:00
Zend_Registry::set('WsLogger', $WsLogger);
Zend_Registry::set('log', $AppLogger);
2010-08-30 07:49:44 +00:00
}
protected function _initNavigation()
{
$view = $this->bootstrap('layout')->getResource('layout')->getView();
2011-02-08 09:27:36 +00:00
//@todo : gérer les versions et les clients
$menu = array(
array(
'label' => 'Accueil',
'controller' => 'index',
'action' => 'index',
),
array(
'label' => 'Documentation',
'controller' => 'documentation',
'action' => 'index',
'pages' => array(
array(
'label' => 'Entreprise',
'controller' => 'documentation',
'action' => 'index',
),
array(
'label' => 'Code erreurs/messages',
'controller' => 'documentation',
'action' => 'erreur',
),
array(
'label' => 'Exemples',
'controller' => 'documentation',
'action' => 'exemples',
),
),
),
2010-12-13 16:54:04 +00:00
array(
2010-12-14 10:36:48 +00:00
'label' => 'Démonstration',
2010-12-13 16:54:04 +00:00
'controller' => 'demo',
'action' => 'index',
),
);
$view->navigation(new Zend_Navigation($menu));
}
2010-10-26 13:21:59 +00:00
protected function _initDb(){}
2011-02-03 14:04:40 +00:00
protected function _initRouter()
{
$this->bootstrap('frontController');
$front = $this->getResource('frontController');
$router = $front->getRouter();
//Route pour WS Entreprise
$route = new Zend_Controller_Router_Route('entreprise/:version', array(
2011-02-03 14:04:40 +00:00
'controller' => 'service',
'action' => 'index',
'version' => 'v0.2'
));
$router->addRoute('entreprise', $route);
//Route pour WS Interne
$route = new Zend_Controller_Router_Route('interne/:version', array(
'controller' => 'sinterne',
'action' => 'index',
'version' => 'v0.2'
2011-02-03 14:04:40 +00:00
));
$router->addRoute('interne', $route);
2011-02-03 14:04:40 +00:00
//Route pour WS Clients
$route = new Zend_Controller_Router_Route('clients/:client/:version', array(
'controller' => 'sclients',
'action' => 'index',
'client' => '',
'version' => ''
));
$router->addRoute('client', $route);
2011-02-03 14:04:40 +00:00
return $router;
}
2010-08-30 07:49:44 +00:00
}