The webmaster did not enable this feature.'));
}
$nocache = empty($jssettings['jscachelife']) ? true : NULL;
$jsrefdomains = isset($jssettings['jsrefdomains']) ? $jssettings['jsrefdomains'] : preg_replace('/([^\\:]+).*/', '\\1', isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : NULL);
$REFERER = parse_url($_SERVER['HTTP_REFERER']);
if ($jsrefdomains && (empty($REFERER) || !in_array($REFERER['host'], explode('
', trim($jsrefdomains))))) {
exit($js == 'js' ? html2js('Referer restriction is taking effect.') : 'Referer restriction is taking effect.');
}
$cachefile = MYMPS_ROOT . '/data/caches/custom_' . $flag . '.php';
$expiration = NULL;
@include $cachefile;
if (!$expiration || $timestamp <= $expiration) {
require_once MYMPS_ROOT . '/data/config.db.php';
require_once MYMPS_ROOT . '/include/db.class.php';
$customtag = customtag($flag);
$writedata = procdata($customtag);
if ($js == 'js') {
$datalist = procdata('document.write("' . $customtag . '");');
}
else if ($js == 'html') {
$datalist = $writedata;
}
unset($customtag);
if (!$nocache) {
$writedata = '$datalist = \'' . addcslashes($writedata, '\\\'') . '\';';
UpdateCache($cachefile, $writedata);
}
}
else if ($js == 'js') {
$datalist = procdata('document.write("' . $datalist . '");');
}
return $datalist;
}
function customtag($flag = '')
{
global $db;
global $db_mymps;
global $jswizard_lists;
global $jssettings;
global $jscharset;
global $mymps_global;
global $charset;
global $timestamp;
$parameter = $jswizard_lists[$flag]['parameter'];
$customtype = $jswizard_lists[$flag]['customtype'];
switch ($customtype) {
case 'info':
$catid = is_array($parameter['catid']) ? implode('\',\'', $parameter['catid']) : NULL;
$areaid = is_array($parameter['areaid']) ? implode('\',\'', $parameter['areaid']) : NULL;
$newwindow = !empty($parameter['newwindow']) ? $parameter['newwindow'] : 1;
$items = !empty($parameter['items']) ? intval($parameter['items']) : 10;
$maxlength = !empty($parameter['maxlength']) ? intval($parameter['maxlength']) : 50;
$ids = !empty($parameter['ids']) ? str_replace(',', '\',\'', trim($parameter['ids'])) : NULL;
$keyword = !empty($parameter['keyword']) ? $parameter['keyword'] : NULL;
$special = is_array($parameter['special']) ? $parameter['special'] : NULL;
$orderby = !empty($parameter['orderby']) ? ($parameter['orderby'] == 'views' ? 'hit' : 'begintime') : 'begintime';
$jstemplate = !empty($parameter['jstemplate']) ? $parameter['jstemplate'] : '{title}
';
$jscharset = !empty($parameter['jscharset']) ? $parameter['jscharset'] : NULL;
$target = $newwindow == 1 ? 'target=_blank' : 'target=_self';
$jsdateformat = isset($jssettings['jsdateformat']) ? $jssettings['jsdateformat'] : 'Y-m-d';
$datalist = array();
if ($keyword) {
if (preg_match('(AND|\\+|&|\\s)', $keyword) && !preg_match('(OR|\\|)', $keyword)) {
$andor = ' AND ';
$keywordsrch = '1';
$keyword = preg_replace('/( AND |&| )/is', '+', $keyword);
}
else {
$andor = ' OR ';
$keywordsrch = '0';
$keyword = preg_replace('/( OR |\\|)/is', '+', $keyword);
}
$keyword = str_replace('*', '%', addcslashes($keyword, '%_'));
foreach (explode('+', $keyword) as $text) {
$text = trim($text);
if ($text) {
$keywordsrch .= $andor;
$keywordsrch .= 't.title LIKE \'%' . $text . '%\'';
}
}
$keyword = ' AND (' . $keywordsrch . ')';
}
else {
$keyword = '';
}
require_once MYMPS_ROOT . '/data/info_special.inc.php';
$sql = ($catid ? ' AND t.catid IN (\'' . $catid . '\')' : '') . $keyword . ($ids ? ' AND t.id IN (\'' . $ids . '\')' : '') . ($areaid ? ' AND t.areaid IN (\'' . $areaid . '\')' : '');
if (is_array($special) && $special != array('1', '2', '3', '4', '5', '6', '7', '8', '9')) {
foreach ($special as $k => $v) {
switch ($v) {
case 1:
$sql .= ' AND t.upgrade_type = \'2\' AND t.upgrade_time > \'$timestamp\'';
break;
case 2:
$sql .= ' AND t.upgrade_type_list = \'2\' AND t.upgrade_time_list > \'$timestamp\'';
break;
case 3:
$sql .= ' AND t.upgrade_type_index = \'2\' AND t.upgrade_time_index > \'$timestamp\'';
break;
case 4:
$sql .= ' AND t.info_level = \'0\'';
break;
case 5:
$sql .= ' AND t.info_level = \'1\'';
break;
case 6:
$sql .= ' AND t.info_level = \'2\'';
break;
case 7:
$sql .= ' AND t.ifred = \'1\'';
break;
case 8:
$sql .= ' AND t.ifbold = \'1\'';
break;
case 9:
$sql .= ' AND t.certify = \'1\'';
break;
}
}
}
else {
$sql .= ' AND t.info_level > \'0\'';
}
$sqlfrom = ',t.catname,t.dir_typename FROM `' . $db_mymps . 'information` AS t';
$query = $db->query('SELECT t.id,t.areaid,t.img_path,t.catid,t.title,t.content,t.userid,t.contact_who,t.ismember,t.begintime,t.hit,t.ifbold,t.ifred
' . $sqlfrom . ' WHERE 1
' . $sql . '
ORDER BY t.' . $orderby . ' DESC
LIMIT 0,' . $items . ';');
while ($data = $db->fetchRow($query)) {
$datalist[$data['id']]['catid'] = $data['catid'];
$datalist[$data['id']]['catname'] = $data['catname'];
$datalist[$data['id']]['caturl'] = Rewrite('category', array('catid' => $data['catid'], 'dir_typename' => $data['dir_typename'], 'areaid' => $data['areaid']));
$datalist[$data['id']]['img_path'] = $data['img_path'];
$datalist[$data['id']]['catnamelength'] = strlen($datalist[$data['id']]['catname']);
$datalist[$data['id']]['title'] = isset($data['title']) ? str_replace('\'', ' ', addslashes($data['title'])) : NULL;
$datalist[$data['id']]['link'] = $mymps_global[SiteUrl] . Rewrite('info', array('id' => $data['id'], 'dir_typename' => $data['dir_typename'], 'areaid' => $data['areaid']));
$datalist[$data['id']]['begintime'] = date($jsdateformat, $data['begintime']);
$datalist[$data['id']]['hit'] = $data['hit'];
$datalist[$data['id']]['ifbold'] = $data['ifbold'];
$datalist[$data['id']]['ifred'] = $data['ifred'];
$datalist[$data['id']]['introduce'] = str_replace(array('\'', '
', '
'), array(' ', '', ''), addslashes(cutstr(mhtmlspecialchars(preg_replace('/(\\[.+\\])/s', '', strip_tags(nl2br($data['content'])))), 255)));
if ($data['userid'] && $data['ismember'] == 1) {
$datalist[$data['id']]['author'] = ' $data['userid'])) . '\' target=\'_blank\'>' . $data[userid] . '';
}
else {
$datalist[$data['id']]['author'] = !empty($data['contact_who']) ? $data['contact_who'] : '游客';
}
}
$writedata = '';
if (is_array($datalist)) {
foreach ($datalist as $t => $val) {
$SubjectStyles = '';
$SubjectStyles .= ' style=\'';
$SubjectStyles .= $val['ifbold'] == 1 ? 'font-weight: bold;' : NULL;
$SubjectStyles .= $val['ifred'] == 1 ? 'color: red;' : NULL;
$SubjectStyles .= '\'';
$val['title'] = cutstr($val['title'], $catnamelength ? $maxlength - $val['catnamelength'] : $maxlength);
$replace['{link}'] = $val['link'];
$replace['{title}'] = '' . $val['title'] . '';
$replace['{title_nolink}'] = $val['title'];
$replace['{catname}'] = '' . $val['catname'] . '';
$replace['{begintime}'] = $val['begintime'];
$replace['{introduce}'] = $val['introduce'];
$replace['{author}'] = $val['author'];
$replace['{hit}'] = $val['hit'];
$replace['{imgpath}'] = $mymps_global['SiteUrl'] . ($val['img_path'] ? $val['img_path'] : '/images/nophoto.gif');
$writedata .= str_replace(array_keys($replace), $replace, $jstemplate);
}
}
break;
case 'news':
$catid = $parameter['catid'] ? $parameter['catid'] : NULL;
$newwindow = !empty($parameter['newwindow']) ? $parameter['newwindow'] : 1;
$items = !empty($parameter['items']) ? intval($parameter['items']) : 10;
$maxlength = !empty($parameter['maxlength']) ? intval($parameter['maxlength']) : 40;
$special = $parameter['special'];
$orderby = !empty($parameter['orderby']) ? ($parameter['orderby'] == 'views' ? 'hit' : NULL) : NULL;
$jstemplate = !empty($parameter['jstemplate']) ? $parameter['jstemplate'] : '