##// END OF EJS Templates
modificaciones del componente usuarios. Reduccion de codigo
modificaciones del componente usuarios. Reduccion de codigo

File last commit:

r0:1
r4:5
Show More
RolesModel.php
108 lines | 3.6 KiB | text/x-php | PhpLexer
<?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;
}
}
?>