完成后台新建元数据功能
This commit is contained in:
parent
7cce4d08bc
commit
a671f7f776
|
@ -2389,11 +2389,11 @@ class Admin_DataController extends Zend_Controller_Action
|
||||||
$this->view->url='metadata.show?id='.$id;
|
$this->view->url='metadata.show?id='.$id;
|
||||||
$this->_helper->viewRenderer('newdata-view');
|
$this->_helper->viewRenderer('newdata-view');
|
||||||
}
|
}
|
||||||
//查看属于自己的所有的未提交数据列表
|
//查看所有的未提交数据列表
|
||||||
else if((empty($ac) && empty($uuid))|| $ac=='list')
|
else if((empty($ac) && empty($uuid))|| $ac=='list')
|
||||||
{
|
{
|
||||||
$sql = "SELECT (regexp_matches(gn.data,'<resTitle>(.*)</resTitle>'))[1] as title,gn.id,gn.uuid FROM geonetworkmetadata gn
|
$sql = "SELECT (regexp_matches(gn.data,'<resTitle>(.*)</resTitle>'))[1] as title,gn.id,gn.uuid FROM geonetworkmetadata gn
|
||||||
WHERE gn.uuid not in (select uuid from metadata) and gn.owner=?
|
WHERE gn.uuid not in (select uuid from metadata)
|
||||||
order by gn.id desc
|
order by gn.id desc
|
||||||
";
|
";
|
||||||
$sth = $this->db->prepare($sql);
|
$sth = $this->db->prepare($sql);
|
||||||
|
@ -2491,23 +2491,8 @@ class Admin_DataController extends Zend_Controller_Action
|
||||||
|
|
||||||
// 1. 权限认定:当前用户必须和其owner相同
|
// 1. 权限认定:当前用户必须和其owner相同
|
||||||
// 数据应当没有评审状态,没有作者信息
|
// 数据应当没有评审状态,没有作者信息
|
||||||
$sql="select gn.id from geonetworkmetadata gn
|
|
||||||
left join mdstatus s on gn.uuid=s.uuid
|
|
||||||
left join mdauthor a on s.uuid=a.uuid
|
|
||||||
where s.id is not null and a.id is not null and gn.id=?";
|
|
||||||
$sth=$this->db->prepare($sql);
|
|
||||||
$sth->execute(array($id));
|
|
||||||
$row=$sth->fetch();
|
|
||||||
if (!empty($row))
|
|
||||||
{
|
|
||||||
$data = array("error"=>'错误的入口');
|
|
||||||
$this->jsonexit($data);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 保存数据作者信息
|
// 保存数据作者信息
|
||||||
$sql="insert into mdauthor (uuid,userid,ts_activated,status) values(?,?,now(),1)";
|
|
||||||
$this->db->query($sql,array($row['uuid'],$u_id));
|
|
||||||
|
|
||||||
// 2. 保存变化记录 save changelog & userid for the latest version
|
// 2. 保存变化记录 save changelog & userid for the latest version
|
||||||
$sql = "UPDATE mdversion SET changelog=?,userid=? WHERE id in (select id from mdversion where uuid=? order by ts_created desc limit 1)";
|
$sql = "UPDATE mdversion SET changelog=?,userid=? WHERE id in (select id from mdversion where uuid=? order by ts_created desc limit 1)";
|
||||||
|
@ -2541,29 +2526,6 @@ class Admin_DataController extends Zend_Controller_Action
|
||||||
}
|
}
|
||||||
$mail->send();
|
$mail->send();
|
||||||
|
|
||||||
unset($mail);
|
|
||||||
unset($mailtp);
|
|
||||||
//email to author
|
|
||||||
$mail=new WestdcMailer($this->view->config->smtp);
|
|
||||||
$mail->setFrom($this->view->config->service->email,'西部数据中心服务组');
|
|
||||||
$mailtp=new EmailText($this->db,"metadata-new-author",array(
|
|
||||||
'user' => $user->username,
|
|
||||||
'uuid' => $iso->uuid,
|
|
||||||
'email'=> $user->email,
|
|
||||||
//元数据标题
|
|
||||||
'title'=> $iso->resTitle,
|
|
||||||
));
|
|
||||||
$mail->setBodyText($mailtp->getBody());
|
|
||||||
$mail->setSubject($mailtp->getSubject());
|
|
||||||
if($this->debug==0)
|
|
||||||
{
|
|
||||||
$mail->addTo($user->email);
|
|
||||||
$mail->addCc($this->view->config->service->email);
|
|
||||||
}else{
|
|
||||||
$mail->addTo($this->debug_email);
|
|
||||||
}
|
|
||||||
@$mail->send();
|
|
||||||
|
|
||||||
$data = array("commited"=>1,"error"=>$this->alertbox('ok','该版本已经成功提交,请等待数据中心进一步处理!'));
|
$data = array("commited"=>1,"error"=>$this->alertbox('ok','该版本已经成功提交,请等待数据中心进一步处理!'));
|
||||||
$this->jsonexit($data);
|
$this->jsonexit($data);
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -0,0 +1,63 @@
|
||||||
|
<?php
|
||||||
|
$this->headTitle($this->config->title->site);
|
||||||
|
$this->headTitle('后台管理');
|
||||||
|
$this->headTitle()->setSeparator(' - ');
|
||||||
|
$this->headScript()->appendFile('/js/jquery-1.7.min.js');
|
||||||
|
$this->headLink()->appendStylesheet('/css/author.css');
|
||||||
|
$this->headLink()->appendStylesheet('/css/admin.css');
|
||||||
|
$this->headScript()->appendFile('/js/jquery.colorbox-min.js');
|
||||||
|
$this->headLink()->appendStylesheet('/css/colorbox.css');
|
||||||
|
$this->breadcrumb('<a href="/">首页</a>');
|
||||||
|
$this->breadcrumb('<a href="/admin">后台首页</a>');
|
||||||
|
$this->breadcrumb('<a href="/admin/data">数据管理</a>');
|
||||||
|
$this->breadcrumb('新建元数据');
|
||||||
|
$this->breadcrumb()->setSeparator(' > ');
|
||||||
|
?>
|
||||||
|
<!-- 左侧导航 -->
|
||||||
|
<div id='leftPanel'>
|
||||||
|
<?= $this->partial('data/left.phtml'); ?>
|
||||||
|
</div>
|
||||||
|
<!-- //左侧导航 -->
|
||||||
|
|
||||||
|
<!-- 页面内容 -->
|
||||||
|
<div id="rightPanel">
|
||||||
|
<div id="tabs-controller">
|
||||||
|
<ul>
|
||||||
|
<li class="box-shadow"><a class="text-shadow" href="/admin/data/newdata">未提交数据列表</a></li>
|
||||||
|
<li class="box-shadow"><a class="text-shadow iframe" href="/service/geonetwork?url=metadata.xmlinsert.form">导入元数据</a></li>
|
||||||
|
<li class="box-shadow"><a class="text-shadow" href="/admin/data/newdata/ac/add-by-template">根据模板新建元数据</a></li>
|
||||||
|
<li class="box-shadow active"><a class="text-shadow" href="/admin/data/newdata/ac/add-by-data">根据已有数据新建元数据</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="datalist">
|
||||||
|
<h2>根据已有数据创建元数据</h2>
|
||||||
|
<form id="datasearch" class="search_form" action="/admin/data/newdata/ac/add-by-data">
|
||||||
|
<input type="text" id="keyword" name="q" value="<?php if(!empty($this->q)) echo $this->q; ?>" />
|
||||||
|
<button type="submit" class="btn" id="search_btn">搜索</button>
|
||||||
|
</form>
|
||||||
|
<?php
|
||||||
|
if (count($this->paginator)):
|
||||||
|
echo "<ul>";
|
||||||
|
$autoindex=0;
|
||||||
|
foreach ($this->paginator as $item):
|
||||||
|
$autoindex++;
|
||||||
|
?>
|
||||||
|
<li>
|
||||||
|
<p><span class="title"><?php echo $item['title'];?></span>
|
||||||
|
【<a href="/service/geonetwork?url=metadata.create?group=2<?php echo urlencode('&id='.$item['gid']); ?>">以此为模板新建</a>
|
||||||
|
| <a href="/data/<?php echo $item['uuid'];?>" target="_blank">查看数据</a>】</p>
|
||||||
|
<p><?php echo mb_strlen($item['description'])>400?$this->escape(mb_substr($item['description'],0,400,'UTF-8').'...'):$this->escape($item['description']); ?></p>
|
||||||
|
</li>
|
||||||
|
<?php
|
||||||
|
endforeach;
|
||||||
|
echo "</ul>";
|
||||||
|
endif; ?>
|
||||||
|
</div>
|
||||||
|
<div class="pagenavi"><?= $this->paginator; ?></div>
|
||||||
|
</div>
|
||||||
|
<!-- //页面内容 -->
|
||||||
|
<script>
|
||||||
|
$(".iframe").colorbox({iframe:true, width:"80%", height:"80%"});
|
||||||
|
$('#wapper').width($('body').width()-300);
|
||||||
|
</script>
|
|
@ -0,0 +1,64 @@
|
||||||
|
<?php
|
||||||
|
$this->headTitle($this->config->title->site);
|
||||||
|
$this->headTitle('后台管理');
|
||||||
|
$this->headTitle()->setSeparator(' - ');
|
||||||
|
$this->headScript()->appendFile('/js/jquery-1.7.min.js');
|
||||||
|
$this->headLink()->appendStylesheet('/css/author.css');
|
||||||
|
$this->headLink()->appendStylesheet('/css/admin.css');
|
||||||
|
$this->headScript()->appendFile('/js/jquery.colorbox-min.js');
|
||||||
|
$this->headLink()->appendStylesheet('/css/colorbox.css');
|
||||||
|
$this->breadcrumb('<a href="/">首页</a>');
|
||||||
|
$this->breadcrumb('<a href="/admin">后台首页</a>');
|
||||||
|
$this->breadcrumb('<a href="/admin/data">数据管理</a>');
|
||||||
|
$this->breadcrumb('新建元数据');
|
||||||
|
$this->breadcrumb()->setSeparator(' > ');
|
||||||
|
?>
|
||||||
|
<!-- 左侧导航 -->
|
||||||
|
<div id='leftPanel'>
|
||||||
|
<?= $this->partial('data/left.phtml'); ?>
|
||||||
|
</div>
|
||||||
|
<!-- //左侧导航 -->
|
||||||
|
|
||||||
|
<!-- 页面内容 -->
|
||||||
|
<div id="rightPanel">
|
||||||
|
<div id="tabs-controller">
|
||||||
|
<ul>
|
||||||
|
<li class="box-shadow"><a class="text-shadow" href="/admin/data/newdata">未提交数据列表</a></li>
|
||||||
|
<li class="box-shadow"><a class="text-shadow iframe" href="/service/geonetwork?url=metadata.xmlinsert.form">导入元数据</a></li>
|
||||||
|
<li class="box-shadow active"><a class="text-shadow" href="/admin/data/newdata/ac/add-by-template">根据模板新建元数据</a></li>
|
||||||
|
<li class="box-shadow"><a class="text-shadow" href="/admin/data/newdata/ac/add-by-data">根据已有数据新建元数据</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="datalist">
|
||||||
|
<h2>根据预制元数据模板创建数据</h2>
|
||||||
|
<form id="datasearch" class="search_form" action="/admin/data/newdata/ac/add-by-template">
|
||||||
|
<input type="text" id="keyword" name="q" value="<?php if(!empty($this->q)) echo $this->q; ?>" />
|
||||||
|
<button type="submit" class="btn" id="search_btn">搜索</button>
|
||||||
|
</form>
|
||||||
|
<?php
|
||||||
|
if (count($this->paginator)):
|
||||||
|
echo "<ul>";
|
||||||
|
$autoindex=0;
|
||||||
|
foreach ($this->paginator as $item):
|
||||||
|
$autoindex++;
|
||||||
|
?>
|
||||||
|
<li>
|
||||||
|
<p><span class="title"><?php echo $item['title'];?></span>
|
||||||
|
【<a href="/service/geonetwork?url=metadata.create?group=2<?php echo urlencode('&id='.$item['id']); ?>" target="_blank">以此为模板新建</a>
|
||||||
|
| <a href="/service/geonetwork?url=metadata.edit?id=<?php echo $item['id'];?>" target="_blank">修改此模板</a>
|
||||||
|
| <a href="/service/geonetwork?url=metadata.show?id=<?php echo $item['id'];?>" target="_blank">查看此模板</a>
|
||||||
|
】</p>
|
||||||
|
</li>
|
||||||
|
<?php
|
||||||
|
endforeach;
|
||||||
|
echo "</ul>";
|
||||||
|
endif; ?>
|
||||||
|
</div>
|
||||||
|
<div class="pagenavi"><?= $this->paginator; ?></div>
|
||||||
|
</div>
|
||||||
|
<!-- //页面内容 -->
|
||||||
|
<script>
|
||||||
|
$(".iframe").colorbox({iframe:true, width:"80%", height:"80%"});
|
||||||
|
$('#wapper').width($('body').width()-300);
|
||||||
|
</script>
|
|
@ -0,0 +1,107 @@
|
||||||
|
<?php
|
||||||
|
$this->headTitle($this->config->title->site);
|
||||||
|
$this->headTitle('后台管理');
|
||||||
|
$this->headTitle()->setSeparator(' - ');
|
||||||
|
$this->headScript()->appendFile('/js/jquery-1.7.min.js');
|
||||||
|
$this->headScript()->appendFile('/js/jquery.colorbox-min.js');
|
||||||
|
$this->headLink()->appendStylesheet('/css/author.css');
|
||||||
|
$this->headLink()->appendStylesheet('/css/admin.css');
|
||||||
|
$this->headLink()->appendStylesheet('/css/colorbox.css');
|
||||||
|
$this->breadcrumb('<a href="/">首页</a>');
|
||||||
|
$this->breadcrumb('<a href="/admin">后台首页</a>');
|
||||||
|
$this->breadcrumb('<a href="/admin/data">数据管理</a>');
|
||||||
|
$this->breadcrumb('新建元数据');
|
||||||
|
$this->breadcrumb()->setSeparator(' > ');
|
||||||
|
?>
|
||||||
|
<!-- 左侧导航 -->
|
||||||
|
<div id='leftPanel'>
|
||||||
|
<?= $this->partial('data/left.phtml'); ?>
|
||||||
|
</div>
|
||||||
|
<!-- //左侧导航 -->
|
||||||
|
|
||||||
|
<!-- 页面内容 -->
|
||||||
|
<div id="rightPanel">
|
||||||
|
<div id="tabs-controller">
|
||||||
|
<ul>
|
||||||
|
<li class="box-shadow active"><a class="text-shadow" href="/admin/data/newdata">未提交数据列表</a></li>
|
||||||
|
<li class="box-shadow"><a class="text-shadow iframe" href="/service/geonetwork?url=metadata.xmlinsert.form">导入元数据</a></li>
|
||||||
|
<li class="box-shadow"><a class="text-shadow" href="/admin/data/newdata/ac/add-by-template">根据模板新建元数据</a></li>
|
||||||
|
<li class="box-shadow"><a class="text-shadow" href="/admin/data/newdata/ac/add-by-data">根据已有数据新建元数据</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="datalist">
|
||||||
|
<?php
|
||||||
|
if (count($this->paginator)):
|
||||||
|
echo "<ul>";
|
||||||
|
$autoindex=0;
|
||||||
|
foreach ($this->paginator as $item):
|
||||||
|
$autoindex++;
|
||||||
|
?>
|
||||||
|
<li>
|
||||||
|
<p><span class="title"><?php echo $item['title'];?></span>
|
||||||
|
【<a href="/service/geonetwork?url=metadata.show?id=<?php echo $item['id']; ?>">在geonetwork里查看</a>
|
||||||
|
| <a href="/service/geonetwork?url=metadata.edit?id=<?php echo $item['id']; ?>">在geonetwork里修改</a>
|
||||||
|
| <a href="/service/geonetwork?url=metadata.delete?id=<?php echo $item['id']; ?>">删除此条数据</a>
|
||||||
|
| <a onclick="$('#commit_submit').attr('onclick','commit(\'<?php echo $item['id'];?>\');');" href="#commitform" class="more inline">提交评审发布</a>
|
||||||
|
】</p>
|
||||||
|
</li>
|
||||||
|
<?php
|
||||||
|
endforeach;
|
||||||
|
echo "</ul>";
|
||||||
|
else :
|
||||||
|
echo "<p>您当前没有未提交的数据。</p>";
|
||||||
|
endif; ?>
|
||||||
|
</div>
|
||||||
|
<div class="pagenavi"><?= $this->paginator; ?></div>
|
||||||
|
</div>
|
||||||
|
<!-- //页面内容 -->
|
||||||
|
<script>
|
||||||
|
$('#wapper').width($('body').width()-300);
|
||||||
|
|
||||||
|
function action(ac,id){
|
||||||
|
$.ajax({
|
||||||
|
'type':"POST",
|
||||||
|
'url':'/admin/data/newdata/',
|
||||||
|
'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':'<img src="/images/alert_big_warning.png" /><h4>出现错误,请稍候再试</h4>'});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
'timeout': 30000,
|
||||||
|
'error': function(){
|
||||||
|
$.colorbox({'innerWidth':'50%','html':'<img src="/images/alert_big_error.png" /><h4>处理中出现错误,请刷新页面后重试</h4>'});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
$(".inline").colorbox({inline:true, width:"50%"});
|
||||||
|
$(".iframe").colorbox({iframe:true, width:"80%", height:"80%"});
|
||||||
|
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 class="full" style="resize:none;height:200px;" id="changelog"></textarea>
|
||||||
|
<br /><small>请输入此数据的简要功能和特色</small>
|
||||||
|
</p>
|
||||||
|
<input type="button" onclick="" id="commit_submit" class="btn btn-green big" 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>
|
Loading…
Reference in New Issue