mirror of
https://github.com/Combodo/iTop.git
synced 2026-05-19 23:32:17 +02:00
Merge branch 'develop' into feature/faf_event_service
# Conflicts: # core/dbobject.class.php # datamodels/2.x/itop-config/config.php # lib/composer/autoload_classmap.php # lib/composer/autoload_static.php # lib/composer/installed.php
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
/**
|
||||
* Localized data
|
||||
*
|
||||
* @copyright Copyright (C) 2010-2021 Combodo SARL
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
*
|
||||
* This file is part of iTop.
|
||||
*
|
||||
* iTop is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* iTop is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with iTop. If not, see <http://www.gnu.org/licenses/>
|
||||
*/
|
||||
Dict::Add('PL PL', 'Polish', 'Polski', array(
|
||||
'theme:darkmoon' => 'Dark moon~~',
|
||||
));
|
||||
@@ -36,6 +36,7 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', array(
|
||||
'bkp-status-backups-manual' => 'Manuální zálohy',
|
||||
'bkp-status-backups-none' => 'Žádné zálohy',
|
||||
'bkp-next-backup' => 'Další záloha bude provedena dne <b>%1$s</b> (%2$s) v %3$s',
|
||||
'bkp-next-backup-unknown' => 'The next backup is <b>not scheduled</b> yet.~~',
|
||||
'bkp-button-backup-now' => 'Zálohovat nyní!',
|
||||
'bkp-button-restore-now' => 'Obnovit ze zálohy!',
|
||||
'bkp-confirm-backup' => 'Potvrďte prosím, že chcete provést zálohu nyní.',
|
||||
|
||||
@@ -34,7 +34,6 @@ if (!defined('APPROOT')) {
|
||||
require_once(__DIR__.'/../../approot.inc.php');
|
||||
}
|
||||
require_once(APPROOT.'application/application.inc.php');
|
||||
require_once(APPROOT.'application/itopwebpage.class.inc.php');
|
||||
|
||||
require_once(APPROOT.'application/startup.inc.php');
|
||||
|
||||
|
||||
@@ -0,0 +1,99 @@
|
||||
<?php
|
||||
// Copyright (C) 2010-2021 Combodo SARL
|
||||
//
|
||||
// This file is part of iTop.
|
||||
//
|
||||
// iTop is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// iTop is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with iTop. If not, see <http://www.gnu.org/licenses/>
|
||||
/**
|
||||
* @author Benjamin Planque <benjamin.planque@combodo.com>
|
||||
* @copyright Copyright (C) 2010-2021 Combodo SARL
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
*/
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
// Note: The classes have been grouped by categories: bizmodel
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
// Classes in 'bizmodel'
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
//
|
||||
// Class: lnkFunctionalCIToTicket
|
||||
//
|
||||
Dict::Add('PL PL', 'Polish', 'Polski', array(
|
||||
'Class:lnkFunctionalCIToTicket' => 'Link FunctionalCI / Ticket~~',
|
||||
'Class:lnkFunctionalCIToTicket+' => '~~',
|
||||
'Class:lnkFunctionalCIToTicket/Attribute:ticket_id' => 'Ticket~~',
|
||||
'Class:lnkFunctionalCIToTicket/Attribute:ticket_id+' => '~~',
|
||||
'Class:lnkFunctionalCIToTicket/Attribute:ticket_ref' => 'Ref~~',
|
||||
'Class:lnkFunctionalCIToTicket/Attribute:ticket_ref+' => '~~',
|
||||
'Class:lnkFunctionalCIToTicket/Attribute:ticket_title' => 'Ticket title~~',
|
||||
'Class:lnkFunctionalCIToTicket/Attribute:ticket_title+' => '~~',
|
||||
'Class:lnkFunctionalCIToTicket/Attribute:functionalci_id' => 'CI~~',
|
||||
'Class:lnkFunctionalCIToTicket/Attribute:functionalci_id+' => '~~',
|
||||
'Class:lnkFunctionalCIToTicket/Attribute:functionalci_name' => 'CI Name~~',
|
||||
'Class:lnkFunctionalCIToTicket/Attribute:functionalci_name+' => '~~',
|
||||
'Class:lnkFunctionalCIToTicket/Attribute:impact' => 'Impact (text)~~',
|
||||
'Class:lnkFunctionalCIToTicket/Attribute:impact+' => '~~',
|
||||
'Class:lnkFunctionalCIToTicket/Attribute:impact_code' => 'Impact~~',
|
||||
'Class:lnkFunctionalCIToTicket/Attribute:impact_code/Value:manual' => 'Added manually~~',
|
||||
'Class:lnkFunctionalCIToTicket/Attribute:impact_code/Value:computed' => 'Computed~~',
|
||||
'Class:lnkFunctionalCIToTicket/Attribute:impact_code/Value:not_impacted' => 'Not impacted~~',
|
||||
));
|
||||
|
||||
//
|
||||
// Class: lnkFunctionalCIToProviderContract
|
||||
//
|
||||
|
||||
Dict::Add('PL PL', 'Polish', 'Polski', array(
|
||||
'Class:lnkFunctionalCIToProviderContract' => 'Połączenie Konfiguracja / Umowa z dostawcą',
|
||||
'Class:lnkFunctionalCIToProviderContract+' => '',
|
||||
'Class:lnkFunctionalCIToProviderContract/Attribute:providercontract_id' => 'Umowa z dostawcą',
|
||||
'Class:lnkFunctionalCIToProviderContract/Attribute:providercontract_id+' => '',
|
||||
'Class:lnkFunctionalCIToProviderContract/Attribute:providercontract_name' => 'Nazwa umowy z dostawcą',
|
||||
'Class:lnkFunctionalCIToProviderContract/Attribute:providercontract_name+' => '',
|
||||
'Class:lnkFunctionalCIToProviderContract/Attribute:functionalci_id' => 'Konfiguracja',
|
||||
'Class:lnkFunctionalCIToProviderContract/Attribute:functionalci_id+' => '',
|
||||
'Class:lnkFunctionalCIToProviderContract/Attribute:functionalci_name' => 'Nazwa konfiguracji',
|
||||
'Class:lnkFunctionalCIToProviderContract/Attribute:functionalci_name+' => '',
|
||||
));
|
||||
|
||||
//
|
||||
// Class: lnkFunctionalCIToService
|
||||
//
|
||||
|
||||
Dict::Add('PL PL', 'Polish', 'Polski', array(
|
||||
'Class:lnkFunctionalCIToService' => 'Link FunctionalCI / Service~~',
|
||||
'Class:lnkFunctionalCIToService+' => '~~',
|
||||
'Class:lnkFunctionalCIToService/Attribute:service_id' => 'Service~~',
|
||||
'Class:lnkFunctionalCIToService/Attribute:service_id+' => '~~',
|
||||
'Class:lnkFunctionalCIToService/Attribute:service_name' => 'Service Name~~',
|
||||
'Class:lnkFunctionalCIToService/Attribute:service_name+' => '~~',
|
||||
'Class:lnkFunctionalCIToService/Attribute:functionalci_id' => 'CI~~',
|
||||
'Class:lnkFunctionalCIToService/Attribute:functionalci_id+' => '~~',
|
||||
'Class:lnkFunctionalCIToService/Attribute:functionalci_name' => 'CI Name~~',
|
||||
'Class:lnkFunctionalCIToService/Attribute:functionalci_name+' => '~~',
|
||||
));
|
||||
|
||||
//
|
||||
// Class: FunctionalCI
|
||||
//
|
||||
|
||||
Dict::Add('PL PL', 'Polish', 'Polski', array(
|
||||
'Class:FunctionalCI/Attribute:providercontracts_list' => 'Provider contracts~~',
|
||||
'Class:FunctionalCI/Attribute:providercontracts_list+' => 'All the provider contracts for this configuration item~~',
|
||||
'Class:FunctionalCI/Attribute:services_list' => 'Services~~',
|
||||
'Class:FunctionalCI/Attribute:services_list+' => 'All the services impacted by this configuration item~~',
|
||||
'Class:FunctionalCI/Attribute:tickets_list' => 'Tickets~~',
|
||||
'Class:FunctionalCI/Attribute:tickets_list+' => 'All the tickets for this configuration item~~',
|
||||
));
|
||||
@@ -37,6 +37,8 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', array(
|
||||
'Relation:depends on/Description' => 'Prvky ovlivňující objekt',
|
||||
'Relation:depends on/DownStream' => 'Závislost na',
|
||||
'Relation:depends on/UpStream' => 'Dopad na',
|
||||
'Relation:impacts/LoadData' => 'Load data~~',
|
||||
'Relation:impacts/NoFilteredData' => 'please select objects in Graphical view tag~~',
|
||||
));
|
||||
|
||||
|
||||
|
||||
@@ -30,6 +30,8 @@ Dict::Add('DA DA', 'Danish', 'Dansk', array(
|
||||
'Relation:depends on/Description' => 'Elementer, som afhænger af dette element',
|
||||
'Relation:depends on/DownStream' => 'Afhænger af ...',
|
||||
'Relation:depends on/UpStream' => 'Påvirker ...',
|
||||
'Relation:impacts/LoadData' => 'Load data~~',
|
||||
'Relation:impacts/NoFilteredData' => 'please select objects in Graphical view tag~~',
|
||||
));
|
||||
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with iTop. If not, see <http://www.gnu.org/licenses/>
|
||||
/**
|
||||
/**
|
||||
* Spanish Localized data
|
||||
*
|
||||
* @copyright Copyright (C) 2010-2021 Combodo SARL
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1581,3 +1581,4 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
|
||||
'Menu:Software' => 'Yazılım Kataloğu',
|
||||
'Menu:Software+' => 'Yazılım Kataloğu',
|
||||
));
|
||||
?>
|
||||
|
||||
@@ -76,7 +76,6 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', array(
|
||||
'iTopUpdate:UI:CanCoreUpdate:No' => 'Application cannot be updated: %1$s~~',
|
||||
'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Warning: application update can fail: %1$s~~',
|
||||
'iTopUpdate:UI:CannotUpdateUseSetup' => '<b>Some modified files were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.~~',
|
||||
'iTopUpdate:UI:CannotUpdateNewModules' => '<b>Some new modules were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.~~',
|
||||
'iTopUpdate:UI:CheckInProgress'=>'Please wait during integrity check~~',
|
||||
|
||||
// Setup Messages
|
||||
|
||||
@@ -76,7 +76,6 @@ Dict::Add('DA DA', 'Danish', 'Dansk', array(
|
||||
'iTopUpdate:UI:CanCoreUpdate:No' => 'Application cannot be updated: %1$s~~',
|
||||
'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Warning: application update can fail: %1$s~~',
|
||||
'iTopUpdate:UI:CannotUpdateUseSetup' => '<b>Some modified files were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.~~',
|
||||
'iTopUpdate:UI:CannotUpdateNewModules' => '<b>Some new modules were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.~~',
|
||||
'iTopUpdate:UI:CheckInProgress'=>'Please wait during integrity check~~',
|
||||
|
||||
// Setup Messages
|
||||
|
||||
@@ -76,7 +76,6 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
'iTopUpdate:UI:CanCoreUpdate:No' => 'Anwendungsupgrade nicht möglich: %1$s',
|
||||
'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Vorsicht: App-Upgrade kann fehlschlagen: %1$s',
|
||||
'iTopUpdate:UI:CannotUpdateUseSetup' => '<b>Einige angepasste Dateien wurden erkannt</b>, eine Teil-Update kann nicht ausgeführt werden.<br/>Befolgen Sie das <a target="_blank" href="%2$s">Verfahren</a>, um Ihr iTop manuell zu aktualisieren. Sie müssen das <a href="%1$s">Setup</a> benutzen, um Ihre Applikation zu aktualisieren.<br />',
|
||||
'iTopUpdate:UI:CannotUpdateNewModules' => '<b>Einige neue Module wurden erkannt</b>, eine Teil-Update kann nicht ausgeführt werden.<br/>Befolgen Sie das <a target="_blank" href="%2$s">Verfahren</a>, um Ihr iTop manuell zu aktualisieren. Sie müssen das <a href="%1$s">Setup</a> benutzen, um Ihre Applikation zu aktualisieren.<br />',
|
||||
'iTopUpdate:UI:CheckInProgress'=>'Please wait during integrity check~~',
|
||||
|
||||
// Setup Messages
|
||||
|
||||
@@ -77,7 +77,6 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
'iTopUpdate:UI:CanCoreUpdate:No' => 'Application cannot be updated: %1$s',
|
||||
'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Warning: application update can fail: %1$s',
|
||||
'iTopUpdate:UI:CannotUpdateUseSetup' => '<b>Some modified files were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.',
|
||||
'iTopUpdate:UI:CannotUpdateNewModules' => '<b>Some new modules were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.',
|
||||
'iTopUpdate:UI:CheckInProgress'=>'Please wait during integrity check',
|
||||
|
||||
|
||||
|
||||
@@ -77,7 +77,6 @@ Dict::Add('ES CR', 'Spanish', 'Español, Castellano', array(
|
||||
'iTopUpdate:UI:CanCoreUpdate:No' => 'La aplicación no puede ser actualizada: %1$s',
|
||||
'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Advertencia: la actualización de la aplicación puede fallar: %1$s',
|
||||
'iTopUpdate:UI:CannotUpdateUseSetup' => '<b>Some modified files were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.~~',
|
||||
'iTopUpdate:UI:CannotUpdateNewModules' => '<b>Some new modules were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.~~',
|
||||
'iTopUpdate:UI:CheckInProgress'=>'Please wait during integrity check~~',
|
||||
|
||||
// Setup Messages
|
||||
|
||||
@@ -76,7 +76,6 @@ Dict::Add('FR FR', 'French', 'Français', array(
|
||||
'iTopUpdate:UI:CanCoreUpdate:No' => 'L\'application ne peut pas être mise à jour : %1$s',
|
||||
'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Attention : la mise à jour de l\'application peut échouer : %1$s',
|
||||
'iTopUpdate:UI:CannotUpdateUseSetup' => '<b>Des fichiers modifiés ont été détectés</b>, une mise à jour partielle ne peut pas être effectuée.<br />Suivez la <a target="_blank" href="%2$s"> procedure</a> pour mettre à jour manuellement votre iTop. Vous devez utiliser la page <a href="%1$s">d\'installation</a> pour mettre à jour l\'application.',
|
||||
'iTopUpdate:UI:CannotUpdateNewModules' => '<b>De nouveaux modules ont été détectés</b>, une mise à jour partielle ne peut pas être effectuée.<br />Suivez la <a target="_blank" href="%2$s"> procedure</a> pour mettre à jour manuellement votre iTop. Vous devez utiliser la page <a href="%1$s">d\'installation</a> pour mettre à jour l\'application.',
|
||||
'iTopUpdate:UI:CheckInProgress'=>'Veuillez patienter pendant la vérification d\'intégrité',
|
||||
|
||||
// Setup Messages
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
/**
|
||||
* Localized data
|
||||
*
|
||||
* @copyright Copyright (C) 2010-2021 Combodo SARL
|
||||
* @copyright Copyright (C) 2010-2022 Combodo SARL
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
*
|
||||
* This file is part of iTop.
|
||||
@@ -76,7 +76,6 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
|
||||
'iTopUpdate:UI:CanCoreUpdate:No' => 'Application cannot be updated: %1$s~~',
|
||||
'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Warning: application update can fail: %1$s~~',
|
||||
'iTopUpdate:UI:CannotUpdateUseSetup' => '<b>Some modified files were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.~~',
|
||||
'iTopUpdate:UI:CannotUpdateNewModules' => '<b>Some new modules were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.~~',
|
||||
'iTopUpdate:UI:CheckInProgress' => 'Please wait during integrity check~~',
|
||||
|
||||
// Setup Messages
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
/**
|
||||
* Localized data
|
||||
*
|
||||
* @copyright Copyright (C) 2010-2021 Combodo SARL
|
||||
* @copyright Copyright (C) 2010-2022 Combodo SARL
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
*
|
||||
* This file is part of iTop.
|
||||
@@ -76,7 +76,6 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
|
||||
'iTopUpdate:UI:CanCoreUpdate:No' => 'Application cannot be updated: %1$s~~',
|
||||
'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Warning: application update can fail: %1$s~~',
|
||||
'iTopUpdate:UI:CannotUpdateUseSetup' => '<b>Some modified files were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.~~',
|
||||
'iTopUpdate:UI:CannotUpdateNewModules' => '<b>Some new modules were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.~~',
|
||||
'iTopUpdate:UI:CheckInProgress' => 'Please wait during integrity check~~',
|
||||
|
||||
// Setup Messages
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
/**
|
||||
* Localized data
|
||||
*
|
||||
* @copyright Copyright (C) 2010-2021 Combodo SARL
|
||||
* @copyright Copyright (C) 2010-2022 Combodo SARL
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
*
|
||||
* This file is part of iTop.
|
||||
@@ -76,7 +76,6 @@ Dict::Add('JA JP', 'Japanese', '日本語', array(
|
||||
'iTopUpdate:UI:CanCoreUpdate:No' => 'Application cannot be updated: %1$s~~',
|
||||
'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Warning: application update can fail: %1$s~~',
|
||||
'iTopUpdate:UI:CannotUpdateUseSetup' => '<b>Some modified files were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.~~',
|
||||
'iTopUpdate:UI:CannotUpdateNewModules' => '<b>Some new modules were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.~~',
|
||||
'iTopUpdate:UI:CheckInProgress' => 'Please wait during integrity check~~',
|
||||
|
||||
// Setup Messages
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
/**
|
||||
* Localized data
|
||||
*
|
||||
* @copyright Copyright (C) 2010-2021 Combodo SARL
|
||||
* @copyright Copyright (C) 2010-2022 Combodo SARL
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
*
|
||||
* This file is part of iTop.
|
||||
@@ -78,7 +78,6 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', array(
|
||||
'iTopUpdate:UI:CanCoreUpdate:No' => 'Updaten van de toepassing is niet mogelijk: %1$s',
|
||||
'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Warning: application update can fail: %1$s~~',
|
||||
'iTopUpdate:UI:CannotUpdateUseSetup' => '<b>Some modified files were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.~~',
|
||||
'iTopUpdate:UI:CannotUpdateNewModules' => '<b>Some new modules were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.~~',
|
||||
'iTopUpdate:UI:CheckInProgress' => 'Please wait during integrity check~~',
|
||||
|
||||
// Setup Messages
|
||||
|
||||
@@ -64,7 +64,6 @@ Dict::Add('RU RU', 'Russian', 'Русский', array(
|
||||
'iTopUpdate:UI:CanCoreUpdate:No' => 'Приложение не может быть обновлено: %1$s',
|
||||
'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Warning: application update can fail: %1$s~~',
|
||||
'iTopUpdate:UI:CannotUpdateUseSetup' => '<b>Some modified files were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.~~',
|
||||
'iTopUpdate:UI:CannotUpdateNewModules' => '<b>Some new modules were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.~~',
|
||||
'iTopUpdate:UI:CheckInProgress' => 'Please wait during integrity check~~',
|
||||
|
||||
// Setup Messages
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
/**
|
||||
* Localized data
|
||||
*
|
||||
* @copyright Copyright (C) 2010-2021 Combodo SARL
|
||||
* @copyright Copyright (C) 2010-2022 Combodo SARL
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
*
|
||||
* This file is part of iTop.
|
||||
@@ -76,7 +76,6 @@ Dict::Add('SK SK', 'Slovak', 'Slovenčina', array(
|
||||
'iTopUpdate:UI:CanCoreUpdate:No' => 'Application cannot be updated: %1$s~~',
|
||||
'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Warning: application update can fail: %1$s~~',
|
||||
'iTopUpdate:UI:CannotUpdateUseSetup' => '<b>Some modified files were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.~~',
|
||||
'iTopUpdate:UI:CannotUpdateNewModules' => '<b>Some new modules were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.~~',
|
||||
'iTopUpdate:UI:CheckInProgress' => 'Please wait during integrity check~~',
|
||||
|
||||
// Setup Messages
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
/**
|
||||
* Localized data
|
||||
*
|
||||
* @copyright Copyright (C) 2010-2021 Combodo SARL
|
||||
* @copyright Copyright (C) 2010-2022 Combodo SARL
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
*
|
||||
* This file is part of iTop.
|
||||
@@ -76,7 +76,6 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
|
||||
'iTopUpdate:UI:CanCoreUpdate:No' => 'Application cannot be updated: %1$s~~',
|
||||
'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Warning: application update can fail: %1$s~~',
|
||||
'iTopUpdate:UI:CannotUpdateUseSetup' => '<b>Some modified files were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.~~',
|
||||
'iTopUpdate:UI:CannotUpdateNewModules' => '<b>Some new modules were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.~~',
|
||||
'iTopUpdate:UI:CheckInProgress' => 'Please wait during integrity check~~',
|
||||
|
||||
// Setup Messages
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
/**
|
||||
* Localized data
|
||||
*
|
||||
* @copyright Copyright (C) 2010-2021 Combodo SARL
|
||||
* @copyright Copyright (C) 2010-2022 Combodo SARL
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
*
|
||||
* This file is part of iTop.
|
||||
@@ -76,7 +76,6 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', array(
|
||||
'iTopUpdate:UI:CanCoreUpdate:No' => '应用无法升级: %1$s',
|
||||
'iTopUpdate:UI:CanCoreUpdate:Warning' => '警告: 应用升级可能失败: %1$s',
|
||||
'iTopUpdate:UI:CannotUpdateUseSetup' => '<b>Some modified files were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.~~',
|
||||
'iTopUpdate:UI:CannotUpdateNewModules' => '<b>Some new modules were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.~~',
|
||||
'iTopUpdate:UI:CheckInProgress' => 'Please wait during integrity check~~',
|
||||
|
||||
// Setup Messages
|
||||
|
||||
120
datamodels/2.x/itop-core-update/pt_br.dict.itop-core-update.php
Normal file
120
datamodels/2.x/itop-core-update/pt_br.dict.itop-core-update.php
Normal file
@@ -0,0 +1,120 @@
|
||||
<?php
|
||||
/**
|
||||
* Localized data
|
||||
*
|
||||
* @copyright Copyright (C) 2010-2022 Combodo SARL
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
*
|
||||
* This file is part of iTop.
|
||||
*
|
||||
* iTop is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* iTop is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with iTop. If not, see <http://www.gnu.org/licenses/>
|
||||
*/
|
||||
Dict::Add('PT BR', 'Brazilian', 'Brazilian', array(
|
||||
'iTopUpdate:UI:PageTitle' => 'Application Upgrade~~',
|
||||
'itop-core-update:UI:SelectUpdateFile' => 'Application Upgrade~~',
|
||||
'itop-core-update:UI:ConfirmUpdate' => 'Application Upgrade~~',
|
||||
'itop-core-update:UI:UpdateCoreFiles' => 'Application Upgrade~~',
|
||||
'iTopUpdate:UI:MaintenanceModeActive' => 'The application is currently under maintenance, no user can access the application. You have to run a setup or restore the application archive to return in normal mode.~~',
|
||||
'itop-core-update:UI:UpdateDone' => 'Application Upgrade~~',
|
||||
|
||||
'itop-core-update/Operation:SelectUpdateFile/Title' => 'Application Upgrade~~',
|
||||
'itop-core-update/Operation:ConfirmUpdate/Title' => 'Confirm Application Upgrade~~',
|
||||
'itop-core-update/Operation:UpdateCoreFiles/Title' => 'Application Upgrading~~',
|
||||
'itop-core-update/Operation:UpdateDone/Title' => 'Application Upgrade Done~~',
|
||||
|
||||
'iTopUpdate:UI:SelectUpdateFile' => 'Select an upgrade file to upload~~',
|
||||
'iTopUpdate:UI:CheckUpdate' => 'Verify upgrade file~~',
|
||||
'iTopUpdate:UI:ConfirmInstallFile' => 'You are about to install %1$s~~',
|
||||
'iTopUpdate:UI:DoUpdate' => 'Upgrade~~',
|
||||
'iTopUpdate:UI:CurrentVersion' => 'Current installed version~~',
|
||||
'iTopUpdate:UI:NewVersion' => 'Newly installed version~~',
|
||||
'iTopUpdate:UI:Back' => 'Back~~',
|
||||
'iTopUpdate:UI:Cancel' => 'Cancel~~',
|
||||
'iTopUpdate:UI:Continue' => 'Continue~~',
|
||||
'iTopUpdate:UI:RunSetup' => 'Run Setup~~',
|
||||
'iTopUpdate:UI:WithDBBackup' => 'Database backup~~',
|
||||
'iTopUpdate:UI:WithFilesBackup' => 'Application files backup~~',
|
||||
'iTopUpdate:UI:WithoutBackup' => 'No backup is planned~~',
|
||||
'iTopUpdate:UI:Backup' => 'Backup generated before update~~',
|
||||
'iTopUpdate:UI:DoFilesArchive' => 'Archive application files~~',
|
||||
'iTopUpdate:UI:UploadArchive' => 'Select a package to upload~~',
|
||||
'iTopUpdate:UI:ServerFile' => 'Path of a package already on the server~~',
|
||||
'iTopUpdate:UI:WarningReadOnlyDuringUpdate' => 'During the upgrade, the application will be read-only.~~',
|
||||
|
||||
'iTopUpdate:UI:Status' => 'Status~~',
|
||||
'iTopUpdate:UI:Action' => 'Update~~',
|
||||
'iTopUpdate:UI:History' => 'Versions History~~',
|
||||
'iTopUpdate:UI:Progress' => 'Progress of the upgrade~~',
|
||||
|
||||
'iTopUpdate:UI:DoBackup:Label' => 'Backup files and database~~',
|
||||
'iTopUpdate:UI:DoBackup:Warning' => 'Backup is not recommended due to limited available disk space~~',
|
||||
|
||||
'iTopUpdate:UI:DiskFreeSpace' => 'Disk free space~~',
|
||||
'iTopUpdate:UI:ItopDiskSpace' => 'iTop disk space~~',
|
||||
'iTopUpdate:UI:DBDiskSpace' => 'Database disk space~~',
|
||||
'iTopUpdate:UI:FileUploadMaxSize' => 'File upload max size~~',
|
||||
|
||||
'iTopUpdate:UI:PostMaxSize' => 'PHP ini value post_max_size: %1$s~~',
|
||||
'iTopUpdate:UI:UploadMaxFileSize' => 'PHP ini value upload_max_filesize: %1$s~~',
|
||||
|
||||
'iTopUpdate:UI:CanCoreUpdate:Loading' => 'Checking filesystem~~',
|
||||
'iTopUpdate:UI:CanCoreUpdate:Error' => 'Checking filesystem failed (%1$s)~~',
|
||||
'iTopUpdate:UI:CanCoreUpdate:ErrorFileNotExist' => 'Checking filesystem failed (File not exist %1$s)~~',
|
||||
'iTopUpdate:UI:CanCoreUpdate:Failed' => 'Checking filesystem failed~~',
|
||||
'iTopUpdate:UI:CanCoreUpdate:Yes' => 'Application can be updated~~',
|
||||
'iTopUpdate:UI:CanCoreUpdate:No' => 'Application cannot be updated: %1$s~~',
|
||||
'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Warning: application update can fail: %1$s~~',
|
||||
'iTopUpdate:UI:CannotUpdateUseSetup' => '<b>Some modified files were detected</b>, a partial update cannot be executed.</br>Follow the <a target="_blank" href="%2$s"> procedure</a> in order to manually upgrade your iTop. You must use the <a href="%1$s">setup</a> to update the application.~~',
|
||||
'iTopUpdate:UI:CheckInProgress'=>'Please wait during integrity check~~',
|
||||
|
||||
// Setup Messages
|
||||
'iTopUpdate:UI:SetupMessage:Ready' => 'Ready to start~~',
|
||||
'iTopUpdate:UI:SetupMessage:EnterMaintenance' => 'Entering maintenance mode~~',
|
||||
'iTopUpdate:UI:SetupMessage:Backup' => 'Database backup~~',
|
||||
'iTopUpdate:UI:SetupMessage:FilesArchive' => 'Archive application files~~',
|
||||
'iTopUpdate:UI:SetupMessage:CopyFiles' => 'Copy new version files~~',
|
||||
'iTopUpdate:UI:SetupMessage:CheckCompile' => 'Check application upgrade~~',
|
||||
'iTopUpdate:UI:SetupMessage:Compile' => 'Upgrade application and database~~',
|
||||
'iTopUpdate:UI:SetupMessage:UpdateDatabase' => 'Upgrade database~~',
|
||||
'iTopUpdate:UI:SetupMessage:ExitMaintenance' => 'Exiting maintenance mode~~',
|
||||
'iTopUpdate:UI:SetupMessage:UpdateDone' => 'Upgrade completed~~',
|
||||
|
||||
// Errors
|
||||
'iTopUpdate:Error:MissingFunction' => 'Impossible to start upgrade, missing function~~',
|
||||
'iTopUpdate:Error:MissingFile' => 'Missing file: %1$s~~',
|
||||
'iTopUpdate:Error:CorruptedFile' => 'File %1$s is corrupted~~',
|
||||
'iTopUpdate:Error:BadFileFormat' => 'Upgrade file is not a zip file~~',
|
||||
'iTopUpdate:Error:BadFileContent' => 'Upgrade file is not an application archive~~',
|
||||
'iTopUpdate:Error:BadItopProduct' => 'Upgrade file is not compatible with your application~~',
|
||||
'iTopUpdate:Error:Copy' => 'Error, cannot copy \'%1$s\' to \'%2$s\'~~',
|
||||
'iTopUpdate:Error:FileNotFound' => 'File not found~~',
|
||||
'iTopUpdate:Error:NoFile' => 'No file provided~~',
|
||||
'iTopUpdate:Error:InvalidToken' => 'Invalid token~~',
|
||||
'iTopUpdate:Error:UpdateFailed' => 'Upgrade failed ~~',
|
||||
'iTopUpdate:Error:FileUploadMaxSizeTooSmall' => 'The upload max size seems too small for update. Please change the PHP configuration.~~',
|
||||
|
||||
'iTopUpdate:UI:RestoreArchive' => 'You can restore your application from the archive \'%1$s\'~~',
|
||||
'iTopUpdate:UI:RestoreBackup' => 'You can restore the database from \'%1$s\'~~',
|
||||
'iTopUpdate:UI:UpdateDone' => 'Upgrade successful~~',
|
||||
'Menu:iTopUpdate' => 'Application Upgrade~~',
|
||||
'Menu:iTopUpdate+' => 'Application Upgrade~~',
|
||||
|
||||
// Missing itop entries
|
||||
'Class:ModuleInstallation/Attribute:installed' => 'Installed on~~',
|
||||
'Class:ModuleInstallation/Attribute:name' => 'Name~~',
|
||||
'Class:ModuleInstallation/Attribute:version' => 'Version~~',
|
||||
'Class:ModuleInstallation/Attribute:comment' => 'Comment~~',
|
||||
));
|
||||
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
|
||||
namespace Combodo\iTop\CoreUpdate\Service;
|
||||
|
||||
use Combodo\iTop\FilesInformation\Service\FileIntegrityException;
|
||||
use Combodo\iTop\FilesInformation\Service\FilesIntegrity;
|
||||
use DBBackup;
|
||||
use Dict;
|
||||
@@ -539,9 +538,6 @@ final class CoreUpdater
|
||||
$sRootPath = self::UPDATE_DIR.'web/';
|
||||
FilesIntegrity::CheckInstallationIntegrity($sRootPath);
|
||||
|
||||
///Check new modules
|
||||
self::CheckNewModules($sRootPath);
|
||||
|
||||
SetupLog::Info('itop-core-update: Files integrity OK');
|
||||
} catch (Exception $e)
|
||||
{
|
||||
@@ -609,38 +605,4 @@ final class CoreUpdater
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if new modules (not already installed) are present, and throw an exception if that is the case as core update doesn't know how to install them automatically for know
|
||||
*
|
||||
* @param string $sRootPath
|
||||
*
|
||||
* @throws \ApplicationException
|
||||
* @since 2.7.7 3.0.1
|
||||
*/
|
||||
private static function CheckNewModules($sRootPath)
|
||||
{
|
||||
$aFilesInfo = FilesIntegrity::GetInstalledFiles($sRootPath.'manifest.xml');
|
||||
|
||||
if ($aFilesInfo === false) {
|
||||
throw new FileIntegrityException(Dict::Format('FilesInformation:Error:MissingFile', 'manifest.xml'));
|
||||
}
|
||||
|
||||
@clearstatcache();
|
||||
$sSourceDir = MetaModel::GetConfig()->Get('source_dir');
|
||||
foreach ($aFilesInfo as $aFileInfo) {
|
||||
if (strpos($aFileInfo['path'], $sSourceDir) === 0) {
|
||||
$aFilePath = explode('/', $aFileInfo['path']);
|
||||
$sFolderPath = $aFilePath[0].'/'.$aFilePath[1].'/'.$aFilePath[2];
|
||||
//if module don't already exist in itop and if module listed in manifest.xml is included in zip
|
||||
if (!is_dir(APPROOT.'/'.$sFolderPath) && !is_file(APPROOT.'/'.$sFolderPath)
|
||||
&& is_dir($sRootPath.'/'.$sFolderPath)) {
|
||||
$sLink = utils::GetAbsoluteUrlAppRoot().'setup/';
|
||||
$sLinkManualUpdate = 'https://www.itophub.io/wiki/page?id='.utils::GetItopVersionWikiSyntax().'%3Ainstall%3Aupgrading_itop#manually';
|
||||
throw new FileIntegrityException(Dict::Format('iTopUpdate:UI:CannotUpdateNewModules' , $sLink, $sLinkManualUpdate));
|
||||
}
|
||||
}
|
||||
// Packed with missing files...
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@ require_once(APPROOT."setup/runtimeenv.class.inc.php");
|
||||
|
||||
use Config;
|
||||
use Exception;
|
||||
use ModelFactory;
|
||||
use RunTimeEnvironment;
|
||||
use SetupUtils;
|
||||
|
||||
@@ -126,4 +127,38 @@ class RunTimeEnvironmentCoreUpdater extends RunTimeEnvironment
|
||||
}
|
||||
throw new Exception('No configuration file available');
|
||||
}
|
||||
|
||||
protected function GetMFModulesToCompile($sSourceEnv, $sSourceDir)
|
||||
{
|
||||
$aRet = parent::GetMFModulesToCompile($sSourceEnv, $sSourceDir);
|
||||
|
||||
// Add new mandatory modules from datamodel 2.x only
|
||||
$sSourceDirFull = APPROOT.$sSourceDir;
|
||||
if (!is_dir($sSourceDirFull))
|
||||
{
|
||||
throw new Exception("The source directory '$sSourceDirFull' does not exist (or could not be read)");
|
||||
}
|
||||
$aDirsToCompile = [$sSourceDirFull];
|
||||
|
||||
$oFactory = new ModelFactory($aDirsToCompile);
|
||||
$aModules = $oFactory->FindModules();
|
||||
$aAvailableModules = [];
|
||||
/** @var \MFModule $oModule */
|
||||
foreach ($aModules as $oModule) {
|
||||
$aAvailableModules[$oModule->GetName()] = $oModule;
|
||||
}
|
||||
// TODO check the auto-selected modules here
|
||||
foreach($this->oExtensionsMap->GetAllExtensions() as $oExtension) {
|
||||
if ($oExtension->bMarkedAsChosen) {
|
||||
foreach ($oExtension->aModules as $sModuleName) {
|
||||
if (!isset($aRet[$sModuleName]) && isset($aAvailableModules[$sModuleName])) {
|
||||
$aRet[$sModuleName] = $aAvailableModules[$sModuleName];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $aRet;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -259,7 +259,6 @@ function MakeDataToPost($sTargetRoute)
|
||||
|
||||
try {
|
||||
require_once(APPROOT.'/application/application.inc.php');
|
||||
require_once(APPROOT.'/application/itopwebpage.class.inc.php');
|
||||
require_once(APPROOT.'/setup/extensionsmap.class.inc.php');
|
||||
require_once('hubconnectorpage.class.inc.php');
|
||||
|
||||
|
||||
@@ -13,7 +13,6 @@ use Combodo\iTop\Application\UI\Base\UIBlock;
|
||||
|
||||
require_once('../approot.inc.php');
|
||||
require_once(APPROOT.'/application/application.inc.php');
|
||||
require_once(APPROOT.'/application/itopwebpage.class.inc.php');
|
||||
require_once(APPROOT.'setup/extensionsmap.class.inc.php');
|
||||
|
||||
require_once(APPROOT.'/application/startup.inc.php');
|
||||
|
||||
@@ -91,6 +91,7 @@ class ObjectFormManager extends FormManager
|
||||
* @return array formmanager_data as a PHP array
|
||||
*
|
||||
* @since 2.7.6 3.0.0 N°4384 method creation : factorize as this is used twice now
|
||||
* @since 2.7.7 3.0.1 N°4867 now only used once, but we decided to keep this method anyway
|
||||
*/
|
||||
protected static function DecodeFormManagerData($formManagerData)
|
||||
{
|
||||
@@ -106,17 +107,15 @@ class ObjectFormManager extends FormManager
|
||||
* - formobject_class : The class of the object that is being edited/viewed
|
||||
* - formmode : view|edit|create
|
||||
* - values for parent
|
||||
* @param bool $bTrustContent if false then won't allow modified TWIG content
|
||||
*
|
||||
* @return \Combodo\iTop\Portal\Form\ObjectFormManager new instance init from JSON data
|
||||
*
|
||||
* @inheritDoc
|
||||
* @throws \Exception
|
||||
* @throws \SecurityException if twig content is present and $bTrustContent is false
|
||||
*
|
||||
* @since 2.7.6 3.0.0 N°4384 new $bTrustContent parameter
|
||||
* @since 2.7.7 3.0.1 N°4867 remove param $bTrustContent
|
||||
*/
|
||||
public static function FromJSON($sJson, $bTrustContent = false)
|
||||
public static function FromJSON($sJson)
|
||||
{
|
||||
$aJson = static::DecodeFormManagerData($sJson);
|
||||
|
||||
@@ -172,37 +171,6 @@ class ObjectFormManager extends FormManager
|
||||
return $oFormManager;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $sPostedFormManagerData received data from the browser
|
||||
* @param array $aOriginalFormProperties data generated server side
|
||||
*
|
||||
* @return bool true if the data are identical
|
||||
*
|
||||
* @since 2.7.6 3.0.0 N°4384 Check formmanager_data
|
||||
*/
|
||||
public static function CanTrustFormLayoutContent($sPostedFormManagerData, $aOriginalFormProperties)
|
||||
{
|
||||
$aPostedFormManagerData = static::DecodeFormManagerData($sPostedFormManagerData);
|
||||
$sPostedFormLayoutType = (isset($aPostedFormManagerData['formproperties']['layout']['type'])) ? $aPostedFormManagerData['formproperties']['layout']['type'] : '';
|
||||
|
||||
if ($sPostedFormLayoutType === 'xhtml') {
|
||||
return true;
|
||||
}
|
||||
|
||||
// We need to parse the content so that autoclose tags are returned correctly (`<div />` => `<div></div>`)
|
||||
$oHtmlDocument = new \DOMDocument();
|
||||
|
||||
$sPostedFormLayoutContent = (isset($aPostedFormManagerData['formproperties']['layout']['content'])) ? $aPostedFormManagerData['formproperties']['layout']['content'] : '';
|
||||
$oHtmlDocument->loadXML('<root>'.$sPostedFormLayoutContent.'</root>');
|
||||
$sPostedFormLayoutRendered = $oHtmlDocument->saveHTML();
|
||||
|
||||
$sOriginalFormLayoutContent = (isset($aOriginalFormProperties['layout']['content'])) ? $aOriginalFormProperties['layout']['content'] : '';
|
||||
$oHtmlDocument->loadXML('<root>'.$sOriginalFormLayoutContent.'</root>');
|
||||
$sOriginalFormLayoutContentRendered = $oHtmlDocument->saveHTML();
|
||||
|
||||
return ($sPostedFormLayoutRendered === $sOriginalFormLayoutContentRendered);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @return \Symfony\Component\DependencyInjection\ContainerInterface
|
||||
|
||||
@@ -132,12 +132,10 @@ class ObjectFormHandlerHelper
|
||||
$bModal = ($oRequest->isXmlHttpRequest() && empty($sOperation));
|
||||
|
||||
// - Retrieve form properties
|
||||
$aOriginalFormProperties = ApplicationHelper::GetLoadedFormFromClass($this->aCombodoPortalInstanceConf['forms'], $sObjectClass, $sMode);
|
||||
if ($aFormProperties === null)
|
||||
{
|
||||
$aFormProperties = $aOriginalFormProperties;
|
||||
$aFormProperties = ApplicationHelper::GetLoadedFormFromClass($this->aCombodoPortalInstanceConf['forms'], $sObjectClass, $sMode);
|
||||
}
|
||||
|
||||
// - Create and
|
||||
if (empty($sOperation))
|
||||
{
|
||||
@@ -300,8 +298,8 @@ class ObjectFormHandlerHelper
|
||||
throw new HttpException(Response::HTTP_INTERNAL_SERVER_ERROR, 'Parameters formmanager_class and formmanager_data must be defined.');
|
||||
}
|
||||
|
||||
$bTrustContent = $sFormManagerClass::CanTrustFormLayoutContent($sFormManagerData, $aOriginalFormProperties);
|
||||
$oFormManager = $sFormManagerClass::FromJSON($sFormManagerData, $bTrustContent);
|
||||
$this->CheckReadFormDataAllowed($sFormManagerData);
|
||||
$oFormManager = $sFormManagerClass::FromJSON($sFormManagerData);
|
||||
$oFormManager->SetContainer($this->oContainer);
|
||||
|
||||
// Applying action rules if present
|
||||
@@ -439,6 +437,29 @@ class ObjectFormHandlerHelper
|
||||
return $oTwig->render($sId, $aData);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if read object include in form data is allowed, throw an exception otherwise.
|
||||
*
|
||||
* @since 2.7.7
|
||||
*
|
||||
* @param $sFormManagerData form data to check
|
||||
*
|
||||
* @return void
|
||||
* @throws \CoreException
|
||||
* @throws \MissingQueryArgument
|
||||
* @throws \MySQLException
|
||||
* @throws \MySQLHasGoneAwayException
|
||||
* @throws \OQLException
|
||||
*/
|
||||
public function CheckReadFormDataAllowed($sFormManagerData){
|
||||
$aJsonFromData = json_decode($sFormManagerData, true);
|
||||
if(isset($aJsonFromData['formobject_class'])
|
||||
&& isset($aJsonFromData['formobject_id'])
|
||||
&& !$this->oSecurityHelper->IsActionAllowed(UR_ACTION_READ, $aJsonFromData['formobject_class'], $aJsonFromData['formobject_id'])){
|
||||
throw new HttpException(Response::HTTP_INTERNAL_SERVER_ERROR, 'Form data access denied.');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Return an array of the available modes for a form.
|
||||
*
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
// Copyright (C) 2010-2021 Combodo SARL
|
||||
//
|
||||
// This file is part of iTop.
|
||||
//
|
||||
// iTop is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// iTop is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with iTop. If not, see <http://www.gnu.org/licenses/>
|
||||
/**
|
||||
* @author Benjamin Planque <benjamin.planque@combodo.com>
|
||||
* @copyright Copyright (C) 2010-2021 Combodo SARL
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
*/
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
// Note: The classes have been grouped by categories: bizmodel
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
// Classes in 'bizmodel'
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
Dict::Add('PL PL', 'Polish', 'Polski', array(
|
||||
'portal:itop-portal' => 'Standard portal~~', // This is the portal name that will be displayed in portal dispatcher (eg. URL in menus)
|
||||
'Page:DefaultTitle' => '%1$s portal użytkownika',
|
||||
'Brick:Portal:UserProfile:Title' => 'My profile~~',
|
||||
'Brick:Portal:NewRequest:Title' => 'New request~~',
|
||||
'Brick:Portal:NewRequest:Title+' => '<p>Need help?</p><p>Pick from the services catalog and submit your request to our support teams.</p>~~',
|
||||
'Brick:Portal:OngoingRequests:Title' => 'Ongoing requests~~',
|
||||
'Brick:Portal:OngoingRequests:Title+' => '<p>Follow up with your ongoing requests.</p><p>Check the progress, add comments, attach documents, acknowledge the solution.</p>~~',
|
||||
'Brick:Portal:OngoingRequests:Tab:OnGoing' => 'Open~~',
|
||||
'Brick:Portal:OngoingRequests:Tab:Resolved' => 'Resolved~~',
|
||||
'Brick:Portal:ClosedRequests:Title' => 'Closed requests~~',
|
||||
));
|
||||
@@ -0,0 +1,370 @@
|
||||
<?php
|
||||
/**
|
||||
* Localized data
|
||||
*
|
||||
* @copyright Copyright (C) 2010-2021 Combodo SARL
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
*
|
||||
* This file is part of iTop.
|
||||
*
|
||||
* iTop is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* iTop is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with iTop. If not, see <http://www.gnu.org/licenses/>
|
||||
*/
|
||||
// Dictionnary conventions
|
||||
// Class:<class_name>
|
||||
// Class:<class_name>+
|
||||
// Class:<class_name>/Attribute:<attribute_code>
|
||||
// Class:<class_name>/Attribute:<attribute_code>+
|
||||
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>
|
||||
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>+
|
||||
// Class:<class_name>/Stimulus:<stimulus_code>
|
||||
// Class:<class_name>/Stimulus:<stimulus_code>+
|
||||
// Class:<class_name>/UniquenessRule:<rule_code>
|
||||
// Class:<class_name>/UniquenessRule:<rule_code>+
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
// Note: The classes have been grouped by categories: bizmodel
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
// Classes in 'bizmodel'
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
//
|
||||
// Class: Organization
|
||||
//
|
||||
Dict::Add('PL PL', 'Polish', 'Polski', array(
|
||||
'Class:Organization' => 'Organization~~',
|
||||
'Class:Organization+' => '~~',
|
||||
'Class:Organization/Attribute:name' => 'Name~~',
|
||||
'Class:Organization/Attribute:name+' => 'Common name~~',
|
||||
'Class:Organization/Attribute:code' => 'Code~~',
|
||||
'Class:Organization/Attribute:code+' => 'Organization code (Siret, DUNS,...)~~',
|
||||
'Class:Organization/Attribute:status' => 'Status~~',
|
||||
'Class:Organization/Attribute:status+' => '~~',
|
||||
'Class:Organization/Attribute:status/Value:active' => 'Active~~',
|
||||
'Class:Organization/Attribute:status/Value:active+' => 'Active~~',
|
||||
'Class:Organization/Attribute:status/Value:inactive' => 'Inactive~~',
|
||||
'Class:Organization/Attribute:status/Value:inactive+' => 'Inactive~~',
|
||||
'Class:Organization/Attribute:parent_id' => 'Parent~~',
|
||||
'Class:Organization/Attribute:parent_id+' => 'Parent organization~~',
|
||||
'Class:Organization/Attribute:parent_name' => 'Parent name~~',
|
||||
'Class:Organization/Attribute:parent_name+' => 'Name of the parent organization~~',
|
||||
'Class:Organization/Attribute:deliverymodel_id' => 'Model obsługi',
|
||||
'Class:Organization/Attribute:deliverymodel_id+' => '',
|
||||
'Class:Organization/Attribute:deliverymodel_name' => 'Nazwa modelu obsługi',
|
||||
'Class:Organization/Attribute:deliverymodel_name+' => '',
|
||||
'Class:Organization/Attribute:parent_id_friendlyname' => 'Parent~~',
|
||||
'Class:Organization/Attribute:parent_id_friendlyname+' => 'Parent organization~~',
|
||||
'Class:Organization/Attribute:overview' => 'Overview~~',
|
||||
'Organization:Overview:FunctionalCIs' => 'Configuration items of this organization~~',
|
||||
'Organization:Overview:FunctionalCIs:subtitle' => 'by type~~',
|
||||
'Organization:Overview:Users' => '~~',
|
||||
));
|
||||
|
||||
//
|
||||
// Class: Location
|
||||
//
|
||||
|
||||
Dict::Add('PL PL', 'Polish', 'Polski', array(
|
||||
'Class:Location' => 'Location~~',
|
||||
'Class:Location+' => 'Any type of location: Region, Country, City, Site, Building, Floor, Room, Rack,...~~',
|
||||
'Class:Location/Attribute:name' => 'Name~~',
|
||||
'Class:Location/Attribute:name+' => '~~',
|
||||
'Class:Location/Attribute:status' => 'Status~~',
|
||||
'Class:Location/Attribute:status+' => '~~',
|
||||
'Class:Location/Attribute:status/Value:active' => 'Active~~',
|
||||
'Class:Location/Attribute:status/Value:active+' => 'Active~~',
|
||||
'Class:Location/Attribute:status/Value:inactive' => 'Inactive~~',
|
||||
'Class:Location/Attribute:status/Value:inactive+' => 'Inactive~~',
|
||||
'Class:Location/Attribute:org_id' => 'Owner organization~~',
|
||||
'Class:Location/Attribute:org_id+' => '~~',
|
||||
'Class:Location/Attribute:org_name' => 'Name of the owner organization~~',
|
||||
'Class:Location/Attribute:org_name+' => '~~',
|
||||
'Class:Location/Attribute:address' => 'Address~~',
|
||||
'Class:Location/Attribute:address+' => 'Postal address~~',
|
||||
'Class:Location/Attribute:postal_code' => 'Postal code~~',
|
||||
'Class:Location/Attribute:postal_code+' => 'ZIP/Postal code~~',
|
||||
'Class:Location/Attribute:city' => 'City~~',
|
||||
'Class:Location/Attribute:city+' => '~~',
|
||||
'Class:Location/Attribute:country' => 'Country~~',
|
||||
'Class:Location/Attribute:country+' => '~~',
|
||||
'Class:Location/Attribute:physicaldevice_list' => 'Devices~~',
|
||||
'Class:Location/Attribute:physicaldevice_list+' => 'All the devices in this location~~',
|
||||
'Class:Location/Attribute:person_list' => 'Contacts~~',
|
||||
'Class:Location/Attribute:person_list+' => 'All the contacts located on this location~~',
|
||||
));
|
||||
|
||||
//
|
||||
// Class: Contact
|
||||
//
|
||||
|
||||
Dict::Add('PL PL', 'Polish', 'Polski', array(
|
||||
'Class:Contact' => 'Contact~~',
|
||||
'Class:Contact+' => '~~',
|
||||
'Class:Contact/Attribute:name' => 'Name~~',
|
||||
'Class:Contact/Attribute:name+' => '~~',
|
||||
'Class:Contact/Attribute:status' => 'Status~~',
|
||||
'Class:Contact/Attribute:status+' => '~~',
|
||||
'Class:Contact/Attribute:status/Value:active' => 'Active~~',
|
||||
'Class:Contact/Attribute:status/Value:active+' => 'Active~~',
|
||||
'Class:Contact/Attribute:status/Value:inactive' => 'Inactive~~',
|
||||
'Class:Contact/Attribute:status/Value:inactive+' => 'Inactive~~',
|
||||
'Class:Contact/Attribute:org_id' => 'Organization~~',
|
||||
'Class:Contact/Attribute:org_id+' => '~~',
|
||||
'Class:Contact/Attribute:org_name' => 'Organization name~~',
|
||||
'Class:Contact/Attribute:org_name+' => '~~',
|
||||
'Class:Contact/Attribute:email' => 'Email~~',
|
||||
'Class:Contact/Attribute:email+' => '~~',
|
||||
'Class:Contact/Attribute:phone' => 'Phone~~',
|
||||
'Class:Contact/Attribute:phone+' => '~~',
|
||||
'Class:Contact/Attribute:notify' => 'Notification~~',
|
||||
'Class:Contact/Attribute:notify+' => 'Flag which can be used by each notification~~',
|
||||
'Class:Contact/Attribute:notify/Value:no' => 'no~~',
|
||||
'Class:Contact/Attribute:notify/Value:no+' => 'no~~',
|
||||
'Class:Contact/Attribute:notify/Value:yes' => 'yes~~',
|
||||
'Class:Contact/Attribute:notify/Value:yes+' => 'yes~~',
|
||||
'Class:Contact/Attribute:function' => 'Function~~',
|
||||
'Class:Contact/Attribute:function+' => '~~',
|
||||
'Class:Contact/Attribute:cis_list' => 'CIs~~',
|
||||
'Class:Contact/Attribute:cis_list+' => 'All the configuration items linked to this contact~~',
|
||||
'Class:Contact/Attribute:finalclass' => 'Contact sub-class~~',
|
||||
'Class:Contact/Attribute:finalclass+' => 'Name of the final class~~',
|
||||
));
|
||||
|
||||
//
|
||||
// Class: Person
|
||||
//
|
||||
|
||||
Dict::Add('PL PL', 'Polish', 'Polski', array(
|
||||
'Class:Person' => 'Person~~',
|
||||
'Class:Person+' => '~~',
|
||||
'Class:Person/Attribute:name' => 'Last Name~~',
|
||||
'Class:Person/Attribute:name+' => '~~',
|
||||
'Class:Person/Attribute:first_name' => 'First Name~~',
|
||||
'Class:Person/Attribute:first_name+' => '~~',
|
||||
'Class:Person/Attribute:employee_number' => 'Employee number~~',
|
||||
'Class:Person/Attribute:employee_number+' => '~~',
|
||||
'Class:Person/Attribute:mobile_phone' => 'Mobile phone~~',
|
||||
'Class:Person/Attribute:mobile_phone+' => '~~',
|
||||
'Class:Person/Attribute:location_id' => 'Location~~',
|
||||
'Class:Person/Attribute:location_id+' => '~~',
|
||||
'Class:Person/Attribute:location_name' => 'Location name~~',
|
||||
'Class:Person/Attribute:location_name+' => '~~',
|
||||
'Class:Person/Attribute:manager_id' => 'Manager~~',
|
||||
'Class:Person/Attribute:manager_id+' => '~~',
|
||||
'Class:Person/Attribute:manager_name' => 'Manager name~~',
|
||||
'Class:Person/Attribute:manager_name+' => '~~',
|
||||
'Class:Person/Attribute:team_list' => 'Teams~~',
|
||||
'Class:Person/Attribute:team_list+' => 'All the teams this person belongs to~~',
|
||||
'Class:Person/Attribute:tickets_list' => 'Tickets~~',
|
||||
'Class:Person/Attribute:tickets_list+' => 'All the tickets this person is the caller~~',
|
||||
'Class:Person/Attribute:manager_id_friendlyname' => 'Manager friendly name~~',
|
||||
'Class:Person/Attribute:manager_id_friendlyname+' => '~~',
|
||||
'Class:Person/Attribute:picture' => 'Picture~~',
|
||||
'Class:Person/Attribute:picture+' => '~~',
|
||||
'Class:Person/UniquenessRule:employee_number+' => 'The employee number must be unique in the organization~~',
|
||||
'Class:Person/UniquenessRule:employee_number' => 'there is already a person in \'$this->org_name$\' organization with the same employee number~~',
|
||||
'Class:Person/UniquenessRule:name+' => 'The employee name should be unique inside its organization~~',
|
||||
'Class:Person/UniquenessRule:name' => 'There is already a person in \'$this->org_name$\' organization with the same name~~',
|
||||
));
|
||||
|
||||
//
|
||||
// Class: Team
|
||||
//
|
||||
|
||||
Dict::Add('PL PL', 'Polish', 'Polski', array(
|
||||
'Class:Team' => 'Team~~',
|
||||
'Class:Team+' => '~~',
|
||||
'Class:Team/Attribute:persons_list' => 'Members~~',
|
||||
'Class:Team/Attribute:persons_list+' => 'All the people belonging to this team~~',
|
||||
'Class:Team/Attribute:tickets_list' => 'Tickets~~',
|
||||
'Class:Team/Attribute:tickets_list+' => 'All the tickets assigned to this team~~',
|
||||
));
|
||||
|
||||
//
|
||||
// Class: Document
|
||||
//
|
||||
|
||||
Dict::Add('PL PL', 'Polish', 'Polski', array(
|
||||
'Class:Document' => 'Document~~',
|
||||
'Class:Document+' => '~~',
|
||||
'Class:Document/Attribute:name' => 'Name~~',
|
||||
'Class:Document/Attribute:name+' => '~~',
|
||||
'Class:Document/Attribute:org_id' => 'Organization~~',
|
||||
'Class:Document/Attribute:org_id+' => '~~',
|
||||
'Class:Document/Attribute:org_name' => 'Organization name~~',
|
||||
'Class:Document/Attribute:org_name+' => '~~',
|
||||
'Class:Document/Attribute:documenttype_id' => 'Document type~~',
|
||||
'Class:Document/Attribute:documenttype_id+' => '~~',
|
||||
'Class:Document/Attribute:documenttype_name' => 'Document type name~~',
|
||||
'Class:Document/Attribute:documenttype_name+' => '~~',
|
||||
'Class:Document/Attribute:version' => 'Version~~',
|
||||
'Class:Document/Attribute:version+' => '~~',
|
||||
'Class:Document/Attribute:description' => 'Description~~',
|
||||
'Class:Document/Attribute:description+' => '~~',
|
||||
'Class:Document/Attribute:status' => 'Status~~',
|
||||
'Class:Document/Attribute:status+' => '~~',
|
||||
'Class:Document/Attribute:status/Value:draft' => 'Draft~~',
|
||||
'Class:Document/Attribute:status/Value:draft+' => '~~',
|
||||
'Class:Document/Attribute:status/Value:obsolete' => 'Obsolete~~',
|
||||
'Class:Document/Attribute:status/Value:obsolete+' => '~~',
|
||||
'Class:Document/Attribute:status/Value:published' => 'Published~~',
|
||||
'Class:Document/Attribute:status/Value:published+' => '~~',
|
||||
'Class:Document/Attribute:cis_list' => 'CIs~~',
|
||||
'Class:Document/Attribute:cis_list+' => 'All the configuration items linked to this document~~',
|
||||
'Class:Document/Attribute:finalclass' => 'Document sub-class~~',
|
||||
'Class:Document/Attribute:finalclass+' => 'Name of the final class~~',
|
||||
));
|
||||
|
||||
//
|
||||
// Class: DocumentFile
|
||||
//
|
||||
|
||||
Dict::Add('PL PL', 'Polish', 'Polski', array(
|
||||
'Class:DocumentFile' => 'Document File~~',
|
||||
'Class:DocumentFile+' => '~~',
|
||||
'Class:DocumentFile/Attribute:file' => 'File~~',
|
||||
'Class:DocumentFile/Attribute:file+' => '~~',
|
||||
));
|
||||
|
||||
//
|
||||
// Class: DocumentNote
|
||||
//
|
||||
|
||||
Dict::Add('PL PL', 'Polish', 'Polski', array(
|
||||
'Class:DocumentNote' => 'Document Note~~',
|
||||
'Class:DocumentNote+' => '~~',
|
||||
'Class:DocumentNote/Attribute:text' => 'Text~~',
|
||||
'Class:DocumentNote/Attribute:text+' => '~~',
|
||||
));
|
||||
|
||||
//
|
||||
// Class: DocumentWeb
|
||||
//
|
||||
|
||||
Dict::Add('PL PL', 'Polish', 'Polski', array(
|
||||
'Class:DocumentWeb' => 'Document Web~~',
|
||||
'Class:DocumentWeb+' => '~~',
|
||||
'Class:DocumentWeb/Attribute:url' => 'URL~~',
|
||||
'Class:DocumentWeb/Attribute:url+' => '~~',
|
||||
));
|
||||
|
||||
//
|
||||
// Class: Typology
|
||||
//
|
||||
|
||||
Dict::Add('PL PL', 'Polish', 'Polski', array(
|
||||
'Class:Typology' => 'Typology~~',
|
||||
'Class:Typology+' => '~~',
|
||||
'Class:Typology/Attribute:name' => 'Name~~',
|
||||
'Class:Typology/Attribute:name+' => '~~',
|
||||
'Class:Typology/Attribute:finalclass' => 'Typology sub-class~~',
|
||||
'Class:Typology/Attribute:finalclass+' => 'Name of the final class~~',
|
||||
));
|
||||
|
||||
//
|
||||
// Class: DocumentType
|
||||
//
|
||||
|
||||
Dict::Add('PL PL', 'Polish', 'Polski', array(
|
||||
'Class:DocumentType' => 'Document Type~~',
|
||||
'Class:DocumentType+' => '~~',
|
||||
));
|
||||
|
||||
//
|
||||
// Class: ContactType
|
||||
//
|
||||
|
||||
Dict::Add('PL PL', 'Polish', 'Polski', array(
|
||||
'Class:ContactType' => 'Contact Type~~',
|
||||
'Class:ContactType+' => '~~',
|
||||
));
|
||||
|
||||
//
|
||||
// Class: lnkPersonToTeam
|
||||
//
|
||||
|
||||
Dict::Add('PL PL', 'Polish', 'Polski', array(
|
||||
'Class:lnkPersonToTeam' => 'Link Person / Team~~',
|
||||
'Class:lnkPersonToTeam+' => '~~',
|
||||
'Class:lnkPersonToTeam/Attribute:team_id' => 'Team~~',
|
||||
'Class:lnkPersonToTeam/Attribute:team_id+' => '~~',
|
||||
'Class:lnkPersonToTeam/Attribute:team_name' => 'Team name~~',
|
||||
'Class:lnkPersonToTeam/Attribute:team_name+' => '~~',
|
||||
'Class:lnkPersonToTeam/Attribute:person_id' => 'Person~~',
|
||||
'Class:lnkPersonToTeam/Attribute:person_id+' => '~~',
|
||||
'Class:lnkPersonToTeam/Attribute:person_name' => 'Person name~~',
|
||||
'Class:lnkPersonToTeam/Attribute:person_name+' => '~~',
|
||||
'Class:lnkPersonToTeam/Attribute:role_id' => 'Role~~',
|
||||
'Class:lnkPersonToTeam/Attribute:role_id+' => '~~',
|
||||
'Class:lnkPersonToTeam/Attribute:role_name' => 'Role name~~',
|
||||
'Class:lnkPersonToTeam/Attribute:role_name+' => '~~',
|
||||
));
|
||||
|
||||
//
|
||||
// Application Menu
|
||||
//
|
||||
|
||||
Dict::Add('PL PL', 'Polish', 'Polski', array(
|
||||
'Menu:DataAdministration' => 'Administracja danymi',
|
||||
'Menu:DataAdministration+' => 'Administracja danymi',
|
||||
'Menu:Catalogs' => 'Catalogs~~',
|
||||
'Menu:Catalogs+' => 'Data types~~',
|
||||
'Menu:Audit' => 'Audit~~',
|
||||
'Menu:Audit+' => 'Audit~~',
|
||||
'Menu:CSVImport' => 'CSV import~~',
|
||||
'Menu:CSVImport+' => 'Bulk creation or update~~',
|
||||
'Menu:Organization' => 'Organizations~~',
|
||||
'Menu:Organization+' => 'All organizations~~',
|
||||
'Menu:ConfigManagement' => 'Configuration Management~~',
|
||||
'Menu:ConfigManagement+' => 'Configuration Management~~',
|
||||
'Menu:ConfigManagementCI' => 'Configuration items~~',
|
||||
'Menu:ConfigManagementCI+' => 'Configuration items~~',
|
||||
'Menu:ConfigManagementOverview' => 'Overview~~',
|
||||
'Menu:ConfigManagementOverview+' => 'Overview~~',
|
||||
'Menu:Contact' => 'Contacts~~',
|
||||
'Menu:Contact+' => 'Contacts~~',
|
||||
'Menu:Contact:Count' => '%1$d contacts~~',
|
||||
'Menu:Person' => 'Persons~~',
|
||||
'Menu:Person+' => 'All persons~~',
|
||||
'Menu:Team' => 'Teams~~',
|
||||
'Menu:Team+' => 'All teams~~',
|
||||
'Menu:Document' => 'Documents~~',
|
||||
'Menu:Document+' => 'All documents~~',
|
||||
'Menu:Location' => 'Locations~~',
|
||||
'Menu:Location+' => 'All locations~~',
|
||||
'Menu:NewContact' => 'New contact~~',
|
||||
'Menu:NewContact+' => 'New contact~~',
|
||||
'Menu:SearchContacts' => 'Search for contacts~~',
|
||||
'Menu:SearchContacts+' => 'Search for contacts~~',
|
||||
'Menu:ConfigManagement:Shortcuts' => 'Shortcuts~~',
|
||||
'Menu:ConfigManagement:AllContacts' => 'All contacts: %1$d~~',
|
||||
'Menu:Typology' => 'Typology configuration~~',
|
||||
'Menu:Typology+' => 'Typology configuration~~',
|
||||
'UI_WelcomeMenu_AllConfigItems' => 'Summary~~',
|
||||
'Menu:ConfigManagement:Typology' => 'Typology configuration~~',
|
||||
));
|
||||
|
||||
// Add translation for Fieldsets
|
||||
|
||||
Dict::Add('PL PL', 'Polish', 'Polski', array(
|
||||
'Person:info' => 'General information~~',
|
||||
'UserLocal:info' => 'General information~~',
|
||||
'Person:personal_info' => 'Personal information~~',
|
||||
'Person:notifiy' => 'Notification~~',
|
||||
));
|
||||
|
||||
// Themes
|
||||
Dict::Add('PL PL', 'Polish', 'Polski', array(
|
||||
'theme:fullmoon' => 'Full moon~~',
|
||||
'theme:test-red' => 'Test instance (Red)~~',
|
||||
));
|
||||
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
/**
|
||||
* Localized data
|
||||
*
|
||||
* @copyright Copyright (C) 2013 XXXXX
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
*/
|
||||
Dict::Add('PL PL', 'Polish', 'Polski', array(
|
||||
'theme:light-grey' => 'Light Grey (deprecated)~~',
|
||||
));
|
||||
@@ -242,4 +242,4 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
'Class:Document/Attribute:contracts_list+' => '',
|
||||
'Class:Document/Attribute:services_list' => 'Services',
|
||||
'Class:Document/Attribute:services_list+' => '',
|
||||
));
|
||||
));
|
||||
@@ -157,50 +157,49 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
|
||||
|
||||
// Fieldset translation
|
||||
Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
|
||||
'Ticket:baseinfo' => 'Genel Bilgi',
|
||||
'Ticket:date' => 'Tarihler',
|
||||
'Ticket:contact' => 'Kişiler',
|
||||
'Ticket:moreinfo' => 'Daha fazla bilgi',
|
||||
'Ticket:relation' => 'İlişkiler',
|
||||
'Ticket:log' => 'İletişim',
|
||||
'Ticket:Type' => 'Yeterlilik',
|
||||
'Ticket:support' => 'Destek',
|
||||
'Ticket:resolution' => 'Çözünürlük',
|
||||
'Ticket:SLA' => 'SLA raporu',
|
||||
'WorkOrder:Details' => 'Ayrıntılar',
|
||||
'WorkOrder:Moreinfo' => 'Daha fazla bilgi',
|
||||
'Tickets:ResolvedFrom' => '%1$s\'den otomatik olarak çözüldü,',
|
||||
|
||||
'Class:cmdbAbstractObject/Method:Set' => 'Ayarla',
|
||||
'Class:cmdbAbstractObject/Method:Set+' => 'Sabit değeri olan bir alanı ayarlayın',
|
||||
'Class:cmdbAbstractObject/Method:Set/Param:1' => 'Hedef alanı',
|
||||
'Class:cmdbAbstractObject/Method:Set/Param:1+' => 'Ayarlanan alan, geçerli nesnede',
|
||||
'Class:cmdbAbstractObject/Method:Set/Param:2' => 'Değer',
|
||||
'Class:cmdbAbstractObject/Method:Set/Param:2+' => 'Ayarlanan değer',
|
||||
'Class:cmdbAbstractObject/Method:SetCurrentDate' => 'Güncel tarihi ayarla',
|
||||
'Class:cmdbAbstractObject/Method:SetCurrentDate+' => 'Güncel tarih ve saatle bir alan ayarlayın',
|
||||
'Class:cmdbAbstractObject/Method:SetCurrentDate/Param:1' => 'Hedef alanı',
|
||||
'Class:cmdbAbstractObject/Method:SetCurrentDate/Param:1+' => 'Ayarlanan alan, geçerli nesnede',
|
||||
'Ticket:baseinfo' => 'Genel Bilgi',
|
||||
'Ticket:date' => 'Tarihler',
|
||||
'Ticket:contact' => 'Kişiler',
|
||||
'Ticket:moreinfo' => 'Daha fazla bilgi',
|
||||
'Ticket:relation' => 'İlişkiler',
|
||||
'Ticket:log' => 'İletişim',
|
||||
'Ticket:Type' => 'Yeterlilik',
|
||||
'Ticket:support' => 'Destek',
|
||||
'Ticket:resolution' => 'Çözünürlük',
|
||||
'Ticket:SLA' => 'SLA raporu',
|
||||
'WorkOrder:Details' => 'Ayrıntılar',
|
||||
'WorkOrder:Moreinfo' => 'Daha fazla bilgi',
|
||||
'Tickets:ResolvedFrom' => '%1$s\'den otomatik olarak çözüldü,',
|
||||
'Class:cmdbAbstractObject/Method:Set' => 'Ayarla',
|
||||
'Class:cmdbAbstractObject/Method:Set+' => 'Sabit değeri olan bir alanı ayarlayın',
|
||||
'Class:cmdbAbstractObject/Method:Set/Param:1' => 'Hedef alanı',
|
||||
'Class:cmdbAbstractObject/Method:Set/Param:1+' => 'Ayarlanan alan, geçerli nesnede',
|
||||
'Class:cmdbAbstractObject/Method:Set/Param:2' => 'Değer',
|
||||
'Class:cmdbAbstractObject/Method:Set/Param:2+' => 'Ayarlanan değer',
|
||||
'Class:cmdbAbstractObject/Method:SetCurrentDate' => 'Güncel tarihi ayarla',
|
||||
'Class:cmdbAbstractObject/Method:SetCurrentDate+' => 'Güncel tarih ve saatle bir alan ayarlayın',
|
||||
'Class:cmdbAbstractObject/Method:SetCurrentDate/Param:1' => 'Hedef alanı',
|
||||
'Class:cmdbAbstractObject/Method:SetCurrentDate/Param:1+' => 'Ayarlanan alan, geçerli nesnede',
|
||||
'Class:cmdbAbstractObject/Method:SetCurrentDateIfNull' => 'SetCurrentDateIfNull~~',
|
||||
'Class:cmdbAbstractObject/Method:SetCurrentDateIfNull+' => 'Set an empty field with the current date and time~~',
|
||||
'Class:cmdbAbstractObject/Method:SetCurrentDateIfNull/Param:1' => 'Target Field~~',
|
||||
'Class:cmdbAbstractObject/Method:SetCurrentDateIfNull/Param:1+' => 'The field to set, in the current object~~',
|
||||
'Class:cmdbAbstractObject/Method:SetCurrentUser' => 'Mevcut kullanıcıyı ayarla',
|
||||
'Class:cmdbAbstractObject/Method:SetCurrentUser+' => 'Oturum açmış olan kullanıcıyla bir alan ayarlayın',
|
||||
'Class:cmdbAbstractObject/Method:SetCurrentUser/Param:1' => 'Hedef alanı',
|
||||
'Class:cmdbAbstractObject/Method:SetCurrentUser/Param:1+' => 'Mevcut nesnede ayarlanan alan. Alan bir dize ise, bilinen ad kullanılacak, aksi takdirde tanımlayıcı kullanılacaktır. Bu bilinen ad, kullanıcıya atandığı takdirde geçerlidir.Aksi halde giriş yapılan kullanıcı adı geçerlidir.',
|
||||
'Class:cmdbAbstractObject/Method:SetCurrentPerson' => 'Mevcut kullanıcıyı ayarla',
|
||||
'Class:cmdbAbstractObject/Method:SetCurrentPerson+' => 'Oturum açmış kişiyle bir alan ayarlayın.',
|
||||
'Class:cmdbAbstractObject/Method:SetCurrentPerson/Param:1' => 'Hedef alanı',
|
||||
'Class:cmdbAbstractObject/Method:SetCurrentPerson/Param:1+' => 'Mevcut nesnede ayarlanan alan. Alan bir dize ise, bilinen ad kullanılacaktır, aksi takdirde tanımlayıcı kullanılacaktır.',
|
||||
'Class:cmdbAbstractObject/Method:SetElapsedTime' => 'Geçen zamanı ayarla',
|
||||
'Class:cmdbAbstractObject/Method:SetElapsedTime+' => 'Başka bir alan tarafından belirlenmiş tarihten geçen süreye göre bir alanı ayarla (saniye)',
|
||||
'Class:cmdbAbstractObject/Method:SetElapsedTime/Param:1' => 'Hedef alanı',
|
||||
'Class:cmdbAbstractObject/Method:SetElapsedTime/Param:1+' => 'Ayarlanan alan, geçerli nesnede',
|
||||
'Class:cmdbAbstractObject/Method:SetElapsedTime/Param:2' => 'Referans alanı',
|
||||
'Class:cmdbAbstractObject/Method:SetElapsedTime/Param:2+' => 'Referans tarihi elde etmek için alan',
|
||||
'Class:cmdbAbstractObject/Method:SetElapsedTime/Param:3' => 'Çalışma saatleri',
|
||||
'Class:cmdbAbstractObject/Method:SetElapsedTime/Param:3+' => 'Standart çalışma saatleri şemasına uymak için boş bırakın veya 24x7 şemasını oluşturmak için \\"DefaultWorkingTimecomputer\\" olarak ayarlayın',
|
||||
'Class:cmdbAbstractObject/Method:SetCurrentUser' => 'Mevcut kullanıcıyı ayarla',
|
||||
'Class:cmdbAbstractObject/Method:SetCurrentUser+' => 'Oturum açmış olan kullanıcıyla bir alan ayarlayın',
|
||||
'Class:cmdbAbstractObject/Method:SetCurrentUser/Param:1' => 'Hedef alanı',
|
||||
'Class:cmdbAbstractObject/Method:SetCurrentUser/Param:1+' => 'Mevcut nesnede ayarlanan alan. Alan bir dize ise, bilinen ad kullanılacak, aksi takdirde tanımlayıcı kullanılacaktır. Bu bilinen ad, kullanıcıya atandığı takdirde geçerlidir.Aksi halde giriş yapılan kullanıcı adı geçerlidir.',
|
||||
'Class:cmdbAbstractObject/Method:SetCurrentPerson' => 'Mevcut kullanıcıyı ayarla',
|
||||
'Class:cmdbAbstractObject/Method:SetCurrentPerson+' => 'Oturum açmış kişiyle bir alan ayarlayın.',
|
||||
'Class:cmdbAbstractObject/Method:SetCurrentPerson/Param:1' => 'Hedef alanı',
|
||||
'Class:cmdbAbstractObject/Method:SetCurrentPerson/Param:1+' => 'Mevcut nesnede ayarlanan alan. Alan bir dize ise, bilinen ad kullanılacaktır, aksi takdirde tanımlayıcı kullanılacaktır.',
|
||||
'Class:cmdbAbstractObject/Method:SetElapsedTime' => 'Geçen zamanı ayarla',
|
||||
'Class:cmdbAbstractObject/Method:SetElapsedTime+' => 'Başka bir alan tarafından belirlenmiş tarihten geçen süreye göre bir alanı ayarla (saniye)',
|
||||
'Class:cmdbAbstractObject/Method:SetElapsedTime/Param:1' => 'Hedef alanı',
|
||||
'Class:cmdbAbstractObject/Method:SetElapsedTime/Param:1+' => 'Ayarlanan alan, geçerli nesnede',
|
||||
'Class:cmdbAbstractObject/Method:SetElapsedTime/Param:2' => 'Referans alanı',
|
||||
'Class:cmdbAbstractObject/Method:SetElapsedTime/Param:2+' => 'Referans tarihi elde etmek için alan',
|
||||
'Class:cmdbAbstractObject/Method:SetElapsedTime/Param:3' => 'Çalışma saatleri',
|
||||
'Class:cmdbAbstractObject/Method:SetElapsedTime/Param:3+' => 'Standart çalışma saatleri şemasına uymak için boş bırakın veya 24x7 şemasını oluşturmak için \\"DefaultWorkingTimecomputer\\" olarak ayarlayın',
|
||||
'Class:cmdbAbstractObject/Method:SetIfNull' => 'SetIfNull~~',
|
||||
'Class:cmdbAbstractObject/Method:SetIfNull+' => 'Set a field only if it is empty, with a static value~~',
|
||||
'Class:cmdbAbstractObject/Method:SetIfNull/Param:1' => 'Target Field~~',
|
||||
@@ -229,24 +228,24 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
|
||||
'Class:cmdbAbstractObject/Method:SetComputedDateIfNull/Param:2+' => 'Textual information to modify the source date, eg. "+3 days"~~',
|
||||
'Class:cmdbAbstractObject/Method:SetComputedDateIfNull/Param:3' => 'Source field~~',
|
||||
'Class:cmdbAbstractObject/Method:SetComputedDateIfNull/Param:3+' => 'The field used as source to apply the Modifier logic~~',
|
||||
'Class:cmdbAbstractObject/Method:Reset' => 'Sıfırla',
|
||||
'Class:cmdbAbstractObject/Method:Reset+' => 'Bir alanı varsayılan değerine sıfırlayın',
|
||||
'Class:cmdbAbstractObject/Method:Reset/Param:1' => 'Hedef alanı',
|
||||
'Class:cmdbAbstractObject/Method:Reset/Param:1+' => 'Sıfırlanan alan, mevcut nesnede',
|
||||
'Class:cmdbAbstractObject/Method:Copy' => 'Kopyala',
|
||||
'Class:cmdbAbstractObject/Method:Copy+' => 'Bir alanın değerini başka bir alana kopyalayın',
|
||||
'Class:cmdbAbstractObject/Method:Copy/Param:1' => 'Hedef alanı',
|
||||
'Class:cmdbAbstractObject/Method:Copy/Param:1+' => 'Ayarlanan alan, geçerli nesnede',
|
||||
'Class:cmdbAbstractObject/Method:Copy/Param:2' => 'Kaynak alanı',
|
||||
'Class:cmdbAbstractObject/Method:Copy/Param:2+' => 'Mevcut nesnede değeri elde etmek için alan',
|
||||
'Class:cmdbAbstractObject/Method:ApplyStimulus' => 'ApplyStimulus~~',
|
||||
'Class:cmdbAbstractObject/Method:ApplyStimulus+' => 'Apply the specified stimulus to the current object~~',
|
||||
'Class:cmdbAbstractObject/Method:ApplyStimulus/Param:1' => 'Stimulus code~~',
|
||||
'Class:cmdbAbstractObject/Method:ApplyStimulus/Param:1+' => 'A valid stimulus code for the current class~~',
|
||||
'Class:ResponseTicketTTO/Interface:iMetricComputer' => 'Sahip Olunacak Zaman',
|
||||
'Class:ResponseTicketTTO/Interface:iMetricComputer+' => 'TTO tipi bir SLT\'ye dayalı hedef',
|
||||
'Class:ResponseTicketTTR/Interface:iMetricComputer' => 'Çözme zamanı',
|
||||
'Class:ResponseTicketTTR/Interface:iMetricComputer+' => 'TTR tipi bir SLT\'ye dayalı hedef',
|
||||
'Class:cmdbAbstractObject/Method:Reset' => 'Sıfırla',
|
||||
'Class:cmdbAbstractObject/Method:Reset+' => 'Bir alanı varsayılan değerine sıfırlayın',
|
||||
'Class:cmdbAbstractObject/Method:Reset/Param:1' => 'Hedef alanı',
|
||||
'Class:cmdbAbstractObject/Method:Reset/Param:1+' => 'Sıfırlanan alan, mevcut nesnede',
|
||||
'Class:cmdbAbstractObject/Method:Copy' => 'Kopyala',
|
||||
'Class:cmdbAbstractObject/Method:Copy+' => 'Bir alanın değerini başka bir alana kopyalayın',
|
||||
'Class:cmdbAbstractObject/Method:Copy/Param:1' => 'Hedef alanı',
|
||||
'Class:cmdbAbstractObject/Method:Copy/Param:1+' => 'Ayarlanan alan, geçerli nesnede',
|
||||
'Class:cmdbAbstractObject/Method:Copy/Param:2' => 'Kaynak alanı',
|
||||
'Class:cmdbAbstractObject/Method:Copy/Param:2+' => 'Mevcut nesnede değeri elde etmek için alan',
|
||||
'Class:cmdbAbstractObject/Method:ApplyStimulus' => 'ApplyStimulus~~',
|
||||
'Class:cmdbAbstractObject/Method:ApplyStimulus+' => 'Apply the specified stimulus to the current object~~',
|
||||
'Class:cmdbAbstractObject/Method:ApplyStimulus/Param:1' => 'Stimulus code~~',
|
||||
'Class:cmdbAbstractObject/Method:ApplyStimulus/Param:1+' => 'A valid stimulus code for the current class~~',
|
||||
'Class:ResponseTicketTTO/Interface:iMetricComputer' => 'Sahip Olunacak Zaman',
|
||||
'Class:ResponseTicketTTO/Interface:iMetricComputer+' => 'TTO tipi bir SLT\'ye dayalı hedef',
|
||||
'Class:ResponseTicketTTR/Interface:iMetricComputer' => 'Çözme zamanı',
|
||||
'Class:ResponseTicketTTR/Interface:iMetricComputer+' => 'TTR tipi bir SLT\'ye dayalı hedef',
|
||||
));
|
||||
|
||||
//
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with iTop. If not, see <http://www.gnu.org/licenses/>
|
||||
*/
|
||||
|
||||
// Dictionnay conventions
|
||||
// Class:<class_name>
|
||||
// Class:<class_name>+
|
||||
@@ -30,12 +29,9 @@
|
||||
// Class:<class_name>/Attribute:<attribute_code>/Value:<value>+
|
||||
// Class:<class_name>/Stimulus:<stimulus_code>
|
||||
// Class:<class_name>/Stimulus:<stimulus_code>+
|
||||
|
||||
|
||||
//
|
||||
// Class: Ticket
|
||||
//
|
||||
|
||||
Dict::Add('ZH CN', 'Chinese', '简体中文', array(
|
||||
'Class:Ticket' => '工单',
|
||||
'Class:Ticket+' => '',
|
||||
|
||||
@@ -29,5 +29,10 @@
|
||||
</cells>
|
||||
</definition>
|
||||
</menu>
|
||||
<menu id="OAuthWizardMenu" xsi:type="WebPageMenuNode" _delta="define">
|
||||
<rank>45</rank>
|
||||
<parent>ConfigurationTools</parent>
|
||||
<url>$pages/oauth.wizard.php</url>
|
||||
</menu>
|
||||
</menus>
|
||||
</itop_design>
|
||||
|
||||
@@ -1,23 +1,23 @@
|
||||
<?php
|
||||
/**
|
||||
* Localized data
|
||||
*
|
||||
* @copyright Copyright (C) 2010-2018 Combodo SARL
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
*
|
||||
* This file is part of iTop.
|
||||
*
|
||||
* iTop is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* iTop is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with iTop. If not, see <http://www.gnu.org/licenses/>
|
||||
*/
|
||||
|
||||
<?php
|
||||
/**
|
||||
* Localized data
|
||||
*
|
||||
* @copyright Copyright (C) 2010-2022 Combodo SARL
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
*
|
||||
* This file is part of iTop.
|
||||
*
|
||||
* iTop is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* iTop is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with iTop. If not, see <http://www.gnu.org/licenses/>
|
||||
*/
|
||||
|
||||
|
||||
Reference in New Issue
Block a user