|
@@ -59,10 +59,50 @@ class block_filter
|
|
|
{
|
|
|
if($show_type == 'goods_top')
|
|
|
{
|
|
|
- $level = intval($reserved);
|
|
|
- if($level > 0) {
|
|
|
- return $this->topimages($level);
|
|
|
- } else {
|
|
|
+ $regxp = '/([^=#]+=[^#]*)[#]?/i';
|
|
|
+ $val = preg_match_all($regxp,$reserved,$match);
|
|
|
+ if($val == false) return $reserved;
|
|
|
+
|
|
|
+ $items = [];
|
|
|
+ if(count($match) == 2)
|
|
|
+ {
|
|
|
+ foreach($match[1] as $val)
|
|
|
+ {
|
|
|
+ $kv = preg_split('/=/',$val);
|
|
|
+ if(!empty($kv))
|
|
|
+ {
|
|
|
+ $k = trim($kv[0]);
|
|
|
+ $v = trim($kv[1]);
|
|
|
+ if(!empty($k)) {
|
|
|
+ $items[$k] = $v;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(array_key_exists('top',$items))
|
|
|
+ {
|
|
|
+ $top = intval($items['top']);
|
|
|
+ if($top > 0)
|
|
|
+ {
|
|
|
+ $result = [];
|
|
|
+ foreach ($items as $key => $val)
|
|
|
+ {
|
|
|
+ if($key == 'top') {
|
|
|
+ $url = urlencode($this->topimages(intval($val)));
|
|
|
+ $data = "image={$url}";
|
|
|
+ } else {
|
|
|
+ $val = urlencode($val);
|
|
|
+ $data = "{$key}={$val}";
|
|
|
+ }
|
|
|
+ $result[] = $data;
|
|
|
+ }
|
|
|
+ return implode("#",$result);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ return $reserved;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else {
|
|
|
return $reserved;
|
|
|
}
|
|
|
}
|