public static function get_Instance($id = NULL)
 {
     if (self::$instance == NULL) {
         if ($id == NULL) {
             self::$instance = new Moon2_ViewManager_Functionalities();
         } else {
             self::$instance = unserialize($_SESSION[$id]);
         }
     }
     return self::$instance;
 }
 private function login()
 {
     $Test = new Moon2_DBmanager_PDO(true);
     $error = $Test->get_msgError();
     if (empty($error)) {
         $nombreusuario = $this->_parameters->get_parameter("usu", "");
         $clave = $this->_parameters->get_parameter("cla", "");
         $Usuario = new Modules_Krauff_Model_UsuariosFacade();
         $informacion_usuario = $Usuario->validate($nombreusuario, $clave);
         //var_dump($informacion_usuario);
         if ($informacion_usuario === false) {
             $message = urlencode("Error el Usuario o el Password no Existen");
             $this->_url = $this->_path_config["QUIT"] . "/response.php?msg=" . $message;
             header("Location: {$this->_url}");
         } else {
             $information = explode("@", $informacion_usuario);
             $cod_usuario = $information[0];
             $Accesos = new Modules_Krauff_Model_Accesos();
             $Accesos->set_codusuario($cod_usuario);
             $Accesos->set_fechaingreso(date("Y/m/d"));
             $Accesos->set_horaingreso(date("H:i:s"));
             $Accesos->set_ipoculta($_SERVER["REMOTE_ADDR"]);
             $Accesos->set_ipvisible($_SERVER["REMOTE_ADDR"]);
             $AccesosFacade = new Modules_Krauff_Model_AccesosFacade();
             $AccesosFacade->add($Accesos);
             $vector_funcionalidades = $Usuario->get_functionalities($cod_usuario, $this->_dom["KRAUFF"]["INITIALVALUE"]);
             $cantidad = count($vector_funcionalidades);
             if ($cantidad == 0) {
                 $message = urlencode("You do not have components assigned");
                 $this->_url = $this->_path_config["QUIT"] . "/response.php?msg=" . $message;
                 header("Location: {$this->_url}");
             } else {
                 session_start();
                 $page = "views/index.php";
                 $obj_funcionalidades = Moon2_ViewManager_Functionalities::get_Instance();
                 $obj_funcionalidades->set_funcArray($vector_funcionalidades);
                 $_SESSION[$this->_dom["SESION1"]] = $informacion_usuario;
                 $_SESSION[$this->_dom["SESION2"]] = md5($informacion_usuario);
                 $_SESSION[$this->_dom["SESION3"]] = serialize($obj_funcionalidades);
                 $this->_url = $this->_path_config["MAINPAGE"] . "/" . $page;
                 header("Location: {$this->_url}");
             }
         }
     } else {
         $message = utf8_encode(urlencode($error));
         $this->_url = $this->_path_config["QUIT"] . "/response.php?msg=" . $message;
         header("Location: {$this->_url}");
     }
 }
session_start();
//Verifica las condiciones mínimas para iniciar sesion
// echo $_SESSION[$DOM["SESION1"]];
//echo 'holamama';
if (isset($_SESSION[$DOM["SESION1"]])) {
    // echo  $_SESSION[$DOM["SESION1"]];
    $user_information = explode("@@", $_SESSION[$DOM["SESION1"]]);
    $DOM["USER_ID"] = $user_information[0];
    // echo $user_information[2];
    $DOM["USER_NAME"] = $user_information[1];
    $DOM["FULLUSER_NAME"] = $user_information[2];
    $DOM["PROFILE_NAME"] = $user_information[3];
    $DOM["PROFILE_ID"] = $user_information[4];
    $validate = md5($_SESSION[$DOM["SESION1"]]);
    if ($validate != $_SESSION[$DOM["SESION2"]]) {
        $msg = urlencode("Failed Access");
        header("Location: " . $PATH_CONFIG["QUIT"] . "/response.php?msg={$msg}");
        exit;
    }
    unset($user_information);
} else {
    $msg = urlencode("Intrusion System Security");
    header("Location: " . $PATH_CONFIG["QUIT"] . "/response.php?msg={$msg}");
    exit;
}
//Carga las funciuonalidades y verifica los permisos
$Func = Moon2_ViewManager_Functionalities::get_Instance($DOM["SESION3"]);
$Func->validate($DOM["SECURITY_ID"], $PATH_CONFIG["QUIT"]);
$DOM["MENUSYSTEM"] = $Func->get_funcArray();
$userFunc = new Modules_Krauff_Model_FuncionalidadesFacade();