📄 ad_forums.php
字号:
$ADMIN->output( );
}
function doeditsub( )
{
global $IN;
global $INFO;
global $DB;
global $SKIN;
global $ADMIN;
global $std;
global $MEMBER;
global $GROUP;
global $HTTP_POST_VARS;
$IN['FORUM_NAME'] = trim( $IN['name'] );
if ( $IN['FORUM_NAME'] == "" )
{
$ADMIN->error( "你必须输入论坛栏目名称" );
}
if ( $IN['f'] == "" )
{
$ADMIN->error( "没有选择论坛栏目ID,请返回重试!" );
}
$db_string = $DB->compile_db_update_string( array(
"name" => $IN['FORUM_NAME'],
"description" => str_replace( "\n", "<br>", stripslashes( $HTTP_POST_VARS['desc'] ) ),
"category" => $IN['CATEGORY'],
"subwrap" => 1,
"sub_can_post" => $IN['sub_can_post'],
"use_ibc" => $IN['FORUM_IBC'],
"use_html" => $IN['FORUM_HTML'],
"status" => $IN['FORUM_STATUS'],
"password" => $IN['FORUM_PROTECT'],
"sort_key" => $IN['SORT_KEY'],
"sort_order" => $IN['SORT_ORDER'],
"prune" => $IN['PRUNE_DAYS'],
"preview_posts" => $IN['MODERATE'],
"allow_poll" => $IN['allow_poll'],
"allow_pollbump" => $IN['allow_pollbump'],
"inc_postcount" => $IN['inc_postcount']
) );
$DB->query( "UPDATE ibf_forums SET {$db_string} WHERE id='".$IN['f']."'" );
$ADMIN->save_log( "编辑论坛子分类:'{$IN['FORUM_NAME']}'" );
$ADMIN->done_screen( "论坛栏目编辑完成", "论坛栏目控制面板", "act=cat" );
}
function show_rules( )
{
global $IN;
global $INFO;
global $DB;
global $SKIN;
global $ADMIN;
global $std;
global $MEMBER;
global $GROUP;
if ( $IN['f'] == "" )
{
$ADMIN->error( "没有找到需要清空的论坛栏目ID。" );
}
$DB->query( "SELECT id, name, show_rules FROM ibf_forums WHERE id='".$IN['f']."'" );
if ( !$DB->get_num_rows( ) )
{
$ADMIN->error( "无法找到论坛栏目ID" );
}
$forum = $DB->fetch_row( );
$DB->query( "SELECT * FROM ibf_rules WHERE fid='".$forum['id']."'" );
$rules = $DB->fetch_row( );
$ADMIN->page_title = "论坛规则设置";
$ADMIN->page_detail = "你可以 编辑/添加/删除/修改 论坛规则的显示。";
$ADMIN->html .= $SKIN->start_form( array(
1 => array( "code", "dorules" ),
2 => array( "act", "forum" ),
3 => array(
"f",
$IN['f']
)
) );
$SKIN->td_header[] = array( " ", "40%" );
$SKIN->td_header[] = array( " ", "60%" );
$ADMIN->html .= $SKIN->start_table( "论坛规则参数设置" );
$ADMIN->html .= $SKIN->add_td_row( array(
"<b>是否显示论坛规则?</b>",
$SKIN->form_yes_no( "show_rules", $forum['show_rules'] )
) );
$ADMIN->html .= $SKIN->add_td_row( array(
"<b>显示论坛规则的方式:</b>",
$SKIN->form_dropdown( "show_all", array(
0 => array( "0", "只显示链接" ),
1 => array( "1", "显示全部内容" )
), $rules['show_all'] )
) );
$ADMIN->html .= $SKIN->add_td_row( array(
"<b>论坛规则名称:</b>",
$SKIN->form_input( "title", stripslashes( $rules['title'] ) )
) );
$ADMIN->html .= $SKIN->add_td_row( array(
"<b>论坛规则内容:</b><br>(允许使用 HTML 语言)",
$SKIN->form_textarea( "body", stripslashes( $rules['body'] ), 65, 20 )
) );
$ADMIN->html .= $SKIN->end_form( "编辑论坛规则" );
$ADMIN->html .= $SKIN->end_table( );
$ADMIN->output( );
}
function do_rules( )
{
global $IN;
global $INFO;
global $DB;
global $SKIN;
global $ADMIN;
global $std;
global $MEMBER;
global $GROUP;
global $HTTP_POST_VARS;
if ( $IN['f'] == "" )
{
$ADMIN->error( "没有找到需要清空的论坛栏目ID。" );
}
$rules = array(
"title" => $ADMIN->make_safe( $HTTP_POST_VARS['title'] ),
"body" => $ADMIN->make_safe( $HTTP_POST_VARS['body'] ),
"updated" => time( ),
"show_all" => $IN['show_all']
);
$DB->query( "UPDATE ibf_forums SET show_rules='".$IN['show_rules']."' WHERE id='".$IN['f']."'" );
$DB->query( "SELECT fid FROM ibf_rules WHERE fid='".$IN['f']."'" );
if ( $DB->get_num_rows( ) )
{
$string = $DB->compile_db_update_string( $rules );
$DB->query( "UPDATE ibf_rules SET {$string} WHERE fid='".$IN['f']."'" );
}
else
{
$rules['fid'] = $IN['f'];
$string = $DB->compile_db_insert_string( $rules );
$DB->query( "INSERT INTO ibf_rules (".$string['FIELD_NAMES'].") VALUES (".$string['FIELD_VALUES'].")" );
}
$ADMIN->save_log( "更新论坛规则" );
$ADMIN->done_screen( "论坛规则更新完成", "论坛设置控制面板", "act=cat" );
}
function recount( $f_override = "" )
{
global $IN;
global $INFO;
global $DB;
global $SKIN;
global $ADMIN;
global $std;
global $MEMBER;
global $GROUP;
if ( $f_override != "" )
{
$IN['f'] = $f_override;
}
$DB->query( "SELECT name FROM ibf_forums WHERE id='".$IN['f']."'" );
$forum = $DB->fetch_row( );
if ( $IN['f'] == "" )
{
$ADMIN->error( "没有找到需要重新计算的论坛栏目ID。" );
}
$DB->query( "SELECT COUNT(tid) as count FROM ibf_topics WHERE approved=1 and forum_id='".$IN['f']."'" );
$topics = $DB->fetch_row( );
$DB->query( "SELECT COUNT(pid) as count FROM ibf_posts WHERE queued <> 1 and forum_id='".$IN['f']."'" );
$posts = $DB->fetch_row( );
$DB->query( "SELECT tid, title, last_poster_id, last_poster_name, last_post FROM ibf_topics WHERE approved=1 and forum_id='".$IN['f']."' ORDER BY last_post DESC LIMIT 0,1" );
$last_post = $DB->fetch_row( );
$postc = $posts['count'] - $topics['count'];
if ( $postc < 0 )
{
$postc = 0;
}
$db_string = $DB->compile_db_update_string( array(
"last_poster_id" => $last_post['last_poster_id'],
"last_poster_name" => $last_post['last_poster_name'],
"last_post" => $last_post['last_post'],
"last_title" => $last_post['title'],
"last_id" => $last_post['tid'],
"topics" => $topics['count'],
"posts" => $postc
) );
$DB->query( "UPDATE ibf_forums SET {$db_string} WHERE id='".$IN['f']."'" );
if ( $f_override != "" )
{
return TRUE;
}
$ADMIN->save_log( "重新计算帖子发表数量:'{$forum['name']}'" );
$ADMIN->done_screen( "论坛重新计算已经完成", "论坛设置控制面板", "act=cat" );
}
function empty_form( )
{
global $IN;
global $INFO;
global $DB;
global $SKIN;
global $ADMIN;
global $std;
global $MEMBER;
global $GROUP;
$form_array = array( );
if ( $IN['f'] == "" )
{
$ADMIN->error( "没有找到需要清空的论坛栏目ID。" );
}
$DB->query( "SELECT id, name FROM ibf_forums WHERE id='".$IN['f']."'" );
if ( !$DB->get_num_rows( ) )
{
$ADMIN->error( "没有找到论坛栏目ID。" );
}
$forum = $DB->fetch_row( );
$ADMIN->page_title = "清空论坛栏目:'{$forum['name']}'";
$ADMIN->page_detail = "此操作将删除所有的主题、回复、投票内容。<br>论坛栏目本身不会被删除 - 请在执行此操作前仔细进行核查。";
$ADMIN->html .= $SKIN->start_form( array(
1 => array( "code", "doempty" ),
2 => array( "act", "forum" ),
3 => array(
"f",
$IN['f']
),
4 => array(
"name",
$forum['name']
)
) );
$SKIN->td_header[] = array( " ", "40%" );
$SKIN->td_header[] = array( " ", "60%" );
$ADMIN->html .= $SKIN->start_table( "清空论坛栏目:'{$forum['name']}" );
$ADMIN->html .= $SKIN->add_td_row( array(
"<b>需要清空的论坛栏目:</b>",
$forum['name']
) );
$ADMIN->html .= $SKIN->end_form( "清空这个论坛栏目" );
$ADMIN->html .= $SKIN->end_table( );
$ADMIN->output( );
}
function do_empty( )
{
global $IN;
global $INFO;
global $DB;
global $SKIN;
global $ADMIN;
global $std;
global $MEMBER;
global $GROUP;
if ( $IN['f'] == "" )
{
$ADMIN->error( "无法找到论坛栏目ID文件。" );
}
$DB->query( "SELECT id, posts, topics FROM ibf_forums WHERE id='".$IN['f']."'" );
if ( !( $forum = $DB->fetch_row( ) ) )
{
$ADMIN->error( "没有找到需要清空论坛栏目的详细信息" );
}
$DB->query( "DELETE FROM ibf_topics WHERE forum_id='".$IN['f']."'" );
$DB->query( "DELETE FROM ibf_posts WHERE forum_id='".$IN['f']."'" );
$DB->query( "DELETE FROM ibf_polls WHERE forum_id='".$IN['f']."'" );
$DB->query( "DELETE FROM ibf_voters WHERE forum_id='".$IN['f']."'" );
$DB->query( "UPDATE ibf_forums SET posts='0', topics='0', last_post='', last_poster_id='', last_poster_name='', last_title='', last_id='' WHERE id='".$IN['f']."'" );
$DB->query( "UPDATE ibf_stats SET TOTAL_TOPICS=TOTAL_TOPICS-".$forum['topics'].", TOTAL_REPLIES=TOTAL_REPLIES-".$forum['posts'] );
$ADMIN->save_log( "清空论坛栏目:'{$IN['name']}' of all posts" );
$ADMIN->done_screen( "论坛栏目已经清空", "论坛设置控制面板", "act=cat" );
}
function reorder_form( )
{
global $IN;
global $INFO;
global $DB;
global $SKIN;
global $ADMIN;
global $std;
global $MEMBER;
global $GROUP;
$ADMIN->page_title = "论坛栏目排序";
$ADMIN->page_detail = "如果需要对论坛栏目进行重新排序,那么只要从下拉菜单中选择你满意的排列序号,然后确认就可以了。";
$ADMIN->html .= $SKIN->start_form( array(
1 => array( "code", "doreorder" ),
2 => array( "act", "forum" )
) );
$SKIN->td_header[] = array( " ", "10%" );
$SKIN->td_header[] = array( "论坛分类和栏目名称", "60%" );
$SKIN->td_header[] = array( "主题回复", "15%" );
$SKIN->td_header[] = array( "主题发表", "15%" );
$ADMIN->html .= $SKIN->start_table( "你的论坛分类和栏目" );
$cats = array( );
$forums = array( );
$forum_in_cat = array( );
$children = array( );
$DB->query( "SELECT * from ibf_categories WHERE id > 0 ORDER BY position ASC" );
while ( $r = $DB->fetch_row( ) )
{
$cats[$r['id']] = $r;
}
$DB->query( "SELECT * from ibf_forums ORDER BY position ASC" );
while ( $r = $DB->fetch_row( ) )
{
if ( 0 < $r['parent_id'] )
{
$children[$r['parent_id']][] = $r;
}
else
{
$forums[] = $r;
++$forum_in_cat[$r['category']];
}
}
$i = 1;
$last_cat_id = -1;
foreach ( $cats as $c )
{
$ADMIN->html .= $SKIN->add_td_row( array(
" ",
$c['name'],
" ",
" "
), "catrow" );
$last_cat_id = $c['id'];
foreach ( $forums as $r )
{
if ( $r['category'] == $last_cat_id )
{
$form_array = array( );
$c = 1;
for ( ; $c <= $forum_in_cat[$r['category']]; ++$c )
{
++$i;
$form_array[] = array(
$c,
$c
);
}
if ( $r['subwrap'] == 1 )
{
$ADMIN->html .= $SKIN->add_td_row( array(
$SKIN->form_dropdown( "POS_".$r['id'], $form_array, $r['position'] ),
$r['name'],
" ",
" "
), "catrow2" );
}
else
{
$ADMIN->html .= $SKIN->add_td_row( array(
$SKIN->form_dropdown( "POS_".$r['id'], $form_array, $r['position'] ),
"<b>".$r['name']."</b><br>".$r['description'],
$r['posts'],
$r['topics']
) );
}
if ( isset( $children[$r['id']] ) && 0 < count( $children[$r['id']] ) )
{
foreach ( $children[$r['id']] as $idx => $rd )
{
$form_array = array( );
$c = 1;
for ( ; $c <= count( $children[$r['id']] ); ++$c )
{
++$i;
$form_array[] = array(
$c,
$c
);
}
$ADMIN->html .= $SKIN->add_td_row( array(
$SKIN->form_dropdown( "POS_".$rd['id'], $form_array, $rd['position'] ),
"<b>".$rd['name']."</b><br>".$rd['description'],
$rd['posts'],
$rd['topics']
), "subforum" );
}
}
}
}
}
$ADMIN->html .= $SKIN->end_form( "调整论坛栏目排序" );
$ADMIN->html .= $SKIN->end_table( );
$ADMIN->output( );
}
function do_reorder( )
{
global $IN;
global $INFO;
global $DB;
global $SKIN;
global $ADMIN;
global $std;
global $MEMBER;
global $GROUP;
$cat_query = $DB->query( "SELECT id from ibf_forums" );
while ( $r = $DB->fetch_row( $cat_query ) )
{
$order_query = $DB->query( "UPDATE ibf_forums SET position='".$IN["POS_".$r['id']]."' WHERE id='".$r['id']."'" );
}
$ADMIN->save_log( "调整论坛栏目排序" );
$ADMIN->done_screen( "论坛栏目排序已经调整", "论坛栏目排序", "act=cat" );
}
function delete_form( )
{
global $IN;
global $INFO;
global $DB;
global $SKIN;
global $ADMIN;
global $std;
global $MEMBER;
global $GROUP;
$form_array = array( );
if ( $IN['f'] == "" )
{
$ADMIN->error( "无法找到需要删除的论坛栏目ID。" );
}
$DB->query( "SELECT id, name FROM ibf_forums ORDER BY position" );
if ( $DB->get_num_rows( ) < 2 )
{
$ADMIN->error( "无法删除这个论坛栏目,请尝试建立其它论坛栏目" );
}
while ( $r = $DB->fetch_row( ) )
{
if ( $r['id'] == $IN['f'] )
{
$name = $r['name'];
}
else
{
$form_array[] = array(
$r['id'],
$r['name']
);
}
}
$ADMIN->page_title = "删除论坛栏目:'{$name}'";
$ADMIN->page_detail = "删除论坛栏目前,我们需要决定如何处理论坛栏目下的帖子。";
$ADMIN->html .= $SKIN->start_form( array(
1 => array( "code", "dodelete" ),
2 => array( "act", "forum" ),
3 => array(
"f",
$IN['f']
)
) );
$SKIN->td_header[] = array( " ", "40%" );
$SKIN->td_header[] = array( " ", "60%" );
$ADMIN->html .= $SKIN->start_table( "必须进行选择或填写" );
$ADMIN->html .= $SKIN->add_td_row( array(
"<b>删除论坛栏目:</b>",
$name
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -