# Conflicts:
#	metadata/dbms/records.php
This commit is contained in:
2020-08-17 11:34:08 +06:00
3 changed files with 126 additions and 41 deletions

View File

@ -153,8 +153,9 @@
}
//Функция для перевода текста без применения GetText
function trt($text)
{
/*
закоментил так как есть в tools.php
function trt($text) {
global $db,$lng,$Schema;
$language_id=1;
@ -182,29 +183,32 @@
$result=str_replace("_", " ", $text);
}
return $result;
}
}*/
//Перевод для строки в которой встречаются подстроки вида: _('')
//Перевод для строки в которой встречаются подстроки вида: trt('')
function parseGT($text)
{
$result='';
$pLen=4; //Длина преамбулы trt(
$cut=0;
$from = 0; // Позиция поиска для итерации
while (true)
{
$pos1 = strpos($text, '_(', $from);
$pos1 = strpos($text, 'trt(', $from);
if($pos1 !== false)
{
$from = $pos1+3;
$from = $pos1+$pLen+1;
$pos2 = false;
if($text[$pos1+2] == '"') $pos2 = strpos($text, '")', $from);
if($text[$pos1+2] == '\'') $pos2 = strpos($text, '\')', $from);
if($text[$pos1+$pLen] == '"') $pos2 = strpos($text, '")', $from);
if($text[$pos1+$pLen] == '\'') $pos2 = strpos($text, '\')', $from);
if($pos2 !== false)
{
$result.=substr($text, $cut, $pos1 - $cut );
$result.=trt(substr($text, $pos1+3, $pos2 - $pos1 - 3 ));
$result.=__(substr($text, $pos1+3, $pos2 - $pos1 - 3 ));
$toTranslate=substr($text, $pos1+$pLen+1, $pos2 - $pos1 - $pLen-1 );
$result.=trt($toTranslate);
$cut=$pos2+2;
$from = $pos2 + 2;
$from = $pos2 + $pLen;
}
}else break;
}
@ -1150,7 +1154,7 @@
if ($fn==8)//Получить отчёт как Excel.xls файл (почти тоже самое что и функция 4)
{
session_write_close(); //Разблокируем сессионный файл так как запросы могут быть достаточно долгими
//if (!isset($_SESSION['USER_ID']) || $_SESSION['USER_ID']=='') sendError(_('You are not logged in!'));
//if (!isset($_SESSION['USER_ID']) || $_SESSION['USER_ID']=='') sendError(trt('You are not logged in!'));
//Выбираем информацию о текущем пользователе
$name='';
@ -1197,7 +1201,7 @@
setFilter($f1,$f2);//заменить все значения первого фильтра значениями из второго
//Выбираем параметры фильтра (Для информирования что было заполнено)
$filter='<b>'._('Filter options').'</b><br>';
$filter='<b>'.trt('Filter options').'</b><br>';
$nextnode=$f1->firstChild;
while ($nextnode)
{ if ($nextnode->nodeName=='column')
@ -1235,7 +1239,7 @@
} catch (Exception $e)
{ sendError($e->getMessage());
}
if($res->rowCount()!=1) sendError(_('The number of records is not equal to one!').' '.$sql_query);
if($res->rowCount()!=1) sendError(trt('The number of records is not equal to one!').' '.$sql_query);
$columns=explode(",",$nextnode->getAttribute('FieldCaption'));
@ -1300,8 +1304,8 @@
fwrite($fh, ' </head>'."\n");
fwrite($fh, ' <body>'."\n");
fwrite($fh, '<b>'._('Time and date of generation').': </b><i>'.date('H:i:s m.d.Y').'</i><br>');
fwrite($fh, '<b>'._('Creator').': </b>'.$name);
fwrite($fh, '<b>'.trt('Time and date of generation').': </b><i>'.date('H:i:s m.d.Y').'</i><br>');
fwrite($fh, '<b>'.trt('Creator').': </b>'.$name);
fwrite($fh, $filter);
fwrite($fh, ' <table border="1" cellspacing="0">'."\n");
@ -1367,7 +1371,7 @@
//deleteTempFiles($dir);
}else
{
sendError(_('Not found the requested node:').' "'.$typename.'"!');
sendError(trt('Not found the requested node:').' "'.$typename.'"!');
}
}else

View File

@ -1,4 +1,24 @@
//Copyright (C) Ivanov I.M. irigm@mail.ru
/*jshint esversion: 6 */
"use strict";
//Массив g_translations подгружается отдельно
function trt(key)
{
if(key==null || key===undefined) return '';
let val=g_translations[key];
if(val==null || val===undefined)
{
for(let item in g_translations) {
if(item.toLowerCase()==key.toLowerCase())
{
val=g_translations[item];
break;
}
}
}
if(val==null || val===undefined) return key.replace(/_/g, ' ');
else return val;
}
//Расширить плитку чтобы она занимала всю штртну области
function resizeDivTile(parent,minWidth)
@ -529,15 +549,13 @@ function setIframeSrc(iframeNode, src)
// браузер хранится в объекте browser
function createIFrame(fname, fsrc, parent, debug)
{
var ifrstr = BrowserDetect.browser=='Explorer' ? '<iframe name="'+fname+'" src="'+src+'">' : 'iframe';
var cframe = document.createElement(ifrstr);
let ifrstr = BrowserDetect.browser=='Explorer' ? '<iframe name="'+fname+'" src="'+src+'">' : 'iframe';
let cframe = document.createElement(ifrstr);
with(cframe){
name = fname // это не для IE
setAttribute("name", fname) // и это тоже, но вреда не будет
id = fname // а это везде ок
src = fsrc //Так ка setIframeSrc глючит если не задан родитель
}
cframe.name = fname // это не для IE
cframe.setAttribute("name", fname) // и это тоже, но вреда не будет
cframe.id = fname // а это везде ок
cframe.src = fsrc //Так ка setIframeSrc глючит если не задан родитель
// можно добавлять сразу к document.body
//document.body.appendChild(cframe);
@ -558,27 +576,25 @@ function createIFrame(fname, fsrc, parent, debug)
// прячем фрейм
function hideIframe(iframeNode)
{
with(iframeNode.style) {
if(BrowserDetect.browser!='Safari'){
position = "absolute";
}
left = top = "0px";
height = width = "1px";
visibility = "hidden";
if(BrowserDetect.browser!='Safari'){
iframeNode.style.position = "absolute";
}
iframeNode.style.left = "0px";
iframeNode.style.height = "1px";
iframeNode.style.visibility = "hidden";
}
//вернуть строку до заданных символов
function BeforeFirst(str,sub)
{
var pos=str.indexOf(sub);
let pos=str.indexOf(sub);
if (pos==-1) return null;
return str.substring(0, pos);
}
//вернуть строку до последнего найденого символа
function BeforeLast(str,sub)
{
var pos=str.lastIndexOf(sub);
let pos=str.lastIndexOf(sub);
if (pos==-1) return null;
return str.substring(0, pos);
}
@ -586,14 +602,14 @@ function BeforeLast(str,sub)
//вернуть строку после заданных символов
function AfterFirst(str,sub)
{
var pos=str.indexOf(sub);
let pos=str.indexOf(sub);
if (pos==-1) return null;
return str.substring(pos+sub.length, str.length);
}
function AfterLast(str,sub)
{
var pos=str.lastIndexOf(sub);
let pos=str.lastIndexOf(sub);
if (pos==-1) return null;
return str.substring(pos+sub.length, str.length);
}
@ -601,9 +617,9 @@ function AfterLast(str,sub)
//взять параметры из строки запроса (раздел по ? и &)
function getParam(sParamName,win)
{
var Params = win.location.search.substring(1).split("&"); // отсекаем «?» и вносим переменные и их значения в массив
var variable = "";
for (var i = 0; i < Params.length; i++)
let Params = win.location.search.substring(1).split("&"); // отсекаем «?» и вносим переменные и их значения в массив
let variable = "";
for (let i = 0; i < Params.length; i++)
{
if (Params[i].split("=")[0] == sParamName)
{
@ -870,7 +886,7 @@ function delChild(obj)
{
while(true)
{
c=obj.firstChild;
let c=obj.firstChild;
if(c!=null) obj.removeChild(c); else break;
}
}
@ -1574,7 +1590,7 @@ class TSettings
{ delete(this.mas[id]);
};
}
Settings=new TSettings();
var Settings=new TSettings();
function isInt(value)