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

📄 language.class.php

📁 是一个教学内容管理系统
💻 PHP
字号:
<?php/************************************************************************//* ATutor																*//************************************************************************//* Copyright (c) 2002-2004 by Greg Gay, Joel Kronenberg & Heidi Hazelton*//* Adaptive Technology Resource Centre / University of Toronto			*//* http://atutor.ca														*//*																		*//* This program is free software. You can redistribute it and/or		*//* modify it under the terms of the GNU General Public License			*//* as published by the Free Software Foundation.						*//************************************************************************/// $Id: Language.class.php 6770 2007-02-15 18:53:30Z joel $define('AT_LANGUAGE_LOCALE_SEP', '-');/*** Language* Class for accessing information about a single language.* @access	public* @author	Joel Kronenberg* @see		LanguageManager::getLanguage()* @see		LanguageManager::getMyLanguage()* @package	Language*/class Language {	// all private	var $code;	var $characterSet;	var $direction;	var $regularExpression;	var $nativeName;	var $englishName;	var $status;	var $atutor_version;	var $db;	// constructor	function Language($language_row) {		global $db;		$this->db = $db;		if (is_array($language_row)) {			$this->code              = $language_row['language_code'];			$this->characterSet      = $language_row['char_set'];			$this->direction         = $language_row['direction'];			$this->regularExpression = $language_row['reg_exp'];			$this->nativeName        = $language_row['native_name'];			$this->englishName       = $language_row['english_name'];			$this->status            = $language_row['status'];			$this->atutor_version    = $language_row['version'];		} else if (is_object($language_row)) {			$this->cloneThis($language_row);		}	}	// private	// copies the properties from $from to $this Object	function cloneThis($from) {		$vars = get_object_vars($from);		foreach ($vars as $key => $value) {			$this->$key = $value;		}	}	// returns whether or not the $search_string matches the regular expression	function isMatchHttpAcceptLanguage($search_string) {		return eregi('^(' . $this->regularExpression . ')(;q=[0-9]\\.[0-9])?$', $search_string);	}	// returns boolean whether or not $search_string is in HTTP_USER_AGENT	function isMatchHttpUserAgent($search_string) {		return eregi('(\(|\[|;[[:space:]])(' . $this->regularExpression . ')(;|\]|\))', $search_string);	}	function getCode() {		return $this->code;	}	function getCharacterSet() {		return $this->characterSet;	}	function getDirection() {		return $this->direction;	}	function getRegularExpression() {		return $this->regularExpression;	}	function getAtutorVersion() {		return $this->atutor_version;	}	function getTranslatedName() {		if ($this->code == $_SESSION['lang']) {			return $this->nativeName;		}		// this code has to be translated:		return _AT('lang_' . str_replace('-', '_', $this->code));	}	function getNativeName() {		return $this->nativeName;	}	function getEnglishName() {		return $this->englishName;	}	function getStatus() {		return $this->status;	}	// public	function sendContentTypeHeader() {		header('Content-Type: text/html; charset=' . $this->characterSet);	}	// public	function saveToSession() {		$_SESSION['lang'] = $this->code;	}	// public	function saveToPreferences($id) {		global $db;		if ($id) {			$sql = "UPDATE ".TABLE_PREFIX."members SET language='".$this->code."', creation_date=creation_date, last_login=last_login WHERE member_id=$id";			mysql_query($sql,$db);		}	}	// public	// returns whether or not this language is right-to-left	// possible langues are: arabic, farsi, hebrew, urdo	function isRTL() {		if ($this->direction == 'rtl') {			return true;		} // else:		return false;	}	// public	// can be called staticly	function getParentCode($code = '') {		if (!$code && isset($this)) {			$code = $this->code;		}		$peices = explode(AT_LANGUAGE_LOCALE_SEP, $code, 2);		return $peices[0];	}	// public	// can be called staticly	function getLocale($code = '') {		if (!$code && isset($this)) {			$code = $this->code;		}		$peices = explode(AT_LANGUAGE_LOCALE_SEP, $code, 2);		return $peices[1];	}		// public	function getTerm($term) {		$sql = "SELECT *, UNIX_TIMESTAMP(L.revised_date) AS revised_date_unix FROM ".TABLE_PREFIX."language_text L WHERE L.language_code='".$this->getCode()."' AND L.variable='_template' AND L.term='$term'";		$result = mysql_query($sql, $this->db);		$row = mysql_fetch_assoc($result);		return $row;	}	function getXML($part=FALSE) {		if (!$part) {			$xml = '<?xml version="1.0" encoding="iso-8859-1"?>			<!-- This is an ATutor language pack - http://www.atutor.ca-->			<!DOCTYPE language [			   <!ELEMENT atutor-version (#PCDATA)>			   <!ELEMENT code (#PCDATA)>			   <!ELEMENT charset (#PCDATA)>			   <!ELEMENT direction (#PCDATA)>			   <!ELEMENT reg-exp (#PCDATA)>			   <!ELEMENT native-name (#PCDATA)>			   <!ELEMENT english-name (#PCDATA)>			   <!ELEMENT status (#PCDATA)>			   <!ATTLIST language code ID #REQUIRED>			]>';		} 		$xml .= '<language code="'.$this->code.'">			<atutor-version>'.VERSION.'</atutor-version>			<charset>'.$this->characterSet.'</charset>			<direction>'.$this->direction.'</direction>			<reg-exp>'.$this->regularExpression.'</reg-exp>			<native-name>'.$this->nativeName.'</native-name>			<english-name>'.$this->englishName.'</english-name>			<status>'.$this->status.'</status>		</language>';		return $xml;	}}?>

⌨️ 快捷键说明

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