PMCORE-2904: [23879] Unable to start cases in PM 3.6.1 using WSSO, session lost.

fix CR notes
This commit is contained in:
Rodrigo Quelca
2021-03-24 14:56:11 +00:00
parent 3793600df3
commit c7eca5d64b
20 changed files with 47 additions and 46 deletions

View File

@@ -108,7 +108,7 @@ export default {
url, url,
credentials = window.config.SYS_CREDENTIALS, credentials = window.config.SYS_CREDENTIALS,
workspace = window.config.SYS_WORKSPACE, workspace = window.config.SYS_WORKSPACE,
server = window.config.SYS_SERVER, server = window.config.SYS_SERVER_API,
method = options.method || "get"; method = options.method || "get";
url = this.getUrl(_.extend(keys, credentials, { server }, { workspace }), service); url = this.getUrl(_.extend(keys, credentials, { server }, { workspace }), service);
@@ -130,7 +130,7 @@ export default {
url, url,
credentials = window.config.SYS_CREDENTIALS, credentials = window.config.SYS_CREDENTIALS,
workspace = window.config.SYS_WORKSPACE, workspace = window.config.SYS_WORKSPACE,
server = window.config.SYS_SERVER; server = window.config.SYS_SERVER_API;
url = this.getUrl(_.extend(keys, credentials, { server }, { workspace }), service); url = this.getUrl(_.extend(keys, credentials, { server }, { workspace }), service);
return axios({ return axios({
@@ -152,7 +152,7 @@ export default {
url, url,
credentials = window.config.SYS_CREDENTIALS, credentials = window.config.SYS_CREDENTIALS,
workspace = window.config.SYS_WORKSPACE, workspace = window.config.SYS_WORKSPACE,
server = window.config.SYS_SERVER; server = window.config.SYS_SERVER_API;
url = this.getUrl(_.extend(keys, credentials, { server }, { workspace }), service); url = this.getUrl(_.extend(keys, credentials, { server }, { workspace }), service);
return axios({ return axios({
@@ -175,7 +175,7 @@ export default {
url, url,
credentials = window.config.SYS_CREDENTIALS, credentials = window.config.SYS_CREDENTIALS,
workspace = window.config.SYS_WORKSPACE, workspace = window.config.SYS_WORKSPACE,
server = window.config.SYS_SERVER; server = window.config.SYS_SERVER_API;
url = this.getUrl(_.extend(keys, credentials, { server }, { workspace }), service); url = this.getUrl(_.extend(keys, credentials, { server }, { workspace }), service);
return axios({ return axios({
@@ -197,7 +197,7 @@ export default {
url, url,
credentials = window.config.SYS_CREDENTIALS, credentials = window.config.SYS_CREDENTIALS,
workspace = window.config.SYS_WORKSPACE, workspace = window.config.SYS_WORKSPACE,
server = window.config.SYS_SERVER; server = window.config.SYS_SERVER_API;
url = this.getUrl(_.extend(keys, credentials, { server }, { workspace }), service); url = this.getUrl(_.extend(keys, credentials, { server }, { workspace }), service);
return axios({ return axios({

View File

@@ -10,7 +10,7 @@ export let caseNotes = {
_.each(data.FILES, (f) => { _.each(data.FILES, (f) => {
params.append("filesToUpload[]", f); params.append("filesToUpload[]", f);
}) })
return axios.post(window.config.SYS_SERVER + return axios.post(window.config.SYS_SERVER_AJAX +
window.config.SYS_URI + window.config.SYS_URI +
`appProxy/postNote`, params, { `appProxy/postNote`, params, {
headers: { headers: {

View File

@@ -51,7 +51,7 @@ export let cases = {
params.append('delIndex', data.DEL_INDEX); params.append('delIndex', data.DEL_INDEX);
params.append('action', 'todo'); params.append('action', 'todo');
return axios.post(window.config.SYS_SERVER + return axios.post(window.config.SYS_SERVER_AJAX +
window.config.SYS_URI + window.config.SYS_URI +
`appProxy/requestOpenSummary`, params); `appProxy/requestOpenSummary`, params);
}, },
@@ -61,7 +61,7 @@ export let cases = {
params.append('delIndex', data.DEL_INDEX); params.append('delIndex', data.DEL_INDEX);
params.append('action', "getCasesInputDocuments"); params.append('action', "getCasesInputDocuments");
return axios.post(window.config.SYS_SERVER + return axios.post(window.config.SYS_SERVER_AJAX +
window.config.SYS_URI + window.config.SYS_URI +
`cases/cases_Ajax.php?action=getCasesInputDocuments`, params); `cases/cases_Ajax.php?action=getCasesInputDocuments`, params);
}, },
@@ -71,7 +71,7 @@ export let cases = {
params.append('delIndex', data.DEL_INDEX); params.append('delIndex', data.DEL_INDEX);
params.append('action', "getCasesOutputDocuments"); params.append('action', "getCasesOutputDocuments");
return axios.post(window.config.SYS_SERVER + return axios.post(window.config.SYS_SERVER_AJAX +
window.config.SYS_URI + window.config.SYS_URI +
`cases/cases_Ajax.php?action=getCasesOutputDocuments`, params); `cases/cases_Ajax.php?action=getCasesOutputDocuments`, params);
}, },
@@ -81,7 +81,7 @@ export let cases = {
params.append('delIndex', data.DEL_INDEX); params.append('delIndex', data.DEL_INDEX);
params.append('action', "todo"); params.append('action', "todo");
return axios.post(window.config.SYS_SERVER + return axios.post(window.config.SYS_SERVER_AJAX +
window.config.SYS_URI + window.config.SYS_URI +
`appProxy/getSummary`, params, { `appProxy/getSummary`, params, {
headers: { headers: {
@@ -97,12 +97,12 @@ export let cases = {
params.append('tas', data.TAS_UID); params.append('tas', data.TAS_UID);
params.append('start', "0"); params.append('start', "0");
params.append('limit', "30"); params.append('limit', "30");
return axios.post(window.config.SYS_SERVER + return axios.post(window.config.SYS_SERVER_AJAX +
window.config.SYS_URI + window.config.SYS_URI +
`appProxy/getNotesList`, params); `appProxy/getNotesList`, params);
}, },
pendingtask(data) { pendingtask(data) {
return axios.get(window.config.SYS_SERVER + return axios.get(window.config.SYS_SERVER_API +
'/api/1.0/' + '/api/1.0/' +
window.config.SYS_WORKSPACE + window.config.SYS_WORKSPACE +
'/home/' + data.APP_NUMBER + '/pending-tasks', { '/home/' + data.APP_NUMBER + '/pending-tasks', {
@@ -116,17 +116,17 @@ export let cases = {
params.append('action', 'startCase'); params.append('action', 'startCase');
params.append('processId', dt.pro_uid); params.append('processId', dt.pro_uid);
params.append('taskId', dt.task_uid); params.append('taskId', dt.task_uid);
return axios.post(window.config.SYS_SERVER + return axios.post(window.config.SYS_SERVER_AJAX +
window.config.SYS_URI + window.config.SYS_URI +
`cases/casesStartPage_Ajax.php`, params); `cases/casesStartPage_Ajax.php`, params);
}, },
open(data) { open(data) {
return axios.get(window.config.SYS_SERVER + return axios.get(window.config.SYS_SERVER_AJAX +
window.config.SYS_URI + window.config.SYS_URI +
`cases/open?APP_UID=${data.APP_UID}&DEL_INDEX=${data.DEL_INDEX}&action=${data.ACTION}`); `cases/open?APP_UID=${data.APP_UID}&DEL_INDEX=${data.DEL_INDEX}&action=${data.ACTION}`);
}, },
cases_open(data) { cases_open(data) {
return axios.get(window.config.SYS_SERVER + return axios.get(window.config.SYS_SERVER_AJAX +
window.config.SYS_URI + window.config.SYS_URI +
`cases/cases_Open?APP_UID=${data.APP_UID}&DEL_INDEX=${data.DEL_INDEX}&action=${data.ACTION}`); `cases/cases_Open?APP_UID=${data.APP_UID}&DEL_INDEX=${data.DEL_INDEX}&action=${data.ACTION}`);
}, },
@@ -135,7 +135,7 @@ export let cases = {
params.append('action', 'cancelCase'); params.append('action', 'cancelCase');
params.append('NOTE_REASON', data.COMMENT); params.append('NOTE_REASON', data.COMMENT);
params.append('NOTIFY_CANCEL', data.SEND); params.append('NOTIFY_CANCEL', data.SEND);
return axios.post(window.config.SYS_SERVER + return axios.post(window.config.SYS_SERVER_AJAX +
window.config.SYS_URI + window.config.SYS_URI +
`cases/ajaxListener`, params); `cases/ajaxListener`, params);
}, },
@@ -143,7 +143,7 @@ export let cases = {
var params = new URLSearchParams(); var params = new URLSearchParams();
params.append('action', 'getCaseMenu'); params.append('action', 'getCaseMenu');
params.append('app_status', 'TO_DO'); params.append('app_status', 'TO_DO');
return axios.post(window.config.SYS_SERVER + return axios.post(window.config.SYS_SERVER_AJAX +
window.config.SYS_URI + window.config.SYS_URI +
`cases/ajaxListener`, params); `cases/ajaxListener`, params);
}, },
@@ -152,13 +152,13 @@ export let cases = {
params.append('action', 'unpauseCase'); params.append('action', 'unpauseCase');
params.append('sApplicationUID', data.APP_UID); params.append('sApplicationUID', data.APP_UID);
params.append('iIndex', data.DEL_INDEX); params.append('iIndex', data.DEL_INDEX);
return axios.post(window.config.SYS_SERVER + return axios.post(window.config.SYS_SERVER_AJAX +
window.config.SYS_URI + window.config.SYS_URI +
`cases/cases_Ajax`, params); `cases/cases_Ajax`, params);
}, },
claim(data) { claim(data) {
var params = new URLSearchParams(); var params = new URLSearchParams();
return axios.post(window.config.SYS_SERVER + return axios.post(window.config.SYS_SERVER_AJAX +
window.config.SYS_URI + window.config.SYS_URI +
`cases/cases_CatchExecute`, params); `cases/cases_CatchExecute`, params);
}, },
@@ -171,7 +171,7 @@ export let cases = {
params.append('action', 'previusJump'); params.append('action', 'previusJump');
params.append('appNumber', dt.APP_NUMBER); params.append('appNumber', dt.APP_NUMBER);
params.append('actionFromList', dt.ACTION_FROM_LIST); params.append('actionFromList', dt.ACTION_FROM_LIST);
return axios.post(window.config.SYS_SERVER + return axios.post(window.config.SYS_SERVER_AJAX +
window.config.SYS_URI + window.config.SYS_URI +
`cases/cases_Ajax.php`, params); `cases/cases_Ajax.php`, params);
}, },
@@ -207,13 +207,13 @@ export let cases = {
debugVars(data) { debugVars(data) {
var params; var params;
if (data.filter === "all") { if (data.filter === "all") {
return axios.get(window.config.SYS_SERVER + return axios.get(window.config.SYS_SERVER_AJAX +
window.config.SYS_URI + window.config.SYS_URI +
`cases/debug_vars`); `cases/debug_vars`);
} else { } else {
params = new URLSearchParams(); params = new URLSearchParams();
params.append('filter', data.filter); params.append('filter', data.filter);
return axios.post(window.config.SYS_SERVER + return axios.post(window.config.SYS_SERVER_AJAX +
window.config.SYS_URI + window.config.SYS_URI +
`cases/debug_vars`, params); `cases/debug_vars`, params);
} }
@@ -225,7 +225,7 @@ export let cases = {
debugVarsTriggers(data) { debugVarsTriggers(data) {
let dc = _.random(0, 10000000000), let dc = _.random(0, 10000000000),
r = _.random(1.0, 100.0); r = _.random(1.0, 100.0);
return axios.get(window.config.SYS_SERVER + return axios.get(window.config.SYS_SERVER_AJAX +
window.config.SYS_URI + window.config.SYS_URI +
`cases/debug_triggers?r=${r}&_dc=${dc}`); `cases/debug_triggers?r=${r}&_dc=${dc}`);
}, },
@@ -233,7 +233,7 @@ export let cases = {
export let casesHeader = { export let casesHeader = {
get() { get() {
return axios.get(window.config.SYS_SERVER + return axios.get(window.config.SYS_SERVER_API +
'/api/1.0/' + '/api/1.0/' +
window.config.SYS_WORKSPACE + window.config.SYS_WORKSPACE +
'/home/counters', { '/home/counters', {

View File

@@ -39,7 +39,7 @@ export let filters = {
var params = new URLSearchParams(); var params = new URLSearchParams();
params.append("action", "startCase"); params.append("action", "startCase");
return axios.post( return axios.post(
window.config.SYS_SERVER + window.config.SYS_SERVER_AJAX +
window.config.SYS_URI + window.config.SYS_URI +
`cases/casesStartPage_Ajax.php`, `cases/casesStartPage_Ajax.php`,
params params
@@ -87,7 +87,7 @@ export let filters = {
*/ */
userValues(query) { userValues(query) {
return axios.post( return axios.post(
window.config.SYS_SERVER + window.config.SYS_SERVER_AJAX +
window.config.SYS_URI + window.config.SYS_URI +
`cases/casesList_Ajax?actionAjax=userValues&action=search`, `cases/casesList_Ajax?actionAjax=userValues&action=search`,
{ {

View File

@@ -3,7 +3,7 @@ import axios from 'axios';
export let menu = { export let menu = {
get() { get() {
return axios.get( return axios.get(
window.config.SYS_SERVER + window.config.SYS_SERVER_API +
'/api/1.0/' + '/api/1.0/' +
window.config.SYS_WORKSPACE + window.config.SYS_WORKSPACE +
'/home/menu', { '/home/menu', {
@@ -15,7 +15,7 @@ export let menu = {
}, },
getCounters() { getCounters() {
return axios.get( return axios.get(
window.config.SYS_SERVER + window.config.SYS_SERVER_API +
'/api/1.0/' + '/api/1.0/' +
window.config.SYS_WORKSPACE + window.config.SYS_WORKSPACE +
'/home/tasks/counter', { '/home/tasks/counter', {

View File

@@ -55,7 +55,7 @@ export default {
}, },
href(item) { href(item) {
return ( return (
window.config.SYS_SERVER + window.config.SYS_SERVER_AJAX +
window.config.SYS_URI + window.config.SYS_URI +
`cases/casesShowCaseNotes?a=${item.data.APP_DOC_UID}&v=${item.data.DOC_VERSION}` `cases/casesShowCaseNotes?a=${item.data.APP_DOC_UID}&v=${item.data.DOC_VERSION}`
); );

View File

@@ -40,7 +40,7 @@ export default {
path() { path() {
if (this.data) { if (this.data) {
return ( return (
window.config.SYS_SERVER + window.config.SYS_SERVER_AJAX +
window.config.SYS_URI + window.config.SYS_URI +
`users/users_ViewPhotoGrid?pUID=${this.data.data.USR_UID}` `users/users_ViewPhotoGrid?pUID=${this.data.data.USR_UID}`
); );

View File

@@ -90,7 +90,7 @@ export default {
computed: { computed: {
pathImgOwner() { pathImgOwner() {
return ( return (
window.config.SYS_SERVER + window.config.SYS_SERVER_AJAX +
window.config.SYS_URI + window.config.SYS_URI +
`users/users_ViewPhotoGrid?pUID=${window.config.USR_UID}` `users/users_ViewPhotoGrid?pUID=${window.config.USR_UID}`
); );

View File

@@ -27,7 +27,7 @@ export default {
computed: { computed: {
path() { path() {
let url = let url =
window.config.SYS_SERVER + window.config.SYS_SERVER_AJAX +
window.config.SYS_URI + window.config.SYS_URI +
`cases/ajaxListener?action=caseHistory`; `cases/ajaxListener?action=caseHistory`;
return url; return url;

View File

@@ -27,7 +27,7 @@ export default {
computed: { computed: {
path() { path() {
let url = let url =
window.config.SYS_SERVER + window.config.SYS_SERVER_AJAX +
window.config.SYS_URI + window.config.SYS_URI +
`cases/ajaxListener?action=changeLogHistory`; `cases/ajaxListener?action=changeLogHistory`;
return url; return url;

View File

@@ -81,13 +81,13 @@ export default {
href(item) { href(item) {
if (item.data.DOWNLOAD_LINK) { if (item.data.DOWNLOAD_LINK) {
return ( return (
window.config.SYS_SERVER + window.config.SYS_SERVER_AJAX +
window.config.SYS_URI + window.config.SYS_URI +
`cases/${item.data.DOWNLOAD_LINK}` `cases/${item.data.DOWNLOAD_LINK}`
); );
} }
return ( return (
window.config.SYS_SERVER + window.config.SYS_SERVER_AJAX +
window.config.SYS_URI + window.config.SYS_URI +
`cases/cases_ShowDocument?a=${item.data.APP_DOC_UID}&v=${item.data.DOC_VERSION}` `cases/cases_ShowDocument?a=${item.data.APP_DOC_UID}&v=${item.data.DOC_VERSION}`
); );
@@ -96,7 +96,7 @@ export default {
let random = _.random(0, 10000000), let random = _.random(0, 10000000),
cacheTime = Date.now(); cacheTime = Date.now();
return ( return (
window.config.SYS_SERVER + window.config.SYS_SERVER_AJAX +
window.config.SYS_URI + window.config.SYS_URI +
`cases/cases_ShowOutputDocument?a=${item.data.APP_DOC_UID}&v=${item.data.DOC_VERSION}&ext=doc&random=${random}&nocachetime=${cacheTime}` `cases/cases_ShowOutputDocument?a=${item.data.APP_DOC_UID}&v=${item.data.DOC_VERSION}&ext=doc&random=${random}&nocachetime=${cacheTime}`
); );

View File

@@ -30,7 +30,7 @@ export default {
let url = ""; let url = "";
if (this.data && this.data.DYN_UID) { if (this.data && this.data.DYN_UID) {
url = url =
window.config.SYS_SERVER + window.config.SYS_SERVER_AJAX +
window.config.SYS_URI + window.config.SYS_URI +
'/cases/summary?APP_UID='+this.data.APP_UID + '/cases/summary?APP_UID='+this.data.APP_UID +
'&DEL_INDEX=' + this.data.DEL_INDEX + '&DEL_INDEX=' + this.data.DEL_INDEX +

View File

@@ -29,7 +29,7 @@ export default {
let url = ""; let url = "";
if (this.data && this.data.PRO_UID) { if (this.data && this.data.PRO_UID) {
url = url =
window.config.SYS_SERVER + window.config.SYS_SERVER_AJAX +
window.config.SYS_URI + window.config.SYS_URI +
`designer?prj_uid=${this.data.PRO_UID}&prj_readonly=true&app_uid=${this.data.APP_UID}`; `designer?prj_uid=${this.data.PRO_UID}&prj_readonly=true&app_uid=${this.data.APP_UID}`;
return url; return url;

View File

@@ -283,7 +283,7 @@ export default {
USERNAME_DISPLAY_FORMAT: userDataFormat !== "" ? userDataFormat : this.$i18n.t("ID_UNASSIGNED"), USERNAME_DISPLAY_FORMAT: userDataFormat !== "" ? userDataFormat : this.$i18n.t("ID_UNASSIGNED"),
EMAIL: data[i].user_tooltip.usr_email, EMAIL: data[i].user_tooltip.usr_email,
POSITION: data[i].user_tooltip.usr_position, POSITION: data[i].user_tooltip.usr_position,
AVATAR: userDataFormat !== "" ? window.config.SYS_SERVER + AVATAR: userDataFormat !== "" ? window.config.SYS_SERVER_AJAX +
window.config.SYS_URI + window.config.SYS_URI +
`users/users_ViewPhotoGrid?pUID=${data[i].user_id}` : "", `users/users_ViewPhotoGrid?pUID=${data[i].user_id}` : "",
UNASSIGNED: userDataFormat !== "" ? true : false UNASSIGNED: userDataFormat !== "" ? true : false

View File

@@ -27,7 +27,7 @@ export default {
width: "100%", width: "100%",
diffHeight: 10, diffHeight: 10,
path: path:
window.config.SYS_SERVER + window.config.SYS_SERVER_AJAX +
window.config.SYS_URI + window.config.SYS_URI +
"cases/casesConsolidatedListExtJs?action=consolidated", "cases/casesConsolidatedListExtJs?action=consolidated",
}; };

View File

@@ -354,7 +354,7 @@ export default {
STATUS: data[i].tas_color, STATUS: data[i].tas_color,
DELAYED_TITLE: this.delayedTitle(data[i], status), DELAYED_TITLE: this.delayedTitle(data[i], status),
DELAYED_MSG: data[i].tas_status === "OVERDUE" && status !== "COMPLETED" ? data[i].delay : "", DELAYED_MSG: data[i].tas_status === "OVERDUE" && status !== "COMPLETED" ? data[i].delay : "",
AVATAR: userDataFormat !== "" ? window.config.SYS_SERVER + AVATAR: userDataFormat !== "" ? window.config.SYS_SERVER_AJAX +
window.config.SYS_URI + window.config.SYS_URI +
`users/users_ViewPhotoGrid?pUID=${data[i].user_id}` : "", `users/users_ViewPhotoGrid?pUID=${data[i].user_id}` : "",
USERNAME: userDataFormat !== "" ? userDataFormat : this.$i18n.t("ID_UNASSIGNED"), USERNAME: userDataFormat !== "" ? userDataFormat : this.$i18n.t("ID_UNASSIGNED"),

View File

@@ -27,7 +27,7 @@ export default {
width: "100%", width: "100%",
diffHeight: 10, diffHeight: 10,
path: path:
window.config.SYS_SERVER + window.config.SYS_SERVER_AJAX +
window.config.SYS_URI + window.config.SYS_URI +
"cases/casesStartPage?action=documents", "cases/casesStartPage?action=documents",
}; };

View File

@@ -27,7 +27,7 @@ export default {
width: "100%", width: "100%",
diffHeight: 10, diffHeight: 10,
path: path:
window.config.SYS_SERVER + window.config.SYS_SERVER_AJAX +
window.config.SYS_URI + window.config.SYS_URI +
"cases/casesListExtJs?action=to_reassign", "cases/casesListExtJs?action=to_reassign",
}; };

View File

@@ -30,12 +30,12 @@ export default {
this.dataCase = this.$parent.dataCase; this.dataCase = this.$parent.dataCase;
if (this.dataCase.ACTION === "jump") { if (this.dataCase.ACTION === "jump") {
this.path = this.path =
window.config.SYS_SERVER + window.config.SYS_SERVER_AJAX +
window.config.SYS_URI + window.config.SYS_URI +
`cases/open?APP_NUMBER=${this.dataCase.APP_NUMBER}&action=${this.dataCase.ACTION}&actionFromList=${this.dataCase.ACTION_FROM_LIST}`; `cases/open?APP_NUMBER=${this.dataCase.APP_NUMBER}&action=${this.dataCase.ACTION}&actionFromList=${this.dataCase.ACTION_FROM_LIST}`;
} else { } else {
this.path = this.path =
window.config.SYS_SERVER + window.config.SYS_SERVER_AJAX +
window.config.SYS_URI + window.config.SYS_URI +
`cases/open?APP_UID=${this.dataCase.APP_UID}&DEL_INDEX=${this.dataCase.DEL_INDEX}&TAS_UID=${this.dataCase.TAS_UID}&action=${this.dataCase.ACTION}`; `cases/open?APP_UID=${this.dataCase.APP_UID}&DEL_INDEX=${this.dataCase.DEL_INDEX}&TAS_UID=${this.dataCase.TAS_UID}&action=${this.dataCase.ACTION}`;
} }

View File

@@ -136,7 +136,8 @@ $pmDynaform = new PmDynaform();
ScriptVariables::add('defaultOption', $defaultOption); ScriptVariables::add('defaultOption', $defaultOption);
ScriptVariables::add('_nodeId', isset($confDefaultOption) ? $confDefaultOption : "PM_USERS"); ScriptVariables::add('_nodeId', isset($confDefaultOption) ? $confDefaultOption : "PM_USERS");
ScriptVariables::add('SYS_CREDENTIALS', $pmDynaform->getCredentials()); ScriptVariables::add('SYS_CREDENTIALS', $pmDynaform->getCredentials());
ScriptVariables::add('SYS_SERVER', System::getHttpServerHostnameRequestsFrontEnd()); ScriptVariables::add('SYS_SERVER_API', System::getHttpServerHostnameRequestsFrontEnd());
ScriptVariables::add('SYS_SERVER_AJAX', System::getServerProtocolHost());
ScriptVariables::add('SYS_WORKSPACE', config("system.workspace")); ScriptVariables::add('SYS_WORKSPACE', config("system.workspace"));
ScriptVariables::add('SYS_URI', SYS_URI); ScriptVariables::add('SYS_URI', SYS_URI);
ScriptVariables::add('SYS_LANG', SYS_LANG); ScriptVariables::add('SYS_LANG', SYS_LANG);