<?php
///////////////////////////////////////////////////////////////////////////////////////////////
//config gloabal
require_once(SF_ROOT_DIR.DIRECTORY_SEPARATOR.'config'.DIRECTORY_SEPARATOR.'config.php');
///////////////////////////////////////////////////////////////////////////////////////////////
//enrrutamiento por defecto
include_once("routing.php");
///////////////////////////////////////////////////////////////////////////////////////////////
//AQUI VERIFICO LA VARIABLES PARA COLOCARLOS GLOBALES
$a_globalParam = Parameter::getInstance()->TransformParameterGlobal();
if(count($a_globalParam)>0){
  extract($a_globalParam);
}
$sModule  = Parameter::getInstance()->getModule();
$sActions = Parameter::getInstance()->getActions();
///////////////////////////////////////////////////////////////////////////////////////////////
//funciones especiales para el template
include_once("view.php");
///////////////////////////////////////////////////////////////////////////////////////////////
//aqui se expieza a ejecutar el template con la accion 
//vaiable global donde se declara la accion
$actionFile = SF_ROOT_DIR.DIRECTORY_SEPARATOR.'apps'.DIRECTORY_SEPARATOR.SF_APP.DIRECTORY_SEPARATOR."modules".DIRECTORY_SEPARATOR.$sModule.DIRECTORY_SEPARATOR.$sActions.".php";
if(!is_readable($actionFile)){
  $actionFile = SF_ROOT_DIR.DIRECTORY_SEPARATOR.'apps'.DIRECTORY_SEPARATOR.SF_APP.DIRECTORY_SEPARATOR."modules".DIRECTORY_SEPARATOR.$sModule.DIRECTORY_SEPARATOR."perms.php";
}
ob_start();
ob_implicit_flush(0);
require($actionFile);
$content = ob_get_clean();
///////////////////////////////////////////////////////////////////////////////////////////////
//personalizar el resultado
if(ViewResponse::getInstance()->getMethod()){
  //si es un template
  include_once(SF_ROOT_DIR.DIRECTORY_SEPARATOR.'apps'.DIRECTORY_SEPARATOR.SF_APP.DIRECTORY_SEPARATOR."templates".DIRECTORY_SEPARATOR."layout.php");
}else{
  //si podria ser el resultado de un ajax
  echo $content;
}
///////////////////////////////////////////////////////////////////////////////////////////////
//die(1);