/** * Init database */ private static function _initDb() { $config = \Core\Config::getInstance(); $dbConnection = new PDO($config->database['driver'] . ':host=' . $config->database['host'] . ';dbname=' . $config->database['dbname'], $config->database['user'], $config->database['password'], array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8")); $dbConnection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); \Core\Db\Connector::getInstance()->setConnection($dbConnection); }
public function getURL($params, $clean = true) { $request = \Core\Http\Request::getInstance(); if ($clean) { $params = array_merge(array('module' => $request->getModule(), 'controller' => $request->getController(), 'action' => $request->getAction()), $params); } else { $p = $request->getParams(); $names = array_keys($_POST); foreach ($p as $n => $v) { if (in_array($n, $names)) { unset($p[$n]); } } $params = array_merge(array('module' => $request->getModule(), 'controller' => $request->getController(), 'action' => $request->getAction()), $p, $params); } $module = $params['module']; $controller = $params['controller']; $action = $params['action']; unset($params['module']); unset($params['controller']); unset($params['action']); $uri = \Core\Config::getInstance()->app['baseUrl'] . $module . '/' . $controller . '/' . $action . '/'; if (!empty($params)) { $ps = array_keys($params); foreach ($ps as $param) { if ($param == session_name()) { continue; } if (!is_null($params[$param])) { $uri .= $param . '/' . $params[$param] . '/'; } } } return $uri; }
/** * Retourne l'instance de Config * @param $key * @return \Core\Config */ public function getConfig($key) { if (is_null($this->config_instance)) { $this->config_instance = Config::getInstance(); } return $this->config_instance->get($key); }
public function getDb() { $config = Config::getInstance(ROOT . '/config/config.php'); if (is_null($this->db_instance)) { $this->db_instance = new MysqlDatabase($config->get('db_name'), $config->get('db_user'), $config->get('db_pass'), $config->get('db_host')); } return $this->db_instance; }
public function getUrl($params) { $path = $this->path; foreach ($params as $k => $v) { $path = str_replace(":{$k}:", $v, $path); } return Config::getInstance()->get('url') . $path; }
public function getDb() { $config = Config::getInstance(ROOT . '/config/config.php'); if (is_null($this->db_instance)) { $this->db_instance = new MySQLDatabase($config->get("db_name"), $config->get("db_user"), $config->get("db_pass"), $config->get("db_host")); } return $this->db_instance; }
/** * Controller constructor. * @param Request|NULL $request */ function __construct(Request $request = NULL) { $this->request = is_null($request) ? Request::getInstance() : $request; $this->config = Config::getInstance(); $this->router = new Router(); $this->route = $this->router; $this->load = new Load(); $this->startConnection(); $this->checkPermission(); Model::$controller = $this; }
private function __construct() { $config = \Core\Config::getInstance(); if (!empty($config->memcache)) { $this->_host = !empty($config->memcache['host']) ? $config->memcache['host'] : $this->_host; $this->_post = !empty($config->memcache['port']) ? $config->memcache['port'] : $this->_port; $this->_compressed = !empty($config->memcache['compressed']) ? $config->memcache['compressed'] : $this->_compressed; $this->_expire = !empty($config->memcache['host']) ? $config->memcache['host'] : $this->_host; } parent::connect($this->_host, $this->_port); }
public function __toString() { usort(self::$_data, array($this, 'sort')); $content = '<ul class="admin_menu">' . PHP_EOL; $conf = \Core\Config::getInstance(); foreach (self::$_data as $item) { $url = $conf->app['baseUrl'] . $item['module'] . '/' . $item['controller'] . '/' . $item['action']; $content .= '<li><a href="' . $url . '">' . $item['label'] . '</a></li>'; } $content .= '</ul>' . PHP_EOL; return $content; }
/** * Dispatch * @return string */ public function dispatch() { $this->_requestURI = str_replace($this->_baseUrl, '', $this->_requestURI); $uri = explode('/', trim($this->_requestURI, '/')); $i = 0; $mvcData = array(); while ($i < 3) { $tmp = array_shift($uri); switch ($i) { case 0: $mvcData['module'] = empty($tmp) ? 'main' : $tmp; break; case 1: $mvcData['controller'] = empty($tmp) ? 'index' : $tmp; break; case 2: $mvcData['action'] = empty($tmp) ? 'index' : $tmp; break; } $i++; } if (!$this->_isDispatchable($mvcData)) { $mvcData = array('module' => 'main', 'controller' => 'error', 'action' => 'notfound'); } elseif (!$this->_isAclAllow($mvcData)) { if (\Core\Auth\Auth::getInstance()->hasIdentity()) { $mvcData = array('module' => 'main', 'controller' => 'error', 'action' => 'accessdenied'); } else { $mvcData = array('module' => 'main', 'controller' => 'user', 'action' => 'login'); } } $request = \Core\Http\Request::getInstance(); while (!empty($uri)) { $param = array_shift($uri); $value = array_shift($uri); $request->setParam($param, $value); } $request->setModule($mvcData['module'])->setController($mvcData['controller'])->setAction($mvcData['action']); $loader = \Core\Loader::getInstance(); $response = $loader->runController($mvcData); if ($loader->needRenderLayout) { $config = \Core\Config::getInstance(); if (!empty($config->layout[$mvcData['module']])) { $layout_script = APP_PATH . 'layouts/' . $config->layout[$mvcData['module']] . '.phtml'; } else { $layout_script = APP_PATH . 'layouts/main.phtml'; } $layout = new \Core\View\Layout(); $layout->setContent($response); return $layout->render($layout_script); } else { return $response; } }
public function connect() { $database = Config::getInstance()->get('database'); // Set DSN $dsn = 'mysql:host=' . $database['host'] . ';dbname=' . $database['database']; // Set options $options = array(PDO::ATTR_PERSISTENT => true, PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION); // Create a new PDO instance try { $this->dbh = new PDO($dsn, $database['user'], $database['password'], $options); } catch (PDOException $e) { $this->error = $e->getMessage(); } }
public function __construct() { $config = Config::getInstance(); $view_engine = $config->get('views.engine'); $view_folder = $config->get('views.path_views'); $view_cache = $config->get('views.path_cache'); $paths = new \SplPriorityQueue(); $paths->insert($view_folder, 100); switch ($view_engine) { case 'blade': $this->renderer = new BladeRenderer($paths, ['cache_path' => $view_cache]); break; case 'twig': $this->renderer = new TwigRenderer($paths); break; default: $this->renderer = new BladeRenderer($paths, $view_cache); break; } }
/** * * Construtor do Router * * @param Request $request Objeto da Requisição * * @param array|null $routes * * @return void * */ function __construct($routes = NULL) { if (empty(self::$request)) { self::$request = Request::getInstance(); } if (empty(self::$config)) { self::$config = Config::getInstance(); } if (!empty($routes)) { if (is_array($routes)) { foreach ($routes as $i => $route) { self::register($route); } } else { self::register($routes); } } $this->matcher = new Matcher(); self::$instance = $this; }
public function render($content) { if ($this->getOption('sortable')) { $fieldName = $this->getOption('currentField'); $request = \Core\Http\Request::getInstance(); $sortby = $request->getParam('sortby', false); $img = ''; if ($sortby == $fieldName) { $sort = $request->getParam('sortorder', false); $img = '<img class="fv_sort_order" src="' . \Core\Config::getInstance()->app['baseUrl'] . 'i/s_' . $sort . '.png" alt="sort" />'; } else { $sort = false; } $sort = $sort == false || $sort == 'desc' ? 'asc' : 'desc'; $url = $this->getDecorator()->view->_helperUrl->getUrl(array('sortby' => $fieldName, 'sortorder' => $sort), false); $decorator = new \Core\Grid\Decorator\HtmlTag(array('tag' => 'a', 'attrs' => array('href' => $url))); $content .= $img; $content = $decorator->render($content); } return parent::render($content); }
/** * Construtor * @return void */ function __construct() { if (session_status() == PHP_SESSION_NONE) { session_start(); } $this->method = $_SERVER['REQUEST_METHOD']; $this->setVar('post'); $this->setVar('get'); $this->setVar('request'); $this->setVar('session', FALSE); $this->ajax = $this->isAjax(); $this->headers = getallheaders(); if (!empty($_SERVER['SCRIPT_URI'])) { $this->url = $_SERVER['SCRIPT_URI']; } else { $this->url = $_SERVER['REQUEST_SCHEME'] . '://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']; } $this->uri = '/' . trim(!empty($_GET['URI']) ? $_GET['URI'] : str_replace(Config::getInstance()->url, '', $this->url), '/'); self::$instance = $this; }
public static function decrypt($text) { $cryptConfig = \Core\Config::getInstance()->crypt; $iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND); return mcrypt_decrypt(MCRYPT_RIJNDAEL_256, base64_decode($cryptConfig['salt']), $text, MCRYPT_MODE_ECB, $iv); }
private function getEmailsFolder() { if (!empty(Config::getInstance()->email) && !empty(Config::getInstance()->email->templates)) { return Config::getInstance()->email->templates; } else { return $this->getViewFolder() . 'emails/'; } }