diff --git a/application/admin/controllers/ReviewController.php b/application/admin/controllers/ReviewController.php index 656861bb..a3e998bf 100644 --- a/application/admin/controllers/ReviewController.php +++ b/application/admin/controllers/ReviewController.php @@ -309,7 +309,7 @@ class Admin_ReviewController extends Zend_Controller_Action $mail->setFrom($this->view->config->service->email,'西部数据中心服务组'); $mail->addTo($expinfo['email']); $mail->setSubject($mailtp->getSubject()); - $filecontent=file_get_contents("http://" . $_SERVER['HTTP_HOST'].'/data/doc/uuid/'.$uuid); + $filecontent=file_get_contents("http://" . $_SERVER['HTTP_HOST'].'/admin/review/doc/uuid/'.$uuid); $mail->createAttachment($filecontent,'application/octet-stream',Zend_Mime::DISPOSITION_ATTACHMENT, Zend_Mime::ENCODING_BASE64, $md['title'].'.doc'); if($mail->send()) { @@ -769,7 +769,7 @@ class Admin_ReviewController extends Zend_Controller_Action }//expertsAction 专家库 /* - * 转换元数据为WORD DOC格式 + * 转换元数据为WORD DOC格式,并附加评审意见表和评审说明 */ public function docAction() { @@ -779,8 +779,24 @@ class Admin_ReviewController extends Zend_Controller_Action $uuid=$this->_request->getParam('uuid'); if (!empty($uuid)) { - $sql="select x.data,m.title,m.description,g.id from xml x left join metadata m on m.id=x.id left join geonetworkmetadata g on g.uuid=m.uuid where m.uuid=".$this->db->quote($uuid); - $row=$this->db->fetchRow($sql); + $sql="select x.data,m.title,m.description,g.id,m.projection from xml x left join metadata m on m.id=x.id left join geonetworkmetadata g on g.uuid=m.uuid where m.uuid=".$this->db->quote($uuid); + $row=$this->db->fetchRow($sql); + $sql="select r.* from reference r left join mdref m on m.refid=r.id where m.uuid=?"; + $sql=$this->db->quoteInto($sql,$uuid); + $ref=$this->db->fetchAll($sql); + $reference='
    '; + foreach($ref as $refer) + { + $reference.='
  1. '.$refer['reference'].'
  2. '; + } + $reference.='
'; + if (is_numeric($row['projection'])) + { + $sql="select proj4text from spatial_ref_sys where auth_srid=?"; + $rs=$this->db->fetchRow($sql,array((int)$row->projection)); + if ($rs) $projection=$rs['proj4text']; + } + if (empty($prjection)) $projection=$row['projection']; } $dom = new DOMDocument(); @@ -797,7 +813,9 @@ class Admin_ReviewController extends Zend_Controller_Action $xslt = new XSLTProcessor(); $xslt->registerPHPFunctions(); $xslt->setParameter('', 'thumburl', $thumburl); - $xslt->setParameter('', 'abstract', $abs); + $xslt->setParameter('', 'abstract', $abs); + $xslt->setParameter('','projection',$projection); + $xslt->setParameter('','reference',$reference); $XSL = new DOMDocument(); $XSL->load( '../data/doc.xsl', LIBXML_NOCDATA); $xslt->importStylesheet($XSL); @@ -819,11 +837,12 @@ class Admin_ReviewController extends Zend_Controller_Action span{font-weight:bolder;} #content{padding:5px 0 10px 0;border:1px solid #BF5008;} #divFooter {background-color:#BF5008;color:White;font-size:12px;padding:5px 15px;} - #divFooter a:link, #divFooter a:visited, #divFooter a:active {color:White;font-family:Arial,Serif;text-decoration:none;} + #divFooter a:link, #divFooter a:visited, #divFooter a:active {color:White;font-family:Arial,Serif;text-decoration:none;} '; - $content.=$xslt->transformToXML($dom); + $content.=$xslt->transformToXML($dom); + $content.=file_get_contents('../data/review-table.htm',true); $content.=""; $this->getResponse()->setHeader('Content-Type', 'application/vnd.ms-doc') ->setHeader('Content-Disposition','attachment; filename="'.$row['title'].'.doc"') @@ -836,6 +855,6 @@ class Admin_ReviewController extends Zend_Controller_Action ->setHeader('Cache-Control','must-revalidate, post-check=0, pre-check=0') ->setHeader('Pragma','public') ->setBody($content); - } + } }