123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194 |
- <?php
- /**
- *
- * PHP Pro Bid $Id$ ywBq0GD/Wfo6NkXOTpHP+JXJC2leduaTfdJqu899Nds=
- *
- * @link https://www.phpprobid.com
- * @copyright Copyright (c) 2017 Online Ventures Software & CodeCube SRL
- * @license https://www.phpprobid.com/license Commercial License
- *
- * @version 7.10 [rev.7.10.01]
- */
- namespace Install;
- use Cube\Application\Bootstrap as ApplicationBootstrap,
- Cube\Authentication\Authentication,
- Ppb\View\Helper,
- Ppb\Service;
- class Bootstrap extends ApplicationBootstrap
- {
- /**
- *
- * settings array
- *
- * @var array
- */
- protected $_settings = array();
- /**
- *
- * database connection flag
- *
- * @var bool
- */
- protected $_connected = false;
- /**
- *
- * acl object
- *
- * @var \Cube\Permissions\Acl
- */
- protected $_acl;
- /**
- *
- * acl role
- *
- * @var string|\Cube\Permissions\RoleInterface
- */
- protected $_role = 'Guest';
- /**
- *
- * current logged in user storage
- *
- * @var array|null
- */
- protected $_storage;
- protected function _initConnected()
- {
- $this->bootstrap('db');
- $db = $this->getResource('db');
- if ($db instanceof \Cube\Db\Adapter\AbstractAdapter) {
- /** @var \Cube\Db\Adapter\PDO\Mysql $db */
- try {
- $this->_connected = $db->canConnect();
- } catch (\Exception $e) {
- }
- }
- return $this->_connected;
- }
- protected function _initSettings()
- {
- if ($this->_connected === true) {
- $settingsService = new Service\Settings();
- try {
- $this->_settings = $settingsService->get();
- } catch (\Exception $e) {
- }
- }
- return $this->_settings;
- }
- protected function _initAuthentication()
- {
- $authentication = Authentication::getInstance();
- if ($authentication->hasIdentity()) {
- $storage = $authentication->getStorage()->read();
- if ($storage['role'] == 'Admin') {
- $this->_role = $storage['role'];
- $this->_storage = $storage;
- }
- }
- $view = $this->getResource('view');
- $view->loggedInUser = $this->_storage;
- }
- protected function _initUser()
- {
- if (isset($this->_storage['id'])) {
- $usersService = new Service\Users();
- $user = $usersService->findBy('id', $this->_storage['id']);
- if (count($user) > 0) {
- if ($user['role'] == 'Admin') {
- $this->_role = $user['role'];
- return $user;
- }
- }
- }
- return null;
- }
- protected function _initAcl()
- {
- $front = $this->getResource('FrontController');
- $this->_acl = new Model\Acl();
- $front->registerPlugin(
- new Controller\Plugin\Acl($this->_acl, $this->_role));
- $view = $this->getResource('view');
- $view->navigation()->setAcl($this->_acl)
- ->setRole($this->_role);
- }
- protected function _initControllerPlugins()
- {
- $front = $this->getResource('FrontController');
- $front->registerPlugin(
- new Controller\Plugin\InstallerEnabled());
- }
- protected function _initModRewrite()
- {
- $modRewriteSetting = (isset($this->_settings['mod_rewrite_urls'])) ? $this->_settings['mod_rewrite_urls'] : 0;
- if (!\Ppb\Utility::checkModRewrite() && !$modRewriteSetting) {
- \Ppb\Utility::activateStandardRouter();
- }
- }
- protected function _initViewHelpers()
- {
- $dateFormat = '%m/%d/%Y %H:%M:%S';
- $sitePath = (!empty($this->_settings['site_path'])) ? $this->_settings['site_path'] : '/';
- $view = $this->getResource('view');
- $view->setHelper('request', new Helper\Request())
- ->setHelper('url', new Helper\Url($sitePath))
- ->setHelper('date', new Helper\Date($dateFormat))
- ->setHelper('liveTime', new Helper\LiveTime($dateFormat))
- ->setHelper('thumbnail', new Helper\Thumbnail());
- $view->themesFolder = \Ppb\Utility::getFolder('themes');
- $view->script()
- ->addHeaderCode('<!--[if lt IE 9]> <script type="text/javascript" src="' . $view->baseUrl . '/js/html5shiv.min.js"></script><![endif]-->')
- ->addHeaderCode('<link href="' . $view->baseUrl . '/css/bootstrap.min.css" rel="stylesheet" type="text/css">')
- ->addHeaderCode('<link href="' . $view->baseUrl . '/css/font-awesome.min.css" media="screen" rel="stylesheet" type="text/css">')
- ->addHeaderCode('<link href="' . $view->baseUrl . '/css/style.global.css" rel="stylesheet" type="text/css">')
- ->addHeaderCode('<!--[if lt IE 9]><link href="' . $view->baseUrl . '/css/style.ie.css" media="all" rel="stylesheet" type="text/css"><![endif]-->')
- ->addHeaderCode('<link href="' . $view->baseUrl . '/css/responsive.css" rel="stylesheet" type="text/css">')
- ->addHeaderCode('<link href="' . $view->baseUrl . '/css/mods.css" rel="stylesheet" type="text/css">')
- ->addHeaderCode('<link href="' . $view->baseUrl . '/img/favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon">');
- /* add javascript plugins */
- $view->script()->addBodyCode('<script type="text/javascript" src="' . $view->baseUrl . '/js/jquery.min.js"></script>')
- ->addBodyCode('<script type="text/javascript" src="' . $view->baseUrl . '/js/bootstrap.min.js"></script>')
- ->addBodyCode('<script type="text/javascript" src="' . $view->baseUrl . '/js/masonry.pkgd.min.js"></script>')
- ->addBodyCode('<script type="text/javascript" src="' . $view->baseUrl . '/js/bootbox.min.js"></script>')
- ->addBodyCode('<script type="text/javascript" src="' . $view->baseUrl . '/js/cookie.js"></script>')
- ->addBodyCode('<script type="text/javascript" src="' . $view->baseUrl . '/js/global.js"></script>')
- ->addBodyCode('<!--[if lt IE 9]> <script type="text/javascript" src="' . $view->baseUrl . '/js/respond.min.js"></script><![endif]-->')
- ->addBodyCode('<!--[if lt IE 10]> <script type="text/javascript" src="' . $view->baseUrl . '/js/placeholders.jquery.min.js"></script><![endif]-->');
- }
- }
|