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; }
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 static function saveProfile(eProfile $eProfile) { $oBus = new Response_Business(); $MY =& MY_Controller::get_instance(); /* @var $mProfile Profile_Model */ $mProfile =& $MY->mProfile; $oTransaction = new MY_Business(); $oTransaction->begin(); try { $isEditable = TRUE; if (!$eProfile->isEmpty()) { $eProfileT = $mProfile->load($eProfile->id); if (!Helper_App_Session::isSuperAdminProfile()) { if ($eProfileT->isSuperAdmin == 1 || $eProfileT->isAdmin == 1) { throw new Exception("Prohibido editar éste perfil"); } $isEditable = $eProfileT->isEditable == 1; } $eProfile->isSuperAdmin = $eProfileT->isSuperAdmin; $eProfile->isAdmin = $eProfileT->isAdmin; $eProfile->isEditable = $eProfileT->isEditable; } if ($isEditable) { $mProfile->save($eProfile); } $oTransaction->commit(); $oBus->isSuccess(TRUE); $oBus->message("Guardado exitosamente"); } catch (Exception $e) { $oTransaction->rollback(); $oBus->isSuccess(FALSE); $oBus->message($e->getMessage()); } return $oBus; }