update detail page

This commit is contained in:
jack 2018-05-12 11:32:25 +08:00
parent 7f66b3f7f6
commit 7922029c75
3 changed files with 276 additions and 32 deletions

View File

@ -36,16 +36,16 @@ class DataController extends Zend_Controller_Action
$state=$this->db->query('select c.code,name,name_zh,count(*) from category c,categorycode cc where c.code=cc.code group by c.code,cc.name,cc.name_zh'); $state=$this->db->query('select c.code,name,name_zh,count(*) from category c,categorycode cc where c.code=cc.code group by c.code,cc.name,cc.name_zh');
$this->view->category=$state->fetchAll(); $this->view->category=$state->fetchAll();
//关键词 //关键词
$state=$this->db->query("select keyword,count(*) from keyword right join normalmetadata on keyword.id=normalmetadata.id where keytype='place' group by keyword order by count desc limit 24"); $state=$this->db->query("select keyword,count(*) from keyword right join normalmetadata on keyword.id=normalmetadata.id where keytype='place' group by keyword order by count desc limit 27");
$k1=$state->fetchAll(); $k1=$state->fetchAll();
$state=$this->db->query("select keyword,count(*) from keyword right join normalmetadata on keyword.id=normalmetadata.id where keytype='theme' group by keyword order by count desc limit 24"); $state=$this->db->query("select keyword,count(*) from keyword right join normalmetadata on keyword.id=normalmetadata.id where keytype='theme' group by keyword order by count desc limit 27");
//$state=$this->db->query("select k.keyword,count(k.keyword) from keyword k left join normalmetadata m on k.id=m.id where k.keytype='theme' and (m.uuid in (select uuid from dataorder group by uuid order by count(uuid) desc limit 20)) group by k.keyword order by count(k.keyword) desc limit 20"); //$state=$this->db->query("select k.keyword,count(k.keyword) from keyword k left join normalmetadata m on k.id=m.id where k.keytype='theme' and (m.uuid in (select uuid from dataorder group by uuid order by count(uuid) desc limit 20)) group by k.keyword order by count(k.keyword) desc limit 20");
$k2=$state->fetchAll(); $k2=$state->fetchAll();
$state=$this->db->query("select keyword,count(*) from keyword right join normalmetadata on keyword.id=normalmetadata.id where keytype='discipline' group by keyword order by count desc limit 24"); $state=$this->db->query("select keyword,count(*) from keyword right join normalmetadata on keyword.id=normalmetadata.id where keytype='discipline' group by keyword order by count desc limit 27");
$k3=$state->fetchAll(); $k3=$state->fetchAll();
$state=$this->db->query("select keyword,count(*) from keyword right join normalmetadata on keyword.id=normalmetadata.id where keytype='stratum' group by keyword order by count desc limit 24"); $state=$this->db->query("select keyword,count(*) from keyword right join normalmetadata on keyword.id=normalmetadata.id where keytype='stratum' group by keyword order by count desc limit 27");
$k4=$state->fetchAll(); $k4=$state->fetchAll();
$state=$this->db->query("select keyword,count(*) from keyword right join normalmetadata on keyword.id=normalmetadata.id where keytype='temporal' group by keyword order by count desc limit 24"); $state=$this->db->query("select keyword,count(*) from keyword right join normalmetadata on keyword.id=normalmetadata.id where keytype='temporal' group by keyword order by count desc limit 27");
//$state=$this->db->query("select k.keyword,count(k.keyword) from keyword k left join normalmetadata m on k.id=m.id where k.keytype='temporal' and (m.uuid in (select uuid from dataorder group by uuid order by count(uuid) desc limit 20)) group by k.keyword order by count(k.keyword) desc limit 20"); //$state=$this->db->query("select k.keyword,count(k.keyword) from keyword k left join normalmetadata m on k.id=m.id where k.keytype='temporal' and (m.uuid in (select uuid from dataorder group by uuid order by count(uuid) desc limit 20)) group by k.keyword order by count(k.keyword) desc limit 20");
$k5=$state->fetchAll(); $k5=$state->fetchAll();
$this->view->keywords=array('place'=>$k1,'theme'=>$k2,'discipline'=>$k3,'stratum'=>$k4,'temporal'=>$k5); $this->view->keywords=array('place'=>$k1,'theme'=>$k2,'discipline'=>$k3,'stratum'=>$k4,'temporal'=>$k5);

View File

