projectsModel.php
186 lines
| 7.3 KiB
| text/x-php
|
PhpLexer
|
r0 | <?php | ||
class projectsModel extends ModelBase{ | ||||
public $tableName = 'sis_project'; | ||||
public $id = array('key'=>'idproject','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); | ||||
} | ||||
//JASYRC 10MAY2010 | ||||
public function getProjects($datos = array("inicio" => 0, "tamanio" => 5)){ | ||||
//realizamos la consulta de todos los items | ||||
$query = "SELECT sp.*, su.firstname, su.lastname FROM sis_project AS sp" | ||||
." INNER JOIN sis_user AS su ON sp.created_by = su.iduser" | ||||
." ORDER BY date_start ASC"; | ||||
$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); | ||||
//realizamos una consulta paginada | ||||
$consulta = $this->db->prepare($query.' LIMIT '.$datos['inicio'].' , '.$datos['tamanio'].' '); | ||||
$consulta->execute(); | ||||
//devolvemos la coleccion para que la vista la presente. | ||||
return array($consulta,$paginas,$navegador); | ||||
} | ||||
//JASYRC 06JUL2010 | ||||
public function getChangeList($idproject, $datos = array("inicio" => 0, "tamanio" => 5)){ | ||||
$query = "SELECT sv.num_version, sch.*," | ||||
." CONCAT(su.lastname, ', ', su.firstname) AS user" | ||||
." FROM sis_changelist_projects AS sch" | ||||
." INNER JOIN sis_user AS su ON sch.modified_by = su.iduser" | ||||
." INNER JOIN sis_version AS sv ON sch.idversion = sv.idversion" | ||||
." WHERE sv.idproject = $idproject ORDER BY sch.date_update ASC"; | ||||
$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); | ||||
//realizamos una consulta paginada | ||||
$consulta = $this->db->prepare($query.' LIMIT '.$datos['inicio'].' , '.$datos['tamanio'].' '); | ||||
$consulta->execute(); | ||||
//devolvemos la coleccion para que la vista la presente. | ||||
return array($consulta,$paginas,$navegador); | ||||
} | ||||
//JASYRC 06JUL2010 | ||||
public function getVersionList($idproject, $datos = array("inicio" => 0, "tamanio" => 5)){ | ||||
$query = "SELECT sv.*, CONCAT( su.lastname, ', ', su.firstname) AS user" | ||||
." FROM sis_version AS sv" | ||||
." INNER JOIN sis_user AS su ON sv.created_by = su.iduser" | ||||
." WHERE sv.idproject = $idproject"; | ||||
$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); | ||||
//realizamos una consulta paginada | ||||
$consulta = $this->db->prepare($query.' LIMIT '.$datos['inicio'].' , '.$datos['tamanio'].' '); | ||||
$consulta->execute(); | ||||
//devolvemos la coleccion para que la vista la presente. | ||||
return array($consulta,$paginas,$navegador); | ||||
} | ||||
//JASYRC 06JUL2010 | ||||
public function getChanges($idproject){ | ||||
$query = "SELECT sv.num_version, sch.*," | ||||
." CONCAT(su.lastname, ', ', su.firstname) AS user" | ||||
." FROM sis_changelist_projects AS sch" | ||||
." INNER JOIN sis_user AS su ON sch.modified_by = su.iduser" | ||||
." INNER JOIN sis_version AS sv ON sch.idversion = sv.idversion" | ||||
." WHERE sv.idproject = $idproject ORDER BY sv.date_update ASC"; | ||||
$consulta = $this->db->prepare($query); | ||||
$result->execute(); | ||||
return $result; | ||||
} | ||||
//JASYRC 02JUN2010 | ||||
function getLProject(){ | ||||
$query = "SELECT idproject FROM sis_project ORDER BY date_start DESC LIMIT 0,1"; | ||||
$result = $this->db->prepare($query); | ||||
$result->execute(); | ||||
return $result; | ||||
} | ||||
//JASYRC 22JUL2010 | ||||
function getVersions($idproject){ | ||||
$query = "SELECT sv.*, CONCAT( su.lastname, ', ', su.firstname) AS user" | ||||
." FROM sis_version AS sv" | ||||
." INNER JOIN sis_user AS su ON sv.created_by = su.iduser" | ||||
." WHERE sv.idproject = $idproject"; | ||||
$result = $this->db->prepare($query); | ||||
$result->execute(); | ||||
return $result; | ||||
} | ||||
//JASYRC 22JUL2010 | ||||
function getCurrentVersion($idproject){ | ||||
$query = "SELECT * FROM sis_version" | ||||
." WHERE idproject = $idproject AND state = 1"; | ||||
$result = $this->db->prepare($query); | ||||
$result->execute(); | ||||
return $result; | ||||
} | ||||
//JASYRC 22JUL2010 | ||||
function getDependence($idproject){ | ||||
$query = "SELECT svd.*, si.num_iteration, " | ||||
." CONCAT(su.lastname, ', ', su.firstname) AS user" | ||||
." FROM sis_version_dependence AS svd" | ||||
." INNER JOIN sis_version AS sv ON svd.idversion = sv.idversion" | ||||
." INNER JOIN sis_iteration AS si ON svd.iditeration = si.iditeration" | ||||
." INNER JOIN sis_user AS su ON svd.created_by = su.iduser" | ||||
." WHERE sv.idproject = $idproject AND si.idproject = $idproject"; | ||||
$result = $this->db->prepare($query); | ||||
$result->execute(); | ||||
return $result; | ||||
} | ||||
//JASYRC 10MAY2010 | ||||
function editProject($project){ | ||||
$query = "SELECT * FROM sis_project WHERE idproject = $project"; | ||||
$result = $this->db->prepare($query); | ||||
$result->execute(); | ||||
return $result; | ||||
} | ||||
//JASYRC 10MAY2010 | ||||
function update1($project){ | ||||
$query = "UPDATE sis_project SET title = '".$project['title']."'," | ||||
." time_estimated = '".$project['time_estimated']."'," | ||||
." description = '".$project['description']."'," | ||||
." keywords = '".$project['keywords']."'," | ||||
." state = ".$project['state']." WHERE idproject = ".$project['idproject']; | ||||
$result = $this->db->prepare($query); | ||||
$result->execute(); | ||||
return $result; | ||||
} | ||||
//JASYRC 10MAY2010 | ||||
function delProject($project){ | ||||
$query = "UPDATE sis_project SET state = 5 WHERE idproject = $project"; | ||||
$result = $this->db->prepare($query); | ||||
$result->execute(); | ||||
return $result; | ||||
} | ||||
//JASYRC 10MAY2010 | ||||
function searchProjectbyTitle($title){ | ||||
$query = "SELECT * FROM sis_project WHERE LOWER(title) = '".strtolower($title)."'"; | ||||
$result = $this->db->prepare($query); | ||||
$result->execute(); | ||||
$num_rows = $result->rowCount(); | ||||
return $num_rows; | ||||
} | ||||
} | ||||
?> | ||||