RolesModel.php
108 lines
| 3.6 KiB
| text/x-php
|
PhpLexer
|
r0 | <?php | ||
class RolesModel extends ModelBase{ | ||||
public $tableName = 'sis_role'; | ||||
public $id = array('key'=>'idrole','value'=>''); | ||||
public function addItem($datos){ | ||||
$this->setFieldArray($datos); | ||||
list($resultado,$id,$mensaje) = $this->insert(); | ||||
return array ($resultado,$id,$mensaje); | ||||
} | ||||
public function DeleteItem(){ | ||||
list($resultado,$mensaje) = $this->delete(); | ||||
return array ($resultado,$mensaje); | ||||
} | ||||
public function UpdateItem($datos){ | ||||
$this->setFieldArray($datos); | ||||
list($resultado,$mensaje) = $this->update(); | ||||
return array ($resultado,$mensaje); | ||||
} | ||||
public function getRoles($datos = array("inicio" => 0, "tamanio" => 5)){ | ||||
$query = "SELECT * FROM sis_role"; | ||||
$consulta = $this->db->prepare($query); | ||||
$consulta->execute(); | ||||
$num_filas = $consulta->rowCount(); | ||||
$parametros = array("total" => $num_filas, "inicio" => $datos['inicio'], "pagina" => $datos['tamanio']); | ||||
list($paginas,$navegador) = $this->getPager($parametros); | ||||
$consulta = $this->db->prepare($query.' LIMIT '.$datos['inicio'].' , '.$datos['tamanio'].' '); | ||||
$consulta->execute(); | ||||
return array($consulta,$paginas,$navegador); | ||||
} | ||||
//JASYRC 03JUN2010 | ||||
public function getRole($idrole){ | ||||
$query = "SELECT * FROM sis_role WHERE idrole = $idrole"; | ||||
$result = $this->db->prepare($query); | ||||
$result->execute(); | ||||
return $result; | ||||
} | ||||
public function newRole(){ | ||||
$query = "SELECT sis_function.* FROM sis_function"; | ||||
$consulta = $this->db->prepare($query); | ||||
$consulta->execute(); | ||||
return $consulta; | ||||
} | ||||
//JASYRC 26JUL2010 | ||||
function getFunctionbyCat($cat){ | ||||
$query = "SELECT * FROM sis_function" | ||||
." WHERE category = '$cat'"; | ||||
$result = $this->db->prepare($query); | ||||
$result->execute(); | ||||
$num_rows = $result->rowCount(); | ||||
return array($result, $num_rows); | ||||
} | ||||
//JASYRC 26JUL2010 | ||||
function getFunctions($cat, $idrole){ | ||||
$query = "SELECT sf.*, srf.idrole FROM sis_rolexfunction AS srf" | ||||
." INNER JOIN sis_function AS sf" | ||||
." ON srf.idfunction = sf.idfunction" | ||||
." WHERE sf.category = '$cat' AND srf.idrole = $idrole"; | ||||
$result = $this->db->prepare($query); | ||||
$result->execute(); | ||||
return $result; | ||||
} | ||||
public function addFunction($function, $idrole){ | ||||
for($i = 0; $i < count($function); $i++){ | ||||
$query = "INSERT INTO sis_rolexfunction (idrole, idfunction) VALUES (" | ||||
. $idrole.", ".$function[$i].")"; | ||||
$result = $this->db->prepare($query); | ||||
$result->execute(); | ||||
} | ||||
return $result; | ||||
} | ||||
public function upgrade($data_role, $functions){ | ||||
$query = "DELETE FROM sis_rolexfunction WHERE idrole = ".$data_role['idrole']; | ||||
$result = $this->db->prepare($query); | ||||
$result->execute(); | ||||
for($i = 0; $i < count($functions); $i++){ | ||||
$query = "INSERT INTO sis_rolexfunction (idrole, idfunction) VALUES (" | ||||
. $data_role['idrole'].", ".$functions[$i].")"; | ||||
$result = $this->db->prepare($query); | ||||
$result->execute(); | ||||
} | ||||
return $result; | ||||
} | ||||
public function DeleteFunction($id){ | ||||
$query = "DELETE FROM sis_rolexfunction WHERE idrole = ".$id; | ||||
$result = $this->db->prepare($query); | ||||
$result->execute(); | ||||
return $result; | ||||
} | ||||
} | ||||
?> | ||||