Página principal | Lista alfabética | Lista de componentes | Lista de archivos | Miembros de las clases

Permiso.php

Ir a la documentación de este archivo.
00001 <?php
00002 // vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4:
00003 // +----------------------------------------------------------------------+
00004 // | PHP Version 4                                                        |
00005 // +----------------------------------------------------------------------+
00006 // | Copyright (c) 1997-2003 The PHP Group                                |
00007 // +----------------------------------------------------------------------+
00008 // | This source file is subject to version 2.02 of the PHP license,      |
00009 // | that is bundled with this package in the file LICENSE, and is        |
00010 // | available at through the world-wide-web at                           |
00011 // | http://www.php.net/license/2_02.txt.                                 |
00012 // | If you did not receive a copy of the PHP license and are unable to   |
00013 // | obtain it through the world-wide-web, please send a note to          |
00014 // | license@php.net so we can mail you a copy immediately.               |
00015 // +----------------------------------------------------------------------+
00016 // | Created: Tue May 27 11:20:04 2003
00017 // | Author:  Martin Marrese - Myrna Degano <mmarre@mecon.gov.ar - mdegan@mecon.gov.ar>
00018 // +----------------------------------------------------------------------+
00019 //
00020 // $Id: Permiso.php 26 2003-07-07 22:45:35Z mmarre $
00021 // $Author: mmarre $
00022 // $URL: http://portal.mecon.ar/svn/samurai/tronco/lib/SAMURAI/Permiso.php $
00023 // $Date: 2003-07-07 19:45:35 -0300 (Mon, 07 Jul 2003) $
00024 // $Rev: 26 $
00025 //
00026 
00027 require_once 'PEAR.php';
00028 
00029 // +X2C Class 210 :SAMURAI_Permiso
00035 class SAMURAI_Permiso {
00042     var $_id;
00043 
00050     var $_descripcion;
00051 
00058     var $_db;
00059 
00066     var $_responsable;
00067 
00074     function getId()
00075     {
00076         return $this->_id;
00077     }
00086     function setId($id)
00087     {
00088         $this->_id = $id;
00089     }
00090 
00097     function getDescripcion()
00098     {
00099         return $this->_descripcion;
00100     }
00109     function setDescripcion($descripcion)
00110     {
00111         $this->_descripcion = $descripcion;
00112     }
00113 
00120     function getResponsable()
00121     {
00122         return $this->_responsable;
00123     }
00132     function setResponsable($responsable)
00133     {
00134         $this->_responsable = $responsable;
00135     }
00136 
00137     // ~X2C
00138 
00139     // +X2C Operation 259
00149     function SAMURAI_Permiso(&$db, $id = null) // ~X2C
00150     {
00151         $this->_db          = $db; 
00152         $this->_id          = $id;
00153         $this->setDescripcion(null); 
00154         if (!is_null($id)) {
00155             $this->_obtenerDatosDb();
00156         }
00157     }
00158     // -X2C
00159 
00160     // +X2C Operation 295
00167     function _obtenerDatosDb() // ~X2C
00168     {
00169         $sql = parse_ini_file(dirname(__FILE__) . '/Permiso/consultas.ini', true);
00170         $tmp = $sql['obtener_datos_permiso'].$sql['obtener_datos_permiso2'];
00171         $dbh = $this->_db->prepare($tmp);
00172         $tmp = array ($this->_id);
00173         $res = $this->_db->execute($dbh,$tmp);        
00174 
00175         if ($re  = $res->fetchRow(DB_FETCHMODE_ASSOC)) {
00176             if (isset($re['desc_permiso'])) {
00177                $this->setDescripcion($re['desc_permiso']);
00178             }
00179             else {
00180                 $this->setDescripcion();
00181             }
00182             if (isset($re['responsable'])) {
00183                 $this->setResponsable($re['responsable']);
00184             }
00185             else {
00186                 $this->setResponsable();
00187             }
00188         }
00189     }
00190     // -X2C
00191 
00192 
00193 
00194     // +X2C Operation 316
00203     function guardarDatos($accion = grabar) // ~X2C
00204     {
00205         $accion = strtolower($accion); 
00206         switch ($accion)  {   
00207             case 'grabar':    
00208                 $res = $this->_grabarDb();            
00209                 break;        
00210             case 'modificar': 
00211                 $res = $this->_modificarDb();         
00212                 break;        
00213             case 'eliminar':  
00214                 $res = $this->_borrarDb();            
00215                 break;        
00216         }
00217         return $res;
00218     }
00219     // -X2C
00220 
00221     // +X2C Operation 317
00228     function _grabarDb() // ~X2C
00229     {
00230         $idPermiso = $this->_db->nextId('permiso');
00231         $datos = array (
00232                     'id_permiso'   => $idPermiso,
00233                     'desc_permiso' => $this->getDescripcion(),
00234                     'responsable'  => $this->getResponsable(),
00235                 );
00236         return $this->_db->autoExecute('permiso', $datos, DB_AUTOQUERY_INSERT);
00237     }
00238     // -X2C
00239 
00240     // +X2C Operation 318
00247     function _borrarDb() // ~X2C
00248     {
00249         $sql = parse_ini_file(dirname(__FILE__) . '/Permiso/consultas.ini', true);
00250         $datos[] = $this->getId();
00251         //Verifico que el permiso no tenga asociaciones
00252         $tmp = $sql['verificar_asociaciones1'].$sql['obtener_datos_permiso2'];
00253         $dbh = $this->_db->prepare($tmp);
00254         $res = $this->_db->execute($dbh, $datos);
00255         if (($re  = $res->fetchRow(DB_FETCHMODE_ASSOC)) && !$re['cuenta'] == 0) {
00256             return new PEAR_Error("Hay sistemas asociados al permiso seleccionado");
00257         }
00258         $tmp = $sql['verificar_asociaciones2'].$sql['obtener_datos_permiso2'];
00259         $dbh = $this->_db->prepare($tmp);
00260         $res = $this->_db->execute($dbh, $datos);
00261         if (($re  = $res->fetchRow(DB_FETCHMODE_ASSOC)) && !$re['cuenta'] == 0) {
00262             return new PEAR_Error("Hay pefiles asociados al permiso seleccionado");
00263         }
00264         //
00265         //Borro el permiso de la base 
00266         $tmp = $sql['borrar_permiso'].$sql['obtener_datos_permiso2'];
00267         $dbh = $this->_db->prepare($tmp);
00268         return $this->_db->execute($dbh, $datos);
00269         //
00270     }
00271     // -X2C
00272 
00273     // +X2C Operation 319
00280     function _modificarDb() // ~X2C
00281     {
00282         $datos = array (
00283                     'id_permiso'   => $this->getId(),
00284                     'desc_permiso' => $this->getDescripcion(),
00285                     'responsable'  => $this->getResponsable(),
00286                 );
00287         return $this->_db->autoExecute('permiso', $datos, DB_AUTOQUERY_UPDATE, 'id_permiso ='.$this->getId());
00288     }
00289     // -X2C
00290 
00291 
00292     // +X2C Operation 332
00302     function _getIdPermisos(&$db) // ~X2C
00303     {
00304         //OBTENGO LOS ID DE LA BASE
00305         $rta = array();
00306         $sql = parse_ini_file(dirname(__FILE__) . '/Permiso/consultas.ini', true);
00307         $dbh = $db->prepare($sql['obtener_datos_permiso']);
00308         $tmp[] = $_SESSION['samurai']['id_sistema'];
00309         $res = $db->execute($dbh, $tmp);
00310         while ($re = $res->fetchrow(DB_FETCHMODE_ASSOC)) {
00311             array_push($rta,$re['id_permiso']);
00312         }        
00313         $res->free();
00314         return $rta;
00315     }
00316     // -X2C
00317 
00318     // +X2C Operation 333
00328     function getArrayPermisos(&$db) // ~X2C
00329     {
00330         //FORECHEO LO QUE ME DEVUELVA GET PERMISOS
00331         $rta = array ();
00332         foreach (SAMURAI_Permiso::getPermisos($db) as $permiso) {
00333             $rta[$permiso->getId()] = $permiso->getDescripcion();
00334         }
00335         return $rta;
00336     }
00337     // -X2C
00338 
00339     // +X2C Operation 334
00349     function getPermisos(&$db) // ~X2C
00350     {
00351         $rta = array ();
00352         foreach (SAMURAI_Permiso::_getIdPermisos($db) as $id) {
00353             $tmp = new SAMURAI_Permiso($db,$id);
00354             array_push($rta, $tmp);
00355         }
00356         return $rta;
00357     }
00358     // -X2C
00359 
00360 } // -X2C Class :SAMURAI_Permiso
00361 
00362 ?>

Generado el Tue Jul 8 11:36:21 2003 para SAMURAI por doxygen 1.3.2