修复提交错误

This commit is contained in:
wlx 2014-09-18 07:07:45 +00:00
parent 8f4bddc82d
commit cc075c5c9e
1 changed files with 17 additions and 13 deletions

View File

@ -2351,7 +2351,7 @@ class AuthorController extends Zend_Controller_Action
return true; return true;
} }
$sql="select uuid,data from en.metadata where id=? and owner=?"; $sql="select uuid,data from metadata where id=? and owner=?";
$sth=$this->wdb->prepare($sql); $sth=$this->wdb->prepare($sql);
$sth->execute(array($id,$u_id)); $sth->execute(array($id,$u_id));
$row=$sth->fetch(); $row=$sth->fetch();
@ -2372,24 +2372,28 @@ class AuthorController extends Zend_Controller_Action
} }
// 保存数据作者信息 // 保存数据作者信息
$sql="insert into mdauthor (uuid,userid,ts_activated,status) values(?,?,now(),1)"; // 仅保存不存在的作者信息
$this->db->query($sql,array($row['uuid'],$u_id)); $sql="insert into mdauthor (uuid,userid,ts_activated,status) values(?,?,now(),1) where not exists
(select * from mdauthor where uuid=? and userid=?)";
$this->db->query($sql,array($row['uuid'],$u_id),$row['uuid'],$u_id));
// 2. 保存变化记录 save changelog & userid for the latest version // 2. 保存变化记录 save changelog & userid for the latest version
$sql = "UPDATE mdversion SET changelog=?,userid=? WHERE id in (select id from mdversion where uuid=? order by ts_created desc limit 1)"; $sql = "UPDATE en.mdversion SET changelog=?,userid=? WHERE id in (select id from en.mdversion where uuid=? order by ts_created desc limit 1)";
$this->db->query($sql,array($changelog,$u_id,$row['uuid'])); $this->db->query($sql,array($changelog,$u_id,$row['uuid']));
file_get_contents("http://ftp2.westgis.ac.cn/proftp_upload.php?uuid=".$row['uuid']."&filelist=1"); //暂时不导入文件信息(英文版数据的文件信息都在中文版导入过)
//file_get_contents("http://ftp2.westgis.ac.cn/proftp_upload.php?uuid=".$row['uuid']."&filelist=1");
// 3. 保存数据评审状态 // 3. 保存数据评审状态
//导入元数据 //导入元数据
@$iso->saveDB($this->db); @$iso->saveDB($this->db);
//进入评审库 //进入评审库
$sql="insert into mdstatus (uuid,status,userid) select uuid,0,? from geonetworkmetadata where id=?"; $sql="insert into en.mdstatus (uuid,status,userid) select uuid,0,? from en.geonetworkmetadata where id=?";
$this->db->query($sql,array($u_id,$id)); $this->db->query($sql,array($u_id,$id));
//email to admin //email to admin
$mail=new WestdcMailer($this->view->config->smtp); $mail=new WestdcMailer($this->view->config->smtp);
$mail->setFrom($this->view->config->service->email,'西部数据中心服务组'); $mail->setFrom($this->view->config->service->email,'CARD Support Team');
$mailtp=new EmailText($this->db,"metadata-new-admin",array( $mailtp=new EmailText($this->db,"metadata-new-admin-en",array(
'user' => $user->username, 'user' => $user->username,
'uuid' => $iso->uuid, 'uuid' => $iso->uuid,
'email'=> $user->email, 'email'=> $user->email,
@ -2410,8 +2414,8 @@ class AuthorController extends Zend_Controller_Action
unset($mailtp); unset($mailtp);
//email to author //email to author
$mail=new WestdcMailer($this->view->config->smtp); $mail=new WestdcMailer($this->view->config->smtp);
$mail->setFrom($this->view->config->service->email,'西部数据中心服务组'); $mail->setFrom($this->view->config->service->email,'CARD Support Team');
$mailtp=new EmailText($this->db,"metadata-new-author",array( $mailtp=new EmailText($this->db,"metadata-new-author-en",array(
'user' => $user->username, 'user' => $user->username,
'uuid' => $iso->uuid, 'uuid' => $iso->uuid,
'email'=> $user->email, 'email'=> $user->email,
@ -2429,11 +2433,11 @@ class AuthorController extends Zend_Controller_Action
} }
@$mail->send(); @$mail->send();
$data = array("commited"=>1,"error"=>$this->alertbox('ok','该版本已经成功提交,请等待数据中心进一步处理!')); $data = array("commited"=>1,"error"=>$this->alertbox('ok','The submit is successful, please wait for review.'));
$this->jsonexit($data); $this->jsonexit($data);
return true; return true;
}catch(Exception $e) { }catch(Exception $e) {
$msg = "提交失败,请确认权限后重试"; $msg = "Aborted, Please contact the CARD Support Team.";
if($this->debug>0) if($this->debug>0)
{$msg .= $e->getMessage();} {$msg .= $e->getMessage();}
$data = array("error"=>$this->alertbox('error',$msg)); $data = array("error"=>$this->alertbox('error',$msg));
@ -2460,7 +2464,7 @@ class AuthorController extends Zend_Controller_Action
return true; return true;
} }
//安全检查: uuid必须是当前用户且为新建数据 //安全检查: uuid必须是当前用户且为新建数据
$sql="select * from geonetworkmetadata where uuid=? and uuid not in (select uuid from metadata) and owner=?"; $sql="select * from en.geonetworkmetadata where uuid=? and uuid not in (select uuid from metadata) and owner=?";
$sth=$this->db->prepare($sql); $sth=$this->db->prepare($sql);
$sth->execute(array($uuid,$u_id)); $sth->execute(array($uuid,$u_id));
$row=$sth->fetch(); $row=$sth->fetch();