diff --git a/application/admin/controllers/AuthorController.php b/application/admin/controllers/AuthorController.php deleted file mode 100644 index 226fd93b..00000000 --- a/application/admin/controllers/AuthorController.php +++ /dev/null @@ -1,2064 +0,0 @@ -view->config = Zend_Registry::get('config'); - $this->db=Zend_Registry::get('db'); - } - - function indexAction() - { - - } - - - /* - * datasAction() 我的数据 - * - * param string $ac // list|search - * param string $keyword - * - * return view - */ - function datasAction() - { - $ac = $this->_request->getParam("ac"); - - $auth = Zend_Auth::getInstance(); - if($auth->hasIdentity()) - { - $user = $auth->getIdentity(); - $u_id = $user->id; - $u_email = $user->email; - } - - //列表 - if(empty($ac) || $ac=='list' || $ac=='search'){ - - $sql = "SELECT a.*,m.title,m.description,g.id as gid,mds.status as mdstatus FROM normalmetadata m - LEFT JOIN mdauthor a ON m.uuid=a.uuid - LEFT JOIN geonetworkmetadata g on m.uuid=g.uuid - LEFT JOIN mdstatus mds ON m.uuid=mds.uuid - WHERE a.status>=0"; - if ($ac=='search') - { - $key = trim($this->_request->getParam('q')); - $this->view->q = $key; - $search=new Search($key); - $where=$search->sql_expr(array("m.title","m.description")); - $sql.=' and '.$where; - } - $sql.="ORDER BY mds.status DESC,a.id DESC"; - - $sth = $this->db->prepare($sql); - $sth->execute(); - $rows = $sth->fetchAll(); - - $paginator = Zend_Paginator::factory($rows); - $paginator->setCurrentPageNumber($this->_getParam('page')); - $paginator->setItemCountPerPage(5); - $paginator->setView($this->view); - Zend_View_Helper_PaginationControl::setDefaultViewPartial('pagination_param.phtml'); - $this->view->paginator=$paginator; - - }//list - - }//datasAction() 数据管理 - - - - - /* - * inauthorAction() 数据申请管理 - * - * param string $ac - * param string $keywords - * param string $pr //对离线数据申请的操作 - * param string $uuid - * - * return view|ajax-responds - */ - function inauthorAction() - { - - $ac = $this->_request->getParam("ac"); - - $auth = Zend_Auth::getInstance(); - if($auth->hasIdentity()) - { - $user = $auth->getIdentity(); - $u_id = $user->id; - $u_email = $user->email; - } - - if(empty($ac) || $ac=="online" || $ac == "searchonline") - { - $sql = "SELECT o.id,o.userid,o.unit,o.username,o.ts_created,o.project,m.title,m.uuid FROM onlineapp as o - LEFT JOIN metadata as m ON o.uuid=m.uuid - LEFT JOIN mdauthor as a ON a.uuid=o.uuid - WHERE (o.id in (SELECT distinct(onlineappid) from dataorder where status>=0)) AND a.userid = ? AND a.status=1"; - if ($ac=="searchonline") - { - $keywords = $this->_request->getParam('q'); - if(!empty($keywords)) - $this->view->q = $keywords; - $search=new Search($keywords); - $where=$search->sql_expr(array("m.title","m.description")); - $sql.=' and '.$where; - } - $sql.=" ORDER BY o.id desc"; - - $sth = $this->db->prepare($sql); - $sth->execute(array($u_id)); - $rows = $sth->fetchAll(); - - $paginator = Zend_Paginator::factory($rows); - $paginator->setCurrentPageNumber($this->_getParam('page')); - $paginator->setItemCountPerPage(10); - $paginator->setView($this->view); - Zend_View_Helper_PaginationControl::setDefaultViewPartial('pagination_param.phtml'); - $this->view->paginator=$paginator; - }//在线申请记录 - - if($ac == "offline" || $ac=="searchoffline") - { - $pr = $this->_request->getParam('pr'); - $oid = $this->_request->getParam('oid'); - $pdf = $this->_request->getParam('pdf'); - - if(!empty($pr)) - { - try{ - $this->_helper->layout->disableLayout(); - $this->_helper->viewRenderer->setNoRender(); - - $uuid = $this->_request->getParam('uuid'); - - if(!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)) - { - echo "参数有误!";exit(); - } - - //如果用户已经下载过了,就无法在更改对数据申请的意见 - $sql = "select md.title,d.uuid,d.status as datastatus,d.authorpermitted,d.id from dataorder d - left join offlineapp o on o.id=d.offlineappid - left join metadata md on md.uuid=d.uuid - where o.ts_approved is null and o.pdflink is not null - AND d.uuid=? AND d.id=? AND d.datastatus=7 - order by o.ts_created desc"; - - $sth = $this->db->prepare($sql); - $sth->execute(array($uuid,$oid)); - $row = $sth->fetch(); - - if($row['datastatus']>4) - { - echo "该申请已经通过并且发放数据"; - exit(); - } - else if (empty($row) || $row['datastatus']!=4) - { - echo "该数据申请存在问题,请联系数据中心!"; - exit(); - } - - //同意用户下载 - if($pr=="confirm") - { - $sql = "UPDATE dataorder SET authorpermitted=1 WHERE uuid=? and id=?"; - $sth = $this->db->prepare($sql); - if($sth->execute(array($uuid,$oid))) - { - $btn = $this->createOfflineCtBtn($uuid,'c',$oid); - echo ''.$btn.''; - exit(); - }else{ - echo ""; - exit(); - } - } - - //反对用户下载 - if($pr == "objection") - { - $sql = "UPDATE dataorder SET authorpermitted=-1 WHERE uuid=? AND id=?"; - $sth = $this->db->prepare($sql); - if($sth->execute(array($uuid,$oid))) - { - $btn = $this->createOfflineCtBtn($uuid,'o',$oid); - echo ''.$btn.''; - exit(); - }else{ - echo ""; - exit(); - } - } - }catch(Exception $e) - { - echo "处理中遇到错误,请刷新页面后重试"; - exit(); - } - } - else if (!empty($pdf)) - { - $sql="select o.pdflink from dataorder d left join offlineapp o on d.offlineappid=o.id - left join mdauthor m on d.uuid=m.uuid - where d.id=? and m.userid=?"; - $sth = $this->db->prepare($sql); - $sth->execute(array($pdf,$u_id)); - $row = $sth->fetch(); - $content=file_get_contents($this->view->config->offline->savepath."/".$row['pdflink']); - header("Content-Disposition: inline; filename=".$row['pdflink']); - header("Content-Type:application/pdf"); - echo $content; - die(); // do not change current html output - } - else - { - $this->_helper->viewRenderer('inauthor-offline'); - - $select="select distinct(o.*),md.title,d.id as doid,d.uuid,d.status as datastatus,d.authorpermitted from offlineapp o - left join dataorder d on o.id=d.offlineappid - left join metadata md on md.uuid=d.uuid - where o.ts_approved is null and o.pdflink is not null and d.status=4 "; - if($ac == "searchoffline") - { - $keywords = $this->_request->getParam('q'); - if(!empty($keywords)) - $this->view->q = $keywords; - $search=new Search($keywords); - $where=$search->sql_expr(array("md.title","md.description")); - $select.=' and '.$where; - } - $select.=" order by o.ts_created desc"; - - $sth = $this->db->prepare($select); - $sth->execute(); - $rows = $sth->fetchAll(); - - foreach ($rows as $k=>$v) - { - if($v['authorpermitted']==0) - {$rows[$k]['btns']=$this->createOfflineCtBtn($v['uuid'],'',$v['doid']);} - if($v['authorpermitted']>0) - {$rows[$k]['btns']=$this->createOfflineCtBtn($v['uuid'],'c',$v['doid']);} - if($v['authorpermitted']<0) - {$rows[$k]['btns']=$this->createOfflineCtBtn($v['uuid'],'o',$v['doid']);} - } - - $paginator = Zend_Paginator::factory($rows); - $paginator->setCurrentPageNumber($this->_getParam('page')); - $paginator->setItemCountPerPage(10); - $paginator->setView($this->view); - Zend_View_Helper_PaginationControl::setDefaultViewPartial('pagination_param.phtml'); - $this->view->paginator=$paginator; - } - }//离线申请 - - - //按数据显示 - if($ac == 'datalist' || $ac == "searchdata") - { - $uuid = $this->_request->getParam('uuid'); - if(!empty($uuid)) - { - $this->_helper->viewRenderer('view-dataoreder'); - - if(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)) - { - $sql = "select md.title,d.id as doid,d.uuid,d.authorpermitted,d.status - ,offa.id as offa_id,offa.username as offa_name,offa.unit as offa_unit,offa.email as offa_email,offa.project as offa_project - ,ona.id as ona_id,ona.username as ona_name,ona.unit as ona_unit,ona.email as ona_email,ona.project as ona_project - from dataorder d - left join metadata md on md.uuid=d.uuid - left join mdauthor a on a.uuid=d.uuid - LEFT JOIN offlineapp offa on offa.id=d.offlineappid - LEFT JOIN onlineapp ona on ona.id=d.onlineappid - WHERE (offa.id IS NOT NULL OR ona.id IS NOT NULL) and d.status>=0 - AND d.uuid=? - ORDER BY d.ts_created DESC"; - - $sth = $this->db->prepare($sql); - $sth->execute(array($uuid)); - $rows = $sth->fetchAll(); - @$this->view->mdtitle=$rows[0]['title']; - - foreach ($rows as $k=>$v) - { - if($v['authorpermitted']==0) - {$rows[$k]['btns']=$this->createOfflineCtBtn($v['uuid'],'',$v['doid']);} - if($v['authorpermitted']>0) - {$rows[$k]['btns']=$this->createOfflineCtBtn($v['uuid'],'c',$v['doid']);} - if($v['authorpermitted']<0) - {$rows[$k]['btns']=$this->createOfflineCtBtn($v['uuid'],'o',$v['doid']);} - } - - $paginator = Zend_Paginator::factory($rows); - $paginator->setCurrentPageNumber($this->_getParam('page')); - $paginator->setItemCountPerPage(10); - $paginator->setView($this->view); - Zend_View_Helper_PaginationControl::setDefaultViewPartial('pagination_param.phtml'); - $this->view->paginator=$paginator; - }else{ - $this->view->error = "参数有误"; - } - }else{ - $this->_helper->viewRenderer('inauthor-datalist'); - $sql = "select md.title,d.uuid,count(md.id) as c from dataorder d - left join metadata md on md.uuid=d.uuid - where d.uuid IS NOT NULL "; - if($ac == "searchdata") - { - $keywords = $this->_request->getParam('q'); - if(!empty($keywords)) - $this->view->q = $keywords; - $search=new Search($keywords); - $where=$search->sql_expr(array("md.title","md.description")); - $sql.=' and '.$where; - } - $sql.=" GROUP BY md.title,d.uuid"; - - $sth = $this->db->prepare($sql); - $sth->execute(); - $rows = $sth->fetchAll(); - - $paginator = Zend_Paginator::factory($rows); - $paginator->setCurrentPageNumber($this->_getParam('page')); - $paginator->setItemCountPerPage(10); - $paginator->setView($this->view); - Zend_View_Helper_PaginationControl::setDefaultViewPartial('pagination_param.phtml'); - $this->view->paginator=$paginator; - } - - }//按数据显示 - - } // inauthorAction() 数据申请管理 - - /* - * createOfflineCtBtn() 创建离线申请记录的操作按钮 - * - */ - function createOfflineCtBtn($uuid, $type="",$oid){ - $urlHref = 'href="javascript:;"'; - $baseStyle = "offline-ct-btns box-shadow"; - $selectedStyle = "offline-select"; - - $confrimText = "同意"; - $confrimFunc = 'onclick="confirm(\''.$uuid.'\',\''.$oid.'\')"'; - - $objectionText = "反对"; - $objectionFunc = 'onclick="objection(\''.$uuid.'\',\''.$oid.'\')"'; - - $btns=''; - if(empty($type)) - { - $confrimBtn = "$confrimText"; - $objectionBtn = "$objectionText"; - $btns = $confrimBtn.$objectionBtn; - } - if($type=='c') - { - $confrimBtn = "$confrimText"; - $objectionBtn = "$objectionText"; - $btns = $confrimBtn.$objectionBtn; - } - if($type=='o') - { - $confrimBtn = "$confrimText"; - $objectionBtn = "$objectionText"; - $btns = $confrimBtn.$objectionBtn; - } - - return $btns; - - } //createOfflineCtBtn() - - - - /* - * versionAction() 版本控制 - * - * - */ - function versionAction() - { - $ac = $this->_request->getParam('ac'); - $uuid = $this->_request->getParam('uuid'); - - $auth = Zend_Auth::getInstance(); - if($auth->hasIdentity()) - { - $user = $auth->getIdentity(); - $u_id = $user->id; - } - - //查看单条数据的所有版本 - if (!empty($uuid) && empty($ac)) - { - //view the versions of the data - $sql = "SELECT md.title,md.uuid,v.ts_created,v.changelog,v.userid,v.id,u.username,u.realname FROM mdversion v - LEFT JOIN metadata md ON md.uuid=v.uuid - LEFT JOIN mdauthor a ON md.uuid=a.uuid - left join users u on v.userid=u.id - WHERE md.title IS NOT NULL AND v.uuid=? AND a.status=1 - order by v.ts_created desc - "; - $sth = $this->db->prepare($sql); - $sth->execute(array($uuid)); - $rows = $sth->fetchAll(); - @$this->view->mdtitle=$rows[0]['title']; - - $paginator = Zend_Paginator::factory($rows); - $paginator->setCurrentPageNumber($this->_getParam('page')); - $paginator->setItemCountPerPage(15); - $paginator->setView($this->view); - Zend_View_Helper_PaginationControl::setDefaultViewPartial('pagination_param.phtml'); - $this->view->paginator=$paginator; - } - - //查看所有版本列表 - else if((empty($ac) && empty($uuid))|| $ac=='list') - { - $sql = "SELECT md.title,md.uuid,v.ts_created,v.changelog,v.userid,v.id,u.username,u.realname FROM mdversion v - LEFT JOIN metadata md ON md.uuid=v.uuid - left join users u on v.userid=u.id - WHERE md.title IS NOT NULL - order by v.ts_created desc - "; - $sth = $this->db->prepare($sql); - $sth->execute(); - $rows = $sth->fetchAll(); - - $paginator = Zend_Paginator::factory($rows); - $paginator->setCurrentPageNumber($this->_getParam('page')); - $paginator->setItemCountPerPage(15); - $paginator->setView($this->view); - Zend_View_Helper_PaginationControl::setDefaultViewPartial('pagination_param.phtml'); - $this->view->paginator=$paginator; - } - - //按数据浏览 - else if($ac=="bydata") - { - $keywords = $this->_request->getParam('q'); - if(!empty($keywords)) - $this->view->q = $keywords; - $sql = "SELECT md.title,md.uuid,count(v.id) as c FROM mdversion v - LEFT JOIN metadata md ON md.uuid=v.uuid - WHERE md.title IS NOT NULL"; - if(!empty($keywords)) - { - $search=new Search($keywords); - $where=$search->sql_expr(array("md.title","md.description")); - $sql.=' and '.$where; - } - $sql.=" group by md.uuid,md.title"; - - $sth = $this->db->prepare($sql); - $sth->execute(); - $rows = $sth->fetchAll(); - - $paginator = Zend_Paginator::factory($rows); - $paginator->setCurrentPageNumber($this->_getParam('page')); - $paginator->setItemCountPerPage(10); - $paginator->setView($this->view); - Zend_View_Helper_PaginationControl::setDefaultViewPartial('pagination_param.phtml'); - $this->view->paginator=$paginator; - - $this->_helper->viewRenderer('version-bydata'); - } - - - //删除某个版本 - else if($ac=="delete") - { - $this->_helper->layout->disableLayout(); - $this->_helper->viewRenderer->setNoRender(); - - $data = ""; - - try{ - $id = $this->_request->getParam('id'); - if(empty($id) || !is_numeric($id)) - { - $data = array("error"=>"参数错误"); - $this->jsonexit($data); - return true; - } - - $sql = "DELETE FROM mdversion WHERE id=?"; - $sth = $this->db->prepare($sql); - $ex = $sth -> execute(array($id)); - - if($ex) - { - $data = array("deleted"=>$id,"error"=>$this->alertbox('ok','删除成功')); - $this->jsonexit($data); - return true; - }else{ - $data = array("error"=>$this->alertbox('error','删除失败,请确认权限后重试')); - $this->jsonexit($data); - return true; - } - }catch(Exception $e) { - $msg = "删除失败,请确认权限后重试"; - if($this->debug>0) - {$msg .= $e->getMessage();} - $data = array("error"=>$this->alertbox('error',$msg)); - $this->jsonexit($data); - return true; - } - } - - //恢复到geonetwork - else if($ac == "restore") - { - $this->_helper->layout->disableLayout(); - $this->_helper->viewRenderer->setNoRender(); - - $data = ""; - try{ - $id = $this->_request->getParam('id'); - if(empty($id) || !is_numeric($id)) - { - $data = array("error"=>"参数错误"); - $this->jsonexit($data); - return true; - } - - $this->wdb=Zend_Db::factory($this->view->config->geonetwork); - $sql = "SELECT v.xml,v.uuid FROM mdversion v - WHERE v.id=?"; - $sth = $this->db->prepare($sql); - $sth ->execute(array($id)); - $row = $sth->fetch(); - - $sql = "SELECT data FROM metadata WHERE uuid=?"; - $sth = $this->wdb->prepare($sql); - $sth ->execute(array($row['uuid'])); - $row_geo = $sth->fetch(); - - if($row['xml']==$row_geo['data']) - { - $data = array("error"=>$this->alertbox('warning','无须恢复,元数据相同')); - $this->jsonexit($data); - return true; - } - - $sql = "UPDATE metadata SET data=? WHERE uuid=?"; - $sth = $this->wdb->prepare($sql); - $ex = $sth ->execute(array($row['xml'],$row['uuid'])); - - if($ex) - { - $data = array("error"=>$this->alertbox('ok','恢复成功')); - $this->jsonexit($data); - return true; - }else{ - $data = array("error"=>$this->alertbox('error','恢复失败,请确认权限后重试')); - $this->jsonexit($data); - return true; - } - }catch(Exception $e) { - $msg = "恢复失败,请确认权限后重试"; - if($this->debug>0) - {$msg .= $e->getMessage();} - $data = array("error"=>$this->alertbox('error',$msg)); - $this->jsonexit($data); - return true; - } - } - - //发布到评审 - else if($ac == "commit") - { - $this->_helper->layout->disableLayout(); - $this->_helper->viewRenderer->setNoRender(); - - $data = ""; - try{ - $id = $this->_request->getParam('id'); - if(empty($id) || !is_numeric($id)) - { - $data = array("error"=>"参数错误"); - $this->jsonexit($data); - return true; - } - - $changelog = $this->_request->getParam('changelog'); - if(empty($changelog)) - { - $data = array("error"=>$this->alertbox('warning','请输入变更信息')); - $this->jsonexit($data); - return true; - } - - // 1. 权限认定 - $sql="select a.* from mdauthor a left join mdversion v on a.uuid=v.uuid - where a.status=1 and a.userid=? and v.id=?"; - $sth=$this->db->prepare($sql); - $sth->execute(array($u_id,$id)); - $row=$sth->fetch(); - if (empty($row)) - { - $data = array("error"=>'无权限修改数据'); - $this->jsonexit($data); - return true; - } - // 2. 保存变化记录 save changelog & userid - $sql = "UPDATE mdversion SET changelog=?,userid=? WHERE id=?"; - $this->db->query($sql,array($changelog,$u_id,$id)); - - // 3. 获取数据评审状态 - $sql = "SELECT s.*,v.xml,m.title FROM mdstatus s left join mdversion v on s.uuid=v.uuid - left join metadata m on s.uuid=m.uuid WHERE v.id=?"; - $sth = $this->db->prepare($sql); - $sth->execute(array($id)); - $row = $sth->fetch(); - - if (empty($row)) //无对应记录 - { - $sql="select m.id from metadata m left join mdversion v on m.uuid=v.uuid where v.id=?"; - $sth=$this->db->prepare($sql); - $sth->execute(array($id)); - $mrow=$sth->fetch(); - if (empty($mrow)) //说明是新数据 - { - //导入元数据 - $iso=new ISO19115(); - $iso->saveDB($this->db,$row['xml']); - //进入评审库 - $sql="insert into mdstatus (uuid,status,userid) select uuid,0,? from mdversion where id=?"; - $this->db->query($sql,array($u_id,$id)); - - //email to admin - $mail=new WestdcMailer($this->view->config->smtp); - $mail->setFrom($this->view->config->service->email,'西部数据中心服务组'); - $mailtp=new EmailText($this->db,"metadata-new-admin",array( - 'user' => $user->username, - 'uuid' => $iso->uuid, - 'email'=> $user->email, - //元数据标题 - 'title'=> $iso->resTitle, - )); - $mail->setBodyText($mailtp->getBody()); - $mail->setSubject($mailtp->getSubject()); - if($this->debug==0) - { - $mail->addTo($this->view->config->service->email); - }else{ - $mail->addTo($this->debug_email); - } - $mail->send(); - - unset($mail); - unset($mailtp); - //email to author - $mail=new WestdcMailer($this->view->config->smtp); - $mail->setFrom($this->view->config->service->email,'西部数据中心服务组'); - $mailtp=new EmailText($this->db,"metadata-new-author",array( - 'user' => $user->username, - 'uuid' => $iso->uuid, - 'email'=> $user->email, - //元数据标题 - 'title'=> $iso->resTitle, - )); - $mail->setBodyText($mailtp->getBody()); - $mail->setSubject($mailtp->getSubject()); - if($this->debug==0) - { - $mail->addTo($user->email); - $mail->addCc($this->view->config->service->email); - }else{ - $mail->addTo($this->debug_email); - } - @$mail->send(); - - $data = array("commited"=>1,"error"=>$this->alertbox('ok','该版本已经成功提交,请等待数据中心进一步处理!')); - $this->jsonexit($data); - return true; - } else { //说明是已发布的数据且数据不存在评审信息 - //同步元数据 - $iso=new ISO19115(); - $iso->saveDB($this->db,$row['xml']); - //移除中间版本 - $sql="delete from mdversion where uuid in (select uuid from mdversion where v.id=?) and char_length(changelog)<3"; - $this->db->query($sql,array($id)); - //修改评审状态为发布,且由其提交的用户进行管理 - $sql="insert into mdstatus (uuid,status,userid) select uuid,6,? from mdversion where id=?"; - $this->db->query($sql,array($u_id,$id)); - - //email to admin & author - $mail=new WestdcMailer($this->view->config->smtp); - $mail->setFrom($this->view->config->service->email,'西部数据中心服务组'); - $mailtp=new EmailText($this->db,"metadata-release",array( - 'user' => $user->username, - 'uuid' => $row['uuid'], - 'email'=> $user->email, - //元数据标题 - 'title'=> $row['title'], - 'changelog'=>$changelog, - )); - $mail->setBodyText($mailtp->getBody()); - $mail->setSubject($mailtp->getSubject()); - if($this->debug==0) - { - $mail->addTo($this->view->config->service->email); - $mail->addCc($this->view->config->service->email); - }else{ - $mail->addTo($this->debug_email); - } - @$mail->send(); - - $data = array("commited"=>1,"error"=>$this->alertbox('ok','该版本已经成功发布!')); - $this->jsonexit($data); - return true; - } - } - else if ($row['id']==-1 || $row['id']==0 || $row['id']==1) //取消发布的数据,初始状态,已接收 - { - //同步元数据 - $iso=new ISO19115(); - $iso->saveDB($this->db,$row['xml']); - //email to admin - $mail=new WestdcMailer($this->view->config->smtp); - $mail->setFrom($this->view->config->service->email,'西部数据中心服务组'); - $mailtp=new EmailText($this->db,"version-commit-admin",array( - 'user' => $user->username, - 'uuid' => $row['uuid'], - 'email'=> $user->email, - //元数据标题 - 'title'=> $row['title'], - 'changelog'=>$changelog, - )); - $mail->setBodyText($mailtp->getBody()); - $mail->setSubject($mailtp->getSubject()); - if($this->debug==0) - { - $mail->addTo($this->view->config->service->email); - }else{ - $mail->addTo($this->debug_email); - } - $mail->send(); - - unset($mail); - unset($mailtp); - //email to author - $mail=new WestdcMailer($this->view->config->smtp); - $mail->setFrom($this->view->config->service->email,'西部数据中心服务组'); - $mailtp=new EmailText($this->db,"version-commit-author",array( - 'user' => $user->username, - 'uuid' => $row['uuid'], - 'email'=> $user->email, - //元数据标题 - 'title'=> $row['title'], - )); - $mail->setBodyText($mailtp->getBody()); - $mail->setSubject($mailtp->getSubject()); - if($this->debug==0) - { - $mail->addTo($user->email); - $mail->addCc($this->view->config->service->email); - }else{ - $mail->addTo($this->debug_email); - } - @$mail->send(); - - $data = array("commited"=>1,"error"=>$this->alertbox('ok','该版本已经成功提交并同步,请等待数据中心进一步处理!')); - $this->jsonexit($data); - return true; - } - else if ($row['id']==2 || $row['id']==3 || $row['id']==4)//已发送过外审邮件,需由编辑告知变化信息 - { - //email to admin - $mail=new WestdcMailer($this->view->config->smtp); - $mail->setFrom($this->view->config->service->email,'西部数据中心服务组'); - $mailtp=new EmailText($this->db,"version-commit-admin",array( - 'user' => $user->username, - 'uuid' => $row['uuid'], - 'email'=> $user->email, - //元数据标题 - 'title'=> $row['title'], - 'changelog'=>$changelog, - )); - $mail->setBodyText($mailtp->getBody()); - $mail->setSubject($mailtp->getSubject()); - if($this->debug==0) - { - $mail->addTo($this->view->config->service->email); - }else{ - $mail->addTo($this->debug_email); - } - $mail->send(); - - unset($mail); - unset($mailtp); - //email to author - $mail=new WestdcMailer($this->view->config->smtp); - $mail->setFrom($this->view->config->service->email,'西部数据中心服务组'); - $mailtp=new EmailText($this->db,"version-commit-author",array( - 'user' => $user->username, - 'uuid' => $row['uuid'], - 'email'=> $user->email, - //元数据标题 - 'title'=> $row['title'], - )); - $mail->setBodyText($mailtp->getBody()); - $mail->setSubject($mailtp->getSubject()); - if($this->debug==0) - { - $mail->addTo($user->email); - $mail->addCc($this->view->config->service->email); - }else{ - $mail->addTo($this->debug_email); - } - @$mail->send(); - - //email to experts, sync to database? - //todo!!! - //should generate new pdf? or user could not commit a new version when it is in the reviewing process? - /* - unset($mail); - unset($mailtp); - $mail=new WestdcMailer($this->view->config->smtp); - $mail->setFrom($this->view->config->service->email,'西部数据中心服务组'); - $mailtp=new EmailText($this->db,"version-commit-expert",array( - 'user' => $user->username, - 'uuid' => $row['uuid'], - 'email'=> $user->email, - //元数据标题 - 'title'=> $row['title'], - )); - $mail->setBodyText($mailtp->getBody()); - $mail->setSubject($mailtp->getSubject()); - if($this->debug==0) - { - $mail->addTo($user->email); - $mail->addCc($this->view->config->service->email); - }else{ - $mail->addTo($this->debug_email); - } - @$mail->send(); - */ - $data = array("commited"=>1,"error"=>$this->alertbox('ok','该版本已经成功提交,请等待数据中心进一步处理!')); - $this->jsonexit($data); - return true; - } - else if ($row['id']>=5)//数据已经发布,再次修改后将只通知管理员,保留发布状态 - { - //同步元数据 - $iso=new ISO19115(); - $iso->saveDB($this->db,$row['xml']); - //移除中间版本 - $sql="delete from mdversion where uuid in (select uuid from mdversion where v.id=?) and char_length(changelog)<3"; - $this->db->query($sql,array($id)); - - //email to admin & author - $mail=new WestdcMailer($this->view->config->smtp); - $mail->setFrom($this->view->config->service->email,'西部数据中心服务组'); - $mailtp=new EmailText($this->db,"metadata-release",array( - 'user' => $user->username, - 'uuid' => $row['uuid'], - 'email'=> $user->email, - //元数据标题 - 'title'=> $row['title'], - 'changelog'=>$changelog, - )); - $mail->setBodyText($mailtp->getBody()); - $mail->setSubject($mailtp->getSubject()); - if($this->debug==0) - { - $mail->addTo($this->view->config->service->email); - $mail->addCc($this->view->config->service->email); - }else{ - $mail->addTo($this->debug_email); - } - @$mail->send(); - - $data = array("commited"=>1,"error"=>$this->alertbox('ok','该版本已经成功发布!')); - $this->jsonexit($data); - return true; - } - }catch(Exception $e) { - $msg = "提交失败,请确认权限后重试"; - if($this->debug>0) - {$msg .= $e->getMessage();} - $data = array("error"=>$this->alertbox('error',$msg)); - $this->jsonexit($data); - return true; - } - }//发布到评审 - - //与前一个版本对比 - else if($ac == "diff") - { - $this->_helper->viewRenderer('version-diff'); - $id = $this->_request->getParam('id'); - if(empty($id) || !is_numeric($id)) - { - $this->view->error = "参数错误"; - return true; - } - - $sql = "SELECT v.uuid,md.title FROM mdversion v - LEFT JOIN metadata md ON v.uuid=md.uuid - WHERE v.id=?"; - $sth = $this->db->prepare($sql); - $sth -> execute(array($id)); - - $row = $sth->fetch(); - - $sql = "SELECT v.* FROM mdversion v - WHERE v.uuid=? AND v.id<=? - ORDER BY v.ts_created DESC - LIMIT ?"; - $sth = $this->db->prepare($sql); - $sth -> execute(array($row['uuid'],$id,2)); - - $rows = $sth->fetchAll(); - - if(count($rows)<2) - { - $this->view->error = "对比失败:之前没有版本可以对比"; - return true; - } - - $this->view->info = $row; - $this->view->data = $rows; - - } - - - }// versionAction() 数据版本管理 - - //新建元数据 - function newdataAction() - { - $ac = $this->_request->getParam('ac'); - $id = $this->_request->getParam('id'); - $this->wdb=Zend_Db::factory($this->view->config->geonetwork); - - $auth = Zend_Auth::getInstance(); - if($auth->hasIdentity()) - { - $user = $auth->getIdentity(); - $u_id = $user->id; - } - - //在geonetwork中查看单条数据 - if (!empty($id) && empty($ac)) - { - $this->view->url='metadata.show?id='.$id; - $this->_helper->viewRenderer('newdata-view'); - } - //查看属于自己的所有的未提交数据列表 - else if((empty($ac) && empty($uuid))|| $ac=='list') - { - $sql = "SELECT (regexp_matches(gn.data,'(.*)'))[1] as title,gn.id,gn.uuid FROM geonetworkmetadata gn - WHERE gn.uuid not in (select uuid from metadata) and gn.owner=? - order by gn.id desc - "; - $sth = $this->db->prepare($sql); - $sth->execute(array($u_id)); - $rows = $sth->fetchAll(); - - - $paginator = Zend_Paginator::factory($rows); - $paginator->setCurrentPageNumber($this->_getParam('page')); - $paginator->setItemCountPerPage(15); - $paginator->setView($this->view); - Zend_View_Helper_PaginationControl::setDefaultViewPartial('pagination_param.phtml'); - $this->view->paginator=$paginator; - } - //元数据导入 - else if($ac=="import") - { - $this->_helper->viewRenderer('newdata-import'); - } - //从模板新建元数据 - else if($ac=="add-by-template") - { - $keywords = $this->_request->getParam('q'); - $sql="select id,(regexp_matches(data,'(.*)'))[1] as title,(owner-$u_id) as isowner from metadata where istemplate='y' and schemaid='iso19115'"; - if(!empty($keywords)) - { - $this->view->q = $keywords; - $search=new Search($keywords); - $where=$search->sql_expr(array("data")); - $sql.=' and '.$where; - } - $sql.=" order by changedate desc"; - $sth = $this->wdb->prepare($sql); - $sth->execute(); - $rows = $sth->fetchAll(); - - $paginator = Zend_Paginator::factory($rows); - $paginator->setCurrentPageNumber($this->_getParam('page')); - $paginator->setItemCountPerPage(10); - $paginator->setView($this->view); - Zend_View_Helper_PaginationControl::setDefaultViewPartial('pagination_param.phtml'); - $this->view->paginator=$paginator; - $this->_helper->viewRenderer('newdata-add'); - } - - else if($ac=="add-by-data") - { - $keywords = $this->_request->getParam('q'); - $sql = "SELECT md.title,md.uuid,md.description,gn.id as gid FROM normalmetadata md - left join geonetworkmetadata gn on md.uuid=gn.uuid - WHERE gn.id is not null"; - if(!empty($keywords)) - { - $this->view->q = $keywords; - $search=new Search($keywords); - $where=$search->sql_expr(array("md.title","md.description")); - $sql.=' and '.$where; - } - $sql.=" order by md.ts_created desc"; - $sth = $this->db->prepare($sql); - $sth->execute(); - $rows = $sth->fetchAll(); - - $paginator = Zend_Paginator::factory($rows); - $paginator->setCurrentPageNumber($this->_getParam('page')); - $paginator->setItemCountPerPage(10); - $paginator->setView($this->view); - Zend_View_Helper_PaginationControl::setDefaultViewPartial('pagination_param.phtml'); - $this->view->paginator=$paginator; - $this->_helper->viewRenderer('newdata-add-bydata'); - } - //提交数据 - else if($ac=="commit") - { - $this->_helper->layout->disableLayout(); - $this->_helper->viewRenderer->setNoRender(); - - $data = ""; - try{ - $id = $this->_request->getParam('id'); - if(empty($id) || !is_numeric($id)) - { - $data = array("error"=>"参数错误"); - $this->jsonexit($data); - return true; - } - - $changelog = $this->_request->getParam('changelog'); - if(empty($changelog)) - { - $data = array("error"=>$this->alertbox('warning','请输入变更信息')); - $this->jsonexit($data); - return true; - } - - // 1. 权限认定:当前用户必须和其owner相同 - // 数据应当没有评审状态,没有作者信息 - $sql="select gn.id from geonetworkmetadata gn - left join mdstatus s on gn.uuid=s.uuid - left join mdauthor a on s.uuid=a.uuid - where s.id is not null and a.id is not null and gn.id=?"; - $sth=$this->db->prepare($sql); - $sth->execute(array($id)); - $row=$sth->fetch(); - if (!empty($row)) - { - $data = array("error"=>'错误的入口'); - $this->jsonexit($data); - return true; - } - - $sql="select uuid,data from metadata where id=? and owner=?"; - $sth=$this->wdb->prepare($sql); - $sth->execute(array($id,$u_id)); - $row=$sth->fetch(); - if (empty($row)) - { - $data = array("error"=>'无权限修改数据'); - $this->jsonexit($data); - return true; - } - // 保存数据作者信息 - $sql="insert into mdauthor (uuid,userid,ts_activated,status) values(?,?,now(),1)"; - $this->db->query($sql,array($row['uuid'],$u_id)); - - // 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)"; - $this->db->query($sql,array($changelog,$u_id,$row['uuid'])); - - // 3. 保存数据评审状态 - //导入元数据 - $iso=new ISO19115(); - @$iso->saveDB($this->db,$row['data']); - //进入评审库 - $sql="insert into mdstatus (uuid,status,userid) select uuid,0,? from geonetworkmetadata where id=?"; - $this->db->query($sql,array($u_id,$id)); - - //email to admin - $mail=new WestdcMailer($this->view->config->smtp); - $mail->setFrom($this->view->config->service->email,'西部数据中心服务组'); - $mailtp=new EmailText($this->db,"metadata-new-admin",array( - 'user' => $user->username, - 'uuid' => $iso->uuid, - 'email'=> $user->email, - //元数据标题 - 'title'=> $iso->resTitle, - )); - $mail->setBodyText($mailtp->getBody()); - $mail->setSubject($mailtp->getSubject()); - if($this->debug==0) - { - $mail->addTo($this->view->config->service->email); - }else{ - $mail->addTo($this->debug_email); - } - $mail->send(); - - unset($mail); - unset($mailtp); - //email to author - $mail=new WestdcMailer($this->view->config->smtp); - $mail->setFrom($this->view->config->service->email,'西部数据中心服务组'); - $mailtp=new EmailText($this->db,"metadata-new-author",array( - 'user' => $user->username, - 'uuid' => $iso->uuid, - 'email'=> $user->email, - //元数据标题 - 'title'=> $iso->resTitle, - )); - $mail->setBodyText($mailtp->getBody()); - $mail->setSubject($mailtp->getSubject()); - if($this->debug==0) - { - $mail->addTo($user->email); - $mail->addCc($this->view->config->service->email); - }else{ - $mail->addTo($this->debug_email); - } - @$mail->send(); - - $data = array("commited"=>1,"error"=>$this->alertbox('ok','该版本已经成功提交,请等待数据中心进一步处理!')); - $this->jsonexit($data); - return true; - }catch(Exception $e) { - $msg = "提交失败,请确认权限后重试"; - if($this->debug>0) - {$msg .= $e->getMessage();} - $data = array("error"=>$this->alertbox('error',$msg)); - $this->jsonexit($data); - return true; - } - } - } - //新建元数据 - - //文献管理 - function literatureAction() - { - $ac = $this->_request->getParam('ac'); - $uuid = $this->_request->getParam('uuid'); - $id = $this->_request->getParam('id'); - - $auth = Zend_Auth::getInstance(); - if($auth->hasIdentity()) - { - $user = $auth->getIdentity(); - $u_id = $user->id; - } - - //查看单条数据的所有文献 - if (!empty($uuid) && empty($ac)) - { - $sql = "SELECT md.title,md.uuid,r.id,r.reference,r.link FROM mdref mr - LEFT JOIN metadata md ON md.uuid=mr.uuid - LEFT JOIN mdauthor a ON md.uuid=a.uuid - left join reference r on mr.refid=r.id - WHERE md.title IS NOT NULL AND a.userid=? and mr.uuid=? AND a.status=1 - order by md.ts_created desc - "; - $sth = $this->db->prepare($sql); - $sth->execute(array($u_id,$uuid)); - $rows = $sth->fetchAll(); - @$this->view->mdtitle=$rows[0]['title']; - - $paginator = Zend_Paginator::factory($rows); - $paginator->setCurrentPageNumber($this->_getParam('page')); - $paginator->setItemCountPerPage(15); - $paginator->setView($this->view); - Zend_View_Helper_PaginationControl::setDefaultViewPartial('pagination_param.phtml'); - $this->view->paginator=$paginator; - $this->_helper->viewRenderer('literature-viewdata'); - } - - //查看单条文献的所有数据 - if (!empty($id) && empty($ac)) - { - $sql = "SELECT md.title,md.uuid,r.id,r.reference,r.link,(a.userid-?) as isauthor FROM mdref mr - LEFT JOIN metadata md ON md.uuid=mr.uuid - LEFT JOIN mdauthor a ON md.uuid=a.uuid - left join reference r on mr.refid=r.id - WHERE md.title IS NOT NULL AND mr.refid=? AND a.status=1 - order by md.ts_created desc - "; - $sth = $this->db->prepare($sql); - $sth->execute(array($u_id,$id)); - $rows = $sth->fetchAll(); - @$this->view->mdtitle=$rows[0]['reference']; - - $paginator = Zend_Paginator::factory($rows); - $paginator->setCurrentPageNumber($this->_getParam('page')); - $paginator->setItemCountPerPage(15); - $paginator->setView($this->view); - Zend_View_Helper_PaginationControl::setDefaultViewPartial('pagination_param.phtml'); - $this->view->paginator=$paginator; - $this->_helper->viewRenderer('literature-viewliter'); - } - - //查看所有文献列表 - else if((empty($ac) && empty($uuid)) && empty($id)) - { - $keywords = $this->_request->getParam('q'); - $sql = "SELECT md.title,md.uuid,r.reference,r.id,mr.id as mrid FROM mdref mr - LEFT JOIN metadata md ON md.uuid=mr.uuid - LEFT JOIN mdauthor a ON md.uuid=a.uuid - left join reference r on mr.refid=r.id - WHERE md.title IS NOT NULL AND a.userid=? AND a.status=1"; - if(!empty($keywords)) - $this->view->q = $keywords; - if(!empty($keywords)) - { - $search=new Search($keywords); - $where=$search->sql_expr(array("r.reference","md.title","md.description")); - $sql.=' and '.$where; - } - $sql.=" order by md.ts_created desc"; - $sth = $this->db->prepare($sql); - $sth->execute(array($u_id)); - $rows = $sth->fetchAll(); - - - $paginator = Zend_Paginator::factory($rows); - $paginator->setCurrentPageNumber($this->_getParam('page')); - $paginator->setItemCountPerPage(15); - $paginator->setView($this->view); - Zend_View_Helper_PaginationControl::setDefaultViewPartial('pagination_param.phtml'); - $this->view->paginator=$paginator; - } - - //按文献浏览 - else if($ac=="byliter") - { - $keywords = $this->_request->getParam('q'); - if(!empty($keywords)) - $this->view->q = $keywords; - $sql = "SELECT count(md.uuid) as c,r.reference,r.id FROM reference r - left join mdref mr on r.id=mr.refid - LEFT JOIN metadata md ON md.uuid=mr.uuid - LEFT JOIN mdauthor a ON md.uuid=a.uuid - - WHERE md.title IS NOT NULL AND a.userid=? AND a.status=1"; - if(!empty($keywords)) - { - $search=new Search($keywords); - $where=$search->sql_expr(array("r.reference")); - $sql.=' and '.$where; - } - $sql.=" group by r.reference,r.id"; - - $sth = $this->db->prepare($sql); - $sth->execute(array($u_id)); - $rows = $sth->fetchAll(); - - $paginator = Zend_Paginator::factory($rows); - $paginator->setCurrentPageNumber($this->_getParam('page')); - $paginator->setItemCountPerPage(10); - $paginator->setView($this->view); - Zend_View_Helper_PaginationControl::setDefaultViewPartial('pagination_param.phtml'); - $this->view->paginator=$paginator; - - $this->_helper->viewRenderer('literature-byliter'); - } - - //按数据浏览 - else if($ac=="bydata") - { - $keywords = $this->_request->getParam('q'); - if(!empty($keywords)) - $this->view->q = $keywords; - $sql = "SELECT md.title,md.uuid,count(mr.id) as c FROM metadata md - LEFT JOIN mdref mr ON md.uuid=mr.uuid - LEFT JOIN mdauthor a ON md.uuid=a.uuid - left join reference r on mr.refid=r.id - WHERE md.title IS NOT NULL AND a.userid=? AND a.status=1"; - if(!empty($keywords)) - { - $search=new Search($keywords); - $where=$search->sql_expr(array("md.title","md.description")); - $sql.=' and '.$where; - } - $sql.=" group by md.uuid,md.title"; - - $sth = $this->db->prepare($sql); - $sth->execute(array($u_id)); - $rows = $sth->fetchAll(); - - $paginator = Zend_Paginator::factory($rows); - $paginator->setCurrentPageNumber($this->_getParam('page')); - $paginator->setItemCountPerPage(10); - $paginator->setView($this->view); - Zend_View_Helper_PaginationControl::setDefaultViewPartial('pagination_param.phtml'); - $this->view->paginator=$paginator; - - $this->_helper->viewRenderer('literature-bydata'); - } - - //添加文献信息 - else if($ac == "add") - { - $submit = $this->_request->getParam('submit'); - if(!empty($submit)) - { - $this->_helper->layout->disableLayout(); - $this->_helper->viewRenderer->setNoRender(); - - $data = ""; - try{ - $uuid = $this->_request->getParam('uuid'); - $ref=$this->_request->getParam('ref'); - $reftype=$this->_request->getParam('reftype'); - $url = $this->_request->getParam('url'); - if(empty($uuid) || empty($ref) || !is_numeric($reftype)) - { - $data = array("error"=>"参数错误"); - $this->jsonexit($data); - return true; - } - - $sql="select * from mdauthor where userid=? and uuid=? and status=1"; - $sth = $this->db->prepare($sql); - $sth->execute(array($u_id,$uuid)); - $row = $sth->fetch(); - if (empty($row)) - { - $data = array("error"=>$this->alertbox('warning','您不是该数据作者,无法添加对应文献信息。')); - $this->jsonexit($data); - return true; - } - - $sql="select id from reference where reference=?"; - $sth = $this->db->prepare($sql); - $sth->execute(array($ref)); - $row = $sth->fetch(); - if (!$row) - { - $sql="insert into reference (reference,link) values(?,?)"; - $sth = $this->db->prepare($sql); - $sth->execute(array(trim($ref),$url)); - $sql="select id from reference where reference=?"; - $sth = $this->db->prepare($sql); - $sth->execute(array(trim($ref))); - $row = $sth->fetch(); - } - $sql="insert into mdref (uuid,refid,reftype) values(?,?,?)"; - $sth = $this->db->prepare($sql); - $ex=$sth->execute(array($uuid,$row['id'],$reftype)); - - if($ex) - { - $data = array("commited"=>1,"error"=>$this->alertbox('ok','成功添加文献!')); - $this->jsonexit($data); - return true; - }else{ - $data = array("error"=>$this->alertbox('error','提交失败,请确认权限后重试')); - $this->jsonexit($data); - return true; - } - }catch(Exception $e) { - $msg = "提交失败,请确认权限后重试"; - if($this->debug>0) - {$msg .= $e->getMessage();} - $data = array("error"=>$this->alertbox('error',$msg)); - $this->jsonexit($data); - return true; - } - }else{ - $this->_helper->layout->disableLayout(); - $this->_helper->viewRenderer('literature-add'); - $this->view->uuid = $this->_request->getParam('uuid'); - } - }//添加文献 - - //删除某个文献 - else if($ac=="delete") - { - $this->_helper->layout->disableLayout(); - $this->_helper->viewRenderer->setNoRender(); - - $data = ""; - - $id = $this->_request->getParam('id'); - $uuid = $this->_request->getParam('uuid'); - if(empty($uuid) || !is_numeric($id)) - { - $data = array("error"=>"参数错误"); - $this->jsonexit($data); - return true; - } - try{ - $sql = "DELETE FROM mdref r - USING mdauthor a - WHERE r.uuid=a.uuid and r.refid=? and r.uuid=? AND a.userid=? AND a.status=1"; - $sth = $this->db->prepare($sql); - $ex = $sth -> execute(array($id,$uuid,$u_id)); - - if($ex) - { - $data = array("deleted"=>$id.$uuid,"error"=>$this->alertbox('ok','删除成功')); - $this->jsonexit($data); - return true; - }else{ - $data = array("error"=>$this->alertbox('error','删除失败,请确认权限后重试')); - $this->jsonexit($data); - return true; - } - }catch(Exception $e) { - $msg = "删除失败,请确认权限后重试"; - if($this->debug>0) - {$msg .= $e->getMessage();} - $data = array("error"=>$this->alertbox('error',$msg)); - $this->jsonexit($data); - return true; - } - } - - //文献附件上传 - else if($ac=='upload') - { - - $this->_helper->layout()->disableLayout(); - $this->_helper->viewRenderer->setNoRender(); - - $uuid = $this->_getParam('uuid'); - - try{ - - $files=new files(); - $msg = $files -> upload($this->view->config->upload,$_FILES['Filedata'],'literature'); - - if(empty($msg['error'])) - { - $msg['error']=""; - $filename = $msg['db_path']; - $filesize = $msg['file_size']; - $filedesc = $this->_request->getParam('filedesc'); - $filetype = $msg['file_type']; - $realname = $msg['realname']; - - - $sql = "insert into attachments (filename,filetype,filedesc,userid,filesize,realname) values ('$filename','$filetype','$filedesc','$u_id','$filesize','$realname') RETURNING id"; - $sth = $this->db->prepare($sql); - $sth->execute(); - $att = $sth->fetch(PDO::FETCH_ASSOC); - $msg['attid'] = $attid = $att['id']; - - $msg['html'] = $realname.'['. round($filesize/1024,2) .' kb]
'; - echo Zend_Json::encode($msg); - exit(); - - - - }else{ - $msg['error'] = '附件上传失败:'.$msg['error']; - @unlink($filename); - echo Zend_Json::encode($msg); - exit(); - } - - }catch(Exception $e){ - $msg['error'] = "错误:".$e->getMessage(); - echo Zend_Json::encode($msg); - exit(); - } - }//文件上传 - - }//文献管理 - - //文档管理 - function documentAction(){ - - $ac = $this->_request->getParam('ac'); - - $auth = Zend_Auth::getInstance(); - if($auth->hasIdentity()) - { - $user = $auth->getIdentity(); - $u_id = $user->id; - } - - if(empty($ac) || $ac == 'list' || $ac=='search') - { - - $wheresql = ""; - - $keyword = $this->_request->getParam('q'); - - if($ac=='search' && !empty($keyword)) - { - $this->view->q = $keyword; - $search = new Search($keyword); - $wheresql = $search->sql_expr(array("md.title")); - } - if(!empty($wheresql)) - { - $wheresql = " AND ".$wheresql; - } - - - $sql = "select count(att.id) as aid,md.title,md.uuid from metadata md - LEFT JOIN mdauthor a ON a.uuid=md.uuid - LEFT JOIN mdattach att ON att.uuid=md.uuid - WHERE a.status>=1 AND a.userid=? $wheresql - GROUP BY md.title,md.uuid"; - - $sth = $this->db->prepare($sql); - $sth->execute(array($u_id)); - $rows = $sth->fetchAll(); - - - $paginator = Zend_Paginator::factory($rows); - $paginator->setCurrentPageNumber($this->_getParam('page')); - $paginator->setItemCountPerPage(10); - $paginator->setView($this->view); - Zend_View_Helper_PaginationControl::setDefaultViewPartial('pagination_param.phtml'); - $this->view->paginator=$paginator; - } - - if($ac=='view') - { - $uuid = $this->_request->getParam('uuid'); - - if(empty($uuid) || !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)) - { - $this->view->error = "参数有误!"; - return true; - } - - $sql = "SELECT title FROM metadata WHERE uuid=?"; - $sth = $this->db->prepare($sql); - $sth->execute(array($uuid)); - $row = $sth->fetch(); - - $this->view->title = $row['title']; - - $sql = "SELECT att.*,md.title,md.uuid FROM mdattach mda - LEFT JOIN attachments att ON mda.id=att.id - LEFT JOIN metadata md ON mda.uuid=md.uuid - LEFT JOIN users u ON att.userid=u.id - WHERE md.uuid=? - "; - - $sth = $this->db->prepare($sql); - $sth->execute(array($uuid)); - $rows = $sth->fetchAll(); - - $this->view->info=$rows; - - $paginator = Zend_Paginator::factory($rows); - $paginator->setCurrentPageNumber($this->_getParam('page')); - $paginator->setItemCountPerPage(10); - $paginator->setView($this->view); - Zend_View_Helper_PaginationControl::setDefaultViewPartial('pagination_param.phtml'); - $this->view->paginator=$paginator; - - $this->_helper->viewRenderer('document-view'); - } - - if($ac == 'del') - { - - $this->_helper->layout()->disableLayout(); - $this->_helper->viewRenderer->setNoRender(); - - (int)$id = $this->_request->getParam('id'); - $uuid = $this->_request->getParam('uuid'); - if(!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)) - { - exit(); - } - - $info = $this->getFileinfo($id); - $filepath = $dataFilePath.$info['filename']; - try{ - $auth = Zend_Auth::getInstance(); - if($auth->hasIdentity()) - { - $user = $auth->getIdentity(); - $userid = $user->id; - $sql_mdattach = "delete from mdattach where uuid='$uuid' and id='$id'"; - $sql = "delete from attachments where id='$id' and userid='$userid'"; - if($this->db->exec($sql_mdattach)>0 && $this->db->exec($sql)>0) - { - @unlink($filepath); - echo "ok"; - } - } - - }catch(Exception $e){} - //不输出任何错误 - - }//删除 - - if($ac=='upload') - { - $submit = $this->_request->getParam('submit'); - if(empty($submit)) - { - $uuid = $this->_request->getParam('uuid'); - $this->view->uuid=$uuid; - $this->_helper->layout->disableLayout(); - $this->_helper->viewRenderer('document-upload'); - return true; - } - else - { - $this->_helper->layout()->disableLayout(); - $this->_helper->viewRenderer->setNoRender(); - - $uuid = $this->_getParam('uuid'); - - try{ - - $files=new files(); - $msg = $files -> upload($this->view->config->upload,$_FILES['Filedata'],'document'); - - if(empty($msg['error'])) - { - $msg['error']=""; - $filename = $msg['db_path']; - $filesize = $msg['file_size']; - $filedesc = $this->_request->getParam('filedesc'); - $filetype = $msg['file_type']; - $realname = $msg['realname']; - - - $sql = "insert into attachments (filename,filetype,filedesc,userid,filesize,realname) values ('$filename','$filetype','$filedesc','$u_id','$filesize','$realname') RETURNING id"; - $sth = $this->db->prepare($sql); - $sth->execute(); - $att = $sth->fetch(PDO::FETCH_ASSOC); - $msg['attid'] = $attid = $att['id']; - - $sql = "insert into mdattach (uuid,id) values ('$uuid','$attid')"; - if($this->db->exec($sql)) - { - $msg['html'] = $realname.'['. round($filesize/1024,2) .' kb]
'; - echo Zend_Json::encode($msg); - exit(); - }else{ - $msg['error'] = '附件上传失败:写入附件表出错'; - @unlink($filename); - echo Zend_Json::encode($msg); - exit(); - } - - - }else{ - $msg['error'] = '附件上传失败:'.$msg['error']; - @unlink($filename); - echo Zend_Json::encode($msg); - exit(); - } - - }catch(Exception $e){ - $msg['error'] = "错误:".$e->getMessage(); - echo Zend_Json::encode($msg); - exit(); - } - } - }//文件上传 - - if($ac == 'download') - { - (int)$id = $this->_request->getParam('id'); - - $sql = "select * from attachments where id='$id'"; - - $re = $this->db->query($sql); - - $row = $re->fetch(); - - $file = new files(); - - $fullPath = $this->view->config->upload.$row['filename']; - - - // Parse Info / Get Extension - $fsize = filesize($fullPath); - $path_parts = pathinfo($fullPath); - $ext = strtolower($path_parts["extension"]); - - // Determine Content Type - switch ($ext) { - case "pdf": $ctype="application/pdf"; break; - case "exe": $ctype="application/octet-stream"; break; - case "zip": $ctype="application/zip"; break; - case "doc": $ctype="application/msword"; break; - case "xls": $ctype="application/vnd.ms-excel"; break; - case "ppt": $ctype="application/vnd.ms-powerpoint"; break; - case "gif": $ctype="image/gif"; break; - case "png": $ctype="image/png"; break; - case "jpeg": - case "jpg": $ctype="image/jpg"; break; - default: $ctype="application/force-download"; - } - - $content=file_get_contents($fullPath); - $this->_helper->layout->disableLayout(); - $this->_helper->viewRenderer->setNoRender(); - $this->getResponse()->setHeader('Content-Type', 'application/octet-stream') - ->setHeader('Content-Disposition','attachment; filename="'.$row['realname'].'"') - ->setHeader('Content-Length', $fsize) - ->setHeader('Content-Type','application/force-download') - ->setHeader('Content-Type','application/download') - ->setHeader('Content-Type',$ctype) - ->setHeader('Content-Description','File Transfer') - ->setHeader('Content-Transfer-Encoding','binary') - ->setHeader('Expires',0) - ->setHeader('Cache-Control','must-revalidate, post-check=0, pre-check=0') - ->setHeader('Pragma','public') - ->setBody($content); - }//文件下载 - - }//文档管理 - - /* - * delegateAction() 委托 - * - * - */ - public function delegateAction(){ - - $ac = $this->_request->getParam('ac'); - $uuid = $this->_request->getParam('uuid'); - - if($ac == '' && !empty($uuid)) - { - - $auth = Zend_Auth::getInstance(); - if($auth->hasIdentity()) - { - $user = $auth->getIdentity(); - $uid = $user->id; - } - - if(!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)) - { - $this->view->info = "参数错误"; - return true; - } - - $sql = "SELECT * FROM metadata WHERE uuid=?"; - $sth = $this->db->prepare($sql); - $sth ->execute(array($uuid)); - $row = $sth->fetch(); - - $this->view->metadata = $row; - - //确认一下用户有权限,如果直接使用update语句无法得到已更改过的状态 - //只要是认证后的数据作者,都可以修改数据的委托状态 - $sql = "SELECT * FROM mdstatus - WHERE uuid=? AND userid in (select userid from mdauthor where status=1 and uuid=?) AND status=?"; - - $sth = $this->db->prepare($sql); - $sth->execute(array($uuid,$uuid,6)); - $mds = $sth->fetch(); - - if(!empty($mds['id'])) - { - $sql = "UPDATE mdstatus SET status=7,ts_changed='now()',userid=$uid WHERE uuid='$uuid'"; - if($this->db->exec($sql)) - { - $this->view->info = "委托成功!"; - return true; - } - else - { - $this->view->info = "委托失败!"; - return true; - } - }else{ - $this->view->info = "该数据无法委托,请确定数据状态已经可以进行委托,或数据尚未进行委托"; - } - } - - if($ac == 'cancel') - { - - $auth = Zend_Auth::getInstance(); - if($auth->hasIdentity()) - { - $user = $auth->getIdentity(); - $uid = $user->id; - } - - if(!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)) - { - $this->view->info = "参数错误"; - return true; - } - - $sql = "SELECT * FROM metadata WHERE uuid=?"; - $sth = $this->db->prepare($sql); - $sth ->execute(array($uuid)); - $row = $sth->fetch(); - - $this->view->metadata = $row; - - $sql = "SELECT * FROM mdstatus - WHERE uuid=? AND userid in (select userid from mdauthor where status=1 and uuid=?) AND status=?"; - - $sth = $this->db->prepare($sql); - $sth->execute(array($uuid,$uuid,7)); - $mds = $sth->fetch(); - - if(!empty($mds['id'])) - { - $sql = "UPDATE mdstatus SET status=6,ts_changed='now()',userid=$uid WHERE uuid='$uuid'"; - if($this->db->exec($sql)) - { - $this->view->info = "取消委托成功!"; - return true; - } - else - { - $this->view->info = "取消委托失败!"; - return true; - } - }else{ - $this->view->info = "操作失败!该数据尚未进行委托"; - } - - - } - - - }//委托 - - - /* - * staticsAction() 数据统计 - * - * - */ - public function staticsAction(){ - - $ac = $this->_getParam('ac'); - - if(empty($ac)) - { - $this->view->alldata = $this->getClick(); - } - - if($ac=="md") - { - $this->_helper->viewRenderer('statics-md'); - $this->view->allorder = $this->getStatic("allorder"); - $this->view->offlineorder = $this->getStatic("offline"); - $this->view->onlineorder = $this->getStatic("online"); - } - - if($ac == "time") - { - $this->_helper->viewRenderer('statics-time'); - $this->view->datas = $this->getStaticByYear("dataorder"); - - } - - }//staticsAction() 数据统计 - - public function getClick(){ - - $auth = Zend_Auth::getInstance(); - if($auth->hasIdentity()) - { - $user = $auth->getIdentity(); - $uid = $user->id; - } - - $sql = "SELECT md.title,md.uuid,s.viewed,count(o.id) as down FROM metadata md - LEFT JOIN mdstat s ON md.uuid=s.uuid - LEFT JOIN mdauthor a ON md.uuid=a.uuid - LEFT JOIN dataorder o ON md.uuid=o.uuid - WHERE a.userid=? OR (o.status=0 or o.status=5) - GROUP BY md.title,md.uuid,s.viewed"; - $sth = $this->db->prepare($sql); - $sth->execute(array($uid)); - $rows = $sth->fetchAll(); - - return $rows; - } - - /* - * getStaticByYear按月份获取统计数据 - */ - public function getStaticByYear($ac,$year=0){ - - if(empty($year)) - { - $year = date("Y",time()); - } - - - if($ac == "dataorder") - { - $table = "dataorder"; - $time_field = "ts_created"; - $count_field = "id"; - } - - $sql = "select to_char(o.$time_field, 'YYYY-MM') as d , count(o.$count_field) as c from $table o - where o.ts_created between '$year-01-01' and '$year-12-12' group by d"; - - $sth = $this->db->prepare($sql); - $sth->execute(); - $rows = $sth->fetchAll(); - - return $rows; - } - - public function getStatic($ac){ - $auth = Zend_Auth::getInstance(); - if($auth->hasIdentity()) - { - $user = $auth->getIdentity(); - $uid = $user->id; - } - - if(empty($uid)){ - return false; - } - - if($ac == "allorder"){ - $sql = " SELECT count(o.id) as c FROM metadata md - LEFT JOIN dataorder o ON md.uuid=o.uuid - LEFT JOIN mdauthor a ON md.uuid=a.uuid - WHERE a.userid=? AND a.status>0"; - $sth = $this->db->prepare($sql); - $sth->execute(array($uid)); - $row = $sth->fetch(); - return $row['c']; - } - - if($ac == "offline"){ - $sql = " SELECT count(o.id) as c FROM metadata md - LEFT JOIN dataorder o ON md.uuid=o.uuid - LEFT JOIN mdauthor a ON md.uuid=a.uuid - WHERE o.offlineappid > 0 AND a.userid=? AND a.status>0"; - $sth = $this->db->prepare($sql); - $sth->execute(array($uid)); - $row = $sth->fetch(); - return $row['c']; - } - - if($ac == "online"){ - $sql = " SELECT count(o.id) as c FROM metadata md - LEFT JOIN dataorder o ON md.uuid=o.uuid - LEFT JOIN mdauthor a ON md.uuid=a.uuid - WHERE o.onlineappid > 0 AND a.userid=? AND a.status>0"; - $sth = $this->db->prepare($sql); - $sth->execute(array($uid)); - $row = $sth->fetch(); - return $row['c']; - } - - } - - - public function getFileinfo($id){ - $sql = "select * from attachments where id='$id'"; - $re= $this->db->query($sql); - $row= $re->fetch(); - return $row; - } - - //成为作者后的后继处理工作 - private function author_first($uuid,$author) - { - $sql="insert into mdversion (xml,ts_created,uuid,changelog,userid) - select x.data,m.ts_created,?,?,? from metadata m left join xml x on m.id=x.id - left join mdversion v on m.uuid=v.uuid - where m.uuid=? and v.changelog is null"; - $sth=$this->db->prepare($sql); - try - { - $sth->execute(array($uuid,'初始版本 version 1.0',$author,$uuid)); - } catch(Exception $e){ - // do nothing here. - // 说明之前已经有对应数据 - } - $this->wdb=Zend_Db::factory($this->view->config->geonetwork); - $sql="update metadata set owner=? where uuid=?"; - $sth=$this->wdb->prepare($sql); - $sth->execute(array($author,$uuid)); - } - - /* - * jsonexit() 退出并返回json数据 - * - * param array $data 要返回的JSON数据,可以是任意数组 - * - * return JSON-response - */ - public function jsonexit($data){ - $this->getResponse()->setHeader('Content-Type', 'application/json')->appendBody(Zend_Json::encode($data)); - return true; - }//jsonexit() 退出并返回json数据 - - - //ajax 提示框 - public function alertbox($type='',$body){ - if($type == "error") - { - $img = ''; - $text = '

'.$body.'

'; - return $img.$text; - } - if($type == "ok") - { - $img = ''; - $text = '

'.$body.'

'; - return $img.$text; - } - if($type == "warning") - { - $img = ''; - $text = '

'.$body.'

'; - return $img.$text; - } - if(empty($type)) - { - $text = '

'.$body.'

'; - return $text; - } - } -} - diff --git a/application/admin/views/scripts/author/datas.phtml b/application/admin/views/scripts/author/datas.phtml deleted file mode 100644 index aa9bb968..00000000 --- a/application/admin/views/scripts/author/datas.phtml +++ /dev/null @@ -1,76 +0,0 @@ -headTitle($this->config->title->site); -$this->headTitle($this->config->title->author); -$this->headTitle()->setSeparator(' - '); -$this->headScript()->appendFile('/js/jquery-1.7.min.js'); -$this->headLink()->appendStylesheet('/css/author.css'); -$this->headLink()->appendStylesheet('/css/admin.css'); -$this->breadcrumb('首页'); -$this->breadcrumb('数据作者'); -$this->breadcrumb('我的数据'); -$this->breadcrumb()->setSeparator(' > '); -?> - -
- partial('author/left.phtml'); ?> -
- - - -
-

请输入元数据标题关键字进行搜索

-
- - -
-
- paginator)): - echo "
-
- - \ No newline at end of file diff --git a/application/admin/views/scripts/author/inauthor-datalist.phtml b/application/admin/views/scripts/author/inauthor-datalist.phtml deleted file mode 100644 index abc5a1c1..00000000 --- a/application/admin/views/scripts/author/inauthor-datalist.phtml +++ /dev/null @@ -1,54 +0,0 @@ -headTitle($this->config->title->site); -$this->headTitle($this->config->title->author); -$this->headTitle()->setSeparator(' - '); -$this->headScript()->appendFile('/js/jquery-1.7.min.js'); -$this->headLink()->appendStylesheet('/css/author.css'); -$this->breadcrumb('首页'); -$this->breadcrumb('数据作者'); -$this->breadcrumb('数据申请管理'); -$this->breadcrumb()->setSeparator(' > '); -?> - - - - - -
-
- -
-

