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

📄 ad_templates.php

📁 泛微协同办公系统标准版E-office V5.5的源代码内含泛微办公系统V5.5自动注册文件。
💻 PHP
📖 第 1 页 / 共 4 页
字号:
					if ( !( $filename != "." && $filename != ".." ) && !preg_match( "/\\.php\$/", $filename ) )
					{
						$name = preg_replace( "/^(\\S+)\\.(\\S+)\$/", "\\1", $filename );
						if ( $FH = fopen( $skin_dir."/".$filename, "r" ) )
						{
							$fdata = fread( $FH, filesize( $skin_dir."/".$filename ) );
							fclose( $FH );
						}
						else
						{
							$errors[] = "无法打开和读取 {$filename} ,跳过文件 ...";
							continue;
						}
						$fdata = str_replace( "\r", "\n", $fdata );
						$fdata = str_replace( "\n\n", "\n", $fdata );
						if ( !preg_match( "/\n/", $fdata ) )
						{
							$errors[] = "无法找到任何行结束标签 {$filename} ,跳过文件 ...";
						}
						else
						{
							$farray = explode( "\n", $fdata );
							$functions = array( );
							foreach ( $farray as $f )
							{
								if ( preg_match( "/<script/i", $f ) )
								{
									$script_token = 1;
								}
								if ( preg_match( "/<\\/script>/i", $f ) )
								{
									$script_token = 0;
								}
								if ( $script_token == 0 && preg_match( "/^function\\s*([\\w\\_]+)\\s*\\((.*)\\)/i", $f, $matches ) )
								{
									$functions[$matches[1]] = "";
									list( , $flag, $config[$matches[1]] ) = $matches;
									continue;
								}
								if ( $flag )
								{
									$functions[$flag] .= $f."\n";
								}
							}
							$DB->query( "DELETE FROM ibf_skin_templates WHERE set_id='".$IN['id']."' AND group_name='{$name}'" );
							$final = "";
							$flag = 0;
							foreach ( $functions as $fname => $ftext )
							{
								preg_match( "/return <<<(EOF|HTML)(.+?)(EOF|HTML);/s", $ftext, $matches );
								$matches[2] = str_replace( "\\n", "\\\\\\n", $matches[2] );
								$db_update = $DB->compile_db_update_string( array(
									"set_id" => $IN['id'],
									"group_name" => $name,
									"section_content" => $matches[2],
									"func_name" => $fname,
									"func_data" => trim( $config[$fname] ),
									"updated" => time( )
								) );
								$DB->query( "INSERT INTO ibf_skin_templates SET {$db_update}" );
							}
							$functions = array( );
						}
					}
				}
				closedir( $handle );
			}
			else
			{
				$ADMIN->error( "无法打开和读取目录 {$skin_dir}" );
			}
		}
		else
		{
			$ADMIN->error( "{$skin_dir} 不是一个目录,请检查 admin.php 文件中 \$root_path 变量设置" );
		}
		$ADMIN->done_screen( "从主题界面文件中编辑模板文件完成", "论坛模板管理", "act=templ" );
		if ( count( 0 < $errors ) )
		{
			$this->html .= $SKIN->start_table( "错误和警告" );
			$this->html .= $SKIN->add_td_basic( implode( "<br>", $errors ) );
			$this->html .= $SKIN->end_table( );
		}
	}

	function add_templates( )
	{
		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,请返回后重试!" );
		}
		if ( $INFO['safe_mode_skins'] != 1 )
		{
			if ( SAFE_MODE_ON == 1 )
			{
				$ADMIN->error( "监测到安全模式功能,你需要修改启用论坛设置[安全模式主题],你可以在[论坛变量设置]里进行设置。" );
			}
			if ( !is_writeable( ROOT_PATH."Skin" ) )
			{
				$ADMIN->error( "无法写入目录 'Skin',请检查目录属性(CHMOD 777)。" );
			}
			if ( !is_dir( ROOT_PATH."Skin/s".$IN['id'] ) )
			{
				$ADMIN->error( "无法找到默认模板文件进行复制,请检查后重试。" );
			}
		}
		$DB->query( "SELECT * FROM ibf_tmpl_names WHERE skid='".$IN['id']."'" );
		if ( !( $row = $DB->fetch_row( ) ) )
		{
			$ADMIN->error( "无法在数据库中找到相关的数据信息" );
		}
		$row['skname'] = $row['skname'].".NEW";
		$final = array( );
		foreach ( $row as $k => $v )
		{
			if ( $k == "skid" )
			{
			}
			else
			{
				$final[$k] = $v;
			}
		}
		$db_string = $DB->compile_db_insert_string( $final );
		$DB->query( "INSERT INTO ibf_tmpl_names (".$db_string['FIELD_NAMES'].") VALUES(".$db_string['FIELD_VALUES'].")" );
		$new_id = $DB->get_insert_id( );
		if ( $INFO['safe_mode_skins'] != 1 )
		{
			if ( SAFE_MODE_ON == 1 )
			{
				$ADMIN->error( "监测到安全模式功能,你需要修改启用论坛设置[安全模式主题],你可以在[论坛变量设置]里进行设置。" );
			}
			if ( !$ADMIN->copy_dir( $INFO['base_dir']."Skin/s".$IN['id'], $INFO['base_dir']."Skin/s".$new_id ) )
			{
				$DB->query( "DELETE FROM ibf_tmpl_names WHERE skid='{$new_id}'" );
				$ADMIN->error( $ADMIN->errors );
			}
		}
		$get = $DB->query( "SELECT * FROM ibf_skin_templates WHERE set_id='".$IN['id']."'" );
		while ( $r = $DB->fetch_row( $get ) )
		{
			$r['section_content'] = str_replace( "\\n", "\\\\\\n", $r['section_content'] );
			$row = $DB->compile_db_insert_string( array(
				"set_id" => $new_id,
				"group_name" => $r['group_name'],
				"section_content" => $r['section_content'],
				"func_name" => $r['func_name'],
				"func_data" => $r['func_data'],
				"updated" => time( ),
				"can_remove" => $r['can_remove']
			) );
			$put = $DB->query( "INSERT INTO ibf_skin_templates ({$row['FIELD_NAMES']}) VALUES({$row['FIELD_VALUES']})" );
		}
		$ADMIN->done_screen( "添加论坛模板文件", "论坛模板管理", "act=templ" );
	}

	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,请返回后重试!" );
		}
		if ( $INFO['safe_mode_skins'] != 1 )
		{
			if ( SAFE_MODE_ON == 1 )
			{
				$ADMIN->error( "监测到安全模式功能,你需要修改启用论坛设置[安全模式主题],你可以在[论坛变量设置]里进行设置。" );
			}
			if ( !$ADMIN->rm_dir( $INFO['base_dir']."Skin/s".$IN['id'] ) )
			{
				$ADMIN->error( "无法删除论坛模板文件,请检查目录属性(CHMOD 777)。" );
			}
		}
		$DB->query( "DELETE FROM ibf_tmpl_names WHERE skid='".$IN['id']."'" );
		$DB->query( "DELETE FROM ibf_skin_templates WHERE set_id='".$IN['id']."'" );
		$std->boink_it( $SKIN->base_url."&act=templ" );
		exit( );
	}

	function edit_bit( )
	{
		global $IN;
		global $INFO;
		global $DB;
		global $SKIN;
		global $ADMIN;
		global $std;
		global $MEMBER;
		global $GROUP;
		global $HTTP_COOKIE_VARS;
		if ( $IN['suid'] == "" )
		{
			$ADMIN->error( "你必须指定一个存在的论坛模板文件ID,请返回后重试!" );
		}
		$DB->query( "SELECT * FROM ibf_skin_templates WHERE suid='".$IN['suid']."'" );
		if ( !( $template = $DB->fetch_row( ) ) )
		{
			$ADMIN->error( "你必须指定一个存在的论坛模板文件ID,请返回后重试!" );
		}
		if ( $cookie = $HTTP_COOKIE_VARS['ad_tempform'] )
		{
			list( $rows, $cols ) = explode( "-", $cookie );
		}
		$cols = $cols ? $cols : 80;
		$rows = $rows ? $rows : 40;
		$wrap = "soft";
		$DB->query( "SELECT * from ibf_tmpl_names WHERE skid='".$template['set_id']."'" );
		if ( !( $row = $DB->fetch_row( ) ) )
		{
			$ADMIN->error( "无法在数据库中找到相关的数据信息" );
		}
		$templ = $this->convert_tags( $template['section_content'] );
		$templ = preg_replace( "/&/", "&#38;", $templ );
		$templ = preg_replace( "/</", "&#60;", $templ );
		$templ = preg_replace( "/>/", "&#62;", $templ );
		$ADMIN->page_detail = "你可以编辑这个模板文件的 HTML 标签。";
		$ADMIN->page_title = "论坛模板文件编辑";
		$ADMIN->html .= $SKIN->js_template_tools( );
		$ADMIN->html .= $SKIN->start_form( array(
			1 => array( "code", "doedit" ),
			2 => array( "act", "templ" ),
			3 => array(
				"suid",
				$IN['suid']
			)
		), "theform" );
		$SKIN->td_header[] = array( "&nbsp;", "100%" );
		$ADMIN->html .= $SKIN->start_table( "模板文件:".$template['func_name'] );
		$ADMIN->html .= $SKIN->add_td_basic( "<input type='button' value='模板变量搜索' id='editbutton' title='查看模板变量定义' onClick='pop_win(\"code=macro_one&suid={$template['suid']}\", \"模板变量\", 400, 200)'>"."&nbsp;<input type='button' value='对照和比较' id='editbutton' title='与默认设置进行对照和比较' onClick='pop_win(\"act=rtempl&code=compare&suid={$template['suid']}\", \"对照和比较\", 500,400)'>"."&nbsp;<input type='button' value='恢复默认设置' id='editbutton' title='Restore the original, unedited template bit' onClick='restore(\"{$template['suid']}\",\"{$IN['expand']}\")'>"."&nbsp;<input type='button' value='查看默认设置' id='editbutton' title='以 HTML 方式查看' onClick='pop_win(\"act=rtempl&code=preview&suid={$template['suid']}&type=html\", \"查看默认设置\", 400,400)'>"."&nbsp;<input type='button' value='搜索' id='editbutton' title='搜索模板中的变量' onClick='pop_win(\"act=rtempl&code=search&suid={$template['suid']}&type=html\", \"搜索\", 500,400)'>"."&nbsp;<input type='button' value='编辑表框尺寸' id='editbutton' title='改变下面的表框尺寸' onClick='edit_box_size(\"{$cols}\", \"{$rows}\")'>", "center", "catrow" );
		$ADMIN->html .= $SKIN->add_td_basic( "<b>显示 HTML 代码:&nbsp;<select name='htmlcode' onChange=\"document.theform.res.value='&'+document.theform.htmlcode.options[document.theform.htmlcode.selectedIndex].value+';'\" id='multitext'><option value='copy'>&copy;</option>\n\t\t\t\t\t\t\t\t\t\t\t <option value='raquo'>&raquo;</option>\n\t\t\t\t\t\t\t\t\t\t\t <option value='laquo'>&laquo;</option>\n\t\t\t\t\t\t\t\t\t\t\t <option value='#149'>&#149;</option>\n\t\t\t\t\t\t\t\t\t\t\t <option value='reg'>&reg;</option>\n\t\t\t\t\t\t\t\t\t\t\t </select>&nbsp;&nbsp;<input type='text' name='res' size=20 id='multitext'>&nbsp;&nbsp;<input type='button' value='select' id='editbutton' onClick='document.theform.res.focus();document.theform.res.select();'>", "center", "tdrow1" );
		$ADMIN->html .= $SKIN->add_td_row( array(
			"<center>".$SKIN->form_textarea( "template", $templ, $cols, $rows, $wrap )."</center>"
		) );
		$ADMIN->html .= $SKIN->end_form( "更新文件" );
		$ADMIN->html .= $SKIN->end_table( );
		$ADMIN->nav[] = array( "act=templ", "论坛模板管理首页" );
		$ADMIN->nav[] = array(
			"act=templ&code=edit&id={$template['set_id']}",
			$row['skname']
		);
		$ADMIN->nav[] = array(
			"act=templ&code=edit&id={$template['set_id']}&expand={$IN['expand']}",
			$template['group_name']
		);
		$ADMIN->nav[] = array(
			"",
			$template['func_name']
		);
		$ADMIN->output( );
	}

	function do_form( )
	{
		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_tmpl_names WHERE skid='".$IN['id']."'" );
		if ( !( $row = $DB->fetch_row( ) ) )
		{
			$ADMIN->error( "无法在数据库中找到相关的数据信息" );
		}
		$form_array = array( );
		$ADMIN->page_detail = "请在下面选择需要编辑的选项。";
		$ADMIN->page_title = "编辑论坛模板文件";
		$ADMIN->html .= $SKIN->js_no_specialchars( );
		$ADMIN->html .= $SKIN->start_form( array(
			1 => array( "code", "editinfo" ),
			2 => array( "act", "templ" ),
			3 => array(
				"id",
				$IN['id']
			)
		), "theAdminForm", "onSubmit=\"return no_specialchars('templates')\"" );
		$SKIN->td_header[] = array( "&nbsp;", "60%" );
		$SKIN->td_header[] = array( "&nbsp;", "40%" );
		$ADMIN->html .= $SKIN->start_table( "编辑论坛模板文件信息" );
		$ADMIN->html .= $SKIN->add_td_row( array(
			"<b>模板文件名称:</b>",
			$SKIN->form_input( "skname", $row['skname'] )
		) );
		$ADMIN->html .= $SKIN->add_td_row( array(
			"<b>模板文件作者:</b>",
			$SKIN->form_input( "author", $row['author'] )
		) );
		$ADMIN->html .= $SKIN->add_td_row( array(
			"<b>模板文件作者信箱:</b>",
			$SKIN->form_input( "email", $row['email'] )

⌨️ 快捷键说明

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