实现hiwater功能
This commit is contained in:
parent
792da56172
commit
83bf8acbf4
|
@ -276,12 +276,13 @@ class HiwaterController extends DataController
|
||||||
function tagAction()
|
function tagAction()
|
||||||
{
|
{
|
||||||
$key = $this->_request->getParam('key');
|
$key = $this->_request->getParam('key');
|
||||||
|
$keytype = $this->_request->getParam('keytype');
|
||||||
$page=(int)$this->_request->getParam('page');
|
$page=(int)$this->_request->getParam('page');
|
||||||
if (empty($page)) $page=1;
|
if (empty($page)) $page=1;
|
||||||
$offset=$this->limit*($page-1);
|
$offset=$this->limit*($page-1);
|
||||||
if (!empty($key)) {
|
if (!empty($key)) {
|
||||||
$this->view->codename=$key;
|
$this->view->codename=$key;
|
||||||
$sql=$this->db->quoteInto('select count(id) from keyword where keyword=?',$key);
|
$sql=$this->db->quoteInto("select count(k.id) from keyword k left join normalmetadata m on k.id=m.id where m.uuid in (select d.uuid from datasource d left join source s on d.sourceid=s.id where s.code='hiwater') and k.keyword=?",$key);
|
||||||
$state=$this->db->query($sql);
|
$state=$this->db->query($sql);
|
||||||
$row=$state->fetchAll();
|
$row=$state->fetchAll();
|
||||||
$sum=$row[0]['count'];
|
$sum=$row[0]['count'];
|
||||||
|
@ -289,17 +290,12 @@ class HiwaterController extends DataController
|
||||||
$this->view->metadata=$this->db->fetchAll($sql,array($this->limit,$offset));
|
$this->view->metadata=$this->db->fetchAll($sql,array($this->limit,$offset));
|
||||||
$this->view->page=new Pagination($sum,$page,$this->limit);
|
$this->view->page=new Pagination($sum,$page,$this->limit);
|
||||||
} else {
|
} else {
|
||||||
$state=$this->db->query("select keyword.keyword,count(*) from keyword left join normalmetadata m on keyword.id=m.id where keyword.keytype='place' and m.uuid in (select d.uuid from datasource d left join source s on d.sourceid=s.id where s.code='hiwater') group by keyword.keyword order by count desc");
|
$sql="select k.keyword,count(*),k.keytype from keyword k left join normalmetadata m on k.id=m.id where m.uuid in (select d.uuid from datasource d left join source s on d.sourceid=s.id where s.code='hiwater') ";
|
||||||
$k1=$state->fetchAll();
|
if (!empty($keytype) && ($keytype=='place' || $keytype=='theme' || $keytype=='discipline'||$keytype=='temporal')) $sql.=" and k.keytype='".$keytype."'";
|
||||||
$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 d.uuid from datasource d left join source s on d.sourceid=s.id where s.code='hiwater') group by k.keyword order by k.keyword");
|
$sql.=' group by k.keyword,k.keytype order by k.keytype,k.keyword,count desc';
|
||||||
$k2=$state->fetchAll();
|
$state=$this->db->query($sql);
|
||||||
$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='discipline' and m.uuid in (select d.uuid from datasource d left join source s on d.sourceid=s.id where s.code='hiwater') group by k.keyword order by k.keyword");
|
$this->view->keytype=$keytype;
|
||||||
$k3=$state->fetchAll();
|
$this->view->keywords=$state->fetchAll();
|
||||||
$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='stratum' and m.uuid in (select d.uuid from datasource d left join source s on d.sourceid=s.id where s.code='hiwater') group by k.keyword order by k.keyword");
|
|
||||||
$k4=$state->fetchAll();
|
|
||||||
$state=$this->db->query("select keyword.keyword,count(*) from keyword left join normalmetadata m on keyword.id=m.id where keyword.keytype='temporal' and m.uuid in (select d.uuid from datasource d left join source s on d.sourceid=s.id where s.code='hiwater') group by keyword.keyword order by keyword.keyword");
|
|
||||||
$k5=$state->fetchAll();
|
|
||||||
$this->view->keywords=array('place'=>$k1,'theme'=>$k2,'discipline'=>$k3,'stratum'=>$k4,'temporal'=>$k5);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -334,7 +330,7 @@ class HiwaterController extends DataController
|
||||||
|
|
||||||
function timelineAction()
|
function timelineAction()
|
||||||
{
|
{
|
||||||
$fn="heihetime.xml";
|
$fn="hiwatertime.xml";
|
||||||
$rows=$this->db->fetchAll("select ts_created from normalmetadata where uuid in (select d.uuid from datasource d left join source s on d.sourceid=s.id where s.code='hiwater') order by ts_created desc limit 1");
|
$rows=$this->db->fetchAll("select ts_created from normalmetadata where uuid in (select d.uuid from datasource d left join source s on d.sourceid=s.id where s.code='hiwater') order by ts_created desc limit 1");
|
||||||
$last_update=strtotime($rows[0]['ts_created']);
|
$last_update=strtotime($rows[0]['ts_created']);
|
||||||
if (!file_exists($fn) || (filemtime($fn)<$last_update))
|
if (!file_exists($fn) || (filemtime($fn)<$last_update))
|
||||||
|
@ -380,6 +376,12 @@ class HiwaterController extends DataController
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function viewAction()
|
||||||
|
{
|
||||||
|
parent::viewAction();
|
||||||
|
$this->_helper->viewRenderer('hiwater/view');
|
||||||
|
}
|
||||||
|
|
||||||
private function getmd($keyword,$type='theme')
|
private function getmd($keyword,$type='theme')
|
||||||
{
|
{
|
||||||
$page=(int)$this->_request->getParam('page');
|
$page=(int)$this->_request->getParam('page');
|
||||||
|
|
|
@ -3,7 +3,7 @@ $this->headTitle($this->config->title->site);
|
||||||
$this->headTitle($this->config->title->data);
|
$this->headTitle($this->config->title->data);
|
||||||
$this->headTitle()->setSeparator(' - ');
|
$this->headTitle()->setSeparator(' - ');
|
||||||
$this->headLink()->appendStylesheet('/css/water.css');
|
$this->headLink()->appendStylesheet('/css/water.css');
|
||||||
$this->nav[] = array('link'=>"/water",'title'=>'黑河生态水文遥感试验');
|
$this->nav[] = array('link'=>"/hiwater",'title'=>'黑河生态水文遥感试验');
|
||||||
?>
|
?>
|
||||||
<?= $this->render('breadcrumbs.phtml'); ?>
|
<?= $this->render('breadcrumbs.phtml'); ?>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
$this->headTitle('全部浏览');
|
$this->headTitle('全部浏览');
|
||||||
$this->headTitle()->setSeparator(' - ');
|
$this->headTitle()->setSeparator(' - ');
|
||||||
$this->headLink()->appendStylesheet('/css/water.css');
|
$this->headLink()->appendStylesheet('/css/water.css');
|
||||||
$this->nav[] = array('link'=>"/water",'title'=>'黑河生态水文遥感试验');
|
$this->nav[] = array('link'=>"/hiwater",'title'=>'黑河生态水文遥感试验');
|
||||||
?>
|
?>
|
||||||
<?= $this->render('breadcrumbs.phtml'); ?>
|
<?= $this->render('breadcrumbs.phtml'); ?>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
|
|
@ -6,7 +6,9 @@ $this->headLink()->appendStylesheet('/css/water.css');
|
||||||
$this->breadcrumb('<a href="/">首页</a>');
|
$this->breadcrumb('<a href="/">首页</a>');
|
||||||
$this->breadcrumb()->setSeparator(' > ');
|
$this->breadcrumb()->setSeparator(' > ');
|
||||||
$this->theme->AppendPlus($this,'colorbox');
|
$this->theme->AppendPlus($this,'colorbox');
|
||||||
|
$this->nav[] = array('link'=>"/hiwater",'title'=>'黑河生态水文遥感试验');
|
||||||
?>
|
?>
|
||||||
|
<?= $this->render('breadcrumbs.phtml'); ?>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="span3">
|
<div class="span3">
|
||||||
<?= $this->partial('hiwater/navi.phtml'); ?>
|
<?= $this->partial('hiwater/navi.phtml'); ?>
|
||||||
|
|
|
@ -6,17 +6,14 @@ $this->headTitle('快速搜索');
|
||||||
if (!empty($this->codename)) $this->headTitle($this->codename);
|
if (!empty($this->codename)) $this->headTitle($this->codename);
|
||||||
$this->headTitle()->setSeparator(' - ');
|
$this->headTitle()->setSeparator(' - ');
|
||||||
$this->headLink()->appendStylesheet('/css/water.css');
|
$this->headLink()->appendStylesheet('/css/water.css');
|
||||||
$this->breadcrumb('<a href="/">首页</a>');
|
$this->nav[] = array('link'=>"/hiwater",'title'=>'黑河生态水文遥感试验');
|
||||||
$this->breadcrumb('<a href="/data">'.$this->config->title->data.'</a>');
|
|
||||||
$this->breadcrumb('<a href="/heihe/">'.$this->config->title->heihe.'</a>');
|
|
||||||
$this->breadcrumb('快速搜索');
|
|
||||||
$this->breadcrumb()->setSeparator(' > ');
|
|
||||||
?>
|
?>
|
||||||
|
<?= $this->render('breadcrumbs.phtml'); ?>
|
||||||
<div class='row'>
|
<div class='row'>
|
||||||
<div class='span2'>
|
<div class='span3'>
|
||||||
<?= $this->partial('hiwater/navi.phtml',array('key'=>$this->key)); ?>
|
<?= $this->partial('hiwater/navi.phtml',array('key'=>$this->key)); ?>
|
||||||
</div>
|
</div>
|
||||||
<div class='span10'>
|
<div class='span9'>
|
||||||
<div><?= $this->breadcrumb() ?> </div>
|
<div><?= $this->breadcrumb() ?> </div>
|
||||||
<?php if (!empty($this->metadata)) : ?>
|
<?php if (!empty($this->metadata)) : ?>
|
||||||
<?php echo $this->page->getNavigation(); ?>
|
<?php echo $this->page->getNavigation(); ?>
|
||||||
|
|
|
@ -9,16 +9,17 @@ $this->breadcrumb('<a href="/data">'.$this->config->title->data.'</a>');
|
||||||
$this->breadcrumb('<a href="/heihe/">'.$this->config->title->heihe.'</a>');
|
$this->breadcrumb('<a href="/heihe/">'.$this->config->title->heihe.'</a>');
|
||||||
$this->breadcrumb('关键词导航'.(($this->codename)?':'.$this->codename:''));
|
$this->breadcrumb('关键词导航'.(($this->codename)?':'.$this->codename:''));
|
||||||
$this->breadcrumb()->setSeparator(' > ');
|
$this->breadcrumb()->setSeparator(' > ');
|
||||||
|
$this->nav[] = array('link'=>"/hiwater",'title'=>'黑河生态水文遥感试验');
|
||||||
?>
|
?>
|
||||||
|
<?= $this->render('breadcrumbs.phtml'); ?>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="span2">
|
<div class="span3">
|
||||||
<?= $this->partial('hiwater/navi.phtml'); ?>
|
<?= $this->partial('hiwater/navi.phtml'); ?>
|
||||||
</div>
|
</div>
|
||||||
<div class="span10">
|
<div class="span9">
|
||||||
<div><?= $this->breadcrumb() ?> </div>
|
|
||||||
<?php if (!empty($this->metadata)) : ?>
|
<?php if (!empty($this->metadata)) : ?>
|
||||||
<div id='mdlist'>
|
<div id='mdlist'>
|
||||||
<h1>关键词:<?php echo $this->codename; ?> 【<a href="/heihe/tag/">全部关键词</a>】</h1>
|
<h1>关键词:<?php echo $this->codename; ?> 【<a href="/hiwater/tag/">全部关键词</a>】</h1>
|
||||||
<?php echo $this->page->getNavigation(); ?>
|
<?php echo $this->page->getNavigation(); ?>
|
||||||
<hr />
|
<hr />
|
||||||
<div class="md-list">
|
<div class="md-list">
|
||||||
|
@ -33,22 +34,27 @@ $this->breadcrumb()->setSeparator(' > ');
|
||||||
</div>
|
</div>
|
||||||
<?php else : ?>
|
<?php else : ?>
|
||||||
|
|
||||||
<div id='links'>
|
<div>
|
||||||
<?php
|
<?php
|
||||||
$keytypezh=array('place'=>'地点关键词','theme'=>'主题关键词','discipline'=>'学科关键词','stratum'=>'地层关键词','temporal'=>'时间关键词');
|
$keytypezh=array('place'=>'地点关键词','theme'=>'主题关键词','discipline'=>'学科关键词','stratum'=>'地层关键词','temporal'=>'时间关键词');
|
||||||
foreach($this->keywords as $type=>$kcg) :
|
$type='';
|
||||||
if (is_array($kcg) && count($kcg)>0 ) :
|
foreach($this->keywords as $cg) :
|
||||||
?>
|
if ($type!=$cg['keytype']) :
|
||||||
<fieldset><legend><?php echo $keytypezh[$type]; ?></legend>
|
if ($type!='') : ?>
|
||||||
<ul>
|
</ul>
|
||||||
<?php foreach($kcg as $cg) : ?>
|
<?php endif;
|
||||||
<li><a href='/heihe/tag/key/<?php echo urlencode($cg['keyword']); ?>'><?php echo $cg['keyword']; ?></a><span class="note">(<?php echo $cg['count']; ?>)</span></li>
|
$type=$cg['keytype'];
|
||||||
<?php endforeach; ?>
|
?>
|
||||||
|
<h4><a href="/hiwater/tag/keytype/<?php echo $type; ?>"><?php echo $keytypezh[$type]; ?></a>
|
||||||
</ul>
|
<?php if ($this->keytype) : ?><a class="pull-right" href="/hiwater/tag"><i class="icon-tags"></i>全部关键词</a> <?php endif; ?></h4>
|
||||||
</fieldset>
|
<ul class="inline">
|
||||||
<?php endif;endforeach; ?>
|
<li><a href='/hiwater/tag/key/<?php echo urlencode($cg['keyword']); ?>'><i class="icon-tag"></i><?php echo $cg['keyword']; ?></a><span class="note">(<?php echo $cg['count']; ?>)</span></li>
|
||||||
</div>
|
<?php else : ?>
|
||||||
|
<li><a href='/hiwater/tag/key/<?php echo urlencode($cg['keyword']); ?>'><i class="icon-tag"></i><?php echo $cg['keyword']; ?></a><span class="note">(<?php echo $cg['count']; ?>)</span></li>
|
||||||
|
<?php endif; ?>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
</ul>
|
||||||
|
</fieldset></div>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
|
@ -4,7 +4,7 @@ $this->headTitle($this->config->title->data);
|
||||||
$this->headTitle('缩略图浏览');
|
$this->headTitle('缩略图浏览');
|
||||||
$this->headTitle()->setSeparator(' - ');
|
$this->headTitle()->setSeparator(' - ');
|
||||||
$this->headLink()->appendStylesheet('/css/water.css');
|
$this->headLink()->appendStylesheet('/css/water.css');
|
||||||
$this->nav[] = array('link'=>"/water",'title'=>'黑河生态水文遥感试验');
|
$this->nav[] = array('link'=>"/hiwater",'title'=>'黑河生态水文遥感试验');
|
||||||
$this->theme->AppendPlus($this,'colorbox');
|
$this->theme->AppendPlus($this,'colorbox');
|
||||||
$this->theme->AppendPlus($this,'masonry');
|
$this->theme->AppendPlus($this,'masonry');
|
||||||
?>
|
?>
|
||||||
|
|
|
@ -6,19 +6,66 @@ $this->headTitle()->setSeparator(' - ');
|
||||||
$this->headLink()->appendStylesheet('/css/water.css');
|
$this->headLink()->appendStylesheet('/css/water.css');
|
||||||
$this->breadcrumb('<a href="/">首页</a>');
|
$this->breadcrumb('<a href="/">首页</a>');
|
||||||
$this->breadcrumb('<a href="/data">'.$this->config->title->data.'</a>');
|
$this->breadcrumb('<a href="/data">'.$this->config->title->data.'</a>');
|
||||||
$this->breadcrumb('<a href="/heihe/">'.$this->config->title->heihe.'</a>');
|
$this->breadcrumb('<a href="/hiwater/">'.$this->config->title->hiwater.'</a>');
|
||||||
$this->breadcrumb('时间轴导航');
|
$this->breadcrumb('时间轴导航');
|
||||||
$this->breadcrumb()->setSeparator(' > ');
|
$this->breadcrumb()->setSeparator(' > ');
|
||||||
$this->headScript()->appendFile('/js/timeline_var.js');
|
$this->headScript()->appendFile('/js/timeline_var.js');
|
||||||
$this->headScript()->appendFile('/js/timeline_js/timeline-api.js');
|
$this->headScript()->appendFile('/js/timeline_js/timeline-api.js');
|
||||||
$this->headScript()->appendFile('/js/heihetime.js');
|
$this->nav[] = array('link'=>"/hiwater",'title'=>'黑河生态水文遥感试验');
|
||||||
?>
|
?>
|
||||||
|
<?= $this->render('breadcrumbs.phtml'); ?>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="span2">
|
<div class="span3">
|
||||||
<?= $this->partial('hiwater/navi.phtml'); ?>
|
<?= $this->partial('hiwater/navi.phtml'); ?>
|
||||||
</div>
|
</div>
|
||||||
<div class="span10">
|
<div class="span9">
|
||||||
<div><?= $this->breadcrumb() ?> </div>
|
|
||||||
<div id="tl" class="timeline-default" style="height:600px;"> </div>
|
<div id="tl" class="timeline-default" style="height:600px;"> </div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<script>
|
||||||
|
var tl;
|
||||||
|
var date = "May 22 2012 13:00:00";
|
||||||
|
var theme = Timeline.ClassicTheme.create();
|
||||||
|
theme.event.label.width = 250; // px
|
||||||
|
theme.event.bubble.width = 250;
|
||||||
|
theme.event.bubble.height = 200;
|
||||||
|
|
||||||
|
window.onload=function() {
|
||||||
|
var eventSource = new Timeline.DefaultEventSource();
|
||||||
|
var bandInfos = [
|
||||||
|
Timeline.createBandInfo({
|
||||||
|
width: "70%",
|
||||||
|
intervalUnit: Timeline.DateTime.MONTH,
|
||||||
|
eventSource: eventSource,
|
||||||
|
date: date,
|
||||||
|
intervalPixels: 100,
|
||||||
|
theme: theme
|
||||||
|
}),
|
||||||
|
Timeline.createBandInfo({
|
||||||
|
width: "30%",
|
||||||
|
intervalUnit: Timeline.DateTime.YEAR,
|
||||||
|
eventSource: eventSource,
|
||||||
|
date: date,
|
||||||
|
overview: true,
|
||||||
|
intervalPixels: 200,
|
||||||
|
theme: theme
|
||||||
|
})
|
||||||
|
];
|
||||||
|
bandInfos[1].syncWith = 0;
|
||||||
|
bandInfos[1].highlight = true;
|
||||||
|
|
||||||
|
tl = Timeline.create(document.getElementById("tl"), bandInfos);
|
||||||
|
tl.loadXML("/hiwatertime.xml", function(xml, url) {
|
||||||
|
eventSource.loadXML(xml, url);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
var resizeTimerID = null;
|
||||||
|
window.onresize=function() {
|
||||||
|
if (resizeTimerID == null) {
|
||||||
|
resizeTimerID = window.setTimeout(function() {
|
||||||
|
resizeTimerID = null;
|
||||||
|
tl.layout();
|
||||||
|
}, 500);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
|
@ -15,16 +15,17 @@ $this->headScript()->appendFile('/js/timeline_var.js');
|
||||||
$this->headScript()->appendFile('/js/timeline_js/timeline-api.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/lib/mxn/mxn.js?(googlev3)');
|
||||||
$this->headScript()->appendFile('/js/timemap.2.0.1/timemap.pack.js');
|
$this->headScript()->appendFile('/js/timemap.2.0.1/timemap.pack.js');
|
||||||
|
$this->nav[] = array('link'=>"/hiwater",'title'=>'黑河生态水文遥感试验');
|
||||||
?>
|
?>
|
||||||
<style>
|
<style>
|
||||||
img{max-width:none}
|
img{max-width:none}
|
||||||
</style>
|
</style>
|
||||||
|
<?= $this->render('breadcrumbs.phtml'); ?>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="span2">
|
<div class="span3">
|
||||||
<?= $this->partial('hiwater/navi.phtml'); ?>
|
<?= $this->partial('hiwater/navi.phtml'); ?>
|
||||||
</div>
|
</div>
|
||||||
<div class="span10">
|
<div class="span9">
|
||||||
<div><?= $this->breadcrumb() ?> </div>
|
|
||||||
<div id="timemap">
|
<div id="timemap">
|
||||||
<div id="map" style="height:500px;width:40%;float:right;"></div>
|
<div id="map" style="height:500px;width:40%;float:right;"></div>
|
||||||
<div id="timeline" style="height:500px;border-right:1px solid #abc;"></div>
|
<div id="timeline" style="height:500px;border-right:1px solid #abc;"></div>
|
||||||
|
@ -63,7 +64,7 @@ $(function() {
|
||||||
tm = TimeMap.init({
|
tm = TimeMap.init({
|
||||||
mapId: "map", // Id of map div element (required)
|
mapId: "map", // Id of map div element (required)
|
||||||
timelineId: "timeline", // Id of timeline div element (required)
|
timelineId: "timeline", // Id of timeline div element (required)
|
||||||
scrollTo: "2000-01-01",
|
scrollTo: "2012-05-01",
|
||||||
options: {
|
options: {
|
||||||
eventIconPath: "../images/"
|
eventIconPath: "../images/"
|
||||||
},
|
},
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue