+ Перевод текста на клиенте, функция: trts

This commit is contained in:
Igor I
2023-12-20 20:05:51 +06:00
parent 772afdf026
commit 7797b141bf
6 changed files with 41 additions and 82 deletions

View File

@ -208,20 +208,9 @@
$idType="object";
}
try
{
if(strpos($db_connection, 'sqlite')!==false)
{
$db = new PDO($db_connection);
}else
{
$db = new PDO($db_connection, $db_login, $db_password);
$db->exec("SET timezone TO 'UTC';"); //Пользователь должен сам передавать свою зону или она должна быть в настройках
}
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (Exception $e)
{ sendError(1,'Connect error '.$_SERVER['HTTP_HOST'].': "'.$e->getMessage().'"!');
}
$db = connectToDB();
if($db==null)
sendError(1,trt('Error_connection_to_DB'));
//Пытаемся автоматически залогинется по GUID из COOKIE (TODO авторизация должна быть в отдельном файле! Смотри директорию password )
/*if($_SESSION['USER_ID']==null && $_COOKIE['GUID']!=null)
@ -633,7 +622,7 @@
$sql_query=str_replace('${_user_id}',getSQLValue(gettype($_SESSION['USER_ID']),$_SESSION['USER_ID']),$sql_query);
if($objListR!=null && $objListR->getAttribute('order')!='' && $objListR->getAttribute('order')!=null && $objListR->getAttribute('order')!='null')
{
$sql_query=str_replace('${_order}',findNodeOnAttribute(findFirstNode($currNode,'objects-list'), "column","n",$objListR->getAttribute("order"))->getAttribute("order"),$sql_query);
$sql_query=str_replace('${_order}',getSQLValue('i4',findNodeOnAttribute(findFirstNode($currNode,'objects-list'), "column","n",$objListR->getAttribute("order"))->getAttribute("order")),$sql_query);
}else $sql_query=str_replace('${_order}','1',$sql_query);
//sendError(1,$sql_query);
@ -677,66 +666,6 @@
}
//перебираем RS и строим XML только из тех столбцов которые записанны в секци objects-list поля column в не зависимости от их видимости
/*
$xmlstring='';
$xmlstring.='<?xml version="1.0" encoding="utf-8"?>'."\n";
$xmlstring.='<metadata fn="'.$fn.'"><type n="'.$typename.'" pc="'.$pagecount.'" pp="'.$pagepos.'">'."\n";
//Перечисляю название выбираемых столбцов через запятую
$xmlstring.='<objects-list>';
$nextnode=findNode($currNode,'objects-list')->firstChild;
while ($nextnode)
{
if ($nextnode->nodeName=='column')
{
$xmlstring.='<column n="'.$nextnode->getAttribute("n").'"/>';
}
$nextnode = $nextnode->nextSibling;
}
$xmlstring.='</objects-list>';
$node=findFirstNode($reqNode,'objects-list');
$pos=-1;
while ($row = $res->fetch(PDO::FETCH_ASSOC))// $row - ассоциативный массив значений, ключи - названия столбцов
{
$pos++;
if (($pagepos!=-1)&&(($pos<($pagepos*$rowspagecount))||($pos>=$pagepos*$rowspagecount+$rowspagecount))) { continue; }
//разрешать или запрещять редактировать запись надо проверять в хранимке а также запрещять либо разрешать редактировать колонку
//для каждой записи формируеться строка настроек со значениями что нужно запретить в таком виде "iuds"
//$access=$row["access"];
$access=''; //u = enable update field, d = enable delete field
if(!array_key_exists("_u",$row)) { $access.="u"; } else { $access.=$row["_u"]; }
if(!array_key_exists("_d",$row)) { $access.="d"; } else { $access.=$row["_d"]; }
if(array_key_exists($currNode->getAttribute("ObjectID"),$row))
$xmlstring.=' <record id="'.$row[$currNode->getAttribute("ObjectID")].'" a="'.$access.'">';
else
$xmlstring.=' <record id="" a="'.$access.'">';
$nextnode=findNode($currNode,'objects-list')->firstChild;
while ($nextnode)
{
if ($nextnode->nodeName=='column')
{
if(array_key_exists($nextnode->getAttribute("n"),$row))
{
$field = $nextnode->getAttribute("n");
$xmlstring.='<![CDATA['.$row[$field].']]>';
}else
{
sendError(1,"Column \"".$nextnode->getAttribute("n")."\" not exists in \"$typename\" for select!");
}
}
$nextnode = $nextnode->nextSibling;
}
$xmlstring.='</record>'."\n";
}
$res->closeCursor();
$xmlstring.='</type></metadata>'."\n";
header('Content-type: text/xml');
echo $xmlstring;
*/
$obj = new StdClass();
$obj->errorCode=0;
$obj->errorMessage = '';