phpcms v9未审核推荐信息出现在推荐列表中【BUG修复】

2024-01-09 13:04

本文主要是介绍phpcms v9未审核推荐信息出现在推荐列表中【BUG修复】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

修改文件:phpcms/modules/content/class/content_tag.class.php
调整过的方法:
 

public function __construct() {$this->db = pc_base::load_model('content_model');$this->position = pc_base::load_model('position_model');$this->position_data = pc_base::load_model('position_data_model');}/*** 推荐位* WY EDIT AT 2024-01-09 已修复未审核信息出现在推荐列表中的问题* @param $data*/public function position($data) {$sql = '';$array = array();$posid = intval($data['posid']);
$position = $this->position->get_one(array('posid'=>$posid));
$this->db->set_model($position['modelid']);
$this->tablename = $this->db->table_name;
$result = $this->db->select("status=99 AND posids=1", '*', '', '', '');
foreach ($result as $r) {$ids_array[] = $r['id'];
}
$ids = implode(',', $ids_array);
if($ids) {$sql = "id IN ($ids) AND ";
} else {$sql = '1<>1 AND';
}$order = $data['order'];$thumb = (empty($data['thumb']) || intval($data['thumb']) == 0) ? 0 : 1;$siteid = $GLOBALS['siteid'] ? intval($GLOBALS['siteid']) : 1;$catid = (empty($data['catid']) || $data['catid'] == 0) ? '' : intval($data['catid']);if($catid) {$siteids = getcache('category_content','commons');if(!$siteids[$catid]) return false;$siteid = $siteids[$catid];$this->category = getcache('category_content_'.$siteid,'commons');}if($catid && $this->category[$catid]['child']) {$catids_str = $this->category[$catid]['arrchildid'];$pos = strpos($catids_str,',')+1;$catids_str = substr($catids_str, $pos);$sql .= "`catid` IN ($catids_str) AND ";}  elseif($catid && !$this->category[$catid]['child']) {$sql .= "`catid` = '$catid' AND ";}if($thumb) $sql .= "`thumb` = '1' AND ";if(isset($data['where'])) $sql .= $data['where'].' AND ';if(isset($data['expiration']) && $data['expiration']==1) $sql .= '(`expiration` >= \''.SYS_TIME.'\' OR `expiration` = \'0\' ) AND ';$sql .= "`posid` = '$posid' AND `siteid` = '".$siteid."'";$pos_arr = $this->position_data->select($sql, '*', $data['limit'],$order);if(!empty($pos_arr)) {foreach ($pos_arr as $info) {$key = $info['catid'].'-'.$info['id'];$array[$key] = string2array($info['data']);$array[$key]['url'] = go($info['catid'],$info['id']);$array[$key]['id'] = $info['id'];$array[$key]['catid'] = $info['catid'];$array[$key]['listorder'] = $info['listorder'];}}return $array;}

这篇关于phpcms v9未审核推荐信息出现在推荐列表中【BUG修复】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/587195

相关文章

Win32下C++实现快速获取硬盘分区信息

《Win32下C++实现快速获取硬盘分区信息》这篇文章主要为大家详细介绍了Win32下C++如何实现快速获取硬盘分区信息,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 实现代码CDiskDriveUtils.h#pragma once #include <wtypesbase

Java中数组转换为列表的两种实现方式(超简单)

《Java中数组转换为列表的两种实现方式(超简单)》本文介绍了在Java中将数组转换为列表的两种常见方法使用Arrays.asList和Java8的StreamAPI,Arrays.asList方法简... 目录1. 使用Java Collections框架(Arrays.asList)1.1 示例代码1.

Redis 内存淘汰策略深度解析(最新推荐)

《Redis内存淘汰策略深度解析(最新推荐)》本文详细探讨了Redis的内存淘汰策略、实现原理、适用场景及最佳实践,介绍了八种内存淘汰策略,包括noeviction、LRU、LFU、TTL、Rand... 目录一、 内存淘汰策略概述二、内存淘汰策略详解2.1 ​noeviction(不淘汰)​2.2 ​LR

python中列表list切分的实现

《python中列表list切分的实现》列表是Python中最常用的数据结构之一,经常需要对列表进行切分操作,本文主要介绍了python中列表list切分的实现,文中通过示例代码介绍的非常详细,对大家... 目录一、列表切片的基本用法1.1 基本切片操作1.2 切片的负索引1.3 切片的省略二、列表切分的高

前端bug调试的方法技巧及常见错误

《前端bug调试的方法技巧及常见错误》:本文主要介绍编程中常见的报错和Bug,以及调试的重要性,调试的基本流程是通过缩小范围来定位问题,并给出了推测法、删除代码法、console调试和debugg... 目录调试基本流程调试方法排查bug的两大技巧如何看控制台报错前端常见错误取值调用报错资源引入错误解析错误

mysql8.0无备份通过idb文件恢复数据的方法、idb文件修复和tablespace id不一致处理

《mysql8.0无备份通过idb文件恢复数据的方法、idb文件修复和tablespaceid不一致处理》文章描述了公司服务器断电后数据库故障的过程,作者通过查看错误日志、重新初始化数据目录、恢复备... 周末突然接到一位一年多没联系的妹妹打来电话,“刘哥,快来救救我”,我脑海瞬间冒出妙瓦底,电信火苲马扁.

Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)

《Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)》文章介绍了如何使用dhtmlx-gantt组件来实现公司的甘特图需求,并提供了一个简单的Vue组件示例,文章还分享了一... 目录一、首先 npm 安装插件二、创建一个vue组件三、业务页面内 引用自定义组件:四、dhtmlx

前端 CSS 动态设置样式::class、:style 等技巧(推荐)

《前端CSS动态设置样式::class、:style等技巧(推荐)》:本文主要介绍了Vue.js中动态绑定类名和内联样式的两种方法:对象语法和数组语法,通过对象语法,可以根据条件动态切换类名或样式;通过数组语法,可以同时绑定多个类名或样式,此外,还可以结合计算属性来生成复杂的类名或样式对象,详细内容请阅读本文,希望能对你有所帮助...

Python爬虫selenium验证之中文识别点选+图片验证码案例(最新推荐)

《Python爬虫selenium验证之中文识别点选+图片验证码案例(最新推荐)》本文介绍了如何使用Python和Selenium结合ddddocr库实现图片验证码的识别和点击功能,感兴趣的朋友一起看... 目录1.获取图片2.目标识别3.背景坐标识别3.1 ddddocr3.2 打码平台4.坐标点击5.图

Java中实现订单超时自动取消功能(最新推荐)

《Java中实现订单超时自动取消功能(最新推荐)》本文介绍了Java中实现订单超时自动取消功能的几种方法,包括定时任务、JDK延迟队列、Redis过期监听、Redisson分布式延迟队列、Rocket... 目录1、定时任务2、JDK延迟队列 DelayQueue(1)定义实现Delayed接口的实体类 (