From 1956a7cc4c7458d8ca29637e6c80b25531f58989 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=8F=99=E8=BF=B0=E3=80=81=E5=88=AB=E7=A6=BB?=
<93301500+xushubieli@users.noreply.github.com>
Date: Fri, 2 Jun 2023 14:45:05 +0800
Subject: [PATCH] Update common.func.php
---
src/system/common.func.php | 79 ++++++++++++++++++++------------------
1 file changed, 41 insertions(+), 38 deletions(-)
diff --git a/src/system/common.func.php b/src/system/common.func.php
index 4b69d670..3f5c5e24 100755
--- a/src/system/common.func.php
+++ b/src/system/common.func.php
@@ -527,7 +527,7 @@ function GetUpdateSQL()
fclose($fp);
return $result;
}
-/*会员中心调用默认主题模板*/
+/*会员中心调用主题模板*/
if (!function_exists('obtaintheme')) {
require_once DEDEINC."/archive/partview.class.php";
function obtaintheme($path)
@@ -554,7 +554,7 @@ if (!function_exists('obtaintags')) {
return $tags;
}
}
-//提取文档多图片[field:body function='obtainimgs(@me,3)'/]3表示调用文档3张图片,body则列表附加字段需添加body字段
+//提取文档多图片[field:body function='obtainimgs(@me,3)'/]3表示调用文档3张图片,则附加字段需添加body字段调用
if (!function_exists('obtainimgs')) {
function obtainimgs($string, $num)
{
@@ -571,39 +571,7 @@ if (!function_exists('obtainimgs')) {
return $result;
}
}
-//联动单筛选{dede:php}obtainfilter(模型id,类型,'字段1,字段2');{/dede:php}类型有三种,对应以下case值
-function litimgurls($imgid = 0)
-{
- global $dsql, $lit_imglist;
- $row = $dsql->GetOne("SELECT c.addtable FROM `#@__archives` AS a LEFT JOIN `#@__channeltype` AS c ON a.channel=c.id WHERE a.id='$imgid'");
- $addtable = trim($row['addtable']);
- $row = $dsql->GetOne("SELECT imgurls FROM `$addtable` WHERE aid='$imgid'");
- $ChannelUnit = new ChannelUnit(2, $imgid);
- $lit_imglist = $ChannelUnit->GetlitImgLinks($row['imgurls']);
- return $lit_imglist;
-}
-//联动单筛选字符过滤函数
-function string_filter($str, $stype = "inject")
-{
- if ($stype == "inject") {
- $str = str_replace(
- array("select", "insert", "update", "delete", "alter", "cas", "union", "into", "load_file", "outfile", "create", "join", "where", "like", "drop", "modify", "rename", "'", "/*", "*", "../", "./"),
- array("", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""),
- $str
- );
- } else if ($stype == "xss") {
- $farr = array("/\s+/", "/<(\/?)(script|META|STYLE|HTML|HEAD|BODY|STYLE |i?frame|b|strong|style|html|img|P|o:p|iframe|u|em|strike|BR|div|a|TABLE|TBODY|object|tr|td|st1:chsdate|FONT|span|MARQUEE|body|title|\r\n|link|meta|\?|\%)([^>]*?)>/isU", "/(<[^>]*)on[a-zA-Z]+\s*=([^>]*>)/isU",);
- $tarr = array(" ", "", "\\1\\2",);
- $str = preg_replace($farr, $tarr, $str);
- $str = str_replace(
- array("<", ">", "'", "\"", ";", "/*", "*", "../", "./"),
- array("<", ">", "", "", "", "", "", "", ""),
- $str
- );
- }
- return $str;
-}
-//联动单筛选三种类型显示
+//联动单筛选{dede:php}obtainfilter(模型id,类型,'字段1,字段2');{/dede:php}类型表示前台展现方式对应case值
function obtainfilter($channelid, $type = 1, $fieldsnamef = '', $defaulttid = 0, $toptid = 0, $loadtype = 'autofield')
{
global $tid, $dsql, $id, $aid;
@@ -631,6 +599,7 @@ function obtainfilter($channelid, $type = 1, $fieldsnamef = '', $defaulttid = 0,
$fields_value = $href2[0];
switch ($type) {
case 1:
+ $dede_addonfields .= '
';
$dede_addonfields .= (preg_match("/&".$ctag->GetName()."=/is",$filterarr,$regm) ? '
GetName()."=".$fields_value,"",$filterarr).'" class="btn btn-outline-success btn-sm">全部' : '
GetName()."=".$fields_value,"",$filterarr).'" class="btn btn-success btn-sm">全部');
$addonfields_items = explode(",",$ctag->GetAtt('default'));
for ($i=0; $i
GetName().'=') ? str_replace("=".$fields_value,"=".urlencode($addonfields_items[$i]),$filterarr) : $filterarr.'&'.$ctag->GetName().'='.urlencode($addonfields_items[$i]);
$dede_addonfields .= ($fields_value!=urlencode($addonfields_items[$i]) ? ''.$addonfields_items[$i].'' : ''.$addonfields_items[$i].'');
}
+ $dede_addonfields .= ' ';
break;
case 2:
- $dede_addonfields .= '';
break;
case 3:
+ $dede_addonfields .= '';
$dede_addonfields .= (preg_match("/&".$ctag->GetName()."=/is",$filterarr,$regm) ? '
GetName()."=".$fields_value,"",$filterarr).'">GetName()."=".$fields_value,"",$filterarr).'" onclick="window.location=this.value">全部' : '
全部');
$addonfields_items = explode(",",$ctag->GetAtt('default'));
for ($i=0; $i
GetName().'=') ? str_replace("=".$fields_value,"=".urlencode($addonfields_items[$i]),$filterarr) : $filterarr.'&'.$ctag->GetName().'='.urlencode($addonfields_items[$i]);
$dede_addonfields .= ($fields_value!=urlencode($addonfields_items[$i]) ? ''.$addonfields_items[$i].'' : ''.$addonfields_items[$i].'');
}
+ $dede_addonfields .= ' ';
break;
}
}
@@ -667,6 +638,38 @@ function obtainfilter($channelid, $type = 1, $fieldsnamef = '', $defaulttid = 0,
}
echo $dede_addonfields;
}
+//联动单筛选获取附加表
+function litimgurls($imgid = 0)
+{
+ global $dsql, $lit_imglist;
+ $row = $dsql->GetOne("SELECT c.addtable FROM `#@__archives` AS a LEFT JOIN `#@__channeltype` AS c ON a.channel=c.id WHERE a.id='$imgid'");
+ $addtable = trim($row['addtable']);
+ $row = $dsql->GetOne("SELECT imgurls FROM `$addtable` WHERE aid='$imgid'");
+ $ChannelUnit = new ChannelUnit(2, $imgid);
+ $lit_imglist = $ChannelUnit->GetlitImgLinks($row['imgurls']);
+ return $lit_imglist;
+}
+//联动单筛选字符过滤函数
+function string_filter($str, $stype = "inject")
+{
+ if ($stype == "inject") {
+ $str = str_replace(
+ array("select", "insert", "update", "delete", "alter", "cas", "union", "into", "load_file", "outfile", "create", "join", "where", "like", "drop", "modify", "rename", "'", "/*", "*", "../", "./"),
+ array("", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""),
+ $str
+ );
+ } else if ($stype == "xss") {
+ $farr = array("/\s+/", "/<(\/?)(script|META|STYLE|HTML|HEAD|BODY|STYLE |i?frame|b|strong|style|html|img|P|o:p|iframe|u|em|strike|BR|div|a|TABLE|TBODY|object|tr|td|st1:chsdate|FONT|span|MARQUEE|body|title|\r\n|link|meta|\?|\%)([^>]*?)>/isU", "/(<[^>]*)on[a-zA-Z]+\s*=([^>]*>)/isU",);
+ $tarr = array(" ", "", "\\1\\2",);
+ $str = preg_replace($farr, $tarr, $str);
+ $str = str_replace(
+ array("<", ">", "'", "\"", ";", "/*", "*", "../", "./"),
+ array("<", ">", "", "", "", "", "", "", ""),
+ $str
+ );
+ }
+ return $str;
+}
/**
* GetMimeTypeOrExtension
*