📄 ad_wrappers.php
字号:
<?php
class ad_settings
{
var $base_url;
function ad_settings( )
{
global $IN;
global $INFO;
global $DB;
global $SKIN;
global $ADMIN;
global $std;
global $MEMBER;
global $GROUP;
$tmp_in = array_merge( $_GET, $_POST, $_COOKIE );
foreach ( $tmp_in as $k => $v )
{
}
switch ( $IN['code'] )
{
case "wrapper" :
$this->list_wrappers( );
break;
case "add" :
$this->add_splash( );
break;
case "edit" :
$this->do_form( "edit" );
break;
case "doadd" :
$this->save_wrapper( "add" );
break;
case "doedit" :
$this->save_wrapper( "edit" );
break;
case "remove" :
$this->remove( );
break;
case "export" :
$this->export( );
default :
$this->list_wrappers( );
break;
}
}
function add_splash( )
{
global $IN;
global $INFO;
global $DB;
global $SKIN;
global $ADMIN;
global $std;
global $MEMBER;
global $GROUP;
global $HTTP_POST_FILES;
$FILE_NAME = $HTTP_POST_FILES['FILE_UPLOAD']['name'];
$FILE_SIZE = $HTTP_POST_FILES['FILE_UPLOAD']['size'];
$FILE_TYPE = $HTTP_POST_FILES['FILE_UPLOAD']['type'];
$FILE_TYPE = preg_replace( "/^(.+?);.*\$/", "\\1", $FILE_TYPE );
if ( $HTTP_POST_FILES['FILE_UPLOAD']['name'] == "" || !$HTTP_POST_FILES['FILE_UPLOAD']['name'] || $HTTP_POST_FILES['FILE_UPLOAD']['name'] == "none" )
{
$this->do_form( "add" );
exit( );
}
if ( !is_dir( $INFO['upload_dir'] ) )
{
$ADMIN->error( "无法找到文件上传目录 - 请确认目录 'uploads' 是否存在或设置正确?" );
}
if ( !move_uploaded_file( $HTTP_POST_FILES['FILE_UPLOAD']['tmp_name'], $INFO['upload_dir']."/".$FILE_NAME ) )
{
$ADMIN->error( "文件上传失败" );
}
else
{
@chmod( $INFO['upload_dir']."/".$FILE_NAME, 511 );
}
$filename = $INFO['upload_dir']."/".$FILE_NAME;
if ( $FH = @fopen( $filename, "r" ) )
{
$data = @fread( $FH, @filesize( $filename ) );
@fclose( $FH );
@unlink( $filename );
}
else
{
$ADMIN->error( "无法打开和读取上传目录里的文件!" );
}
if ( !preg_match( "/<% COPYRIGHT %>/", $data ) )
{
$ADMIN->error( "此文件不是合法的论坛论坛首页模板文件" );
}
$wrap_name .= "新论坛论坛首页模板文件 (Upload ID: ".substr( time( ), -6 ).")";
$str = $DB->compile_db_insert_string( array(
"name" => $wrap_name,
"template" => $data
) );
$DB->query( "INSERT INTO ibf_templates ({$str['FIELD_NAMES']}) VALUES({$str['FIELD_VALUES']})" );
$ADMIN->done_screen( "论坛论坛首页模板文件导入完成", "论坛首页模板管理", "act=wrap" );
}
function export( )
{
global $IN;
global $INFO;
global $DB;
global $SKIN;
global $ADMIN;
global $std;
global $MEMBER;
global $GROUP;
if ( $IN['id'] == "" )
{
$ADMIN->error( "你必须指定一个存在的论坛首页模板文件ID,请返回后重试!" );
}
$DB->query( "SELECT * from ibf_templates WHERE tmid='".$IN['id']."'" );
if ( !( $row = $DB->fetch_row( ) ) )
{
$ADMIN->error( "无法在数据库中找到相关的数据信息" );
}
$l_name = preg_replace( "/\\s{1,}/", "_", $row['name'] );
$file_name = "wrap-".substr( $l_name, 0, 8 ).".html";
$row['template'] = preg_replace( "/\r\n/", "\n", $row['template'] );
@header( "Content-type: unknown/unknown" );
@header( "Content-Disposition: attachment; filename={$file_name}" );
print $row['template']."\n";
exit( );
}
function remove( )
{
global $IN;
global $INFO;
global $DB;
global $SKIN;
global $ADMIN;
global $std;
global $MEMBER;
global $GROUP;
global $HTTP_POST_VARS;
if ( $IN['id'] == "" )
{
$ADMIN->error( "你必须指定一个存在的论坛首页模板文件ID,请返回后重试!" );
}
$DB->query( "DELETE FROM ibf_templates WHERE tmid='".$IN['id']."'" );
$std->boink_it( $SKIN->base_url."&act=wrap" );
exit( );
}
function save_wrapper( $type = "add" )
{
global $IN;
global $INFO;
global $DB;
global $SKIN;
global $ADMIN;
global $std;
global $MEMBER;
global $GROUP;
global $HTTP_POST_VARS;
if ( $type == "edit" && $IN['id'] == "" )
{
$ADMIN->error( "你必须指定一个存在的论坛首页模板文件ID,请返回后重试!" );
}
if ( $IN['name'] == "" )
{
$ADMIN->error( "你必须输入一个论坛首页模板文件名称" );
}
if ( $IN['template'] == "" )
{
$ADMIN->error( "你不能使用一个无内容的论坛模板文件" );
}
$tmpl = preg_replace( "!</textarea>!", "/textarea>", stripslashes( $HTTP_POST_VARS['template'] ) );
$tmpl = str_replace( "&amp;", "&", $tmpl );
$tmpl = str_replace( "&nbsp;", " ", $tmpl );
$tmpl = preg_replace( "/\\\\/", "\", $tmpl );
$tmpl = preg_replace( "/\/", "\\\\\\\\", $tmpl );
if ( !preg_match( "/<% BOARD %>/", $tmpl ) )
{
$ADMIN->error( "你不能删除 <% BOARD %> 标签!" );
}
if ( !preg_match( "/<% COPYRIGHT %>/", $tmpl ) )
{
$ADMIN->error( "你不能删除 <% COPYRIGHT %> 标签!" );
}
$barney = array(
"name" => stripslashes( $HTTP_POST_VARS['name'] ),
"template" => $tmpl
);
if ( $type == "add" )
{
$db_string = $DB->compile_db_insert_string( $barney );
$DB->query( "INSERT INTO ibf_templates (".$db_string['FIELD_NAMES'].") VALUES(".$db_string['FIELD_VALUES'].")" );
$std->boink_it( $SKIN->base_url."&act=wrap" );
exit( );
}
else
{
$db_string = $DB->compile_db_update_string( $barney );
$DB->query( "UPDATE ibf_templates SET {$db_string} WHERE tmid='".$IN['id']."'" );
$ADMIN->done_screen( "论坛首页模板文件已经更新", "论坛首页模板", "act=wrap" );
}
}
function do_form( $type = "add" )
{
global $IN;
global $INFO;
global $DB;
global $SKIN;
global $ADMIN;
global $std;
global $MEMBER;
global $GROUP;
if ( $IN['id'] == "" )
{
$ADMIN->error( "你必须指定一个存在的论坛首页模板文件ID,请返回后重试!" );
}
$DB->query( "SELECT * from ibf_templates WHERE tmid='".$IN['id']."'" );
if ( !( $row = $DB->fetch_row( ) ) )
{
$ADMIN->error( "无法在数据库中找到相关的数据信息" );
}
if ( $type == "add" )
{
$code = "doadd";
$button = "建立论坛首页模板";
$row['name'] = $row['name'].".2";
}
else
{
$code = "doedit";
$button = "编辑论坛首页模板";
}
$ADMIN->page_detail = "在添加和编辑时你可以使用 HTML 语言。";
$ADMIN->page_title = "论坛首页模板";
$ADMIN->html .= $SKIN->js_no_specialchars( );
$ADMIN->html .= $SKIN->start_form( array(
1 => array(
"code",
$code
),
2 => array( "act", "wrap" ),
3 => array(
"id",
$IN['id']
)
), "theAdminForm", "onSubmit=\"return no_specialchars('wrapper')\"" );
$SKIN->td_header[] = array( " ", "20%" );
$SKIN->td_header[] = array( " ", "80%" );
$row['template'] = preg_replace( "/\\/textarea>/", "</textarea>", $row['template'] );
$row['template'] = str_replace( "&", "&amp;", $row['template'] );
$row['template'] = str_replace( " ", "&nbsp;", $row['template'] );
$row['template'] = preg_replace( "/\\\\/", "\", $row['template'] );
$ADMIN->html .= $SKIN->start_table( $button );
$ADMIN->html .= $SKIN->add_td_row( array(
"论坛首页模板名称",
$SKIN->form_input( "name", $row['name'] )
) );
$ADMIN->html .= $SKIN->add_td_row( array(
"论坛首页模板内容",
$SKIN->form_textarea( "template", $row['template'], "60", "15" )
) );
$ADMIN->html .= $SKIN->end_form( $button );
$ADMIN->html .= $SKIN->end_table( );
$ADMIN->output( );
}
function list_wrappers( )
{
global $IN;
global $INFO;
global $DB;
global $SKIN;
global $ADMIN;
global $std;
global $MEMBER;
global $GROUP;
$form_array = array( );
$ADMIN->page_detail = "你可以 添加/编辑/删除 论坛首页模板文件。<br><br>论坛首页模板指论坛的页面代码结构模板,你可以使用 HTML 语言对论坛的顶部和底部等代码进行修改。";
$ADMIN->page_title = "论坛首页模板";
$SKIN->td_header[] = array( "模板文件名称", "35%" );
$SKIN->td_header[] = array( "当前分配", "30%" );
$SKIN->td_header[] = array( "导出", "10%" );
$SKIN->td_header[] = array( "编辑", "10%" );
$SKIN->td_header[] = array( "删除", "15%" );
$DB->query( "SELECT DISTINCT(w.tmid), w.name, s.sname from ibf_templates w, ibf_skins s WHERE s.tmpl_id=w.tmid ORDER BY w.name ASC" );
$used_ids = array( );
$show_array = array( );
if ( $DB->get_num_rows( ) )
{
$ADMIN->html .= $SKIN->start_table( "当前使用的论坛首页模板" );
while ( $r = $DB->fetch_row( ) )
{
$show_array[$r['tmid']] .= stripslashes( $r['sname'] )."<br>";
if ( in_array( $r['tmid'], $used_ids ) )
{
}
else
{
$ADMIN->html .= $SKIN->add_td_row( array(
"<b>".stripslashes( $r['name'] )."</b>",
"<#X-{$r['tmid']}#>",
"<center><a href='".$SKIN->base_url."&act=wrap&code=export&id={$r['tmid']}'>导出</a></center>",
"<center><a href='".$SKIN->base_url."&act=wrap&code=edit&id={$r['tmid']}'>编辑</a></center>",
"删除前请重新匹配"
) );
$used_ids[] = $r['tmid'];
$form_array[] = array(
$r['tmid'],
$r['name']
);
}
}
foreach ( $show_array as $idx => $string )
{
$string = preg_replace( "/<br>\$/", "", $string );
$ADMIN->html = preg_replace( "/<#X-{$idx}#>/", "{$string}", $ADMIN->html );
}
$ADMIN->html .= $SKIN->end_table( );
}
if ( 0 < count( $used_ids ) )
{
$DB->query( "SELECT tmid, name FROM ibf_templates WHERE tmid NOT IN(".implode( ",", $used_ids ).")" );
if ( $DB->get_num_rows( ) )
{
$SKIN->td_header[] = array( "模板文件名称", "70%" );
$SKIN->td_header[] = array( "导出", "10%" );
$SKIN->td_header[] = array( "编辑", "10%" );
$SKIN->td_header[] = array( "删除", "10%" );
$ADMIN->html .= $SKIN->start_table( "当前可选的论坛首页模板" );
$ADMIN->html .= $SKIN->js_checkdelete( );
while ( $r = $DB->fetch_row( ) )
{
$ADMIN->html .= $SKIN->add_td_row( array(
"<b>".stripslashes( $r['name'] )."</b>",
"<center><a href='".$SKIN->base_url."&act=wrap&code=export&id={$r['tmid']}'>导出</a></center>",
"<center><a href='".$SKIN->base_url."&act=wrap&code=edit&id={$r['tmid']}'>编辑</a></center>",
"<center><a href='javascript:checkdelete(\"act=wrap&code=remove&id={$r['tmid']}\")'>删除</a></center>"
) );
$form_array[] = array(
$r['tmid'],
$r['name']
);
}
$ADMIN->html .= $SKIN->end_table( );
}
}
$ADMIN->html .= $SKIN->start_form( array(
1 => array( "code", "add" ),
2 => array( "act", "wrap" ),
3 => array( "MAX_FILE_SIZE", "10000000000" )
), "uploadform", " enctype='multipart/form-data'" );
$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_dropdown( "id", $form_array )
) );
$ADMIN->html .= $SKIN->add_td_row( array(
"<b><u>或者</u>在你电脑中选择需要导入的论坛首页模板文件</b><br>注意:导入的模板文件必须格式正确。",
$SKIN->form_upload( )
) );
$ADMIN->html .= $SKIN->end_form( "添加论坛首页模板" );
$ADMIN->html .= $SKIN->end_table( );
$ADMIN->output( );
}
}
ad_settings( );
$idx = new ad_settings( );
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -