+ // +X2C Operation 364
+ /**
+ * Devuelve true si esta asociado a algun sistema, caso contrario devuelve false
+ *
+ * @return bool
+ * @access public
+ */
+ function asociadoASistema() // ~X2C
+ {
+ $rta = array();
+ $tmp = array();
+ $sql = parse_ini_file(dirname(__FILE__) . '/Permiso/consultas.ini', true);
+ $tmp = $sql['verificar_asociaciones1'].$sql['obtener_datos_permiso2'];
+ $dbh = $this->_db->prepare($tmp);
+ $res = $this->_db->execute($dbh, array ($this->getId()));
+ if (($re = $res->fetchRow(DB_FETCHMODE_ASSOC)) && !$re['cuenta'] == 0) {
+ return true;
+ }
+ else {
+ return false;
+ }
+ }
+ // -X2C
+
+ /**
+ * Metodo que devuelve los datos necesarios para listar permisos.
+ *
+ * @param SAMURAI_DB &$db Base de Datos
+ * @param int $id_sistema Identificador de un sistema en particular.
+ *
+ * @return mixed
+ * @access public
+ * @static
+ */
+ function getPermisosPager(&$db, $id_sistema = null) {
+
+ //@TODO REEMPLAZA A getPermisos
+
+ if ($id_sistema) {
+ $sql = '
+ SELECT p.id_permiso, p.desc_permiso, p.responsable
+ FROM samurai.permiso AS p, samurai.perm_sist AS ps
+ WHERE ps.id_sistema = '. $id_sistema .'
+ AND ps.id_permiso = p.id_permiso
+ ORDER BY p.desc_permiso
+ ';
+ }
+ else {
+ $sql = '
+ SELECT p.id_permiso, p.desc_permiso, NOT count(ps.id_sistema) AS cuenta
+ FROM samurai.permiso AS p
+ LEFT JOIN samurai.perm_sist AS ps
+ ON (p.id_permiso = ps.id_permiso)
+ GROUP BY p.id_permiso, p.desc_permiso
+ ORDER BY p.desc_permiso
+ ';
+ }
+ return $db->query ($sql);
+ }
+