Ticket #302 增加了“我的数据”功能
This commit is contained in:
parent
5c685f4a16
commit
bda9552187
|
@ -32,9 +32,10 @@ class AuthorController extends Zend_Controller_Action
|
||||||
/*
|
/*
|
||||||
* acceptAction() 我的数据
|
* acceptAction() 我的数据
|
||||||
*
|
*
|
||||||
|
* param string $ac // list|search
|
||||||
|
* param string $keyword
|
||||||
*
|
*
|
||||||
*
|
* return view
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
function acceptAction()
|
function acceptAction()
|
||||||
{
|
{
|
||||||
|
@ -72,74 +73,31 @@ class AuthorController extends Zend_Controller_Action
|
||||||
//搜索
|
//搜索
|
||||||
if($ac == "search")
|
if($ac == "search")
|
||||||
{
|
{
|
||||||
$this->_helper->layout->disableLayout();
|
$keyword = trim($this->_request->getParam('q'));
|
||||||
$this->_helper->viewRenderer->setNoRender();
|
$this->view->q = $keyword;
|
||||||
|
if (!preg_match_all("/^[\x{4e00}-\x{9fa5}A-Za-z0-9_]+$/u",$keyword,$matchs))
|
||||||
$data = "";
|
{
|
||||||
|
$data = array('error'=>'搜索关键字中只能包含汉字、英文、数字');
|
||||||
//数据处理代码 EOH<<<<<<<<<<<<<<<<
|
|
||||||
try{
|
|
||||||
|
|
||||||
$keyword = trim($this->_request->getParam('q'));
|
|
||||||
if (!preg_match_all("/^[\x{4e00}-\x{9fa5}A-Za-z0-9_]+$/u",$keyword,$matchs))
|
|
||||||
{
|
|
||||||
$data = array('error'=>'搜索关键字中只能包含汉字、英文、数字');
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
//搜索标题和描述两个字段
|
|
||||||
$sql = "SELECT m.uuid,m.title,m.description,a.status,a.userid FROM metadata m
|
|
||||||
LEFT JOIN mdauthor a ON m.uuid=a.uuid
|
|
||||||
WHERE m.title like ? OR m.description like ?";
|
|
||||||
$sth = $this->db->prepare($sql);
|
|
||||||
$sth->execute(array("%$keyword%","%$keyword%"));
|
|
||||||
$rows = $sth->fetchAll();
|
|
||||||
|
|
||||||
if(is_array($rows) && count($rows)>0)
|
|
||||||
$data = $rows;
|
|
||||||
else
|
|
||||||
$data = "";
|
|
||||||
}
|
|
||||||
|
|
||||||
}catch(Exception $e){
|
|
||||||
if(empty($data['error']))
|
|
||||||
{
|
|
||||||
$data = array("error"=>"处理过程中遇到错误,请重新尝试");
|
|
||||||
//$data = array("error"=>$e->getMessage());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
// >>>>>>>>>>> F
|
else
|
||||||
|
{
|
||||||
|
//搜索标题和描述两个字段
|
||||||
|
$sql = "SELECT m.uuid,m.title,m.description,a.status,a.userid FROM metadata m
|
||||||
|
LEFT JOIN mdauthor a ON m.uuid=a.uuid
|
||||||
|
WHERE (m.title like ? OR m.description like ?) AND a.userid=?";
|
||||||
|
$sth = $this->db->prepare($sql);
|
||||||
|
$sth->execute(array("%$keyword%","%$keyword%",$u_id));
|
||||||
|
$rows = $sth->fetchAll();
|
||||||
|
|
||||||
$this ->getResponse()
|
$paginator = Zend_Paginator::factory($rows);
|
||||||
->setHeader('Content-Type', 'application/json')
|
$paginator->setCurrentPageNumber($this->_getParam('page'));
|
||||||
->appendBody(Zend_Json::encode($data));
|
$paginator->setItemCountPerPage(5);
|
||||||
|
$paginator->setView($this->view);
|
||||||
|
Zend_View_Helper_PaginationControl::setDefaultViewPartial('pagination_param.phtml');
|
||||||
|
$this->view->paginator=$paginator;
|
||||||
|
}
|
||||||
}// search
|
}// search
|
||||||
|
|
||||||
if($ac == 'sendmail')
|
|
||||||
{
|
|
||||||
$this->_helper->layout->disableLayout();
|
|
||||||
$this->_helper->viewRenderer->setNoRender();
|
|
||||||
|
|
||||||
$data = "";
|
|
||||||
|
|
||||||
//数据处理代码 EOH<<<<<<<<<<<<<<<<
|
|
||||||
try{
|
|
||||||
|
|
||||||
}catch(Exception $e){
|
|
||||||
if(empty($data['error']))
|
|
||||||
{
|
|
||||||
$data = array("error"=>"处理过程中遇到错误,请重新尝试");
|
|
||||||
//$data = array("error"=>$e->getMessage());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// >>>>>>>>>>> F
|
|
||||||
|
|
||||||
$this ->getResponse()
|
|
||||||
->setHeader('Content-Type', 'application/json')
|
|
||||||
->appendBody(Zend_Json::encode($data));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}//acceptAction() 我的数据
|
}//acceptAction() 我的数据
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,86 @@
|
||||||
|
<?php
|
||||||
|
$this->headTitle($this->config->title->site);
|
||||||
|
$this->headTitle($this->config->title->author);
|
||||||
|
$this->headTitle()->setSeparator(' - ');
|
||||||
|
$this->headScript()->appendFile('/js/jquery-1.7.min.js');
|
||||||
|
$this->headLink()->appendStylesheet('/css/author.css');
|
||||||
|
$this->breadcrumb('<a href="/">首页</a>');
|
||||||
|
$this->breadcrumb('<a href="/author">数据作者</a>');
|
||||||
|
$this->breadcrumb('我的数据');
|
||||||
|
$this->breadcrumb()->setSeparator(' > ');
|
||||||
|
?>
|
||||||
|
<!-- 左侧导航 -->
|
||||||
|
<div id='sidebar'>
|
||||||
|
<div id='leftnavi'>
|
||||||
|
<?= $this->partial('author/navi.phtml'); ?>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- //左侧导航 -->
|
||||||
|
|
||||||
|
<!-- 页面内容 -->
|
||||||
|
<div id="wapper">
|
||||||
|
<p>请输入元数据标题关键字进行搜索</p>
|
||||||
|
<form id="datasearch" class="search_form" action="/author/accept/ac/search">
|
||||||
|
<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 id="datalist">
|
||||||
|
<?php
|
||||||
|
if (count($this->paginator)):
|
||||||
|
echo "<ul>";
|
||||||
|
$autoindex=0;
|
||||||
|
foreach ($this->paginator as $item):
|
||||||
|
$autoindex++;?>
|
||||||
|
<li>
|
||||||
|
<a href="/data/<?php echo $item['uuid'];?>" target="_blank"><?php echo $item['title'];?></a>
|
||||||
|
<p><?php echo $item['description'] ?></p>
|
||||||
|
<p>
|
||||||
|
<?php
|
||||||
|
if($item['status']==1)
|
||||||
|
{
|
||||||
|
echo '';
|
||||||
|
}//已经是自己的数据
|
||||||
|
if ($item['status']==0)
|
||||||
|
{
|
||||||
|
echo '<img src="/images/list_extensions.gif" />您已经申请该数据,请到邮箱查看激活邮件(如果没有收到请 <a href="javascript:;" onclick="apply(\''.$item['uuid'].'\')">点击这里</a>)';
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
<span id="data_<?php echo $item['uuid'];?>"></span>
|
||||||
|
</p>
|
||||||
|
</li>
|
||||||
|
<?php endforeach;
|
||||||
|
echo "</ul>";
|
||||||
|
endif; ?>
|
||||||
|
<div class="pagenavi"><?= $this->paginator; ?></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- //页面内容 -->
|
||||||
|
<script>
|
||||||
|
$('#wapper').width($('body').width()-300);
|
||||||
|
function apply(uuid){
|
||||||
|
$.ajax({
|
||||||
|
'type':"POST",
|
||||||
|
'url':'/author/apply',
|
||||||
|
'data':'ac=apply&m=send&uuid='+uuid,
|
||||||
|
'success':function(data){
|
||||||
|
if (isObject(data))
|
||||||
|
{
|
||||||
|
if(typeof(data.error)!='undefined')
|
||||||
|
{alert(data.error);}
|
||||||
|
else{alert('请重试');}
|
||||||
|
}
|
||||||
|
else{ alert('出现错误,请稍候');}
|
||||||
|
$('#data_'+uuid).html('');
|
||||||
|
},
|
||||||
|
'beforeSend':function(){
|
||||||
|
$('#data_'+uuid).html('<img src="/images/ajax-load-small.gif" />正在处理...');
|
||||||
|
},
|
||||||
|
'timeout': 20000,
|
||||||
|
'error': function(){
|
||||||
|
alert('处理中出现问题,请重试');
|
||||||
|
$('#data_'+uuid).html('');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
function isObject(obj){if(typeof(obj)=='object'){return true;}else if(typeof(obj)!='object'){return false;}else{return false;}}
|
||||||
|
</script>
|
Loading…
Reference in New Issue