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

📄 ad_stylesheets.php

📁 泛微协同办公系统标准版E-office V5.5的源代码内含泛微办公系统V5.5自动注册文件。
💻 PHP
📖 第 1 页 / 共 2 页
字号:
<?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_sheets( );
			break;
		case "add" :
			$this->do_form( "add" );
			break;
		case "edit2" :
			$this->do_form( "edit" );
			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( );
			break;
		case "optimize" :
			$this->optimize( );
			break;
		case "css_upload" :
			$this->css_upload( "new" );
			break;
		case "easyedit" :
			$this->easy_edit( );
			break;
		case "editcomments" :
			$this->edit_comments( );
			break;
		case "doeditcomments" :
			$this->do_edit_comments( );
			break;
		default :
			$this->list_sheets( );
			break;
		}
	}

	function do_edit_comments( )
	{
		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( "SELECT cssid, css_text, css_name, css_comments FROM ibf_css WHERE cssid='".$IN['id']."'" );
		if ( !( $cssinfo = $DB->fetch_row( ) ) )
		{
			$ADMIN->error( "无法在数据库中找到相关CSS数据" );
		}
		$DB->query( "UPDATE ibf_css SET css_comments='{$IN['comments']}' WHERE cssid='".$IN['id']."'" );
		$ADMIN->done_screen( "内容已经更新", "管理论坛层叠式样表", "act=style" );
	}

	function edit_comments( )
	{
		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 cssid, css_text, css_name, css_comments FROM ibf_css WHERE cssid='".$IN['id']."'" );
		if ( !( $cssinfo = $DB->fetch_row( ) ) )
		{
			$ADMIN->error( "无法在数据库中找到相关CSS数据" );
		}
		$ADMIN->page_detail = "请根据提示在下面进行输入或编辑";
		$ADMIN->page_title = "编辑论坛层叠式样表(CSS)内容 '{$cssinfo['css_name']}'";
		$SKIN->td_header[] = array( "CSS", "40%" );
		$SKIN->td_header[] = array( "内容", "60%" );
		$ADMIN->html .= $SKIN->start_form( array(
			1 => array( "code", "doeditcomments" ),
			2 => array( "act", "style" ),
			3 => array(
				"id",
				$IN['id']
			)
		) );
		$ADMIN->html .= $SKIN->start_table( "编辑内容" );
		$ADMIN->html .= $SKIN->add_td_row( array(
			"<b>编辑论坛层叠式样表(CSS)内容",
			$SKIN->form_textarea( "comments", str_replace( "<br>", "\n", $cssinfo['comments'] ) )
		) );
		$ADMIN->html .= $SKIN->add_td_basic( "返回:<a href='".$SKIN->base_url."&act=style'>论坛层叠式样表(CSS)管理</a> -&gt; <a href='".$SKIN->base_url."&act=style&code=edit&id={$IN['id']}'>编辑选项</a>", "center", "title" );
		$ADMIN->html .= $SKIN->end_form( "编辑内容" );
		$ADMIN->html .= $SKIN->end_table( );
		$ADMIN->output( );
	}

	function edit_splash( )
	{
		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 cssid, css_text, css_name FROM ibf_css WHERE cssid='".$IN['id']."'" );
		if ( !( $cssinfo = $DB->fetch_row( ) ) )
		{
			$ADMIN->error( "无法在数据库中找到相关的CSS数据" );
		}
		$ADMIN->page_detail = "请选择你需要编辑的选项";
		$ADMIN->page_title = "编辑论坛层叠式样表(CSS) '{$cssinfo['css_name']}'";
		$SKIN->td_header[] = array( "选项", "40%" );
		$SKIN->td_header[] = array( "叙述", "60%" );
		$ADMIN->html .= $SKIN->start_table( "选择一个选项" );
		$ADMIN->html .= $SKIN->add_td_row( array(
			"<a href='".$SKIN->base_url."&act=style&code=edit2&id={$IN['id']}'>编辑 CSS 文件</a>",
			"在打开的文本编辑器中编辑论坛层叠式样表(CSS)内容"
		) );
		$ADMIN->html .= $SKIN->add_td_row( array(
			"<a href='".$SKIN->base_url."&act=style&code=editupload&id={$IN['id']}'>上传 CSS 文件</a>",
			"通过上传一个新的层叠式样表(CSS)文件以替换旧的层叠式样表(CSS)文件"
		) );
		$ADMIN->html .= $SKIN->add_td_row( array(
			"<a href='".$SKIN->base_url."&act=style&code=editcomments&id={$IN['id']}'>编辑 CSS 内容</a>",
			"编辑论坛模板中定义的层叠式样表(CSS)文件内容"
		) );
		$ADMIN->html .= $SKIN->add_td_basic( "返回:<a href='".$SKIN->base_url."&act=style'>论坛层叠式样表(CSS)管理</a>", "center", "title" );
		$ADMIN->html .= $SKIN->end_table( );
		$ADMIN->output( );
	}

	function css_upload( $type = "new" )
	{
		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 ( !is_dir( $INFO['upload_dir'] ) )
		{
			$ADMIN->error( "无法找到上传目录 - 请确认 'uploads' 目录设置正确" );
		}
		if ( $HTTP_POST_FILES['FILE_UPLOAD']['name'] == "" || !$HTTP_POST_FILES['FILE_UPLOAD']['name'] || $HTTP_POST_FILES['FILE_UPLOAD']['name'] == "none" )
		{
			$ADMIN->error( "没有选择上传的文件!" );
		}
		if ( !move_uploaded_file( $HTTP_POST_FILES['FILE_UPLOAD']['tmp_name'], $INFO['upload_dir']."/".$FILE_NAME ) )
		{
			$ADMIN->error( "文件上传失败" );
		}
		$real_name = str_replace( "_", " ", preg_replace( "/^(.*),\\d+\\.css\$/", "\\1", $FILE_NAME ) );
		$real_name .= " [UPLOAD]";
		if ( $FH = @fopen( $INFO['upload_dir']."/".$FILE_NAME, "r" ) )
		{
			$data = @fread( $FH, @filesize( $INFO['upload_dir']."/".$FILE_NAME ) );
			@fclose( $FH );
			@unlink( $INFO['upload_dir']."/".$FILE_NAME );
		}
		else
		{
			@unlink( $INFO['upload_dir']."/".$FILE_NAME );
			$ADMIN->error( "无法读取上传的文件内容,操作中止" );
		}
		list( $css, $comments ) = explode( "<|COMMENTS|>", $data );
		$css = trim( $css );
		$comments = trim( $css );
		if ( $type == "new" )
		{
			$dbs = $DB->compile_db_insert_string( array(
				"css_name" => $real_name,
				"css_text" => $css,
				"css_comments" => $comments
			) );
			$DB->query( "INSERT INTO ibf_css (".$dbs['FIELD_NAMES'].") VALUES(".$dbs['FIELD_VALUES'].")" );
			$ADMIN->done_screen( "层叠式样表(CSS)已经上传", "层叠式样表(CSS)管理", "act=style" );
		}
	}

	function optimize( )
	{
		global $IN;
		global $INFO;
		global $DB;
		global $SKIN;
		global $ADMIN;
		global $std;
		global $MEMBER;
		global $GROUP;
		if ( $IN['id'] == "" )
		{
			$ADMIN->error( "你必须指定一个存在的CSS文件ID,请返回后重试!" );
		}
		$DB->query( "SELECT * from ibf_css WHERE cssid='".$IN['id']."'" );
		if ( !( $row = $DB->fetch_row( ) ) )
		{
			$ADMIN->error( "无法在数据库中找到相关数据" );
		}
		$orig_size = strlen( $row['css_text'] );
		$orig_text = str_replace( "\r\n", "\n", $row['css_text'] );
		$orig_text = str_replace( "\r", "\n", $orig_text );
		$orig_text = str_replace( "\n\n", "\n", $orig_text );
		$parsed = array( );
		$orig_text = preg_replace( "#/\\*(.+?)\\*/#s", "", $orig_text );
		preg_match_all( "/(.+?)\\{(.+?)\\}/s", $orig_text, $match, PREG_PATTERN_ORDER );
		$i = 0;
		for ( ;	$i < count( $match[0] );	++$i	)
		{
			$match[1][$i] = trim( $match[1][$i] );
			$parsed[$match[1][$i]] = trim( $match[2][$i] );
		}
		if ( count( $parsed ) < 1 )
		{
			$ADMIN->error( "系统无法识别层叠式样表(CSS)文件的格式,无法执行优化操作。" );
		}
		$final = "";
		foreach ( $parsed as $name => $p )
		{
			if ( preg_match( "#^//#", $name ) )
			{
			}
			else
			{
				$parts = explode( ";", $p );
				$defs = array( );
				foreach ( $parts as $part )
				{
					if ( $part != "" )
					{
						list( $definition, $data ) = explode( ":", $part );
						$defs[] = trim( $definition ).": ".trim( $data );
					}
				}
				$final .= $name." { ".implode( "; ", $defs )." }\n";
			}
		}
		$final_size = strlen( $final );
		if ( $final_size < 1000 )
		{
			$ADMIN->error( "系统无法识别层叠式样表(CSS)文件的格式,无法执行优化操作。" );
		}
		$dbs = $DB->compile_db_update_string( array(
			"css_text" => $final
		) );
		$DB->query( "UPDATE ibf_css SET {$dbs} WHERE cssid='".$IN['id']."'" );
		$saved = $orig_size - $final_size;
		$pc_saved = 0;
		if ( 0 < $saved )
		{
			$pc_saved = sprintf( "%.2f", $saved / $orig_size * 100 );
		}
		$ADMIN->done_screen( "层叠式样表(CSS)已经更新<br>字符已经保存:{$saved} ({$pc_saved} %)", "层叠式样表(CSS)管理", "act=style" );
	}

	function export( )
	{
		global $IN;
		global $INFO;
		global $DB;
		global $SKIN;

⌨️ 快捷键说明

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