@ -42,16 +42,159 @@
?> ?>
</div> </div>
<div class="dataContent"> <div class="dataContent">
<a href="" target="_blank"> <div class="thumb">
<a href="javascript:void(0);">
<img src="/service/thumb/uuid/<?php echo $md->uuid;?>"/> <img src="/service/thumb/uuid/<?php echo $md->uuid;?>"/>
</a> </a>
<p>西藏卡若拉冰川位于西藏自治区山南地区浪卡子县和日喀则地区江孜县交界处北纬28°5423.30″28°5650.95″东经90°1142.21″90°0926.23″属大陆性冰川平均海拔5042米是近南北向展布的宁金岗桑峰的组成部分。本数据集在综合中国科学院寒区旱区环境与工程研究所的我国第一次冰川编目数据、地球系统科学数据共享平台的雅鲁藏布江流域冰川2005年110万编目数据、Google Earth遥感影像及野外考察等相关数据的基础上借助ArcGIS、ENVI等软件对数据进行波段组合、研究区裁剪、人工目视解译等技术研发完成最后对所得的数据进行了精度验证。本数据集共包括19722017年间的25期冰川矢量数据和面积数据统计表反映了45年来卡若拉冰川边界变化情况可以作为青藏高原冰川变化、气候变化等研究的参考数据。</p>
</div> </div>
<p><?php echo str_replace(array("\r\n", "\n", "\r"),'</p><p>',$md->description);?></p>
</div>
<?php if ($this->mcitation && (count($this->mcitation)>1) ) : ?>
<h6>本数据要求的多篇文献引用</h6>
<?php foreach($this->mcitation as $ref) :
echo '<p>'.$ref->reference;
echo '<a href="/knowledge/paper/id/'.$ref->id.'"><i class="icon-info-sign text-success"></i>查看</a>';
if (empty($ref->link))
{
if(!empty($ref->attid))
echo '<a href="/service/attach/id/'.$ref->attid.'"><i class="icon-download text-success"></i>下载</a>';
}else{
echo '<a href="'.$ref->link.'"><i class="icon-download text-success"></i>下载</a>';
}
echo "</p>";
endforeach;
?>
<?php endif; ?>
<?php if (($md->citation) || (count($this->mcitation)==1)) :
if (!$md->citation) $md->citation=$this->mcitation[0]->reference;
?>
<h6>本数据引用方式</h6>
<a class="pull-right" href="/archives/help/platform/archive-23.html" ><i class="icon-comment"></i>数据引用帮助</a>
<p><?php if (empty($md->datadoi) || !strpos($md->citation,$md->datadoi)) : ?><span class="label label-info">文章的引用</span>
<?php endif; echo $this->escape($md->citation);if (strpos($md->citation,$md->datadoi)) : ?>
(下载引用:<a href="/service/ris/lang/cn/uuid/<?php echo $md->uuid; ?>">RIS格式</a> | <a href="/service/ris/lang/en/uuid/<?php echo $md->uuid; ?>">RIS英文格式</a> | <a href="/service/bibtex/lang/cn/uuid/<?php echo $md->uuid; ?>">Bibtex格式</a> | <a href="/service/bibtex/lang/en/uuid/<?php echo $md->uuid; ?>">Bibtex英文格式</a>)
<?php endif; ?>
</p>
<?php if (!empty($md->datadoi) && !strpos($md->citation,$md->datadoi)) : ?>
<p><span class="label label-info">数据的引用</span><?php
echo substr($md->authors,1,-1).'. '.$md->title.'. '.$md->publisher.', '.(empty($md->ts_published)?$md->publish_year:date('Y',strtotime($md->ts_published))).'. doi:'.$md->doi;
echo ' ['.str_replace('"','',substr($md->author_en,1,-1)).'. '.$md->title_en.'. '.$md->publisher_en.', '.(empty($md->ts_published)?$md->publish_year:date('Y',strtotime($md->ts_published))).'. doi:'.$md->doi.']';
?> (下载引用:<a href="/service/ris/lang/cn/uuid/<?php echo $md->uuid; ?>">RIS格式</a> | <a href="/service/ris/lang/en/uuid/<?php echo $md->uuid; ?>">RIS英文格式</a> | <a href="/service/bibtex/lang/cn/uuid/<?php echo $md->uuid; ?>">Bibtex格式</a> | <a href="/service/bibtex/lang/en/uuid/<?php echo $md->uuid; ?>">Bibtex英文格式</a>)</p>
<?php endif; ?>
<?php endif; ?>
<?php if ($this->ref) : ?>
<h6>相关文献(作者推荐)</h6>
<?php foreach($this->ref as $ref) :
echo '<p>'.$ref->reference;
echo '<a href="/knowledge/paper/id/'.$ref->id.'"><i class="icon-info-sign text-success"></i>查看</a>';
if (empty($ref->link))
{
if(!empty($ref->attid))
echo '<a href="/service/attach/id/'.$ref->attid.'"><i class="icon-download text-success"></i>下载</a>';
}else{
echo '<a href="'.$ref->link.'"><i class="icon-download text-success"></i>下载</a>';
}
echo "</p>";
endforeach;
?>
<?php endif;?>
<?php if ($this->themeref) :?>
<h6>专题文献</h6>
<?php foreach($this->themeref as $ref) :
echo '<p>'.$ref->reference;
echo '<a href="/knowledge/paper/id/'.$ref->id.'"><i class="icon-info-sign text-success"></i>查看</a>';
if (empty($ref->link))
{
if(!empty($ref->attid))
echo ' | <a href="/service/attach/id/'.$ref->attid.'"><i class="icon-download text-success"></i>下载</a>';
}else{
echo ' | <a href="'.$ref->link.'"><i class="icon-download text-success"></i>下载</a>';
}
echo "</p>";
endforeach;
?>
<?php endif; ?>
<?php if ($this->userref) : ?>
<h6>数据施引文献</h6>
<?php foreach($this->userref as $ref) :
echo '<p>'.$ref->reference;
echo '<a href="/knowledge/paper/id/'.$ref->id.'"><i class="icon-info-sign text-success"></i>查看</a>';
if (empty($ref->link))
{
if(!empty($ref->attid))
echo '<a href="/service/attach/id/'.$ref->attid.'"><i class="icon-download text-success"></i>下载</a>';
}else{
echo '<a href="'.$ref->link.'"><i class="icon-download text-success"></i>下载</a>';
}
echo "</p>";
endforeach;
if (count($this->userref)==15)
{
echo '<a class="btn btn-success pull-right" href="/knowledge/user/uuid/'.$md->uuid.'" ><i class="icon-info-sign"></i>更多施引文献</a>';
}
?>
<?php endif; ?>
<h6>数据使用声明</h6> <h6>数据使用声明</h6>
<?php
if ($this->uselimits) :
foreach($this->uselimits as $uselimit) :
echo '<p>'.str_replace(array("\r\n", "\n", "\r"),'</p><p>',$this->escape($uselimit->uselimit)).'</p>';
endforeach;
?>
<?php else : ?>
<p>为尊重知识产权、保障数据作者的权益、扩展数据中心的服务、评估数据的应用潜力,请数据使用者在使用数据所产生的研究成果中(包括公开发表的论文、论著、数据产品和未公开发表的研究报告、数据产品等成果),明确注明数据来源和数据作者。对于转载(二次或多次发布)的数据,作者还须注明原始数据来源。</p> <p>为尊重知识产权、保障数据作者的权益、扩展数据中心的服务、评估数据的应用潜力,请数据使用者在使用数据所产生的研究成果中(包括公开发表的论文、论著、数据产品和未公开发表的研究报告、数据产品等成果),明确注明数据来源和数据作者。对于转载(二次或多次发布)的数据,作者还须注明原始数据来源。</p>
<p>中文发表的成果参考以下规范注明: 数据来源于时空三极大数据平台(http://www.poles.ac.cn)</p>
<p>英文发表的成果依据以下规范注明: The data set is provided by Cold and Arid Regions Sciences Data Center at Lanzhou (http://www.poles.ac.cn)</p>
<?php endif; ?>
<?php if($this->data_archives){ ?>
<h6>数据使用声明</h6>
<ul class="list-unstyled">
<?php
foreach($this->data_archives as $v){?>
<li><a href="<?= $v['url']['archive_url']?>"><?= $v['title']?></a></li>
<?php } ?>
</ul>
<?php }?>
<?php if ($md->suppinfo || $this->fund) : ?>
<h6>资助项目</h6> <h6>资助项目</h6>
<p>西藏自治区自然科学基金2016ZR-QY-01国家自然科学基金41371351、41561017</p> <?php if(!empty($this->fund)) : ?>
<ul class="list-unstyled">
<?php foreach($this->fund as $k=>$v) : ?>
<li><?= $v['fund_type'] ?><a href="/data/fund/id/<?= $v['id'] ?>"><?= $v['title'] ?></a>(项目编号:<?= $v['fund_id']?>) [<?= $v['fund_type_en'] ?>(No. <?= $v['fund_id']?>)]</li>
<?php endforeach; ?>
</ul>
<?php elseif(!empty($md->suppinfo)) : ?>
<?php echo '<p>'.str_replace(array("\r\n", "\n", "\r"),'</p><p>',$this->escape($md->suppinfo)).'</p>';?>
<?php endif; ?>
<?php endif; ?>
<!--
<?php if ($this->resources) : ?>
<h6>相关资源</h6> <h6>相关资源</h6>
<ul class="list-unstyled">
<?php foreach($this->resources as $link) : ?>
<li><a href="<?php echo $link->linkage; ?>" title="<?php echo $link->description; ?>">
<?php
if (!empty($link->name))
echo $link->name;
elseif (!empty($link->description))
echo $link->description;
else
echo $link->linkage;
?></a></li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
-->
<div class=""> <div class="">
<ul id="myTab" class="nav nav-tabs"> <ul id="myTab" class="nav nav-tabs">
<li class="active"> <li class="active">
@ -69,7 +212,23 @@
<p>暂无数据</p> <p>暂无数据</p>
</div> </div>
<div class="tab-pane fade in" id="home2"> <div class="tab-pane fade in" id="home2">
<p>暂无数据</p> <?php if ($this->downhistory) : ?>
<p>最近10条服务记录如下</p>
<ul start="1">
<?php
foreach($this->downhistory as $v){
echo '<li>'.date("Y-m-d",strtotime($v->ts_created))." ".$v->unit." ".$v->realname;
if (!empty($v->offlineproject))
echo ' 用途:'.$v->offlineproject;
elseif (!empty($v->onlineproject))
echo ' 用途:'.$v->onlineproject;
echo '</li>';
}
?>
</ul>
<?php else : ?>
<p>暂时没有服务记录,欢迎您下载使用!</p>
<?php endif; ?>
</div> </div>
<div class="tab-pane fade in" id="home3"> <div class="tab-pane fade in" id="home3">
<p>暂无数据</p> <p>暂无数据</p>
@ -79,31 +238,111 @@
</div> </div>
<div class="col-md-3 col-sm-3 rightBox"> <div class="col-md-3 col-sm-3 rightBox">
<h6>空间位置</h6> <h6>空间位置</h6>
<div class="topMap"> <div class="topMap" id='watermap' style="width:100%;height:300px;">
<img src="/static-sanji-v2/img/banner1.jpg"/> <img src="/static-sanji-v2/img/banner1.jpg"/>
</div> </div>
<h6>数据细节</h6> <h6>数据细节</h6>
<ul> <ul>
<li>格式:.shp、.shx、.sbn、.dbf</li> <?php if ($md->fileformat) : ?>
<li>大小0.15MB</li> <li>格式:<span><?php echo $md->fileformat; ?></span></li>
<li>浏览14次</li> <?php endif; ?>
<li>数据时间范围1972-10-18 至 2017-01-16</li> <li>大小:<span><?php echo $md->filesize; ?>MB</span></li>
<li>数据共享方式:离线</li> <?php if ($this->downloaded>9) :?>
<li>元数据更新时间2018-03-18</li> <li>下载:<span><?php echo $this->downloaded; ?></span></li>
<li>历史版本1 个<a href=""></a></li> <?php endif; ?>
<li>下载元数据:<a href=""></a></li> <li>浏览:<span><?php echo $this->viewed; ?></span></li>
<?php if (!empty($md->timebegin)) : ?>
<li>数据时间范围:<span><?php echo date('Y-m-d',strtotime($md->timebegin));if (!empty($md->timeend)) echo " 至 ".date('Y-m-d',strtotime($md->timeend)); ?></span></li>
<?php endif; ?>
<li>数据共享方式:<span><?php if ($md->datatype) print "离线"; else print "在线(可直接下载)";?></span></li>
<li>元数据更新时间:<span><?php print date('Y-m-d',strtotime($md->ts_created)); ?></span></li>
</ul> </ul>
<a href="" class="addBtn">放入数据篮</a> <?php if ($md->status>0 and $md->status<5) : ?>
<a href="/review/review/uuid/<?php echo $md->uuid; ?>" class="addBtn">数据评审</a>
<?php else : if (!$md->datatype) : ?>
<a href="/data/todownload/?uuid=<?= $md->uuid?>" class="addBtn">下载数据</a>
<?php else: ?>
<?php
if(!empty($this->dataService)) { ?>
<?php $this->theme->AppendPlus($this,'datepicker'); ?>
<a href="javascript:void(0);" class="addBtn" title="此数据需要选择要下载的子集" onclick="westdc.dataservice.choiceData('<?= $md->uuid ?>',this);">
<?php }else{ ?>
<a href="/data/order/uuid/<?php echo $md->uuid; ?>" class="addBtn" title="免费!离线申请此数据(在线数据和离线数据都可申请)">放入数据篮</a>
<?php } ?>
放入数据篮
</a>
<?php endif;endif; ?>
<h6>联系信息</h6> <h6>联系信息</h6>
<div class=""> <div class="">
<p>元数据作者:<a href="">邱玉宝</a></p> <?php
<p>数据服务联系人:<a href="">邱玉宝</a></p> $party_zh=array('resourceProvider'=>'资源提供者','custodian'=>'维护者','owner'=>'拥有者','user'=>'用户','distributor'=>'数据服务联系人','originator'=>'创建者','pointOfContact'=>'联系人','principalInvestigator'=>'数据调查与处理者','processor'=>'处理者','publisher'=>'元数据发布者','author'=>'元数据作者');
<p>联系人:<a href="">邱玉宝</a></p> $r='';
<p>资源提供者:<a href="">邱玉宝</a></p> $i=0;
foreach($this->authors as $k=>$author) :
if ($author->role!=$r)
{
$r=$author->role;
$i=0;
if ($k>0) echo '</p>';
echo '<p>'.$party_zh[$author->role].'';
}
if ($i>0) echo '';
$i+=1;
if (!empty($author->email) && $r!='principalInvestigator')
echo '<a href="mailto:'.$author->email.'">';
echo '<strong title="'.$author->organisation.'">';
if (!empty($author->individual))
echo $author->individual;
else
echo $author->organisation;
echo '</strong>';
if (!empty($author->email)) echo '</a>';
if ($k+1==count($this->authors)) echo '</p>';
endforeach;
?>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<script type="text/javascript" charset="utf-8">
var config = { projection: "EPSG:4326"};
var map=new TMap("watermap",config);
var lat=<?= ($md->south+$md->north)/2; ?>;
var lng=<?= ($md->east+$md->west)/2; ?>;
map.centerAndZoom(new TLngLat(lng,lat),12);
map.setMapType(TMAP_HYBRID_MAP);
<?php if ($md->north==$md->south && $md->east==$md->west) :?>
var marker=new TMarker(new TLngLat(lng,lat));
map.addOverLay(marker);
<?php else :?>
var p1=new TLngLat(<?= $md->west ?>,<?= $md->south ?>);
var p2=new TLngLat(<?= $md->west ?>,<?= $md->north ?>);
var p3=new TLngLat(<?= $md->east ?>,<?= $md->north ?>);
var p4=new TLngLat(<?= $md->east ?>,<?= $md->south ?>);
map.setViewport(new Array(p1,p2,p3,p4));
var bounds = new TBounds(<?= $md->west; ?>,<?= $md->south; ?>,<?= $md->east; ?>,<?= $md->north; ?>);
var config = {
strokeColor:"red", //折线颜色
fillColor:"#FFFFFF", //填充颜色。当参数为空时,折线覆盖物将没有填充效果
strokeWeight:"3px", //折线的宽度,以像素为单位
opacity:0.3, //折线的透明度取值范围0 - 1
strokeStyle:"dashed" //折线的样式solid或dashed
};
var rect = new TRect(bounds,config);
map.addOverLay(rect);
//map.zoomOut();
<?php endif; ?>
var config = {
type:"TMAP_NAVIGATION_CONTROL_SMALL", //缩放平移的显示类型
anchor:"TMAP_ANCHOR_TOP_LEFT", //缩放平移控件显示的位置
offset:[0,0] //缩放平移控件的偏移值 showZoomInfo:true //是否显示级别提示信息true表示显示false表示隐藏。
};
//创建缩放平移控件对象
control=new TNavigationControl(config);
//添加缩放平移控件
map.addControl(control);
</script>
<?php else: ?> <?php else: ?>
<p>Cannot find the metadata.</p> <p>Cannot find the metadata.</p>
<p>没有找到对应的元数据。</p> <p>没有找到对应的元数据。</p>

View File

@ -21,10 +21,12 @@
float: left; float: left;
margin-right: 20px; margin-right: 20px;
} }
.dataContent .thumb{
text-align: center;
}
.dataContent img{ .dataContent img{
width: 100%; text-align: center;
margin-top: 30px; margin: 30px auto 20px;
margin-bottom: 20px;
} }
.leftBox p{ .leftBox p{
font-size: 14px; font-size: 14px;
@ -45,6 +47,9 @@
width: 120px; width: 120px;
font-weight: bold; font-weight: bold;
} }
.leftBox
.topMap{ .topMap{
width: 100%; width: 100%;
height: 250px; height: 250px;