友情提醒:以下提及的文件都需要做修改,修改前请备份。
1、打开根目录下的/model/plugin.func.php文件
找到以下代码523行左右
/*function plugin_outid($dir) {
在它前面添加一个方法
function plugin_search_keyword_safe($s){
$s = str_replace(array('\'', '\\', '"', '%', '<', '>', '`', '*', '&', '#'), '', $s);
$s = preg_replace('#\s+#', ' ', $s);
$s = trim($s);
return $s;
}
添加完毕之后保存文件。
2、打开根目录下的/admin/route/plugin.php文件
17行左右找到 if($action == 'local') {
在$pluginlist = $plugins;下面添加以下代码
$wd = param('wd', '');
if(!empty($wd)){
$wd = plugin_search_keyword_safe(xn_urldecode(trim($wd)));
$cond = array('name'=>array('LIKE'=>$wd));
$pluginlist = arrlist_cond_orderby($plugins, $cond, array('pluginid'=>-1), 1, 999);
}
找到
} elseif($action == 'official_fee' || $action == 'official_free') {
在$page = param(3, 1);下面添加以下代码
$wd = param('wd', '');
找到$cond['price'] = $action == 'official_fee' ? array('>'=>0) : 0;在其下添加如下代码
if(!empty($wd)){
$wd = plugin_search_keyword_safe(xn_urldecode(trim($wd)));
$cond += array('name'=>array('LIKE'=>$wd));
}
找到$pagination = pagination(url("plugin-$action-$cateid-{page}"), $total, $page, $pagesize);在其下添加如下代码
!empty($wd) AND $pagination = pagination(url("plugin-$action-$cateid-{page}").'?wd='.$wd, $total, $page, $pagesize);
添加完毕之后保存文件。
3、打开根目录下的/admin/view/htm/plugin_list.htm文件
在第19行左右找到<div class="card-body">在下面添加以下代码
<div class="search mb-3">
<form id="plugin_search">
<div class="input-group">
<input class="form-control" name="wd" placeholder="<?php echo !empty($wd) ? $wd : '关键词';?>" type="text" value="<?php echo !empty($wd) ? $wd : '';?>" />
<div class="input-group-append"><button class="btn btn-primary" id="submit" type="submit">搜索插件</button></div>
</div>
</form>
</div>
找到页尾的$('#nav li.nav-item-plugin').addClass('active');
在下面添加以下代码
jplugin_search = $('#plugin_search');
jplugin_search.on('submit', function() {
var wd = jplugin_search.find('input[name="wd"]').val();
var url = xn.url('plugin-<?php echo $action;?>')+'?wd='+xn.urlencode(wd);
window.location = url;
return false;
});
添加完毕之后保存文件。
如果你不是本地测试的话,请把修改后的文件按目录结构上传覆盖;再次提醒,覆盖前请备份源文件。
清空缓存即可实现插件搜索。