请输入元数据标题关键字进行搜索

-
- - -
-
- paginator)): - echo "
-
- - \ No newline at end of file diff --git a/application/admin/views/scripts/author/inauthor-offline.phtml b/application/admin/views/scripts/author/inauthor-offline.phtml deleted file mode 100644 index 0b62fc00..00000000 --- a/application/admin/views/scripts/author/inauthor-offline.phtml +++ /dev/null @@ -1,84 +0,0 @@ -headTitle($this->config->title->site); -$this->headTitle($this->config->title->author); -$this->headTitle()->setSeparator(' - '); -$this->headScript()->appendFile('/js/jquery-1.7.min.js'); -$this->headLink()->appendStylesheet('/css/admin.css'); -$this->headLink()->appendStylesheet('/css/author.css'); -$this->breadcrumb('首页'); -$this->breadcrumb('数据作者'); -$this->breadcrumb('数据申请管理'); -$this->breadcrumb()->setSeparator(' > '); -?> - -
- partial('author/left.phtml'); ?> -
- - - -
-
- -
-
离线数据申请默认为同意下载
-

请输入元数据标题关键字进行搜索

-
- - -
-
- paginator)): - echo "
-
- - \ No newline at end of file diff --git a/application/admin/views/scripts/author/inauthor.phtml b/application/admin/views/scripts/author/inauthor.phtml deleted file mode 100644 index 8c225395..00000000 --- a/application/admin/views/scripts/author/inauthor.phtml +++ /dev/null @@ -1,58 +0,0 @@ -headTitle($this->config->title->site); -$this->headTitle($this->config->title->author); -$this->headTitle()->setSeparator(' - '); -$this->headScript()->appendFile('/js/jquery-1.7.min.js'); -$this->headLink()->appendStylesheet('/css/admin.css'); -$this->headLink()->appendStylesheet('/css/author.css'); -$this->breadcrumb('首页'); -$this->breadcrumb('数据作者'); -$this->breadcrumb('数据申请管理'); -$this->breadcrumb()->setSeparator(' > '); -?> - -
- partial('author/left.phtml'); ?> -
- - - -
-
- -
-
这里仅显示您的数据的在线数据记录。
-

