<?php
error_reporting(E_ALL|E_STRICT);
date_default_timezone_set('Europe/Paris');
set_include_path('.'
. PATH_SEPARATOR . './library/'
. PATH_SEPARATOR . './languages/'
. PATH_SEPARATOR . './application/models/'
. PATH_SEPARATOR . get_include_path());
// Define path to application directory
defined('APPLICATION_PATH')
|| define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/application'));
// Define application environment
defined('APPLICATION_ENV')
|| define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));
require_once 'Zend/Loader.php';
// Require_once 'Zend/Controller/Front.php';
require_once "Zend/Controller/Front.php";
require_once "Zend/Config/Ini.php";
require_once "Zend/Registry.php";
require_once "Zend/Db.php";
require_once "Zend/Db/Table.php";
require_once "Zend/Auth.php";
require_once "Zend/Auth/Storage/Session.php";
require_once "Zend/Form.php";
require_once "LPM/Translate.php";
require_once "LPM/GlobalSettings.php";
require_once "LPM/DAO/Controller/Singleton.php";
require_once "LPM/DAO/Controller/Factory.php";
require_once "LPM/Auth/Action.php";
require_once "LPM/Auth/Actor.php";
//Line for debug application. Remove this for products purposes
require_once "Zend/Debug.php";
require_once "Zend/Cache.php";
require_once 'Zend/Mail.php';
require_once 'Zend/Mail/Transport/Smtp.php';
$frontend = array ('lifetime' => 7200, 'automatic_seralization' => true);
$backend = array ('cache_dir' => realpath('./') . '/cache/'); // sys_get_temp_dir()); //
$cache = Zend_Cache::factory('Core','File',$frontend,$backend);
$cache->setOption('automatic_serialization', true);
Zend_Locale::setCache($cache);
// Load Database configuration
$config = new Zend_Config_Ini('./application/config.ini', 'db');
$registry = Zend_Registry::getInstance();
$registry->set('config', $config);
// Setup database
$db = Zend_Db::factory($config->db->adapter, $config->db->config->toArray());
Zend_Db_Table::setDefaultAdapter($db);
// Setup Mail Transport
$config = new Zend_Config_Ini('./application/config.ini', 'mail');
$registry->set('from', $config->mail->from);
if (!$config->mail->defaulttransport)
{
$transport = new Zend_Mail_Transport_Smtp($config->mail->smtp, $config->mail->login->toArray());
Zend_Mail::setDefaultTransport($transport);
}
//Setup DAO :
$controllerDAO = LPM_DAO_Controller_Factory::create('Mysql');
LPM_DAO_Controller_Singleton::setDefault($controllerDAO);
$locale = new Zend_Locale();
$locale->setLocale('fr');
// Setup Translation
$translate = new LPM_Translate('csv', './languages/fr/default.csv', 'fr');
LPM_Translate::setDefaultTranslate($translate);
//Setup Security :
LPM_Auth_Action_Abstract::setInstanceBaseClass("LPM_Auth_Action");
// Setup controller
$frontController = Zend_Controller_Front::getInstance();
$frontController->throwExceptions(false);
$frontController->setControllerDirectory('./application/controllers');
// run!
$frontController->dispatch();
?>