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

📄 admin.languages.php

📁 mambo的cms源代码
💻 PHP
字号:
<?php/*** @version $Id: admin.languages.php,v 1.7 2005/02/16 14:31:26 kochp Exp $* @package Mambo* @subpackage Languages* @copyright (C) 2000 - 2005 Miro International Pty Ltd* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL* Mambo is Free Software*//** ensure this file is being included by a parent file */defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );// ensure user has access to this functionif (!$acl->acl_check( 'administration', 'config', 'users', $my->usertype )) {	mosRedirect( 'index2.php', _NOT_AUTH );}require_once( $mainframe->getPath( 'admin_html' ) );// XML libraryrequire_once( "$mosConfig_absolute_path/includes/domit/xml_domit_lite_include.php" );$task = trim( strtolower( mosGetParam( $_REQUEST, "task", "" ) ) );$cid = mosGetParam( $_REQUEST, "cid", array(0) );if (!is_array( $cid )) {	$cid = array(0);}switch ($task) {	case "new":	mosRedirect( "index2.php?option=com_installer&element=language" );	break;	case "edit_source":	editLanguageSource( $cid[0], $option );	break;	case "save_source":	saveLanguageSource( $option );	break;	case "remove":	removeLanguage( $cid[0], $option );	break;	case "publish":	publishLanguage( $cid[0], $option );	break;	case "cancel":	mosRedirect( "index2.php?option=$option" );	break;	default:	viewLanguages( $option );	break;}/*** Compiles a list of installed languages*/function viewLanguages( $option ) {	global $languages;	global $mainframe;	global $mosConfig_lang, $mosConfig_absolute_path, $mosConfig_list_limit;	$limit = $mainframe->getUserStateFromRequest( "viewlistlimit", 'limit', $mosConfig_list_limit );	$limitstart = $mainframe->getUserStateFromRequest( "view{$option}limitstart", 'limitstart', 0 );	// get current languages	$cur_language = $mosConfig_lang;	$rows = array();	// Read the template dir to find templates	$languageBaseDir = mosPathName(mosPathName($mosConfig_absolute_path) . "language");	$rowid = 0;	$xmlFilesInDir = mosReadDirectory($languageBaseDir,'.xml$');	$dirName = $languageBaseDir;	foreach($xmlFilesInDir as $xmlfile) {		// Read the file to see if it's a valid template XML file		$xmlDoc =& new DOMIT_Lite_Document();		$xmlDoc->resolveErrors( true );		if (!$xmlDoc->loadXML( $dirName . $xmlfile, false, true )) {			continue;		}		$element = &$xmlDoc->documentElement;		if ($element->getTagName() != 'mosinstall') {			continue;		}		if ($element->getAttribute( "type" ) != "language") {			continue;		}		$row = new StdClass();		$row->id = $rowid;		$row->language = substr($xmlfile,0,-4);		$element = &$xmlDoc->getElementsByPath('name', 1 );		$row->name = $element->getText();		$element = &$xmlDoc->getElementsByPath('creationDate', 1);		$row->creationdate = $element ? $element->getText() : 'Unknown';		$element = &$xmlDoc->getElementsByPath('author', 1);		$row->author = $element ? $element->getText() : 'Unknown';		$element = &$xmlDoc->getElementsByPath('copyright', 1);		$row->copyright = $element ? $element->getText() : '';		$element = &$xmlDoc->getElementsByPath('authorEmail', 1);		$row->authorEmail = $element ? $element->getText() : '';		$element = &$xmlDoc->getElementsByPath('authorUrl', 1);		$row->authorUrl = $element ? $element->getText() : '';		$element = &$xmlDoc->getElementsByPath('version', 1);		$row->version = $element ? $element->getText() : '';		// if current than set published		if ($cur_language == $row->language) {			$row->published	= 1;		} else {			$row->published = 0;		}		$row->checked_out = 0;		$row->mosname = strtolower( str_replace( " ", "_", $row->name ) );		$rows[] = $row;		$rowid++;	}	require_once( $GLOBALS['mosConfig_absolute_path'] . '/administrator/includes/pageNavigation.php' );	$pageNav = new mosPageNav( count( $rows ), $limitstart, $limit );	$rows = array_slice( $rows, $pageNav->limitstart, $pageNav->limit );	HTML_languages::showLanguages( $cur_language, $rows, $pageNav, $option );}/*** Publish, or make current, the selected language*/function publishLanguage( $p_lname, $option ) {	global $mosConfig_lang, $adminLanguage;	$config = "";	$fp = fopen("../configuration.php","r");	while(!feof($fp)){		$buffer = fgets($fp,4096);		if (strstr($buffer,"\$mosConfig_lang")){			$config .= "\$mosConfig_lang = \"$p_lname\";\n";		} else {			$config .= $buffer;		}	}	fclose($fp);	if ($fp = fopen("../configuration.php","w")){		fputs($fp, $config, strlen($config));		fclose($fp);		mosRedirect("index2.php", $adminLanguage->A_COMP_LANG_UPDATED );	} else {		mosRedirect("index2.php", $adminLanguage->A_COMP_LANG_M_SURE );	}}/*** Remove the selected language*/function removeLanguage( $cid, $option, $client ) {	global $mosConfig_lang, $adminLanguage;	$client_id = $client=='admin' ? 1 : 0;	$cur_language = $mosConfig_lang;	if ($cur_language == $cid) {		echo "<script>alert(\"". $adminLanguage->A_COMP_LANG_CANNOT ."\"); window.history.go(-1); </script>\n";		exit();	}	/*$lang_path = "../language/$cid.php";	$lang_ignore_path = "../language/$cid.ignore.php";	$xml_path = "../language/$cid.xml";	unlink($lang_path);	unlink($lang_ignore_path);	unlink($xml_path);	*/	mosRedirect( 'index2.php?option=com_installer&element=language&client='. $client .'&task=remove&cid[]='. $cid );}function editLanguageSource( $p_lname, $option) {    global $adminLanguage;	$file = stripslashes( "../language/$p_lname.php" );	if ($fp = fopen( $file, "r" )) {		$content = fread( $fp, filesize( $file ) );		$content = htmlspecialchars( $content );		HTML_languages::editLanguageSource( $p_lname, $content, $option );	} else {		mosRedirect( "index2.php?option=$option&mosmsg=". $adminLanguage->A_COMP_LANG_FAILED_OPEN ." ". $file );	}}function saveLanguageSource( $option ) {    global $adminLanguage;	$language = trim( mosGetParam( $_POST, 'language', '' ) );	$filecontent = mosGetParam( $_POST, 'filecontent', '', _MOS_ALLOWHTML );	if (!$language) {		mosRedirect( "index2.php?option=$option&mosmsg=". $adminLanguage->A_COMP_LANG_FAILED_SPEC );	}	if (!$filecontent) {		mosRedirect( "index2.php?option=$option&mosmsg=". $adminLanguage->A_COMP_LANG_FAILED_EMPTY );	}	$file = "../language/$language.php";    $enable_write = mosGetParam($_POST,'enable_write',0);	$oldperms = fileperms($file);	if ($enable_write) @chmod($file, $oldperms | 0222);	clearstatcache();	if (is_writable( $file ) == false) {		mosRedirect( "index2.php?option=$option&mosmsg=". $adminLanguage->A_COMP_LANG_FAILED_UNWRT );	}	if ($fp = fopen ($file, "w")) {		fputs( $fp, stripslashes( $filecontent ) );		fclose( $fp );		if ($enable_write) {			@chmod($file, $oldperms);		} else {			if (mosGetParam($_POST,'disable_write',0))				@chmod($file, $oldperms & 0777555);		} // if		mosRedirect( "index2.php?option=$option" );	} else {		if ($enable_write) @chmod($file, $oldperms);		mosRedirect( "index2.php?option=$option&mosmsg=". $adminLanguage->A_COMP_LANG_FAILED_FILE );	}}?>

⌨️ 快捷键说明

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