#490 添加数据相关选项,修改tab导航的显示

This commit is contained in:
Li Jianxuan 2013-05-22 07:06:30 +00:00
parent 1eea4d1994
commit 00f0609eeb
5 changed files with 393 additions and 188 deletions

View File

@ -3833,6 +3833,25 @@ class AuthorController extends Zend_Controller_Action
return true; return true;
} }
if($ac == 'data')
{
$this->_helper->viewRenderer('fund-data');
$uuid = $this->_getParam('uuid');
$this->view->q = $q = $this->_getParam('q');
if(empty($uuid))
{
$rows = $fund->fetchFormData($uid,$q);
view::addPaginator($rows,$this->view,$this->_request);
}else{
include('data/Metadata.php');
$md = new Metadata($this->db);
$this->view->md = $md->view($uuid);
$rows = $fund->fetch($uuid);
view::addPaginator($rows,$this->view,$this->_request);
}
return true;
}
if($ac == "add") if($ac == "add")
{ {
$this->_helper->viewRenderer('fund-add'); $this->_helper->viewRenderer('fund-add');

View File

@ -0,0 +1,113 @@
<?php
$this->headTitle($this->config->title->site);
$this->headTitle($this->config->title->author);
$this->headTitle()->setSeparator(' - ');
$this->breadcrumb('<a href="/">首页</a>');
$this->breadcrumb('<a href="/author">数据作者</a>');
$this->headLink()->appendStylesheet('/css/author.css');
$this->breadcrumb('申请成为元数据作者');
$this->breadcrumb()->setSeparator(' > ');
$this->theme->AppendPlus($this,'colorbox');
$this->theme->AppendPlus($this,'admin_plugin');
?>
<style>
table thead tr th {background:#EBF2F6;}
</style>
<div class="row-fluid">
<div class="span3">
<?= $this->partial('author/navi.phtml'); ?>
</div>
<div class="span9">
<div>
<ul class="nav nav-tabs">
<li class="active"><a href="/author/fund/ac/data">数据相关</a></li>
<li><a href="/author/fund/">所有项目</a></li>
<li><a href="/author/fund/ac/add">添加新项目</a></li>
</ul>
</div>
<?php if(!empty($this->md)) { ?>
<div>
<?php if(empty($this->ct)) { ?>
<a class="btn btn-primary pull-right" href="/author/fund/ac/formd/uuid/<?= $this->md['uuid'] ?>"><i class="icon-plus"></i>为此数据添加项目</a>
<?php }else{ ?>
<a class="pull-right btn" href="/author/fund/uuid/<?= $this->md['uuid'] ?>">返回</a>
<div class="pull-right label label-info">点击“添加此项目”即可将项目添加到元数据</div>
<?php } ?>
<h3><?= $this->md['title'] ?>》 的支持项目</h3>
<hr />
</div>
<?php } ?>
<div>
<div class="input-append">
<form id="datasearch" class="search_form" action="">
<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>
</div>
</div>
<?php if(!empty($this->error)) { ?>
<?php if(empty($this->AlertType)) $AlertType = "alert-error";else $AlertType = $this->AlertType;?>
<div class="alert alert-block fade in <?= $AlertType ?>" id="Alert-error-box">
<a class="close" data-dismiss="alert" href="#">×</a>
<?php if(!is_array($this->error)) { ?><h4 class="alert-heading"><?= $this->error ?></h4><?php } else { ?>
<ul>
<?php foreach($this->error as $v) { ?>
<li><?= $v ?></li>
<?php } ?>
</ul>
<?php } ?>
</div>
<?php } ?>
<?php if(!empty($this->msg)) { ?>
<div class="alert <?= $this->AlertType;?>">
<a data-dismiss="alert" class="close">×</a>
<?php echo $this->msg ?>
</div>
<?php if(!empty($this->jump_url)) { ?>
<script language="javascript">setTimeout("self.location='<?php echo $this->jump_url ?>'",3000);</script>
<?php } ?>
<?php } else{ ?>
<div id="datalist">
<?php if (count($this->paginator)): ?>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>数据</th>
<th>名称</th>
<th>编号</th>
<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['mdtitle'] ?></td>
<td><?= $item['title'] ?></td>
<td><?= $item['fund_id'] ?></td>
<td>
<a href="javascript:void(0);" onclick="onedel(<?= $item['mfid']?>)" id="delbtn_<?= $item['mfid']?>">移除</a>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<?php endif; ?>
<div class="pagenavi"><?= $this->paginator; ?></div>
</div>
<?php } ?>
</div>
</div>
<!-- //页面内容 -->
<script>
var info = {
btn_prefix : "delbtn_",
item_prefix : "DataLine_",
url : "/author/fund/ac/mdfunddel/uuid/<?= $this->md['uuid'] ?>"
}
</script>

View File

@ -20,8 +20,12 @@ table thead tr th {background:#EBF2F6;}
<div class="span9"> <div class="span9">
<div> <div>
<ul class="nav nav-tabs"> <ul class="nav nav-tabs">
<li class="active"><a href="/author/fund/">所有项目</a></li> <li><a href="/author/fund/ac/data">数据相关</a></li>
<li <?php if(empty($this->md)) { ?>class="active"<?php } ?>><a href="/author/fund/">所有项目</a></li>
<li><a href="/author/fund/ac/add">添加新项目</a></li> <li><a href="/author/fund/ac/add">添加新项目</a></li>
<?php if(!empty($this->md)) { ?>
<li class="active"><a href="/author/fund/">按数据查看</a></li>
<?php } ?>
</ul> </ul>
</div> </div>
<?php if(!empty($this->md)) { ?> <?php if(!empty($this->md)) { ?>

View File

@ -10,7 +10,7 @@
<li id="Nav-author-document"><a href="/author/document"><i class="icon-chevron-right"></i>数据文档管理</a></li> <li id="Nav-author-document"><a href="/author/document"><i class="icon-chevron-right"></i>数据文档管理</a></li>
<li id="Nav-author-news"><a href="/author/news"><i class="icon-chevron-right"></i>数据新闻管理</a></li> <li id="Nav-author-news"><a href="/author/news"><i class="icon-chevron-right"></i>数据新闻管理</a></li>
<li id="Nav-author-version"><a href="/author/version"><i class="icon-chevron-right"></i>数据版本管理</a></li> <li id="Nav-author-version"><a href="/author/version"><i class="icon-chevron-right"></i>数据版本管理</a></li>
<li id="Nav-author-fund"><a href="/author/fund"><i class="icon-chevron-right"></i>支持项目</a></li> <li id="Nav-author-fund"><a href="/author/fund/ac/data"><i class="icon-chevron-right"></i>支持项目</a></li>
<li id="Nav-author-doi"><a href="/author/doi"><i class="icon-chevron-right"></i>DOI</a></li> <li id="Nav-author-doi"><a href="/author/doi"><i class="icon-chevron-right"></i>DOI</a></li>
<!-- <!--
<li><a href="/author/survey">数据调查</a></li> <li><a href="/author/survey">数据调查</a></li>

View File

@ -15,15 +15,34 @@ class Fund extends Zend_Controller_Plugin_Abstract
$this->auth = $auth; $this->auth = $auth;
} }
function fetch($uuid = "",$include = true,$uid=0){ function fetch($uuid = "",$include = true,$uid=0,$keyword=""){
if(empty($uuid)) if(empty($uuid))
{ {
if(empty($uid)) $wheresql = array();
if(!empty($keyword))
{ {
$sql = "SELECT * FROM ".$this->tbl_fund." ORDER BY id desc"; if(preg_match("/\'/",$keyword))
}else{ {
$sql = "SELECT * FROM ".$this->tbl_fund." WHERE userid=$uid ORDER BY id desc"; $keyword = preg_replace("/\'/","''",$keyword);
}
$wheresql[] = " title LIKE '%$keyword%'";
} }
if(!empty($uid))
{
$wheresql[] = " userid=$uid ";
}
if(count($wheresql)>0)
{
$wheresql = " WHERE ".join(" AND ",$wheresql);
}else{
$wheresql = "";
}
$sql = "SELECT * FROM ".$this->tbl_fund." $wheresql ORDER BY id desc";
$rs = $this->db->query($sql); $rs = $this->db->query($sql);
$rows = $rs->fetchAll(); $rows = $rs->fetchAll();
return $rows; return $rows;
@ -45,6 +64,15 @@ class Fund extends Zend_Controller_Plugin_Abstract
$wheresql[] = " f.userid='$uid' "; $wheresql[] = " f.userid='$uid' ";
} }
if(!empty($keyword))
{
if(preg_match("/\'/",$keyword))
{
$keyword = preg_replace("/\'/","''",$keyword);
}
$wheresql[] = " f.title LIKE '%$keyword%'";
}
if(count($wheresql)>0) if(count($wheresql)>0)
{ {
$wheresql = " WHERE ".join(" AND ",$wheresql); $wheresql = " WHERE ".join(" AND ",$wheresql);
@ -52,7 +80,7 @@ class Fund extends Zend_Controller_Plugin_Abstract
$wheresql = ""; $wheresql = "";
} }
if($include) if($include === true)
{ {
$sql = "SELECT f.*,mf.place,mf.id as mfid FROM ".$this->tbl_fund." f $sql = "SELECT f.*,mf.place,mf.id as mfid FROM ".$this->tbl_fund." f
LEFT JOIN ".$this->tbl_mdfund." mf ON mf.fid=f.id LEFT JOIN ".$this->tbl_mdfund." mf ON mf.fid=f.id
@ -67,6 +95,43 @@ class Fund extends Zend_Controller_Plugin_Abstract
} }
} }
function fetchFormData($uid,$keyword){
$wheresql = array();
if(!empty($uid) && is_int($uid))
{
$wheresql[] = " f.userid='$uid' ";
}
if(!empty($keyword))
{
if(preg_match("/\'/",$keyword))
{
$keyword = preg_replace("/\'/","''",$keyword);
}
$wheresql[] = " f.title LIKE '%$keyword%'";
}
$wheresql[] = " md.title IS NOT NULL ";
if(count($wheresql)>0)
{
$wheresql = " WHERE ".join(" AND ",$wheresql);
}else{
$wheresql = "";
}
$sql = "SELECT f.*,mf.place,mf.id as mfid,md.title as mdtitle,md.uuid FROM ".$this->tbl_fund." f
LEFT JOIN ".$this->tbl_mdfund." mf ON mf.fid=f.id
LEFT JOIN metadata md ON md.uuid=mf.uuid
$wheresql
ORDER BY mf.place";
$rs = $this->db->query($sql);
$rows = $rs->fetchAll(PDO::FETCH_BOTH);
return $rows;
}
function add($data) function add($data)
{ {
include_once("helper/dbh.php"); include_once("helper/dbh.php");
@ -205,6 +270,10 @@ class Fund extends Zend_Controller_Plugin_Abstract
$search = ""; $search = "";
if(!empty($keyword)) if(!empty($keyword))
{ {
if(preg_match("/\'/",$keyword))
{
$keyword = preg_replace("/\'/","''",$keyword);
}
$search = " AND md.title LIKE '%$keyword%' "; $search = " AND md.title LIKE '%$keyword%' ";
} }
$sql = "SELECT md.title,mf.id FROM ".$this->tbl_mdfund." mf $sql = "SELECT md.title,mf.id FROM ".$this->tbl_mdfund." mf