<XMI.metamodel xmi.name="UML" href="UML.xml" xmi.version="1.3" />
</XMI.header>
<XMI.content>
- <docsettings viewid="336" documentation="" uniqueid="385" />
+ <docsettings viewid="336" documentation="" uniqueid="386" />
<umlobjects>
<UML:Class stereotype="" package="" xmi.id="207" abstract="0" documentation="Clase para el manejo de los usuarios." name="SAMURAI_Usuario" static="0" scope="200" >
<UML:Operation stereotype="" package="" xmi.id="216" type="void" abstract="0" documentation="Constructor.Recibe como parametro opcional el login del usuario. y busca en la base la informacion referida a el." name="SAMURAI_Usuario" static="0" scope="200" >
<UML:Operation stereotype="" package="" xmi.id="373" type="mixed" abstract="0" documentation="Actualiza los datos de la relacion" name="modificarDb" static="0" scope="202" />
<UML:Operation stereotype="" package="" xmi.id="374" type="mixed" abstract="0" documentation="Verifica si el login actual es valido" name="verificarLogin" static="0" scope="200" />
<UML:Operation stereotype="" package="" xmi.id="375" type="mixed" abstract="0" documentation="Verifica si el login actual ya esta asociado en base." name="verificarAsociacionExistente" static="0" scope="200" />
+ <UML:Operation stereotype="" package="" xmi.id="386" type="mixed" abstract="0" documentation="Metodo estatico que permite asociar un usuario con un perfil en un sistema determinado." name="asociarPerfil" static="1" scope="200" >
+ <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&DB" abstract="0" documentation="Conexion a la base de datos" name="db" static="0" scope="200" />
+ <UML:Parameter stereotype="" package="" xmi.id="2" value="" type="string" abstract="0" documentation="Login del usuario que se quiere asociar" name="login" static="0" scope="200" />
+ <UML:Parameter stereotype="" package="" xmi.id="3" value="" type="int" abstract="0" documentation="Identificador del perfil que se quiere asociar" name="id_perfil" static="0" scope="200" />
+ <UML:Parameter stereotype="" package="" xmi.id="4" value="" type="int" abstract="0" documentation="identificador del sistema en el que se esta haciendo la asociacion" name="id_sistema" static="0" scope="200" />
+ <UML:Parameter stereotype="" package="" xmi.id="5" value="" type="int" abstract="0" documentation="Login del usuario que esta haciendo los cambios" name="responsable" static="0" scope="200" />
+ </UML:Operation>
<UML:Attribute stereotype="" package="" xmi.id="211" value="" type="string" abstract="0" documentation="Login del usuario en intranet.
x2c: get set" name="login" static="0" scope="202" />
<UML:Attribute stereotype="" package="" xmi.id="212" value="" type="int" abstract="0" documentation="Numero de documento del usuario
<UML:Class stereotype="" package="" xmi.id="265" abstract="0" documentation="Manejo interno de las bases de datos." name="SAMURAI_DB" static="0" scope="200" >
<UML:Operation stereotype="" package="" xmi.id="269" type="DB" abstract="0" documentation="Realiza la conexion con la base de datos." name="connect" static="0" scope="200" />
</UML:Class>
- <UML:Association nameb="" stereotype="" visibilitya="200" visibilityb="200" assoctype="500" rolea="265" roleb="264" multia="" doca="" multib="" docb="" package="" xmi.id="-1" abstract="0" documentation="" name="" static="0" scope="200" changeabilitya="900" changeabilityb="900" namea="" />
- <UML:Association nameb="" stereotype="" visibilitya="200" visibilityb="200" assoctype="501" rolea="265" roleb="210" multia="" doca="" multib="" docb="" package="" xmi.id="-1" abstract="0" documentation="" name="" static="0" scope="200" changeabilitya="900" changeabilityb="900" namea="" />
- <UML:Association nameb="" stereotype="" visibilitya="200" visibilityb="200" assoctype="501" rolea="265" roleb="209" multia="" doca="" multib="" docb="" package="" xmi.id="-1" abstract="0" documentation="" name="" static="0" scope="200" changeabilitya="900" changeabilityb="900" namea="" />
- <UML:Association nameb="" stereotype="" visibilitya="200" visibilityb="200" assoctype="501" rolea="265" roleb="208" multia="" doca="" multib="" docb="" package="" xmi.id="-1" abstract="0" documentation="" name="" static="0" scope="200" changeabilitya="900" changeabilityb="900" namea="" />
- <UML:Association nameb="" stereotype="" visibilitya="200" visibilityb="200" assoctype="501" rolea="265" roleb="207" multia="" doca="" multib="" docb="" package="" xmi.id="-1" abstract="0" documentation="" name="" static="0" scope="200" changeabilitya="900" changeabilityb="900" namea="" />
- <UML:Association nameb="" stereotype="" visibilitya="200" visibilityb="200" assoctype="500" rolea="265" roleb="264" multia="" doca="" multib="" docb="" package="" xmi.id="-1" abstract="0" documentation="" name="" static="0" scope="200" changeabilitya="900" changeabilityb="900" namea="" />
<UML:Class stereotype="" package="SAMURAI" xmi.id="377" abstract="0" documentation="Chequeador de permisos." name="SAMURAI_Perm" static="0" scope="200" >
<UML:Operation stereotype="" package="" xmi.id="380" type="void" abstract="0" documentation="Constructor." name="SAMURAI_Perm" static="0" scope="200" >
<UML:Parameter stereotype="" package="" xmi.id="1" value="" type="int" abstract="0" documentation="Login del usuario para el cual obtener los permisos." name="login" static="0" scope="200" />
<UML:Attribute stereotype="" package="" xmi.id="379" value="" type="int" abstract="0" documentation="Sistema usado actualmente.
x2c:set" name="sistema" static="0" scope="202" />
</UML:Class>
+ <UML:Association nameb="" stereotype="" visibilitya="200" visibilityb="200" assoctype="500" rolea="265" roleb="264" multia="" doca="" multib="" docb="" package="" xmi.id="-1" abstract="0" documentation="" name="" static="0" scope="200" changeabilitya="900" changeabilityb="900" namea="" />
+ <UML:Association nameb="" stereotype="" visibilitya="200" visibilityb="200" assoctype="501" rolea="265" roleb="210" multia="" doca="" multib="" docb="" package="" xmi.id="-1" abstract="0" documentation="" name="" static="0" scope="200" changeabilitya="900" changeabilityb="900" namea="" />
+ <UML:Association nameb="" stereotype="" visibilitya="200" visibilityb="200" assoctype="501" rolea="265" roleb="209" multia="" doca="" multib="" docb="" package="" xmi.id="-1" abstract="0" documentation="" name="" static="0" scope="200" changeabilitya="900" changeabilityb="900" namea="" />
+ <UML:Association nameb="" stereotype="" visibilitya="200" visibilityb="200" assoctype="501" rolea="265" roleb="208" multia="" doca="" multib="" docb="" package="" xmi.id="-1" abstract="0" documentation="" name="" static="0" scope="200" changeabilitya="900" changeabilityb="900" namea="" />
+ <UML:Association nameb="" stereotype="" visibilitya="200" visibilityb="200" assoctype="501" rolea="265" roleb="207" multia="" doca="" multib="" docb="" package="" xmi.id="-1" abstract="0" documentation="" name="" static="0" scope="200" changeabilitya="900" changeabilityb="900" namea="" />
+ <UML:Association nameb="" stereotype="" visibilitya="200" visibilityb="200" assoctype="500" rolea="265" roleb="264" multia="" doca="" multib="" docb="" package="" xmi.id="-1" abstract="0" documentation="" name="" static="0" scope="200" changeabilitya="900" changeabilityb="900" namea="" />
</umlobjects>
<diagrams>
- <diagram snapgrid="1" showattsig="1" fillcolor="#ffffc0" zoom="100" showgrid="1" showopsig="1" usefillcolor="1" snapx="10" canvaswidth="911" snapy="10" showatts="1" xmi.id="206" documentation="" type="402" showops="1" showpackage="0" name="Clases y Relaciones" localid="30000" showstereotype="0" showscope="1" snapcsgrid="0" font="helvetica,8,-1,0,50,0,0,0,0,0" linecolor="#ff0000" canvasheight="603" >
+ <diagram snapgrid="1" showattsig="1" fillcolor="#ffffc0" zoom="100" showgrid="1" showopsig="1" usefillcolor="1" snapx="10" canvaswidth="911" snapy="10" showatts="1" xmi.id="206" documentation="" type="402" showops="1" showpackage="0" name="Clases y Relaciones" localid="30000" showstereotype="0" showscope="1" snapcsgrid="0" font="helvetica,8,-1,0,50,0,0,0,0,0" linecolor="#ff0000" canvasheight="648" >
<widgets>
- <UML:ClassWidget usesdiagramfillcolour="0" width="157" showattsigs="601" usesdiagramusefillcolour="0" x="750" linecolour="#ff0000" y="290" showopsigs="600" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="221" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="207" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,8,-1,0,50,0,0,0,0,0" />
+ <UML:ClassWidget usesdiagramfillcolour="0" width="157" showattsigs="601" usesdiagramusefillcolour="0" x="750" linecolour="#ff0000" y="290" showopsigs="600" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="234" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="207" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,8,-1,0,50,0,0,0,0,0" />
<UML:ClassWidget usesdiagramfillcolour="0" width="111" showattsigs="601" usesdiagramusefillcolour="0" x="640" linecolour="#ff0000" y="10" showopsigs="600" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="273" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="208" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,8,-1,0,50,0,0,0,0,0" />
<UML:ClassWidget usesdiagramfillcolour="0" width="149" showattsigs="601" usesdiagramusefillcolour="0" x="200" linecolour="#ff0000" y="10" showopsigs="600" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="585" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="209" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,8,-1,0,50,0,0,0,0,0" />
<UML:ClassWidget usesdiagramfillcolour="0" width="118" showattsigs="601" usesdiagramusefillcolour="0" x="480" linecolour="#ff0000" y="310" showopsigs="600" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="195" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="210" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,8,-1,0,50,0,0,0,0,0" />
<UML:AssocWidget totalcounta="3" indexa="2" visibilityB="200" totalcountb="2" indexb="1" widgetbid="207" roleBdoc="" widgetaid="265" roleAdoc="" documentation="" type="501" changeabilityA="900" changeabilityB="900" visibilityA="200" >
<UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="703" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
<UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="701" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
- <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="702" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
+ <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="10" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="702" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
<UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="709" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="+" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
- <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="710" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="+" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
+ <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="10" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="710" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="+" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
<UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="711" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
- <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="0" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="712" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
+ <UML:FloatingTextWidget usesdiagramfillcolour="1" width="0" usesdiagramusefillcolour="1" x="0" linecolour="none" y="10" operation="" instancename="" posttext="" usesdiagramlinecolour="1" role="712" fillcolour="none" height="0" usefillcolor="1" seqnum="" pretext="" isinstance="0" xmi.id="-1" text="" font="helvetica,12,-1,5,50,0,0,0,0,0" />
<linepath>
<startpoint startx="532" starty="152" />
- <endpoint endx="750" endy="400" />
+ <endpoint endx="750" endy="407" />
</linepath>
</UML:AssocWidget>
</associations>
</diagram>
- <diagram snapgrid="1" showattsig="1" fillcolor="#ffffc0" zoom="100" showgrid="1" showopsig="1" usefillcolor="1" snapx="10" canvaswidth="829" snapy="10" showatts="1" xmi.id="336" documentation="" type="402" showops="1" showpackage="0" name="Clases" localid="30000" showstereotype="0" showscope="1" snapcsgrid="0" font="helvetica,8,-1,0,50,0,0,0,0,0" linecolor="#ff0000" canvasheight="1129" >
+ <diagram snapgrid="1" showattsig="1" fillcolor="#ffffc0" zoom="100" showgrid="1" showopsig="1" usefillcolor="1" snapx="10" canvaswidth="902" snapy="10" showatts="1" xmi.id="336" documentation="" type="402" showops="1" showpackage="0" name="Clases" localid="30000" showstereotype="0" showscope="1" snapcsgrid="0" font="helvetica,8,-1,0,50,0,0,0,0,0" linecolor="#ff0000" canvasheight="1129" >
<widgets>
<UML:ClassWidget usesdiagramfillcolour="0" width="35" showattsigs="601" usesdiagramusefillcolour="0" x="470" linecolour="#ff0000" y="20" showopsigs="601" instancename="" usesdiagramlinecolour="0" fillcolour="#d5d5cf" height="25" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="264" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,8,-1,0,50,0,0,0,0,0" />
<UML:ClassWidget usesdiagramfillcolour="0" width="430" showattsigs="601" usesdiagramusefillcolour="0" x="10" linecolour="#ff0000" y="240" showopsigs="601" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="273" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="208" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,8,-1,0,50,0,0,0,0,0" />
<UML:ClassWidget usesdiagramfillcolour="0" width="361" showattsigs="601" usesdiagramusefillcolour="0" x="10" linecolour="#ff0000" y="10" showopsigs="601" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="195" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="210" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,8,-1,0,50,0,0,0,0,0" />
<UML:ClassWidget usesdiagramfillcolour="0" width="88" showattsigs="601" usesdiagramusefillcolour="0" x="450" linecolour="#ff0000" y="80" showopsigs="601" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="32" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="265" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,8,-1,0,50,0,0,0,0,0" />
<UML:ClassWidget usesdiagramfillcolour="0" width="431" showattsigs="601" usesdiagramusefillcolour="0" x="10" linecolour="#ff0000" y="540" showopsigs="601" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="585" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="209" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,8,-1,0,50,0,0,0,0,0" />
- <UML:ClassWidget usesdiagramfillcolour="0" width="375" showattsigs="601" usesdiagramusefillcolour="0" x="450" linecolour="#ff0000" y="130" showopsigs="601" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="221" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="207" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,8,-1,0,50,0,0,0,0,0" />
+ <UML:ClassWidget usesdiagramfillcolour="0" width="448" showattsigs="601" usesdiagramusefillcolour="0" x="450" linecolour="#ff0000" y="130" showopsigs="601" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="234" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="207" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,8,-1,0,50,0,0,0,0,0" />
<UML:ClassWidget usesdiagramfillcolour="0" width="288" showattsigs="601" usesdiagramusefillcolour="0" x="450" linecolour="#ff0000" y="370" showopsigs="601" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="78" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="377" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,8,-1,0,50,0,0,0,0,0" />
</widgets>
<messages/>
<listitem open="1" type="803" id="-1" label="Diagramas" >
<listitem open="1" type="807" id="336" label="Clases" />
<listitem open="1" type="807" id="206" label="Clases y Relaciones" />
- <listitem open="1" type="813" id="377" label="SAMURAI_Perm" >
+ <listitem open="0" type="813" id="377" label="SAMURAI_Perm" >
<listitem open="0" type="814" id="378" label="permisos" />
<listitem open="0" type="814" id="379" label="sistema" />
<listitem open="0" type="815" id="380" label="SAMURAI_Perm" />
<listitem open="0" type="803" id="-1" label="EXTERNO" >
<listitem open="1" type="813" id="264" label="DB" />
</listitem>
- <listitem open="0" type="803" id="-1" label="SAMURAI" >
+ <listitem open="1" type="803" id="-1" label="SAMURAI" >
<listitem open="0" type="813" id="265" label="SAMURAI_DB" >
<listitem open="0" type="815" id="269" label="connect" />
</listitem>
<listitem open="0" type="815" id="302" label="setPermisos" />
<listitem open="0" type="815" id="291" label="setResponsable" />
</listitem>
- <listitem open="0" type="813" id="207" label="SAMURAI_Usuario" >
+ <listitem open="1" type="813" id="207" label="SAMURAI_Usuario" >
<listitem open="0" type="814" id="273" label="db" />
<listitem open="0" type="814" id="211" label="login" />
<listitem open="0" type="814" id="213" label="nombre" />
<listitem open="0" type="814" id="212" label="nrodoc" />
<listitem open="0" type="814" id="369" label="perfiles" />
<listitem open="0" type="815" id="216" label="SAMURAI_Usuario" />
+ <listitem open="0" type="815" id="386" label="asociarPerfil" />
<listitem open="0" type="815" id="372" label="borrarDb" />
<listitem open="0" type="815" id="366" label="getArrayUsuarios" />
<listitem open="0" type="815" id="365" label="getLoginUsuarios" />
+++ /dev/null
-<?php
-// vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4:
-// +--------------------------------------------------------------------+
-// | SAMURAI - Samurai_Lib |
-// +--------------------------------------------------------------------+
-// | Sistema de Administracion y Matenimiento de Usuarios Relativo A |
-// | Intranet |
-// | Ministerio de Economía |
-// +--------------------------------------------------------------------+
-// | Creado: lun mar 10 ART 2003 |
-// | Autor: Martin Marrese <mmarre@mecon.gov.ar> |
-// +--------------------------------------------------------------------+
-//
-// $Id$
-//
-// $URL$
-// $Rev$
-// $Date$
-// $Author$
-//
-
-require_once 'PEAR.php';
-require_once 'DB.php';
-
-/**
- * Manejo de permisos.
- *
- * Libreria para le manejo de los permisos. Basada en la lase HE_Perm de
- * Leandro Lucarella <llucar@mecon.gov.ar>
- * Las funciones de acceso publico se llaman igual que en HE_Perm
- * Archivos Requeridos
- * Perm/sql_Conf.php -> Consultas SQL utilizadas por el objeto
- * Perm/db_Conf.php -> Datos de la conexion con la base de datos
- *
- * @package Samurai
- * @version $Rev$
- * @author $Author$
- */
-
-class SA_Perm extends PEAR {
-
- /**
- * Login del usuario
- *
- * @var string
- */
- var $login;
-
- /**
- * Permisos del usuario en el sistema.
- *
- * @var array
- */
- var $permisos;
-
-
- /**
- * Conexion a la Base de Datos .
- *
- * @var object DB
- */
- var $DB;
-
- /**
- * Identificacion del sistema
- *
- * @var int
- */
- var $sistema;
-
- /**
- * Constructor.
- *
- * El login del usuario lo toma del udat
- *
- * @param int $sistema Identificacion del sistema (id_sistema)
- * @param string $login Identificacion del usuario (udat{user}
- *
- * @access public
- */
- function SA_Perm($sistema, $login)
- {
- $this->PEAR();
- $this->sistema = $sistema;
- $this->login = $login;
- $this->DB = $this->_conectarDB();
- $this->permisos = $this->_obtenerPermisos();
- }
-
- /**
- * Verifica los permisos de un usuario
- *
- * Compara los permisos que tiene un usuario en relacion a los
- * pasados como parametro. Devuelve true si cumple con todos los
- * permisos, en caso contrario devuelve false. Es de parametros
- * variables, y siempre necesita al menos UN parametro
- *
- * @param array $permisos Permisos que se buscan
- *
- * @return bool
- *
- * @access public
- */
- function tiene()
- {
- $args = func_get_args(); //Obtengo los permisos que me pasaron como argumento
- $result = true; //Asumo que no va a fallar
- if (!count($args)) {
- $result = false; //Siempre se debe pasar al menos un permiso a buscar
- }
- else {
- if (count(array_diff($args, $this->permisos))){
- $result = false;
- }
- }
- return $result;
- }
-
- /**
- * Verifica los permisos de un usuario
- *
- * Compara los permisos que tiene un usuario en relacion a los
- * pasados como parametro. Devuelve true si cumple con alguno de los
- * permisos, en caso contrario devuelve false. Es de parametros
- * variables, y siempre necesita al menos UN parametro
- *
- * @param array $permisos Permisos que se buscan
- *
- * @return bool
- *
- * @access public
- */
- function tieneO()
- {
- $args = func_get_args(); //Obtengo los permisos que me pasaron como argumento
- $result = true; //Asumo que no va a fallar
- if (!count($args)) { //Siempre se debe pasar al menos un permiso a buscar
- $result = false;
- }
- else {
- if (count(array_diff($args, $this->permisos)) >= count($args)) {
- $result = false;
- }
- }
- return $result;
- }
-
- /**
- * Verifica los permisos de un usuario
- *
- * Compara los permisos que tiene un usuario en relacion a los
- * pasados como parametro. Devuelve un array con aquellos permisos que
- * el usuario tiene. Funciona similar a tieneO solo que devuelve un array.
- * Es de parametros variables, y siempre necesita al menos UN parametro
- *
- * @param array $permisos Permisos que se buscan
- *
- * @return array Permisos que tiene el usuario pasados por parametro, o 'ERROR' en caso contrario
- *
- * @access public
- */
- function tieneODevol ()
- {
- $args = func_get_args(); //Obtengo los permisos que me pasaron como argumento
- $result = array();
-
- if (!count($args)) {
- $result['0'] = 'ERROR'; //Siempre se debe pasar al menos un permiso a buscar
- }
- else {
- $result = array_intersect($args, $this->permisos);
- }
- return $result;
- }
-
- /**
- * Verifica los permisos de un usuario
- *
- * Compara un permiso pasado por parametro con los que tiene el usuario
- * en la base. Devuelve true si tiene el permiso, false en otro caso
- *
- * @param int permiso buscado
- *
- * @return bool
- *
- * @access public
- */
- function tieneUn($permiso)
- {
- $result = true; //Asumo que no va a fallar
- if (!in_array($permiso, $this->permisos)) { //Si no esta en el array, no tiene el permiso
- $result = false;
- }
- return $result;
- }
-
- /**
- * Devuelve los permisos de un usuario
- *
- * Devuelve un array con los permisos que posee el usuario en el sistema
- * que se paso como parametro al constructor. Devuelve un array.
- *
- * @return array
- *
- * @access public
- */
- function listaPermisos()
- {
- return $this->permisos;
- }
-
-
-
-//HASTA ACA FUNCIONES PUBLICAS
-//DESDE ACA FUNCIONES PRIVADAS
-
- /**
- * Obtiene los permisos de un usuario de la base
- *
- * @return array permisos del usuario
- *
- * @access private
- */
- function _obtenerPermisos()
- {
- $consultas = include 'Perm/sql_Conf.php';
- $sql = $consultas['obtener_p_p_completo'];
- $sql_array = array ('0' => $this->sistema, '1' => $this->login);
- $result = $this->DB->getCol($sql,0, $sql_array);
- if (DB::isError($this->permisos)) { //En caso de error en la consulta, que lo muestre
- die ($this->permisos->getMessage());
- }
- return $result;
- }
-
- /**
- * Conecta el objeto a la base de datos
- *
- * @return db conexion con la base
- *
- * @access private
- */
- function _conectarDB()
- {
- $datos = include 'Perm/db_Conf.php';
- $dsn = $datos['db_type']."://".$datos['db_user'].":".$datos['db_pass']."@".$datos['db_host']."/".$datos['db_name'];
- $db = DB::connect($dsn, true); //Quiero que la conexion sea persistente
- if (DB::isError($db)) { //En caso de error en la conexion que la muestre
- die($db->getMessage());
- }
- return $db;
- }
-
-}
-
-?>
+++ /dev/null
-<?php
-// vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4:
-// +--------------------------------------------------------------------+
-// | SAMURAI - Samurai_Lib |
-// +--------------------------------------------------------------------+
-// | Sistema de Administracion y Matenimiento de Usuarios Relativo A |
-// | Intranet |
-// | Ministerio de Economía |
-// +--------------------------------------------------------------------+
-// | Creado: lun mar 10 ART 2003 |
-// | Autor: Martin Marrese <mmarre@mecon.gov.ar> |
-// +--------------------------------------------------------------------+
-//
-// $Id$
-//
-// $URL$
-// $Rev$
-// $Date$
-// $Author$
-//
-
-require_once 'PEAR.php';
-require_once 'DB.php';
-
-/**
- * Manejo de permisos.
- *
- * Libreria para le manejo de los permisos. Basada en la lase HE_Perm de
- * Leandro Lucarella <llucar@mecon.gov.ar>
- *
- * @package SA_Perm
- * @version $Rev$
- * @author $Author$
- */
-class SA_Perm extends PEAR {
-
- /**
- * Identificacion del usuario.
- *
- * @var int(11) nrodoc
- */
- var $nrodoc;
-
- /**
- * Login del usuario
- *
- * @var string login
- */
- var $login;
-
- /**
- * Consultas SQL.
- *
- * @var array SQL
- */
- var $SQL;
-
-
- /**
- * Conexion a la Base de Datos .
- *
- * @var $DB
- */
- var $DB;
-
- /**
- * Identificacion del sistema
- *
- * @var $sistema
- */
- var $sistema
-
- /**
- * Constructor.
- *
- * @param int $nrodoc Numero de documento del usuario.
- * @param string $login Login del usuario de la forma <usuario>@<organismo>
- * @param int $sistema Identificacion del sistema (id_sistema)
- *
- * @return bool true si esta nrodoc, false en caso contrario
- *
- * @access public
- */
- function SA_Perm($nrodoc = null, $login = null, $sistema = null)
- {
- $creacion = false; //Asumo que va a fallar
- if (isset($nrodoc) && isset($sistema) && isset($login)) {
- $this->nrodoc = $nrodoc;
- $this->sistema = $sistema;
- $this->login = $login;
- $this->SQL = include 'samurai_lib_sql.inc';
- $this->DB = $this->_SA_conectarDB();
- $creacion = true;
- }
- return $creacion;
- }
-
- /**
- * Verifica los permisos de un usuario
- *
- * Compara los permisos que tiene un usuario en relacion a los
- * pasados como parametro. Devuelve true si cumple con todos los
- * permisos, en caso contrario devuelve false
- *
- * @param array permisos
- *
- * @return bool
- *
- * @access public
- */
- function SA_verifPerm ()
- {
- $args = func_get_args();
- $result = true; //Asumo que no va a fallar
-
- if (!count($args)) {
- $result = false;
- }
- else {
- //Obtengo los perfiles de un usuario {{{
- $sql = $this->SQL['obtener_perfil_usuario'];
- $re = $this->DB->prepare($sql);
- $re = $this->DB->execute($this->login, $this->sistema);
- // }}}
-
- // Por cada perfil, busco sus permisos y los comparo con los pasados
- // por el argumento {{{
- while ($res = $re->fetchRow(DB_FETCHMODE_ASSOC)) {
- $sql = $this->SQL['obtener_permisos_perfil'];
- $re = $this->DB->prepare($sql);
- $re = $this->DB->execute($res['id_perfil'], $this->sistema);
- //TODO: Verificar que este tomando bien los datos de la base
- }
- /// }}}
- }
- return $result;
- }
-
- /**
- * Conecta el objeto a la base de datos, segun lo especificado
- * en samurai_lib_dc_conf.inc.
- *
- * @return db conexion hecha
- *
- * @access private
- */
- function _SA_conectarDB ()
- {
- $datos = include 'samurai_lib_db_conf.inc';
- $dsn = $datos['db_type']."://".$datos['db_user'].":".$datos['db_pass']."@".$datos['db_host']."/".$datos['db_name'];
- $db = DB::connect($dsn, true); //Quiero que la conexion sea persistente
- if (DB::isError($db)) {
- die($db->getMessage());
- }
- return $db;
- }
-
- //Fin Clase
-}
-?>