请输入元数据标题关键字进行搜索

-
- - -
-
- paginator)): - echo "
-
- - \ No newline at end of file diff --git a/application/admin/views/scripts/author/index.phtml b/application/admin/views/scripts/author/index.phtml deleted file mode 100644 index 7893d555..00000000 --- a/application/admin/views/scripts/author/index.phtml +++ /dev/null @@ -1,17 +0,0 @@ -headTitle($this->config->title->site); - $this->headTitle('后台管理'); - $this->headTitle()->setSeparator(' - '); - $this->headLink()->appendStylesheet('/css/admin.css'); - $this->breadcrumb('首页'); - $this->breadcrumb('后台首页'); - $this->breadcrumb('数据作者'); - $this->breadcrumb()->setSeparator(' > '); -?> -
-partial('author/left.phtml'); ?> -
-
- - -
\ No newline at end of file diff --git a/application/admin/views/scripts/author/left.phtml b/application/admin/views/scripts/author/left.phtml deleted file mode 100644 index e838ac4a..00000000 --- a/application/admin/views/scripts/author/left.phtml +++ /dev/null @@ -1,6 +0,0 @@ - \ No newline at end of file diff --git a/application/admin/views/scripts/author/version-bydata.phtml b/application/admin/views/scripts/author/version-bydata.phtml deleted file mode 100644 index 0135364d..00000000 --- a/application/admin/views/scripts/author/version-bydata.phtml +++ /dev/null @@ -1,52 +0,0 @@ -headTitle($this->config->title->site); -$this->headTitle($this->config->title->author); -$this->headTitle()->setSeparator(' - '); -$this->headScript()->appendFile('/js/jquery-1.7.min.js'); -$this->headLink()->appendStylesheet('/css/admin.css'); -$this->headLink()->appendStylesheet('/css/author.css'); -$this->breadcrumb('首页'); -$this->breadcrumb('数据作者'); -$this->breadcrumb('数据版本管理'); -$this->breadcrumb()->setSeparator(' > '); -?> - -
- partial('author/left.phtml'); ?> -
- - - -
-
- -
-

