元数据管理中增加了存档的查看和修改功能,修改了元数据管理列表的调用sql和样式

This commit is contained in:
Li Jianxuan 2012-06-13 10:12:30 +00:00
parent 0e70c35397
commit 62143e2438
4 changed files with 194 additions and 28 deletions

View File

@ -249,6 +249,13 @@ class Admin_DataController extends Zend_Controller_Action
Zend_View_Helper_PaginationControl::setDefaultViewPartial('pagination.phtml'); Zend_View_Helper_PaginationControl::setDefaultViewPartial('pagination.phtml');
$this->view->paginator=$paginator; $this->view->paginator=$paginator;
} }
/*
*
* mdAction()
* 元数据管理
*
*/
function mdAction() function mdAction()
{ {
$delete=(int)$this->_getParam('delete'); $delete=(int)$this->_getParam('delete');
@ -444,13 +451,18 @@ class Admin_DataController extends Zend_Controller_Action
}//search }//search
else{ else{
$select=$this->db->select();
$select->from('metadata') $sql = "SELECT md.*,s.viewed,g.id as gid,st.status as mdstatus,ds.id as datasetid FROM metadata md
->joinLeft('mdstat','metadata.uuid=mdstat.uuid','viewed') LEFT JOIN mdstat s ON md.uuid=s.uuid
->joinLeft('geonetworkmetadata','geonetworkmetadata.uuid=metadata.uuid','id as gid') LEFT JOIN geonetworkmetadata g ON g.uuid=md.uuid
->joinLeft('mdstatus','metadata.uuid=mdstatus.uuid','status as mdstatus') LEFT JOIN mdstatus st ON md.uuid=st.uuid
->order('metadata.id desc'); LEFT JOIN dataset ds ON md.uuid=ds.uuid
$paginator = Zend_Paginator::factory($select); ORDER BY md.id DESC";
$sth = $this->db->prepare($sql);
$sth->execute();
$rows = $sth->fetchAll();
$paginator = Zend_Paginator::factory($rows);
$paginator->setCurrentPageNumber($this->_getParam('page')); $paginator->setCurrentPageNumber($this->_getParam('page'));
$paginator->setItemCountPerPage($this->view->config->page->max); $paginator->setItemCountPerPage($this->view->config->page->max);
$paginator->setView($this->view); $paginator->setView($this->view);
@ -458,7 +470,65 @@ class Admin_DataController extends Zend_Controller_Action
$this->view->paginator=$paginator; $this->view->paginator=$paginator;
} }
}//mdAction 元数据管理
/*
* datasetAction()
* 数据存档
*
*/
function datasetAction()
{
$ac = $this->_request->getParam('ac');
if($ac == "getdataset")
{
$this->_helper->layout->disableLayout();
$this->_helper->viewRenderer('md-dataset');
$uuid = $this->_request->getParam('uuid');
$sql = "SELECT * FROM dataset WHERE uuid=?";
$sth = $this->db->prepare($sql);
$sth ->execute(array($uuid));
$row = $sth->fetch();
$this->view->dataset = $row;
} }
if($ac == "update")
{
$this->_helper->layout->disableLayout();
$this->_helper->viewRenderer->setNoRender();
$uuid = $this->_request->getParam('uuid');
$host = $this->_getParam('host');
$path = $this->_getParam('path');
$sql = "UPDATE dataset SET host=?,path=? WHERE uuid=?";
$sth = $this->db->prepare($sql);
$ds = $sth ->execute(array($host,$path,$uuid));
if($ds)
{
$data = array("ok"=>1);
$this->jsonexit($data);
return true;
}else{
$data = array("error"=>"处理中出现错误");
$this->jsonexit($data);
return true;
}
}
}//datasetAction存档管理
/*
* commentAction()
* 反馈管理
*/
function commentAction() function commentAction()
{ {
$delete=(int)$this->_getParam('delete'); $delete=(int)$this->_getParam('delete');

View File

@ -0,0 +1,69 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>数据存档</title>
<link rel="stylesheet" type="text/css" media="screen" href="/css/default.css" />
<script src='/static/js/jquery-1.7.2.min.js' type="text/javascript"></script>
<script type="text/javascript" src="/js/jquery.colorbox-min.js"></script>
<link href="/css/author.css" media="screen" rel="stylesheet" type="text/css"/>
<link href="/static/js/uploadify/uploadify.css" media="screen" rel="stylesheet" type="text/css" />
<link href="/css/colorbox.css" media="screen" rel="stylesheet" type="text/css" />
<style>
#loading{margin:0px;border:none;height:50px;width:98%;background:url(/static/img/colorbox-images/loading.gif) center center no-repeat;display:none;position:absolute;left:0px;top:0px;overflow:hidden;background:#ccc;}
</style>
</head>
<body>
<!-- 页面内容 -->
<div id="warpper">
<div id="loading" class="info info-box"></div>
<div id="datalist">
<?php
if(isset($this->dataset))
{?>
<p>主机:<br /><input type="text" id="host" name="host" value="<?= $this->dataset['host']?>" class="full" /></p>
<p>路径:<br /><input type="text" id="path" name="path" value="<?= $this->dataset['path']?>" class="full" /></p>
<p><button type="button" class="btn btn-green" onclick="updateDataSet()">修改</button></p>
<?php } ?>
</div>
</div>
<!-- //页面内容 -->
<script>
function updateDataSet(){
if(confirm("是否确定修改") == false)
{return false;}
$.ajax({
'type':"POST",
'url':'/admin/data/dataset',
'data':'ac=update&uuid=<?= $this->dataset['uuid']?>&host='+$('#host').val()+'&path='+$('#path').val(),
'success':function(data){
if (typeof(data)=='object')
{
if(typeof(data.error)!='undefined')
{Alert(data.error);return false;}
if(data.ok != null)
{
Alert('修改成功!');
setTimeout("parent.$.fn.colorbox.close();parent.window.location.href=parent.window.location.href;",2000);
}
}
else{
Alert('出现错误,请稍后再试');
}
},
'timeout': 30000,
'error': function(){
$.colorbox({'innerWidth':'50%','html':'<img src="/images/alert_big_error.png" /><h4>处理中出现错误,请刷新页面后重试</h4>'});
}
});
}
$(".iframe").colorbox({iframe:true, width:"80%", height:"80%"});
$(".inline").colorbox({inline:true, width:"50%"});
function Alert(html){
$.colorbox({'innerWidth':'50%','html':'<h4 style="font-size:16px;font-weight:bold;">'+html+'</h4>'});
}
</script>
</body>
</html>

View File

@ -8,6 +8,9 @@
$this->breadcrumb('<a href="/admin/data">数据管理</a>'); $this->breadcrumb('<a href="/admin/data">数据管理</a>');
$this->breadcrumb('元数据管理</a>'); $this->breadcrumb('元数据管理</a>');
$this->breadcrumb()->setSeparator(' > '); $this->breadcrumb()->setSeparator(' > ');
$this->headScript()->appendFile('/js/jquery-1.7.min.js');
$this->headScript()->appendFile('/js/jquery.colorbox-min.js');
$this->headLink()->appendStylesheet('/css/colorbox.css');
?> ?>
<div id="leftPanel"> <div id="leftPanel">
<?= $this->partial('data/left.phtml'); ?> <?= $this->partial('data/left.phtml'); ?>
@ -37,30 +40,43 @@
<a href="/admin/data/md/down/1">下载全部xml元数据</a> <a href="/admin/data/md/down/1">下载全部xml元数据</a>
<?php if (count($this->paginator)): ?> <?php if (count($this->paginator)): ?>
<div id="metadata"> <div class="datalist">
<ul>
<?php foreach ($this->paginator as $item): ?> <?php foreach ($this->paginator as $item): ?>
<ul><li><a href="/data/<?= $item['uuid']; ?>"><?= $item['title']; ?></a> <li><p><a href="/data/<?= $item['uuid']; ?>" class="title"><?= $item['title']; ?></a></p>
大小:<?= $item['filesize']; ?>M创建时间<?= date('Y-m-d',strtotime($item['ts_created'])); ?> <p>大小:<?= $item['filesize']; ?>M创建时间<?= date('Y-m-d',strtotime($item['ts_created'])); ?>
,查看:<?= $item['viewed']; ?>次。 操作: ,查看:<?= $item['viewed']; ?>次。 操作:
<a href="/service/geonetwork?url=metadata.edit?id=<?= $item['gid']; ?>" target="_blank">编辑</a> <a href="/service/geonetwork?url=metadata.edit?id=<?= $item['gid']; ?>" target="_blank">编辑</a> |
<a href="/admin/data/md/delete/<?= $item['id']; ?>">删除</a> <a href="/admin/data/md/delete/<?= $item['id']; ?>">删除</a> |
<a href="/admin/data/sync/uuid/<?= $item['uuid']; ?>">同步</a> <a href="/admin/data/sync/uuid/<?= $item['uuid']; ?>">同步</a> |
<a href="/admin/data/reference/show/<?php echo $item['uuid'];?>">文献管理</a> <a href="/admin/data/reference/show/<?php echo $item['uuid'];?>">文献管理</a> |
<a href="/admin/data/md/att/1/uuid/<?php echo $item['uuid'];?>">附件管理</a> <a href="/admin/data/md/att/1/uuid/<?php echo $item['uuid'];?>">附件管理</a> |
<a href="/admin/data/comment/uuid/<?php echo $item['uuid'];?>">反馈管理</a> <a href="/admin/data/comment/uuid/<?php echo $item['uuid'];?>">反馈管理</a> |
<a href="/admin/data/author/uuid/<?php echo $item['uuid'];?>">作者管理</a> <a href="/admin/data/author/uuid/<?php echo $item['uuid'];?>">作者管理</a> |
<a href="/admin/data/version/uuid/<?php echo $item['uuid'];?>">版本管理</a> <a href="/admin/data/version/uuid/<?php echo $item['uuid'];?>">版本管理</a> |
<?php if (@!is_numeric($item['mdstatus'])) : ?> <?php if (@!is_numeric($item['mdstatus'])) : ?>
<a href="/admin/review/addon/uuid/<?php echo $item['uuid'];?>">放入元数据评审</a> <a href="/admin/review/addon/uuid/<?php echo $item['uuid'];?>">放入元数据评审</a> |
<?php endif; ?> <?php endif; ?>
<a href="/admin/data/source/do/datasource/uuid/<?php echo $item['uuid'];?>">编辑数据来源</a> <a href="/admin/data/source/do/datasource/uuid/<?php echo $item['uuid'];?>">编辑数据来源</a> |
</li> <?php if($item['datasetid']):?>
<li>数据贡献者:<?= $item['author']; ?></li> <a href="/admin/data/dataset/ac/getdataset/uuid/<?php echo $item['uuid'];?>" class="iframe">存档</a>
<li><?= $item['description']; ?></li> <?php endif;?>
</ul> </p>
<?php if($item['author']) :?>
<p>数据贡献者:<?= $item['author']; ?></p>
<?php endif;?>
<p class="content"><?= $item['description']; ?></p>
</li>
<?php endforeach; ?> <?php endforeach; ?>
</ul>
</div> </div>
<?php endif; ?> <?php endif; ?>
<?php echo $this->paginator; ?> <?php echo $this->paginator; ?>
</div> </div>
<script>
$(".iframe").colorbox({iframe:true, width:"50%", height:"50%"});
$(".inline").colorbox({inline:true, width:"50%"});
function Alert(html){
$.colorbox({'innerWidth':'50%','html':'<h4 style="font-size:16px;font-weight:bold;">'+html+'</h4>'});
}
</script>

View File

@ -373,3 +373,14 @@ fieldset small {
} }
.tables{width:320px;float:left;} .tables{width:320px;float:left;}
.tables .stitle{width:100%;font-size:16px;font-weight:bold;} .tables .stitle{width:100%;font-size:16px;font-weight:bold;}
.datalist{overflow:hidden;width:100%;}
.datalist ul{overflow:hidden;}
.datalist ul li{margin:5px 0px;padding:5px 0px;background:#f6f6f6;border:1px solid #FFF;border-radius:3px;word-break:break-all;width:99%;}
.datalist ul li:hover,#datalist ul li:focus{border:1px solid #ccc;background:#fefefe;}
.datalist ul li a{font-size:12px;}
.datalist ul li a.title{font-size:14px;}
.datalist ul li a.more{font-size:12px;}
.datalist ul li p{font-size:12px;line-height:24px;word-break:break-all;white-space:normal;padding:5px;}
.datalist ul li p.content{text-indent:24px;}
.datalist ul li p img {vertical-align:middle;}