Пример #1
0
            $dbchar = $cfg->val('DBchar', true);
            $dbuser = $cfg->val('DBuser', true);
            $dbpass = $cfg->val('DBpass', true);
            $dsn = "{$dbdrv}:host={$dbhost};dbname={$dbname};charset={$dbchar}";
            $db = new Database($dbdrv, $dsn, $dbuser, $dbpass);
            break;
        case 'sqlite':
            $dbfile = $cfg->val('DBfile');
            $dsn = "{$dbdrv}:{$dbfile}";
            $db = new Database($dbdrv, $dsn);
    }
}
/* Mailer
  ------------------------------------------------------------------------ */
if ($cfg->val('MAILER_TYPE')) {
    $mail = MailerFactory::createMailerProvider($cfg->val('MAILER_TYPE'));
    switch ($cfg->val('MAILER_TYPE')) {
        case 'Curl':
            $mail->setParams($cfg->val('MAILER_WEBSERVICE', true), $cfg->val('WEBSERVICE_AUTH', true), $cfg->val('MAILER_ASYNC', true));
            break;
        default:
            break;
    }
}
/* Templating class
   * Important! It must be called before Lang.
  ------------------------------------------------------------------------ */
$view = new View($loc->path('templates'));
// baseurl for all templates
$view->set('baseurl', $loc->url(''));
/* Stop here for services
Пример #2
0
/* Error reporting
  ------------------------------------------------------------------------ */
ini_set('error_reporting', 'true');
error_reporting(E_ALL | E_STRICT);
/* class Cfg is mandatory for futher work
  ------------------------------------------------------------------------ */
if (!class_exists('CfgData')) {
    die('CfgData not found. Have you done install steps?');
}
/* Session
  ------------------------------------------------------------------------ */
session_start();
/* Functions
  ------------------------------------------------------------------------ */
// this function below will handle all arising exception
set_exception_handler(function ($exception) {
    // inside here we must declare vital classes separately
    $loc = new Locator();
    $log = new Logger($loc->path('log'));
    $log->log($exception, LOG_ERR);
    // emergency mailer is defined separately
    $mail = MailerFactory::createMailerProvider('PHP');
    // notify by email only once per exception
    $lockfile = $loc->path('secure') . '/lock.err_' . md5($exception);
    if (!file_exists($lockfile)) {
        touch($lockfile);
        $mail->sendEmail('root', gethostname(), 'Site Reporter', 'Problem occured', $exception);
    }
    include_once $loc->path('pages/error.php');
    exit;
});
Пример #3
0
// ------------------------------------------------------------------------
// Initialize all classes
// Logging
$log = new Logger();
// Memory
$mem = new Memory();
// Templating class
$view = new View(Common::getAbsPath(Cfg::TEMPLATES));
// Languages support
$lang = new Lang();
if (class_exists('Cfg') && defined('Cfg::LANGUAGES')) {
    $lang->loadConfig(Cfg::LANGUAGES);
    require 'language.php';
}
// Mailer
$mail = MailerFactory::createMailerProvider(Cfg::MAILER_TYPE);
$mail->setParams(Cfg::MAILER_WEBSERVICE, Cfg::WEBSERVICE_AUTH, Cfg::MAILER_ASYNC);
// Database
/* MySQL */
$dbdrv = Cfg::DBdriver;
// $dbhost = Cfg::DBhost;
// $dbname = Cfg::DBname;
// $dbchar = Cfg::DBchar;
// $dsn = "$dbdrv:host=$dbhost;dbname=$dbname;charset=$dbchar";
// $db  = new Database($dbdrv, $dsn, Cfg::DBuser, Cfg::DBpass); // MySQL
/* SQLite */
$dbfile = Cfg::DBfile;
$dsn = "{$dbdrv}:{$dbfile}";
$db = new Database($dbdrv, $dsn);
// Page manager as singleton (it might be declared in language.php)
$pmgr = PageMgr::getInstance(Cfg::$pages, Common::getAbsPath(Cfg::PAGES_PATH));