当前位置: 首页 > 工具软件 > PHP-TibJMS > 使用案例 >

faq php,faq.php

越健
2023-12-01

define('SCR','faq');

if (isset($_POST['ajax'])) {

define('AJAX', '1');

}

require_once('global.php');

//* include_once pwCache::getPath(D_P.'data/bbscache/help_cache.php');

pwCache::getData(D_P.'data/bbscache/help_cache.php');

$pages = $db_unioninfo = '';

$catedb = $helpNav = $hasChildArray = $firstLevel = $secondLevel = array();

S::gp(array('hid'));

$hid = (int) $hid;

if (!$hid) {

list($db_unioninfo) = explode("\t",readover(D_P.'data/bbscache/info.txt'));

strpos($db_unioninfo,'') === false && $db_unioninfo = '';

} elseif ($hid && $_HELP[$hid]['fathers']) {

$fathers = strpos($_HELP[$hid]['fathers'], ',') !== false ? explode(',', $_HELP[$hid]['fathers']) : array($_HELP[$hid]['fathers']);

foreach ($fathers as $value) {

$helpNav[] = '' . $_HELP[$value]['title'] . '';

}

$helpNav[] = $_HELP[$hid]['title'];

}

foreach ($_HELP as $key => $value) {

$tempArray = array();

!$value['url'] && ($_HELP[$key]['url'] = $value['url'] = "faq.php?hid=$key");

$value['lv'] == 0 && $firstLevel[$key] = $value;

$value['lv'] == 1 && $secondLevel[$value['hup']][] = $value;

!$value['fathers'] && $value['fathers'] = 0;

$tempArray = strpos($value['fathers'], ',') !== false ? explode(',', $value['fathers']) : array($value['fathers']);

$lastPosition = count($tempArray) - 1;

!S::inArray($key, $hasChildArray[$tempArray[$lastPosition]]) && $hasChildArray[$tempArray[$lastPosition]][] = $key;

}

