错误重现
当有新链接提交,进入待审核状态时,后台-模块-友情链接默认会显示所有友情链接,包括了审核通过和未审核的链接,这是错误一,因为有审核申请的功能,所以不该在这里显示。
进入审核申请页面后,点击全选,再点审核通过,无法完成审核,这是错误二。
我们能做的审核就是修改这个友链,然后下面的通过选择是,才会审核通过,无法批量。
第一步,先解决问题一
/phpcms/modules/link/link.php 14和16行里where条件增加passed,加完是这样的:
if($_GET['typeid']!=''){
$where = array('typeid'=>intval($_GET['typeid']),'passed'=>'1','siteid'=>$this->get_siteid());
}else{
$where = array('siteid'=>$this->get_siteid(),'passed'=>'1');
}
这样就分开了审核与未审核的显示
接下来解决问题二
通过对代码的整理发现,审核流程有2个函数:
check_register 审核界面和批量、单个审核
check 单个审核
是不是感觉有个多余了?
接下来就是把他们功能进行分开
check_register方法改成:
public function check_register(){
$where = array('siteid'=>$this->get_siteid(),'passed'=>0);
$page = isset($_GET['page']) && intval($_GET['page']) ? intval($_GET['page']) : 1;
$infos = $this->db->listinfo($where,'linkid DESC',$page, $pages = '9');
$pages = $this->db->pages;
$big_menu = array('javascript:window.top.art.dialog({id:\'add\',iframe:\'?m=link&c=link&a=add\', title:\''.L('link_add').'\', width:\'700\', height:\'450\'}, function(){var d = window.top.art.dialog({id:\'add\'}).data.iframe;var form = d.document.getElementById(\'dosubmit\');form.click();return false;}, function(){window.top.art.dialog({id:\'add\'}).close()});void(0);', L('link_add'));
include $this->admin_tpl('check_register_list');
}
check方法改成
public function check(){
if((!isset($_GET['linkid']) || empty($_GET['linkid'])) && (!isset($_POST['linkid']) || empty($_POST['linkid']))) {
showmessage(L('illegal_parameters'), HTTP_REFERER);
} else {
if(is_array($_POST['linkid'])){//批量审核
foreach($_POST['linkid'] as $linkid_arr) {
$this->db->update(array('passed'=>1),array('linkid'=>$linkid_arr));
}
showmessage(L('operation_success'),'?m=link&c=link');
}else{//单个审核
$linkid = intval($_GET['linkid']);
if($linkid < 1) return false;
$result = $this->db->update(array('passed'=>1),array('linkid'=>$linkid));
if($result){
showmessage(L('operation_success'),'?m=link&c=link');
}else {
showmessage(L("operation_failure"),'?m=link&c=link');
}
}
}
}
这样就解决了上面的两个问题,但离成功还有一步:
/phpcms/modules/link/templates/check_register_list.tpl.php里第七行form里找到
onsubmit="checkuid();return false;"
删咯,保存,然后审核流程就OK啦
以上就是对PHPCMSV9友情链接模块审核流程的修复!
评论前必须登录!
注册