merge heihedata branch into trunk from r5110 - r5290

This commit is contained in:
wlx 2015-04-23 09:14:54 +00:00
parent a4ddb0a87b
commit 9d1c6dbdcd
16 changed files with 246 additions and 80 deletions

View File

@ -2433,7 +2433,8 @@ class Admin_DataController extends Zend_Controller_Action
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
LEFT JOIN (select m.uuid,m.title,m.description,max(v.ts_created) as ts_created from mdversion v left join metadata m on v.uuid=m.uuid
group by m.uuid,m.title,m.description) md ON md.uuid=v.uuid
WHERE md.title IS NOT NULL";
if(!empty($keywords))
{
@ -2441,7 +2442,7 @@ class Admin_DataController extends Zend_Controller_Action
$where=$search->sql_expr(array("md.title","md.description"));
$sql.=' and '.$where;
}
$sql.=" group by md.uuid,md.title";
$sql.=" group by md.uuid,md.title,md.ts_created order by md.ts_created desc";
$sth = $this->db->prepare($sql);
$sth->execute();
@ -2458,6 +2459,41 @@ class Admin_DataController extends Zend_Controller_Action
}
//未发布版本浏览
else if($ac=="unpublish")
{
$keywords = $this->_request->getParam('q');
if(!empty($keywords))
$this->view->q = $keywords;
$sql = "SELECT md.title,md.uuid,v.ts_created,v.changelog,gm.owner,v.id,u.username,u.realname FROM mdversion v
LEFT JOIN metadata md ON md.uuid=v.uuid
left join geonetworkmetadata gm on md.uuid=gm.uuid
left join users u on gm.owner=u.id
left join mdstatus st on md.uuid=st.uuid
WHERE md.title IS NOT NULL and v.changelog is null and st.status>4 ";
if(!empty($keywords))
{
$search=new Search($keywords);
$where=$search->sql_expr(array("md.title","md.description"));
$sql.=' and '.$where;
}
$sql.=" 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(10);
$paginator->setView($this->view);
Zend_View_Helper_PaginationControl::setDefaultViewPartial('pagination_param.phtml');
$this->view->paginator=$paginator;
$this->_helper->viewRenderer('version-unpublish');
}
//删除某个版本
else if($ac=="delete")
{
@ -2584,8 +2620,8 @@ class Admin_DataController extends Zend_Controller_Action
// 1. 权限认定 --skip
// 2. 保存变化记录 save changelog & userid
$sql = "UPDATE mdversion SET changelog=?,userid=? WHERE id=?";
$this->db->query($sql,array($changelog,$u_id,$id));
$sql = "UPDATE mdversion SET changelog=?,userid=g.owner from geonetworkmetadata g WHERE g.uuid=mdversion.uuid and mdversion.id=?";
$this->db->query($sql,array($changelog,$id));
// 3. 获取数据评审状态
$sql = "SELECT s.*,v.xml,m.title FROM mdstatus s left join mdversion v on s.uuid=v.uuid

View File

@ -72,6 +72,15 @@ class Admin_DownController extends Zend_Controller_Action
return true;
}//未接收的
if($ac == "notsubmitted")
{
$this->_helper->viewRenderer('offlineapps-notreceived');
$offlineapp = new Offlineapp();
$data = $offlineapp->fetchNotSubmitted();
view::addPaginator($data,$this,20);
return true;
}//未接收的
if($ac == "nopdf")
{
$this->_helper->viewRenderer('offlineapps-nopdf');
@ -198,8 +207,8 @@ class Admin_DownController extends Zend_Controller_Action
view::addPaginator($rows,$this,10);
return true;
}
}
if (!$page) $page=1;
if ($view) {
//查看此次申请的pdf

View File

@ -19,8 +19,11 @@
<!-- 页面内容 -->
<div class="col-md-10 col-sm-12">
<div class="form-group">
<a class="btn btn-primary btn-sm" href="/admin/data/version">所有版本概况</a>
<a class="btn btn-primary btn-sm" href="/admin/data/version/ac/bydata">逐数据浏览</a>
<ul class="nav nav-tabs" role="tablist">
<li class=""><a href="/admin/data/version">所有版本概况</a></li>
<li class=""><a href="/admin/data/version/ac/unpublish">已发布数据的未发布版本</a></li>
<li class="active"><a href="/admin/data/version/ac/bydata">逐数据浏览</a></li>
</ul>
</div>
<div class="input-group form-group">
<form id="datasearch" class="search_form input-group" action="/admin/data/version/ac/bydata">

View File

@ -0,0 +1,115 @@
<?php
$this->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/lib/colorbox/jquery.colorbox-min.js');
$this->headLink()->appendStylesheet('/css/author.css');
$this->headLink()->appendStylesheet('/js/lib/colorbox/colorbox.css');
$this->breadcrumb('<a href="/">首页</a>');
$this->breadcrumb('<a href="/admin/data">数据管理</a>');
$this->breadcrumb('数据版本管理');
$this->breadcrumb()->setSeparator(' > ');
?>
<div class="row">
<!-- 左侧导航 -->
<div class="hidden-sm hidden-xs col-md-2">
<?= $this->partial('data/left.phtml'); ?>
</div>
<!-- //左侧导航 -->
<!-- 页面内容 -->
<div class="col-md-10 col-sm-12">
<div class="form-group">
<ul class="nav nav-tabs" role="tablist">
<li class=""><a href="/admin/data/version">所有版本概况</a></li>
<li class="active"><a href="/admin/data/version/ac/unpublish">已发布数据的未发布版本</a></li>
<li class=""><a href="/admin/data/version/ac/bydata">逐数据浏览</a></li>
</ul>
</div>
<?php
if (count($this->paginator)):
if ($this->mdtitle) echo "<h2>元数据:".$this->mdtitle."</h2>";
echo "<ul class=list-unstyled>";
$autoindex=0;
$edited=false;
foreach ($this->paginator as $item):
$autoindex++;?>
<li id="list_<?php echo $item['id'];?>" class="well well-sm">
<h4><a href="/data/<?php echo $item['uuid'];?>" target="_blank"><?php echo $item['title'];?></a>
<small><a class="" href="/admin/data/version/uuid/<?php echo $item['uuid']; ?>">查看此数据所有版本</a>
<?php if (!$edited && @$item['gid'])
{ $edited=true; echo '<a href="/service/geonetwork?url=metadata.edit?id='.$item['gid'].'" target="_blank">编辑最新版本</a> ';} ?>
</small></h4>
<p>版本创建时间: <?php echo date("Y-m-d H:i",strtotime($item['ts_created']));?>
<?php if ($item['owner']) :
echo "修改者: ".(empty($item['realname'])?$item['username']:$item['realname'])." ";
endif;
?>
</p>
<h5>
<a class="label label-danger" onclick="return confirm('是否确定删除该版本?');" href="javascript:action('delete','<?php echo $item['id'];?>');" class="more">
<span class="glyphicon glyphicon-trash"> 删除</a></span>
<a class="label label-primary" class="label label-danger" onclick="return confirm('是否确定将这个版本恢复到geonetwork');" href="javascript:action('restore','<?php echo $item['id'];?>');" class="more">恢复到geonetwork</a>
<a class="label label-primary" href="/admin/data/version/ac/diff/id/<?php echo $item['id'];?>" class="more">与前一版对比</a>
<a class="label label-primary" href="/admin/data/version/ac/diff1/id/<?php echo $item['id'];?>" class="more">与前一发布或提交版对比</a>
<a onclick="$('#commit_submit').attr('onclick','commit(\'<?php echo $item['id'];?>\');');" href="#commitform" class="more inline label label-primary">提交评审发布</a>
</h5>
<?php if ($item['changelog']) : ?>
<p><?php echo $item['changelog']; ?></p>
<?php endif; ?>
</li>
<?php endforeach;
echo "</ul>";
endif; ?>
<div class="pagenavi"><?= $this->paginator; ?></div>
</div>
</div>
<!-- //页面内容 -->
<script>
$('#wapper').width($('body').width()-300);
function action(ac,id){
$.ajax({
'type':"POST",
'url':'/admin/data/version/',
'data':'ac='+ ac +'&id='+id,
'success':function(data){
if (typeof(data)=='object')
{
if(typeof(data.error)!='undefined')
{$.colorbox({'innerWidth':'50%','html':data.error});}
if(typeof(data.deleted)!='undefined')
{$('#list_'+data.deleted).fadeOut("slow",function(){$(this).remove();});}
if(typeof(data.commited)!='undefined')
{$('#changelog').val('');$('#commit_submit').attr('onclick','');}
}
else{
$.colorbox({'innerWidth':'50%','html':'<h4>出现错误,请稍候再试</h4>'});
}
},
'timeout': 30000,
'error': function(){
$.colorbox({'innerWidth':'50%','html':'<h4>处理中出现错误,请刷新页面后重试</h4>'});
}
});
}
$(".inline").colorbox({inline:true, width:"50%", height:"50%"});
function commit(id){
action('commit&changelog='+$('#changelog').val(),id);
}
</script>
<div class="colorbox" style="display:none;">
<div id="commitform">
<form>
<p>
<label>版本改动:</label><br />
<textarea rows="12" class="full" style="width:100%;" id="changelog"></textarea>
<br /><small>请输入此版本与之前版本的差别</small>
</p>
<input type="button" onclick="" id="commit_submit" class="btn btn-success pull-right" value="提交"/>
</form>
</div>
<div class="error"><img src="/images/alert_big_error.png" /><span></span></div>
<div class="ok"><img src="/images/alert_big_ok.png" /><span></span></div>
<div class="warning"><img src="/images/alert_big_warning.png" /><span></span></div>
</div>

View File

@ -23,6 +23,7 @@
<div class="form-group">
<ul class="nav nav-tabs" role="tablist">
<li class="<?php if(!$this->mdtitle) echo "active";?>"><a href="/admin/data/version">所有版本概况</a></li>
<li class=""><a href="/admin/data/version/ac/unpublish">已发布数据的未发布版本</a></li>
<li class=""><a href="/admin/data/version/ac/bydata">逐数据浏览</a></li>
</ul>
</div>

View File

@ -11,5 +11,8 @@
<li class="<?= $this->navIn == "passed" ? "active":"" ?>">
<a href="/admin/down/offlineapps/ac/passed">已上传申请表已通过</a>
</li>
<li class="<?= $this->navIn == "notsubmitted" ? "active":"" ?>">
<a href="/admin/down/offlineapps/ac/notsubmitted">未接收未上传申请表</a>
</li>
</ul>

View File

@ -1,19 +1,24 @@
<div id="upload-form" class="modal hide fade" tabindex="-1" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="myModalLabel">申请表上传</h3>
</div>
<div class="modal-body">
<form id="application-form">
<div id="fsUploadProgress">允许上传20M以内的 PDF 文件</div>
<input type="file" name="Filedata" id="file_upload" />
</form>
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true">取消上传</button>
<button class="btn btn-primary">上传完成</button>
</div>
</div>
<script>
_this.SessionID = '<?php echo session_id(); ?>';
</script>
</script>
<!-- Modal -->
<div class="modal fade" id="upload-form" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title" id="myModalLabel">申请表上传</h4>
</div>
<div class="modal-body">
<form id="application-form">
<div id="fsUploadProgress">允许上传20M以内的 PDF 文件</div>
<input type="file" name="Filedata" id="file_upload" />
</form>
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true">取消上传</button>
<button class="btn btn-primary">上传完成</button>
</div>
</div>
</div>
</div>

View File

@ -360,7 +360,7 @@ class DataController extends Zend_Controller_Action
/*
* todo:空间浏览
*/
function mapAction()
function extentAction()
{
//use json & openlayers?
$id=(int)$this->_request->getParam('id');
@ -614,8 +614,15 @@ class DataController extends Zend_Controller_Action
$sql=$this->db->quoteInto($sql,$uuid);
$this->view->dataref=$this->db->fetchAll($sql);
//数据的专题文献
$sql="select r.* from reference r left join mdref m on m.refid=r.id where m.uuid=? and m.reftype=4 order by m.place";
$sql=$this->db->quoteInto($sql,$uuid);
//$sql="select r.* from reference r left join sourceref sr on r.id=sr.refid left join datasource ds on ds.sourceid=sr.sourceid where ds.uuid=? order by sr.place";
$sql="select r.* from reference r right join
(select refid,place from ((
select sr.refid,sr.place from sourceref sr left join datasource ds on ds.sourceid=sr.sourceid
where ds.uuid=? order by sr.place ) union (
select mr.refid,mr.place from mdref mr where mr.reftype=4 and mr.uuid=? and mr.refid not in (
select sr.refid from sourceref sr left join datasource ds on ds.sourceid=sr.sourceid
where ds.uuid=? )) ) a ) p on r.id=p.refid order by p.place";
$sql=$this->db->quoteInto($sql,$uuid);
$this->view->themeref=$this->db->fetchAll($sql);
//用户发表文献
$sql="select r.* from reference r left join mdref m on m.refid=r.id where m.uuid=? and m.reftype=1 order by r.language asc,r.year desc,r.ts_created desc limit 15";

View File

@ -33,7 +33,7 @@ class HiwaterController extends DataController
{
$this->view->pageIn = "collapse6";
}
else if(in_array($acName,array("rsproduct","dem","precipitation",'sm',"snow","vegtype","vegcov",'phenology','npp')))
else if(in_array($acName,array("rsproduct","dem","precipitation",'sm',"snow","vegtype","vegcov",'phenology','npp','lst')))
{
$this->view->pageIn = "collapse7";
}
@ -203,21 +203,21 @@ class HiwaterController extends DataController
function autometeoAction()
{
$this->getmd(array('','自动气象站'));
$this->getmdlimited(array('','自动气象站'),'通量观测矩阵');
$this->_helper->viewRenderer('base');
$archive = new Archive($this->db);
$this->view->info = $archive->getOneArchive('HiWATER-通量观测矩阵','about');
}
function ecAction()
{
$this->getmd(array('','涡动相关仪'));
$this->getmdlimited(array('','涡动相关仪'),'通量观测矩阵');
$this->_helper->viewRenderer('base');
$archive = new Archive($this->db);
$this->view->info = $archive->getOneArchive('HiWATER-通量观测矩阵','about');
}
function lasAction()
{
$this->getmd(array('','大孔径闪烁仪'));
$this->getmdlimited(array('','大孔径闪烁仪'),'通量观测矩阵');
$this->_helper->viewRenderer('base');
$archive = new Archive($this->db);
$this->view->info = $archive->getOneArchive('HiWATER-通量观测矩阵','about');
@ -309,7 +309,7 @@ class HiwaterController extends DataController
function msoAction()
{
$this->getmd(array('自动气象站','涡动相关仪','大孔径闪烁仪','稳定同位素观测系统','热扩散液流计TDP','宇宙射线土壤水分'));
$this->getmdlimited(array('自动气象站','涡动相关仪','大孔径闪烁仪','稳定同位素观测系统','热扩散液流计TDP','宇宙射线土壤水分'),'通量观测矩阵');
$this->_helper->viewRenderer('base');
$archive = new Archive($this->db);
$this->view->info = $archive->getOneArchive('HiWATER-通量观测矩阵','about');
@ -317,19 +317,19 @@ class HiwaterController extends DataController
function isotopeAction()
{
$this->getmd(array('','稳定同位素观测系统'));
$this->getmdlimited(array('','稳定同位素观测系统'),'通量观测矩阵');
$this->_helper->viewRenderer('base');
}
function tdpAction()
{
$this->getmd(array('','热扩散液流计TDP'));
$this->getmdlimited(array('','热扩散液流计TDP'),'通量观测矩阵');
$this->_helper->viewRenderer('base');
}
function cosmosAction()
{
$this->getmd(array('','宇宙射线土壤水分'));
$this->getmdlimited(array('','宇宙射线土壤水分'),'通量观测矩阵');
$this->_helper->viewRenderer('base');
}
@ -380,6 +380,11 @@ class HiwaterController extends DataController
$this->getmdlimited(array('NPP',''),'卫星遥感产品');
$this->_helper->viewRenderer('base');
}
function lstAction()
{
$this->getmdlimited(array('地表温度',''),'卫星遥感产品');
$this->_helper->viewRenderer('base');
}
function hmon2012Action()
{
$this->getmdrestricted(array('2012','水文气象观测网'));

View File

@ -50,7 +50,7 @@ class IndexController extends Zend_Controller_Action
$News = new Archive($this->db);
$time = date("Y-m-d H:i:s",time());
$sql = "SELECT * FROM archive WHERE is_pub=true AND ts_published<'$time' AND image!='' and id in (select ar_catalog.aid from ar_category left join ar_catalog on ar_category.id=ar_catalog.cid where ar_category.code='featured') order by ts_published desc LIMIT 5";
$sql = "SELECT * FROM heihearchive WHERE is_pub=true AND ts_published<'$time' AND image!='' and id in (select ar_catalog.aid from ar_category left join ar_catalog on ar_category.id=ar_catalog.cid where ar_category.code='featured') order by ts_published desc LIMIT 5";
$sth = $this->db->query($sql);
$rows = $sth->fetchAll(PDO::FETCH_BOTH);

View File

@ -36,7 +36,7 @@ $this->headTitle()->setSeparator(' - ');
<ul class="unstyled inline">
<li><a class="btn" href="/data/thumb"><i class="icon-picture"></i>缩略图浏览</a></li>
<li><a class="btn" href="/data/timeline"><i class="icon-calendar"></i>时间轴浏览</a></li>
<li><a class="btn" href="/data/map"><i class="icon-globe"></i>空间浏览</a></li>
<li><a class="btn" href="/data/extent"><i class="icon-globe"></i>空间浏览</a></li>
<li><a class="btn" href="/data/timemap"><i class="icon-film"></i>时空浏览</a></li>
<li><a class="btn" href="/data/organization"><i class="icon-filter"></i>单位浏览</a></li>
<li><a class="btn" href="/data/fund"><i class="icon-money"></i>项目浏览</a></li>

View File

@ -3,13 +3,11 @@ $this->headTitle($this->config->title->site);
$this->headTitle($this->config->title->data);
$this->headTitle('时空导航');
$this->headTitle()->setSeparator(' - ');
//$this->headLink()->appendStylesheet('/css/metadata.css');
$this->theme->AppendPlus($this,'google_map_v3');
$this->theme->AppendPlus($this,'colorbox');
$this->headScript()->appendFile('/js/timeline_var.js');
$this->headScript()->appendFile('/js/timeline_js/timeline-api.js');
$this->headScript()->appendFile('/js/timemap.2.0.1/lib/mxn/mxn.js?(googlev3)');
$this->headScript()->appendFile('/js/timemap.2.0.1/timemap.pack.js');
//$this->theme->AppendPlus($this,'colorbox');
$this->theme->AppendPlus($this,'timemap');
$this->headScript()->appendFile('/js/OpenLayers.js');
//$this->headScript()->appendFile('/js/timeline_var.js');
//$this->headScript()->appendFile('/js/timeline_js/timeline-api.js');
$this->nav[] = array('link'=>"/data/timemap",'title'=>'时空导航');
?>
<style>
@ -17,41 +15,20 @@ img{max-width:none}
</style>
<div class="row-fluid"><?= $this->render('breadcrumbs.phtml'); ?><?= $this->partial('data/tools.phtml'); ?></div>
<div id="timemap">
<div id="timeline" style="height:500px;border-right:1px solid #abc;width:50%;float:left;"></div>
<div id="map" style="height:500px;"></div>
<div id="timeline" style="height:300px;border-bottom:1px solid #abc;"></div>
<div id="map" style="height:400px;"></div>
</div>
<script type="text/javascript" charset="utf-8">
$('#map').height($(window).height());
$('#timeline').height($(window).height());
$("html,body").animate({scrollTop:$('#timemap').offset().top},600);
//$('#map').height($(window).height());
//$('#timeline').height($(window).height());
//$("html,body").animate({scrollTop:$('#timemap').offset().top},600);
var tm;
$(function() {
// make a custom map style
var styledMapType = new google.maps.StyledMapType([
{
featureType: "water",
elementType: "all",
stylers: [
{ saturation: 0 },
{ lightness: 100 }
]
},
{
featureType: "all",
elementType: "all",
stylers: [
{ saturation: -100 }
]
}
], {
name: "white"
});
$(function() {
tm = TimeMap.init({
mapId: "map", // Id of map div element (required)
timelineId: "timeline", // Id of timeline div element (required)
scrollTo: "2008-06-01",
options: {
eventIconPath: "../images/"
},
@ -92,11 +69,5 @@ $(function() {
Timeline.DateTime.DECADE
]
});
// set the map to our custom style
var gmap = tm.getNativeMap();
gmap.mapTypes.set("white", styledMapType);
gmap.setMapTypeId("white");
});
</script>

View File

@ -4,7 +4,7 @@
<li><a href="/data/series"><i class="icon-th-list"></i>序列浏览</a></li>
<li><a href="/data/category"><i class="icon-th"></i>分类浏览</a></li>
<li><a href="/data/timeline"><i class="icon-tasks"></i>时间轴浏览</a></li>
<!-- <li><a href="/data/map"><i class="icon-globe"></i>空间浏览</a></li> -->
<!-- <li><a href="/data/extent"><i class="icon-globe"></i>空间浏览</a></li> -->
<li><a href="/data/timemap"><i class="icon-film"></i>时空浏览</a></li>
<li><a href="/data/browse"><i class="icon-align-justify"></i>全部浏览</a></li>
<!-- <li><a href="/data/advancesearch"><i class="icon-search"></i>高级搜索</a></li> -->

View File

@ -127,6 +127,7 @@
<li id="Nav-hiwater-vegcov"><a href="/hiwater/vegcov"><i class="icon-double-angle-right"></i>植被覆盖度</a></li>
<li id="Nav-hiwater-phenology"><a href="/hiwater/phenology"><i class="icon-double-angle-right"></i>物候期</a></li>
<li id="Nav-hiwater-npp"><a href="/hiwater/npp"><i class="icon-double-angle-right"></i>NPP</a></li>
<li id="Nav-hiwater-lst"><a href="/hiwater/lst"><i class="icon-double-angle-right"></i>地表温度</a></li>
</ul>
</li>

View File

@ -138,6 +138,16 @@ class Offlineapp
//echo $dbh->select($opt,true);exit();
return $dbh->select($opt);
}//未接受的
public function fetchNotSubmitted()
{
$opt = $this->offLineAppMakeQuery(array(
'where' => ' o.offlineappid != -1 AND o.status=2 and off.pdflink is not null'
));
$dbh = new dbh();
//echo $dbh->select($opt,true);exit();
return $dbh->select($opt);
}//未提交pdf的数据申请用于替用户重置后重新上传pdf
public function fetchNoPdf()
{