Beispiel #1
0
 function test_rama_otorgar_permisos_item_profundo()
 {
     $arbol = new toba_catalogo_items(false, 'toba_testing');
     $arbol->sacar_publicos();
     $arbol->cambiar_permisos(array(1000210), 'prueba_asignacion');
     //Chequeo
     $items_buscados = array('', 1000202, 1000203, 1000205, 1000208, 1000209, 1000210);
     $arbol = new toba_catalogo_items(false, 'toba_testing');
     $arbol->sacar_publicos();
     $arbol->ordenar();
     $arbol->dejar_grupo_acceso('prueba_asignacion');
     $this->assertEqual($arbol->cantidad_items(), count($items_buscados));
     foreach ($arbol->items() as $item) {
         $this->assertTrue(in_array($item->id(), $items_buscados), 'Las carpetas del camino deben tener permisos');
     }
     $this->asegurar_unicidad($arbol->items());
 }
<?php

$editable = toba::zona()->get_editable();
define('separador_camino', '_%_');
$grupo = $editable[1];
$arbol = new toba_catalogo_items(toba_editor::get_proyecto_cargado());
$arbol->cargar_todo();
$arbol->sacar_publicos();
$maximo = $arbol->profundidad();
$formulario = 'permisos';
$boton_post = 'asignar_permisos';
$boton_post_nombre = 'Guardar';
$prefijo_items = 'item_';
//Prefijo de los checkbox
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST[$boton_post])) {
    if ($_POST[$boton_post] == $boton_post_nombre) {
        //SI hay un POST, y estuvo disparado por este formulario
        $items = array();
        foreach ($_POST as $etiqueta => $valor) {
            if (substr($etiqueta, 0, strlen($prefijo_items)) == $prefijo_items) {
                $nodo = trim(substr($etiqueta, strlen($prefijo_items)));
                $items[] = $nodo;
            }
        }
        $arbol->cambiar_permisos($items, $grupo);
        echo ei_mensaje('Los permisos han sido actualizados correctamente');
    }
}
//--------------------------------------------------------------------------
//--------------<  INTERFACE DE ASIGNACION de PERMISOS  >-------------------
//--------------------------------------------------------------------------