示例#1
0
 /** Retorna true si el usuario pasado como parametro tiene permiso para la accion
  *  pasada como parametro en la perspectiva pasada como parametro
  * */
 public static function isAllowed($action, $perspective = NO_OBJECT, $user = NO_OBJECT)
 {
     global $ari;
     if (!is_a($action, 'seguridad_action')) {
         $action = new seguridad_action($action);
     }
     if (!is_a($perspective, 'OOB_perspective')) {
         $perspective = $ari->get('perspective');
     }
     //obtengo el modulo de la accion
     if ($module = $action->myModule()) {
         /* verfico que la perspectiva tenga el módulo o estemos en el administrador */
         if ($perspective->isMember($module) || $ari->get("mode") == "admin") {
             // la perspectiva contiene el modulo
             /* verifico que el usuario tenga permiso para esa accion */
             if (!is_a($user, "oob_user")) {
                 $user = $ari->get("user");
             }
             //@verificar cuando my roles devuelve false
             if (seguridad_action::exists($action, seguridad_role::myRoles($user))) {
                 //tiene permiso
                 $return = true;
             } else {
                 //no tiene permiso
                 $return = false;
             }
         } else {
             // error el modulo no pertence a la perspectiva
             $return = false;
         }
     } else {
         // error la accion no pertenece a ningun modulo
         $return = false;
     }
     return $return;
 }
示例#2
0
<?php

/**
########################################
#OOB/N1 Framework [©2004,2006]
#
#  @copyright Pablo Micolini
#  @license BSD
######################################## 
*/
OOB_module::includeClass('seguridad', 'seguridad_permission');
if (!seguridad::isAllowed(seguridad_action::nameConstructor('new', 'permission', 'seguridad'))) {
    throw new OOB_exception("Acceso Denegado", "403", "Acceso Denegado. Consulte con su Administrador!", true);
}
global $ari;
$ari->t->assign("form", true);
$sp = new oob_safepost("form");
$modSelect = '';
$arrModulo = array();
$arrIdModulo = array();
if ($objModulo = OOB_module::listModules()) {
    foreach ($objModulo as $m) {
        $arrModulo[] = $m->nicename();
        $arrIdModulo[] = $m->name();
        if (isset($_POST['cboModulo'])) {
            //echo $_POST['cboModulo']."<br>";
            if ($_POST['cboModulo'] == $m->name()) {
                $modSelect = $m->name();
            }
        }
    }
示例#3
0
 /** Devuelve la accion ($accion), 
  * perteneciente al permiso ($permission) 
  * del modulo ($module) */
 public static function nameConstructor($action, $permission, $module)
 {
     global $ari;
     $action = $ari->db->qMagic($action);
     $permission = $ari->db->qMagic($permission);
     $module = $ari->db->qMagic($module);
     $savem = $ari->db->SetFetchMode(ADODB_FETCH_ASSOC);
     //		$ari->db->SetFetchMode($savem);
     $sql = "SELECT A.ID, A.PermissionID, A.Name, A.NiceName, A.InMenu \n \t\t       FROM Security_Action A, Security_Permission P \n        \t   WHERE A.PermissionID = P.ID \n\t\t\t   AND A.Name = {$action}         \t  \n               AND P.Name = {$permission} \n\t\t\t   AND P.ModuleName = {$module}";
     //		$rs = $ari->db->Execute( $sql);
     $rs = $ari->db->CacheExecute(SQL_CACHE, $sql);
     $ari->db->SetFetchMode($savem);
     if (!$rs->EOF) {
         $action = new seguridad_action(ID_UNDEFINED);
         $action->set('action', $rs->fields["ID"]);
         $action->set('name', $rs->fields["Name"]);
         $action->set('nicename', $rs->fields["NiceName"]);
         $action->set('inmenu', $rs->fields["InMenu"]);
         $permiso = new seguridad_permission($rs->fields['PermissionID']);
         $action->set('permission', $permiso);
     } else {
         var_export($action, true);
         var_export($permission, true);
         var_export($module, true);
         throw new OOB_exception("Invalid action: A: " . var_export($action, true) . ',P: ' . var_export($permission, true) . ',M: ' . var_export($module, true), "403", "Invalid Action", true);
     }
     return $action;
 }
示例#4
0
<?php

#OOB/N1 Framework [�2004,2005 - Nutus]
/*
 * Created on 22-jun-2005
 * @author Victor Stornati (victor.stornati@nutus.com.ar)
 */
if (!seguridad::isAllowed(seguridad_action::nameConstructor('perspectives', 'config', 'admin'))) {
    throw new OOB_exception("Acceso Denegado", "403", "Acceso Denegado. Consulte con su Administrador!", true);
}
// get perspectives
global $ari;
$handle = $ari->url->getVars();
$ari->t->caching = 0;
// dynamic content
//// check the delete selector, and delete if selected
if (isset($_POST['delete_submit']) && isset($_POST['selected_perspectives'])) {
    foreach ($_POST['selected_perspectives'] as $name_perspective) {
        //		$perspective = new seguridad_perspective($name_perspective);
        //		$perspective->delete();
    }
}
// finally get the data
$return = array();
if ($perspectivas = oob_perspective::listPerspectives()) {
    // show time
    $i = 0;
    foreach ($perspectivas as $p) {
        $return[$i]['name'] = $p;
        $return[$i]['path'] = $ari->get('filesdir') . DIRECTORY_SEPARATOR . 'perspectives' . DIRECTORY_SEPARATOR . $p;
        $return[$i]['path2'] = str_replace(DIRECTORY_SEPARATOR, "/", $return[$i]['path']);
示例#5
0
文件: cache.php 项目: pablius/oob-n1
<?php

#OOB/N1 Framework [�2004,2005 - Nutus]
/*
 * Created on 22-jun-2005
 * @author Victor Stornati (victor.stornati@nutus.com.ar)
 */
global $ari;
$ari->t->caching = 0;
// dynamic content
if (!seguridad::isAllowed(seguridad_action::nameConstructor('cache', 'config', 'admin'))) {
    throw new OOB_exception("Acceso Denegado", "403", "Acceso Denegado. Consulte con su Administrador!", true);
}
$delete = false;
if (isset($_POST['delete_button'])) {
    $delete = true;
    $ari->clearCache();
}
$ari->t->assign("delete", $delete);
//display
$ari->t->display($ari->module->admintpldir() . "/cache.tpl");
示例#6
0
<?php

#OOB/N1 Framework [2008 - Nutus] - PM
// Código por JPCOSEANI
// SCRIPT QUE GENERA EL FORM LISTADO DE MODULOS
if (!seguridad::isAllowed(seguridad_action::nameConstructor('update', 'user', 'seguridad'))) {
    throw new OOB_exception("Acceso Denegado", "403", "Acceso Denegado. Consulte con su Administrador!", true);
}
PhpExt_Javascript::sendContentType();
global $ari;
$ari->popup = 1;
// no mostrar el main_frame
//STORE PARA TRAER EL LISTADO DE MODULOS
$store = new PhpExt_Data_JsonStore();
$store->setUrl("/admin/module/get_modules")->setRoot("topics")->setAutoLoad(true)->setTotalProperty("totalCount");
//AGREGO LOS CAMPOS AL STORE
$store->addField(new PhpExt_Data_FieldConfigObject("nicename"));
$store->addField(new PhpExt_Data_FieldConfigObject("modulename"));
$store->addField(new PhpExt_Data_FieldConfigObject("description"));
$store->addField(new PhpExt_Data_FieldConfigObject("checked"));
$store->addField(new PhpExt_Data_FieldConfigObject("optional"));
//CHECKBOX PARA SELECCIONAR LOS MODULOS
$checkColumn = new PhpExtUx_Grid_CheckColumn("Habilitado");
$checkColumn->setDataIndex("checked")->setId("check")->setWidth(55);
//AGREGO LAS COLUMNAS A LA GRILLA
$col_model = new PhpExt_Grid_ColumnModel();
$col_model->addColumn(PhpExt_Grid_ColumnConfigObject::createColumn("Nombre del M&oacute;dulo", "nicename", null, 150));
$col_model->addColumn(PhpExt_Grid_ColumnConfigObject::createColumn("Descripci&oacute;n", "description", null, 340));
$col_model->addColumn($checkColumn);
//GRILLA
$grid = new PhpExt_Grid_GridPanel();
示例#7
0
<?php

# Eumafes v2 [�2005 - Nutus, Todos los derechos reservados]
/*
 * Created on 04-ago-2005
 * @author Victor Stornati (victor.stornati@nutus.com.ar)
 */
OOB_module::includeClass('currency', 'currency_currency');
if (!seguridad::isAllowed(seguridad_action::nameConstructor('view', 'currency', 'currency')) && !seguridad::RequireLogin()) {
    throw new OOB_exception("Acceso Denegado", "403", "Acceso Denegado. Consulte con su Administrador!");
}
global $ari;
$handle = $ari->url->getVars();
$ari->t->caching = 0;
// dynamic content
$sp = new oob_safepost("view");
$ari->t->assign("mostrar", false);
//------ Refrescar valores ------
//fecha desde
if (!isset($_POST['desdeCheck'])) {
    $ari->t->assign("desdeChecked", '');
    //fecha desde
    if (isset($_POST['desdeYear']) && isset($_POST['desdeMonth']) && isset($_POST['desdeDay'])) {
        //begin if
        $ari->t->assign("desde", $_POST['desdeYear'] . "-" . $_POST['desdeMonth'] . "-" . $_POST['desdeDay']);
        $ari->t->assign("desdeDisabled", "");
    }
} else {
    $ari->t->assign("desdeChecked", 'checked');
    $ari->t->assign("desdeDisabled", "disabled");
}
示例#8
0
 /**	Sincroniza las tablas de acciones
  */
 public static function synchronizeActions($arrayModules = false)
 {
     global $ari;
     $clause = "";
     if ($arrayModules) {
         if (!is_array($arrayModules)) {
             //es un solo modulo
             $moduleName = $ari->db->qMagic($arrayModules);
             $clause = " AND p_origen.modulename = {$moduleName} ";
         } else {
             //es un array con los nombres de los modulos de los permisos a sincronizar
             $first = true;
             $lista = false;
             foreach ($arrayModules as $moduleName) {
                 $moduleName = $ari->db->qMagic($moduleName);
                 if ($first) {
                     $lista = $moduleName;
                     $first = false;
                 } else {
                     $lista = $lista . "," . $moduleName;
                 }
             }
             if ($lista) {
                 $clause = " AND p_origen.modulename IN ({$lista}) ";
             }
         }
     }
     //security_permission:  ID, ModuleName, Name, NiceName
     //security_action: 		ID, PermissionID, Name, NiceName, inMenu
     $sql = "SELECT a_origen.Name AS aName, a_origen.NiceName AS aNiceName, a_origen.inMenu AS aInMenu,\n\t\t\t\t\t   p_origen.Name AS pName, p_origen.ModuleName AS pModuleName \n\t\t\t\tFROM security_permission_other p_origen, security_action_other a_origen\n\t\t\t\tWHERE p_origen.ID = a_origen.PermissionID\n\t\t\t\t{$clause}\n\t\t\t\tAND NOT EXISTS\n\t\t\t\t\t\t\t\t(\tSELECT 1\n\t\t\t\t\t\t\t\t\tFROM security_permission p_destino, security_action a_destino\n\t\t\t\t\t\t\t\t\tWHERE p_destino.ID = a_destino.PermissionID\n\t\t\t\t\t\t\t\t\tAND p_destino.name = p_origen.name \n\t\t\t\t\t\t\t\t\tAND p_destino.modulename = p_origen.modulename\n\t\t\t\t\t\t\t\t\tAND a_destino.name = a_origen.name\n\t\t\t\t\t\t\t\t)\n\t\t\t\t";
     //echo $sql;
     //exit;
     $savem = $ari->db->SetFetchMode(ADODB_FETCH_ASSOC);
     $rs = $ari->db->Execute($sql);
     $ari->db->SetFetchMode($savem);
     if ($rs && !$rs->EOF) {
         while (!$rs->EOF) {
             $permission = self::nameConstructor($rs->fields["pName"], $rs->fields["pModuleName"]);
             //var_dump();exit;
             $action = new seguridad_action(ID_UNDEFINED);
             $action->set('name', $rs->fields["aName"]);
             $action->set('nicename', $rs->fields["aNiceName"]);
             $action->set('inmenu', $rs->fields["aInMenu"]);
             $action->set('permission', $permission);
             $action->store();
             $rs->MoveNext();
         }
         //end while
         $rs->Close();
     }
 }
示例#9
0
 /**	*/
 public function addAction($action)
 {
     global $ari;
     if (is_a($action, 'seguridad_action')) {
         if (seguridad_action::exists($action, $this)) {
             return true;
         } else {
             //falta validar si existe el módulo
             $ari->db->StartTrans();
             $action_id = $ari->db->qMagic($action->get('action'));
             $role_id = $ari->db->qMagic($this->role);
             $sql = "INSERT INTO security_actionsrole \n\t\t\t\t\t  (ActionID, RoleID)\n\t\t\t\t\t   VALUES ({$action_id}, {$role_id} )";
             $ari->db->Execute($sql);
             if (!$ari->db->CompleteTrans()) {
                 throw new OOB_exception("Error en DB: {$ari->db->ErrorMsg()}", "010", "Error en la Base de Datos", false);
                 //return false;
             } else {
                 return true;
             }
         }
     } else {
         $ari->error->addError("seguridad_role", "INVALID_ACTION");
         return false;
     }
 }
示例#10
0
<?php

/* Nutus, Todos los derechos reservados 2005
 * Creado: 28-nov-2005
 *
 */
if (!seguridad::isAllowed(seguridad_action::nameConstructor('selectforemployee', 'user', 'seguridad'))) {
    throw new OOB_exception("Acceso Denegado", "403", "Acceso Denegado. Consulte con su Administrador!", true);
}
global $ari;
$handle = $ari->url->getVars();
$ari->t->caching = 0;
$ari->popup = true;
// valida pos
$pos = 0;
if (isset($_GET['pos']) && OOB_validatetext::isNumeric($_GET['pos']) && $_GET['pos'] > 0) {
    $pos = $_GET['pos'];
}
//levanta el limit
$modulo = new oob_module("personnel");
$limit = $modulo->config()->get('limit', 'employee');
$ari->t->assign('limit', $limit);
$ari->t->assign('total', oob_user::userCountNoAsigned());
$users = array();
if ($return = oob_user::listNoAssigned('uname', $pos, $limit)) {
    // show time
    $i = 0;
    foreach ($return as $u) {
        $users[$i]['id'] = $u->get('user');
        $users[$i]['uname'] = $u->name();
        $users[$i]['unameClean'] = OOB_validatetext::cleanToScript($u->name());
示例#11
0
//end if
if (!isset($_POST['guardar'])) {
    $array_values['modules'] = $modules;
    refrescar($array_values);
} else {
    $storeOk = true;
    //verificar datos enviados duplicados
    if (!$sp->Validar()) {
        $ari->error->addError('seguridad_action', 'SENT_DUPLICATE_DATA');
    }
    if (!isset($_POST['modulo'])) {
        $storeOk = false;
        $ari->error->addError("seguridad_action", "NO_ACTION");
    } else {
        for ($i = 0; $i < count($_POST['modulo']); $i++) {
            $accion = new seguridad_action();
            if (isset($_POST['accion'][$i])) {
                $accion->set('name', $_POST['accion'][$i]);
            }
            if (isset($_POST['nicename'][$i])) {
                $accion->set('nicename', $_POST['nicename'][$i]);
            }
            if (isset($_POST['permiso'][$i])) {
                $permiso = new seguridad_permission($_POST['permiso'][$i]);
                $accion->set('permission', $permiso);
            }
            if (isset($_POST['inmenu'][$i])) {
                $accion->set('inmenu', $_POST['inmenu'][$i]);
            }
            if (!$accion->store()) {
                $storeOk = false;
示例#12
0
<?php

# Nutus [2006 - Nutus, Todos los derechos reservados]
/*
 * Created on 13/08/2005
 * @author Flavio Robles (flavio.robles@nutus.com.ar)
 */
if (!seguridad::isAllowed(seguridad_action::nameConstructor('union', 'state', 'address'))) {
    throw new OOB_exception("Acceso Denegado", "403", "Acceso Denegado. Consulte con su Administrador!", true);
}
global $ari;
$ari->t->caching = false;
$ari->t->assign("error", false);
$handle = $ari->url->getVars();
//selector de pais
if ($countries = address_country::listCountries(USED, 'name', OPERATOR_EQUAL)) {
    foreach ($countries as $c) {
        $array_countries[$c->get('id')] = $c->get('name');
    }
}
$ari->t->assign("countries", $array_countries);
//ciudades
if ($cities = address_city::listCitiesByStates()) {
    // show time
    $i = 0;
    foreach ($cities as $s) {
        $array_cities[$i]['id'] = $s->get('id');
        $array_cities[$i]['name'] = $s->get('name');
        $array_cities[$i]['stateName'] = $s->get('state')->get("name");
        $array_cities[$i]['countryName'] = $s->get('state')->get("country")->get("name");
        //verifico origenes seleccionados
示例#13
0
<?php

#OOB/N1 Framework [2008 - Nutus] - PM
// Código por JPCOSEANI
// Script que genera el FORM NUEVA MONEDA
if (!seguridad::isAllowed(seguridad_action::nameConstructor('new', 'currency', 'currency'))) {
    throw new OOB_exception("Acceso Denegado", "403", "Acceso Denegado. Consulte con su Administrador!", true);
}
PhpExt_Javascript::sendContentType();
include_once 'PhpExtUx/Multiselect/Itemselector.php';
global $ari;
$ari->popup = 1;
// no mostrar el main_frame
$field_width = 180;
//ancho de los controles
$separador_decimal = trim($ari->locale->get('decimal', 'numbers'));
$grid_id = '';
if (isset($_POST['gid'])) {
    $grid_id = $_POST['gid'];
}
//CREACION DE LOS CONTROLES
//MONEDA
$txt_moneda = PhpExt_Form_TextField::createTextField("txt_moneda", "Moneda")->setMsgTarget(PhpExt_Form_FormPanel::MSG_TARGET_SIDE)->setWidth($field_width);
//SIGNO
$txt_signo = PhpExt_Form_TextField::createTextField("txt_signo", "Signo")->setMsgTarget(PhpExt_Form_FormPanel::MSG_TARGET_SIDE)->setWidth($field_width);
//TIPO DE CAMBIO
$opt_tipo_fijo = new PhpExt_Form_Radio();
$opt_tipo_fijo->setBoxLabel("Fijo")->setValue("fixed")->setName("opt-tipo-cambio");
$opt_tipo_flotante = new PhpExt_Form_Radio();
$opt_tipo_flotante->setBoxLabel("Flotante")->setValue("float")->setName("opt-tipo-cambio");
$opt_tipo_flotante->setChecked(true);
示例#14
0
            foreach ($permisos as $p) {
                $permiso = array();
                $permiso['leaf'] = false;
                $permiso['expanded'] = true;
                $permiso['id'] = "p_" . $p->get("permission");
                $permiso['text'] = $p->get("nicename");
                $permiso['children'] = array();
                $permiso['iconCls'] = 'Clspermiso';
                if ($acciones = seguridad_action::listActionsFor($p, ALL_MENU)) {
                    foreach ($acciones as $a) {
                        $accion = array();
                        $accion['leaf'] = true;
                        $accion['id'] = "a_" . $a->get("action");
                        $accion['text'] = $a->get("nicename");
                        $accion['iconCls'] = 'Clsaccion';
                        if (seguridad_action::exists($a, $role)) {
                            $accion['checked'] = true;
                        } else {
                            $accion['checked'] = false;
                        }
                        $permiso['children'][] = $accion;
                    }
                }
                $padre['children'][] = $permiso;
            }
        }
        $modulos[] = $padre;
    }
}
//RESULTADO
$obj_comunication = new OOB_ext_comunication();
示例#15
0
<?php

#OOB/N1 Framework [2008 - Nutus] - PM
// CODIGO POR JPCOSEANI
// Script que genera el FORM LISTADO DE PERMISOS
if (!seguridad::isAllowed(seguridad_action::nameConstructor('list', 'impuesto', 'impuestos'))) {
    throw new OOB_exception("Acceso Denegado", "403", "Acceso Denegado. Consulte con su Administrador!", true);
}
//LIBRERIAS
PhpExt_Javascript::sendContentType();
global $ari;
$ari->popup = 1;
// no mostrar el main_frame
$page_size = PAGE_SIZE;
//STORE PARA TRAER LOS DATOS
$store = new PhpExt_Data_JsonStore();
$store->setUrl("/seguridad/permission/get_permissions")->setRoot("topics")->setTotalProperty("totalCount");
//DEFINICION DE LOS CAMPOS DEL STORE
$store->addField(new PhpExt_Data_FieldConfigObject("id"));
$store->addField(new PhpExt_Data_FieldConfigObject("nombre"));
$store->addField(new PhpExt_Data_FieldConfigObject("descripcion"));
$store->addField(new PhpExt_Data_FieldConfigObject("modulo"));
$store->addField(new PhpExt_Data_FieldConfigObject("contacto"));
$store->addField(new PhpExt_Data_FieldConfigObject("sucursal::nombre"));
$store->addField(new PhpExt_Data_FieldConfigObject("sucursal"));
$filter_plugin = new PhpExtUx_Grid_GridFilters();
$filter_plugin->addFilter(PhpExt_Grid_FilterConfigObject::createFilter("numeric", "id"));
$filter_plugin->addFilter(PhpExt_Grid_FilterConfigObject::createFilter("string", "nombre"));
$filter_plugin->addFilter(PhpExt_Grid_FilterConfigObject::createFilter("string", "contacto::apellido"));
$filter_plugin->addFilter(PhpExt_Grid_FilterConfigObject::createFilter("string", "sucursal::nombre"));
$paging = new PhpExt_Toolbar_PagingToolbar();
示例#16
0
<?php

#OOB/N1 Framework [2008 - Nutus] - PM
// Código por JPCOSEANI
// Script que genera el FORM NUEVO ROL
if (!seguridad::isAllowed(seguridad_action::nameConstructor('new', 'role', 'seguridad'))) {
    throw new OOB_exception("Acceso Denegado", "403", "Acceso Denegado. Consulte con su Administrador!", true);
}
PhpExt_Javascript::sendContentType();
global $ari;
$ari->popup = 1;
// no mostrar el main_frame
$field_width = 180;
//ancho de los controles
$grid_id = '';
if (isset($_POST['gid'])) {
    $grid_id = $_POST['gid'];
}
//creacion de controles
$txt_nombre = PhpExt_Form_TextField::createTextField("txt_nombre", "Nombre")->setMsgTarget(PhpExt_Form_FormPanel::MSG_TARGET_SIDE)->setWidth($field_width);
$txt_descripcion = PhpExt_Form_TextArea::createTextArea("txt_descripcion", "Descripci&oacute;n")->setMsgTarget(PhpExt_Form_FormPanel::MSG_TARGET_SIDE)->setWidth($field_width);
$chk_anonimo = PhpExt_Form_Checkbox::createCheckbox("chk_anonimo", "An&oacute;nimo")->setMsgTarget(PhpExt_Form_FormPanel::MSG_TARGET_SIDE)->setWidth($field_width);
$chk_confiados = PhpExt_Form_Checkbox::createCheckbox("chk_confiados", "Confiado")->setMsgTarget(PhpExt_Form_FormPanel::MSG_TARGET_SIDE)->setWidth($field_width);
//Boton grabar OnClick
$handler_grabar = " \nfunction(){\nthis.findParentByType('form').getForm().submit(\n\t{    \t       \n\t\t\t\t\t\t reset : true,\n\t\t\t\t\t   waitMsg : 'Enviando Datos',\n\t\t\t\t\t waitTitle : 'Emporika',\t\t\t\t   \n\t\t\t   grid_reload_id  : '{$grid_id}',\n\t\t\t\t   new_tab_dir : '/seguridad/role/update',\n\t\t\t\t new_tab_title : 'Modificar Rol',\n  new_tab_pass_response_params : { id : 'id'},  \n\t\t\t\t load_tab_here : true\t   \n\t}\n\t\n\t);\t\t\t\t\n\t\n}";
$btn_grabar = PhpExt_Button::createTextButton("Grabar", new PhpExt_JavascriptStm($handler_grabar));
//Data_Reader para leer los resultados devueltos
$error_reader = new PhpExt_Data_JsonReader();
$error_reader->setRoot("errors");
$error_reader->setSuccessProperty("success");
$error_reader->addField(new PhpExt_Data_FieldConfigObject("id"));
示例#17
0
<?php

/**
########################################
#OOB/N1 Framework [©2004,2006]
#
#  @copyright Pablo Micolini
#  @license BSD
######################################## 
*/
if (!seguridad::isAllowed(seguridad_action::nameConstructor('phpinfo', 'info', 'about'))) {
    throw new OOB_exception("Acceso Denegado", "403", "Acceso Denegado. Consulte con su Administrador!", true);
}
global $ari;
$ari->popup = 1;
// no mostrar el main_frame
ob_start();
phpinfo();
preg_match('%<style type="text/css">(.*?)</style>.*?(<body>.*</body>)%s', ob_get_clean(), $matches);
//esto para sacar los estilos del body
echo "<br/><div class='phpinfodisplay'><style type='text/css'>\n", join("\n", array_map(create_function('$i', 'return ".phpinfodisplay " . preg_replace( "/,/", ",.phpinfodisplay ", $i );'), preg_split('/\\n/', $matches[1]))), "</style>\n", $matches[2], "\n</div>\n";
$ari->t->display($ari->module->admintpldir() . "/phpinfo.tpl");
示例#18
0
 /** returns the module admin menu */
 public function adminMenu()
 {
     global $ari;
     if ($ari->get('user') == false || is_a($ari->module, 'OOB_module') == false) {
         return false;
     }
     $menu = "";
     $array_menu = array();
     // loads localized array
     @(include $this->admindir() . DIRECTORY_SEPARATOR . 'menu' . DIRECTORY_SEPARATOR . $ari->agent->getLang() . '.php');
     // cache del menu para cada modulo en cada usuario
     // Set a id for this cache
     $id = 'menu__' . $ari->agent->getLang() . '__' . $ari->user->get('user') . '-' . $this->name() . '.php';
     //Set cache options
     $options = array('cacheDir' => $ari->cachedir . DIRECTORY_SEPARATOR, 'lifeTime' => SQL_CACHE, 'fileNameProtection' => false, 'automaticSerialization' => true);
     // Create a Cache_Lite object
     $Cache_Lite = new Cache_Lite($options);
     // Test if thereis a valide cache for this id
     if ($menu = $Cache_Lite->get($id)) {
         return $menu;
     } else {
         // No valid cache found
         if ($permissions = seguridad_permission::listPermissionsFor($this)) {
             $menu = array();
             $i = 0;
             foreach ($permissions as $p) {
                 if ($actions = seguridad_action::listActionsFor($p, IN_MENU)) {
                     foreach ($actions as $a) {
                         if (seguridad::isAllowed($a, $ari->perspective)) {
                             if (!count($array_menu) == 0) {
                                 $menu[$i]['name'] = $array_menu[$p->get("name") . $a->get("name")];
                             } else {
                                 $menu[$i]['name'] = $a->get("nicename");
                             }
                             $menu[$i]['link'] = $this->name() . "/" . $p->get("name") . "/" . $a->get("name");
                             $i++;
                         }
                     }
                     //end foreach $actions
                 }
             }
             //end foreach $permissions
         }
         if (count($menu) == 0) {
             $menu = false;
         }
         $Cache_Lite->save($menu);
         return $menu;
     }
     // end cache
 }