function listModules($id_parent = NULL, $ORDER_BY = self::ORDER_BY_ORDER, $withIsAdmin = FALSE, $isActive = NULL) { $where = array('id_parent' => $id_parent); if (!$withIsAdmin) { $where['isAdmin'] = 0; } if (!is_null($isActive)) { $where['isActive'] = $isActive; } $this->db->order_by($ORDER_BY == self::ORDER_BY_NAME ? 'name' : "num_order", "asc"); $query = $this->db->get_where($this->table, $where); if ($query === FALSE) { Helper_Log::write($this->messageError(__FUNCTION__, FALSE), Helper_Log::LOG_DB); throw new Exception("Problema ejecuciĆ³n en Base de Datos, ver log de errores. Consulte con Sistemas"); } $rows = $query->result_array(); $eModules = array(); if (!empty($rows)) { foreach ($rows as $row) { $eModule = new eModule(); $eModule->parseRow($row); $eModules[] = $eModule; } } return $eModules; }
function listModulesByRol($id_rol, $id_parent = NULL) { $select_module = $this->buildSelectFields('m_', 'm', 'module'); $sql = "\r\n SELECT \r\n " . $select_module . "\r\n FROM \"" . $this->table . "\" AS \"rm\"\r\n INNER JOIN \"rol\" AS \"r\" ON \"r\".\"id\" = \"rm\".\"id_rol\" \r\n INNER JOIN \"module\" AS \"m\" ON \"m\".\"id\" = \"rm\".\"id_module\" \r\n WHERE 1=1\r\n AND \"r\".\"id\" = ?\r\n " . (is_null($id_parent) ? " AND \"m\".\"id_parent\" IS NULL " : " AND \"m\".id_parent = " . $id_parent) . "\r\n ORDER BY \"m\".\"num_order\" ASC\r\n "; //Helper_Log::write($sql); $query = $this->db->query($sql, array($id_rol)); if ($query === FALSE) { Helper_Log::write($this->messageError(__FUNCTION__, FALSE), Helper_Log::LOG_DB); throw new Exception("Problema ejecuciĆ³n en Base de Datos, ver log de errores. Consulte con Sistemas"); } $rows = $query->result_array(); $eModules = array(); if (!empty($rows)) { foreach ($rows as $row) { $eModule = new eModule(); $eModule->parseRow($row, 'm_'); $eModules[] = $eModule; } } return $eModules; }