📄 ad_forums.php
字号:
$cat = -1;
$parent = -1;
if ( preg_match( "/^c_(\\d+)\$/", $IN['CATEGORY'], $match ) )
{
$cat = $match[1];
}
else
{
$parent = preg_replace( "/^f_/", "", $IN['CATEGORY'] );
$DB->query( "SELECT category FROM ibf_forums WHERE id='{$parent}'" );
if ( $forum_result = $DB->fetch_row( ) )
{
$cat = $forum_result['category'];
}
}
$db_string = $DB->compile_db_insert_string( array(
"id" => $row['top_forum'],
"position" => $row['top_forum'],
"topics" => 0,
"posts" => 0,
"last_post" => "",
"last_poster_id" => "",
"last_poster_name" => "",
"name" => $IN['FORUM_NAME'],
"description" => str_replace( "\n", "<br>", stripslashes( $HTTP_POST_VARS['FORUM_DESC'] ) ),
"use_ibc" => $IN['FORUM_IBC'],
"use_html" => $IN['FORUM_HTML'],
"status" => $IN['FORUM_STATUS'],
"start_perms" => $perms['START'],
"reply_perms" => $perms['REPLY'],
"read_perms" => $perms['READ'],
"upload_perms" => $perms['UPLOAD'],
"password" => $IN['FORUM_PROTECT'],
"category" => $cat,
"last_id" => "",
"last_title" => "",
"sort_key" => $IN['SORT_KEY'],
"sort_order" => $IN['SORT_ORDER'],
"prune" => $IN['PRUNE_DAYS'],
"show_rules" => 0,
"preview_posts" => $IN['MODERATE'],
"allow_poll" => $IN['allow_poll'],
"allow_pollbump" => $IN['allow_pollbump'],
"inc_postcount" => $IN['inc_postcount'],
"parent_id" => $parent,
"sub_can_post" => $IN['sub_can_post']
) );
$DB->query( "INSERT INTO ibf_forums (".$db_string['FIELD_NAMES'].") VALUES (".$db_string['FIELD_VALUES'].")" );
if ( $parent != -1 )
{
$DB->query( "UPDATE ibf_forums SET subwrap=1 WHERE id='{$parent}'" );
}
$ADMIN->save_log( "添加论坛栏目:'{$IN['FORUM_NAME']}' " );
$ADMIN->done_screen( "论坛栏目 {$IN['FORUM_NAME']} 已经建立", "论坛设置控制面板", "act=cat" );
}
function add_sub( )
{
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( "你必须输入论坛栏目名称" );
}
$DB->query( "SELECT MAX(id) as top_forum FROM ibf_forums" );
$row = $DB->fetch_row( );
if ( $row['top_forum'] < 1 )
{
$row['top_forum'] = 0;
}
++$row['top_forum'];
$perms = $ADMIN->compile_forum_perms( );
$db_string = $DB->compile_db_insert_string( array(
"id" => $row['top_forum'],
"position" => $row['top_forum'],
"topics" => 0,
"posts" => 0,
"last_post" => "",
"last_poster_id" => "",
"last_poster_name" => "",
"name" => $IN['FORUM_NAME'],
"description" => str_replace( "\n", "<br>", stripslashes( $HTTP_POST_VARS['desc'] ) ),
"use_ibc" => $IN['FORUM_IBC'],
"use_html" => $IN['FORUM_HTML'],
"status" => $IN['FORUM_STATUS'],
"start_perms" => $perms['START'],
"reply_perms" => $perms['REPLY'],
"read_perms" => $perms['READ'],
"upload_perms" => $perms['UPLOAD'],
"password" => $IN['FORUM_PROTECT'],
"category" => $IN['CATEGORY'],
"last_id" => "",
"last_title" => "",
"sort_key" => $IN['SORT_KEY'],
"sort_order" => $IN['SORT_ORDER'],
"prune" => $IN['PRUNE_DAYS'],
"show_rules" => 0,
"preview_posts" => $IN['MODERATE'],
"allow_poll" => $IN['allow_poll'],
"allow_pollbump" => $IN['allow_pollbump'],
"inc_postcount" => -1,
"sub_can_post" => $IN['sub_can_post'],
"subwrap" => 1
) );
$DB->query( "INSERT INTO ibf_forums (".$db_string['FIELD_NAMES'].") VALUES (".$db_string['FIELD_VALUES'].")" );
$ADMIN->save_log( "建立论坛栏目:'{$IN['FORUM_NAME']}' " );
$ADMIN->done_screen( "论坛栏目 {$IN['FORUM_NAME']} 已经建立", "论坛设置控制面板", "act=cat" );
}
function edit_form( )
{
global $IN;
global $INFO;
global $DB;
global $SKIN;
global $ADMIN;
global $std;
global $MEMBER;
global $GROUP;
if ( $IN['f'] == "" )
{
$ADMIN->error( "没有选择要进行编辑的论坛栏目!" );
}
$cats = array( );
$seen = array( );
$last_cat_id = -1;
$DB->query( "SELECT c.id, c.name, f.subwrap, f.id as forum_id, f.name as forum_name, f.subwrap, f.parent_id, f.category FROM ibf_categories c, ibf_forums f WHERE c.id > 0 ORDER BY c.position, f.position" );
while ( $r = $DB->fetch_row( ) )
{
if ( 0 < $r['parent_id'] )
{
}
else
{
if ( $last_cat_id != $r['id'] )
{
$cats[] = array(
"c_".$r['id'],
"论坛分类:".$r['name']
);
$seen[$r['id']] = 1;
$last_cat_id = $r['id'];
}
if ( !( $r['category'] == $r['id'] ) && !( $r['forum_id'] != $IN['f'] ) )
{
$cats[] = array(
"f_".$r['forum_id'],
"论坛栏目:".$r['forum_name']
);
}
}
}
$DB->query( "SELECT * FROM ibf_forums WHERE id='".$IN['f']."'" );
$forum = $DB->fetch_row( );
if ( $forum['id'] == "" )
{
$ADMIN->error( "无法找到相关论坛栏目数据 {$IN['f']}" );
}
$real_parent = "";
if ( $forum['parent_id'] < 1 )
{
$real_parent = "c_".$forum['category'];
}
else
{
$real_parent = "f_".$forum['parent_id'];
}
$ADMIN->page_title = "编辑论坛栏目";
$ADMIN->page_detail = "你可以在下面编辑一个已经存在的论坛栏目,如果你想编辑论坛栏目访问权限设置,请点击[编辑权限]选项。";
$ADMIN->html .= $SKIN->start_form( array(
1 => array( "code", "doedit" ),
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( "论坛参数设置" );
$ADMIN->html .= $SKIN->add_td_row( array(
"<b>添加到哪个论坛分类下?</b><br>",
$SKIN->form_dropdown( "CATEGORY", $cats, $real_parent )
) );
$ADMIN->html .= $SKIN->add_td_row( array(
"<b>论坛栏目状态:</b>",
$SKIN->form_dropdown( "FORUM_STATUS", array(
0 => array( 1, "立即启用" ),
1 => array( 0, "只读文档" )
), $forum['status'] )
) );
$ADMIN->html .= $SKIN->end_table( );
$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_input( "FORUM_NAME", $forum['name'] )
) );
$ADMIN->html .= $SKIN->add_td_row( array(
"<b>论坛栏目叙述:</b><br>你可以使用 HTML 语言 - 断行将自动被转换为 <br>",
$SKIN->form_textarea( "FORUM_DESC", str_replace( "<br>", "\n", $forum['description'] ) )
) );
$ADMIN->html .= $SKIN->end_table( );
if ( 0 < $forum['parent_id'] )
{
$st = "<span style='color:#AAAAAA'>";
$end = "</span>";
$extra = "<span id='normal' style='color:red'><br><b>注意:</b>此论坛栏目不是一个论坛子分类,这个选项将无效。</span>";
}
$SKIN->td_header[] = array( " ", "40%" );
$SKIN->td_header[] = array( " ", "60%" );
$ADMIN->html .= $SKIN->start_table( $st."论坛全局参数设置:是否允许用户在此论坛栏目发表帖子?".$end );
$ADMIN->html .= $SKIN->add_td_row( array(
"<b>是否允许用户在此论坛栏目发表主题和回复?</b><br>选择'是',所有的论坛子分类将显示在帖子的上面。选择'否',此功能将失效,你可以省略不添。",
$SKIN->form_yes_no( "sub_can_post", $forum['sub_can_post'] ).$extra
) );
$ADMIN->html .= $SKIN->end_table( );
$SKIN->td_header[] = array( " ", "40%" );
$SKIN->td_header[] = array( " ", "60%" );
$ADMIN->html .= $SKIN->start_table( "论坛帖子发表参数设置" );
$ADMIN->html .= $SKIN->add_td_row( array(
"<b>是否允许在帖子中使用 HTML 语言?</b>",
$SKIN->form_yes_no( "FORUM_HTML", $forum['use_html'] )
) );
$ADMIN->html .= $SKIN->add_td_row( array(
"<b>是否允许在帖子中使用 IBF 代码?</b>",
$SKIN->form_yes_no( "FORUM_IBC", $forum['use_ibc'] )
) );
$ADMIN->html .= $SKIN->add_td_row( array(
"<b>是否允许在论坛中发表投票主题?</b>",
$SKIN->form_yes_no( "allow_poll", $forum['allow_poll'] )
) );
$ADMIN->html .= $SKIN->add_td_row( array(
"<b>是否将用户的投票计算为回复帖子?</b>",
$SKIN->form_yes_no( "allow_pollbump", $forum['allow_pollbump'] )
) );
$ADMIN->html .= $SKIN->add_td_row( array(
"<b>是否自动增加用户发表帖子的计数值?</b>",
$SKIN->form_yes_no( "inc_postcount", $forum['inc_postcount'] )
) );
$ADMIN->html .= $SKIN->add_td_row( array(
"<b>是否在帖子发表前进行帖子发表审核?</b><br>(必须由版主通过审核后,才能正式发表帖子到论坛)",
$SKIN->form_yes_no( "MODERATE", $forum['preview_posts'] )
) );
$ADMIN->html .= $SKIN->add_td_row( array(
"<b>是否使用登录密码才能访问论坛?</b><br>(不填写表示禁止使用此功能,你也可以在表单中输入一个用户登录论坛的密码。)",
$SKIN->form_input( "FORUM_PROTECT", $forum['password'] )
) );
$ADMIN->html .= $SKIN->add_td_row( array(
"<b>论坛默认显示主题的天数:</b>",
$SKIN->form_dropdown( "PRUNE_DAYS", array(
0 => array( 1, "显示今天主题" ),
1 => array( 5, "显示5天前" ),
2 => array( 7, "显示7天前" ),
3 => array( 10, "显示10天前" ),
4 => array( 15, "显示15天前" ),
5 => array( 20, "显示20天前" ),
6 => array( 25, "显示25天前" ),
7 => array( 30, "显示30天前" ),
8 => array( 60, "显示60天前" ),
9 => array( 90, "显示90天前" ),
10 => array( 100, "显示所有主题" )
), $forum['prune'] )
) );
$ADMIN->html .= $SKIN->add_td_row( array(
"<b>默认的帖子显示方式:</b>",
$SKIN->form_dropdown( "SORT_KEY", array(
0 => array( "last_post", "最后回复日期" ),
1 => array( "title", "主题标题名称" ),
2 => array( "starter_name", "发表作者名字" ),
3 => array( "posts", "主题回复数量" ),
4 => array( "views", "主题查看数量" ),
5 => array( "start_date", "主题发表日期" ),
6 => array( "last_poster_name", "最后发表作者" )
), $forum['sort_key'] )
) );
$ADMIN->html .= $SKIN->add_td_row( array(
"<b>默认的帖子排列方式:</b>",
$SKIN->form_dropdown( "SORT_ORDER", array(
0 => array( "Z-A", "降序排列(Z - A,0 - 10)" ),
1 => array( "A-Z", "升序排列(A - Z,10 - 0)" )
), $forum['sort_order'] )
) );
$ADMIN->html .= $SKIN->end_form( "编辑此论坛栏目" );
$ADMIN->html .= $SKIN->end_table( );
$ADMIN->output( );
}
function do_edit( )
{
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['FORUM_NAME'] );
if ( $IN['FORUM_NAME'] == "" )
{
$ADMIN->error( "你必须输入论坛栏目名称" );
}
$DB->query( "SELECT * from ibf_forums WHERE id='".$IN['f']."'" );
$old_details = $DB->fetch_row( );
$cat = -1;
$parent = -1;
if ( preg_match( "/^c_(\\d+)\$/", $IN['CATEGORY'], $match ) )
{
$cat = $match[1];
}
else
{
$parent = preg_replace( "/^f_/", "", $IN['CATEGORY'] );
$DB->query( "SELECT category FROM ibf_forums WHERE id='{$parent}'" );
if ( $forum_result = $DB->fetch_row( ) )
{
$cat = $forum_result['category'];
}
}
$db_string = $DB->compile_db_update_string( array(
"name" => $IN['FORUM_NAME'],
"description" => str_replace( "\n", "<br>", stripslashes( $HTTP_POST_VARS['FORUM_DESC'] ) ),
"use_ibc" => $IN['FORUM_IBC'],
"use_html" => $IN['FORUM_HTML'],
"status" => $IN['FORUM_STATUS'],
"password" => $IN['FORUM_PROTECT'],
"category" => $cat,
"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'],
"parent_id" => $parent,
"sub_can_post" => $IN['sub_can_post']
) );
$DB->query( "UPDATE ibf_forums SET {$db_string} WHERE id='".$IN['f']."'" );
if ( $parent != -1 )
{
$DB->query( "UPDATE ibf_forums SET subwrap=1 WHERE id='{$parent}'" );
}
if ( 0 < $old_details['parent_id'] && $old_details['parent_id'] != $parent )
{
$DB->query( "SELECT id FROM ibf_forums WHERE parent_id='{$old_details['parent_id']}'" );
if ( !$DB->get_num_rows( ) )
{
$DB->query( "UPDATE ibf_forums SET subwrap=0 WHERE id='{$old_details['parent_id']}'" );
}
}
$ADMIN->save_log( "编辑论坛栏目:'{$IN['name']}' " );
$ADMIN->done_screen( "论坛栏目 {$IN['name']} 编辑完成", "论坛设置控制面板", "act=cat" );
}
function perm_edit_form( )
{
global $IN;
global $INFO;
global $DB;
global $SKIN;
global $ADMIN;
global $std;
global $MEMBER;
global $GROUP;
if ( $IN['f'] == "" )
{
$ADMIN->error( "你没有选择需要编辑的论坛栏目!" );
}
$cats = array( );
$DB->query( "SELECT id,name FROM ibf_categories ORDER BY position" );
while ( $r = $DB->fetch_row( ) )
{
$cats[] = array(
$r['CAT_ID'],
$r['CAT_NAME']
);
}
$DB->query( "SELECT * FROM ibf_forums WHERE id='".$IN['f']."'" );
$forum = $DB->fetch_row( );
if ( $forum['id'] == "" )
{
$ADMIN->error( "无法找到相关论坛栏目ID数据 {$IN['f']}" );
}
$ADMIN->page_title = "编辑论坛栏目访问权限:".$forum['name'];
$ADMIN->page_detail = "你可以在下面编辑一个已经存在的论坛栏目,如果你想编辑论坛栏目访问权限设置,请点击[编辑权限]选项。";
$ADMIN->html .= $SKIN->start_form( array(
1 => array( "code", "pdoedit" ),
2 => array( "act", "forum" ),
3 => array(
"f",
$IN['f']
),
4 => array(
"name",
$forum['name']
)
) );
$SKIN->td_header[] = array( " ", "20%" );
$SKIN->td_header[] = array( " ", "80%" );
$ADMIN->html .= $SKIN->start_table( "论坛栏目访问权限设置" );
$ADMIN->html .= $SKIN->add_td_row( array(
"<b>论坛栏目访问权限设置</b><br>(请在下面进行选择,如果对某个用户团队禁止查看权限,那么这个用户团队将不能查看论坛栏目)",
$SKIN->build_group_perms( $forum['read_perms'], $forum['start_perms'], $forum['reply_perms'], $forum['upload_perms'] )
) );
$ADMIN->html .= $SKIN->end_form( "编辑此论坛栏目" );
$ADMIN->html .= $SKIN->end_table( );
$ADMIN->output( );
}
function perm_do_edit( )
{
global $IN;
global $INFO;
global $DB;
global $SKIN;
global $ADMIN;
global $std;
global $MEMBER;
global $GROUP;
$perms = $ADMIN->compile_forum_perms( );
$db_string = $DB->compile_db_update_string( array(
"start_perms" => $perms['START'],
"reply_perms" => $perms['REPLY'],
"read_perms" => $perms['READ'],
"upload_perms" => $perms['UPLOAD']
) );
$DB->query( "UPDATE ibf_forums SET {$db_string} WHERE id='".$IN['f']."'" );
$ADMIN->save_log( "编辑论坛栏目访问权限:'{$IN['name']}'" );
$ADMIN->done_screen( "编辑论坛栏目访问权限编辑完成", "论坛设置控制面板", "act=cat" );
}
}
ad_forums( );
$idx = new ad_forums( );
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -