westdc-zf1/application/models/data/Review.php

93 lines
2.2 KiB
PHP

<?php
class Review extends Zend_Controller_Plugin_Abstract
{
private $db; //传入PDO对象.
private $auth = NULL; //Zend_Auth 对象
//使用到的公共变量
public $tbl_reviewexp = "mdexpertreview";
public $tbl_mdreview = "mdreview";
public $tbl_user = "users";
function __construct($db)
{
$this->db = $db;
}
//接受或者拒绝评审
function invite($id,$uuid,$uid,$status)
{
if(empty($id) || empty($uuid) || !is_numeric($id) ||!preg_match("/^[0-9A-Za-z]{8}-[0-9A-Za-z]{4}-[0-9A-Za-z]{4}-[0-9A-Za-z]{4}-[0-9A-Za-z]{12}$/",$uuid))
{
return"参数错误";
}
if($id != $uid)
{
return "您无权使用此通知";
}//非本人操作
try{
$sql = "update ".$this->tbl_reviewexp." set status=$status where id='$id' and uuid='$uuid'";
if($this->db->exec($sql))
{
return true;
}else{
return "您无权限进行此操作";
}
}catch(Exception $e){
return "处理中出现错误";
}
}
//根据UUID获得评审意见
function getReviews($uuid)
{
$sql = "SELECT mr.*,u.username,u.realname FROM ".$this->tbl_mdreview." mr
LEFT JOIN ".$this->tbl_user." u ON mr.userid = u.id
WHERE mr.uuid = '$uuid'";
$sth = $this->db->query($sql);
$reviews = $sth->fetchAll();
return $reviews;
}
//后台我负责的评审
function adminReviews($keyword = "",$order="")
{
include_once('helper/view.php');
$uid = view::User('id');
$wheresql = array();
$wheresql[] = " m.status in (1,2,3,4) ";
$wheresql[] = " u.id=$uid ";
if(!empty($keyword))
{
$wheresql[] = " md.title like '%$keyword%' ";
}
if(count($wheresql)>0)
{
$wheresql = " WHERE ".join(" AND ",$wheresql);
}else{
$wheresql = "";
}
$sql = "select m.id,g.id as gid, md.uuid,md.title,u.username,u.realname,m.status,md.id as mdid,md.author,m.ts_accepted
FROM mdstatus m
right join metadata md on md.uuid=m.uuid
left join geonetworkmetadata g on m.uuid=g.uuid
left join users u on u.id=m.userid
$wheresql
order by m.status desc,m.ts_accepted desc";
$re = $this->db->query($sql);
$rows = $re->fetchAll();
return $rows;
}
}