virt2/api/soft/tinymce/4.3.12/plugins/imagemanager/language/language.php

146 lines
3.3 KiB
PHP
Executable File

<?php
/**
* language.php
*
* @package MCManager.stream
* @author Moxiecode
* @copyright Copyright © 2007, Moxiecode Systems AB, All rights reserved.
*/
error_reporting(E_ALL ^ E_NOTICE);
header("Content-type: text/javascript");
// Load MCManager core
require_once("../includes/general.php");
require_once("../classes/ManagerEngine.php");
require_once("../classes/Utils/Error.php");
require_once("../classes/Utils/JSON.php");
$MCErrorHandler = new Moxiecode_Error(false);
set_error_handler("JSErrorHandler");
$json = new Moxiecode_JSON();
// NOTE: Remove default value
$type = getRequestParam("type", "im");
$format = getRequestParam("format", false);
$prefix = getRequestParam("prefix", "");
$groupIDs = getRequestParam("groups", "");
$code = getRequestParam("code", "en");
if ($type == "")
die("alert('No type set.');");
// Clean up type, only a-z stuff.
$type = preg_replace("/[^a-z]/i", "", $type);
// Include Base and Core and Config.
$man = new Moxiecode_ManagerEngine($type);
require_once($basepath ."CorePlugin.php");
require_once("../config.php");
$man->dispatchEvent("onPreInit", array($type));
// Include all plugins
$pluginPaths = $man->getPluginPaths();
foreach ($pluginPaths as $path)
require_once("../". $path);
// Dispatch auth event to make authenticators override config options
$man->isAuthenticated();
$langPack =& $man->getLangPack();
$groups =& $langPack->getGroups();
// TinyMCE specific format
if ($format == "tinymce") {
echo "tinyMCE.addToLang('',{\n";
$group = $groups['tinymce'];
$keys = array_keys($group);
for ($i=0; $i<count($keys); $i++) {
echo $prefix . $keys[$i] . ":" . $json->encodeString($group[$keys[$i]]);
if ($i != count($keys) - 1)
echo ",";
echo "\n";
}
echo "});";
} else if ($format == "tinymce_3_x") {
echo "tinyMCE.addI18n('" . $langPack->getLanguage() . "',{\n";
$group = $groups['tinymce'];
$keys = array_keys($group);
for ($i=0; $i<count($keys); $i++) {
echo $prefix . $keys[$i] . ":" . $json->encodeString($group[$keys[$i]]);
if ($i != count($keys) - 1)
echo ",";
echo "\n";
}
echo "});";
} else if ($format == "old") {
// Normal MC manager format
echo "mox.require(['mox.lang.LangPack'], function() {\n";
foreach ($groups as $groupName => $group) {
echo "mox.lang.LangPack.add('en', '" . $groupName . "', {\n";
$keys = array_keys($group);
for ($i=0; $i<count($keys); $i++) {
echo $keys[$i] . ":" . $json->encodeString($group[$keys[$i]]);
if ($i != count($keys) - 1)
echo ",";
echo "\n";
}
echo "});\n\n";
}
echo "\n});\n\n";
echo "function translatePage() {";
echo "if (mox && mox.lang && mox.lang.LangPack)";
echo "mox.lang.LangPack.translatePage();";
echo "}";
} else {
$content = "";
echo "var MCManagerI18n = {\n";
$groupNames = $groupIDs ? explode(',', $groupIDs) : array_keys($groups);
foreach ($groupNames as $group) {
if (strlen($content) > 0)
$content .= ',';
$content .= "'" . $group . "':{\n";
$group = $groups[$group];
$keys = array_keys($group);
for ($i=0; $i<count($keys); $i++) {
$content .= ' ' . $keys[$i] . ":" . $json->encodeString($group[$keys[$i]]);
if ($i != count($keys) - 1)
$content .= ",";
$content .= "\n";
}
$content .= "}";
}
echo $content . "};";
}
?>