api_language.php
来自「sabreipb 2.1.6 utf-8中文版本!」· PHP 代码 · 共 185 行
PHP
185 行
<?php/*+--------------------------------------------------------------------------| Invision Power Board v2.1.5| =============================================| by Matthew Mecham| (c) 2001 - 2005 Invision Power Services, Inc.| | =============================================| Web: | Time: Wed, 01 Mar 2006 19:11:28 GMT| Release: | Licence Info: +---------------------------------------------------------------------------| > $Date: 2005-11-30 12:25:19 +0000 (Wed, 30 Nov 2005) $| > $Revision: 86 $| > $Author: matt $+---------------------------------------------------------------------------|| > API: Languages| > Module written by Matt Mecham| > Date started: Wednesday 19th July 2005 (14:33)|+--------------------------------------------------------------------------*//*** API: Languages** EXAMPLE USAGE* <code>* $api = new api_language();* # Optional - if $ipsclass is not passed, it'll init* $api->ipsclass =& $this->ipsclass;* $api->api_init();* $api->lang_add_strings( array('lang_key' => "Language value" ), 'lang_subscriptions' );* </code>** @package InvisionPowerBoard* @subpackage APIs* @author Matt Mecham* @copyright Invision Power Services, Inc.* @version 2.1*/if ( ! defined( 'IPS_API_PATH' ) ){ /** * Define classes path */ define( 'IPS_API_PATH', dirname(__FILE__) ? dirname(__FILE__) : '.' );}if ( ! class_exists( 'api_core' ) ){ require_once( IPS_API_PATH.'/api_core.php' );}/*** API: Languages** This class deals with all available language functions.** @package InvisionPowerBoard* @subpackage APIs* @author Matt Mecham* @version 2.1* @since 2.1.0*/class api_language extends api_core{ /** * IPS Class Object * * @var object */ //var $ipsclass; /*-------------------------------------------------------------------------*/ // Add language strings to IPB language system /*-------------------------------------------------------------------------*/ /** * Add language strings to the IPB language system * * @param array Language keys => values to add * @param string Language file, eg: lang_global * @param string Language pack to add to or 'all' to add to all * @return void; */ function lang_add_strings( $to_add=array(), $add_lang_file='', $add_where='all') { //------------------------------- // Check? //------------------------------- if ( ! count( $to_add ) ) { $this->api_error[] = "input_missing_fields"; return; } if ( ! $add_lang_file ) { $this->api_error[] = "input_missing_fields"; return; } //------------------------------- // Trim off .php //------------------------------- $add_lang_file = str_replace( '.php', '', $add_lang_file ); //------------------------------- // Get lang stuff from DB //------------------------------- $this->ipsclass->DB->simple_construct( array( 'select' => '*', 'from' => 'languages' ) ); $o = $this->ipsclass->DB->simple_exec(); //------------------------------- // Go loopy //------------------------------- while( $row = $this->ipsclass->DB->fetch_row( $o ) ) { $lang = array(); if ( $add_where == $row['ldir'] OR $add_where == 'all' ) { $lang_file = CACHE_PATH."cache/lang_cache/".$row['ldir']."/".$add_lang_file.'.php'; if ( file_exists( $lang_file ) ) { require ( $lang_file ); } else { $this->errors[] = "file_not_found"; return; } foreach( $to_add as $k => $v ) { $lang[ $k ] = $v; } //------------------------------- // Write output //------------------------------- $start = "<?php\n\n"; foreach( $lang as $key => $text) { $text = preg_replace("/\n{1,}$/", "", $text); $start .= "\n".'$lang['."'$key'".'] = "'.addslashes($text).'";'; } $start .= "\n\n?".">"; if ( $fh = fopen( $lang_file, 'w') ) { fwrite($fh, $start ); fclose($fh); } else { $this->api_error[] = "file_not_writeable"; continue; } } } } }?>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?