请输入元数据标题关键字进行搜索

-
- - -
-
- paginator)): - echo "
-
- - \ No newline at end of file diff --git a/application/admin/views/scripts/author/version-diff.phtml b/application/admin/views/scripts/author/version-diff.phtml deleted file mode 100644 index 4547ef71..00000000 --- a/application/admin/views/scripts/author/version-diff.phtml +++ /dev/null @@ -1,70 +0,0 @@ -headTitle($this->config->title->site); -$this->headTitle($this->config->title->author); -$this->headTitle()->setSeparator(' - '); -$this->headScript()->appendFile('/js/jquery-1.7.min.js'); -$this->headScript()->appendFile('/js/diffview.js'); -$this->headScript()->appendFile('/js/difflib.js'); -$this->headLink()->appendStylesheet('/css/admin.css'); -$this->headLink()->appendStylesheet('/css/author.css'); -$this->headLink()->appendStylesheet('/css/diffview.css'); -$this->breadcrumb('首页'); -$this->breadcrumb('数据作者'); -$this->breadcrumb('查看数据作者'); -$this->breadcrumb()->setSeparator(' > '); -?> - -
- partial('author/left.phtml'); ?> -
- - - -
-
- -
- error)) - { - echo $this->error; - } - else - {?> -

info['title'];?>

-
- - - - -
- - - \ No newline at end of file diff --git a/application/admin/views/scripts/author/version.phtml b/application/admin/views/scripts/author/version.phtml deleted file mode 100644 index 9e75cde3..00000000 --- a/application/admin/views/scripts/author/version.phtml +++ /dev/null @@ -1,108 +0,0 @@ -headTitle($this->config->title->site); -$this->headTitle($this->config->title->author); -$this->headTitle()->setSeparator(' - '); -$this->headScript()->appendFile('/js/jquery-1.7.min.js'); -$this->headLink()->appendStylesheet('/css/admin.css'); -$this->headScript()->appendFile('/js/jquery.colorbox-min.js'); -$this->headLink()->appendStylesheet('/css/author.css'); -$this->headLink()->appendStylesheet('/css/colorbox.css'); -$this->breadcrumb('首页'); -$this->breadcrumb('数据作者'); -$this->breadcrumb('数据版本管理'); -$this->breadcrumb()->setSeparator(' > '); -?> - -
- partial('author/left.phtml'); ?> -
- - - -
-
- -
-
- paginator)): - if ($this->mdtitle) echo "

元数据:".$this->mdtitle."

"; - echo "
-
- - - diff --git a/application/admin/views/scripts/author/view-dataoreder.phtml b/application/admin/views/scripts/author/view-dataoreder.phtml deleted file mode 100644 index 044ab172..00000000 --- a/application/admin/views/scripts/author/view-dataoreder.phtml +++ /dev/null @@ -1,96 +0,0 @@ -headTitle($this->config->title->site); -$this->headTitle($this->config->title->author); -$this->headTitle()->setSeparator(' - '); -$this->headScript()->appendFile('/js/jquery-1.7.min.js'); -$this->headLink()->appendStylesheet('/css/admin.css'); -$this->headLink()->appendStylesheet('/css/author.css'); -$this->breadcrumb('首页'); -$this->breadcrumb('数据作者'); -$this->breadcrumb('查看数据申请记录'); -$this->breadcrumb()->setSeparator(' > '); -?> - -
- partial('author/left.phtml'); ?> -
- - - -
- error)) - { - echo $this->error; - } - ?> -
- -
-
- paginator)): - echo "

申请记录:".$this->mdtitle."

"; - echo "
- -
- - \ No newline at end of file