function test_recorrido_con_filtrado_items() { $cant_niveles = 5; $niveles = array(array(1000204, 1), array(1000207, 2), array(1000209, 3), array(1000210, 4)); $arbol = new toba_catalogo_items(false, 'toba_testing'); $arbol->sacar_publicos(); $arbol->set_carpeta_inicial(1000203); $arbol->ordenar(); $arbol->dejar_grupo_acceso('admin'); foreach ($niveles as $nivel) { $encontrado = false; foreach ($arbol->items() as $item) { if ($item->id() == $nivel[0]) { $encontrado = true; $this->AssertEqual($item->get_nivel_prof(), $nivel[1], "Nivel del item {$item->id()} (%s)"); break; } } if (!$encontrado) { $this->fail("El item {$nivel[0]} no se encuentra"); } } $this->assertEqual($arbol->cantidad_items(), count($niveles), 'Cant. Items del arbol (%s)'); $this->assertEqual($arbol->profundidad(), $cant_niveles, 'Profundidad del arbol (%s)'); $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 >------------------- //--------------------------------------------------------------------------