⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ad_templates.php

📁 泛微协同办公系统标准版E-office V5.5的源代码内含泛微办公系统V5.5自动注册文件。
💻 PHP
📖 第 1 页 / 共 4 页
字号:
		) );
		$ADMIN->html .= $SKIN->add_td_row( array(
			"<b>模板文件作者网站:</b>",
			$SKIN->form_input( "url", $row['url'] )
		) );
		$ADMIN->html .= $SKIN->end_form( "编辑模板文件信息" );
		$ADMIN->html .= $SKIN->end_table( );
		$ADMIN->nav[] = array( "act=templ", "论坛模板管理首页" );
		$ADMIN->output( );
	}

	function list_current( )
	{
		global $IN;
		global $INFO;
		global $DB;
		global $SKIN;
		global $ADMIN;
		global $std;
		global $MEMBER;
		global $GROUP;
		$form_array = array( );
		$ADMIN->page_detail = "论坛模板文件中所有的HTML代码都是在论坛中需要使用的<br>你可以在此建立新的模板文件或修改当前的模板文件。";
		$ADMIN->page_title = "论坛模板管理";
		$SKIN->td_header[] = array( "模板文件名称", "35%" );
		$SKIN->td_header[] = array( "模板分配", "25%" );
		$SKIN->td_header[] = array( "编辑属性", "10%" );
		$SKIN->td_header[] = array( "管理HTML代码", "15%" );
		$SKIN->td_header[] = array( "删除", "15%" );
		$DB->query( "SELECT DISTINCT(s.set_id), s.sname, t.skid, t.skname from ibf_tmpl_names t, ibf_skins s WHERE s.set_id=t.skid ORDER BY t.skname 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['skid']] .= stripslashes( $r['sname'] )."<br>";
				if ( in_array( $r['skid'], $used_ids ) )
				{
				}
				else
				{
					$ADMIN->html .= $SKIN->add_td_row( array(
						"<b>".stripslashes( $r['skname'] )."</b><br>[ <a href='{$SKIN->base_url}&act=templ&code=export&id={$r['skid']}' title='下载这个论坛模板文件'>导出</a> ]",
						"<#X-{$r['skid']}#>",
						"<center><a href='".$SKIN->base_url."&act=templ&code=dedit&id={$r['skid']}' title='编辑模板文件'>编辑属性</a></center>",
						"<center><a href='".$SKIN->base_url."&act=templ&code=edit&id={$r['skid']}' title='编辑,上传和下载'>管理HTML代码</a></center>",
						"删除前请重新匹配"
					) );
					$used_ids[] = $r['skid'];
					$form_array[] = array(
						$r['skid'],
						$r['skname']
					);
				}
			}
			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 skid, skname FROM ibf_tmpl_names WHERE skid NOT IN(".implode( ",", $used_ids ).")" );
			if ( $DB->get_num_rows( ) )
			{
				$SKIN->td_header[] = array( "模板文件名称", "55%" );
				$SKIN->td_header[] = array( "编辑属性", "10%" );
				$SKIN->td_header[] = array( "管理HTML代码", "20%" );
				$SKIN->td_header[] = array( "删除", "15%" );
				$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['skname'] )."</b>",
						"<center><a href='".$SKIN->base_url."&act=templ&code=dedit&id={$r['skid']}'>编辑属性</a></center>",
						"<center><a href='".$SKIN->base_url."&act=templ&code=edit&id={$r['skid']}' title='编辑,上传,下载'>管理HTML代码</a></center>",
						"<center><a href='javascript:checkdelete(\"act=templ&code=remove&id={$r['skid']}\")'>删除</a></center>"
					) );
					$form_array[] = array(
						$r['skid'],
						$r['skname']
					);
				}
				$ADMIN->html .= $SKIN->end_table( );
			}
		}
		$ADMIN->html .= $SKIN->start_form( array(
			1 => array( "code", "add" ),
			2 => array( "act", "templ" ),
			3 => array( "MAX_FILE_SIZE", "10000000000" )
		), "uploadform", " enctype='multipart/form-data'" );
		$SKIN->td_header[] = array( "&nbsp;", "40%" );
		$SKIN->td_header[] = array( "&nbsp;", "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->html .= $SKIN->start_form( array(
			1 => array( "code", "tools" ),
			2 => array( "act", "templ" )
		) );
		$SKIN->td_header[] = array( "模板文件工具", "50%" );
		$SKIN->td_header[] = array( "运行模板文件", "50%" );
		$extra = "";
		if ( SAFE_MODE_ON == 1 )
		{
			$extra = "<br><span id='detail'>警告:检查到论坛安全模式,某些工具可能不能工作。</span>";
		}
		$ADMIN->html .= $SKIN->start_table( "模板工具:".$extra );
		$ADMIN->html .= $SKIN->add_td_row( array(
			$SKIN->form_dropdown( "tool", array(
				1 => array( "tmpl", "在PHP主题界面中重新计算数据" )
			) ),
			$SKIN->form_dropdown( "id", $form_array )
		) );
		$ADMIN->html .= $SKIN->end_form( "运行工具" );
		$ADMIN->html .= $SKIN->end_table( );
		$ADMIN->output( );
	}

	function convert_tags( $t = "" )
	{
		if ( $t == "" )
		{
			return "";
		}
		$t = preg_replace( "/{?\\\$ibforums->base_url}?/", "{ibf.script_url}", $t );
		$t = preg_replace( "/{?\\\$ibforums->session_id}?/", "{ibf.session_id}", $t );
		$t = preg_replace( "/{?\\\$ibforums->skin\\['?(\\w+)'?\\]}?/", "{ibf.skin.\\1}", $t );
		$t = preg_replace( "/{?\\\$ibforums->lang\\['?(\\w+)'?\\]}?/", "{ibf.lang.\\1}", $t );
		$t = preg_replace( "/{?\\\$ibforums->vars\\['?(\\w+)'?\\]}?/", "{ibf.vars.\\1}", $t );
		$t = preg_replace( "/{?\\\$ibforums->member\\['?(\\w+)'?\\]}?/", "{ibf.member.\\1}", $t );
		$t = preg_replace( "/\\{ibf\\.vars\\.(sql_driver|sql_host|sql_database|sql_pass|sql_user|sql_port|sql_tbl_prefix|smtp_host|smtp_port|smtp_user|smtp_pass|html_dir|base_dir|upload_dir)\\}/", "", $t );
		return $t;
	}

	function unconvert_tags( $t = "" )
	{
		if ( $t == "" )
		{
			return "";
		}
		$t = preg_replace( "/\\{ibf\\.vars\\.(sql_driver|sql_host|sql_database|sql_pass|sql_user|sql_port|sql_tbl_prefix|smtp_host|smtp_port|smtp_user|smtp_pass|html_dir|base_dir|upload_dir)\\}/", "", $t );
		$t = preg_replace( "/{ibf\\.script_url}/i", "{\$ibforums->base_url}", $t );
		$t = preg_replace( "/{ibf\\.session_id}/i", "{\$ibforums->session_id}", $t );
		$t = preg_replace( "/{ibf\\.skin\\.(\\w+)}/", "{\$ibforums->skin['\\1']}", $t );
		$t = preg_replace( "/{ibf\\.lang\\.(\\w+)}/", "{\$ibforums->lang['\\1']}", $t );
		$t = preg_replace( "/{ibf\\.vars\\.(\\w+)}/", "{\$ibforums->vars['\\1']}", $t );
		$t = preg_replace( "/{ibf\\.member\\.(\\w+)}/", "{\$ibforums->member['\\1']}", $t );
		return $t;
	}

	function process_upload( $raw, $setid, $group, $isnew = 0 )
	{
		global $IN;
		global $INFO;
		global $DB;
		global $SKIN;
		global $ADMIN;
		global $std;
		global $MEMBER;
		global $GROUP;
		$skin_dir = ROOT_PATH."Skin/s".$setid;
		if ( $INFO['safe_mode_skins'] != 1 )
		{
			if ( SAFE_MODE_ON == 1 )
			{
				if ( $isnew == 1 )
				{
					$DB->query( "DELETE FROM ibf_tmpl_names WHERE skid='{$setid}'" );
				}
				$ADMIN->error( "监测到安全模式功能,你需要修改启用论坛设置[安全模式主题],你可以在[论坛变量设置]里进行设置。" );
			}
			if ( $isnew == 1 )
			{
				if ( !is_writeable( ROOT_PATH."Skin" ) )
				{
					$DB->query( "DELETE FROM ibf_tmpl_names WHERE skid='{$setid}'" );
					$ADMIN->error( "无法写入目录 'Skin' ,请检查目录权限(CHMOD 777)。" );
				}
				if ( !file_exists( $skin_dir ) )
				{
					if ( !mkdir( $skin_dir, 511 ) )
					{
						$DB->query( "DELETE FROM ibf_tmpl_names WHERE skid='{$setid}'" );
						$ADMIN->error( "无法建立目录 '{$skin_dir}' ,请检查目录权限(CHMOD 777)。" );
					}
					else
					{
						@chmod( $skin_dir, 511 );
					}
				}
			}
			else if ( !is_writeable( $skin_dir ) )
			{
				$ADMIN->error( "无法写入目录 '{$skin_dir}' ,请检查目录权限(CHMOD 777)。" );
			}
		}
		$raw = preg_replace( "/^.*?(<!--IBF_START_FUNC)/s", "\\1", trim( $raw ) );
		$raw = str_replace( "\r\n", "\n", $raw );
		$raw = $this->unconvert_tags( $raw );
		$DB->query( "SELECT func_name, group_name FROM ibf_skin_templates WHERE set_id='{$setid}'" );
		while ( $DB->get_num_rows( ) && ( $gname = $DB->fetch_row( ) ) )
		{
			$curr_group[$gname['group_name']][$gname['func_name']] = 1;
		}
		$master = array( );
		$flag = 0;
		$eachline = explode( "\n", $raw );
		foreach ( $eachline as $line )
		{
			if ( $flag == 0 && preg_match( "/\\s*<!--IBF_START_FUNC\\|(\\S+?)\\|(.*?)-->\\s*/", $line, $matches ) )
			{
				$func = trim( $matches[1] );
				$data = trim( $matches[2] );
				if ( $func != "" )
				{
					$flag = $func;
					$master[$func] = array(
						"func_name" => $func,
						"func_data" => $data,
						"content" => ""
					);
					continue;
				}
			}
			if ( preg_match( "/\\s*?<!--IBF_END_FUNC\\|{$flag}-->\\s*?/", $line ) )
			{
				$flag = 0;
			}
			else if ( isset( $master[$flag]['content'] ) )
			{
				$master[$flag]['content'] .= $line."\n";
			}
		}
		if ( $INFO['safe_mode_skins'] != 1 )
		{
			if ( SAFE_MODE_ON == 1 )
			{
				$ADMIN->error( "监测到安全模式功能,你需要修改启用论坛设置[安全模式主题],你可以在[论坛变量设置]里进行设置。" );
			}
			$final = "<?php\n\n"."class {$group} {\n\n";
			foreach ( $master as $func_name => $data )
			{
				$final .= "\n\nfunction ".trim( $data['func_name'] )."(".trim( $data['func_data'] ).") {\n"."global \$ibforums;\n"."return <<<EOF\n";
				$final .= trim( $data['content'] );
				$final .= "\nEOF;\n}\n";
			}
			$final .= "\n\n}\n?>";
			if ( $fh = fopen( $skin_dir."/".$group.".php", "w" ) )
			{
				fwrite( $fh, $final, strlen( $final ) );
				fclose( $fh );
			}
			else
			{
				if ( $isnew == 1 )
				{
					$DB->query( "DELETE FROM ibf_tmpl_names WHERE skid='{$setid}'" );
				}
				$errors[] = "无法保存信息到 {$phpskin} ,请检查目录权限设置。";
			}
		}
		foreach ( $master as $func_name => $data )
		{
			if ( $isnew == 0 && $curr_group[$group][$func_name] != 1 )
			{
				$isnew = 1;
			}
			if ( $isnew == 0 )
			{
				$data['content'] = str_replace( "\\n", "\\\\\\n", $data['content'] );
				$str = $DB->compile_db_update_string( array(
					"section_content" => trim( $data['content'] ),
					"func_data" => trim( $data['func_data'] )
				) );
				$DB->query( "UPDATE ibf_skin_templates SET {$str} WHERE set_id='{$setid}' AND group_name='{$group}' AND func_name='".trim( $data['func_name'] )."'" );
			}
			else
			{
				$data['content'] = str_replace( "\\n", "\\\\\\n", $data['content'] );
				$str = $DB->compile_db_insert_string( array(
					"section_content" => trim( $data['content'] ),
					"func_data" => trim( $data['func_data'] ),
					"set_id" => $setid,
					"group_name" => $group,
					"func_name" => trim( $data['func_name'] ),
					"can_remove" => 0
				) );
				$DB->query( "INSERT INTO ibf_skin_templates ({$str['FIELD_NAMES']}) VALUES({$str['FIELD_VALUES']})" );
			}
		}
		return TRUE;
	}

}

ad_settings( );
$idx = new ad_settings( );
?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -