+ // +X2C Operation 388
+ /**
+ * @return void
+ * @access public
+ */
+ function chequear() // ~X2C
+ {
+ $args = func_get_args();
+ if (!call_user_func_array(array($this, 'tiene'), $args)) {
+ include 'MECON/includes/no_autorizado.html';
+ exit;
+ }
+ }
+ // -X2C
+
+ // +X2C Operation 391
+ /**
+ * Obtiene las observaciones de un permiso para un sistema.
+ *
+ * @param int $perm Obtiene las observaciones de un permiso para un sistema.
+ * @param int $sistema Sistema al cual pertenecen los permisos.
+ *
+ * @return array
+ * @access public
+ */
+ function getObservaciones($perm, $sistema = null) // ~X2C
+ {
+ $sistema = is_null($sistema) ? $this->_sistema : $sistema;
+ if (!@is_array($this->_observaciones[$sistema][$perm])) {
+ $this->_observaciones[$sistema][$perm] = array();
+ $query = '
+ SELECT ps.observaciones AS observaciones
+ FROM samurai.perm_sist AS ps
+ WHERE ps.id_permiso = '.$this->_db->quote($perm).'
+ AND ps.id_sistema = '.$this->_db->quote($sistema);
+ foreach ($this->_db->getAll($query, DB_FETCHMODE_ASSOC) as $row) {
+ $this->_observaciones[$sistema][$perm][] = $row['observaciones'];
+ }
+ }
+ return $this->_observaciones[$sistema][$perm];
+ }
+ // -X2C
+
+ /**
+ * Obtiene los datos de los usuarios que tienen el permiso indicado.
+ *
+ * @param db $db Base de datos.
+ * @param int $sistema Identificador del sistema al que pertenece el permiso.
+ * @param int $perm Identificador del permiso.
+ * @param string $obs Observación de la asignación del permiso.
+ *
+ * @return array
+ * @access public
+ * @static
+ */
+ function getUsuariosPermiso (&$db, $sistema, $perm, $obs = null)
+ {
+ $sql = "SELECT PSU.login,
+ U.nombre,
+ LEFT (P.desc_perfil, LOCATE(' ', P.desc_perfil)) desc_perfil
+ FROM samurai.perfil_sist_usuario AS PSU,
+ usuario.Usuario AS U,
+ samurai.perm_perfil_sist AS PPS,
+ samurai.perfil AS P
+ WHERE U.login = PSU.login AND
+ PSU.id_perfil = PPS.id_perfil AND
+ PPS.id_perfil = P.id_perfil AND
+ PSU.id_sistema = $sistema AND
+ PPS.id_permiso = $perm ";
+
+ $sql.= (is_null($obs))?
+ " ORDER BY U.nombre":
+ " AND PPS.observaciones = '". $obs. "' ORDER BY U.nombre";
+
+ return $db->getAll($sql);
+
+ }
+