学问文库

 找回密码
 免费注册

快捷登录

QQ登录

只需一步,快速开始

Discuz! 分类信息代码功能研究

[复制链接]
发表于 2022-11-5 08:20:04 | 显示全部楼层 |阅读模式




隐藏空值方法

template/default/forum/viewthread_node_body.htm找到

游客,如果您要查看本帖隐藏内容请回复



  1. function threadsortshow($sortid, $tid) {
  2.         global $_G;

  3.         loadcache(array('threadsort_option_'.$sortid, 'threadsort_template_'.$sortid));
  4.         $sortoptionarray = $_G['cache']['threadsort_option_'.$sortid];
  5.         value
  6.         $templatearray = $_G['cache']['threadsort_template_'.$sortid];
  7.         $threadsortshow = $optiondata = $searchtitle = $searchvalue = $searchunit = $memberinfofield = $_G['forum_option'] = array();
  8.         if($sortoptionarray) {

  9.                 foreach(C::t('forum_typeoptionvar')->fetch_all_by_tid_optionid($tid) as $option) {
  10.                         $optiondata[$option['optionid']]['value'] = $option['value'];
  11.                         $optiondata[$option['optionid']]['expiration'] = $option['expiration'] && $option['expiration'] <= TIMESTAMP ? 1 : 0;
  12.                         $sortdataexpiration = $option['expiration'];
  13.                 }

  14.                 foreach($sortoptionarray as $optionid => $option) {
  15.                         $_G['forum_option'][$option['identifier']]['title'] = $option['title'];
  16.                         $_G['forum_option'][$option['identifier']]['unit'] = $option['unit'];
  17.                         $_G['forum_option'][$option['identifier']]['type'] = $option['type'];

  18.                         if(($option['expiration'] && !$optiondata[$optionid]['expiration']) || empty($option['expiration'])) {
  19.                                 if(!protectguard($option['protect'])) {
  20.                                         if($option['type'] == 'checkbox') {
  21.                                                 $_G['forum_option'][$option['identifier']]['value'] = '';
  22.                                                 foreach(explode("\t", $optiondata[$optionid]['value']) as $choiceid) {
  23.                                                         $_G['forum_option'][$option['identifier']]['value'] .= $option['choices'][$choiceid].' ';
  24.                                                 }
  25.                                         } elseif($option['type'] == 'radio') {
  26.                                                 $_G['forum_option'][$option['identifier']]['value'] = $option['choices'][$optiondata[$optionid]['value']];
  27.                                         } elseif($option['type'] == 'select') {
  28.                                                 $tmpchoiceid = $tmpidentifiervalue = array();
  29.                                                 foreach(explode('.', $optiondata[$optionid]['value']) as $choiceid) {
  30.                                                         $tmpchoiceid[] = $choiceid;
  31.                                                         $tmpidentifiervalue[] = $option['choices'][implode('.', $tmpchoiceid)];
  32.                                                 }
  33.                                                 $_G['forum_option'][$option['identifier']]['value'] = implode(' » ', $tmpidentifiervalue);
  34.                                                 unset($tmpchoiceid, $tmpidentifiervalue);
  35.                                         } elseif($option['type'] == 'image') {
  36.                                                 $imgoptiondata = dunserialize($optiondata[$optionid]['value']);
  37.                                                 $threadsortshow['sortaids'][] = $imgoptiondata['aid'];
  38.                                                 if(empty($templatearray['viewthread'])) {
  39.                                                         $maxwidth = $option['maxwidth'] ? 'width="'.$option['maxwidth'].'"' : '';
  40.                                                         $maxheight = $option['maxheight'] ? 'height="'.$option['maxheight'].'"' : '';
  41.                                                         if(!defined('IN_MOBILE')) {
  42.                                                                 $_G['forum_option'][$option['identifier']]['value'] = $imgoptiondata['url'] ? "<img src="".$imgoptiondata['url']."" onload="thumbImg(this)" $maxwidth $maxheight border="0">" : '';
  43.                                                         } else {
  44.                                                                 $_G['forum_option'][$option['identifier']]['value'] = $imgoptiondata['url'] ? "<a href="".$imgoptiondata['url']."" target="_blank">".lang('forum/misc', 'click_view')."</a>" : '';
  45.                                                         }
  46.                                                 } else {
  47.                                                         $_G['forum_option'][$option['identifier']]['value'] = $imgoptiondata['url'] ? $imgoptiondata['url'] : './static/image/common/nophoto.gif';
  48.                                                 }
  49.                                         } elseif($option['type'] == 'url') {
  50.                                                 $_G['forum_option'][$option['identifier']]['value'] = $optiondata[$optionid]['value'] ? "<a href="".$optiondata[$optionid]['value']."" target="_blank">".$optiondata[$optionid]['value']."</a>" : '';
  51.                                         } elseif($option['type'] == 'number') {
  52.                                                 $_G['forum_option'][$option['identifier']]['value'] = $optiondata[$optionid]['value'];
  53.                                         } else {
  54.                                                 if($option['protect']['status'] && $optiondata[$optionid]['value']) {
  55.                                                         $optiondata[$optionid]['value'] = $option['protect']['mode'] == 1 ? '<image src="'.stringtopic($optiondata[$optionid]['value']).'">' : (!defined('IN_MOBILE') ? '<span id="sortmessage_'.$option['identifier'].'"><a href="###" onclick="ajaxget(\'forum.php?mod=misc&action=protectsort&tid='.$tid.'&optionid='.$optionid.'\', \'sortmessage_'.$option['identifier'].'\');return false;">'.lang('forum/misc', 'click_view').'</a></span>' : $optiondata[$optionid]['value']);
  56.                                                         $_G['forum_option'][$option['identifier']]['value'] = $optiondata[$optionid]['value'] ? $optiondata[$optionid]['value'] : $option['defaultvalue'];
  57.                                                 } elseif($option['type'] == 'textarea') {
  58.                                                         $_G['forum_option'][$option['identifier']]['value'] = $optiondata[$optionid]['value'] != '' ? nl2br($optiondata[$optionid]['value']) : '';
  59.                                                 } else {
  60.                                                         $_G['forum_option'][$option['identifier']]['value'] = $optiondata[$optionid]['value'] != '' ? $optiondata[$optionid]['value'] : $option['defaultvalue'];
  61.                                                 }
  62.                                         }
  63.                                 } else {
  64.                                         if(empty($option['permprompt'])) {
  65.                                                 $_G['forum_option'][$option['identifier']]['value'] = lang('forum/misc', 'view_noperm');
  66.                                         } else {
  67.                                                 $_G['forum_option'][$option['identifier']]['value'] = $option['permprompt'];
  68.                                         }

  69.                                 }
  70.                         } else {
  71.                                 $_G['forum_option'][$option['identifier']]['value'] = lang('forum/misc', 'has_expired');
  72.                         }
  73.                 }

  74.                 $typetemplate = '';
  75.                 if($templatearray['viewthread']) {
  76.                         foreach($sortoptionarray as $option) {
  77.                                 $searchtitle[] = '/{('.$option['identifier'].')}/';
  78.                                 $searchvalue[] = '/\[('.$option['identifier'].')value\]/';
  79.                                 $searchvalue[] = '/{('.$option['identifier'].')_value}/';
  80.                                 $searchunit[] = '/\[('.$option['identifier'].')unit\]/';
  81.                                 $searchunit[] = '/{('.$option['identifier'].')_unit}/';
  82.                         }

  83.                         $threadexpiration = $sortdataexpiration ? dgmdate($sortdataexpiration) : lang('forum/misc', 'never_expired');
  84.                         $typetemplate = preg_replace(array("/\{expiration\}/i"), array($threadexpiration), stripslashes($templatearray['viewthread']));
  85.                         $typetemplate = preg_replace_callback($searchtitle, "threadsortshow_callback_showoption_title1", $typetemplate);
  86.                         $typetemplate = preg_replace_callback($searchvalue, "threadsortshow_callback_showoption_value1", $typetemplate);
  87.                         $typetemplate = preg_replace_callback($searchunit, "threadsortshow_callback_showoption_unit1", $typetemplate);
  88.                 }
  89.         }

  90.         $threadsortshow['optionlist'] = !$optionexpiration ? $_G['forum_option'] : 'expire';
  91.         $threadsortshow['typetemplate'] = $typetemplate;
  92.         $threadsortshow['expiration'] = dgmdate($sortdataexpiration, 'd');

  93.         return $threadsortshow;
  94. }
复制代码


您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

QQ|手机版|小黑屋|网站声明|学问文库 ( 冀ICP备2021002572号 )|网站地图

GMT+8, 2023-1-31 21:49 , Processed in 0.018171 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

Copyright © 2001-2023 Tencent Cloud.

文档搜索 客服微信 分享有奖 快速回复 返回顶部 返回列表