if (S::getGP('action') != 'dosch') {

if ($hid) {

$queryContentArray = $lowerContent = array();

$result = $db->get_one('SELECT * FROM pw_help WHERE hid = ' . S::sqlEscape($hid));

$result['content'] && $result['content'] = nl2br($result['content']);

if ($result['ifchild']) {

foreach ($hasChildArray[$hid] as $value) {

!$_HELP[$value]['ifchild'] && $queryContentArray[] = $value;

}

if ($queryContentArray) {

$query = $db->query('SELECT * FROM pw_help WHERE hid IN (' . S::sqlImplode($queryContentArray) . ')');

while ($rs = $db->fetch_array($query)) {

$rs['content'] = nl2br($rs['content']);

$lowerContent[$rs['hid']] = $rs;

}

}

}

}

} else {

@set_time_limit(0);

S::gp(array('page','sid'),'GP',2);

S::gp(array('keyword','method','area'));

if ($keyword && strlen(trim($keyword)) < 2) {

echo '关键字长度不足2个字符,请重新输入'."\terror";

ajax_footer();

}

$keyword_A = array();

$schedid = '';

$orderby = 'ORDER BY hid DESC';

if ($sid > 0) {

@extract($db->get_one('SELECT total,schedid FROM pw_schcache WHERE sid='.S::sqlEscape($sid)));

$total = (int) $total;

} else {

if (empty($keyword)) {

echo '请输入搜索条件'."\terror";

ajax_footer();

}

$area = 1;

$method = 'OR';

$schline = md5('faq|'.trim($keyword).'|'.trim($method).'|'.trim($area).'|faq');

@extract($db->get_one('SELECT sid,total,schedid FROM pw_schcache WHERE schline='.S::sqlEscape($schline).' LIMIT 1'));

if (!$schedid) {

$db->update('DELETE FROM pw_schcache WHERE schtime

if ($keyword && $_G['searchtime'] != 0) {

$userService = L::loadClass('UserService', 'user'); /* @var $userService PW_UserService */

$userInfo = $userService->get($winduid, false, false, true);

if ($timestamp - $userInfo['lasttime'] < $_G['searchtime']) {

echo '对不起'.$GLOBALS['_G']['searchtime'].'秒内只能进行一次搜索'."\terror";

ajax_footer();

}

$userService->update($winduid, array(), array(), array('lasttime'=>$timestamp));

}

$keywhere= $sqlwhere = '';

$keyword= str_replace(array('%','_'),array('\%','\_'),trim($keyword));

$keyword_A = explode('|',$keyword);

foreach ($keyword_A as $value) {

if ($value) {

$value = addslashes($value);

$keywhere .= $method;

$like = S::sqlEscape("%$value%");

if ($area == '1' && $_G['allowsearch'] == 2) {

$keywhere .= " (title LIKE $like OR content LIKE $like)";

} else {

$keywhere .= " title LIKE $like";

}

}

}

if ($keywhere) {

$keywhere = substr_replace($keywhere,'',0,3);

$keywhere && $sqlwhere = $keywhere;

}

if (!$sqlwhere) {

echo '关键字非法'."\terror";

ajax_footer();

}

!$db_maxresult && $db_maxresult = 500;

$limit = S::sqlLimit($db_maxresult);

$total = 0;

$query = $db->query("SELECT hid FROM pw_help WHERE $sqlwhere $orderby $limit");

while ($rt = $db->fetch_array($query)) {

$total++;

$schedid .= ($schedid ? ',' : '').$rt['hid'];

}

$db->free_result($query);

if ($schedid) {

$pwSQL = S::sqlSingle(array(

'schline'=> $schline,

'schtime'=> $timestamp,

'total'=> $total,

'schedid'=> $schedid

));

$db->update("INSERT INTO pw_schcache SET $pwSQL");

$sid = $db->insert_id();

}

}

}

if ($schedid) {

$rawkeyword = '';

$page<1 && $page = 1;

$limit = S::sqlLimit(($page-1)*$db_perpage,$db_perpage);

$keyword_A = explode('|',$keyword);

$rawkeyword = rawurlencode($keyword);

$sqlwhere = 'hid ';

if (!is_numeric($schedid)) {

$sqlwhere .= " IN ('".str_replace(',',"','",$schedid)."')";

} else {

$sqlwhere .= " = '$schedid'";

}

$returnString = '';

$query = $db->query("SELECT hid,content FROM pw_help WHERE $sqlwhere $orderby $limit");

while ($rt = $db->fetch_array($query)) {

if ($rt['content']) {

foreach ($keyword_A as $value) {

$value && $rt['content'] = preg_replace('/(?<=[^\w=]|^)('.preg_quote($value,'/').')(?=[^\w=]|$)/si','\\1',$rt['content']);

}

$rt['title'] = $_HELP[$rt['hid']]['title'];

$rt['ifchild'] = $_HELP[$rt['hid']]['ifchild'];

$rt['hup'] = $rt['ifchild'] ? $rt['hid'] : $_HELP[$rt['hid']]['hup'];

$returnString .= '

' . $rt['title'] . '
' . $rt['content'] . '
';

//$catedb[$rt['hid']] = $rt;

}

}

$db->free_result($query);

if ($total > $db_perpage) {

require_once(R_P.'require/forum.php');

$numofpage = ceil($total/$db_perpage);

$pages = numofpage($total,$page,$numofpage,"faq.php?action=dosch&sid=$sid&keyword=$rawkeywordfaq0");

}

echo $returnString . $pages . "\tok";ajax_footer();

} else {

echo '没有查找匹配的内容'."\terror";

ajax_footer();

}

}

require_once(R_P.'require/header.php');

require_once PrintEot('faq');footer();

?>

一键复制

编辑

Web IDE

原始数据

按行查看

历史

 类似资料:

相关阅读

相关文章

相关问答