From 1851dc9b5de69e4833bbc12c7ac552d8fbd20e19 Mon Sep 17 00:00:00 2001 From: lsces Date: Wed, 27 Aug 2025 15:06:43 +0100 Subject: General changes to cover uninitialized variables and style changes for PHP8.4 --- admin/admin_languages_inc.php | 8 ++--- admin/schema_inc.php | 69 ++++++++++++++++++------------------- includes/bit_setup_inc.php | 47 ++++++++++++++----------- liberty_plugins/data.tr.php | 21 ++++++----- liberty_plugins/data.translated.php | 28 ++++++++------- 5 files changed, 91 insertions(+), 82 deletions(-) mode change 100644 => 100755 includes/bit_setup_inc.php mode change 100644 => 100755 liberty_plugins/data.tr.php mode change 100644 => 100755 liberty_plugins/data.translated.php diff --git a/admin/admin_languages_inc.php b/admin/admin_languages_inc.php index e65aae6..356b177 100644 --- a/admin/admin_languages_inc.php +++ b/admin/admin_languages_inc.php @@ -11,7 +11,7 @@ $formLanguageToggles = array( ), 'i18n_interactive_translation' => array( 'label' => 'Interactive Translations', - 'note' => 'This will help you translate your site very effitiently by giving you direct access to the correct translation page.
Once you are done translating, make sure you turn this feature off and clear the language cache.
This feature only works when you set $smarty_force_compile to TRUE in your config/kernel/config_inc.php file', + 'note' => 'This will help you translate your site very effitiently by giving you direct access to the correct translation page.
Once you are done translating, make sure you turn this feature off and clear the language cache.
This feature only works when you set $smarty_force_compile to true in your config/kernel/config_inc.php file', 'page' => 'TranslationTutorial', 'link' => array( 'title' => 'Language cache', @@ -49,7 +49,7 @@ if( isset( $_REQUEST["prefs"] )) { "bitlanguage", ); foreach( $pref_byref_values as $britem ) { - byref_set_value( $britem, NULL, LANGUAGES_PKG_NAME ); + byref_set_value( $britem, null, LANGUAGES_PKG_NAME ); } global $gBitLanguage; $gBitLanguage->setLanguage( $gBitSystem->getConfig( 'bitlanguage' )); @@ -61,7 +61,7 @@ if( isset( $_REQUEST["prefs"] )) { } // Get list of available languages -$languages = array(); +$languages = []; $languages = $gBitLanguage->listLanguages(); -$gBitSmarty->assignByRef( "languages", $languages ); +$gBitSmarty->assign( "languages", $languages ); ?> diff --git a/admin/schema_inc.php b/admin/schema_inc.php index 2946e63..d577c43 100644 --- a/admin/schema_inc.php +++ b/admin/schema_inc.php @@ -1,6 +1,6 @@ " lang_code C(32) PRIMARY, @@ -35,51 +35,51 @@ $tables = array( CONSTRAINT ', CONSTRAINT `liberty_translation_ref` FOREIGN KEY (`content_id`) REFERENCES `".BIT_DB_PREFIX."liberty_content`( `content_id` )' ", -); +]; global $gBitInstaller; foreach( array_keys( $tables ) AS $tableName ) { - $gBitInstaller->registerSchemaTable( LANGUAGES_PKG_NAME, $tableName, $tables[$tableName], TRUE ); + $gBitInstaller->registerSchemaTable( LANGUAGES_PKG_NAME, $tableName, $tables[$tableName], true ); } -$indices = array ( - 'i18n_masters_pkg_idx' => array( 'table' => 'i18n_masters', 'cols' => 'package', 'opts' => NULL ), - 'i18n_masters_created_idx' => array( 'table' => 'i18n_masters', 'cols' => 'created', 'opts' => NULL ), - 'i18n_strings_lang_idx' => array( 'table' => 'i18n_strings', 'cols' => 'lang_code', 'opts' => NULL ), - 'i18n_strings_lang_idx' => array( 'table' => 'i18n_strings', 'cols' => 'source_hash', 'opts' => NULL ), - 'i18n_strings_modif_idx' => array( 'table' => 'i18n_strings', 'cols' => 'last_modified', 'opts' => NULL ), - 'i18n_version_src_idx' => array( 'table' => 'i18n_version_map', 'cols' => 'source_hash', 'opts' => NULL ), - 'i18n_version_ver_idx' => array( 'table' => 'i18n_version_map', 'cols' => 'version', 'opts' => NULL ), -); +$indices = [ + 'i18n_masters_pkg_idx' => [ 'table' => 'i18n_masters', 'cols' => 'package', 'opts' => null ], + 'i18n_masters_created_idx' => [ 'table' => 'i18n_masters', 'cols' => 'created', 'opts' => null ], + 'i18n_strings_lang_idx' => [ 'table' => 'i18n_strings', 'cols' => 'lang_code', 'opts' => null ], + 'i18n_strings_source_idx' => [ 'table' => 'i18n_strings', 'cols' => 'source_hash', 'opts' => null ], + 'i18n_strings_modif_idx' => [ 'table' => 'i18n_strings', 'cols' => 'last_modified', 'opts' => null ], + 'i18n_version_src_idx' => [ 'table' => 'i18n_version_map', 'cols' => 'source_hash', 'opts' => null ], + 'i18n_version_ver_idx' => [ 'table' => 'i18n_version_map', 'cols' => 'version', 'opts' => null ], +]; $gBitInstaller->registerSchemaIndexes( LANGUAGES_PKG_NAME, $indices ); // ### Sequences //$sequences = array ( -// 'i18n_content_trans_id_seq' => array( 'start' => 1 ), +// 'i18n_content_trans_id_seq' => [ 'start' => 1 ], //); //$gBitInstaller->registerSchemaSequences( LIBERTY_PKG_NAME, $sequences ); -$gBitInstaller->registerPackageInfo( LANGUAGES_PKG_NAME, array( +$gBitInstaller->registerPackageInfo( LANGUAGES_PKG_NAME, [ 'description' => "This package allows you to translate your site into a different language.", 'license' => 'LGPL', -) ); +] ); // ### Default Preferences -$gBitInstaller->registerPreferences( LANGUAGES_PKG_NAME, array( - array( LANGUAGES_PKG_NAME, 'i18n_record_untranslated','y' ), -) ); +$gBitInstaller->registerPreferences( LANGUAGES_PKG_NAME, [ + [ LANGUAGES_PKG_NAME, 'i18n_record_untranslated','y' ], +] ); // ### Default UserPermissions -$gBitInstaller->registerUserPermissions( LANGUAGES_PKG_NAME, array( - array('p_languages_create', 'Can create new languages', 'admin', LANGUAGES_PKG_NAME), - array('p_languages_edit', 'Can edit translations', 'editors', LANGUAGES_PKG_NAME), - array('p_languages_delete', 'Can delete languages', 'admin', LANGUAGES_PKG_NAME), - array('p_languages_edit_master', 'Can edit master translation strings', 'admin', LANGUAGES_PKG_NAME), - array('p_languages_import', 'Can import and export language files', 'editors', LANGUAGES_PKG_NAME), -) ); - -$gBitInstaller->registerSchemaDefault( LANGUAGES_PKG_NAME, array( +$gBitInstaller->registerUserPermissions( LANGUAGES_PKG_NAME, [ + [ 'p_languages_create', 'Can create new languages', 'admin', LANGUAGES_PKG_NAME], + [ 'p_languages_edit', 'Can edit translations', 'editors', LANGUAGES_PKG_NAME], + [ 'p_languages_delete', 'Can delete languages', 'admin', LANGUAGES_PKG_NAME], + [ 'p_languages_edit_master', 'Can edit master translation strings', 'admin', LANGUAGES_PKG_NAME], + [ 'p_languages_import', 'Can import and export language files', 'editors', LANGUAGES_PKG_NAME], +] ); + +$gBitInstaller->registerSchemaDefault( LANGUAGES_PKG_NAME, [ "INSERT INTO `".BIT_DB_PREFIX."i18n_languages` (`lang_code`,`native_name`,`english_name`,`right_to_left`) VALUES ('ar', 'ﺎﻠﻋﺮﺒﻳﺓ', 'Arabic','y' )", "INSERT INTO `".BIT_DB_PREFIX."i18n_languages` (`lang_code`,`native_name`,`english_name`) VALUES ('ca', 'Català', 'Catalan')", "INSERT INTO `".BIT_DB_PREFIX."i18n_languages` (`lang_code`,`native_name`,`english_name`) VALUES ('cs', 'Český', 'Czech')", @@ -119,13 +119,12 @@ $gBitInstaller->registerSchemaDefault( LANGUAGES_PKG_NAME, array( "INSERT INTO `".BIT_DB_PREFIX."i18n_languages` (`lang_code`,`native_name`,`english_name`) VALUES ('uk', 'Українська', 'Ukrainian')", "INSERT INTO `".BIT_DB_PREFIX."i18n_languages` (`lang_code`,`native_name`,`english_name`,`right_to_left`) VALUES ('ur', 'اردو', 'Urdu', 'y')", "INSERT INTO `".BIT_DB_PREFIX."i18n_languages` (`lang_code`,`native_name`,`english_name`) VALUES ('zh-cn', '简体中文', 'Chinese')", -) ); +] ); // Package requirements -$gBitInstaller->registerRequirements( LANGUAGES_PKG_NAME, array( - 'liberty' => array( 'min' => '2.1.4' ), - 'users' => array( 'min' => '2.1.0' ), - 'kernel' => array( 'min' => '2.0.0' ), - 'themes' => array( 'min' => '2.0.0' ), -)); -?> +$gBitInstaller->registerRequirements( LANGUAGES_PKG_NAME, [ + 'liberty' => [ 'min' => '5.0.0' ], + 'users' => [ 'min' => '5.0.0' ], + 'kernel' => [ 'min' => '5.0.0' ], + 'themes' => [ 'min' => '5.0.0' ], +] ); diff --git a/includes/bit_setup_inc.php b/includes/bit_setup_inc.php old mode 100644 new mode 100755 index 6e3e534..7738a6e --- a/includes/bit_setup_inc.php +++ b/includes/bit_setup_inc.php @@ -1,28 +1,35 @@ 'languages', 'package_path' => dirname( dirname( __FILE__ ) ).'/', 'service' => LIBERTY_SERVICE_TRANSLATION, - 'required_package'=> TRUE, -); -$gBitSystem->registerPackage( $registerHash ); + 'required_package'=> true, +]; +define( 'LANGUAGES_PKG_NAME', $pRegisterHash['package_name'] ); +define( 'LANGUAGES_PKG_URL', BIT_ROOT_URL . basename( $pRegisterHash['package_path'] ) . '/' ); +$gBitSystem->registerPackage( $pRegisterHash ); // ********** BABELFISH ************ if ($gBitSystem->isFeatureActive('babelfish') ) { - require_once(LANGUAGES_PKG_CLASS_PATH.'Babelfish.php'); - $gBitSmarty->assignByRef('babelfish_links', Babelfish::links( $gBitSystem->getConfig('language', 'en') )); + require_once LANGUAGES_PKG_CLASS_PATH.'Babelfish.php'; + $gBitSmarty->assign('babelfish_links', \Babelfish::links( $gBitSystem->getConfig('language', 'en') )); } if ($gBitSystem->isFeatureActive('babelfish_logo') ) { - require_once(LANGUAGES_PKG_CLASS_PATH.'Babelfish.php'); - $gBitSmarty->assign('babelfish_logo', Babelfish::logo($gBitLanguage->mLanguage)); + require_once LANGUAGES_PKG_CLASS_PATH.'Babelfish.php'; + $gBitSmarty->assign('babelfish_logo', \Babelfish::logo($gBitLanguage->mLanguage)); } if( $gBitSystem->isPackageActive( 'languages' ) && $gBitUser->hasPermission( 'p_languages_edit' ) ) { - $menuHash = array( + $menuHash = [ 'package_name' => LANGUAGES_PKG_NAME, 'index_url' => LANGUAGES_PKG_URL.'edit_languages.php', 'menu_template' => 'bitpackage:languages/menu_languages.tpl', - ); + ]; $gBitSystem->registerAppMenu( $menuHash ); } @@ -40,12 +47,12 @@ if( !empty( $_REQUEST['oe'] ) && !empty( $gBitLanguage->mLanguageList[$_REQUEST[ $gBitLanguage->setLanguage( $_REQUEST['oe'] ); } -$gBitSmarty->assignByRef('gBitLanguage', $gBitLanguage); +$gBitSmarty->assign('gBitLanguage', $gBitLanguage); $gBitSmarty->assign('bitlanguage', $gBitLanguage->mLanguage); if( !empty( $gLibertySystem ) && $gBitSystem->isFeatureActive( 'i18n_content_translation' ) ) { - require_once( LANGUAGES_PKG_CLASS_PATH.'LibertyTranslations.php' ); - $gLibertySystem->registerService( LIBERTY_SERVICE_TRANSLATION, LANGUAGES_PKG_NAME, array( + require_once LANGUAGES_PKG_CLASS_PATH.'LibertyTranslations.php'; + $gLibertySystem->registerService( LIBERTY_SERVICE_TRANSLATION, LANGUAGES_PKG_NAME, [ 'content_display_function' => 'translation_content_display', //'content_preview_function' => 'translation_content_edit', 'content_edit_function' => 'translation_content_edit', @@ -55,15 +62,14 @@ if( !empty( $gLibertySystem ) && $gBitSystem->isFeatureActive( 'i18n_content_tra //'content_load_sql_function' => 'translation_content_load', 'content_edit_mini_tpl' => 'bitpackage:languages/select_translations.tpl', 'content_icon_tpl' => 'bitpackage:languages/i18n_service_icons.tpl', - ) ); + ] ); if( !empty( $_POST['i18n']['translate'] ) ) { - if( @BitBase::verifyId( $_POST['i18n']['to_id'] ) ) { - $get = '&content_id='.$_POST['i18n']['to_id']; - } else { - $get = 'i18n[lang_code]='.$_POST['i18n']['to_id']; - } - if( @BitBase::verifyId( $_POST['i18n']['translation_id'] ) ) { + $get = BitBase::verifyId( $_POST['i18n']['to_id'] ) + ? '&content_id='.$_POST['i18n']['to_id'] + : 'i18n[lang_code]='.$_POST['i18n']['to_id']; + + if( BitBase::verifyId( $_POST['i18n']['translation_id'] ) ) { $get .= '&i18n[translation_id]='.$_POST['i18n']['translation_id']; } if( !empty( $_POST['i18n']['google'] ) ) { @@ -74,4 +80,3 @@ if( !empty( $gLibertySystem ) && $gBitSystem->isFeatureActive( 'i18n_content_tra die; } } -?> diff --git a/liberty_plugins/data.tr.php b/liberty_plugins/data.tr.php old mode 100644 new mode 100755 index 788390c..37bd810 --- a/liberty_plugins/data.tr.php +++ b/liberty_plugins/data.tr.php @@ -9,38 +9,41 @@ * @copyright Copyright (c) 2008, bitweaver.org */ +namespace Bitweaver\Liberty; +use Bitweaver\KernelTools; +use Bitweaver\Liberty\LibertyContent; + /** * Setup Code */ define( 'PLUGIN_GUID_DATATR', 'datatr' ); global $gLibertySystem; -$pluginParams = array ( +$pluginParams = [ 'tag' => 'tr', - 'auto_activate' => FALSE, - 'requires_pair' => TRUE, + 'auto_activate' => false, + 'requires_pair' => true, 'load_function' => 'data_tr', 'title' => 'Translate', 'help_page' => 'DataPluginTR', - 'description' => tra( "Use this plugin to mark strings for translation. You should only use this for common short strings, and not entire pages." ), + 'description' => KernelTools::tra( "Use this plugin to mark strings for translation. You should only use this for common short strings, and not entire pages." ), 'help_function' => 'data_tr_help', - 'syntax' => "{tr}", + 'syntax' => "", 'plugin_type' => DATA_PLUGIN -); +]; $gLibertySystem->registerPlugin( PLUGIN_GUID_DATATR, $pluginParams ); $gLibertySystem->registerDataTag( $pluginParams['tag'], PLUGIN_GUID_DATATR ); function data_tr_help() { - $help = tra( "Example: " ) . "{tr}string of text to be translated{/tr}"; + $help = KernelTools::tra( "Example: " ) . "string of text to be translated"; return $help; } function data_tr( $pData, $pParams, $pCommonObject ) { $transString = tra( $pData ); $parseHash = $pCommonObject->mInfo; - $parseHash['no_cache'] = TRUE; + $parseHash['no_cache'] = true; $parseHash['data'] = $transString; $parsedData = LibertyContent::parseDataHash( $parseHash ); $parsedData = preg_replace( '|$|', '', $parsedData ); return $parsedData; } -?> diff --git a/liberty_plugins/data.translated.php b/liberty_plugins/data.translated.php old mode 100644 new mode 100755 index 67de226..acbc351 --- a/liberty_plugins/data.translated.php +++ b/liberty_plugins/data.translated.php @@ -4,6 +4,9 @@ * @package liberty * @subpackage plugins_data */ +namespace Bitweaver\Liberty; +use Bitweaver\KernelTools; + // +----------------------------------------------------------------------+ // | Copyright (c) 2004, bitweaver.org // +----------------------------------------------------------------------+ @@ -25,32 +28,32 @@ */ define( 'PLUGIN_GUID_DATATRANSLATED', 'datatranslated' ); global $gLibertySystem; -$pluginParams = array ( +$pluginParams = [ 'tag' => 'TRANSLATED', - 'auto_activate' => FALSE, - 'requires_pair' => FALSE, + 'auto_activate' => false, + 'requires_pair' => false, 'load_function' => 'data_translated', 'title' => 'Translated - (not yet functional)', // Remove this line when the plugin becomes operational // 'title' => 'Translated', // and Remove the comment from the start of this line, and the comments Help Function below 'help_page' => 'DataPluginTranslated', - 'description' => tra("This plugin is used to create a link to a page that contains a translation. The link can be shown as an Icon for the country or as an abreviation for the language."), + 'description' => KernelTools::tra("This plugin is used to create a link to a page that contains a translation. The link can be shown as an Icon for the country or as an abreviation for the language."), 'help_function' => 'data_translated_help', 'syntax' => "{TRANSLATED page= lang= flag= }", 'plugin_type' => DATA_PLUGIN -); +]; $gLibertySystem->registerPlugin( PLUGIN_GUID_DATATRANSLATED, $pluginParams ); $gLibertySystem->registerDataTag( $pluginParams['tag'], PLUGIN_GUID_DATATRANSLATED ); // Help Function function data_translated_help() { - $back = tra("^__Parameter Syntax:__ ") . "~np~{TRANSLATED" . tra("(key=>value)}~/np~\n"); - $back.= tra("||__::key::__ | __::value::__ | __::Comments::__\n"); - $back.= "::page::" . tra(" | ::page name:: | __Manditory__ Is a valid url for the page which contains the translation. The page name can be in the formats [url] or ((wikiname)) or ((inter:interwiki))\n^"); - $back.= "::lang::" . tra(" | ::abreviation:: | __Manditory__ Is a 2 letter code that specifies the language to use. See the Abreviations given below.\n"); - $back.= "::flag::" . tra(" | ::flag name:: | __Optional__ Is an image file that can be used as the link. See the Flag Names given below\n"); + $back = KernelTools::tra("^__Parameter Syntax:__ ") . "~np~{TRANSLATED" . KernelTools::tra("(key=>value)}~/np~\n"); + $back.= KernelTools::tra("||__::key::__ | __::value::__ | __::Comments::__\n"); + $back.= "::page::" . KernelTools::tra(" | ::page name:: | __Manditory__ Is a valid url for the page which contains the translation. The page name can be in the formats [url] or ((wikiname)) or ((inter:interwiki))\n^"); + $back.= "::lang::" . KernelTools::tra(" | ::abreviation:: | __Manditory__ Is a 2 letter code that specifies the language to use. See the Abreviations given below.\n"); + $back.= "::flag::" . KernelTools::tra(" | ::flag name:: | __Optional__ Is an image file that can be used as the link. See the Flag Names given below\n"); // $back.= "^__Flag Names:__ ~pp~American_Samoa / Angola / Antigua / Argentina / Armenia / Australia / Austria / Bahamas / Bahrain / Bangladesh / Barbados / Belgium / Bermuda / Bolivia / Brazil / Brunei / Canada / Cayman_Islands / Chile / China / Colombia / Cook_Islands / Costa_Rica / Croatia / Cuba / Cyprus / Czech_Republic / Denmark / Dominican_Republic / Ecuador / Egypt / El_Salvador / Estonia / Federated_States_of_Micronesia / Fiji / Finland / France / French_Polynesia / Germany / Greece / Guam / Guatemala / Haiti / Honduras / Hungary / Iceland / India / Indonesia / Iran / Iraq / Ireland / Israel / Italy / Jamaica / Japan / Jordan / Kazakstan / Kenya / Kiribati / Kuwait / Latvia / Lebanon / Lithuania / Malawi / Malaysia / Malta / Marshall_Islands / Mauritius / Mexico / Morocco / Mozambique / Nauru / Nepal / Netherlands / New_Caledonia / New_Zealand / Nicaragua / Nigeria / Niue / Norway / Pakistan / Panama / Papua_New_Guinea / Paraguay / Peru / Phillippines / Poland / Portugal / Puerto_Rico / Quatar / Romania / Russia / Samoa / Saudi_Arabia / Singapore / Slovakia / Slovenia / Solomon_Islands / Somalia / South_Africa / South_Korea / Spain / Sri_Lanka / St_Vincent_Grenadines / Surinam / Sweden / Switzerland / Taiwan / Thailand / Tonga / Trinidad_Tobago / Turkey / Tuvalu / Ukraine / United_Arab_Emirates / United_Kingdom / United_States / Uruguay / Vanuatu / Venezuela / Wales / Yugoslavia / Zambia / Zimbabwe~/pp~\n^"; // $back.= tra("^ __Language Abreviations:__ Chinese (Simplified)=") . "__cn__" . tra(" / Chinese Traditional=") . "__tw__" . tra(" / Czech=") . "__cs__" . tra(" / Danish=") . "__da__" . tra(" / English=") . "__en__" . tra(" / French=") . "__fr__" . tra(" / German=") . "__de__" . tra(" / Hebrew=") . "__he__" . tra(" / Italian=") . "__it__" . tra(" / Japanese=") . "__ja__" . tra(" / Norwegian=") . "__no__" . tra(" / Polish=") . "__po__" . tra(" / Russian=") . "__ru__" . tra(" / Serbian=") . "__sr__" . tra(" / Slovak=") . "__sk__" . tra(" Spanish=") . "__es__" . tra(" Swedish=") . "__sv__.||^"; - $back.= tra("^__Example:__ ") . "~np~{TRANSLATED(page=>Home Page,lang=>fr,flag=>France)}~/np~^"; + $back.= KernelTools::tra("^__Example:__ ") . "~np~{TRANSLATED(page=>Home Page,lang=>fr,flag=>France)}~/np~^"; return $back; } @@ -112,5 +115,4 @@ function wikiplugin_translated($data, $params) { } return $back; } -*/ -?> +*/ \ No newline at end of file -- cgit v1.3