sintonia/livesupport/modules/htmlUI/var/localizer/main.php

179 lines
5.9 KiB
PHP
Executable File

<?php
require_once('require.inc.php');
include_once('header.html');
$data =& Data::getInstance();
loadLanguageFiles('', 'locals');
loadLanguageFiles('..', 'globals');
switch ($_REQUEST[action]) {
case 'read2gs': // read XML to array (similar to include(GS) )
$arr = $data->readTransXML2Arr($file, _DEFAULT_LANG_);
$gs = $data->convArr2GS($arr);
print_r($gs);
break;
case 'translate': // translate an xml-file
case 'save_translation':
$file = array('dir' => $_REQUEST['dir'],
'base' => $_REQUEST['base'],
'Id' => $_REQUEST['Id'],
'sourceId' => $_REQUEST[sourceId]);
if ($_REQUEST[action] == "save_translation") {
$data->saveTrans2XML($file, $_REQUEST[data]);
loadLanguageFiles('..', 'globals'); // maybee localizers expressions are changed->reload
loadLanguageFiles('', 'locals');
}
$source = $data->readTransXML2Arr($file, _DEFAULT_LANG_);
$target = $data->readTransXML2Arr($file, $_REQUEST['Id']);
if ($_REQUEST[sourceId]) { // translate from
$from = $data->readTransXML2Arr($file, $_REQUEST[sourceId]);
$source['Id'] = $from['Id'];
foreach($from[item] as $nr=>$item) {
if($item[value]) {
$source[item][$nr][from] = $item[value];
}
}
}
$output .= Display::transForm($source, $target, $file, $_REQUEST[onlyUntranslated]);
if ($_REQUEST['Id'] == _DEFAULT_LANG_) {
$output .= Display::addEntrySelection($source, $file);
}
break;
case 'addEntryForm':
$file = array('dir' => $_REQUEST['dir'],
'base' => $_REQUEST['base'],
'Id' => $_REQUEST['Id']);
$output .= Display::addEntry2XML($file, $_REQUEST['pos'], $_REQUEST['amount']);
break;
case 'addEntry2XML':
$file = array('dir' => $_REQUEST['dir'],
'base' => $_REQUEST['base'],
'Id' => _DEFAULT_LANG_);
$msg = Data::checkKeys($file, $_REQUEST[newKey]);
if ($msg[err]) {
foreach ($msg[err] as $val=>$err) {
Error($err);
while ($key = array_search($val, $_REQUEST[newKey])) {
unset($_REQUEST[newKey][$key]);
}
}
}
if (count($_REQUEST[newKey])) { // skip if all was unset above
$data->addEntry2XML($file, $_REQUEST[pos], $_REQUEST[newKey]);
}
$source = $data->readTransXML2Arr($file, _DEFAULT_LANG_);
$target = $data->readTransXML2Arr($file, $_REQUEST['Id']);
$output .= Display::transForm($source, $target, $file);
$output .= Display::addEntrySelection($source, $file);
break;
case 'removeEntryFromXML':
$file = array('dir' => $_REQUEST['dir'],
'base' => $_REQUEST['base'],
'Id' => _DEFAULT_LANG_);
$data->removeEntryFromXML($file, $_REQUEST[pos]);
$source = $data->readTransXML2Arr($file, _DEFAULT_LANG_);
$target = $data->readTransXML2Arr($file, $_REQUEST['Id']);
$output .= Display::transForm($source, $target, $file);
$output .= Display::addEntrySelection($source, $file);
break;
case 'swapEntrysOnXML':
$file = array('dir' => $_REQUEST['dir'],
'base' => $_REQUEST['base'],
'Id' => _DEFAULT_LANG_);
$data->swapEntrysOnXML($file, $_REQUEST[pos1], $_REQUEST[pos2]);
$source = $data->readTransXML2Arr($file, _DEFAULT_LANG_);
$target = $data->readTransXML2Arr($file, $_REQUEST['Id']);
$output .= Display::transForm($source, $target, $file);
$output .= Display::addEntrySelection($source, $file);
break;
case 'newLangFilePref':
$output .= Display::newLangFilePref($_REQUEST['dir'], $_REQUEST[denied]);
break;
case 'newLangFileForm':
$output .= Display::newLangFileForm($_REQUEST[amount], $_REQUEST['base'], $_REQUEST['dir']);
break;
case 'storeNewLangFile':
$file = array('dir' => $_REQUEST['dir'],
'base' => $_REQUEST['base'],
'Id' => _DEFAULT_LANG_);
$data->addEntry2XML($file, 'new', $_REQUEST[newKey]);
break;
case 'manageLanguages':
$output .= Display::manageLangForm();
break;
case 'collectExpr':
$file = array('dir' => $_REQUEST['dir'],
'base' => $_REQUEST['base'],
'Id' => _DEFAULT_LANG_);
$newKeys = Data::collectExprPHP($file);
$newKeys = array_merge($newKeys, Data::collectExprTPL($file));
$msg = Data::checkKeys($file, $newKeys);
if ($msg[err]) {
foreach ($msg[err] as $val=>$err) {
#Error($err);
while ($key = array_search($val, $newKeys)) {
unset($newKeys[$key]);
}
}
}
if (count($newKeys)) { // skip if all was unset above
$data->addEntry2XML($file, 'begin', $newKeys);
}
$source = $data->readTransXML2Arr($file, _DEFAULT_LANG_);
$output .= Display::transForm($source, $source, $file);
$output .= Display::addEntrySelection($source, $file);
break;
}
echo '<h3>'.getGS('localizer').'</h3>'.$error[msg].$output;
?>
</BODY>
</HTML>