添加DOI相关操作功能

This commit is contained in:
Li Jianxuan 2013-04-22 10:18:48 +00:00
parent 33b75a2469
commit 3e9b3b971e
7 changed files with 3830 additions and 3791 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,164 +1,80 @@
<?php <?php
$this->headTitle($this->config->title->site); $this->headTitle($this->config->title->site);
$this->headTitle($this->config->title->author); $this->headTitle($this->config->title->author);
$this->headTitle()->setSeparator(' - '); $this->headTitle()->setSeparator(' - ');
$this->breadcrumb('<a href="/">首页</a>'); $this->breadcrumb('<a href="/">首页</a>');
$this->breadcrumb('<a href="/admin/data">数据管理</a>'); $this->breadcrumb('<a href="/admin/data">数据管理</a>');
$this->breadcrumb('DOI'); $this->breadcrumb('DOI');
$this->breadcrumb()->setSeparator(' > '); $this->breadcrumb()->setSeparator(' > ');
$this->theme->AppendPlus($this,'colorbox'); $this->theme->AppendPlus($this,'colorbox');
$this->theme->AppendPlus($this,'admin_plugin'); $this->theme->AppendPlus($this,'admin_plugin');
?> ?>
<style> <style>
table thead tr th {background:#EBF2F6;} table thead tr th {background:#EBF2F6;}
</style> </style>
<div class="row-fluid"> <div class="row-fluid">
<div class="span2"> <div class="span2">
<?= $this->partial('data/left.phtml'); ?> <?= $this->partial('data/left.phtml'); ?>
</div> </div>
<div class="span10"> <div class="span10">
<div> <div>
<ul class="nav nav-tabs"> <ul class="nav nav-tabs">
<li class="active"><a href="/admin/data/fund/">所有项目</a></li> <li class="active"><a href="/admin/data/doi">浏览所有</a></li>
<li><a href="/admin/data/fund/ac/add">添加新项目</a></li> <li><a href="/admin/data/doi/ac/add">添加新DOI</a></li>
</ul> </ul>
</div> </div>
<?php if(!empty($this->md)) { ?> <div>
<div> <div class="input-append">
<?php if(empty($this->ct)) { ?> <form id="datasearch" class="search_form" action="">
<a class="btn btn-primary pull-right" href="/admin/data/fund/ac/formd/uuid/<?= $this->md['uuid'] ?>"><i class="icon-plus"></i>为此数据添加项目</a> <input type="text" id="keyword" name="q" value="<?php if(!empty($this->q)) echo $this->q; ?>" />
<?php }else{ ?> <button type="submit" class="btn" id="search_btn">搜索</button>
<a class="pull-right btn" href="/admin/data/fund/uuid/<?= $this->md['uuid'] ?>">返回</a> </form>
<div class="pull-right label label-info">点击“添加此项目”即可将项目添加到元数据</div> </div>
<?php } ?> </div>
<h3><?= $this->md['title'] ?>》 的支持项目</h3> <?php if(!empty($this->error)) { ?>
<hr /> <?= $this->error ?>
</div> <?php } ?>
<?php } ?> <?php if(!empty($this->msg)) { ?>
<div> <?= $this->msg ?>
<div class="input-append"> <?php } else{ ?>
<form id="datasearch" class="search_form" action=""> <div id="datalist">
<input type="text" id="keyword" name="q" value="<?php if(!empty($this->q)) echo $this->q; ?>" /> <?php if (count($this->paginator)): ?>
<button type="submit" class="btn" id="search_btn">搜索</button> <table class="table table-bordered table-striped">
</form> <thead>
</div> <tr>
</div> <th>UUID</th>
<?php if(!empty($this->error)) { ?> <th>元数据</th>
<?php if(empty($this->AlertType)) $AlertType = "alert-error";else $AlertType = $this->AlertType;?> <th>DOI</th>
<div class="alert alert-block fade in <?= $AlertType ?>" id="Alert-error-box"> <th width="70">操作</th>
<a class="close" data-dismiss="alert" href="#">×</a> </tr>
<?php if(!is_array($this->error)) { ?><h4 class="alert-heading"><?= $this->error ?></h4><?php } else { ?> </thead>
<ul> <tbody>
<?php foreach($this->error as $v) { ?> <?php $autoindex=0;
<li><?= $v ?></li> foreach ($this->paginator as $item):
<?php } ?> $autoindex++;?>
</ul> <tr id="DataLine_<?= $item['id']?>">
<?php } ?> <td><?= $item['uuid'] ?></td>
</div> <td><?= $item['title'] ?></td>
<?php } ?> <td><?= $item['doi'] ?></td>
<?php if(!empty($this->msg)) { ?> <td>
<div class="alert <?= $this->AlertType;?>"> <a href="/admin/data/fund/ac/edit/id/<?= $item['id']?>">编辑</a>
<a data-dismiss="alert" class="close">×</a> <a href="javascript:void(0);" onclick="onedel(<?= $item['id']?>)" id="delbtn_<?= $item['id']?>">删除</a>
<?php echo $this->msg ?> </td>
</div> </tr>
<?php if(!empty($this->jump_url)) { ?> <?php endforeach; ?>
<script language="javascript">setTimeout("self.location='<?php echo $this->jump_url ?>'",3000);</script> </tbody>
<?php } ?> </table>
<?php } else{ ?> <?php endif; ?>
<div id="datalist"> <div class="pagenavi"><?= $this->paginator; ?></div>
<?php if (count($this->paginator)): ?> </div>
<table class="table table-bordered table-striped"> <?php } ?>
<thead> </div>
<tr> </div>
<th>名称</th> <!-- //页面内容 -->
<th>编号</th> <script>
<th>类型</th> var info = {
<?php if($this->md) { ?> btn_prefix : "delbtn_",
<th width="80">排序</th> item_prefix : "DataLine_",
<?php }else{ ?> url : "/admin/data/doi/ac/del"
<th>英文标题</th> }
<th>英文类型</th> </script>
<?php } ?>
<?php if($this->ct) { ?>
<th>添加</th>
<?php } ?>
<th width="70">操作</th>
</tr>
</thead>
<tbody>
<?php $autoindex=0;
foreach ($this->paginator as $item):
$autoindex++;?>
<?php if(empty($this->md)) { ?>
<tr id="DataLine_<?= $item['id']?>">
<?php }else{?>
<tr id="DataLine_<?= $item['mfid']?>">
<?php }?>
<td><?= $item['title'] ?></td>
<td><?= $item['fund_id'] ?></td>
<td><?= $item['fund_type'] ?></td>
<?php if($this->md) { ?>
<?php if($this->ct) { ?>
<td><input type="text" name="order" id="order_<?= $item['id']?>" class="span12" /></td>
<?php }else{ ?>
<td><input type="text" name="order" id="order_<?= $item['mfid']?>" class="span12" value="<?= $item['place'] ?>" /></td>
<?php }?>
<?php }else{ ?>
<td><?= $item['title_en'] ?></td>
<td><?= $item['fund_type_en'] ?></td>
<?php } ?>
<?php if($this->ct) { ?>
<td><a href="javascript:void(0);" class="addtomd" rel="<?= $item['id']?>">添加此项目</a></td>
<?php } ?>
<td>
<?php if(empty($this->md)) { ?>
<a href="/admin/data/fund/ac/edit/id/<?= $item['id']?>">编辑</a>
<a href="javascript:void(0);" onclick="onedel(<?= $item['id']?>)" id="delbtn_<?= $item['id']?>">删除</a>
<?php }else{ ?>
<?php if(empty($this->ct)) { ?><a href="javascript:void(0);" class="changeorder" rel="<?= $item['mfid']?>">排序</a> <?php } ?>
<a href="javascript:void(0);" onclick="onedel(<?= $item['mfid']?>)" id="delbtn_<?= $item['mfid']?>">移除</a>
<?php } ?>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<?php endif; ?>
<div class="pagenavi"><?= $this->paginator; ?></div>
</div>
<?php } ?>
</div>
</div>
<!-- //页面内容 -->
<script>
<?php if(!empty($this->ct)) { ?>
$('.addtomd').each(function(index, element) {
$(this).click(function(){
id = $(this).attr('rel');
order = $('#order_'+id).val();
self.location='/admin/data/fund/ac/formd/uuid/<?= $this->md['uuid'] ?>/id/'+id+'/order/'+ order
});
});
<?php }else{ ?>
$('.changeorder').each(function(index, element) {
$(this).click(function(){
id = $(this).attr('rel');
order = $('#order_'+id).val();
self.location='/admin/data/fund/ac/formd/uuid/<?= $this->md['uuid'] ?>/mfid/'+id+'/order/'+ order
});
});
<?php } ?>
<?php if(empty($this->md)) { ?>
var info = {
btn_prefix : "delbtn_",
item_prefix : "DataLine_",
url : "/admin/data/fund/ac/del"
}
<?php }else{ ?>
var info = {
btn_prefix : "delbtn_",
item_prefix : "DataLine_",
url : "/admin/data/fund/ac/mdfunddel/uuid/<?= $this->md['uuid'] ?>"
}
<?php } ?>
</script>

View File

@ -64,7 +64,8 @@
<a href="/admin/data/dataset/ac/getdataset/uuid/<?php echo $item['uuid'];?>" class="iframe">添加存档</a> | <a href="/admin/data/dataset/ac/getdataset/uuid/<?php echo $item['uuid'];?>" class="iframe">添加存档</a> |
<?php endif;?> <?php endif;?>
<a href="/admin/down/sendmail/uuid/<?php echo $item['uuid'];?>" title="向数据下载者发送通知邮件">邮件通知</a> | <a href="/admin/down/sendmail/uuid/<?php echo $item['uuid'];?>" title="向数据下载者发送通知邮件">邮件通知</a> |
<a href="/admin/data/fund/uuid/<?php echo $item['uuid'];?>">支持项目</a> <a href="/admin/data/fund/uuid/<?php echo $item['uuid'];?>">支持项目</a> |
<a href="/admin/data/doi/uuid/<?php echo $item['uuid'];?>">DOI</a>
</p> </p>
<?php if($item['author']) :?> <?php if($item['author']) :?>
<p>数据贡献者:<?= $item['author']; ?></p> <p>数据贡献者:<?= $item['author']; ?></p>

View File

@ -789,7 +789,7 @@ class HeiheController extends DataController
{ {
$this->_helper->viewRenderer('project-index'); $this->_helper->viewRenderer('project-index');
$sql = "SELECT * FROM heiheproject WHERE status<4"; $sql = "SELECT * FROM heiheproject WHERE status=1";
$sth = $this->db->query($sql); $sth = $this->db->query($sql);
$rows = $sth->fetchAll(); $rows = $sth->fetchAll();

View File

@ -14,7 +14,7 @@ $this->theme->AppendPlus($this,'colorbox');
<div class="span2"> <div class="span2">
<?= $this->partial('heihe/navi.phtml'); ?> <?= $this->partial('heihe/navi.phtml'); ?>
</div> </div>
<div class="span10"> <div class="span10">
<div><?= $this->breadcrumb() ?> </div> <div><?= $this->breadcrumb() ?> </div>
<?php if(!empty($this->error)) {?> <?php if(!empty($this->error)) {?>
<div id="intro"><?php echo $this->error;?></div> <div id="intro"><?php echo $this->error;?></div>
@ -24,7 +24,7 @@ $this->theme->AppendPlus($this,'colorbox');
<ul class="nav nav-pills"> <ul class="nav nav-pills">
<li><a class="text-shadow" href="/heihe/projects/">所有项目</a></li> <li><a class="text-shadow" href="/heihe/projects/">所有项目</a></li>
<li><a class="text-shadow" href="/heihe/projects/ac/my">我负责的</a></li> <li><a class="text-shadow" href="/heihe/projects/ac/my">我负责的</a></li>
<li><a class="text-shadow" href="/heihe/projects/ac/submitting">正在提交</a></li> <li><a class="text-shadow" href="/heihe/projects/ac/submitting">专家未审核</a></li>
<li><a class="text-shadow" href="/heihe/projects/ac/unsubmit">未提交</a></li> <li><a class="text-shadow" href="/heihe/projects/ac/unsubmit">未提交</a></li>
<li><a class="text-shadow" href="/heihe/projects/ac/submit">已提交</a></li> <li><a class="text-shadow" href="/heihe/projects/ac/submit">已提交</a></li>
</ul> </ul>

View File

@ -1,20 +1,36 @@
<?php <?php
class Doi class Doi
{ {
private $db; //传入PDO对象. private $db; //传入PDO对象.
private $auth = NULL; //Zend_Auth 对象 private $auth = NULL; //Zend_Auth 对象
//使用到的公共变量 //使用到的公共变量
public $tbl_user = "users"; public $tbl_doi = "datadoi";
function __construct($db) function __construct($db)
{ {
$this->db = $db; $this->db = $db;
} }
function _create() function fetch()
{ {
$sql = "SELECT * FROM ".$this->tbl_doi." ORDER BY id DESC";
} $rs = $this->db->query($sql);
$rows = $rs->fetchAll();
} return $rows;
}
function view($id)
{
if(is_numeric($id))
{
$sql = "SELECT * FROM ".$this->tbl_doi." WHERE id=$id";
}else{
$sql = "SELECT * FROM ".$this->tbl_doi." WHERE uuid='$id'";
}
$rs = $this->db->query($sql);
$row = $rs->fetch();
return $row;
}
}

View File

@ -0,0 +1,61 @@
<?php
class view extends Zend_Controller_Plugin_Abstract
{
private $db; //传入PDO对象.
private $product = 0; //产品环境
function __construct($db='')
{
$this->db = $db;
}
static function addPaginator($data,$ctl,Zend_Controller_Request_Abstract $request)
{
$page = $request->getParam('page');
$paginator = Zend_Paginator::factory($data);
$paginator->setCurrentPageNumber($page);
$paginator->setItemCountPerPage(12);
$paginator->setView($ctl);
Zend_View_Helper_PaginationControl::setDefaultViewPartial('pagination_param.phtml');
$ctl->paginator = $paginator;
}
static function Msg($type,$content,$url=''){
$html = '<div class="alert '.$type.'">'."\r\n";
$html.= '<a data-dismiss="alert" class="close">×</a>'."\r\n";
$html.= $content."\r\n";
$html.= '</div>'."\r\n";
if(!empty($url))
{
if($url == -1){
$html.= '<script language="javascript">setTimeout("window.history.back(-1);",3000);</script>'."\r\n";
}else{
$html.= '<script language="javascript">setTimeout("self.location=\''.$url.'\'",3000);</script>'."\r\n";
}
}
return $html;
}
static function Error($type,$content,$url=''){
if(empty($type))
{
$AlertType = "alert-error";
}else{
$AlertType = $type;
}
$html = '<div class="alert alert-block fade in '.$AlertType.'" id="Alert-error-box">'."\r\n";
$html.= '<a class="close" data-dismiss="alert" href="#">×</a>'."\r\n";
if(!is_array($content)) {
$html.= '<h4 class="alert-heading">'.$content.'</h4>'."\r\n";
}else{
$html.= '<ul>'."\r\n";
foreach($content as $v) {
$html.='<li>'.$v.'</li>'."\r\n";
}
$html.= '</ul>'."\r\n";
}
$html.= '</div>'."\r\n";
return $html;
}
}