Ejemplo n.º 1
0
 function filter(filterProfile $filter, &$eProfiles, &$eRols = NULL, &$count = NULL)
 {
     $eProfiles = array();
     $eRols = array();
     $count = 0;
     $queryR = $this->db->query($this->filterQuery($filter));
     if ($queryR === 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");
     }
     $queryC = $this->db->query($this->filterQuery($filter, TRUE));
     if ($queryC === 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");
     }
     $row = $queryC->row_array();
     $count = $row['count'];
     $rows = $queryR->result_array();
     if (!empty($rows)) {
         foreach ($rows as $row) {
             $eProfile = new eProfile();
             $eRol = new eRol();
             $eProfile->parseRow($row, 'p_');
             $eRol->parseRow($row, 'r_');
             $eProfiles[] = $eProfile;
             $eRols[] = $eRol;
         }
     }
 }
 public function listProfilesByUser($id_user, $isActive = NULL)
 {
     $select_profile = $this->buildSelectFields('p_', 'p', 'profile');
     $sql = '
         SELECT
             ' . $select_profile . '
         FROM
             "' . $this->table . '" AS "up"
             INNER JOIN "profile" AS "p" ON "p"."id" = "up"."id_profile"
             INNER JOIN "user" AS "u" ON "u"."id" = "up"."id_user"
         WHERE 1=1
             AND "u"."id" = ' . $this->db->escape($id_user) . '
             ' . (is_null($isActive) ? '' : " AND \"p\".\"isActive\"='" . $isActive . "'") . '
     ';
     $query = $this->db->query($sql);
     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();
     $eProfiles = array();
     if (!empty($rows)) {
         foreach ($rows as $row) {
             $eProfile = new eProfile();
             $eProfile->parseRow($row, 'p_');
             $eProfiles[] = $eProfile;
         }
     }
     return $eProfiles;
 }