$daycount = $_G['setting']['recommendthread']['daycount'] - $recommendcount; showmessage('recommend_daycount_succed', '', array('recommendv' => $recommendv, 'recommendc' => $thread['recommends'], 'daycount' => $daycount), array('msgtype' => 3)); } else { showmessage('recommend_succed', '', array('recommendv' => $recommendv, 'recommendc' => $thread['recommends']), array('msgtype' => 3)); } } elseif ($_G['gp_action'] == 'removeindexheats') { if ($_G['adminid'] != 1) { showmessage('undefined_action', NULL); } DB::query("UPDATE " . DB::table('forum_thread') . " SET heats=0 WHERE tid='{$_G['tid']}'"); require_once libfile('function/cache'); updatecache('heats'); dheader('Location: ' . dreferer()); } elseif ($_G['gp_action'] == 'protectsort') { if ($_G['gp_sortvalue']) { makevaluepic($_G['gp_sortvalue']); } else { $tid = $_G['gp_tid']; $optionid = $_G['gp_optionid']; include template('common/header_ajax'); echo DB::result_first('SELECT value FROM ' . DB::table('forum_typeoptionvar') . " WHERE tid='{$tid}' AND optionid='{$optionid}'"); include template('common/footer_ajax'); } } function makevaluepic($value) { Header("Content-type:image/png"); $im = @imagecreate(130, 25); $background_color = imagecolorallocate($im, 255, 255, 255); $text_color = imagecolorallocate($im, 23, 14, 91); imagestring($im, 4, 0, 4, $value, $text_color);
function threadsortshow($sortid, $tid) { global $_G; loadcache(array('threadsort_option_' . $sortid, 'threadsort_template_' . $sortid)); $sortoptionarray = $_G['cache']['threadsort_option_' . $sortid]; $templatearray = $_G['cache']['threadsort_template_' . $sortid]; $threadsortshow = $optiondata = $searchtitle = $searchvalue = $searchunit = $memberinfofield = $_G['forum_option'] = array(); if ($sortoptionarray) { foreach (C::t('forum_typeoptionvar')->fetch_all_by_tid_optionid($tid) as $option) { $optiondata[$option['optionid']]['value'] = $option['value']; $optiondata[$option['optionid']]['expiration'] = $option['expiration'] && $option['expiration'] <= TIMESTAMP ? 1 : 0; $sortdataexpiration = $option['expiration']; } foreach ($sortoptionarray as $optionid => $option) { $_G['forum_option'][$option['identifier']]['title'] = $option['title']; $_G['forum_option'][$option['identifier']]['unit'] = $option['unit']; $_G['forum_option'][$option['identifier']]['type'] = $option['type']; if ($option['expiration'] && !$optiondata[$optionid]['expiration'] || empty($option['expiration'])) { if (!protectguard($option['protect'])) { if ($option['type'] == 'checkbox') { $_G['forum_option'][$option['identifier']]['value'] = ''; foreach (explode("\t", $optiondata[$optionid]['value']) as $choiceid) { $_G['forum_option'][$option['identifier']]['value'] .= $option['choices'][$choiceid] . ' '; } } elseif ($option['type'] == 'radio') { $_G['forum_option'][$option['identifier']]['value'] = $option['choices'][$optiondata[$optionid]['value']]; } elseif ($option['type'] == 'select') { $tmpchoiceid = $tmpidentifiervalue = array(); foreach (explode('.', $optiondata[$optionid]['value']) as $choiceid) { $tmpchoiceid[] = $choiceid; $tmpidentifiervalue[] = $option['choices'][implode('.', $tmpchoiceid)]; } $_G['forum_option'][$option['identifier']]['value'] = implode(' » ', $tmpidentifiervalue); unset($tmpchoiceid, $tmpidentifiervalue); } elseif ($option['type'] == 'image') { $imgoptiondata = dunserialize($optiondata[$optionid]['value']); $threadsortshow['sortaids'][] = $imgoptiondata['aid']; if (empty($templatearray['viewthread'])) { $maxwidth = $option['maxwidth'] ? 'width="' . $option['maxwidth'] . '"' : ''; $maxheight = $option['maxheight'] ? 'height="' . $option['maxheight'] . '"' : ''; if (!defined('IN_MOBILE')) { $_G['forum_option'][$option['identifier']]['value'] = $imgoptiondata['url'] ? "<img src=\"" . $imgoptiondata['url'] . "\" onload=\"thumbImg(this)\" {$maxwidth} {$maxheight} border=\"0\">" : ''; } else { $_G['forum_option'][$option['identifier']]['value'] = $imgoptiondata['url'] ? "<a href=\"" . $imgoptiondata['url'] . "\" target=\"_blank\">" . lang('mobile/template', 'viewimg') . "</a>" : ''; } } else { $_G['forum_option'][$option['identifier']]['value'] = $imgoptiondata['url'] ? $imgoptiondata['url'] : './static/image/common/nophoto.gif'; } } elseif ($option['type'] == 'url') { $_G['forum_option'][$option['identifier']]['value'] = $optiondata[$optionid]['value'] ? "<a href=\"" . $optiondata[$optionid]['value'] . "\" target=\"_blank\">" . $optiondata[$optionid]['value'] . "</a>" : ''; } else { if ($option['protect']['status'] && $optiondata[$optionid]['value']) { $optiondata[$optionid]['value'] = $option['protect']['mode'] == 1 ? '<image src="' . makevaluepic($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']); $_G['forum_option'][$option['identifier']]['value'] = $optiondata[$optionid]['value'] ? $optiondata[$optionid]['value'] : $option['defaultvalue']; } elseif ($option['type'] == 'textarea') { $_G['forum_option'][$option['identifier']]['value'] = $optiondata[$optionid]['value'] ? nl2br($optiondata[$optionid]['value']) : ''; } else { $_G['forum_option'][$option['identifier']]['value'] = $optiondata[$optionid]['value'] ? $optiondata[$optionid]['value'] : $option['defaultvalue']; } } } else { if (empty($option['permprompt'])) { $_G['forum_option'][$option['identifier']]['value'] = lang('forum/misc', 'view_noperm'); } else { $_G['forum_option'][$option['identifier']]['value'] = $option['permprompt']; } } } else { $_G['forum_option'][$option['identifier']]['value'] = lang('forum/misc', 'has_expired'); } } $typetemplate = ''; if ($templatearray['viewthread']) { foreach ($sortoptionarray as $option) { $searchtitle[] = '/{(' . $option['identifier'] . ')}/e'; $searchvalue[] = '/\\[(' . $option['identifier'] . ')value\\]/e'; $searchvalue[] = '/{(' . $option['identifier'] . ')_value}/e'; $searchunit[] = '/\\[(' . $option['identifier'] . ')unit\\]/e'; $searchunit[] = '/{(' . $option['identifier'] . ')_unit}/e'; } $threadexpiration = $sortdataexpiration ? dgmdate($sortdataexpiration) : lang('forum/misc', 'never_expired'); $typetemplate = preg_replace(array("/\\{expiration\\}/i"), array($threadexpiration), stripslashes($templatearray['viewthread'])); $typetemplate = preg_replace($searchtitle, "showoption('\\1', 'title')", $typetemplate); $typetemplate = preg_replace($searchvalue, "showoption('\\1', 'value')", $typetemplate); $typetemplate = preg_replace($searchunit, "showoption('\\1', 'unit')", $typetemplate); } } $threadsortshow['optionlist'] = !$optionexpiration ? $_G['forum_option'] : 'expire'; $threadsortshow['typetemplate'] = $typetemplate; $threadsortshow['expiration'] = dgmdate($sortdataexpiration, 'd'); return $threadsortshow; }