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

📄 ad_languages.php

📁 泛微协同办公系统标准版E-office V5.5的源代码内含泛微办公系统V5.5自动注册文件。
💻 PHP
📖 第 1 页 / 共 2 页
字号:
		{
			$ADMIN->error( "无法写入目录 'lang', 请修改目录权限(CHMOD 755 或 CHMOD 777)。" );
		}
		if ( !is_dir( ROOT_PATH."lang/".$row['ldir'] ) )
		{
			$ADMIN->error( "无法找到默认语言文件进行复制,请检查后重试!" );
		}
		$row['lname'] = $row['lname'].".2";
		$final = array( );
		foreach ( $row as $k => $v )
		{
			if ( $k == "lid" )
			{
			}
			else
			{
				$final[$k] = $v;
			}
		}
		$db_string = $DB->compile_db_insert_string( $final );
		$DB->query( "INSERT INTO ibf_languages (".$db_string['FIELD_NAMES'].") VALUES(".$db_string['FIELD_VALUES'].")" );
		$new_id = $DB->get_insert_id( );
		if ( !$ADMIN->copy_dir( $INFO['base_dir']."lang/".$row['ldir'], $INFO['base_dir']."lang/".$new_id ) )
		{
			$DB->query( "DELETE FROM ibf_languages WHERE lid='{$new_id}'" );
			$ADMIN->error( $ADMIN->errors );
		}
		else
		{
			$DB->query( "UPDATE ibf_languages SET ldir='{$new_id}' WHERE lid='{$new_id}'" );
		}
		$this->do_form( "add", $new_id );
	}

	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 ( $IN['id'] == 1 )
		{
			$ADMIN->error( "你不能删除这个语言文件。" );
		}
		$DB->query( "SELECT * from ibf_languages WHERE lid='".$IN['id']."'" );
		if ( !( $row = $DB->fetch_row( ) ) )
		{
			$ADMIN->error( "无法从数据库获取相关数据信息" );
		}
		if ( $INFO['default_language'] == "" )
		{
			$INFO['default_language'] = "chinese_gb";
		}
		if ( $row['ldir'] == $INFO['default_language'] )
		{
			$ADMIN->error( "你不能从默认语言文件目录中删除这个语言文件,请选择其它的语言文件再试!" );
		}
		$DB->query( "UPDATE ibf_members SET language='{$INFO['default_language']}' WHERE language='{$row['ldir']}'" );
		if ( $ADMIN->rm_dir( $INFO['base_dir']."lang/".$row['ldir'] ) )
		{
			$DB->query( "DELETE FROM ibf_languages WHERE lid='".$IN['id']."'" );
			$std->boink_it( $SKIN->base_url."&act=lang" );
			exit( );
		}
		else
		{
			$ADMIN->error( "无法删除语言文件,请检查目录权限,确定具有足够的权限执行此操作。" );
		}
	}

	function save_langfile( )
	{
		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 ( $IN['lang_file'] == "" )
		{
			$ADMIN->error( "你必须指定一个存在的语言文件名,请返回后重试!" );
		}
		$DB->query( "SELECT * from ibf_languages WHERE lid='".$IN['id']."'" );
		if ( !( $row = $DB->fetch_row( ) ) )
		{
			$ADMIN->error( "无法从数据库获取相关数据信息" );
		}
		$lang_file = ROOT_PATH."lang/".$row['ldir']."/".$IN['lang_file'];
		if ( !file_exists( $lang_file ) )
		{
			$ADMIN->error( "无法找到目录 {$lang_file}, 目录是否已经建立?" );
		}
		if ( !is_writeable( $lang_file ) )
		{
			$ADMIN->error( "无法写入目录 {$lang_file}, 目录属性是否已经设置为(CHMOD 666 或 777)?" );
		}
		$barney = array( );
		foreach ( $IN as $k => $v )
		{
			if ( !preg_match( "/^XX_(\\S+)\$/", $k, $match ) && !isset( $IN[$match[0]] ) )
			{
				$v = preg_replace( "/'/", "'", stripslashes( $HTTP_POST_VARS[$match[0]] ) );
				$v = preg_replace( "/&#60;/", "<", $v );
				$v = preg_replace( "/&#62;/", ">", $v );
				$v = preg_replace( "/&#38;/", "&", $v );
				$v = preg_replace( "/\r/", "", $v );
				$barney[$match[1]] = $v;
			}
		}
		if ( count( $barney ) < 1 )
		{
			$ADMIN->error( "出现错误啦,你是否没有填写某个表单选项?" );
		}
		$start = "<?php\n\n";
		if ( $IN['lang_file'] == "email_content.php" )
		{
			foreach ( $barney as $key => $text )
			{
				$text = preg_replace( "/n{1,}\$/", "", $text );
				$start .= "\n\$EMAIL["."'{$key}'"."] = <<<EOF"."\n".$text."\nEOF;\n";
			}
		}
		else
		{
			foreach ( $barney as $key => $text )
			{
				$start .= "\n\$lang["."'{$key}'"."]  = \"".addslashes( $text )."\";";
			}
		}
		$start .= "\n\n?>";
		if ( $fh = fopen( $lang_file, "w" ) )
		{
			fwrite( $fh, $start, strlen( $start ) );
			fclose( $fh );
		}
		else
		{
			$ADMIN->error( "无法写入文件 {$lang_file}" );
		}
		$ADMIN->done_screen( "语言文件已经更新", "语言文件管理", "act=lang" );
	}

	function do_form( $method = "add", $id = "" )
	{
		global $IN;
		global $INFO;
		global $DB;
		global $SKIN;
		global $ADMIN;
		global $std;
		global $MEMBER;
		global $GROUP;
		if ( $id != "" )
		{
			$IN['id'] = $id;
		}
		if ( $IN['id'] == "" )
		{
			$ADMIN->error( "你必须指定一个存在的语言文件ID,请返回后重试!" );
		}
		$DB->query( "SELECT * from ibf_languages WHERE lid='".$IN['id']."'" );
		if ( !( $row = $DB->fetch_row( ) ) )
		{
			$ADMIN->error( "无法从数据库获取相关数据信息" );
		}
		$lang_dir = $INFO['base_dir']."lang/".$row['ldir'];
		$form_array = array( );
		if ( $method != "add" && !is_writeable( $lang_dir ) )
		{
			$ADMIN->error( "无法写入目录 '{$lang_dir}', 请修改目录权限(CHMOD 755 或 CHMOD 777)。" );
		}
		if ( is_dir( $lang_dir ) )
		{
			$handle = opendir( $lang_dir );
			while ( ( $filename = readdir( $handle ) ) !== false )
			{
				if ( $filename != "." && $filename != ".." )
				{
					if ( preg_match( "/^index/", $filename ) )
					{
					}
					else if ( preg_match( "/\\.php\$/", $filename ) )
					{
						$form_array[] = array(
							$filename,
							preg_replace( "/\\.php\$/", "", $filename )
						);
					}
				}
			}
			closedir( $handle );
		}
		if ( $row['lauthor'] && $row['lemail'] )
		{
			$author = "<br><br>这个语言文件:<b>'{$row['lname']}'</b> 的作者是:<a href='mailto:{$row['lemail']}' target='_blank'>{$row['lauthor']}</a>";
		}
		else if ( $row['lauthor'] )
		{
			$author = "<br><br>这个语言文件:<b>'{$row['lname']}'</b> 的作者是:{$row['lauthor']}";
		}
		$ADMIN->page_detail = "请在下面选择你需要编辑的语言文件 {$author} {$url}";
		$ADMIN->page_title = "编辑语言文件";
		$ADMIN->html .= $SKIN->start_form( array(
			1 => array( "code", "editinfo" ),
			2 => array( "act", "lang" ),
			3 => array(
				"id",
				$IN['id']
			)
		) );
		$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( "lname", $row['lname'] )
		) );
		if ( $method == "add" )
		{
			$ADMIN->html .= $SKIN->add_td_row( array(
				"<b>语言文件作者:</b>",
				$SKIN->form_input( "lauthor", $row['lauthor'] )
			) );
			$ADMIN->html .= $SKIN->add_td_row( array(
				"<b>语言文件作者联系信箱:</b>",
				$SKIN->form_input( "lemail", $row['lemail'] )
			) );
		}
		$ADMIN->html .= $SKIN->end_form( "编辑语言文件信息" );
		$ADMIN->html .= $SKIN->end_table( );
		$ADMIN->html .= $SKIN->start_form( array(
			1 => array( "code", "edit2" ),
			2 => array( "act", "lang" ),
			3 => array(
				"id",
				$IN['id']
			)
		) );
		$SKIN->td_header[] = array( "&nbsp;", "60%" );
		$SKIN->td_header[] = array( "&nbsp;", "40%" );
		$ADMIN->html .= $SKIN->start_table( "编辑语言文件 '".$row['lname']."'" );
		$ADMIN->html .= $SKIN->add_td_row( array(
			"<b>请选择需要编辑的语言文件</b>",
			$SKIN->form_dropdown( "lang_file", $form_array )
		) );
		$ADMIN->html .= $SKIN->end_form( "编辑语言文件" );
		$ADMIN->html .= $SKIN->end_table( );
		$ADMIN->output( );
	}

	function list_current( )
	{
		global $IN;
		global $INFO;
		global $DB;
		global $SKIN;
		global $ADMIN;
		global $std;
		global $MEMBER;
		global $GROUP;
		if ( $INFO['default_language'] == "" )
		{
			$INFO['default_language'] = "chinese_gb";
		}
		$form_array = array( );
		$ADMIN->page_detail = "你可以 编辑/删除/添加 语言文件";
		$ADMIN->page_title = "语言文件管理";
		$DB->query( "select ibf_languages.*, count(ibf_members.id) as mcount from ibf_languages left join ibf_members on(ibf_members.language=ibf_languages.ldir) where (ibf_members.language is not null or ibf_members.language = 'en') group by ibf_languages.ldir order by ibf_languages.lname" );
		$used_ids = array( );
		$show_array = array( );
		$ADMIN->html .= $SKIN->js_checkdelete( );
		if ( $DB->get_num_rows( ) )
		{
			$SKIN->td_header[] = array( "语言文件名称", "40%" );
			$SKIN->td_header[] = array( "使用用户", "30%" );
			$SKIN->td_header[] = array( "导出", "10%" );
			$SKIN->td_header[] = array( "编辑", "10%" );
			$SKIN->td_header[] = array( "删除", "10%" );
			$ADMIN->html .= $SKIN->start_table( "当前使用的语言文件" );
			while ( $r = $DB->fetch_row( ) )
			{
				if ( $INFO['default_language'] == $r['ldir'] )
				{
					$root = "<span style='color:red;font-weight:bold'> (默认语言)</span>";
				}
				else
				{
					$root = " ( <a href='{$SKIN->base_url}&act=lang&code=makedefault&id=".urlencode( $r['ldir'] )."'>设为默认语言</a> )";
				}
				$show_array[$r['lid']] .= stripslashes( $r['lname'] )."<br>";
				if ( in_array( $r['lid'], $used_ids ) )
				{
				}
				else
				{
					$ADMIN->html .= $SKIN->add_td_row( array(
						"<b>".stripslashes( $r['lname'] )."</b> {$root}",
						"<center>{$r['mcount']}</center>",
						"<center><a href='".$SKIN->base_url."&act=lang&code=export&id={$r['lid']}'>导出</a></center>",
						"<center><a href='".$SKIN->base_url."&act=lang&code=edit&id={$r['lid']}'>编辑</a></center>",
						"<center><a href='javascript:checkdelete(\"act=lang&code=remove&id={$r['lid']}\")'>删除</a></center>"
					) );
					$used_ids[] = $r['lid'];
					$form_array[] = array(
						$r['lid'],
						$r['lname']
					);
				}
			}
			$ADMIN->html .= $SKIN->end_table( );
		}
		if ( count( $used_ids ) < 1 )
		{
			$used_ids[] = "0";
		}
		$DB->query( "SELECT lid, ldir, lname FROM ibf_languages WHERE lid NOT IN(".implode( ",", $used_ids ).")" );
		if ( $DB->get_num_rows( ) )
		{
			$SKIN->td_header[] = array( "语言文件名称", "40%" );
			$SKIN->td_header[] = array( "导出", "10%" );
			$SKIN->td_header[] = array( "编辑", "30%" );
			$SKIN->td_header[] = array( "删除", "20%" );
			$ADMIN->html .= $SKIN->start_table( "当前可选的语言文件" );
			while ( $r = $DB->fetch_row( ) )
			{
				if ( $INFO['default_language'] == $r['ldir'] )
				{
					$root = "<span style='color:red;font-weight:bold'> (默认语言)</span>";
				}
				else
				{
					$root = " ( <a href='{$SKIN->base_url}&act=lang&code=makedefault&id=".urlencode( $r['ldir'] )."'>设为默认语言</a> )";
				}
				$ADMIN->html .= $SKIN->add_td_row( array(
					"<b>".stripslashes( $r['lname'] )."</b> {$root}",
					"<center><a href='".$SKIN->base_url."&act=lang&code=export&id={$r['lid']}'>导出</a></center>",
					"<center><a href='".$SKIN->base_url."&act=lang&code=edit&id={$r['lid']}'>编辑</a></center>",
					"<center><a href='javascript:checkdelete(\"act=lang&code=remove&id={$r['lid']}\")'>删除</a></center>"
				) );
				$form_array[] = array(
					$r['lid'],
					$r['lname']
				);
			}
			$ADMIN->html .= $SKIN->end_table( );
		}
		$ADMIN->html .= $SKIN->start_form( array(
			1 => array( "code", "add" ),
			2 => array( "act", "lang" )
		) );
		$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->end_form( "添加新语言文件" );
		$ADMIN->html .= $SKIN->end_table( );
		$ADMIN->output( );
	}

}

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

⌨️ 快捷键说明

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