public static function hook()
 {
     try {
         self::firstCall();
         $securityYml = cache::getInstance()->loadYaml(config::getPathAbsolute() . 'config/security.yml', 'securityYml');
         // preguntando si el módulo y la acción solicitada, tienen o no seguridad
         if (isset($securityYml[session::getInstance()->getModule()][session::getInstance()->getAction()]) === true and isset($securityYml[session::getInstance()->getModule()][session::getInstance()->getAction()]['security']) === true and $securityYml[session::getInstance()->getModule()][session::getInstance()->getAction()]['security'] === true) {
             // si hay seguridad, entonces preguntamos si el usuario está autenticado
             if (!session::getInstance()->isUserAuthenticated()) {
                 self::saveUrlParams();
                 //routing::getInstance()->redirect(config::getDefaultModuleSecurity(), config::getDefaultActionSecurity());
                 routing::getInstance()->forward(config::getDefaultModuleSecurity(), config::getDefaultActionSecurity());
             }
             // verifico permisos de acceso
             if (!self::verifyCredentials($securityYml, session::getInstance()->getModule(), session::getInstance()->getAction())) {
                 routing::getInstance()->forward(config::getDefaultModulePermission(), config::getDefaultActionPermission());
             }
         }
         /* else {
              session::getInstance()->deleteAttribute('shfSecurityModuleGO');
              session::getInstance()->deleteAttribute('shfSecurityActionGO');
            }*/
     } catch (\PDOException $exc) {
         throw $exc;
     }
 }
 /**
  * Carga los archivos declarados en el punto "load" del archivo routing.yml
  * de la ruta exigida al sistema
  * @return null
  */
 public function loadIncludes()
 {
     if (($includes = sessionClass::getInstance()->getLoadFiles()) !== false) {
         foreach ($includes as $include) {
             include_once configClass::getPathAbsolute() . $include;
         }
     }
     return null;
 }
Example #3
0
 /**
  * 
  * @param integer $message
  * @param string $culture [optional]
  * @param string $dictionary [optional]
  * @param array $vars [optional] $vars[':nombre'] = 'NOMBRE';
  * @return string
  */
 public static function __($message, $culture = null, $dictionary = 'default', $vars = array())
 {
     if ($culture === null) {
         $culture = self::getCulture();
     }
     $__ymlCulture = cacheManagerClass::getInstance()->loadYaml(configClass::getPathAbsolute() . 'i18n/' . $culture . '.yml', 'i18nYaml' . $culture);
     $rsp = '';
     if (count($vars) > 0) {
         $keys = array_keys($vars);
         $values = array_values($vars);
         $rsp = str_replace($keys, $values, $__ymlCulture['dictionary'][$dictionary][$message]);
     } else {
         $rsp = $__ymlCulture['dictionary'][$dictionary][$message];
     }
     return $rsp;
 }
 private static function loadHooksAndExecute($listHooks, $filesToLoad = null)
 {
     if ($filesToLoad !== null and is_array($listHooks) and count($listHooks) > 0) {
         foreach ($listHooks as $hook) {
             if (isset($filesToLoad[$hook]) and is_array($filesToLoad[$hook])) {
                 foreach ($filesToLoad[$hook] as $file) {
                     include_once configClass::getPathAbsolute() . $file;
                 }
             }
             $hookFileClass = $hook . 'HookClass';
             include_once configClass::getPathAbsolute() . 'hooks/' . $hookFileClass . '.php';
             $hookObj = '\\hook\\' . $hook . '\\' . $hookFileClass;
             $hookObj::hook();
         }
     }
 }
 private function includeFileAndInitialize($controllerFolder, $controllerFile)
 {
     include_once config::getPathAbsolute() . 'controller/' . $controllerFolder . '/' . $controllerFile . '.php';
     return new $controllerFile();
 }
 private function registerDefaultModuleAndAction()
 {
     $yamlRouting = cacheManagerClass::getInstance()->loadYaml(configClass::getPathAbsolute() . 'config/routing.yml', 'routingYaml');
     sessionClass::getInstance()->setModule($yamlRouting['homepage']['param']['module']);
     sessionClass::getInstance()->setAction($yamlRouting['homepage']['param']['action']);
     sessionClass::getInstance()->setLoadFiles(isset($yamlRouting['homepage']['load']) ? $yamlRouting['homepage']['load'] : false);
     sessionClass::getInstance()->setFormatOutput($yamlRouting['homepage']['param']['format']);
 }
 public static function renderHTML($module, $template, $typeRender, $arg = array())
 {
     if (isset($module) and isset($template)) {
         if (count($arg) > 0) {
             extract($arg);
         }
         switch ($typeRender) {
             case 'html':
                 header(configClass::getHeaderHtml());
                 include_once configClass::getPathAbsolute() . 'libs/vendor/view/head.php';
                 include_once configClass::getPathAbsolute() . "view/{$module}/{$template}.html.php";
                 include_once configClass::getPathAbsolute() . 'libs/vendor/view/foot.php';
                 break;
             case 'json':
                 header(configClass::getHeaderJson());
                 include_once configClass::getPathAbsolute() . "view/{$module}/{$template}.json.php";
                 break;
             case 'pdf':
                 //header(configClass::getHeaderPdf());
                 include_once configClass::getPathAbsolute() . "view/{$module}/{$template}.pdf.php";
                 break;
             case 'javascript':
                 header(configClass::getHeaderJavascript());
                 include_once configClass::getPathAbsolute() . "view/{$module}/{$template}.js.php";
                 break;
             case 'xml':
                 header(configClass::getHeaderXml());
                 include_once configClass::getPathAbsolute() . "view/{$module}/{$template}.xml.php";
                 break;
             case 'excel2003':
                 header(configClass::getHeaderExcel2003());
                 include_once configClass::getPathAbsolute() . "view/{$module}/{$template}.xls.php";
                 break;
             case 'excel2007':
                 header(configClass::getHeaderExcel2007());
                 include_once configClass::getPathAbsolute() . "view/{$module}/{$template}.xlsx.php";
                 break;
         }
     }
 }