00001 <?php
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #require_once 'PEAR.php';
00028 require_once 'Sistema.php';
00029 require_once 'Usuario.php';
00030 require_once 'Permiso.php';
00031 require_once 'Perfil.php';
00032
00033
00034
00035
00041 class Samurai {
00048 var $_id_sistema;
00049
00056 var $_db;
00057
00058
00059
00060
00070 function Samurai(&$db, $idSistema = null)
00071 {
00072 $this->_id_sistema = $idSistema;
00073 $this->_db = &$db;
00074 }
00075
00076
00077
00084 function _getIdSistemas()
00085 {
00086 $rta = array();
00087 $sql = include 'Samurai/consultas.php';
00088 $dbh = $this->_db->prepare($sql['obtener_id_sistemas']);
00089 $res = $this->_db->execute($dbh);
00090 while ($re = $res->fetchrow(DB_FETCHMODE_ASSOC)) {
00091 array_push($rta,$re['id_sistema']);
00092 }
00093 $res->free();
00094 return $rta;
00095 }
00096
00097
00098
00105 function _armarArraySistemas()
00106 {
00107 $rta = array ();
00108 foreach ($this->_getIdSistemas() as $id) {
00109 $tmp = new Sistema($this->_db,$id);
00110 array_push($rta, $tmp);
00111 }
00112 return $rta;
00113 }
00114
00115
00116
00123 function getSistemas()
00124 {
00125 return $this->_armarArraySistemas();
00126 }
00127
00128
00129
00130
00131
00132
00133
00134
00141 function getSelectSistemas()
00142 {
00143 $rta = array ();
00144 foreach ($this->_armarArraySistemas() as $sistema) {
00145 $rta[$sistema->getId()] = $sistema->getNombre();
00146 }
00147 return $rta;
00148 }
00149
00150
00151
00156 function getPerfiles()
00157 {
00158 return $this->_armarArrayPerfiles();
00159 }
00160
00161
00162
00167 function _armarArrayPerfiles()
00168 {
00169 $rta = array ();
00170 foreach ($this->_getIdPerfiles() as $id) {
00171 $tmp = new Perfil($this->_db,$id);
00172 array_push($rta, $tmp);
00173 }
00174 return $rta;
00175 }
00176
00177
00178
00185 function _getIdPerfiles()
00186 {
00187 $rta = array();
00188 $sql = include 'Samurai/consultas.php';
00189 $dbh = $this->_db->prepare($sql['obtener_id_perfiles']);
00190 $tmp[] = $_SESSION['samurai']['id_sistema'];
00191 $res = $this->_db->execute($dbh, $tmp);
00192 while ($re = $res->fetchrow(DB_FETCHMODE_ASSOC)) {
00193 array_push($rta,$re['id_perfil']);
00194 }
00195 $res->free();
00196 return $rta;
00197 }
00198
00199
00200 }
00201
00202 ?>