Example #1
0
 /**
  * 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);
 }
Example #2
0
 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;
 }
Example #3
0
 /**
  * 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);
 }
Example #4
0
 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;
 }
Example #5
0
 public function getUrl($params)
 {
     $path = $this->path;
     foreach ($params as $k => $v) {
         $path = str_replace(":{$k}:", $v, $path);
     }
     return Config::getInstance()->get('url') . $path;
 }
Example #6
0
 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;
 }
Example #7
0
 /**
  * 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;
 }
Example #8
0
 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);
 }
Example #9
0
 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;
 }
Example #10
0
 /**
  * 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;
     }
 }
Example #11
0
 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();
     }
 }
Example #12
0
 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;
     }
 }
Example #13
0
 /**
  * 
  * 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;
 }
Example #14
0
 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);
 }
Example #15
0
 /**
  * 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;
 }
Example #16
0
 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);
 }
Example #17
0
 private function getEmailsFolder()
 {
     if (!empty(Config::getInstance()->email) && !empty(Config::getInstance()->email->templates)) {
         return Config::getInstance()->email->templates;
     } else {
         return $this->getViewFolder() . 'emails/';
     }
 }