query("SELECT id, fpid, title FROM {$tablepre}faqs ORDER BY displayorder");
while($faq = $db->fetch_array($query)) {
if(empty($faq['fpid'])) {
$faqparent[$faq['id']] = $faq;
} else {
$faqsub[$faq['fpid']][] = $faq;
}
}
if($action == 'faq') {
$id = intval($id);
if($ffaq = $db->fetch_first("SELECT title FROM {$tablepre}faqs WHERE fpid='$id'")) {
$navigation = "» $ffaq[title]";
$faqlist = array();
$messageid = empty($messageid) ? 0 : $messageid;
$query = $db->query("SELECT id,title,message FROM {$tablepre}faqs WHERE fpid='$id' ORDER BY displayorder");
while($faq = $db->fetch_array($query)) {
if(!$messageid) {
$messageid = $faq['id'];
}
$faqlist[] = $faq;
}
} else {
showmessage("faq_content_empty", 'faq.php');
}
} elseif($action == 'search') {
if(submitcheck('searchsubmit')) {
$keyword = isset($keyword) ? trim($keyword) : '';
if($keyword) {
$sqlsrch = '';
$searchtype = in_array($searchtype, array('all', 'title', 'message')) ? $searchtype : 'all';
switch($searchtype) {
case 'all':
$sqlsrch = "WHERE title LIKE '%$keyword%' OR message LIKE '%$keyword%'";
break;
case 'title':
$sqlsrch = "WHERE title LIKE '%$keyword%'";
break;
case 'message':
$sqlsrch = "WHERE message LIKE '%$keyword%'";
break;
}
$keyword = stripslashes($keyword);
$faqlist = array();
$query = $db->query("SELECT fpid, title, message FROM {$tablepre}faqs $sqlsrch ORDER BY displayorder");
while($faq = $db->fetch_array($query)) {
if(!empty($faq['fpid'])) {
$faq['title'] = preg_replace("/(?<=[\s\"\]>()]|[\x7f-\xff]|^)(".preg_quote($keyword, '/').")(([.,:;-?!()\s\"<\[]|[\x7f-\xff]|$))/siU", "\\1\\2", stripslashes($faq['title']));
$faq['message'] = preg_replace("/(?<=[\s\"\]>()]|[\x7f-\xff]|^)(".preg_quote($keyword, '/').")(([.,:;-?!()\s\"<\[]|[\x7f-\xff]|$))/siU", "\\1\\2", stripslashes($faq['message']));
$faqlist[] = $faq;
}
}
} else {
showmessage('faq_keywords_empty', 'faq.php');
}
}
} elseif($action == 'credits') {
if(empty($extcredits)) {
showmessage('credits_disabled');
}
require_once DISCUZ_ROOT.'./include/forum.func.php';
$forumlist = forumselect(FALSE, 0, $fid);
$policyarray = array();
foreach($creditspolicy as $operation => $policy) {
!$forum && $policyarray[$operation] = $policy;
if(in_array($operation, array('post', 'reply', 'digest', 'postattach', 'getattach'))) {
if($forum) {
$policyarray[$operation] = $forum[$operation.'credits'] ? $forum[$operation.'credits'] : $creditspolicy[$operation];
}
}
}
$creditsarray = array();
for($i = 1; $i <= 8; $i++) {
if(isset($extcredits[$i])) {
foreach($policyarray as $operation => $policy) {
$addcredits = in_array($operation, array('getattach', 'forum_getattach', 'sendpm', 'search')) ? -$policy[$i] : $policy[$i];
if($operation != 'lowerlimit') {
$creditsarray[$operation][$i] = empty($policy[$i]) ? 0 : (is_numeric($policy[$i]) ? ''.($addcredits > 0 ? '+'.$addcredits : $addcredits).' '.$extcredits[$i]['unit'] : $policy[$i]);
} else {
$creditsarray[$operation][$i] = ''.intval($addcredits).' '.$extcredits[$i]['unit'];
}
}
}
}
if(!$forum) {
$query = $db->query("SELECT * FROM {$tablepre}usergroups WHERE type='member' ORDER BY type");
while($group = $db->fetch_array($query)) {
$extgroups[] = $group;
}
}
include template('credits');
exit;
}
include template('faq');
?>