|
|
<?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;
|
|
|
}
|
|
|
}
|
|
|
?>
|
|
|
|