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
This commit is contained in:
@@ -20,9 +20,9 @@
|
||||
|
||||
* @copyright Copyright (C) 2021 Combodo SARL
|
||||
* @licence http://opensource.org/licenses/AGPL-3.0
|
||||
*
|
||||
*
|
||||
*/
|
||||
Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
'Class:UserExternal' => 'Externer Benutzer',
|
||||
'Class:UserExternal+' => 'Externe authentifizierter '.ITOP_APPLICATION_SHORT.'-Benutzer',
|
||||
'Class:UserExternal+' => 'Extern authentifizierter '.ITOP_APPLICATION_SHORT.'-Benutzer',
|
||||
));
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
* @copyright Copyright (C) 2021 Combodo SARL
|
||||
* @licence http://opensource.org/licenses/AGPL-3.0
|
||||
*
|
||||
*
|
||||
*/
|
||||
Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
'Class:UserLocal' => ITOP_APPLICATION_SHORT.'-Benutzer',
|
||||
@@ -44,5 +44,5 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
'Error:UserLocalPasswordValidator:UserPasswordPolicyRegex:ValidationFailed' => 'Das Passwort entspricht nicht dem in den Konfigurationsregeln hinterlegten RegEx-Ausdruck',
|
||||
|
||||
'UserLocal:password:expiration' => 'Die folgenden Felder benötigen eine '.ITOP_APPLICATION_SHORT.' Erweiterung',
|
||||
'Class:UserLocal/Error:OneTimePasswordChangeIsNotAllowed' => 'Setting password expiration to "One-time password" is not allowed for your own User~~',
|
||||
'Class:UserLocal/Error:OneTimePasswordChangeIsNotAllowed' => 'Das setzen des Passwortablaufs auf "Einmalpasswort" ist für den eigenen Benutzer nicht erlaubt.',
|
||||
));
|
||||
|
||||
@@ -22,5 +22,5 @@
|
||||
*/
|
||||
|
||||
Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
'theme:darkmoon' => 'Dark moon~~',
|
||||
));
|
||||
'theme:darkmoon' => 'Dark moon',
|
||||
));
|
||||
|
||||
@@ -24,7 +24,7 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
'DBTools:Class' => 'Klasse',
|
||||
'DBTools:Title' => 'Datenbankpflege-Tools',
|
||||
'DBTools:ErrorsFound' => 'Fehler gefunden',
|
||||
'DBTools:Indication' => 'Wichtig: Nach dem Fixen der Errors in der Datenbank müssen Sie die Analyse erneut laufen lassen, weil durch die Fixes eventuell weitere Inkonsistenzen enstanden sind',
|
||||
'DBTools:Indication' => 'Wichtig: Nach dem Fixen der Errors in der Datenbank müssen Sie die Analyse erneut laufen lassen, weil durch die Fixes eventuell weitere Inkonsistenzen entstanden sind',
|
||||
'DBTools:Disclaimer' => 'DISCLAIMER: FERTIGEN SIE EIN BACKUP IHRER DATENBANK AN, BEVOR SIE DIE FIXES ANWENDEN!',
|
||||
'DBTools:Error' => 'Fehler',
|
||||
'DBTools:Count' => 'Anzahl',
|
||||
@@ -51,7 +51,7 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
'DBAnalyzer-Integrity-MissingExtKey' => 'Fehlender Externer Key %1$s (Spalte: `%2$s.%3$s`)',
|
||||
'DBAnalyzer-Integrity-InvalidValue' => 'Ungültiger Wert für %1$s (Spalte: `%2$s.%3$s`)',
|
||||
'DBAnalyzer-Integrity-UsersWithoutProfile' => 'Manche Benutzerkonten haben keinerlei zugewiesenes Profil',
|
||||
'DBAnalyzer-Integrity-HKInvalid' => 'Broken hierarchical key `%1$s`~~',
|
||||
'DBAnalyzer-Integrity-HKInvalid' => 'Kaputter hierarchischer Schlüssel `%1$s`',
|
||||
'DBAnalyzer-Fetch-Count-Error' => 'Fetch-Count-Fehler in `%1$s`, %2$d Einträge geholt (fetched) / %3$d gezählt',
|
||||
'DBAnalyzer-Integrity-FinalClass' => 'Das Feld `%2$s`.`%1$s` muss den gleichen Wert `%3$s`.`%1$s` haben',
|
||||
'DBAnalyzer-Integrity-RootFinalClass' => 'Das Feld `%2$s`.`%1$s` muss eine gültige Klasse enthalten',
|
||||
|
||||
@@ -65,6 +65,9 @@ try
|
||||
switch ($sOperation)
|
||||
{
|
||||
case 'add':
|
||||
$oPage = new JsonPage();
|
||||
$oPage->SetOutputDataOnly(true);
|
||||
|
||||
$aResult = array(
|
||||
'error' => '',
|
||||
'att_id' => 0,
|
||||
@@ -111,7 +114,7 @@ try
|
||||
$aResult['error'] = $e->GetMessage();
|
||||
}
|
||||
}
|
||||
$oPage->add(json_encode($aResult));
|
||||
$oPage->SetData($aResult);
|
||||
break;
|
||||
|
||||
case 'remove':
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
* @copyright Copyright (C) 2021 Combodo SARL
|
||||
* @licence http://opensource.org/licenses/AGPL-3.0
|
||||
*
|
||||
*
|
||||
*/
|
||||
Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
|
||||
@@ -35,15 +35,15 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
'bkp-mysqldump-issue' => 'mysqldump konnte nicht ausgeführt werden (retcode=%1$d): Stellen Sie sicher, dass das Programm installiert und im angegebenen Pfad verfügbar ist, oder editieren Sie die Konfigurationsdatei um das MySQL bindir anzupassen.',
|
||||
'bkp-missing-dir' => 'Zielverzeichniss <code>%1$s</code> nicht gefunden',
|
||||
'bkp-free-disk-space' => '<b>%1$s frei</b> in <code>%2$s</code>',
|
||||
'bkp-dir-not-writeable' => '%1$s ist nicht schreibbar',
|
||||
'bkp-dir-not-writeable' => '%1$s ist nicht beschreibbar',
|
||||
'bkp-wrong-format-spec' => 'Die verwendete Definition zur Formatierung von Dateinamen ist nicht korrekt (%1$s). Die Standard-Definition %2$s wird verwendet',
|
||||
'bkp-name-sample' => 'Backup-Dateien werden abhängig von Datum, Zeit und Datenbank-Identifier erstellt. Beispiel: %1$s',
|
||||
'bkp-week-days' => 'Backups werden <b>jeden %1$s um %2$s durchgeführt</b>',
|
||||
'bkp-retention' => 'Mindestens <b>%1$d Backups werden im Zielverzeichniss vorgehalten</b>',
|
||||
'bkp-retention' => 'Mindestens <b>%1$d Backups werden im Zielverzeichnis vorgehalten</b>',
|
||||
'bkp-next-to-delete' => 'Wird gelöscht, wenn das nächste Backup angelegt wird (unter Einstellungen "Menge vorhalten")',
|
||||
'bkp-table-file' => 'Datei',
|
||||
'bkp-table-file+' => 'Nur Dateien mit der Endung .zip werden als Backup-Dateien berücksichtigt.',
|
||||
'bkp-table-size' => 'Grösse',
|
||||
'bkp-table-size' => 'Größe',
|
||||
'bkp-table-size+' => '',
|
||||
'bkp-table-actions' => 'Aktionen',
|
||||
'bkp-table-actions+' => '',
|
||||
@@ -51,7 +51,7 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
'bkp-status-backups-manual' => 'Manuelle Backups',
|
||||
'bkp-status-backups-none' => 'Kein Backup vorhanden',
|
||||
'bkp-next-backup' => 'Das nächste Backup wird am <b>%1$s</b> (%2$s) um %3$s durchgeführt',
|
||||
'bkp-next-backup-unknown' => 'The next backup is <b>not scheduled</b> yet.~~',
|
||||
'bkp-next-backup-unknown' => 'Das nächste Backup ist <b>noch nicht geplant</b>.',
|
||||
'bkp-button-backup-now' => 'Starte Backup',
|
||||
'bkp-button-restore-now' => 'Wiederherstellen!',
|
||||
'bkp-confirm-backup' => 'Bitte bestätigen Sie, dass Sie jetzt ein Backup erstellen wollen.',
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
* @copyright Copyright (C) 2021 Combodo SARL
|
||||
* @licence http://opensource.org/licenses/AGPL-3.0
|
||||
*
|
||||
*
|
||||
*/
|
||||
Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
'Menu:ChangeManagement' => 'Change Management',
|
||||
@@ -98,7 +98,7 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
'Class:Change/Attribute:reject_reason+' => '',
|
||||
'Class:Change/Attribute:changemanager_id' => 'Change Manager',
|
||||
'Class:Change/Attribute:changemanager_id+' => '',
|
||||
'Class:Change/Attribute:changemanager_email' => 'Change Manager Email',
|
||||
'Class:Change/Attribute:changemanager_email' => 'Change Manager E-Mail',
|
||||
'Class:Change/Attribute:changemanager_email+' => '',
|
||||
'Class:Change/Attribute:parent_id' => 'Parent Change',
|
||||
'Class:Change/Attribute:parent_id+' => '',
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
* @copyright Copyright (C) 2021 Combodo SARL
|
||||
* @licence http://opensource.org/licenses/AGPL-3.0
|
||||
*
|
||||
*
|
||||
*/
|
||||
Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
'Relation:impacts/Description' => 'Elemente betroffen von',
|
||||
@@ -32,6 +32,8 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
'Relation:depends on/Description' => 'Elemente, von denen dieses Element abhängt.',
|
||||
'Relation:depends on/DownStream' => 'Hängt ab von ...',
|
||||
'Relation:depends on/UpStream' => 'Wirkt auf ...',
|
||||
'Relation:impacts/LoadData' => 'Load data~~',
|
||||
'Relation:impacts/NoFilteredData' => 'please select objects in Graphical view tag~~',
|
||||
));
|
||||
|
||||
|
||||
@@ -264,13 +266,13 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
'Class:DatacenterDevice/Attribute:nb_u+' => '',
|
||||
'Class:DatacenterDevice/Attribute:managementip' => 'Management-IP',
|
||||
'Class:DatacenterDevice/Attribute:managementip+' => '',
|
||||
'Class:DatacenterDevice/Attribute:powerA_id' => 'PowerA-Quelle',
|
||||
'Class:DatacenterDevice/Attribute:powerA_id' => 'Strom-A-Quelle',
|
||||
'Class:DatacenterDevice/Attribute:powerA_id+' => '',
|
||||
'Class:DatacenterDevice/Attribute:powerA_name' => 'PowerA-Quellenname',
|
||||
'Class:DatacenterDevice/Attribute:powerA_name' => 'Strom-A-Quellenname',
|
||||
'Class:DatacenterDevice/Attribute:powerA_name+' => '',
|
||||
'Class:DatacenterDevice/Attribute:powerB_id' => 'PowerB-Quelle',
|
||||
'Class:DatacenterDevice/Attribute:powerB_id' => 'Strom-B-Quelle',
|
||||
'Class:DatacenterDevice/Attribute:powerB_id+' => '',
|
||||
'Class:DatacenterDevice/Attribute:powerB_name' => 'PowerB-Quellenname',
|
||||
'Class:DatacenterDevice/Attribute:powerB_name' => 'Strom-B-Quellenname',
|
||||
'Class:DatacenterDevice/Attribute:powerB_name+' => '',
|
||||
'Class:DatacenterDevice/Attribute:fiberinterfacelist_list' => 'FC-Ports',
|
||||
'Class:DatacenterDevice/Attribute:fiberinterfacelist_list+' => '',
|
||||
@@ -313,7 +315,7 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
'Class:Server+' => '',
|
||||
'Class:Server/Attribute:osfamily_id' => 'OS Familie',
|
||||
'Class:Server/Attribute:osfamily_id+' => '',
|
||||
'Class:Server/Attribute:osfamily_name' => 'OS-Famillenname',
|
||||
'Class:Server/Attribute:osfamily_name' => 'OS-Familienname',
|
||||
'Class:Server/Attribute:osfamily_name+' => '',
|
||||
'Class:Server/Attribute:osversion_id' => 'OS Version',
|
||||
'Class:Server/Attribute:osversion_id+' => '',
|
||||
@@ -1109,7 +1111,7 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
'Class:Model/Attribute:type/Value:TapeLibrary+' => '',
|
||||
'Class:Model/Attribute:type/Value:Phone' => 'Telefon',
|
||||
'Class:Model/Attribute:type/Value:Phone+' => '',
|
||||
'Class:Model/Attribute:physicaldevices_list' => 'Phyische Geräte',
|
||||
'Class:Model/Attribute:physicaldevices_list' => 'Physische Geräte',
|
||||
'Class:Model/Attribute:physicaldevices_list+' => '',
|
||||
'Class:Model/UniquenessRule:name_brand+' => 'Der Modellname für eine Marke muss eindeutig sein',
|
||||
'Class:Model/UniquenessRule:name_brand' => 'Es existiert bereits ein Modell mit diesem Namen für diese Marke',
|
||||
|
||||
@@ -36,6 +36,8 @@ Dict::Add('ES CR', 'Spanish', 'Español, Castellano', array(
|
||||
'Relation:depends on/Description' => 'Elementos de los cuales depende',
|
||||
'Relation:depends on/DownStream' => 'Depende de...',
|
||||
'Relation:depends on/UpStream' => 'Impactos...',
|
||||
'Relation:impacts/LoadData' => 'Load data~~',
|
||||
'Relation:impacts/NoFilteredData' => 'please select objects in Graphical view tag~~',
|
||||
));
|
||||
|
||||
|
||||
|
||||
@@ -29,6 +29,8 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
|
||||
'Relation:depends on/Description' => 'Konfigurációs elemtől függnek',
|
||||
'Relation:depends on/DownStream' => 'Függőségek',
|
||||
'Relation:depends on/UpStream' => 'Hatások',
|
||||
'Relation:impacts/LoadData' => 'Load data~~',
|
||||
'Relation:impacts/NoFilteredData' => 'please select objects in Graphical view tag~~',
|
||||
));
|
||||
|
||||
|
||||
|
||||
@@ -29,6 +29,8 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
|
||||
'Relation:depends on/Description' => 'Elementi di questo elemento dipende da',
|
||||
'Relation:depends on/DownStream' => 'Dipende da...',
|
||||
'Relation:depends on/UpStream' => 'Impatto...',
|
||||
'Relation:impacts/LoadData' => 'Load data~~',
|
||||
'Relation:impacts/NoFilteredData' => 'please select objects in Graphical view tag~~',
|
||||
));
|
||||
|
||||
|
||||
|
||||
@@ -29,6 +29,8 @@ Dict::Add('JA JP', 'Japanese', '日本語', array(
|
||||
'Relation:depends on/Description' => 'この要素が依存している要素',
|
||||
'Relation:depends on/DownStream' => '依存...',
|
||||
'Relation:depends on/UpStream' => 'インパクト...',
|
||||
'Relation:impacts/LoadData' => 'Load data~~',
|
||||
'Relation:impacts/NoFilteredData' => 'please select objects in Graphical view tag~~',
|
||||
));
|
||||
|
||||
|
||||
|
||||
@@ -41,6 +41,8 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', array(
|
||||
'Relation:depends on/Description' => 'Elementen waarvan dit object afhankelijk van is',
|
||||
'Relation:depends on/DownStream' => 'Is afhankelijk van...',
|
||||
'Relation:depends on/UpStream' => 'Impact op...',
|
||||
'Relation:impacts/LoadData' => 'Load data~~',
|
||||
'Relation:impacts/NoFilteredData' => 'please select objects in Graphical view tag~~',
|
||||
));
|
||||
|
||||
|
||||
|
||||
@@ -35,6 +35,8 @@ Dict::Add('PT BR', 'Brazilian', 'Brazilian', array(
|
||||
'Relation:depends on/Description' => 'Elementos estes, que dependem deste elemento',
|
||||
'Relation:depends on/DownStream' => 'Depende de...',
|
||||
'Relation:depends on/UpStream' => 'Impactos...',
|
||||
'Relation:impacts/LoadData' => 'Load data~~',
|
||||
'Relation:impacts/NoFilteredData' => 'please select objects in Graphical view tag~~',
|
||||
));
|
||||
|
||||
|
||||
|
||||
@@ -22,6 +22,8 @@ Dict::Add('RU RU', 'Russian', 'Русский', array(
|
||||
'Relation:depends on/Description' => 'Элементы, от которых зависит',
|
||||
'Relation:depends on/DownStream' => 'Зависит от...',
|
||||
'Relation:depends on/UpStream' => 'Влияет на...',
|
||||
'Relation:impacts/LoadData' => 'Load data~~',
|
||||
'Relation:impacts/NoFilteredData' => 'please select objects in Graphical view tag~~',
|
||||
));
|
||||
|
||||
|
||||
|
||||
@@ -34,6 +34,8 @@ Dict::Add('SK SK', 'Slovak', 'Slovenčina', array(
|
||||
'Relation:depends on/Description' => 'Prvky, od ktorých závisí tento prvok',
|
||||
'Relation:depends on/DownStream' => 'Depends on...~~',
|
||||
'Relation:depends on/UpStream' => 'Impacts...~~',
|
||||
'Relation:impacts/LoadData' => 'Load data~~',
|
||||
'Relation:impacts/NoFilteredData' => 'please select objects in Graphical view tag~~',
|
||||
));
|
||||
|
||||
|
||||
|
||||
@@ -36,6 +36,8 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
|
||||
'Relation:depends on/Description' => 'Bu kaleme bağımlı olan kalemler',
|
||||
'Relation:depends on/DownStream' => 'Bağımlı olanlar...',
|
||||
'Relation:depends on/UpStream' => 'Etkiledikleri...',
|
||||
'Relation:impacts/LoadData' => 'Load data~~',
|
||||
'Relation:impacts/NoFilteredData' => 'please select objects in Graphical view tag~~',
|
||||
));
|
||||
|
||||
|
||||
|
||||
@@ -34,6 +34,8 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', array(
|
||||
'Relation:depends on/Description' => '该元素依赖的元素...',
|
||||
'Relation:depends on/DownStream' => '依赖于...',
|
||||
'Relation:depends on/UpStream' => '影响...',
|
||||
'Relation:impacts/LoadData' => 'Load data~~',
|
||||
'Relation:impacts/NoFilteredData' => 'please select objects in Graphical view tag~~',
|
||||
));
|
||||
|
||||
|
||||
|
||||
@@ -75,8 +75,9 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', array(
|
||||
'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 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~~',
|
||||
'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
|
||||
'iTopUpdate:UI:SetupMessage:Ready' => 'Ready to start~~',
|
||||
|
||||
@@ -75,8 +75,9 @@ Dict::Add('DA DA', 'Danish', 'Dansk', array(
|
||||
'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 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~~',
|
||||
'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
|
||||
'iTopUpdate:UI:SetupMessage:Ready' => 'Ready to start~~',
|
||||
|
||||
@@ -74,9 +74,10 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
'iTopUpdate:UI:CanCoreUpdate:Failed' => 'Dateisystemprüfung fehlgeschlagen',
|
||||
'iTopUpdate:UI:CanCoreUpdate:Yes' => 'Anwendungsupgrade kann durchgeführt werden',
|
||||
'iTopUpdate:UI:CanCoreUpdate:No' => 'Anwendungsupgrade nicht möglich: %1$s',
|
||||
'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Vorsicht: App-Upgrade kann fehlerschlagen: %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 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~~',
|
||||
'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
|
||||
'iTopUpdate:UI:SetupMessage:Ready' => 'Bereit zum Upgrade',
|
||||
@@ -87,7 +88,7 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
'iTopUpdate:UI:SetupMessage:CheckCompile' => 'Prüfung des Anwendungsupgrades',
|
||||
'iTopUpdate:UI:SetupMessage:Compile' => 'Upgrade von Anwendung und Datenbank',
|
||||
'iTopUpdate:UI:SetupMessage:UpdateDatabase' => 'Upgrade Datenbank',
|
||||
'iTopUpdate:UI:SetupMessage:ExitMaintenance' => 'Wartungsmodus deaktivert',
|
||||
'iTopUpdate:UI:SetupMessage:ExitMaintenance' => 'Wartungsmodus deaktiviert',
|
||||
'iTopUpdate:UI:SetupMessage:UpdateDone' => 'Upgrade abgeschlossen',
|
||||
|
||||
// Errors
|
||||
@@ -116,5 +117,3 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
'Class:ModuleInstallation/Attribute:version' => 'Version',
|
||||
'Class:ModuleInstallation/Attribute:comment' => 'Kommentar',
|
||||
));
|
||||
|
||||
|
||||
|
||||
@@ -75,8 +75,9 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
'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 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',
|
||||
'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',
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -76,8 +76,9 @@ Dict::Add('ES CR', 'Spanish', 'Español, Castellano', array(
|
||||
'iTopUpdate:UI:CanCoreUpdate:Yes' => 'La aplicación puede ser actualizada',
|
||||
'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 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~~',
|
||||
'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
|
||||
'iTopUpdate:UI:SetupMessage:Ready' => 'Listo para empezar',
|
||||
|
||||
@@ -75,8 +75,9 @@ Dict::Add('FR FR', 'French', 'Français', array(
|
||||
'iTopUpdate:UI:CanCoreUpdate:Yes' => 'L\'application peut être mise à jour',
|
||||
'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 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 des fichiers',
|
||||
'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
|
||||
'iTopUpdate:UI:SetupMessage:Ready' => 'Prêt pour l\\installation',
|
||||
|
||||
@@ -75,7 +75,8 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
|
||||
'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 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: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
|
||||
|
||||
@@ -75,7 +75,8 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
|
||||
'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 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: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
|
||||
|
||||
@@ -75,7 +75,8 @@ Dict::Add('JA JP', 'Japanese', '日本語', array(
|
||||
'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 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: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
|
||||
|
||||
@@ -77,7 +77,8 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', array(
|
||||
'iTopUpdate:UI:CanCoreUpdate:Yes' => 'Updaten van toepassing is mogelijk',
|
||||
'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 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: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
|
||||
|
||||
@@ -75,7 +75,8 @@ Dict::Add('PL PL', 'Polish', 'Polski', array(
|
||||
'iTopUpdate:UI:CanCoreUpdate:Yes' => 'Aplikacja może być zaktualizowana',
|
||||
'iTopUpdate:UI:CanCoreUpdate:No' => 'Nie można zaktualizować aplikacji: %1$s',
|
||||
'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Ostrzeżenie: aktualizacja aplikacji może się nie powieść: %1$s',
|
||||
'iTopUpdate:UI:CannotUpdateUseSetup' => '<b>Some modified files were detected</b>, a partial update cannot be executed.</br>Follow the <a 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: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
|
||||
|
||||
@@ -75,7 +75,8 @@ Dict::Add('PT BR', 'Brazilian', 'Brazilian', array(
|
||||
'iTopUpdate:UI:CanCoreUpdate:Yes' => 'Aplicação pode ser atualizada',
|
||||
'iTopUpdate:UI:CanCoreUpdate:No' => 'Aplicação não pode ser atualizada: %1$s',
|
||||
'iTopUpdate:UI:CanCoreUpdate:Warning' => 'Atenção: a atualização da aplicação pode falhar: %1$s',
|
||||
'iTopUpdate:UI:CannotUpdateUseSetup' => '<b>Some modified files were detected</b>, a partial update cannot be executed.</br>Follow the <a 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: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
|
||||
|
||||
@@ -63,7 +63,8 @@ Dict::Add('RU RU', 'Russian', 'Русский', array(
|
||||
'iTopUpdate:UI:CanCoreUpdate:Yes' => 'Приложение может быть обновлено',
|
||||
'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 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: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
|
||||
|
||||
@@ -75,7 +75,8 @@ Dict::Add('SK SK', 'Slovak', 'Slovenčina', array(
|
||||
'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 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: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
|
||||
|
||||
@@ -75,7 +75,8 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
|
||||
'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 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: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
|
||||
|
||||
@@ -75,7 +75,8 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', array(
|
||||
'iTopUpdate:UI:CanCoreUpdate:Yes' => '应用无法升级',
|
||||
'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 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: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
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
|
||||
namespace Combodo\iTop\CoreUpdate\Service;
|
||||
|
||||
use Combodo\iTop\FilesInformation\Service\FileIntegrityException;
|
||||
use Combodo\iTop\FilesInformation\Service\FilesIntegrity;
|
||||
use DBBackup;
|
||||
use Dict;
|
||||
@@ -535,7 +536,11 @@ final class CoreUpdater
|
||||
SetupLog::Info('itop-core-update: Archive extracted, check files integrity');
|
||||
|
||||
// Check files integrity
|
||||
FilesIntegrity::CheckInstallationIntegrity(self::UPDATE_DIR.'web/', true);
|
||||
$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)
|
||||
@@ -604,4 +609,38 @@ 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...
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,6 +17,7 @@ $.ajax({
|
||||
if(data.sMessageDetails){
|
||||
$("#header-requirements-details").removeClass("ibo-is-hidden");
|
||||
$('#can-core-update-details').html(data.sMessageDetails);
|
||||
$("#toggle-requirements-details").click( function() { $("#can-core-update-details").toggle(); } );
|
||||
}
|
||||
oRequirements.removeClass("ibo-is-information");
|
||||
if (data.bStatus) {
|
||||
|
||||
@@ -1,26 +1,26 @@
|
||||
<?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/>
|
||||
*/
|
||||
|
||||
Dict::Add('PL PL', 'Polish', 'Polski', array(
|
||||
// Dictionary entries go here
|
||||
));
|
||||
<?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/>
|
||||
*/
|
||||
|
||||
Dict::Add('PL PL', 'Polish', 'Polski', array(
|
||||
// Dictionary entries go here
|
||||
));
|
||||
|
||||
@@ -1,26 +1,26 @@
|
||||
<?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/>
|
||||
*/
|
||||
|
||||
Dict::Add('PL PL', 'Polish', 'Polski', array(
|
||||
// Dictionary entries go here
|
||||
));
|
||||
<?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/>
|
||||
*/
|
||||
|
||||
Dict::Add('PL PL', 'Polish', 'Polski', array(
|
||||
// Dictionary entries go here
|
||||
));
|
||||
|
||||
@@ -24,8 +24,8 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', array(
|
||||
// Errors
|
||||
'FilesInformation:Error:MissingFile' => 'Missing file: %1$s~~',
|
||||
'FilesInformation:Error:CorruptedFile' => 'File %1$s is corrupted~~',
|
||||
'FilesInformation:Error:ListCorruptedFile' => 'File(s) corrupted: %1$s~~',
|
||||
'FilesInformation:Error:CantWriteToFile' => 'Can not write to file %1$s~~',
|
||||
'FilesInformation:Error:CannotUpdateNewModules' => '<b>Some new modules were detected</b>, a partial update cannot be executed.</br>Follow the <a 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.~~',
|
||||
));
|
||||
|
||||
|
||||
|
||||
@@ -24,8 +24,8 @@ Dict::Add('DA DA', 'Danish', 'Dansk', array(
|
||||
// Errors
|
||||
'FilesInformation:Error:MissingFile' => 'Missing file: %1$s~~',
|
||||
'FilesInformation:Error:CorruptedFile' => 'File %1$s is corrupted~~',
|
||||
'FilesInformation:Error:ListCorruptedFile' => 'File(s) corrupted: %1$s~~',
|
||||
'FilesInformation:Error:CantWriteToFile' => 'Can not write to file %1$s~~',
|
||||
'FilesInformation:Error:CannotUpdateNewModules' => '<b>Some new modules were detected</b>, a partial update cannot be executed.</br>Follow the <a 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.~~',
|
||||
));
|
||||
|
||||
|
||||
|
||||
@@ -24,9 +24,8 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
// Errors
|
||||
'FilesInformation:Error:MissingFile' => 'Fehlende Datei: %1$s',
|
||||
'FilesInformation:Error:CorruptedFile' => 'Datei %1$s ist beschädigt',
|
||||
'FilesInformation:Error:ListCorruptedFile' => 'File(s) corrupted: %1$s~~',
|
||||
'FilesInformation:Error:CantWriteToFile' => 'Datei %1$s kann nicht geschrieben werden',
|
||||
'FilesInformation:Error:CannotUpdateNewModules' => '<b>Einige neue Module wurden erkannt</b>, eine Teil-Update kann nicht ausgeführt werden.<br/>Befolgen Sie das <a 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 />',
|
||||
|
||||
));
|
||||
|
||||
|
||||
|
||||
@@ -25,8 +25,8 @@ Dict::Add('EN US', 'English', 'English', array(
|
||||
// Errors
|
||||
'FilesInformation:Error:MissingFile' => 'Missing file: %1$s',
|
||||
'FilesInformation:Error:CorruptedFile' => 'File %1$s is corrupted',
|
||||
'FilesInformation:Error:ListCorruptedFile' => 'File(s) corrupted: %1$s ',
|
||||
'FilesInformation:Error:CantWriteToFile' => 'Can not write to file %1$s',
|
||||
'FilesInformation:Error:CannotUpdateNewModules' => '<b>Some new modules were detected</b>, a partial update cannot be executed.</br>Follow the <a 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.',
|
||||
));
|
||||
|
||||
|
||||
|
||||
@@ -25,8 +25,8 @@ Dict::Add('ES CR', 'Spanish', 'Español, Castellano', array(
|
||||
// Errors
|
||||
'FilesInformation:Error:MissingFile' => 'Archivo faltante: %1$s',
|
||||
'FilesInformation:Error:CorruptedFile' => 'El archivo %1$s está corrupto',
|
||||
'FilesInformation:Error:ListCorruptedFile' => 'File(s) corrupted: %1$s~~',
|
||||
'FilesInformation:Error:CantWriteToFile' => 'No se puede escribir al archivo %1$s',
|
||||
'FilesInformation:Error:CannotUpdateNewModules' => '<b>Some new modules were detected</b>, a partial update cannot be executed.</br>Follow the <a 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.~~',
|
||||
));
|
||||
|
||||
|
||||
|
||||
@@ -24,9 +24,8 @@ Dict::Add('FR FR', 'French', 'Français', array(
|
||||
// Errors
|
||||
'FilesInformation:Error:MissingFile' => 'Ficher manquant : %1$s',
|
||||
'FilesInformation:Error:CorruptedFile' => 'Le fichier %1$s est corrompu',
|
||||
'FilesInformation:Error:ListCorruptedFile' => 'Fichier(s) corrompu(s): %1$s',
|
||||
'FilesInformation:Error:CantWriteToFile' => 'Impossible de modifier le fichier %1$s',
|
||||
'FilesInformation:Error: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 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.',
|
||||
|
||||
));
|
||||
|
||||
|
||||
|
||||
@@ -24,8 +24,8 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', array(
|
||||
// Errors
|
||||
'FilesInformation:Error:MissingFile' => 'Missing file: %1$s~~',
|
||||
'FilesInformation:Error:CorruptedFile' => 'File %1$s is corrupted~~',
|
||||
'FilesInformation:Error:ListCorruptedFile' => 'File(s) corrupted: %1$s~~',
|
||||
'FilesInformation:Error:CantWriteToFile' => 'Can not write to file %1$s~~',
|
||||
'FilesInformation:Error:CannotUpdateNewModules' => '<b>Some new modules were detected</b>, a partial update cannot be executed.</br>Follow the <a 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.~~',
|
||||
));
|
||||
|
||||
|
||||
|
||||
@@ -24,8 +24,8 @@ Dict::Add('IT IT', 'Italian', 'Italiano', array(
|
||||
// Errors
|
||||
'FilesInformation:Error:MissingFile' => 'Missing file: %1$s~~',
|
||||
'FilesInformation:Error:CorruptedFile' => 'File %1$s is corrupted~~',
|
||||
'FilesInformation:Error:ListCorruptedFile' => 'File(s) corrupted: %1$s~~',
|
||||
'FilesInformation:Error:CantWriteToFile' => 'Can not write to file %1$s~~',
|
||||
'FilesInformation:Error:CannotUpdateNewModules' => '<b>Some new modules were detected</b>, a partial update cannot be executed.</br>Follow the <a 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.~~',
|
||||
));
|
||||
|
||||
|
||||
|
||||
@@ -24,8 +24,8 @@ Dict::Add('JA JP', 'Japanese', '日本語', array(
|
||||
// Errors
|
||||
'FilesInformation:Error:MissingFile' => 'Missing file: %1$s~~',
|
||||
'FilesInformation:Error:CorruptedFile' => 'File %1$s is corrupted~~',
|
||||
'FilesInformation:Error:ListCorruptedFile' => 'File(s) corrupted: %1$s~~',
|
||||
'FilesInformation:Error:CantWriteToFile' => 'Can not write to file %1$s~~',
|
||||
'FilesInformation:Error:CannotUpdateNewModules' => '<b>Some new modules were detected</b>, a partial update cannot be executed.</br>Follow the <a 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.~~',
|
||||
));
|
||||
|
||||
|
||||
|
||||
@@ -26,8 +26,8 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', array(
|
||||
// Errors
|
||||
'FilesInformation:Error:MissingFile' => 'Ontbrekend bestand: %1$s',
|
||||
'FilesInformation:Error:CorruptedFile' => 'Corrupt bestand: %1$s',
|
||||
'FilesInformation:Error:ListCorruptedFile' => 'File(s) corrupted: %1$s~~',
|
||||
'FilesInformation:Error:CantWriteToFile' => 'Kan niet schrijven naar bestand %1$s',
|
||||
'FilesInformation:Error:CannotUpdateNewModules' => '<b>Some new modules were detected</b>, a partial update cannot be executed.</br>Follow the <a 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.~~',
|
||||
));
|
||||
|
||||
|
||||
|
||||
@@ -25,8 +25,8 @@ Dict::Add('PL PL', 'Polish', 'Polski', array(
|
||||
// Errors
|
||||
'FilesInformation:Error:MissingFile' => 'Brakujący plik: %1$s',
|
||||
'FilesInformation:Error:CorruptedFile' => 'Plik %1$s jest uszkodzony',
|
||||
'FilesInformation:Error:ListCorruptedFile' => 'Fichier(s) corrompu(s): %1$s~~',
|
||||
'FilesInformation:Error:CantWriteToFile' => 'Nie można zapisać do pliku %1$s',
|
||||
'FilesInformation:Error:CannotUpdateNewModules' => '<b>Some new modules were detected</b>, a partial update cannot be executed.</br>Follow the <a 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.~~',
|
||||
));
|
||||
|
||||
|
||||
|
||||
@@ -24,8 +24,8 @@ Dict::Add('PT BR', 'Brazilian', 'Brazilian', array(
|
||||
// Errors
|
||||
'FilesInformation:Error:MissingFile' => 'Faltando arquivo: %1$s',
|
||||
'FilesInformation:Error:CorruptedFile' => 'Arquivo %1$s está corrompido',
|
||||
'FilesInformation:Error:ListCorruptedFile' => 'File(s) corrupted: %1$s~~',
|
||||
'FilesInformation:Error:CantWriteToFile' => 'Sem permissão de escrita no arquivo %1$s',
|
||||
'FilesInformation:Error:CannotUpdateNewModules' => '<b>Some new modules were detected</b>, a partial update cannot be executed.</br>Follow the <a 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.~~',
|
||||
));
|
||||
|
||||
|
||||
|
||||
@@ -12,8 +12,8 @@ Dict::Add('RU RU', 'Russian', 'Русский', array(
|
||||
// Errors
|
||||
'FilesInformation:Error:MissingFile' => 'Файл %1$s отсутствует',
|
||||
'FilesInformation:Error:CorruptedFile' => 'Файл %1$s повреждён',
|
||||
'FilesInformation:Error:ListCorruptedFile' => 'File(s) corrupted: %1$s~~',
|
||||
'FilesInformation:Error:CantWriteToFile' => 'Невозможно выполнить запись в файл %1$s',
|
||||
'FilesInformation:Error:CannotUpdateNewModules' => '<b>Some new modules were detected</b>, a partial update cannot be executed.</br>Follow the <a 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.~~',
|
||||
));
|
||||
|
||||
|
||||
|
||||
@@ -24,8 +24,8 @@ Dict::Add('SK SK', 'Slovak', 'Slovenčina', array(
|
||||
// Errors
|
||||
'FilesInformation:Error:MissingFile' => 'Missing file: %1$s~~',
|
||||
'FilesInformation:Error:CorruptedFile' => 'File %1$s is corrupted~~',
|
||||
'FilesInformation:Error:ListCorruptedFile' => 'File(s) corrupted: %1$s~~',
|
||||
'FilesInformation:Error:CantWriteToFile' => 'Can not write to file %1$s~~',
|
||||
'FilesInformation:Error:CannotUpdateNewModules' => '<b>Some new modules were detected</b>, a partial update cannot be executed.</br>Follow the <a 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.~~',
|
||||
));
|
||||
|
||||
|
||||
|
||||
@@ -24,8 +24,8 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', array(
|
||||
// Errors
|
||||
'FilesInformation:Error:MissingFile' => 'Missing file: %1$s~~',
|
||||
'FilesInformation:Error:CorruptedFile' => 'File %1$s is corrupted~~',
|
||||
'FilesInformation:Error:ListCorruptedFile' => 'File(s) corrupted: %1$s~~',
|
||||
'FilesInformation:Error:CantWriteToFile' => 'Can not write to file %1$s~~',
|
||||
'FilesInformation:Error:CannotUpdateNewModules' => '<b>Some new modules were detected</b>, a partial update cannot be executed.</br>Follow the <a 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.~~',
|
||||
));
|
||||
|
||||
|
||||
|
||||
@@ -24,8 +24,8 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', array(
|
||||
// Errors
|
||||
'FilesInformation:Error:MissingFile' => '文件丢失: %1$s~~',
|
||||
'FilesInformation:Error:CorruptedFile' => '文件 %1$s 已损坏',
|
||||
'FilesInformation:Error:ListCorruptedFile' => 'File(s) corrupted: %1$s~~',
|
||||
'FilesInformation:Error:CantWriteToFile' => '文件 %1$s 无法写入',
|
||||
'FilesInformation:Error:CannotUpdateNewModules' => '<b>Some new modules were detected</b>, a partial update cannot be executed.</br>Follow the <a 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.~~',
|
||||
));
|
||||
|
||||
|
||||
|
||||
@@ -56,7 +56,7 @@ class FilesInformation
|
||||
|
||||
try
|
||||
{
|
||||
FilesIntegrity::CheckInstallationIntegrity();
|
||||
FilesIntegrity::CheckInstallationIntegrity(APPROOT, false);
|
||||
}
|
||||
catch (FileIntegrityException $e)
|
||||
{
|
||||
|
||||
@@ -13,8 +13,6 @@ use DOMDocument;
|
||||
use DOMElement;
|
||||
use DOMNode;
|
||||
use DOMXPath;
|
||||
use MetaModel;
|
||||
use utils;
|
||||
|
||||
class FilesIntegrity
|
||||
{
|
||||
@@ -81,12 +79,12 @@ class FilesIntegrity
|
||||
* Check that files present in iTop folder corresponds to the manifest
|
||||
*
|
||||
* @param string $sRootPath
|
||||
* @param bool $bCheckNewModule
|
||||
* @param bool $bExitAtFirstError
|
||||
*
|
||||
* @throws \Combodo\iTop\FilesInformation\Service\FileIntegrityException
|
||||
* @since 3.0.1 Add $bCheckNewModule parameter
|
||||
* @since 2.7.7 3.0.1 Add $bExitAtFirstError parameter
|
||||
*/
|
||||
public static function CheckInstallationIntegrity($sRootPath = APPROOT, $bCheckNewModule = false)
|
||||
public static function CheckInstallationIntegrity($sRootPath = APPROOT, $bExitAtFirstError = true)
|
||||
{
|
||||
$aFilesInfo = FilesIntegrity::GetInstalledFiles($sRootPath.'manifest.xml');
|
||||
|
||||
@@ -95,8 +93,10 @@ class FilesIntegrity
|
||||
throw new FileIntegrityException(Dict::Format('FilesInformation:Error:MissingFile', 'manifest.xml'));
|
||||
}
|
||||
|
||||
$bHasErrors = false;
|
||||
$sErrorFiles ="";
|
||||
|
||||
@clearstatcache();
|
||||
$sSourceDir = MetaModel::GetConfig()->Get('source_dir');
|
||||
foreach ($aFilesInfo as $aFileInfo)
|
||||
{
|
||||
$sFile = $sRootPath.$aFileInfo['path'];
|
||||
@@ -108,20 +108,19 @@ class FilesIntegrity
|
||||
$sChecksum = md5($sContent);
|
||||
if (($iSize != $aFileInfo['size']) || ($sChecksum != $aFileInfo['md5']))
|
||||
{
|
||||
throw new FileIntegrityException(Dict::Format('FilesInformation:Error:CorruptedFile', $sFile));
|
||||
}
|
||||
}
|
||||
if($bCheckNewModule && strpos($aFileInfo['path'],$sSourceDir) === 0){
|
||||
$aFilePath = explode('/',$aFileInfo['path']);
|
||||
$sFolderPath = $aFilePath[0].'/'.$aFilePath[1].'/'.$aFilePath[2];
|
||||
if ( !(is_dir(APPROOT.'/'.$sFolderPath)) && !(is_file(APPROOT.'/'.$sFolderPath)) ){
|
||||
$sLink = utils::GetAbsoluteUrlAppRoot().'setup/';
|
||||
$sLinkManualUpdate = 'https://www.itophub.io/wiki/page?id='.utils::GetItopVersionWikiSyntax().'%3Ainstall%3Aupgrading_itop#manually';
|
||||
throw new FileIntegrityException(Dict::Format('FilesInformation:Error:CannotUpdateNewModules', $sLink, $sLinkManualUpdate));
|
||||
if($bExitAtFirstError) {
|
||||
throw new FileIntegrityException(Dict::Format('FilesInformation:Error:CorruptedFile', $sFile));
|
||||
} else {
|
||||
$bHasErrors = true;
|
||||
$sErrorFiles .='<li> '.$aFileInfo['path'].'</li>';
|
||||
}
|
||||
}
|
||||
}
|
||||
// Packed with missing files...
|
||||
}
|
||||
if($bHasErrors){
|
||||
throw new FileIntegrityException(Dict::Format('FilesInformation:Error:ListCorruptedFile','<ul> '.$sErrorFiles.'</ul>'));
|
||||
}
|
||||
}
|
||||
|
||||
public static function IsInstallationConform($sRootPath, &$sErrorMsg)
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1571,13 +1571,8 @@ table .group-actions .item-action-wrapper .panel-body > p:last-child{
|
||||
}
|
||||
}
|
||||
.attachment-tooltip {
|
||||
width: 350px;
|
||||
height: 300px;
|
||||
|
||||
img {
|
||||
max-width: 100%;
|
||||
max-height: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.upload_container input{
|
||||
|
||||
@@ -517,6 +517,8 @@ class ObjectController extends BrickController
|
||||
$oSubRequest = $oRequest;
|
||||
$oSubRequest->request->set('operation', 'submit');
|
||||
$oSubRequest->request->set('stimulus_code', '');
|
||||
$oSubRequest->request->set('formmanager_class', $aData['form']['formmanager_class']);
|
||||
$oSubRequest->request->set('formmanager_data', json_encode($aData['form']['formmanager_data']));
|
||||
|
||||
$aData = array('sMode' => 'apply_stimulus');
|
||||
$aData['form'] = $oObjectFormHandler->HandleForm($oSubRequest, $aData['sMode'], $sObjectClass, $sObjectId,
|
||||
@@ -1244,7 +1246,7 @@ class ObjectController extends BrickController
|
||||
}
|
||||
|
||||
$aData['att_id'] = $iAttId;
|
||||
$aData['preview'] = $oDocument->IsPreviewAvailable() ? 'true' : 'false';
|
||||
$aData['preview'] = $oDocument->IsPreviewAvailable() ;
|
||||
$aData['file_size'] = $oDocument->GetFormattedSize();
|
||||
$aData['creation_date'] = $oAttachment->Get('creation_date');
|
||||
$aData['user_id_friendlyname'] = $oAttachment->Get('user_id_friendlyname');
|
||||
|
||||
@@ -189,7 +189,7 @@ class ObjectFormManager extends FormManager
|
||||
*
|
||||
* @return bool true if the data are identical
|
||||
*
|
||||
* @since 2.7.6 3.0.0 N°4384 check formmanager_data
|
||||
* @since 2.7.6 3.0.0 N°4384 Check formmanager_data
|
||||
*/
|
||||
public static function CanTrustFormLayoutContent($sPostedFormManagerData, $aOriginalFormProperties)
|
||||
{
|
||||
@@ -200,7 +200,7 @@ class ObjectFormManager extends FormManager
|
||||
return true;
|
||||
}
|
||||
|
||||
// we need to parse the content so that autoclose tags are returned correctly (`<div />` => `<div></div>`)
|
||||
// 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'] : '';
|
||||
|
||||
@@ -50,12 +50,17 @@ use UserRights;
|
||||
*/
|
||||
class ObjectFormHandlerHelper
|
||||
{
|
||||
/** @var string ENUM_MODE_VIEW */
|
||||
/** @var string */
|
||||
const ENUM_MODE_VIEW = 'view';
|
||||
/** @var string ENUM_MODE_EDIT */
|
||||
/** @var string */
|
||||
const ENUM_MODE_EDIT = 'edit';
|
||||
/** @var string ENUM_MODE_CREATE */
|
||||
/** @var string */
|
||||
const ENUM_MODE_CREATE = 'create';
|
||||
/**
|
||||
* @var string
|
||||
* @since 2.7.7 3.0.1 3.1.0
|
||||
*/
|
||||
const ENUM_MODE_APPLY_STIMULUS = 'apply_stimulus';
|
||||
|
||||
/** @var \Combodo\iTop\Portal\Helper\RequestManipulatorHelper $oRequestManipulator */
|
||||
private $oRequestManipulator;
|
||||
@@ -172,7 +177,7 @@ class ObjectFormHandlerHelper
|
||||
'label' => Dict::S('Portal:Button:Submit'),
|
||||
),
|
||||
);
|
||||
if ($sMode !== 'apply_stimulus')
|
||||
if ($sMode !== static::ENUM_MODE_APPLY_STIMULUS)
|
||||
{
|
||||
// Add transition buttons
|
||||
$oSetToCheckRights = DBObjectSet::FromObject($oObject);
|
||||
@@ -237,9 +242,9 @@ class ObjectFormHandlerHelper
|
||||
// Note : We might need to distinguish form & renderer endpoints
|
||||
switch($sMode)
|
||||
{
|
||||
case 'create':
|
||||
case 'edit':
|
||||
case 'view':
|
||||
case static::ENUM_MODE_CREATE:
|
||||
case static::ENUM_MODE_EDIT:
|
||||
case static::ENUM_MODE_VIEW:
|
||||
$sFormEndpoint = $this->oUrlGenerator->generate(
|
||||
'p_object_'.$sMode,
|
||||
array(
|
||||
@@ -249,7 +254,7 @@ class ObjectFormHandlerHelper
|
||||
);
|
||||
break;
|
||||
|
||||
case 'apply_stimulus':
|
||||
case static::ENUM_MODE_APPLY_STIMULUS:
|
||||
$sFormEndpoint = $this->oUrlGenerator->generate(
|
||||
'p_object_apply_stimulus',
|
||||
array(
|
||||
|
||||
@@ -31,7 +31,7 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
'Menu:UserRequest:OpenRequests+' => '',
|
||||
'UI:WelcomeMenu:MyAssignedCalls' => 'Mir zugewiesene Benutzeranfragen',
|
||||
'UI-RequestManagementOverview-RequestByType-last-14-days' => 'Benutzeranfragen der letzten 14 Tage nach Typ',
|
||||
'UI-RequestManagementOverview-Last-14-days' => 'Anzahl Benutzeranfragen der letzen 14 Tage',
|
||||
'UI-RequestManagementOverview-Last-14-days' => 'Anzahl Benutzeranfragen der letzten 14 Tage',
|
||||
'UI-RequestManagementOverview-OpenRequestByStatus' => 'Offene Benutzeranfragen nach Status',
|
||||
'UI-RequestManagementOverview-OpenRequestByAgent' => 'Offene Benutzeranfragen nach Bearbeiter',
|
||||
'UI-RequestManagementOverview-OpenRequestByType' => 'Offene Benutzeranfragen nach Typ',
|
||||
@@ -122,7 +122,7 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
'Class:UserRequest/Attribute:origin/Value:portal+' => '',
|
||||
'Class:UserRequest/Attribute:approver_id' => 'Genehmiger',
|
||||
'Class:UserRequest/Attribute:approver_id+' => '',
|
||||
'Class:UserRequest/Attribute:approver_email' => 'Gemehhmiger-Email',
|
||||
'Class:UserRequest/Attribute:approver_email' => 'Gemehhmiger-E-Mail',
|
||||
'Class:UserRequest/Attribute:approver_email+' => '',
|
||||
'Class:UserRequest/Attribute:service_id' => 'Service',
|
||||
'Class:UserRequest/Attribute:service_id+' => '',
|
||||
|
||||
@@ -128,7 +128,7 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
'Class:UserRequest/Attribute:origin/Value:portal+' => '',
|
||||
'Class:UserRequest/Attribute:approver_id' => 'Genehmiger',
|
||||
'Class:UserRequest/Attribute:approver_id+' => '',
|
||||
'Class:UserRequest/Attribute:approver_email' => 'Genehmiger-Email',
|
||||
'Class:UserRequest/Attribute:approver_email' => 'Genehmiger-E-Mail',
|
||||
'Class:UserRequest/Attribute:approver_email+' => '',
|
||||
'Class:UserRequest/Attribute:service_id' => 'Service',
|
||||
'Class:UserRequest/Attribute:service_id+' => '',
|
||||
@@ -178,7 +178,7 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
'Class:UserRequest/Attribute:resolution_code/Value:assistance+' => '',
|
||||
'Class:UserRequest/Attribute:resolution_code/Value:bug fixed' => 'Bugfix',
|
||||
'Class:UserRequest/Attribute:resolution_code/Value:bug fixed+' => '',
|
||||
'Class:UserRequest/Attribute:resolution_code/Value:hardware repair' => 'Hardware-Reperatur',
|
||||
'Class:UserRequest/Attribute:resolution_code/Value:hardware repair' => 'Hardware-Reparatur',
|
||||
'Class:UserRequest/Attribute:resolution_code/Value:hardware repair+' => '',
|
||||
'Class:UserRequest/Attribute:resolution_code/Value:other' => 'Andere',
|
||||
'Class:UserRequest/Attribute:resolution_code/Value:other+' => '',
|
||||
@@ -260,7 +260,7 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
'Portal:SelectServiceElementFrom_Service' => 'Wählen Sie ein Service-Element für %1$s',
|
||||
'Portal:ListServices' => 'Liste der Services',
|
||||
'Portal:TitleDetailsFor_Service' => 'Details für Service',
|
||||
'Portal:Button:CreateRequestFromService' => 'EIne Benutzeranfrage betreffend dieses Dienstes erzeugen',
|
||||
'Portal:Button:CreateRequestFromService' => 'Eine Benutzeranfrage betreffend dieses Dienstes erzeugen',
|
||||
'Portal:ListOpenRequests' => 'Offene Benutzeranfragen auflisten',
|
||||
'Portal:UserRequest:MoreInfo' => 'Weitere Informationen',
|
||||
'Portal:Details-Service-Element' => 'Service-Elemente',
|
||||
@@ -272,7 +272,7 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
'Portal:NoOpenProblem' => 'Keine offenen Problems',
|
||||
'Portal:SelectLanguage' => 'Ändern Sie Ihre Spracheinstellung',
|
||||
'Portal:LanguageChangedTo_Lang' => 'Spracheinstellung geändert auf: ',
|
||||
'Portal:ChooseYourFavoriteLanguage' => 'WÄhlen Sie Ihre bevorzugte Sprache',
|
||||
'Portal:ChooseYourFavoriteLanguage' => 'Wählen Sie Ihre bevorzugte Sprache',
|
||||
|
||||
'Class:UserRequest/Method:ResolveChildTickets' => 'Kind-Tickets lösen',
|
||||
'Class:UserRequest/Method:ResolveChildTickets+' => 'Lösung auf Kind-Tickets übertragen (ev_autoresolve), und folgende Ticket-Eigenschaften angleichen: Service, Team, Agent, Lösungsinformationen',
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
* @copyright Copyright (C) 2021 Combodo SARL
|
||||
* @licence http://opensource.org/licenses/AGPL-3.0
|
||||
*
|
||||
*
|
||||
*/
|
||||
Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
'Menu:ServiceManagement' => 'Service-Management',
|
||||
@@ -39,7 +39,7 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
'Menu:ServiceSubcategory+' => '',
|
||||
'Menu:Service' => 'Services',
|
||||
'Menu:Service+' => '',
|
||||
'Menu:ServiceElement' => 'Sevice-Elemente',
|
||||
'Menu:ServiceElement' => 'Service-Elemente',
|
||||
'Menu:ServiceElement+' => '',
|
||||
'Menu:SLA' => 'SLAs',
|
||||
'Menu:SLA+' => '',
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
* @copyright Copyright (C) 2021 Combodo SARL
|
||||
* @licence http://opensource.org/licenses/AGPL-3.0
|
||||
*
|
||||
*
|
||||
*/
|
||||
Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
'Menu:ServiceManagement' => 'Service Management',
|
||||
@@ -38,7 +38,7 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
'Menu:ServiceSubcategory+' => 'Service-Unterkategorien',
|
||||
'Menu:Service' => 'Services',
|
||||
'Menu:Service+' => 'Services',
|
||||
'Menu:ServiceElement' => 'Sevice-Elemente',
|
||||
'Menu:ServiceElement' => 'Service-Elemente',
|
||||
'Menu:ServiceElement+' => '',
|
||||
'Menu:SLA' => 'SLAs',
|
||||
'Menu:SLA+' => 'Service Level Agreements',
|
||||
|
||||
@@ -118,7 +118,7 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
'Class:Contact/Attribute:org_id+' => '',
|
||||
'Class:Contact/Attribute:org_name' => 'Organisation',
|
||||
'Class:Contact/Attribute:org_name+' => '',
|
||||
'Class:Contact/Attribute:email' => 'Email',
|
||||
'Class:Contact/Attribute:email' => 'E-Mail',
|
||||
'Class:Contact/Attribute:email+' => '',
|
||||
'Class:Contact/Attribute:phone' => 'Telefonnummer',
|
||||
'Class:Contact/Attribute:phone+' => '',
|
||||
@@ -163,7 +163,7 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
'Class:Person/Attribute:team_list+' => '',
|
||||
'Class:Person/Attribute:tickets_list' => 'Tickets',
|
||||
'Class:Person/Attribute:tickets_list+' => '',
|
||||
'Class:Person/Attribute:manager_id_friendlyname' => 'Manager Friendly Name',
|
||||
'Class:Person/Attribute:manager_id_friendlyname' => 'Manager-Name (lesbar)',
|
||||
'Class:Person/Attribute:manager_id_friendlyname+' => '',
|
||||
'Class:Person/Attribute:picture' => 'Bild',
|
||||
'Class:Person/Attribute:picture+' => '',
|
||||
@@ -272,7 +272,7 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
//
|
||||
|
||||
Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
'Class:DocumentType' => 'Dokumentyp',
|
||||
'Class:DocumentType' => 'Dokumenttyp',
|
||||
'Class:DocumentType+' => '',
|
||||
));
|
||||
|
||||
|
||||
@@ -7,5 +7,5 @@
|
||||
*/
|
||||
|
||||
Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
'theme:light-grey' => 'Light Grey (deprecated)~~',
|
||||
'theme:light-grey' => 'Light Grey (veraltet)',
|
||||
));
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
* @copyright Copyright (C) 2021 Combodo SARL
|
||||
* @licence http://opensource.org/licenses/AGPL-3.0
|
||||
*
|
||||
*
|
||||
*/
|
||||
Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
'Class:Ticket' => 'Ticket',
|
||||
@@ -90,7 +90,7 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
'Class:lnkContactToTicket/Attribute:ticket_ref+' => '',
|
||||
'Class:lnkContactToTicket/Attribute:contact_id' => 'Kontakt',
|
||||
'Class:lnkContactToTicket/Attribute:contact_id+' => '',
|
||||
'Class:lnkContactToTicket/Attribute:contact_email' => 'Kontakt-Email',
|
||||
'Class:lnkContactToTicket/Attribute:contact_email' => 'Kontakt-E-Mail',
|
||||
'Class:lnkContactToTicket/Attribute:contact_email+' => '',
|
||||
'Class:lnkContactToTicket/Attribute:role' => 'Rolle (Text)',
|
||||
'Class:lnkContactToTicket/Attribute:role+' => '',
|
||||
@@ -127,7 +127,7 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
'Class:WorkOrder/Attribute:team_name+' => '',
|
||||
'Class:WorkOrder/Attribute:agent_id' => 'Bearbeiter',
|
||||
'Class:WorkOrder/Attribute:agent_id+' => '',
|
||||
'Class:WorkOrder/Attribute:agent_email' => 'Melder-Email',
|
||||
'Class:WorkOrder/Attribute:agent_email' => 'Melder-E-Mail',
|
||||
'Class:WorkOrder/Attribute:agent_email+' => '',
|
||||
'Class:WorkOrder/Attribute:start_date' => 'Startdatum',
|
||||
'Class:WorkOrder/Attribute:start_date+' => '',
|
||||
@@ -165,16 +165,16 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
'Class:cmdbAbstractObject/Method:SetCurrentDate+' => 'Ein Attribut (Feld) mit der aktuellen Zeit und Datum schreiben',
|
||||
'Class:cmdbAbstractObject/Method:SetCurrentDate/Param:1' => 'Zielfeld',
|
||||
'Class:cmdbAbstractObject/Method:SetCurrentDate/Param:1+' => 'Das Feld, das im aktuellen Objekt geschrieben werden soll',
|
||||
'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:SetCurrentDateIfNull' => 'SetCurrentDateIfNull',
|
||||
'Class:cmdbAbstractObject/Method:SetCurrentDateIfNull+' => 'Ein Attribut (Feld), wenn leer, mit der aktuellen Zeit und Datum schreiben',
|
||||
'Class:cmdbAbstractObject/Method:SetCurrentDateIfNull/Param:1' => 'Zielfeld',
|
||||
'Class:cmdbAbstractObject/Method:SetCurrentDateIfNull/Param:1+' => 'Das Feld, das im aktuellen Objekt geschrieben werden soll',
|
||||
'Class:cmdbAbstractObject/Method:SetCurrentUser' => 'SetCurrentUser',
|
||||
'Class:cmdbAbstractObject/Method:SetCurrentUser+' => 'Ein Attribut (Feld) mit dem dezeit eingeloggten User schreiben',
|
||||
'Class:cmdbAbstractObject/Method:SetCurrentUser+' => 'Ein Attribut (Feld) mit dem derzeit eingeloggten User schreiben',
|
||||
'Class:cmdbAbstractObject/Method:SetCurrentUser/Param:1' => 'Zielfeld',
|
||||
'Class:cmdbAbstractObject/Method:SetCurrentUser/Param:1+' => 'Das Feld, das im aktuellen Objekt geschrieben werden soll. Falls das Feld vom Typ String ist, wird der FriendlyName des Users verwendet, ansonsten der Identifikator. Der FriendlyName ist der Name, der mit dem User-Account verknüpften Person (falls vorhanden), ansonsten der Accountname (Login).',
|
||||
'Class:cmdbAbstractObject/Method:SetCurrentPerson' => 'SetCurrentPerson',
|
||||
'Class:cmdbAbstractObject/Method:SetCurrentPerson+' => 'Schreibe ein Attribut (Feld) mit der gerade eingeloggten Person (die \\"Person\\", die mit dem geade eingeloggten User verknüpft ist)',
|
||||
'Class:cmdbAbstractObject/Method:SetCurrentPerson+' => 'Schreibe ein Attribut (Feld) mit der gerade eingeloggten Person (die \\"Person\\", die mit dem gerade eingeloggten User verknüpft ist)',
|
||||
'Class:cmdbAbstractObject/Method:SetCurrentPerson/Param:1' => 'Zielfeld',
|
||||
'Class:cmdbAbstractObject/Method:SetCurrentPerson/Param:1+' => 'Das Feld, das im aktuellen Objekt geschrieben werden soll. Falls das Feld vom Typ String ist, wird der FriendlyName des Users verwendet, ansonsten der Identifikator.',
|
||||
'Class:cmdbAbstractObject/Method:SetElapsedTime' => 'SetElapsedTime',
|
||||
@@ -185,34 +185,34 @@ Dict::Add('DE DE', 'German', 'Deutsch', array(
|
||||
'Class:cmdbAbstractObject/Method:SetElapsedTime/Param:2+' => 'Das Feld, aus dem die Refernzzeit/datum gelesen werden soll',
|
||||
'Class:cmdbAbstractObject/Method:SetElapsedTime/Param:3' => 'Arbeitszeiten',
|
||||
'Class:cmdbAbstractObject/Method:SetElapsedTime/Param:3+' => 'Leer lassen um das Standard-Arbeitzeiten-Schema zu verwenden, oder auf \\"DefaultWorkingTimeComputer\\" setzen um ein 24x7-Schema zu erzwingen',
|
||||
'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~~',
|
||||
'Class:cmdbAbstractObject/Method:SetIfNull/Param:1+' => 'The field to set, in the current object~~',
|
||||
'Class:cmdbAbstractObject/Method:SetIfNull/Param:2' => 'Value~~',
|
||||
'Class:cmdbAbstractObject/Method:SetIfNull/Param:2+' => 'The value to set~~',
|
||||
'Class:cmdbAbstractObject/Method:AddValue' => 'AddValue~~',
|
||||
'Class:cmdbAbstractObject/Method:AddValue+' => 'Add a fixed value to a field~~',
|
||||
'Class:cmdbAbstractObject/Method:AddValue/Param:1' => 'Target Field~~',
|
||||
'Class:cmdbAbstractObject/Method:AddValue/Param:1+' => 'The field to modify, in the current object~~',
|
||||
'Class:cmdbAbstractObject/Method:AddValue/Param:2' => 'Value~~',
|
||||
'Class:cmdbAbstractObject/Method:AddValue/Param:2+' => 'Decimal value which will be added, can be negative~~',
|
||||
'Class:cmdbAbstractObject/Method:SetComputedDate' => 'SetComputedDate~~',
|
||||
'Class:cmdbAbstractObject/Method:SetComputedDate+' => 'Set a field with a date computed from another field with extra logic~~',
|
||||
'Class:cmdbAbstractObject/Method:SetComputedDate/Param:1' => 'Target Field~~',
|
||||
'Class:cmdbAbstractObject/Method:SetComputedDate/Param:1+' => 'The field to set, in the current object~~',
|
||||
'Class:cmdbAbstractObject/Method:SetComputedDate/Param:2' => 'Modifier~~',
|
||||
'Class:cmdbAbstractObject/Method:SetComputedDate/Param:2+' => 'Textual information to modify the source date, eg. "+3 days"~~',
|
||||
'Class:cmdbAbstractObject/Method:SetComputedDate/Param:3' => 'Source field~~',
|
||||
'Class:cmdbAbstractObject/Method:SetComputedDate/Param:3+' => 'The field used as source to apply the Modifier logic~~',
|
||||
'Class:cmdbAbstractObject/Method:SetComputedDateIfNull' => 'SetComputedDateIfNull~~',
|
||||
'Class:cmdbAbstractObject/Method:SetComputedDateIfNull+' => 'Set non empty field with a date computed from another field with extra logic~~',
|
||||
'Class:cmdbAbstractObject/Method:SetComputedDateIfNull/Param:1' => 'Target Field~~',
|
||||
'Class:cmdbAbstractObject/Method:SetComputedDateIfNull/Param:1+' => 'The field to set, in the current object~~',
|
||||
'Class:cmdbAbstractObject/Method:SetComputedDateIfNull/Param:2' => 'Modifier~~',
|
||||
'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:SetIfNull' => 'SetIfNull',
|
||||
'Class:cmdbAbstractObject/Method:SetIfNull+' => 'Ein Attribut (Feld), wenn leer, mit einem festen Wert schreiben',
|
||||
'Class:cmdbAbstractObject/Method:SetIfNull/Param:1' => 'Zielfeld',
|
||||
'Class:cmdbAbstractObject/Method:SetIfNull/Param:1+' => 'Das Feld, das im aktuellen Objekt geschrieben werden soll',
|
||||
'Class:cmdbAbstractObject/Method:SetIfNull/Param:2' => 'Wert',
|
||||
'Class:cmdbAbstractObject/Method:SetIfNull/Param:2+' => 'Der Wert der geschrieben werden soll',
|
||||
'Class:cmdbAbstractObject/Method:AddValue' => 'AddValue',
|
||||
'Class:cmdbAbstractObject/Method:AddValue+' => 'Addiert einen festen Wert zu einem Attribut (Feld)',
|
||||
'Class:cmdbAbstractObject/Method:AddValue/Param:1' => 'Zielfeld',
|
||||
'Class:cmdbAbstractObject/Method:AddValue/Param:1+' => 'Das Feld, das im aktuellen Objekt geschrieben werden soll',
|
||||
'Class:cmdbAbstractObject/Method:AddValue/Param:2' => 'Wert',
|
||||
'Class:cmdbAbstractObject/Method:AddValue/Param:2+' => 'Dezimalwert welcher addiert werden soll, kann auch negativ sein',
|
||||
'Class:cmdbAbstractObject/Method:SetComputedDate' => 'SetComputedDate',
|
||||
'Class:cmdbAbstractObject/Method:SetComputedDate+' => 'Ein Attribut (Feld) mit einem Datum schreiben, welches aus einem anderen Feld berechnet wird',
|
||||
'Class:cmdbAbstractObject/Method:SetComputedDate/Param:1' => 'Zielfeld',
|
||||
'Class:cmdbAbstractObject/Method:SetComputedDate/Param:1+' => 'Das Feld, das im aktuellen Objekt geschrieben werden soll',
|
||||
'Class:cmdbAbstractObject/Method:SetComputedDate/Param:2' => 'Modifikator',
|
||||
'Class:cmdbAbstractObject/Method:SetComputedDate/Param:2+' => 'Modifikator für das Quellfeld in Textform z.B. "+3 days"',
|
||||
'Class:cmdbAbstractObject/Method:SetComputedDate/Param:3' => 'Quellfeld',
|
||||
'Class:cmdbAbstractObject/Method:SetComputedDate/Param:3+' => 'Das Feld, welches als Quellfeld für den Modifikator verwendet werden soll',
|
||||
'Class:cmdbAbstractObject/Method:SetComputedDateIfNull' => 'SetComputedDateIfNull',
|
||||
'Class:cmdbAbstractObject/Method:SetComputedDateIfNull+' => 'Ein Attribut (Feld), wenn leer, mit einem Datum schreiben, welches aus einem anderen Feld berechnet wird',
|
||||
'Class:cmdbAbstractObject/Method:SetComputedDateIfNull/Param:1' => 'Zielfeld',
|
||||
'Class:cmdbAbstractObject/Method:SetComputedDateIfNull/Param:1+' => 'Das Feld, das im aktuellen Objekt geschrieben werden soll',
|
||||
'Class:cmdbAbstractObject/Method:SetComputedDateIfNull/Param:2' => 'Modifikator',
|
||||
'Class:cmdbAbstractObject/Method:SetComputedDateIfNull/Param:2+' => 'Modifikator für das Quellfeld in Textform z.B. "+3 days"',
|
||||
'Class:cmdbAbstractObject/Method:SetComputedDateIfNull/Param:3' => 'Quellfeld',
|
||||
'Class:cmdbAbstractObject/Method:SetComputedDateIfNull/Param:3+' => 'Das Feld, welches als Quellfeld für den Modifikator verwendet werden soll',
|
||||
'Class:cmdbAbstractObject/Method:Reset' => 'Reset',
|
||||
'Class:cmdbAbstractObject/Method:Reset+' => 'Ein Attribut (Feld) auf seinen Default-Wert zurücksetzen',
|
||||
'Class:cmdbAbstractObject/Method:Reset/Param:1' => 'Zielfeld',
|
||||
@@ -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+' => '',
|
||||
));
|
||||
));
|
||||
|
||||
Reference in New Issue
Block a user